wrangler 0.0.0-ecc8b172 → 0.0.0-ecdfabed0

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