@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
@@ -0,0 +1,54 @@
1
+ export type DockerCommandResult = {
2
+ ok: boolean;
3
+ status: number | null;
4
+ stdout: string;
5
+ stderr: string;
6
+ args: string[];
7
+ };
8
+ export declare function inspectDockerAvailability(): {
9
+ available: boolean;
10
+ buildxAvailable: boolean;
11
+ version: string | null;
12
+ buildx: string | null;
13
+ warnings: string[];
14
+ };
15
+ export declare function inspectDockerImage(tag: string): Record<string, unknown> | null;
16
+ export declare function inspectDockerManifest(ref: string): {
17
+ ref: string;
18
+ output: string;
19
+ } | null;
20
+ export declare function buildDockerImage(input: {
21
+ tenantRoot: string;
22
+ packageRoot: string;
23
+ context: string;
24
+ dockerfile: string;
25
+ target?: string | null;
26
+ platforms: string[];
27
+ tags: string[];
28
+ labels?: Record<string, string>;
29
+ buildArgs?: Record<string, string>;
30
+ push?: boolean;
31
+ load?: boolean;
32
+ provenance?: boolean;
33
+ env?: NodeJS.ProcessEnv;
34
+ }): {
35
+ contextPath: string;
36
+ dockerfilePath: string;
37
+ tags: string[];
38
+ platforms: string[];
39
+ ok: boolean;
40
+ status: number | null;
41
+ stdout: string;
42
+ stderr: string;
43
+ args: string[];
44
+ };
45
+ export declare function runDockerCompose(input: {
46
+ composeFile?: string;
47
+ composeFiles?: string[];
48
+ projectName: string;
49
+ cwd: string;
50
+ env?: NodeJS.ProcessEnv;
51
+ profiles?: string[];
52
+ buildPolicy?: 'never' | 'missing' | 'always';
53
+ action: 'config' | 'ps' | 'up' | 'down' | 'restart' | 'logs';
54
+ }): DockerCommandResult;
@@ -0,0 +1,101 @@
1
+ import { spawnSync } from "node:child_process";
2
+ import { existsSync } from "node:fs";
3
+ import { resolve } from "node:path";
4
+ function runDocker(args, options = {}) {
5
+ const result = spawnSync("docker", args, {
6
+ cwd: options.cwd,
7
+ env: { ...process.env, ...options.env ?? {} },
8
+ encoding: "utf8"
9
+ });
10
+ return {
11
+ ok: (result.status ?? 1) === 0,
12
+ status: result.status,
13
+ stdout: result.stdout ?? "",
14
+ stderr: result.stderr ?? "",
15
+ args
16
+ };
17
+ }
18
+ function inspectDockerAvailability() {
19
+ const version = runDocker(["version", "--format", "{{.Server.Version}}"]);
20
+ const buildx = runDocker(["buildx", "version"]);
21
+ return {
22
+ available: version.ok,
23
+ buildxAvailable: buildx.ok,
24
+ version: version.stdout.trim() || null,
25
+ buildx: buildx.stdout.trim() || null,
26
+ warnings: [
27
+ ...version.ok ? [] : ["Docker is not available in this shell"],
28
+ ...buildx.ok ? [] : ["Docker Buildx is not available in this shell"]
29
+ ]
30
+ };
31
+ }
32
+ function inspectDockerImage(tag) {
33
+ const result = runDocker(["image", "inspect", tag]);
34
+ if (!result.ok) return null;
35
+ try {
36
+ const parsed = JSON.parse(result.stdout);
37
+ return parsed[0] ?? null;
38
+ } catch {
39
+ return { raw: result.stdout };
40
+ }
41
+ }
42
+ function inspectDockerManifest(ref) {
43
+ const result = runDocker(["buildx", "imagetools", "inspect", ref]);
44
+ return result.ok ? { ref, output: result.stdout } : null;
45
+ }
46
+ function buildDockerImage(input) {
47
+ const packageRoot = resolve(input.packageRoot);
48
+ const contextPath = resolve(packageRoot, input.context || ".");
49
+ const dockerfilePath = resolve(packageRoot, input.dockerfile || "Dockerfile");
50
+ if (!existsSync(dockerfilePath)) {
51
+ throw new Error(`Dockerfile does not exist: ${dockerfilePath}`);
52
+ }
53
+ const args = [
54
+ "buildx",
55
+ "build",
56
+ "--file",
57
+ dockerfilePath,
58
+ "--platform",
59
+ input.platforms.join(","),
60
+ ...input.target ? ["--target", input.target] : [],
61
+ ...input.tags.flatMap((tag) => ["--tag", tag]),
62
+ ...Object.entries(input.labels ?? {}).flatMap(([key, value]) => ["--label", `${key}=${value}`]),
63
+ ...Object.entries(input.buildArgs ?? {}).flatMap(([key, value]) => ["--build-arg", `${key}=${value}`]),
64
+ ...input.push ? ["--push"] : [],
65
+ ...input.load ? ["--load"] : [],
66
+ ...input.provenance === false ? ["--provenance=false"] : [],
67
+ contextPath
68
+ ];
69
+ const result = runDocker(args, { cwd: packageRoot, env: input.env });
70
+ if (!result.ok) {
71
+ throw new Error(result.stderr.trim() || result.stdout.trim() || `docker ${args.join(" ")} failed`);
72
+ }
73
+ return {
74
+ ...result,
75
+ contextPath,
76
+ dockerfilePath,
77
+ tags: input.tags,
78
+ platforms: input.platforms
79
+ };
80
+ }
81
+ function runDockerCompose(input) {
82
+ const composeFiles = input.composeFiles?.length ? input.composeFiles : input.composeFile ? [input.composeFile] : [];
83
+ const profileArgs = (input.profiles ?? []).flatMap((profile) => ["--profile", profile]);
84
+ const buildArgs = input.buildPolicy === "always" ? ["--build"] : input.buildPolicy === "never" ? ["--no-build"] : [];
85
+ const base = [
86
+ "compose",
87
+ ...profileArgs,
88
+ ...composeFiles.flatMap((composeFile) => ["-f", composeFile]),
89
+ "-p",
90
+ input.projectName
91
+ ];
92
+ const args = input.action === "config" ? [...base, "config", "--hash"] : input.action === "ps" ? [...base, "ps", "--format", "json"] : input.action === "up" ? [...base, "up", "-d", ...buildArgs] : input.action === "down" ? [...base, "down"] : input.action === "restart" ? [...base, "up", "-d", ...buildArgs, "--force-recreate"] : [...base, "logs", "--tail", "200"];
93
+ return runDocker(args, { cwd: input.cwd, env: input.env });
94
+ }
95
+ export {
96
+ buildDockerImage,
97
+ inspectDockerAvailability,
98
+ inspectDockerImage,
99
+ inspectDockerManifest,
100
+ runDockerCompose
101
+ };
@@ -0,0 +1,65 @@
1
+ export declare function createReconcileGitHubClient(env: NodeJS.ProcessEnv | Record<string, string | undefined>): import("@octokit/core").Octokit & {
2
+ paginate: import("@octokit/plugin-paginate-rest").PaginateInterface;
3
+ } & import("@octokit/plugin-paginate-graphql").paginateGraphQLInterface & import("@octokit/plugin-rest-endpoint-methods").Api & {
4
+ retry: {
5
+ retryRequest: (error: import("octokit").RequestError, retries: number, retryAfter: number) => import("octokit").RequestError;
6
+ };
7
+ };
8
+ export declare function observeGitHubEnvironment(repository: string, environment: string, env: NodeJS.ProcessEnv | Record<string, string | undefined>): Promise<{
9
+ exists: boolean;
10
+ repository: string;
11
+ environment: string;
12
+ secretNames: string[];
13
+ variableNames: string[];
14
+ authAvailable?: undefined;
15
+ error?: undefined;
16
+ } | {
17
+ exists: boolean;
18
+ authAvailable: boolean;
19
+ repository: string;
20
+ environment: string;
21
+ secretNames: never[];
22
+ variableNames: never[];
23
+ error: string;
24
+ }>;
25
+ export declare function ensureReconcileGitHubEnvironment(repository: string, environment: string, branchName: string | null, env: NodeJS.ProcessEnv | Record<string, string | undefined>): Promise<{
26
+ repository: string;
27
+ environment: string;
28
+ }>;
29
+ export declare function upsertReconcileGitHubSecret(repository: string, environment: string, name: string, value: string, env: NodeJS.ProcessEnv | Record<string, string | undefined>): Promise<void>;
30
+ export declare function upsertReconcileGitHubVariable(repository: string, environment: string, name: string, value: string, env: NodeJS.ProcessEnv | Record<string, string | undefined>): Promise<void>;
31
+ export declare function observeGitHubWorkflowRun(input: {
32
+ repository: string;
33
+ workflow: string;
34
+ branch?: string | null;
35
+ env: NodeJS.ProcessEnv | Record<string, string | undefined>;
36
+ }): Promise<import("../../workflow-support.js").GitHubWorkflowRunSummary | {
37
+ authAvailable: boolean;
38
+ error: string;
39
+ } | null>;
40
+ export declare function dispatchReconcileGitHubWorkflow(input: {
41
+ repository: string;
42
+ workflow: string;
43
+ branch: string;
44
+ inputs?: Record<string, string>;
45
+ wait?: boolean;
46
+ timeoutMs?: number;
47
+ env: NodeJS.ProcessEnv | Record<string, string | undefined>;
48
+ }): Promise<{
49
+ dispatch: import("../../workflow-support.js").GitHubWorkflowDispatchResult;
50
+ latest: import("../../workflow-support.js").GitHubWorkflowRunSummary | null;
51
+ completed: {
52
+ status: string;
53
+ repository: string;
54
+ workflow: string;
55
+ runId: number;
56
+ headSha: string | null;
57
+ branch: string | null;
58
+ createdAt: string | null;
59
+ updatedAt: string | null;
60
+ conclusion: string | null;
61
+ url: string | null;
62
+ jobs: import("../../operations/services/github-api.js").GitHubWorkflowJobSummary[];
63
+ failedJobs: import("../../operations/services/github-api.js").GitHubWorkflowJobSummary[];
64
+ } | null;
65
+ }>;
@@ -0,0 +1,119 @@
1
+ import {
2
+ createGitHubApiClient,
3
+ dispatchGitHubWorkflowRun,
4
+ ensureGitHubActionsEnvironment,
5
+ getLatestGitHubWorkflowRun,
6
+ listGitHubEnvironmentSecretNames,
7
+ listGitHubEnvironmentVariableNames,
8
+ upsertGitHubEnvironmentSecret,
9
+ upsertGitHubEnvironmentVariable,
10
+ waitForGitHubWorkflowRunCompletion
11
+ } from "../../operations/services/github-api.js";
12
+ function createReconcileGitHubClient(env) {
13
+ return createGitHubApiClient({ env });
14
+ }
15
+ function isGitHubAuthError(message) {
16
+ return /authentication failed|bad credentials|requires authentication|401|403|forbidden/iu.test(message);
17
+ }
18
+ async function observeGitHubEnvironment(repository, environment, env) {
19
+ const client = createReconcileGitHubClient(env);
20
+ try {
21
+ const [secretNames, variableNames] = await Promise.all([
22
+ listGitHubEnvironmentSecretNames(repository, environment, { client }),
23
+ listGitHubEnvironmentVariableNames(repository, environment, { client })
24
+ ]);
25
+ return {
26
+ exists: true,
27
+ repository,
28
+ environment,
29
+ secretNames: [...secretNames].sort(),
30
+ variableNames: [...variableNames].sort()
31
+ };
32
+ } catch (error) {
33
+ const message = error instanceof Error ? error.message : String(error);
34
+ if (/not found|404/iu.test(message)) {
35
+ return {
36
+ exists: false,
37
+ authAvailable: true,
38
+ repository,
39
+ environment,
40
+ secretNames: [],
41
+ variableNames: [],
42
+ error: message
43
+ };
44
+ }
45
+ if (isGitHubAuthError(message)) {
46
+ return {
47
+ exists: false,
48
+ authAvailable: false,
49
+ repository,
50
+ environment,
51
+ secretNames: [],
52
+ variableNames: [],
53
+ error: message
54
+ };
55
+ }
56
+ throw error;
57
+ }
58
+ }
59
+ async function ensureReconcileGitHubEnvironment(repository, environment, branchName, env) {
60
+ const client = createReconcileGitHubClient(env);
61
+ return ensureGitHubActionsEnvironment(repository, environment, { client, branchName: branchName ?? void 0 });
62
+ }
63
+ async function upsertReconcileGitHubSecret(repository, environment, name, value, env) {
64
+ const client = createReconcileGitHubClient(env);
65
+ return upsertGitHubEnvironmentSecret(repository, environment, name, value, { client });
66
+ }
67
+ async function upsertReconcileGitHubVariable(repository, environment, name, value, env) {
68
+ const client = createReconcileGitHubClient(env);
69
+ return upsertGitHubEnvironmentVariable(repository, environment, name, value, { client });
70
+ }
71
+ async function observeGitHubWorkflowRun(input) {
72
+ const client = createReconcileGitHubClient(input.env);
73
+ try {
74
+ return await getLatestGitHubWorkflowRun(input.repository, {
75
+ client,
76
+ workflow: input.workflow,
77
+ branch: input.branch
78
+ });
79
+ } catch (error) {
80
+ const message = error instanceof Error ? error.message : String(error);
81
+ if (isGitHubAuthError(message) || /not found|404/iu.test(message)) {
82
+ return {
83
+ authAvailable: false,
84
+ error: message
85
+ };
86
+ }
87
+ throw error;
88
+ }
89
+ }
90
+ async function dispatchReconcileGitHubWorkflow(input) {
91
+ const client = createReconcileGitHubClient(input.env);
92
+ const dispatch = await dispatchGitHubWorkflowRun(input.repository, {
93
+ client,
94
+ workflow: input.workflow,
95
+ branch: input.branch,
96
+ inputs: input.inputs
97
+ });
98
+ const latest = await getLatestGitHubWorkflowRun(input.repository, {
99
+ client,
100
+ workflow: input.workflow,
101
+ branch: input.branch
102
+ });
103
+ const completed = input.wait ? await waitForGitHubWorkflowRunCompletion(input.repository, {
104
+ client,
105
+ workflow: input.workflow,
106
+ branch: input.branch,
107
+ timeoutSeconds: input.timeoutMs ? Math.ceil(input.timeoutMs / 1e3) : void 0
108
+ }) : null;
109
+ return { dispatch, latest, completed };
110
+ }
111
+ export {
112
+ createReconcileGitHubClient,
113
+ dispatchReconcileGitHubWorkflow,
114
+ ensureReconcileGitHubEnvironment,
115
+ observeGitHubEnvironment,
116
+ observeGitHubWorkflowRun,
117
+ upsertReconcileGitHubSecret,
118
+ upsertReconcileGitHubVariable
119
+ };
@@ -0,0 +1,28 @@
1
+ import { type TreeseedManagedDevAction } from '../../local-dev/managed-dev.js';
2
+ export declare function runManagedDevAction(input: {
3
+ tenantRoot: string;
4
+ action: TreeseedManagedDevAction;
5
+ surfaces: string[];
6
+ options?: Record<string, unknown>;
7
+ env?: NodeJS.ProcessEnv;
8
+ }): Promise<{
9
+ ok: boolean;
10
+ status: number;
11
+ stdout: string;
12
+ stderr: string;
13
+ output: string;
14
+ parsed: import("../../local-dev/managed-dev.js").TreeseedManagedDevResult;
15
+ args: TreeseedManagedDevAction[];
16
+ surfaces: string[];
17
+ }>;
18
+ export declare function checkHttpHealth(url: string, timeoutMs?: number): Promise<{
19
+ ok: boolean;
20
+ status: number;
21
+ url: string;
22
+ error?: undefined;
23
+ } | {
24
+ ok: boolean;
25
+ status: null;
26
+ url: string;
27
+ error: string;
28
+ }>;
@@ -0,0 +1,75 @@
1
+ import { runTreeseedManagedDev } from "../../local-dev/managed-dev.js";
2
+ function runManagedDevAction(input) {
3
+ return runTreeseedManagedDev({
4
+ action: input.action,
5
+ cwd: input.tenantRoot,
6
+ surfaces: input.surfaces.join(","),
7
+ webRuntime: input.options?.webRuntime,
8
+ webHost: typeof input.options?.host === "string" ? input.options.host : void 0,
9
+ webPort: typeof input.options?.port === "number" ? input.options.port : void 0,
10
+ apiHost: typeof input.options?.apiHost === "string" ? input.options.apiHost : void 0,
11
+ apiPort: typeof input.options?.apiPort === "number" ? input.options.apiPort : void 0,
12
+ force: input.options?.force === true,
13
+ forceConflicts: input.options?.forceConflicts === true,
14
+ all: input.options?.all === true,
15
+ follow: input.options?.follow === true,
16
+ env: input.env
17
+ }).then((result) => {
18
+ const safeResult = sanitizeManagedDevResult(result);
19
+ return {
20
+ ok: safeResult.ok,
21
+ status: safeResult.ok ? 0 : 1,
22
+ stdout: `${JSON.stringify(safeResult)}
23
+ `,
24
+ stderr: "",
25
+ output: JSON.stringify(safeResult),
26
+ parsed: safeResult,
27
+ args: [input.action],
28
+ surfaces: input.surfaces
29
+ };
30
+ });
31
+ }
32
+ function sanitizeManagedDevResult(value) {
33
+ if (Array.isArray(value)) {
34
+ return value.map((entry) => sanitizeManagedDevResult(entry));
35
+ }
36
+ if (!value || typeof value !== "object") {
37
+ return value;
38
+ }
39
+ const result = {};
40
+ for (const [key, entry] of Object.entries(value)) {
41
+ if (key === "env") {
42
+ continue;
43
+ }
44
+ if (key === "redactedEnv" || key === "envKeys") {
45
+ continue;
46
+ }
47
+ result[key] = sanitizeManagedDevResult(entry);
48
+ }
49
+ return result;
50
+ }
51
+ async function checkHttpHealth(url, timeoutMs = 2e3) {
52
+ const controller = new AbortController();
53
+ const timeout = setTimeout(() => controller.abort(), timeoutMs);
54
+ try {
55
+ const response = await fetch(url, { signal: controller.signal });
56
+ return {
57
+ ok: response.ok,
58
+ status: response.status,
59
+ url
60
+ };
61
+ } catch (error) {
62
+ return {
63
+ ok: false,
64
+ status: null,
65
+ url,
66
+ error: error instanceof Error ? error.message : String(error)
67
+ };
68
+ } finally {
69
+ clearTimeout(timeout);
70
+ }
71
+ }
72
+ export {
73
+ checkHttpHealth,
74
+ runManagedDevAction
75
+ };
@@ -0,0 +1,66 @@
1
+ import { type RailwayChangeSet, type RailwayIacApplyResponse, type RailwayIacPlanResponse } from 'railway/iac';
2
+ export type TreeseedRailwayIacService = {
3
+ key: string;
4
+ serviceName: string;
5
+ sourceMode?: string | null;
6
+ sourceRepo?: string | null;
7
+ sourceBranch?: string | null;
8
+ sourceCommit?: string | null;
9
+ sourceRootDirectory?: string | null;
10
+ imageRef?: string | null;
11
+ dockerfilePath?: string | null;
12
+ buildCommand?: string | null;
13
+ startCommand?: string | null;
14
+ healthcheckPath?: string | null;
15
+ healthcheckTimeoutSeconds?: number | null;
16
+ runtimeMode?: string | null;
17
+ volumeMountPath?: string | null;
18
+ variables?: Record<string, string>;
19
+ secrets?: Record<string, string>;
20
+ detachVolumeIds?: string[];
21
+ };
22
+ export type TreeseedRailwayIacDatabase = {
23
+ serviceName: string;
24
+ environmentVariable: string;
25
+ mountPath?: string | null;
26
+ detachVolumeIds?: string[];
27
+ useNativePostgres?: boolean;
28
+ };
29
+ export type TreeseedRailwayIacProjectInput = {
30
+ tenantRoot: string;
31
+ projectName: string;
32
+ projectId: string;
33
+ environmentName: string;
34
+ environmentId: string;
35
+ railwayApiToken: string;
36
+ railwayApiUrl?: string | null;
37
+ services: TreeseedRailwayIacService[];
38
+ database: TreeseedRailwayIacDatabase | null;
39
+ region?: string | null;
40
+ };
41
+ export type TreeseedRailwayIacRenderResult = {
42
+ filePath: string;
43
+ tempDir: string;
44
+ projectName: string;
45
+ environmentName: string;
46
+ serviceNames: string[];
47
+ volumeNames: string[];
48
+ databaseName: string | null;
49
+ source: string;
50
+ };
51
+ export type RailwayIacValidationResult = {
52
+ ok: boolean;
53
+ destructiveChanges: string[];
54
+ blockedReasons: string[];
55
+ allowedDrift: string[];
56
+ };
57
+ export declare function renderRailwayIacProject(input: TreeseedRailwayIacProjectInput): TreeseedRailwayIacRenderResult;
58
+ export declare function validateRailwayIacChangeSet(changeSet: RailwayChangeSet | undefined, desiredNames: {
59
+ services: string[];
60
+ volumes: string[];
61
+ database: string | null;
62
+ scope: string;
63
+ }): RailwayIacValidationResult;
64
+ export declare function planRailwayIacProject(input: TreeseedRailwayIacProjectInput, rendered?: TreeseedRailwayIacRenderResult): Promise<RailwayIacPlanResponse>;
65
+ export declare function applyRailwayIacProject(input: TreeseedRailwayIacProjectInput, rendered?: TreeseedRailwayIacRenderResult): Promise<RailwayIacApplyResponse>;
66
+ export declare function cleanupRailwayIacRender(rendered: Pick<TreeseedRailwayIacRenderResult, 'tempDir'>): void;