File
Blob: fuzzilli/config-full.capnp
| 1 | using Workerd = import "/workerd/workerd.capnp"; |
| 2 | |
| 3 | const reprl :Workerd.Config = ( |
| 4 | services = [ |
| 5 | (name = "main", worker = .replServer), |
| 6 | (name = "consumer", worker = .consumerWorker), |
| 7 | # Add test services for Cloudflare API bindings |
| 8 | (name = "test-kv", worker = .kvMockWorker), |
| 9 | (name = "test-d1-mock", worker = .d1MockWorker), |
| 10 | (name = "test-r2", worker = .r2MockWorker), |
| 11 | (name = "test-analytics", worker = .analyticsMockWorker), |
| 12 | (name = "test-queue", worker = .queueMockWorker), |
| 13 | ], |
| 14 | |
| 15 | # We don't need sockets for REPRL mode as it uses direct file descriptors |
| 16 | # sockets = [ ( name = "http", address = "*:8080", http = (), service = "main" ) ] |
| 17 | ); |
| 18 | |
| 19 | const replServer :Workerd.Worker = ( |
| 20 | modules = [ |
| 21 | (name = "worker", esModule = embed "worker-full.js") |
| 22 | ], |
| 23 | |
| 24 | # Add a comprehensive set of bindings for all APIs |
| 25 | bindings = [ |
| 26 | (name = "CONSUMER", service = "consumer"), |
| 27 | (name = "volatileCache", memoryCache = ( |
| 28 | id = "abc123", |
| 29 | limits = ( |
| 30 | maxKeys = 100, |
| 31 | maxValueSize = 1024, |
| 32 | maxTotalValueSize = 102400, |
| 33 | ), |
| 34 | )), |
| 35 | # Cloudflare API bindings for testing |
| 36 | (name = "MY_KV", kvNamespace = "test-kv"), |
| 37 | (name = "MY_D1", wrapped = ( |
| 38 | moduleName = "cloudflare-internal:d1-api", |
| 39 | innerBindings = [(name = "fetcher", service = "test-d1-mock")], |
| 40 | )), |
| 41 | (name = "MY_R2", r2Bucket = "test-r2"), |
| 42 | (name = "ANALYTICS", analyticsEngine = "test-analytics"), |
| 43 | (name = "MY_QUEUE", queue = "test-queue"), |
| 44 | ], |
| 45 | |
| 46 | # Latest compatibility date |
| 47 | compatibilityDate = "2025-05-01", |
| 48 | |
| 49 | # Enable all compatibility flags for maximum API coverage |
| 50 | compatibilityFlags = [ |
| 51 | "nodejs_compat", |
| 52 | "experimental", |
| 53 | "unsafe_module", |
| 54 | "enable_nodejs_fs_module", |
| 55 | "html_rewriter_treats_esi_include_as_void_tag", |
| 56 | "durable_object_rename", |
| 57 | "service_binding_extra_handlers", |
| 58 | "expose_global_message_channel", |
| 59 | "enable_web_file_system", |
| 60 | ] |
| 61 | ); |
| 62 | |
| 63 | const consumerWorker :Workerd.Worker = ( |
| 64 | modules = [ |
| 65 | ( name = "consumer", esModule = embed "worker-consume-request.js" ) |
| 66 | ], |
| 67 | compatibilityDate = "2024-12-01" |
| 68 | ); |
| 69 | |
| 70 | const kvMockWorker :Workerd.Worker = ( |
| 71 | modules = [ |
| 72 | ( name = "kv", esModule = embed "kv-mock.js" ) |
| 73 | ], |
| 74 | compatibilityDate = "2024-12-01" |
| 75 | ); |
| 76 | |
| 77 | const d1MockWorker :Workerd.Worker = ( |
| 78 | modules = [ |
| 79 | ( name = "d1", esModule = embed "d1-mock.js" ) |
| 80 | ], |
| 81 | compatibilityDate = "2024-12-01" |
| 82 | ); |
| 83 | |
| 84 | const r2MockWorker :Workerd.Worker = ( |
| 85 | modules = [ |
| 86 | ( name = "r2", esModule = embed "r2-mock.js" ) |
| 87 | ], |
| 88 | compatibilityDate = "2024-12-01" |
| 89 | ); |
| 90 | |
| 91 | const analyticsMockWorker :Workerd.Worker = ( |
| 92 | modules = [ |
| 93 | ( name = "analytics", esModule = embed "analytics-mock.js" ) |
| 94 | ], |
| 95 | compatibilityDate = "2024-12-01" |
| 96 | ); |
| 97 | |
| 98 | const queueMockWorker :Workerd.Worker = ( |
| 99 | modules = [ |
| 100 | ( name = "queue", esModule = embed "queue-mock.js" ) |
| 101 | ], |
| 102 | compatibilityDate = "2024-12-01" |
| 103 | ); |