@treeseed/sdk 0.11.0 → 0.12.5

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 (473) hide show
  1. package/README.md +9 -4
  2. package/dist/agent-capacity.d.ts +916 -0
  3. package/dist/agent-capacity.js +1600 -0
  4. package/dist/agent-tools.d.ts +37 -0
  5. package/dist/agent-tools.js +301 -0
  6. package/dist/api/app.d.ts +1 -1
  7. package/dist/api/auth/d1-database.d.ts +2 -2
  8. package/dist/api/auth/d1-provider.d.ts +4 -4
  9. package/dist/api/auth/d1-store.d.ts +2 -2
  10. package/dist/api/auth/memory-provider.d.ts +1 -1
  11. package/dist/api/auth/tokens.d.ts +1 -1
  12. package/dist/api/config.d.ts +3 -1
  13. package/dist/api/config.js +34 -10
  14. package/dist/api/http.d.ts +2 -2
  15. package/dist/api/index.d.ts +10 -10
  16. package/dist/api/index.js +4 -2
  17. package/dist/api/operations-routes.d.ts +3 -3
  18. package/dist/api/operations.d.ts +1 -1
  19. package/dist/api/providers.d.ts +1 -1
  20. package/dist/api/providers.js +21 -4
  21. package/dist/api/railway.d.ts +3 -2
  22. package/dist/api/sdk-dispatch.d.ts +4 -4
  23. package/dist/api/sdk-routes.d.ts +2 -2
  24. package/dist/api/templates.d.ts +2 -2
  25. package/dist/api/types.d.ts +3 -2
  26. package/dist/capacity-provider.d.ts +117 -60
  27. package/dist/capacity-provider.js +215 -43
  28. package/dist/capacity.d.ts +2 -2
  29. package/dist/cli-tools.d.ts +1 -1
  30. package/dist/content-operations.d.ts +97 -0
  31. package/dist/content-operations.js +250 -0
  32. package/dist/content-store.d.ts +4 -4
  33. package/dist/control-plane-client.d.ts +13 -18
  34. package/dist/control-plane-client.js +8 -86
  35. package/dist/control-plane.d.ts +2 -2
  36. package/dist/copilot.d.ts +3 -0
  37. package/dist/copilot.js +16 -1
  38. package/dist/d1-http.d.ts +1 -1
  39. package/dist/d1-store.d.ts +32 -57
  40. package/dist/d1-store.js +115 -318
  41. package/dist/db/d1.d.ts +1 -232
  42. package/dist/db/index.d.ts +3 -3
  43. package/dist/db/market-schema.d.ts +49037 -11843
  44. package/dist/db/market-schema.js +1788 -50
  45. package/dist/db/node-sqlite.d.ts +1 -232
  46. package/dist/db/schema.d.ts +0 -462
  47. package/dist/db/schema.js +2 -22
  48. package/dist/dispatch.d.ts +1 -1
  49. package/dist/dispatch.js +0 -11
  50. package/dist/fixture-support.js +52 -4
  51. package/dist/governance.d.ts +133 -0
  52. package/dist/governance.js +285 -0
  53. package/dist/graph/build.d.ts +2 -2
  54. package/dist/graph/context-query-contracts.d.ts +1 -1
  55. package/dist/graph/dsl.d.ts +1 -1
  56. package/dist/graph/query.d.ts +4 -4
  57. package/dist/graph/ranking.d.ts +1 -1
  58. package/dist/graph/schema.d.ts +1 -1
  59. package/dist/graph.d.ts +11 -11
  60. package/dist/guarantees/index.d.ts +425 -0
  61. package/dist/guarantees/index.js +1146 -0
  62. package/dist/hosting/apps.d.ts +1 -1
  63. package/dist/hosting/builtins.d.ts +1 -1
  64. package/dist/hosting/builtins.js +9 -198
  65. package/dist/hosting/contracts.d.ts +3 -2
  66. package/dist/hosting/graph.d.ts +24 -21
  67. package/dist/hosting/graph.js +280 -294
  68. package/dist/hosting/index.d.ts +4 -4
  69. package/dist/index.d.ts +88 -74
  70. package/dist/index.js +81 -10
  71. package/dist/local-dev/managed-dev.d.ts +85 -0
  72. package/dist/local-dev/managed-dev.js +368 -0
  73. package/dist/managed-dependencies.d.ts +9 -0
  74. package/dist/managed-dependencies.js +10 -8
  75. package/dist/market-client.d.ts +265 -7
  76. package/dist/market-client.js +381 -9
  77. package/dist/model-registry.d.ts +1 -1
  78. package/dist/model-registry.js +19 -19
  79. package/dist/operations/agent-tools.d.ts +2 -11
  80. package/dist/operations/agent-tools.js +2 -14
  81. package/dist/operations/providers/default.d.ts +1 -1
  82. package/dist/operations/providers/default.js +20 -37
  83. package/dist/operations/repository-operations.d.ts +26 -2
  84. package/dist/operations/repository-operations.js +159 -1
  85. package/dist/operations/runtime.d.ts +3 -3
  86. package/dist/operations/services/bootstrap-runner.d.ts +1 -1
  87. package/dist/operations/services/build-warning-policy.d.ts +34 -0
  88. package/dist/operations/services/build-warning-policy.js +81 -82
  89. package/dist/operations/services/commit-message-provider.js +4 -4
  90. package/dist/operations/services/config-runtime.d.ts +73 -19
  91. package/dist/operations/services/config-runtime.js +276 -100
  92. package/dist/operations/services/deploy.d.ts +41 -622
  93. package/dist/operations/services/deploy.js +181 -213
  94. package/dist/operations/services/deployment-readiness.d.ts +1 -1
  95. package/dist/operations/services/deployment-readiness.js +38 -7
  96. package/dist/operations/services/git-remote-policy.js +12 -4
  97. package/dist/operations/services/git-runner.d.ts +66 -0
  98. package/dist/operations/services/git-runner.js +479 -0
  99. package/dist/operations/services/git-workflow.d.ts +43 -5
  100. package/dist/operations/services/git-workflow.js +242 -20
  101. package/dist/operations/services/github-actions-verification.d.ts +3 -1
  102. package/dist/operations/services/github-actions-verification.js +11 -3
  103. package/dist/operations/services/github-api.js +21 -5
  104. package/dist/operations/services/github-automation.d.ts +3 -3
  105. package/dist/operations/services/github-automation.js +15 -18
  106. package/dist/operations/services/github-credentials.js +2 -1
  107. package/dist/operations/services/hosted-service-checks.d.ts +19 -1
  108. package/dist/operations/services/hosted-service-checks.js +162 -11
  109. package/dist/operations/services/hosting-audit.d.ts +2 -2
  110. package/dist/operations/services/hosting-audit.js +7 -7
  111. package/dist/operations/services/hub-launch.d.ts +1 -1
  112. package/dist/operations/services/hub-provider-launch.d.ts +5 -5
  113. package/dist/operations/services/hub-provider-launch.js +19 -14
  114. package/dist/operations/services/live-hosted-service-checks.d.ts +2 -1
  115. package/dist/operations/services/live-hosted-service-checks.js +193 -80
  116. package/dist/operations/services/local-dev.js +0 -1
  117. package/dist/operations/services/managed-host-security.d.ts +1 -1
  118. package/dist/operations/services/managed-repositories.d.ts +37 -0
  119. package/dist/operations/services/managed-repositories.js +177 -0
  120. package/dist/operations/services/operations-runner-smoke.d.ts +3 -2
  121. package/dist/operations/services/operations-runner-smoke.js +22 -4
  122. package/dist/operations/services/package-adapters.d.ts +77 -2
  123. package/dist/operations/services/package-adapters.js +629 -56
  124. package/dist/operations/services/package-reference-policy.d.ts +12 -88
  125. package/dist/operations/services/package-reference-policy.js +81 -213
  126. package/dist/operations/services/project-host-operations.d.ts +4 -4
  127. package/dist/operations/services/project-platform.d.ts +19 -193
  128. package/dist/operations/services/project-platform.js +31 -103
  129. package/dist/operations/services/project-web-monitor.d.ts +2 -2
  130. package/dist/operations/services/project-web-monitor.js +97 -2
  131. package/dist/operations/services/railway-api.d.ts +36 -7
  132. package/dist/operations/services/railway-api.js +331 -100
  133. package/dist/operations/services/railway-deploy.d.ts +7 -95
  134. package/dist/operations/services/railway-deploy.js +334 -742
  135. package/dist/operations/services/release-history.js +3 -4
  136. package/dist/operations/services/release-proof-ledger.d.ts +13 -0
  137. package/dist/operations/services/release-proof-ledger.js +81 -0
  138. package/dist/operations/services/release-proof-planner.d.ts +48 -0
  139. package/dist/operations/services/release-proof-planner.js +195 -0
  140. package/dist/operations/services/release-proof-runner.d.ts +16 -0
  141. package/dist/operations/services/release-proof-runner.js +169 -0
  142. package/dist/operations/services/release-proof.d.ts +81 -0
  143. package/dist/operations/services/release-proof.js +79 -0
  144. package/dist/operations/services/repository-save-orchestrator.d.ts +6 -7
  145. package/dist/operations/services/repository-save-orchestrator.js +353 -174
  146. package/dist/operations/services/runtime-paths.d.ts +1 -3
  147. package/dist/operations/services/runtime-paths.js +0 -4
  148. package/dist/operations/services/runtime-tools.d.ts +1 -192
  149. package/dist/operations/services/runtime-tools.js +4 -444
  150. package/dist/operations/services/save-deploy-preflight.js +9 -1
  151. package/dist/operations/services/template-host-bindings.d.ts +2 -2
  152. package/dist/operations/services/template-host-bindings.js +3 -2
  153. package/dist/operations/services/template-registry.d.ts +6 -6
  154. package/dist/operations/services/template-registry.js +33 -14
  155. package/dist/operations/services/template-secret-sync.d.ts +3 -3
  156. package/dist/operations/services/workflow-timing.d.ts +25 -0
  157. package/dist/operations/services/workflow-timing.js +79 -0
  158. package/dist/operations/services/workspace-dependency-mode.js +41 -4
  159. package/dist/operations/services/workspace-preflight.js +8 -8
  160. package/dist/operations/services/workspace-save-script.d.ts +4 -4
  161. package/dist/operations/services/workspace-save.d.ts +1 -0
  162. package/dist/operations/services/workspace-save.js +41 -18
  163. package/dist/operations/services/workspace-tools.js +40 -6
  164. package/dist/operations-registry.d.ts +1 -1
  165. package/dist/operations-registry.js +5 -6
  166. package/dist/operations-types.d.ts +1 -1
  167. package/dist/operations.d.ts +17 -11
  168. package/dist/operations.js +57 -3
  169. package/dist/platform/book-export.js +2 -0
  170. package/dist/platform/books-data.d.ts +1 -1
  171. package/dist/platform/config.d.ts +27 -0
  172. package/dist/platform/config.js +100 -0
  173. package/dist/platform/content-runtime-source.d.ts +54 -0
  174. package/dist/platform/content-runtime-source.js +169 -0
  175. package/dist/platform/contracts.d.ts +6 -1
  176. package/dist/platform/deploy-config.d.ts +1 -1
  177. package/dist/platform/deploy-config.js +7 -1
  178. package/dist/platform/deploy-runtime.d.ts +1 -1
  179. package/dist/platform/desired-state.d.ts +66 -0
  180. package/dist/platform/desired-state.js +1052 -0
  181. package/dist/platform/env.yaml +414 -19
  182. package/dist/platform/environment.d.ts +2 -2
  183. package/dist/platform/environment.js +54 -22
  184. package/dist/platform/local-content-materialization.d.ts +9 -0
  185. package/dist/platform/local-content-materialization.js +212 -0
  186. package/dist/platform/plugin.d.ts +5 -5
  187. package/dist/platform/plugins/runtime.d.ts +3 -3
  188. package/dist/platform/plugins/runtime.js +62 -1
  189. package/dist/platform/plugins.d.ts +6 -6
  190. package/dist/platform/published-content-pipeline.d.ts +3 -3
  191. package/dist/platform/published-content-pipeline.js +5 -1
  192. package/dist/platform/published-content.d.ts +4 -3
  193. package/dist/platform/site-config-schema.d.ts +1 -0
  194. package/dist/platform/site-config-schema.js +4 -1
  195. package/dist/platform/tenant/runtime-config.d.ts +152 -2
  196. package/dist/platform/tenant-config.d.ts +1 -1
  197. package/dist/platform/utils/site-config-schema.d.ts +154 -0
  198. package/dist/platform/utils/site-config-schema.js +400 -461
  199. package/dist/platform-operation-store.d.ts +1 -1
  200. package/dist/plugin-default.d.ts +1 -1
  201. package/dist/plugin-default.js +27 -12
  202. package/dist/project-import.d.ts +91 -0
  203. package/dist/project-import.js +257 -0
  204. package/dist/project-workflow.d.ts +1 -1
  205. package/dist/reconcile/bootstrap-systems.d.ts +2 -2
  206. package/dist/reconcile/bootstrap-systems.js +3 -3
  207. package/dist/reconcile/builtin-adapters.d.ts +7 -1
  208. package/dist/reconcile/builtin-adapters.js +2924 -346
  209. package/dist/reconcile/contracts.d.ts +15 -2
  210. package/dist/reconcile/desired-state.d.ts +2 -193
  211. package/dist/reconcile/desired-state.js +24 -33
  212. package/dist/reconcile/engine.d.ts +60 -397
  213. package/dist/reconcile/engine.js +182 -18
  214. package/dist/reconcile/index.d.ts +10 -10
  215. package/dist/reconcile/live-acceptance.d.ts +22 -1
  216. package/dist/reconcile/live-acceptance.js +456 -44
  217. package/dist/reconcile/providers/docker-private.d.ts +54 -0
  218. package/dist/reconcile/providers/docker-private.js +101 -0
  219. package/dist/reconcile/providers/github-private.d.ts +65 -0
  220. package/dist/reconcile/providers/github-private.js +119 -0
  221. package/dist/reconcile/providers/local-private.d.ts +28 -0
  222. package/dist/reconcile/providers/local-private.js +75 -0
  223. package/dist/reconcile/providers/railway-iac.d.ts +66 -0
  224. package/dist/reconcile/providers/railway-iac.js +275 -0
  225. package/dist/reconcile/providers/release-private.d.ts +92 -0
  226. package/dist/reconcile/providers/release-private.js +152 -0
  227. package/dist/reconcile/registry.d.ts +2 -2
  228. package/dist/reconcile/registry.js +16 -1
  229. package/dist/reconcile/state.d.ts +1 -1
  230. package/dist/reconcile/state.js +3 -40
  231. package/dist/reconcile/units.d.ts +1 -1
  232. package/dist/reconcile/units.js +7 -1
  233. package/dist/remote.d.ts +6 -6
  234. package/dist/scenes/artifacts.d.ts +16 -0
  235. package/dist/scenes/artifacts.js +61 -0
  236. package/dist/scenes/auth.d.ts +2 -0
  237. package/dist/scenes/auth.js +28 -0
  238. package/dist/scenes/base-url.d.ts +12 -0
  239. package/dist/scenes/base-url.js +123 -0
  240. package/dist/scenes/builtin-plugins.d.ts +2 -0
  241. package/dist/scenes/builtin-plugins.js +447 -0
  242. package/dist/scenes/checkpoints.d.ts +14 -0
  243. package/dist/scenes/checkpoints.js +33 -0
  244. package/dist/scenes/device-matrix.d.ts +2 -0
  245. package/dist/scenes/device-matrix.js +97 -0
  246. package/dist/scenes/devices.d.ts +11 -0
  247. package/dist/scenes/devices.js +22 -0
  248. package/dist/scenes/diagnostics.d.ts +5 -0
  249. package/dist/scenes/diagnostics.js +22 -0
  250. package/dist/scenes/diagram-providers.d.ts +2 -0
  251. package/dist/scenes/diagram-providers.js +181 -0
  252. package/dist/scenes/diagram-validation.d.ts +22 -0
  253. package/dist/scenes/diagram-validation.js +74 -0
  254. package/dist/scenes/environment.d.ts +2 -0
  255. package/dist/scenes/environment.js +65 -0
  256. package/dist/scenes/evidence-bundle.d.ts +5 -0
  257. package/dist/scenes/evidence-bundle.js +42 -0
  258. package/dist/scenes/evidence-report.d.ts +10 -0
  259. package/dist/scenes/evidence-report.js +73 -0
  260. package/dist/scenes/evidence.d.ts +16 -0
  261. package/dist/scenes/evidence.js +277 -0
  262. package/dist/scenes/index.d.ts +48 -0
  263. package/dist/scenes/index.js +312 -0
  264. package/dist/scenes/inspect.d.ts +9 -0
  265. package/dist/scenes/inspect.js +64 -0
  266. package/dist/scenes/loader.d.ts +3 -0
  267. package/dist/scenes/loader.js +38 -0
  268. package/dist/scenes/logs.d.ts +2 -0
  269. package/dist/scenes/logs.js +47 -0
  270. package/dist/scenes/operations.d.ts +3 -0
  271. package/dist/scenes/operations.js +128 -0
  272. package/dist/scenes/phase0.d.ts +9 -0
  273. package/dist/scenes/phase0.js +637 -0
  274. package/dist/scenes/planner.d.ts +12 -0
  275. package/dist/scenes/planner.js +166 -0
  276. package/dist/scenes/playwright-adapter.d.ts +2 -0
  277. package/dist/scenes/playwright-adapter.js +63 -0
  278. package/dist/scenes/plugins.d.ts +5 -0
  279. package/dist/scenes/plugins.js +115 -0
  280. package/dist/scenes/progress.d.ts +17 -0
  281. package/dist/scenes/progress.js +24 -0
  282. package/dist/scenes/publish-destinations.d.ts +12 -0
  283. package/dist/scenes/publish-destinations.js +99 -0
  284. package/dist/scenes/publish-plan-report.d.ts +10 -0
  285. package/dist/scenes/publish-plan-report.js +70 -0
  286. package/dist/scenes/publish-plan.d.ts +15 -0
  287. package/dist/scenes/publish-plan.js +248 -0
  288. package/dist/scenes/publish-redaction.d.ts +16 -0
  289. package/dist/scenes/publish-redaction.js +148 -0
  290. package/dist/scenes/publish-release-record.d.ts +13 -0
  291. package/dist/scenes/publish-release-record.js +34 -0
  292. package/dist/scenes/publish-report.d.ts +10 -0
  293. package/dist/scenes/publish-report.js +67 -0
  294. package/dist/scenes/publish.d.ts +16 -0
  295. package/dist/scenes/publish.js +298 -0
  296. package/dist/scenes/registry.d.ts +12 -0
  297. package/dist/scenes/registry.js +65 -0
  298. package/dist/scenes/remotion-adapter.d.ts +3 -0
  299. package/dist/scenes/remotion-adapter.js +94 -0
  300. package/dist/scenes/remotion-composition-registry.d.ts +2 -0
  301. package/dist/scenes/remotion-composition-registry.js +12 -0
  302. package/dist/scenes/remotion-compositions.d.ts +15 -0
  303. package/dist/scenes/remotion-compositions.js +464 -0
  304. package/dist/scenes/remotion-diagrams.d.ts +9 -0
  305. package/dist/scenes/remotion-diagrams.js +188 -0
  306. package/dist/scenes/remotion-input.d.ts +13 -0
  307. package/dist/scenes/remotion-input.js +291 -0
  308. package/dist/scenes/remotion-visuals.d.ts +29 -0
  309. package/dist/scenes/remotion-visuals.js +198 -0
  310. package/dist/scenes/render-media-assets.d.ts +9 -0
  311. package/dist/scenes/render-media-assets.js +117 -0
  312. package/dist/scenes/render-report.d.ts +10 -0
  313. package/dist/scenes/render-report.js +27 -0
  314. package/dist/scenes/render.d.ts +2 -0
  315. package/dist/scenes/render.js +218 -0
  316. package/dist/scenes/reporter.d.ts +3 -0
  317. package/dist/scenes/reporter.js +101 -0
  318. package/dist/scenes/resume.d.ts +2 -0
  319. package/dist/scenes/resume.js +79 -0
  320. package/dist/scenes/runner.d.ts +2 -0
  321. package/dist/scenes/runner.js +674 -0
  322. package/dist/scenes/schema.d.ts +6 -0
  323. package/dist/scenes/schema.js +994 -0
  324. package/dist/scenes/seed.d.ts +2 -0
  325. package/dist/scenes/seed.js +83 -0
  326. package/dist/scenes/segments.d.ts +15 -0
  327. package/dist/scenes/segments.js +79 -0
  328. package/dist/scenes/selectors.d.ts +3 -0
  329. package/dist/scenes/selectors.js +21 -0
  330. package/dist/scenes/timeline.d.ts +11 -0
  331. package/dist/scenes/timeline.js +26 -0
  332. package/dist/scenes/timeouts.d.ts +6 -0
  333. package/dist/scenes/timeouts.js +17 -0
  334. package/dist/scenes/training-captions.d.ts +14 -0
  335. package/dist/scenes/training-captions.js +98 -0
  336. package/dist/scenes/training-report.d.ts +10 -0
  337. package/dist/scenes/training-report.js +78 -0
  338. package/dist/scenes/training-transcript.d.ts +24 -0
  339. package/dist/scenes/training-transcript.js +204 -0
  340. package/dist/scenes/training.d.ts +10 -0
  341. package/dist/scenes/training.js +134 -0
  342. package/dist/scenes/types.d.ts +1872 -0
  343. package/dist/scenes/types.js +8 -0
  344. package/dist/scenes/visual-audit-contact-sheets.d.ts +6 -0
  345. package/dist/scenes/visual-audit-contact-sheets.js +119 -0
  346. package/dist/scenes/visual-audit-fixtures.d.ts +25 -0
  347. package/dist/scenes/visual-audit-fixtures.js +210 -0
  348. package/dist/scenes/visual-audit-report.d.ts +11 -0
  349. package/dist/scenes/visual-audit-report.js +85 -0
  350. package/dist/scenes/visual-audit-review.d.ts +23 -0
  351. package/dist/scenes/visual-audit-review.js +829 -0
  352. package/dist/scenes/visual-audit-routes.d.ts +13 -0
  353. package/dist/scenes/visual-audit-routes.js +308 -0
  354. package/dist/scenes/visual-audit.d.ts +3 -0
  355. package/dist/scenes/visual-audit.js +596 -0
  356. package/dist/scripts/build-dist.js +154 -40
  357. package/dist/scripts/check-build-warnings.js +42 -53
  358. package/dist/scripts/cleanup-markdown.js +1 -1
  359. package/dist/scripts/cli-test-fixtures.js +24 -28
  360. package/dist/scripts/migrate-journey-csv-to-guarantees.js +140 -0
  361. package/dist/scripts/package-tools.js +12 -1
  362. package/dist/scripts/prepare.js +3 -7
  363. package/dist/scripts/release-verify.js +2 -5
  364. package/dist/scripts/run-fixture-astro-command.js +1 -1
  365. package/dist/scripts/template-catalog.test.js +68 -82
  366. package/dist/scripts/tenant-dev.js +0 -10
  367. package/dist/scripts/test-cloudflare-local.js +1 -1
  368. package/dist/scripts/test-scaffold.js +0 -1
  369. package/dist/scripts/test-smoke.js +3 -3
  370. package/dist/scripts/treeseed-build-dist.js +4 -7
  371. package/dist/scripts/treeseed-release-verify.js +1 -1
  372. package/dist/scripts/verify-driver.js +30 -21
  373. package/dist/scripts/workflow-commands.test.js +18 -27
  374. package/dist/scripts/workspace-command-e2e.js +1 -1
  375. package/dist/scripts/workspace-lint.js +6 -0
  376. package/dist/scripts/workspace-release-test.js +90 -1
  377. package/dist/scripts/workspace-test.js +6 -0
  378. package/dist/sdk-dispatch.d.ts +1 -1
  379. package/dist/sdk-dispatch.js +0 -16
  380. package/dist/sdk-fields.d.ts +1 -1
  381. package/dist/sdk-filters.d.ts +1 -1
  382. package/dist/sdk-types.d.ts +1184 -113
  383. package/dist/sdk-types.js +393 -0
  384. package/dist/sdk.d.ts +74 -79
  385. package/dist/sdk.js +27 -36
  386. package/dist/secrets-capability.d.ts +421 -0
  387. package/dist/secrets-capability.js +530 -0
  388. package/dist/seeds/normalize.js +1 -0
  389. package/dist/seeds/planner.js +38 -0
  390. package/dist/seeds/schema.js +293 -4
  391. package/dist/seeds/types.d.ts +60 -0
  392. package/dist/seeds/types.js +9 -1
  393. package/dist/service-credentials.d.ts +54 -0
  394. package/dist/service-credentials.js +112 -0
  395. package/dist/stores/cursor-store.d.ts +2 -2
  396. package/dist/stores/envelopes.d.ts +1 -1
  397. package/dist/stores/helpers.d.ts +1 -1
  398. package/dist/stores/lease-store.d.ts +2 -2
  399. package/dist/stores/message-store.d.ts +2 -2
  400. package/dist/stores/operational-store.d.ts +3 -26
  401. package/dist/stores/operational-store.js +0 -225
  402. package/dist/stores/project-workflow-store.d.ts +2 -2
  403. package/dist/stores/run-store.d.ts +2 -3
  404. package/dist/stores/run-store.js +0 -98
  405. package/dist/stores/subscription-store.d.ts +2 -3
  406. package/dist/stores/subscription-store.js +0 -100
  407. package/dist/template-catalog.d.ts +1 -1
  408. package/dist/template-launch-requirements.d.ts +2 -2
  409. package/dist/template-launch-ui.d.ts +2 -2
  410. package/dist/treedx/adapters.d.ts +6 -6
  411. package/dist/treedx/client.d.ts +1 -1
  412. package/dist/treedx/errors.d.ts +1 -1
  413. package/dist/treedx/federated-client.d.ts +3 -3
  414. package/dist/treedx/graph-adapter.d.ts +2 -2
  415. package/dist/treedx/index.d.ts +14 -14
  416. package/dist/treedx/market-integration.d.ts +1 -1
  417. package/dist/treedx/ports.d.ts +30 -30
  418. package/dist/treedx/query-adapter.d.ts +3 -3
  419. package/dist/treedx/registry-client.d.ts +2 -2
  420. package/dist/treedx/repository-adapter.d.ts +4 -4
  421. package/dist/treedx/repository-adapter.js +14 -3
  422. package/dist/treedx/sdk-integration.d.ts +3 -3
  423. package/dist/treedx/types.d.ts +2 -2
  424. package/dist/treedx/workspace-adapter.d.ts +2 -2
  425. package/dist/treedx-backends.d.ts +13 -11
  426. package/dist/treedx-backends.js +52 -50
  427. package/dist/treedx-client.d.ts +3 -0
  428. package/dist/treedx-client.js +10 -1
  429. package/dist/treeseed/services/compose.yml +2 -3
  430. package/dist/treeseed/template-catalog/catalog.fixture.json +4 -4
  431. package/dist/types/agents.d.ts +256 -0
  432. package/dist/types/agents.js +42 -1
  433. package/dist/verification.d.ts +1 -0
  434. package/dist/verification.js +143 -14
  435. package/dist/workflow/operations.d.ts +510 -559
  436. package/dist/workflow/operations.js +1891 -1342
  437. package/dist/workflow/policy.js +19 -7
  438. package/dist/workflow/runs.d.ts +9 -3
  439. package/dist/workflow/runs.js +66 -26
  440. package/dist/workflow/session.d.ts +4 -1
  441. package/dist/workflow/session.js +50 -10
  442. package/dist/workflow/worktrees.d.ts +6 -2
  443. package/dist/workflow/worktrees.js +98 -15
  444. package/dist/workflow-state.d.ts +5 -5
  445. package/dist/workflow-state.js +27 -17
  446. package/dist/workflow-support.d.ts +26 -25
  447. package/dist/workflow-support.js +27 -31
  448. package/dist/workflow.d.ts +46 -16
  449. package/dist/workflow.js +19 -7
  450. package/drizzle/d1/0000_treeseed_d1.sql +0 -18
  451. package/drizzle/market/0000_market_control_plane.sql +1793 -1499
  452. package/drizzle/market/0005_agent_capacity_coordination.sql +145 -0
  453. package/drizzle/market/0006_provider_assignment_lifecycle.sql +9 -0
  454. package/drizzle/market/0007_agent_architecture_gap_closure.sql +157 -0
  455. package/drizzle/market/0008_agent_capacity_operational_closure.sql +27 -0
  456. package/drizzle/market/0009_agent_capacity_runtime_hardening.sql +29 -0
  457. package/drizzle/market/0010_secrets_capability_persistence.sql +130 -0
  458. package/drizzle/market/0011_github_app_adapter.sql +47 -0
  459. package/drizzle/market/0012_workday_test_runs.sql +44 -0
  460. package/drizzle/market/0013_runtime_task_lifecycle.sql +39 -0
  461. package/drizzle/market/0014_governance_pipeline.sql +189 -0
  462. package/package.json +75 -18
  463. package/scripts/{verify-driver.mjs → verify-driver.ts} +19 -4
  464. package/templates/github/deploy-web.workflow.yml +12 -8
  465. package/dist/operations/services/mailpit-runtime.d.ts +0 -20
  466. package/dist/operations/services/mailpit-runtime.js +0 -67
  467. package/dist/operations/services/release-candidate.d.ts +0 -60
  468. package/dist/operations/services/release-candidate.js +0 -953
  469. package/dist/scripts/ensure-mailpit.js +0 -48
  470. package/dist/scripts/logs-mailpit.js +0 -2
  471. package/dist/scripts/run-ts.js +0 -45
  472. package/dist/scripts/stop-mailpit.js +0 -5
  473. package/dist/scripts/treeseed-run-ts.js +0 -45
@@ -1,7 +1,7 @@
1
- import { type TreeseedTimingEntry } from '../../timing.ts';
2
- import { type ControlPlaneReporter } from '../../control-plane.ts';
3
- import type { TreeseedRunnableBootstrapSystem } from '../../reconcile/index.ts';
4
- import { type TreeseedBootstrapExecution, type TreeseedBootstrapWriter } from './bootstrap-runner.ts';
1
+ import { type TreeseedTimingEntry } from '../../timing.js';
2
+ import { type ControlPlaneReporter } from '../../control-plane.js';
3
+ import type { TreeseedRunnableBootstrapSystem } from '../../reconcile/index.js';
4
+ import { type TreeseedBootstrapExecution, type TreeseedBootstrapWriter } from './bootstrap-runner.js';
5
5
  export type ProjectPlatformScope = 'local' | 'staging' | 'prod';
6
6
  export type ProjectPlatformAction = 'deploy_web' | 'publish_content' | 'monitor';
7
7
  type ProjectPlatformContentPublishMode = 'production' | 'editorial_overlay';
@@ -55,27 +55,27 @@ export declare function provisionProjectPlatform(options: ProjectPlatformActionO
55
55
  scope: ProjectPlatformScope;
56
56
  target: any;
57
57
  summary: {
58
- target: import("../../reconcile/contracts.ts").TreeseedReconcileTarget;
59
- units: import("../../reconcile/contracts.ts").TreeseedDesiredUnit[];
60
- plans: import("../../reconcile/contracts.ts").TreeseedReconcilePlan[];
61
- results: import("../../reconcile/contracts.ts").TreeseedReconcileResult[];
62
- state: import("../../reconcile/contracts.ts").TreeseedReconcileStateRecord;
58
+ target: import("../../reconcile/contracts.js").TreeseedReconcileTarget;
59
+ units: import("../../reconcile/contracts.js").TreeseedDesiredUnit[];
60
+ plans: import("../../reconcile/contracts.js").TreeseedReconcilePlan[];
61
+ results: import("../../reconcile/contracts.js").TreeseedReconcileResult[];
62
+ state: import("../../reconcile/contracts.js").TreeseedReconcileStateRecord;
63
63
  timings: TreeseedTimingEntry[];
64
64
  };
65
65
  verification: {
66
- target: import("../../reconcile/contracts.ts").TreeseedReconcileTarget;
66
+ target: import("../../reconcile/contracts.js").TreeseedReconcileTarget;
67
67
  ready: boolean;
68
68
  blockers: string[];
69
69
  warnings: string[];
70
70
  units: {
71
71
  unitId: string;
72
- unitType: import("../../reconcile/contracts.ts").TreeseedReconcileUnitType;
72
+ unitType: import("../../reconcile/contracts.js").TreeseedReconcileUnitType;
73
73
  provider: string;
74
- status: import("../../reconcile/contracts.ts").TreeseedReconcileStatusKind;
74
+ status: import("../../reconcile/contracts.js").TreeseedReconcileStatusKind;
75
75
  exists: boolean;
76
76
  locators: Record<string, string | null>;
77
77
  warnings: string[];
78
- verification: import("../../reconcile/contracts.ts").TreeseedUnitVerificationResult | null;
78
+ verification: import("../../reconcile/contracts.js").TreeseedUnitVerificationResult | null;
79
79
  }[];
80
80
  };
81
81
  timings: TreeseedTimingEntry[];
@@ -163,39 +163,6 @@ export declare function deployProjectPlatform(options: ProjectPlatformActionOpti
163
163
  skipped: boolean;
164
164
  reason: string;
165
165
  };
166
- queue: {
167
- ok: boolean;
168
- skipped: boolean;
169
- reason: string;
170
- messageId?: undefined;
171
- detail?: undefined;
172
- attempts?: undefined;
173
- } | {
174
- ok: boolean;
175
- skipped: boolean;
176
- reason: string;
177
- messageId: string;
178
- detail: string;
179
- attempts?: undefined;
180
- } | {
181
- ok: boolean;
182
- reason: string;
183
- skipped?: undefined;
184
- messageId?: undefined;
185
- detail?: undefined;
186
- attempts?: undefined;
187
- } | {
188
- ok: boolean;
189
- messageId: string;
190
- attempts: number;
191
- skipped?: undefined;
192
- reason?: undefined;
193
- detail?: undefined;
194
- } | {
195
- ok: boolean;
196
- skipped: boolean;
197
- reason: string;
198
- };
199
166
  scaleProbe: {
200
167
  ok: boolean;
201
168
  mocked: boolean;
@@ -209,7 +176,7 @@ export declare function deployProjectPlatform(options: ProjectPlatformActionOpti
209
176
  skipped: boolean;
210
177
  reason: string;
211
178
  mocked: boolean;
212
- serviceId: any;
179
+ serviceId: null;
213
180
  serviceName?: undefined;
214
181
  runnerKind?: undefined;
215
182
  } | {
@@ -253,7 +220,7 @@ export declare function deployProjectPlatform(options: ProjectPlatformActionOpti
253
220
  hostingRepair: {
254
221
  ok: boolean;
255
222
  phase: "repaired" | "already_ready";
256
- environment: import("./hosting-audit.ts").TreeseedHostingAuditResolvedEnvironment;
223
+ environment: import("./hosting-audit.js").TreeseedHostingAuditResolvedEnvironment;
257
224
  repairMode: boolean;
258
225
  repaired: boolean;
259
226
  repairedChecks: number;
@@ -302,27 +269,6 @@ export declare function deployProjectPlatform(options: ProjectPlatformActionOpti
302
269
  runtimeMode: any;
303
270
  volume: any;
304
271
  } | null;
305
- } | {
306
- service: any;
307
- status: string;
308
- command: string;
309
- cwd: any;
310
- publicBaseUrl: any;
311
- timings: TreeseedTimingEntry[];
312
- transport: {
313
- railway: {
314
- reconcile: string;
315
- deploy: string;
316
- };
317
- };
318
- runtimeConfiguration: {
319
- updated: any;
320
- healthcheckPath: any;
321
- healthcheckTimeoutSeconds: any;
322
- runtimeMode: any;
323
- volume: any;
324
- } | null;
325
- deploymentId?: undefined;
326
272
  } | undefined)[];
327
273
  timings: TreeseedTimingEntry[];
328
274
  }>;
@@ -410,39 +356,6 @@ export declare function monitorProjectPlatform(options: ProjectPlatformActionOpt
410
356
  skipped: boolean;
411
357
  reason: string;
412
358
  };
413
- queue: {
414
- ok: boolean;
415
- skipped: boolean;
416
- reason: string;
417
- messageId?: undefined;
418
- detail?: undefined;
419
- attempts?: undefined;
420
- } | {
421
- ok: boolean;
422
- skipped: boolean;
423
- reason: string;
424
- messageId: string;
425
- detail: string;
426
- attempts?: undefined;
427
- } | {
428
- ok: boolean;
429
- reason: string;
430
- skipped?: undefined;
431
- messageId?: undefined;
432
- detail?: undefined;
433
- attempts?: undefined;
434
- } | {
435
- ok: boolean;
436
- messageId: string;
437
- attempts: number;
438
- skipped?: undefined;
439
- reason?: undefined;
440
- detail?: undefined;
441
- } | {
442
- ok: boolean;
443
- skipped: boolean;
444
- reason: string;
445
- };
446
359
  scaleProbe: {
447
360
  ok: boolean;
448
361
  mocked: boolean;
@@ -456,7 +369,7 @@ export declare function monitorProjectPlatform(options: ProjectPlatformActionOpt
456
369
  skipped: boolean;
457
370
  reason: string;
458
371
  mocked: boolean;
459
- serviceId: any;
372
+ serviceId: null;
460
373
  serviceName?: undefined;
461
374
  runnerKind?: undefined;
462
375
  } | {
@@ -576,39 +489,6 @@ export declare function runProjectPlatformAction(action: ProjectPlatformAction,
576
489
  skipped: boolean;
577
490
  reason: string;
578
491
  };
579
- queue: {
580
- ok: boolean;
581
- skipped: boolean;
582
- reason: string;
583
- messageId?: undefined;
584
- detail?: undefined;
585
- attempts?: undefined;
586
- } | {
587
- ok: boolean;
588
- skipped: boolean;
589
- reason: string;
590
- messageId: string;
591
- detail: string;
592
- attempts?: undefined;
593
- } | {
594
- ok: boolean;
595
- reason: string;
596
- skipped?: undefined;
597
- messageId?: undefined;
598
- detail?: undefined;
599
- attempts?: undefined;
600
- } | {
601
- ok: boolean;
602
- messageId: string;
603
- attempts: number;
604
- skipped?: undefined;
605
- reason?: undefined;
606
- detail?: undefined;
607
- } | {
608
- ok: boolean;
609
- skipped: boolean;
610
- reason: string;
611
- };
612
492
  scaleProbe: {
613
493
  ok: boolean;
614
494
  mocked: boolean;
@@ -622,7 +502,7 @@ export declare function runProjectPlatformAction(action: ProjectPlatformAction,
622
502
  skipped: boolean;
623
503
  reason: string;
624
504
  mocked: boolean;
625
- serviceId: any;
505
+ serviceId: null;
626
506
  serviceName?: undefined;
627
507
  runnerKind?: undefined;
628
508
  } | {
@@ -735,39 +615,6 @@ export declare function runProjectPlatformAction(action: ProjectPlatformAction,
735
615
  skipped: boolean;
736
616
  reason: string;
737
617
  };
738
- queue: {
739
- ok: boolean;
740
- skipped: boolean;
741
- reason: string;
742
- messageId?: undefined;
743
- detail?: undefined;
744
- attempts?: undefined;
745
- } | {
746
- ok: boolean;
747
- skipped: boolean;
748
- reason: string;
749
- messageId: string;
750
- detail: string;
751
- attempts?: undefined;
752
- } | {
753
- ok: boolean;
754
- reason: string;
755
- skipped?: undefined;
756
- messageId?: undefined;
757
- detail?: undefined;
758
- attempts?: undefined;
759
- } | {
760
- ok: boolean;
761
- messageId: string;
762
- attempts: number;
763
- skipped?: undefined;
764
- reason?: undefined;
765
- detail?: undefined;
766
- } | {
767
- ok: boolean;
768
- skipped: boolean;
769
- reason: string;
770
- };
771
618
  scaleProbe: {
772
619
  ok: boolean;
773
620
  mocked: boolean;
@@ -781,7 +628,7 @@ export declare function runProjectPlatformAction(action: ProjectPlatformAction,
781
628
  skipped: boolean;
782
629
  reason: string;
783
630
  mocked: boolean;
784
- serviceId: any;
631
+ serviceId: null;
785
632
  serviceName?: undefined;
786
633
  runnerKind?: undefined;
787
634
  } | {
@@ -825,7 +672,7 @@ export declare function runProjectPlatformAction(action: ProjectPlatformAction,
825
672
  hostingRepair: {
826
673
  ok: boolean;
827
674
  phase: "repaired" | "already_ready";
828
- environment: import("./hosting-audit.ts").TreeseedHostingAuditResolvedEnvironment;
675
+ environment: import("./hosting-audit.js").TreeseedHostingAuditResolvedEnvironment;
829
676
  repairMode: boolean;
830
677
  repaired: boolean;
831
678
  repairedChecks: number;
@@ -874,27 +721,6 @@ export declare function runProjectPlatformAction(action: ProjectPlatformAction,
874
721
  runtimeMode: any;
875
722
  volume: any;
876
723
  } | null;
877
- } | {
878
- service: any;
879
- status: string;
880
- command: string;
881
- cwd: any;
882
- publicBaseUrl: any;
883
- timings: TreeseedTimingEntry[];
884
- transport: {
885
- railway: {
886
- reconcile: string;
887
- deploy: string;
888
- };
889
- };
890
- runtimeConfiguration: {
891
- updated: any;
892
- healthcheckPath: any;
893
- healthcheckTimeoutSeconds: any;
894
- runtimeMode: any;
895
- volume: any;
896
- } | null;
897
- deploymentId?: undefined;
898
724
  } | undefined)[];
899
725
  timings: TreeseedTimingEntry[];
900
726
  }>;
@@ -1,7 +1,7 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { spawnSync } from "node:child_process";
3
- import { mkdtempSync, readFileSync, rmSync, statSync, writeFileSync } from "node:fs";
4
- import { tmpdir } from "node:os";
3
+ import { runTreeseedGit } from "./git-runner.js";
4
+ import { mkdirSync, mkdtempSync, readFileSync, rmSync, statSync, writeFileSync } from "node:fs";
5
5
  import { basename, extname, join, resolve } from "node:path";
6
6
  import { elapsedMs, formatTimingMarkdown, formatTimingSummary } from "../../timing.js";
7
7
  import {
@@ -44,7 +44,6 @@ import {
44
44
  } from "./railway-deploy.js";
45
45
  import { loadCliDeployConfig, packageScriptPath } from "./runtime-tools.js";
46
46
  import { resolveTreeseedToolCommand } from "../../managed-dependencies.js";
47
- import { CloudflareQueuePullClient, CloudflareQueuePushClient } from "../../remote.js";
48
47
  import { runPrefixedCommand, runTreeseedBootstrapDag, sleep, writeTreeseedBootstrapLine } from "./bootstrap-runner.js";
49
48
  import { runTenantDeployPreflight } from "./save-deploy-preflight.js";
50
49
  const PROJECT_PLATFORM_BOOTSTRAP_SYSTEMS = ["data", "web", "api", "agents"];
@@ -111,18 +110,18 @@ function resolveScope(environment) {
111
110
  return scope;
112
111
  }
113
112
  function currentCommit(tenantRoot) {
114
- const result = spawnSync("git", ["rev-parse", "HEAD"], {
113
+ const result = runTreeseedGit(["rev-parse", "HEAD"], {
115
114
  cwd: tenantRoot,
116
- stdio: "pipe",
117
- encoding: "utf8"
115
+ mode: "read",
116
+ allowFailure: true
118
117
  });
119
118
  return result.status === 0 ? result.stdout.trim() : null;
120
119
  }
121
120
  function currentRef(tenantRoot) {
122
- const result = spawnSync("git", ["rev-parse", "--abbrev-ref", "HEAD"], {
121
+ const result = runTreeseedGit(["rev-parse", "--abbrev-ref", "HEAD"], {
123
122
  cwd: tenantRoot,
124
- stdio: "pipe",
125
- encoding: "utf8"
123
+ mode: "read",
124
+ allowFailure: true
126
125
  });
127
126
  return result.status === 0 ? result.stdout.trim() : null;
128
127
  }
@@ -372,6 +371,11 @@ function writeTempFile(root, name, body) {
372
371
  writeFileSync(filePath, body);
373
372
  return filePath;
374
373
  }
374
+ function projectPlatformTempRoot(tenantRoot, scope) {
375
+ const base = resolve(tenantRoot, ".treeseed", "tmp", scope);
376
+ mkdirSync(base, { recursive: true });
377
+ return base;
378
+ }
375
379
  function toBuffer(body) {
376
380
  if (typeof body === "string") {
377
381
  return Buffer.from(body);
@@ -382,7 +386,7 @@ function toBuffer(body) {
382
386
  return Buffer.from(body.buffer, body.byteOffset, body.byteLength);
383
387
  }
384
388
  function readR2JsonObject(tenantRoot, bucketName, objectKey, wranglerPath, wranglerEnv) {
385
- const tempRoot = mkdtempSync(join(tmpdir(), "treeseed-r2-read-"));
389
+ const tempRoot = mkdtempSync(join(projectPlatformTempRoot(tenantRoot, "r2-read"), "treeseed-r2-read-"));
386
390
  const filePath = resolve(tempRoot, basename(objectKey) || "payload.json");
387
391
  try {
388
392
  const result = runWrangler(tenantRoot, [
@@ -622,20 +626,6 @@ async function probeHttp(url, { attempts = 1, delayMs = 2e3 } = {}) {
622
626
  }
623
627
  return result;
624
628
  }
625
- function queueClientConfig(siteConfig, state) {
626
- const accountId = String(process.env.CLOUDFLARE_ACCOUNT_ID ?? siteConfig.cloudflare.accountId ?? "").trim();
627
- const queueId = state.queues?.agentWork?.queueId;
628
- const token = process.env.TREESEED_QUEUE_PUSH_TOKEN?.trim() || process.env.TREESEED_QUEUE_PULL_TOKEN?.trim() || process.env.CLOUDFLARE_API_TOKEN?.trim() || "";
629
- if (!accountId || !queueId || !token) {
630
- return null;
631
- }
632
- return {
633
- accountId,
634
- queueId,
635
- token,
636
- apiBaseUrl: process.env.TREESEED_QUEUE_API_BASE_URL?.trim() || void 0
637
- };
638
- }
639
629
  function findFirstMatchingString(value, matcher, seen = /* @__PURE__ */ new Set()) {
640
630
  if (typeof value === "string") {
641
631
  return matcher(value) ? value : null;
@@ -665,6 +655,9 @@ function findFirstMatchingString(value, matcher, seen = /* @__PURE__ */ new Set(
665
655
  return null;
666
656
  }
667
657
  function resolveImmediatePagesProbeUrl(siteConfig, state, target) {
658
+ if (target.kind === "persistent" && target.scope === "prod" && state.pages?.projectName) {
659
+ return `https://${state.pages.projectName}.pages.dev`;
660
+ }
668
661
  const configuredUrl = resolveConfiguredSurfaceBaseUrl(siteConfig, target, "web");
669
662
  if (configuredUrl) {
670
663
  return configuredUrl;
@@ -707,57 +700,6 @@ function resolveApiMonitorEndpoints(siteConfig, apiBaseUrl) {
707
700
  processingAgentApi: false
708
701
  };
709
702
  }
710
- async function probeQueue(siteConfig, state) {
711
- const config = queueClientConfig(siteConfig, state);
712
- if (!config) {
713
- return { ok: false, skipped: true, reason: "queue_probe_unconfigured" };
714
- }
715
- const pushClient = new CloudflareQueuePushClient(config);
716
- const pullClient = new CloudflareQueuePullClient(config);
717
- const messageId = `health-${Date.now()}`;
718
- await pushClient.enqueue({
719
- message: {
720
- messageId,
721
- taskId: messageId,
722
- workDayId: "health-check",
723
- agentId: "health-check",
724
- taskType: "health_check",
725
- idempotencyKey: messageId,
726
- payloadRef: "health",
727
- graphVersion: null,
728
- budgetHint: 0
729
- }
730
- });
731
- let pulled;
732
- try {
733
- pulled = await pullClient.pull({
734
- batchSize: 1,
735
- visibilityTimeoutMs: 1e4
736
- });
737
- } catch (error) {
738
- const detail = error instanceof Error ? error.message : String(error);
739
- if (/http_pull mode is enabled/iu.test(detail)) {
740
- return {
741
- ok: true,
742
- skipped: true,
743
- reason: "queue_push_only",
744
- messageId,
745
- detail
746
- };
747
- }
748
- throw error;
749
- }
750
- const message = pulled.messages.find((entry) => entry.body?.messageId === messageId) ?? pulled.messages[0] ?? null;
751
- if (!message) {
752
- return { ok: false, reason: "queue_pull_empty" };
753
- }
754
- await pullClient.ack([message.leaseId]);
755
- return {
756
- ok: true,
757
- messageId,
758
- attempts: message.attempts
759
- };
760
- }
761
703
  function r2HealthKey(state) {
762
704
  return `${state.content?.manifestKey?.replace(/\/common\.json$/u, "") ?? "health"}/healthchecks/${Date.now()}.json`;
763
705
  }
@@ -774,13 +716,13 @@ function deleteR2Object(tenantRoot, bucketName, objectKey, wranglerPath, wrangle
774
716
  }
775
717
  function probeR2(tenantRoot, siteConfig, state, target) {
776
718
  const bucketName = state.content?.bucketName;
777
- const cloudflareAccountId = String(process.env.CLOUDFLARE_ACCOUNT_ID ?? siteConfig.cloudflare.accountId ?? "").trim();
719
+ const cloudflareAccountId = String(process.env.TREESEED_CLOUDFLARE_ACCOUNT_ID ?? siteConfig.cloudflare.accountId ?? "").trim();
778
720
  if (!bucketName) {
779
721
  return { ok: false, skipped: true, reason: "r2_unconfigured" };
780
722
  }
781
723
  const { wranglerPath } = ensureGeneratedWranglerConfig(tenantRoot, { target });
782
724
  const wranglerEnv = { CLOUDFLARE_ACCOUNT_ID: cloudflareAccountId };
783
- const tempRoot = mkdtempSync(join(tmpdir(), "treeseed-r2-health-"));
725
+ const tempRoot = mkdtempSync(join(projectPlatformTempRoot(tenantRoot, "r2-health"), "treeseed-r2-health-"));
784
726
  const objectKey = r2HealthKey(state);
785
727
  try {
786
728
  const payload = JSON.stringify({ ok: true, createdAt: (/* @__PURE__ */ new Date()).toISOString() });
@@ -810,12 +752,10 @@ function probeR2(tenantRoot, siteConfig, state, target) {
810
752
  }
811
753
  }
812
754
  function probeScaleConfiguration(siteConfig, state) {
813
- const worker = state.services?.workerRunner ?? state.services?.worker ?? {};
814
- const workerConfig = siteConfig.services?.workerRunner ?? siteConfig.services?.worker ?? {};
815
755
  const marketRunner = state.services?.operationsRunner ?? {};
816
756
  const marketRunnerConfig = siteConfig.services?.operationsRunner ?? {};
817
757
  const scalerKind = String(process.env.TREESEED_WORKER_POOL_SCALER ?? "").trim();
818
- if (marketRunnerConfig.provider === "railway" && workerConfig.provider !== "railway") {
758
+ if (marketRunnerConfig.provider === "railway") {
819
759
  const runnerServiceId = marketRunner.serviceId ?? null;
820
760
  const runnerServiceName = marketRunner.serviceName ?? marketRunnerConfig.railway?.serviceName ?? null;
821
761
  return {
@@ -826,18 +766,18 @@ function probeScaleConfiguration(siteConfig, state) {
826
766
  runnerKind: "market_operations_runner"
827
767
  };
828
768
  }
829
- if (scalerKind !== "railway" && workerConfig.provider !== "railway") {
769
+ if (scalerKind !== "railway") {
830
770
  return {
831
771
  ok: true,
832
772
  skipped: true,
833
773
  reason: "scaler_unconfigured",
834
774
  mocked: true,
835
- serviceId: worker.serviceId ?? null
775
+ serviceId: null
836
776
  };
837
777
  }
838
- const serviceIdentifier = worker.serviceId || process.env.TREESEED_RAILWAY_WORKER_SERVICE_ID || worker.serviceName;
839
- const environmentIdentifier = process.env.TREESEED_RAILWAY_ENVIRONMENT_ID || worker.environment;
840
- const projectIdentifier = process.env.TREESEED_RAILWAY_PROJECT_ID || worker.projectId || worker.projectName;
778
+ const serviceIdentifier = process.env.TREESEED_RAILWAY_WORKER_SERVICE_ID;
779
+ const environmentIdentifier = process.env.TREESEED_RAILWAY_ENVIRONMENT_ID;
780
+ const projectIdentifier = process.env.TREESEED_RAILWAY_PROJECT_ID;
841
781
  return {
842
782
  ok: Boolean(serviceIdentifier && (environmentIdentifier || projectIdentifier)),
843
783
  mocked: true,
@@ -856,7 +796,7 @@ async function publishContent(options, reporter, publishOptions = {}) {
856
796
  const previewId = options.previewId ?? `staging-${sanitizeSegment(branchName, "preview")}-${sanitizeSegment(commitSha?.slice(0, 12), "latest")}`;
857
797
  const locator = resolveTeamScopedContentLocator(siteConfig, teamId);
858
798
  const { wranglerPath } = ensureGeneratedWranglerConfig(options.tenantRoot, { target });
859
- const wranglerEnv = { CLOUDFLARE_ACCOUNT_ID: String(process.env.CLOUDFLARE_ACCOUNT_ID ?? siteConfig.cloudflare.accountId ?? "").trim() };
799
+ const wranglerEnv = { CLOUDFLARE_ACCOUNT_ID: String(process.env.TREESEED_CLOUDFLARE_ACCOUNT_ID ?? siteConfig.cloudflare.accountId ?? "").trim() };
860
800
  const bucketName = String(process.env.TREESEED_CONTENT_BUCKET_NAME ?? siteConfig.cloudflare.r2?.bucketName ?? "").trim();
861
801
  if (!bucketName) {
862
802
  throw new Error("Treeseed content publish requires TREESEED_CONTENT_BUCKET_NAME to be configured.");
@@ -959,7 +899,7 @@ async function publishContent(options, reporter, publishOptions = {}) {
959
899
  contentPurgeUrls.add(absoluteUrl(siteConfig.siteUrl, freshnessPath) ?? "");
960
900
  }
961
901
  }
962
- const tempRoot = mkdtempSync(join(tmpdir(), "treeseed-content-publish-"));
902
+ const tempRoot = mkdtempSync(join(projectPlatformTempRoot(options.tenantRoot, "content-publish"), "treeseed-content-publish-"));
963
903
  try {
964
904
  if (!options.dryRun) {
965
905
  const uploadOptions = {
@@ -1123,12 +1063,11 @@ async function provisionProjectPlatform(options) {
1123
1063
  environment: options.scope,
1124
1064
  deploymentProfile: siteConfig.hosting?.kind ?? "self_hosted_project",
1125
1065
  baseUrl: state.lastDeployedUrl,
1126
- cloudflareAccountId: String(process.env.CLOUDFLARE_ACCOUNT_ID ?? siteConfig.cloudflare.accountId ?? "").trim() || null,
1066
+ cloudflareAccountId: String(process.env.TREESEED_CLOUDFLARE_ACCOUNT_ID ?? siteConfig.cloudflare.accountId ?? "").trim() || null,
1127
1067
  pagesProjectName: state.pages?.projectName ?? null,
1128
1068
  workerName: state.workerName,
1129
1069
  r2BucketName: state.content?.bucketName ?? null,
1130
1070
  d1DatabaseName: state.d1Databases?.SITE_DATA_DB?.databaseName ?? null,
1131
- queueName: state.queues?.agentWork?.name ?? null,
1132
1071
  railwayProjectName: railwayValidation.services[0]?.projectName ?? null,
1133
1072
  metadata: {
1134
1073
  target: deployTargetLabel(target),
@@ -1184,14 +1123,6 @@ async function provisionProjectPlatform(options) {
1184
1123
  logicalName: state.d1Databases?.SITE_DATA_DB?.databaseName ?? "site-data",
1185
1124
  locator: state.d1Databases?.SITE_DATA_DB?.databaseId ?? null,
1186
1125
  metadata: state.d1Databases?.SITE_DATA_DB ?? {}
1187
- },
1188
- {
1189
- environment: options.scope,
1190
- provider: "cloudflare",
1191
- resourceKind: "queue",
1192
- logicalName: state.queues?.agentWork?.name ?? "agent-work",
1193
- locator: state.queues?.agentWork?.binding ?? null,
1194
- metadata: state.queues?.agentWork ?? {}
1195
1126
  }
1196
1127
  ];
1197
1128
  for (const resource of resourceReports) {
@@ -1510,14 +1441,14 @@ async function monitorProjectPlatform(options) {
1510
1441
  const skippedApiCheck = apiSelected ? { ok: false, skipped: true, reason: "api_url_unconfigured" } : { ok: true, skipped: true, reason: "api_not_selected" };
1511
1442
  const skippedAgentCheck = agentsSelected ? { ok: false, skipped: true, reason: "api_url_unconfigured" } : { ok: true, skipped: true, reason: "agents_not_selected" };
1512
1443
  const skippedD1Check = apiMonitorEndpoints.processingAgentApi ? { ok: true, skipped: true, reason: "processing_agent_api" } : skippedApiCheck;
1444
+ const pagesProbeOptions = options.scope === "prod" ? { attempts: 18, delayMs: 1e4 } : { attempts: 3, delayMs: 5e3 };
1513
1445
  const checks = {
1514
- pages: timedPhase(timings, "monitor:probe-pages", () => probeHttp(webProbeUrl, { attempts: 3, delayMs: 5e3 })),
1446
+ pages: timedPhase(timings, "monitor:probe-pages", () => probeHttp(webProbeUrl, pagesProbeOptions)),
1515
1447
  apiHealth: apiSelected && apiMonitorEndpoints.apiHealth ? timedPhase(timings, "monitor:probe-api-health", () => probeHttp(apiMonitorEndpoints.apiHealth, { attempts: 8, delayMs: 1e4 })) : Promise.resolve(skippedApiCheck),
1516
1448
  apiReady: apiSelected && apiMonitorEndpoints.apiReady ? timedPhase(timings, "monitor:probe-api-ready", () => probeHttp(apiMonitorEndpoints.apiReady, { attempts: 8, delayMs: 1e4 })) : Promise.resolve(skippedApiCheck),
1517
1449
  d1Health: apiSelected && apiMonitorEndpoints.d1Health ? timedPhase(timings, "monitor:probe-d1-health", () => probeHttp(apiMonitorEndpoints.d1Health, { attempts: 8, delayMs: 1e4 })) : Promise.resolve(skippedD1Check),
1518
1450
  agentHealth: agentsSelected && apiMonitorEndpoints.agentHealth ? timedPhase(timings, "monitor:probe-agent-health", () => probeHttp(apiMonitorEndpoints.agentHealth, { attempts: 8, delayMs: 1e4 })) : Promise.resolve(skippedAgentCheck),
1519
1451
  r2: options.dryRun ? Promise.resolve({ ok: true, skipped: true, reason: "dry_run" }) : timedPhase(timings, "monitor:probe-r2", () => probeR2(options.tenantRoot, siteConfig, state, target)),
1520
- queue: options.dryRun ? Promise.resolve({ ok: true, skipped: true, reason: "dry_run" }) : timedPhase(timings, "monitor:probe-queue", () => probeQueue(siteConfig, state)),
1521
1452
  scaleProbe: timedPhase(timings, "monitor:probe-scale", () => probeScaleConfiguration(siteConfig, state)),
1522
1453
  railwayResources: Promise.resolve(railwayResourcesPromise),
1523
1454
  readiness: state.readiness,
@@ -1535,7 +1466,6 @@ async function monitorProjectPlatform(options) {
1535
1466
  d1Health: await checks.d1Health,
1536
1467
  agentHealth: await checks.agentHealth,
1537
1468
  r2: await checks.r2,
1538
- queue: await checks.queue,
1539
1469
  scaleProbe: await checks.scaleProbe,
1540
1470
  railwayResources: await checks.railwayResources
1541
1471
  };
@@ -1546,7 +1476,6 @@ async function monitorProjectPlatform(options) {
1546
1476
  resolvedChecks.d1Health,
1547
1477
  resolvedChecks.agentHealth,
1548
1478
  resolvedChecks.r2,
1549
- resolvedChecks.queue,
1550
1479
  resolvedChecks.scaleProbe,
1551
1480
  resolvedChecks.railwayResources
1552
1481
  ].every((check) => check?.ok === true || check?.skipped === true);
@@ -1586,12 +1515,11 @@ async function syncControlPlaneState(options) {
1586
1515
  environment: options.scope,
1587
1516
  deploymentProfile: siteConfig.hosting?.kind ?? "self_hosted_project",
1588
1517
  baseUrl: state.lastDeployedUrl,
1589
- cloudflareAccountId: String(process.env.CLOUDFLARE_ACCOUNT_ID ?? siteConfig.cloudflare.accountId ?? "").trim() || null,
1518
+ cloudflareAccountId: String(process.env.TREESEED_CLOUDFLARE_ACCOUNT_ID ?? siteConfig.cloudflare.accountId ?? "").trim() || null,
1590
1519
  pagesProjectName: state.pages?.projectName ?? null,
1591
1520
  workerName: state.workerName,
1592
1521
  r2BucketName: state.content?.bucketName ?? null,
1593
1522
  d1DatabaseName: state.d1Databases?.SITE_DATA_DB?.databaseName ?? null,
1594
- queueName: state.queues?.agentWork?.name ?? null,
1595
1523
  railwayProjectName: state.services.api?.provider === "railway" ? state.services.api?.lastDeployedUrl ?? null : null,
1596
1524
  metadata: { target: deployTargetLabel(target) }
1597
1525
  });
@@ -1,5 +1,5 @@
1
- import { type GitHubApiClient } from './github-api.ts';
2
- import type { ProjectDeploymentEnvironment, ProjectWebMonitorResult } from '../../sdk-types.ts';
1
+ import { type GitHubApiClient } from './github-api.js';
2
+ import type { ProjectDeploymentEnvironment, ProjectWebMonitorResult } from '../../sdk-types.js';
3
3
  export declare function buildProjectWebMonitorResult(input: {
4
4
  environment: ProjectDeploymentEnvironment;
5
5
  action?: string | null;