wrangler 0.0.0-e7cf0caa → 0.0.0-e7fce2523

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 (317) hide show
  1. package/README.md +33 -43
  2. package/bin/wrangler.js +16 -111
  3. package/config-schema.json +2431 -0
  4. package/package.json +181 -199
  5. package/templates/__tests__/tsconfig.json +1 -1
  6. package/templates/checked-fetch.js +11 -4
  7. package/templates/facade.d.ts +7 -2
  8. package/templates/gitignore +2 -4
  9. package/templates/init-tests/test-vitest-new-worker.js +1 -1
  10. package/templates/init-tests/test-vitest-new-worker.ts +3 -3
  11. package/templates/middleware/common.ts +9 -4
  12. package/templates/middleware/loader-modules.ts +94 -44
  13. package/templates/middleware/loader-sw.ts +6 -10
  14. package/templates/middleware/middleware-ensure-req-body-drained.ts +18 -0
  15. package/templates/middleware/middleware-patch-console-prefix.d.ts +3 -0
  16. package/templates/middleware/middleware-patch-console-prefix.ts +21 -0
  17. package/templates/middleware/middleware-scheduled.ts +15 -1
  18. package/templates/mixedMode/proxyServerWorker/index.ts +40 -0
  19. package/templates/mixedMode/proxyServerWorker/wrangler.jsonc +4 -0
  20. package/templates/modules-watch-stub.js +4 -0
  21. package/templates/new-worker-scheduled.ts +1 -1
  22. package/templates/new-worker.ts +1 -1
  23. package/templates/pages-dev-pipeline.ts +5 -3
  24. package/templates/pages-dev-util.ts +4 -1
  25. package/templates/pages-shim.ts +0 -3
  26. package/templates/pages-template-plugin.ts +14 -4
  27. package/templates/pages-template-worker.ts +12 -3
  28. package/templates/startDevWorker/InspectorProxyWorker.ts +679 -0
  29. package/templates/startDevWorker/ProxyWorker.ts +336 -0
  30. package/templates/strip-cf-connecting-ip-header.js +13 -0
  31. package/templates/tsconfig.init.json +4 -87
  32. package/templates/tsconfig.json +9 -2
  33. package/templates/tsconfig.tsbuildinfo +1 -1
  34. package/wrangler-dist/InspectorProxyWorker.js +471 -0
  35. package/wrangler-dist/InspectorProxyWorker.js.map +6 -0
  36. package/wrangler-dist/ProxyWorker.js +238 -0
  37. package/wrangler-dist/ProxyWorker.js.map +6 -0
  38. package/wrangler-dist/cli.d.ts +25620 -358
  39. package/wrangler-dist/cli.js +171460 -148091
  40. package/wrangler-dist/cli.js.map +7 -0
  41. package/Cloudflare_CA.pem +0 -18
  42. package/import_meta_url.js +0 -3
  43. package/miniflare-config-stubs/.env.empty +0 -0
  44. package/miniflare-config-stubs/package.empty.json +0 -1
  45. package/miniflare-config-stubs/wrangler.empty.toml +0 -0
  46. package/miniflare-dist/index.mjs +0 -6368
  47. package/src/__tests__/access.test.ts +0 -25
  48. package/src/__tests__/api-dev.test.ts +0 -238
  49. package/src/__tests__/api-devregistry.test.ts +0 -121
  50. package/src/__tests__/api.test.ts +0 -102
  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 -4509
  54. package/src/__tests__/d1/d1.test.ts +0 -82
  55. package/src/__tests__/d1/execute.test.ts +0 -66
  56. package/src/__tests__/d1/migrate.test.ts +0 -157
  57. package/src/__tests__/d1/splitter.test.ts +0 -255
  58. package/src/__tests__/delete.test.ts +0 -272
  59. package/src/__tests__/deployments.test.ts +0 -369
  60. package/src/__tests__/dev.test.tsx +0 -1617
  61. package/src/__tests__/generate.test.ts +0 -237
  62. package/src/__tests__/get-host-from-url.test.ts +0 -16
  63. package/src/__tests__/guess-worker-format.test.ts +0 -120
  64. package/src/__tests__/helpers/clipboardy-mock.js +0 -4
  65. package/src/__tests__/helpers/cmd-shim.d.ts +0 -11
  66. package/src/__tests__/helpers/end-event-loop.ts +0 -6
  67. package/src/__tests__/helpers/mock-account-id.ts +0 -48
  68. package/src/__tests__/helpers/mock-auth-domain.ts +0 -20
  69. package/src/__tests__/helpers/mock-bin.ts +0 -36
  70. package/src/__tests__/helpers/mock-console.ts +0 -112
  71. package/src/__tests__/helpers/mock-dialogs.ts +0 -139
  72. package/src/__tests__/helpers/mock-get-pages-upload-token.ts +0 -25
  73. package/src/__tests__/helpers/mock-get-zone-from-host.ts +0 -11
  74. package/src/__tests__/helpers/mock-http-server.ts +0 -46
  75. package/src/__tests__/helpers/mock-istty.ts +0 -74
  76. package/src/__tests__/helpers/mock-known-routes.ts +0 -12
  77. package/src/__tests__/helpers/mock-kv.ts +0 -46
  78. package/src/__tests__/helpers/mock-oauth-flow.ts +0 -263
  79. package/src/__tests__/helpers/mock-process.ts +0 -34
  80. package/src/__tests__/helpers/mock-set-timeout.ts +0 -16
  81. package/src/__tests__/helpers/mock-stdin.ts +0 -108
  82. package/src/__tests__/helpers/mock-web-socket.ts +0 -29
  83. package/src/__tests__/helpers/msw/blob-worker.cjs +0 -19
  84. package/src/__tests__/helpers/msw/handlers/access.ts +0 -13
  85. package/src/__tests__/helpers/msw/handlers/deployments.ts +0 -160
  86. package/src/__tests__/helpers/msw/handlers/namespaces.ts +0 -81
  87. package/src/__tests__/helpers/msw/handlers/oauth.ts +0 -31
  88. package/src/__tests__/helpers/msw/handlers/r2.ts +0 -60
  89. package/src/__tests__/helpers/msw/handlers/script.ts +0 -56
  90. package/src/__tests__/helpers/msw/handlers/user.ts +0 -52
  91. package/src/__tests__/helpers/msw/handlers/zones.ts +0 -20
  92. package/src/__tests__/helpers/msw/index.ts +0 -52
  93. package/src/__tests__/helpers/msw/read-file-sync.js +0 -61
  94. package/src/__tests__/helpers/run-in-tmp.ts +0 -38
  95. package/src/__tests__/helpers/run-wrangler.ts +0 -16
  96. package/src/__tests__/helpers/string-dynamic-values-matcher.ts +0 -28
  97. package/src/__tests__/helpers/worker-scripts/child-wrangler.toml +0 -1
  98. package/src/__tests__/helpers/worker-scripts/hello-world-worker.js +0 -5
  99. package/src/__tests__/helpers/worker-scripts/hello-world-wrangler.toml +0 -1
  100. package/src/__tests__/helpers/worker-scripts/parent-worker.js +0 -11
  101. package/src/__tests__/helpers/worker-scripts/parent-wrangler.toml +0 -5
  102. package/src/__tests__/helpers/write-worker-source.ts +0 -31
  103. package/src/__tests__/helpers/write-wrangler-toml.ts +0 -17
  104. package/src/__tests__/https-options.test.ts +0 -163
  105. package/src/__tests__/index.test.ts +0 -280
  106. package/src/__tests__/init.test.ts +0 -3196
  107. package/src/__tests__/jest.setup.ts +0 -179
  108. package/src/__tests__/kv.test.ts +0 -1799
  109. package/src/__tests__/logger.test.ts +0 -207
  110. package/src/__tests__/logout.test.ts +0 -47
  111. package/src/__tests__/metrics.test.ts +0 -493
  112. package/src/__tests__/middleware.scheduled.test.ts +0 -145
  113. package/src/__tests__/middleware.test.ts +0 -816
  114. package/src/__tests__/mtls-certificates.test.ts +0 -588
  115. package/src/__tests__/package-manager.test.ts +0 -353
  116. package/src/__tests__/pages/deployment-list.test.ts +0 -80
  117. package/src/__tests__/pages/functions-build.test.ts +0 -452
  118. package/src/__tests__/pages/pages.test.ts +0 -81
  119. package/src/__tests__/pages/project-create.test.ts +0 -63
  120. package/src/__tests__/pages/project-list.test.ts +0 -110
  121. package/src/__tests__/pages/project-upload.test.ts +0 -500
  122. package/src/__tests__/pages/publish.test.ts +0 -2864
  123. package/src/__tests__/pages-deployment-tail.test.ts +0 -955
  124. package/src/__tests__/parse.test.ts +0 -436
  125. package/src/__tests__/paths.test.ts +0 -39
  126. package/src/__tests__/publish.test.ts +0 -8423
  127. package/src/__tests__/pubsub.test.ts +0 -496
  128. package/src/__tests__/queues.test.ts +0 -532
  129. package/src/__tests__/r2.test.ts +0 -374
  130. package/src/__tests__/route.test.ts +0 -45
  131. package/src/__tests__/secret.test.ts +0 -693
  132. package/src/__tests__/tail.test.ts +0 -958
  133. package/src/__tests__/test-old-node-version.js +0 -31
  134. package/src/__tests__/traverse-module-graph.test.ts +0 -220
  135. package/src/__tests__/tsconfig-sanity.ts +0 -12
  136. package/src/__tests__/tsconfig.json +0 -8
  137. package/src/__tests__/tsconfig.tsbuildinfo +0 -1
  138. package/src/__tests__/type-generation.test.ts +0 -234
  139. package/src/__tests__/user.test.ts +0 -118
  140. package/src/__tests__/utils-collectKeyValues.test.ts +0 -47
  141. package/src/__tests__/validate-dev-props.test.ts +0 -56
  142. package/src/__tests__/version.test.ts +0 -35
  143. package/src/__tests__/whoami.test.tsx +0 -172
  144. package/src/__tests__/worker-namespace.test.ts +0 -340
  145. package/src/abort.d.ts +0 -3
  146. package/src/api/dev.ts +0 -316
  147. package/src/api/index.ts +0 -11
  148. package/src/api/mtls-certificate.ts +0 -148
  149. package/src/api/pages/create-worker-bundle-contents.ts +0 -76
  150. package/src/api/pages/index.ts +0 -5
  151. package/src/api/pages/publish.tsx +0 -355
  152. package/src/bundle-reporter.ts +0 -68
  153. package/src/bundle.ts +0 -908
  154. package/src/cfetch/index.ts +0 -158
  155. package/src/cfetch/internal.ts +0 -258
  156. package/src/cli.ts +0 -28
  157. package/src/config/README.md +0 -107
  158. package/src/config/config.ts +0 -282
  159. package/src/config/diagnostics.ts +0 -80
  160. package/src/config/environment.ts +0 -618
  161. package/src/config/index.ts +0 -403
  162. package/src/config/validation-helpers.ts +0 -597
  163. package/src/config/validation.ts +0 -2342
  164. package/src/config-cache.ts +0 -85
  165. package/src/create-worker-preview.ts +0 -293
  166. package/src/create-worker-upload-form.ts +0 -359
  167. package/src/d1/backups.tsx +0 -219
  168. package/src/d1/constants.ts +0 -2
  169. package/src/d1/create.tsx +0 -68
  170. package/src/d1/delete.ts +0 -53
  171. package/src/d1/execute.tsx +0 -357
  172. package/src/d1/formatTimeAgo.ts +0 -14
  173. package/src/d1/index.ts +0 -100
  174. package/src/d1/list.tsx +0 -60
  175. package/src/d1/migrations/apply.tsx +0 -212
  176. package/src/d1/migrations/create.tsx +0 -79
  177. package/src/d1/migrations/helpers.ts +0 -172
  178. package/src/d1/migrations/index.ts +0 -3
  179. package/src/d1/migrations/list.tsx +0 -95
  180. package/src/d1/migrations/options.ts +0 -23
  181. package/src/d1/options.ts +0 -22
  182. package/src/d1/splitter.ts +0 -161
  183. package/src/d1/types.ts +0 -25
  184. package/src/d1/utils.ts +0 -49
  185. package/src/delete.ts +0 -100
  186. package/src/deployments.ts +0 -368
  187. package/src/deprecated/index.ts +0 -144
  188. package/src/dev/dev-vars.ts +0 -39
  189. package/src/dev/dev.tsx +0 -600
  190. package/src/dev/get-local-persistence-path.ts +0 -31
  191. package/src/dev/local.tsx +0 -920
  192. package/src/dev/remote.tsx +0 -632
  193. package/src/dev/start-server.ts +0 -534
  194. package/src/dev/use-esbuild.ts +0 -203
  195. package/src/dev/validate-dev-props.ts +0 -40
  196. package/src/dev-registry.ts +0 -202
  197. package/src/dev.tsx +0 -929
  198. package/src/dialogs.ts +0 -136
  199. package/src/dispatch-namespace.ts +0 -211
  200. package/src/docs/index.ts +0 -97
  201. package/src/durable.ts +0 -102
  202. package/src/entry.ts +0 -337
  203. package/src/environment-variables/factory.ts +0 -88
  204. package/src/environment-variables/misc-variables.ts +0 -30
  205. package/src/errors.ts +0 -11
  206. package/src/generate/index.ts +0 -298
  207. package/src/git-client.ts +0 -135
  208. package/src/global-wrangler-config-path.ts +0 -26
  209. package/src/https-options.ts +0 -127
  210. package/src/index.ts +0 -758
  211. package/src/init.ts +0 -1032
  212. package/src/inspect.ts +0 -782
  213. package/src/intl-polyfill.d.ts +0 -139
  214. package/src/is-ci.ts +0 -14
  215. package/src/is-interactive.ts +0 -16
  216. package/src/jest.d.ts +0 -4
  217. package/src/kv/helpers.ts +0 -430
  218. package/src/kv/index.ts +0 -594
  219. package/src/logger.ts +0 -119
  220. package/src/metrics/index.ts +0 -5
  221. package/src/metrics/metrics-config.ts +0 -239
  222. package/src/metrics/metrics-dispatcher.ts +0 -96
  223. package/src/metrics/metrics-usage-headers.ts +0 -24
  224. package/src/metrics/send-event.ts +0 -99
  225. package/src/miniflare-cli/README.md +0 -30
  226. package/src/miniflare-cli/assets.ts +0 -251
  227. package/src/miniflare-cli/index.ts +0 -210
  228. package/src/miniflare-cli/request-context.ts +0 -40
  229. package/src/miniflare-cli/tsconfig.json +0 -9
  230. package/src/miniflare-cli/tsconfig.tsbuildinfo +0 -1
  231. package/src/miniflare-cli/types.ts +0 -11
  232. package/src/module-collection.ts +0 -333
  233. package/src/mtls-certificate/cli.ts +0 -155
  234. package/src/open-in-browser.ts +0 -17
  235. package/src/package-manager.ts +0 -219
  236. package/src/pages/build.ts +0 -410
  237. package/src/pages/buildFunctions.ts +0 -140
  238. package/src/pages/constants.ts +0 -18
  239. package/src/pages/deployment-tails.ts +0 -281
  240. package/src/pages/deployments.tsx +0 -84
  241. package/src/pages/dev.ts +0 -716
  242. package/src/pages/errors.ts +0 -67
  243. package/src/pages/functions/buildPlugin.ts +0 -113
  244. package/src/pages/functions/buildWorker.ts +0 -291
  245. package/src/pages/functions/filepath-routing.test.ts +0 -234
  246. package/src/pages/functions/filepath-routing.ts +0 -189
  247. package/src/pages/functions/identifiers.ts +0 -78
  248. package/src/pages/functions/routes-consolidation.test.ts +0 -250
  249. package/src/pages/functions/routes-consolidation.ts +0 -73
  250. package/src/pages/functions/routes-transformation.test.ts +0 -282
  251. package/src/pages/functions/routes-transformation.ts +0 -115
  252. package/src/pages/functions/routes-validation.test.ts +0 -403
  253. package/src/pages/functions/routes-validation.ts +0 -202
  254. package/src/pages/functions/routes.ts +0 -151
  255. package/src/pages/functions/tsconfig.json +0 -8
  256. package/src/pages/functions/tsconfig.tsbuildinfo +0 -1
  257. package/src/pages/functions.ts +0 -86
  258. package/src/pages/hash.ts +0 -13
  259. package/src/pages/index.ts +0 -102
  260. package/src/pages/projects.tsx +0 -159
  261. package/src/pages/prompt-select-project.tsx +0 -31
  262. package/src/pages/publish.tsx +0 -267
  263. package/src/pages/types.ts +0 -46
  264. package/src/pages/upload.tsx +0 -469
  265. package/src/pages/utils.ts +0 -23
  266. package/src/parse.ts +0 -308
  267. package/src/paths.ts +0 -71
  268. package/src/proxy.ts +0 -694
  269. package/src/publish/index.ts +0 -274
  270. package/src/publish/publish.ts +0 -1060
  271. package/src/pubsub/index.ts +0 -286
  272. package/src/pubsub/pubsub-commands.ts +0 -623
  273. package/src/queues/cli/commands/consumer/add.ts +0 -71
  274. package/src/queues/cli/commands/consumer/index.ts +0 -19
  275. package/src/queues/cli/commands/consumer/remove.ts +0 -31
  276. package/src/queues/cli/commands/create.ts +0 -25
  277. package/src/queues/cli/commands/delete.ts +0 -26
  278. package/src/queues/cli/commands/index.ts +0 -35
  279. package/src/queues/cli/commands/list.ts +0 -25
  280. package/src/queues/client.ts +0 -136
  281. package/src/queues/utils.ts +0 -18
  282. package/src/r2/constants.ts +0 -4
  283. package/src/r2/helpers.ts +0 -132
  284. package/src/r2/index.ts +0 -289
  285. package/src/routes.ts +0 -140
  286. package/src/secret/index.ts +0 -376
  287. package/src/selfsigned.d.ts +0 -29
  288. package/src/sites.ts +0 -372
  289. package/src/tail/createTail.ts +0 -406
  290. package/src/tail/filters.ts +0 -277
  291. package/src/tail/index.ts +0 -211
  292. package/src/tail/printing.ts +0 -122
  293. package/src/traverse-module-graph.ts +0 -53
  294. package/src/tsconfig-sanity.ts +0 -16
  295. package/src/type-generation.ts +0 -181
  296. package/src/update-check.ts +0 -19
  297. package/src/user/access.ts +0 -68
  298. package/src/user/auth-variables.ts +0 -113
  299. package/src/user/choose-account.tsx +0 -39
  300. package/src/user/generate-auth-url.ts +0 -33
  301. package/src/user/generate-random-state.ts +0 -16
  302. package/src/user/index.ts +0 -2
  303. package/src/user/user.ts +0 -1233
  304. package/src/utils/collectKeyValues.ts +0 -14
  305. package/src/utils/render.ts +0 -93
  306. package/src/whoami.ts +0 -135
  307. package/src/worker.ts +0 -274
  308. package/src/yargs-types.ts +0 -37
  309. package/src/zones.ts +0 -191
  310. package/templates/__tests__/tsconfig.tsbuildinfo +0 -1
  311. package/templates/d1-beta-facade.js +0 -244
  312. package/templates/first-party-worker-module-facade.ts +0 -19
  313. package/templates/format-dev-errors.ts +0 -34
  314. package/templates/serve-static-assets.ts +0 -66
  315. package/templates/service-bindings-module-facade.js +0 -55
  316. package/templates/service-bindings-sw-facade.js +0 -42
  317. package/wrangler-dist/wasm-sync.wasm +0 -0
@@ -0,0 +1,2431 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$ref": "#/definitions/RawConfig",
4
+ "definitions": {
5
+ "RawConfig": {
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "properties": {
9
+ "$schema": {
10
+ "type": "string"
11
+ },
12
+ "env": {
13
+ "type": "object",
14
+ "additionalProperties": {
15
+ "$ref": "#/definitions/RawEnvironment"
16
+ },
17
+ "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",
18
+ "default": {}
19
+ },
20
+ "name": {
21
+ "type": "string",
22
+ "description": "The name of your Worker. Alphanumeric + dashes only."
23
+ },
24
+ "account_id": {
25
+ "type": "string",
26
+ "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."
27
+ },
28
+ "compatibility_date": {
29
+ "type": "string",
30
+ "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/configuration/compatibility-dates"
31
+ },
32
+ "compatibility_flags": {
33
+ "type": "array",
34
+ "items": {
35
+ "type": "string"
36
+ },
37
+ "description": "A list of flags that enable features from upcoming features of the Workers runtime, usually used together with compatibility_date.\n\nMore details at https://developers.cloudflare.com/workers/configuration/compatibility-flags/",
38
+ "default": []
39
+ },
40
+ "main": {
41
+ "type": "string",
42
+ "description": "The entrypoint/path to the JavaScript file that will be executed."
43
+ },
44
+ "find_additional_modules": {
45
+ "type": "boolean",
46
+ "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."
47
+ },
48
+ "preserve_file_names": {
49
+ "type": "boolean",
50
+ "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`."
51
+ },
52
+ "base_dir": {
53
+ "type": "string",
54
+ "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."
55
+ },
56
+ "workers_dev": {
57
+ "type": "boolean",
58
+ "description": "Whether we use <name>.<subdomain>.workers.dev to test and deploy your Worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#workersdev",
59
+ "default": true
60
+ },
61
+ "preview_urls": {
62
+ "type": "boolean",
63
+ "description": "Whether we use <version>-<name>.<subdomain>.workers.dev to serve Preview URLs for your Worker.",
64
+ "default": true
65
+ },
66
+ "routes": {
67
+ "type": "array",
68
+ "items": {
69
+ "$ref": "#/definitions/Route"
70
+ },
71
+ "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`)\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#types-of-routes"
72
+ },
73
+ "route": {
74
+ "$ref": "#/definitions/Route",
75
+ "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"
76
+ },
77
+ "tsconfig": {
78
+ "type": "string",
79
+ "description": "Path to a custom tsconfig"
80
+ },
81
+ "jsx_factory": {
82
+ "type": "string",
83
+ "description": "The function to use to replace jsx syntax.",
84
+ "default": "React.createElement"
85
+ },
86
+ "jsx_fragment": {
87
+ "type": "string",
88
+ "description": "The function to use to replace jsx fragment syntax.",
89
+ "default": "React.Fragment"
90
+ },
91
+ "migrations": {
92
+ "type": "array",
93
+ "items": {
94
+ "$ref": "#/definitions/DurableObjectMigration"
95
+ },
96
+ "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",
97
+ "default": []
98
+ },
99
+ "triggers": {
100
+ "type": "object",
101
+ "properties": {
102
+ "crons": {
103
+ "type": "array",
104
+ "items": {
105
+ "type": "string"
106
+ }
107
+ }
108
+ },
109
+ "additionalProperties": false,
110
+ "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\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#triggers",
111
+ "default": "{crons: undefined}"
112
+ },
113
+ "limits": {
114
+ "$ref": "#/definitions/UserLimits",
115
+ "description": "Specify limits for runtime behavior. Only supported for the \"standard\" Usage Model\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#limits"
116
+ },
117
+ "rules": {
118
+ "type": "array",
119
+ "items": {
120
+ "$ref": "#/definitions/Rule"
121
+ },
122
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#bundling"
123
+ },
124
+ "build": {
125
+ "type": "object",
126
+ "properties": {
127
+ "command": {
128
+ "type": "string",
129
+ "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."
130
+ },
131
+ "cwd": {
132
+ "type": "string",
133
+ "description": "The directory in which the command is executed."
134
+ },
135
+ "watch_dir": {
136
+ "anyOf": [
137
+ {
138
+ "type": "string"
139
+ },
140
+ {
141
+ "type": "array",
142
+ "items": {
143
+ "type": "string"
144
+ }
145
+ }
146
+ ],
147
+ "description": "The directory to watch for changes while using wrangler dev, defaults to the current working directory"
148
+ }
149
+ },
150
+ "additionalProperties": false,
151
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#custom-builds",
152
+ "default": {
153
+ "watch_dir": "./src"
154
+ }
155
+ },
156
+ "no_bundle": {
157
+ "type": "boolean",
158
+ "description": "Skip internal build steps and directly deploy script"
159
+ },
160
+ "minify": {
161
+ "type": "boolean",
162
+ "description": "Minify the script before uploading."
163
+ },
164
+ "keep_names": {
165
+ "type": "boolean",
166
+ "description": "Keep function names after javascript transpilations.",
167
+ "default": "{true}"
168
+ },
169
+ "first_party_worker": {
170
+ "type": "boolean",
171
+ "description": "Designates this Worker as an internal-only \"first-party\" Worker."
172
+ },
173
+ "logfwdr": {
174
+ "type": "object",
175
+ "properties": {
176
+ "bindings": {
177
+ "type": "array",
178
+ "items": {
179
+ "type": "object",
180
+ "properties": {
181
+ "name": {
182
+ "type": "string",
183
+ "description": "The binding name used to refer to logfwdr"
184
+ },
185
+ "destination": {
186
+ "type": "string",
187
+ "description": "The destination for this logged message"
188
+ }
189
+ },
190
+ "required": [
191
+ "name",
192
+ "destination"
193
+ ],
194
+ "additionalProperties": false
195
+ }
196
+ }
197
+ },
198
+ "required": [
199
+ "bindings"
200
+ ],
201
+ "additionalProperties": false,
202
+ "description": "List of bindings that you will send to logfwdr",
203
+ "default": {
204
+ "bindings": []
205
+ }
206
+ },
207
+ "logpush": {
208
+ "type": "boolean",
209
+ "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/"
210
+ },
211
+ "upload_source_maps": {
212
+ "type": "boolean",
213
+ "description": "Include source maps when uploading this worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#source-maps"
214
+ },
215
+ "placement": {
216
+ "type": "object",
217
+ "properties": {
218
+ "mode": {
219
+ "type": "string",
220
+ "enum": [
221
+ "off",
222
+ "smart"
223
+ ]
224
+ },
225
+ "hint": {
226
+ "type": "string"
227
+ }
228
+ },
229
+ "required": [
230
+ "mode"
231
+ ],
232
+ "additionalProperties": false,
233
+ "description": "Specify how the Worker should be located to minimize round-trip time.\n\nMore details: https://developers.cloudflare.com/workers/platform/smart-placement/"
234
+ },
235
+ "assets": {
236
+ "$ref": "#/definitions/Assets",
237
+ "description": "Specify the directory of static assets to deploy/serve\n\nMore details at https://developers.cloudflare.com/workers/frameworks/\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#assets"
238
+ },
239
+ "observability": {
240
+ "$ref": "#/definitions/Observability",
241
+ "description": "Specify the observability behavior of the Worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#observability"
242
+ },
243
+ "define": {
244
+ "type": "object",
245
+ "additionalProperties": {
246
+ "type": "string"
247
+ },
248
+ "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.",
249
+ "default": {}
250
+ },
251
+ "vars": {
252
+ "type": "object",
253
+ "additionalProperties": {
254
+ "anyOf": [
255
+ {
256
+ "type": "string"
257
+ },
258
+ {
259
+ "$ref": "#/definitions/Json"
260
+ }
261
+ ]
262
+ },
263
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#environment-variables",
264
+ "default": {}
265
+ },
266
+ "durable_objects": {
267
+ "type": "object",
268
+ "properties": {
269
+ "bindings": {
270
+ "$ref": "#/definitions/DurableObjectBindings"
271
+ }
272
+ },
273
+ "required": [
274
+ "bindings"
275
+ ],
276
+ "additionalProperties": false,
277
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#durable-objects",
278
+ "default": {
279
+ "bindings": []
280
+ }
281
+ },
282
+ "workflows": {
283
+ "type": "array",
284
+ "items": {
285
+ "$ref": "#/definitions/WorkflowBinding"
286
+ },
287
+ "description": "A list of workflows that your Worker should be bound to.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
288
+ "default": []
289
+ },
290
+ "cloudchamber": {
291
+ "$ref": "#/definitions/CloudchamberConfig",
292
+ "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.",
293
+ "default": {}
294
+ },
295
+ "containers": {
296
+ "type": "array",
297
+ "items": {
298
+ "$ref": "#/definitions/ContainerApp"
299
+ },
300
+ "description": "Container related configuration",
301
+ "default": []
302
+ },
303
+ "kv_namespaces": {
304
+ "type": "array",
305
+ "items": {
306
+ "type": "object",
307
+ "properties": {
308
+ "binding": {
309
+ "type": "string",
310
+ "description": "The binding name used to refer to the KV Namespace"
311
+ },
312
+ "id": {
313
+ "type": "string",
314
+ "description": "The ID of the KV namespace"
315
+ },
316
+ "preview_id": {
317
+ "type": "string",
318
+ "description": "The ID of the KV namespace used during `wrangler dev`"
319
+ },
320
+ "remote": {
321
+ "type": "boolean",
322
+ "description": "Whether the KV namespace should be remote or not (only available under `--x-mixed-mode`)"
323
+ }
324
+ },
325
+ "required": [
326
+ "binding"
327
+ ],
328
+ "additionalProperties": false
329
+ },
330
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#kv-namespaces",
331
+ "default": []
332
+ },
333
+ "send_email": {
334
+ "type": "array",
335
+ "items": {
336
+ "type": "object",
337
+ "properties": {
338
+ "name": {
339
+ "type": "string",
340
+ "description": "The binding name used to refer to the this binding"
341
+ },
342
+ "destination_address": {
343
+ "type": "string",
344
+ "description": "If this binding should be restricted to a specific verified address"
345
+ },
346
+ "allowed_destination_addresses": {
347
+ "type": "array",
348
+ "items": {
349
+ "type": "string"
350
+ },
351
+ "description": "If this binding should be restricted to a set of verified addresses"
352
+ }
353
+ },
354
+ "required": [
355
+ "name"
356
+ ],
357
+ "additionalProperties": false
358
+ },
359
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#email-bindings",
360
+ "default": []
361
+ },
362
+ "queues": {
363
+ "type": "object",
364
+ "properties": {
365
+ "producers": {
366
+ "type": "array",
367
+ "items": {
368
+ "type": "object",
369
+ "properties": {
370
+ "binding": {
371
+ "type": "string",
372
+ "description": "The binding name used to refer to the Queue in the Worker."
373
+ },
374
+ "queue": {
375
+ "type": "string",
376
+ "description": "The name of this Queue."
377
+ },
378
+ "delivery_delay": {
379
+ "type": "number",
380
+ "description": "The number of seconds to wait before delivering a message"
381
+ },
382
+ "remote": {
383
+ "type": "boolean",
384
+ "description": "Whether the Queue producer should be remote or not (only available under `--x-mixed-mode`)"
385
+ }
386
+ },
387
+ "required": [
388
+ "binding",
389
+ "queue"
390
+ ],
391
+ "additionalProperties": false
392
+ },
393
+ "description": "Producer bindings"
394
+ },
395
+ "consumers": {
396
+ "type": "array",
397
+ "items": {
398
+ "type": "object",
399
+ "properties": {
400
+ "queue": {
401
+ "type": "string",
402
+ "description": "The name of the queue from which this consumer should consume."
403
+ },
404
+ "type": {
405
+ "type": "string",
406
+ "description": "The consumer type, e.g., worker, http-pull, r2-bucket, etc. Default is worker."
407
+ },
408
+ "max_batch_size": {
409
+ "type": "number",
410
+ "description": "The maximum number of messages per batch"
411
+ },
412
+ "max_batch_timeout": {
413
+ "type": "number",
414
+ "description": "The maximum number of seconds to wait to fill a batch with messages."
415
+ },
416
+ "max_retries": {
417
+ "type": "number",
418
+ "description": "The maximum number of retries for each message."
419
+ },
420
+ "dead_letter_queue": {
421
+ "type": "string",
422
+ "description": "The queue to send messages that failed to be consumed."
423
+ },
424
+ "max_concurrency": {
425
+ "type": [
426
+ "number",
427
+ "null"
428
+ ],
429
+ "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."
430
+ },
431
+ "visibility_timeout_ms": {
432
+ "type": "number",
433
+ "description": "The number of milliseconds to wait for pulled messages to become visible again"
434
+ },
435
+ "retry_delay": {
436
+ "type": "number",
437
+ "description": "The number of seconds to wait before retrying a message"
438
+ }
439
+ },
440
+ "required": [
441
+ "queue"
442
+ ],
443
+ "additionalProperties": false
444
+ },
445
+ "description": "Consumer configuration"
446
+ }
447
+ },
448
+ "additionalProperties": false,
449
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#queues",
450
+ "default": {
451
+ "consumers": [],
452
+ "producers": []
453
+ }
454
+ },
455
+ "r2_buckets": {
456
+ "type": "array",
457
+ "items": {
458
+ "type": "object",
459
+ "properties": {
460
+ "binding": {
461
+ "type": "string",
462
+ "description": "The binding name used to refer to the R2 bucket in the Worker."
463
+ },
464
+ "bucket_name": {
465
+ "type": "string",
466
+ "description": "The name of this R2 bucket at the edge."
467
+ },
468
+ "preview_bucket_name": {
469
+ "type": "string",
470
+ "description": "The preview name of this R2 bucket at the edge."
471
+ },
472
+ "jurisdiction": {
473
+ "type": "string",
474
+ "description": "The jurisdiction that the bucket exists in. Default if not present."
475
+ },
476
+ "remote": {
477
+ "type": "boolean",
478
+ "description": "Whether the R2 bucket should be remote or not (only available under `--x-mixed-mode`)"
479
+ }
480
+ },
481
+ "required": [
482
+ "binding"
483
+ ],
484
+ "additionalProperties": false
485
+ },
486
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#r2-buckets",
487
+ "default": []
488
+ },
489
+ "d1_databases": {
490
+ "type": "array",
491
+ "items": {
492
+ "type": "object",
493
+ "properties": {
494
+ "binding": {
495
+ "type": "string",
496
+ "description": "The binding name used to refer to the D1 database in the Worker."
497
+ },
498
+ "database_name": {
499
+ "type": "string",
500
+ "description": "The name of this D1 database."
501
+ },
502
+ "database_id": {
503
+ "type": "string",
504
+ "description": "The UUID of this D1 database (not required)."
505
+ },
506
+ "preview_database_id": {
507
+ "type": "string",
508
+ "description": "The UUID of this D1 database for Wrangler Dev (if specified)."
509
+ },
510
+ "migrations_table": {
511
+ "type": "string",
512
+ "description": "The name of the migrations table for this D1 database (defaults to 'd1_migrations')."
513
+ },
514
+ "migrations_dir": {
515
+ "type": "string",
516
+ "description": "The path to the directory of migrations for this D1 database (defaults to './migrations')."
517
+ },
518
+ "database_internal_env": {
519
+ "type": "string",
520
+ "description": "Internal use only."
521
+ },
522
+ "remote": {
523
+ "type": "boolean",
524
+ "description": "Whether the D1 database should be remote or not (only available under `--x-mixed-mode`)"
525
+ }
526
+ },
527
+ "required": [
528
+ "binding"
529
+ ],
530
+ "additionalProperties": false
531
+ },
532
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#d1-databases",
533
+ "default": []
534
+ },
535
+ "vectorize": {
536
+ "type": "array",
537
+ "items": {
538
+ "type": "object",
539
+ "properties": {
540
+ "binding": {
541
+ "type": "string",
542
+ "description": "The binding name used to refer to the Vectorize index in the Worker."
543
+ },
544
+ "index_name": {
545
+ "type": "string",
546
+ "description": "The name of the index."
547
+ }
548
+ },
549
+ "required": [
550
+ "binding",
551
+ "index_name"
552
+ ],
553
+ "additionalProperties": false
554
+ },
555
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#vectorize-indexes",
556
+ "default": []
557
+ },
558
+ "hyperdrive": {
559
+ "type": "array",
560
+ "items": {
561
+ "type": "object",
562
+ "properties": {
563
+ "binding": {
564
+ "type": "string",
565
+ "description": "The binding name used to refer to the project in the Worker."
566
+ },
567
+ "id": {
568
+ "type": "string",
569
+ "description": "The id of the database."
570
+ },
571
+ "localConnectionString": {
572
+ "type": "string",
573
+ "description": "The local database connection string for `wrangler dev`"
574
+ }
575
+ },
576
+ "required": [
577
+ "binding",
578
+ "id"
579
+ ],
580
+ "additionalProperties": false
581
+ },
582
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#hyperdrive",
583
+ "default": []
584
+ },
585
+ "services": {
586
+ "type": "array",
587
+ "items": {
588
+ "type": "object",
589
+ "properties": {
590
+ "binding": {
591
+ "type": "string",
592
+ "description": "The binding name used to refer to the bound service."
593
+ },
594
+ "service": {
595
+ "type": "string",
596
+ "description": "The name of the service."
597
+ },
598
+ "environment": {
599
+ "type": "string",
600
+ "description": "The environment of the service (e.g. production, staging, etc)."
601
+ },
602
+ "entrypoint": {
603
+ "type": "string",
604
+ "description": "Optionally, the entrypoint (named export) of the service to bind to."
605
+ },
606
+ "props": {
607
+ "type": "object",
608
+ "additionalProperties": {},
609
+ "description": "Optional properties that will be made available to the service via ctx.props."
610
+ },
611
+ "remote": {
612
+ "type": "boolean",
613
+ "description": "Whether the service binding should be remote or not (only available under `--x-mixed-mode`)"
614
+ }
615
+ },
616
+ "required": [
617
+ "binding",
618
+ "service"
619
+ ],
620
+ "additionalProperties": false
621
+ },
622
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#service-bindings",
623
+ "default": []
624
+ },
625
+ "analytics_engine_datasets": {
626
+ "type": "array",
627
+ "items": {
628
+ "type": "object",
629
+ "properties": {
630
+ "binding": {
631
+ "type": "string",
632
+ "description": "The binding name used to refer to the dataset in the Worker."
633
+ },
634
+ "dataset": {
635
+ "type": "string",
636
+ "description": "The name of this dataset to write to."
637
+ }
638
+ },
639
+ "required": [
640
+ "binding"
641
+ ],
642
+ "additionalProperties": false
643
+ },
644
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#analytics-engine-datasets",
645
+ "default": []
646
+ },
647
+ "browser": {
648
+ "type": "object",
649
+ "properties": {
650
+ "binding": {
651
+ "type": "string"
652
+ }
653
+ },
654
+ "required": [
655
+ "binding"
656
+ ],
657
+ "additionalProperties": false,
658
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#browser-rendering",
659
+ "default": {}
660
+ },
661
+ "ai": {
662
+ "type": "object",
663
+ "properties": {
664
+ "binding": {
665
+ "type": "string"
666
+ },
667
+ "staging": {
668
+ "type": "boolean"
669
+ }
670
+ },
671
+ "required": [
672
+ "binding"
673
+ ],
674
+ "additionalProperties": false,
675
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#workers-ai",
676
+ "default": {}
677
+ },
678
+ "images": {
679
+ "type": "object",
680
+ "properties": {
681
+ "binding": {
682
+ "type": "string"
683
+ }
684
+ },
685
+ "required": [
686
+ "binding"
687
+ ],
688
+ "additionalProperties": false,
689
+ "description": "Binding to Cloudflare Images\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#images",
690
+ "default": {}
691
+ },
692
+ "version_metadata": {
693
+ "type": "object",
694
+ "properties": {
695
+ "binding": {
696
+ "type": "string"
697
+ }
698
+ },
699
+ "required": [
700
+ "binding"
701
+ ],
702
+ "additionalProperties": false,
703
+ "description": "Binding to the Worker Version's metadata"
704
+ },
705
+ "unsafe": {
706
+ "type": "object",
707
+ "properties": {
708
+ "bindings": {
709
+ "type": "array",
710
+ "items": {
711
+ "type": "object",
712
+ "properties": {
713
+ "name": {
714
+ "type": "string"
715
+ },
716
+ "type": {
717
+ "type": "string"
718
+ }
719
+ },
720
+ "required": [
721
+ "name",
722
+ "type"
723
+ ],
724
+ "additionalProperties": {}
725
+ },
726
+ "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."
727
+ },
728
+ "metadata": {
729
+ "type": "object",
730
+ "additionalProperties": {},
731
+ "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."
732
+ },
733
+ "capnp": {
734
+ "anyOf": [
735
+ {
736
+ "type": "object",
737
+ "properties": {
738
+ "base_path": {
739
+ "type": "string"
740
+ },
741
+ "source_schemas": {
742
+ "type": "array",
743
+ "items": {
744
+ "type": "string"
745
+ }
746
+ }
747
+ },
748
+ "required": [
749
+ "base_path",
750
+ "source_schemas"
751
+ ],
752
+ "additionalProperties": false
753
+ },
754
+ {
755
+ "type": "object",
756
+ "properties": {
757
+ "compiled_schema": {
758
+ "type": "string"
759
+ }
760
+ },
761
+ "required": [
762
+ "compiled_schema"
763
+ ],
764
+ "additionalProperties": false
765
+ }
766
+ ],
767
+ "description": "Used for internal capnp uploads for the Workers runtime"
768
+ }
769
+ },
770
+ "additionalProperties": false,
771
+ "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.",
772
+ "default": {}
773
+ },
774
+ "mtls_certificates": {
775
+ "type": "array",
776
+ "items": {
777
+ "type": "object",
778
+ "properties": {
779
+ "binding": {
780
+ "type": "string",
781
+ "description": "The binding name used to refer to the certificate in the Worker"
782
+ },
783
+ "certificate_id": {
784
+ "type": "string",
785
+ "description": "The uuid of the uploaded mTLS certificate"
786
+ }
787
+ },
788
+ "required": [
789
+ "binding",
790
+ "certificate_id"
791
+ ],
792
+ "additionalProperties": false
793
+ },
794
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#mtls-certificates",
795
+ "default": []
796
+ },
797
+ "tail_consumers": {
798
+ "type": "array",
799
+ "items": {
800
+ "$ref": "#/definitions/TailConsumer"
801
+ },
802
+ "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.",
803
+ "default": []
804
+ },
805
+ "dispatch_namespaces": {
806
+ "type": "array",
807
+ "items": {
808
+ "type": "object",
809
+ "properties": {
810
+ "binding": {
811
+ "type": "string",
812
+ "description": "The binding name used to refer to the bound service."
813
+ },
814
+ "namespace": {
815
+ "type": "string",
816
+ "description": "The namespace to bind to."
817
+ },
818
+ "outbound": {
819
+ "$ref": "#/definitions/DispatchNamespaceOutbound",
820
+ "description": "Details about the outbound Worker which will handle outbound requests from your namespace"
821
+ }
822
+ },
823
+ "required": [
824
+ "binding",
825
+ "namespace"
826
+ ],
827
+ "additionalProperties": false
828
+ },
829
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#dispatch-namespace-bindings-workers-for-platforms",
830
+ "default": []
831
+ },
832
+ "pipelines": {
833
+ "type": "array",
834
+ "items": {
835
+ "type": "object",
836
+ "properties": {
837
+ "binding": {
838
+ "type": "string",
839
+ "description": "The binding name used to refer to the bound service."
840
+ },
841
+ "pipeline": {
842
+ "type": "string",
843
+ "description": "Name of the Pipeline to bind"
844
+ }
845
+ },
846
+ "required": [
847
+ "binding",
848
+ "pipeline"
849
+ ],
850
+ "additionalProperties": false
851
+ },
852
+ "description": "Specifies list of Pipelines bound to this Worker environment\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
853
+ "default": []
854
+ },
855
+ "secrets_store_secrets": {
856
+ "type": "array",
857
+ "items": {
858
+ "type": "object",
859
+ "properties": {
860
+ "binding": {
861
+ "type": "string",
862
+ "description": "The binding name used to refer to the bound service."
863
+ },
864
+ "store_id": {
865
+ "type": "string",
866
+ "description": "Id of the secret store"
867
+ },
868
+ "secret_name": {
869
+ "type": "string",
870
+ "description": "Name of the secret"
871
+ }
872
+ },
873
+ "required": [
874
+ "binding",
875
+ "store_id",
876
+ "secret_name"
877
+ ],
878
+ "additionalProperties": false
879
+ },
880
+ "description": "Specifies Secret Store 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.",
881
+ "default": []
882
+ },
883
+ "pages_build_output_dir": {
884
+ "type": "string",
885
+ "description": "The directory of static assets to serve.\n\nThe presence of this field in a Wrangler configuration file indicates a Pages project, and will prompt the handling of the configuration file according to the Pages-specific validation rules."
886
+ },
887
+ "legacy_env": {
888
+ "type": "boolean",
889
+ "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."
890
+ },
891
+ "send_metrics": {
892
+ "type": "boolean",
893
+ "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."
894
+ },
895
+ "dev": {
896
+ "$ref": "#/definitions/RawDevConfig",
897
+ "description": "Options to configure the development server that your worker will use.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#local-development-settings"
898
+ },
899
+ "site": {
900
+ "type": "object",
901
+ "properties": {
902
+ "bucket": {
903
+ "type": "string",
904
+ "description": "The directory containing your static assets.\n\nIt must be a path relative to your Wrangler configuration file. Example: bucket = \"./public\"\n\nIf there is a `site` field then it must contain this `bucket` field."
905
+ },
906
+ "entry-point": {
907
+ "type": "string",
908
+ "description": "The location of your Worker script.",
909
+ "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."
910
+ },
911
+ "include": {
912
+ "type": "array",
913
+ "items": {
914
+ "type": "string"
915
+ },
916
+ "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\"]",
917
+ "default": []
918
+ },
919
+ "exclude": {
920
+ "type": "array",
921
+ "items": {
922
+ "type": "string"
923
+ },
924
+ "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\"]",
925
+ "default": []
926
+ }
927
+ },
928
+ "required": [
929
+ "bucket"
930
+ ],
931
+ "additionalProperties": false,
932
+ "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\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#workers-sites"
933
+ },
934
+ "wasm_modules": {
935
+ "type": "object",
936
+ "additionalProperties": {
937
+ "type": "string"
938
+ },
939
+ "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."
940
+ },
941
+ "text_blobs": {
942
+ "type": "object",
943
+ "additionalProperties": {
944
+ "type": "string"
945
+ },
946
+ "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."
947
+ },
948
+ "data_blobs": {
949
+ "type": "object",
950
+ "additionalProperties": {
951
+ "type": "string"
952
+ },
953
+ "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."
954
+ },
955
+ "alias": {
956
+ "type": "object",
957
+ "additionalProperties": {
958
+ "type": "string"
959
+ },
960
+ "description": "A map of module aliases. Lets you swap out a module for any others. Corresponds with esbuild's `alias` config\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#module-aliasing"
961
+ },
962
+ "keep_vars": {
963
+ "type": "boolean",
964
+ "description": "By default, the Wrangler configuration file 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.",
965
+ "default": false
966
+ }
967
+ }
968
+ },
969
+ "RawEnvironment": {
970
+ "type": "object",
971
+ "properties": {
972
+ "name": {
973
+ "type": "string",
974
+ "description": "The name of your Worker. Alphanumeric + dashes only."
975
+ },
976
+ "account_id": {
977
+ "type": "string",
978
+ "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."
979
+ },
980
+ "compatibility_date": {
981
+ "type": "string",
982
+ "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/configuration/compatibility-dates"
983
+ },
984
+ "compatibility_flags": {
985
+ "type": "array",
986
+ "items": {
987
+ "type": "string"
988
+ },
989
+ "description": "A list of flags that enable features from upcoming features of the Workers runtime, usually used together with compatibility_date.\n\nMore details at https://developers.cloudflare.com/workers/configuration/compatibility-flags/",
990
+ "default": []
991
+ },
992
+ "main": {
993
+ "type": "string",
994
+ "description": "The entrypoint/path to the JavaScript file that will be executed."
995
+ },
996
+ "find_additional_modules": {
997
+ "type": "boolean",
998
+ "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."
999
+ },
1000
+ "preserve_file_names": {
1001
+ "type": "boolean",
1002
+ "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`."
1003
+ },
1004
+ "base_dir": {
1005
+ "type": "string",
1006
+ "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."
1007
+ },
1008
+ "workers_dev": {
1009
+ "type": "boolean",
1010
+ "description": "Whether we use <name>.<subdomain>.workers.dev to test and deploy your Worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#workersdev",
1011
+ "default": true
1012
+ },
1013
+ "preview_urls": {
1014
+ "type": "boolean",
1015
+ "description": "Whether we use <version>-<name>.<subdomain>.workers.dev to serve Preview URLs for your Worker.",
1016
+ "default": true
1017
+ },
1018
+ "routes": {
1019
+ "type": "array",
1020
+ "items": {
1021
+ "$ref": "#/definitions/Route"
1022
+ },
1023
+ "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`)\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#types-of-routes"
1024
+ },
1025
+ "route": {
1026
+ "$ref": "#/definitions/Route",
1027
+ "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"
1028
+ },
1029
+ "tsconfig": {
1030
+ "type": "string",
1031
+ "description": "Path to a custom tsconfig"
1032
+ },
1033
+ "jsx_factory": {
1034
+ "type": "string",
1035
+ "description": "The function to use to replace jsx syntax.",
1036
+ "default": "React.createElement"
1037
+ },
1038
+ "jsx_fragment": {
1039
+ "type": "string",
1040
+ "description": "The function to use to replace jsx fragment syntax.",
1041
+ "default": "React.Fragment"
1042
+ },
1043
+ "migrations": {
1044
+ "type": "array",
1045
+ "items": {
1046
+ "$ref": "#/definitions/DurableObjectMigration"
1047
+ },
1048
+ "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",
1049
+ "default": []
1050
+ },
1051
+ "triggers": {
1052
+ "type": "object",
1053
+ "properties": {
1054
+ "crons": {
1055
+ "type": "array",
1056
+ "items": {
1057
+ "type": "string"
1058
+ }
1059
+ }
1060
+ },
1061
+ "additionalProperties": false,
1062
+ "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\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#triggers",
1063
+ "default": "{crons: undefined}"
1064
+ },
1065
+ "limits": {
1066
+ "$ref": "#/definitions/UserLimits",
1067
+ "description": "Specify limits for runtime behavior. Only supported for the \"standard\" Usage Model\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#limits"
1068
+ },
1069
+ "rules": {
1070
+ "type": "array",
1071
+ "items": {
1072
+ "$ref": "#/definitions/Rule"
1073
+ },
1074
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#bundling"
1075
+ },
1076
+ "build": {
1077
+ "type": "object",
1078
+ "properties": {
1079
+ "command": {
1080
+ "type": "string",
1081
+ "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."
1082
+ },
1083
+ "cwd": {
1084
+ "type": "string",
1085
+ "description": "The directory in which the command is executed."
1086
+ },
1087
+ "watch_dir": {
1088
+ "anyOf": [
1089
+ {
1090
+ "type": "string"
1091
+ },
1092
+ {
1093
+ "type": "array",
1094
+ "items": {
1095
+ "type": "string"
1096
+ }
1097
+ }
1098
+ ],
1099
+ "description": "The directory to watch for changes while using wrangler dev, defaults to the current working directory"
1100
+ }
1101
+ },
1102
+ "additionalProperties": false,
1103
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#custom-builds",
1104
+ "default": {
1105
+ "watch_dir": "./src"
1106
+ }
1107
+ },
1108
+ "no_bundle": {
1109
+ "type": "boolean",
1110
+ "description": "Skip internal build steps and directly deploy script"
1111
+ },
1112
+ "minify": {
1113
+ "type": "boolean",
1114
+ "description": "Minify the script before uploading."
1115
+ },
1116
+ "keep_names": {
1117
+ "type": "boolean",
1118
+ "description": "Keep function names after javascript transpilations.",
1119
+ "default": "{true}"
1120
+ },
1121
+ "first_party_worker": {
1122
+ "type": "boolean",
1123
+ "description": "Designates this Worker as an internal-only \"first-party\" Worker."
1124
+ },
1125
+ "logfwdr": {
1126
+ "type": "object",
1127
+ "properties": {
1128
+ "bindings": {
1129
+ "type": "array",
1130
+ "items": {
1131
+ "type": "object",
1132
+ "properties": {
1133
+ "name": {
1134
+ "type": "string",
1135
+ "description": "The binding name used to refer to logfwdr"
1136
+ },
1137
+ "destination": {
1138
+ "type": "string",
1139
+ "description": "The destination for this logged message"
1140
+ }
1141
+ },
1142
+ "required": [
1143
+ "name",
1144
+ "destination"
1145
+ ],
1146
+ "additionalProperties": false
1147
+ }
1148
+ }
1149
+ },
1150
+ "required": [
1151
+ "bindings"
1152
+ ],
1153
+ "additionalProperties": false,
1154
+ "description": "List of bindings that you will send to logfwdr",
1155
+ "default": {
1156
+ "bindings": []
1157
+ }
1158
+ },
1159
+ "logpush": {
1160
+ "type": "boolean",
1161
+ "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/"
1162
+ },
1163
+ "upload_source_maps": {
1164
+ "type": "boolean",
1165
+ "description": "Include source maps when uploading this worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#source-maps"
1166
+ },
1167
+ "placement": {
1168
+ "type": "object",
1169
+ "properties": {
1170
+ "mode": {
1171
+ "type": "string",
1172
+ "enum": [
1173
+ "off",
1174
+ "smart"
1175
+ ]
1176
+ },
1177
+ "hint": {
1178
+ "type": "string"
1179
+ }
1180
+ },
1181
+ "required": [
1182
+ "mode"
1183
+ ],
1184
+ "additionalProperties": false,
1185
+ "description": "Specify how the Worker should be located to minimize round-trip time.\n\nMore details: https://developers.cloudflare.com/workers/platform/smart-placement/"
1186
+ },
1187
+ "assets": {
1188
+ "$ref": "#/definitions/Assets",
1189
+ "description": "Specify the directory of static assets to deploy/serve\n\nMore details at https://developers.cloudflare.com/workers/frameworks/\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#assets"
1190
+ },
1191
+ "observability": {
1192
+ "$ref": "#/definitions/Observability",
1193
+ "description": "Specify the observability behavior of the Worker.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#observability"
1194
+ },
1195
+ "define": {
1196
+ "type": "object",
1197
+ "additionalProperties": {
1198
+ "type": "string"
1199
+ },
1200
+ "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.",
1201
+ "default": {}
1202
+ },
1203
+ "vars": {
1204
+ "type": "object",
1205
+ "additionalProperties": {
1206
+ "anyOf": [
1207
+ {
1208
+ "type": "string"
1209
+ },
1210
+ {
1211
+ "$ref": "#/definitions/Json"
1212
+ }
1213
+ ]
1214
+ },
1215
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#environment-variables",
1216
+ "default": {}
1217
+ },
1218
+ "durable_objects": {
1219
+ "type": "object",
1220
+ "properties": {
1221
+ "bindings": {
1222
+ "$ref": "#/definitions/DurableObjectBindings"
1223
+ }
1224
+ },
1225
+ "required": [
1226
+ "bindings"
1227
+ ],
1228
+ "additionalProperties": false,
1229
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#durable-objects",
1230
+ "default": {
1231
+ "bindings": []
1232
+ }
1233
+ },
1234
+ "workflows": {
1235
+ "type": "array",
1236
+ "items": {
1237
+ "$ref": "#/definitions/WorkflowBinding"
1238
+ },
1239
+ "description": "A list of workflows that your Worker should be bound to.\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1240
+ "default": []
1241
+ },
1242
+ "cloudchamber": {
1243
+ "$ref": "#/definitions/CloudchamberConfig",
1244
+ "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.",
1245
+ "default": {}
1246
+ },
1247
+ "containers": {
1248
+ "type": "array",
1249
+ "items": {
1250
+ "$ref": "#/definitions/ContainerApp"
1251
+ },
1252
+ "description": "Container related configuration",
1253
+ "default": []
1254
+ },
1255
+ "kv_namespaces": {
1256
+ "type": "array",
1257
+ "items": {
1258
+ "type": "object",
1259
+ "properties": {
1260
+ "binding": {
1261
+ "type": "string",
1262
+ "description": "The binding name used to refer to the KV Namespace"
1263
+ },
1264
+ "id": {
1265
+ "type": "string",
1266
+ "description": "The ID of the KV namespace"
1267
+ },
1268
+ "preview_id": {
1269
+ "type": "string",
1270
+ "description": "The ID of the KV namespace used during `wrangler dev`"
1271
+ },
1272
+ "remote": {
1273
+ "type": "boolean",
1274
+ "description": "Whether the KV namespace should be remote or not (only available under `--x-mixed-mode`)"
1275
+ }
1276
+ },
1277
+ "required": [
1278
+ "binding"
1279
+ ],
1280
+ "additionalProperties": false
1281
+ },
1282
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#kv-namespaces",
1283
+ "default": []
1284
+ },
1285
+ "send_email": {
1286
+ "type": "array",
1287
+ "items": {
1288
+ "type": "object",
1289
+ "properties": {
1290
+ "name": {
1291
+ "type": "string",
1292
+ "description": "The binding name used to refer to the this binding"
1293
+ },
1294
+ "destination_address": {
1295
+ "type": "string",
1296
+ "description": "If this binding should be restricted to a specific verified address"
1297
+ },
1298
+ "allowed_destination_addresses": {
1299
+ "type": "array",
1300
+ "items": {
1301
+ "type": "string"
1302
+ },
1303
+ "description": "If this binding should be restricted to a set of verified addresses"
1304
+ }
1305
+ },
1306
+ "required": [
1307
+ "name"
1308
+ ],
1309
+ "additionalProperties": false
1310
+ },
1311
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#email-bindings",
1312
+ "default": []
1313
+ },
1314
+ "queues": {
1315
+ "type": "object",
1316
+ "properties": {
1317
+ "producers": {
1318
+ "type": "array",
1319
+ "items": {
1320
+ "type": "object",
1321
+ "properties": {
1322
+ "binding": {
1323
+ "type": "string",
1324
+ "description": "The binding name used to refer to the Queue in the Worker."
1325
+ },
1326
+ "queue": {
1327
+ "type": "string",
1328
+ "description": "The name of this Queue."
1329
+ },
1330
+ "delivery_delay": {
1331
+ "type": "number",
1332
+ "description": "The number of seconds to wait before delivering a message"
1333
+ },
1334
+ "remote": {
1335
+ "type": "boolean",
1336
+ "description": "Whether the Queue producer should be remote or not (only available under `--x-mixed-mode`)"
1337
+ }
1338
+ },
1339
+ "required": [
1340
+ "binding",
1341
+ "queue"
1342
+ ],
1343
+ "additionalProperties": false
1344
+ },
1345
+ "description": "Producer bindings"
1346
+ },
1347
+ "consumers": {
1348
+ "type": "array",
1349
+ "items": {
1350
+ "type": "object",
1351
+ "properties": {
1352
+ "queue": {
1353
+ "type": "string",
1354
+ "description": "The name of the queue from which this consumer should consume."
1355
+ },
1356
+ "type": {
1357
+ "type": "string",
1358
+ "description": "The consumer type, e.g., worker, http-pull, r2-bucket, etc. Default is worker."
1359
+ },
1360
+ "max_batch_size": {
1361
+ "type": "number",
1362
+ "description": "The maximum number of messages per batch"
1363
+ },
1364
+ "max_batch_timeout": {
1365
+ "type": "number",
1366
+ "description": "The maximum number of seconds to wait to fill a batch with messages."
1367
+ },
1368
+ "max_retries": {
1369
+ "type": "number",
1370
+ "description": "The maximum number of retries for each message."
1371
+ },
1372
+ "dead_letter_queue": {
1373
+ "type": "string",
1374
+ "description": "The queue to send messages that failed to be consumed."
1375
+ },
1376
+ "max_concurrency": {
1377
+ "type": [
1378
+ "number",
1379
+ "null"
1380
+ ],
1381
+ "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."
1382
+ },
1383
+ "visibility_timeout_ms": {
1384
+ "type": "number",
1385
+ "description": "The number of milliseconds to wait for pulled messages to become visible again"
1386
+ },
1387
+ "retry_delay": {
1388
+ "type": "number",
1389
+ "description": "The number of seconds to wait before retrying a message"
1390
+ }
1391
+ },
1392
+ "required": [
1393
+ "queue"
1394
+ ],
1395
+ "additionalProperties": false
1396
+ },
1397
+ "description": "Consumer configuration"
1398
+ }
1399
+ },
1400
+ "additionalProperties": false,
1401
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#queues",
1402
+ "default": {
1403
+ "consumers": [],
1404
+ "producers": []
1405
+ }
1406
+ },
1407
+ "r2_buckets": {
1408
+ "type": "array",
1409
+ "items": {
1410
+ "type": "object",
1411
+ "properties": {
1412
+ "binding": {
1413
+ "type": "string",
1414
+ "description": "The binding name used to refer to the R2 bucket in the Worker."
1415
+ },
1416
+ "bucket_name": {
1417
+ "type": "string",
1418
+ "description": "The name of this R2 bucket at the edge."
1419
+ },
1420
+ "preview_bucket_name": {
1421
+ "type": "string",
1422
+ "description": "The preview name of this R2 bucket at the edge."
1423
+ },
1424
+ "jurisdiction": {
1425
+ "type": "string",
1426
+ "description": "The jurisdiction that the bucket exists in. Default if not present."
1427
+ },
1428
+ "remote": {
1429
+ "type": "boolean",
1430
+ "description": "Whether the R2 bucket should be remote or not (only available under `--x-mixed-mode`)"
1431
+ }
1432
+ },
1433
+ "required": [
1434
+ "binding"
1435
+ ],
1436
+ "additionalProperties": false
1437
+ },
1438
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#r2-buckets",
1439
+ "default": []
1440
+ },
1441
+ "d1_databases": {
1442
+ "type": "array",
1443
+ "items": {
1444
+ "type": "object",
1445
+ "properties": {
1446
+ "binding": {
1447
+ "type": "string",
1448
+ "description": "The binding name used to refer to the D1 database in the Worker."
1449
+ },
1450
+ "database_name": {
1451
+ "type": "string",
1452
+ "description": "The name of this D1 database."
1453
+ },
1454
+ "database_id": {
1455
+ "type": "string",
1456
+ "description": "The UUID of this D1 database (not required)."
1457
+ },
1458
+ "preview_database_id": {
1459
+ "type": "string",
1460
+ "description": "The UUID of this D1 database for Wrangler Dev (if specified)."
1461
+ },
1462
+ "migrations_table": {
1463
+ "type": "string",
1464
+ "description": "The name of the migrations table for this D1 database (defaults to 'd1_migrations')."
1465
+ },
1466
+ "migrations_dir": {
1467
+ "type": "string",
1468
+ "description": "The path to the directory of migrations for this D1 database (defaults to './migrations')."
1469
+ },
1470
+ "database_internal_env": {
1471
+ "type": "string",
1472
+ "description": "Internal use only."
1473
+ },
1474
+ "remote": {
1475
+ "type": "boolean",
1476
+ "description": "Whether the D1 database should be remote or not (only available under `--x-mixed-mode`)"
1477
+ }
1478
+ },
1479
+ "required": [
1480
+ "binding"
1481
+ ],
1482
+ "additionalProperties": false
1483
+ },
1484
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#d1-databases",
1485
+ "default": []
1486
+ },
1487
+ "vectorize": {
1488
+ "type": "array",
1489
+ "items": {
1490
+ "type": "object",
1491
+ "properties": {
1492
+ "binding": {
1493
+ "type": "string",
1494
+ "description": "The binding name used to refer to the Vectorize index in the Worker."
1495
+ },
1496
+ "index_name": {
1497
+ "type": "string",
1498
+ "description": "The name of the index."
1499
+ }
1500
+ },
1501
+ "required": [
1502
+ "binding",
1503
+ "index_name"
1504
+ ],
1505
+ "additionalProperties": false
1506
+ },
1507
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#vectorize-indexes",
1508
+ "default": []
1509
+ },
1510
+ "hyperdrive": {
1511
+ "type": "array",
1512
+ "items": {
1513
+ "type": "object",
1514
+ "properties": {
1515
+ "binding": {
1516
+ "type": "string",
1517
+ "description": "The binding name used to refer to the project in the Worker."
1518
+ },
1519
+ "id": {
1520
+ "type": "string",
1521
+ "description": "The id of the database."
1522
+ },
1523
+ "localConnectionString": {
1524
+ "type": "string",
1525
+ "description": "The local database connection string for `wrangler dev`"
1526
+ }
1527
+ },
1528
+ "required": [
1529
+ "binding",
1530
+ "id"
1531
+ ],
1532
+ "additionalProperties": false
1533
+ },
1534
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#hyperdrive",
1535
+ "default": []
1536
+ },
1537
+ "services": {
1538
+ "type": "array",
1539
+ "items": {
1540
+ "type": "object",
1541
+ "properties": {
1542
+ "binding": {
1543
+ "type": "string",
1544
+ "description": "The binding name used to refer to the bound service."
1545
+ },
1546
+ "service": {
1547
+ "type": "string",
1548
+ "description": "The name of the service."
1549
+ },
1550
+ "environment": {
1551
+ "type": "string",
1552
+ "description": "The environment of the service (e.g. production, staging, etc)."
1553
+ },
1554
+ "entrypoint": {
1555
+ "type": "string",
1556
+ "description": "Optionally, the entrypoint (named export) of the service to bind to."
1557
+ },
1558
+ "props": {
1559
+ "type": "object",
1560
+ "additionalProperties": {},
1561
+ "description": "Optional properties that will be made available to the service via ctx.props."
1562
+ },
1563
+ "remote": {
1564
+ "type": "boolean",
1565
+ "description": "Whether the service binding should be remote or not (only available under `--x-mixed-mode`)"
1566
+ }
1567
+ },
1568
+ "required": [
1569
+ "binding",
1570
+ "service"
1571
+ ],
1572
+ "additionalProperties": false
1573
+ },
1574
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#service-bindings",
1575
+ "default": []
1576
+ },
1577
+ "analytics_engine_datasets": {
1578
+ "type": "array",
1579
+ "items": {
1580
+ "type": "object",
1581
+ "properties": {
1582
+ "binding": {
1583
+ "type": "string",
1584
+ "description": "The binding name used to refer to the dataset in the Worker."
1585
+ },
1586
+ "dataset": {
1587
+ "type": "string",
1588
+ "description": "The name of this dataset to write to."
1589
+ }
1590
+ },
1591
+ "required": [
1592
+ "binding"
1593
+ ],
1594
+ "additionalProperties": false
1595
+ },
1596
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#analytics-engine-datasets",
1597
+ "default": []
1598
+ },
1599
+ "browser": {
1600
+ "type": "object",
1601
+ "properties": {
1602
+ "binding": {
1603
+ "type": "string"
1604
+ }
1605
+ },
1606
+ "required": [
1607
+ "binding"
1608
+ ],
1609
+ "additionalProperties": false,
1610
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#browser-rendering",
1611
+ "default": {}
1612
+ },
1613
+ "ai": {
1614
+ "type": "object",
1615
+ "properties": {
1616
+ "binding": {
1617
+ "type": "string"
1618
+ },
1619
+ "staging": {
1620
+ "type": "boolean"
1621
+ }
1622
+ },
1623
+ "required": [
1624
+ "binding"
1625
+ ],
1626
+ "additionalProperties": false,
1627
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#workers-ai",
1628
+ "default": {}
1629
+ },
1630
+ "images": {
1631
+ "type": "object",
1632
+ "properties": {
1633
+ "binding": {
1634
+ "type": "string"
1635
+ }
1636
+ },
1637
+ "required": [
1638
+ "binding"
1639
+ ],
1640
+ "additionalProperties": false,
1641
+ "description": "Binding to Cloudflare Images\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#images",
1642
+ "default": {}
1643
+ },
1644
+ "version_metadata": {
1645
+ "type": "object",
1646
+ "properties": {
1647
+ "binding": {
1648
+ "type": "string"
1649
+ }
1650
+ },
1651
+ "required": [
1652
+ "binding"
1653
+ ],
1654
+ "additionalProperties": false,
1655
+ "description": "Binding to the Worker Version's metadata"
1656
+ },
1657
+ "unsafe": {
1658
+ "type": "object",
1659
+ "properties": {
1660
+ "bindings": {
1661
+ "type": "array",
1662
+ "items": {
1663
+ "type": "object",
1664
+ "properties": {
1665
+ "name": {
1666
+ "type": "string"
1667
+ },
1668
+ "type": {
1669
+ "type": "string"
1670
+ }
1671
+ },
1672
+ "required": [
1673
+ "name",
1674
+ "type"
1675
+ ],
1676
+ "additionalProperties": {}
1677
+ },
1678
+ "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."
1679
+ },
1680
+ "metadata": {
1681
+ "type": "object",
1682
+ "additionalProperties": {},
1683
+ "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."
1684
+ },
1685
+ "capnp": {
1686
+ "anyOf": [
1687
+ {
1688
+ "type": "object",
1689
+ "properties": {
1690
+ "base_path": {
1691
+ "type": "string"
1692
+ },
1693
+ "source_schemas": {
1694
+ "type": "array",
1695
+ "items": {
1696
+ "type": "string"
1697
+ }
1698
+ }
1699
+ },
1700
+ "required": [
1701
+ "base_path",
1702
+ "source_schemas"
1703
+ ],
1704
+ "additionalProperties": false
1705
+ },
1706
+ {
1707
+ "type": "object",
1708
+ "properties": {
1709
+ "compiled_schema": {
1710
+ "type": "string"
1711
+ }
1712
+ },
1713
+ "required": [
1714
+ "compiled_schema"
1715
+ ],
1716
+ "additionalProperties": false
1717
+ }
1718
+ ],
1719
+ "description": "Used for internal capnp uploads for the Workers runtime"
1720
+ }
1721
+ },
1722
+ "additionalProperties": false,
1723
+ "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.",
1724
+ "default": {}
1725
+ },
1726
+ "mtls_certificates": {
1727
+ "type": "array",
1728
+ "items": {
1729
+ "type": "object",
1730
+ "properties": {
1731
+ "binding": {
1732
+ "type": "string",
1733
+ "description": "The binding name used to refer to the certificate in the Worker"
1734
+ },
1735
+ "certificate_id": {
1736
+ "type": "string",
1737
+ "description": "The uuid of the uploaded mTLS certificate"
1738
+ }
1739
+ },
1740
+ "required": [
1741
+ "binding",
1742
+ "certificate_id"
1743
+ ],
1744
+ "additionalProperties": false
1745
+ },
1746
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#mtls-certificates",
1747
+ "default": []
1748
+ },
1749
+ "tail_consumers": {
1750
+ "type": "array",
1751
+ "items": {
1752
+ "$ref": "#/definitions/TailConsumer"
1753
+ },
1754
+ "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.",
1755
+ "default": []
1756
+ },
1757
+ "dispatch_namespaces": {
1758
+ "type": "array",
1759
+ "items": {
1760
+ "type": "object",
1761
+ "properties": {
1762
+ "binding": {
1763
+ "type": "string",
1764
+ "description": "The binding name used to refer to the bound service."
1765
+ },
1766
+ "namespace": {
1767
+ "type": "string",
1768
+ "description": "The namespace to bind to."
1769
+ },
1770
+ "outbound": {
1771
+ "$ref": "#/definitions/DispatchNamespaceOutbound",
1772
+ "description": "Details about the outbound Worker which will handle outbound requests from your namespace"
1773
+ }
1774
+ },
1775
+ "required": [
1776
+ "binding",
1777
+ "namespace"
1778
+ ],
1779
+ "additionalProperties": false
1780
+ },
1781
+ "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.\n\nFor reference, see https://developers.cloudflare.com/workers/wrangler/configuration/#dispatch-namespace-bindings-workers-for-platforms",
1782
+ "default": []
1783
+ },
1784
+ "pipelines": {
1785
+ "type": "array",
1786
+ "items": {
1787
+ "type": "object",
1788
+ "properties": {
1789
+ "binding": {
1790
+ "type": "string",
1791
+ "description": "The binding name used to refer to the bound service."
1792
+ },
1793
+ "pipeline": {
1794
+ "type": "string",
1795
+ "description": "Name of the Pipeline to bind"
1796
+ }
1797
+ },
1798
+ "required": [
1799
+ "binding",
1800
+ "pipeline"
1801
+ ],
1802
+ "additionalProperties": false
1803
+ },
1804
+ "description": "Specifies list of Pipelines bound to this Worker environment\n\nNOTE: This field is not automatically inherited from the top level environment, and so must be specified in every named environment.",
1805
+ "default": []
1806
+ },
1807
+ "secrets_store_secrets": {
1808
+ "type": "array",
1809
+ "items": {
1810
+ "type": "object",
1811
+ "properties": {
1812
+ "binding": {
1813
+ "type": "string",
1814
+ "description": "The binding name used to refer to the bound service."
1815
+ },
1816
+ "store_id": {
1817
+ "type": "string",
1818
+ "description": "Id of the secret store"
1819
+ },
1820
+ "secret_name": {
1821
+ "type": "string",
1822
+ "description": "Name of the secret"
1823
+ }
1824
+ },
1825
+ "required": [
1826
+ "binding",
1827
+ "store_id",
1828
+ "secret_name"
1829
+ ],
1830
+ "additionalProperties": false
1831
+ },
1832
+ "description": "Specifies Secret Store 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.",
1833
+ "default": []
1834
+ }
1835
+ },
1836
+ "additionalProperties": false,
1837
+ "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."
1838
+ },
1839
+ "Route": {
1840
+ "anyOf": [
1841
+ {
1842
+ "type": "string"
1843
+ },
1844
+ {
1845
+ "$ref": "#/definitions/ZoneIdRoute"
1846
+ },
1847
+ {
1848
+ "$ref": "#/definitions/ZoneNameRoute"
1849
+ },
1850
+ {
1851
+ "$ref": "#/definitions/CustomDomainRoute"
1852
+ }
1853
+ ]
1854
+ },
1855
+ "ZoneIdRoute": {
1856
+ "type": "object",
1857
+ "properties": {
1858
+ "pattern": {
1859
+ "type": "string"
1860
+ },
1861
+ "zone_id": {
1862
+ "type": "string"
1863
+ },
1864
+ "custom_domain": {
1865
+ "type": "boolean"
1866
+ }
1867
+ },
1868
+ "required": [
1869
+ "pattern",
1870
+ "zone_id"
1871
+ ],
1872
+ "additionalProperties": false
1873
+ },
1874
+ "ZoneNameRoute": {
1875
+ "type": "object",
1876
+ "properties": {
1877
+ "pattern": {
1878
+ "type": "string"
1879
+ },
1880
+ "zone_name": {
1881
+ "type": "string"
1882
+ },
1883
+ "custom_domain": {
1884
+ "type": "boolean"
1885
+ }
1886
+ },
1887
+ "required": [
1888
+ "pattern",
1889
+ "zone_name"
1890
+ ],
1891
+ "additionalProperties": false
1892
+ },
1893
+ "CustomDomainRoute": {
1894
+ "type": "object",
1895
+ "properties": {
1896
+ "pattern": {
1897
+ "type": "string"
1898
+ },
1899
+ "custom_domain": {
1900
+ "type": "boolean"
1901
+ }
1902
+ },
1903
+ "required": [
1904
+ "pattern",
1905
+ "custom_domain"
1906
+ ],
1907
+ "additionalProperties": false
1908
+ },
1909
+ "DurableObjectMigration": {
1910
+ "type": "object",
1911
+ "properties": {
1912
+ "tag": {
1913
+ "type": "string",
1914
+ "description": "A unique identifier for this migration."
1915
+ },
1916
+ "new_classes": {
1917
+ "type": "array",
1918
+ "items": {
1919
+ "type": "string"
1920
+ },
1921
+ "description": "The new Durable Objects being defined."
1922
+ },
1923
+ "new_sqlite_classes": {
1924
+ "type": "array",
1925
+ "items": {
1926
+ "type": "string"
1927
+ },
1928
+ "description": "The new SQLite Durable Objects being defined."
1929
+ },
1930
+ "renamed_classes": {
1931
+ "type": "array",
1932
+ "items": {
1933
+ "type": "object",
1934
+ "properties": {
1935
+ "from": {
1936
+ "type": "string"
1937
+ },
1938
+ "to": {
1939
+ "type": "string"
1940
+ }
1941
+ },
1942
+ "required": [
1943
+ "from",
1944
+ "to"
1945
+ ],
1946
+ "additionalProperties": false
1947
+ },
1948
+ "description": "The Durable Objects being renamed."
1949
+ },
1950
+ "deleted_classes": {
1951
+ "type": "array",
1952
+ "items": {
1953
+ "type": "string"
1954
+ },
1955
+ "description": "The Durable Objects being removed."
1956
+ }
1957
+ },
1958
+ "required": [
1959
+ "tag"
1960
+ ],
1961
+ "additionalProperties": false,
1962
+ "description": "Configuration in wrangler for Durable Object Migrations"
1963
+ },
1964
+ "UserLimits": {
1965
+ "type": "object",
1966
+ "properties": {
1967
+ "cpu_ms": {
1968
+ "type": "number",
1969
+ "description": "Maximum allowed CPU time for a Worker's invocation in milliseconds"
1970
+ }
1971
+ },
1972
+ "required": [
1973
+ "cpu_ms"
1974
+ ],
1975
+ "additionalProperties": false
1976
+ },
1977
+ "Rule": {
1978
+ "type": "object",
1979
+ "properties": {
1980
+ "type": {
1981
+ "$ref": "#/definitions/ConfigModuleRuleType"
1982
+ },
1983
+ "globs": {
1984
+ "type": "array",
1985
+ "items": {
1986
+ "type": "string"
1987
+ }
1988
+ },
1989
+ "fallthrough": {
1990
+ "type": "boolean"
1991
+ }
1992
+ },
1993
+ "required": [
1994
+ "type",
1995
+ "globs"
1996
+ ],
1997
+ "additionalProperties": false,
1998
+ "description": "A bundling resolver rule, defining the modules type for paths that match the specified globs."
1999
+ },
2000
+ "ConfigModuleRuleType": {
2001
+ "type": "string",
2002
+ "enum": [
2003
+ "ESModule",
2004
+ "CommonJS",
2005
+ "CompiledWasm",
2006
+ "Text",
2007
+ "Data",
2008
+ "PythonModule",
2009
+ "PythonRequirement"
2010
+ ],
2011
+ "description": "The possible types for a `Rule`."
2012
+ },
2013
+ "Assets": {
2014
+ "type": "object",
2015
+ "properties": {
2016
+ "directory": {
2017
+ "type": "string",
2018
+ "description": "Absolute path to assets directory"
2019
+ },
2020
+ "binding": {
2021
+ "type": "string",
2022
+ "description": "Name of `env` binding property in the User Worker."
2023
+ },
2024
+ "html_handling": {
2025
+ "type": "string",
2026
+ "enum": [
2027
+ "auto-trailing-slash",
2028
+ "force-trailing-slash",
2029
+ "drop-trailing-slash",
2030
+ "none"
2031
+ ],
2032
+ "description": "How to handle HTML requests."
2033
+ },
2034
+ "not_found_handling": {
2035
+ "type": "string",
2036
+ "enum": [
2037
+ "single-page-application",
2038
+ "404-page",
2039
+ "none"
2040
+ ],
2041
+ "description": "How to handle requests that do not match an asset."
2042
+ },
2043
+ "run_worker_first": {
2044
+ "type": "boolean",
2045
+ "description": "If true, route every request to the User Worker, whether or not it matches an asset. If false, then respond to requests that match an asset with that asset directly."
2046
+ }
2047
+ },
2048
+ "additionalProperties": false
2049
+ },
2050
+ "Observability": {
2051
+ "type": "object",
2052
+ "properties": {
2053
+ "enabled": {
2054
+ "type": "boolean",
2055
+ "description": "If observability is enabled for this Worker"
2056
+ },
2057
+ "head_sampling_rate": {
2058
+ "type": "number",
2059
+ "description": "The sampling rate"
2060
+ },
2061
+ "logs": {
2062
+ "type": "object",
2063
+ "properties": {
2064
+ "enabled": {
2065
+ "type": "boolean"
2066
+ },
2067
+ "head_sampling_rate": {
2068
+ "type": "number",
2069
+ "description": "The sampling rate"
2070
+ },
2071
+ "invocation_logs": {
2072
+ "type": "boolean",
2073
+ "description": "Set to false to disable invocation logs"
2074
+ }
2075
+ },
2076
+ "additionalProperties": false
2077
+ }
2078
+ },
2079
+ "additionalProperties": false
2080
+ },
2081
+ "Json": {
2082
+ "anyOf": [
2083
+ {
2084
+ "$ref": "#/definitions/Literal"
2085
+ },
2086
+ {
2087
+ "type": "object",
2088
+ "additionalProperties": {
2089
+ "$ref": "#/definitions/Json"
2090
+ }
2091
+ },
2092
+ {
2093
+ "type": "array",
2094
+ "items": {
2095
+ "$ref": "#/definitions/Json"
2096
+ }
2097
+ }
2098
+ ]
2099
+ },
2100
+ "Literal": {
2101
+ "$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"
2102
+ },
2103
+ "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]>>": {
2104
+ "type": [
2105
+ "string",
2106
+ "number",
2107
+ "boolean",
2108
+ "null"
2109
+ ]
2110
+ },
2111
+ "DurableObjectBindings": {
2112
+ "type": "array",
2113
+ "items": {
2114
+ "type": "object",
2115
+ "properties": {
2116
+ "name": {
2117
+ "type": "string",
2118
+ "description": "The name of the binding used to refer to the Durable Object"
2119
+ },
2120
+ "class_name": {
2121
+ "type": "string",
2122
+ "description": "The exported class name of the Durable Object"
2123
+ },
2124
+ "script_name": {
2125
+ "type": "string",
2126
+ "description": "The script where the Durable Object is defined (if it's external to this Worker)"
2127
+ },
2128
+ "environment": {
2129
+ "type": "string",
2130
+ "description": "The service environment of the script_name to bind to"
2131
+ }
2132
+ },
2133
+ "required": [
2134
+ "name",
2135
+ "class_name"
2136
+ ],
2137
+ "additionalProperties": false
2138
+ }
2139
+ },
2140
+ "WorkflowBinding": {
2141
+ "type": "object",
2142
+ "properties": {
2143
+ "binding": {
2144
+ "type": "string",
2145
+ "description": "The name of the binding used to refer to the Workflow"
2146
+ },
2147
+ "name": {
2148
+ "type": "string",
2149
+ "description": "The name of the Workflow"
2150
+ },
2151
+ "class_name": {
2152
+ "type": "string",
2153
+ "description": "The exported class name of the Workflow"
2154
+ },
2155
+ "script_name": {
2156
+ "type": "string",
2157
+ "description": "The script where the Workflow is defined (if it's external to this Worker)"
2158
+ },
2159
+ "remote": {
2160
+ "type": "boolean",
2161
+ "description": "Whether the Workflow should be remote or not (only available under `--x-mixed-mode`)"
2162
+ }
2163
+ },
2164
+ "required": [
2165
+ "binding",
2166
+ "name",
2167
+ "class_name"
2168
+ ],
2169
+ "additionalProperties": false
2170
+ },
2171
+ "CloudchamberConfig": {
2172
+ "type": "object",
2173
+ "properties": {
2174
+ "image": {
2175
+ "type": "string"
2176
+ },
2177
+ "location": {
2178
+ "type": "string"
2179
+ },
2180
+ "vcpu": {
2181
+ "type": "number"
2182
+ },
2183
+ "memory": {
2184
+ "type": "string"
2185
+ },
2186
+ "ipv4": {
2187
+ "type": "boolean"
2188
+ }
2189
+ },
2190
+ "additionalProperties": false,
2191
+ "description": "Configuration in wrangler for Cloudchamber"
2192
+ },
2193
+ "ContainerApp": {
2194
+ "type": "object",
2195
+ "properties": {
2196
+ "name": {
2197
+ "type": "string",
2198
+ "description": "Name of the application"
2199
+ },
2200
+ "instances": {
2201
+ "type": "number",
2202
+ "description": "Number of application instances"
2203
+ },
2204
+ "max_instances": {
2205
+ "type": "number",
2206
+ "description": "Number of maximum application instances. Only applicable to Durable Object container applications"
2207
+ },
2208
+ "image": {
2209
+ "type": "string",
2210
+ "description": "The path to a Dockerfile, or an image URI. Can be defined both here or by setting the `image` key in the `ContainerApp` configuration"
2211
+ },
2212
+ "image_build_context": {
2213
+ "type": "string",
2214
+ "description": "Build context of the application. By default it is the directory of `image`."
2215
+ },
2216
+ "image_vars": {
2217
+ "type": "object",
2218
+ "additionalProperties": {
2219
+ "type": "string"
2220
+ },
2221
+ "description": "Image variables to be passed along the image"
2222
+ },
2223
+ "class_name": {
2224
+ "type": "string"
2225
+ },
2226
+ "scheduling_policy": {
2227
+ "type": "string",
2228
+ "enum": [
2229
+ "regional",
2230
+ "moon"
2231
+ ],
2232
+ "description": "The scheduling policy of the application, default is regional"
2233
+ },
2234
+ "configuration": {
2235
+ "type": "object",
2236
+ "properties": {
2237
+ "image": {
2238
+ "type": "string"
2239
+ },
2240
+ "labels": {
2241
+ "type": "array",
2242
+ "items": {
2243
+ "type": "object",
2244
+ "properties": {
2245
+ "name": {
2246
+ "type": "string"
2247
+ },
2248
+ "value": {
2249
+ "type": "string"
2250
+ }
2251
+ },
2252
+ "required": [
2253
+ "name",
2254
+ "value"
2255
+ ],
2256
+ "additionalProperties": false
2257
+ }
2258
+ },
2259
+ "secrets": {
2260
+ "type": "array",
2261
+ "items": {
2262
+ "type": "object",
2263
+ "properties": {
2264
+ "name": {
2265
+ "type": "string"
2266
+ },
2267
+ "type": {
2268
+ "type": "string",
2269
+ "const": "env"
2270
+ },
2271
+ "secret": {
2272
+ "type": "string"
2273
+ }
2274
+ },
2275
+ "required": [
2276
+ "name",
2277
+ "type",
2278
+ "secret"
2279
+ ],
2280
+ "additionalProperties": false
2281
+ }
2282
+ }
2283
+ },
2284
+ "required": [
2285
+ "image"
2286
+ ],
2287
+ "additionalProperties": false
2288
+ },
2289
+ "constraints": {
2290
+ "type": "object",
2291
+ "properties": {
2292
+ "regions": {
2293
+ "type": "array",
2294
+ "items": {
2295
+ "type": "string"
2296
+ }
2297
+ },
2298
+ "cities": {
2299
+ "type": "array",
2300
+ "items": {
2301
+ "type": "string"
2302
+ }
2303
+ },
2304
+ "tier": {
2305
+ "type": "number"
2306
+ }
2307
+ },
2308
+ "additionalProperties": false,
2309
+ "description": "Scheduling constraints"
2310
+ },
2311
+ "durable_objects": {
2312
+ "type": "object",
2313
+ "properties": {
2314
+ "namespace_id": {
2315
+ "type": "string"
2316
+ }
2317
+ },
2318
+ "required": [
2319
+ "namespace_id"
2320
+ ],
2321
+ "additionalProperties": false
2322
+ },
2323
+ "rollout_step_percentage": {
2324
+ "type": "number",
2325
+ "description": "How a rollout should be done, defining the size of it"
2326
+ },
2327
+ "rollout_kind": {
2328
+ "type": "string",
2329
+ "enum": [
2330
+ "full_auto",
2331
+ "none",
2332
+ "full_manual"
2333
+ ],
2334
+ "description": "How a rollout should be created. It supports the following modes: - full_auto: The container application will be rolled out fully automatically. - none: The container application won't have a roll out or update. - manual: The container application will be rollout fully by manually actioning progress steps."
2335
+ }
2336
+ },
2337
+ "required": [
2338
+ "name",
2339
+ "class_name",
2340
+ "configuration"
2341
+ ],
2342
+ "additionalProperties": false,
2343
+ "description": "Configuration for a container application"
2344
+ },
2345
+ "TailConsumer": {
2346
+ "type": "object",
2347
+ "properties": {
2348
+ "service": {
2349
+ "type": "string",
2350
+ "description": "The name of the service tail events will be forwarded to."
2351
+ },
2352
+ "environment": {
2353
+ "type": "string",
2354
+ "description": "(Optional) The environment of the service."
2355
+ }
2356
+ },
2357
+ "required": [
2358
+ "service"
2359
+ ],
2360
+ "additionalProperties": false
2361
+ },
2362
+ "DispatchNamespaceOutbound": {
2363
+ "type": "object",
2364
+ "properties": {
2365
+ "service": {
2366
+ "type": "string",
2367
+ "description": "Name of the service handling the outbound requests"
2368
+ },
2369
+ "environment": {
2370
+ "type": "string",
2371
+ "description": "(Optional) Name of the environment handling the outbound requests."
2372
+ },
2373
+ "parameters": {
2374
+ "type": "array",
2375
+ "items": {
2376
+ "type": "string"
2377
+ },
2378
+ "description": "(Optional) List of parameter names, for sending context from your dispatch Worker to the outbound handler"
2379
+ }
2380
+ },
2381
+ "required": [
2382
+ "service"
2383
+ ],
2384
+ "additionalProperties": false
2385
+ },
2386
+ "RawDevConfig": {
2387
+ "type": "object",
2388
+ "properties": {
2389
+ "ip": {
2390
+ "type": "string",
2391
+ "description": "IP address for the local dev server to listen on,",
2392
+ "default": "localhost"
2393
+ },
2394
+ "port": {
2395
+ "type": "number",
2396
+ "description": "Port for the local dev server to listen on",
2397
+ "default": 8787
2398
+ },
2399
+ "inspector_port": {
2400
+ "type": "number",
2401
+ "description": "Port for the local dev server's inspector to listen on",
2402
+ "default": 9229
2403
+ },
2404
+ "local_protocol": {
2405
+ "type": "string",
2406
+ "enum": [
2407
+ "http",
2408
+ "https"
2409
+ ],
2410
+ "description": "Protocol that local wrangler dev server listens to requests on.",
2411
+ "default": "http"
2412
+ },
2413
+ "upstream_protocol": {
2414
+ "type": "string",
2415
+ "enum": [
2416
+ "https",
2417
+ "http"
2418
+ ],
2419
+ "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",
2420
+ "default": "https"
2421
+ },
2422
+ "host": {
2423
+ "type": "string",
2424
+ "description": "Host to forward requests to, defaults to the host of the first route of project"
2425
+ }
2426
+ },
2427
+ "additionalProperties": false
2428
+ }
2429
+ },
2430
+ "allowTrailingCommas": true
2431
+ }