@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
@@ -0,0 +1,189 @@
1
+ CREATE TABLE IF NOT EXISTS "team_governance_policies" (
2
+ "id" text PRIMARY KEY NOT NULL,
3
+ "team_id" text NOT NULL,
4
+ "scope" text DEFAULT 'team' NOT NULL,
5
+ "provider_id" text NOT NULL,
6
+ "provider_version" text DEFAULT '1' NOT NULL,
7
+ "config_json" text DEFAULT '{}' NOT NULL,
8
+ "active" integer DEFAULT 1 NOT NULL,
9
+ "created_by" text,
10
+ "created_at" text NOT NULL,
11
+ "updated_at" text NOT NULL,
12
+ "superseded_at" text
13
+ );
14
+ CREATE INDEX IF NOT EXISTS "idx_team_governance_policies_team_scope" ON "team_governance_policies" ("team_id","scope","active");
15
+
16
+ CREATE TABLE IF NOT EXISTS "project_governance_policies" (
17
+ "id" text PRIMARY KEY NOT NULL,
18
+ "team_id" text NOT NULL,
19
+ "project_id" text NOT NULL,
20
+ "provider_id" text NOT NULL,
21
+ "provider_version" text DEFAULT '1' NOT NULL,
22
+ "config_json" text DEFAULT '{}' NOT NULL,
23
+ "active" integer DEFAULT 1 NOT NULL,
24
+ "created_by" text,
25
+ "created_at" text NOT NULL,
26
+ "updated_at" text NOT NULL,
27
+ "superseded_at" text
28
+ );
29
+ CREATE INDEX IF NOT EXISTS "idx_project_governance_policies_project" ON "project_governance_policies" ("project_id","active");
30
+
31
+ CREATE TABLE IF NOT EXISTS "governance_proposals" (
32
+ "id" text PRIMARY KEY NOT NULL,
33
+ "team_id" text NOT NULL,
34
+ "project_id" text,
35
+ "scope" text DEFAULT 'project' NOT NULL,
36
+ "status" text DEFAULT 'draft' NOT NULL,
37
+ "title" text NOT NULL,
38
+ "summary" text NOT NULL,
39
+ "body" text NOT NULL,
40
+ "proposal_type" text DEFAULT 'implementation' NOT NULL,
41
+ "content_proposal_slug" text,
42
+ "content_decision_slug" text,
43
+ "active_version" integer DEFAULT 1 NOT NULL,
44
+ "active_content_hash" text NOT NULL,
45
+ "governance_provider_id" text NOT NULL,
46
+ "governance_provider_version" text DEFAULT '1' NOT NULL,
47
+ "governance_policy_id" text,
48
+ "decision_id" text,
49
+ "voting_starts_at" text,
50
+ "voting_ends_at" text,
51
+ "closed_at" text,
52
+ "closed_reason" text,
53
+ "created_by_type" text DEFAULT 'user' NOT NULL,
54
+ "created_by_id" text,
55
+ "metadata_json" text DEFAULT '{}' NOT NULL,
56
+ "created_at" text NOT NULL,
57
+ "updated_at" text NOT NULL
58
+ );
59
+ CREATE INDEX IF NOT EXISTS "idx_governance_proposals_team_status" ON "governance_proposals" ("team_id","status","updated_at");
60
+ CREATE INDEX IF NOT EXISTS "idx_governance_proposals_project_status" ON "governance_proposals" ("project_id","status","updated_at");
61
+ CREATE INDEX IF NOT EXISTS "idx_governance_proposals_scope_status" ON "governance_proposals" ("scope","status","updated_at");
62
+ CREATE INDEX IF NOT EXISTS "idx_governance_proposals_content_slug" ON "governance_proposals" ("content_proposal_slug");
63
+
64
+ CREATE TABLE IF NOT EXISTS "governance_proposal_versions" (
65
+ "id" text PRIMARY KEY NOT NULL,
66
+ "proposal_id" text NOT NULL,
67
+ "version" integer NOT NULL,
68
+ "title" text NOT NULL,
69
+ "summary" text NOT NULL,
70
+ "body" text NOT NULL,
71
+ "content_hash" text NOT NULL,
72
+ "change_reason" text,
73
+ "created_by_type" text DEFAULT 'user' NOT NULL,
74
+ "created_by_id" text,
75
+ "created_at" text NOT NULL
76
+ );
77
+ CREATE UNIQUE INDEX IF NOT EXISTS "idx_governance_proposal_versions_unique" ON "governance_proposal_versions" ("proposal_id","version");
78
+ CREATE INDEX IF NOT EXISTS "idx_governance_proposal_versions_proposal" ON "governance_proposal_versions" ("proposal_id","created_at");
79
+
80
+ CREATE TABLE IF NOT EXISTS "governance_electorate_snapshots" (
81
+ "id" text PRIMARY KEY NOT NULL,
82
+ "proposal_id" text NOT NULL,
83
+ "proposal_version" integer NOT NULL,
84
+ "provider_id" text NOT NULL,
85
+ "provider_version" text DEFAULT '1' NOT NULL,
86
+ "rule_snapshot_json" text DEFAULT '{}' NOT NULL,
87
+ "chambers_json" text DEFAULT '[]' NOT NULL,
88
+ "eligible_voters_json" text DEFAULT '[]' NOT NULL,
89
+ "delegations_json" text DEFAULT '[]' NOT NULL,
90
+ "eligible_weight_total" real DEFAULT 0 NOT NULL,
91
+ "active_weight_total" real DEFAULT 0 NOT NULL,
92
+ "created_at" text NOT NULL
93
+ );
94
+ CREATE INDEX IF NOT EXISTS "idx_governance_electorate_snapshots_proposal" ON "governance_electorate_snapshots" ("proposal_id","proposal_version");
95
+
96
+ CREATE TABLE IF NOT EXISTS "governance_proposal_votes" (
97
+ "id" text PRIMARY KEY NOT NULL,
98
+ "proposal_id" text NOT NULL,
99
+ "proposal_version" integer NOT NULL,
100
+ "user_id" text NOT NULL,
101
+ "vote" text NOT NULL,
102
+ "reason" text,
103
+ "chamber_votes_json" text DEFAULT '{}' NOT NULL,
104
+ "effective_weights_json" text DEFAULT '{}' NOT NULL,
105
+ "delegated_from_json" text DEFAULT '[]' NOT NULL,
106
+ "created_at" text NOT NULL,
107
+ "updated_at" text NOT NULL
108
+ );
109
+ CREATE UNIQUE INDEX IF NOT EXISTS "idx_governance_proposal_votes_once" ON "governance_proposal_votes" ("proposal_id","proposal_version","user_id");
110
+ CREATE INDEX IF NOT EXISTS "idx_governance_proposal_votes_proposal" ON "governance_proposal_votes" ("proposal_id","proposal_version","vote");
111
+
112
+ CREATE TABLE IF NOT EXISTS "governance_vote_events" (
113
+ "id" text PRIMARY KEY NOT NULL,
114
+ "proposal_id" text NOT NULL,
115
+ "proposal_version" integer NOT NULL,
116
+ "user_id" text NOT NULL,
117
+ "prior_vote" text,
118
+ "next_vote" text NOT NULL,
119
+ "reason" text,
120
+ "effective_weights_json" text DEFAULT '{}' NOT NULL,
121
+ "created_at" text NOT NULL
122
+ );
123
+ CREATE INDEX IF NOT EXISTS "idx_governance_vote_events_proposal" ON "governance_vote_events" ("proposal_id","proposal_version","created_at");
124
+
125
+ CREATE TABLE IF NOT EXISTS "governance_delegations" (
126
+ "id" text PRIMARY KEY NOT NULL,
127
+ "team_id" text NOT NULL,
128
+ "scope" text DEFAULT 'team' NOT NULL,
129
+ "from_user_id" text NOT NULL,
130
+ "to_user_id" text NOT NULL,
131
+ "chambers_json" text DEFAULT '[]' NOT NULL,
132
+ "status" text DEFAULT 'active' NOT NULL,
133
+ "reason" text,
134
+ "created_at" text NOT NULL,
135
+ "revoked_at" text,
136
+ "expires_at" text,
137
+ "metadata_json" text DEFAULT '{}' NOT NULL
138
+ );
139
+ CREATE INDEX IF NOT EXISTS "idx_governance_delegations_team_status" ON "governance_delegations" ("team_id","status");
140
+ CREATE INDEX IF NOT EXISTS "idx_governance_delegations_from" ON "governance_delegations" ("from_user_id","status");
141
+ CREATE INDEX IF NOT EXISTS "idx_governance_delegations_to" ON "governance_delegations" ("to_user_id","status");
142
+
143
+ CREATE TABLE IF NOT EXISTS "governance_decisions" (
144
+ "id" text PRIMARY KEY NOT NULL,
145
+ "team_id" text NOT NULL,
146
+ "project_id" text,
147
+ "proposal_id" text NOT NULL,
148
+ "proposal_version" integer NOT NULL,
149
+ "proposal_content_hash" text NOT NULL,
150
+ "status" text DEFAULT 'creating' NOT NULL,
151
+ "title" text NOT NULL,
152
+ "summary" text NOT NULL,
153
+ "content_decision_slug" text,
154
+ "governance_provider_id" text NOT NULL,
155
+ "governance_rule_json" text DEFAULT '{}' NOT NULL,
156
+ "electorate_snapshot_id" text,
157
+ "vote_result_json" text DEFAULT '{}' NOT NULL,
158
+ "voter_reasons_json" text DEFAULT '[]' NOT NULL,
159
+ "proposal_snapshot_json" text DEFAULT '{}' NOT NULL,
160
+ "decision_record_json" text DEFAULT '{}' NOT NULL,
161
+ "created_by_type" text DEFAULT 'system' NOT NULL,
162
+ "created_by_id" text,
163
+ "created_at" text NOT NULL,
164
+ "updated_at" text NOT NULL,
165
+ "superseded_at" text
166
+ );
167
+ CREATE UNIQUE INDEX IF NOT EXISTS "idx_governance_decisions_proposal" ON "governance_decisions" ("proposal_id");
168
+ CREATE INDEX IF NOT EXISTS "idx_governance_decisions_project_status" ON "governance_decisions" ("project_id","status","updated_at");
169
+
170
+ CREATE TABLE IF NOT EXISTS "governance_events" (
171
+ "id" text PRIMARY KEY NOT NULL,
172
+ "event_type" text NOT NULL,
173
+ "actor_type" text DEFAULT 'system' NOT NULL,
174
+ "actor_id" text,
175
+ "team_id" text NOT NULL,
176
+ "project_id" text,
177
+ "proposal_id" text,
178
+ "decision_id" text,
179
+ "proposal_version" integer,
180
+ "prior_state" text,
181
+ "next_state" text,
182
+ "message" text,
183
+ "evidence_json" text DEFAULT '{}' NOT NULL,
184
+ "created_at" text NOT NULL
185
+ );
186
+ CREATE INDEX IF NOT EXISTS "idx_governance_events_proposal" ON "governance_events" ("proposal_id","created_at");
187
+ CREATE INDEX IF NOT EXISTS "idx_governance_events_decision" ON "governance_events" ("decision_id","created_at");
188
+ CREATE INDEX IF NOT EXISTS "idx_governance_events_team" ON "governance_events" ("team_id","created_at");
189
+ CREATE INDEX IF NOT EXISTS "idx_governance_events_project" ON "governance_events" ("project_id","created_at");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@treeseed/sdk",
3
- "version": "0.11.0",
3
+ "version": "0.12.4",
4
4
  "description": "Shared Treeseed SDK for content-backed and D1-backed object models.",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
@@ -21,50 +21,52 @@
21
21
  "README.md",
22
22
  "dist",
23
23
  "drizzle",
24
- "scripts/verify-driver.mjs",
24
+ "scripts/verify-driver.ts",
25
25
  "templates"
26
26
  ],
27
27
  "publishConfig": {
28
28
  "access": "public"
29
29
  },
30
30
  "bin": {
31
- "treeseed-sdk-verify": "./scripts/verify-driver.mjs"
31
+ "treeseed-sdk-verify": "./dist/verification.js"
32
32
  },
33
33
  "scripts": {
34
34
  "setup": "npm install",
35
35
  "setup:ci": "npm ci",
36
36
  "build": "npm run build:dist",
37
- "build:dist": "node ./scripts/run-ts.mjs ./scripts/build-dist.ts",
37
+ "build:dist": "node --import tsx ./scripts/build-dist.ts",
38
38
  "db:generate:d1": "drizzle-kit export --config drizzle.config.ts > drizzle/d1/0000_treeseed_d1.sql",
39
39
  "db:generate:market": "drizzle-kit export --config drizzle.market.config.ts > drizzle/market/0000_market_control_plane.sql",
40
- "prepare": "node ./scripts/prepare.mjs",
40
+ "prepare": "node --import tsx ./scripts/prepare.ts",
41
41
  "prepack": "npm run build:dist",
42
42
  "test": "npm run test:unit",
43
43
  "test:unit": "vitest run --config ./vitest.config.ts",
44
44
  "test:unit:fast": "vitest run --config ./vitest.fast.config.ts",
45
45
  "test:workflow:lifecycle": "vitest run --config ./vitest.config.ts test/utils/workflow-lifecycle.test.ts",
46
46
  "test:release": "npm run test:unit:fast",
47
- "test:smoke": "node ./scripts/run-ts.mjs ./scripts/test-smoke.ts",
48
- "treedx:generate-types": "node ./scripts/run-ts.mjs ./scripts/generate-treedx-openapi-types.ts",
49
- "treedx:check-types": "node ./scripts/run-ts.mjs ./scripts/generate-treedx-openapi-types.ts --check",
47
+ "test:smoke": "node --import tsx ./scripts/test-smoke.ts",
48
+ "treedx:generate-types": "node --import tsx ./scripts/generate-treedx-openapi-types.ts",
49
+ "treedx:check-types": "node --import tsx ./scripts/generate-treedx-openapi-types.ts --check",
50
50
  "treedx:contract": "vitest run --config ./vitest.config.ts test/utils/treedx-openapi-contract.test.ts test/utils/treedx-sdk-request-contract.test.ts test/utils/treedx-generated-types.test.ts",
51
- "fixtures:resolve": "node ./scripts/run-ts.mjs ./scripts/fixture-tools.ts resolve",
52
- "fixtures:check": "node ./scripts/run-ts.mjs ./scripts/fixture-tools.ts check",
51
+ "fixtures:resolve": "node --import tsx ./scripts/fixture-tools.ts resolve",
52
+ "fixtures:check": "node --import tsx ./scripts/fixture-tools.ts check",
53
53
  "lint": "npm run fixtures:check && npm run build:dist",
54
54
  "verify:direct": "npm run release:verify",
55
- "verify:local": "node --input-type=module -e \"process.env.TREESEED_VERIFY_DRIVER='direct'; await import('./scripts/verify-driver.mjs')\"",
56
- "verify:action": "node --input-type=module -e \"process.env.TREESEED_VERIFY_DRIVER='act'; await import('./scripts/verify-driver.mjs')\"",
57
- "verify": "node ./scripts/verify-driver.mjs",
55
+ "verify:local": "TREESEED_VERIFY_DRIVER=direct TMPDIR=/tmp node --import tsx ./scripts/verify-driver.ts",
56
+ "verify:action": "TREESEED_VERIFY_DRIVER=act TMPDIR=/tmp node --import tsx ./scripts/verify-driver.ts",
57
+ "verify": "TMPDIR=/tmp node --import tsx ./scripts/verify-driver.ts",
58
58
  "release:setup": "npm run setup:ci",
59
- "release:check-tag": "node ./scripts/run-ts.mjs ./scripts/assert-release-tag-version.ts",
60
- "release:verify": "node ./scripts/run-ts.mjs ./scripts/release-verify.ts",
61
- "release:publish": "node ./scripts/run-ts.mjs ./scripts/publish-package.ts"
59
+ "release:check-tag": "node --import tsx ./scripts/assert-release-tag-version.ts",
60
+ "release:verify": "node --import tsx ./scripts/release-verify.ts",
61
+ "release:publish": "node --import tsx ./scripts/publish-package.ts"
62
62
  },
63
63
  "dependencies": {
64
64
  "@github/copilot": "1.0.39",
65
65
  "@github/copilot-language-server": "1.480.0",
66
66
  "@github/copilot-sdk": "0.3.0",
67
- "@railway/cli": "4.44.0",
67
+ "@railway/cli": "5.23.2",
68
+ "@remotion/bundler": "4.0.477",
69
+ "@remotion/renderer": "4.0.477",
68
70
  "drizzle-orm": "^0.45.2",
69
71
  "esbuild": "^0.28.0",
70
72
  "extract-zip": "2.0.1",
@@ -76,9 +78,12 @@
76
78
  "minisearch": "^7.2.0",
77
79
  "octokit": "^5.0.3",
78
80
  "pg": "^8.21.0",
81
+ "playwright": "^1.60.0",
82
+ "railway": "3.4.1",
79
83
  "react": "^19.2.5",
80
84
  "remark-mdx": "^3.1.1",
81
85
  "remark-parse": "^11.0.0",
86
+ "remotion": "4.0.477",
82
87
  "repomix": "^1.13.1",
83
88
  "tar": "7.5.13",
84
89
  "typescript": "^5.9.3",
@@ -89,6 +94,7 @@
89
94
  "devDependencies": {
90
95
  "@types/node": "^24.6.0",
91
96
  "drizzle-kit": "^0.31.10",
97
+ "tsx": "^4.21.0",
92
98
  "vitest": "^4.1.2"
93
99
  },
94
100
  "exports": {
@@ -108,6 +114,14 @@
108
114
  "types": "./dist/operations/agent-tools.d.ts",
109
115
  "default": "./dist/operations/agent-tools.js"
110
116
  },
117
+ "./agent-tools": {
118
+ "types": "./dist/agent-tools.d.ts",
119
+ "default": "./dist/agent-tools.js"
120
+ },
121
+ "./content-operations": {
122
+ "types": "./dist/content-operations.d.ts",
123
+ "default": "./dist/content-operations.js"
124
+ },
111
125
  "./api": {
112
126
  "types": "./dist/api/index.d.ts",
113
127
  "default": "./dist/api/index.js"
@@ -132,7 +146,18 @@
132
146
  "types": "./dist/seeds/index.d.ts",
133
147
  "default": "./dist/seeds/index.js"
134
148
  },
135
- "./scripts/verify-driver": "./scripts/verify-driver.mjs",
149
+ "./scenes": {
150
+ "types": "./dist/scenes/index.d.ts",
151
+ "default": "./dist/scenes/index.js"
152
+ },
153
+ "./guarantees": {
154
+ "types": "./dist/guarantees/index.d.ts",
155
+ "default": "./dist/guarantees/index.js"
156
+ },
157
+ "./scripts/verify-driver": {
158
+ "types": "./dist/verification.d.ts",
159
+ "default": "./dist/verification.js"
160
+ },
136
161
  "./workflow-support": {
137
162
  "types": "./dist/workflow-support.d.ts",
138
163
  "default": "./dist/workflow-support.js"
@@ -141,6 +166,18 @@
141
166
  "types": "./dist/market-client.d.ts",
142
167
  "default": "./dist/market-client.js"
143
168
  },
169
+ "./agent-capacity": {
170
+ "types": "./dist/agent-capacity.d.ts",
171
+ "default": "./dist/agent-capacity.js"
172
+ },
173
+ "./secrets-capability": {
174
+ "types": "./dist/secrets-capability.d.ts",
175
+ "default": "./dist/secrets-capability.js"
176
+ },
177
+ "./project-import": {
178
+ "types": "./dist/project-import.d.ts",
179
+ "default": "./dist/project-import.js"
180
+ },
144
181
  "./reconcile": {
145
182
  "types": "./dist/reconcile/index.d.ts",
146
183
  "default": "./dist/reconcile/index.js"
@@ -165,6 +202,10 @@
165
202
  "types": "./dist/platform/deploy-runtime.d.ts",
166
203
  "default": "./dist/platform/deploy-runtime.js"
167
204
  },
205
+ "./platform/desired-state": {
206
+ "types": "./dist/platform/desired-state.d.ts",
207
+ "default": "./dist/platform/desired-state.js"
208
+ },
168
209
  "./platform/environment": {
169
210
  "types": "./dist/platform/environment.d.ts",
170
211
  "default": "./dist/platform/environment.js"
@@ -277,6 +318,10 @@
277
318
  "types": "./dist/managed-dependencies.d.ts",
278
319
  "default": "./dist/managed-dependencies.js"
279
320
  },
321
+ "./service-credentials": {
322
+ "types": "./dist/service-credentials.d.ts",
323
+ "default": "./dist/service-credentials.js"
324
+ },
280
325
  "./copilot": {
281
326
  "types": "./dist/copilot.d.ts",
282
327
  "default": "./dist/copilot.js"
@@ -301,6 +346,18 @@
301
346
  "types": "./dist/operations/repository-operations.d.ts",
302
347
  "default": "./dist/operations/repository-operations.js"
303
348
  },
349
+ "./operations/github-credentials": {
350
+ "types": "./dist/operations/services/github-credentials.d.ts",
351
+ "default": "./dist/operations/services/github-credentials.js"
352
+ },
353
+ "./operations/hub-provider-launch": {
354
+ "types": "./dist/operations/services/hub-provider-launch.d.ts",
355
+ "default": "./dist/operations/services/hub-provider-launch.js"
356
+ },
357
+ "./operations/project-host-operations": {
358
+ "types": "./dist/operations/services/project-host-operations.d.ts",
359
+ "default": "./dist/operations/services/project-host-operations.js"
360
+ },
304
361
  "./types": {
305
362
  "types": "./dist/sdk-types.d.ts",
306
363
  "default": "./dist/sdk-types.js"
@@ -3,22 +3,37 @@
3
3
  import { existsSync } from 'node:fs';
4
4
  import { spawnSync } from 'node:child_process';
5
5
  import { dirname, resolve } from 'node:path';
6
+ import { tmpdir } from 'node:os';
6
7
  import { fileURLToPath } from 'node:url';
7
8
 
8
9
  const scriptRoot = dirname(fileURLToPath(import.meta.url));
9
10
  const packageRoot = resolve(scriptRoot, '..');
10
- const sourceRunner = resolve(packageRoot, 'scripts', 'run-ts.mjs');
11
11
  const sourceEntry = resolve(packageRoot, 'src', 'verification.ts');
12
12
  const publishedEntry = resolve(packageRoot, 'dist', 'verification.js');
13
13
  const entrypointCheckOnly = process.env.TREESEED_VERIFY_ENTRYPOINT_CHECK === 'true';
14
14
 
15
- if (existsSync(sourceRunner) && existsSync(sourceEntry)) {
15
+ function withShortTempEnv() {
16
+ if (process.platform === 'win32') {
17
+ return process.env;
18
+ }
19
+ const env = { ...process.env };
20
+ const shortTemp = tmpdir();
21
+ for (const key of ['TMPDIR', 'TMP', 'TEMP'] as const) {
22
+ const value = env[key];
23
+ if (value && value.length > shortTemp.length) {
24
+ env[key] = shortTemp;
25
+ }
26
+ }
27
+ return env;
28
+ }
29
+
30
+ if (existsSync(sourceEntry)) {
16
31
  if (entrypointCheckOnly) {
17
32
  process.exit(0);
18
33
  }
19
- const result = spawnSync(process.execPath, [sourceRunner, sourceEntry], {
34
+ const result = spawnSync('tsx', [sourceEntry], {
20
35
  cwd: process.cwd(),
21
- env: process.env,
36
+ env: withShortTempEnv(),
22
37
  stdio: 'inherit',
23
38
  });
24
39
  process.exit(result.status ?? 1);
@@ -47,8 +47,8 @@ __WORKING_DIRECTORY_BLOCK__ web:
47
47
  environment: ${{ inputs.environment == 'prod' && 'production' || 'staging' }}
48
48
  env:
49
49
  TREESEED_BOOTSTRAP_MODE: auto
50
- CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
51
- CLOUDFLARE_ACCOUNT_ID: ${{ vars.CLOUDFLARE_ACCOUNT_ID }}
50
+ TREESEED_CLOUDFLARE_API_TOKEN: ${{ secrets.TREESEED_CLOUDFLARE_API_TOKEN }}
51
+ TREESEED_CLOUDFLARE_ACCOUNT_ID: ${{ vars.TREESEED_CLOUDFLARE_ACCOUNT_ID }}
52
52
  TREESEED_CLOUDFLARE_PAGES_PROJECT_NAME: ${{ vars.TREESEED_CLOUDFLARE_PAGES_PROJECT_NAME }}
53
53
  TREESEED_CLOUDFLARE_PAGES_PREVIEW_PROJECT_NAME: ${{ vars.TREESEED_CLOUDFLARE_PAGES_PREVIEW_PROJECT_NAME }}
54
54
  TREESEED_CONTENT_BUCKET_NAME: ${{ vars.TREESEED_CONTENT_BUCKET_NAME }}
@@ -69,17 +69,21 @@ __WORKING_DIRECTORY_BLOCK__ web:
69
69
  TREESEED_WEB_SERVICE_SECRET: ${{ secrets.TREESEED_WEB_SERVICE_SECRET }}
70
70
  TREESEED_WEB_ASSERTION_SECRET: ${{ secrets.TREESEED_WEB_ASSERTION_SECRET }}
71
71
  TREESEED_WEB_CSRF_SECRET: ${{ secrets.TREESEED_WEB_CSRF_SECRET }}
72
+ TREESEED_CREDENTIAL_SESSION_SECRET: ${{ secrets.TREESEED_CREDENTIAL_SESSION_SECRET }}
72
73
  TREESEED_API_WEB_SERVICE_ID: ${{ vars.TREESEED_API_WEB_SERVICE_ID || vars.TREESEED_WEB_SERVICE_ID || 'web' }}
73
- TREESEED_API_WEB_SERVICE_SECRET: ${{ secrets.TREESEED_API_WEB_SERVICE_SECRET || secrets.TREESEED_WEB_SERVICE_SECRET }}
74
+ TREESEED_API_WEB_SERVICE_SECRET: ${{ secrets.TREESEED_WEB_SERVICE_SECRET || secrets.TREESEED_API_WEB_SERVICE_SECRET }}
74
75
  TREESEED_API_WEB_ASSERTION_SECRET: ${{ secrets.TREESEED_API_WEB_ASSERTION_SECRET || secrets.TREESEED_WEB_ASSERTION_SECRET }}
75
76
  TREESEED_API_AUTH_SECRET: ${{ secrets.TREESEED_API_AUTH_SECRET || secrets.TREESEED_BETTER_AUTH_SECRET }}
76
77
  TREESEED_HOSTED_HUBS_GITHUB_OWNER: ${{ vars.TREESEED_HOSTED_HUBS_GITHUB_OWNER }}
77
78
  TREESEED_HOSTED_HUBS_GITHUB_TOKEN: ${{ secrets.TREESEED_HOSTED_HUBS_GITHUB_TOKEN }}
79
+ TREESEED_GITHUB_TOKEN: ${{ secrets.TREESEED_HOSTED_HUBS_GITHUB_TOKEN }}
80
+ GH_TOKEN: ${{ secrets.TREESEED_HOSTED_HUBS_GITHUB_TOKEN }}
81
+ GITHUB_TOKEN: ${{ secrets.TREESEED_HOSTED_HUBS_GITHUB_TOKEN }}
78
82
  TREESEED_SITE_URL: ${{ vars.TREESEED_SITE_URL }}
79
- BETTER_AUTH_URL: ${{ vars.BETTER_AUTH_URL || vars.TREESEED_SITE_URL }}
80
- TREESEED_CENTRAL_MARKET_API_BASE_URL: ${{ vars.TREESEED_CENTRAL_MARKET_API_BASE_URL || 'https://api.treeseed.ai' }}
81
- TREESEED_API_BASE_URL: ${{ vars.TREESEED_API_BASE_URL || vars.TREESEED_CENTRAL_MARKET_API_BASE_URL || 'https://api.treeseed.ai' }}
82
- TREESEED_CATALOG_MARKET_API_BASE_URLS: ${{ vars.TREESEED_CATALOG_MARKET_API_BASE_URLS || vars.TREESEED_API_BASE_URL || vars.TREESEED_CENTRAL_MARKET_API_BASE_URL || 'https://api.treeseed.ai' }}
83
+ TREESEED_BETTER_AUTH_URL: ${{ vars.TREESEED_BETTER_AUTH_URL || vars.TREESEED_SITE_URL }}
84
+ TREESEED_CENTRAL_MARKET_API_BASE_URL: ${{ vars.TREESEED_CENTRAL_MARKET_API_BASE_URL || 'https://api.treeseed.dev' }}
85
+ TREESEED_API_BASE_URL: ${{ vars.TREESEED_API_BASE_URL || vars.TREESEED_CENTRAL_MARKET_API_BASE_URL || 'https://api.treeseed.dev' }}
86
+ TREESEED_CATALOG_MARKET_API_BASE_URLS: ${{ vars.TREESEED_CATALOG_MARKET_API_BASE_URLS || vars.TREESEED_API_BASE_URL || vars.TREESEED_CENTRAL_MARKET_API_BASE_URL || 'https://api.treeseed.dev' }}
83
87
  TREESEED_HOSTING_KIND: ${{ vars.TREESEED_HOSTING_KIND }}
84
88
  TREESEED_HOSTING_REGISTRATION: ${{ vars.TREESEED_HOSTING_REGISTRATION }}
85
89
  TREESEED_HOSTING_TEAM_ID: ${{ vars.TREESEED_HOSTING_TEAM_ID }}
@@ -159,5 +163,5 @@ __WORKING_DIRECTORY_BLOCK__ web:
159
163
  EXTRA_ARGS=()
160
164
  if [[ -n "${TREESEED_WORKFLOW_PROJECT:-}" ]]; then EXTRA_ARGS+=(--project-id "${TREESEED_WORKFLOW_PROJECT}"); fi
161
165
  if [[ -n "${TREESEED_WORKFLOW_PREVIEW_ID:-}" ]]; then EXTRA_ARGS+=(--preview-id "${TREESEED_WORKFLOW_PREVIEW_ID}"); fi
162
- node ./packages/sdk/scripts/run-ts.mjs ./packages/sdk/scripts/tenant-workflow-action.ts --action "${TREESEED_WORKFLOW_ACTION}" --environment "${TREESEED_WORKFLOW_ENVIRONMENT}" "${EXTRA_ARGS[@]}"
166
+ tsx ./packages/sdk/scripts/tenant-workflow-action.ts --action "${TREESEED_WORKFLOW_ACTION}" --environment "${TREESEED_WORKFLOW_ENVIRONMENT}" "${EXTRA_ARGS[@]}"
163
167
  if [[ -n "${GITHUB_STEP_SUMMARY:-}" && -s "${TIMING_SUMMARY}" ]]; then cat "${TIMING_SUMMARY}" >> "${GITHUB_STEP_SUMMARY}"; fi
@@ -1,20 +0,0 @@
1
- export type TreeseedMailpitContainer = {
2
- name: string;
3
- image: string;
4
- ports: string;
5
- };
6
- type RunDocker = typeof runDocker;
7
- declare function runDocker(args: string[], options?: {}): import("child_process").SpawnSyncReturns<string>;
8
- export declare function dockerIsAvailable(): boolean;
9
- export declare function findRunningMailpitContainer(options?: {
10
- run?: RunDocker;
11
- }): {
12
- name: string;
13
- image: string;
14
- ports: string;
15
- } | null;
16
- export declare function stopKnownMailpitContainers(options?: {
17
- run?: RunDocker;
18
- }): boolean;
19
- export declare function streamKnownMailpitLogs(): void;
20
- export {};
@@ -1,67 +0,0 @@
1
- import { spawnSync } from "node:child_process";
2
- const KNOWN_MAILPIT_NAMES = ["treeseed_mailpit", "docs_mailpit"];
3
- function runDocker(args, options = {}) {
4
- return spawnSync("docker", args, {
5
- encoding: "utf8",
6
- ...options
7
- });
8
- }
9
- function parseDockerPsOutput(stdout) {
10
- return stdout.split(/\r?\n/).map((line) => line.trim()).filter(Boolean).map((line) => {
11
- const [name = "", image = "", ports = ""] = line.split(" ");
12
- return { name, image, ports };
13
- });
14
- }
15
- function isCompatibleMailpitContainer(container) {
16
- const expectedName = process.env.TREESEED_MAILPIT_CONTAINER_NAME?.trim();
17
- const smtpPort = process.env.TREESEED_MAILPIT_SMTP_PORT?.trim() || "1025";
18
- const uiPort = process.env.TREESEED_MAILPIT_UI_PORT?.trim() || "8025";
19
- const expectedPorts = [`${smtpPort}->1025/tcp`, `${uiPort}->8025/tcp`];
20
- const nameMatch = expectedName ? container.name === expectedName : KNOWN_MAILPIT_NAMES.includes(container.name);
21
- const imageMatch = container.image.includes("mailpit");
22
- const portsMatch = expectedPorts.every((port) => container.ports.includes(port));
23
- return (nameMatch || imageMatch) && portsMatch;
24
- }
25
- function dockerIsAvailable() {
26
- const result = runDocker(["ps", "--format", "{{.Names}} {{.Image}} {{.Ports}}"]);
27
- return result.status === 0;
28
- }
29
- function findKnownMailpitContainers({ all = false, run = runDocker } = {}) {
30
- const args = [
31
- "ps",
32
- ...all ? ["-a"] : [],
33
- "--format",
34
- "{{.Names}} {{.Image}} {{.Ports}}"
35
- ];
36
- const result = run(args);
37
- if (result.status !== 0) {
38
- return [];
39
- }
40
- return parseDockerPsOutput(result.stdout).filter(isCompatibleMailpitContainer);
41
- }
42
- function findRunningMailpitContainer(options = {}) {
43
- return findKnownMailpitContainers(options).at(0) ?? null;
44
- }
45
- function stopKnownMailpitContainers(options = {}) {
46
- const run = options.run ?? runDocker;
47
- const containers = findKnownMailpitContainers({ all: true, run });
48
- if (containers.length === 0) {
49
- return true;
50
- }
51
- return containers.every((container) => run(["rm", "-f", container.name]).status === 0);
52
- }
53
- function streamKnownMailpitLogs() {
54
- const container = findRunningMailpitContainer();
55
- if (!container) {
56
- console.error("No running Mailpit container was found for the configured local ports.");
57
- process.exit(1);
58
- }
59
- const result = runDocker(["logs", "-f", container.name], { stdio: "inherit" });
60
- process.exit(result.status ?? 1);
61
- }
62
- export {
63
- dockerIsAvailable,
64
- findRunningMailpitContainer,
65
- stopKnownMailpitContainers,
66
- streamKnownMailpitLogs
67
- };
@@ -1,60 +0,0 @@
1
- export type ReleaseCandidateStatus = 'passed' | 'failed';
2
- export type ReleaseCandidateMode = 'hybrid' | 'strict' | 'skip';
3
- export type ReleaseCandidateFailure = {
4
- code: string;
5
- scope: string;
6
- provider?: string | null;
7
- message: string;
8
- details?: Record<string, unknown> | null;
9
- };
10
- export type ReleaseCandidateFingerprint = {
11
- key: string;
12
- policyVersion: string;
13
- rootSha: string | null;
14
- packageShas: Record<string, string | null>;
15
- plannedVersions: Record<string, string>;
16
- lockfiles: Record<string, string | null>;
17
- selectedPackages: string[];
18
- };
19
- export type ReleaseCandidateTopologyFingerprint = {
20
- key: string;
21
- policyVersion: string;
22
- packageManifests: Record<string, string | null>;
23
- lockfiles: Record<string, string | null>;
24
- treeseedManifests: Record<string, string | null>;
25
- selectedPackages: string[];
26
- };
27
- export type ReleaseCandidateCheck = {
28
- name: string;
29
- status: 'passed' | 'skipped' | 'failed';
30
- detail: string;
31
- };
32
- export type ReleaseCandidateReport = {
33
- status: ReleaseCandidateStatus;
34
- fingerprint: ReleaseCandidateFingerprint;
35
- mode: ReleaseCandidateMode;
36
- reason: string;
37
- topology: ReleaseCandidateTopologyFingerprint;
38
- reused: boolean;
39
- checkedAt: string;
40
- failures: ReleaseCandidateFailure[];
41
- checks: ReleaseCandidateCheck[];
42
- };
43
- export type ReleaseCandidateInput = {
44
- root: string;
45
- plannedVersions: Record<string, unknown>;
46
- selectedPackageNames?: string[];
47
- allowReuse?: boolean;
48
- mode?: ReleaseCandidateMode;
49
- };
50
- export declare function buildReleaseCandidateFingerprint(input: ReleaseCandidateInput): ReleaseCandidateFingerprint;
51
- export declare function buildReleaseCandidateTopologyFingerprint(input: ReleaseCandidateInput): ReleaseCandidateTopologyFingerprint;
52
- export declare function readCachedReleaseCandidateReport(root: string, key: string): ReleaseCandidateReport | null;
53
- export declare function writeReleaseCandidateReport(root: string, report: ReleaseCandidateReport): ReleaseCandidateReport;
54
- export declare function collectReleaseCandidateOutputFailures(line: string): string[];
55
- export declare function isRootWebReleaseCandidateEntry(entry: {
56
- id: string;
57
- group?: string | null;
58
- serviceTargets?: unknown;
59
- }): boolean;
60
- export declare function runReleaseCandidateGate(input: ReleaseCandidateInput): Promise<ReleaseCandidateReport>;