devflare 1.0.0-next.5 → 1.0.0-next.51

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 (596) hide show
  1. package/LICENSE +21 -0
  2. package/LLM.md +17312 -2139
  3. package/README.md +397 -605
  4. package/bin/devflare.js +30 -14
  5. package/dist/_chunks/account-Csog80ie.js +462 -0
  6. package/dist/_chunks/account-resources-CsmVowJp.js +159 -0
  7. package/dist/_chunks/ai-CBEuLdoP.js +322 -0
  8. package/dist/_chunks/api-TzdliH-6.js +568 -0
  9. package/dist/_chunks/build-Ccza8VQz.js +24 -0
  10. package/dist/_chunks/build-artifacts-BNssqhxE.js +483 -0
  11. package/dist/_chunks/cli-CU7wSG1-.js +1163 -0
  12. package/dist/_chunks/cloudflare-BaloqI3H.js +157 -0
  13. package/dist/_chunks/colors-DiK6wPJ5.js +13 -0
  14. package/dist/_chunks/command-utils-_bGRraDR.js +45 -0
  15. package/dist/_chunks/compiler-BtLp9T9N.js +500 -0
  16. package/dist/_chunks/config-QU8UEWmA.js +78 -0
  17. package/dist/_chunks/config-path-1yI7BiDU.js +42 -0
  18. package/dist/_chunks/context-CX50Y2Kb.js +2250 -0
  19. package/dist/_chunks/decorators-QmV57ixr.js +19 -0
  20. package/dist/_chunks/dependencies-C2oxFjU_.js +57 -0
  21. package/dist/_chunks/deploy-aifBaMVv.js +1032 -0
  22. package/dist/_chunks/dev-DF_3baGr.js +3483 -0
  23. package/dist/_chunks/doctor-tR9kGT_Z.js +219 -0
  24. package/dist/_chunks/durable-object-DMtH0XYX.js +234 -0
  25. package/dist/_chunks/env-S0_nMVz1.js +125 -0
  26. package/dist/_chunks/family-DKPp4wqj.js +143 -0
  27. package/dist/_chunks/generated-artifacts-dMJY4KAt.js +32 -0
  28. package/dist/_chunks/glob-CmQOvunB.js +56 -0
  29. package/dist/_chunks/init-DnkJOmpW.js +165 -0
  30. package/dist/_chunks/loader-OQ2AWpqm.js +1308 -0
  31. package/dist/_chunks/local-dev-vars-CTSa-wvF.js +81 -0
  32. package/dist/_chunks/local-hyperdrive-CJ90j46O.js +119 -0
  33. package/dist/_chunks/local-media-bindings-DsAW4AMF.js +335 -0
  34. package/dist/_chunks/local-secrets-CYoHfvQ1.js +123 -0
  35. package/dist/_chunks/local-workflow-entrypoints-8d_mXh8T.js +90 -0
  36. package/dist/_chunks/login-rVWUZOKC.js +51 -0
  37. package/dist/_chunks/package-metadata-DjHBLB-z.js +39 -0
  38. package/dist/_chunks/preferences-BKp_7XJx.js +241 -0
  39. package/dist/_chunks/preview-C3Cdr8an.js +462 -0
  40. package/dist/_chunks/preview-registry-ClAbLTHH.js +1186 -0
  41. package/dist/_chunks/preview-resources-DRWR0gaB.js +359 -0
  42. package/dist/_chunks/previews-BxNq8Y_J.js +1134 -0
  43. package/dist/_chunks/productions-DK7xwbEs.js +411 -0
  44. package/dist/_chunks/ref-CYJNAAe_.js +178 -0
  45. package/dist/_chunks/remote-CZnP-HLJ.js +79 -0
  46. package/dist/_chunks/remote-config-D39BY9ji.js +132 -0
  47. package/dist/_chunks/resolve-package-qizBfCIm.js +152 -0
  48. package/dist/_chunks/rolldown-runtime-CvQ6eiug.js +14 -0
  49. package/dist/_chunks/routes-B6XiI8Sa.js +851 -0
  50. package/dist/_chunks/runtime-DL-Nz3k8.js +550 -0
  51. package/dist/_chunks/schema-normalization-GjhTATHL.js +666 -0
  52. package/dist/_chunks/secrets-qT1JaBGt.js +95 -0
  53. package/dist/_chunks/tail-CuWI04BL.js +239 -0
  54. package/dist/_chunks/token-Dmi0KXyX.js +333 -0
  55. package/dist/_chunks/tokens-iVcgNXi-.js +221 -0
  56. package/dist/_chunks/types-BquPXsFg.js +484 -0
  57. package/dist/_chunks/ui-BUoZApvE.js +103 -0
  58. package/dist/_chunks/usage-BBTGzjon.js +272 -0
  59. package/dist/_chunks/vite-D_wLDGBs.js +1267 -0
  60. package/dist/_chunks/vite-utils-OVLMV605.js +183 -0
  61. package/dist/_chunks/worker-DEF-e8LL.js +410 -0
  62. package/dist/_chunks/worker-bundler-dTTnYU3n.js +458 -0
  63. package/dist/_chunks/worker-entrypoint-CQW77lG8.js +247 -0
  64. package/dist/_chunks/workerName-CFJsLZA-.js +23 -0
  65. package/dist/bridge/client.d.ts +49 -7
  66. package/dist/bridge/client.d.ts.map +1 -1
  67. package/dist/bridge/gateway-runtime.d.ts +8 -0
  68. package/dist/bridge/gateway-runtime.d.ts.map +1 -0
  69. package/dist/bridge/index.d.ts +6 -6
  70. package/dist/bridge/index.d.ts.map +1 -1
  71. package/dist/bridge/log.d.ts +5 -0
  72. package/dist/bridge/log.d.ts.map +1 -0
  73. package/dist/bridge/miniflare.d.ts +85 -2
  74. package/dist/bridge/miniflare.d.ts.map +1 -1
  75. package/dist/bridge/proxy.d.ts +12 -11
  76. package/dist/bridge/proxy.d.ts.map +1 -1
  77. package/dist/bridge/server.d.ts +2 -1
  78. package/dist/bridge/server.d.ts.map +1 -1
  79. package/dist/bridge/v2/body-streams.d.ts +53 -0
  80. package/dist/bridge/v2/body-streams.d.ts.map +1 -0
  81. package/dist/bridge/v2/codec.d.ts +106 -0
  82. package/dist/bridge/v2/codec.d.ts.map +1 -0
  83. package/dist/bridge/v2/control-messages.d.ts +46 -0
  84. package/dist/bridge/v2/control-messages.d.ts.map +1 -0
  85. package/dist/bridge/v2/frames.d.ts +109 -0
  86. package/dist/bridge/v2/frames.d.ts.map +1 -0
  87. package/dist/bridge/v2/index.d.ts +11 -0
  88. package/dist/bridge/v2/index.d.ts.map +1 -0
  89. package/dist/bridge/v2/serialization.d.ts +48 -0
  90. package/dist/bridge/v2/serialization.d.ts.map +1 -0
  91. package/dist/bridge/v2/transport.d.ts +31 -0
  92. package/dist/bridge/v2/transport.d.ts.map +1 -0
  93. package/dist/bridge/v2/value-codec.d.ts +61 -0
  94. package/dist/bridge/v2/value-codec.d.ts.map +1 -0
  95. package/dist/bridge/{serialization.d.ts → v2/value-serialization.d.ts} +40 -18
  96. package/dist/bridge/v2/value-serialization.d.ts.map +1 -0
  97. package/dist/bridge/{protocol.d.ts → v2/wire.d.ts} +32 -8
  98. package/dist/bridge/v2/wire.d.ts.map +1 -0
  99. package/dist/bridge/v2/ws-relay.d.ts +53 -0
  100. package/dist/bridge/v2/ws-relay.d.ts.map +1 -0
  101. package/dist/browser-shim/handler.d.ts +2 -2
  102. package/dist/browser-shim/handler.d.ts.map +1 -1
  103. package/dist/browser-shim/index.d.ts +2 -2
  104. package/dist/browser-shim/server.d.ts +63 -0
  105. package/dist/browser-shim/server.d.ts.map +1 -1
  106. package/dist/browser.d.ts +5705 -0
  107. package/dist/browser.d.ts.map +1 -0
  108. package/dist/browser.js +80 -0
  109. package/dist/bundler/defaults.d.ts +23 -0
  110. package/dist/bundler/defaults.d.ts.map +1 -0
  111. package/dist/bundler/do-bundler.d.ts +7 -0
  112. package/dist/bundler/do-bundler.d.ts.map +1 -1
  113. package/dist/bundler/index.d.ts +3 -1
  114. package/dist/bundler/index.d.ts.map +1 -1
  115. package/dist/bundler/rolldown-shared.d.ts +53 -0
  116. package/dist/bundler/rolldown-shared.d.ts.map +1 -0
  117. package/dist/bundler/worker-bundler.d.ts +13 -0
  118. package/dist/bundler/worker-bundler.d.ts.map +1 -0
  119. package/dist/bundler/worker-compat.d.ts +4 -0
  120. package/dist/bundler/worker-compat.d.ts.map +1 -0
  121. package/dist/cli/build-manifest.d.ts +66 -0
  122. package/dist/cli/build-manifest.d.ts.map +1 -0
  123. package/dist/cli/command-utils.d.ts +18 -0
  124. package/dist/cli/command-utils.d.ts.map +1 -0
  125. package/dist/cli/commands/account.d.ts +2 -2
  126. package/dist/cli/commands/account.d.ts.map +1 -1
  127. package/dist/cli/commands/ai.d.ts +1 -1
  128. package/dist/cli/commands/ai.d.ts.map +1 -1
  129. package/dist/cli/commands/build-artifacts.d.ts +40 -0
  130. package/dist/cli/commands/build-artifacts.d.ts.map +1 -0
  131. package/dist/cli/commands/build.d.ts +2 -2
  132. package/dist/cli/commands/build.d.ts.map +1 -1
  133. package/dist/cli/commands/config.d.ts +4 -0
  134. package/dist/cli/commands/config.d.ts.map +1 -0
  135. package/dist/cli/commands/deploy/metadata.d.ts +18 -0
  136. package/dist/cli/commands/deploy/metadata.d.ts.map +1 -0
  137. package/dist/cli/commands/deploy/prepare.d.ts +23 -0
  138. package/dist/cli/commands/deploy/prepare.d.ts.map +1 -0
  139. package/dist/cli/commands/deploy/runtime.d.ts +4 -0
  140. package/dist/cli/commands/deploy/runtime.d.ts.map +1 -0
  141. package/dist/cli/commands/deploy/verification.d.ts +36 -0
  142. package/dist/cli/commands/deploy/verification.d.ts.map +1 -0
  143. package/dist/cli/commands/deploy.d.ts +2 -2
  144. package/dist/cli/commands/deploy.d.ts.map +1 -1
  145. package/dist/cli/commands/dev.d.ts +9 -1
  146. package/dist/cli/commands/dev.d.ts.map +1 -1
  147. package/dist/cli/commands/doctor.d.ts +2 -2
  148. package/dist/cli/commands/doctor.d.ts.map +1 -1
  149. package/dist/cli/commands/init.d.ts +2 -2
  150. package/dist/cli/commands/init.d.ts.map +1 -1
  151. package/dist/cli/commands/login.d.ts +4 -0
  152. package/dist/cli/commands/login.d.ts.map +1 -0
  153. package/dist/cli/commands/previews-support/cleanup.d.ts +9 -0
  154. package/dist/cli/commands/previews-support/cleanup.d.ts.map +1 -0
  155. package/dist/cli/commands/previews-support/family.d.ts +10 -0
  156. package/dist/cli/commands/previews-support/family.d.ts.map +1 -0
  157. package/dist/cli/commands/previews-support/render.d.ts +8 -0
  158. package/dist/cli/commands/previews-support/render.d.ts.map +1 -0
  159. package/dist/cli/commands/previews-support/theme.d.ts +10 -0
  160. package/dist/cli/commands/previews-support/theme.d.ts.map +1 -0
  161. package/dist/cli/commands/previews-support/types.d.ts +70 -0
  162. package/dist/cli/commands/previews-support/types.d.ts.map +1 -0
  163. package/dist/cli/commands/previews.d.ts +4 -0
  164. package/dist/cli/commands/previews.d.ts.map +1 -0
  165. package/dist/cli/commands/productions.d.ts +4 -0
  166. package/dist/cli/commands/productions.d.ts.map +1 -0
  167. package/dist/cli/commands/remote.d.ts +1 -1
  168. package/dist/cli/commands/remote.d.ts.map +1 -1
  169. package/dist/cli/commands/secrets.d.ts +4 -0
  170. package/dist/cli/commands/secrets.d.ts.map +1 -0
  171. package/dist/cli/commands/tail.d.ts +44 -0
  172. package/dist/cli/commands/tail.d.ts.map +1 -0
  173. package/dist/cli/commands/token.d.ts +4 -0
  174. package/dist/cli/commands/token.d.ts.map +1 -0
  175. package/dist/cli/commands/type-generation/discovery.d.ts +7 -0
  176. package/dist/cli/commands/type-generation/discovery.d.ts.map +1 -0
  177. package/dist/cli/commands/type-generation/generator.d.ts +121 -0
  178. package/dist/cli/commands/type-generation/generator.d.ts.map +1 -0
  179. package/dist/cli/commands/type-generation/models.d.ts +27 -0
  180. package/dist/cli/commands/type-generation/models.d.ts.map +1 -0
  181. package/dist/cli/commands/types.d.ts +2 -2
  182. package/dist/cli/commands/types.d.ts.map +1 -1
  183. package/dist/cli/commands/worker.d.ts +4 -0
  184. package/dist/cli/commands/worker.d.ts.map +1 -0
  185. package/dist/cli/config-path.d.ts +6 -0
  186. package/dist/cli/config-path.d.ts.map +1 -0
  187. package/dist/cli/dependencies.d.ts +2 -1
  188. package/dist/cli/dependencies.d.ts.map +1 -1
  189. package/dist/cli/deploy-strategy.d.ts +17 -0
  190. package/dist/cli/deploy-strategy.d.ts.map +1 -0
  191. package/dist/cli/deploy-target.d.ts +17 -0
  192. package/dist/cli/deploy-target.d.ts.map +1 -0
  193. package/dist/cli/generated-artifacts.d.ts +12 -0
  194. package/dist/cli/generated-artifacts.d.ts.map +1 -0
  195. package/dist/cli/gradual-deploy.d.ts +49 -0
  196. package/dist/cli/gradual-deploy.d.ts.map +1 -0
  197. package/dist/cli/help-pages/pages/account.d.ts +3 -0
  198. package/dist/cli/help-pages/pages/account.d.ts.map +1 -0
  199. package/dist/cli/help-pages/pages/core.d.ts +4 -0
  200. package/dist/cli/help-pages/pages/core.d.ts.map +1 -0
  201. package/dist/cli/help-pages/pages/index.d.ts +3 -0
  202. package/dist/cli/help-pages/pages/index.d.ts.map +1 -0
  203. package/dist/cli/help-pages/pages/misc.d.ts +3 -0
  204. package/dist/cli/help-pages/pages/misc.d.ts.map +1 -0
  205. package/dist/cli/help-pages/pages/previews.d.ts +3 -0
  206. package/dist/cli/help-pages/pages/previews.d.ts.map +1 -0
  207. package/dist/cli/help-pages/pages/productions.d.ts +3 -0
  208. package/dist/cli/help-pages/pages/productions.d.ts.map +1 -0
  209. package/dist/cli/help-pages/render.d.ts +12 -0
  210. package/dist/cli/help-pages/render.d.ts.map +1 -0
  211. package/dist/cli/help-pages/shared.d.ts +15 -0
  212. package/dist/cli/help-pages/shared.d.ts.map +1 -0
  213. package/dist/cli/help-pages/types.d.ts +23 -0
  214. package/dist/cli/help-pages/types.d.ts.map +1 -0
  215. package/dist/cli/help.d.ts +6 -0
  216. package/dist/cli/help.d.ts.map +1 -0
  217. package/dist/cli/index.d.ts +1 -0
  218. package/dist/cli/index.d.ts.map +1 -1
  219. package/dist/cli/index.js +2 -0
  220. package/dist/cli/package-metadata.d.ts +16 -0
  221. package/dist/cli/package-metadata.d.ts.map +1 -0
  222. package/dist/cli/preview-bindings.d.ts +49 -0
  223. package/dist/cli/preview-bindings.d.ts.map +1 -0
  224. package/dist/cli/preview.d.ts +10 -0
  225. package/dist/cli/preview.d.ts.map +1 -0
  226. package/dist/cli/ui.d.ts +37 -0
  227. package/dist/cli/ui.d.ts.map +1 -0
  228. package/dist/cli/workspace-build-guard.d.ts +14 -0
  229. package/dist/cli/workspace-build-guard.d.ts.map +1 -0
  230. package/dist/cli/wrangler-auth.d.ts +1 -1
  231. package/dist/cloudflare/account-core.d.ts +6 -0
  232. package/dist/cloudflare/account-core.d.ts.map +1 -0
  233. package/dist/cloudflare/account-resources.d.ts +40 -0
  234. package/dist/cloudflare/account-resources.d.ts.map +1 -0
  235. package/dist/cloudflare/account-status.d.ts +11 -0
  236. package/dist/cloudflare/account-status.d.ts.map +1 -0
  237. package/dist/cloudflare/account-workers.d.ts +14 -0
  238. package/dist/cloudflare/account-workers.d.ts.map +1 -0
  239. package/dist/cloudflare/account.d.ts +7 -64
  240. package/dist/cloudflare/account.d.ts.map +1 -1
  241. package/dist/cloudflare/api.d.ts +71 -3
  242. package/dist/cloudflare/api.d.ts.map +1 -1
  243. package/dist/cloudflare/auth.d.ts +1 -1
  244. package/dist/cloudflare/auth.d.ts.map +1 -1
  245. package/dist/cloudflare/index.d.ts +61 -6
  246. package/dist/cloudflare/index.d.ts.map +1 -1
  247. package/dist/cloudflare/index.js +4 -13
  248. package/dist/cloudflare/known-permission-group-ids.generated.d.ts +10 -0
  249. package/dist/cloudflare/known-permission-group-ids.generated.d.ts.map +1 -0
  250. package/dist/cloudflare/kv-namespace.d.ts +4 -0
  251. package/dist/cloudflare/kv-namespace.d.ts.map +1 -0
  252. package/dist/cloudflare/preferences.d.ts +7 -0
  253. package/dist/cloudflare/preferences.d.ts.map +1 -1
  254. package/dist/cloudflare/preview-registry-cache.d.ts +6 -0
  255. package/dist/cloudflare/preview-registry-cache.d.ts.map +1 -0
  256. package/dist/cloudflare/preview-registry-inference.d.ts +14 -0
  257. package/dist/cloudflare/preview-registry-inference.d.ts.map +1 -0
  258. package/dist/cloudflare/preview-registry-records.d.ts +4 -0
  259. package/dist/cloudflare/preview-registry-records.d.ts.map +1 -0
  260. package/dist/cloudflare/preview-registry-shape.d.ts +47 -0
  261. package/dist/cloudflare/preview-registry-shape.d.ts.map +1 -0
  262. package/dist/cloudflare/preview-registry-store.d.ts +14 -0
  263. package/dist/cloudflare/preview-registry-store.d.ts.map +1 -0
  264. package/dist/cloudflare/preview-registry-transport.d.ts +4 -0
  265. package/dist/cloudflare/preview-registry-transport.d.ts.map +1 -0
  266. package/dist/cloudflare/preview-registry-types.d.ts +103 -0
  267. package/dist/cloudflare/preview-registry-types.d.ts.map +1 -0
  268. package/dist/cloudflare/preview-registry.d.ts +42 -0
  269. package/dist/cloudflare/preview-registry.d.ts.map +1 -0
  270. package/dist/cloudflare/preview-urls.d.ts +3 -0
  271. package/dist/cloudflare/preview-urls.d.ts.map +1 -0
  272. package/dist/cloudflare/registry-schema.d.ts +253 -0
  273. package/dist/cloudflare/registry-schema.d.ts.map +1 -0
  274. package/dist/cloudflare/remote-config.d.ts.map +1 -1
  275. package/dist/cloudflare/tokens.d.ts +44 -0
  276. package/dist/cloudflare/tokens.d.ts.map +1 -0
  277. package/dist/cloudflare/types.d.ts +124 -7
  278. package/dist/cloudflare/types.d.ts.map +1 -1
  279. package/dist/cloudflare/usage.d.ts +31 -3
  280. package/dist/cloudflare/usage.d.ts.map +1 -1
  281. package/dist/config/binding-resolution-helpers.d.ts +41 -0
  282. package/dist/config/binding-resolution-helpers.d.ts.map +1 -0
  283. package/dist/config/compatibility.d.ts +3 -0
  284. package/dist/config/compatibility.d.ts.map +1 -0
  285. package/dist/config/compiler/bindings.d.ts +14 -0
  286. package/dist/config/compiler/bindings.d.ts.map +1 -0
  287. package/dist/config/compiler/core-helpers.d.ts +6 -0
  288. package/dist/config/compiler/core-helpers.d.ts.map +1 -0
  289. package/dist/config/compiler/do-workers.d.ts +34 -0
  290. package/dist/config/compiler/do-workers.d.ts.map +1 -0
  291. package/dist/config/compiler/paths.d.ts +18 -0
  292. package/dist/config/compiler/paths.d.ts.map +1 -0
  293. package/dist/config/compiler/types.d.ts +309 -0
  294. package/dist/config/compiler/types.d.ts.map +1 -0
  295. package/dist/config/compiler.d.ts +22 -134
  296. package/dist/config/compiler.d.ts.map +1 -1
  297. package/dist/config/cron.d.ts +19 -0
  298. package/dist/config/cron.d.ts.map +1 -0
  299. package/dist/config/define.d.ts +8 -5
  300. package/dist/config/define.d.ts.map +1 -1
  301. package/dist/config/deploy-resources.d.ts +58 -0
  302. package/dist/config/deploy-resources.d.ts.map +1 -0
  303. package/dist/config/env-vars.d.ts +309 -0
  304. package/dist/config/env-vars.d.ts.map +1 -0
  305. package/dist/config/framework-providers.d.ts +9 -0
  306. package/dist/config/framework-providers.d.ts.map +1 -0
  307. package/dist/config/index.d.ts +12 -5
  308. package/dist/config/index.d.ts.map +1 -1
  309. package/dist/config/loader.d.ts +2 -1
  310. package/dist/config/loader.d.ts.map +1 -1
  311. package/dist/config/local-dev-vars.d.ts +15 -0
  312. package/dist/config/local-dev-vars.d.ts.map +1 -0
  313. package/dist/config/preview-resources.d.ts +83 -0
  314. package/dist/config/preview-resources.d.ts.map +1 -0
  315. package/dist/config/preview.d.ts +29 -0
  316. package/dist/config/preview.d.ts.map +1 -0
  317. package/dist/config/ref.d.ts +16 -25
  318. package/dist/config/ref.d.ts.map +1 -1
  319. package/dist/config/resolve-phased.d.ts +72 -0
  320. package/dist/config/resolve-phased.d.ts.map +1 -0
  321. package/dist/config/resolve.d.ts +11 -0
  322. package/dist/config/resolve.d.ts.map +1 -0
  323. package/dist/config/resource-resolution.d.ts +80 -0
  324. package/dist/config/resource-resolution.d.ts.map +1 -0
  325. package/dist/config/schema-bindings.d.ts +2087 -0
  326. package/dist/config/schema-bindings.d.ts.map +1 -0
  327. package/dist/config/schema-build.d.ts +67 -0
  328. package/dist/config/schema-build.d.ts.map +1 -0
  329. package/dist/config/schema-env.d.ts +3771 -0
  330. package/dist/config/schema-env.d.ts.map +1 -0
  331. package/dist/config/schema-normalization.d.ts +267 -0
  332. package/dist/config/schema-normalization.d.ts.map +1 -0
  333. package/dist/config/schema-runtime.d.ts +557 -0
  334. package/dist/config/schema-runtime.d.ts.map +1 -0
  335. package/dist/config/schema-types-bindings-platform.d.ts +520 -0
  336. package/dist/config/schema-types-bindings-platform.d.ts.map +1 -0
  337. package/dist/config/schema-types-bindings-resources.d.ts +802 -0
  338. package/dist/config/schema-types-bindings-resources.d.ts.map +1 -0
  339. package/dist/config/schema-types-bindings.d.ts +293 -0
  340. package/dist/config/schema-types-bindings.d.ts.map +1 -0
  341. package/dist/config/schema-types-build.d.ts +86 -0
  342. package/dist/config/schema-types-build.d.ts.map +1 -0
  343. package/dist/config/schema-types-runtime-server.d.ts +122 -0
  344. package/dist/config/schema-types-runtime-server.d.ts.map +1 -0
  345. package/dist/config/schema-types-runtime.d.ts +913 -0
  346. package/dist/config/schema-types-runtime.d.ts.map +1 -0
  347. package/dist/config/schema-types.d.ts +458 -0
  348. package/dist/config/schema-types.d.ts.map +1 -0
  349. package/dist/config/schema.d.ts +5699 -2021
  350. package/dist/config/schema.d.ts.map +1 -1
  351. package/dist/config/service-bindings-validation.d.ts +36 -0
  352. package/dist/config/service-bindings-validation.d.ts.map +1 -0
  353. package/dist/config-entry.d.ts +7 -0
  354. package/dist/config-entry.d.ts.map +1 -0
  355. package/dist/config-entry.js +3 -0
  356. package/dist/decorators/durable-object.d.ts.map +1 -1
  357. package/dist/decorators/index.d.ts +2 -2
  358. package/dist/decorators/index.js +2 -9
  359. package/dist/dev-server/d1-migrations.d.ts +36 -0
  360. package/dist/dev-server/d1-migrations.d.ts.map +1 -0
  361. package/dist/dev-server/dev-server-state.d.ts +59 -0
  362. package/dist/dev-server/dev-server-state.d.ts.map +1 -0
  363. package/dist/dev-server/gateway-script.d.ts +21 -0
  364. package/dist/dev-server/gateway-script.d.ts.map +1 -0
  365. package/dist/dev-server/index.d.ts +1 -1
  366. package/dist/dev-server/miniflare-bindings.d.ts +90 -0
  367. package/dist/dev-server/miniflare-bindings.d.ts.map +1 -0
  368. package/dist/dev-server/miniflare-dev-config.d.ts +36 -0
  369. package/dist/dev-server/miniflare-dev-config.d.ts.map +1 -0
  370. package/dist/dev-server/miniflare-log.d.ts +20 -0
  371. package/dist/dev-server/miniflare-log.d.ts.map +1 -0
  372. package/dist/dev-server/miniflare-worker-config.d.ts +93 -0
  373. package/dist/dev-server/miniflare-worker-config.d.ts.map +1 -0
  374. package/dist/dev-server/reload-queue.d.ts +13 -0
  375. package/dist/dev-server/reload-queue.d.ts.map +1 -0
  376. package/dist/dev-server/runtime-stdio.d.ts +8 -0
  377. package/dist/dev-server/runtime-stdio.d.ts.map +1 -0
  378. package/dist/dev-server/server-startup-helpers.d.ts +84 -0
  379. package/dist/dev-server/server-startup-helpers.d.ts.map +1 -0
  380. package/dist/dev-server/server.d.ts +2 -0
  381. package/dist/dev-server/server.d.ts.map +1 -1
  382. package/dist/dev-server/vite-process.d.ts +15 -0
  383. package/dist/dev-server/vite-process.d.ts.map +1 -0
  384. package/dist/dev-server/vite-utils.d.ts +19 -1
  385. package/dist/dev-server/vite-utils.d.ts.map +1 -1
  386. package/dist/dev-server/worker-source-watcher.d.ts +17 -0
  387. package/dist/dev-server/worker-source-watcher.d.ts.map +1 -0
  388. package/dist/dev-server/worker-surface-paths.d.ts +6 -0
  389. package/dist/dev-server/worker-surface-paths.d.ts.map +1 -0
  390. package/dist/env.d.ts +10 -0
  391. package/dist/env.d.ts.map +1 -1
  392. package/dist/index.d.ts +8 -12
  393. package/dist/index.d.ts.map +1 -1
  394. package/dist/index.js +9 -298
  395. package/dist/runtime/context-events.d.ts +13 -0
  396. package/dist/runtime/context-events.d.ts.map +1 -0
  397. package/dist/runtime/context-types.d.ts +82 -0
  398. package/dist/runtime/context-types.d.ts.map +1 -0
  399. package/dist/runtime/context.d.ts +20 -44
  400. package/dist/runtime/context.d.ts.map +1 -1
  401. package/dist/runtime/exports.d.ts +70 -55
  402. package/dist/runtime/exports.d.ts.map +1 -1
  403. package/dist/runtime/index.d.ts +10 -3
  404. package/dist/runtime/index.d.ts.map +1 -1
  405. package/dist/runtime/index.js +5 -111
  406. package/dist/runtime/middleware.d.ts +119 -67
  407. package/dist/runtime/middleware.d.ts.map +1 -1
  408. package/dist/runtime/router/index.d.ts +7 -0
  409. package/dist/runtime/router/index.d.ts.map +1 -0
  410. package/dist/runtime/router/types.d.ts +24 -0
  411. package/dist/runtime/router/types.d.ts.map +1 -0
  412. package/dist/runtime/validation.d.ts +18 -4
  413. package/dist/runtime/validation.d.ts.map +1 -1
  414. package/dist/secrets/local-secrets.d.ts +46 -0
  415. package/dist/secrets/local-secrets.d.ts.map +1 -0
  416. package/dist/shims/local-hyperdrive.d.ts +12 -0
  417. package/dist/shims/local-hyperdrive.d.ts.map +1 -0
  418. package/dist/shims/local-media-bindings.d.ts +19 -0
  419. package/dist/shims/local-media-bindings.d.ts.map +1 -0
  420. package/dist/shims/local-worker-loader.d.ts +3 -0
  421. package/dist/shims/local-worker-loader.d.ts.map +1 -0
  422. package/dist/sveltekit/index.d.ts +1 -1
  423. package/dist/sveltekit/index.d.ts.map +1 -1
  424. package/dist/sveltekit/index.js +313 -167
  425. package/dist/sveltekit/local-bindings.d.ts +4 -0
  426. package/dist/sveltekit/local-bindings.d.ts.map +1 -0
  427. package/dist/sveltekit/platform.d.ts +20 -2
  428. package/dist/sveltekit/platform.d.ts.map +1 -1
  429. package/dist/test/ai-search.d.ts +39 -0
  430. package/dist/test/ai-search.d.ts.map +1 -0
  431. package/dist/test/alarm.d.ts +55 -0
  432. package/dist/test/alarm.d.ts.map +1 -0
  433. package/dist/test/binding-hints.d.ts +10 -0
  434. package/dist/test/binding-hints.d.ts.map +1 -0
  435. package/dist/test/cf.d.ts +71 -35
  436. package/dist/test/cf.d.ts.map +1 -1
  437. package/dist/test/containers.d.ts +87 -0
  438. package/dist/test/containers.d.ts.map +1 -0
  439. package/dist/test/email.d.ts +16 -7
  440. package/dist/test/email.d.ts.map +1 -1
  441. package/dist/test/index.d.ts +20 -21
  442. package/dist/test/index.d.ts.map +1 -1
  443. package/dist/test/index.js +4981 -70
  444. package/dist/test/offline-bindings.d.ts +115 -0
  445. package/dist/test/offline-bindings.d.ts.map +1 -0
  446. package/dist/test/queue.d.ts.map +1 -1
  447. package/dist/test/remote-ai.d.ts.map +1 -1
  448. package/dist/test/remote-cloudflare.d.ts +13 -0
  449. package/dist/test/remote-cloudflare.d.ts.map +1 -0
  450. package/dist/test/remote-vectorize.d.ts.map +1 -1
  451. package/dist/test/resolve-service-bindings.d.ts +64 -4
  452. package/dist/test/resolve-service-bindings.d.ts.map +1 -1
  453. package/dist/test/scheduled.d.ts.map +1 -1
  454. package/dist/test/should-skip.d.ts +14 -18
  455. package/dist/test/should-skip.d.ts.map +1 -1
  456. package/dist/test/simple-context-bindings.d.ts +13 -0
  457. package/dist/test/simple-context-bindings.d.ts.map +1 -0
  458. package/dist/test/simple-context-durable-objects.d.ts +6 -0
  459. package/dist/test/simple-context-durable-objects.d.ts.map +1 -0
  460. package/dist/test/simple-context-env.d.ts +35 -0
  461. package/dist/test/simple-context-env.d.ts.map +1 -0
  462. package/dist/test/simple-context-gateway-script.d.ts +2 -0
  463. package/dist/test/simple-context-gateway-script.d.ts.map +1 -0
  464. package/dist/test/simple-context-handlers.d.ts +12 -0
  465. package/dist/test/simple-context-handlers.d.ts.map +1 -0
  466. package/dist/test/simple-context-lifecycle.d.ts +32 -0
  467. package/dist/test/simple-context-lifecycle.d.ts.map +1 -0
  468. package/dist/test/simple-context-mfconfig.d.ts +10 -0
  469. package/dist/test/simple-context-mfconfig.d.ts.map +1 -0
  470. package/dist/test/simple-context-multi-worker.d.ts +16 -0
  471. package/dist/test/simple-context-multi-worker.d.ts.map +1 -0
  472. package/dist/test/simple-context-paths.d.ts +40 -0
  473. package/dist/test/simple-context-paths.d.ts.map +1 -0
  474. package/dist/test/simple-context-runtime.d.ts +19 -0
  475. package/dist/test/simple-context-runtime.d.ts.map +1 -0
  476. package/dist/test/simple-context-startup.d.ts +11 -0
  477. package/dist/test/simple-context-startup.d.ts.map +1 -0
  478. package/dist/test/simple-context-transport.d.ts +14 -0
  479. package/dist/test/simple-context-transport.d.ts.map +1 -0
  480. package/dist/test/simple-context.d.ts +8 -27
  481. package/dist/test/simple-context.d.ts.map +1 -1
  482. package/dist/test/tail.d.ts +3 -2
  483. package/dist/test/tail.d.ts.map +1 -1
  484. package/dist/test/utilities/analytics-engine.d.ts +22 -0
  485. package/dist/test/utilities/analytics-engine.d.ts.map +1 -0
  486. package/dist/test/utilities/artifacts.d.ts +11 -0
  487. package/dist/test/utilities/artifacts.d.ts.map +1 -0
  488. package/dist/test/utilities/context.d.ts +39 -0
  489. package/dist/test/utilities/context.d.ts.map +1 -0
  490. package/dist/test/utilities/d1.d.ts +21 -0
  491. package/dist/test/utilities/d1.d.ts.map +1 -0
  492. package/dist/test/utilities/env.d.ts +43 -0
  493. package/dist/test/utilities/env.d.ts.map +1 -0
  494. package/dist/test/utilities/kv.d.ts +11 -0
  495. package/dist/test/utilities/kv.d.ts.map +1 -0
  496. package/dist/test/utilities/media.d.ts +16 -0
  497. package/dist/test/utilities/media.d.ts.map +1 -0
  498. package/dist/test/utilities/platform.d.ts +41 -0
  499. package/dist/test/utilities/platform.d.ts.map +1 -0
  500. package/dist/test/utilities/queue.d.ts +5 -0
  501. package/dist/test/utilities/queue.d.ts.map +1 -0
  502. package/dist/test/utilities/r2.d.ts +2 -0
  503. package/dist/test/utilities/r2.d.ts.map +1 -0
  504. package/dist/test/utilities/stream-flagship.d.ts +27 -0
  505. package/dist/test/utilities/stream-flagship.d.ts.map +1 -0
  506. package/dist/test/utilities/vectorize.d.ts +38 -0
  507. package/dist/test/utilities/vectorize.d.ts.map +1 -0
  508. package/dist/test/utilities/workflows.d.ts +26 -0
  509. package/dist/test/utilities/workflows.d.ts.map +1 -0
  510. package/dist/test/utilities.d.ts +13 -98
  511. package/dist/test/utilities.d.ts.map +1 -1
  512. package/dist/test/worker.d.ts +6 -0
  513. package/dist/test/worker.d.ts.map +1 -1
  514. package/dist/transform/durable-object.d.ts.map +1 -1
  515. package/dist/transform/index.d.ts +2 -2
  516. package/dist/transform/worker-entrypoint.d.ts +5 -0
  517. package/dist/transform/worker-entrypoint.d.ts.map +1 -1
  518. package/dist/utils/entrypoint-discovery.d.ts +6 -3
  519. package/dist/utils/entrypoint-discovery.d.ts.map +1 -1
  520. package/dist/utils/glob.d.ts.map +1 -1
  521. package/dist/utils/resolve-package.d.ts.map +1 -1
  522. package/dist/utils/send-email.d.ts +15 -0
  523. package/dist/utils/send-email.d.ts.map +1 -0
  524. package/dist/utils/send-email.js +163 -0
  525. package/dist/vite/config-file.d.ts +25 -0
  526. package/dist/vite/config-file.d.ts.map +1 -0
  527. package/dist/vite/index.d.ts +3 -2
  528. package/dist/vite/index.d.ts.map +1 -1
  529. package/dist/vite/index.js +2 -339
  530. package/dist/vite/plugin-config-hook.d.ts +28 -0
  531. package/dist/vite/plugin-config-hook.d.ts.map +1 -0
  532. package/dist/vite/plugin-context.d.ts +27 -0
  533. package/dist/vite/plugin-context.d.ts.map +1 -0
  534. package/dist/vite/plugin-durable-objects.d.ts +18 -0
  535. package/dist/vite/plugin-durable-objects.d.ts.map +1 -0
  536. package/dist/vite/plugin-programmatic.d.ts +44 -0
  537. package/dist/vite/plugin-programmatic.d.ts.map +1 -0
  538. package/dist/vite/plugin-service-bindings.d.ts +13 -0
  539. package/dist/vite/plugin-service-bindings.d.ts.map +1 -0
  540. package/dist/vite/plugin-transform.d.ts +41 -0
  541. package/dist/vite/plugin-transform.d.ts.map +1 -0
  542. package/dist/vite/plugin.d.ts +10 -41
  543. package/dist/vite/plugin.d.ts.map +1 -1
  544. package/dist/worker-entry/composed-worker.d.ts +7 -0
  545. package/dist/worker-entry/composed-worker.d.ts.map +1 -0
  546. package/dist/worker-entry/durable-object-discovery.d.ts +20 -0
  547. package/dist/worker-entry/durable-object-discovery.d.ts.map +1 -0
  548. package/dist/worker-entry/extensions.d.ts +5 -0
  549. package/dist/worker-entry/extensions.d.ts.map +1 -0
  550. package/dist/worker-entry/routes.d.ts +22 -0
  551. package/dist/worker-entry/routes.d.ts.map +1 -0
  552. package/dist/worker-entry/surface-paths.d.ts +26 -0
  553. package/dist/worker-entry/surface-paths.d.ts.map +1 -0
  554. package/dist/worker-entry/validate-fetch-style.d.ts +12 -0
  555. package/dist/worker-entry/validate-fetch-style.d.ts.map +1 -0
  556. package/dist/workflows/local-workflow-entrypoints.d.ts +7 -0
  557. package/dist/workflows/local-workflow-entrypoints.d.ts.map +1 -0
  558. package/package.json +159 -116
  559. package/R2.md +0 -170
  560. package/dist/account-rvrj687w.js +0 -397
  561. package/dist/ai-dx4fr9jh.js +0 -107
  562. package/dist/bridge/protocol.d.ts.map +0 -1
  563. package/dist/bridge/serialization.d.ts.map +0 -1
  564. package/dist/browser-shim/worker.d.ts +0 -14
  565. package/dist/browser-shim/worker.d.ts.map +0 -1
  566. package/dist/build-mnf6v8gd.js +0 -53
  567. package/dist/deploy-nhceck39.js +0 -70
  568. package/dist/dev-b9dmrj7b.js +0 -2417
  569. package/dist/doctor-fmgb3d28.js +0 -190
  570. package/dist/durable-object-t4kbb0yt.js +0 -13
  571. package/dist/index-07q6yxyc.js +0 -168
  572. package/dist/index-18hvb6gb.js +0 -194
  573. package/dist/index-1xpj0m4r.js +0 -57
  574. package/dist/index-37x76zdn.js +0 -4
  575. package/dist/index-3t6rypgc.js +0 -13
  576. package/dist/index-67qcae0f.js +0 -183
  577. package/dist/index-a855bdsx.js +0 -18
  578. package/dist/index-d8bdkx2h.js +0 -109
  579. package/dist/index-ep3445yc.js +0 -2225
  580. package/dist/index-gz1gndna.js +0 -307
  581. package/dist/index-hcex3rgh.js +0 -266
  582. package/dist/index-m2q41jwa.js +0 -462
  583. package/dist/index-n7rs26ft.js +0 -77
  584. package/dist/index-pf5s73n9.js +0 -1413
  585. package/dist/index-rbht7m9r.js +0 -36
  586. package/dist/index-tfyxa77h.js +0 -850
  587. package/dist/index-tk6ej9dj.js +0 -94
  588. package/dist/index-z14anrqp.js +0 -226
  589. package/dist/init-f9mgmew3.js +0 -186
  590. package/dist/remote-q59qk463.js +0 -97
  591. package/dist/test/bridge-context.d.ts +0 -76
  592. package/dist/test/bridge-context.d.ts.map +0 -1
  593. package/dist/test/multi-worker-context.d.ts +0 -114
  594. package/dist/test/multi-worker-context.d.ts.map +0 -1
  595. package/dist/types-5nyrz1sz.js +0 -454
  596. package/dist/worker-entrypoint-m9th0rg0.js +0 -13
@@ -0,0 +1,183 @@
1
+ import { resolve } from "pathe";
2
+ import { spawn } from "node:child_process";
3
+ //#region src/dev-server/vite-utils.ts
4
+ const VITE_CONFIG_FILES = [
5
+ "vite.config.ts",
6
+ "vite.config.js",
7
+ "vite.config.mts",
8
+ "vite.config.mjs",
9
+ "vite.config.cts",
10
+ "vite.config.cjs"
11
+ ];
12
+ const ANSI_REGEX = /\x1b\[[0-9;]*m/g;
13
+ const LOCAL_VITE_URL_REGEX = /https?:\/\/(?:localhost|127\.0\.0\.1|\[::1\])(?::\d+)?\/?/i;
14
+ async function getNodeFs() {
15
+ return await import("node:fs/promises");
16
+ }
17
+ function safeParsePackageJson(content) {
18
+ try {
19
+ return JSON.parse(content);
20
+ } catch {
21
+ return {};
22
+ }
23
+ }
24
+ function readDependencyFlag(pkg, name) {
25
+ const dependencies = pkg.dependencies;
26
+ const devDependencies = pkg.devDependencies;
27
+ return Boolean(dependencies?.[name] ?? devDependencies?.[name]);
28
+ }
29
+ async function detectViteProject(cwd, fs) {
30
+ const fileSystem = fs ?? await getNodeFs();
31
+ let viteConfigPath = null;
32
+ for (const configName of VITE_CONFIG_FILES) {
33
+ const absolutePath = resolve(cwd, configName);
34
+ try {
35
+ await fileSystem.access(absolutePath);
36
+ viteConfigPath = absolutePath;
37
+ break;
38
+ } catch {}
39
+ }
40
+ let pkg = {};
41
+ try {
42
+ pkg = safeParsePackageJson(await fileSystem.readFile(resolve(cwd, "package.json"), "utf-8"));
43
+ } catch {
44
+ pkg = {};
45
+ }
46
+ const hasLocalViteDependency = readDependencyFlag(pkg, "vite");
47
+ const hasLocalCloudflareVitePluginDependency = readDependencyFlag(pkg, "@cloudflare/vite-plugin");
48
+ return {
49
+ viteConfigPath,
50
+ hasLocalViteDependency,
51
+ hasLocalCloudflareVitePluginDependency,
52
+ shouldStartVite: Boolean(viteConfigPath),
53
+ wantsViteIntegration: Boolean(viteConfigPath || hasLocalViteDependency || hasLocalCloudflareVitePluginDependency)
54
+ };
55
+ }
56
+ /**
57
+ * Resolve the effective Vite mode for a project. Combines the caller's
58
+ * `requested` preference with the filesystem detection so that callers who ask
59
+ * for Vite but lack a local config are downgraded to worker-only mode rather
60
+ * than silently having the detection result ignored.
61
+ */
62
+ async function resolveViteMode(cwd, options = {}) {
63
+ const detection = await detectViteProject(cwd, options.fs);
64
+ return {
65
+ enableVite: (options.requested ?? true) && detection.shouldStartVite,
66
+ viteConfigPath: detection.viteConfigPath,
67
+ detection
68
+ };
69
+ }
70
+ function stripAnsi(value) {
71
+ return value.replace(ANSI_REGEX, "");
72
+ }
73
+ function extractViteReadyUrl(output) {
74
+ const cleaned = stripAnsi(output);
75
+ const lines = cleaned.split(/\r?\n/).map((line) => line.trim()).filter(Boolean);
76
+ for (const line of lines) {
77
+ if (!line.toLowerCase().includes("local:")) continue;
78
+ const match = line.match(LOCAL_VITE_URL_REGEX);
79
+ if (match) return match[0];
80
+ }
81
+ return cleaned.match(LOCAL_VITE_URL_REGEX)?.[0] ?? null;
82
+ }
83
+ async function waitForViteReady(process, options = {}) {
84
+ const { timeoutMs = 15e3, onStdout, onStderr } = options;
85
+ let combinedOutput = "";
86
+ return await new Promise((resolvePromise, rejectPromise) => {
87
+ let settled = false;
88
+ let timeout;
89
+ const settle = (resolver) => {
90
+ if (settled) return;
91
+ settled = true;
92
+ clearTimeout(timeout);
93
+ resolver();
94
+ };
95
+ const inspectChunk = (chunk) => {
96
+ combinedOutput += typeof chunk === "string" ? chunk : chunk.toString("utf-8");
97
+ const readyUrl = extractViteReadyUrl(combinedOutput);
98
+ if (readyUrl) settle(() => resolvePromise(readyUrl));
99
+ };
100
+ process.stdout?.on("data", (chunk) => {
101
+ onStdout?.(chunk);
102
+ inspectChunk(chunk);
103
+ });
104
+ process.stderr?.on("data", (chunk) => {
105
+ onStderr?.(chunk);
106
+ inspectChunk(chunk);
107
+ });
108
+ process.on("error", (error) => {
109
+ settle(() => rejectPromise(error));
110
+ });
111
+ process.on("exit", (code, signal) => {
112
+ settle(() => {
113
+ const reason = signal ? `signal ${signal}` : `exit code ${code ?? "unknown"}`;
114
+ rejectPromise(/* @__PURE__ */ new Error(`Vite exited before reporting a ready URL (${reason})`));
115
+ });
116
+ });
117
+ timeout = setTimeout(() => {
118
+ settle(() => resolvePromise(null));
119
+ }, timeoutMs);
120
+ });
121
+ }
122
+ async function defaultRunCommand(command, args) {
123
+ await new Promise((resolvePromise, rejectPromise) => {
124
+ const child = spawn(command, args, {
125
+ stdio: "ignore",
126
+ windowsHide: true
127
+ });
128
+ child.on("error", rejectPromise);
129
+ child.on("exit", () => resolvePromise());
130
+ });
131
+ }
132
+ function waitForProcessExit(process, timeoutMs) {
133
+ if (process.killed) return Promise.resolve(true);
134
+ return new Promise((resolvePromise) => {
135
+ let settled = false;
136
+ let timeout;
137
+ const settle = (value) => {
138
+ if (settled) return;
139
+ settled = true;
140
+ clearTimeout(timeout);
141
+ resolvePromise(value);
142
+ };
143
+ process.on("exit", () => settle(true));
144
+ timeout = setTimeout(() => {
145
+ settle(false);
146
+ }, timeoutMs);
147
+ });
148
+ }
149
+ async function stopSpawnedProcessTree(process, options = {}) {
150
+ const { platform = globalThis.process?.platform ?? "linux", timeoutMs = 3e3, runCommand = defaultRunCommand } = options;
151
+ if (platform === "win32" && process.pid) {
152
+ try {
153
+ await runCommand("taskkill", [
154
+ "/pid",
155
+ String(process.pid),
156
+ "/t",
157
+ "/f"
158
+ ]);
159
+ } catch {
160
+ try {
161
+ process.kill("SIGTERM");
162
+ } catch {
163
+ return;
164
+ }
165
+ }
166
+ await waitForProcessExit(process, timeoutMs);
167
+ return;
168
+ }
169
+ try {
170
+ process.kill("SIGTERM");
171
+ } catch {
172
+ return;
173
+ }
174
+ if (await waitForProcessExit(process, timeoutMs)) return;
175
+ try {
176
+ process.kill("SIGKILL");
177
+ } catch {
178
+ return;
179
+ }
180
+ await waitForProcessExit(process, timeoutMs);
181
+ }
182
+ //#endregion
183
+ export { waitForViteReady as i, resolveViteMode as n, stopSpawnedProcessTree as r, detectViteProject as t };
@@ -0,0 +1,410 @@
1
+ import { r as loadConfig } from "./loader-OQ2AWpqm.js";
2
+ import { o as normalizeDOBinding } from "./schema-normalization-GjhTATHL.js";
3
+ import { t as account } from "./cloudflare-BaloqI3H.js";
4
+ import { d as green, f as logLine, g as yellow, h as whiteDim, n as bold, o as dim, r as createCliTheme } from "./ui-BUoZApvE.js";
5
+ import { r as resolveCloudflareAccountId, t as asOptionalString } from "./command-utils-_bGRraDR.js";
6
+ import { n as formatSupportedConfigFilenames, r as resolveConfigCandidatePath, t as findConfigPathsUnderDirectory } from "./config-path-1yI7BiDU.js";
7
+ import { basename, dirname, relative, resolve } from "pathe";
8
+ import MagicString from "magic-string";
9
+ //#region src/cli/commands/worker.ts
10
+ function formatPathForLog(cwd, filePath) {
11
+ const relativePath = relative(cwd, filePath).replace(/\\/g, "/");
12
+ return relativePath && !relativePath.startsWith("..") ? relativePath : filePath;
13
+ }
14
+ async function loadConfigFromPath(configPath) {
15
+ return {
16
+ configPath,
17
+ config: await loadConfig({
18
+ cwd: dirname(configPath),
19
+ configFile: basename(configPath)
20
+ })
21
+ };
22
+ }
23
+ async function loadDiscoveredConfigs(cwd, explicitConfigPath) {
24
+ const candidatePaths = /* @__PURE__ */ new Set();
25
+ const discoveredPaths = await findConfigPathsUnderDirectory(cwd);
26
+ for (const configPath of discoveredPaths) candidatePaths.add(configPath);
27
+ if (explicitConfigPath) candidatePaths.add(explicitConfigPath);
28
+ const loadedConfigs = [];
29
+ for (const configPath of [...candidatePaths].sort((left, right) => left.localeCompare(right))) try {
30
+ loadedConfigs.push(await loadConfigFromPath(configPath));
31
+ } catch (error) {
32
+ if (explicitConfigPath && explicitConfigPath === configPath) throw error;
33
+ }
34
+ return loadedConfigs;
35
+ }
36
+ function formatConfigChoices(matches, cwd) {
37
+ return matches.map((match) => ` - ${formatPathForLog(cwd, match.configPath)} (${match.config.name})`).join("\n");
38
+ }
39
+ function selectTargetConfig(loadedConfigs, cwd, oldName, newName, explicitConfigPath) {
40
+ if (loadedConfigs.length === 0) throw new Error(`Could not find ${formatSupportedConfigFilenames()} under ${cwd}.`);
41
+ if (explicitConfigPath) {
42
+ const target = loadedConfigs.find((candidate) => candidate.configPath === explicitConfigPath);
43
+ if (!target) throw new Error(`Could not load the selected config: ${explicitConfigPath}`);
44
+ if (target.config.name === oldName) return {
45
+ target,
46
+ localConfigAlreadyUpdated: false,
47
+ allConfigs: loadedConfigs
48
+ };
49
+ if (target.config.name === newName) return {
50
+ target,
51
+ localConfigAlreadyUpdated: true,
52
+ allConfigs: loadedConfigs
53
+ };
54
+ throw new Error(`The selected config uses \`${target.config.name}\`, not \`${oldName}\` or \`${newName}\`.`);
55
+ }
56
+ const matchingConfigs = loadedConfigs.filter((candidate) => {
57
+ return candidate.config.name === oldName || candidate.config.name === newName;
58
+ });
59
+ const oldMatches = matchingConfigs.filter((candidate) => candidate.config.name === oldName);
60
+ const newMatches = matchingConfigs.filter((candidate) => candidate.config.name === newName);
61
+ if (oldMatches.length === 1 && matchingConfigs.length === 1) return {
62
+ target: oldMatches[0],
63
+ localConfigAlreadyUpdated: false,
64
+ allConfigs: loadedConfigs
65
+ };
66
+ if (newMatches.length === 1 && matchingConfigs.length === 1) return {
67
+ target: newMatches[0],
68
+ localConfigAlreadyUpdated: true,
69
+ allConfigs: loadedConfigs
70
+ };
71
+ if (matchingConfigs.length === 0) throw new Error(`Could not find a matching devflare config under ${cwd}. Expected a config whose \`name\` is \`${oldName}\` or \`${newName}\`.`);
72
+ throw new Error(`Multiple matching devflare configs were found. Use --config to pick one explicitly.\n${formatConfigChoices(matchingConfigs, cwd)}`);
73
+ }
74
+ async function resolveAccountId(parsed, config) {
75
+ return resolveCloudflareAccountId({
76
+ explicitAccountId: asOptionalString(parsed.options.account),
77
+ configuredAccountId: config.accountId
78
+ });
79
+ }
80
+ function skipWhitespaceAndComments(source, start, end) {
81
+ let index = start;
82
+ while (index < end) {
83
+ const char = source[index];
84
+ if (/\s/.test(char)) {
85
+ index++;
86
+ continue;
87
+ }
88
+ const nextIndex = consumeComment(source, index, end);
89
+ if (nextIndex !== null) {
90
+ index = nextIndex;
91
+ continue;
92
+ }
93
+ break;
94
+ }
95
+ return index;
96
+ }
97
+ function consumeQuotedLiteral(source, start, end) {
98
+ const quote = source[start];
99
+ let index = start + 1;
100
+ while (index < end) {
101
+ const char = source[index];
102
+ if (char === "\\") {
103
+ index += 2;
104
+ continue;
105
+ }
106
+ if (char === quote) return index + 1;
107
+ index++;
108
+ }
109
+ throw new Error("Unterminated string literal in devflare config.");
110
+ }
111
+ function consumeComment(source, start, end) {
112
+ if (source[start] !== "/") return null;
113
+ if (source[start + 1] === "/") {
114
+ let index = start + 2;
115
+ while (index < end && source[index] !== "\n") index++;
116
+ return index;
117
+ }
118
+ if (source[start + 1] === "*") {
119
+ let index = start + 2;
120
+ while (index < end && !(source[index] === "*" && source[index + 1] === "/")) index++;
121
+ return Math.min(index + 2, end);
122
+ }
123
+ return null;
124
+ }
125
+ function findConfigObjectStart(source) {
126
+ const defineConfigIndex = source.indexOf("defineConfig");
127
+ if (defineConfigIndex >= 0) {
128
+ const parenIndex = source.indexOf("(", defineConfigIndex);
129
+ if (parenIndex >= 0) {
130
+ const objectIndex = source.indexOf("{", parenIndex);
131
+ if (objectIndex >= 0) return objectIndex;
132
+ }
133
+ }
134
+ const exportDefaultIndex = source.indexOf("export default");
135
+ if (exportDefaultIndex >= 0) {
136
+ const objectIndex = source.indexOf("{", exportDefaultIndex);
137
+ if (objectIndex >= 0) return objectIndex;
138
+ }
139
+ return -1;
140
+ }
141
+ function getRootPropertySlices(source, objectStart) {
142
+ const slices = [];
143
+ let curlyDepth = 1;
144
+ let squareDepth = 0;
145
+ let parenDepth = 0;
146
+ let propertyStart = objectStart + 1;
147
+ let index = objectStart + 1;
148
+ while (index < source.length) {
149
+ const char = source[index];
150
+ if (char === "'" || char === "\"" || char === "`") {
151
+ index = consumeQuotedLiteral(source, index, source.length);
152
+ continue;
153
+ }
154
+ const nextIndex = consumeComment(source, index, source.length);
155
+ if (nextIndex !== null) {
156
+ index = nextIndex;
157
+ continue;
158
+ }
159
+ if (char === "{") {
160
+ curlyDepth++;
161
+ index++;
162
+ continue;
163
+ }
164
+ if (char === "}") {
165
+ curlyDepth--;
166
+ if (curlyDepth === 0) {
167
+ slices.push({
168
+ start: propertyStart,
169
+ end: index
170
+ });
171
+ return slices;
172
+ }
173
+ index++;
174
+ continue;
175
+ }
176
+ if (char === "[") {
177
+ squareDepth++;
178
+ index++;
179
+ continue;
180
+ }
181
+ if (char === "]") {
182
+ squareDepth--;
183
+ index++;
184
+ continue;
185
+ }
186
+ if (char === "(") {
187
+ parenDepth++;
188
+ index++;
189
+ continue;
190
+ }
191
+ if (char === ")") {
192
+ parenDepth--;
193
+ index++;
194
+ continue;
195
+ }
196
+ if (char === "," && curlyDepth === 1 && squareDepth === 0 && parenDepth === 0) {
197
+ slices.push({
198
+ start: propertyStart,
199
+ end: index
200
+ });
201
+ propertyStart = index + 1;
202
+ }
203
+ index++;
204
+ }
205
+ throw new Error("Could not parse the root object in devflare config.");
206
+ }
207
+ function findTopLevelColon(source, start, end) {
208
+ let curlyDepth = 0;
209
+ let squareDepth = 0;
210
+ let parenDepth = 0;
211
+ let index = start;
212
+ while (index < end) {
213
+ const char = source[index];
214
+ if (char === "'" || char === "\"" || char === "`") {
215
+ index = consumeQuotedLiteral(source, index, end);
216
+ continue;
217
+ }
218
+ const nextIndex = consumeComment(source, index, end);
219
+ if (nextIndex !== null) {
220
+ index = nextIndex;
221
+ continue;
222
+ }
223
+ if (char === "{") {
224
+ curlyDepth++;
225
+ index++;
226
+ continue;
227
+ }
228
+ if (char === "}") {
229
+ curlyDepth--;
230
+ index++;
231
+ continue;
232
+ }
233
+ if (char === "[") {
234
+ squareDepth++;
235
+ index++;
236
+ continue;
237
+ }
238
+ if (char === "]") {
239
+ squareDepth--;
240
+ index++;
241
+ continue;
242
+ }
243
+ if (char === "(") {
244
+ parenDepth++;
245
+ index++;
246
+ continue;
247
+ }
248
+ if (char === ")") {
249
+ parenDepth--;
250
+ index++;
251
+ continue;
252
+ }
253
+ if (char === ":" && curlyDepth === 0 && squareDepth === 0 && parenDepth === 0) return index;
254
+ index++;
255
+ }
256
+ return -1;
257
+ }
258
+ function normalizePropertyKey(rawKey) {
259
+ const trimmed = rawKey.trim();
260
+ if (trimmed.startsWith("'") && trimmed.endsWith("'") || trimmed.startsWith("\"") && trimmed.endsWith("\"")) return trimmed.slice(1, -1);
261
+ return trimmed;
262
+ }
263
+ function findRootNameLiteralRange(source) {
264
+ const objectStart = findConfigObjectStart(source);
265
+ if (objectStart < 0) return null;
266
+ for (const slice of getRootPropertySlices(source, objectStart)) {
267
+ const keyStart = skipWhitespaceAndComments(source, slice.start, slice.end);
268
+ const colonIndex = findTopLevelColon(source, keyStart, slice.end);
269
+ if (colonIndex < 0) continue;
270
+ if (normalizePropertyKey(source.slice(keyStart, colonIndex)) !== "name") continue;
271
+ const valueStart = skipWhitespaceAndComments(source, colonIndex + 1, slice.end);
272
+ const quote = source[valueStart];
273
+ if (quote !== "'" && quote !== "\"") throw new Error("The top-level `name` property must be a string literal to be updated automatically.");
274
+ return {
275
+ start: valueStart,
276
+ end: consumeQuotedLiteral(source, valueStart, slice.end),
277
+ quote
278
+ };
279
+ }
280
+ return null;
281
+ }
282
+ function quoteWorkerName(value, quote) {
283
+ return `${quote}${value.replace(/\\/g, "\\\\").replace(new RegExp(`\\${quote}`, "g"), `\\${quote}`)}${quote}`;
284
+ }
285
+ async function updateConfigName(configPath, newName) {
286
+ const fs = await import("node:fs/promises");
287
+ const source = await fs.readFile(configPath, "utf-8");
288
+ const literalRange = findRootNameLiteralRange(source);
289
+ if (!literalRange) throw new Error("Could not locate a top-level string literal `name` property in the selected devflare config.");
290
+ const magicString = new MagicString(source);
291
+ magicString.overwrite(literalRange.start, literalRange.end, quoteWorkerName(newName, literalRange.quote));
292
+ await fs.writeFile(configPath, magicString.toString(), "utf-8");
293
+ }
294
+ function collectReferenceHitsFromConfig(configPath, configLike, oldName, scope) {
295
+ if (!configLike?.bindings) return [];
296
+ const hits = [];
297
+ for (const [bindingName, bindingConfig] of Object.entries(configLike.bindings.services ?? {})) if (bindingConfig.service === oldName) hits.push({
298
+ configPath,
299
+ scope,
300
+ kind: "service",
301
+ bindingName
302
+ });
303
+ for (const [bindingName, bindingConfig] of Object.entries(configLike.bindings.durableObjects ?? {})) if (normalizeDOBinding(bindingConfig).scriptName === oldName) hits.push({
304
+ configPath,
305
+ scope,
306
+ kind: "durable-object",
307
+ bindingName
308
+ });
309
+ return hits;
310
+ }
311
+ function collectReferenceHits(loadedConfigs, oldName) {
312
+ const hits = [];
313
+ for (const record of loadedConfigs) {
314
+ hits.push(...collectReferenceHitsFromConfig(record.configPath, record.config, oldName, "root"));
315
+ for (const [envName, envConfig] of Object.entries(record.config.env ?? {})) hits.push(...collectReferenceHitsFromConfig(record.configPath, envConfig, oldName, `env.${envName}`));
316
+ }
317
+ return hits;
318
+ }
319
+ async function runWorkerCommand(parsed, logger, options) {
320
+ const cwd = options.cwd ?? process.cwd();
321
+ const theme = createCliTheme(parsed.options);
322
+ const subcommand = parsed.args[0];
323
+ const oldName = parsed.args[1]?.trim();
324
+ const newName = asOptionalString(parsed.options.to);
325
+ const explicitConfigPath = asOptionalString(parsed.options.config);
326
+ if (subcommand !== "rename") {
327
+ logger.error(`Unknown worker subcommand: ${subcommand ?? "<none>"}`);
328
+ logLine(logger, dim("Usage: devflare worker rename <old-name> --to <new-name> [--config <path>]", theme));
329
+ return { exitCode: 1 };
330
+ }
331
+ if (!oldName) {
332
+ logger.error("A current Worker name is required.");
333
+ logLine(logger, dim("Usage: devflare worker rename <old-name> --to <new-name> [--config <path>]", theme));
334
+ return { exitCode: 1 };
335
+ }
336
+ if (!newName) {
337
+ logger.error("The new Worker name must be provided with --to.");
338
+ return { exitCode: 1 };
339
+ }
340
+ if (oldName === newName) {
341
+ logger.error("The new Worker name must be different from the current name.");
342
+ return { exitCode: 1 };
343
+ }
344
+ logLine(logger);
345
+ logLine(logger, `${yellow("worker", theme)} ${dim("Renaming Worker identity", theme)}`);
346
+ logLine(logger, `${dim("from", theme)} ${whiteDim(oldName, theme)}`);
347
+ logLine(logger, `${dim("to", theme)} ${green(newName, theme)}`);
348
+ if (!await account.isAuthenticated()) {
349
+ logger.error("Not authenticated with Cloudflare");
350
+ logLine(logger, dim("Run `devflare login` first.", theme));
351
+ return { exitCode: 1 };
352
+ }
353
+ let remoteRenamed = false;
354
+ try {
355
+ const explicitResolvedConfigPath = explicitConfigPath ? await resolveConfigCandidatePath(resolve(cwd, explicitConfigPath)) : null;
356
+ if (explicitConfigPath && !explicitResolvedConfigPath) throw new Error(`${formatSupportedConfigFilenames()} not found for --config ${explicitConfigPath}.`);
357
+ const { target, localConfigAlreadyUpdated, allConfigs } = selectTargetConfig(await loadDiscoveredConfigs(cwd, explicitResolvedConfigPath ?? void 0), cwd, oldName, newName, explicitResolvedConfigPath ?? void 0);
358
+ const accountId = await resolveAccountId(parsed, target.config);
359
+ if (!accountId) {
360
+ logger.error("No Cloudflare account could be resolved for this config.");
361
+ logLine(logger, dim("Set accountId in devflare.config.ts, pass --account, or configure a default account.", theme));
362
+ return { exitCode: 1 };
363
+ }
364
+ logLine(logger, `${dim("config", theme)} ${whiteDim(formatPathForLog(cwd, target.configPath), theme)}`);
365
+ logLine(logger, `${dim("account", theme)} ${whiteDim(accountId, theme)}`);
366
+ logLine(logger);
367
+ const workers = await account.workers(accountId);
368
+ const hasOldWorker = workers.some((worker) => worker.name === oldName);
369
+ const hasNewWorker = workers.some((worker) => worker.name === newName);
370
+ if (hasOldWorker && hasNewWorker) {
371
+ logger.error(`Both \`${oldName}\` and \`${newName}\` already exist in Cloudflare.`);
372
+ logLine(logger, dim("Refusing to rename because the target Worker name is already taken.", theme));
373
+ return { exitCode: 1 };
374
+ }
375
+ if (!hasOldWorker && !hasNewWorker) {
376
+ logger.error(`Neither \`${oldName}\` nor \`${newName}\` exists in Cloudflare for account ${accountId}.`);
377
+ return { exitCode: 1 };
378
+ }
379
+ if (hasOldWorker && !hasNewWorker) {
380
+ await account.renameWorker(accountId, oldName, newName);
381
+ remoteRenamed = true;
382
+ logger.success(`Renamed remote Worker ${oldName} → ${newName}`);
383
+ } else logLine(logger, `${dim("remote", theme)} ${green(newName, theme)} ${dim("is already the active Worker name in Cloudflare", theme)}`);
384
+ if (!localConfigAlreadyUpdated) {
385
+ await updateConfigName(target.configPath, newName);
386
+ logger.success(`Updated ${formatPathForLog(cwd, target.configPath)}`);
387
+ } else logLine(logger, `${dim("config", theme)} ${green("already updated locally", theme)}`);
388
+ const referenceHits = collectReferenceHits(allConfigs, oldName);
389
+ if (referenceHits.length > 0) {
390
+ logger.warn(`Found ${referenceHits.length} local reference(s) that still use \`${oldName}\`.`);
391
+ for (const hit of referenceHits) logLine(logger, ` ${formatPathForLog(cwd, hit.configPath)} ${dim(`(${hit.scope})`, theme)} ${dim("—", theme)} ${hit.kind === "service" ? "service binding" : "durable object binding"} ${bold(hit.bindingName, theme)}`);
392
+ }
393
+ logLine(logger);
394
+ logLine(logger, `${yellow("preview urls", theme)} ${dim("Existing preview URLs and registry entries may continue using the old Worker name until you upload fresh previews for the renamed Worker.", theme)}`);
395
+ logLine(logger, dim("Future deploys and preview uploads from this config will target the new Worker name.", theme));
396
+ return { exitCode: 0 };
397
+ } catch (error) {
398
+ if (remoteRenamed) {
399
+ logger.warn("The remote Worker rename succeeded, but the local config update did not complete.");
400
+ logLine(logger, dim("Update devflare.config.ts manually so future deploys target the renamed Worker.", theme));
401
+ }
402
+ if (error instanceof Error) {
403
+ logger.error(error.message);
404
+ return { exitCode: 1 };
405
+ }
406
+ throw error;
407
+ }
408
+ }
409
+ //#endregion
410
+ export { runWorkerCommand };