@treeseed/sdk 0.10.28 → 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 (509) hide show
  1. package/README.md +213 -7
  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 +118 -59
  27. package/dist/capacity-provider.js +235 -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 +3 -2
  36. package/dist/control-plane.js +38 -13
  37. package/dist/copilot.d.ts +3 -0
  38. package/dist/copilot.js +16 -1
  39. package/dist/d1-http.d.ts +1 -1
  40. package/dist/d1-store.d.ts +32 -57
  41. package/dist/d1-store.js +115 -318
  42. package/dist/db/d1.d.ts +1 -232
  43. package/dist/db/index.d.ts +3 -3
  44. package/dist/db/market-schema.d.ts +50900 -11018
  45. package/dist/db/market-schema.js +2313 -467
  46. package/dist/db/node-sqlite.d.ts +1 -232
  47. package/dist/db/node-sqlite.js +7 -2
  48. package/dist/db/schema.d.ts +0 -462
  49. package/dist/db/schema.js +2 -22
  50. package/dist/dispatch.d.ts +1 -1
  51. package/dist/dispatch.js +0 -11
  52. package/dist/fixture-support.js +52 -4
  53. package/dist/governance.d.ts +133 -0
  54. package/dist/governance.js +285 -0
  55. package/dist/graph/build.d.ts +2 -2
  56. package/dist/graph/context-query-contracts.d.ts +1 -1
  57. package/dist/graph/dsl.d.ts +1 -1
  58. package/dist/graph/query.d.ts +4 -4
  59. package/dist/graph/ranking.d.ts +1 -1
  60. package/dist/graph/schema.d.ts +1 -1
  61. package/dist/graph.d.ts +11 -11
  62. package/dist/guarantees/index.d.ts +425 -0
  63. package/dist/guarantees/index.js +1146 -0
  64. package/dist/hosting/apps.d.ts +12 -0
  65. package/dist/hosting/apps.js +107 -0
  66. package/dist/hosting/builtins.d.ts +25 -0
  67. package/dist/hosting/builtins.js +602 -0
  68. package/dist/hosting/contracts.d.ts +208 -0
  69. package/dist/hosting/contracts.js +0 -0
  70. package/dist/hosting/graph.d.ts +195 -0
  71. package/dist/hosting/graph.js +1092 -0
  72. package/dist/hosting/index.d.ts +4 -0
  73. package/dist/hosting/index.js +4 -0
  74. package/dist/index.d.ts +88 -67
  75. package/dist/index.js +142 -14
  76. package/dist/local-dev/managed-dev.d.ts +85 -0
  77. package/dist/local-dev/managed-dev.js +368 -0
  78. package/dist/managed-dependencies.d.ts +9 -0
  79. package/dist/managed-dependencies.js +10 -9
  80. package/dist/market-client.d.ts +327 -9
  81. package/dist/market-client.js +464 -20
  82. package/dist/model-registry.d.ts +1 -1
  83. package/dist/model-registry.js +19 -19
  84. package/dist/operations/agent-tools.d.ts +2 -11
  85. package/dist/operations/agent-tools.js +2 -14
  86. package/dist/operations/providers/default.d.ts +1 -1
  87. package/dist/operations/providers/default.js +20 -37
  88. package/dist/operations/repository-operations.d.ts +26 -2
  89. package/dist/operations/repository-operations.js +159 -1
  90. package/dist/operations/runtime.d.ts +3 -3
  91. package/dist/operations/services/bootstrap-runner.d.ts +4 -2
  92. package/dist/operations/services/bootstrap-runner.js +22 -2
  93. package/dist/operations/services/build-warning-policy.d.ts +34 -0
  94. package/dist/operations/services/build-warning-policy.js +81 -82
  95. package/dist/operations/services/commit-message-provider.js +4 -4
  96. package/dist/operations/services/config-runtime.d.ts +83 -24
  97. package/dist/operations/services/config-runtime.js +449 -130
  98. package/dist/operations/services/deploy.d.ts +106 -624
  99. package/dist/operations/services/deploy.js +746 -263
  100. package/dist/operations/services/deployment-readiness.d.ts +30 -0
  101. package/dist/operations/services/deployment-readiness.js +206 -0
  102. package/dist/operations/services/git-remote-policy.js +12 -4
  103. package/dist/operations/services/git-runner.d.ts +66 -0
  104. package/dist/operations/services/git-runner.js +479 -0
  105. package/dist/operations/services/git-workflow.d.ts +45 -6
  106. package/dist/operations/services/git-workflow.js +251 -23
  107. package/dist/operations/services/github-actions-verification.d.ts +4 -1
  108. package/dist/operations/services/github-actions-verification.js +12 -3
  109. package/dist/operations/services/github-api.js +22 -6
  110. package/dist/operations/services/github-automation.d.ts +4 -4
  111. package/dist/operations/services/github-automation.js +19 -21
  112. package/dist/operations/services/github-credentials.d.ts +13 -0
  113. package/dist/operations/services/github-credentials.js +59 -0
  114. package/dist/operations/services/hosted-service-checks.d.ts +81 -0
  115. package/dist/operations/services/hosted-service-checks.js +478 -0
  116. package/dist/operations/services/hosting-audit.d.ts +2 -2
  117. package/dist/operations/services/hosting-audit.js +7 -7
  118. package/dist/operations/services/hub-launch.d.ts +1 -1
  119. package/dist/operations/services/hub-provider-launch.d.ts +5 -5
  120. package/dist/operations/services/hub-provider-launch.js +22 -17
  121. package/dist/operations/services/live-hosted-service-checks.d.ts +26 -0
  122. package/dist/operations/services/live-hosted-service-checks.js +463 -0
  123. package/dist/operations/services/local-dev.js +0 -1
  124. package/dist/operations/services/managed-host-security.d.ts +1 -1
  125. package/dist/operations/services/managed-host-security.js +1 -1
  126. package/dist/operations/services/managed-repositories.d.ts +37 -0
  127. package/dist/operations/services/managed-repositories.js +177 -0
  128. package/dist/operations/services/operations-runner-smoke.d.ts +31 -0
  129. package/dist/operations/services/operations-runner-smoke.js +198 -0
  130. package/dist/operations/services/package-adapters.d.ts +170 -0
  131. package/dist/operations/services/package-adapters.js +859 -0
  132. package/dist/operations/services/package-reference-policy.d.ts +13 -88
  133. package/dist/operations/services/package-reference-policy.js +96 -215
  134. package/dist/operations/services/project-host-operations.d.ts +4 -4
  135. package/dist/operations/services/project-platform.d.ts +57 -173
  136. package/dist/operations/services/project-platform.js +80 -111
  137. package/dist/operations/services/project-web-monitor.d.ts +2 -2
  138. package/dist/operations/services/project-web-monitor.js +122 -5
  139. package/dist/operations/services/railway-api.d.ts +117 -5
  140. package/dist/operations/services/railway-api.js +915 -93
  141. package/dist/operations/services/railway-deploy.d.ts +30 -112
  142. package/dist/operations/services/railway-deploy.js +521 -961
  143. package/dist/operations/services/release-history.js +3 -4
  144. package/dist/operations/services/release-proof-ledger.d.ts +13 -0
  145. package/dist/operations/services/release-proof-ledger.js +81 -0
  146. package/dist/operations/services/release-proof-planner.d.ts +48 -0
  147. package/dist/operations/services/release-proof-planner.js +195 -0
  148. package/dist/operations/services/release-proof-runner.d.ts +16 -0
  149. package/dist/operations/services/release-proof-runner.js +169 -0
  150. package/dist/operations/services/release-proof.d.ts +81 -0
  151. package/dist/operations/services/release-proof.js +79 -0
  152. package/dist/operations/services/repository-save-orchestrator.d.ts +8 -7
  153. package/dist/operations/services/repository-save-orchestrator.js +604 -212
  154. package/dist/operations/services/runtime-paths.d.ts +1 -3
  155. package/dist/operations/services/runtime-paths.js +0 -4
  156. package/dist/operations/services/runtime-tools.d.ts +1 -191
  157. package/dist/operations/services/runtime-tools.js +4 -443
  158. package/dist/operations/services/save-deploy-preflight.js +9 -1
  159. package/dist/operations/services/template-host-bindings.d.ts +2 -2
  160. package/dist/operations/services/template-host-bindings.js +3 -2
  161. package/dist/operations/services/template-registry.d.ts +6 -6
  162. package/dist/operations/services/template-registry.js +33 -14
  163. package/dist/operations/services/template-secret-sync.d.ts +3 -3
  164. package/dist/operations/services/verification-cache.d.ts +25 -0
  165. package/dist/operations/services/verification-cache.js +71 -0
  166. package/dist/operations/services/workflow-timing.d.ts +25 -0
  167. package/dist/operations/services/workflow-timing.js +79 -0
  168. package/dist/operations/services/workspace-dependency-mode.js +50 -5
  169. package/dist/operations/services/workspace-preflight.js +8 -8
  170. package/dist/operations/services/workspace-save-script.d.ts +4 -4
  171. package/dist/operations/services/workspace-save.d.ts +1 -0
  172. package/dist/operations/services/workspace-save.js +42 -19
  173. package/dist/operations/services/workspace-tools.js +42 -7
  174. package/dist/operations-registry.d.ts +1 -1
  175. package/dist/operations-registry.js +5 -6
  176. package/dist/operations-types.d.ts +1 -1
  177. package/dist/operations.d.ts +17 -11
  178. package/dist/operations.js +57 -3
  179. package/dist/platform/book-export.js +2 -0
  180. package/dist/platform/books-data.d.ts +1 -1
  181. package/dist/platform/config.d.ts +27 -0
  182. package/dist/platform/config.js +100 -0
  183. package/dist/platform/content-runtime-source.d.ts +54 -0
  184. package/dist/platform/content-runtime-source.js +169 -0
  185. package/dist/platform/contracts.d.ts +38 -2
  186. package/dist/platform/deploy-config.d.ts +1 -1
  187. package/dist/platform/deploy-config.js +80 -9
  188. package/dist/platform/deploy-runtime.d.ts +1 -1
  189. package/dist/platform/desired-state.d.ts +63 -0
  190. package/dist/platform/desired-state.js +1021 -0
  191. package/dist/platform/env.yaml +568 -45
  192. package/dist/platform/environment.d.ts +3 -2
  193. package/dist/platform/environment.js +122 -21
  194. package/dist/platform/local-content-materialization.d.ts +9 -0
  195. package/dist/platform/local-content-materialization.js +212 -0
  196. package/dist/platform/plugin.d.ts +13 -4
  197. package/dist/platform/plugins/runtime.d.ts +3 -3
  198. package/dist/platform/plugins/runtime.js +62 -1
  199. package/dist/platform/plugins.d.ts +6 -6
  200. package/dist/platform/published-content-pipeline.d.ts +3 -3
  201. package/dist/platform/published-content-pipeline.js +5 -1
  202. package/dist/platform/published-content.d.ts +4 -3
  203. package/dist/platform/site-config-schema.d.ts +1 -0
  204. package/dist/platform/site-config-schema.js +4 -1
  205. package/dist/platform/tenant/runtime-config.d.ts +152 -2
  206. package/dist/platform/tenant-config.d.ts +1 -1
  207. package/dist/platform/utils/site-config-schema.d.ts +154 -0
  208. package/dist/platform/utils/site-config-schema.js +400 -461
  209. package/dist/platform-operation-store.d.ts +1 -1
  210. package/dist/platform-operation-store.js +2 -2
  211. package/dist/platform-operations.js +1 -1
  212. package/dist/plugin-default.d.ts +1 -1
  213. package/dist/plugin-default.js +27 -12
  214. package/dist/project-import.d.ts +91 -0
  215. package/dist/project-import.js +257 -0
  216. package/dist/project-workflow.d.ts +1 -1
  217. package/dist/reconcile/bootstrap-systems.d.ts +2 -2
  218. package/dist/reconcile/bootstrap-systems.js +5 -5
  219. package/dist/reconcile/builtin-adapters.d.ts +7 -1
  220. package/dist/reconcile/builtin-adapters.js +3190 -429
  221. package/dist/reconcile/contracts.d.ts +23 -6
  222. package/dist/reconcile/desired-state.d.ts +2 -192
  223. package/dist/reconcile/desired-state.js +29 -38
  224. package/dist/reconcile/engine.d.ts +61 -395
  225. package/dist/reconcile/engine.js +229 -44
  226. package/dist/reconcile/index.d.ts +10 -8
  227. package/dist/reconcile/index.js +2 -0
  228. package/dist/reconcile/live-acceptance.d.ts +100 -0
  229. package/dist/reconcile/live-acceptance.js +2027 -0
  230. package/dist/reconcile/platform.d.ts +104 -0
  231. package/dist/reconcile/platform.js +100 -0
  232. package/dist/reconcile/providers/docker-private.d.ts +54 -0
  233. package/dist/reconcile/providers/docker-private.js +101 -0
  234. package/dist/reconcile/providers/github-private.d.ts +65 -0
  235. package/dist/reconcile/providers/github-private.js +119 -0
  236. package/dist/reconcile/providers/local-private.d.ts +28 -0
  237. package/dist/reconcile/providers/local-private.js +75 -0
  238. package/dist/reconcile/providers/railway-iac.d.ts +66 -0
  239. package/dist/reconcile/providers/railway-iac.js +275 -0
  240. package/dist/reconcile/providers/release-private.d.ts +92 -0
  241. package/dist/reconcile/providers/release-private.js +152 -0
  242. package/dist/reconcile/registry.d.ts +2 -2
  243. package/dist/reconcile/registry.js +16 -1
  244. package/dist/reconcile/state.d.ts +1 -1
  245. package/dist/reconcile/state.js +7 -44
  246. package/dist/reconcile/units.d.ts +1 -1
  247. package/dist/reconcile/units.js +9 -3
  248. package/dist/remote.d.ts +6 -6
  249. package/dist/scenes/artifacts.d.ts +16 -0
  250. package/dist/scenes/artifacts.js +61 -0
  251. package/dist/scenes/auth.d.ts +2 -0
  252. package/dist/scenes/auth.js +28 -0
  253. package/dist/scenes/base-url.d.ts +12 -0
  254. package/dist/scenes/base-url.js +123 -0
  255. package/dist/scenes/builtin-plugins.d.ts +2 -0
  256. package/dist/scenes/builtin-plugins.js +447 -0
  257. package/dist/scenes/checkpoints.d.ts +14 -0
  258. package/dist/scenes/checkpoints.js +33 -0
  259. package/dist/scenes/device-matrix.d.ts +2 -0
  260. package/dist/scenes/device-matrix.js +97 -0
  261. package/dist/scenes/devices.d.ts +11 -0
  262. package/dist/scenes/devices.js +22 -0
  263. package/dist/scenes/diagnostics.d.ts +5 -0
  264. package/dist/scenes/diagnostics.js +22 -0
  265. package/dist/scenes/diagram-providers.d.ts +2 -0
  266. package/dist/scenes/diagram-providers.js +181 -0
  267. package/dist/scenes/diagram-validation.d.ts +22 -0
  268. package/dist/scenes/diagram-validation.js +74 -0
  269. package/dist/scenes/environment.d.ts +2 -0
  270. package/dist/scenes/environment.js +65 -0
  271. package/dist/scenes/evidence-bundle.d.ts +5 -0
  272. package/dist/scenes/evidence-bundle.js +42 -0
  273. package/dist/scenes/evidence-report.d.ts +10 -0
  274. package/dist/scenes/evidence-report.js +73 -0
  275. package/dist/scenes/evidence.d.ts +16 -0
  276. package/dist/scenes/evidence.js +277 -0
  277. package/dist/scenes/index.d.ts +48 -0
  278. package/dist/scenes/index.js +312 -0
  279. package/dist/scenes/inspect.d.ts +9 -0
  280. package/dist/scenes/inspect.js +64 -0
  281. package/dist/scenes/loader.d.ts +3 -0
  282. package/dist/scenes/loader.js +38 -0
  283. package/dist/scenes/logs.d.ts +2 -0
  284. package/dist/scenes/logs.js +47 -0
  285. package/dist/scenes/operations.d.ts +3 -0
  286. package/dist/scenes/operations.js +128 -0
  287. package/dist/scenes/phase0.d.ts +9 -0
  288. package/dist/scenes/phase0.js +637 -0
  289. package/dist/scenes/planner.d.ts +12 -0
  290. package/dist/scenes/planner.js +166 -0
  291. package/dist/scenes/playwright-adapter.d.ts +2 -0
  292. package/dist/scenes/playwright-adapter.js +63 -0
  293. package/dist/scenes/plugins.d.ts +5 -0
  294. package/dist/scenes/plugins.js +115 -0
  295. package/dist/scenes/progress.d.ts +17 -0
  296. package/dist/scenes/progress.js +24 -0
  297. package/dist/scenes/publish-destinations.d.ts +12 -0
  298. package/dist/scenes/publish-destinations.js +99 -0
  299. package/dist/scenes/publish-plan-report.d.ts +10 -0
  300. package/dist/scenes/publish-plan-report.js +70 -0
  301. package/dist/scenes/publish-plan.d.ts +15 -0
  302. package/dist/scenes/publish-plan.js +248 -0
  303. package/dist/scenes/publish-redaction.d.ts +16 -0
  304. package/dist/scenes/publish-redaction.js +148 -0
  305. package/dist/scenes/publish-release-record.d.ts +13 -0
  306. package/dist/scenes/publish-release-record.js +34 -0
  307. package/dist/scenes/publish-report.d.ts +10 -0
  308. package/dist/scenes/publish-report.js +67 -0
  309. package/dist/scenes/publish.d.ts +16 -0
  310. package/dist/scenes/publish.js +298 -0
  311. package/dist/scenes/registry.d.ts +12 -0
  312. package/dist/scenes/registry.js +65 -0
  313. package/dist/scenes/remotion-adapter.d.ts +3 -0
  314. package/dist/scenes/remotion-adapter.js +94 -0
  315. package/dist/scenes/remotion-composition-registry.d.ts +2 -0
  316. package/dist/scenes/remotion-composition-registry.js +12 -0
  317. package/dist/scenes/remotion-compositions.d.ts +15 -0
  318. package/dist/scenes/remotion-compositions.js +464 -0
  319. package/dist/scenes/remotion-diagrams.d.ts +9 -0
  320. package/dist/scenes/remotion-diagrams.js +188 -0
  321. package/dist/scenes/remotion-input.d.ts +13 -0
  322. package/dist/scenes/remotion-input.js +291 -0
  323. package/dist/scenes/remotion-visuals.d.ts +29 -0
  324. package/dist/scenes/remotion-visuals.js +198 -0
  325. package/dist/scenes/render-media-assets.d.ts +9 -0
  326. package/dist/scenes/render-media-assets.js +117 -0
  327. package/dist/scenes/render-report.d.ts +10 -0
  328. package/dist/scenes/render-report.js +27 -0
  329. package/dist/scenes/render.d.ts +2 -0
  330. package/dist/scenes/render.js +218 -0
  331. package/dist/scenes/reporter.d.ts +3 -0
  332. package/dist/scenes/reporter.js +101 -0
  333. package/dist/scenes/resume.d.ts +2 -0
  334. package/dist/scenes/resume.js +79 -0
  335. package/dist/scenes/runner.d.ts +2 -0
  336. package/dist/scenes/runner.js +674 -0
  337. package/dist/scenes/schema.d.ts +6 -0
  338. package/dist/scenes/schema.js +994 -0
  339. package/dist/scenes/seed.d.ts +2 -0
  340. package/dist/scenes/seed.js +83 -0
  341. package/dist/scenes/segments.d.ts +15 -0
  342. package/dist/scenes/segments.js +79 -0
  343. package/dist/scenes/selectors.d.ts +3 -0
  344. package/dist/scenes/selectors.js +21 -0
  345. package/dist/scenes/timeline.d.ts +11 -0
  346. package/dist/scenes/timeline.js +26 -0
  347. package/dist/scenes/timeouts.d.ts +6 -0
  348. package/dist/scenes/timeouts.js +17 -0
  349. package/dist/scenes/training-captions.d.ts +14 -0
  350. package/dist/scenes/training-captions.js +98 -0
  351. package/dist/scenes/training-report.d.ts +10 -0
  352. package/dist/scenes/training-report.js +78 -0
  353. package/dist/scenes/training-transcript.d.ts +24 -0
  354. package/dist/scenes/training-transcript.js +204 -0
  355. package/dist/scenes/training.d.ts +10 -0
  356. package/dist/scenes/training.js +134 -0
  357. package/dist/scenes/types.d.ts +1872 -0
  358. package/dist/scenes/types.js +8 -0
  359. package/dist/scenes/visual-audit-contact-sheets.d.ts +6 -0
  360. package/dist/scenes/visual-audit-contact-sheets.js +119 -0
  361. package/dist/scenes/visual-audit-fixtures.d.ts +25 -0
  362. package/dist/scenes/visual-audit-fixtures.js +210 -0
  363. package/dist/scenes/visual-audit-report.d.ts +11 -0
  364. package/dist/scenes/visual-audit-report.js +85 -0
  365. package/dist/scenes/visual-audit-review.d.ts +23 -0
  366. package/dist/scenes/visual-audit-review.js +829 -0
  367. package/dist/scenes/visual-audit-routes.d.ts +13 -0
  368. package/dist/scenes/visual-audit-routes.js +308 -0
  369. package/dist/scenes/visual-audit.d.ts +3 -0
  370. package/dist/scenes/visual-audit.js +596 -0
  371. package/dist/scripts/build-dist.js +154 -40
  372. package/dist/scripts/check-build-warnings.js +42 -53
  373. package/dist/scripts/cleanup-markdown.js +1 -1
  374. package/dist/scripts/cli-test-fixtures.js +24 -28
  375. package/dist/scripts/deployment-readiness.js +20 -0
  376. package/dist/scripts/generate-treedx-openapi-types.js +186 -0
  377. package/dist/scripts/migrate-journey-csv-to-guarantees.js +140 -0
  378. package/dist/scripts/operations-runner-smoke.js +16 -0
  379. package/dist/scripts/package-tools.js +12 -1
  380. package/dist/scripts/prepare.js +3 -7
  381. package/dist/scripts/release-verify.js +6 -6
  382. package/dist/scripts/run-fixture-astro-command.js +1 -1
  383. package/dist/scripts/template-catalog.test.js +68 -82
  384. package/dist/scripts/tenant-dev.js +0 -10
  385. package/dist/scripts/tenant-workflow-action.js +10 -1
  386. package/dist/scripts/test-cloudflare-local.js +1 -1
  387. package/dist/scripts/test-scaffold.js +0 -1
  388. package/dist/scripts/test-smoke.js +3 -3
  389. package/dist/scripts/treeseed-build-dist.js +4 -7
  390. package/dist/scripts/treeseed-release-verify.js +1 -1
  391. package/dist/scripts/verify-driver.js +30 -21
  392. package/dist/scripts/workflow-commands.test.js +18 -27
  393. package/dist/scripts/workspace-command-e2e.js +1 -1
  394. package/dist/scripts/workspace-lint.js +6 -0
  395. package/dist/scripts/workspace-release-test.js +90 -1
  396. package/dist/scripts/workspace-test.js +6 -0
  397. package/dist/sdk-dispatch.d.ts +1 -1
  398. package/dist/sdk-dispatch.js +0 -16
  399. package/dist/sdk-fields.d.ts +1 -1
  400. package/dist/sdk-filters.d.ts +1 -1
  401. package/dist/sdk-types.d.ts +1352 -116
  402. package/dist/sdk-types.js +413 -2
  403. package/dist/sdk.d.ts +106 -100
  404. package/dist/sdk.js +211 -51
  405. package/dist/secrets-capability.d.ts +421 -0
  406. package/dist/secrets-capability.js +530 -0
  407. package/dist/seeds/normalize.js +1 -0
  408. package/dist/seeds/planner.js +38 -0
  409. package/dist/seeds/schema.js +293 -4
  410. package/dist/seeds/types.d.ts +60 -0
  411. package/dist/seeds/types.js +9 -1
  412. package/dist/service-credentials.d.ts +54 -0
  413. package/dist/service-credentials.js +112 -0
  414. package/dist/stores/cursor-store.d.ts +2 -2
  415. package/dist/stores/envelopes.d.ts +1 -1
  416. package/dist/stores/helpers.d.ts +1 -1
  417. package/dist/stores/lease-store.d.ts +2 -2
  418. package/dist/stores/message-store.d.ts +2 -2
  419. package/dist/stores/operational-store.d.ts +3 -26
  420. package/dist/stores/operational-store.js +0 -225
  421. package/dist/stores/project-workflow-store.d.ts +2 -2
  422. package/dist/stores/run-store.d.ts +2 -3
  423. package/dist/stores/run-store.js +0 -98
  424. package/dist/stores/subscription-store.d.ts +2 -3
  425. package/dist/stores/subscription-store.js +0 -100
  426. package/dist/template-catalog.d.ts +1 -1
  427. package/dist/template-launch-requirements.d.ts +2 -2
  428. package/dist/template-launch-requirements.js +9 -0
  429. package/dist/template-launch-ui.d.ts +2 -2
  430. package/dist/treedx/adapters.d.ts +6 -0
  431. package/dist/treedx/adapters.js +36 -0
  432. package/dist/treedx/client.d.ts +222 -0
  433. package/dist/treedx/client.js +871 -0
  434. package/dist/treedx/errors.d.ts +13 -0
  435. package/dist/treedx/errors.js +17 -0
  436. package/dist/treedx/federated-client.d.ts +27 -0
  437. package/dist/treedx/federated-client.js +158 -0
  438. package/dist/treedx/generated/openapi-types.d.ts +3558 -0
  439. package/dist/treedx/generated/openapi-types.js +0 -0
  440. package/dist/treedx/graph-adapter.d.ts +33 -0
  441. package/dist/treedx/graph-adapter.js +156 -0
  442. package/dist/treedx/index.d.ts +14 -0
  443. package/dist/treedx/index.js +48 -0
  444. package/dist/treedx/market-integration.d.ts +27 -0
  445. package/dist/treedx/market-integration.js +131 -0
  446. package/dist/treedx/ports.d.ts +166 -0
  447. package/dist/treedx/ports.js +231 -0
  448. package/dist/treedx/query-adapter.d.ts +19 -0
  449. package/dist/treedx/query-adapter.js +62 -0
  450. package/dist/treedx/registry-client.d.ts +11 -0
  451. package/dist/treedx/registry-client.js +19 -0
  452. package/dist/treedx/repository-adapter.d.ts +45 -0
  453. package/dist/treedx/repository-adapter.js +319 -0
  454. package/dist/treedx/sdk-integration.d.ts +27 -0
  455. package/dist/treedx/sdk-integration.js +63 -0
  456. package/dist/treedx/types.d.ts +1084 -0
  457. package/dist/treedx/types.js +8 -0
  458. package/dist/treedx/workspace-adapter.d.ts +27 -0
  459. package/dist/treedx/workspace-adapter.js +65 -0
  460. package/dist/treedx-backends.d.ts +220 -0
  461. package/dist/treedx-backends.js +634 -0
  462. package/dist/treedx-client.d.ts +89 -0
  463. package/dist/treedx-client.js +184 -0
  464. package/dist/treeseed/services/compose.yml +2 -3
  465. package/dist/treeseed/template-catalog/catalog.fixture.json +27 -27
  466. package/dist/types/agents.d.ts +256 -0
  467. package/dist/types/agents.js +42 -1
  468. package/dist/verification.d.ts +1 -0
  469. package/dist/verification.js +143 -14
  470. package/dist/workflow/operations.d.ts +580 -523
  471. package/dist/workflow/operations.js +2084 -1279
  472. package/dist/workflow/policy.js +19 -7
  473. package/dist/workflow/runs.d.ts +9 -3
  474. package/dist/workflow/runs.js +66 -26
  475. package/dist/workflow/session.d.ts +4 -1
  476. package/dist/workflow/session.js +50 -10
  477. package/dist/workflow/worktrees.d.ts +6 -2
  478. package/dist/workflow/worktrees.js +98 -15
  479. package/dist/workflow-state.d.ts +17 -4
  480. package/dist/workflow-state.js +68 -41
  481. package/dist/workflow-support.d.ts +26 -17
  482. package/dist/workflow-support.js +84 -24
  483. package/dist/workflow.d.ts +51 -16
  484. package/dist/workflow.js +19 -7
  485. package/drizzle/d1/0000_treeseed_d1.sql +0 -18
  486. package/drizzle/market/0000_market_control_plane.sql +1793 -1499
  487. package/drizzle/market/0004_treedx_market_integration.sql +99 -0
  488. package/drizzle/market/0005_agent_capacity_coordination.sql +145 -0
  489. package/drizzle/market/0006_provider_assignment_lifecycle.sql +9 -0
  490. package/drizzle/market/0007_agent_architecture_gap_closure.sql +157 -0
  491. package/drizzle/market/0008_agent_capacity_operational_closure.sql +27 -0
  492. package/drizzle/market/0009_agent_capacity_runtime_hardening.sql +29 -0
  493. package/drizzle/market/0010_secrets_capability_persistence.sql +130 -0
  494. package/drizzle/market/0011_github_app_adapter.sql +47 -0
  495. package/drizzle/market/0012_workday_test_runs.sql +44 -0
  496. package/drizzle/market/0013_runtime_task_lifecycle.sql +39 -0
  497. package/drizzle/market/0014_governance_pipeline.sql +189 -0
  498. package/package.json +106 -18
  499. package/scripts/{verify-driver.mjs → verify-driver.ts} +19 -4
  500. package/templates/github/deploy-web.workflow.yml +49 -12
  501. package/dist/operations/services/mailpit-runtime.d.ts +0 -20
  502. package/dist/operations/services/mailpit-runtime.js +0 -67
  503. package/dist/operations/services/release-candidate.d.ts +0 -41
  504. package/dist/operations/services/release-candidate.js +0 -616
  505. package/dist/scripts/ensure-mailpit.js +0 -48
  506. package/dist/scripts/logs-mailpit.js +0 -2
  507. package/dist/scripts/run-ts.js +0 -45
  508. package/dist/scripts/stop-mailpit.js +0 -5
  509. package/dist/scripts/treeseed-run-ts.js +0 -45
@@ -0,0 +1,44 @@
1
+ CREATE TABLE IF NOT EXISTS "workday_test_runs" (
2
+ "id" text PRIMARY KEY NOT NULL,
3
+ "team_id" text NOT NULL,
4
+ "capacity_provider_id" text,
5
+ "scenario_id" text DEFAULT 'portfolio-local' NOT NULL,
6
+ "status" text DEFAULT 'queued' NOT NULL,
7
+ "environment" text DEFAULT 'local' NOT NULL,
8
+ "requested_by_id" text,
9
+ "parameters_json" text DEFAULT '{}' NOT NULL,
10
+ "summary_json" text DEFAULT '{}' NOT NULL,
11
+ "metrics_json" text DEFAULT '{}' NOT NULL,
12
+ "expected_json" text DEFAULT '{}' NOT NULL,
13
+ "actual_json" text DEFAULT '{}' NOT NULL,
14
+ "report_refs_json" text DEFAULT '{}' NOT NULL,
15
+ "error_json" text DEFAULT '{}' NOT NULL,
16
+ "started_at" text,
17
+ "completed_at" text,
18
+ "created_at" text NOT NULL,
19
+ "updated_at" text NOT NULL
20
+ );
21
+ CREATE INDEX IF NOT EXISTS "idx_workday_test_runs_team_status" ON "workday_test_runs" ("team_id","status","updated_at");
22
+ CREATE INDEX IF NOT EXISTS "idx_workday_test_runs_provider" ON "workday_test_runs" ("capacity_provider_id","updated_at");
23
+
24
+ CREATE TABLE IF NOT EXISTS "workday_test_events" (
25
+ "id" text PRIMARY KEY NOT NULL,
26
+ "run_id" text NOT NULL,
27
+ "team_id" text NOT NULL,
28
+ "project_id" text,
29
+ "workday_id" text,
30
+ "assignment_id" text,
31
+ "mode_run_id" text,
32
+ "event_index" integer NOT NULL,
33
+ "event_type" text NOT NULL,
34
+ "status" text DEFAULT 'recorded' NOT NULL,
35
+ "title" text,
36
+ "message" text,
37
+ "parameters_json" text DEFAULT '{}' NOT NULL,
38
+ "context_json" text DEFAULT '{}' NOT NULL,
39
+ "refs_json" text DEFAULT '{}' NOT NULL,
40
+ "metadata_json" text DEFAULT '{}' NOT NULL,
41
+ "created_at" text NOT NULL
42
+ );
43
+ CREATE INDEX IF NOT EXISTS "idx_workday_test_events_run_index" ON "workday_test_events" ("run_id","event_index");
44
+ CREATE INDEX IF NOT EXISTS "idx_workday_test_events_project" ON "workday_test_events" ("project_id","created_at");
@@ -0,0 +1,39 @@
1
+ CREATE TABLE IF NOT EXISTS "runtime_tasks" (
2
+ "id" text PRIMARY KEY NOT NULL,
3
+ "project_id" text NOT NULL,
4
+ "work_day_id" text NOT NULL,
5
+ "agent_id" text NOT NULL,
6
+ "type" text NOT NULL,
7
+ "idempotency_key" text NOT NULL UNIQUE,
8
+ "payload_json" text NOT NULL,
9
+ "state" text NOT NULL,
10
+ "claimed_by" text,
11
+ "claimed_at" text,
12
+ "lease_expires_at" text,
13
+ "attempts" integer DEFAULT 0 NOT NULL,
14
+ "created_at" text NOT NULL,
15
+ "updated_at" text NOT NULL
16
+ );
17
+ CREATE INDEX IF NOT EXISTS "idx_runtime_tasks_project_workday_state" ON "runtime_tasks" ("project_id","work_day_id","state","created_at");
18
+
19
+ CREATE TABLE IF NOT EXISTS "runtime_task_events" (
20
+ "id" text PRIMARY KEY NOT NULL,
21
+ "task_id" text NOT NULL,
22
+ "kind" text NOT NULL,
23
+ "data_json" text NOT NULL,
24
+ "actor" text,
25
+ "created_at" text NOT NULL
26
+ );
27
+ CREATE INDEX IF NOT EXISTS "idx_runtime_task_events_task_created" ON "runtime_task_events" ("task_id","created_at");
28
+
29
+ CREATE TABLE IF NOT EXISTS "runtime_task_outputs" (
30
+ "id" text PRIMARY KEY NOT NULL,
31
+ "task_id" text NOT NULL,
32
+ "output_json" text NOT NULL,
33
+ "output_ref" text,
34
+ "summary_json" text,
35
+ "actor" text,
36
+ "created_at" text NOT NULL,
37
+ "updated_at" text NOT NULL
38
+ );
39
+ CREATE INDEX IF NOT EXISTS "idx_runtime_task_outputs_task_created" ON "runtime_task_outputs" ("task_id","created_at");
@@ -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.10.28",
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,47 +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",
38
- "db:generate:d1": "node ../../node_modules/drizzle-kit/bin.cjs export --config drizzle.config.ts > drizzle/d1/0000_treeseed_d1.sql",
39
- "db:generate:market": "node ../../node_modules/drizzle-kit/bin.cjs export --config drizzle.market.config.ts > drizzle/market/0000_market_control_plane.sql",
40
- "prepare": "node ./scripts/prepare.mjs",
37
+ "build:dist": "node --import tsx ./scripts/build-dist.ts",
38
+ "db:generate:d1": "drizzle-kit export --config drizzle.config.ts > drizzle/d1/0000_treeseed_d1.sql",
39
+ "db:generate:market": "drizzle-kit export --config drizzle.market.config.ts > drizzle/market/0000_market_control_plane.sql",
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
- "fixtures:resolve": "node ./scripts/run-ts.mjs ./scripts/fixture-tools.ts resolve",
49
- "fixtures:check": "node ./scripts/run-ts.mjs ./scripts/fixture-tools.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
+ "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 --import tsx ./scripts/fixture-tools.ts resolve",
52
+ "fixtures:check": "node --import tsx ./scripts/fixture-tools.ts check",
50
53
  "lint": "npm run fixtures:check && npm run build:dist",
51
54
  "verify:direct": "npm run release:verify",
52
- "verify:local": "node --input-type=module -e \"process.env.TREESEED_VERIFY_DRIVER='direct'; await import('./scripts/verify-driver.mjs')\"",
53
- "verify:action": "node --input-type=module -e \"process.env.TREESEED_VERIFY_DRIVER='act'; await import('./scripts/verify-driver.mjs')\"",
54
- "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",
55
58
  "release:setup": "npm run setup:ci",
56
- "release:check-tag": "node ./scripts/run-ts.mjs ./scripts/assert-release-tag-version.ts",
57
- "release:verify": "node ./scripts/run-ts.mjs ./scripts/release-verify.ts",
58
- "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"
59
62
  },
60
63
  "dependencies": {
61
64
  "@github/copilot": "1.0.39",
62
65
  "@github/copilot-language-server": "1.480.0",
63
66
  "@github/copilot-sdk": "0.3.0",
64
- "@railway/cli": "4.44.0",
67
+ "@railway/cli": "5.23.2",
68
+ "@remotion/bundler": "4.0.477",
69
+ "@remotion/renderer": "4.0.477",
65
70
  "drizzle-orm": "^0.45.2",
66
71
  "esbuild": "^0.28.0",
67
72
  "extract-zip": "2.0.1",
@@ -73,9 +78,12 @@
73
78
  "minisearch": "^7.2.0",
74
79
  "octokit": "^5.0.3",
75
80
  "pg": "^8.21.0",
81
+ "playwright": "^1.60.0",
82
+ "railway": "3.4.1",
76
83
  "react": "^19.2.5",
77
84
  "remark-mdx": "^3.1.1",
78
85
  "remark-parse": "^11.0.0",
86
+ "remotion": "4.0.477",
79
87
  "repomix": "^1.13.1",
80
88
  "tar": "7.5.13",
81
89
  "typescript": "^5.9.3",
@@ -86,6 +94,7 @@
86
94
  "devDependencies": {
87
95
  "@types/node": "^24.6.0",
88
96
  "drizzle-kit": "^0.31.10",
97
+ "tsx": "^4.21.0",
89
98
  "vitest": "^4.1.2"
90
99
  },
91
100
  "exports": {
@@ -105,6 +114,14 @@
105
114
  "types": "./dist/operations/agent-tools.d.ts",
106
115
  "default": "./dist/operations/agent-tools.js"
107
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
+ },
108
125
  "./api": {
109
126
  "types": "./dist/api/index.d.ts",
110
127
  "default": "./dist/api/index.js"
@@ -129,7 +146,18 @@
129
146
  "types": "./dist/seeds/index.d.ts",
130
147
  "default": "./dist/seeds/index.js"
131
148
  },
132
- "./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
+ },
133
161
  "./workflow-support": {
134
162
  "types": "./dist/workflow-support.d.ts",
135
163
  "default": "./dist/workflow-support.js"
@@ -138,10 +166,26 @@
138
166
  "types": "./dist/market-client.d.ts",
139
167
  "default": "./dist/market-client.js"
140
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
+ },
141
181
  "./reconcile": {
142
182
  "types": "./dist/reconcile/index.d.ts",
143
183
  "default": "./dist/reconcile/index.js"
144
184
  },
185
+ "./hosting": {
186
+ "types": "./dist/hosting/index.d.ts",
187
+ "default": "./dist/hosting/index.js"
188
+ },
145
189
  "./platform/contracts": {
146
190
  "types": "./dist/platform/contracts.d.ts",
147
191
  "default": "./dist/platform/contracts.js"
@@ -158,6 +202,10 @@
158
202
  "types": "./dist/platform/deploy-runtime.d.ts",
159
203
  "default": "./dist/platform/deploy-runtime.js"
160
204
  },
205
+ "./platform/desired-state": {
206
+ "types": "./dist/platform/desired-state.d.ts",
207
+ "default": "./dist/platform/desired-state.js"
208
+ },
161
209
  "./platform/environment": {
162
210
  "types": "./dist/platform/environment.d.ts",
163
211
  "default": "./dist/platform/environment.js"
@@ -194,6 +242,10 @@
194
242
  "types": "./dist/content-store.d.ts",
195
243
  "default": "./dist/content-store.js"
196
244
  },
245
+ "./treedx-backends": {
246
+ "types": "./dist/treedx-backends.d.ts",
247
+ "default": "./dist/treedx-backends.js"
248
+ },
197
249
  "./template-catalog": {
198
250
  "types": "./dist/template-catalog.d.ts",
199
251
  "default": "./dist/template-catalog.js"
@@ -234,6 +286,26 @@
234
286
  "types": "./dist/graph/context-query-contracts.d.ts",
235
287
  "default": "./dist/graph/context-query-contracts.js"
236
288
  },
289
+ "./treedx": {
290
+ "types": "./dist/treedx/index.d.ts",
291
+ "import": "./dist/treedx/index.js",
292
+ "default": "./dist/treedx/index.js"
293
+ },
294
+ "./treedx/client": {
295
+ "types": "./dist/treedx/client.d.ts",
296
+ "import": "./dist/treedx/client.js",
297
+ "default": "./dist/treedx/client.js"
298
+ },
299
+ "./treedx/types": {
300
+ "types": "./dist/treedx/types.d.ts",
301
+ "import": "./dist/treedx/types.js",
302
+ "default": "./dist/treedx/types.js"
303
+ },
304
+ "./treedx/adapters": {
305
+ "types": "./dist/treedx/adapters.d.ts",
306
+ "import": "./dist/treedx/adapters.js",
307
+ "default": "./dist/treedx/adapters.js"
308
+ },
237
309
  "./sdk-filters": {
238
310
  "types": "./dist/sdk-filters.d.ts",
239
311
  "default": "./dist/sdk-filters.js"
@@ -246,6 +318,10 @@
246
318
  "types": "./dist/managed-dependencies.d.ts",
247
319
  "default": "./dist/managed-dependencies.js"
248
320
  },
321
+ "./service-credentials": {
322
+ "types": "./dist/service-credentials.d.ts",
323
+ "default": "./dist/service-credentials.js"
324
+ },
249
325
  "./copilot": {
250
326
  "types": "./dist/copilot.d.ts",
251
327
  "default": "./dist/copilot.js"
@@ -270,6 +346,18 @@
270
346
  "types": "./dist/operations/repository-operations.d.ts",
271
347
  "default": "./dist/operations/repository-operations.js"
272
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
+ },
273
361
  "./types": {
274
362
  "types": "./dist/sdk-types.d.ts",
275
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,25 +69,28 @@ __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
- TREESEED_PLATFORM_RUNNER_SECRET: ${{ secrets.TREESEED_PLATFORM_RUNNER_SECRET }}
77
77
  TREESEED_HOSTED_HUBS_GITHUB_OWNER: ${{ vars.TREESEED_HOSTED_HUBS_GITHUB_OWNER }}
78
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 }}
79
82
  TREESEED_SITE_URL: ${{ vars.TREESEED_SITE_URL }}
80
- BETTER_AUTH_URL: ${{ vars.BETTER_AUTH_URL || vars.TREESEED_SITE_URL }}
81
- TREESEED_CENTRAL_MARKET_API_BASE_URL: ${{ vars.TREESEED_CENTRAL_MARKET_API_BASE_URL || 'https://api.treeseed.ai' }}
82
- TREESEED_MARKET_API_BASE_URL: ${{ vars.TREESEED_MARKET_API_BASE_URL || vars.TREESEED_CENTRAL_MARKET_API_BASE_URL || 'https://api.treeseed.ai' }}
83
- TREESEED_CATALOG_MARKET_API_BASE_URLS: ${{ vars.TREESEED_CATALOG_MARKET_API_BASE_URLS || vars.TREESEED_MARKET_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' }}
84
87
  TREESEED_HOSTING_KIND: ${{ vars.TREESEED_HOSTING_KIND }}
85
88
  TREESEED_HOSTING_REGISTRATION: ${{ vars.TREESEED_HOSTING_REGISTRATION }}
86
89
  TREESEED_HOSTING_TEAM_ID: ${{ vars.TREESEED_HOSTING_TEAM_ID }}
87
90
  TREESEED_PROJECT_ID: ${{ inputs.project_id || vars.TREESEED_PROJECT_ID }}
88
91
  TREESEED_WORKFLOW_ACTION: ${{ inputs.action_kind }}
89
92
  TREESEED_WORKFLOW_ENVIRONMENT: ${{ inputs.environment }}
90
- TREESEED_WORKFLOW_PLANE: all
93
+ TREESEED_WORKFLOW_PLANE: web
91
94
  TREESEED_WORKFLOW_PROJECT: ${{ inputs.project_id || vars.TREESEED_PROJECT_ID }}
92
95
  TREESEED_WORKFLOW_PREVIEW_ID: ${{ inputs.preview_id }}
93
96
  steps:
@@ -105,14 +108,48 @@ __WORKING_DIRECTORY_BLOCK__ web:
105
108
  shell: bash
106
109
  run: |
107
110
  set -euo pipefail
108
- node -e "const fs = require('fs'); for (const file of ['packages/sdk/package.json', 'packages/agent/package.json', 'packages/core/package.json', 'packages/cli/package.json']) { if (!fs.existsSync(file)) continue; const p = JSON.parse(fs.readFileSync(file, 'utf8')); if (p.scripts) delete p.scripts.prepare; fs.writeFileSync(file, JSON.stringify(p, null, '\t') + '\n'); }"
111
+ node <<'NODE'
112
+ const fs = require('fs');
113
+ const path = require('path');
114
+ const packageRoot = 'packages';
115
+ if (fs.existsSync(packageRoot)) {
116
+ const localPackageNames = new Set();
117
+ for (const entry of fs.readdirSync(packageRoot, { withFileTypes: true })) {
118
+ if (!entry.isDirectory()) continue;
119
+ const file = path.join(packageRoot, entry.name, 'package.json');
120
+ if (!fs.existsSync(file)) continue;
121
+ const manifest = JSON.parse(fs.readFileSync(file, 'utf8'));
122
+ if (typeof manifest.name === 'string') localPackageNames.add(manifest.name);
123
+ }
124
+ for (const entry of fs.readdirSync(packageRoot, { withFileTypes: true })) {
125
+ if (!entry.isDirectory()) continue;
126
+ const file = path.join(packageRoot, entry.name, 'package.json');
127
+ if (!fs.existsSync(file)) continue;
128
+ const manifest = JSON.parse(fs.readFileSync(file, 'utf8'));
129
+ let changed = false;
130
+ if (manifest.scripts?.prepare) {
131
+ delete manifest.scripts.prepare;
132
+ changed = true;
133
+ }
134
+ for (const section of ['dependencies', 'devDependencies', 'optionalDependencies']) {
135
+ for (const dependencyName of Object.keys(manifest[section] ?? {})) {
136
+ if (dependencyName !== manifest.name && localPackageNames.has(dependencyName)) {
137
+ delete manifest[section][dependencyName];
138
+ changed = true;
139
+ }
140
+ }
141
+ }
142
+ if (changed) fs.writeFileSync(file, `${JSON.stringify(manifest, null, '\t')}\n`);
143
+ }
144
+ }
145
+ NODE
109
146
  npm ci --ignore-scripts
110
147
 
111
148
  - name: Build package artifacts
112
149
  shell: bash
113
150
  run: |
114
151
  set -euo pipefail
115
- for dir in packages/sdk packages/agent packages/core packages/cli; do
152
+ for dir in packages/sdk packages/ui packages/agent packages/core packages/cli; do
116
153
  if test -f "${dir}/package.json"; then npm --prefix "${dir}" run build:dist; fi
117
154
  done
118
155
 
@@ -126,5 +163,5 @@ __WORKING_DIRECTORY_BLOCK__ web:
126
163
  EXTRA_ARGS=()
127
164
  if [[ -n "${TREESEED_WORKFLOW_PROJECT:-}" ]]; then EXTRA_ARGS+=(--project-id "${TREESEED_WORKFLOW_PROJECT}"); fi
128
165
  if [[ -n "${TREESEED_WORKFLOW_PREVIEW_ID:-}" ]]; then EXTRA_ARGS+=(--preview-id "${TREESEED_WORKFLOW_PREVIEW_ID}"); fi
129
- 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[@]}"
130
167
  if [[ -n "${GITHUB_STEP_SUMMARY:-}" && -s "${TIMING_SUMMARY}" ]]; then cat "${TIMING_SUMMARY}" >> "${GITHUB_STEP_SUMMARY}"; fi