veryfront 0.1.1047 → 0.1.1048

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 (442) hide show
  1. package/esm/cli/auth/login.d.ts +5 -5
  2. package/esm/cli/auth/login.d.ts.map +1 -1
  3. package/esm/cli/auth/login.js +28 -28
  4. package/esm/cli/auth/provider-store.d.ts +5 -4
  5. package/esm/cli/auth/provider-store.d.ts.map +1 -1
  6. package/esm/cli/auth/provider-store.js +17 -13
  7. package/esm/cli/commands/build/command.d.ts +2 -0
  8. package/esm/cli/commands/build/command.d.ts.map +1 -1
  9. package/esm/cli/commands/build/command.js +46 -20
  10. package/esm/cli/commands/build/handler.d.ts +6 -0
  11. package/esm/cli/commands/build/handler.d.ts.map +1 -1
  12. package/esm/cli/commands/build/handler.js +9 -5
  13. package/esm/cli/commands/deploy/command-help.d.ts.map +1 -1
  14. package/esm/cli/commands/deploy/command-help.js +2 -1
  15. package/esm/cli/commands/deploy/command.d.ts +83 -14
  16. package/esm/cli/commands/deploy/command.d.ts.map +1 -1
  17. package/esm/cli/commands/deploy/command.js +317 -23
  18. package/esm/cli/commands/deploy/index.d.ts +2 -2
  19. package/esm/cli/commands/deploy/index.d.ts.map +1 -1
  20. package/esm/cli/commands/deploy/index.js +1 -1
  21. package/esm/cli/commands/dev/command.d.ts +1 -0
  22. package/esm/cli/commands/dev/command.d.ts.map +1 -1
  23. package/esm/cli/commands/dev/command.js +10 -1
  24. package/esm/cli/commands/dev/handler.d.ts +2 -0
  25. package/esm/cli/commands/dev/handler.d.ts.map +1 -1
  26. package/esm/cli/commands/dev/handler.js +6 -1
  27. package/esm/cli/commands/doctor/command-help.d.ts.map +1 -1
  28. package/esm/cli/commands/doctor/command-help.js +5 -1
  29. package/esm/cli/commands/doctor/handler.d.ts +1 -0
  30. package/esm/cli/commands/doctor/handler.d.ts.map +1 -1
  31. package/esm/cli/commands/doctor/handler.js +2 -0
  32. package/esm/cli/commands/doctor/index.d.ts +7 -0
  33. package/esm/cli/commands/doctor/index.d.ts.map +1 -1
  34. package/esm/cli/commands/doctor/index.js +67 -15
  35. package/esm/cli/commands/doctor/server-checks.d.ts +2 -2
  36. package/esm/cli/commands/doctor/server-checks.d.ts.map +1 -1
  37. package/esm/cli/commands/doctor/server-checks.js +5 -4
  38. package/esm/cli/commands/init/init-command.js +4 -4
  39. package/esm/cli/commands/init/types.d.ts +2 -0
  40. package/esm/cli/commands/init/types.d.ts.map +1 -1
  41. package/esm/cli/commands/push/command.d.ts +10 -1
  42. package/esm/cli/commands/push/command.d.ts.map +1 -1
  43. package/esm/cli/commands/push/command.js +135 -14
  44. package/esm/cli/commands/skills/create.d.ts +1 -1
  45. package/esm/cli/commands/skills/create.d.ts.map +1 -1
  46. package/esm/cli/commands/skills/create.js +1 -2
  47. package/esm/cli/mcp/server.d.ts.map +1 -1
  48. package/esm/cli/mcp/server.js +33 -7
  49. package/esm/cli/mcp/tools/catalog-tools.d.ts +6 -1
  50. package/esm/cli/mcp/tools/catalog-tools.d.ts.map +1 -1
  51. package/esm/cli/mcp/tools/catalog-tools.js +9 -5
  52. package/esm/cli/mcp/tools/deploy-tool.d.ts +11 -1
  53. package/esm/cli/mcp/tools/deploy-tool.d.ts.map +1 -1
  54. package/esm/cli/mcp/tools/deploy-tool.js +55 -10
  55. package/esm/cli/shared/args.d.ts.map +1 -1
  56. package/esm/cli/shared/args.js +29 -2
  57. package/esm/cli/shared/config.d.ts +24 -0
  58. package/esm/cli/shared/config.d.ts.map +1 -1
  59. package/esm/cli/shared/config.js +62 -16
  60. package/esm/cli/shared/deployment-provenance.d.ts +47 -0
  61. package/esm/cli/shared/deployment-provenance.d.ts.map +1 -0
  62. package/esm/cli/shared/deployment-provenance.js +214 -0
  63. package/esm/cli/shared/json-output.d.ts.map +1 -1
  64. package/esm/cli/shared/json-output.js +16 -0
  65. package/esm/cli/shared/reserve-slug.d.ts +8 -1
  66. package/esm/cli/shared/reserve-slug.d.ts.map +1 -1
  67. package/esm/cli/shared/reserve-slug.js +15 -4
  68. package/esm/cli/skills/core-skills.d.ts.map +1 -1
  69. package/esm/cli/skills/core-skills.js +6 -3
  70. package/esm/cli/utils/index.d.ts.map +1 -1
  71. package/esm/cli/utils/index.js +3 -0
  72. package/esm/deno.js +5 -5
  73. package/esm/src/build/bundler/code-splitter/splitter.d.ts +3 -0
  74. package/esm/src/build/bundler/code-splitter/splitter.d.ts.map +1 -1
  75. package/esm/src/build/bundler/code-splitter/splitter.js +21 -2
  76. package/esm/src/build/embedded/preset.d.ts +3 -2
  77. package/esm/src/build/embedded/preset.d.ts.map +1 -1
  78. package/esm/src/build/embedded/preset.js +120 -97
  79. package/esm/src/build/production-build/build/build-cleanup.d.ts.map +1 -1
  80. package/esm/src/build/production-build/build/build-cleanup.js +6 -1
  81. package/esm/src/build/production-build/build/build-orchestrator.d.ts.map +1 -1
  82. package/esm/src/build/production-build/build/build-orchestrator.js +55 -49
  83. package/esm/src/build/production-build/build/output-generator.d.ts +2 -0
  84. package/esm/src/build/production-build/build/output-generator.d.ts.map +1 -1
  85. package/esm/src/build/production-build/build/output-generator.js +2 -1
  86. package/esm/src/build/production-build/build/route-collector.d.ts +2 -1
  87. package/esm/src/build/production-build/build/route-collector.d.ts.map +1 -1
  88. package/esm/src/build/production-build/build/route-collector.js +3 -3
  89. package/esm/src/build/production-build/client-runtime.d.ts +4 -0
  90. package/esm/src/build/production-build/client-runtime.d.ts.map +1 -1
  91. package/esm/src/build/production-build/client-runtime.js +5 -8
  92. package/esm/src/build/production-build/local-release-assets.d.ts +2 -0
  93. package/esm/src/build/production-build/local-release-assets.d.ts.map +1 -1
  94. package/esm/src/build/production-build/local-release-assets.js +4 -1
  95. package/esm/src/build/production-build/manifest.d.ts.map +1 -1
  96. package/esm/src/build/production-build/manifest.js +9 -2
  97. package/esm/src/build/production-build/static-generation.d.ts.map +1 -1
  98. package/esm/src/build/production-build/static-generation.js +15 -3
  99. package/esm/src/build/production-build/templates.d.ts.map +1 -1
  100. package/esm/src/build/production-build/templates.js +1 -1
  101. package/esm/src/config/config-files.d.ts +3 -0
  102. package/esm/src/config/config-files.d.ts.map +1 -0
  103. package/esm/src/config/config-files.js +6 -0
  104. package/esm/src/config/loader.d.ts.map +1 -1
  105. package/esm/src/config/loader.js +12 -9
  106. package/esm/src/extensions/parser/code-parser.d.ts +14 -0
  107. package/esm/src/extensions/parser/code-parser.d.ts.map +1 -1
  108. package/esm/src/extensions/parser/index.d.ts +1 -1
  109. package/esm/src/extensions/parser/index.d.ts.map +1 -1
  110. package/esm/src/html/html-injection.d.ts.map +1 -1
  111. package/esm/src/html/html-injection.js +2 -2
  112. package/esm/src/html/html-shell-generator.d.ts.map +1 -1
  113. package/esm/src/html/html-shell-generator.js +16 -9
  114. package/esm/src/html/hydration-script-builder/dev-component-manifest.d.ts.map +1 -1
  115. package/esm/src/html/hydration-script-builder/dev-component-manifest.js +2 -1
  116. package/esm/src/html/hydration-script-builder/hydration-data-generator.d.ts.map +1 -1
  117. package/esm/src/html/hydration-script-builder/hydration-data-generator.js +15 -4
  118. package/esm/src/html/hydration-script-builder/prod-hydration.d.ts.map +1 -1
  119. package/esm/src/html/hydration-script-builder/prod-hydration.js +4 -2
  120. package/esm/src/html/hydration-script-builder/templates/renderer.d.ts.map +1 -1
  121. package/esm/src/html/hydration-script-builder/templates/renderer.js +37 -7
  122. package/esm/src/html/hydration-script-builder/templates/router.d.ts.map +1 -1
  123. package/esm/src/html/hydration-script-builder/templates/router.js +22 -4
  124. package/esm/src/html/hydration-script-builder/types.d.ts +4 -0
  125. package/esm/src/html/hydration-script-builder/types.d.ts.map +1 -1
  126. package/esm/src/html/schemas/html.schema.d.ts +10 -0
  127. package/esm/src/html/schemas/html.schema.d.ts.map +1 -1
  128. package/esm/src/html/schemas/html.schema.js +5 -0
  129. package/esm/src/html/utils.d.ts.map +1 -1
  130. package/esm/src/html/utils.js +10 -10
  131. package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.d.ts.map +1 -1
  132. package/esm/src/modules/react-loader/ssr-module-loader/http-bundle-helpers.js +2 -3
  133. package/esm/src/modules/server/module-batch-handler.d.ts.map +1 -1
  134. package/esm/src/modules/server/module-batch-handler.js +3 -10
  135. package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts +1 -0
  136. package/esm/src/platform/adapters/fs/veryfront/adapter.d.ts.map +1 -1
  137. package/esm/src/platform/adapters/fs/veryfront/adapter.js +4 -0
  138. package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.d.ts +1 -0
  139. package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.d.ts.map +1 -1
  140. package/esm/src/platform/adapters/fs/veryfront/multi-project-adapter.js +4 -0
  141. package/esm/src/platform/adapters/fs/veryfront/read-operations.d.ts +1 -0
  142. package/esm/src/platform/adapters/fs/veryfront/read-operations.d.ts.map +1 -1
  143. package/esm/src/platform/adapters/fs/veryfront/read-operations.js +8 -0
  144. package/esm/src/platform/adapters/mock.d.ts.map +1 -1
  145. package/esm/src/platform/adapters/mock.js +3 -2
  146. package/esm/src/platform/adapters/veryfront-api-client/client.d.ts +4 -1
  147. package/esm/src/platform/adapters/veryfront-api-client/client.d.ts.map +1 -1
  148. package/esm/src/platform/adapters/veryfront-api-client/client.js +8 -4
  149. package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts +7 -3
  150. package/esm/src/platform/adapters/veryfront-api-client/operations.d.ts.map +1 -1
  151. package/esm/src/platform/adapters/veryfront-api-client/operations.js +6 -6
  152. package/esm/src/platform/adapters/veryfront-api-client/retry-handler.d.ts +2 -0
  153. package/esm/src/platform/adapters/veryfront-api-client/retry-handler.d.ts.map +1 -1
  154. package/esm/src/platform/adapters/veryfront-api-client/retry-handler.js +4 -1
  155. package/esm/src/platform/compat/framework-source-resolver.d.ts +7 -1
  156. package/esm/src/platform/compat/framework-source-resolver.d.ts.map +1 -1
  157. package/esm/src/platform/compat/framework-source-resolver.js +32 -13
  158. package/esm/src/platform/compat/fs.d.ts +4 -0
  159. package/esm/src/platform/compat/fs.d.ts.map +1 -1
  160. package/esm/src/platform/compat/fs.js +34 -2
  161. package/esm/src/platform/compat/http/request-adapter.js +18 -1
  162. package/esm/src/platform/compat/path/runtime.d.ts.map +1 -1
  163. package/esm/src/platform/compat/path/runtime.js +1 -1
  164. package/esm/src/platform/compat/process/command.d.ts +2 -0
  165. package/esm/src/platform/compat/process/command.d.ts.map +1 -1
  166. package/esm/src/platform/compat/process/command.js +4 -3
  167. package/esm/src/platform/compat/runtime.d.ts +1 -1
  168. package/esm/src/platform/compat/runtime.d.ts.map +1 -1
  169. package/esm/src/platform/compat/runtime.js +5 -2
  170. package/esm/src/platform/index.d.ts +1 -1
  171. package/esm/src/platform/index.d.ts.map +1 -1
  172. package/esm/src/platform/index.js +1 -1
  173. package/esm/src/proxy/local-project-resolver.d.ts.map +1 -1
  174. package/esm/src/proxy/local-project-resolver.js +4 -2
  175. package/esm/src/proxy/main.js +15 -14
  176. package/esm/src/proxy/retry.d.ts +10 -0
  177. package/esm/src/proxy/retry.d.ts.map +1 -1
  178. package/esm/src/proxy/retry.js +27 -0
  179. package/esm/src/proxy/websocket-bridge.d.ts +10 -0
  180. package/esm/src/proxy/websocket-bridge.d.ts.map +1 -1
  181. package/esm/src/proxy/websocket-bridge.js +4 -0
  182. package/esm/src/react/compat/ssr-adapter/response-builder.js +1 -1
  183. package/esm/src/react/compat/ssr-adapter/server-loader.d.ts +6 -3
  184. package/esm/src/react/compat/ssr-adapter/server-loader.d.ts.map +1 -1
  185. package/esm/src/react/compat/ssr-adapter/server-loader.js +49 -32
  186. package/esm/src/react/compat/ssr-adapter/stream-renderer.js +5 -5
  187. package/esm/src/react/compat/ssr-adapter/string-renderer.js +2 -2
  188. package/esm/src/react/compat/ssr-adapter/types.d.ts +2 -0
  189. package/esm/src/react/compat/ssr-adapter/types.d.ts.map +1 -1
  190. package/esm/src/react/components/chat/markdown.d.ts +1 -0
  191. package/esm/src/react/components/chat/markdown.d.ts.map +1 -1
  192. package/esm/src/react/components/chat/markdown.js +4 -2
  193. package/esm/src/rendering/app-reserved.d.ts +1 -1
  194. package/esm/src/rendering/app-reserved.d.ts.map +1 -1
  195. package/esm/src/rendering/app-reserved.js +2 -1
  196. package/esm/src/rendering/component-handling.js +1 -1
  197. package/esm/src/rendering/context/render-context.d.ts +2 -0
  198. package/esm/src/rendering/context/render-context.d.ts.map +1 -1
  199. package/esm/src/rendering/context/render-context.js +2 -0
  200. package/esm/src/rendering/factories/service-factories.js +1 -1
  201. package/esm/src/rendering/layouts/layout-applicator.d.ts +7 -1
  202. package/esm/src/rendering/layouts/layout-applicator.d.ts.map +1 -1
  203. package/esm/src/rendering/layouts/layout-applicator.js +39 -11
  204. package/esm/src/rendering/layouts/layout-collector.d.ts +1 -0
  205. package/esm/src/rendering/layouts/layout-collector.d.ts.map +1 -1
  206. package/esm/src/rendering/layouts/layout-collector.js +7 -1
  207. package/esm/src/rendering/layouts/utils/applicator.d.ts +2 -2
  208. package/esm/src/rendering/layouts/utils/applicator.d.ts.map +1 -1
  209. package/esm/src/rendering/layouts/utils/applicator.js +7 -7
  210. package/esm/src/rendering/layouts/utils/component-loader.d.ts +6 -6
  211. package/esm/src/rendering/layouts/utils/component-loader.d.ts.map +1 -1
  212. package/esm/src/rendering/layouts/utils/component-loader.js +21 -14
  213. package/esm/src/rendering/orchestrator/html-types.d.ts +2 -0
  214. package/esm/src/rendering/orchestrator/html-types.d.ts.map +1 -1
  215. package/esm/src/rendering/orchestrator/html.d.ts.map +1 -1
  216. package/esm/src/rendering/orchestrator/html.js +16 -5
  217. package/esm/src/rendering/orchestrator/layout.d.ts +5 -1
  218. package/esm/src/rendering/orchestrator/layout.d.ts.map +1 -1
  219. package/esm/src/rendering/orchestrator/layout.js +16 -4
  220. package/esm/src/rendering/orchestrator/lifecycle.js +1 -1
  221. package/esm/src/rendering/orchestrator/module-loader/index.d.ts.map +1 -1
  222. package/esm/src/rendering/orchestrator/module-loader/index.js +2 -2
  223. package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.d.ts +1 -1
  224. package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.d.ts.map +1 -1
  225. package/esm/src/rendering/orchestrator/module-loader/module-cache-lookup.js +9 -2
  226. package/esm/src/rendering/orchestrator/module-loader/module-transform-cache.d.ts.map +1 -1
  227. package/esm/src/rendering/orchestrator/module-loader/module-transform-cache.js +9 -2
  228. package/esm/src/rendering/orchestrator/pipeline-helpers.d.ts +1 -1
  229. package/esm/src/rendering/orchestrator/pipeline-helpers.d.ts.map +1 -1
  230. package/esm/src/rendering/orchestrator/pipeline-helpers.js +3 -2
  231. package/esm/src/rendering/orchestrator/pipeline.d.ts +21 -0
  232. package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
  233. package/esm/src/rendering/orchestrator/pipeline.js +88 -22
  234. package/esm/src/rendering/orchestrator/ssr.d.ts +1 -0
  235. package/esm/src/rendering/orchestrator/ssr.d.ts.map +1 -1
  236. package/esm/src/rendering/orchestrator/ssr.js +8 -0
  237. package/esm/src/rendering/orchestrator/types.d.ts +13 -0
  238. package/esm/src/rendering/orchestrator/types.d.ts.map +1 -1
  239. package/esm/src/rendering/page-renderer.d.ts +2 -0
  240. package/esm/src/rendering/page-renderer.d.ts.map +1 -1
  241. package/esm/src/rendering/page-renderer.js +13 -1
  242. package/esm/src/rendering/page-rendering.d.ts +2 -0
  243. package/esm/src/rendering/page-rendering.d.ts.map +1 -1
  244. package/esm/src/rendering/page-rendering.js +2 -2
  245. package/esm/src/rendering/page-resolution/page-resolver.d.ts.map +1 -1
  246. package/esm/src/rendering/page-resolution/page-resolver.js +4 -3
  247. package/esm/src/rendering/renderer.d.ts.map +1 -1
  248. package/esm/src/rendering/renderer.js +6 -0
  249. package/esm/src/rendering/rsc/client-boot.ts +5 -1
  250. package/esm/src/rendering/rsc/client-boundary-payload.d.ts +10 -0
  251. package/esm/src/rendering/rsc/client-boundary-payload.d.ts.map +1 -0
  252. package/esm/src/rendering/rsc/client-boundary-payload.js +71 -0
  253. package/esm/src/rendering/rsc/client-module-strategy.d.ts +5 -1
  254. package/esm/src/rendering/rsc/client-module-strategy.d.ts.map +1 -1
  255. package/esm/src/rendering/rsc/client-module-strategy.js +9 -3
  256. package/esm/src/rendering/rsc/component-analyzer.d.ts.map +1 -1
  257. package/esm/src/rendering/rsc/component-analyzer.js +18 -7
  258. package/esm/src/rendering/rsc/hydrate-client.ts +133 -26
  259. package/esm/src/rendering/rsc/page-island.d.ts +32 -0
  260. package/esm/src/rendering/rsc/page-island.d.ts.map +1 -0
  261. package/esm/src/rendering/rsc/page-island.js +191 -0
  262. package/esm/src/rendering/rsc/server-renderer/html-generator.d.ts +2 -2
  263. package/esm/src/rendering/rsc/server-renderer/html-generator.d.ts.map +1 -1
  264. package/esm/src/rendering/rsc/server-renderer/html-generator.js +34 -6
  265. package/esm/src/rendering/rsc/server-renderer/prop-serializer.d.ts +1 -0
  266. package/esm/src/rendering/rsc/server-renderer/prop-serializer.d.ts.map +1 -1
  267. package/esm/src/rendering/rsc/server-renderer/prop-serializer.js +17 -0
  268. package/esm/src/rendering/rsc/server-renderer/rsc-renderer.d.ts +3 -1
  269. package/esm/src/rendering/rsc/server-renderer/rsc-renderer.d.ts.map +1 -1
  270. package/esm/src/rendering/rsc/server-renderer/rsc-renderer.js +41 -6
  271. package/esm/src/rendering/rsc/server-renderer/tree-processor.d.ts +3 -3
  272. package/esm/src/rendering/rsc/server-renderer/tree-processor.d.ts.map +1 -1
  273. package/esm/src/rendering/rsc/server-renderer/tree-processor.js +64 -13
  274. package/esm/src/rendering/rsc/types.d.ts +1 -1
  275. package/esm/src/rendering/rsc/types.d.ts.map +1 -1
  276. package/esm/src/rendering/ssr-renderer.d.ts +6 -5
  277. package/esm/src/rendering/ssr-renderer.d.ts.map +1 -1
  278. package/esm/src/rendering/ssr-renderer.js +37 -30
  279. package/esm/src/routing/api/api-route-matcher.d.ts.map +1 -1
  280. package/esm/src/routing/api/api-route-matcher.js +6 -33
  281. package/esm/src/routing/api/module-loader/esbuild-plugin.d.ts.map +1 -1
  282. package/esm/src/routing/api/module-loader/esbuild-plugin.js +5 -1
  283. package/esm/src/routing/client/navigation-handlers.d.ts.map +1 -1
  284. package/esm/src/routing/client/navigation-handlers.js +2 -1
  285. package/esm/src/routing/client/page-loader.d.ts.map +1 -1
  286. package/esm/src/routing/client/page-loader.js +8 -3
  287. package/esm/src/routing/matchers/route-parser.d.ts.map +1 -1
  288. package/esm/src/routing/matchers/route-parser.js +27 -13
  289. package/esm/src/security/client/html-sanitizer.d.ts +1 -0
  290. package/esm/src/security/client/html-sanitizer.d.ts.map +1 -1
  291. package/esm/src/security/client/html-sanitizer.js +5 -2
  292. package/esm/src/security/http/config.d.ts.map +1 -1
  293. package/esm/src/security/http/config.js +12 -13
  294. package/esm/src/server/build-app-route-renderer.d.ts +2 -0
  295. package/esm/src/server/build-app-route-renderer.d.ts.map +1 -1
  296. package/esm/src/server/build-app-route-renderer.js +99 -39
  297. package/esm/src/server/build-routes.d.ts +2 -2
  298. package/esm/src/server/build-routes.d.ts.map +1 -1
  299. package/esm/src/server/build-routes.js +45 -54
  300. package/esm/src/server/dev-server/request-handler.d.ts.map +1 -1
  301. package/esm/src/server/dev-server/request-handler.js +2 -0
  302. package/esm/src/server/dev-server/route-discovery.d.ts.map +1 -1
  303. package/esm/src/server/dev-server/route-discovery.js +16 -11
  304. package/esm/src/server/handlers/dev/files/esbuild-plugins.d.ts +6 -1
  305. package/esm/src/server/handlers/dev/files/esbuild-plugins.d.ts.map +1 -1
  306. package/esm/src/server/handlers/dev/files/esbuild-plugins.js +138 -16
  307. package/esm/src/server/handlers/dev/framework-candidates.generated.d.ts.map +1 -1
  308. package/esm/src/server/handlers/dev/framework-candidates.generated.js +4 -3
  309. package/esm/src/server/handlers/request/api/app-router-resolver.js +1 -1
  310. package/esm/src/server/handlers/request/project-run-execute.handler.d.ts.map +1 -1
  311. package/esm/src/server/handlers/request/project-run-execute.handler.js +17 -2
  312. package/esm/src/server/handlers/request/rsc/index.d.ts.map +1 -1
  313. package/esm/src/server/handlers/request/rsc/index.js +9 -0
  314. package/esm/src/server/handlers/request/ssr/error-page-fallback.d.ts.map +1 -1
  315. package/esm/src/server/handlers/request/ssr/error-page-fallback.js +23 -15
  316. package/esm/src/server/handlers/request/ssr/not-found-fallback.d.ts.map +1 -1
  317. package/esm/src/server/handlers/request/ssr/not-found-fallback.js +10 -5
  318. package/esm/src/server/runtime-handler/local-project-discovery.d.ts.map +1 -1
  319. package/esm/src/server/runtime-handler/local-project-discovery.js +13 -2
  320. package/esm/src/server/services/rsc/endpoints/action-handler.d.ts +11 -1
  321. package/esm/src/server/services/rsc/endpoints/action-handler.d.ts.map +1 -1
  322. package/esm/src/server/services/rsc/endpoints/action-handler.js +83 -16
  323. package/esm/src/server/services/rsc/endpoints/endpoint-router.d.ts +9 -1
  324. package/esm/src/server/services/rsc/endpoints/endpoint-router.d.ts.map +1 -1
  325. package/esm/src/server/services/rsc/endpoints/endpoint-router.js +244 -73
  326. package/esm/src/server/services/rsc/endpoints/handler-registry.d.ts +4 -1
  327. package/esm/src/server/services/rsc/endpoints/handler-registry.d.ts.map +1 -1
  328. package/esm/src/server/services/rsc/endpoints/handler-registry.js +33 -3
  329. package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.d.ts.map +1 -1
  330. package/esm/src/server/services/rsc/endpoints/rsc-bundles.generated.js +1 -1
  331. package/esm/src/server/services/rsc/endpoints/script-handlers.d.ts.map +1 -1
  332. package/esm/src/server/services/rsc/endpoints/script-handlers.js +5 -11
  333. package/esm/src/server/services/rsc/endpoints/types.d.ts +9 -0
  334. package/esm/src/server/services/rsc/endpoints/types.d.ts.map +1 -1
  335. package/esm/src/server/services/rsc/orchestrators/component-resolver.d.ts +1 -1
  336. package/esm/src/server/services/rsc/orchestrators/component-resolver.d.ts.map +1 -1
  337. package/esm/src/server/services/rsc/orchestrators/component-resolver.js +9 -25
  338. package/esm/src/server/services/rsc/orchestrators/handler.d.ts +25 -3
  339. package/esm/src/server/services/rsc/orchestrators/handler.d.ts.map +1 -1
  340. package/esm/src/server/services/rsc/orchestrators/handler.js +74 -9
  341. package/esm/src/server/services/rsc/orchestrators/manifest-handler.d.ts +16 -0
  342. package/esm/src/server/services/rsc/orchestrators/manifest-handler.d.ts.map +1 -1
  343. package/esm/src/server/services/rsc/orchestrators/manifest-handler.js +124 -14
  344. package/esm/src/server/services/rsc/orchestrators/page-handler.d.ts +5 -0
  345. package/esm/src/server/services/rsc/orchestrators/page-handler.d.ts.map +1 -1
  346. package/esm/src/server/services/rsc/orchestrators/page-handler.js +16 -2
  347. package/esm/src/server/services/rsc/orchestrators/render-handler.d.ts +14 -2
  348. package/esm/src/server/services/rsc/orchestrators/render-handler.d.ts.map +1 -1
  349. package/esm/src/server/services/rsc/orchestrators/render-handler.js +42 -7
  350. package/esm/src/server/services/rsc/orchestrators/types.d.ts +19 -0
  351. package/esm/src/server/services/rsc/orchestrators/types.d.ts.map +1 -1
  352. package/esm/src/server/shared/browser-module-availability.d.ts +38 -0
  353. package/esm/src/server/shared/browser-module-availability.d.ts.map +1 -0
  354. package/esm/src/server/shared/browser-module-availability.js +140 -0
  355. package/esm/src/server/shared/browser-module-boundary.d.ts +18 -0
  356. package/esm/src/server/shared/browser-module-boundary.d.ts.map +1 -0
  357. package/esm/src/server/shared/browser-module-boundary.js +43 -0
  358. package/esm/src/server/shared/browser-module-bundler.d.ts +19 -0
  359. package/esm/src/server/shared/browser-module-bundler.d.ts.map +1 -1
  360. package/esm/src/server/shared/browser-module-bundler.js +123 -8
  361. package/esm/src/server/utils/domain-lookup.d.ts.map +1 -1
  362. package/esm/src/testing/bdd.d.ts.map +1 -1
  363. package/esm/src/testing/bdd.js +43 -10
  364. package/esm/src/transforms/esm/bundle-deps-validator.js +3 -3
  365. package/esm/src/transforms/esm/bundle-recovery.d.ts +3 -3
  366. package/esm/src/transforms/esm/bundle-recovery.d.ts.map +1 -1
  367. package/esm/src/transforms/esm/bundle-recovery.js +68 -29
  368. package/esm/src/transforms/esm/http-cache-helpers.d.ts +40 -0
  369. package/esm/src/transforms/esm/http-cache-helpers.d.ts.map +1 -1
  370. package/esm/src/transforms/esm/http-cache-helpers.js +143 -0
  371. package/esm/src/transforms/esm/http-cache-invariants.d.ts.map +1 -1
  372. package/esm/src/transforms/esm/http-cache-invariants.js +4 -3
  373. package/esm/src/transforms/esm/http-cache-wrapper.d.ts +4 -1
  374. package/esm/src/transforms/esm/http-cache-wrapper.d.ts.map +1 -1
  375. package/esm/src/transforms/esm/http-cache-wrapper.js +111 -3
  376. package/esm/src/transforms/esm/http-cache.d.ts +4 -4
  377. package/esm/src/transforms/esm/http-cache.d.ts.map +1 -1
  378. package/esm/src/transforms/esm/http-cache.js +24 -19
  379. package/esm/src/transforms/esm/in-flight-manager.d.ts +3 -3
  380. package/esm/src/transforms/esm/in-flight-manager.d.ts.map +1 -1
  381. package/esm/src/transforms/esm/in-flight-manager.js +2 -2
  382. package/esm/src/transforms/esm/package-registry.d.ts +4 -3
  383. package/esm/src/transforms/esm/package-registry.d.ts.map +1 -1
  384. package/esm/src/transforms/esm/package-registry.js +12 -6
  385. package/esm/src/transforms/esm/specifier-resolver.d.ts.map +1 -1
  386. package/esm/src/transforms/esm/specifier-resolver.js +7 -2
  387. package/esm/src/transforms/mdx/esm-module-loader/module-writer.d.ts.map +1 -1
  388. package/esm/src/transforms/mdx/esm-module-loader/module-writer.js +9 -5
  389. package/esm/src/transforms/mdx/index.d.ts +1 -1
  390. package/esm/src/transforms/mdx/index.d.ts.map +1 -1
  391. package/esm/src/transforms/mdx/index.js +2 -1
  392. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/constants.d.ts +22 -1
  393. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/constants.d.ts.map +1 -1
  394. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/constants.js +36 -13
  395. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/index.d.ts +1 -1
  396. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/index.d.ts.map +1 -1
  397. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/index.js +6 -4
  398. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.d.ts +2 -3
  399. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.d.ts.map +1 -1
  400. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/path-resolver.js +14 -12
  401. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/transform.d.ts.map +1 -1
  402. package/esm/src/transforms/pipeline/stages/ssr-vf-modules/transform.js +73 -63
  403. package/esm/src/types/entities/getEntityInfo.d.ts +1 -1
  404. package/esm/src/types/entities/getEntityInfo.d.ts.map +1 -1
  405. package/esm/src/types/entities/getEntityInfo.js +25 -16
  406. package/esm/src/types/entities.js +1 -1
  407. package/esm/src/types/index.d.ts +1 -1
  408. package/esm/src/types/index.d.ts.map +1 -1
  409. package/esm/src/types/rsc.d.ts +16 -0
  410. package/esm/src/types/rsc.d.ts.map +1 -1
  411. package/esm/src/utils/platform.d.ts.map +1 -1
  412. package/esm/src/utils/platform.js +2 -11
  413. package/esm/src/utils/route-path-utils.d.ts +6 -2
  414. package/esm/src/utils/route-path-utils.d.ts.map +1 -1
  415. package/esm/src/utils/route-path-utils.js +18 -9
  416. package/esm/src/utils/version-constant.d.ts +1 -1
  417. package/esm/src/utils/version-constant.js +1 -1
  418. package/esm/src/workflow/executor/dag/composite-node-execution.d.ts +11 -0
  419. package/esm/src/workflow/executor/dag/composite-node-execution.d.ts.map +1 -0
  420. package/esm/src/workflow/executor/dag/composite-node-execution.js +147 -0
  421. package/esm/src/workflow/executor/dag/graph.js +1 -1
  422. package/esm/src/workflow/executor/dag/index.d.ts +1 -1
  423. package/esm/src/workflow/executor/dag/index.d.ts.map +1 -1
  424. package/esm/src/workflow/executor/dag/index.js +78 -34
  425. package/esm/src/workflow/executor/dag/loop-node-strategy.d.ts.map +1 -1
  426. package/esm/src/workflow/executor/dag/loop-node-strategy.js +10 -2
  427. package/esm/src/workflow/executor/dag/map-node-strategy.d.ts.map +1 -1
  428. package/esm/src/workflow/executor/dag/map-node-strategy.js +3 -0
  429. package/esm/src/workflow/executor/dag/node-strategy-types.d.ts +1 -0
  430. package/esm/src/workflow/executor/dag/node-strategy-types.d.ts.map +1 -1
  431. package/esm/src/workflow/executor/dag/types.d.ts +2 -0
  432. package/esm/src/workflow/executor/dag/types.d.ts.map +1 -1
  433. package/esm/src/workflow/executor/dag/utils.d.ts +1 -1
  434. package/esm/src/workflow/executor/dag/utils.d.ts.map +1 -1
  435. package/esm/src/workflow/executor/dag/utils.js +13 -3
  436. package/esm/src/workflow/executor/step-executor.d.ts +5 -1
  437. package/esm/src/workflow/executor/step-executor.d.ts.map +1 -1
  438. package/esm/src/workflow/executor/step-executor.js +71 -16
  439. package/esm/src/workflow/executor/workflow-executor.d.ts +7 -4
  440. package/esm/src/workflow/executor/workflow-executor.d.ts.map +1 -1
  441. package/esm/src/workflow/executor/workflow-executor.js +181 -100
  442. package/package.json +4 -4
@@ -12,14 +12,14 @@ export interface ApiKeyIdentity {
12
12
  }
13
13
  export type AuthIdentity = UserInfo | ApiKeyIdentity;
14
14
  export declare function createOAuthState(): string;
15
- export declare function createOAuthAuthorizationUrl(provider: "google" | "github" | "microsoft", callbackUrl: string, state: string): string;
16
- export declare function validateToken(token: string): Promise<UserInfo | null>;
15
+ export declare function createOAuthAuthorizationUrl(provider: "google" | "github" | "microsoft", callbackUrl: string, state: string, env?: EnvironmentConfig): string;
16
+ export declare function validateToken(token: string, env?: EnvironmentConfig): Promise<UserInfo | null>;
17
17
  export declare function isApiKeyToken(token: string): boolean;
18
18
  export declare function isApiKeyIdentity(identity: AuthIdentity): identity is ApiKeyIdentity;
19
- export declare function validateCredential(token: string): Promise<AuthIdentity | null>;
20
- export declare function login(method?: AuthMethod): Promise<AuthIdentity | null>;
19
+ export declare function validateCredential(token: string, env?: EnvironmentConfig): Promise<AuthIdentity | null>;
20
+ export declare function login(method?: AuthMethod, env?: EnvironmentConfig): Promise<AuthIdentity | null>;
21
21
  export declare function ensureAuthenticated(env?: EnvironmentConfig): Promise<AuthIdentity | null>;
22
- export declare function logout(): Promise<void>;
22
+ export declare function logout(env?: EnvironmentConfig): Promise<void>;
23
23
  export declare function whoami(env?: EnvironmentConfig): Promise<AuthIdentity | null>;
24
24
  export { deleteToken, hasToken, readToken, saveToken };
25
25
  //# sourceMappingURL=login.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/login.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,WAAW,EAAoB,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQjG,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,IAAI,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,cAAc,CAAC;AASrD,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,EAC3C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,MAAM,CAQR;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAgB3E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,IAAI,cAAc,CAEnF;AAkBD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAQpF;AA6ID,wBAAsB,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAkC7E;AAED,wBAAsB,mBAAmB,CACvC,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAqB9B;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAI5C;AAwCD,wBAAsB,MAAM,CAC1B,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiC9B;AAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/login.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,WAAW,EAAoB,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQjG,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AAErE,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,IAAI,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,cAAc,CAAC;AASrD,wBAAgB,gBAAgB,IAAI,MAAM,CAIzC;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,EAC3C,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,iBAA0C,GAC9C,MAAM,CAQR;AAED,wBAAsB,aAAa,CACjC,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAgB1B;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,QAAQ,IAAI,cAAc,CAEnF;AAqBD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EACb,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAQ9B;AAgJD,wBAAsB,KAAK,CACzB,MAAM,CAAC,EAAE,UAAU,EACnB,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAkC9B;AAED,wBAAsB,mBAAmB,CACvC,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAqB9B;AAED,wBAAsB,MAAM,CAAC,GAAG,GAAE,iBAA0C,GAAG,OAAO,CAAC,IAAI,CAAC,CAI3F;AAyCD,wBAAsB,MAAM,CAC1B,GAAG,GAAE,iBAA0C,GAC9C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAiC9B;AAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC"}
@@ -20,17 +20,17 @@ export function createOAuthState() {
20
20
  dntShim.crypto.getRandomValues(bytes);
21
21
  return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join("");
22
22
  }
23
- export function createOAuthAuthorizationUrl(provider, callbackUrl, state) {
23
+ export function createOAuthAuthorizationUrl(provider, callbackUrl, state, env = getEnvironmentConfig()) {
24
24
  const stateBoundCallbackUrl = new URL(callbackUrl);
25
25
  stateBoundCallbackUrl.searchParams.set("state", state);
26
- const authUrl = new URL(`${getApiUrl().replace(/\/$/, "")}/auth/${provider}`);
26
+ const authUrl = new URL(`${getApiUrl(env).replace(/\/$/, "")}/auth/${provider}`);
27
27
  authUrl.searchParams.set("redirect_uri", stateBoundCallbackUrl.toString());
28
28
  authUrl.searchParams.set("state", state);
29
29
  return authUrl.toString();
30
30
  }
31
- export async function validateToken(token) {
31
+ export async function validateToken(token, env = getEnvironmentConfig()) {
32
32
  try {
33
- const response = await fetch(`${getApiUrl()}/me`, {
33
+ const response = await fetch(`${getApiUrl(env).replace(/\/$/, "")}/me`, {
34
34
  headers: { Authorization: `Bearer ${token}`, Accept: "application/json" },
35
35
  });
36
36
  if (!response.ok) {
@@ -50,11 +50,11 @@ export function isApiKeyToken(token) {
50
50
  export function isApiKeyIdentity(identity) {
51
51
  return "type" in identity && identity.type === "apiKey";
52
52
  }
53
- async function validateApiKey(token) {
53
+ async function validateApiKey(token, env = getEnvironmentConfig()) {
54
54
  if (!isApiKeyToken(token))
55
55
  return false;
56
56
  try {
57
- const url = new URL(`${getApiUrl()}/projects`);
57
+ const url = new URL(`${getApiUrl(env).replace(/\/$/, "")}/projects`);
58
58
  url.searchParams.set("limit", "1");
59
59
  const response = await fetch(url, {
60
60
  headers: { Authorization: `Bearer ${token}`, Accept: "application/json" },
@@ -66,13 +66,13 @@ async function validateApiKey(token) {
66
66
  return false;
67
67
  }
68
68
  }
69
- export async function validateCredential(token) {
69
+ export async function validateCredential(token, env = getEnvironmentConfig()) {
70
70
  if (!token)
71
71
  return null;
72
72
  if (isApiKeyToken(token)) {
73
- return (await validateApiKey(token)) ? { authenticated: true, type: "apiKey" } : null;
73
+ return (await validateApiKey(token, env)) ? { authenticated: true, type: "apiKey" } : null;
74
74
  }
75
- return validateToken(token);
75
+ return validateToken(token, env);
76
76
  }
77
77
  async function promptAuthMethod() {
78
78
  console.log();
@@ -127,9 +127,9 @@ async function promptAuthMethod() {
127
127
  setRawMode(false);
128
128
  }
129
129
  }
130
- async function loginWithOAuth(provider) {
130
+ async function loginWithOAuth(provider, env) {
131
131
  console.log();
132
- if (!canOpenBrowser()) {
132
+ if (!canOpenBrowser(env)) {
133
133
  console.log(" " + warning("Browser login not available in this environment."));
134
134
  console.log(" " + dim("Please use the API token option instead."));
135
135
  return null;
@@ -145,7 +145,7 @@ async function loginWithOAuth(provider) {
145
145
  return null;
146
146
  }
147
147
  const callbackUrl = getCallbackUrl(server.port);
148
- const authUrl = createOAuthAuthorizationUrl(provider, callbackUrl, state);
148
+ const authUrl = createOAuthAuthorizationUrl(provider, callbackUrl, state, env);
149
149
  console.log(" " + brand("Opening browser to log in..."));
150
150
  console.log();
151
151
  try {
@@ -192,14 +192,14 @@ async function loginWithToken() {
192
192
  }
193
193
  return token;
194
194
  }
195
- export async function login(method) {
195
+ export async function login(method, env = getEnvironmentConfig()) {
196
196
  const authMethod = method ?? (isTTY() ? await promptAuthMethod() : "token");
197
197
  let token = null;
198
198
  switch (authMethod) {
199
199
  case "google":
200
200
  case "github":
201
201
  case "microsoft":
202
- token = await loginWithOAuth(authMethod);
202
+ token = await loginWithOAuth(authMethod, env);
203
203
  break;
204
204
  case "token":
205
205
  token = await loginWithToken();
@@ -208,13 +208,13 @@ export async function login(method) {
208
208
  if (!token)
209
209
  return null;
210
210
  console.log(" " + dim("Validating token..."));
211
- const identity = await validateCredential(token);
211
+ const identity = await validateCredential(token, env);
212
212
  if (!identity) {
213
213
  console.log();
214
214
  console.log(" " + error("✗") + " Invalid token");
215
215
  return null;
216
216
  }
217
- await saveToken(token);
217
+ await saveToken(token, env);
218
218
  console.log();
219
219
  console.log(isApiKeyIdentity(identity)
220
220
  ? " " + success("✓") + " Authenticated with an API key"
@@ -223,14 +223,14 @@ export async function login(method) {
223
223
  }
224
224
  export async function ensureAuthenticated(env = getEnvironmentConfig()) {
225
225
  if (env.apiToken) {
226
- const credential = await validateCredential(env.apiToken);
226
+ const credential = await validateCredential(env.apiToken, env);
227
227
  if (credential)
228
228
  return credential;
229
229
  console.log(" " + warning("Warning: VERYFRONT_API_TOKEN is invalid"));
230
230
  }
231
231
  const storedToken = await readToken(env);
232
232
  if (storedToken) {
233
- const credential = await validateCredential(storedToken);
233
+ const credential = await validateCredential(storedToken, env);
234
234
  if (credential)
235
235
  return credential;
236
236
  await deleteToken(env);
@@ -240,15 +240,15 @@ export async function ensureAuthenticated(env = getEnvironmentConfig()) {
240
240
  cliLogger.error("Not logged in. Set VERYFRONT_API_TOKEN or run in interactive mode.");
241
241
  return null;
242
242
  }
243
- return login();
243
+ return login(undefined, env);
244
244
  }
245
- export async function logout() {
246
- await deleteToken();
245
+ export async function logout(env = getEnvironmentConfig()) {
246
+ await deleteToken(env);
247
247
  console.log();
248
248
  console.log(" " + success("✓") + " Logged out");
249
249
  }
250
- async function reportCredential(token, source) {
251
- const credential = await validateCredential(token);
250
+ async function reportCredential(token, source, env) {
251
+ const credential = await validateCredential(token, env);
252
252
  if (!credential)
253
253
  return null;
254
254
  if (!isApiKeyIdentity(credential)) {
@@ -272,18 +272,18 @@ async function reportCredential(token, source) {
272
272
  console.log();
273
273
  console.log(" " + success("✓") + " Authenticated with an API key");
274
274
  }
275
- console.log(" " + dim(source === "env" ? "(via VERYFRONT_API_TOKEN)" : `Token stored at: ${getTokenLocation()}`));
275
+ console.log(" " + dim(source === "env" ? "(via VERYFRONT_API_TOKEN)" : `Token stored at: ${getTokenLocation(env)}`));
276
276
  return credential;
277
277
  }
278
278
  export async function whoami(env = getEnvironmentConfig()) {
279
279
  if (env.apiToken) {
280
- const result = await reportCredential(env.apiToken, "env");
280
+ const result = await reportCredential(env.apiToken, "env", env);
281
281
  if (result)
282
282
  return result;
283
283
  }
284
- const storedToken = await readToken();
284
+ const storedToken = await readToken(env);
285
285
  if (storedToken) {
286
- const result = await reportCredential(storedToken, "token-store");
286
+ const result = await reportCredential(storedToken, "token-store", env);
287
287
  if (result)
288
288
  return result;
289
289
  }
@@ -297,7 +297,7 @@ export async function whoami(env = getEnvironmentConfig()) {
297
297
  // Show provider tokens
298
298
  try {
299
299
  const { listProviderTokens } = await import("./provider-store.js");
300
- const providers = await listProviderTokens();
300
+ const providers = await listProviderTokens(env);
301
301
  for (const p of providers) {
302
302
  console.log(" " + success("✓") + ` ${p} API key configured`);
303
303
  }
@@ -7,14 +7,15 @@
7
7
  *
8
8
  * @module cli/auth/provider-store
9
9
  */
10
+ import { type EnvironmentConfig } from "../../src/config/index.js";
10
11
  export type ProviderName = "anthropic" | "openai";
11
12
  export interface ProviderCredential {
12
13
  apiKey: string;
13
14
  validatedAt: string;
14
15
  provider: ProviderName;
15
16
  }
16
- export declare function saveProviderToken(provider: ProviderName, credential: ProviderCredential): Promise<void>;
17
- export declare function readProviderToken(provider: ProviderName): Promise<ProviderCredential | null>;
18
- export declare function deleteProviderToken(provider: ProviderName): Promise<void>;
19
- export declare function listProviderTokens(): Promise<ProviderName[]>;
17
+ export declare function saveProviderToken(provider: ProviderName, credential: ProviderCredential, env?: EnvironmentConfig): Promise<void>;
18
+ export declare function readProviderToken(provider: ProviderName, env?: EnvironmentConfig): Promise<ProviderCredential | null>;
19
+ export declare function deleteProviderToken(provider: ProviderName, env?: EnvironmentConfig): Promise<void>;
20
+ export declare function listProviderTokens(env?: EnvironmentConfig): Promise<ProviderName[]>;
20
21
  //# sourceMappingURL=provider-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-store.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/provider-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAUD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAQpC;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,YAAY,GACrB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBlE"}
1
+ {"version":3,"file":"provider-store.d.ts","sourceRoot":"","sources":["../../../src/cli/auth/provider-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,iBAAiB,EAAwB,MAAM,2BAA2B,CAAC;AAKzF,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAYD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,kBAAkB,EAC9B,GAAG,CAAC,EAAE,iBAAiB,GACtB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,iBAAiB,GACtB,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAQpC;AAED,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,YAAY,EACtB,GAAG,CAAC,EAAE,iBAAiB,GACtB,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAsB,kBAAkB,CAAC,GAAG,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBzF"}
@@ -10,45 +10,49 @@
10
10
  import { getEnvironmentConfig } from "../../src/config/index.js";
11
11
  import { join } from "../../src/platform/compat/path/index.js";
12
12
  import { createFileSystem } from "../../src/platform/index.js";
13
- function getTokenDir() {
14
- const env = getEnvironmentConfig();
13
+ import { CONFIG_DIR_NAME, TOKEN_FILE_PERMISSIONS } from "../shared/constants.js";
14
+ function getTokenDir(env = getEnvironmentConfig()) {
15
15
  const configDir = env.xdgConfigHome
16
- ? join(env.xdgConfigHome, "veryfront")
17
- : join(env.homeDir, ".config", "veryfront");
16
+ ? join(env.xdgConfigHome, CONFIG_DIR_NAME)
17
+ : env.homeDir
18
+ ? join(env.homeDir, ".config", CONFIG_DIR_NAME)
19
+ : null;
20
+ if (!configDir)
21
+ throw new Error("Could not determine home directory");
18
22
  return join(configDir, "tokens");
19
23
  }
20
- export async function saveProviderToken(provider, credential) {
24
+ export async function saveProviderToken(provider, credential, env) {
21
25
  const fs = createFileSystem();
22
- const dir = getTokenDir();
26
+ const dir = getTokenDir(env);
23
27
  await fs.mkdir(dir, { recursive: true });
24
28
  const path = join(dir, provider);
25
29
  await fs.writeTextFile(path, JSON.stringify(credential));
26
- await fs.chmod(path, 0o600);
30
+ await fs.chmod(path, TOKEN_FILE_PERMISSIONS);
27
31
  }
28
- export async function readProviderToken(provider) {
32
+ export async function readProviderToken(provider, env) {
29
33
  const fs = createFileSystem();
30
34
  try {
31
- const raw = await fs.readTextFile(join(getTokenDir(), provider));
35
+ const raw = await fs.readTextFile(join(getTokenDir(env), provider));
32
36
  return JSON.parse(raw);
33
37
  }
34
38
  catch {
35
39
  return null;
36
40
  }
37
41
  }
38
- export async function deleteProviderToken(provider) {
42
+ export async function deleteProviderToken(provider, env) {
39
43
  const fs = createFileSystem();
40
44
  try {
41
- await fs.remove(join(getTokenDir(), provider));
45
+ await fs.remove(join(getTokenDir(env), provider));
42
46
  }
43
47
  catch {
44
48
  // Token doesn't exist — fine
45
49
  }
46
50
  }
47
- export async function listProviderTokens() {
51
+ export async function listProviderTokens(env) {
48
52
  const fs = createFileSystem();
49
53
  const providers = [];
50
54
  try {
51
- for await (const entry of fs.readDir(getTokenDir())) {
55
+ for await (const entry of fs.readDir(getTokenDir(env))) {
52
56
  if (entry.isFile &&
53
57
  (entry.name === "anthropic" || entry.name === "openai")) {
54
58
  providers.push(entry.name);
@@ -1,3 +1,5 @@
1
1
  import type { BuildOptions } from "./types.js";
2
+ /** @internal */
3
+ export declare function runWithBundlerShutdown<T>(operation: () => Promise<T>, stopBundler?: () => Promise<void>): Promise<T>;
2
4
  export declare function buildCommand(options: BuildOptions): Promise<void>;
3
5
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/build/command.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgFjE"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/build/command.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,gBAAgB;AAChB,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,WAAW,GAAE,MAAM,OAAO,CAAC,IAAI,CAG9B,GACA,OAAO,CAAC,CAAC,CAAC,CAiBZ;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFjE"}
@@ -3,11 +3,35 @@ import { runtime } from "../../../src/platform/index.js";
3
3
  import { getConfig } from "../../../src/config/index.js";
4
4
  import { buildProduction } from "../../../src/build/index.js";
5
5
  import { withSpan } from "../../../src/observability/tracing/otlp-setup.js";
6
+ import { cliLogger } from "../../utils/index.js";
6
7
  import { displayBuildConfig, displayBuildStart } from "./config-display.js";
7
8
  import { handleBuildError } from "./error-handler.js";
8
9
  import { displayBuildSuccess } from "./stats-display.js";
9
10
  import { isJsonMode, streamJsonLine } from "../../shared/json-output.js";
10
11
  import { ensureBuiltinContentProcessor } from "../../shared/ensure-content-processor.js";
12
+ /** @internal */
13
+ export async function runWithBundlerShutdown(operation, stopBundler = async () => {
14
+ const { stop } = await import("../../../src/extensions/bundler/index.js");
15
+ await stop();
16
+ }) {
17
+ let result;
18
+ try {
19
+ result = await operation();
20
+ }
21
+ catch (operationError) {
22
+ try {
23
+ await stopBundler();
24
+ }
25
+ catch {
26
+ if (!isJsonMode()) {
27
+ cliLogger.warn("Bundler shutdown also failed after the build error");
28
+ }
29
+ }
30
+ throw operationError;
31
+ }
32
+ await stopBundler();
33
+ return result;
34
+ }
11
35
  export function buildCommand(options) {
12
36
  return withSpan("cli.command.build", async () => {
13
37
  const outputDir = options.outputDir ?? join(options.projectDir, "dist");
@@ -20,26 +44,28 @@ export function buildCommand(options) {
20
44
  else {
21
45
  displayBuildConfig({ ...options, outputDir });
22
46
  }
23
- const adapter = await runtime.get();
24
- await getConfig(options.projectDir, adapter);
25
- await ensureBuiltinContentProcessor();
26
- if (isJsonMode()) {
27
- streamJsonLine({ type: "step", name: "config", status: "completed" });
28
- streamJsonLine({ type: "step", name: "build", status: "started" });
29
- }
30
- else {
31
- displayBuildStart();
32
- }
33
- const stats = await buildProduction({
34
- projectDir: options.projectDir,
35
- outputDir,
36
- enableSplitting: options.splitting ?? true,
37
- enableCompression: options.compress ?? true,
38
- enablePrefetch: options.prefetch ?? true,
39
- ssg: options.ssg ?? false,
40
- include: options.include,
41
- exclude: options.exclude,
42
- dryRun,
47
+ const stats = await runWithBundlerShutdown(async () => {
48
+ const adapter = await runtime.get();
49
+ await getConfig(options.projectDir, adapter);
50
+ await ensureBuiltinContentProcessor();
51
+ if (isJsonMode()) {
52
+ streamJsonLine({ type: "step", name: "config", status: "completed" });
53
+ streamJsonLine({ type: "step", name: "build", status: "started" });
54
+ }
55
+ else {
56
+ displayBuildStart();
57
+ }
58
+ return await buildProduction({
59
+ projectDir: options.projectDir,
60
+ outputDir,
61
+ enableSplitting: options.splitting ?? true,
62
+ enableCompression: options.compress ?? true,
63
+ enablePrefetch: options.prefetch ?? true,
64
+ ssg: options.ssg ?? false,
65
+ include: options.include,
66
+ exclude: options.exclude,
67
+ dryRun,
68
+ });
43
69
  });
44
70
  const elapsed = Date.now() - startTime;
45
71
  if (isJsonMode()) {
@@ -7,7 +7,9 @@ export declare const getBuildArgsSchema: () => import("../../../src/internal-age
7
7
  output: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
8
8
  preset: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
9
9
  split: import("../../../src/internal-agents/schema.js").Schema<boolean>;
10
+ noSplit: import("../../../src/internal-agents/schema.js").Schema<boolean>;
10
11
  compress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
12
+ noCompress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
11
13
  prefetch: import("../../../src/internal-agents/schema.js").Schema<boolean>;
12
14
  ssg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
13
15
  noSsg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
@@ -19,7 +21,9 @@ export declare const BuildArgsSchema: import("../../../src/internal-agents/schem
19
21
  output: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
20
22
  preset: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
21
23
  split: import("../../../src/internal-agents/schema.js").Schema<boolean>;
24
+ noSplit: import("../../../src/internal-agents/schema.js").Schema<boolean>;
22
25
  compress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
26
+ noCompress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
23
27
  prefetch: import("../../../src/internal-agents/schema.js").Schema<boolean>;
24
28
  ssg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
25
29
  noSsg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
@@ -38,7 +42,9 @@ export declare const parseBuildArgs: (args: ParsedArgs) => import("../../shared/
38
42
  output: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
39
43
  preset: import("../../../src/internal-agents/schema.js").Schema<string | undefined>;
40
44
  split: import("../../../src/internal-agents/schema.js").Schema<boolean>;
45
+ noSplit: import("../../../src/internal-agents/schema.js").Schema<boolean>;
41
46
  compress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
47
+ noCompress: import("../../../src/internal-agents/schema.js").Schema<boolean>;
42
48
  prefetch: import("../../../src/internal-agents/schema.js").Schema<boolean>;
43
49
  ssg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
44
50
  noSsg: import("../../../src/internal-agents/schema.js").Schema<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/build/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAQ3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;GAa9B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;GAAiC,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;GAWzB,CAAC;AAEH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BxE"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/build/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAQ3E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;GAe9B,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;GAAiC,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;GAazB,CAAC;AAEH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBxE"}
@@ -5,7 +5,8 @@ import { cliLogger } from "../../utils/index.js";
5
5
  import { cwd } from "../../../src/platform/index.js";
6
6
  import { CommonArgs, createArgParser, parseArgsOrThrow } from "../../shared/args.js";
7
7
  import { ensureCliBundlerContracts } from "../../shared/default-contracts.js";
8
- import { exitProcess, showLogo } from "../../utils/index.js";
8
+ import { showLogo } from "../../utils/index.js";
9
+ import { ensureBuiltinContentProcessor } from "../../shared/ensure-content-processor.js";
9
10
  /**
10
11
  * Schema factory for build command arguments
11
12
  */
@@ -13,7 +14,9 @@ export const getBuildArgsSchema = defineSchema((v) => v.object({
13
14
  output: v.string().optional(),
14
15
  preset: v.string().optional(),
15
16
  split: v.boolean().default(true),
17
+ noSplit: v.boolean().default(false),
16
18
  compress: v.boolean().default(true),
19
+ noCompress: v.boolean().default(false),
17
20
  prefetch: v.boolean().default(true),
18
21
  ssg: v.boolean().default(false),
19
22
  noSsg: v.boolean().default(false),
@@ -29,7 +32,9 @@ export const parseBuildArgs = createArgParser(BuildArgsSchema, {
29
32
  output: CommonArgs.output,
30
33
  preset: { keys: ["preset"], type: "string" },
31
34
  split: { keys: ["split"], type: "boolean" },
35
+ noSplit: { keys: ["no-split"], type: "boolean" },
32
36
  compress: { keys: ["compress"], type: "boolean" },
37
+ noCompress: { keys: ["no-compress"], type: "boolean" },
33
38
  prefetch: { keys: ["prefetch"], type: "boolean" },
34
39
  ssg: { keys: ["ssg"], type: "boolean" },
35
40
  noSsg: { keys: ["no-ssg"], type: "boolean" },
@@ -44,6 +49,7 @@ export async function handleBuildCommand(args) {
44
49
  const projectDir = cwd();
45
50
  const preset = opts.preset?.toLowerCase();
46
51
  if (preset === "embedded") {
52
+ await ensureBuiltinContentProcessor();
47
53
  await handleEmbeddedBuild(projectDir, opts.output);
48
54
  return;
49
55
  }
@@ -51,16 +57,14 @@ export async function handleBuildCommand(args) {
51
57
  await buildCommand({
52
58
  projectDir,
53
59
  outputDir: opts.output,
54
- splitting: opts.split,
55
- compress: opts.compress,
60
+ splitting: opts.split && !opts.noSplit,
61
+ compress: opts.compress && !opts.noCompress,
56
62
  prefetch: opts.prefetch,
57
63
  ssg: opts.ssg && !opts.noSsg,
58
64
  include: opts.include,
59
65
  exclude: opts.exclude,
60
66
  dryRun: opts.dryRun,
61
67
  });
62
- // Build tools (esbuild) may leave hanging timers; force clean exit
63
- exitProcess(0);
64
68
  }
65
69
  async function handleEmbeddedBuild(projectDir, outputDir) {
66
70
  const { buildEmbeddedPreset } = await import("../../../src/build/index.js");
@@ -1 +1 @@
1
- {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,UAAU,EAAE,WAuCxB,CAAC"}
1
+ {"version":3,"file":"command-help.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/deploy/command-help.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,eAAO,MAAM,UAAU,EAAE,WAwCxB,CAAC"}
@@ -34,7 +34,8 @@ export const deployHelp = {
34
34
  ],
35
35
  notes: [
36
36
  "Requires VERYFRONT_API_TOKEN env var or veryfront.json config",
37
+ "Requires a successful veryfront push for the same project and branch",
37
38
  "Creates a new release from the specified branch",
38
- "Deploys the release to the target environment",
39
+ "Verifies the target environment points to the created deployment before succeeding",
39
40
  ],
40
41
  };
@@ -1,11 +1,3 @@
1
- /**
2
- * Deploy command - Create a release and deploy to an environment
3
- *
4
- * Creates a new release from the specified branch (default: main)
5
- * and deploys it to the target environment (default: production).
6
- *
7
- * @module cli/commands/deploy
8
- */
9
1
  import type { InferSchema } from "../../../src/extensions/schema/index.js";
10
2
  import { type ApiClient } from "../../shared/config.js";
11
3
  /**
@@ -48,10 +40,23 @@ export declare const parseDeployArgs: (args: import("../../shared/types.js").Par
48
40
  /**
49
41
  * Environment from the API
50
42
  */
43
+ interface EnvironmentDeployment {
44
+ id: string;
45
+ release: {
46
+ id: string;
47
+ name: string | null;
48
+ } | null;
49
+ }
51
50
  interface Environment {
52
51
  id: string;
53
52
  name: string;
54
53
  protected: boolean;
54
+ project_id?: string;
55
+ project?: string | {
56
+ id: string;
57
+ };
58
+ projectId?: string;
59
+ deployment?: EnvironmentDeployment | null;
55
60
  }
56
61
  /**
57
62
  * Release from the API
@@ -59,23 +64,74 @@ interface Environment {
59
64
  interface Release {
60
65
  id: string;
61
66
  name: string;
62
- version: string;
67
+ version: string | null;
68
+ project_id?: string;
69
+ project?: string | {
70
+ id: string;
71
+ };
72
+ projectId?: string;
63
73
  export_status: string;
64
74
  build_status: string;
65
75
  deploy_status: string;
66
76
  }
67
- /**
68
- * Deployment from the API
69
- */
70
77
  interface Deployment {
71
78
  id: string;
72
- release: string;
73
- environment: string;
79
+ release_id: string;
80
+ environment_id: string;
74
81
  }
82
+ export interface DeploymentVerification {
83
+ projectId: string;
84
+ projectSlug: string;
85
+ environmentId: string;
86
+ environmentName: string;
87
+ releaseId: string;
88
+ releaseVersion: string;
89
+ deploymentId: string;
90
+ commitSha: string;
91
+ sourceDigest: string;
92
+ }
93
+ export interface ReleaseSourceVerification {
94
+ projectId: string;
95
+ releaseId: string;
96
+ releaseVersion: string;
97
+ commitSha: string;
98
+ sourceDigest: string;
99
+ }
100
+ interface ReleaseSourceExpectation {
101
+ projectId: string;
102
+ releaseId: string;
103
+ commitSha: string;
104
+ sourceDigest: string;
105
+ releaseName?: string;
106
+ }
107
+ interface DeploymentExpectation {
108
+ projectId: string;
109
+ projectSlug: string;
110
+ environmentId: string;
111
+ environmentName: string;
112
+ releaseId: string;
113
+ deploymentId: string;
114
+ commitSha: string;
115
+ sourceDigest: string;
116
+ releaseName?: string;
117
+ }
118
+ interface DeploymentVerificationOptions {
119
+ attempts?: number;
120
+ delayMs?: number;
121
+ verifiedRelease?: ReleaseSourceVerification;
122
+ }
123
+ export declare function assertProjectOwnership(resourceType: "Environment" | "Release", resource: {
124
+ id: string;
125
+ project_id?: string;
126
+ }, projectId: string): void;
75
127
  /**
76
128
  * Get environment by name (with pagination support)
77
129
  */
78
130
  export declare function getEnvironmentByName(client: ApiClient, projectSlug: string, name: string): Promise<Environment | null>;
131
+ export declare function getProject(client: ApiClient, projectReference: string): Promise<import("../../shared/deployment-provenance.js").ProjectTarget>;
132
+ export declare function getRelease(client: ApiClient, projectReference: string, releaseId: string): Promise<Release>;
133
+ export declare function getDeployment(client: ApiClient, projectReference: string, deploymentId: string): Promise<Deployment>;
134
+ export declare function getReleaseSourceDigest(client: ApiClient, projectReference: string, releaseId: string): Promise<string>;
79
135
  /**
80
136
  * Create a new release
81
137
  */
@@ -87,6 +143,19 @@ export declare function createRelease(client: ApiClient, projectSlug: string, op
87
143
  * Create a new deployment
88
144
  */
89
145
  export declare function createDeployment(client: ApiClient, projectSlug: string, releaseId: string, environmentId: string): Promise<Deployment>;
146
+ export declare function verifyReleaseSource(client: ApiClient, projectReference: string, expected: ReleaseSourceExpectation): Promise<ReleaseSourceVerification>;
147
+ export declare function verifyDeployment(client: ApiClient, projectReference: string, expected: DeploymentExpectation, options?: DeploymentVerificationOptions): Promise<DeploymentVerification>;
148
+ export declare function resolvePushedSource(input: {
149
+ projectDir: string;
150
+ controlPlane: string;
151
+ projectId: string;
152
+ projectSlug: string;
153
+ branch: string;
154
+ requireClean: boolean;
155
+ }): Promise<{
156
+ commitSha: string;
157
+ sourceDigest: string;
158
+ }>;
90
159
  /**
91
160
  * Create a release and deploy to an environment
92
161
  */