wrangler 0.0.0-e1c2f5b9 → 0.0.0-e1d2fd668

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (292) hide show
  1. package/README.md +17 -15
  2. package/bin/wrangler.js +14 -103
  3. package/config-schema.json +3126 -0
  4. package/package.json +197 -194
  5. package/templates/__tests__/tsconfig.json +1 -1
  6. package/templates/checked-fetch.js +19 -6
  7. package/templates/facade.d.ts +7 -2
  8. package/templates/gitignore +2 -3
  9. package/templates/init-tests/test-vitest-new-worker.js +1 -1
  10. package/templates/init-tests/test-vitest-new-worker.ts +2 -2
  11. package/templates/middleware/common.ts +9 -4
  12. package/templates/middleware/loader-modules.ts +94 -42
  13. package/templates/middleware/loader-sw.ts +6 -10
  14. package/templates/middleware/middleware-ensure-req-body-drained.ts +18 -0
  15. package/templates/middleware/middleware-miniflare3-json-error.ts +17 -5
  16. package/templates/middleware/middleware-mock-analytics-engine.d.ts +3 -0
  17. package/templates/middleware/middleware-mock-analytics-engine.ts +30 -0
  18. package/templates/middleware/middleware-scheduled.ts +15 -1
  19. package/templates/middleware/middleware-serve-static-assets.d.ts +6 -0
  20. package/templates/middleware/middleware-serve-static-assets.ts +56 -0
  21. package/templates/modules-watch-stub.js +4 -0
  22. package/templates/new-worker-scheduled.ts +1 -1
  23. package/templates/new-worker.ts +4 -1
  24. package/templates/pages-dev-pipeline.ts +2 -1
  25. package/templates/pages-dev-util.ts +4 -1
  26. package/templates/pages-shim.ts +0 -3
  27. package/templates/pages-template-plugin.ts +32 -13
  28. package/templates/pages-template-worker.ts +12 -3
  29. package/templates/startDevWorker/InspectorProxyWorker.ts +664 -0
  30. package/templates/startDevWorker/ProxyWorker.ts +336 -0
  31. package/templates/tsconfig.init.json +5 -89
  32. package/templates/tsconfig.json +1 -1
  33. package/wrangler-dist/InspectorProxyWorker.js +464 -0
  34. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  35. package/wrangler-dist/ProxyWorker.js +241 -0
  36. package/wrangler-dist/ProxyWorker.js.map +6 -0
  37. package/wrangler-dist/cli.d.ts +26117 -517
  38. package/wrangler-dist/cli.js +173803 -121437
  39. package/wrangler-dist/wasm-sync.wasm +0 -0
  40. package/Cloudflare_CA.pem +0 -18
  41. package/import_meta_url.js +0 -3
  42. package/miniflare-config-stubs/.env.empty +0 -0
  43. package/miniflare-config-stubs/package.empty.json +0 -1
  44. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  45. package/miniflare-dist/index.mjs +0 -6364
  46. package/src/__tests__/access.test.ts +0 -25
  47. package/src/__tests__/api-dev.test.ts +0 -238
  48. package/src/__tests__/api-devregistry.test.js +0 -64
  49. package/src/__tests__/api.test.ts +0 -80
  50. package/src/__tests__/config-cache-without-cache-dir.test.ts +0 -38
  51. package/src/__tests__/config-cache.test.ts +0 -42
  52. package/src/__tests__/configuration.test.ts +0 -4163
  53. package/src/__tests__/d1.test.ts +0 -123
  54. package/src/__tests__/delete.test.ts +0 -263
  55. package/src/__tests__/deployments.test.ts +0 -105
  56. package/src/__tests__/dev.test.tsx +0 -1586
  57. package/src/__tests__/dialogs.test.tsx +0 -40
  58. package/src/__tests__/generate.test.ts +0 -235
  59. package/src/__tests__/get-host-from-url.test.ts +0 -16
  60. package/src/__tests__/guess-worker-format.test.ts +0 -85
  61. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  62. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  63. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  64. package/src/__tests__/helpers/mock-auth-domain.ts +0 -20
  65. package/src/__tests__/helpers/mock-bin.ts +0 -36
  66. package/src/__tests__/helpers/mock-cfetch.ts +0 -277
  67. package/src/__tests__/helpers/mock-console.ts +0 -106
  68. package/src/__tests__/helpers/mock-dialogs.ts +0 -153
  69. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -8
  70. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  71. package/src/__tests__/helpers/mock-istty.ts +0 -74
  72. package/src/__tests__/helpers/mock-known-routes.ts +0 -7
  73. package/src/__tests__/helpers/mock-kv.ts +0 -33
  74. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -271
  75. package/src/__tests__/helpers/mock-process.ts +0 -34
  76. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  77. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  78. package/src/__tests__/helpers/msw/handlers/access.ts +0 -13
  79. package/src/__tests__/helpers/msw/handlers/deployments.ts +0 -59
  80. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -104
  81. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -31
  82. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -80
  83. package/src/__tests__/helpers/msw/handlers/script.ts +0 -75
  84. package/src/__tests__/helpers/msw/handlers/user.ts +0 -63
  85. package/src/__tests__/helpers/msw/handlers/zones.ts +0 -22
  86. package/src/__tests__/helpers/msw/index.ts +0 -21
  87. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  88. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  89. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +0 -1
  90. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +0 -5
  91. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +0 -1
  92. package/src/__tests__/helpers/worker-scripts/parent-worker.js +0 -8
  93. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +0 -5
  94. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  95. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  96. package/src/__tests__/https-options.test.ts +0 -163
  97. package/src/__tests__/index.test.ts +0 -268
  98. package/src/__tests__/init.test.ts +0 -3094
  99. package/src/__tests__/jest.setup.ts +0 -203
  100. package/src/__tests__/kv.test.ts +0 -1786
  101. package/src/__tests__/logger.test.ts +0 -141
  102. package/src/__tests__/logout.test.ts +0 -47
  103. package/src/__tests__/metrics.test.ts +0 -495
  104. package/src/__tests__/middleware.scheduled.test.ts +0 -145
  105. package/src/__tests__/middleware.test.ts +0 -750
  106. package/src/__tests__/package-manager.test.ts +0 -353
  107. package/src/__tests__/pages-deployment-tail.test.ts +0 -884
  108. package/src/__tests__/pages.test.ts +0 -2443
  109. package/src/__tests__/parse.test.ts +0 -330
  110. package/src/__tests__/paths.test.ts +0 -39
  111. package/src/__tests__/publish.test.ts +0 -7757
  112. package/src/__tests__/pubsub.test.ts +0 -490
  113. package/src/__tests__/queues.test.ts +0 -522
  114. package/src/__tests__/r2.test.ts +0 -393
  115. package/src/__tests__/route.test.ts +0 -45
  116. package/src/__tests__/secret.test.ts +0 -694
  117. package/src/__tests__/tail.test.ts +0 -899
  118. package/src/__tests__/test-old-node-version.js +0 -31
  119. package/src/__tests__/tsconfig-sanity.ts +0 -12
  120. package/src/__tests__/tsconfig.json +0 -8
  121. package/src/__tests__/tsconfig.tsbuildinfo +0 -1
  122. package/src/__tests__/type-generation.test.ts +0 -233
  123. package/src/__tests__/user.test.ts +0 -129
  124. package/src/__tests__/utils-collectKeyValues.test.ts +0 -47
  125. package/src/__tests__/validate-dev-props.test.ts +0 -56
  126. package/src/__tests__/version.test.ts +0 -35
  127. package/src/__tests__/whoami.test.tsx +0 -278
  128. package/src/__tests__/worker-namespace.test.ts +0 -326
  129. package/src/abort.d.ts +0 -3
  130. package/src/api/dev.ts +0 -218
  131. package/src/api/index.ts +0 -2
  132. package/src/bundle-reporter.tsx +0 -68
  133. package/src/bundle.ts +0 -823
  134. package/src/cfetch/index.ts +0 -158
  135. package/src/cfetch/internal.ts +0 -261
  136. package/src/cli.ts +0 -28
  137. package/src/config/README.md +0 -107
  138. package/src/config/config.ts +0 -275
  139. package/src/config/diagnostics.ts +0 -80
  140. package/src/config/environment.ts +0 -577
  141. package/src/config/index.ts +0 -358
  142. package/src/config/validation-helpers.ts +0 -597
  143. package/src/config/validation.ts +0 -2151
  144. package/src/config-cache.ts +0 -85
  145. package/src/create-worker-preview.ts +0 -282
  146. package/src/create-worker-upload-form.ts +0 -325
  147. package/src/d1/backups.tsx +0 -223
  148. package/src/d1/constants.ts +0 -2
  149. package/src/d1/create.tsx +0 -63
  150. package/src/d1/delete.tsx +0 -56
  151. package/src/d1/execute.tsx +0 -352
  152. package/src/d1/formatTimeAgo.ts +0 -14
  153. package/src/d1/index.ts +0 -101
  154. package/src/d1/list.tsx +0 -48
  155. package/src/d1/migrations/apply.tsx +0 -196
  156. package/src/d1/migrations/create.tsx +0 -77
  157. package/src/d1/migrations/helpers.ts +0 -147
  158. package/src/d1/migrations/index.tsx +0 -3
  159. package/src/d1/migrations/list.tsx +0 -79
  160. package/src/d1/migrations/options.ts +0 -18
  161. package/src/d1/options.ts +0 -22
  162. package/src/d1/types.tsx +0 -24
  163. package/src/d1/utils.ts +0 -48
  164. package/src/delete.ts +0 -108
  165. package/src/deployments.ts +0 -83
  166. package/src/deprecated/index.ts +0 -145
  167. package/src/dev/dev-vars.ts +0 -39
  168. package/src/dev/dev.tsx +0 -614
  169. package/src/dev/get-local-persistence-path.tsx +0 -31
  170. package/src/dev/local.tsx +0 -932
  171. package/src/dev/remote.tsx +0 -603
  172. package/src/dev/start-server.ts +0 -543
  173. package/src/dev/use-esbuild.ts +0 -204
  174. package/src/dev/validate-dev-props.ts +0 -31
  175. package/src/dev-registry.tsx +0 -201
  176. package/src/dev.tsx +0 -949
  177. package/src/dialogs.tsx +0 -168
  178. package/src/dispatch-namespace.ts +0 -207
  179. package/src/docs/index.ts +0 -97
  180. package/src/durable.ts +0 -102
  181. package/src/entry.ts +0 -329
  182. package/src/environment-variables/factory.ts +0 -88
  183. package/src/environment-variables/misc-variables.ts +0 -30
  184. package/src/errors.ts +0 -11
  185. package/src/generate/index.ts +0 -300
  186. package/src/git-client.ts +0 -135
  187. package/src/global-wrangler-config-path.ts +0 -26
  188. package/src/https-options.ts +0 -127
  189. package/src/index.tsx +0 -694
  190. package/src/init.ts +0 -1025
  191. package/src/inspect.ts +0 -767
  192. package/src/intl-polyfill.d.ts +0 -139
  193. package/src/is-ci.ts +0 -14
  194. package/src/is-interactive.ts +0 -16
  195. package/src/jest.d.ts +0 -4
  196. package/src/kv/helpers.ts +0 -430
  197. package/src/kv/index.ts +0 -596
  198. package/src/logger.ts +0 -92
  199. package/src/metrics/index.ts +0 -5
  200. package/src/metrics/metrics-config.ts +0 -239
  201. package/src/metrics/metrics-dispatcher.ts +0 -96
  202. package/src/metrics/metrics-usage-headers.ts +0 -24
  203. package/src/metrics/send-event.ts +0 -97
  204. package/src/miniflare-cli/README.md +0 -30
  205. package/src/miniflare-cli/assets.ts +0 -250
  206. package/src/miniflare-cli/index.ts +0 -210
  207. package/src/miniflare-cli/request-context.ts +0 -40
  208. package/src/miniflare-cli/tsconfig.json +0 -9
  209. package/src/miniflare-cli/tsconfig.tsbuildinfo +0 -1
  210. package/src/miniflare-cli/types.ts +0 -11
  211. package/src/module-collection.ts +0 -267
  212. package/src/open-in-browser.ts +0 -17
  213. package/src/package-manager.ts +0 -219
  214. package/src/pages/build.tsx +0 -270
  215. package/src/pages/constants.ts +0 -18
  216. package/src/pages/deployment-tails.tsx +0 -284
  217. package/src/pages/deployments.tsx +0 -84
  218. package/src/pages/dev.tsx +0 -710
  219. package/src/pages/errors.ts +0 -66
  220. package/src/pages/functions/buildPlugin.ts +0 -107
  221. package/src/pages/functions/buildWorker.ts +0 -166
  222. package/src/pages/functions/filepath-routing.test.ts +0 -234
  223. package/src/pages/functions/filepath-routing.ts +0 -189
  224. package/src/pages/functions/identifiers.ts +0 -78
  225. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  226. package/src/pages/functions/routes-consolidation.ts +0 -73
  227. package/src/pages/functions/routes-transformation.test.ts +0 -282
  228. package/src/pages/functions/routes-transformation.ts +0 -115
  229. package/src/pages/functions/routes-validation.test.ts +0 -403
  230. package/src/pages/functions/routes-validation.ts +0 -202
  231. package/src/pages/functions/routes.ts +0 -151
  232. package/src/pages/functions/tsconfig.json +0 -8
  233. package/src/pages/functions/tsconfig.tsbuildinfo +0 -1
  234. package/src/pages/functions.tsx +0 -82
  235. package/src/pages/hash.tsx +0 -13
  236. package/src/pages/index.tsx +0 -102
  237. package/src/pages/projects.tsx +0 -169
  238. package/src/pages/prompt-select-project.tsx +0 -31
  239. package/src/pages/publish.tsx +0 -461
  240. package/src/pages/types.ts +0 -41
  241. package/src/pages/upload.tsx +0 -447
  242. package/src/pages/utils.ts +0 -23
  243. package/src/parse.ts +0 -286
  244. package/src/paths.ts +0 -71
  245. package/src/proxy.ts +0 -694
  246. package/src/publish/index.ts +0 -270
  247. package/src/publish/publish.ts +0 -1036
  248. package/src/pubsub/index.ts +0 -286
  249. package/src/pubsub/pubsub-commands.tsx +0 -624
  250. package/src/queues/cli/commands/consumer/add.ts +0 -71
  251. package/src/queues/cli/commands/consumer/index.ts +0 -22
  252. package/src/queues/cli/commands/consumer/remove.ts +0 -38
  253. package/src/queues/cli/commands/create.ts +0 -25
  254. package/src/queues/cli/commands/delete.ts +0 -26
  255. package/src/queues/cli/commands/index.ts +0 -36
  256. package/src/queues/cli/commands/list.ts +0 -25
  257. package/src/queues/client.ts +0 -135
  258. package/src/queues/utils.ts +0 -18
  259. package/src/r2/constants.ts +0 -4
  260. package/src/r2/helpers.ts +0 -131
  261. package/src/r2/index.ts +0 -289
  262. package/src/routes.ts +0 -140
  263. package/src/secret/index.ts +0 -379
  264. package/src/selfsigned.d.ts +0 -29
  265. package/src/sites.tsx +0 -372
  266. package/src/tail/createTail.ts +0 -379
  267. package/src/tail/filters.ts +0 -277
  268. package/src/tail/index.ts +0 -214
  269. package/src/tail/printing.ts +0 -107
  270. package/src/tsconfig-sanity.ts +0 -16
  271. package/src/type-generation.ts +0 -181
  272. package/src/update-check.ts +0 -19
  273. package/src/user/access.ts +0 -68
  274. package/src/user/auth-variables.ts +0 -113
  275. package/src/user/choose-account.tsx +0 -69
  276. package/src/user/generate-auth-url.ts +0 -33
  277. package/src/user/generate-random-state.ts +0 -16
  278. package/src/user/index.ts +0 -2
  279. package/src/user/user.tsx +0 -1238
  280. package/src/utils/collectKeyValues.ts +0 -14
  281. package/src/whoami.tsx +0 -169
  282. package/src/worker.ts +0 -251
  283. package/src/yargs-types.ts +0 -24
  284. package/src/zones.ts +0 -191
  285. package/templates/__tests__/tsconfig.tsbuildinfo +0 -1
  286. package/templates/d1-beta-facade.js +0 -205
  287. package/templates/first-party-worker-module-facade.ts +0 -19
  288. package/templates/format-dev-errors.ts +0 -33
  289. package/templates/serve-static-assets.ts +0 -65
  290. package/templates/service-bindings-module-facade.js +0 -54
  291. package/templates/service-bindings-sw-facade.js +0 -42
  292. package/templates/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,3126 @@
1
+ {
2
+ "$ref": "#/definitions/RawConfig",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "definitions": {
5
+ "Assets": {
6
+ "additionalProperties": false,
7
+ "properties": {
8
+ "binding": {
9
+ "type": "string"
10
+ },
11
+ "directory": {
12
+ "description": "Absolute path to assets directory",
13
+ "type": "string"
14
+ },
15
+ "html_handling": {
16
+ "enum": [
17
+ "auto-trailing-slash",
18
+ "force-trailing-slash",
19
+ "drop-trailing-slash",
20
+ "none"
21
+ ],
22
+ "type": "string"
23
+ },
24
+ "not_found_handling": {
25
+ "enum": [
26
+ "single-page-application",
27
+ "404-page",
28
+ "none"
29
+ ],
30
+ "type": "string"
31
+ }
32
+ },
33
+ "required": [
34
+ "directory"
35
+ ],
36
+ "type": "object"
37
+ },
38
+ "CloudchamberConfig": {
39
+ "additionalProperties": false,
40
+ "description": "Configuration in wrangler for Cloudchamber",
41
+ "properties": {
42
+ "image": {
43
+ "type": "string"
44
+ },
45
+ "ipv4": {
46
+ "type": "boolean"
47
+ },
48
+ "location": {
49
+ "type": "string"
50
+ },
51
+ "memory": {
52
+ "type": "string"
53
+ },
54
+ "vcpu": {
55
+ "type": "number"
56
+ }
57
+ },
58
+ "type": "object"
59
+ },
60
+ "ConfigModuleRuleType": {
61
+ "description": "The possible types for a `Rule`.",
62
+ "enum": [
63
+ "ESModule",
64
+ "CommonJS",
65
+ "CompiledWasm",
66
+ "Text",
67
+ "Data",
68
+ "PythonModule",
69
+ "PythonRequirement",
70
+ "NodeJsCompatModule"
71
+ ],
72
+ "type": "string"
73
+ },
74
+ "CustomDomainRoute": {
75
+ "additionalProperties": false,
76
+ "properties": {
77
+ "custom_domain": {
78
+ "type": "boolean"
79
+ },
80
+ "pattern": {
81
+ "type": "string"
82
+ }
83
+ },
84
+ "required": [
85
+ "pattern",
86
+ "custom_domain"
87
+ ],
88
+ "type": "object"
89
+ },
90
+ "DeprecatedUpload": {
91
+ "additionalProperties": false,
92
+ "description": "Deprecated upload configuration.",
93
+ "properties": {
94
+ "dir": {
95
+ "deprecated": true,
96
+ "description": "The directory you wish to upload your Worker from, relative to the wrangler.toml file.\n\nDefaults to the directory containing the wrangler.toml file.",
97
+ "type": "string"
98
+ },
99
+ "format": {
100
+ "deprecated": "We infer the format automatically now.",
101
+ "description": "The format of the Worker script.",
102
+ "enum": [
103
+ "modules",
104
+ "service-worker"
105
+ ],
106
+ "type": "string"
107
+ },
108
+ "main": {
109
+ "deprecated": "This will be replaced by a command line argument.",
110
+ "description": "The path to the Worker script, relative to `upload.dir`.",
111
+ "type": "string"
112
+ },
113
+ "rules": {
114
+ "$ref": "#/definitions/Environment",
115
+ "deprecated": "This is now defined at the top level `rules` field."
116
+ }
117
+ },
118
+ "type": "object"
119
+ },
120
+ "DispatchNamespaceOutbound": {
121
+ "additionalProperties": false,
122
+ "properties": {
123
+ "environment": {
124
+ "description": "(Optional) Name of the environment handling the outbound requests.",
125
+ "type": "string"
126
+ },
127
+ "parameters": {
128
+ "description": "(Optional) List of parameter names, for sending context from your dispatch Worker to the outbound handler",
129
+ "items": {
130
+ "type": "string"
131
+ },
132
+ "type": "array"
133
+ },
134
+ "service": {
135
+ "description": "Name of the service handling the outbound requests",
136
+ "type": "string"
137
+ }
138
+ },
139
+ "required": [
140
+ "service"
141
+ ],
142
+ "type": "object"
143
+ },
144
+ "DurableObjectBindings": {
145
+ "items": {
146
+ "additionalProperties": false,
147
+ "properties": {
148
+ "class_name": {
149
+ "description": "The exported class name of the Durable Object",
150
+ "type": "string"
151
+ },
152
+ "environment": {
153
+ "description": "The service environment of the script_name to bind to",
154
+ "type": "string"
155
+ },
156
+ "name": {
157
+ "description": "The name of the binding used to refer to the Durable Object",
158
+ "type": "string"
159
+ },
160
+ "script_name": {
161
+ "description": "The script where the Durable Object is defined (if it's external to this Worker)",
162
+ "type": "string"
163
+ }
164
+ },
165
+ "required": [
166
+ "name",
167
+ "class_name"
168
+ ],
169
+ "type": "object"
170
+ },
171
+ "type": "array"
172
+ },
173
+ "DurableObjectMigration": {
174
+ "additionalProperties": false,
175
+ "description": "Configuration in wrangler for Durable Object Migrations",
176
+ "properties": {
177
+ "deleted_classes": {
178
+ "description": "The Durable Objects being removed.",
179
+ "items": {
180
+ "type": "string"
181
+ },
182
+ "type": "array"
183
+ },
184
+ "new_classes": {
185
+ "description": "The new Durable Objects being defined.",
186
+ "items": {
187
+ "type": "string"
188
+ },
189
+ "type": "array"
190
+ },
191
+ "new_sqlite_classes": {
192
+ "description": "The new SQLite Durable Objects being defined.",
193
+ "items": {
194
+ "type": "string"
195
+ },
196
+ "type": "array"
197
+ },
198
+ "renamed_classes": {
199
+ "description": "The Durable Objects being renamed.",
200
+ "items": {
201
+ "additionalProperties": false,
202
+ "properties": {
203
+ "from": {
204
+ "type": "string"
205
+ },
206
+ "to": {
207
+ "type": "string"
208
+ }
209
+ },
210
+ "required": [
211
+ "from",
212
+ "to"
213
+ ],
214
+ "type": "object"
215
+ },
216
+ "type": "array"
217
+ },
218
+ "tag": {
219
+ "description": "A unique identifier for this migration.",
220
+ "type": "string"
221
+ }
222
+ },
223
+ "required": [
224
+ "tag"
225
+ ],
226
+ "type": "object"
227
+ },
228
+ "Environment": {
229
+ "additionalProperties": false,
230
+ "description": "The `Environment` interface declares all the configuration fields that can be specified for an environment.\n\nThis could be the top-level default environment, or a specific named environment.",
231
+ "properties": {
232
+ "account_id": {
233
+ "description": "This is the ID of the account associated with your zone. You might have more than one account, so make sure to use the ID of the account associated with the zone/route you provide, if you provide one. It can also be specified through the CLOUDFLARE_ACCOUNT_ID environment variable.",
234
+ "type": "string"
235
+ },
236
+ "ai": {
237
+ "additionalProperties": false,
238
+ "default": "`{}`",
239
+ "description": "Binding to the AI project.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
240
+ "properties": {
241
+ "binding": {
242
+ "type": "string"
243
+ },
244
+ "staging": {
245
+ "type": "boolean"
246
+ }
247
+ },
248
+ "required": [
249
+ "binding"
250
+ ],
251
+ "type": "object"
252
+ },
253
+ "analytics_engine_datasets": {
254
+ "default": "`[]`",
255
+ "description": "Specifies analytics engine datasets that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
256
+ "items": {
257
+ "additionalProperties": false,
258
+ "properties": {
259
+ "binding": {
260
+ "description": "The binding name used to refer to the dataset in the Worker.",
261
+ "type": "string"
262
+ },
263
+ "dataset": {
264
+ "description": "The name of this dataset to write to.",
265
+ "type": "string"
266
+ }
267
+ },
268
+ "required": [
269
+ "binding"
270
+ ],
271
+ "type": "object"
272
+ },
273
+ "type": "array"
274
+ },
275
+ "assets": {
276
+ "$ref": "#/definitions/Assets",
277
+ "description": "Specify the directory of static assets to deploy/serve\n\nMore details at https://developers.cloudflare.com/workers/frameworks/"
278
+ },
279
+ "base_dir": {
280
+ "description": "The directory in which module rules should be evaluated when including additional files into a Worker deployment. This defaults to the directory containing the `main` entry point of the Worker if not specified.",
281
+ "type": "string"
282
+ },
283
+ "browser": {
284
+ "additionalProperties": false,
285
+ "default": "`{}`",
286
+ "description": "A browser that will be usable from the Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
287
+ "properties": {
288
+ "binding": {
289
+ "type": "string"
290
+ }
291
+ },
292
+ "required": [
293
+ "binding"
294
+ ],
295
+ "type": "object"
296
+ },
297
+ "build": {
298
+ "additionalProperties": false,
299
+ "default": {
300
+ "watch_dir": "./src"
301
+ },
302
+ "description": "Configures a custom build step to be run by Wrangler when building your Worker.\n\nRefer to the [custom builds documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration#build) for more details.",
303
+ "properties": {
304
+ "command": {
305
+ "description": "The command used to build your Worker. On Linux and macOS, the command is executed in the `sh` shell and the `cmd` shell for Windows. The `&&` and `||` shell operators may be used.",
306
+ "type": "string"
307
+ },
308
+ "cwd": {
309
+ "description": "The directory in which the command is executed.",
310
+ "type": "string"
311
+ },
312
+ "upload": {
313
+ "$ref": "#/definitions/DeprecatedUpload",
314
+ "deprecated": true,
315
+ "description": "Deprecated field previously used to configure the build and upload of the script."
316
+ },
317
+ "watch_dir": {
318
+ "anyOf": [
319
+ {
320
+ "type": "string"
321
+ },
322
+ {
323
+ "items": {
324
+ "type": "string"
325
+ },
326
+ "type": "array"
327
+ }
328
+ ],
329
+ "description": "The directory to watch for changes while using wrangler dev, defaults to the current working directory"
330
+ }
331
+ },
332
+ "type": "object"
333
+ },
334
+ "cloudchamber": {
335
+ "$ref": "#/definitions/CloudchamberConfig",
336
+ "default": "`{}`",
337
+ "description": "Cloudchamber configuration\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment."
338
+ },
339
+ "compatibility_date": {
340
+ "description": "A date in the form yyyy-mm-dd, which will be used to determine which version of the Workers runtime is used.\n\nMore details at https://developers.cloudflare.com/workers/platform/compatibility-dates",
341
+ "type": "string"
342
+ },
343
+ "compatibility_flags": {
344
+ "default": "`[]`",
345
+ "description": "A list of flags that enable features from upcoming features of the Workers runtime, usually used together with compatibility_flags.\n\nMore details at https://developers.cloudflare.com/workers/platform/compatibility-dates",
346
+ "items": {
347
+ "type": "string"
348
+ },
349
+ "type": "array"
350
+ },
351
+ "d1_databases": {
352
+ "default": "`[]`",
353
+ "description": "Specifies D1 databases that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
354
+ "items": {
355
+ "additionalProperties": false,
356
+ "properties": {
357
+ "binding": {
358
+ "description": "The binding name used to refer to the D1 database in the Worker.",
359
+ "type": "string"
360
+ },
361
+ "database_id": {
362
+ "description": "The UUID of this D1 database (not required).",
363
+ "type": "string"
364
+ },
365
+ "database_internal_env": {
366
+ "description": "Internal use only.",
367
+ "type": "string"
368
+ },
369
+ "database_name": {
370
+ "description": "The name of this D1 database.",
371
+ "type": "string"
372
+ },
373
+ "migrations_dir": {
374
+ "description": "The path to the directory of migrations for this D1 database (defaults to './migrations').",
375
+ "type": "string"
376
+ },
377
+ "migrations_table": {
378
+ "description": "The name of the migrations table for this D1 database (defaults to 'd1_migrations').",
379
+ "type": "string"
380
+ },
381
+ "preview_database_id": {
382
+ "description": "The UUID of this D1 database for Wrangler Dev (if specified).",
383
+ "type": "string"
384
+ }
385
+ },
386
+ "required": [
387
+ "binding",
388
+ "database_name",
389
+ "database_id"
390
+ ],
391
+ "type": "object"
392
+ },
393
+ "type": "array"
394
+ },
395
+ "define": {
396
+ "additionalProperties": {
397
+ "type": "string"
398
+ },
399
+ "default": "`{}`",
400
+ "description": "A map of values to substitute when deploying your Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
401
+ "type": "object"
402
+ },
403
+ "dispatch_namespaces": {
404
+ "default": "`[]`",
405
+ "description": "Specifies namespace bindings that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
406
+ "items": {
407
+ "additionalProperties": false,
408
+ "properties": {
409
+ "binding": {
410
+ "description": "The binding name used to refer to the bound service.",
411
+ "type": "string"
412
+ },
413
+ "namespace": {
414
+ "description": "The namespace to bind to.",
415
+ "type": "string"
416
+ },
417
+ "outbound": {
418
+ "$ref": "#/definitions/DispatchNamespaceOutbound",
419
+ "description": "Details about the outbound Worker which will handle outbound requests from your namespace"
420
+ }
421
+ },
422
+ "required": [
423
+ "binding",
424
+ "namespace"
425
+ ],
426
+ "type": "object"
427
+ },
428
+ "type": "array"
429
+ },
430
+ "durable_objects": {
431
+ "additionalProperties": false,
432
+ "default": "`{bindings:[]}`",
433
+ "description": "A list of durable objects that your Worker should be bound to.\n\nFor more information about Durable Objects, see the documentation at https://developers.cloudflare.com/workers/learning/using-durable-objects\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
434
+ "properties": {
435
+ "bindings": {
436
+ "$ref": "#/definitions/DurableObjectBindings"
437
+ }
438
+ },
439
+ "required": [
440
+ "bindings"
441
+ ],
442
+ "type": "object"
443
+ },
444
+ "find_additional_modules": {
445
+ "description": "If true then Wrangler will traverse the file tree below `base_dir`; Any files that match `rules` will be included in the deployed Worker. Defaults to true if `no_bundle` is true, otherwise false.",
446
+ "type": "boolean"
447
+ },
448
+ "first_party_worker": {
449
+ "description": "Designates this Worker as an internal-only \"first-party\" Worker.",
450
+ "type": "boolean"
451
+ },
452
+ "hyperdrive": {
453
+ "default": "`[]`",
454
+ "description": "Specifies Hyperdrive configs that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
455
+ "items": {
456
+ "additionalProperties": false,
457
+ "properties": {
458
+ "binding": {
459
+ "description": "The binding name used to refer to the project in the Worker.",
460
+ "type": "string"
461
+ },
462
+ "id": {
463
+ "description": "The id of the database.",
464
+ "type": "string"
465
+ },
466
+ "localConnectionString": {
467
+ "description": "The local database connection string for `wrangler dev`",
468
+ "type": "string"
469
+ }
470
+ },
471
+ "required": [
472
+ "binding",
473
+ "id"
474
+ ],
475
+ "type": "object"
476
+ },
477
+ "type": "array"
478
+ },
479
+ "jsx_factory": {
480
+ "default": "`\"React.createElement\"`",
481
+ "description": "The function to use to replace jsx syntax.",
482
+ "type": "string"
483
+ },
484
+ "jsx_fragment": {
485
+ "default": "`\"React.Fragment\"`",
486
+ "description": "The function to use to replace jsx fragment syntax.",
487
+ "type": "string"
488
+ },
489
+ "kv_namespaces": {
490
+ "default": "`[]`",
491
+ "description": "These specify any Workers KV Namespaces you want to access from inside your Worker.\n\nTo learn more about KV Namespaces, see the documentation at https://developers.cloudflare.com/workers/learning/how-kv-works\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
492
+ "items": {
493
+ "additionalProperties": false,
494
+ "properties": {
495
+ "binding": {
496
+ "description": "The binding name used to refer to the KV Namespace",
497
+ "type": "string"
498
+ },
499
+ "id": {
500
+ "description": "The ID of the KV namespace",
501
+ "type": "string"
502
+ },
503
+ "preview_id": {
504
+ "description": "The ID of the KV namespace used during `wrangler dev`",
505
+ "type": "string"
506
+ }
507
+ },
508
+ "required": [
509
+ "binding",
510
+ "id"
511
+ ],
512
+ "type": "object"
513
+ },
514
+ "type": "array"
515
+ },
516
+ "limits": {
517
+ "$ref": "#/definitions/UserLimits",
518
+ "description": "Specify limits for runtime behavior. Only supported for the \"standard\" Usage Model"
519
+ },
520
+ "logfwdr": {
521
+ "additionalProperties": false,
522
+ "default": "`{bindings:[]}`",
523
+ "description": "List of bindings that you will send to logfwdr",
524
+ "properties": {
525
+ "bindings": {
526
+ "items": {
527
+ "additionalProperties": false,
528
+ "properties": {
529
+ "destination": {
530
+ "description": "The destination for this logged message",
531
+ "type": "string"
532
+ },
533
+ "name": {
534
+ "description": "The binding name used to refer to logfwdr",
535
+ "type": "string"
536
+ }
537
+ },
538
+ "required": [
539
+ "name",
540
+ "destination"
541
+ ],
542
+ "type": "object"
543
+ },
544
+ "type": "array"
545
+ }
546
+ },
547
+ "required": [
548
+ "bindings"
549
+ ],
550
+ "type": "object"
551
+ },
552
+ "logpush": {
553
+ "description": "Send Trace Events from this Worker to Workers Logpush.\n\nThis will not configure a corresponding Logpush job automatically.\n\nFor more information about Workers Logpush, see: https://blog.cloudflare.com/logpush-for-workers/",
554
+ "type": "boolean"
555
+ },
556
+ "main": {
557
+ "description": "The entrypoint/path to the JavaScript file that will be executed.",
558
+ "type": "string"
559
+ },
560
+ "migrations": {
561
+ "default": [],
562
+ "description": "A list of migrations that should be uploaded with your Worker.\n\nThese define changes in your Durable Object declarations.\n\nMore details at https://developers.cloudflare.com/workers/learning/using-durable-objects#configuring-durable-object-classes-with-migrations",
563
+ "items": {
564
+ "$ref": "#/definitions/DurableObjectMigration"
565
+ },
566
+ "type": "array"
567
+ },
568
+ "minify": {
569
+ "description": "Minify the script before uploading.",
570
+ "type": "boolean"
571
+ },
572
+ "mtls_certificates": {
573
+ "default": "`[]`",
574
+ "description": "Specifies a list of mTLS certificates that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
575
+ "items": {
576
+ "additionalProperties": false,
577
+ "properties": {
578
+ "binding": {
579
+ "description": "The binding name used to refer to the certificate in the Worker",
580
+ "type": "string"
581
+ },
582
+ "certificate_id": {
583
+ "description": "The uuid of the uploaded mTLS certificate",
584
+ "type": "string"
585
+ }
586
+ },
587
+ "required": [
588
+ "binding",
589
+ "certificate_id"
590
+ ],
591
+ "type": "object"
592
+ },
593
+ "type": "array"
594
+ },
595
+ "name": {
596
+ "description": "The name of your Worker. Alphanumeric + dashes only.",
597
+ "type": "string"
598
+ },
599
+ "no_bundle": {
600
+ "description": "Skip internal build steps and directly deploy script",
601
+ "type": "boolean"
602
+ },
603
+ "node_compat": {
604
+ "description": "Add polyfills for node builtin modules and globals",
605
+ "type": "boolean"
606
+ },
607
+ "observability": {
608
+ "$ref": "#/definitions/Observability",
609
+ "description": "Specify the observability behavior of the Worker."
610
+ },
611
+ "pipelines": {
612
+ "default": "`[]`",
613
+ "description": "Specifies list of Pipelines bound to this Worker environment\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
614
+ "items": {
615
+ "additionalProperties": false,
616
+ "properties": {
617
+ "binding": {
618
+ "description": "The binding name used to refer to the bound service.",
619
+ "type": "string"
620
+ },
621
+ "pipeline": {
622
+ "description": "Name of the Pipeline to bind",
623
+ "type": "string"
624
+ }
625
+ },
626
+ "required": [
627
+ "binding",
628
+ "pipeline"
629
+ ],
630
+ "type": "object"
631
+ },
632
+ "type": "array"
633
+ },
634
+ "placement": {
635
+ "additionalProperties": false,
636
+ "description": "Specify how the Worker should be located to minimize round-trip time.\n\nMore details: https://developers.cloudflare.com/workers/platform/smart-placement/",
637
+ "properties": {
638
+ "hint": {
639
+ "type": "string"
640
+ },
641
+ "mode": {
642
+ "enum": [
643
+ "off",
644
+ "smart"
645
+ ],
646
+ "type": "string"
647
+ }
648
+ },
649
+ "required": [
650
+ "mode"
651
+ ],
652
+ "type": "object"
653
+ },
654
+ "preserve_file_names": {
655
+ "description": "Determines whether Wrangler will preserve bundled file names. Defaults to false. If left unset, files will be named using the pattern ${fileHash}-${basename}, for example, `34de60b44167af5c5a709e62a4e20c4f18c9e3b6-favicon.ico`.",
656
+ "type": "boolean"
657
+ },
658
+ "queues": {
659
+ "additionalProperties": false,
660
+ "default": "`{consumers:[],producers:[]}`",
661
+ "description": "Specifies Queues that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
662
+ "properties": {
663
+ "consumers": {
664
+ "description": "Consumer configuration",
665
+ "items": {
666
+ "additionalProperties": false,
667
+ "properties": {
668
+ "dead_letter_queue": {
669
+ "description": "The queue to send messages that failed to be consumed.",
670
+ "type": "string"
671
+ },
672
+ "max_batch_size": {
673
+ "description": "The maximum number of messages per batch",
674
+ "type": "number"
675
+ },
676
+ "max_batch_timeout": {
677
+ "description": "The maximum number of seconds to wait to fill a batch with messages.",
678
+ "type": "number"
679
+ },
680
+ "max_concurrency": {
681
+ "description": "The maximum number of concurrent consumer Worker invocations. Leaving this unset will allow your consumer to scale to the maximum concurrency needed to keep up with the message backlog.",
682
+ "type": [
683
+ "number",
684
+ "null"
685
+ ]
686
+ },
687
+ "max_retries": {
688
+ "description": "The maximum number of retries for each message.",
689
+ "type": "number"
690
+ },
691
+ "queue": {
692
+ "description": "The name of the queue from which this consumer should consume.",
693
+ "type": "string"
694
+ },
695
+ "retry_delay": {
696
+ "description": "The number of seconds to wait before retrying a message",
697
+ "type": "number"
698
+ },
699
+ "type": {
700
+ "description": "The consumer type, e.g., worker, http-pull, r2-bucket, etc. Default is worker.",
701
+ "type": "string"
702
+ },
703
+ "visibility_timeout_ms": {
704
+ "description": "The number of milliseconds to wait for pulled messages to become visible again",
705
+ "type": "number"
706
+ }
707
+ },
708
+ "required": [
709
+ "queue"
710
+ ],
711
+ "type": "object"
712
+ },
713
+ "type": "array"
714
+ },
715
+ "producers": {
716
+ "description": "Producer bindings",
717
+ "items": {
718
+ "additionalProperties": false,
719
+ "properties": {
720
+ "binding": {
721
+ "description": "The binding name used to refer to the Queue in the Worker.",
722
+ "type": "string"
723
+ },
724
+ "delivery_delay": {
725
+ "description": "The number of seconds to wait before delivering a message",
726
+ "type": "number"
727
+ },
728
+ "queue": {
729
+ "description": "The name of this Queue.",
730
+ "type": "string"
731
+ }
732
+ },
733
+ "required": [
734
+ "binding",
735
+ "queue"
736
+ ],
737
+ "type": "object"
738
+ },
739
+ "type": "array"
740
+ }
741
+ },
742
+ "type": "object"
743
+ },
744
+ "r2_buckets": {
745
+ "default": "`[]`",
746
+ "description": "Specifies R2 buckets that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
747
+ "items": {
748
+ "additionalProperties": false,
749
+ "properties": {
750
+ "binding": {
751
+ "description": "The binding name used to refer to the R2 bucket in the Worker.",
752
+ "type": "string"
753
+ },
754
+ "bucket_name": {
755
+ "description": "The name of this R2 bucket at the edge.",
756
+ "type": "string"
757
+ },
758
+ "jurisdiction": {
759
+ "description": "The jurisdiction that the bucket exists in. Default if not present.",
760
+ "type": "string"
761
+ },
762
+ "preview_bucket_name": {
763
+ "description": "The preview name of this R2 bucket at the edge.",
764
+ "type": "string"
765
+ }
766
+ },
767
+ "required": [
768
+ "binding",
769
+ "bucket_name"
770
+ ],
771
+ "type": "object"
772
+ },
773
+ "type": "array"
774
+ },
775
+ "route": {
776
+ "$ref": "#/definitions/Route",
777
+ "description": "A route that your Worker should be published to. Literally the same as routes, but only one. Only one of `routes` or `route` is required.\n\nOnly required when workers_dev is false, and there's no scheduled Worker"
778
+ },
779
+ "routes": {
780
+ "description": "A list of routes that your Worker should be published to. Only one of `routes` or `route` is required.\n\nOnly required when workers_dev is false, and there's no scheduled Worker (see `triggers`)",
781
+ "items": {
782
+ "$ref": "#/definitions/Route"
783
+ },
784
+ "type": "array"
785
+ },
786
+ "rules": {
787
+ "description": "An ordered list of rules that define which modules to import, and what type to import them as. You will need to specify rules to use Text, Data, and CompiledWasm modules, or when you wish to have a .js file be treated as an ESModule instead of CommonJS.",
788
+ "items": {
789
+ "$ref": "#/definitions/Rule"
790
+ },
791
+ "type": "array"
792
+ },
793
+ "send_email": {
794
+ "default": "`[]`",
795
+ "description": "These specify bindings to send email from inside your Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
796
+ "items": {
797
+ "additionalProperties": false,
798
+ "properties": {
799
+ "allowed_destination_addresses": {
800
+ "description": "If this binding should be restricted to a set of verified addresses",
801
+ "items": {
802
+ "type": "string"
803
+ },
804
+ "type": "array"
805
+ },
806
+ "destination_address": {
807
+ "description": "If this binding should be restricted to a specific verified address",
808
+ "type": "string"
809
+ },
810
+ "name": {
811
+ "description": "The binding name used to refer to the this binding",
812
+ "type": "string"
813
+ }
814
+ },
815
+ "required": [
816
+ "name"
817
+ ],
818
+ "type": "object"
819
+ },
820
+ "type": "array"
821
+ },
822
+ "services": {
823
+ "default": "`[]`",
824
+ "description": "Specifies service bindings (Worker-to-Worker) that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
825
+ "items": {
826
+ "additionalProperties": false,
827
+ "properties": {
828
+ "binding": {
829
+ "description": "The binding name used to refer to the bound service.",
830
+ "type": "string"
831
+ },
832
+ "entrypoint": {
833
+ "description": "Optionally, the entrypoint (named export) of the service to bind to.",
834
+ "type": "string"
835
+ },
836
+ "environment": {
837
+ "description": "The environment of the service (e.g. production, staging, etc).",
838
+ "type": "string"
839
+ },
840
+ "service": {
841
+ "description": "The name of the service.",
842
+ "type": "string"
843
+ }
844
+ },
845
+ "required": [
846
+ "binding",
847
+ "service"
848
+ ],
849
+ "type": "object"
850
+ },
851
+ "type": "array"
852
+ },
853
+ "tail_consumers": {
854
+ "default": "`[]`",
855
+ "description": "Specifies a list of Tail Workers that are bound to this Worker environment\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
856
+ "items": {
857
+ "$ref": "#/definitions/TailConsumer"
858
+ },
859
+ "type": "array"
860
+ },
861
+ "triggers": {
862
+ "additionalProperties": false,
863
+ "default": "`{crons:[]}`",
864
+ "description": "\"Cron\" definitions to trigger a Worker's \"scheduled\" function.\n\nLets you call Workers periodically, much like a cron job.\n\nMore details here https://developers.cloudflare.com/workers/platform/cron-triggers",
865
+ "properties": {
866
+ "crons": {
867
+ "items": {
868
+ "type": "string"
869
+ },
870
+ "type": "array"
871
+ }
872
+ },
873
+ "required": [
874
+ "crons"
875
+ ],
876
+ "type": "object"
877
+ },
878
+ "tsconfig": {
879
+ "description": "Path to a custom tsconfig",
880
+ "type": "string"
881
+ },
882
+ "unsafe": {
883
+ "additionalProperties": false,
884
+ "default": "`{}`",
885
+ "description": "\"Unsafe\" tables for features that aren't directly supported by wrangler.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
886
+ "properties": {
887
+ "bindings": {
888
+ "description": "A set of bindings that should be put into a Worker's upload metadata without changes. These can be used to implement bindings for features that haven't released and aren't supported directly by wrangler or miniflare.",
889
+ "items": {
890
+ "additionalProperties": {},
891
+ "properties": {
892
+ "name": {
893
+ "type": "string"
894
+ },
895
+ "type": {
896
+ "type": "string"
897
+ }
898
+ },
899
+ "required": [
900
+ "name",
901
+ "type"
902
+ ],
903
+ "type": "object"
904
+ },
905
+ "type": "array"
906
+ },
907
+ "capnp": {
908
+ "anyOf": [
909
+ {
910
+ "additionalProperties": false,
911
+ "properties": {
912
+ "base_path": {
913
+ "type": "string"
914
+ },
915
+ "source_schemas": {
916
+ "items": {
917
+ "type": "string"
918
+ },
919
+ "type": "array"
920
+ }
921
+ },
922
+ "required": [
923
+ "base_path",
924
+ "source_schemas"
925
+ ],
926
+ "type": "object"
927
+ },
928
+ {
929
+ "additionalProperties": false,
930
+ "properties": {
931
+ "compiled_schema": {
932
+ "type": "string"
933
+ }
934
+ },
935
+ "required": [
936
+ "compiled_schema"
937
+ ],
938
+ "type": "object"
939
+ }
940
+ ],
941
+ "description": "Used for internal capnp uploads for the Workers runtime"
942
+ },
943
+ "metadata": {
944
+ "additionalProperties": {},
945
+ "description": "Arbitrary key/value pairs that will be included in the uploaded metadata. Values specified here will always be applied to metadata last, so can add new or override existing fields.",
946
+ "type": "object"
947
+ }
948
+ },
949
+ "type": "object"
950
+ },
951
+ "upload_source_maps": {
952
+ "description": "Include source maps when uploading this worker.",
953
+ "type": "boolean"
954
+ },
955
+ "usage_model": {
956
+ "description": "Specifies the Usage Model for your Worker. There are two options - [bundled](https://developers.cloudflare.com/workers/platform/limits#bundled-usage-model) and [unbound](https://developers.cloudflare.com/workers/platform/limits#unbound-usage-model). For newly created Workers, if the Usage Model is omitted it will be set to the [default Usage Model set on the account](https://dash.cloudflare.com/?account=workers/default-usage-model). For existing Workers, if the Usage Model is omitted, it will be set to the Usage Model configured in the dashboard for that Worker.",
957
+ "enum": [
958
+ "bundled",
959
+ "unbound"
960
+ ],
961
+ "type": "string"
962
+ },
963
+ "vars": {
964
+ "additionalProperties": {
965
+ "anyOf": [
966
+ {
967
+ "type": "string"
968
+ },
969
+ {
970
+ "$ref": "#/definitions/Json"
971
+ }
972
+ ]
973
+ },
974
+ "default": "`{}`",
975
+ "description": "A map of environment variables to set when deploying your Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
976
+ "type": "object"
977
+ },
978
+ "vectorize": {
979
+ "default": "`[]`",
980
+ "description": "Specifies Vectorize indexes that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
981
+ "items": {
982
+ "additionalProperties": false,
983
+ "properties": {
984
+ "binding": {
985
+ "description": "The binding name used to refer to the Vectorize index in the Worker.",
986
+ "type": "string"
987
+ },
988
+ "index_name": {
989
+ "description": "The name of the index.",
990
+ "type": "string"
991
+ }
992
+ },
993
+ "required": [
994
+ "binding",
995
+ "index_name"
996
+ ],
997
+ "type": "object"
998
+ },
999
+ "type": "array"
1000
+ },
1001
+ "version_metadata": {
1002
+ "additionalProperties": false,
1003
+ "description": "Binding to the Worker Version's metadata",
1004
+ "properties": {
1005
+ "binding": {
1006
+ "type": "string"
1007
+ }
1008
+ },
1009
+ "required": [
1010
+ "binding"
1011
+ ],
1012
+ "type": "object"
1013
+ },
1014
+ "workers_dev": {
1015
+ "default": "`true` (This is a breaking change from Wrangler v1)",
1016
+ "description": "Whether we use <name>.<subdomain>.workers.dev to test and deploy your Worker.\n\n// Carmen according to our tests the default is undefined // warning: you must force \"workers_dev: true\" in tests to match expected behavior",
1017
+ "type": "boolean"
1018
+ },
1019
+ "workflows": {
1020
+ "default": "`[]`",
1021
+ "description": "A list of workflows that your Worker should be bound to.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1022
+ "items": {
1023
+ "$ref": "#/definitions/WorkflowBinding"
1024
+ },
1025
+ "type": "array"
1026
+ },
1027
+ "zone_id": {
1028
+ "description": "TODO: remove this as it has been deprecated.\n\nThis is just here for now because the `route` commands use it. So we need to include it in this type so it is available.",
1029
+ "type": "string"
1030
+ }
1031
+ },
1032
+ "required": [
1033
+ "analytics_engine_datasets",
1034
+ "build",
1035
+ "cloudchamber",
1036
+ "compatibility_flags",
1037
+ "d1_databases",
1038
+ "define",
1039
+ "dispatch_namespaces",
1040
+ "durable_objects",
1041
+ "hyperdrive",
1042
+ "jsx_factory",
1043
+ "jsx_fragment",
1044
+ "kv_namespaces",
1045
+ "logfwdr",
1046
+ "migrations",
1047
+ "mtls_certificates",
1048
+ "pipelines",
1049
+ "queues",
1050
+ "r2_buckets",
1051
+ "rules",
1052
+ "send_email",
1053
+ "triggers",
1054
+ "unsafe",
1055
+ "vars",
1056
+ "vectorize",
1057
+ "workflows"
1058
+ ],
1059
+ "type": "object"
1060
+ },
1061
+ "Json": {
1062
+ "anyOf": [
1063
+ {
1064
+ "$ref": "#/definitions/Literal"
1065
+ },
1066
+ {
1067
+ "additionalProperties": {
1068
+ "$ref": "#/definitions/Json"
1069
+ },
1070
+ "type": "object"
1071
+ },
1072
+ {
1073
+ "items": {
1074
+ "$ref": "#/definitions/Json"
1075
+ },
1076
+ "type": "array"
1077
+ }
1078
+ ]
1079
+ },
1080
+ "Literal": {
1081
+ "$ref": "#/definitions/TypeOf%3CZodUnion%3C%5Bdef-class-1315922706-6501-8772-1315922706-0-54395%2Cdef-class-1315922706-9299-10989-1315922706-0-54395%2Cdef-class-1315922706-12937-13365-1315922706-0-54395%2Cdef-class-1315922706-15083-15273-1315922706-0-54395%5D%3E%3E"
1082
+ },
1083
+ "Observability": {
1084
+ "additionalProperties": false,
1085
+ "properties": {
1086
+ "enabled": {
1087
+ "description": "If observability is enabled for this Worker",
1088
+ "type": "boolean"
1089
+ },
1090
+ "head_sampling_rate": {
1091
+ "description": "The sampling rate",
1092
+ "type": "number"
1093
+ }
1094
+ },
1095
+ "required": [
1096
+ "enabled"
1097
+ ],
1098
+ "type": "object"
1099
+ },
1100
+ "RawConfig": {
1101
+ "additionalProperties": false,
1102
+ "properties": {
1103
+ "$schema": {
1104
+ "type": "string"
1105
+ },
1106
+ "account_id": {
1107
+ "description": "This is the ID of the account associated with your zone. You might have more than one account, so make sure to use the ID of the account associated with the zone/route you provide, if you provide one. It can also be specified through the CLOUDFLARE_ACCOUNT_ID environment variable.",
1108
+ "type": "string"
1109
+ },
1110
+ "ai": {
1111
+ "additionalProperties": false,
1112
+ "default": "`{}`",
1113
+ "description": "Binding to the AI project.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1114
+ "properties": {
1115
+ "binding": {
1116
+ "type": "string"
1117
+ },
1118
+ "staging": {
1119
+ "type": "boolean"
1120
+ }
1121
+ },
1122
+ "required": [
1123
+ "binding"
1124
+ ],
1125
+ "type": "object"
1126
+ },
1127
+ "alias": {
1128
+ "additionalProperties": {
1129
+ "type": "string"
1130
+ },
1131
+ "description": "A map of module aliases. Lets you swap out a module for any others. Corresponds with esbuild's `alias` config",
1132
+ "type": "object"
1133
+ },
1134
+ "analytics_engine_datasets": {
1135
+ "default": "`[]`",
1136
+ "description": "Specifies analytics engine datasets that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1137
+ "items": {
1138
+ "additionalProperties": false,
1139
+ "properties": {
1140
+ "binding": {
1141
+ "description": "The binding name used to refer to the dataset in the Worker.",
1142
+ "type": "string"
1143
+ },
1144
+ "dataset": {
1145
+ "description": "The name of this dataset to write to.",
1146
+ "type": "string"
1147
+ }
1148
+ },
1149
+ "required": [
1150
+ "binding"
1151
+ ],
1152
+ "type": "object"
1153
+ },
1154
+ "type": "array"
1155
+ },
1156
+ "assets": {
1157
+ "$ref": "#/definitions/Assets",
1158
+ "description": "Specify the directory of static assets to deploy/serve\n\nMore details at https://developers.cloudflare.com/workers/frameworks/"
1159
+ },
1160
+ "base_dir": {
1161
+ "description": "The directory in which module rules should be evaluated when including additional files into a Worker deployment. This defaults to the directory containing the `main` entry point of the Worker if not specified.",
1162
+ "type": "string"
1163
+ },
1164
+ "browser": {
1165
+ "additionalProperties": false,
1166
+ "default": "`{}`",
1167
+ "description": "A browser that will be usable from the Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1168
+ "properties": {
1169
+ "binding": {
1170
+ "type": "string"
1171
+ }
1172
+ },
1173
+ "required": [
1174
+ "binding"
1175
+ ],
1176
+ "type": "object"
1177
+ },
1178
+ "build": {
1179
+ "additionalProperties": false,
1180
+ "default": {
1181
+ "watch_dir": "./src"
1182
+ },
1183
+ "description": "Configures a custom build step to be run by Wrangler when building your Worker.\n\nRefer to the [custom builds documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration#build) for more details.",
1184
+ "properties": {
1185
+ "command": {
1186
+ "description": "The command used to build your Worker. On Linux and macOS, the command is executed in the `sh` shell and the `cmd` shell for Windows. The `&&` and `||` shell operators may be used.",
1187
+ "type": "string"
1188
+ },
1189
+ "cwd": {
1190
+ "description": "The directory in which the command is executed.",
1191
+ "type": "string"
1192
+ },
1193
+ "upload": {
1194
+ "$ref": "#/definitions/DeprecatedUpload",
1195
+ "deprecated": true,
1196
+ "description": "Deprecated field previously used to configure the build and upload of the script."
1197
+ },
1198
+ "watch_dir": {
1199
+ "anyOf": [
1200
+ {
1201
+ "type": "string"
1202
+ },
1203
+ {
1204
+ "items": {
1205
+ "type": "string"
1206
+ },
1207
+ "type": "array"
1208
+ }
1209
+ ],
1210
+ "description": "The directory to watch for changes while using wrangler dev, defaults to the current working directory"
1211
+ }
1212
+ },
1213
+ "type": "object"
1214
+ },
1215
+ "cloudchamber": {
1216
+ "$ref": "#/definitions/CloudchamberConfig",
1217
+ "default": "`{}`",
1218
+ "description": "Cloudchamber configuration\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment."
1219
+ },
1220
+ "compatibility_date": {
1221
+ "description": "A date in the form yyyy-mm-dd, which will be used to determine which version of the Workers runtime is used.\n\nMore details at https://developers.cloudflare.com/workers/platform/compatibility-dates",
1222
+ "type": "string"
1223
+ },
1224
+ "compatibility_flags": {
1225
+ "default": "`[]`",
1226
+ "description": "A list of flags that enable features from upcoming features of the Workers runtime, usually used together with compatibility_flags.\n\nMore details at https://developers.cloudflare.com/workers/platform/compatibility-dates",
1227
+ "items": {
1228
+ "type": "string"
1229
+ },
1230
+ "type": "array"
1231
+ },
1232
+ "configPath": {
1233
+ "type": "string"
1234
+ },
1235
+ "d1_databases": {
1236
+ "default": "`[]`",
1237
+ "description": "Specifies D1 databases that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1238
+ "items": {
1239
+ "additionalProperties": false,
1240
+ "properties": {
1241
+ "binding": {
1242
+ "description": "The binding name used to refer to the D1 database in the Worker.",
1243
+ "type": "string"
1244
+ },
1245
+ "database_id": {
1246
+ "description": "The UUID of this D1 database (not required).",
1247
+ "type": "string"
1248
+ },
1249
+ "database_internal_env": {
1250
+ "description": "Internal use only.",
1251
+ "type": "string"
1252
+ },
1253
+ "database_name": {
1254
+ "description": "The name of this D1 database.",
1255
+ "type": "string"
1256
+ },
1257
+ "migrations_dir": {
1258
+ "description": "The path to the directory of migrations for this D1 database (defaults to './migrations').",
1259
+ "type": "string"
1260
+ },
1261
+ "migrations_table": {
1262
+ "description": "The name of the migrations table for this D1 database (defaults to 'd1_migrations').",
1263
+ "type": "string"
1264
+ },
1265
+ "preview_database_id": {
1266
+ "description": "The UUID of this D1 database for Wrangler Dev (if specified).",
1267
+ "type": "string"
1268
+ }
1269
+ },
1270
+ "required": [
1271
+ "binding",
1272
+ "database_name",
1273
+ "database_id"
1274
+ ],
1275
+ "type": "object"
1276
+ },
1277
+ "type": "array"
1278
+ },
1279
+ "data_blobs": {
1280
+ "additionalProperties": {
1281
+ "type": "string"
1282
+ },
1283
+ "description": "A list of data files that your worker should be bound to. This is the \"legacy\" way of binding to a data file. ES module workers should do proper module imports.",
1284
+ "type": "object"
1285
+ },
1286
+ "define": {
1287
+ "additionalProperties": {
1288
+ "type": "string"
1289
+ },
1290
+ "default": "`{}`",
1291
+ "description": "A map of values to substitute when deploying your Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1292
+ "type": "object"
1293
+ },
1294
+ "dev": {
1295
+ "$ref": "#/definitions/RawDevConfig",
1296
+ "description": "Options to configure the development server that your worker will use."
1297
+ },
1298
+ "dispatch_namespaces": {
1299
+ "default": "`[]`",
1300
+ "description": "Specifies namespace bindings that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1301
+ "items": {
1302
+ "additionalProperties": false,
1303
+ "properties": {
1304
+ "binding": {
1305
+ "description": "The binding name used to refer to the bound service.",
1306
+ "type": "string"
1307
+ },
1308
+ "namespace": {
1309
+ "description": "The namespace to bind to.",
1310
+ "type": "string"
1311
+ },
1312
+ "outbound": {
1313
+ "$ref": "#/definitions/DispatchNamespaceOutbound",
1314
+ "description": "Details about the outbound Worker which will handle outbound requests from your namespace"
1315
+ }
1316
+ },
1317
+ "required": [
1318
+ "binding",
1319
+ "namespace"
1320
+ ],
1321
+ "type": "object"
1322
+ },
1323
+ "type": "array"
1324
+ },
1325
+ "durable_objects": {
1326
+ "additionalProperties": false,
1327
+ "default": "`{bindings:[]}`",
1328
+ "description": "A list of durable objects that your Worker should be bound to.\n\nFor more information about Durable Objects, see the documentation at https://developers.cloudflare.com/workers/learning/using-durable-objects\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1329
+ "properties": {
1330
+ "bindings": {
1331
+ "$ref": "#/definitions/DurableObjectBindings"
1332
+ }
1333
+ },
1334
+ "required": [
1335
+ "bindings"
1336
+ ],
1337
+ "type": "object"
1338
+ },
1339
+ "env": {
1340
+ "additionalProperties": {
1341
+ "$ref": "#/definitions/RawEnvironment"
1342
+ },
1343
+ "default": {},
1344
+ "description": "The `env` section defines overrides for the configuration for different environments.\n\nAll environment fields can be specified at the top level of the config indicating the default environment settings.\n\n- Some fields are inherited and overridable in each environment.\n- But some are not inherited and must be explicitly specified in every environment, if they are specified at the top level.\n\nFor more information, see the documentation at https://developers.cloudflare.com/workers/cli-wrangler/configuration#environments",
1345
+ "type": "object"
1346
+ },
1347
+ "experimental_services": {
1348
+ "default": "`[]`",
1349
+ "deprecated": "DO NOT USE. We'd added this to test the new service binding system, but the proper way to test experimental features is to use `unsafe.bindings` configuration.",
1350
+ "description": "A list of services that your Worker should be bound to.",
1351
+ "items": {
1352
+ "additionalProperties": false,
1353
+ "properties": {
1354
+ "environment": {
1355
+ "description": "The Service's environment",
1356
+ "type": "string"
1357
+ },
1358
+ "name": {
1359
+ "description": "The binding name used to refer to the Service",
1360
+ "type": "string"
1361
+ },
1362
+ "service": {
1363
+ "description": "The name of the Service being bound",
1364
+ "type": "string"
1365
+ }
1366
+ },
1367
+ "required": [
1368
+ "name",
1369
+ "service",
1370
+ "environment"
1371
+ ],
1372
+ "type": "object"
1373
+ },
1374
+ "type": "array"
1375
+ },
1376
+ "find_additional_modules": {
1377
+ "description": "If true then Wrangler will traverse the file tree below `base_dir`; Any files that match `rules` will be included in the deployed Worker. Defaults to true if `no_bundle` is true, otherwise false.",
1378
+ "type": "boolean"
1379
+ },
1380
+ "first_party_worker": {
1381
+ "description": "Designates this Worker as an internal-only \"first-party\" Worker.",
1382
+ "type": "boolean"
1383
+ },
1384
+ "hyperdrive": {
1385
+ "default": "`[]`",
1386
+ "description": "Specifies Hyperdrive configs that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1387
+ "items": {
1388
+ "additionalProperties": false,
1389
+ "properties": {
1390
+ "binding": {
1391
+ "description": "The binding name used to refer to the project in the Worker.",
1392
+ "type": "string"
1393
+ },
1394
+ "id": {
1395
+ "description": "The id of the database.",
1396
+ "type": "string"
1397
+ },
1398
+ "localConnectionString": {
1399
+ "description": "The local database connection string for `wrangler dev`",
1400
+ "type": "string"
1401
+ }
1402
+ },
1403
+ "required": [
1404
+ "binding",
1405
+ "id"
1406
+ ],
1407
+ "type": "object"
1408
+ },
1409
+ "type": "array"
1410
+ },
1411
+ "jsx_factory": {
1412
+ "default": "`\"React.createElement\"`",
1413
+ "description": "The function to use to replace jsx syntax.",
1414
+ "type": "string"
1415
+ },
1416
+ "jsx_fragment": {
1417
+ "default": "`\"React.Fragment\"`",
1418
+ "description": "The function to use to replace jsx fragment syntax.",
1419
+ "type": "string"
1420
+ },
1421
+ "keep_vars": {
1422
+ "default": false,
1423
+ "description": "By default, wrangler.toml is the source of truth for your environment configuration, like a terraform file.\n\nIf you change your vars in the dashboard, wrangler *will* override/delete them on its next deploy.\n\nIf you want to keep your dashboard vars when wrangler deploys, set this field to true.",
1424
+ "type": "boolean"
1425
+ },
1426
+ "kv-namespaces": {
1427
+ "deprecated": "DO NOT USE. This was a legacy bug from Wrangler v1, that we do not want to support.",
1428
+ "description": "Legacy way of defining KVNamespaces that is no longer supported.",
1429
+ "type": "string"
1430
+ },
1431
+ "kv_namespaces": {
1432
+ "default": "`[]`",
1433
+ "description": "These specify any Workers KV Namespaces you want to access from inside your Worker.\n\nTo learn more about KV Namespaces, see the documentation at https://developers.cloudflare.com/workers/learning/how-kv-works\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1434
+ "items": {
1435
+ "additionalProperties": false,
1436
+ "properties": {
1437
+ "binding": {
1438
+ "description": "The binding name used to refer to the KV Namespace",
1439
+ "type": "string"
1440
+ },
1441
+ "id": {
1442
+ "description": "The ID of the KV namespace",
1443
+ "type": "string"
1444
+ },
1445
+ "preview_id": {
1446
+ "description": "The ID of the KV namespace used during `wrangler dev`",
1447
+ "type": "string"
1448
+ }
1449
+ },
1450
+ "required": [
1451
+ "binding",
1452
+ "id"
1453
+ ],
1454
+ "type": "object"
1455
+ },
1456
+ "type": "array"
1457
+ },
1458
+ "legacy_assets": {
1459
+ "anyOf": [
1460
+ {
1461
+ "additionalProperties": false,
1462
+ "properties": {
1463
+ "browser_TTL": {
1464
+ "type": "number"
1465
+ },
1466
+ "bucket": {
1467
+ "type": "string"
1468
+ },
1469
+ "exclude": {
1470
+ "items": {
1471
+ "type": "string"
1472
+ },
1473
+ "type": "array"
1474
+ },
1475
+ "include": {
1476
+ "items": {
1477
+ "type": "string"
1478
+ },
1479
+ "type": "array"
1480
+ },
1481
+ "serve_single_page_app": {
1482
+ "type": "boolean"
1483
+ }
1484
+ },
1485
+ "required": [
1486
+ "bucket",
1487
+ "include",
1488
+ "exclude",
1489
+ "serve_single_page_app"
1490
+ ],
1491
+ "type": "object"
1492
+ },
1493
+ {
1494
+ "type": "string"
1495
+ }
1496
+ ],
1497
+ "description": "Old behaviour of serving a folder of static assets with your Worker, without any additional code. This can either be a string, or an object with additional config fields. Will be deprecated in the near future in favor of `assets`."
1498
+ },
1499
+ "legacy_env": {
1500
+ "description": "A boolean to enable \"legacy\" style wrangler environments (from Wrangler v1). These have been superseded by Services, but there may be projects that won't (or can't) use them. If you're using a legacy environment, you can set this to `true` to enable it.",
1501
+ "type": "boolean"
1502
+ },
1503
+ "limits": {
1504
+ "$ref": "#/definitions/UserLimits",
1505
+ "description": "Specify limits for runtime behavior. Only supported for the \"standard\" Usage Model"
1506
+ },
1507
+ "logfwdr": {
1508
+ "additionalProperties": false,
1509
+ "default": "`{bindings:[]}`",
1510
+ "description": "List of bindings that you will send to logfwdr",
1511
+ "properties": {
1512
+ "bindings": {
1513
+ "items": {
1514
+ "additionalProperties": false,
1515
+ "properties": {
1516
+ "destination": {
1517
+ "description": "The destination for this logged message",
1518
+ "type": "string"
1519
+ },
1520
+ "name": {
1521
+ "description": "The binding name used to refer to logfwdr",
1522
+ "type": "string"
1523
+ }
1524
+ },
1525
+ "required": [
1526
+ "name",
1527
+ "destination"
1528
+ ],
1529
+ "type": "object"
1530
+ },
1531
+ "type": "array"
1532
+ }
1533
+ },
1534
+ "required": [
1535
+ "bindings"
1536
+ ],
1537
+ "type": "object"
1538
+ },
1539
+ "logpush": {
1540
+ "description": "Send Trace Events from this Worker to Workers Logpush.\n\nThis will not configure a corresponding Logpush job automatically.\n\nFor more information about Workers Logpush, see: https://blog.cloudflare.com/logpush-for-workers/",
1541
+ "type": "boolean"
1542
+ },
1543
+ "main": {
1544
+ "description": "The entrypoint/path to the JavaScript file that will be executed.",
1545
+ "type": "string"
1546
+ },
1547
+ "migrations": {
1548
+ "default": [],
1549
+ "description": "A list of migrations that should be uploaded with your Worker.\n\nThese define changes in your Durable Object declarations.\n\nMore details at https://developers.cloudflare.com/workers/learning/using-durable-objects#configuring-durable-object-classes-with-migrations",
1550
+ "items": {
1551
+ "$ref": "#/definitions/DurableObjectMigration"
1552
+ },
1553
+ "type": "array"
1554
+ },
1555
+ "miniflare": {
1556
+ "deprecated": true,
1557
+ "description": "Configuration only used by a standalone use of the miniflare binary."
1558
+ },
1559
+ "minify": {
1560
+ "description": "Minify the script before uploading.",
1561
+ "type": "boolean"
1562
+ },
1563
+ "mtls_certificates": {
1564
+ "default": "`[]`",
1565
+ "description": "Specifies a list of mTLS certificates that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1566
+ "items": {
1567
+ "additionalProperties": false,
1568
+ "properties": {
1569
+ "binding": {
1570
+ "description": "The binding name used to refer to the certificate in the Worker",
1571
+ "type": "string"
1572
+ },
1573
+ "certificate_id": {
1574
+ "description": "The uuid of the uploaded mTLS certificate",
1575
+ "type": "string"
1576
+ }
1577
+ },
1578
+ "required": [
1579
+ "binding",
1580
+ "certificate_id"
1581
+ ],
1582
+ "type": "object"
1583
+ },
1584
+ "type": "array"
1585
+ },
1586
+ "name": {
1587
+ "description": "The name of your Worker. Alphanumeric + dashes only.",
1588
+ "type": "string"
1589
+ },
1590
+ "no_bundle": {
1591
+ "description": "Skip internal build steps and directly deploy script",
1592
+ "type": "boolean"
1593
+ },
1594
+ "node_compat": {
1595
+ "description": "Add polyfills for node builtin modules and globals",
1596
+ "type": "boolean"
1597
+ },
1598
+ "observability": {
1599
+ "$ref": "#/definitions/Observability",
1600
+ "description": "Specify the observability behavior of the Worker."
1601
+ },
1602
+ "pages_build_output_dir": {
1603
+ "description": "The directory of static assets to serve.\n\nThe presence of this field in `wrangler.toml` indicates a Pages project, and will prompt the handling of the configuration file according to the Pages-specific validation rules.",
1604
+ "type": "string"
1605
+ },
1606
+ "pipelines": {
1607
+ "default": "`[]`",
1608
+ "description": "Specifies list of Pipelines bound to this Worker environment\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1609
+ "items": {
1610
+ "additionalProperties": false,
1611
+ "properties": {
1612
+ "binding": {
1613
+ "description": "The binding name used to refer to the bound service.",
1614
+ "type": "string"
1615
+ },
1616
+ "pipeline": {
1617
+ "description": "Name of the Pipeline to bind",
1618
+ "type": "string"
1619
+ }
1620
+ },
1621
+ "required": [
1622
+ "binding",
1623
+ "pipeline"
1624
+ ],
1625
+ "type": "object"
1626
+ },
1627
+ "type": "array"
1628
+ },
1629
+ "placement": {
1630
+ "additionalProperties": false,
1631
+ "description": "Specify how the Worker should be located to minimize round-trip time.\n\nMore details: https://developers.cloudflare.com/workers/platform/smart-placement/",
1632
+ "properties": {
1633
+ "hint": {
1634
+ "type": "string"
1635
+ },
1636
+ "mode": {
1637
+ "enum": [
1638
+ "off",
1639
+ "smart"
1640
+ ],
1641
+ "type": "string"
1642
+ }
1643
+ },
1644
+ "required": [
1645
+ "mode"
1646
+ ],
1647
+ "type": "object"
1648
+ },
1649
+ "preserve_file_names": {
1650
+ "description": "Determines whether Wrangler will preserve bundled file names. Defaults to false. If left unset, files will be named using the pattern ${fileHash}-${basename}, for example, `34de60b44167af5c5a709e62a4e20c4f18c9e3b6-favicon.ico`.",
1651
+ "type": "boolean"
1652
+ },
1653
+ "queues": {
1654
+ "additionalProperties": false,
1655
+ "default": "`{consumers:[],producers:[]}`",
1656
+ "description": "Specifies Queues that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1657
+ "properties": {
1658
+ "consumers": {
1659
+ "description": "Consumer configuration",
1660
+ "items": {
1661
+ "additionalProperties": false,
1662
+ "properties": {
1663
+ "dead_letter_queue": {
1664
+ "description": "The queue to send messages that failed to be consumed.",
1665
+ "type": "string"
1666
+ },
1667
+ "max_batch_size": {
1668
+ "description": "The maximum number of messages per batch",
1669
+ "type": "number"
1670
+ },
1671
+ "max_batch_timeout": {
1672
+ "description": "The maximum number of seconds to wait to fill a batch with messages.",
1673
+ "type": "number"
1674
+ },
1675
+ "max_concurrency": {
1676
+ "description": "The maximum number of concurrent consumer Worker invocations. Leaving this unset will allow your consumer to scale to the maximum concurrency needed to keep up with the message backlog.",
1677
+ "type": [
1678
+ "number",
1679
+ "null"
1680
+ ]
1681
+ },
1682
+ "max_retries": {
1683
+ "description": "The maximum number of retries for each message.",
1684
+ "type": "number"
1685
+ },
1686
+ "queue": {
1687
+ "description": "The name of the queue from which this consumer should consume.",
1688
+ "type": "string"
1689
+ },
1690
+ "retry_delay": {
1691
+ "description": "The number of seconds to wait before retrying a message",
1692
+ "type": "number"
1693
+ },
1694
+ "type": {
1695
+ "description": "The consumer type, e.g., worker, http-pull, r2-bucket, etc. Default is worker.",
1696
+ "type": "string"
1697
+ },
1698
+ "visibility_timeout_ms": {
1699
+ "description": "The number of milliseconds to wait for pulled messages to become visible again",
1700
+ "type": "number"
1701
+ }
1702
+ },
1703
+ "required": [
1704
+ "queue"
1705
+ ],
1706
+ "type": "object"
1707
+ },
1708
+ "type": "array"
1709
+ },
1710
+ "producers": {
1711
+ "description": "Producer bindings",
1712
+ "items": {
1713
+ "additionalProperties": false,
1714
+ "properties": {
1715
+ "binding": {
1716
+ "description": "The binding name used to refer to the Queue in the Worker.",
1717
+ "type": "string"
1718
+ },
1719
+ "delivery_delay": {
1720
+ "description": "The number of seconds to wait before delivering a message",
1721
+ "type": "number"
1722
+ },
1723
+ "queue": {
1724
+ "description": "The name of this Queue.",
1725
+ "type": "string"
1726
+ }
1727
+ },
1728
+ "required": [
1729
+ "binding",
1730
+ "queue"
1731
+ ],
1732
+ "type": "object"
1733
+ },
1734
+ "type": "array"
1735
+ }
1736
+ },
1737
+ "type": "object"
1738
+ },
1739
+ "r2_buckets": {
1740
+ "default": "`[]`",
1741
+ "description": "Specifies R2 buckets that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1742
+ "items": {
1743
+ "additionalProperties": false,
1744
+ "properties": {
1745
+ "binding": {
1746
+ "description": "The binding name used to refer to the R2 bucket in the Worker.",
1747
+ "type": "string"
1748
+ },
1749
+ "bucket_name": {
1750
+ "description": "The name of this R2 bucket at the edge.",
1751
+ "type": "string"
1752
+ },
1753
+ "jurisdiction": {
1754
+ "description": "The jurisdiction that the bucket exists in. Default if not present.",
1755
+ "type": "string"
1756
+ },
1757
+ "preview_bucket_name": {
1758
+ "description": "The preview name of this R2 bucket at the edge.",
1759
+ "type": "string"
1760
+ }
1761
+ },
1762
+ "required": [
1763
+ "binding",
1764
+ "bucket_name"
1765
+ ],
1766
+ "type": "object"
1767
+ },
1768
+ "type": "array"
1769
+ },
1770
+ "route": {
1771
+ "$ref": "#/definitions/Route",
1772
+ "description": "A route that your Worker should be published to. Literally the same as routes, but only one. Only one of `routes` or `route` is required.\n\nOnly required when workers_dev is false, and there's no scheduled Worker"
1773
+ },
1774
+ "routes": {
1775
+ "description": "A list of routes that your Worker should be published to. Only one of `routes` or `route` is required.\n\nOnly required when workers_dev is false, and there's no scheduled Worker (see `triggers`)",
1776
+ "items": {
1777
+ "$ref": "#/definitions/Route"
1778
+ },
1779
+ "type": "array"
1780
+ },
1781
+ "rules": {
1782
+ "description": "An ordered list of rules that define which modules to import, and what type to import them as. You will need to specify rules to use Text, Data, and CompiledWasm modules, or when you wish to have a .js file be treated as an ESModule instead of CommonJS.",
1783
+ "items": {
1784
+ "$ref": "#/definitions/Rule"
1785
+ },
1786
+ "type": "array"
1787
+ },
1788
+ "send_email": {
1789
+ "default": "`[]`",
1790
+ "description": "These specify bindings to send email from inside your Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1791
+ "items": {
1792
+ "additionalProperties": false,
1793
+ "properties": {
1794
+ "allowed_destination_addresses": {
1795
+ "description": "If this binding should be restricted to a set of verified addresses",
1796
+ "items": {
1797
+ "type": "string"
1798
+ },
1799
+ "type": "array"
1800
+ },
1801
+ "destination_address": {
1802
+ "description": "If this binding should be restricted to a specific verified address",
1803
+ "type": "string"
1804
+ },
1805
+ "name": {
1806
+ "description": "The binding name used to refer to the this binding",
1807
+ "type": "string"
1808
+ }
1809
+ },
1810
+ "required": [
1811
+ "name"
1812
+ ],
1813
+ "type": "object"
1814
+ },
1815
+ "type": "array"
1816
+ },
1817
+ "send_metrics": {
1818
+ "description": "Whether Wrangler should send usage metrics to Cloudflare for this project.\n\nWhen defined this will override any user settings. Otherwise, Wrangler will use the user's preference.",
1819
+ "type": "boolean"
1820
+ },
1821
+ "services": {
1822
+ "default": "`[]`",
1823
+ "description": "Specifies service bindings (Worker-to-Worker) that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1824
+ "items": {
1825
+ "additionalProperties": false,
1826
+ "properties": {
1827
+ "binding": {
1828
+ "description": "The binding name used to refer to the bound service.",
1829
+ "type": "string"
1830
+ },
1831
+ "entrypoint": {
1832
+ "description": "Optionally, the entrypoint (named export) of the service to bind to.",
1833
+ "type": "string"
1834
+ },
1835
+ "environment": {
1836
+ "description": "The environment of the service (e.g. production, staging, etc).",
1837
+ "type": "string"
1838
+ },
1839
+ "service": {
1840
+ "description": "The name of the service.",
1841
+ "type": "string"
1842
+ }
1843
+ },
1844
+ "required": [
1845
+ "binding",
1846
+ "service"
1847
+ ],
1848
+ "type": "object"
1849
+ },
1850
+ "type": "array"
1851
+ },
1852
+ "site": {
1853
+ "additionalProperties": false,
1854
+ "description": "The definition of a Worker Site, a feature that lets you upload static assets with your Worker.\n\nMore details at https://developers.cloudflare.com/workers/platform/sites",
1855
+ "properties": {
1856
+ "bucket": {
1857
+ "description": "The directory containing your static assets.\n\nIt must be a path relative to your wrangler.toml file. Example: bucket = \"./public\"\n\nIf there is a `site` field then it must contain this `bucket` field.",
1858
+ "type": "string"
1859
+ },
1860
+ "entry-point": {
1861
+ "deprecated": "DO NOT use this (it's a holdover from Wrangler v1.x). Either use the top level `main` field, or pass the path to your entry file as a command line argument.",
1862
+ "description": "The location of your Worker script.",
1863
+ "type": "string"
1864
+ },
1865
+ "exclude": {
1866
+ "default": [],
1867
+ "description": "A list of .gitignore-style patterns that match files or directories in your bucket that should be excluded from uploads. Example: exclude = [\"ignore_dir\"]",
1868
+ "items": {
1869
+ "type": "string"
1870
+ },
1871
+ "type": "array"
1872
+ },
1873
+ "include": {
1874
+ "default": [],
1875
+ "description": "An exclusive list of .gitignore-style patterns that match file or directory names from your bucket location. Only matched items will be uploaded. Example: include = [\"upload_dir\"]",
1876
+ "items": {
1877
+ "type": "string"
1878
+ },
1879
+ "type": "array"
1880
+ }
1881
+ },
1882
+ "required": [
1883
+ "bucket"
1884
+ ],
1885
+ "type": "object"
1886
+ },
1887
+ "tail_consumers": {
1888
+ "default": "`[]`",
1889
+ "description": "Specifies a list of Tail Workers that are bound to this Worker environment\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1890
+ "items": {
1891
+ "$ref": "#/definitions/TailConsumer"
1892
+ },
1893
+ "type": "array"
1894
+ },
1895
+ "text_blobs": {
1896
+ "additionalProperties": {
1897
+ "type": "string"
1898
+ },
1899
+ "description": "A list of text files that your worker should be bound to. This is the \"legacy\" way of binding to a text file. ES module workers should do proper module imports.",
1900
+ "type": "object"
1901
+ },
1902
+ "triggers": {
1903
+ "additionalProperties": false,
1904
+ "default": "`{crons:[]}`",
1905
+ "description": "\"Cron\" definitions to trigger a Worker's \"scheduled\" function.\n\nLets you call Workers periodically, much like a cron job.\n\nMore details here https://developers.cloudflare.com/workers/platform/cron-triggers",
1906
+ "properties": {
1907
+ "crons": {
1908
+ "items": {
1909
+ "type": "string"
1910
+ },
1911
+ "type": "array"
1912
+ }
1913
+ },
1914
+ "required": [
1915
+ "crons"
1916
+ ],
1917
+ "type": "object"
1918
+ },
1919
+ "tsconfig": {
1920
+ "description": "Path to a custom tsconfig",
1921
+ "type": "string"
1922
+ },
1923
+ "type": {
1924
+ "deprecated": "DO NOT USE THIS. Most common features now work out of the box with wrangler, including modules, jsx, typescript, etc. If you need anything more, use a custom build.",
1925
+ "description": "The project \"type\". A holdover from Wrangler v1.x. Valid values were \"webpack\", \"javascript\", and \"rust\".",
1926
+ "enum": [
1927
+ "webpack",
1928
+ "javascript",
1929
+ "rust"
1930
+ ],
1931
+ "type": "string"
1932
+ },
1933
+ "unsafe": {
1934
+ "additionalProperties": false,
1935
+ "default": "`{}`",
1936
+ "description": "\"Unsafe\" tables for features that aren't directly supported by wrangler.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1937
+ "properties": {
1938
+ "bindings": {
1939
+ "description": "A set of bindings that should be put into a Worker's upload metadata without changes. These can be used to implement bindings for features that haven't released and aren't supported directly by wrangler or miniflare.",
1940
+ "items": {
1941
+ "additionalProperties": {},
1942
+ "properties": {
1943
+ "name": {
1944
+ "type": "string"
1945
+ },
1946
+ "type": {
1947
+ "type": "string"
1948
+ }
1949
+ },
1950
+ "required": [
1951
+ "name",
1952
+ "type"
1953
+ ],
1954
+ "type": "object"
1955
+ },
1956
+ "type": "array"
1957
+ },
1958
+ "capnp": {
1959
+ "anyOf": [
1960
+ {
1961
+ "additionalProperties": false,
1962
+ "properties": {
1963
+ "base_path": {
1964
+ "type": "string"
1965
+ },
1966
+ "source_schemas": {
1967
+ "items": {
1968
+ "type": "string"
1969
+ },
1970
+ "type": "array"
1971
+ }
1972
+ },
1973
+ "required": [
1974
+ "base_path",
1975
+ "source_schemas"
1976
+ ],
1977
+ "type": "object"
1978
+ },
1979
+ {
1980
+ "additionalProperties": false,
1981
+ "properties": {
1982
+ "compiled_schema": {
1983
+ "type": "string"
1984
+ }
1985
+ },
1986
+ "required": [
1987
+ "compiled_schema"
1988
+ ],
1989
+ "type": "object"
1990
+ }
1991
+ ],
1992
+ "description": "Used for internal capnp uploads for the Workers runtime"
1993
+ },
1994
+ "metadata": {
1995
+ "additionalProperties": {},
1996
+ "description": "Arbitrary key/value pairs that will be included in the uploaded metadata. Values specified here will always be applied to metadata last, so can add new or override existing fields.",
1997
+ "type": "object"
1998
+ }
1999
+ },
2000
+ "type": "object"
2001
+ },
2002
+ "upload_source_maps": {
2003
+ "description": "Include source maps when uploading this worker.",
2004
+ "type": "boolean"
2005
+ },
2006
+ "usage_model": {
2007
+ "description": "Specifies the Usage Model for your Worker. There are two options - [bundled](https://developers.cloudflare.com/workers/platform/limits#bundled-usage-model) and [unbound](https://developers.cloudflare.com/workers/platform/limits#unbound-usage-model). For newly created Workers, if the Usage Model is omitted it will be set to the [default Usage Model set on the account](https://dash.cloudflare.com/?account=workers/default-usage-model). For existing Workers, if the Usage Model is omitted, it will be set to the Usage Model configured in the dashboard for that Worker.",
2008
+ "enum": [
2009
+ "bundled",
2010
+ "unbound"
2011
+ ],
2012
+ "type": "string"
2013
+ },
2014
+ "vars": {
2015
+ "additionalProperties": {
2016
+ "anyOf": [
2017
+ {
2018
+ "type": "string"
2019
+ },
2020
+ {
2021
+ "$ref": "#/definitions/Json"
2022
+ }
2023
+ ]
2024
+ },
2025
+ "default": "`{}`",
2026
+ "description": "A map of environment variables to set when deploying your Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2027
+ "type": "object"
2028
+ },
2029
+ "vectorize": {
2030
+ "default": "`[]`",
2031
+ "description": "Specifies Vectorize indexes that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2032
+ "items": {
2033
+ "additionalProperties": false,
2034
+ "properties": {
2035
+ "binding": {
2036
+ "description": "The binding name used to refer to the Vectorize index in the Worker.",
2037
+ "type": "string"
2038
+ },
2039
+ "index_name": {
2040
+ "description": "The name of the index.",
2041
+ "type": "string"
2042
+ }
2043
+ },
2044
+ "required": [
2045
+ "binding",
2046
+ "index_name"
2047
+ ],
2048
+ "type": "object"
2049
+ },
2050
+ "type": "array"
2051
+ },
2052
+ "version_metadata": {
2053
+ "additionalProperties": false,
2054
+ "description": "Binding to the Worker Version's metadata",
2055
+ "properties": {
2056
+ "binding": {
2057
+ "type": "string"
2058
+ }
2059
+ },
2060
+ "required": [
2061
+ "binding"
2062
+ ],
2063
+ "type": "object"
2064
+ },
2065
+ "wasm_modules": {
2066
+ "additionalProperties": {
2067
+ "type": "string"
2068
+ },
2069
+ "description": "A list of wasm modules that your worker should be bound to. This is the \"legacy\" way of binding to a wasm module. ES module workers should do proper module imports.",
2070
+ "type": "object"
2071
+ },
2072
+ "webpack_config": {
2073
+ "deprecated": "DO NOT USE THIS. Most common features now work out of the box with wrangler, including modules, jsx, typescript, etc. If you need anything more, use a custom build.",
2074
+ "description": "Path to the webpack config to use when building your worker. A holdover from Wrangler v1.x, used with `type: \"webpack\"`.",
2075
+ "type": "string"
2076
+ },
2077
+ "workers_dev": {
2078
+ "default": "`true` (This is a breaking change from Wrangler v1)",
2079
+ "description": "Whether we use <name>.<subdomain>.workers.dev to test and deploy your Worker.\n\n// Carmen according to our tests the default is undefined // warning: you must force \"workers_dev: true\" in tests to match expected behavior",
2080
+ "type": "boolean"
2081
+ },
2082
+ "workflows": {
2083
+ "default": "`[]`",
2084
+ "description": "A list of workflows that your Worker should be bound to.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2085
+ "items": {
2086
+ "$ref": "#/definitions/WorkflowBinding"
2087
+ },
2088
+ "type": "array"
2089
+ },
2090
+ "zone_id": {
2091
+ "description": "TODO: remove this as it has been deprecated.\n\nThis is just here for now because the `route` commands use it. So we need to include it in this type so it is available.",
2092
+ "type": "string"
2093
+ }
2094
+ },
2095
+ "type": "object"
2096
+ },
2097
+ "RawDevConfig": {
2098
+ "additionalProperties": false,
2099
+ "properties": {
2100
+ "host": {
2101
+ "description": "Host to forward requests to, defaults to the host of the first route of project",
2102
+ "type": "string"
2103
+ },
2104
+ "inspector_port": {
2105
+ "default": 9229,
2106
+ "description": "Port for the local dev server's inspector to listen on",
2107
+ "type": "number"
2108
+ },
2109
+ "ip": {
2110
+ "default": "localhost",
2111
+ "description": "IP address for the local dev server to listen on,",
2112
+ "type": "string"
2113
+ },
2114
+ "local_protocol": {
2115
+ "default": "http",
2116
+ "description": "Protocol that local wrangler dev server listens to requests on.",
2117
+ "enum": [
2118
+ "http",
2119
+ "https"
2120
+ ],
2121
+ "type": "string"
2122
+ },
2123
+ "port": {
2124
+ "default": 8787,
2125
+ "description": "Port for the local dev server to listen on",
2126
+ "type": "number"
2127
+ },
2128
+ "upstream_protocol": {
2129
+ "default": "https",
2130
+ "description": "Protocol that wrangler dev forwards requests on\n\nSetting this to `http` is not currently implemented for remote mode. See https://github.com/cloudflare/workers-sdk/issues/583",
2131
+ "enum": [
2132
+ "https",
2133
+ "http"
2134
+ ],
2135
+ "type": "string"
2136
+ }
2137
+ },
2138
+ "type": "object"
2139
+ },
2140
+ "RawEnvironment": {
2141
+ "additionalProperties": false,
2142
+ "description": "The raw environment configuration that we read from the config file.\n\nAll the properties are optional, and will be replaced with defaults in the configuration that is used in the rest of the codebase.",
2143
+ "properties": {
2144
+ "account_id": {
2145
+ "description": "This is the ID of the account associated with your zone. You might have more than one account, so make sure to use the ID of the account associated with the zone/route you provide, if you provide one. It can also be specified through the CLOUDFLARE_ACCOUNT_ID environment variable.",
2146
+ "type": "string"
2147
+ },
2148
+ "ai": {
2149
+ "additionalProperties": false,
2150
+ "default": "`{}`",
2151
+ "description": "Binding to the AI project.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2152
+ "properties": {
2153
+ "binding": {
2154
+ "type": "string"
2155
+ },
2156
+ "staging": {
2157
+ "type": "boolean"
2158
+ }
2159
+ },
2160
+ "required": [
2161
+ "binding"
2162
+ ],
2163
+ "type": "object"
2164
+ },
2165
+ "analytics_engine_datasets": {
2166
+ "default": "`[]`",
2167
+ "description": "Specifies analytics engine datasets that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2168
+ "items": {
2169
+ "additionalProperties": false,
2170
+ "properties": {
2171
+ "binding": {
2172
+ "description": "The binding name used to refer to the dataset in the Worker.",
2173
+ "type": "string"
2174
+ },
2175
+ "dataset": {
2176
+ "description": "The name of this dataset to write to.",
2177
+ "type": "string"
2178
+ }
2179
+ },
2180
+ "required": [
2181
+ "binding"
2182
+ ],
2183
+ "type": "object"
2184
+ },
2185
+ "type": "array"
2186
+ },
2187
+ "assets": {
2188
+ "$ref": "#/definitions/Assets",
2189
+ "description": "Specify the directory of static assets to deploy/serve\n\nMore details at https://developers.cloudflare.com/workers/frameworks/"
2190
+ },
2191
+ "base_dir": {
2192
+ "description": "The directory in which module rules should be evaluated when including additional files into a Worker deployment. This defaults to the directory containing the `main` entry point of the Worker if not specified.",
2193
+ "type": "string"
2194
+ },
2195
+ "browser": {
2196
+ "additionalProperties": false,
2197
+ "default": "`{}`",
2198
+ "description": "A browser that will be usable from the Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2199
+ "properties": {
2200
+ "binding": {
2201
+ "type": "string"
2202
+ }
2203
+ },
2204
+ "required": [
2205
+ "binding"
2206
+ ],
2207
+ "type": "object"
2208
+ },
2209
+ "build": {
2210
+ "additionalProperties": false,
2211
+ "default": {
2212
+ "watch_dir": "./src"
2213
+ },
2214
+ "description": "Configures a custom build step to be run by Wrangler when building your Worker.\n\nRefer to the [custom builds documentation](https://developers.cloudflare.com/workers/cli-wrangler/configuration#build) for more details.",
2215
+ "properties": {
2216
+ "command": {
2217
+ "description": "The command used to build your Worker. On Linux and macOS, the command is executed in the `sh` shell and the `cmd` shell for Windows. The `&&` and `||` shell operators may be used.",
2218
+ "type": "string"
2219
+ },
2220
+ "cwd": {
2221
+ "description": "The directory in which the command is executed.",
2222
+ "type": "string"
2223
+ },
2224
+ "upload": {
2225
+ "$ref": "#/definitions/DeprecatedUpload",
2226
+ "deprecated": true,
2227
+ "description": "Deprecated field previously used to configure the build and upload of the script."
2228
+ },
2229
+ "watch_dir": {
2230
+ "anyOf": [
2231
+ {
2232
+ "type": "string"
2233
+ },
2234
+ {
2235
+ "items": {
2236
+ "type": "string"
2237
+ },
2238
+ "type": "array"
2239
+ }
2240
+ ],
2241
+ "description": "The directory to watch for changes while using wrangler dev, defaults to the current working directory"
2242
+ }
2243
+ },
2244
+ "type": "object"
2245
+ },
2246
+ "cloudchamber": {
2247
+ "$ref": "#/definitions/CloudchamberConfig",
2248
+ "default": "`{}`",
2249
+ "description": "Cloudchamber configuration\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment."
2250
+ },
2251
+ "compatibility_date": {
2252
+ "description": "A date in the form yyyy-mm-dd, which will be used to determine which version of the Workers runtime is used.\n\nMore details at https://developers.cloudflare.com/workers/platform/compatibility-dates",
2253
+ "type": "string"
2254
+ },
2255
+ "compatibility_flags": {
2256
+ "default": "`[]`",
2257
+ "description": "A list of flags that enable features from upcoming features of the Workers runtime, usually used together with compatibility_flags.\n\nMore details at https://developers.cloudflare.com/workers/platform/compatibility-dates",
2258
+ "items": {
2259
+ "type": "string"
2260
+ },
2261
+ "type": "array"
2262
+ },
2263
+ "d1_databases": {
2264
+ "default": "`[]`",
2265
+ "description": "Specifies D1 databases that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2266
+ "items": {
2267
+ "additionalProperties": false,
2268
+ "properties": {
2269
+ "binding": {
2270
+ "description": "The binding name used to refer to the D1 database in the Worker.",
2271
+ "type": "string"
2272
+ },
2273
+ "database_id": {
2274
+ "description": "The UUID of this D1 database (not required).",
2275
+ "type": "string"
2276
+ },
2277
+ "database_internal_env": {
2278
+ "description": "Internal use only.",
2279
+ "type": "string"
2280
+ },
2281
+ "database_name": {
2282
+ "description": "The name of this D1 database.",
2283
+ "type": "string"
2284
+ },
2285
+ "migrations_dir": {
2286
+ "description": "The path to the directory of migrations for this D1 database (defaults to './migrations').",
2287
+ "type": "string"
2288
+ },
2289
+ "migrations_table": {
2290
+ "description": "The name of the migrations table for this D1 database (defaults to 'd1_migrations').",
2291
+ "type": "string"
2292
+ },
2293
+ "preview_database_id": {
2294
+ "description": "The UUID of this D1 database for Wrangler Dev (if specified).",
2295
+ "type": "string"
2296
+ }
2297
+ },
2298
+ "required": [
2299
+ "binding",
2300
+ "database_name",
2301
+ "database_id"
2302
+ ],
2303
+ "type": "object"
2304
+ },
2305
+ "type": "array"
2306
+ },
2307
+ "define": {
2308
+ "additionalProperties": {
2309
+ "type": "string"
2310
+ },
2311
+ "default": "`{}`",
2312
+ "description": "A map of values to substitute when deploying your Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2313
+ "type": "object"
2314
+ },
2315
+ "dispatch_namespaces": {
2316
+ "default": "`[]`",
2317
+ "description": "Specifies namespace bindings that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2318
+ "items": {
2319
+ "additionalProperties": false,
2320
+ "properties": {
2321
+ "binding": {
2322
+ "description": "The binding name used to refer to the bound service.",
2323
+ "type": "string"
2324
+ },
2325
+ "namespace": {
2326
+ "description": "The namespace to bind to.",
2327
+ "type": "string"
2328
+ },
2329
+ "outbound": {
2330
+ "$ref": "#/definitions/DispatchNamespaceOutbound",
2331
+ "description": "Details about the outbound Worker which will handle outbound requests from your namespace"
2332
+ }
2333
+ },
2334
+ "required": [
2335
+ "binding",
2336
+ "namespace"
2337
+ ],
2338
+ "type": "object"
2339
+ },
2340
+ "type": "array"
2341
+ },
2342
+ "durable_objects": {
2343
+ "additionalProperties": false,
2344
+ "default": "`{bindings:[]}`",
2345
+ "description": "A list of durable objects that your Worker should be bound to.\n\nFor more information about Durable Objects, see the documentation at https://developers.cloudflare.com/workers/learning/using-durable-objects\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2346
+ "properties": {
2347
+ "bindings": {
2348
+ "$ref": "#/definitions/DurableObjectBindings"
2349
+ }
2350
+ },
2351
+ "required": [
2352
+ "bindings"
2353
+ ],
2354
+ "type": "object"
2355
+ },
2356
+ "experimental_services": {
2357
+ "default": "`[]`",
2358
+ "deprecated": "DO NOT USE. We'd added this to test the new service binding system, but the proper way to test experimental features is to use `unsafe.bindings` configuration.",
2359
+ "description": "A list of services that your Worker should be bound to.",
2360
+ "items": {
2361
+ "additionalProperties": false,
2362
+ "properties": {
2363
+ "environment": {
2364
+ "description": "The Service's environment",
2365
+ "type": "string"
2366
+ },
2367
+ "name": {
2368
+ "description": "The binding name used to refer to the Service",
2369
+ "type": "string"
2370
+ },
2371
+ "service": {
2372
+ "description": "The name of the Service being bound",
2373
+ "type": "string"
2374
+ }
2375
+ },
2376
+ "required": [
2377
+ "name",
2378
+ "service",
2379
+ "environment"
2380
+ ],
2381
+ "type": "object"
2382
+ },
2383
+ "type": "array"
2384
+ },
2385
+ "find_additional_modules": {
2386
+ "description": "If true then Wrangler will traverse the file tree below `base_dir`; Any files that match `rules` will be included in the deployed Worker. Defaults to true if `no_bundle` is true, otherwise false.",
2387
+ "type": "boolean"
2388
+ },
2389
+ "first_party_worker": {
2390
+ "description": "Designates this Worker as an internal-only \"first-party\" Worker.",
2391
+ "type": "boolean"
2392
+ },
2393
+ "hyperdrive": {
2394
+ "default": "`[]`",
2395
+ "description": "Specifies Hyperdrive configs that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2396
+ "items": {
2397
+ "additionalProperties": false,
2398
+ "properties": {
2399
+ "binding": {
2400
+ "description": "The binding name used to refer to the project in the Worker.",
2401
+ "type": "string"
2402
+ },
2403
+ "id": {
2404
+ "description": "The id of the database.",
2405
+ "type": "string"
2406
+ },
2407
+ "localConnectionString": {
2408
+ "description": "The local database connection string for `wrangler dev`",
2409
+ "type": "string"
2410
+ }
2411
+ },
2412
+ "required": [
2413
+ "binding",
2414
+ "id"
2415
+ ],
2416
+ "type": "object"
2417
+ },
2418
+ "type": "array"
2419
+ },
2420
+ "jsx_factory": {
2421
+ "default": "`\"React.createElement\"`",
2422
+ "description": "The function to use to replace jsx syntax.",
2423
+ "type": "string"
2424
+ },
2425
+ "jsx_fragment": {
2426
+ "default": "`\"React.Fragment\"`",
2427
+ "description": "The function to use to replace jsx fragment syntax.",
2428
+ "type": "string"
2429
+ },
2430
+ "kv-namespaces": {
2431
+ "deprecated": "DO NOT USE. This was a legacy bug from Wrangler v1, that we do not want to support.",
2432
+ "description": "Legacy way of defining KVNamespaces that is no longer supported.",
2433
+ "type": "string"
2434
+ },
2435
+ "kv_namespaces": {
2436
+ "default": "`[]`",
2437
+ "description": "These specify any Workers KV Namespaces you want to access from inside your Worker.\n\nTo learn more about KV Namespaces, see the documentation at https://developers.cloudflare.com/workers/learning/how-kv-works\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2438
+ "items": {
2439
+ "additionalProperties": false,
2440
+ "properties": {
2441
+ "binding": {
2442
+ "description": "The binding name used to refer to the KV Namespace",
2443
+ "type": "string"
2444
+ },
2445
+ "id": {
2446
+ "description": "The ID of the KV namespace",
2447
+ "type": "string"
2448
+ },
2449
+ "preview_id": {
2450
+ "description": "The ID of the KV namespace used during `wrangler dev`",
2451
+ "type": "string"
2452
+ }
2453
+ },
2454
+ "required": [
2455
+ "binding",
2456
+ "id"
2457
+ ],
2458
+ "type": "object"
2459
+ },
2460
+ "type": "array"
2461
+ },
2462
+ "limits": {
2463
+ "$ref": "#/definitions/UserLimits",
2464
+ "description": "Specify limits for runtime behavior. Only supported for the \"standard\" Usage Model"
2465
+ },
2466
+ "logfwdr": {
2467
+ "additionalProperties": false,
2468
+ "default": "`{bindings:[]}`",
2469
+ "description": "List of bindings that you will send to logfwdr",
2470
+ "properties": {
2471
+ "bindings": {
2472
+ "items": {
2473
+ "additionalProperties": false,
2474
+ "properties": {
2475
+ "destination": {
2476
+ "description": "The destination for this logged message",
2477
+ "type": "string"
2478
+ },
2479
+ "name": {
2480
+ "description": "The binding name used to refer to logfwdr",
2481
+ "type": "string"
2482
+ }
2483
+ },
2484
+ "required": [
2485
+ "name",
2486
+ "destination"
2487
+ ],
2488
+ "type": "object"
2489
+ },
2490
+ "type": "array"
2491
+ }
2492
+ },
2493
+ "required": [
2494
+ "bindings"
2495
+ ],
2496
+ "type": "object"
2497
+ },
2498
+ "logpush": {
2499
+ "description": "Send Trace Events from this Worker to Workers Logpush.\n\nThis will not configure a corresponding Logpush job automatically.\n\nFor more information about Workers Logpush, see: https://blog.cloudflare.com/logpush-for-workers/",
2500
+ "type": "boolean"
2501
+ },
2502
+ "main": {
2503
+ "description": "The entrypoint/path to the JavaScript file that will be executed.",
2504
+ "type": "string"
2505
+ },
2506
+ "migrations": {
2507
+ "default": [],
2508
+ "description": "A list of migrations that should be uploaded with your Worker.\n\nThese define changes in your Durable Object declarations.\n\nMore details at https://developers.cloudflare.com/workers/learning/using-durable-objects#configuring-durable-object-classes-with-migrations",
2509
+ "items": {
2510
+ "$ref": "#/definitions/DurableObjectMigration"
2511
+ },
2512
+ "type": "array"
2513
+ },
2514
+ "minify": {
2515
+ "description": "Minify the script before uploading.",
2516
+ "type": "boolean"
2517
+ },
2518
+ "mtls_certificates": {
2519
+ "default": "`[]`",
2520
+ "description": "Specifies a list of mTLS certificates that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2521
+ "items": {
2522
+ "additionalProperties": false,
2523
+ "properties": {
2524
+ "binding": {
2525
+ "description": "The binding name used to refer to the certificate in the Worker",
2526
+ "type": "string"
2527
+ },
2528
+ "certificate_id": {
2529
+ "description": "The uuid of the uploaded mTLS certificate",
2530
+ "type": "string"
2531
+ }
2532
+ },
2533
+ "required": [
2534
+ "binding",
2535
+ "certificate_id"
2536
+ ],
2537
+ "type": "object"
2538
+ },
2539
+ "type": "array"
2540
+ },
2541
+ "name": {
2542
+ "description": "The name of your Worker. Alphanumeric + dashes only.",
2543
+ "type": "string"
2544
+ },
2545
+ "no_bundle": {
2546
+ "description": "Skip internal build steps and directly deploy script",
2547
+ "type": "boolean"
2548
+ },
2549
+ "node_compat": {
2550
+ "description": "Add polyfills for node builtin modules and globals",
2551
+ "type": "boolean"
2552
+ },
2553
+ "observability": {
2554
+ "$ref": "#/definitions/Observability",
2555
+ "description": "Specify the observability behavior of the Worker."
2556
+ },
2557
+ "pipelines": {
2558
+ "default": "`[]`",
2559
+ "description": "Specifies list of Pipelines bound to this Worker environment\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2560
+ "items": {
2561
+ "additionalProperties": false,
2562
+ "properties": {
2563
+ "binding": {
2564
+ "description": "The binding name used to refer to the bound service.",
2565
+ "type": "string"
2566
+ },
2567
+ "pipeline": {
2568
+ "description": "Name of the Pipeline to bind",
2569
+ "type": "string"
2570
+ }
2571
+ },
2572
+ "required": [
2573
+ "binding",
2574
+ "pipeline"
2575
+ ],
2576
+ "type": "object"
2577
+ },
2578
+ "type": "array"
2579
+ },
2580
+ "placement": {
2581
+ "additionalProperties": false,
2582
+ "description": "Specify how the Worker should be located to minimize round-trip time.\n\nMore details: https://developers.cloudflare.com/workers/platform/smart-placement/",
2583
+ "properties": {
2584
+ "hint": {
2585
+ "type": "string"
2586
+ },
2587
+ "mode": {
2588
+ "enum": [
2589
+ "off",
2590
+ "smart"
2591
+ ],
2592
+ "type": "string"
2593
+ }
2594
+ },
2595
+ "required": [
2596
+ "mode"
2597
+ ],
2598
+ "type": "object"
2599
+ },
2600
+ "preserve_file_names": {
2601
+ "description": "Determines whether Wrangler will preserve bundled file names. Defaults to false. If left unset, files will be named using the pattern ${fileHash}-${basename}, for example, `34de60b44167af5c5a709e62a4e20c4f18c9e3b6-favicon.ico`.",
2602
+ "type": "boolean"
2603
+ },
2604
+ "queues": {
2605
+ "additionalProperties": false,
2606
+ "default": "`{consumers:[],producers:[]}`",
2607
+ "description": "Specifies Queues that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2608
+ "properties": {
2609
+ "consumers": {
2610
+ "description": "Consumer configuration",
2611
+ "items": {
2612
+ "additionalProperties": false,
2613
+ "properties": {
2614
+ "dead_letter_queue": {
2615
+ "description": "The queue to send messages that failed to be consumed.",
2616
+ "type": "string"
2617
+ },
2618
+ "max_batch_size": {
2619
+ "description": "The maximum number of messages per batch",
2620
+ "type": "number"
2621
+ },
2622
+ "max_batch_timeout": {
2623
+ "description": "The maximum number of seconds to wait to fill a batch with messages.",
2624
+ "type": "number"
2625
+ },
2626
+ "max_concurrency": {
2627
+ "description": "The maximum number of concurrent consumer Worker invocations. Leaving this unset will allow your consumer to scale to the maximum concurrency needed to keep up with the message backlog.",
2628
+ "type": [
2629
+ "number",
2630
+ "null"
2631
+ ]
2632
+ },
2633
+ "max_retries": {
2634
+ "description": "The maximum number of retries for each message.",
2635
+ "type": "number"
2636
+ },
2637
+ "queue": {
2638
+ "description": "The name of the queue from which this consumer should consume.",
2639
+ "type": "string"
2640
+ },
2641
+ "retry_delay": {
2642
+ "description": "The number of seconds to wait before retrying a message",
2643
+ "type": "number"
2644
+ },
2645
+ "type": {
2646
+ "description": "The consumer type, e.g., worker, http-pull, r2-bucket, etc. Default is worker.",
2647
+ "type": "string"
2648
+ },
2649
+ "visibility_timeout_ms": {
2650
+ "description": "The number of milliseconds to wait for pulled messages to become visible again",
2651
+ "type": "number"
2652
+ }
2653
+ },
2654
+ "required": [
2655
+ "queue"
2656
+ ],
2657
+ "type": "object"
2658
+ },
2659
+ "type": "array"
2660
+ },
2661
+ "producers": {
2662
+ "description": "Producer bindings",
2663
+ "items": {
2664
+ "additionalProperties": false,
2665
+ "properties": {
2666
+ "binding": {
2667
+ "description": "The binding name used to refer to the Queue in the Worker.",
2668
+ "type": "string"
2669
+ },
2670
+ "delivery_delay": {
2671
+ "description": "The number of seconds to wait before delivering a message",
2672
+ "type": "number"
2673
+ },
2674
+ "queue": {
2675
+ "description": "The name of this Queue.",
2676
+ "type": "string"
2677
+ }
2678
+ },
2679
+ "required": [
2680
+ "binding",
2681
+ "queue"
2682
+ ],
2683
+ "type": "object"
2684
+ },
2685
+ "type": "array"
2686
+ }
2687
+ },
2688
+ "type": "object"
2689
+ },
2690
+ "r2_buckets": {
2691
+ "default": "`[]`",
2692
+ "description": "Specifies R2 buckets that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2693
+ "items": {
2694
+ "additionalProperties": false,
2695
+ "properties": {
2696
+ "binding": {
2697
+ "description": "The binding name used to refer to the R2 bucket in the Worker.",
2698
+ "type": "string"
2699
+ },
2700
+ "bucket_name": {
2701
+ "description": "The name of this R2 bucket at the edge.",
2702
+ "type": "string"
2703
+ },
2704
+ "jurisdiction": {
2705
+ "description": "The jurisdiction that the bucket exists in. Default if not present.",
2706
+ "type": "string"
2707
+ },
2708
+ "preview_bucket_name": {
2709
+ "description": "The preview name of this R2 bucket at the edge.",
2710
+ "type": "string"
2711
+ }
2712
+ },
2713
+ "required": [
2714
+ "binding",
2715
+ "bucket_name"
2716
+ ],
2717
+ "type": "object"
2718
+ },
2719
+ "type": "array"
2720
+ },
2721
+ "route": {
2722
+ "$ref": "#/definitions/Route",
2723
+ "description": "A route that your Worker should be published to. Literally the same as routes, but only one. Only one of `routes` or `route` is required.\n\nOnly required when workers_dev is false, and there's no scheduled Worker"
2724
+ },
2725
+ "routes": {
2726
+ "description": "A list of routes that your Worker should be published to. Only one of `routes` or `route` is required.\n\nOnly required when workers_dev is false, and there's no scheduled Worker (see `triggers`)",
2727
+ "items": {
2728
+ "$ref": "#/definitions/Route"
2729
+ },
2730
+ "type": "array"
2731
+ },
2732
+ "rules": {
2733
+ "description": "An ordered list of rules that define which modules to import, and what type to import them as. You will need to specify rules to use Text, Data, and CompiledWasm modules, or when you wish to have a .js file be treated as an ESModule instead of CommonJS.",
2734
+ "items": {
2735
+ "$ref": "#/definitions/Rule"
2736
+ },
2737
+ "type": "array"
2738
+ },
2739
+ "send_email": {
2740
+ "default": "`[]`",
2741
+ "description": "These specify bindings to send email from inside your Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2742
+ "items": {
2743
+ "additionalProperties": false,
2744
+ "properties": {
2745
+ "allowed_destination_addresses": {
2746
+ "description": "If this binding should be restricted to a set of verified addresses",
2747
+ "items": {
2748
+ "type": "string"
2749
+ },
2750
+ "type": "array"
2751
+ },
2752
+ "destination_address": {
2753
+ "description": "If this binding should be restricted to a specific verified address",
2754
+ "type": "string"
2755
+ },
2756
+ "name": {
2757
+ "description": "The binding name used to refer to the this binding",
2758
+ "type": "string"
2759
+ }
2760
+ },
2761
+ "required": [
2762
+ "name"
2763
+ ],
2764
+ "type": "object"
2765
+ },
2766
+ "type": "array"
2767
+ },
2768
+ "services": {
2769
+ "default": "`[]`",
2770
+ "description": "Specifies service bindings (Worker-to-Worker) that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2771
+ "items": {
2772
+ "additionalProperties": false,
2773
+ "properties": {
2774
+ "binding": {
2775
+ "description": "The binding name used to refer to the bound service.",
2776
+ "type": "string"
2777
+ },
2778
+ "entrypoint": {
2779
+ "description": "Optionally, the entrypoint (named export) of the service to bind to.",
2780
+ "type": "string"
2781
+ },
2782
+ "environment": {
2783
+ "description": "The environment of the service (e.g. production, staging, etc).",
2784
+ "type": "string"
2785
+ },
2786
+ "service": {
2787
+ "description": "The name of the service.",
2788
+ "type": "string"
2789
+ }
2790
+ },
2791
+ "required": [
2792
+ "binding",
2793
+ "service"
2794
+ ],
2795
+ "type": "object"
2796
+ },
2797
+ "type": "array"
2798
+ },
2799
+ "tail_consumers": {
2800
+ "default": "`[]`",
2801
+ "description": "Specifies a list of Tail Workers that are bound to this Worker environment\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2802
+ "items": {
2803
+ "$ref": "#/definitions/TailConsumer"
2804
+ },
2805
+ "type": "array"
2806
+ },
2807
+ "triggers": {
2808
+ "additionalProperties": false,
2809
+ "default": "`{crons:[]}`",
2810
+ "description": "\"Cron\" definitions to trigger a Worker's \"scheduled\" function.\n\nLets you call Workers periodically, much like a cron job.\n\nMore details here https://developers.cloudflare.com/workers/platform/cron-triggers",
2811
+ "properties": {
2812
+ "crons": {
2813
+ "items": {
2814
+ "type": "string"
2815
+ },
2816
+ "type": "array"
2817
+ }
2818
+ },
2819
+ "required": [
2820
+ "crons"
2821
+ ],
2822
+ "type": "object"
2823
+ },
2824
+ "tsconfig": {
2825
+ "description": "Path to a custom tsconfig",
2826
+ "type": "string"
2827
+ },
2828
+ "unsafe": {
2829
+ "additionalProperties": false,
2830
+ "default": "`{}`",
2831
+ "description": "\"Unsafe\" tables for features that aren't directly supported by wrangler.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2832
+ "properties": {
2833
+ "bindings": {
2834
+ "description": "A set of bindings that should be put into a Worker's upload metadata without changes. These can be used to implement bindings for features that haven't released and aren't supported directly by wrangler or miniflare.",
2835
+ "items": {
2836
+ "additionalProperties": {},
2837
+ "properties": {
2838
+ "name": {
2839
+ "type": "string"
2840
+ },
2841
+ "type": {
2842
+ "type": "string"
2843
+ }
2844
+ },
2845
+ "required": [
2846
+ "name",
2847
+ "type"
2848
+ ],
2849
+ "type": "object"
2850
+ },
2851
+ "type": "array"
2852
+ },
2853
+ "capnp": {
2854
+ "anyOf": [
2855
+ {
2856
+ "additionalProperties": false,
2857
+ "properties": {
2858
+ "base_path": {
2859
+ "type": "string"
2860
+ },
2861
+ "source_schemas": {
2862
+ "items": {
2863
+ "type": "string"
2864
+ },
2865
+ "type": "array"
2866
+ }
2867
+ },
2868
+ "required": [
2869
+ "base_path",
2870
+ "source_schemas"
2871
+ ],
2872
+ "type": "object"
2873
+ },
2874
+ {
2875
+ "additionalProperties": false,
2876
+ "properties": {
2877
+ "compiled_schema": {
2878
+ "type": "string"
2879
+ }
2880
+ },
2881
+ "required": [
2882
+ "compiled_schema"
2883
+ ],
2884
+ "type": "object"
2885
+ }
2886
+ ],
2887
+ "description": "Used for internal capnp uploads for the Workers runtime"
2888
+ },
2889
+ "metadata": {
2890
+ "additionalProperties": {},
2891
+ "description": "Arbitrary key/value pairs that will be included in the uploaded metadata. Values specified here will always be applied to metadata last, so can add new or override existing fields.",
2892
+ "type": "object"
2893
+ }
2894
+ },
2895
+ "type": "object"
2896
+ },
2897
+ "upload_source_maps": {
2898
+ "description": "Include source maps when uploading this worker.",
2899
+ "type": "boolean"
2900
+ },
2901
+ "usage_model": {
2902
+ "description": "Specifies the Usage Model for your Worker. There are two options - [bundled](https://developers.cloudflare.com/workers/platform/limits#bundled-usage-model) and [unbound](https://developers.cloudflare.com/workers/platform/limits#unbound-usage-model). For newly created Workers, if the Usage Model is omitted it will be set to the [default Usage Model set on the account](https://dash.cloudflare.com/?account=workers/default-usage-model). For existing Workers, if the Usage Model is omitted, it will be set to the Usage Model configured in the dashboard for that Worker.",
2903
+ "enum": [
2904
+ "bundled",
2905
+ "unbound"
2906
+ ],
2907
+ "type": "string"
2908
+ },
2909
+ "vars": {
2910
+ "additionalProperties": {
2911
+ "anyOf": [
2912
+ {
2913
+ "type": "string"
2914
+ },
2915
+ {
2916
+ "$ref": "#/definitions/Json"
2917
+ }
2918
+ ]
2919
+ },
2920
+ "default": "`{}`",
2921
+ "description": "A map of environment variables to set when deploying your Worker.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2922
+ "type": "object"
2923
+ },
2924
+ "vectorize": {
2925
+ "default": "`[]`",
2926
+ "description": "Specifies Vectorize indexes that are bound to this Worker environment.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2927
+ "items": {
2928
+ "additionalProperties": false,
2929
+ "properties": {
2930
+ "binding": {
2931
+ "description": "The binding name used to refer to the Vectorize index in the Worker.",
2932
+ "type": "string"
2933
+ },
2934
+ "index_name": {
2935
+ "description": "The name of the index.",
2936
+ "type": "string"
2937
+ }
2938
+ },
2939
+ "required": [
2940
+ "binding",
2941
+ "index_name"
2942
+ ],
2943
+ "type": "object"
2944
+ },
2945
+ "type": "array"
2946
+ },
2947
+ "version_metadata": {
2948
+ "additionalProperties": false,
2949
+ "description": "Binding to the Worker Version's metadata",
2950
+ "properties": {
2951
+ "binding": {
2952
+ "type": "string"
2953
+ }
2954
+ },
2955
+ "required": [
2956
+ "binding"
2957
+ ],
2958
+ "type": "object"
2959
+ },
2960
+ "workers_dev": {
2961
+ "default": "`true` (This is a breaking change from Wrangler v1)",
2962
+ "description": "Whether we use <name>.<subdomain>.workers.dev to test and deploy your Worker.\n\n// Carmen according to our tests the default is undefined // warning: you must force \"workers_dev: true\" in tests to match expected behavior",
2963
+ "type": "boolean"
2964
+ },
2965
+ "workflows": {
2966
+ "default": "`[]`",
2967
+ "description": "A list of workflows that your Worker should be bound to.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
2968
+ "items": {
2969
+ "$ref": "#/definitions/WorkflowBinding"
2970
+ },
2971
+ "type": "array"
2972
+ },
2973
+ "zone_id": {
2974
+ "description": "TODO: remove this as it has been deprecated.\n\nThis is just here for now because the `route` commands use it. So we need to include it in this type so it is available.",
2975
+ "type": "string"
2976
+ }
2977
+ },
2978
+ "type": "object"
2979
+ },
2980
+ "Route": {
2981
+ "anyOf": [
2982
+ {
2983
+ "$ref": "#/definitions/SimpleRoute"
2984
+ },
2985
+ {
2986
+ "$ref": "#/definitions/ZoneIdRoute"
2987
+ },
2988
+ {
2989
+ "$ref": "#/definitions/ZoneNameRoute"
2990
+ },
2991
+ {
2992
+ "$ref": "#/definitions/CustomDomainRoute"
2993
+ }
2994
+ ]
2995
+ },
2996
+ "Rule": {
2997
+ "additionalProperties": false,
2998
+ "description": "A bundling resolver rule, defining the modules type for paths that match the specified globs.",
2999
+ "properties": {
3000
+ "fallthrough": {
3001
+ "type": "boolean"
3002
+ },
3003
+ "globs": {
3004
+ "items": {
3005
+ "type": "string"
3006
+ },
3007
+ "type": "array"
3008
+ },
3009
+ "type": {
3010
+ "$ref": "#/definitions/ConfigModuleRuleType"
3011
+ }
3012
+ },
3013
+ "required": [
3014
+ "type",
3015
+ "globs"
3016
+ ],
3017
+ "type": "object"
3018
+ },
3019
+ "SimpleRoute": {
3020
+ "type": "string"
3021
+ },
3022
+ "TailConsumer": {
3023
+ "additionalProperties": false,
3024
+ "properties": {
3025
+ "environment": {
3026
+ "description": "(Optional) The environment of the service.",
3027
+ "type": "string"
3028
+ },
3029
+ "service": {
3030
+ "description": "The name of the service tail events will be forwarded to.",
3031
+ "type": "string"
3032
+ }
3033
+ },
3034
+ "required": [
3035
+ "service"
3036
+ ],
3037
+ "type": "object"
3038
+ },
3039
+ "TypeOf<ZodUnion<[def-class-1315922706-6501-8772-1315922706-0-54395,def-class-1315922706-9299-10989-1315922706-0-54395,def-class-1315922706-12937-13365-1315922706-0-54395,def-class-1315922706-15083-15273-1315922706-0-54395]>>": {
3040
+ "type": [
3041
+ "string",
3042
+ "number",
3043
+ "boolean",
3044
+ "null"
3045
+ ]
3046
+ },
3047
+ "UserLimits": {
3048
+ "additionalProperties": false,
3049
+ "properties": {
3050
+ "cpu_ms": {
3051
+ "description": "Maximum allowed CPU time for a Worker's invocation in milliseconds",
3052
+ "type": "number"
3053
+ }
3054
+ },
3055
+ "required": [
3056
+ "cpu_ms"
3057
+ ],
3058
+ "type": "object"
3059
+ },
3060
+ "WorkflowBinding": {
3061
+ "additionalProperties": false,
3062
+ "properties": {
3063
+ "binding": {
3064
+ "description": "The name of the binding used to refer to the Workflow",
3065
+ "type": "string"
3066
+ },
3067
+ "class_name": {
3068
+ "description": "The exported class name of the Workflow",
3069
+ "type": "string"
3070
+ },
3071
+ "name": {
3072
+ "description": "The name of the Workflow",
3073
+ "type": "string"
3074
+ },
3075
+ "script_name": {
3076
+ "description": "The script where the Workflow is defined (if it's external to this Worker)",
3077
+ "type": "string"
3078
+ }
3079
+ },
3080
+ "required": [
3081
+ "binding",
3082
+ "name",
3083
+ "class_name"
3084
+ ],
3085
+ "type": "object"
3086
+ },
3087
+ "ZoneIdRoute": {
3088
+ "additionalProperties": false,
3089
+ "properties": {
3090
+ "custom_domain": {
3091
+ "type": "boolean"
3092
+ },
3093
+ "pattern": {
3094
+ "type": "string"
3095
+ },
3096
+ "zone_id": {
3097
+ "type": "string"
3098
+ }
3099
+ },
3100
+ "required": [
3101
+ "pattern",
3102
+ "zone_id"
3103
+ ],
3104
+ "type": "object"
3105
+ },
3106
+ "ZoneNameRoute": {
3107
+ "additionalProperties": false,
3108
+ "properties": {
3109
+ "custom_domain": {
3110
+ "type": "boolean"
3111
+ },
3112
+ "pattern": {
3113
+ "type": "string"
3114
+ },
3115
+ "zone_name": {
3116
+ "type": "string"
3117
+ }
3118
+ },
3119
+ "required": [
3120
+ "pattern",
3121
+ "zone_name"
3122
+ ],
3123
+ "type": "object"
3124
+ }
3125
+ }
3126
+ }