@treeseed/sdk 0.11.0 → 0.12.4

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 +627 -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 +63 -0
  180. package/dist/platform/desired-state.js +1021 -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
@@ -26,7 +26,7 @@ function formatVerificationFailure(verification) {
26
26
  ].filter(Boolean);
27
27
  return details.length > 0 ? `Verification failed (${details.join(" | ")})` : "Verification failed.";
28
28
  }
29
- function createRunContext(tenantRoot, target, launchEnv, write, dryRun = false) {
29
+ function createRunContext(tenantRoot, target, launchEnv, write, dryRun = false, session) {
30
30
  const { deployConfig } = deriveTreeseedDesiredUnits({ tenantRoot, target });
31
31
  return {
32
32
  tenantRoot,
@@ -35,9 +35,75 @@ function createRunContext(tenantRoot, target, launchEnv, write, dryRun = false)
35
35
  launchEnv,
36
36
  dryRun,
37
37
  write,
38
- session: /* @__PURE__ */ new Map()
38
+ session: session ?? /* @__PURE__ */ new Map()
39
39
  };
40
40
  }
41
+ function normalizeSelectorValues(values) {
42
+ return new Set((values ?? []).map((value) => value.trim()).filter(Boolean));
43
+ }
44
+ function unitSelectorValues(unit) {
45
+ const metadata = unit.metadata ?? {};
46
+ const spec = unit.spec ?? {};
47
+ const serviceKey = typeof metadata.serviceKey === "string" ? metadata.serviceKey : null;
48
+ const placement = typeof metadata.placement === "string" ? metadata.placement : null;
49
+ const appId = typeof metadata.applicationId === "string" ? metadata.applicationId : typeof metadata.appId === "string" ? metadata.appId : typeof spec.applicationId === "string" ? spec.applicationId : null;
50
+ const packageId = typeof metadata.packageId === "string" ? metadata.packageId : appId;
51
+ const serviceName = typeof spec.serviceName === "string" ? spec.serviceName : null;
52
+ const serviceId = typeof metadata.serviceId === "string" ? metadata.serviceId : typeof spec.serviceId === "string" ? spec.serviceId : null;
53
+ return {
54
+ provider: unit.provider,
55
+ unitType: unit.unitType,
56
+ unitId: unit.unitId,
57
+ serviceIds: [
58
+ unit.logicalName,
59
+ serviceId,
60
+ serviceKey,
61
+ serviceName,
62
+ unit.unitType.startsWith("railway-service:") ? unit.unitType.slice("railway-service:".length) : null,
63
+ unit.unitType.endsWith("-runtime") ? unit.logicalName : null
64
+ ].filter((value) => Boolean(value)),
65
+ serviceTypes: [unit.unitType],
66
+ placements: [placement].filter((value) => Boolean(value)),
67
+ appIds: [appId].filter((value) => Boolean(value)),
68
+ packageIds: [packageId].filter((value) => Boolean(value))
69
+ };
70
+ }
71
+ function unitMatchesSelector(unit, selector) {
72
+ if (!selector) return true;
73
+ const values = unitSelectorValues(unit);
74
+ const provider = normalizeSelectorValues(selector.provider ?? selector.host);
75
+ const unitIds = normalizeSelectorValues(selector.unitId);
76
+ const unitTypes = normalizeSelectorValues([
77
+ ...selector.unitType ?? [],
78
+ ...selector.resourceKind ?? []
79
+ ]);
80
+ const serviceIds = normalizeSelectorValues(selector.serviceId);
81
+ const serviceTypes = normalizeSelectorValues(selector.serviceType);
82
+ const placements = normalizeSelectorValues(selector.placement);
83
+ const appIds = normalizeSelectorValues(selector.appId);
84
+ const packageIds = normalizeSelectorValues(selector.packageId);
85
+ const has = (needle, haystack) => needle.size === 0 || haystack.some((entry) => needle.has(entry));
86
+ return has(provider, [values.provider]) && has(unitIds, [values.unitId]) && has(unitTypes, [values.unitType]) && has(serviceIds, values.serviceIds) && has(serviceTypes, values.serviceTypes) && has(placements, values.placements) && has(appIds, values.appIds) && has(packageIds, values.packageIds);
87
+ }
88
+ function includeDependencies(units, selected) {
89
+ const byId = new Map(units.map((unit) => [unit.unitId, unit]));
90
+ const included = new Map(selected.map((unit) => [unit.unitId, unit]));
91
+ const visit = (unit) => {
92
+ for (const dependencyId of unit.dependencies) {
93
+ const dependency = byId.get(dependencyId);
94
+ if (!dependency || included.has(dependency.unitId)) continue;
95
+ included.set(dependency.unitId, dependency);
96
+ visit(dependency);
97
+ }
98
+ };
99
+ for (const unit of selected) visit(unit);
100
+ return units.filter((unit) => included.has(unit.unitId));
101
+ }
102
+ function filterUnitsBySelector(units, selector) {
103
+ if (!selector) return units;
104
+ const selected = units.filter((unit) => unitMatchesSelector(unit, selector));
105
+ return includeDependencies(units, selected);
106
+ }
41
107
  function dependencyLevels(units) {
42
108
  const remaining = new Map(units.map((unit) => [unit.unitId, unit]));
43
109
  const completed = /* @__PURE__ */ new Set();
@@ -129,10 +195,13 @@ async function refreshTreeseedUnits({
129
195
  target,
130
196
  env = process.env,
131
197
  systems,
198
+ selector,
199
+ units: explicitUnits,
132
200
  write
133
201
  }) {
134
202
  const derived = deriveTreeseedDesiredUnits({ tenantRoot, target });
135
- const units = filterTreeseedDesiredUnitsByBootstrapSystems(derived.units, systems);
203
+ const baseUnits = explicitUnits ?? filterTreeseedDesiredUnitsByBootstrapSystems(derived.units, systems);
204
+ const units = filterUnitsBySelector(baseUnits, selector);
136
205
  const deployConfig = derived.deployConfig;
137
206
  const registry = createTreeseedReconcileRegistry(deployConfig);
138
207
  const reconcileState = loadTreeseedReconcileState(tenantRoot, target);
@@ -166,9 +235,11 @@ async function planTreeseedReconciliation({
166
235
  target,
167
236
  env = process.env,
168
237
  systems,
238
+ selector,
239
+ units,
169
240
  write
170
241
  }) {
171
- const observed = await refreshTreeseedUnits({ tenantRoot, target, env, systems, write });
242
+ const observed = await refreshTreeseedUnits({ tenantRoot, target, env, systems, selector, units, write });
172
243
  const registry = createTreeseedReconcileRegistry(observed.deployConfig);
173
244
  const context = createRunContext(tenantRoot, target, env, write);
174
245
  const plans = [];
@@ -204,12 +275,15 @@ async function reconcileTreeseedTarget({
204
275
  target,
205
276
  env = process.env,
206
277
  systems,
278
+ selector,
279
+ units,
207
280
  write,
208
- dryRun = false
281
+ dryRun = false,
282
+ session
209
283
  }) {
210
- const planned = await planTreeseedReconciliation({ tenantRoot, target, env, systems, write });
284
+ const planned = await planTreeseedReconciliation({ tenantRoot, target, env, systems, selector, units, write });
211
285
  const registry = createTreeseedReconcileRegistry(planned.deployConfig);
212
- const context = createRunContext(tenantRoot, target, env, write, dryRun);
286
+ const context = createRunContext(tenantRoot, target, env, write, dryRun, session);
213
287
  const results = [];
214
288
  const verificationMap = /* @__PURE__ */ new Map();
215
289
  const timingEntries = [];
@@ -298,6 +372,35 @@ async function reconcileTreeseedTarget({
298
372
  unitTiming.status = "failed";
299
373
  wrapAdapterFailure("apply", plan.unit.provider, plan.unit.unitType, plan.unit.unitId, error);
300
374
  }
375
+ let refreshedObserved = result.observed;
376
+ if (!dryRun) {
377
+ try {
378
+ const stageStartMs = performance.now();
379
+ refreshedObserved = await Promise.resolve(adapter.refresh({
380
+ context,
381
+ unit: plan.unit,
382
+ persistedState: persisted
383
+ }));
384
+ result = {
385
+ ...result,
386
+ observed: refreshedObserved
387
+ };
388
+ unitTiming.children?.push({
389
+ name: `${unitTiming.name}:refresh-after-apply`,
390
+ durationMs: elapsedMs(stageStartMs),
391
+ status: "success"
392
+ });
393
+ } catch (error) {
394
+ unitTiming.children?.push({
395
+ name: `${unitTiming.name}:refresh-after-apply`,
396
+ durationMs: elapsedMs(unitStartMs),
397
+ status: "failed"
398
+ });
399
+ unitTiming.durationMs = elapsedMs(unitStartMs);
400
+ unitTiming.status = "failed";
401
+ wrapAdapterFailure("refresh", plan.unit.provider, plan.unit.unitType, plan.unit.unitId, error);
402
+ }
403
+ }
301
404
  write?.(`Verifying ${plan.unit.provider}:${plan.unit.unitType} (${plan.unit.logicalName})...`);
302
405
  const postconditions = await Promise.resolve(adapter.requiredPostconditions?.({
303
406
  context,
@@ -311,7 +414,7 @@ async function reconcileTreeseedTarget({
311
414
  context,
312
415
  unit: plan.unit,
313
416
  persistedState: persisted,
314
- observed: result.observed,
417
+ observed: refreshedObserved,
315
418
  diff: plan.diff,
316
419
  result,
317
420
  postconditions
@@ -370,9 +473,12 @@ async function destroyTreeseedTargetUnits({
370
473
  tenantRoot,
371
474
  target,
372
475
  env = process.env,
476
+ selector,
477
+ units: explicitUnits,
373
478
  write
374
479
  }) {
375
- const { units, deployConfig } = deriveTreeseedDesiredUnits({ tenantRoot, target });
480
+ const { units: allUnits, deployConfig } = deriveTreeseedDesiredUnits({ tenantRoot, target });
481
+ const units = filterUnitsBySelector(explicitUnits ?? allUnits, selector);
376
482
  const registry = createTreeseedReconcileRegistry(deployConfig);
377
483
  const reconcileState = loadTreeseedReconcileState(tenantRoot, target);
378
484
  const context = createRunContext(tenantRoot, target, env, write);
@@ -413,11 +519,14 @@ async function collectTreeseedReconcileStatus({
413
519
  tenantRoot,
414
520
  target,
415
521
  env = process.env,
416
- systems
522
+ systems,
523
+ selector,
524
+ units,
525
+ session
417
526
  }) {
418
- const observed = await refreshTreeseedUnits({ tenantRoot, target, env, systems });
527
+ const observed = await refreshTreeseedUnits({ tenantRoot, target, env, systems, selector, units });
419
528
  const registry = createTreeseedReconcileRegistry(observed.deployConfig);
420
- const context = createRunContext(tenantRoot, target, env);
529
+ const context = createRunContext(tenantRoot, target, env, void 0, false, session);
421
530
  const plans = await Promise.all(observed.units.map(async (unit) => {
422
531
  const adapter = registry.get(unit.unitType, unit.provider);
423
532
  const persisted = ensureTreeseedPersistedUnitState(observed.state, unit);
@@ -441,7 +550,7 @@ async function collectTreeseedReconcileStatus({
441
550
  context,
442
551
  state: observed.state
443
552
  });
444
- const units = observed.units.map((unit) => {
553
+ const unitStatuses = observed.units.map((unit) => {
445
554
  const observation = observed.observations.get(unit.unitId);
446
555
  const verification = verificationResults.get(unit.unitId)?.verification ?? null;
447
556
  return {
@@ -455,21 +564,76 @@ async function collectTreeseedReconcileStatus({
455
564
  verification
456
565
  };
457
566
  });
458
- const ready = units.every((unit) => unit.verification?.verified === true);
459
- const blockers = units.filter((unit) => unit.verification?.verified !== true).map((unit) => `Reconcile unit ${unit.provider}:${unit.unitType} is unverified: ${formatVerificationFailure(unit.verification)}.`);
460
- const warnings = units.flatMap((unit) => unit.warnings);
567
+ const ready = unitStatuses.every((unit) => unit.verification?.verified === true);
568
+ const blockers = unitStatuses.filter((unit) => unit.verification?.verified !== true).map((unit) => `Reconcile unit ${unit.provider}:${unit.unitType} is unverified: ${formatVerificationFailure(unit.verification)}.`);
569
+ const warnings = unitStatuses.flatMap((unit) => unit.warnings);
461
570
  return {
462
571
  target,
463
572
  ready,
464
573
  blockers,
465
574
  warnings,
466
- units
575
+ units: unitStatuses
467
576
  };
468
577
  }
578
+ async function reconcileTreeseedNestedTarget({
579
+ parentContext,
580
+ selector,
581
+ target,
582
+ dryRun
583
+ }) {
584
+ const previousVerificationResults = parentContext.session.get("treeseed:verification-results");
585
+ const previousTimings = parentContext.session.get("treeseed:timings");
586
+ try {
587
+ return await reconcileTreeseedTarget({
588
+ tenantRoot: parentContext.tenantRoot,
589
+ target,
590
+ env: parentContext.launchEnv,
591
+ selector,
592
+ write: parentContext.write,
593
+ dryRun,
594
+ session: parentContext.session
595
+ });
596
+ } finally {
597
+ if (previousVerificationResults === void 0) {
598
+ parentContext.session.delete("treeseed:verification-results");
599
+ } else {
600
+ parentContext.session.set("treeseed:verification-results", previousVerificationResults);
601
+ }
602
+ if (previousTimings === void 0) {
603
+ parentContext.session.delete("treeseed:timings");
604
+ } else {
605
+ parentContext.session.set("treeseed:timings", previousTimings);
606
+ }
607
+ }
608
+ }
609
+ async function verifyTreeseedNestedTarget({
610
+ parentContext,
611
+ selector,
612
+ target
613
+ }) {
614
+ const previousVerificationResults = parentContext.session.get("treeseed:verification-results");
615
+ try {
616
+ return await collectTreeseedReconcileStatus({
617
+ tenantRoot: parentContext.tenantRoot,
618
+ target,
619
+ env: parentContext.launchEnv,
620
+ selector,
621
+ session: parentContext.session
622
+ });
623
+ } finally {
624
+ if (previousVerificationResults === void 0) {
625
+ parentContext.session.delete("treeseed:verification-results");
626
+ } else {
627
+ parentContext.session.set("treeseed:verification-results", previousVerificationResults);
628
+ }
629
+ }
630
+ }
469
631
  export {
470
632
  collectTreeseedReconcileStatus,
471
633
  destroyTreeseedTargetUnits,
472
634
  planTreeseedReconciliation,
635
+ reconcileTreeseedNestedTarget,
473
636
  reconcileTreeseedTarget,
474
- refreshTreeseedUnits
637
+ refreshTreeseedUnits,
638
+ verifyTreeseedNestedTarget
475
639
  };
@@ -1,10 +1,10 @@
1
- export * from './contracts.ts';
2
- export * from './platform.ts';
3
- export * from './bootstrap-systems.ts';
4
- export * from './desired-state.ts';
5
- export * from './engine.ts';
6
- export * from './errors.ts';
7
- export * from './live-acceptance.ts';
8
- export * from './registry.ts';
9
- export * from './state.ts';
10
- export * from './units.ts';
1
+ export * from './contracts.js';
2
+ export * from './platform.js';
3
+ export * from './bootstrap-systems.js';
4
+ export * from './desired-state.js';
5
+ export * from './engine.js';
6
+ export * from './errors.js';
7
+ export * from './live-acceptance.js';
8
+ export * from './registry.js';
9
+ export * from './state.js';
10
+ export * from './units.js';
@@ -1,4 +1,6 @@
1
- import { type TreeseedCanonicalAction, type TreeseedCanonicalDrift, type TreeseedCanonicalGraphNode, type TreeseedCanonicalReconcileReport } from './platform.ts';
1
+ import { type TreeseedCanonicalAction, type TreeseedCanonicalDrift, type TreeseedCanonicalGraphNode, type TreeseedCanonicalReconcileReport } from './platform.js';
2
+ import type { TreeseedDesiredResource } from '../platform/desired-state.js';
3
+ import type { TreeseedReconcileSelector } from './contracts.js';
2
4
  export type TreeseedLiveReconcileProvider = 'railway' | 'cloudflare' | 'github' | 'local';
3
5
  export type TreeseedLiveReconcileMode = 'smoke' | 'acceptance' | 'cleanup';
4
6
  export type TreeseedLiveReconcileEnvironment = 'local' | 'staging' | 'prod';
@@ -52,6 +54,18 @@ export interface TreeseedLiveReconcileRunResult {
52
54
  providers: TreeseedLiveReconcileProviderReport[];
53
55
  ok: boolean;
54
56
  }
57
+ export interface TreeseedLiveAcceptanceScenario {
58
+ id: string;
59
+ provider: TreeseedLiveReconcileProvider;
60
+ capability: string;
61
+ desiredResources: TreeseedDesiredResource[];
62
+ selector: TreeseedReconcileSelector;
63
+ expectedActions: TreeseedCanonicalAction['kind'][];
64
+ cleanupSelector: TreeseedReconcileSelector;
65
+ required: boolean;
66
+ probeOnly?: boolean;
67
+ cleanupRequired: boolean;
68
+ }
55
69
  export interface TreeseedLiveReconcileProgressEvent {
56
70
  provider: TreeseedLiveReconcileProvider;
57
71
  mode: TreeseedLiveReconcileMode;
@@ -74,6 +88,13 @@ export interface RunTreeseedLiveReconcileTestsOptions {
74
88
  fetchImpl?: typeof fetch;
75
89
  onProgress?: (event: TreeseedLiveReconcileProgressEvent) => void;
76
90
  }
91
+ export declare function compileTreeseedLiveAcceptanceScenarios(input: {
92
+ tenantRoot: string;
93
+ environment: TreeseedLiveReconcileEnvironment;
94
+ provider: TreeseedLiveReconcileProvider | 'all';
95
+ mode: TreeseedLiveReconcileMode;
96
+ runId: string;
97
+ }): TreeseedLiveAcceptanceScenario[];
77
98
  export declare function treeseedLiveReconcileProviderCapabilities(provider: TreeseedLiveReconcileProvider): string[];
78
99
  export declare function treeseedLiveReconcileResourcePrefix(environment: TreeseedLiveReconcileEnvironment, provider: TreeseedLiveReconcileProvider, runId: string): string;
79
100
  export declare function runTreeseedLiveReconcileTests(options: RunTreeseedLiveReconcileTestsOptions): Promise<TreeseedLiveReconcileRunResult>;