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
@@ -0,0 +1,360 @@
1
+ // src/shims/local-media-bindings.ts
2
+ function emptyNodeStream() {
3
+ return new ReadableStream({
4
+ start(controller) {
5
+ controller.close();
6
+ }
7
+ });
8
+ }
9
+ function normalizeNodeContentType(value, fallback) {
10
+ if (!value)
11
+ return fallback;
12
+ if (value.includes("/"))
13
+ return value;
14
+ if (value === "jpg" || value === "jpeg")
15
+ return "image/jpeg";
16
+ if (value === "png")
17
+ return "image/png";
18
+ if (value === "webp")
19
+ return "image/webp";
20
+ if (value === "avif")
21
+ return "image/avif";
22
+ if (value === "mp4")
23
+ return "video/mp4";
24
+ return value;
25
+ }
26
+ async function readNodeBytes(stream) {
27
+ const buffer = await new Response(stream ?? emptyNodeStream()).arrayBuffer();
28
+ return new Uint8Array(buffer);
29
+ }
30
+ function streamFromNodeBytes(bytes) {
31
+ const copy = new Uint8Array(bytes.byteLength);
32
+ copy.set(bytes);
33
+ return new Response(copy).body ?? emptyNodeStream();
34
+ }
35
+ function createUnsupportedHostedImagesBinding() {
36
+ const unsupported = () => {
37
+ throw new Error("Devflare local Images hosted API is not implemented. Use transform/info APIs locally, or connect to Cloudflare for hosted image storage.");
38
+ };
39
+ return {
40
+ image(_imageId) {
41
+ return {
42
+ details: unsupported,
43
+ bytes: unsupported,
44
+ update: unsupported,
45
+ delete: unsupported
46
+ };
47
+ },
48
+ upload: unsupported,
49
+ list: unsupported
50
+ };
51
+ }
52
+ function createNodeImageResult(bytes, contentType) {
53
+ return {
54
+ response() {
55
+ return new Response(streamFromNodeBytes(bytes), {
56
+ headers: { "Content-Type": contentType }
57
+ });
58
+ },
59
+ contentType() {
60
+ return contentType;
61
+ },
62
+ image() {
63
+ return streamFromNodeBytes(bytes);
64
+ }
65
+ };
66
+ }
67
+ function createNodeImageTransformer(bytesPromise) {
68
+ const transformer = {
69
+ transform(_transform) {
70
+ return transformer;
71
+ },
72
+ draw(_image, _options) {
73
+ return transformer;
74
+ },
75
+ async output(options) {
76
+ return createNodeImageResult(await bytesPromise, normalizeNodeContentType(options?.format, "image/png"));
77
+ }
78
+ };
79
+ return transformer;
80
+ }
81
+ function createLocalImagesBinding() {
82
+ return {
83
+ async info(stream) {
84
+ const bytes = await readNodeBytes(stream);
85
+ return {
86
+ format: "image/png",
87
+ fileSize: bytes.byteLength,
88
+ width: 1,
89
+ height: 1
90
+ };
91
+ },
92
+ input(stream) {
93
+ return createNodeImageTransformer(readNodeBytes(stream));
94
+ },
95
+ hosted: createUnsupportedHostedImagesBinding()
96
+ };
97
+ }
98
+ function createNodeMediaResult(bytesPromise, contentType) {
99
+ return {
100
+ async media() {
101
+ return streamFromNodeBytes(await bytesPromise);
102
+ },
103
+ async response() {
104
+ return new Response(streamFromNodeBytes(await bytesPromise), {
105
+ headers: { "Content-Type": contentType }
106
+ });
107
+ },
108
+ async contentType() {
109
+ return contentType;
110
+ }
111
+ };
112
+ }
113
+ function createNodeMediaTransformer(bytesPromise) {
114
+ const output = (options = {}) => createNodeMediaResult(bytesPromise, normalizeNodeContentType(options.format, "video/mp4"));
115
+ return {
116
+ transform(_transform) {
117
+ return {
118
+ output(options) {
119
+ return output(options);
120
+ }
121
+ };
122
+ },
123
+ output(options) {
124
+ return output(options);
125
+ }
126
+ };
127
+ }
128
+ function createLocalMediaBinding() {
129
+ return {
130
+ input(stream) {
131
+ return createNodeMediaTransformer(readNodeBytes(stream));
132
+ }
133
+ };
134
+ }
135
+ var LOCAL_MEDIA_BINDING_SCRIPT = `
136
+ import { RpcTarget, WorkerEntrypoint } from 'cloudflare:workers'
137
+
138
+ function emptyStream() {
139
+ return new ReadableStream({
140
+ start(controller) {
141
+ controller.close()
142
+ }
143
+ })
144
+ }
145
+
146
+ function normalizeContentType(value, fallback) {
147
+ if (typeof value !== 'string' || value.length === 0) return fallback
148
+ if (value.includes('/')) return value
149
+ if (value === 'jpg') return 'image/jpeg'
150
+ if (value === 'jpeg') return 'image/jpeg'
151
+ if (value === 'png') return 'image/png'
152
+ if (value === 'webp') return 'image/webp'
153
+ if (value === 'avif') return 'image/avif'
154
+ if (value === 'mp4') return 'video/mp4'
155
+ return value
156
+ }
157
+
158
+ async function readBytes(stream) {
159
+ return await new Response(stream || emptyStream()).arrayBuffer()
160
+ }
161
+
162
+ function streamFromBytes(bytes) {
163
+ return new Response(bytes.slice(0)).body || emptyStream()
164
+ }
165
+
166
+ function createBodyReader(bytes) {
167
+ return function takeBody() {
168
+ return streamFromBytes(bytes)
169
+ }
170
+ }
171
+
172
+ class LocalImageResult extends RpcTarget {
173
+ constructor(takeBody, contentType) {
174
+ super()
175
+ this.takeBody = takeBody
176
+ this.contentTypeValue = contentType
177
+ }
178
+
179
+ response() {
180
+ return new Response(this.takeBody(), {
181
+ headers: { 'Content-Type': this.contentTypeValue }
182
+ })
183
+ }
184
+
185
+ contentType() {
186
+ return this.contentTypeValue
187
+ }
188
+
189
+ image() {
190
+ return this.takeBody()
191
+ }
192
+ }
193
+
194
+ class LocalImageTransformer extends RpcTarget {
195
+ constructor(bytes) {
196
+ super()
197
+ this.takeBody = createBodyReader(bytes)
198
+ }
199
+
200
+ transform() {
201
+ return this
202
+ }
203
+
204
+ draw() {
205
+ return this
206
+ }
207
+
208
+ async output(options = {}) {
209
+ return new LocalImageResult(
210
+ this.takeBody,
211
+ normalizeContentType(options.format, 'image/png')
212
+ )
213
+ }
214
+ }
215
+
216
+ function createHostedImagesBinding() {
217
+ const unsupported = () => {
218
+ throw new Error('Devflare local Images hosted API is not implemented. Use the transform/info APIs locally, or connect to Cloudflare for hosted image storage.')
219
+ }
220
+ return {
221
+ image() {
222
+ return {
223
+ details: unsupported,
224
+ bytes: unsupported,
225
+ update: unsupported,
226
+ delete: unsupported
227
+ }
228
+ },
229
+ upload: unsupported,
230
+ list: unsupported
231
+ }
232
+ }
233
+
234
+ export class LocalImagesBinding extends WorkerEntrypoint {
235
+ async info(stream) {
236
+ const bytes = await readBytes(stream)
237
+ return {
238
+ format: 'image/png',
239
+ fileSize: bytes.byteLength,
240
+ width: 1,
241
+ height: 1
242
+ }
243
+ }
244
+
245
+ async input(stream) {
246
+ return new LocalImageTransformer(await readBytes(stream))
247
+ }
248
+
249
+ get hosted() {
250
+ return createHostedImagesBinding()
251
+ }
252
+ }
253
+
254
+ class LocalMediaResult extends RpcTarget {
255
+ constructor(takeBody, contentType) {
256
+ super()
257
+ this.takeBody = takeBody
258
+ this.contentTypeValue = contentType
259
+ }
260
+
261
+ async media() {
262
+ return this.takeBody()
263
+ }
264
+
265
+ async response() {
266
+ return new Response(this.takeBody(), {
267
+ headers: { 'Content-Type': this.contentTypeValue }
268
+ })
269
+ }
270
+
271
+ async contentType() {
272
+ return this.contentTypeValue
273
+ }
274
+ }
275
+
276
+ class LocalMediaTransformationGenerator extends RpcTarget {
277
+ constructor(takeBody) {
278
+ super()
279
+ this.takeBody = takeBody
280
+ }
281
+
282
+ output(options = {}) {
283
+ return new LocalMediaResult(
284
+ this.takeBody,
285
+ normalizeContentType(options.format, 'video/mp4')
286
+ )
287
+ }
288
+ }
289
+
290
+ class LocalMediaTransformer extends RpcTarget {
291
+ constructor(bytes) {
292
+ super()
293
+ this.takeBody = createBodyReader(bytes)
294
+ }
295
+
296
+ transform() {
297
+ return new LocalMediaTransformationGenerator(this.takeBody)
298
+ }
299
+
300
+ output(options = {}) {
301
+ return new LocalMediaResult(
302
+ this.takeBody,
303
+ normalizeContentType(options.format, 'video/mp4')
304
+ )
305
+ }
306
+ }
307
+
308
+ export class LocalMediaBinding extends WorkerEntrypoint {
309
+ async input(stream) {
310
+ return new LocalMediaTransformer(await readBytes(stream))
311
+ }
312
+ }
313
+
314
+ export default {
315
+ fetch() {
316
+ return new Response('Devflare local Images/Media binding')
317
+ }
318
+ }
319
+ `;
320
+ function toLocalShimWorkerName(kind, bindingName, index) {
321
+ const slug = bindingName.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") || kind;
322
+ return `devflare-local-${kind}-${index}-${slug}`;
323
+ }
324
+ function getEntrypoint(kind) {
325
+ return kind === "images" ? "LocalImagesBinding" : "LocalMediaBinding";
326
+ }
327
+ function buildLocalBindingShimServiceConfig(config) {
328
+ const entries = [
329
+ ...Object.keys(config.bindings?.images ?? {}).map((bindingName) => ({
330
+ bindingName,
331
+ kind: "images"
332
+ })),
333
+ ...Object.keys(config.bindings?.media ?? {}).map((bindingName) => ({
334
+ bindingName,
335
+ kind: "media"
336
+ }))
337
+ ];
338
+ return {
339
+ localBindingNames: entries.map((entry) => entry.bindingName),
340
+ serviceBindings: Object.fromEntries(entries.map((entry, index) => {
341
+ const workerName = toLocalShimWorkerName(entry.kind, entry.bindingName, index);
342
+ return [
343
+ entry.bindingName,
344
+ {
345
+ name: workerName,
346
+ entrypoint: getEntrypoint(entry.kind)
347
+ }
348
+ ];
349
+ })),
350
+ workers: entries.map((entry, index) => ({
351
+ name: toLocalShimWorkerName(entry.kind, entry.bindingName, index),
352
+ modules: true,
353
+ script: LOCAL_MEDIA_BINDING_SCRIPT,
354
+ compatibilityDate: config.compatibilityDate ?? "2025-01-01",
355
+ ...config.compatibilityFlags && { compatibilityFlags: config.compatibilityFlags }
356
+ }))
357
+ };
358
+ }
359
+
360
+ export { createLocalImagesBinding, createLocalMediaBinding, buildLocalBindingShimServiceConfig };
@@ -0,0 +1,147 @@
1
+ import {
2
+ normalizeSecretsStoreBinding
3
+ } from "./index-dfcp9hsd.js";
4
+
5
+ // src/secrets/local-secrets.ts
6
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
7
+ import { dirname, join } from "node:path";
8
+ var LOCAL_SECRETS_PATH = join(".devflare", "secrets.local.json");
9
+ var LOCAL_SECRET_WRAPPED_BINDING_SCRIPT = `
10
+ class LocalSecretsStoreSecret {
11
+ constructor(env) {
12
+ this.value = env.value
13
+ }
14
+
15
+ async get() {
16
+ return this.value
17
+ }
18
+ }
19
+
20
+ export default function makeBinding(env) {
21
+ return new LocalSecretsStoreSecret(env)
22
+ }
23
+ `;
24
+ function createEmptyLocalSecretsFile() {
25
+ return {
26
+ version: 1,
27
+ stores: {}
28
+ };
29
+ }
30
+ function getLocalSecretsFilePath(cwd) {
31
+ return join(cwd, LOCAL_SECRETS_PATH);
32
+ }
33
+ function parseLocalSecretsFile(raw) {
34
+ const parsed = JSON.parse(raw);
35
+ if (parsed.version !== 1 || !parsed.stores || typeof parsed.stores !== "object") {
36
+ return createEmptyLocalSecretsFile();
37
+ }
38
+ return {
39
+ version: 1,
40
+ stores: parsed.stores
41
+ };
42
+ }
43
+ function readLocalSecretsFile(cwd) {
44
+ const filePath = getLocalSecretsFilePath(cwd);
45
+ if (!existsSync(filePath)) {
46
+ return createEmptyLocalSecretsFile();
47
+ }
48
+ return parseLocalSecretsFile(readFileSync(filePath, "utf8"));
49
+ }
50
+ function writeLocalSecretsFile(cwd, file) {
51
+ const filePath = getLocalSecretsFilePath(cwd);
52
+ mkdirSync(dirname(filePath), { recursive: true });
53
+ writeFileSync(filePath, `${JSON.stringify(file, null, "\t")}
54
+ `, {
55
+ encoding: "utf8",
56
+ mode: 384
57
+ });
58
+ }
59
+ function writeLocalSecret({ cwd, storeId, name, value }) {
60
+ const file = readLocalSecretsFile(cwd);
61
+ file.stores[storeId] ??= {};
62
+ file.stores[storeId][name] = {
63
+ value,
64
+ updatedAt: new Date().toISOString()
65
+ };
66
+ writeLocalSecretsFile(cwd, file);
67
+ }
68
+ function readLocalSecret({ cwd, storeId, name }) {
69
+ return readLocalSecretsFile(cwd).stores[storeId]?.[name]?.value;
70
+ }
71
+ function deleteLocalSecret({ cwd, storeId, name }) {
72
+ const file = readLocalSecretsFile(cwd);
73
+ const store = file.stores[storeId];
74
+ if (!store || !(name in store)) {
75
+ return false;
76
+ }
77
+ delete store[name];
78
+ if (Object.keys(store).length === 0) {
79
+ delete file.stores[storeId];
80
+ }
81
+ writeLocalSecretsFile(cwd, file);
82
+ return true;
83
+ }
84
+ function listLocalSecrets({ cwd, storeId }) {
85
+ const file = readLocalSecretsFile(cwd);
86
+ const stores = storeId ? { [storeId]: file.stores[storeId] ?? {} } : file.stores;
87
+ return Object.entries(stores).flatMap(([currentStoreId, secrets]) => Object.entries(secrets).map(([name, secret]) => ({
88
+ storeId: currentStoreId,
89
+ name,
90
+ hasValue: typeof secret.value === "string",
91
+ updatedAt: secret.updatedAt
92
+ })));
93
+ }
94
+ function resolveLocalSecretValuesForBindings(config, cwd) {
95
+ const values = {};
96
+ for (const [bindingName, binding] of Object.entries(config.bindings?.secretsStore ?? {})) {
97
+ const normalized = normalizeSecretsStoreBinding(binding, config.secretsStoreId, bindingName);
98
+ const value = readLocalSecret({
99
+ cwd,
100
+ storeId: normalized.storeId,
101
+ name: normalized.secretName
102
+ });
103
+ if (value !== undefined) {
104
+ values[bindingName] = value;
105
+ }
106
+ }
107
+ return values;
108
+ }
109
+ function toLocalSecretWorkerName(bindingName, index) {
110
+ const slug = bindingName.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "") || "secret";
111
+ return `devflare-local-secret-${index}-${slug}`;
112
+ }
113
+ function buildLocalSecretWrappedBindingConfig(config, cwd) {
114
+ const values = resolveLocalSecretValuesForBindings(config, cwd);
115
+ const entries = Object.entries(values);
116
+ return {
117
+ localBindingNames: entries.map(([bindingName]) => bindingName),
118
+ wrappedBindings: Object.fromEntries(entries.map(([bindingName, value], index) => {
119
+ const scriptName = toLocalSecretWorkerName(bindingName, index);
120
+ return [
121
+ bindingName,
122
+ {
123
+ scriptName,
124
+ bindings: { value }
125
+ }
126
+ ];
127
+ })),
128
+ workers: entries.map(([bindingName], index) => ({
129
+ name: toLocalSecretWorkerName(bindingName, index),
130
+ modules: true,
131
+ script: LOCAL_SECRET_WRAPPED_BINDING_SCRIPT
132
+ }))
133
+ };
134
+ }
135
+ function buildLocalSecretNodeBindings(config, cwd) {
136
+ const values = resolveLocalSecretValuesForBindings(config, cwd);
137
+ return Object.fromEntries(Object.entries(values).map(([bindingName, value]) => [
138
+ bindingName,
139
+ {
140
+ async get() {
141
+ return value;
142
+ }
143
+ }
144
+ ]));
145
+ }
146
+
147
+ export { writeLocalSecret, deleteLocalSecret, listLocalSecrets, resolveLocalSecretValuesForBindings, buildLocalSecretWrappedBindingConfig, buildLocalSecretNodeBindings };