Skip to content
File

Blob: fuzzilli/config-full.capnp

2.8 KB
1using Workerd = import "/workerd/workerd.capnp";
2 
3const 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 
19const 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 
63const consumerWorker :Workerd.Worker = (
64 modules = [
65 ( name = "consumer", esModule = embed "worker-consume-request.js" )
66 ],
67 compatibilityDate = "2024-12-01"
68);
69 
70const kvMockWorker :Workerd.Worker = (
71 modules = [
72 ( name = "kv", esModule = embed "kv-mock.js" )
73 ],
74 compatibilityDate = "2024-12-01"
75);
76 
77const d1MockWorker :Workerd.Worker = (
78 modules = [
79 ( name = "d1", esModule = embed "d1-mock.js" )
80 ],
81 compatibilityDate = "2024-12-01"
82);
83 
84const r2MockWorker :Workerd.Worker = (
85 modules = [
86 ( name = "r2", esModule = embed "r2-mock.js" )
87 ],
88 compatibilityDate = "2024-12-01"
89);
90 
91const analyticsMockWorker :Workerd.Worker = (
92 modules = [
93 ( name = "analytics", esModule = embed "analytics-mock.js" )
94 ],
95 compatibilityDate = "2024-12-01"
96);
97 
98const queueMockWorker :Workerd.Worker = (
99 modules = [
100 ( name = "queue", esModule = embed "queue-mock.js" )
101 ],
102 compatibilityDate = "2024-12-01"
103);