devflare 1.0.0-next.3 → 1.0.0-next.31

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 (537) hide show
  1. package/LLM.md +15964 -1751
  2. package/README.md +392 -605
  3. package/bin/devflare.js +24 -14
  4. package/dist/account-g99mzrqp.js +475 -0
  5. package/dist/api-2n6dd2ws.js +33 -0
  6. package/dist/bridge/client.d.ts +48 -6
  7. package/dist/bridge/client.d.ts.map +1 -1
  8. package/dist/bridge/gateway-runtime.d.ts +8 -0
  9. package/dist/bridge/gateway-runtime.d.ts.map +1 -0
  10. package/dist/bridge/index.d.ts +3 -3
  11. package/dist/bridge/index.d.ts.map +1 -1
  12. package/dist/bridge/log.d.ts +5 -0
  13. package/dist/bridge/log.d.ts.map +1 -0
  14. package/dist/bridge/miniflare.d.ts +74 -1
  15. package/dist/bridge/miniflare.d.ts.map +1 -1
  16. package/dist/bridge/proxy.d.ts +11 -10
  17. package/dist/bridge/proxy.d.ts.map +1 -1
  18. package/dist/bridge/server.d.ts +2 -1
  19. package/dist/bridge/server.d.ts.map +1 -1
  20. package/dist/bridge/v2/body-streams.d.ts +53 -0
  21. package/dist/bridge/v2/body-streams.d.ts.map +1 -0
  22. package/dist/bridge/v2/codec.d.ts +106 -0
  23. package/dist/bridge/v2/codec.d.ts.map +1 -0
  24. package/dist/bridge/v2/control-messages.d.ts +51 -0
  25. package/dist/bridge/v2/control-messages.d.ts.map +1 -0
  26. package/dist/bridge/v2/frames.d.ts +109 -0
  27. package/dist/bridge/v2/frames.d.ts.map +1 -0
  28. package/dist/bridge/v2/index.d.ts +11 -0
  29. package/dist/bridge/v2/index.d.ts.map +1 -0
  30. package/dist/bridge/v2/serialization.d.ts +48 -0
  31. package/dist/bridge/v2/serialization.d.ts.map +1 -0
  32. package/dist/bridge/v2/transport.d.ts +31 -0
  33. package/dist/bridge/v2/transport.d.ts.map +1 -0
  34. package/dist/bridge/v2/value-codec.d.ts +61 -0
  35. package/dist/bridge/v2/value-codec.d.ts.map +1 -0
  36. package/dist/bridge/{serialization.d.ts → v2/value-serialization.d.ts} +40 -18
  37. package/dist/bridge/v2/value-serialization.d.ts.map +1 -0
  38. package/dist/bridge/{protocol.d.ts → v2/wire.d.ts} +28 -4
  39. package/dist/bridge/v2/wire.d.ts.map +1 -0
  40. package/dist/bridge/v2/ws-relay.d.ts +53 -0
  41. package/dist/bridge/v2/ws-relay.d.ts.map +1 -0
  42. package/dist/browser-shim/handler.d.ts +1 -1
  43. package/dist/browser-shim/handler.d.ts.map +1 -1
  44. package/dist/browser-shim/server.d.ts +63 -0
  45. package/dist/browser-shim/server.d.ts.map +1 -1
  46. package/dist/browser.d.ts +4621 -0
  47. package/dist/browser.d.ts.map +1 -0
  48. package/dist/browser.js +147 -0
  49. package/dist/build-4tyjywn9.js +54 -0
  50. package/dist/bundler/defaults.d.ts +23 -0
  51. package/dist/bundler/defaults.d.ts.map +1 -0
  52. package/dist/bundler/do-bundler.d.ts +7 -0
  53. package/dist/bundler/do-bundler.d.ts.map +1 -1
  54. package/dist/bundler/index.d.ts +2 -0
  55. package/dist/bundler/index.d.ts.map +1 -1
  56. package/dist/bundler/rolldown-shared.d.ts +53 -0
  57. package/dist/bundler/rolldown-shared.d.ts.map +1 -0
  58. package/dist/bundler/worker-bundler.d.ts +13 -0
  59. package/dist/bundler/worker-bundler.d.ts.map +1 -0
  60. package/dist/bundler/worker-compat.d.ts +4 -0
  61. package/dist/bundler/worker-compat.d.ts.map +1 -0
  62. package/dist/cli/build-manifest.d.ts +66 -0
  63. package/dist/cli/build-manifest.d.ts.map +1 -0
  64. package/dist/cli/command-utils.d.ts +18 -0
  65. package/dist/cli/command-utils.d.ts.map +1 -0
  66. package/dist/cli/commands/account.d.ts +1 -1
  67. package/dist/cli/commands/account.d.ts.map +1 -1
  68. package/dist/cli/commands/build-artifacts.d.ts +40 -0
  69. package/dist/cli/commands/build-artifacts.d.ts.map +1 -0
  70. package/dist/cli/commands/build.d.ts.map +1 -1
  71. package/dist/cli/commands/config.d.ts +4 -0
  72. package/dist/cli/commands/config.d.ts.map +1 -0
  73. package/dist/cli/commands/deploy/metadata.d.ts +18 -0
  74. package/dist/cli/commands/deploy/metadata.d.ts.map +1 -0
  75. package/dist/cli/commands/deploy/prepare.d.ts +23 -0
  76. package/dist/cli/commands/deploy/prepare.d.ts.map +1 -0
  77. package/dist/cli/commands/deploy/runtime.d.ts +4 -0
  78. package/dist/cli/commands/deploy/runtime.d.ts.map +1 -0
  79. package/dist/cli/commands/deploy/verification.d.ts +36 -0
  80. package/dist/cli/commands/deploy/verification.d.ts.map +1 -0
  81. package/dist/cli/commands/deploy.d.ts +2 -2
  82. package/dist/cli/commands/deploy.d.ts.map +1 -1
  83. package/dist/cli/commands/dev.d.ts +8 -0
  84. package/dist/cli/commands/dev.d.ts.map +1 -1
  85. package/dist/cli/commands/doctor.d.ts.map +1 -1
  86. package/dist/cli/commands/init.d.ts.map +1 -1
  87. package/dist/cli/commands/login.d.ts +4 -0
  88. package/dist/cli/commands/login.d.ts.map +1 -0
  89. package/dist/cli/commands/previews-support/cleanup.d.ts +9 -0
  90. package/dist/cli/commands/previews-support/cleanup.d.ts.map +1 -0
  91. package/dist/cli/commands/previews-support/family.d.ts +10 -0
  92. package/dist/cli/commands/previews-support/family.d.ts.map +1 -0
  93. package/dist/cli/commands/previews-support/render.d.ts +8 -0
  94. package/dist/cli/commands/previews-support/render.d.ts.map +1 -0
  95. package/dist/cli/commands/previews-support/theme.d.ts +10 -0
  96. package/dist/cli/commands/previews-support/theme.d.ts.map +1 -0
  97. package/dist/cli/commands/previews-support/types.d.ts +70 -0
  98. package/dist/cli/commands/previews-support/types.d.ts.map +1 -0
  99. package/dist/cli/commands/previews.d.ts +4 -0
  100. package/dist/cli/commands/previews.d.ts.map +1 -0
  101. package/dist/cli/commands/productions.d.ts +4 -0
  102. package/dist/cli/commands/productions.d.ts.map +1 -0
  103. package/dist/cli/commands/secrets.d.ts +4 -0
  104. package/dist/cli/commands/secrets.d.ts.map +1 -0
  105. package/dist/cli/commands/token.d.ts +4 -0
  106. package/dist/cli/commands/token.d.ts.map +1 -0
  107. package/dist/cli/commands/type-generation/discovery.d.ts +7 -0
  108. package/dist/cli/commands/type-generation/discovery.d.ts.map +1 -0
  109. package/dist/cli/commands/type-generation/generator.d.ts +112 -0
  110. package/dist/cli/commands/type-generation/generator.d.ts.map +1 -0
  111. package/dist/cli/commands/type-generation/models.d.ts +27 -0
  112. package/dist/cli/commands/type-generation/models.d.ts.map +1 -0
  113. package/dist/cli/commands/types.d.ts.map +1 -1
  114. package/dist/cli/commands/worker.d.ts +4 -0
  115. package/dist/cli/commands/worker.d.ts.map +1 -0
  116. package/dist/cli/config-path.d.ts +6 -0
  117. package/dist/cli/config-path.d.ts.map +1 -0
  118. package/dist/cli/dependencies.d.ts +1 -0
  119. package/dist/cli/dependencies.d.ts.map +1 -1
  120. package/dist/cli/deploy-strategy.d.ts +17 -0
  121. package/dist/cli/deploy-strategy.d.ts.map +1 -0
  122. package/dist/cli/deploy-target.d.ts +17 -0
  123. package/dist/cli/deploy-target.d.ts.map +1 -0
  124. package/dist/cli/generated-artifacts.d.ts +12 -0
  125. package/dist/cli/generated-artifacts.d.ts.map +1 -0
  126. package/dist/cli/help-pages/pages/account.d.ts +3 -0
  127. package/dist/cli/help-pages/pages/account.d.ts.map +1 -0
  128. package/dist/cli/help-pages/pages/core.d.ts +4 -0
  129. package/dist/cli/help-pages/pages/core.d.ts.map +1 -0
  130. package/dist/cli/help-pages/pages/index.d.ts +3 -0
  131. package/dist/cli/help-pages/pages/index.d.ts.map +1 -0
  132. package/dist/cli/help-pages/pages/misc.d.ts +3 -0
  133. package/dist/cli/help-pages/pages/misc.d.ts.map +1 -0
  134. package/dist/cli/help-pages/pages/previews.d.ts +3 -0
  135. package/dist/cli/help-pages/pages/previews.d.ts.map +1 -0
  136. package/dist/cli/help-pages/pages/productions.d.ts +3 -0
  137. package/dist/cli/help-pages/pages/productions.d.ts.map +1 -0
  138. package/dist/cli/help-pages/render.d.ts +12 -0
  139. package/dist/cli/help-pages/render.d.ts.map +1 -0
  140. package/dist/cli/help-pages/shared.d.ts +15 -0
  141. package/dist/cli/help-pages/shared.d.ts.map +1 -0
  142. package/dist/cli/help-pages/types.d.ts +23 -0
  143. package/dist/cli/help-pages/types.d.ts.map +1 -0
  144. package/dist/cli/help.d.ts +6 -0
  145. package/dist/cli/help.d.ts.map +1 -0
  146. package/dist/cli/index.d.ts +1 -0
  147. package/dist/cli/index.d.ts.map +1 -1
  148. package/dist/cli/index.js +12 -0
  149. package/dist/cli/package-metadata.d.ts +16 -0
  150. package/dist/cli/package-metadata.d.ts.map +1 -0
  151. package/dist/cli/preview-bindings.d.ts +49 -0
  152. package/dist/cli/preview-bindings.d.ts.map +1 -0
  153. package/dist/cli/preview.d.ts +10 -0
  154. package/dist/cli/preview.d.ts.map +1 -0
  155. package/dist/cli/ui.d.ts +37 -0
  156. package/dist/cli/ui.d.ts.map +1 -0
  157. package/dist/cli/workspace-build-guard.d.ts +14 -0
  158. package/dist/cli/workspace-build-guard.d.ts.map +1 -0
  159. package/dist/cloudflare/account-core.d.ts +6 -0
  160. package/dist/cloudflare/account-core.d.ts.map +1 -0
  161. package/dist/cloudflare/account-resources.d.ts +40 -0
  162. package/dist/cloudflare/account-resources.d.ts.map +1 -0
  163. package/dist/cloudflare/account-status.d.ts +11 -0
  164. package/dist/cloudflare/account-status.d.ts.map +1 -0
  165. package/dist/cloudflare/account-workers.d.ts +14 -0
  166. package/dist/cloudflare/account-workers.d.ts.map +1 -0
  167. package/dist/cloudflare/account.d.ts +7 -64
  168. package/dist/cloudflare/account.d.ts.map +1 -1
  169. package/dist/cloudflare/api.d.ts +71 -3
  170. package/dist/cloudflare/api.d.ts.map +1 -1
  171. package/dist/cloudflare/auth.d.ts.map +1 -1
  172. package/dist/cloudflare/index.d.ts +57 -2
  173. package/dist/cloudflare/index.d.ts.map +1 -1
  174. package/dist/cloudflare/index.js +49 -2
  175. package/dist/cloudflare/known-permission-group-ids.generated.d.ts +10 -0
  176. package/dist/cloudflare/known-permission-group-ids.generated.d.ts.map +1 -0
  177. package/dist/cloudflare/kv-namespace.d.ts +4 -0
  178. package/dist/cloudflare/kv-namespace.d.ts.map +1 -0
  179. package/dist/cloudflare/preferences.d.ts +7 -0
  180. package/dist/cloudflare/preferences.d.ts.map +1 -1
  181. package/dist/cloudflare/preview-registry-cache.d.ts +6 -0
  182. package/dist/cloudflare/preview-registry-cache.d.ts.map +1 -0
  183. package/dist/cloudflare/preview-registry-inference.d.ts +14 -0
  184. package/dist/cloudflare/preview-registry-inference.d.ts.map +1 -0
  185. package/dist/cloudflare/preview-registry-records.d.ts +4 -0
  186. package/dist/cloudflare/preview-registry-records.d.ts.map +1 -0
  187. package/dist/cloudflare/preview-registry-shape.d.ts +47 -0
  188. package/dist/cloudflare/preview-registry-shape.d.ts.map +1 -0
  189. package/dist/cloudflare/preview-registry-store.d.ts +14 -0
  190. package/dist/cloudflare/preview-registry-store.d.ts.map +1 -0
  191. package/dist/cloudflare/preview-registry-transport.d.ts +4 -0
  192. package/dist/cloudflare/preview-registry-transport.d.ts.map +1 -0
  193. package/dist/cloudflare/preview-registry-types.d.ts +103 -0
  194. package/dist/cloudflare/preview-registry-types.d.ts.map +1 -0
  195. package/dist/cloudflare/preview-registry.d.ts +42 -0
  196. package/dist/cloudflare/preview-registry.d.ts.map +1 -0
  197. package/dist/cloudflare/preview-urls.d.ts +3 -0
  198. package/dist/cloudflare/preview-urls.d.ts.map +1 -0
  199. package/dist/cloudflare/registry-schema.d.ts +253 -0
  200. package/dist/cloudflare/registry-schema.d.ts.map +1 -0
  201. package/dist/cloudflare/tokens.d.ts +44 -0
  202. package/dist/cloudflare/tokens.d.ts.map +1 -0
  203. package/dist/cloudflare/types.d.ts +124 -7
  204. package/dist/cloudflare/types.d.ts.map +1 -1
  205. package/dist/cloudflare/usage.d.ts +30 -2
  206. package/dist/cloudflare/usage.d.ts.map +1 -1
  207. package/dist/config/binding-resolution-helpers.d.ts +41 -0
  208. package/dist/config/binding-resolution-helpers.d.ts.map +1 -0
  209. package/dist/config/compatibility.d.ts +3 -0
  210. package/dist/config/compatibility.d.ts.map +1 -0
  211. package/dist/config/compiler/bindings.d.ts +14 -0
  212. package/dist/config/compiler/bindings.d.ts.map +1 -0
  213. package/dist/config/compiler/core-helpers.d.ts +6 -0
  214. package/dist/config/compiler/core-helpers.d.ts.map +1 -0
  215. package/dist/config/compiler/do-workers.d.ts +34 -0
  216. package/dist/config/compiler/do-workers.d.ts.map +1 -0
  217. package/dist/config/compiler/paths.d.ts +18 -0
  218. package/dist/config/compiler/paths.d.ts.map +1 -0
  219. package/dist/config/compiler/types.d.ts +270 -0
  220. package/dist/config/compiler/types.d.ts.map +1 -0
  221. package/dist/config/compiler.d.ts +22 -134
  222. package/dist/config/compiler.d.ts.map +1 -1
  223. package/dist/config/define.d.ts +7 -4
  224. package/dist/config/define.d.ts.map +1 -1
  225. package/dist/config/deploy-resources.d.ts +58 -0
  226. package/dist/config/deploy-resources.d.ts.map +1 -0
  227. package/dist/config/env-vars.d.ts +309 -0
  228. package/dist/config/env-vars.d.ts.map +1 -0
  229. package/dist/config/framework-providers.d.ts +9 -0
  230. package/dist/config/framework-providers.d.ts.map +1 -0
  231. package/dist/config/index.d.ts +12 -5
  232. package/dist/config/index.d.ts.map +1 -1
  233. package/dist/config/loader.d.ts +1 -0
  234. package/dist/config/loader.d.ts.map +1 -1
  235. package/dist/config/local-dev-vars.d.ts +15 -0
  236. package/dist/config/local-dev-vars.d.ts.map +1 -0
  237. package/dist/config/preview-resources.d.ts +83 -0
  238. package/dist/config/preview-resources.d.ts.map +1 -0
  239. package/dist/config/preview.d.ts +31 -0
  240. package/dist/config/preview.d.ts.map +1 -0
  241. package/dist/config/ref.d.ts +14 -23
  242. package/dist/config/ref.d.ts.map +1 -1
  243. package/dist/config/resolve-phased.d.ts +72 -0
  244. package/dist/config/resolve-phased.d.ts.map +1 -0
  245. package/dist/config/resolve.d.ts +11 -0
  246. package/dist/config/resolve.d.ts.map +1 -0
  247. package/dist/config/resource-resolution.d.ts +80 -0
  248. package/dist/config/resource-resolution.d.ts.map +1 -0
  249. package/dist/config/schema-bindings.d.ts +1495 -0
  250. package/dist/config/schema-bindings.d.ts.map +1 -0
  251. package/dist/config/schema-build.d.ts +67 -0
  252. package/dist/config/schema-build.d.ts.map +1 -0
  253. package/dist/config/schema-env.d.ts +3023 -0
  254. package/dist/config/schema-env.d.ts.map +1 -0
  255. package/dist/config/schema-normalization.d.ts +184 -0
  256. package/dist/config/schema-normalization.d.ts.map +1 -0
  257. package/dist/config/schema-runtime.d.ts +500 -0
  258. package/dist/config/schema-runtime.d.ts.map +1 -0
  259. package/dist/config/schema-types-bindings-platform.d.ts +378 -0
  260. package/dist/config/schema-types-bindings-platform.d.ts.map +1 -0
  261. package/dist/config/schema-types-bindings-resources.d.ts +551 -0
  262. package/dist/config/schema-types-bindings-resources.d.ts.map +1 -0
  263. package/dist/config/schema-types-bindings.d.ts +254 -0
  264. package/dist/config/schema-types-bindings.d.ts.map +1 -0
  265. package/dist/config/schema-types-build.d.ts +86 -0
  266. package/dist/config/schema-types-build.d.ts.map +1 -0
  267. package/dist/config/schema-types-runtime.d.ts +917 -0
  268. package/dist/config/schema-types-runtime.d.ts.map +1 -0
  269. package/dist/config/schema-types.d.ts +424 -0
  270. package/dist/config/schema-types.d.ts.map +1 -0
  271. package/dist/config/schema.d.ts +4537 -2214
  272. package/dist/config/schema.d.ts.map +1 -1
  273. package/dist/config/service-bindings-validation.d.ts +36 -0
  274. package/dist/config/service-bindings-validation.d.ts.map +1 -0
  275. package/dist/config-88sdhx3w.js +105 -0
  276. package/dist/config-entry.d.ts +7 -0
  277. package/dist/config-entry.d.ts.map +1 -0
  278. package/dist/config-entry.js +16 -0
  279. package/dist/decorators/durable-object.d.ts.map +1 -1
  280. package/dist/deploy-8fpav2cw.js +1066 -0
  281. package/dist/dev-nxevkfdv.js +2609 -0
  282. package/dist/dev-server/d1-migrations.d.ts +36 -0
  283. package/dist/dev-server/d1-migrations.d.ts.map +1 -0
  284. package/dist/dev-server/dev-server-state.d.ts +59 -0
  285. package/dist/dev-server/dev-server-state.d.ts.map +1 -0
  286. package/dist/dev-server/gateway-script.d.ts +21 -0
  287. package/dist/dev-server/gateway-script.d.ts.map +1 -0
  288. package/dist/dev-server/miniflare-bindings.d.ts +59 -0
  289. package/dist/dev-server/miniflare-bindings.d.ts.map +1 -0
  290. package/dist/dev-server/miniflare-dev-config.d.ts +36 -0
  291. package/dist/dev-server/miniflare-dev-config.d.ts.map +1 -0
  292. package/dist/dev-server/miniflare-log.d.ts +20 -0
  293. package/dist/dev-server/miniflare-log.d.ts.map +1 -0
  294. package/dist/dev-server/miniflare-worker-config.d.ts +74 -0
  295. package/dist/dev-server/miniflare-worker-config.d.ts.map +1 -0
  296. package/dist/dev-server/reload-queue.d.ts +13 -0
  297. package/dist/dev-server/reload-queue.d.ts.map +1 -0
  298. package/dist/dev-server/runtime-stdio.d.ts +8 -0
  299. package/dist/dev-server/runtime-stdio.d.ts.map +1 -0
  300. package/dist/dev-server/server-startup-helpers.d.ts +84 -0
  301. package/dist/dev-server/server-startup-helpers.d.ts.map +1 -0
  302. package/dist/dev-server/server.d.ts +2 -0
  303. package/dist/dev-server/server.d.ts.map +1 -1
  304. package/dist/dev-server/vite-process.d.ts +15 -0
  305. package/dist/dev-server/vite-process.d.ts.map +1 -0
  306. package/dist/dev-server/vite-utils.d.ts +19 -1
  307. package/dist/dev-server/vite-utils.d.ts.map +1 -1
  308. package/dist/dev-server/worker-source-watcher.d.ts +17 -0
  309. package/dist/dev-server/worker-source-watcher.d.ts.map +1 -0
  310. package/dist/dev-server/worker-surface-paths.d.ts +6 -0
  311. package/dist/dev-server/worker-surface-paths.d.ts.map +1 -0
  312. package/dist/{doctor-fmgb3d28.js → doctor-ztwx1y95.js} +104 -35
  313. package/dist/{durable-object-t4kbb0yt.js → durable-object-v3gsnybk.js} +1 -1
  314. package/dist/env.d.ts +10 -0
  315. package/dist/env.d.ts.map +1 -1
  316. package/dist/index-11p28kxx.js +256 -0
  317. package/dist/index-15fpa5tx.js +232 -0
  318. package/dist/index-1d4jg11n.js +542 -0
  319. package/dist/index-3edvz3hs.js +124 -0
  320. package/dist/index-3jme4hgw.js +1234 -0
  321. package/dist/index-627srx16.js +45 -0
  322. package/dist/index-62b3gt2g.js +12 -0
  323. package/dist/index-67gr49zr.js +109 -0
  324. package/dist/index-69c0ed4a.js +895 -0
  325. package/dist/index-6sj0v0dk.js +2284 -0
  326. package/dist/index-7qd7nmdd.js +74 -0
  327. package/dist/index-85yjb686.js +413 -0
  328. package/dist/index-aabgympv.js +39 -0
  329. package/dist/{index-z14anrqp.js → index-aqrwyy57.js} +93 -31
  330. package/dist/index-c8p4njqy.js +479 -0
  331. package/dist/index-dfcp9hsd.js +1581 -0
  332. package/dist/index-dm9q84c7.js +360 -0
  333. package/dist/index-fcmj6641.js +147 -0
  334. package/dist/index-ft3trvra.js +476 -0
  335. package/dist/{index-18hvb6gb.js → index-gn5wy09x.js} +13 -2
  336. package/dist/index-hjjfxv02.js +708 -0
  337. package/dist/index-hpwa6vsw.js +239 -0
  338. package/dist/index-k9x5v335.js +1033 -0
  339. package/dist/index-mg8vwqxf.js +514 -0
  340. package/dist/index-ptwem1nt.js +1428 -0
  341. package/dist/{index-07q6yxyc.js → index-q8f4kawk.js} +68 -32
  342. package/dist/index-qmmqww7h.js +133 -0
  343. package/dist/{index-rbht7m9r.js → index-qwgr4q7s.js} +2 -1
  344. package/dist/index-qz6nbwpw.js +111 -0
  345. package/dist/index-rzp9ejrh.js +185 -0
  346. package/dist/index-s3km3y34.js +1205 -0
  347. package/dist/index-stgn34cr.js +148 -0
  348. package/dist/index-t9y0sve5.js +155 -0
  349. package/dist/index-vez803pp.js +52 -0
  350. package/dist/index-vhqww6tt.js +307 -0
  351. package/dist/index-xz18tstn.js +581 -0
  352. package/dist/{index-1xpj0m4r.js → index-z9gy8w6b.js} +1 -1
  353. package/dist/index-za0r01bx.js +588 -0
  354. package/dist/index.d.ts +3 -7
  355. package/dist/index.d.ts.map +1 -1
  356. package/dist/index.js +34 -269
  357. package/dist/{init-f9mgmew3.js → init-cwpergap.js} +63 -69
  358. package/dist/login-r5ve73kf.js +77 -0
  359. package/dist/previews-qjj98rpp.js +1337 -0
  360. package/dist/productions-gzdtge0e.js +505 -0
  361. package/dist/runtime/context-events.d.ts +13 -0
  362. package/dist/runtime/context-events.d.ts.map +1 -0
  363. package/dist/runtime/context-types.d.ts +82 -0
  364. package/dist/runtime/context-types.d.ts.map +1 -0
  365. package/dist/runtime/context.d.ts +20 -44
  366. package/dist/runtime/context.d.ts.map +1 -1
  367. package/dist/runtime/exports.d.ts +70 -55
  368. package/dist/runtime/exports.d.ts.map +1 -1
  369. package/dist/runtime/index.d.ts +8 -1
  370. package/dist/runtime/index.d.ts.map +1 -1
  371. package/dist/runtime/index.js +108 -99
  372. package/dist/runtime/middleware.d.ts +102 -60
  373. package/dist/runtime/middleware.d.ts.map +1 -1
  374. package/dist/runtime/router/index.d.ts +7 -0
  375. package/dist/runtime/router/index.d.ts.map +1 -0
  376. package/dist/runtime/router/types.d.ts +24 -0
  377. package/dist/runtime/router/types.d.ts.map +1 -0
  378. package/dist/runtime/validation.d.ts +17 -3
  379. package/dist/runtime/validation.d.ts.map +1 -1
  380. package/dist/secrets/local-secrets.d.ts +46 -0
  381. package/dist/secrets/local-secrets.d.ts.map +1 -0
  382. package/dist/secrets-4w5166km.js +91 -0
  383. package/dist/shims/local-hyperdrive.d.ts +12 -0
  384. package/dist/shims/local-hyperdrive.d.ts.map +1 -0
  385. package/dist/shims/local-media-bindings.d.ts +19 -0
  386. package/dist/shims/local-media-bindings.d.ts.map +1 -0
  387. package/dist/shims/local-worker-loader.d.ts +3 -0
  388. package/dist/shims/local-worker-loader.d.ts.map +1 -0
  389. package/dist/sveltekit/index.js +169 -75
  390. package/dist/sveltekit/local-bindings.d.ts +4 -0
  391. package/dist/sveltekit/local-bindings.d.ts.map +1 -0
  392. package/dist/sveltekit/platform.d.ts +19 -1
  393. package/dist/sveltekit/platform.d.ts.map +1 -1
  394. package/dist/test/ai-search.d.ts +39 -0
  395. package/dist/test/ai-search.d.ts.map +1 -0
  396. package/dist/test/binding-hints.d.ts +11 -0
  397. package/dist/test/binding-hints.d.ts.map +1 -0
  398. package/dist/test/cf.d.ts +35 -21
  399. package/dist/test/cf.d.ts.map +1 -1
  400. package/dist/test/containers.d.ts +87 -0
  401. package/dist/test/containers.d.ts.map +1 -0
  402. package/dist/test/email.d.ts +16 -7
  403. package/dist/test/email.d.ts.map +1 -1
  404. package/dist/test/index.d.ts +5 -8
  405. package/dist/test/index.d.ts.map +1 -1
  406. package/dist/test/index.js +4641 -43
  407. package/dist/test/offline-bindings.d.ts +65 -0
  408. package/dist/test/offline-bindings.d.ts.map +1 -0
  409. package/dist/test/queue.d.ts.map +1 -1
  410. package/dist/test/remote-ai.d.ts.map +1 -1
  411. package/dist/test/remote-cloudflare.d.ts +13 -0
  412. package/dist/test/remote-cloudflare.d.ts.map +1 -0
  413. package/dist/test/remote-vectorize.d.ts.map +1 -1
  414. package/dist/test/resolve-service-bindings.d.ts +63 -3
  415. package/dist/test/resolve-service-bindings.d.ts.map +1 -1
  416. package/dist/test/scheduled.d.ts.map +1 -1
  417. package/dist/test/should-skip.d.ts +14 -18
  418. package/dist/test/should-skip.d.ts.map +1 -1
  419. package/dist/test/simple-context-bindings.d.ts +13 -0
  420. package/dist/test/simple-context-bindings.d.ts.map +1 -0
  421. package/dist/test/simple-context-durable-objects.d.ts +6 -0
  422. package/dist/test/simple-context-durable-objects.d.ts.map +1 -0
  423. package/dist/test/simple-context-env.d.ts +35 -0
  424. package/dist/test/simple-context-env.d.ts.map +1 -0
  425. package/dist/test/simple-context-gateway-script.d.ts +2 -0
  426. package/dist/test/simple-context-gateway-script.d.ts.map +1 -0
  427. package/dist/test/simple-context-handlers.d.ts +12 -0
  428. package/dist/test/simple-context-handlers.d.ts.map +1 -0
  429. package/dist/test/simple-context-lifecycle.d.ts +32 -0
  430. package/dist/test/simple-context-lifecycle.d.ts.map +1 -0
  431. package/dist/test/simple-context-mfconfig.d.ts +10 -0
  432. package/dist/test/simple-context-mfconfig.d.ts.map +1 -0
  433. package/dist/test/simple-context-multi-worker.d.ts +16 -0
  434. package/dist/test/simple-context-multi-worker.d.ts.map +1 -0
  435. package/dist/test/simple-context-paths.d.ts +40 -0
  436. package/dist/test/simple-context-paths.d.ts.map +1 -0
  437. package/dist/test/simple-context-runtime.d.ts +19 -0
  438. package/dist/test/simple-context-runtime.d.ts.map +1 -0
  439. package/dist/test/simple-context-startup.d.ts +11 -0
  440. package/dist/test/simple-context-startup.d.ts.map +1 -0
  441. package/dist/test/simple-context-transport.d.ts +14 -0
  442. package/dist/test/simple-context-transport.d.ts.map +1 -0
  443. package/dist/test/simple-context.d.ts +7 -26
  444. package/dist/test/simple-context.d.ts.map +1 -1
  445. package/dist/test/tail.d.ts +2 -1
  446. package/dist/test/tail.d.ts.map +1 -1
  447. package/dist/test/utilities/artifacts.d.ts +11 -0
  448. package/dist/test/utilities/artifacts.d.ts.map +1 -0
  449. package/dist/test/utilities/context.d.ts +39 -0
  450. package/dist/test/utilities/context.d.ts.map +1 -0
  451. package/dist/test/utilities/d1.d.ts +21 -0
  452. package/dist/test/utilities/d1.d.ts.map +1 -0
  453. package/dist/test/utilities/env.d.ts +40 -0
  454. package/dist/test/utilities/env.d.ts.map +1 -0
  455. package/dist/test/utilities/kv.d.ts +11 -0
  456. package/dist/test/utilities/kv.d.ts.map +1 -0
  457. package/dist/test/utilities/media.d.ts +16 -0
  458. package/dist/test/utilities/media.d.ts.map +1 -0
  459. package/dist/test/utilities/platform.d.ts +41 -0
  460. package/dist/test/utilities/platform.d.ts.map +1 -0
  461. package/dist/test/utilities/queue.d.ts +5 -0
  462. package/dist/test/utilities/queue.d.ts.map +1 -0
  463. package/dist/test/utilities/r2.d.ts +2 -0
  464. package/dist/test/utilities/r2.d.ts.map +1 -0
  465. package/dist/test/utilities/workflows.d.ts +26 -0
  466. package/dist/test/utilities/workflows.d.ts.map +1 -0
  467. package/dist/test/utilities.d.ts +10 -98
  468. package/dist/test/utilities.d.ts.map +1 -1
  469. package/dist/test/worker.d.ts +6 -0
  470. package/dist/test/worker.d.ts.map +1 -1
  471. package/dist/token-35jcdqq8.js +419 -0
  472. package/dist/transform/durable-object.d.ts.map +1 -1
  473. package/dist/transform/worker-entrypoint.d.ts +5 -0
  474. package/dist/transform/worker-entrypoint.d.ts.map +1 -1
  475. package/dist/types-6vc02evc.js +705 -0
  476. package/dist/utils/entrypoint-discovery.d.ts +6 -3
  477. package/dist/utils/entrypoint-discovery.d.ts.map +1 -1
  478. package/dist/utils/resolve-package.d.ts.map +1 -1
  479. package/dist/utils/send-email.d.ts +15 -0
  480. package/dist/utils/send-email.d.ts.map +1 -0
  481. package/dist/utils/send-email.js +19 -0
  482. package/dist/vite/config-file.d.ts +25 -0
  483. package/dist/vite/config-file.d.ts.map +1 -0
  484. package/dist/vite/index.d.ts +1 -0
  485. package/dist/vite/index.d.ts.map +1 -1
  486. package/dist/vite/index.js +25 -331
  487. package/dist/vite/plugin-config-hook.d.ts +28 -0
  488. package/dist/vite/plugin-config-hook.d.ts.map +1 -0
  489. package/dist/vite/plugin-context.d.ts +27 -0
  490. package/dist/vite/plugin-context.d.ts.map +1 -0
  491. package/dist/vite/plugin-durable-objects.d.ts +18 -0
  492. package/dist/vite/plugin-durable-objects.d.ts.map +1 -0
  493. package/dist/vite/plugin-programmatic.d.ts +44 -0
  494. package/dist/vite/plugin-programmatic.d.ts.map +1 -0
  495. package/dist/vite/plugin-service-bindings.d.ts +13 -0
  496. package/dist/vite/plugin-service-bindings.d.ts.map +1 -0
  497. package/dist/vite/plugin-transform.d.ts +41 -0
  498. package/dist/vite/plugin-transform.d.ts.map +1 -0
  499. package/dist/vite/plugin.d.ts +10 -41
  500. package/dist/vite/plugin.d.ts.map +1 -1
  501. package/dist/worker-entry/composed-worker.d.ts +7 -0
  502. package/dist/worker-entry/composed-worker.d.ts.map +1 -0
  503. package/dist/worker-entry/durable-object-discovery.d.ts +20 -0
  504. package/dist/worker-entry/durable-object-discovery.d.ts.map +1 -0
  505. package/dist/worker-entry/extensions.d.ts +5 -0
  506. package/dist/worker-entry/extensions.d.ts.map +1 -0
  507. package/dist/worker-entry/routes.d.ts +22 -0
  508. package/dist/worker-entry/routes.d.ts.map +1 -0
  509. package/dist/worker-entry/surface-paths.d.ts +26 -0
  510. package/dist/worker-entry/surface-paths.d.ts.map +1 -0
  511. package/dist/{worker-entrypoint-m9th0rg0.js → worker-entrypoint-3rmzd4c1.js} +3 -1
  512. package/dist/worker-f2v85f7d.js +513 -0
  513. package/dist/workflows/local-workflow-entrypoints.d.ts +7 -0
  514. package/dist/workflows/local-workflow-entrypoints.d.ts.map +1 -0
  515. package/package.json +154 -115
  516. package/dist/account-rvrj687w.js +0 -397
  517. package/dist/bridge/protocol.d.ts.map +0 -1
  518. package/dist/bridge/serialization.d.ts.map +0 -1
  519. package/dist/browser-shim/worker.d.ts +0 -14
  520. package/dist/browser-shim/worker.d.ts.map +0 -1
  521. package/dist/build-mnf6v8gd.js +0 -53
  522. package/dist/deploy-nhceck39.js +0 -70
  523. package/dist/dev-pa8dhm20.js +0 -2162
  524. package/dist/index-67qcae0f.js +0 -183
  525. package/dist/index-ep3445yc.js +0 -2225
  526. package/dist/index-gz1gndna.js +0 -307
  527. package/dist/index-hcex3rgh.js +0 -266
  528. package/dist/index-m2q41jwa.js +0 -462
  529. package/dist/index-n7rs26ft.js +0 -77
  530. package/dist/index-pf5s73n9.js +0 -1413
  531. package/dist/index-tfyxa77h.js +0 -850
  532. package/dist/index-tk6ej9dj.js +0 -94
  533. package/dist/test/bridge-context.d.ts +0 -76
  534. package/dist/test/bridge-context.d.ts.map +0 -1
  535. package/dist/test/multi-worker-context.d.ts +0 -114
  536. package/dist/test/multi-worker-context.d.ts.map +0 -1
  537. package/dist/types-5nyrz1sz.js +0 -454
package/bin/devflare.js CHANGED
@@ -1,14 +1,24 @@
1
- #!/usr/bin/env bun
2
- import { runCli } from '../dist/index.js'
3
-
4
- // Pass CLI arguments (skip node and script path)
5
- const args = process.argv.slice(2)
6
-
7
- runCli(args)
8
- .then(result => {
9
- process.exit(result.exitCode)
10
- })
11
- .catch(error => {
12
- console.error('CLI error:', error)
13
- process.exit(1)
14
- })
1
+ #!/usr/bin/env bun
2
+ import { existsSync } from 'node:fs'
3
+ import { dirname, resolve } from 'node:path'
4
+ import { fileURLToPath, pathToFileURL } from 'node:url'
5
+
6
+ const currentDir = dirname(fileURLToPath(import.meta.url))
7
+ const sourceCliEntryPath = resolve(currentDir, '../src/cli/index.ts')
8
+ const distCliEntryPath = resolve(currentDir, '../dist/cli/index.js')
9
+ const cliEntryPath = existsSync(sourceCliEntryPath)
10
+ ? sourceCliEntryPath
11
+ : distCliEntryPath
12
+
13
+ const { runCli } = await import(pathToFileURL(cliEntryPath).href)
14
+
15
+ const args = process.argv.slice(2)
16
+
17
+ runCli(args)
18
+ .then((result) => {
19
+ process.exit(result.exitCode)
20
+ })
21
+ .catch((error) => {
22
+ console.error('CLI error:', error)
23
+ process.exit(1)
24
+ })
@@ -0,0 +1,475 @@
1
+ import {
2
+ getConfiguredAccountId
3
+ } from "./index-7qd7nmdd.js";
4
+ import {
5
+ account
6
+ } from "./index-qmmqww7h.js";
7
+ import"./index-11p28kxx.js";
8
+ import"./index-3jme4hgw.js";
9
+ import {
10
+ bold,
11
+ createCliTheme,
12
+ dim,
13
+ formatCommand,
14
+ formatLabelValue,
15
+ green,
16
+ logLine,
17
+ logTable,
18
+ whiteDim,
19
+ yellow
20
+ } from "./index-stgn34cr.js";
21
+ import {
22
+ CYAN,
23
+ CYAN_BOLD,
24
+ DIM,
25
+ RESET
26
+ } from "./index-3t6rypgc.js";
27
+ import"./index-15fpa5tx.js";
28
+ import"./index-dfcp9hsd.js";
29
+ import {
30
+ getGlobalDefaultAccountId,
31
+ getWorkspaceAccountId,
32
+ setGlobalDefaultAccountId,
33
+ setWorkspaceAccountId
34
+ } from "./index-1d4jg11n.js";
35
+ import {
36
+ AuthenticationError,
37
+ CloudflareAPIError
38
+ } from "./index-mg8vwqxf.js";
39
+ import"./index-c8p4njqy.js";
40
+ import"./index-37x76zdn.js";
41
+
42
+ // src/cli/commands/account.ts
43
+ var ACCOUNT_SUBCOMMANDS = [
44
+ "info",
45
+ "workers",
46
+ "kv",
47
+ "d1",
48
+ "r2",
49
+ "vectorize",
50
+ "limits",
51
+ "usage",
52
+ "global",
53
+ "workspace"
54
+ ];
55
+ function isAccountSubcommand(value) {
56
+ return ACCOUNT_SUBCOMMANDS.includes(value);
57
+ }
58
+ var CLI_API_OPTIONS = { timeout: 1e4 };
59
+ function formatDate(date) {
60
+ if (!date)
61
+ return "N/A";
62
+ return date.toLocaleDateString("en-US", {
63
+ year: "numeric",
64
+ month: "short",
65
+ day: "numeric"
66
+ });
67
+ }
68
+ function formatPercent(value) {
69
+ if (value === undefined)
70
+ return "N/A";
71
+ return `${value.toFixed(1)}%`;
72
+ }
73
+ function logSection(logger, title, theme, count, accent = "cyan") {
74
+ logLine(logger);
75
+ const heading = accent === "yellow" ? yellow(title, theme) : accent === "green" ? green(title, theme) : bold(title, theme);
76
+ logLine(logger, `${heading}${count === undefined ? "" : ` ${dim(`(${count})`, theme)}`}`);
77
+ }
78
+ function logEmptyState(logger, message, theme) {
79
+ logLine(logger);
80
+ logLine(logger, dim(message, theme));
81
+ logLine(logger);
82
+ return { exitCode: 0 };
83
+ }
84
+ async function runAccountCommand(parsed, logger, options) {
85
+ const theme = createCliTheme(parsed.options);
86
+ const isAuth = await account.isAuthenticated();
87
+ if (!isAuth) {
88
+ logger.error("Not authenticated with Cloudflare");
89
+ logLine(logger, dim("Run: devflare login", theme));
90
+ return { exitCode: 1 };
91
+ }
92
+ const subcommand = parsed.args[0];
93
+ const rawSubcommand = parsed.args[0];
94
+ if (rawSubcommand && !isAccountSubcommand(rawSubcommand)) {
95
+ logger.error(`Unknown account subcommand: ${rawSubcommand}`);
96
+ logLine(logger, dim(`Available account subcommands: ${ACCOUNT_SUBCOMMANDS.join(", ")}`, theme));
97
+ return { exitCode: 1 };
98
+ }
99
+ if (subcommand === "global") {
100
+ return await selectGlobalAccount(logger, theme);
101
+ }
102
+ if (subcommand === "workspace") {
103
+ return await selectWorkspaceAccount(logger, theme);
104
+ }
105
+ try {
106
+ let accountId = parsed.options.account;
107
+ if (!accountId) {
108
+ accountId = await getConfiguredAccountId(options.cwd ?? process.cwd());
109
+ }
110
+ if (!accountId) {
111
+ const primary = await account.getPrimaryAccount();
112
+ if (!primary) {
113
+ logger.error("No Cloudflare accounts found");
114
+ return { exitCode: 1 };
115
+ }
116
+ accountId = primary.id;
117
+ }
118
+ switch (subcommand) {
119
+ case "workers":
120
+ return await showWorkers(accountId, logger, theme);
121
+ case "kv":
122
+ return await showKV(accountId, logger, theme);
123
+ case "d1":
124
+ return await showD1(accountId, logger, theme);
125
+ case "r2":
126
+ return await showR2(accountId, logger, theme);
127
+ case "vectorize":
128
+ return await showVectorize(accountId, logger, theme);
129
+ case "limits":
130
+ return await handleLimits(accountId, parsed, logger, theme);
131
+ case "usage":
132
+ return await showUsage(accountId, logger, theme);
133
+ case "info":
134
+ default:
135
+ return await showAccountOverview(accountId, logger, theme);
136
+ }
137
+ } catch (error) {
138
+ if (error instanceof AuthenticationError) {
139
+ logger.error(error.message);
140
+ return { exitCode: 1 };
141
+ }
142
+ if (error instanceof CloudflareAPIError) {
143
+ logger.error(`API Error: ${error.message}`);
144
+ return { exitCode: 1 };
145
+ }
146
+ if (error instanceof Error) {
147
+ if (error.name === "AbortError" || error.message.includes("timed out")) {
148
+ logger.error("Request timed out. The Cloudflare API is slow or unavailable.");
149
+ return { exitCode: 1 };
150
+ }
151
+ logger.error(`Error: ${error.message}`);
152
+ return { exitCode: 1 };
153
+ }
154
+ throw error;
155
+ }
156
+ }
157
+ async function showAccountOverview(accountId, logger, theme) {
158
+ logSection(logger, "Accounts", theme);
159
+ let accounts = [];
160
+ let limitedAccountView = false;
161
+ try {
162
+ accounts = await account.getAccounts();
163
+ } catch {
164
+ const fallbackAccount = await account.getAccountById(accountId);
165
+ if (!fallbackAccount) {
166
+ logger.error("Could not inspect Cloudflare accounts with the current credentials");
167
+ return { exitCode: 1 };
168
+ }
169
+ accounts = [fallbackAccount];
170
+ limitedAccountView = true;
171
+ }
172
+ if (accounts.length === 0) {
173
+ logger.error("No Cloudflare accounts found");
174
+ return { exitCode: 1 };
175
+ }
176
+ const workspaceId = getWorkspaceAccountId();
177
+ const globalId = await getGlobalDefaultAccountId(accountId);
178
+ if (limitedAccountView) {
179
+ logLine(logger, dim("Using the configured account directly because the current credentials cannot enumerate all Cloudflare accounts.", theme));
180
+ }
181
+ for (let i = 0;i < accounts.length; i++) {
182
+ const acc = accounts[i];
183
+ const isWorkspace = acc.id === workspaceId;
184
+ const isGlobal = acc.id === globalId;
185
+ let badge = "";
186
+ if (isWorkspace) {
187
+ badge = ` ${CYAN_BOLD}(workspace)${RESET}`;
188
+ } else if (isGlobal) {
189
+ badge = workspaceId ? ` ${DIM}(global)${RESET}` : ` ${CYAN}(global)${RESET}`;
190
+ }
191
+ if (i > 0) {
192
+ logLine(logger);
193
+ }
194
+ logLine(logger, `${dim("account", theme)} ${green(acc.name, theme)}${badge}`);
195
+ logLine(logger, formatLabelValue("id", whiteDim(acc.id, theme), theme, 10));
196
+ logLine(logger, formatLabelValue("type", acc.type, theme, 10));
197
+ }
198
+ logSection(logger, "Commands", theme);
199
+ logLine(logger, formatCommand("devflare account global", "Set global default account", theme));
200
+ logLine(logger, formatCommand("devflare account workspace", "Set workspace account", theme));
201
+ logLine(logger, formatCommand("devflare account workers", "List Workers", theme));
202
+ logLine(logger, formatCommand("devflare account kv", "List KV namespaces", theme));
203
+ logLine(logger, formatCommand("devflare account d1", "List D1 databases", theme));
204
+ logLine(logger, formatCommand("devflare account r2", "List R2 buckets", theme));
205
+ logLine(logger, formatCommand("devflare account vectorize", "List Vectorize indexes", theme));
206
+ logLine(logger, formatCommand("devflare account limits", "View or set usage limits", theme));
207
+ logLine(logger, formatCommand("devflare account usage", "View detailed usage", theme));
208
+ logLine(logger, formatCommand("devflare ai", "View AI models and pricing", theme));
209
+ logLine(logger);
210
+ return { exitCode: 0 };
211
+ }
212
+ async function selectGlobalAccount(logger, theme) {
213
+ const accounts = await account.getAccounts();
214
+ if (accounts.length === 0) {
215
+ logger.error("No Cloudflare accounts found");
216
+ return { exitCode: 1 };
217
+ }
218
+ if (accounts.length === 1) {
219
+ await setGlobalDefaultAccountId(accounts[0].id);
220
+ logger.success(`Global default set to: ${accounts[0].name}`);
221
+ return { exitCode: 0 };
222
+ }
223
+ const currentGlobal = await getGlobalDefaultAccountId(accounts[0].id);
224
+ const options = accounts.map((acc) => {
225
+ const isCurrent = acc.id === currentGlobal;
226
+ return {
227
+ label: isCurrent ? `${acc.name} ${CYAN}(default)${RESET}` : acc.name,
228
+ value: acc.id,
229
+ hint: acc.id.substring(0, 8) + "..."
230
+ };
231
+ });
232
+ const selected = await logger.prompt("Select global default account:", {
233
+ type: "select",
234
+ options,
235
+ initial: currentGlobal ?? accounts[0].id
236
+ });
237
+ if (!selected || typeof selected === "symbol") {
238
+ logLine(logger, dim("Cancelled", theme));
239
+ return { exitCode: 0 };
240
+ }
241
+ await setGlobalDefaultAccountId(selected, accounts[0].id);
242
+ const selectedAccount = accounts.find((a) => a.id === selected);
243
+ logger.success(`Global default set to: ${selectedAccount?.name}`);
244
+ logLine(logger, `${dim("saved to", theme)} ~/.devflare/preferences.json + cloud KV`);
245
+ return { exitCode: 0 };
246
+ }
247
+ async function selectWorkspaceAccount(logger, theme) {
248
+ const accounts = await account.getAccounts();
249
+ if (accounts.length === 0) {
250
+ logger.error("No Cloudflare accounts found");
251
+ return { exitCode: 1 };
252
+ }
253
+ if (accounts.length === 1) {
254
+ const pkgPath2 = setWorkspaceAccountId(accounts[0].id);
255
+ logger.success(`Workspace account set to: ${accounts[0].name}`);
256
+ logLine(logger, `${dim("saved to", theme)} ${pkgPath2}`);
257
+ return { exitCode: 0 };
258
+ }
259
+ const currentWorkspace = getWorkspaceAccountId();
260
+ const options = accounts.map((acc) => {
261
+ const isCurrent = acc.id === currentWorkspace;
262
+ return {
263
+ label: isCurrent ? `${acc.name} ${CYAN}(workspace)${RESET}` : acc.name,
264
+ value: acc.id,
265
+ hint: acc.id.substring(0, 8) + "..."
266
+ };
267
+ });
268
+ const selected = await logger.prompt("Select workspace account:", {
269
+ type: "select",
270
+ options,
271
+ initial: currentWorkspace ?? accounts[0].id
272
+ });
273
+ if (!selected || typeof selected === "symbol") {
274
+ logLine(logger, dim("Cancelled", theme));
275
+ return { exitCode: 0 };
276
+ }
277
+ const pkgPath = setWorkspaceAccountId(selected);
278
+ const selectedAccount = accounts.find((a) => a.id === selected);
279
+ logger.success(`Workspace account set to: ${selectedAccount?.name}`);
280
+ logLine(logger, `${dim("saved to", theme)} ${pkgPath}`);
281
+ return { exitCode: 0 };
282
+ }
283
+ async function showWorkers(accountId, logger, theme) {
284
+ const workers = await account.workers(accountId, CLI_API_OPTIONS);
285
+ if (workers.length === 0) {
286
+ return logEmptyState(logger, "No Workers found", theme);
287
+ }
288
+ logSection(logger, "Workers", theme, workers.length, "green");
289
+ logTable(logger, {
290
+ title: "Worker list",
291
+ rows: workers,
292
+ columns: [
293
+ { label: "Name", width: 30, value: (worker) => worker.name },
294
+ { label: "Modified", width: 20, value: (worker) => whiteDim(formatDate(worker.modifiedOn), theme) }
295
+ ],
296
+ theme,
297
+ titleAccent: "green"
298
+ });
299
+ logLine(logger);
300
+ return { exitCode: 0 };
301
+ }
302
+ async function showKV(accountId, logger, theme) {
303
+ const namespaces = await account.kv(accountId, CLI_API_OPTIONS);
304
+ if (namespaces.length === 0) {
305
+ return logEmptyState(logger, "No KV namespaces found", theme);
306
+ }
307
+ logSection(logger, "KV namespaces", theme, namespaces.length);
308
+ logTable(logger, {
309
+ title: "Namespace list",
310
+ rows: namespaces,
311
+ columns: [
312
+ { label: "Name", width: 35, value: (ns) => ns.name },
313
+ { label: "ID", width: 35, value: (ns) => whiteDim(ns.id, theme) }
314
+ ],
315
+ theme,
316
+ titleAccent: "cyan"
317
+ });
318
+ logLine(logger);
319
+ return { exitCode: 0 };
320
+ }
321
+ async function showD1(accountId, logger, theme) {
322
+ const databases = await account.d1(accountId, CLI_API_OPTIONS);
323
+ if (databases.length === 0) {
324
+ return logEmptyState(logger, "No D1 databases found", theme);
325
+ }
326
+ logSection(logger, "D1 databases", theme, databases.length, "yellow");
327
+ logTable(logger, {
328
+ title: "Database list",
329
+ rows: databases,
330
+ columns: [
331
+ { label: "Name", width: 25, value: (db) => db.name },
332
+ { label: "ID", width: 40, value: (db) => whiteDim(db.id, theme) },
333
+ { label: "Tables", width: 8, value: (db) => String(db.tableCount ?? "N/A") }
334
+ ],
335
+ theme,
336
+ titleAccent: "yellow"
337
+ });
338
+ logLine(logger);
339
+ return { exitCode: 0 };
340
+ }
341
+ async function showR2(accountId, logger, theme) {
342
+ const buckets = await account.r2(accountId, CLI_API_OPTIONS);
343
+ if (buckets.length === 0) {
344
+ return logEmptyState(logger, "No R2 buckets found", theme);
345
+ }
346
+ logSection(logger, "R2 buckets", theme, buckets.length, "green");
347
+ logTable(logger, {
348
+ title: "Bucket list",
349
+ rows: buckets,
350
+ columns: [
351
+ { label: "Name", width: 30, value: (bucket) => bucket.name },
352
+ { label: "Created", width: 20, value: (bucket) => whiteDim(formatDate(bucket.createdOn), theme) },
353
+ { label: "Location", width: 10, value: (bucket) => bucket.location ?? "auto" }
354
+ ],
355
+ theme,
356
+ titleAccent: "green"
357
+ });
358
+ logLine(logger);
359
+ return { exitCode: 0 };
360
+ }
361
+ async function showVectorize(accountId, logger, theme) {
362
+ const indexes = await account.vectorize(accountId, CLI_API_OPTIONS);
363
+ if (indexes.length === 0) {
364
+ return logEmptyState(logger, "No Vectorize indexes found", theme);
365
+ }
366
+ logSection(logger, "Vectorize indexes", theme, indexes.length, "yellow");
367
+ logTable(logger, {
368
+ title: "Index list",
369
+ rows: indexes,
370
+ columns: [
371
+ { label: "Name", width: 25, value: (idx) => idx.name },
372
+ { label: "Dimensions", width: 12, value: (idx) => String(idx.dimensions) },
373
+ { label: "Metric", width: 15, value: (idx) => idx.metric }
374
+ ],
375
+ theme,
376
+ titleAccent: "yellow"
377
+ });
378
+ logLine(logger);
379
+ return { exitCode: 0 };
380
+ }
381
+ async function showUsage(accountId, logger, theme) {
382
+ const usages = await account.getAllUsageSummaries(accountId);
383
+ const limits = await account.getLimits(accountId);
384
+ logSection(logger, "Usage", theme, undefined, "yellow");
385
+ logLine(logger, formatLabelValue("limits", limits.enabled ? green("enabled", theme) : dim("disabled", theme), theme, 12));
386
+ if (usages.length === 0) {
387
+ return logEmptyState(logger, "No usage tracked yet", theme);
388
+ }
389
+ logTable(logger, {
390
+ title: "Usage by service",
391
+ rows: usages,
392
+ columns: [
393
+ { label: "Service", width: 15, value: (usage) => usage.service },
394
+ { label: "Today", width: 10, value: (usage) => String(usage.today) },
395
+ { label: "Limit", width: 10, value: (usage) => usage.limit?.toString() ?? "∞" },
396
+ { label: "%", width: 10, value: (usage) => formatPercent(usage.percentUsed) },
397
+ { label: "Status", width: 10, value: (usage) => usage.withinLimit ? green("ok", theme) : yellow("limit", theme) }
398
+ ],
399
+ theme,
400
+ titleAccent: "yellow"
401
+ });
402
+ logLine(logger);
403
+ return { exitCode: 0 };
404
+ }
405
+ async function handleLimits(accountId, parsed, logger, theme) {
406
+ const action = parsed.args[1];
407
+ switch (action) {
408
+ case "set":
409
+ return await setLimit(accountId, parsed, logger, theme);
410
+ case "enable":
411
+ await account.setLimitsEnabled(accountId, true);
412
+ logger.success("Usage limits enabled");
413
+ return { exitCode: 0 };
414
+ case "disable":
415
+ await account.setLimitsEnabled(accountId, false);
416
+ logger.success("Usage limits disabled");
417
+ return { exitCode: 0 };
418
+ default:
419
+ return await showLimits(accountId, logger, theme);
420
+ }
421
+ }
422
+ async function showLimits(accountId, logger, theme) {
423
+ const limits = await account.getLimits(accountId);
424
+ logSection(logger, "Usage limits", theme, undefined, "yellow");
425
+ logLine(logger, formatLabelValue("status", limits.enabled ? green("enabled", theme) : dim("disabled", theme), theme, 16));
426
+ logLine(logger);
427
+ logLine(logger, dim("current limits", theme));
428
+ logLine(logger, formatLabelValue("AI Requests/Day", String(limits.aiRequestsPerDay ?? "Unlimited"), theme, 18));
429
+ logLine(logger, formatLabelValue("AI Tokens/Day", String(limits.aiTokensPerDay ?? "Unlimited"), theme, 18));
430
+ logLine(logger, formatLabelValue("Vectorize Ops/Day", String(limits.vectorizeOpsPerDay ?? "Unlimited"), theme, 18));
431
+ logSection(logger, "Commands", theme);
432
+ logLine(logger, formatCommand("devflare account limits set ai-requests 50", "Set the AI request daily limit", theme));
433
+ logLine(logger, formatCommand("devflare account limits set ai-tokens 5000", "Set the AI token daily limit", theme));
434
+ logLine(logger, formatCommand("devflare account limits set vectorize-ops 500", "Set the Vectorize daily limit", theme));
435
+ logLine(logger, formatCommand("devflare account limits enable", "Enable usage limits", theme));
436
+ logLine(logger, formatCommand("devflare account limits disable", "Disable usage limits", theme));
437
+ logLine(logger);
438
+ return { exitCode: 0 };
439
+ }
440
+ async function setLimit(accountId, parsed, logger, theme) {
441
+ const limitName = parsed.args[2];
442
+ const limitValue = parsed.args[3];
443
+ if (!limitName || !limitValue) {
444
+ logger.error("Usage: devflare account limits set <limit-name> <value>");
445
+ logLine(logger, dim("Limit names: ai-requests, ai-tokens, vectorize-ops", theme));
446
+ return { exitCode: 1 };
447
+ }
448
+ const value = parseInt(limitValue, 10);
449
+ if (isNaN(value) || value < 0) {
450
+ logger.error("Limit value must be a positive number");
451
+ return { exitCode: 1 };
452
+ }
453
+ switch (limitName) {
454
+ case "ai-requests":
455
+ await account.setLimits(accountId, { aiRequestsPerDay: value });
456
+ logger.success(`AI requests limit set to ${value}/day`);
457
+ break;
458
+ case "ai-tokens":
459
+ await account.setLimits(accountId, { aiTokensPerDay: value });
460
+ logger.success(`AI tokens limit set to ${value}/day`);
461
+ break;
462
+ case "vectorize-ops":
463
+ await account.setLimits(accountId, { vectorizeOpsPerDay: value });
464
+ logger.success(`Vectorize ops limit set to ${value}/day`);
465
+ break;
466
+ default:
467
+ logger.error(`Unknown limit: ${limitName}`);
468
+ logLine(logger, dim("Valid limits: ai-requests, ai-tokens, vectorize-ops", theme));
469
+ return { exitCode: 1 };
470
+ }
471
+ return { exitCode: 0 };
472
+ }
473
+ export {
474
+ runAccountCommand
475
+ };
@@ -0,0 +1,33 @@
1
+ import {
2
+ AuthenticationError,
3
+ CloudflareAPIError,
4
+ apiDelete,
5
+ apiGet,
6
+ apiGetAll,
7
+ apiPatch,
8
+ apiPost,
9
+ apiPut,
10
+ createCloudflareAuthSession,
11
+ kvDelete,
12
+ kvGet,
13
+ kvPut,
14
+ parseCloudflareEnvelope,
15
+ parseRawJson
16
+ } from "./index-mg8vwqxf.js";
17
+ import"./index-37x76zdn.js";
18
+ export {
19
+ parseRawJson,
20
+ parseCloudflareEnvelope,
21
+ kvPut,
22
+ kvGet,
23
+ kvDelete,
24
+ createCloudflareAuthSession,
25
+ apiPut,
26
+ apiPost,
27
+ apiPatch,
28
+ apiGetAll,
29
+ apiGet,
30
+ apiDelete,
31
+ CloudflareAPIError,
32
+ AuthenticationError
33
+ };
@@ -1,3 +1,5 @@
1
+ type WebSocketConstructor = new (url: string) => WebSocket;
2
+ export declare function resolveBridgeWebSocketConstructor(runtimeWebSocket?: unknown): Promise<WebSocketConstructor>;
1
3
  export interface BridgeClientOptions {
2
4
  /** Bridge WebSocket URL (default: ws://localhost:8686) */
3
5
  url?: string;
@@ -17,22 +19,38 @@ export interface ActiveStream {
17
19
  controller: ReadableStreamDefaultController<Uint8Array>;
18
20
  buffer: Uint8Array[];
19
21
  creditRemaining: number;
22
+ /** Resolver for a pending pull waiting on bytes or end */
23
+ pendingPull: {
24
+ resolve: () => void;
25
+ reject: (error: Error) => void;
26
+ } | null;
27
+ /** Stream ended (from server) — signal pull to flush and close */
28
+ ended: boolean;
29
+ /** Stream was cancelled locally or aborted */
30
+ closed: boolean;
20
31
  }
21
32
  export interface ActiveWsProxy {
22
33
  clientWs: WebSocket;
23
34
  onMessage: (data: Uint8Array | string) => void;
24
35
  onClose: (code?: number, reason?: string) => void;
25
36
  }
37
+ export interface PendingWsOpen {
38
+ resolve: () => void;
39
+ reject: (error: Error) => void;
40
+ }
26
41
  export declare class BridgeClient {
27
42
  private ws;
43
+ private codec;
44
+ private adapter;
28
45
  private url;
29
46
  private autoReconnect;
30
47
  private reconnectDelay;
31
48
  private connectTimeout;
32
- private pendingCalls;
33
49
  private activeStreams;
34
50
  private wsProxies;
51
+ private pendingWsOpens;
35
52
  private outgoingStreams;
53
+ private eventListeners;
36
54
  private connectPromise;
37
55
  private isConnected;
38
56
  constructor(options?: BridgeClientOptions);
@@ -42,13 +60,31 @@ export declare class BridgeClient {
42
60
  getHttpUrl(): string;
43
61
  /** Connect to the bridge */
44
62
  connect(): Promise<void>;
45
- /** Disconnect from the bridge */
63
+ private openConnectionWithPackageFallback;
64
+ private openConnection;
65
+ /** Disconnect from the bridge and tear down all pending state */
46
66
  disconnect(): void;
67
+ /** Alias for disconnect() */
68
+ close(): void;
47
69
  /** Check if connected */
48
70
  get connected(): boolean;
49
71
  private handleDisconnect;
72
+ /** Reject/close all pending streams and ws proxies (codec owns RPC pending). */
73
+ private cleanupPending;
50
74
  /** Call an RPC method */
51
75
  call(method: string, params: unknown[], timeoutMs?: number): Promise<unknown>;
76
+ /**
77
+ * Subscribe to bridge `event` notifications for a topic.
78
+ *
79
+ * Pass `'*'` to receive every event regardless of topic. Returns an
80
+ * unsubscribe function; calling it removes this listener. Subscriptions
81
+ * survive auto-reconnect and are only dropped on an explicit disconnect().
82
+ *
83
+ * NOTE: no gateway currently emits `event` frames, so listeners will not
84
+ * fire until an event producer is wired on the gateway side. The subscriber
85
+ * surface is provided so consumers can register ahead of that work.
86
+ */
87
+ on(topic: string, cb: (data: unknown) => void): () => void;
52
88
  /** Create a proxied WebSocket to a Durable Object */
53
89
  createWsProxy(binding: string, id: string, url: string, headers?: [string, string][]): Promise<{
54
90
  wid: number;
@@ -59,12 +95,15 @@ export declare class BridgeClient {
59
95
  }>;
60
96
  /** Create a readable stream that pulls from the bridge */
61
97
  createReadableStream(sid: number): ReadableStream<Uint8Array>;
62
- private handleMessage;
63
98
  private handleJsonMessage;
64
- private handleBinaryMessage;
65
- private handleRpcOk;
66
- private handleRpcErr;
99
+ /**
100
+ * Receive a v2 binary frame. Frame format is byte-identical to the legacy
101
+ * v1 frames for kinds 1 (StreamChunk) and 2 (WsData); v2 owns kind 3
102
+ * (BodyChunk) which the codec handles internally before reaching here.
103
+ */
104
+ private handleV2BinaryFrame;
67
105
  private handleEvent;
106
+ private dispatchEvent;
68
107
  private handleStreamPull;
69
108
  private pumpStream;
70
109
  private handleStreamChunk;
@@ -72,11 +111,14 @@ export declare class BridgeClient {
72
111
  private handleStreamAbort;
73
112
  private handleWsData;
74
113
  private handleWsClose;
114
+ private handleWsOpened;
75
115
  private ensureConnected;
76
116
  private send;
117
+ private sendBinary;
77
118
  }
78
119
  /** Get or create the default bridge client */
79
120
  export declare function getClient(options?: BridgeClientOptions): BridgeClient;
80
121
  /** Reset the default client (for testing) */
81
122
  export declare function resetClient(): void;
123
+ export {};
82
124
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/bridge/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/bridge/client.ts"],"names":[],"mappings":"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"}