devflare 1.0.0-next.7 → 1.0.0-next.70

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 (632) hide show
  1. package/LICENSE +21 -0
  2. package/LLM.md +17315 -2144
  3. package/README.md +398 -607
  4. package/bin/devflare.js +30 -14
  5. package/dist/_chunks/account-BHY3fvrA.js +462 -0
  6. package/dist/_chunks/account-resources-BdKj8q1h.js +159 -0
  7. package/dist/_chunks/ai-CN_SREim.js +322 -0
  8. package/dist/_chunks/api-BKClUlUf.js +568 -0
  9. package/dist/_chunks/build-DplSo6Gc.js +24 -0
  10. package/dist/_chunks/build-artifacts-CkwCap5N.js +483 -0
  11. package/dist/_chunks/cli-ZJYtm-lW.js +1214 -0
  12. package/dist/_chunks/cloudflare-Ic5ubQza.js +157 -0
  13. package/dist/_chunks/colors-D0NVzAFN.js +13 -0
  14. package/dist/_chunks/command-utils-DjaaMQX7.js +45 -0
  15. package/dist/_chunks/compiler-UxXQgEPq.js +521 -0
  16. package/dist/_chunks/config-path-CYGlwKDs.js +42 -0
  17. package/dist/_chunks/config-zQd4jmXU.js +78 -0
  18. package/dist/_chunks/context-DGMev2AF.js +2515 -0
  19. package/dist/_chunks/decorators-eXNZ1S0N.js +19 -0
  20. package/dist/_chunks/dependencies-wKqrxKV_.js +57 -0
  21. package/dist/_chunks/deploy-z1_wbNn2.js +1032 -0
  22. package/dist/_chunks/dev-BagtFegV.js +952 -0
  23. package/dist/_chunks/doctor-CAsJ-rSZ.js +219 -0
  24. package/dist/_chunks/durable-object-DuMPM8re.js +234 -0
  25. package/dist/_chunks/env-D4uJqqgu.js +125 -0
  26. package/dist/_chunks/family-BTTpTwUk.js +143 -0
  27. package/dist/_chunks/generated-artifacts-Bb13pGUG.js +32 -0
  28. package/dist/_chunks/glob-DRw9sbfF.js +56 -0
  29. package/dist/_chunks/init-DJ5y3mu5.js +165 -0
  30. package/dist/_chunks/loader-BC0skbnH.js +1330 -0
  31. package/dist/_chunks/local-dev-vars-BFLS-HoI.js +81 -0
  32. package/dist/_chunks/local-hyperdrive-CcORzo76.js +119 -0
  33. package/dist/_chunks/local-media-bindings-ZQe-epuw.js +335 -0
  34. package/dist/_chunks/local-secrets-C0n5oRgI.js +123 -0
  35. package/dist/_chunks/login-CgNcbpEq.js +51 -0
  36. package/dist/_chunks/package-metadata-CLI488gB.js +39 -0
  37. package/dist/_chunks/preferences-CbYERA_m.js +241 -0
  38. package/dist/_chunks/preview-j9Kbx4-G.js +462 -0
  39. package/dist/_chunks/preview-registry-CTXU4mBc.js +1186 -0
  40. package/dist/_chunks/preview-resources-CQIu2-NY.js +359 -0
  41. package/dist/_chunks/previews-BIaw6NVC.js +1133 -0
  42. package/dist/_chunks/productions-CF8oQcX7.js +504 -0
  43. package/dist/_chunks/r2-presign-runtime-C75FkLMd.js +291 -0
  44. package/dist/_chunks/ref-CYJNAAe_.js +178 -0
  45. package/dist/_chunks/remote-8jEHLVGg.js +79 -0
  46. package/dist/_chunks/remote-config-Bw6qIVM4.js +132 -0
  47. package/dist/_chunks/resolve-package-DeJUGxoE.js +152 -0
  48. package/dist/_chunks/rolldown-runtime-CvQ6eiug.js +14 -0
  49. package/dist/_chunks/routes-CRXB3-iw.js +851 -0
  50. package/dist/_chunks/runtime-BlKTWIgD.js +874 -0
  51. package/dist/_chunks/schema-normalization-CTdiY17P.js +667 -0
  52. package/dist/_chunks/secrets-BJuEa9Jz.js +95 -0
  53. package/dist/_chunks/tail-DjGRt8gw.js +239 -0
  54. package/dist/_chunks/token-wmeF8-IQ.js +333 -0
  55. package/dist/_chunks/tokens-KaEr4B8e.js +221 -0
  56. package/dist/_chunks/types-BLGfxIq-.js +484 -0
  57. package/dist/_chunks/ui-BhCdDC2N.js +103 -0
  58. package/dist/_chunks/usage-rRusKejc.js +272 -0
  59. package/dist/_chunks/vite-Bml-Whp8.js +1267 -0
  60. package/dist/_chunks/vite-process-CDa3yQui.js +2929 -0
  61. package/dist/_chunks/vite-utils-D8kPPxUy.js +183 -0
  62. package/dist/_chunks/worker-DgczaXVW.js +410 -0
  63. package/dist/_chunks/worker-bundler-Isj5jiW6.js +458 -0
  64. package/dist/_chunks/worker-entrypoint-C8j23t6d.js +247 -0
  65. package/dist/_chunks/workerName-kEXwmV2m.js +23 -0
  66. package/dist/_chunks/workspace-CrvqPLTX.js +517 -0
  67. package/dist/_chunks/workspace-Ds3xMjOE.js +175 -0
  68. package/dist/bridge/client.d.ts +93 -8
  69. package/dist/bridge/client.d.ts.map +1 -1
  70. package/dist/bridge/do-rpc-dispatch.d.ts +23 -0
  71. package/dist/bridge/do-rpc-dispatch.d.ts.map +1 -0
  72. package/dist/bridge/do-websocket-connect.d.ts +33 -0
  73. package/dist/bridge/do-websocket-connect.d.ts.map +1 -0
  74. package/dist/bridge/gateway-runtime.d.ts +8 -0
  75. package/dist/bridge/gateway-runtime.d.ts.map +1 -0
  76. package/dist/bridge/index.d.ts +6 -6
  77. package/dist/bridge/index.d.ts.map +1 -1
  78. package/dist/bridge/log.d.ts +5 -0
  79. package/dist/bridge/log.d.ts.map +1 -0
  80. package/dist/bridge/miniflare-gateway.d.ts +45 -0
  81. package/dist/bridge/miniflare-gateway.d.ts.map +1 -0
  82. package/dist/bridge/miniflare.d.ts +92 -2
  83. package/dist/bridge/miniflare.d.ts.map +1 -1
  84. package/dist/bridge/proxy.d.ts +12 -11
  85. package/dist/bridge/proxy.d.ts.map +1 -1
  86. package/dist/bridge/r2-presign-runtime.d.ts +9 -0
  87. package/dist/bridge/r2-presign-runtime.d.ts.map +1 -0
  88. package/dist/bridge/server.d.ts +2 -1
  89. package/dist/bridge/server.d.ts.map +1 -1
  90. package/dist/bridge/v2/body-streams.d.ts +53 -0
  91. package/dist/bridge/v2/body-streams.d.ts.map +1 -0
  92. package/dist/bridge/v2/codec.d.ts +106 -0
  93. package/dist/bridge/v2/codec.d.ts.map +1 -0
  94. package/dist/bridge/v2/control-messages.d.ts +46 -0
  95. package/dist/bridge/v2/control-messages.d.ts.map +1 -0
  96. package/dist/bridge/v2/frames.d.ts +109 -0
  97. package/dist/bridge/v2/frames.d.ts.map +1 -0
  98. package/dist/bridge/v2/index.d.ts +11 -0
  99. package/dist/bridge/v2/index.d.ts.map +1 -0
  100. package/dist/bridge/v2/serialization.d.ts +48 -0
  101. package/dist/bridge/v2/serialization.d.ts.map +1 -0
  102. package/dist/bridge/v2/transport.d.ts +31 -0
  103. package/dist/bridge/v2/transport.d.ts.map +1 -0
  104. package/dist/bridge/v2/value-codec.d.ts +61 -0
  105. package/dist/bridge/v2/value-codec.d.ts.map +1 -0
  106. package/dist/bridge/v2/value-serialization.d.ts +139 -0
  107. package/dist/bridge/v2/value-serialization.d.ts.map +1 -0
  108. package/dist/bridge/{protocol.d.ts → v2/wire.d.ts} +32 -8
  109. package/dist/bridge/v2/wire.d.ts.map +1 -0
  110. package/dist/bridge/v2/ws-relay.d.ts +53 -0
  111. package/dist/bridge/v2/ws-relay.d.ts.map +1 -0
  112. package/dist/bridge/websocket-constructor.d.ts +38 -0
  113. package/dist/bridge/websocket-constructor.d.ts.map +1 -0
  114. package/dist/browser-shim/handler.d.ts +2 -2
  115. package/dist/browser-shim/handler.d.ts.map +1 -1
  116. package/dist/browser-shim/index.d.ts +2 -2
  117. package/dist/browser-shim/server.d.ts +63 -0
  118. package/dist/browser-shim/server.d.ts.map +1 -1
  119. package/dist/browser.d.ts +5778 -43
  120. package/dist/browser.d.ts.map +1 -1
  121. package/dist/browser.js +73 -142
  122. package/dist/bundler/defaults.d.ts +23 -0
  123. package/dist/bundler/defaults.d.ts.map +1 -0
  124. package/dist/bundler/do-bundler.d.ts +7 -0
  125. package/dist/bundler/do-bundler.d.ts.map +1 -1
  126. package/dist/bundler/index.d.ts +3 -1
  127. package/dist/bundler/index.d.ts.map +1 -1
  128. package/dist/bundler/rolldown-shared.d.ts +53 -0
  129. package/dist/bundler/rolldown-shared.d.ts.map +1 -0
  130. package/dist/bundler/worker-bundler.d.ts +13 -0
  131. package/dist/bundler/worker-bundler.d.ts.map +1 -0
  132. package/dist/bundler/worker-compat.d.ts +4 -0
  133. package/dist/bundler/worker-compat.d.ts.map +1 -0
  134. package/dist/cli/build-manifest.d.ts +66 -0
  135. package/dist/cli/build-manifest.d.ts.map +1 -0
  136. package/dist/cli/command-utils.d.ts +18 -0
  137. package/dist/cli/command-utils.d.ts.map +1 -0
  138. package/dist/cli/commands/account.d.ts +2 -2
  139. package/dist/cli/commands/account.d.ts.map +1 -1
  140. package/dist/cli/commands/ai.d.ts +1 -1
  141. package/dist/cli/commands/ai.d.ts.map +1 -1
  142. package/dist/cli/commands/build-artifacts.d.ts +40 -0
  143. package/dist/cli/commands/build-artifacts.d.ts.map +1 -0
  144. package/dist/cli/commands/build.d.ts +2 -2
  145. package/dist/cli/commands/build.d.ts.map +1 -1
  146. package/dist/cli/commands/config.d.ts +4 -0
  147. package/dist/cli/commands/config.d.ts.map +1 -0
  148. package/dist/cli/commands/deploy/metadata.d.ts +18 -0
  149. package/dist/cli/commands/deploy/metadata.d.ts.map +1 -0
  150. package/dist/cli/commands/deploy/prepare.d.ts +23 -0
  151. package/dist/cli/commands/deploy/prepare.d.ts.map +1 -0
  152. package/dist/cli/commands/deploy/runtime.d.ts +4 -0
  153. package/dist/cli/commands/deploy/runtime.d.ts.map +1 -0
  154. package/dist/cli/commands/deploy/verification.d.ts +36 -0
  155. package/dist/cli/commands/deploy/verification.d.ts.map +1 -0
  156. package/dist/cli/commands/deploy.d.ts +2 -2
  157. package/dist/cli/commands/deploy.d.ts.map +1 -1
  158. package/dist/cli/commands/dev.d.ts +9 -1
  159. package/dist/cli/commands/dev.d.ts.map +1 -1
  160. package/dist/cli/commands/doctor.d.ts +2 -2
  161. package/dist/cli/commands/doctor.d.ts.map +1 -1
  162. package/dist/cli/commands/init.d.ts +2 -2
  163. package/dist/cli/commands/init.d.ts.map +1 -1
  164. package/dist/cli/commands/login.d.ts +4 -0
  165. package/dist/cli/commands/login.d.ts.map +1 -0
  166. package/dist/cli/commands/previews-support/cleanup.d.ts +9 -0
  167. package/dist/cli/commands/previews-support/cleanup.d.ts.map +1 -0
  168. package/dist/cli/commands/previews-support/family.d.ts +10 -0
  169. package/dist/cli/commands/previews-support/family.d.ts.map +1 -0
  170. package/dist/cli/commands/previews-support/render.d.ts +8 -0
  171. package/dist/cli/commands/previews-support/render.d.ts.map +1 -0
  172. package/dist/cli/commands/previews-support/theme.d.ts +10 -0
  173. package/dist/cli/commands/previews-support/theme.d.ts.map +1 -0
  174. package/dist/cli/commands/previews-support/types.d.ts +70 -0
  175. package/dist/cli/commands/previews-support/types.d.ts.map +1 -0
  176. package/dist/cli/commands/previews.d.ts +4 -0
  177. package/dist/cli/commands/previews.d.ts.map +1 -0
  178. package/dist/cli/commands/productions.d.ts +4 -0
  179. package/dist/cli/commands/productions.d.ts.map +1 -0
  180. package/dist/cli/commands/remote.d.ts +1 -1
  181. package/dist/cli/commands/remote.d.ts.map +1 -1
  182. package/dist/cli/commands/secrets.d.ts +4 -0
  183. package/dist/cli/commands/secrets.d.ts.map +1 -0
  184. package/dist/cli/commands/tail.d.ts +44 -0
  185. package/dist/cli/commands/tail.d.ts.map +1 -0
  186. package/dist/cli/commands/token.d.ts +4 -0
  187. package/dist/cli/commands/token.d.ts.map +1 -0
  188. package/dist/cli/commands/type-generation/discovery.d.ts +7 -0
  189. package/dist/cli/commands/type-generation/discovery.d.ts.map +1 -0
  190. package/dist/cli/commands/type-generation/generator.d.ts +121 -0
  191. package/dist/cli/commands/type-generation/generator.d.ts.map +1 -0
  192. package/dist/cli/commands/type-generation/models.d.ts +27 -0
  193. package/dist/cli/commands/type-generation/models.d.ts.map +1 -0
  194. package/dist/cli/commands/types.d.ts +2 -2
  195. package/dist/cli/commands/types.d.ts.map +1 -1
  196. package/dist/cli/commands/worker.d.ts +4 -0
  197. package/dist/cli/commands/worker.d.ts.map +1 -0
  198. package/dist/cli/commands/workspace.d.ts +8 -0
  199. package/dist/cli/commands/workspace.d.ts.map +1 -0
  200. package/dist/cli/config-path.d.ts +6 -0
  201. package/dist/cli/config-path.d.ts.map +1 -0
  202. package/dist/cli/dependencies.d.ts +2 -1
  203. package/dist/cli/dependencies.d.ts.map +1 -1
  204. package/dist/cli/deploy-strategy.d.ts +17 -0
  205. package/dist/cli/deploy-strategy.d.ts.map +1 -0
  206. package/dist/cli/deploy-target.d.ts +17 -0
  207. package/dist/cli/deploy-target.d.ts.map +1 -0
  208. package/dist/cli/generated-artifacts.d.ts +12 -0
  209. package/dist/cli/generated-artifacts.d.ts.map +1 -0
  210. package/dist/cli/gradual-deploy.d.ts +49 -0
  211. package/dist/cli/gradual-deploy.d.ts.map +1 -0
  212. package/dist/cli/help-pages/pages/account.d.ts +3 -0
  213. package/dist/cli/help-pages/pages/account.d.ts.map +1 -0
  214. package/dist/cli/help-pages/pages/core.d.ts +4 -0
  215. package/dist/cli/help-pages/pages/core.d.ts.map +1 -0
  216. package/dist/cli/help-pages/pages/index.d.ts +3 -0
  217. package/dist/cli/help-pages/pages/index.d.ts.map +1 -0
  218. package/dist/cli/help-pages/pages/misc.d.ts +3 -0
  219. package/dist/cli/help-pages/pages/misc.d.ts.map +1 -0
  220. package/dist/cli/help-pages/pages/previews.d.ts +3 -0
  221. package/dist/cli/help-pages/pages/previews.d.ts.map +1 -0
  222. package/dist/cli/help-pages/pages/productions.d.ts +3 -0
  223. package/dist/cli/help-pages/pages/productions.d.ts.map +1 -0
  224. package/dist/cli/help-pages/render.d.ts +12 -0
  225. package/dist/cli/help-pages/render.d.ts.map +1 -0
  226. package/dist/cli/help-pages/shared.d.ts +15 -0
  227. package/dist/cli/help-pages/shared.d.ts.map +1 -0
  228. package/dist/cli/help-pages/types.d.ts +23 -0
  229. package/dist/cli/help-pages/types.d.ts.map +1 -0
  230. package/dist/cli/help.d.ts +6 -0
  231. package/dist/cli/help.d.ts.map +1 -0
  232. package/dist/cli/index.d.ts +1 -0
  233. package/dist/cli/index.d.ts.map +1 -1
  234. package/dist/cli/index.js +2 -0
  235. package/dist/cli/package-metadata.d.ts +16 -0
  236. package/dist/cli/package-metadata.d.ts.map +1 -0
  237. package/dist/cli/preview-bindings.d.ts +49 -0
  238. package/dist/cli/preview-bindings.d.ts.map +1 -0
  239. package/dist/cli/preview.d.ts +10 -0
  240. package/dist/cli/preview.d.ts.map +1 -0
  241. package/dist/cli/ui.d.ts +37 -0
  242. package/dist/cli/ui.d.ts.map +1 -0
  243. package/dist/cli/workspace-build-guard.d.ts +14 -0
  244. package/dist/cli/workspace-build-guard.d.ts.map +1 -0
  245. package/dist/cli/wrangler-auth.d.ts +1 -1
  246. package/dist/cloudflare/account-core.d.ts +6 -0
  247. package/dist/cloudflare/account-core.d.ts.map +1 -0
  248. package/dist/cloudflare/account-resources.d.ts +40 -0
  249. package/dist/cloudflare/account-resources.d.ts.map +1 -0
  250. package/dist/cloudflare/account-status.d.ts +11 -0
  251. package/dist/cloudflare/account-status.d.ts.map +1 -0
  252. package/dist/cloudflare/account-workers.d.ts +14 -0
  253. package/dist/cloudflare/account-workers.d.ts.map +1 -0
  254. package/dist/cloudflare/account.d.ts +7 -64
  255. package/dist/cloudflare/account.d.ts.map +1 -1
  256. package/dist/cloudflare/api.d.ts +71 -3
  257. package/dist/cloudflare/api.d.ts.map +1 -1
  258. package/dist/cloudflare/auth.d.ts +1 -1
  259. package/dist/cloudflare/auth.d.ts.map +1 -1
  260. package/dist/cloudflare/index.d.ts +61 -6
  261. package/dist/cloudflare/index.d.ts.map +1 -1
  262. package/dist/cloudflare/index.js +4 -13
  263. package/dist/cloudflare/known-permission-group-ids.generated.d.ts +10 -0
  264. package/dist/cloudflare/known-permission-group-ids.generated.d.ts.map +1 -0
  265. package/dist/cloudflare/kv-namespace.d.ts +4 -0
  266. package/dist/cloudflare/kv-namespace.d.ts.map +1 -0
  267. package/dist/cloudflare/preferences.d.ts +7 -0
  268. package/dist/cloudflare/preferences.d.ts.map +1 -1
  269. package/dist/cloudflare/preview-registry-cache.d.ts +6 -0
  270. package/dist/cloudflare/preview-registry-cache.d.ts.map +1 -0
  271. package/dist/cloudflare/preview-registry-inference.d.ts +14 -0
  272. package/dist/cloudflare/preview-registry-inference.d.ts.map +1 -0
  273. package/dist/cloudflare/preview-registry-records.d.ts +4 -0
  274. package/dist/cloudflare/preview-registry-records.d.ts.map +1 -0
  275. package/dist/cloudflare/preview-registry-shape.d.ts +47 -0
  276. package/dist/cloudflare/preview-registry-shape.d.ts.map +1 -0
  277. package/dist/cloudflare/preview-registry-store.d.ts +14 -0
  278. package/dist/cloudflare/preview-registry-store.d.ts.map +1 -0
  279. package/dist/cloudflare/preview-registry-transport.d.ts +4 -0
  280. package/dist/cloudflare/preview-registry-transport.d.ts.map +1 -0
  281. package/dist/cloudflare/preview-registry-types.d.ts +103 -0
  282. package/dist/cloudflare/preview-registry-types.d.ts.map +1 -0
  283. package/dist/cloudflare/preview-registry.d.ts +42 -0
  284. package/dist/cloudflare/preview-registry.d.ts.map +1 -0
  285. package/dist/cloudflare/preview-urls.d.ts +3 -0
  286. package/dist/cloudflare/preview-urls.d.ts.map +1 -0
  287. package/dist/cloudflare/registry-schema.d.ts +253 -0
  288. package/dist/cloudflare/registry-schema.d.ts.map +1 -0
  289. package/dist/cloudflare/remote-config.d.ts.map +1 -1
  290. package/dist/cloudflare/tokens.d.ts +44 -0
  291. package/dist/cloudflare/tokens.d.ts.map +1 -0
  292. package/dist/cloudflare/types.d.ts +124 -7
  293. package/dist/cloudflare/types.d.ts.map +1 -1
  294. package/dist/cloudflare/usage.d.ts +31 -3
  295. package/dist/cloudflare/usage.d.ts.map +1 -1
  296. package/dist/config/binding-resolution-helpers.d.ts +41 -0
  297. package/dist/config/binding-resolution-helpers.d.ts.map +1 -0
  298. package/dist/config/compatibility.d.ts +3 -0
  299. package/dist/config/compatibility.d.ts.map +1 -0
  300. package/dist/config/compiler/bindings.d.ts +14 -0
  301. package/dist/config/compiler/bindings.d.ts.map +1 -0
  302. package/dist/config/compiler/core-helpers.d.ts +6 -0
  303. package/dist/config/compiler/core-helpers.d.ts.map +1 -0
  304. package/dist/config/compiler/do-workers.d.ts +34 -0
  305. package/dist/config/compiler/do-workers.d.ts.map +1 -0
  306. package/dist/config/compiler/paths.d.ts +18 -0
  307. package/dist/config/compiler/paths.d.ts.map +1 -0
  308. package/dist/config/compiler/types.d.ts +308 -0
  309. package/dist/config/compiler/types.d.ts.map +1 -0
  310. package/dist/config/compiler.d.ts +22 -134
  311. package/dist/config/compiler.d.ts.map +1 -1
  312. package/dist/config/cron.d.ts +19 -0
  313. package/dist/config/cron.d.ts.map +1 -0
  314. package/dist/config/define.d.ts +8 -5
  315. package/dist/config/define.d.ts.map +1 -1
  316. package/dist/config/deploy-resources.d.ts +58 -0
  317. package/dist/config/deploy-resources.d.ts.map +1 -0
  318. package/dist/config/env-vars.d.ts +309 -0
  319. package/dist/config/env-vars.d.ts.map +1 -0
  320. package/dist/config/framework-providers.d.ts +9 -0
  321. package/dist/config/framework-providers.d.ts.map +1 -0
  322. package/dist/config/index.d.ts +13 -5
  323. package/dist/config/index.d.ts.map +1 -1
  324. package/dist/config/loader.d.ts +2 -1
  325. package/dist/config/loader.d.ts.map +1 -1
  326. package/dist/config/local-dev-vars.d.ts +15 -0
  327. package/dist/config/local-dev-vars.d.ts.map +1 -0
  328. package/dist/config/preview-resources.d.ts +83 -0
  329. package/dist/config/preview-resources.d.ts.map +1 -0
  330. package/dist/config/preview.d.ts +29 -0
  331. package/dist/config/preview.d.ts.map +1 -0
  332. package/dist/config/ref.d.ts +16 -25
  333. package/dist/config/ref.d.ts.map +1 -1
  334. package/dist/config/resolve-phased.d.ts +72 -0
  335. package/dist/config/resolve-phased.d.ts.map +1 -0
  336. package/dist/config/resolve.d.ts +11 -0
  337. package/dist/config/resolve.d.ts.map +1 -0
  338. package/dist/config/resource-resolution.d.ts +80 -0
  339. package/dist/config/resource-resolution.d.ts.map +1 -0
  340. package/dist/config/schema-bindings.d.ts +2124 -0
  341. package/dist/config/schema-bindings.d.ts.map +1 -0
  342. package/dist/config/schema-build.d.ts +67 -0
  343. package/dist/config/schema-build.d.ts.map +1 -0
  344. package/dist/config/schema-env.d.ts +3821 -0
  345. package/dist/config/schema-env.d.ts.map +1 -0
  346. package/dist/config/schema-normalization.d.ts +272 -0
  347. package/dist/config/schema-normalization.d.ts.map +1 -0
  348. package/dist/config/schema-runtime.d.ts +597 -0
  349. package/dist/config/schema-runtime.d.ts.map +1 -0
  350. package/dist/config/schema-types-bindings-platform.d.ts +520 -0
  351. package/dist/config/schema-types-bindings-platform.d.ts.map +1 -0
  352. package/dist/config/schema-types-bindings-resources.d.ts +802 -0
  353. package/dist/config/schema-types-bindings-resources.d.ts.map +1 -0
  354. package/dist/config/schema-types-bindings.d.ts +293 -0
  355. package/dist/config/schema-types-bindings.d.ts.map +1 -0
  356. package/dist/config/schema-types-build.d.ts +86 -0
  357. package/dist/config/schema-types-build.d.ts.map +1 -0
  358. package/dist/config/schema-types-runtime-server.d.ts +196 -0
  359. package/dist/config/schema-types-runtime-server.d.ts.map +1 -0
  360. package/dist/config/schema-types-runtime.d.ts +913 -0
  361. package/dist/config/schema-types-runtime.d.ts.map +1 -0
  362. package/dist/config/schema-types.d.ts +458 -0
  363. package/dist/config/schema-types.d.ts.map +1 -0
  364. package/dist/config/schema.d.ts +5796 -2023
  365. package/dist/config/schema.d.ts.map +1 -1
  366. package/dist/config/service-bindings-validation.d.ts +36 -0
  367. package/dist/config/service-bindings-validation.d.ts.map +1 -0
  368. package/dist/config/workspace.d.ts +282 -0
  369. package/dist/config/workspace.d.ts.map +1 -0
  370. package/dist/config-entry.d.ts +7 -0
  371. package/dist/config-entry.d.ts.map +1 -0
  372. package/dist/config-entry.js +3 -0
  373. package/dist/decorators/durable-object.d.ts.map +1 -1
  374. package/dist/decorators/index.d.ts +2 -2
  375. package/dist/decorators/index.js +2 -9
  376. package/dist/dev-server/d1-migrations.d.ts +36 -0
  377. package/dist/dev-server/d1-migrations.d.ts.map +1 -0
  378. package/dist/dev-server/dev-server-state.d.ts +59 -0
  379. package/dist/dev-server/dev-server-state.d.ts.map +1 -0
  380. package/dist/dev-server/gateway-script.d.ts +22 -0
  381. package/dist/dev-server/gateway-script.d.ts.map +1 -0
  382. package/dist/dev-server/index.d.ts +1 -1
  383. package/dist/dev-server/miniflare-bindings.d.ts +90 -0
  384. package/dist/dev-server/miniflare-bindings.d.ts.map +1 -0
  385. package/dist/dev-server/miniflare-dev-config.d.ts +57 -0
  386. package/dist/dev-server/miniflare-dev-config.d.ts.map +1 -0
  387. package/dist/dev-server/miniflare-log.d.ts +20 -0
  388. package/dist/dev-server/miniflare-log.d.ts.map +1 -0
  389. package/dist/dev-server/miniflare-worker-config.d.ts +100 -0
  390. package/dist/dev-server/miniflare-worker-config.d.ts.map +1 -0
  391. package/dist/dev-server/reload-queue.d.ts +13 -0
  392. package/dist/dev-server/reload-queue.d.ts.map +1 -0
  393. package/dist/dev-server/runtime-health.d.ts +79 -0
  394. package/dist/dev-server/runtime-health.d.ts.map +1 -0
  395. package/dist/dev-server/runtime-stdio.d.ts +8 -0
  396. package/dist/dev-server/runtime-stdio.d.ts.map +1 -0
  397. package/dist/dev-server/server-startup-helpers.d.ts +84 -0
  398. package/dist/dev-server/server-startup-helpers.d.ts.map +1 -0
  399. package/dist/dev-server/server.d.ts +2 -0
  400. package/dist/dev-server/server.d.ts.map +1 -1
  401. package/dist/dev-server/vite-process.d.ts +24 -0
  402. package/dist/dev-server/vite-process.d.ts.map +1 -0
  403. package/dist/dev-server/vite-utils.d.ts +19 -1
  404. package/dist/dev-server/vite-utils.d.ts.map +1 -1
  405. package/dist/dev-server/worker-source-watcher.d.ts +17 -0
  406. package/dist/dev-server/worker-source-watcher.d.ts.map +1 -0
  407. package/dist/dev-server/worker-surface-paths.d.ts +6 -0
  408. package/dist/dev-server/worker-surface-paths.d.ts.map +1 -0
  409. package/dist/dev-server/workspace/merge-config.d.ts +81 -0
  410. package/dist/dev-server/workspace/merge-config.d.ts.map +1 -0
  411. package/dist/dev-server/workspace/prepare-app.d.ts +84 -0
  412. package/dist/dev-server/workspace/prepare-app.d.ts.map +1 -0
  413. package/dist/dev-server/workspace/server.d.ts +47 -0
  414. package/dist/dev-server/workspace/server.d.ts.map +1 -0
  415. package/dist/env.d.ts +10 -0
  416. package/dist/env.d.ts.map +1 -1
  417. package/dist/index.d.ts +8 -12
  418. package/dist/index.d.ts.map +1 -1
  419. package/dist/index.js +10 -297
  420. package/dist/runtime/context-events.d.ts +13 -0
  421. package/dist/runtime/context-events.d.ts.map +1 -0
  422. package/dist/runtime/context-types.d.ts +82 -0
  423. package/dist/runtime/context-types.d.ts.map +1 -0
  424. package/dist/runtime/context.d.ts +20 -44
  425. package/dist/runtime/context.d.ts.map +1 -1
  426. package/dist/runtime/exports.d.ts +70 -55
  427. package/dist/runtime/exports.d.ts.map +1 -1
  428. package/dist/runtime/index.d.ts +11 -5
  429. package/dist/runtime/index.d.ts.map +1 -1
  430. package/dist/runtime/index.js +5 -184
  431. package/dist/runtime/middleware.d.ts +119 -67
  432. package/dist/runtime/middleware.d.ts.map +1 -1
  433. package/dist/runtime/r2-presign.d.ts +164 -0
  434. package/dist/runtime/r2-presign.d.ts.map +1 -0
  435. package/dist/runtime/router/index.d.ts +7 -0
  436. package/dist/runtime/router/index.d.ts.map +1 -0
  437. package/dist/runtime/router/types.d.ts +24 -0
  438. package/dist/runtime/router/types.d.ts.map +1 -0
  439. package/dist/runtime/validation.d.ts +18 -4
  440. package/dist/runtime/validation.d.ts.map +1 -1
  441. package/dist/secrets/local-secrets.d.ts +46 -0
  442. package/dist/secrets/local-secrets.d.ts.map +1 -0
  443. package/dist/shims/local-hyperdrive.d.ts +12 -0
  444. package/dist/shims/local-hyperdrive.d.ts.map +1 -0
  445. package/dist/shims/local-media-bindings.d.ts +19 -0
  446. package/dist/shims/local-media-bindings.d.ts.map +1 -0
  447. package/dist/shims/local-worker-loader.d.ts +3 -0
  448. package/dist/shims/local-worker-loader.d.ts.map +1 -0
  449. package/dist/sveltekit/index.d.ts +1 -1
  450. package/dist/sveltekit/index.d.ts.map +1 -1
  451. package/dist/sveltekit/index.js +377 -169
  452. package/dist/sveltekit/local-bindings.d.ts +4 -0
  453. package/dist/sveltekit/local-bindings.d.ts.map +1 -0
  454. package/dist/sveltekit/platform.d.ts +42 -2
  455. package/dist/sveltekit/platform.d.ts.map +1 -1
  456. package/dist/test/ai-search.d.ts +39 -0
  457. package/dist/test/ai-search.d.ts.map +1 -0
  458. package/dist/test/alarm.d.ts +55 -0
  459. package/dist/test/alarm.d.ts.map +1 -0
  460. package/dist/test/binding-hints.d.ts +10 -0
  461. package/dist/test/binding-hints.d.ts.map +1 -0
  462. package/dist/test/cf.d.ts +71 -35
  463. package/dist/test/cf.d.ts.map +1 -1
  464. package/dist/test/containers.d.ts +87 -0
  465. package/dist/test/containers.d.ts.map +1 -0
  466. package/dist/test/email.d.ts +16 -7
  467. package/dist/test/email.d.ts.map +1 -1
  468. package/dist/test/index.d.ts +20 -21
  469. package/dist/test/index.d.ts.map +1 -1
  470. package/dist/test/index.js +5115 -75
  471. package/dist/test/offline-bindings.d.ts +124 -0
  472. package/dist/test/offline-bindings.d.ts.map +1 -0
  473. package/dist/test/queue.d.ts.map +1 -1
  474. package/dist/test/remote-ai.d.ts.map +1 -1
  475. package/dist/test/remote-cloudflare.d.ts +13 -0
  476. package/dist/test/remote-cloudflare.d.ts.map +1 -0
  477. package/dist/test/remote-vectorize.d.ts.map +1 -1
  478. package/dist/test/resolve-service-bindings.d.ts +64 -4
  479. package/dist/test/resolve-service-bindings.d.ts.map +1 -1
  480. package/dist/test/scheduled.d.ts.map +1 -1
  481. package/dist/test/should-skip.d.ts +14 -18
  482. package/dist/test/should-skip.d.ts.map +1 -1
  483. package/dist/test/simple-context-bindings.d.ts +13 -0
  484. package/dist/test/simple-context-bindings.d.ts.map +1 -0
  485. package/dist/test/simple-context-durable-objects.d.ts +6 -0
  486. package/dist/test/simple-context-durable-objects.d.ts.map +1 -0
  487. package/dist/test/simple-context-env.d.ts +35 -0
  488. package/dist/test/simple-context-env.d.ts.map +1 -0
  489. package/dist/test/simple-context-gateway-script.d.ts +2 -0
  490. package/dist/test/simple-context-gateway-script.d.ts.map +1 -0
  491. package/dist/test/simple-context-handlers.d.ts +12 -0
  492. package/dist/test/simple-context-handlers.d.ts.map +1 -0
  493. package/dist/test/simple-context-lifecycle.d.ts +32 -0
  494. package/dist/test/simple-context-lifecycle.d.ts.map +1 -0
  495. package/dist/test/simple-context-mfconfig.d.ts +18 -0
  496. package/dist/test/simple-context-mfconfig.d.ts.map +1 -0
  497. package/dist/test/simple-context-multi-worker.d.ts +16 -0
  498. package/dist/test/simple-context-multi-worker.d.ts.map +1 -0
  499. package/dist/test/simple-context-paths.d.ts +40 -0
  500. package/dist/test/simple-context-paths.d.ts.map +1 -0
  501. package/dist/test/simple-context-runtime.d.ts +19 -0
  502. package/dist/test/simple-context-runtime.d.ts.map +1 -0
  503. package/dist/test/simple-context-startup.d.ts +11 -0
  504. package/dist/test/simple-context-startup.d.ts.map +1 -0
  505. package/dist/test/simple-context-transport.d.ts +14 -0
  506. package/dist/test/simple-context-transport.d.ts.map +1 -0
  507. package/dist/test/simple-context.d.ts +8 -27
  508. package/dist/test/simple-context.d.ts.map +1 -1
  509. package/dist/test/tail.d.ts +3 -2
  510. package/dist/test/tail.d.ts.map +1 -1
  511. package/dist/test/utilities/analytics-engine.d.ts +22 -0
  512. package/dist/test/utilities/analytics-engine.d.ts.map +1 -0
  513. package/dist/test/utilities/artifacts.d.ts +11 -0
  514. package/dist/test/utilities/artifacts.d.ts.map +1 -0
  515. package/dist/test/utilities/context.d.ts +39 -0
  516. package/dist/test/utilities/context.d.ts.map +1 -0
  517. package/dist/test/utilities/d1.d.ts +21 -0
  518. package/dist/test/utilities/d1.d.ts.map +1 -0
  519. package/dist/test/utilities/env.d.ts +45 -0
  520. package/dist/test/utilities/env.d.ts.map +1 -0
  521. package/dist/test/utilities/kv.d.ts +11 -0
  522. package/dist/test/utilities/kv.d.ts.map +1 -0
  523. package/dist/test/utilities/media.d.ts +16 -0
  524. package/dist/test/utilities/media.d.ts.map +1 -0
  525. package/dist/test/utilities/platform.d.ts +41 -0
  526. package/dist/test/utilities/platform.d.ts.map +1 -0
  527. package/dist/test/utilities/queue.d.ts +5 -0
  528. package/dist/test/utilities/queue.d.ts.map +1 -0
  529. package/dist/test/utilities/r2.d.ts +2 -0
  530. package/dist/test/utilities/r2.d.ts.map +1 -0
  531. package/dist/test/utilities/send-email.d.ts +27 -0
  532. package/dist/test/utilities/send-email.d.ts.map +1 -0
  533. package/dist/test/utilities/stream-flagship.d.ts +27 -0
  534. package/dist/test/utilities/stream-flagship.d.ts.map +1 -0
  535. package/dist/test/utilities/vectorize.d.ts +38 -0
  536. package/dist/test/utilities/vectorize.d.ts.map +1 -0
  537. package/dist/test/utilities/workflows.d.ts +26 -0
  538. package/dist/test/utilities/workflows.d.ts.map +1 -0
  539. package/dist/test/utilities.d.ts +14 -98
  540. package/dist/test/utilities.d.ts.map +1 -1
  541. package/dist/test/worker.d.ts +6 -0
  542. package/dist/test/worker.d.ts.map +1 -1
  543. package/dist/transform/durable-object.d.ts.map +1 -1
  544. package/dist/transform/index.d.ts +2 -2
  545. package/dist/transform/worker-entrypoint.d.ts +5 -0
  546. package/dist/transform/worker-entrypoint.d.ts.map +1 -1
  547. package/dist/utils/entrypoint-discovery.d.ts +6 -3
  548. package/dist/utils/entrypoint-discovery.d.ts.map +1 -1
  549. package/dist/utils/glob.d.ts.map +1 -1
  550. package/dist/utils/resolve-package.d.ts.map +1 -1
  551. package/dist/utils/send-email.d.ts +15 -0
  552. package/dist/utils/send-email.d.ts.map +1 -0
  553. package/dist/utils/send-email.js +163 -0
  554. package/dist/vite/config-file.d.ts +25 -0
  555. package/dist/vite/config-file.d.ts.map +1 -0
  556. package/dist/vite/index.d.ts +3 -2
  557. package/dist/vite/index.d.ts.map +1 -1
  558. package/dist/vite/index.js +2 -407
  559. package/dist/vite/plugin-config-hook.d.ts +28 -0
  560. package/dist/vite/plugin-config-hook.d.ts.map +1 -0
  561. package/dist/vite/plugin-context.d.ts +27 -0
  562. package/dist/vite/plugin-context.d.ts.map +1 -0
  563. package/dist/vite/plugin-durable-objects.d.ts +18 -0
  564. package/dist/vite/plugin-durable-objects.d.ts.map +1 -0
  565. package/dist/vite/plugin-programmatic.d.ts +44 -0
  566. package/dist/vite/plugin-programmatic.d.ts.map +1 -0
  567. package/dist/vite/plugin-service-bindings.d.ts +13 -0
  568. package/dist/vite/plugin-service-bindings.d.ts.map +1 -0
  569. package/dist/vite/plugin-transform.d.ts +41 -0
  570. package/dist/vite/plugin-transform.d.ts.map +1 -0
  571. package/dist/vite/plugin.d.ts +10 -41
  572. package/dist/vite/plugin.d.ts.map +1 -1
  573. package/dist/worker-entry/composed-worker.d.ts +5 -8
  574. package/dist/worker-entry/composed-worker.d.ts.map +1 -1
  575. package/dist/worker-entry/durable-object-discovery.d.ts +20 -0
  576. package/dist/worker-entry/durable-object-discovery.d.ts.map +1 -0
  577. package/dist/worker-entry/extensions.d.ts +5 -0
  578. package/dist/worker-entry/extensions.d.ts.map +1 -0
  579. package/dist/worker-entry/routes.d.ts +22 -0
  580. package/dist/worker-entry/routes.d.ts.map +1 -0
  581. package/dist/worker-entry/surface-paths.d.ts +26 -0
  582. package/dist/worker-entry/surface-paths.d.ts.map +1 -0
  583. package/dist/worker-entry/validate-fetch-style.d.ts +12 -0
  584. package/dist/worker-entry/validate-fetch-style.d.ts.map +1 -0
  585. package/dist/workflows/local-workflow-entrypoints.d.ts +7 -0
  586. package/dist/workflows/local-workflow-entrypoints.d.ts.map +1 -0
  587. package/package.json +160 -117
  588. package/R2.md +0 -170
  589. package/dist/account-rvrj687w.js +0 -397
  590. package/dist/ai-dx4fr9jh.js +0 -107
  591. package/dist/bridge/protocol.d.ts.map +0 -1
  592. package/dist/bridge/serialization.d.ts +0 -83
  593. package/dist/bridge/serialization.d.ts.map +0 -1
  594. package/dist/browser-shim/worker.d.ts +0 -14
  595. package/dist/browser-shim/worker.d.ts.map +0 -1
  596. package/dist/build-9myaxf07.js +0 -70
  597. package/dist/deploy-h1wz5p7m.js +0 -86
  598. package/dist/dev-rsdssknb.js +0 -2707
  599. package/dist/doctor-v7jy4s3r.js +0 -190
  600. package/dist/durable-object-t4kbb0yt.js +0 -13
  601. package/dist/index-18hvb6gb.js +0 -194
  602. package/dist/index-1xpj0m4r.js +0 -57
  603. package/dist/index-37x76zdn.js +0 -4
  604. package/dist/index-3t6rypgc.js +0 -13
  605. package/dist/index-62b3gt2g.js +0 -12
  606. package/dist/index-67qcae0f.js +0 -183
  607. package/dist/index-9ats0s83.js +0 -70
  608. package/dist/index-a0fjkq68.js +0 -198
  609. package/dist/index-a855bdsx.js +0 -18
  610. package/dist/index-ccrh4w3t.js +0 -1133
  611. package/dist/index-d8bdkx2h.js +0 -109
  612. package/dist/index-f8qh2tyh.js +0 -2152
  613. package/dist/index-gz1gndna.js +0 -307
  614. package/dist/index-hcex3rgh.js +0 -266
  615. package/dist/index-k7r18na8.js +0 -0
  616. package/dist/index-n3np2d6t.js +0 -462
  617. package/dist/index-n7rs26ft.js +0 -77
  618. package/dist/index-npc1c8jx.js +0 -44
  619. package/dist/index-p7g30wd2.js +0 -281
  620. package/dist/index-rbht7m9r.js +0 -36
  621. package/dist/index-tfyxa77h.js +0 -850
  622. package/dist/index-tk6ej9dj.js +0 -94
  623. package/dist/index-v8vvsn9x.js +0 -169
  624. package/dist/index-z14anrqp.js +0 -226
  625. package/dist/init-f9mgmew3.js +0 -186
  626. package/dist/remote-q59qk463.js +0 -97
  627. package/dist/test/bridge-context.d.ts +0 -76
  628. package/dist/test/bridge-context.d.ts.map +0 -1
  629. package/dist/test/multi-worker-context.d.ts +0 -114
  630. package/dist/test/multi-worker-context.d.ts.map +0 -1
  631. package/dist/types-wdcpnfvy.js +0 -487
  632. package/dist/worker-entrypoint-m9th0rg0.js +0 -13
@@ -0,0 +1,51 @@
1
+ import { t as account } from "./cloudflare-Ic5ubQza.js";
2
+ import { d as green, f as logLine, g as yellow, h as whiteDim, o as dim, r as createCliTheme } from "./ui-BhCdDC2N.js";
3
+ import { n as getConfiguredAccountId } from "./command-utils-DjaaMQX7.js";
4
+ import { t as getDependencies } from "./dependencies-wKqrxKV_.js";
5
+ //#region src/cli/commands/login.ts
6
+ async function logResolvedAccount(cwd, logger, theme) {
7
+ try {
8
+ const primaryAccount = await account.getPrimaryAccount();
9
+ if (primaryAccount) {
10
+ logLine(logger, `${dim("Primary account:", theme)} ${green(primaryAccount.name, theme)} ${whiteDim(`(${primaryAccount.id})`, theme)}`);
11
+ return;
12
+ }
13
+ } catch {}
14
+ const configuredAccountId = await getConfiguredAccountId(cwd);
15
+ if (!configuredAccountId) {
16
+ logLine(logger, dim("Run `devflare account` to inspect available accounts.", theme));
17
+ return;
18
+ }
19
+ const configuredAccount = await account.getAccountById(configuredAccountId);
20
+ if (configuredAccount) {
21
+ logLine(logger, `${dim("Configured account:", theme)} ${green(configuredAccount.name, theme)} ${whiteDim(`(${configuredAccount.id})`, theme)}`);
22
+ return;
23
+ }
24
+ logLine(logger, `${dim("Configured account ID:", theme)} ${whiteDim(configuredAccountId, theme)}`);
25
+ logLine(logger, dim("Run `devflare account --account <id>` to inspect the configured account.", theme));
26
+ }
27
+ async function runLoginCommand(parsed, logger, options) {
28
+ const force = parsed.options.force === true;
29
+ const cwd = options.cwd ?? process.cwd();
30
+ const theme = createCliTheme(parsed.options);
31
+ if (!force && await account.isAuthenticated()) {
32
+ logger.success("Already authenticated with Cloudflare");
33
+ await logResolvedAccount(cwd, logger, theme);
34
+ logLine(logger, dim("Use `devflare login --force` to open Wrangler login again.", theme));
35
+ return { exitCode: 0 };
36
+ }
37
+ logLine(logger);
38
+ logLine(logger, `${yellow("login", theme)} ${dim("Opening Wrangler login…", theme)}`);
39
+ if ((await (await getDependencies()).exec.exec("bunx", ["wrangler", "login"], {
40
+ cwd,
41
+ stdio: "inherit"
42
+ })).exitCode !== 0) {
43
+ logger.error("Wrangler login failed");
44
+ return { exitCode: 1 };
45
+ }
46
+ logger.success("Authenticated with Cloudflare");
47
+ await logResolvedAccount(cwd, logger, theme);
48
+ return { exitCode: 0 };
49
+ }
50
+ //#endregion
51
+ export { runLoginCommand };
@@ -0,0 +1,39 @@
1
+ import { dirname, resolve } from "pathe";
2
+ import { readFile } from "node:fs/promises";
3
+ import { fileURLToPath } from "node:url";
4
+ //#region src/cli/package-metadata.ts
5
+ let packageMetadataPromise = null;
6
+ async function loadPackageMetadata() {
7
+ let currentDir = dirname(fileURLToPath(import.meta.url));
8
+ while (true) {
9
+ const packageJsonPath = resolve(currentDir, "package.json");
10
+ try {
11
+ const packageJson = await readFile(packageJsonPath, "utf8");
12
+ const metadata = JSON.parse(packageJson);
13
+ if (metadata.name === "devflare") return metadata;
14
+ } catch {}
15
+ const parentDir = dirname(currentDir);
16
+ if (parentDir === currentDir) throw new Error("Could not resolve the devflare package.json file");
17
+ currentDir = parentDir;
18
+ }
19
+ }
20
+ async function getPackageMetadata() {
21
+ if (!packageMetadataPromise) packageMetadataPromise = loadPackageMetadata();
22
+ return packageMetadataPromise;
23
+ }
24
+ async function getPackageVersion() {
25
+ return (await getPackageMetadata()).version ?? "0.0.0";
26
+ }
27
+ async function getInitDependencyVersions() {
28
+ const metadata = await getPackageMetadata();
29
+ const dependencies = metadata.dependencies ?? {};
30
+ const devDependencies = metadata.devDependencies ?? {};
31
+ return {
32
+ devflare: `^${metadata.version ?? "0.0.0"}`,
33
+ typescript: dependencies.typescript ?? devDependencies.typescript ?? "^5.7.0",
34
+ wrangler: dependencies.wrangler ?? devDependencies.wrangler ?? "^4.85.0",
35
+ workersTypes: devDependencies["@cloudflare/workers-types"] ?? "^4.20250109.0"
36
+ };
37
+ }
38
+ //#endregion
39
+ export { getPackageVersion as n, getInitDependencyVersions as t };
@@ -0,0 +1,241 @@
1
+ import { a as apiGetAll, d as kvGet, f as kvPut, i as apiGet, s as apiPost, u as kvDelete } from "./api-BKClUlUf.js";
2
+ import { existsSync, mkdirSync, readFileSync, renameSync, unlinkSync, writeFileSync } from "node:fs";
3
+ import { homedir } from "node:os";
4
+ import { join } from "node:path";
5
+ //#region src/cloudflare/account-core.ts
6
+ async function getAccounts(options) {
7
+ return (await apiGetAll("/accounts", options)).map((account) => ({
8
+ id: account.id,
9
+ name: account.name,
10
+ type: account.type,
11
+ createdOn: account.created_on ? new Date(account.created_on) : void 0
12
+ }));
13
+ }
14
+ async function getPrimaryAccount(options) {
15
+ return (await getAccounts(options))[0] ?? null;
16
+ }
17
+ async function getAccountById(accountId, options) {
18
+ try {
19
+ const account = await apiGet(`/accounts/${accountId}`, options);
20
+ return {
21
+ id: account.id,
22
+ name: account.name,
23
+ type: account.type,
24
+ createdOn: account.created_on ? new Date(account.created_on) : void 0
25
+ };
26
+ } catch {
27
+ return null;
28
+ }
29
+ }
30
+ //#endregion
31
+ //#region src/cloudflare/kv-namespace.ts
32
+ const DEVFLARE_KV_NAMESPACE_TITLE = "devflare-usage";
33
+ async function getOrCreateNamedKVNamespace(accountId, title = DEVFLARE_KV_NAMESPACE_TITLE, options) {
34
+ const existing = (await apiGetAll(`/accounts/${accountId}/storage/kv/namespaces`, options)).find((namespace) => namespace.title === title);
35
+ if (existing) return existing.id;
36
+ return (await apiPost(`/accounts/${accountId}/storage/kv/namespaces`, { title }, options)).id;
37
+ }
38
+ //#endregion
39
+ //#region src/cloudflare/preferences.ts
40
+ const GLOBAL_ACCOUNT_KEY = "settings:defaultAccountId";
41
+ const LOCAL_CACHE_DIR = ".devflare";
42
+ const LOCAL_CACHE_FILE = "preferences.json";
43
+ /**
44
+ * Write a file atomically by writing to a temp sibling and renaming into place.
45
+ * Prevents corruption if the process is killed mid-write.
46
+ *
47
+ * @internal exported for tests only
48
+ */
49
+ function writeFileAtomic(path, contents) {
50
+ const tmpPath = path + ".tmp-" + process.pid + "-" + Date.now();
51
+ writeFileSync(tmpPath, contents, "utf-8");
52
+ try {
53
+ renameSync(tmpPath, path);
54
+ } catch (error) {
55
+ try {
56
+ unlinkSync(tmpPath);
57
+ } catch {}
58
+ throw error;
59
+ }
60
+ }
61
+ /**
62
+ * Get the path to the local preferences file
63
+ */
64
+ function getLocalPreferencesPath() {
65
+ return join(homedir(), LOCAL_CACHE_DIR, LOCAL_CACHE_FILE);
66
+ }
67
+ /**
68
+ * Read local preferences from disk
69
+ */
70
+ function readLocalPreferences() {
71
+ const path = getLocalPreferencesPath();
72
+ if (!existsSync(path)) return {};
73
+ try {
74
+ const content = readFileSync(path, "utf-8");
75
+ return JSON.parse(content);
76
+ } catch {
77
+ return {};
78
+ }
79
+ }
80
+ /**
81
+ * Write local preferences to disk
82
+ */
83
+ function writeLocalPreferences(prefs) {
84
+ const path = getLocalPreferencesPath();
85
+ const dir = join(homedir(), LOCAL_CACHE_DIR);
86
+ if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
87
+ writeFileAtomic(path, JSON.stringify(prefs, null, " "));
88
+ }
89
+ /**
90
+ * Find the nearest package.json (searching upward from cwd)
91
+ */
92
+ function findPackageJsonPath(startDir) {
93
+ let dir = startDir ?? process.cwd();
94
+ while (dir !== join(dir, "..")) {
95
+ const pkgPath = join(dir, "package.json");
96
+ if (existsSync(pkgPath)) return pkgPath;
97
+ dir = join(dir, "..");
98
+ }
99
+ return null;
100
+ }
101
+ /**
102
+ * Read package.json from a path
103
+ */
104
+ function readPackageJson(path) {
105
+ try {
106
+ const content = readFileSync(path, "utf-8");
107
+ return JSON.parse(content);
108
+ } catch {
109
+ return null;
110
+ }
111
+ }
112
+ /**
113
+ * Write package.json to a path
114
+ */
115
+ function writePackageJson(path, pkg) {
116
+ writeFileAtomic(path, JSON.stringify(pkg, null, " ") + "\n");
117
+ }
118
+ /**
119
+ * Get workspace account ID from nearest package.json
120
+ */
121
+ function getWorkspaceAccountId() {
122
+ const pkgPath = findPackageJsonPath();
123
+ if (!pkgPath) return null;
124
+ return readPackageJson(pkgPath)?.devflare?.accountId ?? null;
125
+ }
126
+ /**
127
+ * Set workspace account ID in nearest package.json
128
+ * Creates package.json if it doesn't exist
129
+ */
130
+ function setWorkspaceAccountId(accountId) {
131
+ let pkgPath = findPackageJsonPath();
132
+ let pkg;
133
+ if (pkgPath) pkg = readPackageJson(pkgPath) ?? {};
134
+ else {
135
+ pkgPath = join(process.cwd(), "package.json");
136
+ pkg = {
137
+ name: "workspace",
138
+ private: true
139
+ };
140
+ }
141
+ if (!pkg.devflare) pkg.devflare = {};
142
+ pkg.devflare.accountId = accountId;
143
+ writePackageJson(pkgPath, pkg);
144
+ return pkgPath;
145
+ }
146
+ /**
147
+ * Find or create the devflare-managed KV namespace
148
+ * (Reuses the same namespace as usage tracking)
149
+ */
150
+ async function getOrCreatePreferencesNamespace(accountId) {
151
+ return getOrCreateNamedKVNamespace(accountId, DEVFLARE_KV_NAMESPACE_TITLE);
152
+ }
153
+ /**
154
+ * Get the global default account ID
155
+ *
156
+ * Priority:
157
+ * 1. Local cache (fast, no network)
158
+ * 2. Cloud KV (if local cache is missing)
159
+ *
160
+ * Returns null if no default is set
161
+ */
162
+ async function getGlobalDefaultAccountId(fallbackAccountId) {
163
+ const local = readLocalPreferences();
164
+ if (local.defaultAccountId) return local.defaultAccountId;
165
+ try {
166
+ const value = await kvGet(fallbackAccountId, await getOrCreatePreferencesNamespace(fallbackAccountId), GLOBAL_ACCOUNT_KEY);
167
+ if (value) {
168
+ writeLocalPreferences({
169
+ ...local,
170
+ defaultAccountId: value,
171
+ lastUpdated: (/* @__PURE__ */ new Date()).toISOString()
172
+ });
173
+ return value;
174
+ }
175
+ } catch (error) {
176
+ console.debug("[devflare preferences] cloud KV sync failed:", error instanceof Error ? error.message : String(error));
177
+ }
178
+ return null;
179
+ }
180
+ /**
181
+ * Set the global default account ID
182
+ * Saves to both local cache and cloud KV
183
+ *
184
+ * @param accountId - The account ID to set as default
185
+ * @param anyAccountId - Any account ID to use for accessing KV (can be the same)
186
+ */
187
+ async function setGlobalDefaultAccountId(accountId, anyAccountId) {
188
+ const kvAccountId = anyAccountId ?? accountId;
189
+ writeLocalPreferences({
190
+ ...readLocalPreferences(),
191
+ defaultAccountId: accountId,
192
+ lastUpdated: (/* @__PURE__ */ new Date()).toISOString()
193
+ });
194
+ try {
195
+ await kvPut(kvAccountId, await getOrCreatePreferencesNamespace(kvAccountId), GLOBAL_ACCOUNT_KEY, accountId);
196
+ } catch (error) {
197
+ console.debug("[devflare preferences] cloud KV sync failed:", error instanceof Error ? error.message : String(error));
198
+ }
199
+ }
200
+ /**
201
+ * Get the effective account ID to use
202
+ *
203
+ * Priority:
204
+ * 1. Workspace (package.json) - highest priority
205
+ * 2. Global default (local cache + cloud KV)
206
+ * 3. Primary account (first account in list)
207
+ *
208
+ * @param primaryAccountId - The primary account ID to use as fallback
209
+ */
210
+ async function getEffectiveAccountId(primaryAccountId) {
211
+ const workspaceId = getWorkspaceAccountId();
212
+ if (workspaceId) return {
213
+ accountId: workspaceId,
214
+ source: "workspace"
215
+ };
216
+ const globalId = await getGlobalDefaultAccountId(primaryAccountId);
217
+ if (globalId) return {
218
+ accountId: globalId,
219
+ source: "global"
220
+ };
221
+ return {
222
+ accountId: primaryAccountId,
223
+ source: "primary"
224
+ };
225
+ }
226
+ /**
227
+ * Clear the global default account ID (both local and cloud)
228
+ */
229
+ async function clearGlobalDefaultAccountId(anyAccountId) {
230
+ const local = readLocalPreferences();
231
+ delete local.defaultAccountId;
232
+ local.lastUpdated = (/* @__PURE__ */ new Date()).toISOString();
233
+ writeLocalPreferences(local);
234
+ try {
235
+ await kvDelete(anyAccountId, await getOrCreatePreferencesNamespace(anyAccountId), GLOBAL_ACCOUNT_KEY);
236
+ } catch (error) {
237
+ console.debug("[devflare preferences] cloud KV sync failed:", error instanceof Error ? error.message : String(error));
238
+ }
239
+ }
240
+ //#endregion
241
+ export { setGlobalDefaultAccountId as a, getOrCreateNamedKVNamespace as c, getPrimaryAccount as d, getWorkspaceAccountId as i, getAccountById as l, getEffectiveAccountId as n, setWorkspaceAccountId as o, getGlobalDefaultAccountId as r, DEVFLARE_KV_NAMESPACE_TITLE as s, clearGlobalDefaultAccountId as t, getAccounts as u };