devflare 1.0.0-next.3 → 1.0.0-next.30

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 +15961 -1751
  2. package/README.md +389 -605
  3. package/bin/devflare.js +24 -14
  4. package/dist/account-fvf5gxc9.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 +4585 -0
  47. package/dist/browser.d.ts.map +1 -0
  48. package/dist/browser.js +147 -0
  49. package/dist/build-x1fhfsgs.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 +267 -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 +3005 -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 +390 -0
  270. package/dist/config/schema-types.d.ts.map +1 -0
  271. package/dist/config/schema.d.ts +4495 -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-2d6x21jn.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-g85w9drn.js +1066 -0
  281. package/dist/dev-server/d1-migrations.d.ts +36 -0
  282. package/dist/dev-server/d1-migrations.d.ts.map +1 -0
  283. package/dist/dev-server/dev-server-state.d.ts +59 -0
  284. package/dist/dev-server/dev-server-state.d.ts.map +1 -0
  285. package/dist/dev-server/gateway-script.d.ts +21 -0
  286. package/dist/dev-server/gateway-script.d.ts.map +1 -0
  287. package/dist/dev-server/miniflare-bindings.d.ts +59 -0
  288. package/dist/dev-server/miniflare-bindings.d.ts.map +1 -0
  289. package/dist/dev-server/miniflare-dev-config.d.ts +36 -0
  290. package/dist/dev-server/miniflare-dev-config.d.ts.map +1 -0
  291. package/dist/dev-server/miniflare-log.d.ts +20 -0
  292. package/dist/dev-server/miniflare-log.d.ts.map +1 -0
  293. package/dist/dev-server/miniflare-worker-config.d.ts +74 -0
  294. package/dist/dev-server/miniflare-worker-config.d.ts.map +1 -0
  295. package/dist/dev-server/reload-queue.d.ts +13 -0
  296. package/dist/dev-server/reload-queue.d.ts.map +1 -0
  297. package/dist/dev-server/runtime-stdio.d.ts +8 -0
  298. package/dist/dev-server/runtime-stdio.d.ts.map +1 -0
  299. package/dist/dev-server/server-startup-helpers.d.ts +84 -0
  300. package/dist/dev-server/server-startup-helpers.d.ts.map +1 -0
  301. package/dist/dev-server/server.d.ts +2 -0
  302. package/dist/dev-server/server.d.ts.map +1 -1
  303. package/dist/dev-server/vite-process.d.ts +15 -0
  304. package/dist/dev-server/vite-process.d.ts.map +1 -0
  305. package/dist/dev-server/vite-utils.d.ts +19 -1
  306. package/dist/dev-server/vite-utils.d.ts.map +1 -1
  307. package/dist/dev-server/worker-source-watcher.d.ts +17 -0
  308. package/dist/dev-server/worker-source-watcher.d.ts.map +1 -0
  309. package/dist/dev-server/worker-surface-paths.d.ts +6 -0
  310. package/dist/dev-server/worker-surface-paths.d.ts.map +1 -0
  311. package/dist/dev-ymkq3thq.js +2609 -0
  312. package/dist/{doctor-fmgb3d28.js → doctor-sjrcz7x9.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-0gtmnw0m.js +895 -0
  317. package/dist/index-11p28kxx.js +256 -0
  318. package/dist/index-15fpa5tx.js +232 -0
  319. package/dist/index-1d4jg11n.js +542 -0
  320. package/dist/index-2sc756r1.js +1578 -0
  321. package/dist/index-3edvz3hs.js +124 -0
  322. package/dist/index-3jme4hgw.js +1234 -0
  323. package/dist/index-467tm7r4.js +1033 -0
  324. package/dist/index-5yvpk954.js +699 -0
  325. package/dist/index-627srx16.js +45 -0
  326. package/dist/index-62b3gt2g.js +12 -0
  327. package/dist/index-6sj0v0dk.js +2284 -0
  328. package/dist/index-706k4606.js +52 -0
  329. package/dist/index-7zfv1g9m.js +147 -0
  330. package/dist/index-85yjb686.js +413 -0
  331. package/dist/index-aabgympv.js +39 -0
  332. package/dist/{index-z14anrqp.js → index-aqrwyy57.js} +93 -31
  333. package/dist/index-c4jmfzz7.js +109 -0
  334. package/dist/index-c8p4njqy.js +479 -0
  335. package/dist/index-dm9q84c7.js +360 -0
  336. package/dist/index-fjmdb57t.js +581 -0
  337. package/dist/index-g4fcnwhc.js +1205 -0
  338. package/dist/{index-18hvb6gb.js → index-gn5wy09x.js} +13 -2
  339. package/dist/index-hpwa6vsw.js +239 -0
  340. package/dist/index-mg8vwqxf.js +514 -0
  341. package/dist/index-pmeashfz.js +476 -0
  342. package/dist/{index-07q6yxyc.js → index-q8f4kawk.js} +68 -32
  343. package/dist/index-qmmqww7h.js +133 -0
  344. package/dist/{index-rbht7m9r.js → index-qwgr4q7s.js} +2 -1
  345. package/dist/index-qz6nbwpw.js +111 -0
  346. package/dist/index-sqkbyw0c.js +1428 -0
  347. package/dist/index-stgn34cr.js +148 -0
  348. package/dist/index-t9y0sve5.js +155 -0
  349. package/dist/index-thwacc28.js +74 -0
  350. package/dist/index-vhqww6tt.js +307 -0
  351. package/dist/{index-1xpj0m4r.js → index-z9gy8w6b.js} +1 -1
  352. package/dist/index-za0r01bx.js +588 -0
  353. package/dist/index-zwmphmc5.js +185 -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-fthspvbx.js +77 -0
  359. package/dist/previews-aa16z2hj.js +1337 -0
  360. package/dist/productions-vemjgfz0.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-b0x50dd1.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-03w8zkg6.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-55q6b8nc.js +513 -0
  502. package/dist/worker-entry/composed-worker.d.ts +7 -0
  503. package/dist/worker-entry/composed-worker.d.ts.map +1 -0
  504. package/dist/worker-entry/durable-object-discovery.d.ts +20 -0
  505. package/dist/worker-entry/durable-object-discovery.d.ts.map +1 -0
  506. package/dist/worker-entry/extensions.d.ts +5 -0
  507. package/dist/worker-entry/extensions.d.ts.map +1 -0
  508. package/dist/worker-entry/routes.d.ts +22 -0
  509. package/dist/worker-entry/routes.d.ts.map +1 -0
  510. package/dist/worker-entry/surface-paths.d.ts +26 -0
  511. package/dist/worker-entry/surface-paths.d.ts.map +1 -0
  512. package/dist/{worker-entrypoint-m9th0rg0.js → worker-entrypoint-3rmzd4c1.js} +3 -1
  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
@@ -1,40 +1,139 @@
1
- import"../index-m2q41jwa.js";
1
+ import"../index-za0r01bx.js";
2
+ import {
3
+ createLocalHyperdrive,
4
+ createLocalWorkerLoaderBinding,
5
+ extractBindingHints
6
+ } from "../index-t9y0sve5.js";
7
+ import {
8
+ createLocalImagesBinding,
9
+ createLocalMediaBinding
10
+ } from "../index-dm9q84c7.js";
11
+ import {
12
+ buildLocalSecretNodeBindings
13
+ } from "../index-7zfv1g9m.js";
2
14
  import {
3
15
  createEnvProxy,
4
- getClient
5
- } from "../index-pf5s73n9.js";
6
- import"../index-07q6yxyc.js";
7
- import"../index-67qcae0f.js";
16
+ createFetchEvent,
17
+ getClient,
18
+ runWithEventContext,
19
+ setBindingHints
20
+ } from "../index-6sj0v0dk.js";
8
21
  import {
9
- loadConfig
10
- } from "../index-hcex3rgh.js";
22
+ createLocalSendEmailBinding
23
+ } from "../index-hpwa6vsw.js";
24
+ import"../index-5yvpk954.js";
25
+ import {
26
+ loadConfig,
27
+ normalizeHyperdriveBinding
28
+ } from "../index-2sc756r1.js";
29
+ import"../index-1d4jg11n.js";
30
+ import"../index-mg8vwqxf.js";
31
+ import"../index-c8p4njqy.js";
32
+ import"../index-q8f4kawk.js";
11
33
  import"../index-37x76zdn.js";
34
+ // src/sveltekit/local-bindings.ts
35
+ function buildLocalHyperdriveBindings(config) {
36
+ const bindings = {};
37
+ for (const [name, binding] of Object.entries(config.bindings?.hyperdrive ?? {})) {
38
+ const normalized = normalizeHyperdriveBinding(binding);
39
+ if (normalized.localConnectionString) {
40
+ bindings[name] = createLocalHyperdrive(normalized.localConnectionString);
41
+ }
42
+ }
43
+ return bindings;
44
+ }
45
+ function buildSvelteKitLocalBindings(config, cwd) {
46
+ const bindings = {
47
+ ...config.vars ?? {},
48
+ ...buildLocalHyperdriveBindings(config),
49
+ ...buildLocalSecretNodeBindings(config, cwd)
50
+ };
51
+ for (const [name, binding] of Object.entries(config.bindings?.sendEmail ?? {})) {
52
+ bindings[name] = createLocalSendEmailBinding(binding);
53
+ }
54
+ for (const name of Object.keys(config.bindings?.workerLoaders ?? {})) {
55
+ bindings[name] = createLocalWorkerLoaderBinding();
56
+ }
57
+ for (const name of Object.keys(config.bindings?.images ?? {})) {
58
+ bindings[name] = createLocalImagesBinding();
59
+ }
60
+ for (const name of Object.keys(config.bindings?.media ?? {})) {
61
+ bindings[name] = createLocalMediaBinding();
62
+ }
63
+ return bindings;
64
+ }
65
+ function overlayLocalBindings(baseEnv, localBindings) {
66
+ if (Object.keys(localBindings).length === 0) {
67
+ return baseEnv;
68
+ }
69
+ return new Proxy(baseEnv, {
70
+ get(target, prop, receiver) {
71
+ if (typeof prop === "string" && prop in localBindings) {
72
+ return localBindings[prop];
73
+ }
74
+ return Reflect.get(target, prop, receiver);
75
+ },
76
+ has(target, prop) {
77
+ return typeof prop === "string" && prop in localBindings || Reflect.has(target, prop);
78
+ },
79
+ ownKeys(target) {
80
+ return Array.from(new Set([
81
+ ...Reflect.ownKeys(target),
82
+ ...Reflect.ownKeys(localBindings)
83
+ ]));
84
+ },
85
+ getOwnPropertyDescriptor(target, prop) {
86
+ if (typeof prop === "string" && prop in localBindings) {
87
+ return {
88
+ configurable: true,
89
+ enumerable: true,
90
+ writable: false,
91
+ value: localBindings[prop]
92
+ };
93
+ }
94
+ return Reflect.getOwnPropertyDescriptor(target, prop);
95
+ }
96
+ });
97
+ }
12
98
 
13
99
  // src/sveltekit/platform.ts
14
100
  var platformCache = null;
15
- function getPlatformCacheKey(bridgeUrl) {
16
- return bridgeUrl;
101
+ function fingerprintHints(hints) {
102
+ const entries = Object.keys(hints).sort().map((name) => [name, hints[name]]);
103
+ return JSON.stringify(entries);
104
+ }
105
+ function getPlatformCacheKey(bridgeUrl, hints) {
106
+ return `${bridgeUrl}\x00${fingerprintHints(hints)}`;
107
+ }
108
+ function shouldUseCachedPlatform(localBindings) {
109
+ return Object.keys(localBindings).length === 0;
110
+ }
111
+ function createDevExecutionContext(pendingErrors) {
112
+ return {
113
+ waitUntil: (promise) => {
114
+ promise.catch((err) => {
115
+ console.error("[devflare] waitUntil error:", err);
116
+ pendingErrors.push(err);
117
+ });
118
+ },
119
+ passThroughOnException: () => {}
120
+ };
17
121
  }
18
122
  async function createDevflarePlatform(options = {}) {
19
123
  const {
20
124
  bridgeUrl = `ws://localhost:${process.env.DEVFLARE_BRIDGE_PORT ?? 8787}`,
21
- hints = {}
125
+ hints = {},
126
+ localBindings = {}
22
127
  } = options;
23
- const cacheKey = getPlatformCacheKey(bridgeUrl);
24
- if (platformCache?.key === cacheKey) {
128
+ const cacheKey = getPlatformCacheKey(bridgeUrl, hints);
129
+ if (shouldUseCachedPlatform(localBindings) && platformCache?.key === cacheKey) {
25
130
  return platformCache.platform;
26
131
  }
27
132
  const client = getClient({ url: bridgeUrl });
28
133
  await client.connect();
29
- const env = createEnvProxy({ client, hints });
30
- const context = {
31
- waitUntil: (promise) => {
32
- promise.catch((err) => {
33
- console.error("[devflare] waitUntil error:", err);
34
- });
35
- },
36
- passThroughOnException: () => {}
37
- };
134
+ const env = overlayLocalBindings(createEnvProxy({ client, hints, strict: true }), localBindings);
135
+ const pendingErrors = [];
136
+ const context = createDevExecutionContext(pendingErrors);
38
137
  const caches = {
39
138
  default: createMockCache(),
40
139
  open: async (cacheName) => createMockCache()
@@ -52,8 +151,10 @@ async function createDevflarePlatform(options = {}) {
52
151
  asn: 0,
53
152
  asOrganization: "Devflare Dev"
54
153
  };
55
- const platform = { env, context, caches, cf };
56
- platformCache = { key: cacheKey, platform };
154
+ const platform = { env, context, caches, cf, pendingErrors };
155
+ if (shouldUseCachedPlatform(localBindings)) {
156
+ platformCache = { key: cacheKey, platform };
157
+ }
57
158
  return platform;
58
159
  }
59
160
  function createMockCache() {
@@ -86,61 +187,57 @@ function getBridgePort() {
86
187
  return parseInt(process.env.DEVFLARE_BRIDGE_PORT ?? "8787", 10);
87
188
  }
88
189
  var configCache = null;
89
- function extractHintsFromConfig(config) {
90
- const hints = {};
91
- const bindings = config.bindings;
92
- if (!bindings)
93
- return hints;
94
- if (bindings.kv) {
95
- for (const name of Object.keys(bindings.kv)) {
96
- hints[name] = "kv";
97
- }
98
- }
99
- if (bindings.d1) {
100
- for (const name of Object.keys(bindings.d1)) {
101
- hints[name] = "d1";
102
- }
103
- }
104
- if (bindings.r2) {
105
- for (const name of Object.keys(bindings.r2)) {
106
- hints[name] = "r2";
107
- }
108
- }
109
- if (bindings.durableObjects) {
110
- for (const name of Object.keys(bindings.durableObjects)) {
111
- hints[name] = "do";
112
- }
113
- }
114
- if (bindings.queues?.producers) {
115
- for (const name of Object.keys(bindings.queues.producers)) {
116
- hints[name] = "queue";
117
- }
118
- }
119
- if (bindings.services) {
120
- for (const name of Object.keys(bindings.services)) {
121
- hints[name] = "service";
122
- }
123
- }
124
- if (bindings.ai?.binding) {
125
- hints[bindings.ai.binding] = "ai";
126
- }
127
- return hints;
190
+ function getConfigFileFromEnv() {
191
+ return process.env.DEVFLARE_CONFIG_PATH;
128
192
  }
129
- async function loadHintsFromConfig() {
193
+ async function loadConfigFromCurrentCwd() {
130
194
  const cwd = process.cwd();
131
- if (configCache?.cwd === cwd) {
132
- const config2 = await configCache.promise;
133
- return config2 ? extractHintsFromConfig(config2) : {};
195
+ const configFile = getConfigFileFromEnv();
196
+ if (configCache?.cwd === cwd && configCache.configFile === configFile) {
197
+ return configCache.promise;
134
198
  }
135
- const promise = loadConfig({ cwd }).catch((err) => {
199
+ const promise = loadConfig({ cwd, configFile }).catch((err) => {
136
200
  if (process.env.DEVFLARE_DEBUG) {
137
201
  console.warn("[devflare] Failed to load config for hints:", err.message);
138
202
  }
139
203
  return null;
140
204
  });
141
- configCache = { cwd, promise };
142
- const config = await promise;
143
- return config ? extractHintsFromConfig(config) : {};
205
+ configCache = { cwd, configFile, promise };
206
+ return promise;
207
+ }
208
+ async function loadPlatformOptionsFromConfig() {
209
+ const cwd = process.cwd();
210
+ const config = await loadConfigFromCurrentCwd();
211
+ if (!config) {
212
+ return { hints: {}, localBindings: {} };
213
+ }
214
+ return {
215
+ hints: extractBindingHints(config),
216
+ localBindings: buildSvelteKitLocalBindings(config, cwd)
217
+ };
218
+ }
219
+ function resolveWithPlatformContext(event, resolve, platform) {
220
+ if (!(event.request instanceof Request)) {
221
+ return resolve(event);
222
+ }
223
+ const fetchEvent = createFetchEvent(event.request, platform.env, platform.context);
224
+ return runWithEventContext(fetchEvent, () => resolve(event));
225
+ }
226
+ async function createPlatformWithRequestContext(event, resolve, options) {
227
+ const platform = await createDevflarePlatform(options);
228
+ event.platform = platform;
229
+ return resolveWithPlatformContext(event, resolve, platform);
230
+ }
231
+ async function getAutoPlatformOptions() {
232
+ const options = await loadPlatformOptionsFromConfig();
233
+ setBindingHints(options.hints ?? {});
234
+ return options;
235
+ }
236
+ async function getCustomPlatformOptions(options) {
237
+ if (options.hints) {
238
+ setBindingHints(options.hints);
239
+ }
240
+ return options;
144
241
  }
145
242
  function createHandle(options = {}) {
146
243
  const { shouldEnable, ...platformOptions } = options;
@@ -148,8 +245,7 @@ function createHandle(options = {}) {
148
245
  const enabled = shouldEnable ? shouldEnable() : process.env.DEVFLARE_DEV === "true";
149
246
  if (enabled) {
150
247
  try {
151
- const platform = await createDevflarePlatform(platformOptions);
152
- event.platform = platform;
248
+ return await createPlatformWithRequestContext(event, resolve, await getCustomPlatformOptions(platformOptions));
153
249
  } catch (error) {
154
250
  console.error("[devflare] Failed to create platform:", error);
155
251
  }
@@ -162,9 +258,7 @@ var handle = async (input) => {
162
258
  const enabled = process.env.DEVFLARE_DEV === "true";
163
259
  if (enabled) {
164
260
  try {
165
- const hints = await loadHintsFromConfig();
166
- const platform = await createDevflarePlatform({ hints });
167
- event.platform = platform;
261
+ return await createPlatformWithRequestContext(event, resolve, await getAutoPlatformOptions());
168
262
  } catch (error) {
169
263
  console.error("[devflare] Failed to create platform:", error);
170
264
  }
@@ -0,0 +1,4 @@
1
+ import { type DevflareConfig } from '../config';
2
+ export declare function buildSvelteKitLocalBindings(config: DevflareConfig, cwd: string): Record<string, unknown>;
3
+ export declare function overlayLocalBindings(baseEnv: Record<string, unknown>, localBindings: Record<string, unknown>): Record<string, unknown>;
4
+ //# sourceMappingURL=local-bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-bindings.d.ts","sourceRoot":"","sources":["../../src/sveltekit/local-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,cAAc,EACnB,MAAM,WAAW,CAAA;AAuBlB,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,cAAc,EACtB,GAAG,EAAE,MAAM,GACT,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwBzB;AAED,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoCzB"}
@@ -7,6 +7,11 @@ export interface Platform {
7
7
  context: ExecutionContext;
8
8
  caches: CacheStorage;
9
9
  cf: Record<string, unknown>;
10
+ /**
11
+ * Errors captured from `ctx.waitUntil()` rejections in dev mode.
12
+ * Drain via `drainWaitUntilErrors(platform)`.
13
+ */
14
+ pendingErrors?: unknown[];
10
15
  }
11
16
  export interface DevflarePlatformOptions {
12
17
  /**
@@ -19,7 +24,18 @@ export interface DevflarePlatformOptions {
19
24
  * Keys are binding names, values are binding types
20
25
  */
21
26
  hints?: BindingHints;
27
+ /**
28
+ * Local Node-side binding shims to prefer over the bridge-backed env.
29
+ * Used by the SvelteKit handle for bindings whose local API exposes
30
+ * synchronous properties or rich transformation objects.
31
+ */
32
+ localBindings?: Record<string, unknown>;
22
33
  }
34
+ /**
35
+ * Drain errors captured from `ctx.waitUntil()` calls on a dev platform.
36
+ * Returns a snapshot of the pending errors and clears the buffer.
37
+ */
38
+ export declare function drainWaitUntilErrors(platform: Platform): unknown[];
23
39
  /**
24
40
  * Create a platform object that routes bindings through the bridge
25
41
  *
@@ -107,6 +123,7 @@ export interface CreateHandleOptions extends DevflarePlatformOptions {
107
123
  export declare function createHandle<T extends {
108
124
  event: {
109
125
  platform?: unknown;
126
+ request?: Request;
110
127
  };
111
128
  resolve: (event: unknown) => Response | Promise<Response>;
112
129
  }>(options?: CreateHandleOptions): (input: T) => Promise<Response>;
@@ -135,7 +152,8 @@ export declare function createHandle<T extends {
135
152
  export declare const handle: <T extends {
136
153
  event: {
137
154
  platform?: unknown;
155
+ request?: Request;
138
156
  };
139
- resolve: (event: unknown) => Promise<Response> | Response;
157
+ resolve: (event: unknown) => Response | Promise<Response>;
140
158
  }>(input: T) => Promise<Response>;
141
159
  //# sourceMappingURL=platform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/sveltekit/platform.ts"],"names":[],"mappings":"AAQA,OAAO,EAA6B,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AAMxE;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,OAAO,EAAE,gBAAgB,CAAA;IACzB,MAAM,EAAE,YAAY,CAAA;IACpB,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACvC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;CACpB;AAgBD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,sBAAsB,CAC3C,OAAO,GAAE,uBAA4B,GACnC,OAAO,CAAC,QAAQ,CAAC,CA2DnB;AAyBD;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAoGD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IACnE;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAA;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAAE,EAClI,OAAO,GAAE,mBAAwB,GAC/B,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAqBjC;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,MAAM,GAAU,CAAC;;;;;iCAqB7B,CAAA"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/sveltekit/platform.ts"],"names":[],"mappings":"AAQA,OAAO,EAA8C,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AASzF;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC5B,OAAO,EAAE,gBAAgB,CAAA;IACzB,MAAM,EAAE,YAAY,CAAA;IACpB,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,EAAE,CAAA;CACzB;AAED,MAAM,WAAW,uBAAuB;IACvC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,KAAK,CAAC,EAAE,YAAY,CAAA;IAEpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACvC;AAgDD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,EAAE,CAQlE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,sBAAsB,CAC3C,OAAO,GAAE,uBAA4B,GACnC,OAAO,CAAC,QAAQ,CAAC,CAqDnB;AAyBD;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAsGD;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IACnE;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,OAAO,CAAA;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS;IAAE,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAAE,EACrJ,OAAO,GAAE,mBAAwB,GAC/B,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAwBjC;AAMD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,MAAM,GAAU,CAAC,SAAS;IAAE,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAAC,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CAAE,SAC9I,CAAC,KACN,OAAO,CAAC,QAAQ,CAoBlB,CAAA"}
@@ -0,0 +1,39 @@
1
+ type AISearchChunk = AiSearchSearchResponse['chunks'][number];
2
+ export interface MockAISearchItemFixture {
3
+ id?: string;
4
+ key: string;
5
+ content?: string;
6
+ contentType?: string;
7
+ metadata?: Record<string, unknown>;
8
+ status?: AiSearchItemInfo['status'];
9
+ chunks?: string[];
10
+ }
11
+ export interface MockAISearchInstanceOptions {
12
+ id?: string;
13
+ namespace?: string;
14
+ info?: Partial<AiSearchInstanceInfo>;
15
+ items?: MockAISearchItemFixture[];
16
+ chatMessage?: string | ((chunks: AISearchChunk[], request: AiSearchChatCompletionsRequest) => string);
17
+ }
18
+ export interface MockAISearchNamespaceOptions {
19
+ namespace?: string;
20
+ instances?: Record<string, MockAISearchInstanceOptions | AiSearchInstance>;
21
+ }
22
+ export type MockAISearchInstance = AiSearchInstance & {
23
+ _getSearches(): AiSearchSearchRequest[];
24
+ _getItems(): AiSearchItemInfo[];
25
+ _getJobs(): AiSearchJobInfo[];
26
+ };
27
+ export type MockAISearchNamespace = AiSearchNamespace & {
28
+ _getInstances(): string[];
29
+ };
30
+ /**
31
+ * Creates a deterministic AI Search instance binding for pure unit tests.
32
+ */
33
+ export declare function createMockAISearchInstance(options?: MockAISearchInstanceOptions): MockAISearchInstance;
34
+ /**
35
+ * Creates a deterministic AI Search namespace binding for pure unit tests.
36
+ */
37
+ export declare function createMockAISearchNamespace(options?: MockAISearchNamespaceOptions): MockAISearchNamespace;
38
+ export {};
39
+ //# sourceMappingURL=ai-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-search.d.ts","sourceRoot":"","sources":["../../src/test/ai-search.ts"],"names":[],"mappings":"AAQA,KAAK,aAAa,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAA;AAG7D,MAAM,WAAW,uBAAuB;IACvC,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACnC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC3C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACpC,KAAK,CAAC,EAAE,uBAAuB,EAAE,CAAA;IACjC,WAAW,CAAC,EACT,MAAM,GACN,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,OAAO,EAAE,8BAA8B,KAAK,MAAM,CAAC,CAAA;CACjF;AAED,MAAM,WAAW,4BAA4B;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,GAAG,gBAAgB,CAAC,CAAA;CAC1E;AAED,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACrD,YAAY,IAAI,qBAAqB,EAAE,CAAA;IACvC,SAAS,IAAI,gBAAgB,EAAE,CAAA;IAC/B,QAAQ,IAAI,eAAe,EAAE,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACvD,aAAa,IAAI,MAAM,EAAE,CAAA;CACzB,CAAA;AAqJD;;GAEG;AACH,wBAAgB,0BAA0B,CACzC,OAAO,GAAE,2BAAgC,GACvC,oBAAoB,CAiXtB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,GAAE,4BAAiC,GACxC,qBAAqB,CA2IvB"}
@@ -0,0 +1,11 @@
1
+ import type { DevflareConfig } from '../config';
2
+ import type { BindingHints } from '../bridge/proxy';
3
+ /**
4
+ * Derive `BindingHints` from a resolved Devflare config.
5
+ *
6
+ * Used by both `createTestContext` (simple-context) and `createBridgeTestContext`
7
+ * (bridge-context) to avoid duplicating the mapping between config sections and
8
+ * hint kinds.
9
+ */
10
+ export declare function extractBindingHints(config: DevflareConfig): BindingHints;
11
+ //# sourceMappingURL=binding-hints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"binding-hints.d.ts","sourceRoot":"","sources":["../../src/test/binding-hints.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAEnD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAqDxE"}
package/dist/test/cf.d.ts CHANGED
@@ -11,15 +11,19 @@ export type { TraceItemOptions, TailTriggerResult } from './tail';
11
11
  /**
12
12
  * Unified Cloudflare test helpers.
13
13
  *
14
- * Provides a consistent API for triggering all Cloudflare Worker handler types:
15
- * - `cf.email` — Email handler testing
14
+ * Provides a consistent API for triggering the main Cloudflare Worker handler surfaces:
15
+ * - `cf.email` — Email helper surface with a direct-handler path and a best-effort local endpoint fallback
16
16
  * - `cf.queue` — Queue consumer testing
17
17
  * - `cf.scheduled` — Cron/scheduled handler testing
18
18
  * - `cf.worker` — Fetch handler testing
19
- * - `cf.tail` — Tail worker testing
19
+ * - `cf.tail` — Tail helper surface (uses `files.tail`, or auto-detects `src/tail.ts` when present)
20
20
  *
21
- * All handlers use **real Miniflare bindings** from `createTestContext()`.
22
- * No mocks your tests run against actual KV, D1, R2, DO, etc.
21
+ * The helpers use the real Miniflare-backed bindings created by `createTestContext()`,
22
+ * but several helper surfaces still synthesize event/controller objects around those
23
+ * bindings rather than replaying the full Cloudflare runtime dispatch path.
24
+ * They still install the active Devflare event into AsyncLocalStorage before
25
+ * invoking user code, so getters such as `getFetchEvent()` and `getQueueEvent()`
26
+ * work inside the triggered handler.
23
27
  *
24
28
  * @example
25
29
  * ```ts
@@ -60,12 +64,16 @@ export type { TraceItemOptions, TailTriggerResult } from './tail';
60
64
  */
61
65
  export declare const cf: {
62
66
  /**
63
- * Email handler testing.
67
+ * Email helper surface.
64
68
  *
65
- * - `cf.email.send(options)` — Send email to your handler
66
- * - `cf.email.onReceive(callback)` — Listen for outgoing emails
67
- * - `cf.email.getSentEmails()` — Get all sent emails
68
- * - `cf.email.clearSentEmails()` — Clear sent email history
69
+ * - `cf.email.send(options)` — Send a raw email through the helper
70
+ * - `cf.email.onReceive(callback)` — Observe outgoing emails when runtime wiring records them
71
+ * - `cf.email.getSentEmails()` — Read recorded outgoing emails
72
+ * - `cf.email.clearSentEmails()` — Clear recorded outgoing email history
73
+ *
74
+ * When `createTestContext()` has configured an email handler, this invokes it directly.
75
+ * Otherwise it attempts the local `/cdn-cgi/handler/email` endpoint when the
76
+ * runtime exposes it.
69
77
  */
70
78
  email: {
71
79
  send: (options: import("./email").EmailSendOptions) => Promise<Response>;
@@ -82,8 +90,8 @@ export declare const cf: {
82
90
  * Returns result with `acked`, `retried`, `failed` message IDs.
83
91
  */
84
92
  queue: {
85
- trigger: <T = unknown>(messages: (T | import("./queue").QueueMessageOptions<T>)[]) => Promise<import("./queue").QueueTriggerResult>;
86
- send: <T = unknown>(message: T | import("./queue").QueueMessageOptions<T>) => Promise<import("./queue").QueueTriggerResult>;
93
+ trigger: <T = unknown>(messages: Array<import("./queue").QueueMessageOptions<T> | T>) => Promise<import("./queue").QueueTriggerResult>;
94
+ send: <T = unknown>(message: import("./queue").QueueMessageOptions<T> | T) => Promise<import("./queue").QueueTriggerResult>;
87
95
  };
88
96
  /**
89
97
  * Scheduled (cron) handler testing.
@@ -96,7 +104,7 @@ export declare const cf: {
96
104
  * await cf.scheduled.trigger('0 0 * * 1') // Weekly Monday
97
105
  */
98
106
  scheduled: {
99
- trigger: (cronOrOptions?: string | import("./scheduled").ScheduledTriggerOptions | undefined) => Promise<import("./scheduled").ScheduledTriggerResult>;
107
+ trigger: (cronOrOptions?: string | import("./scheduled").ScheduledTriggerOptions) => Promise<import("./scheduled").ScheduledTriggerResult>;
100
108
  };
101
109
  /**
102
110
  * Fetch (HTTP) handler testing.
@@ -107,23 +115,29 @@ export declare const cf: {
107
115
  * - `cf.worker.put(path, body, headers)` — PUT shorthand
108
116
  * - `cf.worker.patch(path, body, headers)` — PATCH shorthand
109
117
  * - `cf.worker.delete(path, headers)` — DELETE shorthand
118
+ *
119
+ * `cf.worker` dispatches through both `src/fetch.ts` and built-in
120
+ * `src/routes/**` file routes when they are present.
110
121
  */
111
122
  worker: {
112
- fetch: (request: string | Request<unknown, CfProperties<unknown>>, options?: import("./worker").WorkerFetchOptions | undefined) => Promise<Response>;
113
- get: (path: string, headers?: Record<string, string> | undefined) => Promise<Response>;
114
- post: (path: string, body?: unknown, headers?: Record<string, string> | undefined) => Promise<Response>;
115
- put: (path: string, body?: unknown, headers?: Record<string, string> | undefined) => Promise<Response>;
116
- delete: (path: string, headers?: Record<string, string> | undefined) => Promise<Response>;
117
- patch: (path: string, body?: unknown, headers?: Record<string, string> | undefined) => Promise<Response>;
123
+ fetch: (request: Request | string, options?: import("./worker").WorkerFetchOptions) => Promise<Response>;
124
+ get: (path: string, headers?: Record<string, string>) => Promise<Response>;
125
+ post: (path: string, body?: unknown, headers?: Record<string, string>) => Promise<Response>;
126
+ put: (path: string, body?: unknown, headers?: Record<string, string>) => Promise<Response>;
127
+ delete: (path: string, headers?: Record<string, string>) => Promise<Response>;
128
+ patch: (path: string, body?: unknown, headers?: Record<string, string>) => Promise<Response>;
118
129
  };
119
130
  /**
120
- * Tail worker testing.
131
+ * Tail helper surface.
121
132
  *
122
133
  * - `cf.tail.trigger(events)` — Trigger tail handler with trace items
123
134
  * - `cf.tail.create(options)` — Create a TraceItem with defaults
135
+ *
136
+ * When `createTestContext()` finds `files.tail` or `src/tail.ts`,
137
+ * `cf.tail.trigger()` is wired automatically.
124
138
  */
125
139
  tail: {
126
- trigger: (items: (import("@cloudflare/workers-types").TraceItem | import("./tail").TraceItemOptions)[]) => Promise<import("./tail").TailTriggerResult>;
140
+ trigger: (items: Array<import("@cloudflare/workers-types").TraceItem | import("./tail").TraceItemOptions>) => Promise<import("./tail").TailTriggerResult>;
127
141
  create: (options?: import("./tail").TraceItemOptions) => import("@cloudflare/workers-types").TraceItem;
128
142
  };
129
143
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cf.d.ts","sourceRoot":"","sources":["../../src/test/cf.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACpF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAClF,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAClD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,eAAO,MAAM,EAAE;IACd;;;;;;;OAOG;;;;;;;IAGH;;;;;;;OAOG;;;;;IAGH;;;;;;;;;OASG;;;;IAGH;;;;;;;;;OASG;;;;;;;;;IAGH;;;;;OAKG;;;;;CAEH,CAAA"}
1
+ {"version":3,"file":"cf.d.ts","sourceRoot":"","sources":["../../src/test/cf.ts"],"names":[],"mappings":"AAiCA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAG7B,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AACpF,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AACtE,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAClF,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAClD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AACH,eAAO,MAAM,EAAE;IACd;;;;;;;;;;;OAWG;;;;;;;IAGH;;;;;;;OAOG;;;;;IAGH;;;;;;;;;OASG;;;;IAGH;;;;;;;;;;;;OAYG;;;;;;;;;IAGH;;;;;;;;OAQG;;;;;CAEH,CAAA"}
@@ -0,0 +1,87 @@
1
+ export type ContainerEngineName = 'docker' | 'podman';
2
+ export type ContainerEnginePreference = ContainerEngineName | 'auto';
3
+ export interface ContainerCommandResult {
4
+ exitCode: number;
5
+ stdout: string;
6
+ stderr: string;
7
+ }
8
+ export interface ContainerCommandRunner {
9
+ exec(command: string, args: string[], options?: {
10
+ cwd?: string;
11
+ env?: Record<string, string | undefined>;
12
+ timeoutMs?: number;
13
+ }): Promise<ContainerCommandResult>;
14
+ }
15
+ export interface ContainerEngineCheck {
16
+ engine: ContainerEngineName;
17
+ available: boolean;
18
+ reason?: string;
19
+ }
20
+ export type ContainerEngineStatus = {
21
+ available: true;
22
+ engine: ContainerEngineName;
23
+ checked: ContainerEngineCheck[];
24
+ } | {
25
+ available: false;
26
+ reason: string;
27
+ checked: ContainerEngineCheck[];
28
+ };
29
+ export interface DetectContainerEngineOptions {
30
+ engine?: ContainerEnginePreference;
31
+ runner?: ContainerCommandRunner;
32
+ }
33
+ export interface ContainerSkipReasonOptions extends DetectContainerEngineOptions {
34
+ env?: Record<string, string | undefined>;
35
+ }
36
+ export interface ContainerManagerOptions extends DetectContainerEngineOptions {
37
+ cwd?: string;
38
+ env?: Record<string, string | undefined>;
39
+ allocatePort?: () => Promise<number>;
40
+ waitForPort?: (host: string, port: number, timeoutMs: number) => Promise<void>;
41
+ fetch?: typeof fetch;
42
+ }
43
+ export interface StartContainerOptions {
44
+ image?: string;
45
+ configPath?: string;
46
+ port: number;
47
+ hostPort?: number;
48
+ host?: string;
49
+ instance?: string;
50
+ envVars?: Record<string, string>;
51
+ entrypoint?: string[];
52
+ command?: string[];
53
+ offline?: boolean;
54
+ waitForReady?: boolean;
55
+ readyTimeoutMs?: number;
56
+ }
57
+ export interface LocalContainerState {
58
+ status: string;
59
+ running: boolean;
60
+ exitCode?: number;
61
+ }
62
+ export interface DevflareContainerInstance {
63
+ readonly name: string;
64
+ readonly id: string;
65
+ readonly className: string;
66
+ readonly engine: ContainerEngineName;
67
+ readonly host: string;
68
+ readonly hostPort: number;
69
+ readonly port: number;
70
+ fetch(input: string | URL | Request, init?: RequestInit): Promise<Response>;
71
+ logs(): Promise<string>;
72
+ getState(): Promise<LocalContainerState>;
73
+ stop(): Promise<void>;
74
+ destroy(): Promise<void>;
75
+ }
76
+ export interface ContainerManager {
77
+ detectEngine(options?: DetectContainerEngineOptions): Promise<ContainerEngineStatus>;
78
+ start(className: string, options: StartContainerOptions): Promise<DevflareContainerInstance>;
79
+ stopAll(): Promise<void>;
80
+ }
81
+ export declare const realContainerCommandRunner: ContainerCommandRunner;
82
+ export declare function detectContainerEngine(options?: DetectContainerEngineOptions): Promise<ContainerEngineStatus>;
83
+ export declare function getContainerSkipReason(options?: ContainerSkipReasonOptions): Promise<string | null>;
84
+ export declare function createContainerManager(options?: ContainerManagerOptions): ContainerManager;
85
+ export declare const containers: ContainerManager;
86
+ export declare function stopActiveContainers(): Promise<void>;
87
+ //# sourceMappingURL=containers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"containers.d.ts","sourceRoot":"","sources":["../../src/test/containers.ts"],"names":[],"mappings":"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"}