@treeseed/sdk 0.12.62 → 0.13.0-rc.2

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 (3212) hide show
  1. package/LICENSE +13 -0
  2. package/README.md +4 -2
  3. package/dist/accounts/account-contracts.d.ts +170 -0
  4. package/dist/accounts/account-contracts.js +33 -0
  5. package/dist/agent-capacity/allocation.d.ts +186 -0
  6. package/dist/agent-capacity/allocation.js +226 -0
  7. package/dist/agent-capacity/artifact-mutation-receipt.d.ts +49 -0
  8. package/dist/agent-capacity/artifact-mutation-receipt.js +36 -0
  9. package/dist/agent-capacity/artifacts.d.ts +107 -0
  10. package/dist/agent-capacity/artifacts.js +39 -0
  11. package/dist/agent-capacity/authoring/agent-definition-authoring.d.ts +57 -0
  12. package/dist/agent-capacity/authoring/agent-definition-authoring.js +73 -0
  13. package/dist/agent-capacity/authoring/agent-deployment.d.ts +93 -0
  14. package/dist/agent-capacity/authoring/agent-deployment.js +65 -0
  15. package/dist/agent-capacity/authoring/chat-activity-profile.d.ts +2 -0
  16. package/dist/agent-capacity/authoring/chat-activity-profile.js +91 -0
  17. package/dist/agent-capacity/authoring/group-definition-authoring.d.ts +33 -0
  18. package/dist/agent-capacity/authoring/group-definition-authoring.js +93 -0
  19. package/dist/agent-capacity/authoring/index.d.ts +4 -0
  20. package/dist/agent-capacity/authoring/index.js +4 -0
  21. package/dist/agent-capacity/authority/agent-authority-presets.d.ts +13 -0
  22. package/dist/agent-capacity/authority/agent-authority-presets.js +106 -0
  23. package/dist/agent-capacity/authority/assignment-authority-probe.d.ts +109 -0
  24. package/dist/agent-capacity/authority/assignment-authority-probe.js +49 -0
  25. package/dist/agent-capacity/contracts/capacity/assignments/assignment-records.d.ts +269 -0
  26. package/dist/agent-capacity/contracts/capacity/assignments/assignment-records.js +10 -0
  27. package/dist/agent-capacity/contracts/capacity/communication/communication-records.d.ts +101 -0
  28. package/dist/agent-capacity/contracts/capacity/communication/communication-records.js +9 -0
  29. package/dist/agent-capacity/contracts/capacity/providers/supply-policy.d.ts +36 -0
  30. package/dist/agent-capacity/contracts/capacity/providers/supply-policy.js +4 -0
  31. package/dist/agent-capacity/contracts/capacity/workdays/workday-records.d.ts +188 -0
  32. package/dist/agent-capacity/contracts/configuration/configuration.d.ts +12 -0
  33. package/dist/agent-capacity/contracts/configuration/configuration.js +20 -0
  34. package/dist/agent-capacity/contracts/index.d.ts +19 -0
  35. package/dist/agent-capacity/contracts/index.js +19 -0
  36. package/dist/agent-capacity/contracts/operations/research-workflow.d.ts +59 -0
  37. package/dist/agent-capacity/contracts/operations/research-workflow.js +16 -0
  38. package/dist/agent-capacity/contracts/operations/workflow-promotion.d.ts +24 -0
  39. package/dist/agent-capacity/contracts/projects/agents/project-agent-class.d.ts +37 -0
  40. package/dist/agent-capacity/contracts/projects/agents/project-agent-class.js +0 -0
  41. package/dist/agent-capacity/contracts/runtime/runtime-observability.d.ts +335 -0
  42. package/dist/agent-capacity/contracts/runtime/runtime-observability.js +0 -0
  43. package/dist/agent-capacity/contracts/support/agent-atlas.d.ts +185 -0
  44. package/dist/agent-capacity/contracts/support/agent-atlas.js +47 -0
  45. package/dist/agent-capacity/contracts/support/agent-lab-monitoring.d.ts +96 -0
  46. package/dist/agent-capacity/contracts/support/agent-lab-monitoring.js +14 -0
  47. package/dist/agent-capacity/contracts/support/authority/execution-mode.d.ts +10 -0
  48. package/dist/agent-capacity/contracts/support/authority/execution-mode.js +17 -0
  49. package/dist/agent-capacity/contracts/support/decision-work.d.ts +251 -0
  50. package/dist/agent-capacity/contracts/support/decision-work.js +0 -0
  51. package/dist/agent-capacity/contracts/support/failure-records.d.ts +9 -0
  52. package/dist/agent-capacity/contracts/support/failure-records.js +0 -0
  53. package/dist/agent-capacity/contracts/support/financial-records.d.ts +124 -0
  54. package/dist/agent-capacity/contracts/support/financial-records.js +0 -0
  55. package/dist/agent-capacity/contracts/support/operator-surface.d.ts +25 -0
  56. package/dist/agent-capacity/contracts/support/operator-surface.js +187 -0
  57. package/dist/agent-capacity/contracts/support/planning-records.d.ts +121 -0
  58. package/dist/agent-capacity/contracts/support/planning-records.js +0 -0
  59. package/dist/agent-capacity/contracts/support/research-citation.d.ts +15 -0
  60. package/dist/agent-capacity/contracts/support/research-citation.js +0 -0
  61. package/dist/agent-capacity/contracts/support/research-source-policy.d.ts +8 -0
  62. package/dist/agent-capacity/contracts/support/research-source-policy.js +0 -0
  63. package/dist/agent-capacity/contracts/support/time-capacity.d.ts +163 -0
  64. package/dist/agent-capacity/contracts/support/time-capacity.js +63 -0
  65. package/dist/agent-capacity/cooperative-planning.d.ts +28 -0
  66. package/dist/agent-capacity/cooperative-planning.js +48 -0
  67. package/dist/agent-capacity/index.d.ts +15 -0
  68. package/dist/agent-capacity/index.js +15 -0
  69. package/dist/agent-capacity/planning-graph.d.ts +77 -0
  70. package/dist/agent-capacity/planning-graph.js +155 -0
  71. package/dist/agent-capacity/policy/capacity/accounting/settlement.d.ts +8 -0
  72. package/dist/agent-capacity/policy/capacity/accounting/settlement.js +50 -0
  73. package/dist/agent-capacity/policy/capacity/allocations/allocation-hierarchy.d.ts +29 -0
  74. package/dist/agent-capacity/policy/capacity/allocations/allocation-hierarchy.js +110 -0
  75. package/dist/agent-capacity/policy/capacity/assignments/assignment-capability.d.ts +20 -0
  76. package/dist/agent-capacity/policy/capacity/assignments/assignment-capability.js +235 -0
  77. package/dist/agent-capacity/policy/capacity/providers/supply-selection.d.ts +10 -0
  78. package/dist/agent-capacity/policy/capacity/providers/supply-selection.js +31 -0
  79. package/dist/agent-capacity/policy/index.d.ts +12 -0
  80. package/dist/agent-capacity/policy/index.js +12 -0
  81. package/dist/agent-capacity/policy/operations/research-workflow.d.ts +13 -0
  82. package/dist/agent-capacity/policy/operations/research-workflow.js +164 -0
  83. package/dist/agent-capacity/policy/runtime/runtime-diagnostics.d.ts +19 -0
  84. package/dist/agent-capacity/policy/runtime/runtime-diagnostics.js +263 -0
  85. package/dist/agent-capacity/policy/support/decision-work.d.ts +23 -0
  86. package/dist/agent-capacity/policy/support/decision-work.js +482 -0
  87. package/dist/agent-capacity/policy/support/execution-capability.d.ts +60 -0
  88. package/dist/agent-capacity/policy/support/execution-capability.js +368 -0
  89. package/dist/agent-capacity/policy/support/failure-classification.d.ts +6 -0
  90. package/dist/agent-capacity/policy/support/failure-classification.js +32 -0
  91. package/dist/agent-capacity/policy/support/kernel-mode.d.ts +20 -0
  92. package/dist/agent-capacity/policy/support/kernel-mode.js +280 -0
  93. package/dist/agent-capacity/policy/support/mode-primitives.d.ts +8 -0
  94. package/dist/agent-capacity/policy/support/mode-primitives.js +14 -0
  95. package/dist/agent-capacity/policy/support/planning.d.ts +39 -0
  96. package/dist/agent-capacity/policy/support/planning.js +161 -0
  97. package/dist/agent-capacity/policy/support/primitives.d.ts +23 -0
  98. package/dist/agent-capacity/policy/support/primitives.js +186 -0
  99. package/dist/agent-capacity/policy/support/revision-cycle.d.ts +4 -0
  100. package/dist/agent-capacity/policy/support/revision-cycle.js +144 -0
  101. package/dist/agent-capacity/validation/activity-profile.d.ts +12 -0
  102. package/dist/agent-capacity/validation/activity-profile.js +264 -0
  103. package/dist/agent-capacity/validation/agent-definition-schema.d.ts +9140 -0
  104. package/dist/agent-capacity/validation/agent-definition-schema.js +198 -0
  105. package/dist/agent-capacity/validation/agent-lab-forensics-schema.d.ts +234 -0
  106. package/dist/agent-capacity/validation/agent-lab-forensics-schema.js +104 -0
  107. package/dist/agent-capacity/validation/agent-signal.d.ts +30 -0
  108. package/dist/agent-capacity/validation/agent-signal.js +31 -0
  109. package/dist/agent-capacity/validation/allocation.d.ts +12 -0
  110. package/dist/agent-capacity/validation/allocation.js +115 -0
  111. package/dist/agent-capacity/validation/assignment-records.d.ts +16 -0
  112. package/dist/agent-capacity/validation/assignment-records.js +92 -0
  113. package/dist/agent-capacity/validation/compatibility/agent-definition-compatibility.d.ts +10 -0
  114. package/dist/agent-capacity/validation/compatibility/agent-definition-compatibility.js +100 -0
  115. package/dist/agent-capacity/validation/configuration.d.ts +14 -0
  116. package/dist/agent-capacity/validation/configuration.js +23 -0
  117. package/dist/agent-capacity/validation/index.d.ts +11 -0
  118. package/dist/agent-capacity/validation/index.js +11 -0
  119. package/dist/agent-capacity/validation/proposal-type.d.ts +22 -0
  120. package/dist/agent-capacity/validation/proposal-type.js +21 -0
  121. package/dist/agent-capacity/validation/research/citation.d.ts +16 -0
  122. package/dist/agent-capacity/validation/research/citation.js +47 -0
  123. package/dist/agent-capacity/validation/research/source-policy.d.ts +11 -0
  124. package/dist/agent-capacity/validation/research/source-policy.js +26 -0
  125. package/dist/agent-capacity/validation/research/workflow.d.ts +10 -0
  126. package/dist/agent-capacity/validation/research/workflow.js +31 -0
  127. package/dist/agent-capacity/validation/workflow-promotion.d.ts +2 -0
  128. package/dist/agent-capacity/validation/workflow-promotion.js +34 -0
  129. package/dist/agent-capacity/workday.d.ts +52 -0
  130. package/dist/agent-capacity/workday.js +105 -0
  131. package/dist/agent-tools/agent-tool-definitions.d.ts +2 -0
  132. package/dist/agent-tools/agent-tool-definitions.js +465 -0
  133. package/dist/agent-tools/agent-tool-execution-target.d.ts +74 -0
  134. package/dist/agent-tools/agent-tool-execution-target.js +76 -0
  135. package/dist/agent-tools/agent-tool-index.d.ts +8 -0
  136. package/dist/agent-tools/agent-tool-index.js +33 -0
  137. package/dist/agent-tools/communication-tool-definitions.d.ts +2 -0
  138. package/dist/agent-tools/communication-tool-definitions.js +85 -0
  139. package/dist/agents/agent-tools.d.ts +3 -0
  140. package/dist/agents/agent-tools.js +3 -0
  141. package/dist/agents/cli-tools.d.ts +3 -0
  142. package/dist/agents/copilot.d.ts +24 -0
  143. package/dist/agents/copilot.js +91 -0
  144. package/dist/ai-appliance/contracts.d.ts +90 -0
  145. package/dist/ai-appliance/contracts.js +16 -0
  146. package/dist/ai-appliance/index.d.ts +3 -0
  147. package/dist/ai-appliance/index.js +3 -0
  148. package/dist/ai-appliance/reconciliation.d.ts +18 -0
  149. package/dist/ai-appliance/reconciliation.js +47 -0
  150. package/dist/ai-appliance/validation.d.ts +4 -0
  151. package/dist/ai-appliance/validation.js +62 -0
  152. package/dist/api/auth/d1-database.js +1 -1
  153. package/dist/api/auth/d1-provider.d.ts +8 -39
  154. package/dist/api/auth/d1-store/accounts/identity/can-adopt-username-match.d.ts +3 -0
  155. package/dist/api/auth/d1-store/accounts/identity/can-adopt-username-match.js +13 -0
  156. package/dist/api/auth/d1-store/accounts/identity/ensure-auth-schema.d.ts +2 -0
  157. package/dist/api/auth/d1-store/accounts/identity/ensure-auth-schema.js +14 -0
  158. package/dist/api/auth/d1-store/accounts/identity/load-user-by-username.d.ts +2 -0
  159. package/dist/api/auth/d1-store/accounts/identity/load-user-by-username.js +6 -0
  160. package/dist/api/auth/d1-store/accounts/identity/load-user-by-verified-email.d.ts +2 -0
  161. package/dist/api/auth/d1-store/accounts/identity/load-user-by-verified-email.js +6 -0
  162. package/dist/api/auth/d1-store/accounts/sessions/authenticate-service.d.ts +6 -0
  163. package/dist/api/auth/d1-store/accounts/sessions/authenticate-service.js +34 -0
  164. package/dist/api/auth/d1-store/accounts/sessions/issue-user-session.d.ts +7 -0
  165. package/dist/api/auth/d1-store/accounts/sessions/issue-user-session.js +69 -0
  166. package/dist/api/auth/d1-store/accounts/tokens/authenticate-bearer-token.d.ts +6 -0
  167. package/dist/api/auth/d1-store/accounts/tokens/authenticate-bearer-token.js +42 -0
  168. package/dist/api/auth/d1-store/accounts/tokens/create-personal-access-token.d.ts +12 -0
  169. package/dist/api/auth/d1-store/accounts/tokens/create-personal-access-token.js +36 -0
  170. package/dist/api/auth/d1-store/accounts/tokens/list-personal-access-tokens.d.ts +2 -0
  171. package/dist/api/auth/d1-store/accounts/tokens/list-personal-access-tokens.js +10 -0
  172. package/dist/api/auth/d1-store/accounts/tokens/refresh-access-token.d.ts +3 -0
  173. package/dist/api/auth/d1-store/accounts/tokens/refresh-access-token.js +46 -0
  174. package/dist/api/auth/d1-store/accounts/tokens/revoke-personal-access-token.d.ts +2 -0
  175. package/dist/api/auth/d1-store/accounts/tokens/revoke-personal-access-token.js +15 -0
  176. package/dist/api/auth/d1-store/capacity/providers/load-identity-by-provider.d.ts +2 -0
  177. package/dist/api/auth/d1-store/capacity/providers/load-identity-by-provider.js +6 -0
  178. package/dist/api/auth/d1-store/commerce/catalog/seed-catalog.d.ts +2 -0
  179. package/dist/api/auth/d1-store/commerce/catalog/seed-catalog.js +27 -0
  180. package/dist/api/auth/d1-store/configuration/create-service-credential.d.ts +7 -0
  181. package/dist/api/auth/d1-store/configuration/create-service-credential.js +10 -0
  182. package/dist/api/auth/d1-store/configuration/rotate-service-credential.d.ts +2 -0
  183. package/dist/api/auth/d1-store/configuration/rotate-service-credential.js +17 -0
  184. package/dist/api/auth/d1-store/configuration/upsert-service-credential.d.ts +8 -0
  185. package/dist/api/auth/d1-store/configuration/upsert-service-credential.js +20 -0
  186. package/dist/api/auth/d1-store/methods.d.ts +40 -0
  187. package/dist/api/auth/d1-store/methods.js +82 -0
  188. package/dist/api/auth/d1-store/runtime/approve-device-flow.d.ts +5 -0
  189. package/dist/api/auth/d1-store/runtime/approve-device-flow.js +27 -0
  190. package/dist/api/auth/d1-store/runtime/poll-device-flow.d.ts +3 -0
  191. package/dist/api/auth/d1-store/runtime/poll-device-flow.js +71 -0
  192. package/dist/api/auth/d1-store/runtime/start-device-flow.d.ts +3 -0
  193. package/dist/api/auth/d1-store/runtime/start-device-flow.js +34 -0
  194. package/dist/api/auth/d1-store/seeds/seed-configured-services.d.ts +2 -0
  195. package/dist/api/auth/d1-store/seeds/seed-configured-services.js +14 -0
  196. package/dist/api/auth/d1-store/support/audit/write-audit-event.d.ts +9 -0
  197. package/dist/api/auth/d1-store/support/audit/write-audit-event.js +18 -0
  198. package/dist/api/auth/d1-store/support/lifecycle/ensure-initialized.d.ts +2 -0
  199. package/dist/api/auth/d1-store/support/lifecycle/ensure-initialized.js +9 -0
  200. package/dist/api/auth/d1-store/support/principals/create-user.d.ts +7 -0
  201. package/dist/api/auth/d1-store/support/principals/create-user.js +30 -0
  202. package/dist/api/auth/d1-store/support/principals/exchange-trusted-user-assertion.d.ts +10 -0
  203. package/dist/api/auth/d1-store/support/principals/exchange-trusted-user-assertion.js +50 -0
  204. package/dist/api/auth/d1-store/support/principals/load-user.d.ts +2 -0
  205. package/dist/api/auth/d1-store/support/principals/load-user.js +6 -0
  206. package/dist/api/auth/d1-store/support/principals/permissions-for-user.d.ts +2 -0
  207. package/dist/api/auth/d1-store/support/principals/permissions-for-user.js +11 -0
  208. package/dist/api/auth/d1-store/support/principals/principal-for-user.d.ts +2 -0
  209. package/dist/api/auth/d1-store/support/principals/principal-for-user.js +27 -0
  210. package/dist/api/auth/d1-store/support/principals/scopes-for-principal.d.ts +2 -0
  211. package/dist/api/auth/d1-store/support/principals/scopes-for-principal.js +13 -0
  212. package/dist/api/auth/d1-store/support/principals/sync-user.d.ts +7 -0
  213. package/dist/api/auth/d1-store/support/principals/sync-user.js +96 -0
  214. package/dist/api/auth/d1-store/support/principals/user-metadata.d.ts +9 -0
  215. package/dist/api/auth/d1-store/support/principals/user-metadata.js +13 -0
  216. package/dist/api/auth/d1-store/support/queries/execute-statement.d.ts +2 -0
  217. package/dist/api/auth/d1-store/support/queries/execute-statement.js +6 -0
  218. package/dist/api/auth/d1-store/support/queries/query-all.d.ts +2 -0
  219. package/dist/api/auth/d1-store/support/queries/query-all.js +7 -0
  220. package/dist/api/auth/d1-store/support/queries/query-first.d.ts +2 -0
  221. package/dist/api/auth/d1-store/support/queries/query-first.js +6 -0
  222. package/dist/api/auth/d1-store/teams/assign-role.d.ts +2 -0
  223. package/dist/api/auth/d1-store/teams/assign-role.js +12 -0
  224. package/dist/api/auth/d1-store/teams/bootstrap-roles-for-user.d.ts +3 -0
  225. package/dist/api/auth/d1-store/teams/bootstrap-roles-for-user.js +22 -0
  226. package/dist/api/auth/d1-store/teams/permissions-for-roles.d.ts +2 -0
  227. package/dist/api/auth/d1-store/teams/permissions-for-roles.js +15 -0
  228. package/dist/api/auth/d1-store/teams/reconcile-bootstrap-admins.d.ts +2 -0
  229. package/dist/api/auth/d1-store/teams/reconcile-bootstrap-admins.js +34 -0
  230. package/dist/api/auth/d1-store/teams/replace-roles.d.ts +2 -0
  231. package/dist/api/auth/d1-store/teams/replace-roles.js +9 -0
  232. package/dist/api/auth/d1-store/teams/roles-for-user.d.ts +2 -0
  233. package/dist/api/auth/d1-store/teams/roles-for-user.js +10 -0
  234. package/dist/api/auth/d1-store/teams/set-user-roles.d.ts +2 -0
  235. package/dist/api/auth/d1-store/teams/set-user-roles.js +25 -0
  236. package/dist/api/auth/d1-store.d.ts +73 -61
  237. package/dist/api/auth/d1-store.js +53 -818
  238. package/dist/api/auth/rbac.d.ts +9 -4
  239. package/dist/api/auth/rbac.js +13 -4
  240. package/dist/api/auth/trusted-assertion.d.ts +10 -0
  241. package/dist/api/auth/trusted-assertion.js +19 -0
  242. package/dist/api/capacity/providers/providers.d.ts +2 -0
  243. package/dist/api/capacity/providers/providers.js +69 -0
  244. package/dist/api/configuration/config.d.ts +4 -0
  245. package/dist/api/configuration/config.js +149 -0
  246. package/dist/api/hosting/railway.d.ts +53 -0
  247. package/dist/api/hosting/railway.js +71 -0
  248. package/dist/api/index.d.ts +10 -7
  249. package/dist/api/index.js +15 -11
  250. package/dist/api/operations/operations-routes.d.ts +11 -0
  251. package/dist/api/operations/operations-routes.js +39 -0
  252. package/dist/api/operations/operations.d.ts +3 -0
  253. package/dist/api/operations/operations.js +26 -0
  254. package/dist/api/support/app.d.ts +8 -0
  255. package/dist/api/support/app.js +410 -0
  256. package/dist/api/support/http.d.ts +28 -0
  257. package/dist/api/support/http.js +51 -0
  258. package/dist/api/support/sdk-dispatch.d.ts +6 -0
  259. package/dist/api/support/sdk-dispatch.js +14 -0
  260. package/dist/api/support/sdk-routes.d.ts +11 -0
  261. package/dist/api/support/sdk-routes.js +29 -0
  262. package/dist/api/support/templates.d.ts +3 -0
  263. package/dist/api/support/templates.js +31 -0
  264. package/dist/api/types.d.ts +11 -7
  265. package/dist/capacity/accounting/native-capacity.d.ts +12 -0
  266. package/dist/capacity/accounting/native-capacity.js +120 -0
  267. package/dist/capacity/agents/agent-capacity.d.ts +34 -0
  268. package/dist/capacity/agents/agent-capacity.js +36 -0
  269. package/dist/capacity/capacity-core/capacity-pagination.d.ts +18 -0
  270. package/dist/capacity/capacity-core/capacity-pagination.js +33 -0
  271. package/dist/capacity/providers/capacity-provider.d.ts +1 -0
  272. package/dist/capacity/providers/capacity-provider.js +1 -0
  273. package/dist/capacity-provider/client.d.ts +110 -0
  274. package/dist/capacity-provider/client.js +256 -0
  275. package/dist/capacity-provider/config/environment.d.ts +6 -0
  276. package/dist/capacity-provider/config/environment.js +36 -0
  277. package/dist/capacity-provider/config/index.d.ts +2 -0
  278. package/dist/capacity-provider/config/index.js +2 -0
  279. package/dist/capacity-provider/config/manifest.d.ts +6 -0
  280. package/dist/capacity-provider/config/manifest.js +16 -0
  281. package/dist/capacity-provider/contracts/capacity-facts.d.ts +64 -0
  282. package/dist/capacity-provider/contracts/capacity-facts.js +0 -0
  283. package/dist/capacity-provider/contracts/governance.d.ts +399 -0
  284. package/dist/capacity-provider/contracts/governance.js +18 -0
  285. package/dist/capacity-provider/contracts/index.d.ts +2 -0
  286. package/dist/capacity-provider/contracts/index.js +2 -0
  287. package/dist/capacity-provider/index.d.ts +8 -0
  288. package/dist/capacity-provider/index.js +8 -0
  289. package/dist/capacity-provider/protocol.d.ts +33 -0
  290. package/dist/capacity-provider/protocol.js +38 -0
  291. package/dist/capacity-provider/runtime-status.d.ts +13 -0
  292. package/dist/capacity-provider/runtime-status.js +40 -0
  293. package/dist/capacity-provider/security/http.d.ts +6 -0
  294. package/dist/capacity-provider/security/http.js +15 -0
  295. package/dist/capacity-provider/security/identity.d.ts +20 -0
  296. package/dist/capacity-provider/security/identity.js +65 -0
  297. package/dist/capacity-provider/security/index.d.ts +2 -0
  298. package/dist/capacity-provider/security/index.js +2 -0
  299. package/dist/capacity-provider/timing/assignment-duration.d.ts +9 -0
  300. package/dist/capacity-provider/timing/assignment-duration.js +92 -0
  301. package/dist/capacity-provider/timing/index.d.ts +1 -0
  302. package/dist/capacity-provider/timing/index.js +1 -0
  303. package/dist/capacity-provider/validation.d.ts +27 -0
  304. package/dist/capacity-provider/validation.js +184 -0
  305. package/dist/commerce/catalog/template-catalog.d.ts +13 -0
  306. package/dist/commerce/catalog/template-catalog.js +149 -0
  307. package/dist/configuration/secrets-capability.d.ts +5 -0
  308. package/dist/configuration/secrets-capability.js +5 -0
  309. package/dist/configuration/service-credentials.d.ts +68 -0
  310. package/dist/configuration/service-credentials.js +121 -0
  311. package/dist/content/content-store.d.ts +25 -0
  312. package/dist/content/content-store.js +269 -0
  313. package/dist/content/validation/agent-operational-content-schemas.d.ts +1351 -0
  314. package/dist/content/validation/agent-operational-content-schemas.js +146 -0
  315. package/dist/content/validation/auxiliary-content-schemas.d.ts +1715 -0
  316. package/dist/content/validation/auxiliary-content-schemas.js +173 -0
  317. package/dist/content/validation/content-model-schemas.d.ts +21728 -0
  318. package/dist/content/validation/content-model-schemas.js +271 -0
  319. package/dist/content/validation/index.d.ts +2 -0
  320. package/dist/content/validation/index.js +2 -0
  321. package/dist/content/validation/portable-content-data.d.ts +2101 -0
  322. package/dist/content/validation/portable-content-data.js +49 -0
  323. package/dist/content-sync/index.d.ts +1 -0
  324. package/dist/content-sync/index.js +1 -0
  325. package/dist/content-sync/reconcile.d.ts +28 -0
  326. package/dist/content-sync/reconcile.js +125 -0
  327. package/dist/d1-store/content/try-claim-content-lease.d.ts +2 -0
  328. package/dist/d1-store/content/try-claim-content-lease.js +21 -0
  329. package/dist/d1-store/methods.d.ts +32 -0
  330. package/dist/d1-store/methods.js +66 -0
  331. package/dist/d1-store/packages/get-release.d.ts +2 -0
  332. package/dist/d1-store/packages/get-release.js +6 -0
  333. package/dist/d1-store/packages/get-share-package.d.ts +2 -0
  334. package/dist/d1-store/packages/get-share-package.js +6 -0
  335. package/dist/d1-store/packages/list-releases.d.ts +2 -0
  336. package/dist/d1-store/packages/list-releases.js +6 -0
  337. package/dist/d1-store/packages/list-share-packages.d.ts +2 -0
  338. package/dist/d1-store/packages/list-share-packages.js +6 -0
  339. package/dist/d1-store/packages/release-all-leases.d.ts +2 -0
  340. package/dist/d1-store/packages/release-all-leases.js +8 -0
  341. package/dist/d1-store/packages/release-lease.d.ts +3 -0
  342. package/dist/d1-store/packages/release-lease.js +6 -0
  343. package/dist/d1-store/packages/upsert-release.d.ts +5 -0
  344. package/dist/d1-store/packages/upsert-release.js +6 -0
  345. package/dist/d1-store/packages/upsert-share-package.d.ts +3 -0
  346. package/dist/d1-store/packages/upsert-share-package.js +6 -0
  347. package/dist/d1-store/support/approvals/create-approval-request.d.ts +3 -0
  348. package/dist/d1-store/support/approvals/create-approval-request.js +12 -0
  349. package/dist/d1-store/support/approvals/decide-approval-request.d.ts +3 -0
  350. package/dist/d1-store/support/approvals/decide-approval-request.js +12 -0
  351. package/dist/d1-store/support/approvals/list-approval-requests.d.ts +3 -0
  352. package/dist/d1-store/support/approvals/list-approval-requests.js +7 -0
  353. package/dist/d1-store/support/cursors/get-cursor.d.ts +3 -0
  354. package/dist/d1-store/support/cursors/get-cursor.js +6 -0
  355. package/dist/d1-store/support/cursors/upsert-cursor.d.ts +3 -0
  356. package/dist/d1-store/support/cursors/upsert-cursor.js +6 -0
  357. package/dist/d1-store/support/execution/inspect-leases.d.ts +2 -0
  358. package/dist/d1-store/support/execution/inspect-leases.js +6 -0
  359. package/dist/d1-store/support/execution/inspect-runs.d.ts +2 -0
  360. package/dist/d1-store/support/execution/inspect-runs.js +6 -0
  361. package/dist/d1-store/support/messages/ack-message.d.ts +3 -0
  362. package/dist/d1-store/support/messages/ack-message.js +15 -0
  363. package/dist/d1-store/support/messages/claim-message.d.ts +3 -0
  364. package/dist/d1-store/support/messages/claim-message.js +22 -0
  365. package/dist/d1-store/support/messages/create-message.d.ts +3 -0
  366. package/dist/d1-store/support/messages/create-message.js +26 -0
  367. package/dist/d1-store/support/queries/follow.d.ts +6 -0
  368. package/dist/d1-store/support/queries/follow.js +21 -0
  369. package/dist/d1-store/support/queries/pick.d.ts +3 -0
  370. package/dist/d1-store/support/queries/pick.js +57 -0
  371. package/dist/d1-store/support/queries/search.d.ts +3 -0
  372. package/dist/d1-store/support/queries/search.js +13 -0
  373. package/dist/d1-store/support/records/create-record.d.ts +3 -0
  374. package/dist/d1-store/support/records/create-record.js +70 -0
  375. package/dist/d1-store/support/records/get-record.d.ts +3 -0
  376. package/dist/d1-store/support/records/get-record.js +31 -0
  377. package/dist/d1-store/support/records/record-run.d.ts +3 -0
  378. package/dist/d1-store/support/records/record-run.js +8 -0
  379. package/dist/d1-store/support/records/rows-for-model.d.ts +2 -0
  380. package/dist/d1-store/support/records/rows-for-model.js +36 -0
  381. package/dist/d1-store/support/update.d.ts +3 -0
  382. package/dist/d1-store/support/update.js +67 -0
  383. package/dist/d1-store/support/workstreams/append-workstream-event.d.ts +3 -0
  384. package/dist/d1-store/support/workstreams/append-workstream-event.js +6 -0
  385. package/dist/d1-store/support/workstreams/get-workstream.d.ts +2 -0
  386. package/dist/d1-store/support/workstreams/get-workstream.js +6 -0
  387. package/dist/d1-store/support/workstreams/list-workstreams.d.ts +2 -0
  388. package/dist/d1-store/support/workstreams/list-workstreams.js +6 -0
  389. package/dist/d1-store/support/workstreams/upsert-workstream.d.ts +3 -0
  390. package/dist/d1-store/support/workstreams/upsert-workstream.js +6 -0
  391. package/dist/d1-store/teams/upsert-team-inbox-item.d.ts +3 -0
  392. package/dist/d1-store/teams/upsert-team-inbox-item.js +12 -0
  393. package/dist/db/d1.d.ts +2 -2
  394. package/dist/db/d1.js +4 -4
  395. package/dist/db/index.d.ts +2 -2
  396. package/dist/db/index.js +2 -2
  397. package/dist/db/market-schema/accounts/agent-lab-view-state.d.ts +228 -0
  398. package/dist/db/market-schema/accounts/agent-lab-view-state.js +22 -0
  399. package/dist/db/market-schema/accounts/better-auth-account.d.ts +2491 -0
  400. package/dist/db/market-schema/accounts/better-auth-account.js +248 -0
  401. package/dist/db/market-schema/accounts/notification-events.d.ts +2911 -0
  402. package/dist/db/market-schema/accounts/notification-events.js +252 -0
  403. package/dist/db/market-schema/accounts/team-services.d.ts +1780 -0
  404. package/dist/db/market-schema/accounts/team-services.js +150 -0
  405. package/dist/db/market-schema/agents/agent-context-query-checks.d.ts +296 -0
  406. package/dist/db/market-schema/agents/agent-context-query-checks.js +33 -0
  407. package/dist/db/market-schema/agents/agent-mode-runs.d.ts +3137 -0
  408. package/dist/db/market-schema/agents/agent-mode-runs.js +311 -0
  409. package/dist/db/market-schema/agents/communication-control.d.ts +820 -0
  410. package/dist/db/market-schema/agents/communication-control.js +86 -0
  411. package/dist/db/market-schema/capacity/accounting/capacity-ledger-entries.d.ts +3187 -0
  412. package/dist/db/market-schema/capacity/accounting/capacity-ledger-entries.js +300 -0
  413. package/dist/db/market-schema/capacity/providers/capacity-provider-team-credentials.d.ts +2637 -0
  414. package/dist/db/market-schema/capacity/providers/capacity-provider-team-credentials.js +271 -0
  415. package/dist/db/market-schema/capacity/workdays/capacity-workday-events.d.ts +3882 -0
  416. package/dist/db/market-schema/capacity/workdays/capacity-workday-events.js +373 -0
  417. package/dist/db/market-schema/commerce/capacity/commerce-capacity-listings.d.ts +1681 -0
  418. package/dist/db/market-schema/commerce/capacity/commerce-capacity-listings.js +150 -0
  419. package/dist/db/market-schema/commerce/catalog/catalog-items.d.ts +3076 -0
  420. package/dist/db/market-schema/commerce/catalog/catalog-items.js +263 -0
  421. package/dist/db/market-schema/commerce/catalog/commerce-product-versions.d.ts +2943 -0
  422. package/dist/db/market-schema/commerce/catalog/commerce-product-versions.js +253 -0
  423. package/dist/db/market-schema/commerce/payments/commerce-subscriptions.d.ts +3072 -0
  424. package/dist/db/market-schema/commerce/payments/commerce-subscriptions.js +263 -0
  425. package/dist/db/market-schema/governance/commons/commons-participants.d.ts +3117 -0
  426. package/dist/db/market-schema/governance/commons/commons-participants.js +260 -0
  427. package/dist/db/market-schema/governance/policy/governance-electorate-snapshots.d.ts +2498 -0
  428. package/dist/db/market-schema/governance/policy/governance-electorate-snapshots.js +212 -0
  429. package/dist/db/market-schema/projects/integrations/provider-operations.d.ts +2586 -0
  430. package/dist/db/market-schema/projects/integrations/provider-operations.js +196 -0
  431. package/dist/db/market-schema/projects/knowledge/knowledge-collaboration.d.ts +1426 -0
  432. package/dist/db/market-schema/projects/knowledge/knowledge-collaboration.js +111 -0
  433. package/dist/db/market-schema/projects/knowledge/project-knowledge-governance.d.ts +1269 -0
  434. package/dist/db/market-schema/projects/knowledge/project-knowledge-governance.js +95 -0
  435. package/dist/db/market-schema/projects/knowledge/tree-dx-project-libraries.d.ts +1937 -0
  436. package/dist/db/market-schema/projects/knowledge/tree-dx-project-libraries.js +160 -0
  437. package/dist/db/market-schema/support/feedback.d.ts +1055 -0
  438. package/dist/db/market-schema/support/feedback.js +86 -0
  439. package/dist/db/market-schema/support/market-schema.d.ts +45339 -0
  440. package/dist/db/market-schema/support/market-schema.js +216 -0
  441. package/dist/db/market-schema/support/subscribers.d.ts +3027 -0
  442. package/dist/db/market-schema/support/subscribers.js +267 -0
  443. package/dist/db/market-schema.d.ts +22 -83651
  444. package/dist/db/market-schema.js +22 -3725
  445. package/dist/db/node-sqlite.d.ts +2 -2
  446. package/dist/db/node-sqlite.js +8 -8
  447. package/dist/db/schema.d.ts +2 -2
  448. package/dist/db/schema.js +3 -3
  449. package/dist/entrypoints/clients/market-client.d.ts +184 -0
  450. package/dist/entrypoints/clients/market-client.js +369 -0
  451. package/dist/entrypoints/clients/remote.d.ts +206 -0
  452. package/dist/entrypoints/clients/remote.js +192 -0
  453. package/dist/entrypoints/dispatch/dispatch.d.ts +4 -0
  454. package/dist/entrypoints/dispatch/dispatch.js +174 -0
  455. package/dist/entrypoints/models/field-aliases.d.ts +11 -0
  456. package/dist/entrypoints/models/model-registry.d.ts +3 -0
  457. package/dist/entrypoints/models/model-registry.js +3 -0
  458. package/dist/entrypoints/models/plugin-default.d.ts +28 -0
  459. package/dist/entrypoints/models/plugin-default.js +39 -0
  460. package/dist/entrypoints/models/sdk-fields.d.ts +11 -0
  461. package/dist/entrypoints/models/sdk-types.d.ts +16 -0
  462. package/dist/entrypoints/models/sdk-types.js +16 -0
  463. package/dist/entrypoints/models/sdk.d.ts +138 -0
  464. package/dist/entrypoints/models/sdk.js +379 -0
  465. package/dist/entrypoints/runtime/managed-dependencies.d.ts +6 -0
  466. package/dist/entrypoints/runtime/managed-dependencies.js +6 -0
  467. package/dist/entrypoints/runtime/timing.d.ts +20 -0
  468. package/dist/entrypoints/runtime/verification.d.ts +3 -0
  469. package/dist/entrypoints/runtime/verification.js +3 -0
  470. package/dist/feedback/contracts.d.ts +142 -0
  471. package/dist/feedback/contracts.js +18 -0
  472. package/dist/feedback/index.d.ts +1 -0
  473. package/dist/feedback/index.js +1 -0
  474. package/dist/gateway/admin-passthrough.d.ts +17 -0
  475. package/dist/gateway/admin-passthrough.js +131 -0
  476. package/dist/gateway/admin-route-inventory.d.ts +5 -0
  477. package/dist/gateway/admin-route-inventory.js +27 -0
  478. package/dist/gateway/header-policy.d.ts +3 -0
  479. package/dist/gateway/header-policy.js +38 -0
  480. package/dist/gateway/health.d.ts +9 -0
  481. package/dist/gateway/health.js +26 -0
  482. package/dist/gateway/index.d.ts +7 -0
  483. package/dist/gateway/index.js +8 -0
  484. package/dist/gateway/node-websocket-proxy.d.ts +13 -0
  485. package/dist/gateway/node-websocket-proxy.js +109 -0
  486. package/dist/governance/groups/contracts.d.ts +102 -0
  487. package/dist/governance/groups/contracts.js +6 -0
  488. package/dist/governance/groups/membership.d.ts +21 -0
  489. package/dist/governance/groups/membership.js +63 -0
  490. package/dist/governance/groups/signal-scope.d.ts +7 -0
  491. package/dist/governance/groups/signal-scope.js +49 -0
  492. package/dist/governance/policy/decision-dependencies.d.ts +21 -0
  493. package/dist/governance/policy/decision-dependencies.js +21 -0
  494. package/dist/governance/policy/governance.d.ts +133 -0
  495. package/dist/governance/policy/governance.js +285 -0
  496. package/dist/governance/policy/proposal-readiness.d.ts +65 -0
  497. package/dist/governance/policy/proposal-readiness.js +68 -0
  498. package/dist/graph/build/build-graph-from-documents.d.ts +9 -0
  499. package/dist/graph/build/build-graph-from-documents.js +401 -0
  500. package/dist/graph/build/md-node.d.ts +46 -0
  501. package/dist/graph/build/md-node.js +210 -0
  502. package/dist/graph/build/parse-graph-document.d.ts +30 -0
  503. package/dist/graph/build/parse-graph-document.js +206 -0
  504. package/dist/graph/build/read-snapshot-file.d.ts +16 -0
  505. package/dist/graph/build/read-snapshot-file.js +177 -0
  506. package/dist/graph/build.d.ts +4 -19
  507. package/dist/graph/build.js +4 -949
  508. package/dist/graph/context-query-contracts.d.ts +19 -1
  509. package/dist/graph/context-query-contracts.js +49 -8
  510. package/dist/graph/context-query-readiness.d.ts +49 -0
  511. package/dist/graph/context-query-readiness.js +12 -0
  512. package/dist/graph/context-query-test.d.ts +181 -0
  513. package/dist/graph/context-query-test.js +205 -0
  514. package/dist/graph/dsl.d.ts +19 -1
  515. package/dist/graph/dsl.js +13 -3
  516. package/dist/graph/query/graph-query-engine.d.ts +47 -0
  517. package/dist/graph/query/graph-query-engine.js +363 -0
  518. package/dist/graph/query/relation-to-edge-type.d.ts +12 -0
  519. package/dist/graph/query/relation-to-edge-type.js +91 -0
  520. package/dist/graph/query/stateful-ids.d.ts +2 -0
  521. package/dist/graph/query/stateful-ids.js +12 -0
  522. package/dist/graph/query.d.ts +3 -47
  523. package/dist/graph/query.js +3 -447
  524. package/dist/graph/ranking/create-default-graph-ranking-provider.d.ts +2 -0
  525. package/dist/graph/ranking/create-default-graph-ranking-provider.js +319 -0
  526. package/dist/graph/ranking/default-graph-ranking-provider.d.ts +1 -0
  527. package/dist/graph/ranking/default-graph-ranking-provider.js +5 -0
  528. package/dist/graph/ranking/ranking-field.d.ts +37 -0
  529. package/dist/graph/ranking/ranking-field.js +184 -0
  530. package/dist/graph/ranking.d.ts +3 -3
  531. package/dist/graph/ranking.js +3 -483
  532. package/dist/graph/schema.d.ts +3 -3
  533. package/dist/graph/schema.js +4 -2
  534. package/dist/guarantees/contracts/agent-guarantee-contracts.d.ts +123 -0
  535. package/dist/guarantees/contracts/agent-guarantee-contracts.js +8 -0
  536. package/dist/guarantees/contracts/agent-guarantee-status.d.ts +40 -0
  537. package/dist/guarantees/contracts/agent-guarantee-status.js +119 -0
  538. package/dist/guarantees/contracts/create-agent-guarantee-proof-template.d.ts +94 -0
  539. package/dist/guarantees/contracts/create-agent-guarantee-proof-template.js +21 -0
  540. package/dist/guarantees/contracts/parse-agent-guarantee-contract.d.ts +19 -0
  541. package/dist/guarantees/contracts/parse-agent-guarantee-contract.js +131 -0
  542. package/dist/guarantees/contracts/parse-agent-guarantee-proof.d.ts +10 -0
  543. package/dist/guarantees/contracts/parse-agent-guarantee-proof.js +133 -0
  544. package/dist/guarantees/features/guarantee-source-closure.d.ts +9 -0
  545. package/dist/guarantees/features/guarantee-source-closure.js +50 -0
  546. package/dist/guarantees/features/ui-feature-contract.d.ts +35 -0
  547. package/dist/guarantees/features/ui-feature-contract.js +133 -0
  548. package/dist/guarantees/features/ui-scene-runtime-trust.d.ts +16 -0
  549. package/dist/guarantees/features/ui-scene-runtime-trust.js +33 -0
  550. package/dist/guarantees/index/build-guarantee-dependency-graph.d.ts +21 -0
  551. package/dist/guarantees/index/build-guarantee-dependency-graph.js +248 -0
  552. package/dist/guarantees/index/export-guarantees-csv.d.ts +110 -0
  553. package/dist/guarantees/index/export-guarantees-csv.js +235 -0
  554. package/dist/guarantees/index/guarantee-journey-audit-item.d.ts +225 -0
  555. package/dist/guarantees/index/guarantee-journey-audit-item.js +81 -0
  556. package/dist/guarantees/index/guarantee-schema-version.d.ts +216 -0
  557. package/dist/guarantees/index/guarantee-schema-version.js +10 -0
  558. package/dist/guarantees/index/parse-verifier-registry.d.ts +64 -0
  559. package/dist/guarantees/index/parse-verifier-registry.js +177 -0
  560. package/dist/guarantees/index/plan-guarantees.d.ts +23 -0
  561. package/dist/guarantees/index/plan-guarantees.js +268 -0
  562. package/dist/guarantees/index/run-guarantees.d.ts +48 -0
  563. package/dist/guarantees/index/run-guarantees.js +327 -0
  564. package/dist/guarantees/index/run-verifier-command.d.ts +41 -0
  565. package/dist/guarantees/index/run-verifier-command.js +290 -0
  566. package/dist/guarantees/index/scene-report-evidence-paths.d.ts +77 -0
  567. package/dist/guarantees/index/scene-report-evidence-paths.js +387 -0
  568. package/dist/guarantees/index/walk-files.d.ts +18 -0
  569. package/dist/guarantees/index/walk-files.js +247 -0
  570. package/dist/guarantees/index.d.ts +17 -512
  571. package/dist/guarantees/index.js +17 -1782
  572. package/dist/hosting/apps.d.ts +5 -5
  573. package/dist/hosting/apps.js +7 -7
  574. package/dist/hosting/builtins/all-environments.d.ts +25 -0
  575. package/dist/hosting/builtins/all-environments.js +194 -0
  576. package/dist/hosting/builtins/create-cloudflare-host-adapter.d.ts +4 -0
  577. package/dist/hosting/builtins/create-cloudflare-host-adapter.js +219 -0
  578. package/dist/hosting/builtins/create-default-service-type-adapters.d.ts +24 -0
  579. package/dist/hosting/builtins/create-default-service-type-adapters.js +159 -0
  580. package/dist/hosting/builtins/probe-cloudflare-pages-public-url.d.ts +15 -0
  581. package/dist/hosting/builtins/probe-cloudflare-pages-public-url.js +166 -0
  582. package/dist/hosting/builtins.d.ts +4 -25
  583. package/dist/hosting/builtins.js +4 -685
  584. package/dist/hosting/contracts.d.ts +91 -91
  585. package/dist/hosting/graph/assert-capability-binding.d.ts +37 -0
  586. package/dist/hosting/graph/assert-capability-binding.js +257 -0
  587. package/dist/hosting/graph/build-profile-from-deploy-config.d.ts +2 -0
  588. package/dist/hosting/graph/build-profile-from-deploy-config.js +253 -0
  589. package/dist/hosting/graph/canonical-hosting-node.d.ts +112 -0
  590. package/dist/hosting/graph/canonical-hosting-node.js +155 -0
  591. package/dist/hosting/graph/railway-service-name-max-length.d.ts +40 -0
  592. package/dist/hosting/graph/railway-service-name-max-length.js +190 -0
  593. package/dist/hosting/graph/railway-source-policy.d.ts +27 -0
  594. package/dist/hosting/graph/railway-source-policy.js +170 -0
  595. package/dist/hosting/graph.d.ts +5 -110
  596. package/dist/hosting/graph.js +5 -993
  597. package/dist/hosting/index.d.ts +2 -2
  598. package/dist/hosting/index.js +2 -2
  599. package/dist/index/agent-and-content.d.ts +17 -0
  600. package/dist/index/agent-and-content.js +87 -0
  601. package/dist/index/capacity-and-governance.d.ts +14 -0
  602. package/dist/index/capacity-and-governance.js +45 -0
  603. package/dist/index/database-and-remote.d.ts +10 -0
  604. package/dist/index/database-and-remote.js +53 -0
  605. package/dist/index/graph-and-search.d.ts +5 -0
  606. package/dist/index/graph-and-search.js +21 -0
  607. package/dist/index/operations-and-workflows.d.ts +23 -0
  608. package/dist/index/operations-and-workflows.js +183 -0
  609. package/dist/index/platform-and-hosting.d.ts +8 -0
  610. package/dist/index/platform-and-hosting.js +125 -0
  611. package/dist/index/public-contracts.d.ts +7 -0
  612. package/dist/index/public-contracts.js +15 -0
  613. package/dist/index/publishing-and-runtime.d.ts +12 -0
  614. package/dist/index/publishing-and-runtime.js +81 -0
  615. package/dist/index/templates-and-catalog.d.ts +1 -0
  616. package/dist/index/templates-and-catalog.js +5 -0
  617. package/dist/index.d.ts +10 -88
  618. package/dist/index.js +10 -757
  619. package/dist/knowledge/authoring.d.ts +3 -0
  620. package/dist/knowledge/authoring.js +61 -0
  621. package/dist/knowledge/catalog.d.ts +38 -0
  622. package/dist/knowledge/catalog.js +254 -0
  623. package/dist/knowledge/collaboration.d.ts +89 -0
  624. package/dist/knowledge/collaboration.js +6 -0
  625. package/dist/knowledge/contracts.d.ts +173 -0
  626. package/dist/knowledge/contracts.js +16 -0
  627. package/dist/knowledge/editorial-context.d.ts +22 -0
  628. package/dist/knowledge/editorial-context.js +60 -0
  629. package/dist/knowledge/editorial-review.d.ts +33 -0
  630. package/dist/knowledge/editorial-review.js +30 -0
  631. package/dist/knowledge/index.d.ts +9 -0
  632. package/dist/knowledge/index.js +9 -0
  633. package/dist/knowledge/markdown.d.ts +3 -0
  634. package/dist/knowledge/markdown.js +130 -0
  635. package/dist/knowledge/publication.d.ts +39 -0
  636. package/dist/knowledge/publication.js +39 -0
  637. package/dist/knowledge/routes.d.ts +3 -0
  638. package/dist/knowledge/routes.js +15 -0
  639. package/dist/knowledge-packs/index.d.ts +2 -0
  640. package/dist/knowledge-packs/index.js +2 -0
  641. package/dist/knowledge-packs/snapshot.d.ts +43 -0
  642. package/dist/knowledge-packs/snapshot.js +89 -0
  643. package/dist/knowledge-packs/zip.d.ts +7 -0
  644. package/dist/knowledge-packs/zip.js +101 -0
  645. package/dist/local-dev/managed-dev-process-spec.d.ts +8 -0
  646. package/dist/local-dev/managed-dev-process-spec.js +207 -0
  647. package/dist/local-dev/managed-dev.d.ts +28 -25
  648. package/dist/local-dev/managed-dev.js +56 -187
  649. package/dist/local-dev/source-closure.d.ts +14 -0
  650. package/dist/local-dev/source-closure.js +154 -0
  651. package/dist/managed-dependencies/collect-native-dependency-repairs.d.ts +28 -0
  652. package/dist/managed-dependencies/collect-native-dependency-repairs.js +246 -0
  653. package/dist/managed-dependencies/dependency-runtime.d.ts +132 -0
  654. package/dist/managed-dependencies/dependency-runtime.js +178 -0
  655. package/dist/managed-dependencies/install-cloudflared.d.ts +2 -0
  656. package/dist/managed-dependencies/install-cloudflared.js +48 -0
  657. package/dist/managed-dependencies/install-gh-act.d.ts +6 -0
  658. package/dist/managed-dependencies/install-gh-act.js +215 -0
  659. package/dist/managed-dependencies/install-gh.d.ts +7 -0
  660. package/dist/managed-dependencies/install-gh.js +274 -0
  661. package/dist/managed-dependencies/redact-sensitive-output.d.ts +38 -0
  662. package/dist/managed-dependencies/redact-sensitive-output.js +207 -0
  663. package/dist/managed-dependencies/run-npm-tool-rebuilds.d.ts +18 -0
  664. package/dist/managed-dependencies/run-npm-tool-rebuilds.js +220 -0
  665. package/dist/market-client/accounts/contracts/account-deletion-blockers.d.ts +2 -0
  666. package/dist/market-client/accounts/contracts/account-deletion-blockers.js +6 -0
  667. package/dist/market-client/accounts/contracts/account-identity.d.ts +2 -0
  668. package/dist/market-client/accounts/contracts/account-identity.js +6 -0
  669. package/dist/market-client/accounts/contracts/local-auth-paths.d.ts +2 -0
  670. package/dist/market-client/accounts/contracts/local-auth-paths.js +6 -0
  671. package/dist/market-client/accounts/contracts/logout.d.ts +2 -0
  672. package/dist/market-client/accounts/contracts/logout.js +9 -0
  673. package/dist/market-client/accounts/contracts/poll-device-login.d.ts +3 -0
  674. package/dist/market-client/accounts/contracts/poll-device-login.js +9 -0
  675. package/dist/market-client/accounts/contracts/web-appearance.d.ts +2 -0
  676. package/dist/market-client/accounts/contracts/web-appearance.js +6 -0
  677. package/dist/market-client/accounts/contracts/web-emails.d.ts +2 -0
  678. package/dist/market-client/accounts/contracts/web-emails.js +6 -0
  679. package/dist/market-client/accounts/contracts/web-notification-preferences.d.ts +2 -0
  680. package/dist/market-client/accounts/contracts/web-notification-preferences.js +6 -0
  681. package/dist/market-client/accounts/contracts/web-notifications.d.ts +2 -0
  682. package/dist/market-client/accounts/contracts/web-notifications.js +6 -0
  683. package/dist/market-client/accounts/contracts/web-sessions.d.ts +2 -0
  684. package/dist/market-client/accounts/contracts/web-sessions.js +6 -0
  685. package/dist/market-client/accounts/creation/add-web-email.d.ts +4 -0
  686. package/dist/market-client/accounts/creation/add-web-email.js +10 -0
  687. package/dist/market-client/accounts/creation/request-web-password-reset.d.ts +4 -0
  688. package/dist/market-client/accounts/creation/request-web-password-reset.js +9 -0
  689. package/dist/market-client/accounts/creation/start-device-login.d.ts +3 -0
  690. package/dist/market-client/accounts/creation/start-device-login.js +9 -0
  691. package/dist/market-client/accounts/lifecycle/complete-web-password-reset.d.ts +5 -0
  692. package/dist/market-client/accounts/lifecycle/complete-web-password-reset.js +9 -0
  693. package/dist/market-client/accounts/lifecycle/confirm-web-email.d.ts +4 -0
  694. package/dist/market-client/accounts/lifecycle/confirm-web-email.js +9 -0
  695. package/dist/market-client/accounts/lifecycle/verify-web-email.d.ts +2 -0
  696. package/dist/market-client/accounts/lifecycle/verify-web-email.js +6 -0
  697. package/dist/market-client/accounts/preferences/account-preferences.d.ts +4 -0
  698. package/dist/market-client/accounts/preferences/account-preferences.js +14 -0
  699. package/dist/market-client/accounts/queries/check-web-email.d.ts +2 -0
  700. package/dist/market-client/accounts/queries/check-web-email.js +6 -0
  701. package/dist/market-client/accounts/queries/check-web-username.d.ts +2 -0
  702. package/dist/market-client/accounts/queries/check-web-username.js +6 -0
  703. package/dist/market-client/accounts/retirement/delete-account.d.ts +6 -0
  704. package/dist/market-client/accounts/retirement/delete-account.js +10 -0
  705. package/dist/market-client/accounts/retirement/delete-web-email.d.ts +2 -0
  706. package/dist/market-client/accounts/retirement/delete-web-email.js +6 -0
  707. package/dist/market-client/accounts/retirement/revoke-web-session.d.ts +2 -0
  708. package/dist/market-client/accounts/retirement/revoke-web-session.js +6 -0
  709. package/dist/market-client/accounts/updates/mark-web-notification-read.d.ts +2 -0
  710. package/dist/market-client/accounts/updates/mark-web-notification-read.js +6 -0
  711. package/dist/market-client/accounts/updates/refresh-token.d.ts +3 -0
  712. package/dist/market-client/accounts/updates/refresh-token.js +9 -0
  713. package/dist/market-client/accounts/updates/set-primary-web-email.d.ts +2 -0
  714. package/dist/market-client/accounts/updates/set-primary-web-email.js +6 -0
  715. package/dist/market-client/accounts/updates/update-web-appearance.d.ts +10 -0
  716. package/dist/market-client/accounts/updates/update-web-appearance.js +10 -0
  717. package/dist/market-client/accounts/updates/update-web-notification-preferences.d.ts +3 -0
  718. package/dist/market-client/accounts/updates/update-web-notification-preferences.js +6 -0
  719. package/dist/market-client/accounts/updates/update-web-password.d.ts +6 -0
  720. package/dist/market-client/accounts/updates/update-web-password.js +10 -0
  721. package/dist/market-client/agent-lab-interface.d.ts +12 -0
  722. package/dist/market-client/agent-lab-interface.js +0 -0
  723. package/dist/market-client/agents/creation/create-structured-agent-estimate.d.ts +2 -0
  724. package/dist/market-client/agents/creation/create-structured-agent-estimate.js +6 -0
  725. package/dist/market-client/agents/lifecycle/accept-structured-agent-estimate.d.ts +2 -0
  726. package/dist/market-client/agents/lifecycle/accept-structured-agent-estimate.js +6 -0
  727. package/dist/market-client/capacity/accounting/contracts/capacity-ledger.d.ts +7 -0
  728. package/dist/market-client/capacity/accounting/contracts/capacity-ledger.js +6 -0
  729. package/dist/market-client/capacity/accounting/contracts/capacity-reservation-explanation.d.ts +2 -0
  730. package/dist/market-client/capacity/accounting/contracts/capacity-reservation-explanation.js +6 -0
  731. package/dist/market-client/capacity/accounting/contracts/capacity-reservations.d.ts +7 -0
  732. package/dist/market-client/capacity/accounting/contracts/capacity-reservations.js +6 -0
  733. package/dist/market-client/capacity/accounting/contracts/capacity-usage.d.ts +7 -0
  734. package/dist/market-client/capacity/accounting/contracts/capacity-usage.js +6 -0
  735. package/dist/market-client/capacity/accounting/lifecycle/decide-capacity-overrun.d.ts +4 -0
  736. package/dist/market-client/capacity/accounting/lifecycle/decide-capacity-overrun.js +6 -0
  737. package/dist/market-client/capacity/admission/contracts/team-capacity-registration-key.d.ts +2 -0
  738. package/dist/market-client/capacity/admission/contracts/team-capacity-registration-key.js +6 -0
  739. package/dist/market-client/capacity/admission/lifecycle/enable-team-capacity-registration-key.d.ts +2 -0
  740. package/dist/market-client/capacity/admission/lifecycle/enable-team-capacity-registration-key.js +6 -0
  741. package/dist/market-client/capacity/admission/lifecycle/reveal-team-capacity-registration-key.d.ts +2 -0
  742. package/dist/market-client/capacity/admission/lifecycle/reveal-team-capacity-registration-key.js +6 -0
  743. package/dist/market-client/capacity/admission/retirement/disable-team-capacity-registration-key.d.ts +2 -0
  744. package/dist/market-client/capacity/admission/retirement/disable-team-capacity-registration-key.js +6 -0
  745. package/dist/market-client/capacity/admission/updates/rotate-team-capacity-registration-key.d.ts +2 -0
  746. package/dist/market-client/capacity/admission/updates/rotate-team-capacity-registration-key.js +6 -0
  747. package/dist/market-client/capacity/admission/updates/update-team-capacity-registration-key-status.d.ts +2 -0
  748. package/dist/market-client/capacity/admission/updates/update-team-capacity-registration-key-status.js +6 -0
  749. package/dist/market-client/capacity/allocations/contracts/capacity-allocation-set.d.ts +2 -0
  750. package/dist/market-client/capacity/allocations/contracts/capacity-allocation-set.js +6 -0
  751. package/dist/market-client/capacity/allocations/contracts/capacity-allocation-sets.d.ts +5 -0
  752. package/dist/market-client/capacity/allocations/contracts/capacity-allocation-sets.js +11 -0
  753. package/dist/market-client/capacity/allocations/contracts/capacity-grant.d.ts +2 -0
  754. package/dist/market-client/capacity/allocations/contracts/capacity-grant.js +6 -0
  755. package/dist/market-client/capacity/allocations/contracts/capacity-grants.d.ts +5 -0
  756. package/dist/market-client/capacity/allocations/contracts/capacity-grants.js +11 -0
  757. package/dist/market-client/capacity/allocations/creation/create-capacity-allocation-set.d.ts +2 -0
  758. package/dist/market-client/capacity/allocations/creation/create-capacity-allocation-set.js +6 -0
  759. package/dist/market-client/capacity/allocations/creation/create-capacity-grant.d.ts +2 -0
  760. package/dist/market-client/capacity/allocations/creation/create-capacity-grant.js +6 -0
  761. package/dist/market-client/capacity/allocations/creation/plan-capacity-allocation-set.d.ts +2 -0
  762. package/dist/market-client/capacity/allocations/creation/plan-capacity-allocation-set.js +6 -0
  763. package/dist/market-client/capacity/allocations/creation/plan-capacity-grant.d.ts +2 -0
  764. package/dist/market-client/capacity/allocations/creation/plan-capacity-grant.js +6 -0
  765. package/dist/market-client/capacity/allocations/lifecycle/activate-capacity-allocation-set.d.ts +2 -0
  766. package/dist/market-client/capacity/allocations/lifecycle/activate-capacity-allocation-set.js +6 -0
  767. package/dist/market-client/capacity/allocations/queries/explain-capacity-allocation-set.d.ts +2 -0
  768. package/dist/market-client/capacity/allocations/queries/explain-capacity-allocation-set.js +6 -0
  769. package/dist/market-client/capacity/allocations/retirement/archive-capacity-allocation-set.d.ts +2 -0
  770. package/dist/market-client/capacity/allocations/retirement/archive-capacity-allocation-set.js +6 -0
  771. package/dist/market-client/capacity/allocations/updates/supersede-capacity-allocation-set.d.ts +2 -0
  772. package/dist/market-client/capacity/allocations/updates/supersede-capacity-allocation-set.js +6 -0
  773. package/dist/market-client/capacity/allocations/updates/transition-capacity-grant.d.ts +2 -0
  774. package/dist/market-client/capacity/allocations/updates/transition-capacity-grant.js +6 -0
  775. package/dist/market-client/capacity/assignments/contracts/assignment-authority-probe.d.ts +2 -0
  776. package/dist/market-client/capacity/assignments/contracts/assignment-authority-probe.js +6 -0
  777. package/dist/market-client/capacity/assignments/contracts/capacity-provider-assignment.d.ts +2 -0
  778. package/dist/market-client/capacity/assignments/contracts/capacity-provider-assignment.js +6 -0
  779. package/dist/market-client/capacity/assignments/contracts/capacity-provider-assignments.d.ts +12 -0
  780. package/dist/market-client/capacity/assignments/contracts/capacity-provider-assignments.js +26 -0
  781. package/dist/market-client/capacity/assignments/contracts/decision-assignment-graph.d.ts +2 -0
  782. package/dist/market-client/capacity/assignments/contracts/decision-assignment-graph.js +6 -0
  783. package/dist/market-client/capacity/assignments/contracts/decision-assignment-graphs.d.ts +4 -0
  784. package/dist/market-client/capacity/assignments/contracts/decision-assignment-graphs.js +7 -0
  785. package/dist/market-client/capacity/assignments/contracts/provider-assignment-explanation.d.ts +2 -0
  786. package/dist/market-client/capacity/assignments/contracts/provider-assignment-explanation.js +6 -0
  787. package/dist/market-client/capacity/assignments/lifecycle/admit-capacity-assignment.d.ts +2 -0
  788. package/dist/market-client/capacity/assignments/lifecycle/admit-capacity-assignment.js +6 -0
  789. package/dist/market-client/capacity/assignments/lifecycle/integrate-assignment-content.d.ts +10 -0
  790. package/dist/market-client/capacity/assignments/lifecycle/integrate-assignment-content.js +9 -0
  791. package/dist/market-client/capacity/assignments/lifecycle/requeue-capacity-assignment.d.ts +5 -0
  792. package/dist/market-client/capacity/assignments/lifecycle/requeue-capacity-assignment.js +6 -0
  793. package/dist/market-client/capacity/assignments/retirement/abandon-assignment-content.d.ts +9 -0
  794. package/dist/market-client/capacity/assignments/retirement/abandon-assignment-content.js +9 -0
  795. package/dist/market-client/capacity/assignments/retirement/cancel-capacity-assignment.d.ts +5 -0
  796. package/dist/market-client/capacity/assignments/retirement/cancel-capacity-assignment.js +6 -0
  797. package/dist/market-client/capacity/capacity-core/contracts/capacity-audit-events.d.ts +11 -0
  798. package/dist/market-client/capacity/capacity-core/contracts/capacity-audit-events.js +11 -0
  799. package/dist/market-client/capacity/observability/contracts/agent-lab.d.ts +27 -0
  800. package/dist/market-client/capacity/observability/contracts/agent-lab.js +37 -0
  801. package/dist/market-client/capacity/observability/contracts/capacity-evidence-page.d.ts +7 -0
  802. package/dist/market-client/capacity/observability/contracts/capacity-evidence-page.js +13 -0
  803. package/dist/market-client/capacity/observability/contracts/project-capacity-diagnostics.d.ts +2 -0
  804. package/dist/market-client/capacity/observability/contracts/project-capacity-diagnostics.js +7 -0
  805. package/dist/market-client/capacity/observability/contracts/project-capacity-runtime-diagnostics.d.ts +2 -0
  806. package/dist/market-client/capacity/observability/contracts/project-capacity-runtime-diagnostics.js +7 -0
  807. package/dist/market-client/capacity/planning/contracts/capacity-plan.d.ts +2 -0
  808. package/dist/market-client/capacity/planning/contracts/capacity-plan.js +6 -0
  809. package/dist/market-client/capacity/planning/contracts/decision-capacity-plans.d.ts +4 -0
  810. package/dist/market-client/capacity/planning/contracts/decision-capacity-plans.js +7 -0
  811. package/dist/market-client/capacity/planning/creation/create-decision-capacity-plan.d.ts +2 -0
  812. package/dist/market-client/capacity/planning/creation/create-decision-capacity-plan.js +6 -0
  813. package/dist/market-client/capacity/planning/creation/request-capacity-plan-revision.d.ts +2 -0
  814. package/dist/market-client/capacity/planning/creation/request-capacity-plan-revision.js +6 -0
  815. package/dist/market-client/capacity/planning/lifecycle/accept-capacity-plan.d.ts +2 -0
  816. package/dist/market-client/capacity/planning/lifecycle/accept-capacity-plan.js +6 -0
  817. package/dist/market-client/capacity/planning/lifecycle/schedule-capacity-plan.d.ts +2 -0
  818. package/dist/market-client/capacity/planning/lifecycle/schedule-capacity-plan.js +6 -0
  819. package/dist/market-client/capacity/planning/updates/supersede-capacity-plan.d.ts +2 -0
  820. package/dist/market-client/capacity/planning/updates/supersede-capacity-plan.js +6 -0
  821. package/dist/market-client/capacity/providers/contracts/auth-providers.d.ts +2 -0
  822. package/dist/market-client/capacity/providers/contracts/auth-providers.js +6 -0
  823. package/dist/market-client/capacity/providers/contracts/capacity-provider-credentials.d.ts +6 -0
  824. package/dist/market-client/capacity/providers/contracts/capacity-provider-credentials.js +13 -0
  825. package/dist/market-client/capacity/providers/contracts/capacity-provider-membership.d.ts +2 -0
  826. package/dist/market-client/capacity/providers/contracts/capacity-provider-membership.js +6 -0
  827. package/dist/market-client/capacity/providers/contracts/capacity-provider-memberships.d.ts +7 -0
  828. package/dist/market-client/capacity/providers/contracts/capacity-provider-memberships.js +15 -0
  829. package/dist/market-client/capacity/providers/contracts/capacity-provider-registration-request.d.ts +2 -0
  830. package/dist/market-client/capacity/providers/contracts/capacity-provider-registration-request.js +6 -0
  831. package/dist/market-client/capacity/providers/contracts/capacity-provider-registration-requests.d.ts +6 -0
  832. package/dist/market-client/capacity/providers/contracts/capacity-provider-registration-requests.js +13 -0
  833. package/dist/market-client/capacity/providers/contracts/provider-availability-sessions.d.ts +7 -0
  834. package/dist/market-client/capacity/providers/contracts/provider-availability-sessions.js +16 -0
  835. package/dist/market-client/capacity/providers/lifecycle/authorize-capacity-provider-credential-rotation.d.ts +2 -0
  836. package/dist/market-client/capacity/providers/lifecycle/authorize-capacity-provider-credential-rotation.js +6 -0
  837. package/dist/market-client/capacity/providers/lifecycle/resume-capacity-provider-membership.d.ts +2 -0
  838. package/dist/market-client/capacity/providers/lifecycle/resume-capacity-provider-membership.js +6 -0
  839. package/dist/market-client/capacity/providers/lifecycle/review-capacity-provider-registration.d.ts +5 -0
  840. package/dist/market-client/capacity/providers/lifecycle/review-capacity-provider-registration.js +6 -0
  841. package/dist/market-client/capacity/providers/retirement/revoke-capacity-provider-credential.d.ts +2 -0
  842. package/dist/market-client/capacity/providers/retirement/revoke-capacity-provider-credential.js +6 -0
  843. package/dist/market-client/capacity/providers/retirement/revoke-capacity-provider-membership.d.ts +2 -0
  844. package/dist/market-client/capacity/providers/retirement/revoke-capacity-provider-membership.js +6 -0
  845. package/dist/market-client/capacity/providers/retirement/suspend-capacity-provider-membership.d.ts +2 -0
  846. package/dist/market-client/capacity/providers/retirement/suspend-capacity-provider-membership.js +6 -0
  847. package/dist/market-client/capacity/providers/updates/update-capacity-provider-membership-status.d.ts +2 -0
  848. package/dist/market-client/capacity/providers/updates/update-capacity-provider-membership-status.js +6 -0
  849. package/dist/market-client/capacity/workdays/contracts/workday-events.d.ts +5 -0
  850. package/dist/market-client/capacity/workdays/contracts/workday-events.js +11 -0
  851. package/dist/market-client/capacity/workdays/contracts/workday-run.d.ts +2 -0
  852. package/dist/market-client/capacity/workdays/contracts/workday-run.js +6 -0
  853. package/dist/market-client/capacity/workdays/contracts/workday-runs.d.ts +7 -0
  854. package/dist/market-client/capacity/workdays/contracts/workday-runs.js +16 -0
  855. package/dist/market-client/capacity/workdays/contracts/workday-summary.d.ts +6 -0
  856. package/dist/market-client/capacity/workdays/contracts/workday-summary.js +14 -0
  857. package/dist/market-client/capacity/workdays/contracts/workday.d.ts +2 -0
  858. package/dist/market-client/capacity/workdays/contracts/workday.js +6 -0
  859. package/dist/market-client/capacity/workdays/creation/create-workday-event.d.ts +2 -0
  860. package/dist/market-client/capacity/workdays/creation/create-workday-event.js +6 -0
  861. package/dist/market-client/capacity/workdays/creation/create-workday-run.d.ts +2 -0
  862. package/dist/market-client/capacity/workdays/creation/create-workday-run.js +6 -0
  863. package/dist/market-client/capacity/workdays/creation/create-workday.d.ts +2 -0
  864. package/dist/market-client/capacity/workdays/creation/create-workday.js +6 -0
  865. package/dist/market-client/capacity/workdays/creation/preflight-workday-run.d.ts +2 -0
  866. package/dist/market-client/capacity/workdays/creation/preflight-workday-run.js +6 -0
  867. package/dist/market-client/capacity/workdays/creation/start-workday.d.ts +2 -0
  868. package/dist/market-client/capacity/workdays/creation/start-workday.js +6 -0
  869. package/dist/market-client/capacity/workdays/lifecycle/close-workday-admission.d.ts +29 -0
  870. package/dist/market-client/capacity/workdays/lifecycle/close-workday-admission.js +9 -0
  871. package/dist/market-client/capacity/workdays/lifecycle/complete-workday.d.ts +2 -0
  872. package/dist/market-client/capacity/workdays/lifecycle/complete-workday.js +6 -0
  873. package/dist/market-client/capacity/workdays/lifecycle/pause-workday.d.ts +2 -0
  874. package/dist/market-client/capacity/workdays/lifecycle/pause-workday.js +6 -0
  875. package/dist/market-client/capacity/workdays/lifecycle/resume-workday.d.ts +2 -0
  876. package/dist/market-client/capacity/workdays/lifecycle/resume-workday.js +6 -0
  877. package/dist/market-client/capacity/workdays/lifecycle/tick-workday-run.d.ts +5 -0
  878. package/dist/market-client/capacity/workdays/lifecycle/tick-workday-run.js +6 -0
  879. package/dist/market-client/capacity/workdays/retirement/cancel-workday.d.ts +2 -0
  880. package/dist/market-client/capacity/workdays/retirement/cancel-workday.js +6 -0
  881. package/dist/market-client/capacity/workdays/updates/update-workday-run.d.ts +2 -0
  882. package/dist/market-client/capacity/workdays/updates/update-workday-run.js +6 -0
  883. package/dist/market-client/commerce/catalog/contracts/catalog.d.ts +2 -0
  884. package/dist/market-client/commerce/catalog/contracts/catalog.js +7 -0
  885. package/dist/market-client/discussions/contracts/discussions.d.ts +27 -0
  886. package/dist/market-client/discussions/contracts/discussions.js +21 -0
  887. package/dist/market-client/interface.d.ts +197 -0
  888. package/dist/market-client/interface.js +0 -0
  889. package/dist/market-client/methods.d.ts +2 -0
  890. package/dist/market-client/methods.js +406 -0
  891. package/dist/market-client/operations/contracts/research-workflow.d.ts +2 -0
  892. package/dist/market-client/operations/contracts/research-workflow.js +6 -0
  893. package/dist/market-client/operations/creation/create-research-workflow.d.ts +2 -0
  894. package/dist/market-client/operations/creation/create-research-workflow.js +6 -0
  895. package/dist/market-client/project-agent-interface.d.ts +15 -0
  896. package/dist/market-client/project-agent-interface.js +0 -0
  897. package/dist/market-client/projects/access/contracts/project-access.d.ts +2 -0
  898. package/dist/market-client/projects/access/contracts/project-access.js +6 -0
  899. package/dist/market-client/projects/agents/contracts/agent-deployments.d.ts +34 -0
  900. package/dist/market-client/projects/agents/contracts/agent-deployments.js +22 -0
  901. package/dist/market-client/projects/agents/contracts/project-agent-authoring-draft.d.ts +10 -0
  902. package/dist/market-client/projects/agents/contracts/project-agent-authoring-draft.js +13 -0
  903. package/dist/market-client/projects/agents/contracts/project-agent-class.d.ts +2 -0
  904. package/dist/market-client/projects/agents/contracts/project-agent-class.js +6 -0
  905. package/dist/market-client/projects/agents/contracts/project-agent-classes.d.ts +5 -0
  906. package/dist/market-client/projects/agents/contracts/project-agent-classes.js +11 -0
  907. package/dist/market-client/projects/agents/contracts/project-agent-fallback-outputs.d.ts +8 -0
  908. package/dist/market-client/projects/agents/contracts/project-agent-fallback-outputs.js +17 -0
  909. package/dist/market-client/projects/agents/contracts/project-agent-mode-runs.d.ts +8 -0
  910. package/dist/market-client/projects/agents/contracts/project-agent-mode-runs.js +18 -0
  911. package/dist/market-client/projects/agents/contracts/project-context-query-checks.d.ts +2 -0
  912. package/dist/market-client/projects/agents/contracts/project-context-query-checks.js +6 -0
  913. package/dist/market-client/projects/agents/creation/author-project-agent.d.ts +10 -0
  914. package/dist/market-client/projects/agents/creation/author-project-agent.js +10 -0
  915. package/dist/market-client/projects/agents/creation/author-project-definitions.d.ts +12 -0
  916. package/dist/market-client/projects/agents/creation/author-project-definitions.js +10 -0
  917. package/dist/market-client/projects/agents/creation/check-project-context-query.d.ts +7 -0
  918. package/dist/market-client/projects/agents/creation/check-project-context-query.js +11 -0
  919. package/dist/market-client/projects/agents/creation/create-project-agent-class.d.ts +2 -0
  920. package/dist/market-client/projects/agents/creation/create-project-agent-class.js +6 -0
  921. package/dist/market-client/projects/agents/creation/launch-project-agent-simulation.d.ts +8 -0
  922. package/dist/market-client/projects/agents/creation/launch-project-agent-simulation.js +10 -0
  923. package/dist/market-client/projects/agents/updates/update-project-agent-class.d.ts +2 -0
  924. package/dist/market-client/projects/agents/updates/update-project-agent-class.js +6 -0
  925. package/dist/market-client/projects/knowledge/contracts/project-tree-dx-library.d.ts +2 -0
  926. package/dist/market-client/projects/knowledge/contracts/project-tree-dx-library.js +6 -0
  927. package/dist/market-client/projects/knowledge/contracts/project-tree-dx-proxy-audit.d.ts +7 -0
  928. package/dist/market-client/projects/knowledge/contracts/project-tree-dx-proxy-audit.js +15 -0
  929. package/dist/market-client/projects/knowledge/creation/upsert-project-tree-dx-library.d.ts +3 -0
  930. package/dist/market-client/projects/knowledge/creation/upsert-project-tree-dx-library.js +6 -0
  931. package/dist/market-client/projects/projects-core/contracts/dispatch-project-workflow-operation.d.ts +2 -0
  932. package/dist/market-client/projects/projects-core/contracts/dispatch-project-workflow-operation.js +6 -0
  933. package/dist/market-client/projects/projects-core/contracts/project-deletion-blockers.d.ts +2 -0
  934. package/dist/market-client/projects/projects-core/contracts/project-deletion-blockers.js +6 -0
  935. package/dist/market-client/projects/projects-core/contracts/project-workflow-operations.d.ts +10 -0
  936. package/dist/market-client/projects/projects-core/contracts/project-workflow-operations.js +50 -0
  937. package/dist/market-client/projects/projects-core/contracts/projects.d.ts +2 -0
  938. package/dist/market-client/projects/projects-core/contracts/projects.js +7 -0
  939. package/dist/market-client/projects/projects-core/creation/create-project.d.ts +8 -0
  940. package/dist/market-client/projects/projects-core/creation/create-project.js +6 -0
  941. package/dist/market-client/projects/projects-core/retirement/delete-project.d.ts +2 -0
  942. package/dist/market-client/projects/projects-core/retirement/delete-project.js +6 -0
  943. package/dist/market-client/projects/projects-core/updates/set-project-inventory-status.d.ts +3 -0
  944. package/dist/market-client/projects/projects-core/updates/set-project-inventory-status.js +10 -0
  945. package/dist/market-client/projects/repositories/contracts/project-repository-topology.d.ts +2 -0
  946. package/dist/market-client/projects/repositories/contracts/project-repository-topology.js +6 -0
  947. package/dist/market-client/projects/repositories/updates/update-project-repository-topology.d.ts +3 -0
  948. package/dist/market-client/projects/repositories/updates/update-project-repository-topology.js +6 -0
  949. package/dist/market-client/seeds/creation/apply-seed.d.ts +2 -0
  950. package/dist/market-client/seeds/creation/apply-seed.js +6 -0
  951. package/dist/market-client/seeds/creation/export-seed.d.ts +2 -0
  952. package/dist/market-client/seeds/creation/export-seed.js +6 -0
  953. package/dist/market-client/seeds/creation/plan-seed.d.ts +2 -0
  954. package/dist/market-client/seeds/creation/plan-seed.js +6 -0
  955. package/dist/market-client/seeds/interface.d.ts +10 -0
  956. package/dist/market-client/seeds/interface.js +0 -0
  957. package/dist/market-client/seeds/queries/list-seed-runs.d.ts +2 -0
  958. package/dist/market-client/seeds/queries/list-seed-runs.js +7 -0
  959. package/dist/market-client/seeds/queries/resolve-seed-resources.d.ts +9 -0
  960. package/dist/market-client/seeds/queries/resolve-seed-resources.js +10 -0
  961. package/dist/market-client/support/creation/create-decision-execution-input.d.ts +2 -0
  962. package/dist/market-client/support/creation/create-decision-execution-input.js +6 -0
  963. package/dist/market-client/support/creation/create-personal-theme.d.ts +3 -0
  964. package/dist/market-client/support/creation/create-personal-theme.js +6 -0
  965. package/dist/market-client/support/creation/create-planning-input-request.d.ts +2 -0
  966. package/dist/market-client/support/creation/create-planning-input-request.js +6 -0
  967. package/dist/market-client/support/creation/request-decision-execution-input-revision.d.ts +2 -0
  968. package/dist/market-client/support/creation/request-decision-execution-input-revision.js +6 -0
  969. package/dist/market-client/support/creation/request-first.d.ts +7 -0
  970. package/dist/market-client/support/creation/request-first.js +19 -0
  971. package/dist/market-client/support/delivery/artifact-download.d.ts +2 -0
  972. package/dist/market-client/support/delivery/artifact-download.js +6 -0
  973. package/dist/market-client/support/delivery/deliverable-manifest.d.ts +4 -0
  974. package/dist/market-client/support/delivery/deliverable-manifest.js +14 -0
  975. package/dist/market-client/support/identity/markets.d.ts +2 -0
  976. package/dist/market-client/support/identity/markets.js +6 -0
  977. package/dist/market-client/support/identity/me.d.ts +2 -0
  978. package/dist/market-client/support/identity/me.js +6 -0
  979. package/dist/market-client/support/identity/personal-themes.d.ts +2 -0
  980. package/dist/market-client/support/identity/personal-themes.js +6 -0
  981. package/dist/market-client/support/identity/web-sign-in.d.ts +7 -0
  982. package/dist/market-client/support/identity/web-sign-in.js +9 -0
  983. package/dist/market-client/support/identity/web-sign-up.d.ts +9 -0
  984. package/dist/market-client/support/identity/web-sign-up.js +9 -0
  985. package/dist/market-client/support/lifecycle/accept-decision-execution-input.d.ts +2 -0
  986. package/dist/market-client/support/lifecycle/accept-decision-execution-input.js +6 -0
  987. package/dist/market-client/support/planning/decision-execution-inputs.d.ts +4 -0
  988. package/dist/market-client/support/planning/decision-execution-inputs.js +7 -0
  989. package/dist/market-client/support/planning/decision-planning-status.d.ts +2 -0
  990. package/dist/market-client/support/planning/decision-planning-status.js +6 -0
  991. package/dist/market-client/support/planning/decision-structured-estimates.d.ts +2 -0
  992. package/dist/market-client/support/planning/decision-structured-estimates.js +7 -0
  993. package/dist/market-client/support/planning/execution-runs.d.ts +12 -0
  994. package/dist/market-client/support/planning/execution-runs.js +11 -0
  995. package/dist/market-client/support/preferences/request.d.ts +7 -0
  996. package/dist/market-client/support/preferences/request.js +36 -0
  997. package/dist/market-client/support/queries/current-market.d.ts +2 -0
  998. package/dist/market-client/support/queries/current-market.js +6 -0
  999. package/dist/market-client/support/retirement/delete-personal-theme.d.ts +2 -0
  1000. package/dist/market-client/support/retirement/delete-personal-theme.js +6 -0
  1001. package/dist/market-client/support/updates/update-personal-theme.d.ts +3 -0
  1002. package/dist/market-client/support/updates/update-personal-theme.js +6 -0
  1003. package/dist/market-client/support/updates/update-web-profile.d.ts +5 -0
  1004. package/dist/market-client/support/updates/update-web-profile.js +10 -0
  1005. package/dist/market-client/teams/contracts/team-deletion-blockers.d.ts +2 -0
  1006. package/dist/market-client/teams/contracts/team-deletion-blockers.js +6 -0
  1007. package/dist/market-client/teams/contracts/team-members.d.ts +2 -0
  1008. package/dist/market-client/teams/contracts/team-members.js +6 -0
  1009. package/dist/market-client/teams/contracts/team-permissions.d.ts +2 -0
  1010. package/dist/market-client/teams/contracts/team-permissions.js +6 -0
  1011. package/dist/market-client/teams/contracts/teams.d.ts +2 -0
  1012. package/dist/market-client/teams/contracts/teams.js +6 -0
  1013. package/dist/market-client/teams/creation/create-team.d.ts +6 -0
  1014. package/dist/market-client/teams/creation/create-team.js +10 -0
  1015. package/dist/market-client/teams/lifecycle/team-lifecycle.d.ts +22 -0
  1016. package/dist/market-client/teams/lifecycle/team-lifecycle.js +30 -0
  1017. package/dist/market-client/treedx/graph/contracts/tree-dx-build-context.d.ts +2 -0
  1018. package/dist/market-client/treedx/graph/contracts/tree-dx-build-context.js +6 -0
  1019. package/dist/market-client/treedx/repositories/contracts/team-tree-dx.d.ts +2 -0
  1020. package/dist/market-client/treedx/repositories/contracts/team-tree-dx.js +6 -0
  1021. package/dist/market-client/treedx/repositories/contracts/tree-dx-mirrors.d.ts +2 -0
  1022. package/dist/market-client/treedx/repositories/contracts/tree-dx-mirrors.js +6 -0
  1023. package/dist/market-client/treedx/repositories/contracts/tree-dx-read-repository-files.d.ts +2 -0
  1024. package/dist/market-client/treedx/repositories/contracts/tree-dx-read-repository-files.js +6 -0
  1025. package/dist/market-client/treedx/repositories/contracts/tree-dx-shares.d.ts +2 -0
  1026. package/dist/market-client/treedx/repositories/contracts/tree-dx-shares.js +6 -0
  1027. package/dist/market-client/treedx/repositories/creation/create-tree-dx-mirror.d.ts +3 -0
  1028. package/dist/market-client/treedx/repositories/creation/create-tree-dx-mirror.js +6 -0
  1029. package/dist/market-client/treedx/repositories/creation/create-tree-dx-share.d.ts +3 -0
  1030. package/dist/market-client/treedx/repositories/creation/create-tree-dx-share.js +6 -0
  1031. package/dist/market-client/treedx/repositories/creation/create-tree-dx-workspace.d.ts +2 -0
  1032. package/dist/market-client/treedx/repositories/creation/create-tree-dx-workspace.js +6 -0
  1033. package/dist/market-client/treedx/repositories/creation/provision-team-tree-dx.d.ts +2 -0
  1034. package/dist/market-client/treedx/repositories/creation/provision-team-tree-dx.js +6 -0
  1035. package/dist/market-client/treedx/repositories/updates/sync-tree-dx-mirror.d.ts +2 -0
  1036. package/dist/market-client/treedx/repositories/updates/sync-tree-dx-mirror.js +6 -0
  1037. package/dist/market-client/treedx/repositories/updates/update-team-tree-dx.d.ts +3 -0
  1038. package/dist/market-client/treedx/repositories/updates/update-team-tree-dx.js +6 -0
  1039. package/dist/model-registry/agent-operational-models.d.ts +4 -0
  1040. package/dist/model-registry/agent-operational-models.js +38 -0
  1041. package/dist/model-registry/build-builtin-model-registry.d.ts +2 -0
  1042. package/dist/model-registry/build-builtin-model-registry.js +426 -0
  1043. package/dist/model-registry/content-root.d.ts +9 -0
  1044. package/dist/model-registry/content-root.js +33 -0
  1045. package/dist/model-registry/discussion-models.d.ts +4 -0
  1046. package/dist/model-registry/discussion-models.js +84 -0
  1047. package/dist/model-registry/group-models.d.ts +2 -0
  1048. package/dist/model-registry/group-models.js +52 -0
  1049. package/dist/model-registry/knowledge-models.d.ts +2 -0
  1050. package/dist/model-registry/knowledge-models.js +89 -0
  1051. package/dist/model-registry/normalize-definition.d.ts +8 -0
  1052. package/dist/model-registry/normalize-definition.js +69 -0
  1053. package/dist/operations/agents/agent-checkpoint-integration.d.ts +53 -0
  1054. package/dist/operations/agents/agent-checkpoint-integration.js +235 -0
  1055. package/dist/operations/agents/agent-tools.d.ts +121 -0
  1056. package/dist/operations/agents/agent-tools.js +184 -0
  1057. package/dist/operations/agents/agent-worktree-checkpoint.d.ts +24 -0
  1058. package/dist/operations/agents/agent-worktree-checkpoint.js +83 -0
  1059. package/dist/operations/agents/agent-worktree-prepare.d.ts +24 -0
  1060. package/dist/operations/agents/agent-worktree-prepare.js +28 -0
  1061. package/dist/operations/agents/execution-authority-receipt.d.ts +43 -0
  1062. package/dist/operations/agents/execution-authority-receipt.js +69 -0
  1063. package/dist/operations/content-operations.d.ts +106 -0
  1064. package/dist/operations/content-operations.js +334 -0
  1065. package/dist/operations/operations-registry.d.ts +5 -0
  1066. package/dist/operations/operations-registry.js +83 -0
  1067. package/dist/operations/operations-types.d.ts +75 -0
  1068. package/dist/operations/operations-types.js +17 -0
  1069. package/dist/operations/operations.d.ts +17 -0
  1070. package/dist/operations/operations.js +108 -0
  1071. package/dist/operations/packages/agent-worktree-release.d.ts +27 -0
  1072. package/dist/operations/packages/agent-worktree-release.js +25 -0
  1073. package/dist/operations/platform-operation-store.d.ts +2 -0
  1074. package/dist/operations/platform-operation-store.js +2 -0
  1075. package/dist/operations/platform-operations.d.ts +3 -0
  1076. package/dist/operations/platform-operations.js +3 -0
  1077. package/dist/operations/providers/default/auth-who-am-ioperation.d.ts +60 -0
  1078. package/dist/operations/providers/default/auth-who-am-ioperation.js +283 -0
  1079. package/dist/operations/providers/default/preflight-operation.d.ts +81 -0
  1080. package/dist/operations/providers/default/preflight-operation.js +127 -0
  1081. package/dist/operations/providers/default/run-git.d.ts +63 -0
  1082. package/dist/operations/providers/default/run-git.js +216 -0
  1083. package/dist/operations/providers/default/utility-operations.d.ts +45 -0
  1084. package/dist/operations/providers/default/utility-operations.js +139 -0
  1085. package/dist/operations/providers/default.d.ts +4 -10
  1086. package/dist/operations/providers/default.js +4 -1245
  1087. package/dist/operations/runtime/runtime.d.ts +9 -0
  1088. package/dist/operations/runtime/runtime.js +63 -0
  1089. package/dist/operations/services/agents/runtime-tools.d.ts +35 -0
  1090. package/dist/operations/services/agents/runtime-tools.js +212 -0
  1091. package/dist/operations/services/capacity/accounting/release-proof-ledger.d.ts +13 -0
  1092. package/dist/operations/services/capacity/accounting/release-proof-ledger.js +81 -0
  1093. package/dist/operations/services/capacity/providers/commit-message-provider.d.ts +3 -0
  1094. package/dist/operations/services/capacity/providers/commit-message-provider.js +3 -0
  1095. package/dist/operations/services/commit-message-provider/context-lines.d.ts +9 -0
  1096. package/dist/operations/services/commit-message-provider/context-lines.js +168 -0
  1097. package/dist/operations/services/commit-message-provider/default-commit-ai-model.d.ts +87 -0
  1098. package/dist/operations/services/commit-message-provider/default-commit-ai-model.js +149 -0
  1099. package/dist/operations/services/commit-message-provider/fallback-summary.d.ts +34 -0
  1100. package/dist/operations/services/commit-message-provider/fallback-summary.js +227 -0
  1101. package/dist/operations/services/config-runtime/accounts/ensure-secret-session-for-config.d.ts +80 -0
  1102. package/dist/operations/services/config-runtime/accounts/ensure-secret-session-for-config.js +171 -0
  1103. package/dist/operations/services/config-runtime/agents/ensure-act-verification-tooling.d.ts +56 -0
  1104. package/dist/operations/services/config-runtime/agents/ensure-act-verification-tooling.js +234 -0
  1105. package/dist/operations/services/config-runtime/commerce/catalog/resolve-template-catalog-endpoint.d.ts +15 -0
  1106. package/dist/operations/services/config-runtime/commerce/catalog/resolve-template-catalog-endpoint.js +241 -0
  1107. package/dist/operations/services/config-runtime/configuration/configuration-generation.d.ts +25 -0
  1108. package/dist/operations/services/config-runtime/configuration/configuration-generation.js +71 -0
  1109. package/dist/operations/services/config-runtime/configuration/create-default-machine-config.d.ts +104 -0
  1110. package/dist/operations/services/config-runtime/configuration/create-default-machine-config.js +273 -0
  1111. package/dist/operations/services/config-runtime/configuration/create-git-hub-config-sync-units.d.ts +55 -0
  1112. package/dist/operations/services/config-runtime/configuration/create-git-hub-config-sync-units.js +247 -0
  1113. package/dist/operations/services/config-runtime/configuration/finalize-config.d.ts +53 -0
  1114. package/dist/operations/services/config-runtime/configuration/finalize-config.js +271 -0
  1115. package/dist/operations/services/config-runtime/configuration/inspect-key-agent-status.d.ts +5 -0
  1116. package/dist/operations/services/config-runtime/configuration/inspect-key-agent-status.js +215 -0
  1117. package/dist/operations/services/config-runtime/configuration/list-relevant-config-entries.d.ts +47 -0
  1118. package/dist/operations/services/config-runtime/configuration/list-relevant-config-entries.js +228 -0
  1119. package/dist/operations/services/config-runtime/configuration/machine-config-relative-path.d.ts +93 -0
  1120. package/dist/operations/services/config-runtime/configuration/machine-config-relative-path.js +214 -0
  1121. package/dist/operations/services/config-runtime/configuration/resolve-launch-environment.d.ts +100 -0
  1122. package/dist/operations/services/config-runtime/configuration/resolve-launch-environment.js +229 -0
  1123. package/dist/operations/services/config-runtime/hosting/check-railway-connection.d.ts +35 -0
  1124. package/dist/operations/services/config-runtime/hosting/check-railway-connection.js +214 -0
  1125. package/dist/operations/services/config-runtime/hosting/load-tenant-deploy-config.d.ts +71 -0
  1126. package/dist/operations/services/config-runtime/hosting/load-tenant-deploy-config.js +253 -0
  1127. package/dist/operations/services/config-runtime/hosting/sync-cloudflare-environment.d.ts +64 -0
  1128. package/dist/operations/services/config-runtime/hosting/sync-cloudflare-environment.js +184 -0
  1129. package/dist/operations/services/config-runtime/support/collect-print-env-report.d.ts +53 -0
  1130. package/dist/operations/services/config-runtime/support/collect-print-env-report.js +58 -0
  1131. package/dist/operations/services/config-runtime/support/resolve-entry-value-from-buckets.d.ts +29 -0
  1132. package/dist/operations/services/config-runtime/support/resolve-entry-value-from-buckets.js +237 -0
  1133. package/dist/operations/services/config-runtime/support/rotate-machine-key-passphrase.d.ts +55 -0
  1134. package/dist/operations/services/config-runtime/support/rotate-machine-key-passphrase.js +258 -0
  1135. package/dist/operations/services/config-runtime/support/summarize-persistent-readiness.d.ts +117 -0
  1136. package/dist/operations/services/config-runtime/support/summarize-persistent-readiness.js +231 -0
  1137. package/dist/operations/services/configuration/config-runtime.d.ts +18 -0
  1138. package/dist/operations/services/configuration/config-runtime.js +18 -0
  1139. package/dist/operations/services/configuration/github-credentials.d.ts +13 -0
  1140. package/dist/operations/services/configuration/github-credentials.js +71 -0
  1141. package/dist/operations/services/configuration/key-agent.d.ts +4 -0
  1142. package/dist/operations/services/configuration/key-agent.js +4 -0
  1143. package/dist/operations/services/deploy/accounts/local-runtime-auth-env-keys.d.ts +159 -0
  1144. package/dist/operations/services/deploy/accounts/local-runtime-auth-env-keys.js +240 -0
  1145. package/dist/operations/services/deploy/configuration/destroy-environment-resources.d.ts +229 -0
  1146. package/dist/operations/services/deploy/configuration/destroy-environment-resources.js +219 -0
  1147. package/dist/operations/services/deploy/hosting/assert-cloudflare-cache-purge-succeeded.d.ts +105 -0
  1148. package/dist/operations/services/deploy/hosting/assert-cloudflare-cache-purge-succeeded.js +215 -0
  1149. package/dist/operations/services/deploy/hosting/build-managed-cloudflare-cache-rules.d.ts +163 -0
  1150. package/dist/operations/services/deploy/hosting/build-managed-cloudflare-cache-rules.js +247 -0
  1151. package/dist/operations/services/deploy/hosting/cloudflare-api-request.d.ts +7 -0
  1152. package/dist/operations/services/deploy/hosting/cloudflare-api-request.js +180 -0
  1153. package/dist/operations/services/deploy/hosting/cloudflare-destroy-verification.d.ts +48 -0
  1154. package/dist/operations/services/deploy/hosting/cloudflare-destroy-verification.js +120 -0
  1155. package/dist/operations/services/deploy/hosting/collect-missing-deploy-inputs.d.ts +67 -0
  1156. package/dist/operations/services/deploy/hosting/collect-missing-deploy-inputs.js +227 -0
  1157. package/dist/operations/services/deploy/hosting/configured-surface-hosts.d.ts +100 -0
  1158. package/dist/operations/services/deploy/hosting/configured-surface-hosts.js +224 -0
  1159. package/dist/operations/services/deploy/hosting/delete-cloudflare-api-resource.d.ts +65 -0
  1160. package/dist/operations/services/deploy/hosting/delete-cloudflare-api-resource.js +258 -0
  1161. package/dist/operations/services/deploy/hosting/load-deploy-state.d.ts +17 -0
  1162. package/dist/operations/services/deploy/hosting/load-deploy-state.js +278 -0
  1163. package/dist/operations/services/deploy/hosting/provision-cloudflare-resources.d.ts +47 -0
  1164. package/dist/operations/services/deploy/hosting/provision-cloudflare-resources.js +207 -0
  1165. package/dist/operations/services/deploy/hosting/verify-provisioned-cloudflare-resources.d.ts +25 -0
  1166. package/dist/operations/services/deploy/hosting/verify-provisioned-cloudflare-resources.js +260 -0
  1167. package/dist/operations/services/deploy/projects/projects-core/ensure-pages-project-compatibility.d.ts +59 -0
  1168. package/dist/operations/services/deploy/projects/projects-core/ensure-pages-project-compatibility.js +142 -0
  1169. package/dist/operations/services/deploy/support/default-compatibility-date.d.ts +43 -0
  1170. package/dist/operations/services/deploy/support/default-compatibility-date.js +236 -0
  1171. package/dist/operations/services/deploy/support/delete-cache-rules.d.ts +52 -0
  1172. package/dist/operations/services/deploy/support/delete-cache-rules.js +267 -0
  1173. package/dist/operations/services/deploy/support/docker-list.d.ts +55 -0
  1174. package/dist/operations/services/deploy/support/docker-list.js +251 -0
  1175. package/dist/operations/services/deploy/support/pages-domain-name.d.ts +52 -0
  1176. package/dist/operations/services/deploy/support/pages-domain-name.js +246 -0
  1177. package/dist/operations/services/deploy/support/print-destroy-summary.d.ts +1 -0
  1178. package/dist/operations/services/deploy/support/print-destroy-summary.js +40 -0
  1179. package/dist/operations/services/deploy/support/run-wrangler.d.ts +36 -0
  1180. package/dist/operations/services/deploy/support/run-wrangler.js +245 -0
  1181. package/dist/operations/services/git-runner/active-git-process-hints.d.ts +16 -0
  1182. package/dist/operations/services/git-runner/active-git-process-hints.js +225 -0
  1183. package/dist/operations/services/git-runner/git-runner-mode.d.ts +78 -0
  1184. package/dist/operations/services/git-runner/git-runner-mode.js +198 -0
  1185. package/dist/operations/services/git-runner/recover-git-locks.d.ts +14 -0
  1186. package/dist/operations/services/git-runner/recover-git-locks.js +124 -0
  1187. package/dist/operations/services/git-workflow/checkout-task-branch-from-staging.d.ts +57 -0
  1188. package/dist/operations/services/git-workflow/checkout-task-branch-from-staging.js +223 -0
  1189. package/dist/operations/services/git-workflow/inspect-detached-head-repair.d.ts +112 -0
  1190. package/dist/operations/services/git-workflow/inspect-detached-head-repair.js +265 -0
  1191. package/dist/operations/services/git-workflow/inspect-merged-remote-task-branches.d.ts +85 -0
  1192. package/dist/operations/services/git-workflow/inspect-merged-remote-task-branches.js +237 -0
  1193. package/dist/operations/services/git-workflow/reconcile-submodule-checkouts.d.ts +5 -0
  1194. package/dist/operations/services/git-workflow/reconcile-submodule-checkouts.js +34 -0
  1195. package/dist/operations/services/git-workflow/staging-branch.d.ts +32 -0
  1196. package/dist/operations/services/git-workflow/staging-branch.js +203 -0
  1197. package/dist/operations/services/github-actions-verification/create-git-hub-actions-gate-progress-reporter.d.ts +15 -0
  1198. package/dist/operations/services/github-actions-verification/create-git-hub-actions-gate-progress-reporter.js +66 -0
  1199. package/dist/operations/services/github-actions-verification/git-hub-actions-workflow-state.d.ts +134 -0
  1200. package/dist/operations/services/github-actions-verification/git-hub-actions-workflow-state.js +104 -0
  1201. package/dist/operations/services/github-actions-verification/inspect-target.d.ts +37 -0
  1202. package/dist/operations/services/github-actions-verification/inspect-target.js +237 -0
  1203. package/dist/operations/services/github-actions-verification/resolve-remote-branch-head.d.ts +16 -0
  1204. package/dist/operations/services/github-actions-verification/resolve-remote-branch-head.js +228 -0
  1205. package/dist/operations/services/github-api/create-git-hub-api-client.d.ts +73 -0
  1206. package/dist/operations/services/github-api/create-git-hub-api-client.js +264 -0
  1207. package/dist/operations/services/github-api/get-latest-git-hub-workflow-run.d.ts +52 -0
  1208. package/dist/operations/services/github-api/get-latest-git-hub-workflow-run.js +214 -0
  1209. package/dist/operations/services/github-api/paginate-git-hub-environment-names.d.ts +45 -0
  1210. package/dist/operations/services/github-api/paginate-git-hub-environment-names.js +176 -0
  1211. package/dist/operations/services/github-api/require.d.ts +139 -0
  1212. package/dist/operations/services/github-api/require.js +123 -0
  1213. package/dist/operations/services/github-api/upsert-git-hub-repository-variable-with-gh-cli.d.ts +32 -0
  1214. package/dist/operations/services/github-api/upsert-git-hub-repository-variable-with-gh-cli.js +243 -0
  1215. package/dist/operations/services/github-automation/ensure-git-hub-bootstrap-repository.d.ts +21 -0
  1216. package/dist/operations/services/github-automation/ensure-git-hub-bootstrap-repository.js +59 -0
  1217. package/dist/operations/services/github-automation/github-repository-remote.d.ts +3 -0
  1218. package/dist/operations/services/github-automation/github-repository-remote.js +36 -0
  1219. package/dist/operations/services/github-automation/non-empty-values.d.ts +51 -0
  1220. package/dist/operations/services/github-automation/non-empty-values.js +111 -0
  1221. package/dist/operations/services/guarantees/release-proof-planner.d.ts +48 -0
  1222. package/dist/operations/services/guarantees/release-proof-planner.js +195 -0
  1223. package/dist/operations/services/guarantees/release-proof-runner.d.ts +16 -0
  1224. package/dist/operations/services/guarantees/release-proof-runner.js +169 -0
  1225. package/dist/operations/services/guarantees/release-proof.d.ts +81 -0
  1226. package/dist/operations/services/hosted-service-checks/collect-hosted-service-checks.d.ts +2 -0
  1227. package/dist/operations/services/hosted-service-checks/collect-hosted-service-checks.js +387 -0
  1228. package/dist/operations/services/hosted-service-checks/hosted-service-check-status.d.ts +110 -0
  1229. package/dist/operations/services/hosted-service-checks/hosted-service-check-status.js +155 -0
  1230. package/dist/operations/services/hosting/audit/hosted-service-checks.d.ts +2 -0
  1231. package/dist/operations/services/hosting/audit/hosted-service-checks.js +2 -0
  1232. package/dist/operations/services/hosting/audit/hosting-audit.d.ts +4 -0
  1233. package/dist/operations/services/hosting/audit/hosting-audit.js +4 -0
  1234. package/dist/operations/services/hosting/audit/live-hosted-service-checks.d.ts +4 -0
  1235. package/dist/operations/services/hosting/audit/live-hosted-service-checks.js +4 -0
  1236. package/dist/operations/services/hosting/audit/managed-host-security.d.ts +13 -0
  1237. package/dist/operations/services/hosting/audit/managed-host-security.js +55 -0
  1238. package/dist/operations/services/hosting/deployment/deploy.d.ts +19 -0
  1239. package/dist/operations/services/hosting/deployment/deploy.js +19 -0
  1240. package/dist/operations/services/hosting/deployment/deployment-readiness.d.ts +30 -0
  1241. package/dist/operations/services/hosting/deployment/deployment-readiness.js +217 -0
  1242. package/dist/operations/services/hosting/deployment/save-deploy-preflight.js +82 -0
  1243. package/dist/operations/services/hosting/railway/railway-api.d.ts +10 -0
  1244. package/dist/operations/services/hosting/railway/railway-api.js +10 -0
  1245. package/dist/operations/services/hosting/railway/railway-cli.js +142 -0
  1246. package/dist/operations/services/hosting/railway/railway-deploy.d.ts +10 -0
  1247. package/dist/operations/services/hosting/railway/railway-deploy.js +10 -0
  1248. package/dist/operations/services/hosting/railway/railway-source-policy.d.ts +25 -0
  1249. package/dist/operations/services/hosting-audit/check-smtp-reachability.d.ts +14 -0
  1250. package/dist/operations/services/hosting-audit/check-smtp-reachability.js +271 -0
  1251. package/dist/operations/services/hosting-audit/format-hosting-audit-report.d.ts +2 -0
  1252. package/dist/operations/services/hosting-audit/format-hosting-audit-report.js +26 -0
  1253. package/dist/operations/services/hosting-audit/hosting-audit-environment.d.ts +98 -0
  1254. package/dist/operations/services/hosting-audit/hosting-audit-environment.js +177 -0
  1255. package/dist/operations/services/hosting-audit/required-key-check.d.ts +23 -0
  1256. package/dist/operations/services/hosting-audit/required-key-check.js +199 -0
  1257. package/dist/operations/services/key-agent/migrate-legacy-project-machine-key-to-wrapped.d.ts +2 -0
  1258. package/dist/operations/services/key-agent/migrate-legacy-project-machine-key-to-wrapped.js +27 -0
  1259. package/dist/operations/services/key-agent/read-legacy-project-machine-key.d.ts +18 -0
  1260. package/dist/operations/services/key-agent/read-legacy-project-machine-key.js +250 -0
  1261. package/dist/operations/services/key-agent/read-wrapped-machine-key-file.d.ts +43 -0
  1262. package/dist/operations/services/key-agent/read-wrapped-machine-key-file.js +260 -0
  1263. package/dist/operations/services/key-agent/treseed-machine-key-passphrase-env.d.ts +117 -0
  1264. package/dist/operations/services/key-agent/treseed-machine-key-passphrase-env.js +149 -0
  1265. package/dist/operations/services/live-hosted-service-checks/collect-http-observations.d.ts +12 -0
  1266. package/dist/operations/services/live-hosted-service-checks/collect-http-observations.js +138 -0
  1267. package/dist/operations/services/live-hosted-service-checks/collect-railway-observations.d.ts +11 -0
  1268. package/dist/operations/services/live-hosted-service-checks/collect-railway-observations.js +271 -0
  1269. package/dist/operations/services/live-hosted-service-checks/default-retry-attempts.d.ts +109 -0
  1270. package/dist/operations/services/live-hosted-service-checks/default-retry-attempts.js +184 -0
  1271. package/dist/operations/services/live-hosted-service-checks/verify-railway-postgres-topology.d.ts +13 -0
  1272. package/dist/operations/services/live-hosted-service-checks/verify-railway-postgres-topology.js +71 -0
  1273. package/dist/operations/services/operations/bootstrap-runner.d.ts +39 -0
  1274. package/dist/operations/services/operations/bootstrap-runner.js +191 -0
  1275. package/dist/operations/services/operations/git-runner.d.ts +3 -0
  1276. package/dist/operations/services/operations/git-runner.js +3 -0
  1277. package/dist/operations/services/operations/git-workflow.d.ts +5 -0
  1278. package/dist/operations/services/operations/git-workflow.js +5 -0
  1279. package/dist/operations/services/operations/operations-runner-smoke.d.ts +31 -0
  1280. package/dist/operations/services/operations/operations-runner-smoke.js +212 -0
  1281. package/dist/operations/services/operations/workflow-timing.d.ts +25 -0
  1282. package/dist/operations/services/operations/workflow-timing.js +79 -0
  1283. package/dist/operations/services/package-adapters/beam-package-adapter.d.ts +5 -0
  1284. package/dist/operations/services/package-adapters/beam-package-adapter.js +130 -0
  1285. package/dist/operations/services/package-adapters/deployment-source-mode-for-branch.d.ts +19 -0
  1286. package/dist/operations/services/package-adapters/deployment-source-mode-for-branch.js +154 -0
  1287. package/dist/operations/services/package-adapters/package-kind.d.ts +169 -0
  1288. package/dist/operations/services/package-adapters/package-kind.js +110 -0
  1289. package/dist/operations/services/package-adapters/plan-package-development-image.d.ts +52 -0
  1290. package/dist/operations/services/package-adapters/plan-package-development-image.js +238 -0
  1291. package/dist/operations/services/package-adapters/render-package-workflow.d.ts +13 -0
  1292. package/dist/operations/services/package-adapters/render-package-workflow.js +251 -0
  1293. package/dist/operations/services/package-adapters/validate-package-manifests.d.ts +7 -0
  1294. package/dist/operations/services/package-adapters/validate-package-manifests.js +112 -0
  1295. package/dist/operations/services/package-bootstrap/contracts.d.ts +30 -0
  1296. package/dist/operations/services/package-bootstrap/contracts.js +0 -0
  1297. package/dist/operations/services/package-bootstrap/index.d.ts +2 -0
  1298. package/dist/operations/services/package-bootstrap/index.js +2 -0
  1299. package/dist/operations/services/package-bootstrap/initialize-package.d.ts +2 -0
  1300. package/dist/operations/services/package-bootstrap/initialize-package.js +122 -0
  1301. package/dist/operations/services/package-bootstrap/template.d.ts +2 -0
  1302. package/dist/operations/services/package-bootstrap/template.js +390 -0
  1303. package/dist/operations/services/packages/package-artifacts.d.ts +37 -0
  1304. package/dist/operations/services/packages/package-artifacts.js +99 -0
  1305. package/dist/operations/services/packages/package-reference-policy.d.ts +67 -0
  1306. package/dist/operations/services/packages/package-reference-policy.js +366 -0
  1307. package/dist/operations/services/packages/release-history.js +158 -0
  1308. package/dist/operations/services/persistence/d1-migration.js +120 -0
  1309. package/dist/operations/services/railway-api/collect-railway-volumes.d.ts +30 -0
  1310. package/dist/operations/services/railway-api/collect-railway-volumes.js +196 -0
  1311. package/dist/operations/services/railway-api/default-railway-api-url.d.ts +122 -0
  1312. package/dist/operations/services/railway-api/default-railway-api-url.js +139 -0
  1313. package/dist/operations/services/railway-api/ensure-railway-custom-domain.d.ts +74 -0
  1314. package/dist/operations/services/railway-api/ensure-railway-custom-domain.js +119 -0
  1315. package/dist/operations/services/railway-api/ensure-railway-service-instance-configuration.d.ts +91 -0
  1316. package/dist/operations/services/railway-api/ensure-railway-service-instance-configuration.js +164 -0
  1317. package/dist/operations/services/railway-api/ensure-railway-service.d.ts +59 -0
  1318. package/dist/operations/services/railway-api/ensure-railway-service.js +217 -0
  1319. package/dist/operations/services/railway-api/inspect-railway-postgres-service.d.ts +73 -0
  1320. package/dist/operations/services/railway-api/inspect-railway-postgres-service.js +209 -0
  1321. package/dist/operations/services/railway-api/list-railway-projects.d.ts +41 -0
  1322. package/dist/operations/services/railway-api/list-railway-projects.js +213 -0
  1323. package/dist/operations/services/railway-api/list-railway-service-domains.d.ts +72 -0
  1324. package/dist/operations/services/railway-api/list-railway-service-domains.js +212 -0
  1325. package/dist/operations/services/railway-api/normalize-workspace.d.ts +17 -0
  1326. package/dist/operations/services/railway-api/normalize-workspace.js +241 -0
  1327. package/dist/operations/services/railway-api/upsert-railway-variables.d.ts +39 -0
  1328. package/dist/operations/services/railway-api/upsert-railway-variables.js +214 -0
  1329. package/dist/operations/services/railway-deploy/configured-public-tree-dx-railway-services.d.ts +81 -0
  1330. package/dist/operations/services/railway-deploy/configured-public-tree-dx-railway-services.js +179 -0
  1331. package/dist/operations/services/railway-deploy/configured-railway-services-for-config.d.ts +1 -0
  1332. package/dist/operations/services/railway-deploy/configured-railway-services-for-config.js +140 -0
  1333. package/dist/operations/services/railway-deploy/configured-railway-services.d.ts +42 -0
  1334. package/dist/operations/services/railway-deploy/configured-railway-services.js +205 -0
  1335. package/dist/operations/services/railway-deploy/deploy-railway-service.d.ts +45 -0
  1336. package/dist/operations/services/railway-deploy/deploy-railway-service.js +122 -0
  1337. package/dist/operations/services/railway-deploy/ensure-railway-scheduled-jobs.d.ts +19 -0
  1338. package/dist/operations/services/railway-deploy/ensure-railway-scheduled-jobs.js +172 -0
  1339. package/dist/operations/services/railway-deploy/normalize-scope.d.ts +34 -0
  1340. package/dist/operations/services/railway-deploy/normalize-scope.js +230 -0
  1341. package/dist/operations/services/railway-deploy/railway-status-deployment-terminal-failure.d.ts +21 -0
  1342. package/dist/operations/services/railway-deploy/railway-status-deployment-terminal-failure.js +182 -0
  1343. package/dist/operations/services/railway-deploy/sync-railway-service-runtime-configuration-after-deploy.d.ts +66 -0
  1344. package/dist/operations/services/railway-deploy/sync-railway-service-runtime-configuration-after-deploy.js +216 -0
  1345. package/dist/operations/services/railway-deploy/verify-railway-managed-resources.d.ts +20 -0
  1346. package/dist/operations/services/railway-deploy/verify-railway-managed-resources.js +245 -0
  1347. package/dist/operations/services/railway-deploy/wait-for-railway-managed-deployments-settled.d.ts +52 -0
  1348. package/dist/operations/services/railway-deploy/wait-for-railway-managed-deployments-settled.js +205 -0
  1349. package/dist/operations/services/reconciliation/package-adapters.d.ts +6 -0
  1350. package/dist/operations/services/reconciliation/package-adapters.js +6 -0
  1351. package/dist/operations/services/repositories/git-remote-policy.js +63 -0
  1352. package/dist/operations/services/repositories/github-actions-verification.d.ts +4 -0
  1353. package/dist/operations/services/repositories/github-actions-verification.js +4 -0
  1354. package/dist/operations/services/repositories/github-api.d.ts +5 -0
  1355. package/dist/operations/services/repositories/github-api.js +5 -0
  1356. package/dist/operations/services/repositories/github-automation.d.ts +3 -0
  1357. package/dist/operations/services/repositories/github-automation.js +3 -0
  1358. package/dist/operations/services/repositories/platform-initializer.d.ts +49 -0
  1359. package/dist/operations/services/repositories/platform-initializer.js +161 -0
  1360. package/dist/operations/services/repositories/platform-workset.d.ts +103 -0
  1361. package/dist/operations/services/repositories/platform-workset.js +204 -0
  1362. package/dist/operations/services/repositories/repository-save-orchestrator.d.ts +13 -0
  1363. package/dist/operations/services/repositories/repository-save-orchestrator.js +13 -0
  1364. package/dist/operations/services/repository-save-orchestrator/packages/finalize-clean-package-version.d.ts +4 -0
  1365. package/dist/operations/services/repository-save-orchestrator/packages/finalize-clean-package-version.js +156 -0
  1366. package/dist/operations/services/repository-save-orchestrator/repositories/discover-repository-save-nodes.d.ts +43 -0
  1367. package/dist/operations/services/repository-save-orchestrator/repositories/discover-repository-save-nodes.js +312 -0
  1368. package/dist/operations/services/repository-save-orchestrator/repositories/plan-repository-save.d.ts +11 -0
  1369. package/dist/operations/services/repository-save-orchestrator/repositories/plan-repository-save.js +173 -0
  1370. package/dist/operations/services/repository-save-orchestrator/repositories/repository-alias-state.d.ts +4 -0
  1371. package/dist/operations/services/repository-save-orchestrator/repositories/repository-alias-state.js +99 -0
  1372. package/dist/operations/services/repository-save-orchestrator/repositories/run-repository-save-orchestrator.d.ts +8 -0
  1373. package/dist/operations/services/repository-save-orchestrator/repositories/run-repository-save-orchestrator.js +173 -0
  1374. package/dist/operations/services/repository-save-orchestrator/repositories/save-one-repository.d.ts +2 -0
  1375. package/dist/operations/services/repository-save-orchestrator/repositories/save-one-repository.js +227 -0
  1376. package/dist/operations/services/repository-save-orchestrator/runtime/with-short-process-temp-env.d.ts +39 -0
  1377. package/dist/operations/services/repository-save-orchestrator/runtime/with-short-process-temp-env.js +258 -0
  1378. package/dist/operations/services/repository-save-orchestrator/support/change-classification.d.ts +9 -0
  1379. package/dist/operations/services/repository-save-orchestrator/support/change-classification.js +47 -0
  1380. package/dist/operations/services/repository-save-orchestrator/support/classify-repo-kind.d.ts +33 -0
  1381. package/dist/operations/services/repository-save-orchestrator/support/classify-repo-kind.js +236 -0
  1382. package/dist/operations/services/repository-save-orchestrator/support/has-staged-changes.d.ts +11 -0
  1383. package/dist/operations/services/repository-save-orchestrator/support/has-staged-changes.js +175 -0
  1384. package/dist/operations/services/repository-save-orchestrator/support/lockfile-manifest-consistency.d.ts +8 -0
  1385. package/dist/operations/services/repository-save-orchestrator/support/lockfile-manifest-consistency.js +46 -0
  1386. package/dist/operations/services/repository-save-orchestrator/support/repo-kind.d.ts +215 -0
  1387. package/dist/operations/services/repository-save-orchestrator/support/repo-kind.js +54 -0
  1388. package/dist/operations/services/repository-save-orchestrator/support/run-script.d.ts +38 -0
  1389. package/dist/operations/services/repository-save-orchestrator/support/run-script.js +327 -0
  1390. package/dist/operations/services/repository-save-orchestrator/support/standalone-lockfile.d.ts +9 -0
  1391. package/dist/operations/services/repository-save-orchestrator/support/standalone-lockfile.js +102 -0
  1392. package/dist/operations/services/repository-save-orchestrator/support/tag-state.d.ts +22 -0
  1393. package/dist/operations/services/repository-save-orchestrator/support/tag-state.js +212 -0
  1394. package/dist/operations/services/repository-save-orchestrator/treedx/repositories/sync-root-workspace-lockfile-metadata.d.ts +15 -0
  1395. package/dist/operations/services/repository-save-orchestrator/treedx/repositories/sync-root-workspace-lockfile-metadata.js +259 -0
  1396. package/dist/operations/services/runtime/export-runtime.d.ts +18 -0
  1397. package/dist/operations/services/runtime/export-runtime.js +140 -0
  1398. package/dist/operations/services/runtime/local-cleanup.d.ts +47 -0
  1399. package/dist/operations/services/runtime/local-cleanup.js +206 -0
  1400. package/dist/operations/services/runtime/local-dev.js +96 -0
  1401. package/dist/operations/services/runtime/npm-git-clone-recovery.d.ts +12 -0
  1402. package/dist/operations/services/runtime/npm-git-clone-recovery.js +25 -0
  1403. package/dist/operations/services/runtime/runtime-paths.d.ts +19 -0
  1404. package/dist/operations/services/runtime/runtime-paths.js +54 -0
  1405. package/dist/operations/services/runtime/watch-dev.js +282 -0
  1406. package/dist/operations/services/support/managed-repositories.d.ts +38 -0
  1407. package/dist/operations/services/support/managed-repositories.js +188 -0
  1408. package/dist/operations/services/support/market-packaging.d.ts +43 -0
  1409. package/dist/operations/services/support/market-packaging.js +169 -0
  1410. package/dist/operations/services/support/template-registry.d.ts +3 -0
  1411. package/dist/operations/services/support/template-registry.js +3 -0
  1412. package/dist/operations/services/support/verification-cache.d.ts +25 -0
  1413. package/dist/operations/services/support/verification-cache.js +71 -0
  1414. package/dist/operations/services/template-registry/sync-managed-package-json.d.ts +32 -0
  1415. package/dist/operations/services/template-registry/sync-managed-package-json.js +234 -0
  1416. package/dist/operations/services/template-registry/template-categories.d.ts +115 -0
  1417. package/dist/operations/services/template-registry/template-categories.js +161 -0
  1418. package/dist/operations/services/template-registry/validate-template-placeholders.d.ts +39 -0
  1419. package/dist/operations/services/template-registry/validate-template-placeholders.js +267 -0
  1420. package/dist/operations/services/treedx/workspaces/workspace-dependency-mode.d.ts +3 -0
  1421. package/dist/operations/services/treedx/workspaces/workspace-dependency-mode.js +3 -0
  1422. package/dist/operations/services/treedx/workspaces/workspace-preflight.js +172 -0
  1423. package/dist/operations/services/treedx/workspaces/workspace-save-script.d.ts +26 -0
  1424. package/dist/operations/services/treedx/workspaces/workspace-save-script.js +50 -0
  1425. package/dist/operations/services/treedx/workspaces/workspace-save.d.ts +2 -0
  1426. package/dist/operations/services/treedx/workspaces/workspace-save.js +2 -0
  1427. package/dist/operations/services/treedx/workspaces/workspace-tools.d.ts +17 -0
  1428. package/dist/operations/services/treedx/workspaces/workspace-tools.js +320 -0
  1429. package/dist/operations/services/workspace-dependency-mode/collect-deployment-lockfile-workspace-issues.d.ts +7 -0
  1430. package/dist/operations/services/workspace-dependency-mode/collect-deployment-lockfile-workspace-issues.js +93 -0
  1431. package/dist/operations/services/workspace-dependency-mode/collect-package-lock-consistency-issues.d.ts +49 -0
  1432. package/dist/operations/services/workspace-dependency-mode/collect-package-lock-consistency-issues.js +236 -0
  1433. package/dist/operations/services/workspace-dependency-mode/dependency-resolution-mode.d.ts +53 -0
  1434. package/dist/operations/services/workspace-dependency-mode/dependency-resolution-mode.js +191 -0
  1435. package/dist/operations/services/workspace-save/apply-workspace-version-changes.d.ts +51 -0
  1436. package/dist/operations/services/workspace-save/apply-workspace-version-changes.js +229 -0
  1437. package/dist/operations/services/workspace-save/run-git.d.ts +51 -0
  1438. package/dist/operations/services/workspace-save/run-git.js +243 -0
  1439. package/dist/operations/workflow-state.d.ts +5 -0
  1440. package/dist/operations/workflow-state.js +5 -0
  1441. package/dist/operations/workflow-support.d.ts +30 -0
  1442. package/dist/operations/workflow-support.js +412 -0
  1443. package/dist/operations/workflow.d.ts +329 -0
  1444. package/dist/operations/workflow.js +140 -0
  1445. package/dist/operator-contracts/canonical-command-tree.d.ts +3 -0
  1446. package/dist/operator-contracts/canonical-command-tree.js +81 -0
  1447. package/dist/operator-contracts/command-tree.d.ts +79 -0
  1448. package/dist/operator-contracts/command-tree.js +53 -0
  1449. package/dist/operator-contracts/index.d.ts +4 -0
  1450. package/dist/operator-contracts/index.js +4 -0
  1451. package/dist/operator-contracts/workday-lifecycle.d.ts +157 -0
  1452. package/dist/operator-contracts/workday-lifecycle.js +65 -0
  1453. package/dist/operator-contracts/workday-profile.d.ts +66 -0
  1454. package/dist/operator-contracts/workday-profile.js +89 -0
  1455. package/dist/persistence/d1-http.d.ts +38 -0
  1456. package/dist/persistence/d1-store.d.ts +183 -0
  1457. package/dist/persistence/d1-store.js +415 -0
  1458. package/dist/platform/configuration/config.d.ts +27 -0
  1459. package/dist/platform/configuration/config.js +78 -0
  1460. package/dist/platform/configuration/environment.d.ts +5 -0
  1461. package/dist/platform/configuration/environment.js +5 -0
  1462. package/dist/platform/configuration/site-config-schema.d.ts +1 -0
  1463. package/dist/platform/configuration/site-config-schema.js +4 -0
  1464. package/dist/platform/configuration/tenant-config.d.ts +8 -0
  1465. package/dist/platform/configuration/tenant-config.js +212 -0
  1466. package/dist/platform/content/content-runtime-source.d.ts +54 -0
  1467. package/dist/platform/content/content-runtime-source.js +169 -0
  1468. package/dist/platform/content/local-content-materialization.d.ts +9 -0
  1469. package/dist/platform/content/local-content-materialization.js +212 -0
  1470. package/dist/platform/deploy-config/deploy-config-field-aliases.d.ts +33 -0
  1471. package/dist/platform/deploy-config/deploy-config-field-aliases.js +215 -0
  1472. package/dist/platform/deploy-config/normalize-planes-from-legacy-hosting.d.ts +32 -0
  1473. package/dist/platform/deploy-config/normalize-planes-from-legacy-hosting.js +236 -0
  1474. package/dist/platform/deploy-config/parse-deploy-config.d.ts +19 -0
  1475. package/dist/platform/deploy-config/parse-deploy-config.js +177 -0
  1476. package/dist/platform/deploy-config/parse-platform-connections.d.ts +12 -0
  1477. package/dist/platform/deploy-config/parse-platform-connections.js +71 -0
  1478. package/dist/platform/deploy-config/parse-public-tree-dx-federation-config.d.ts +91 -0
  1479. package/dist/platform/deploy-config/parse-public-tree-dx-federation-config.js +217 -0
  1480. package/dist/platform/desired-state/compile-desired-resource-graph.d.ts +13 -0
  1481. package/dist/platform/desired-state/compile-desired-resource-graph.js +130 -0
  1482. package/dist/platform/desired-state/desired-environment.d.ts +79 -0
  1483. package/dist/platform/desired-state/desired-environment.js +162 -0
  1484. package/dist/platform/desired-state/docker-source-closure.d.ts +1 -0
  1485. package/dist/platform/desired-state/docker-source-closure.js +33 -0
  1486. package/dist/platform/desired-state/local-development-resources.d.ts +4 -0
  1487. package/dist/platform/desired-state/local-development-resources.js +260 -0
  1488. package/dist/platform/desired-state/local-provider-resources.d.ts +12 -0
  1489. package/dist/platform/desired-state/local-provider-resources.js +129 -0
  1490. package/dist/platform/desired-state/local-tunnel-identity.d.ts +8 -0
  1491. package/dist/platform/desired-state/local-tunnel-identity.js +35 -0
  1492. package/dist/platform/desired-state/package-resources.d.ts +4 -0
  1493. package/dist/platform/desired-state/package-resources.js +282 -0
  1494. package/dist/platform/desired-state/release-gate-resources.d.ts +6 -0
  1495. package/dist/platform/desired-state/release-gate-resources.js +243 -0
  1496. package/dist/platform/desired-state/safe-tree-dx-repository-name.d.ts +26 -0
  1497. package/dist/platform/desired-state/safe-tree-dx-repository-name.js +184 -0
  1498. package/dist/platform/env.yaml +108 -106
  1499. package/dist/platform/environment/api-surface-enabled.d.ts +32 -0
  1500. package/dist/platform/environment/api-surface-enabled.js +202 -0
  1501. package/dist/platform/environment/environment-scopes.d.ts +143 -0
  1502. package/dist/platform/environment/environment-scopes.js +109 -0
  1503. package/dist/platform/environment/is-entry-required.d.ts +24 -0
  1504. package/dist/platform/environment/is-entry-required.js +122 -0
  1505. package/dist/platform/environment/package-repository-credential-overlay.d.ts +27 -0
  1506. package/dist/platform/environment/package-repository-credential-overlay.js +230 -0
  1507. package/dist/platform/environment/resolve-content-bucket-binding.d.ts +30 -0
  1508. package/dist/platform/environment/resolve-content-bucket-binding.js +200 -0
  1509. package/dist/platform/hosting/deploy-config.d.ts +4 -0
  1510. package/dist/platform/hosting/deploy-config.js +4 -0
  1511. package/dist/platform/hosting/deploy-runtime.d.ts +22 -0
  1512. package/dist/platform/hosting/deploy-runtime.js +93 -0
  1513. package/dist/platform/packages/published-content-pipeline.d.ts +3 -0
  1514. package/dist/platform/packages/published-content-pipeline.js +3 -0
  1515. package/dist/platform/packages/published-content.d.ts +11 -0
  1516. package/dist/platform/packages/published-content.js +11 -0
  1517. package/dist/platform/plugins/constants.d.ts +3 -3
  1518. package/dist/platform/plugins/constants.js +7 -7
  1519. package/dist/platform/plugins/runtime.d.ts +50 -10
  1520. package/dist/platform/plugins/runtime.js +52 -21
  1521. package/dist/platform/published-content/hmac-sha256-base64-url.d.ts +23 -0
  1522. package/dist/platform/published-content/hmac-sha256-base64-url.js +228 -0
  1523. package/dist/platform/published-content/publication-contracts.d.ts +60 -0
  1524. package/dist/platform/published-content/publication-contracts.js +27 -0
  1525. package/dist/platform/published-content/published-content-manifest-schema-version.d.ts +191 -0
  1526. package/dist/platform/published-content/published-content-manifest-schema-version.js +53 -0
  1527. package/dist/platform/published-content/r2-api-token-publication-client.d.ts +25 -0
  1528. package/dist/platform/published-content/r2-api-token-publication-client.js +54 -0
  1529. package/dist/platform/published-content/r2-publication-acceptance.d.ts +13 -0
  1530. package/dist/platform/published-content/r2-publication-acceptance.js +30 -0
  1531. package/dist/platform/published-content/r2-publication-client.d.ts +7 -0
  1532. package/dist/platform/published-content/r2-publication-client.js +8 -0
  1533. package/dist/platform/published-content/r2-s3-publication-client.d.ts +26 -0
  1534. package/dist/platform/published-content/r2-s3-publication-client.js +112 -0
  1535. package/dist/platform/published-content/reconcile-content-publication.d.ts +19 -0
  1536. package/dist/platform/published-content/reconcile-content-publication.js +144 -0
  1537. package/dist/platform/published-content/runtime/build-runtime-publication.d.ts +29 -0
  1538. package/dist/platform/published-content/runtime/build-runtime-publication.js +170 -0
  1539. package/dist/platform/published-content/team-scoped-r2-overlay-content-runtime-provider.d.ts +37 -0
  1540. package/dist/platform/published-content/team-scoped-r2-overlay-content-runtime-provider.js +229 -0
  1541. package/dist/platform/published-content/validation/model-content.d.ts +21 -0
  1542. package/dist/platform/published-content/validation/model-content.js +85 -0
  1543. package/dist/platform/published-content/verify-editorial-preview-token.d.ts +13 -0
  1544. package/dist/platform/published-content/verify-editorial-preview-token.js +137 -0
  1545. package/dist/platform/published-content-pipeline/default-artifact-builder.d.ts +29 -0
  1546. package/dist/platform/published-content-pipeline/default-artifact-builder.js +247 -0
  1547. package/dist/platform/published-content-pipeline/list-markdown-files.d.ts +32 -0
  1548. package/dist/platform/published-content-pipeline/list-markdown-files.js +181 -0
  1549. package/dist/platform/published-content-pipeline/resolve-commerce-offer-mode.d.ts +118 -0
  1550. package/dist/platform/published-content-pipeline/resolve-commerce-offer-mode.js +143 -0
  1551. package/dist/platform/reconciliation/desired-state.d.ts +6 -0
  1552. package/dist/platform/reconciliation/desired-state.js +6 -0
  1553. package/dist/platform/support/contracts.d.ts +381 -0
  1554. package/dist/platform/support/contracts.js +0 -0
  1555. package/dist/platform/support/plugin.d.ts +130 -0
  1556. package/dist/platform/support/plugin.js +28 -0
  1557. package/dist/platform/support/plugins.d.ts +6 -0
  1558. package/dist/platform/support/plugins.js +42 -0
  1559. package/dist/platform/tenant/runtime-config.d.ts +11 -11
  1560. package/dist/platform/tenant/runtime-config.js +7 -3
  1561. package/dist/platform/treedx/repositories/local-treedx-seed.d.ts +19 -0
  1562. package/dist/platform/treedx/repositories/local-treedx-seed.js +55 -0
  1563. package/dist/platform/treedx/runtime-environment.d.ts +20 -0
  1564. package/dist/platform/treedx/runtime-environment.js +37 -0
  1565. package/dist/platform/utils/site-config-schema/is-record.d.ts +52 -0
  1566. package/dist/platform/utils/site-config-schema/is-record.js +232 -0
  1567. package/dist/platform/utils/site-config-schema/parse-access-policies.d.ts +274 -0
  1568. package/dist/platform/utils/site-config-schema/parse-access-policies.js +247 -0
  1569. package/dist/platform/utils/site-config-schema.d.ts +2 -154
  1570. package/dist/platform/utils/site-config-schema.js +2 -450
  1571. package/dist/platform-operation-store/database-provider.d.ts +44 -0
  1572. package/dist/platform-operation-store/database-provider.js +205 -0
  1573. package/dist/platform-operation-store/platform-operation-store.d.ts +56 -0
  1574. package/dist/platform-operation-store/platform-operation-store.js +224 -0
  1575. package/dist/platform-operations/nested-record.d.ts +21 -0
  1576. package/dist/platform-operations/nested-record.js +262 -0
  1577. package/dist/platform-operations/platform-operation-endpoints.d.ts +208 -0
  1578. package/dist/platform-operations/platform-operation-endpoints.js +71 -0
  1579. package/dist/platform-operations/platform-runner-client.d.ts +52 -0
  1580. package/dist/platform-operations/platform-runner-client.js +143 -0
  1581. package/dist/projects/projects-core/project-workflow.d.ts +179 -0
  1582. package/dist/projects/projects-core/project-workflow.js +66 -0
  1583. package/dist/reconcile/builtin-adapters/build/local-compose-build-policy.d.ts +44 -0
  1584. package/dist/reconcile/builtin-adapters/build/local-compose-build-policy.js +232 -0
  1585. package/dist/reconcile/builtin-adapters/capacity/providers/build-capacity-provider-adapter.d.ts +74 -0
  1586. package/dist/reconcile/builtin-adapters/capacity/providers/build-capacity-provider-adapter.js +396 -0
  1587. package/dist/reconcile/builtin-adapters/capacity/providers/capacity-provider-variables-for-service.d.ts +22 -0
  1588. package/dist/reconcile/builtin-adapters/capacity/providers/capacity-provider-variables-for-service.js +207 -0
  1589. package/dist/reconcile/builtin-adapters/hosting/build-cloudflare-diff.d.ts +22 -0
  1590. package/dist/reconcile/builtin-adapters/hosting/build-cloudflare-diff.js +219 -0
  1591. package/dist/reconcile/builtin-adapters/hosting/cloudflare-tunnel/build-cloudflare-tunnel-adapter.d.ts +7 -0
  1592. package/dist/reconcile/builtin-adapters/hosting/cloudflare-tunnel/build-cloudflare-tunnel-adapter.js +177 -0
  1593. package/dist/reconcile/builtin-adapters/hosting/first-railway-domain-string.d.ts +71 -0
  1594. package/dist/reconcile/builtin-adapters/hosting/first-railway-domain-string.js +212 -0
  1595. package/dist/reconcile/builtin-adapters/hosting/observe-cloudflare-unit.d.ts +2 -0
  1596. package/dist/reconcile/builtin-adapters/hosting/observe-cloudflare-unit.js +97 -0
  1597. package/dist/reconcile/builtin-adapters/hosting/observe-railway-unit.d.ts +32 -0
  1598. package/dist/reconcile/builtin-adapters/hosting/observe-railway-unit.js +228 -0
  1599. package/dist/reconcile/builtin-adapters/hosting/railway-verification-may-settle.d.ts +41 -0
  1600. package/dist/reconcile/builtin-adapters/hosting/railway-verification-may-settle.js +213 -0
  1601. package/dist/reconcile/builtin-adapters/hosting/resolve-railway-topology-for-scope.d.ts +43 -0
  1602. package/dist/reconcile/builtin-adapters/hosting/resolve-railway-topology-for-scope.js +227 -0
  1603. package/dist/reconcile/builtin-adapters/hosting/sync-railway-environment-for-scope.d.ts +31 -0
  1604. package/dist/reconcile/builtin-adapters/hosting/sync-railway-environment-for-scope.js +380 -0
  1605. package/dist/reconcile/builtin-adapters/hosting/to-deploy-target.d.ts +23 -0
  1606. package/dist/reconcile/builtin-adapters/hosting/to-deploy-target.js +250 -0
  1607. package/dist/reconcile/builtin-adapters/hosting/verify-cloudflare-unit-once.d.ts +3 -0
  1608. package/dist/reconcile/builtin-adapters/hosting/verify-cloudflare-unit-once.js +255 -0
  1609. package/dist/reconcile/builtin-adapters/hosting/verify-railway-unit.d.ts +2 -0
  1610. package/dist/reconcile/builtin-adapters/hosting/verify-railway-unit.js +283 -0
  1611. package/dist/reconcile/builtin-adapters/projects/knowledge/reconcile-remote-tree-dx-content.d.ts +23 -0
  1612. package/dist/reconcile/builtin-adapters/projects/knowledge/reconcile-remote-tree-dx-content.js +139 -0
  1613. package/dist/reconcile/builtin-adapters/projects/knowledge/verify-local-tree-dx-project-content.d.ts +18 -0
  1614. package/dist/reconcile/builtin-adapters/projects/knowledge/verify-local-tree-dx-project-content.js +386 -0
  1615. package/dist/reconcile/builtin-adapters/projects/projects-core/configured-railway-project-sync-groups.d.ts +19 -0
  1616. package/dist/reconcile/builtin-adapters/projects/projects-core/configured-railway-project-sync-groups.js +171 -0
  1617. package/dist/reconcile/builtin-adapters/projects/projects-core/reconcile-stale-operations-runner-resources-for-project.d.ts +15 -0
  1618. package/dist/reconcile/builtin-adapters/projects/projects-core/reconcile-stale-operations-runner-resources-for-project.js +63 -0
  1619. package/dist/reconcile/builtin-adapters/reconciliation/build-git-hub-workflow-dispatch-adapter.d.ts +5 -0
  1620. package/dist/reconcile/builtin-adapters/reconciliation/build-git-hub-workflow-dispatch-adapter.js +270 -0
  1621. package/dist/reconcile/builtin-adapters/reconciliation/build-local-content-materialization-adapter.d.ts +7 -0
  1622. package/dist/reconcile/builtin-adapters/reconciliation/build-local-content-materialization-adapter.js +245 -0
  1623. package/dist/reconcile/builtin-adapters/reconciliation/build-local-docker-compose-adapter.d.ts +7 -0
  1624. package/dist/reconcile/builtin-adapters/reconciliation/build-local-docker-compose-adapter.js +368 -0
  1625. package/dist/reconcile/builtin-adapters/reconciliation/build-railway-adapter.d.ts +12 -0
  1626. package/dist/reconcile/builtin-adapters/reconciliation/build-railway-adapter.js +218 -0
  1627. package/dist/reconcile/builtin-adapters/reconciliation/build-release-gate-adapter.d.ts +3 -0
  1628. package/dist/reconcile/builtin-adapters/reconciliation/build-release-gate-adapter.js +190 -0
  1629. package/dist/reconcile/builtin-adapters/reconciliation/build-workflow-meta-adapter.d.ts +30 -0
  1630. package/dist/reconcile/builtin-adapters/reconciliation/build-workflow-meta-adapter.js +237 -0
  1631. package/dist/reconcile/builtin-adapters/reconciliation/managed-repository-storage.d.ts +22 -0
  1632. package/dist/reconcile/builtin-adapters/reconciliation/managed-repository-storage.js +81 -0
  1633. package/dist/reconcile/builtin-adapters/reconciliation/reconcile-cloudflare-target.d.ts +55 -0
  1634. package/dist/reconcile/builtin-adapters/reconciliation/reconcile-cloudflare-target.js +267 -0
  1635. package/dist/reconcile/builtin-adapters/repositories/build-github-branch-adapter.d.ts +3 -0
  1636. package/dist/reconcile/builtin-adapters/repositories/build-github-branch-adapter.js +94 -0
  1637. package/dist/reconcile/builtin-adapters/repositories/build-github-branch-rules-adapter.d.ts +2 -0
  1638. package/dist/reconcile/builtin-adapters/repositories/build-github-branch-rules-adapter.js +54 -0
  1639. package/dist/reconcile/builtin-adapters/repositories/build-github-repository-adapter.d.ts +2 -0
  1640. package/dist/reconcile/builtin-adapters/repositories/build-github-repository-adapter.js +107 -0
  1641. package/dist/reconcile/builtin-adapters/repositories/build-github-workflow-observation-adapter.d.ts +2 -0
  1642. package/dist/reconcile/builtin-adapters/repositories/build-github-workflow-observation-adapter.js +63 -0
  1643. package/dist/reconcile/builtin-adapters/support/normalize-turnstile-domains.d.ts +64 -0
  1644. package/dist/reconcile/builtin-adapters/support/normalize-turnstile-domains.js +222 -0
  1645. package/dist/reconcile/builtin-adapters/support/summarize-verification.d.ts +9 -0
  1646. package/dist/reconcile/builtin-adapters/support/summarize-verification.js +101 -0
  1647. package/dist/reconcile/builtin-adapters/support/verify-custom-domain-unit.d.ts +5 -0
  1648. package/dist/reconcile/builtin-adapters/support/verify-custom-domain-unit.js +261 -0
  1649. package/dist/reconcile/builtin-adapters/treedx/graph/build-graph-only-adapter.d.ts +13 -0
  1650. package/dist/reconcile/builtin-adapters/treedx/graph/build-graph-only-adapter.js +198 -0
  1651. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-cleanup.d.ts +55 -0
  1652. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-cleanup.js +103 -0
  1653. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-competition.d.ts +29 -0
  1654. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-competition.js +178 -0
  1655. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-context.d.ts +132 -0
  1656. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-context.js +388 -0
  1657. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-executor.d.ts +50 -0
  1658. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-executor.js +0 -0
  1659. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-governance.d.ts +65 -0
  1660. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-governance.js +206 -0
  1661. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-guards.d.ts +19 -0
  1662. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-guards.js +36 -0
  1663. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-proof.d.ts +14 -0
  1664. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-proof.js +512 -0
  1665. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-scope.d.ts +14 -0
  1666. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-scope.js +122 -0
  1667. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-terminal.d.ts +17 -0
  1668. package/dist/reconcile/capacity/capacity-core/live-acceptance-capacity-terminal.js +101 -0
  1669. package/dist/reconcile/capacity/providers/live-acceptance-provider-config.d.ts +1 -0
  1670. package/dist/reconcile/capacity/providers/live-acceptance-provider-config.js +20 -0
  1671. package/dist/reconcile/engine/destroy-target-units.d.ts +71 -0
  1672. package/dist/reconcile/engine/destroy-target-units.js +175 -0
  1673. package/dist/reconcile/engine/now-iso.d.ts +36 -0
  1674. package/dist/reconcile/engine/now-iso.js +206 -0
  1675. package/dist/reconcile/engine/reconcile-target.d.ts +24 -0
  1676. package/dist/reconcile/engine/reconcile-target.js +292 -0
  1677. package/dist/reconcile/engine/refresh-units.d.ts +34 -0
  1678. package/dist/reconcile/engine/refresh-units.js +93 -0
  1679. package/dist/reconcile/hosting/live-acceptance-cloudflare-client.d.ts +29 -0
  1680. package/dist/reconcile/hosting/live-acceptance-cloudflare-client.js +119 -0
  1681. package/dist/reconcile/hosting/live-acceptance-cloudflare.d.ts +14 -0
  1682. package/dist/reconcile/hosting/live-acceptance-cloudflare.js +316 -0
  1683. package/dist/reconcile/hosting/live-acceptance-railway.d.ts +14 -0
  1684. package/dist/reconcile/hosting/live-acceptance-railway.js +420 -0
  1685. package/dist/reconcile/index.d.ts +11 -10
  1686. package/dist/reconcile/index.js +11 -10
  1687. package/dist/reconcile/providers/docker-private.d.ts +24 -0
  1688. package/dist/reconcile/providers/docker-private.js +48 -3
  1689. package/dist/reconcile/providers/github-private.d.ts +142 -5
  1690. package/dist/reconcile/providers/github-private.js +126 -4
  1691. package/dist/reconcile/providers/local-disk-capacity.d.ts +22 -0
  1692. package/dist/reconcile/providers/local-disk-capacity.js +50 -0
  1693. package/dist/reconcile/providers/local-private.d.ts +4 -4
  1694. package/dist/reconcile/providers/local-private.js +2 -2
  1695. package/dist/reconcile/providers/railway-iac/apply-railway-iac-project-with-plan.d.ts +4 -0
  1696. package/dist/reconcile/providers/railway-iac/apply-railway-iac-project-with-plan.js +90 -0
  1697. package/dist/reconcile/providers/railway-iac/railway-iac-service.d.ts +158 -0
  1698. package/dist/reconcile/providers/railway-iac/railway-iac-service.js +99 -0
  1699. package/dist/reconcile/providers/railway-iac/resolve-railway-iac-volume-bindings.d.ts +17 -0
  1700. package/dist/reconcile/providers/railway-iac/resolve-railway-iac-volume-bindings.js +240 -0
  1701. package/dist/reconcile/providers/railway-iac/run-railway-iac-with-rate-limit-retry.d.ts +39 -0
  1702. package/dist/reconcile/providers/railway-iac/run-railway-iac-with-rate-limit-retry.js +174 -0
  1703. package/dist/reconcile/providers/railway-iac/validate-railway-iac-change-set.d.ts +30 -0
  1704. package/dist/reconcile/providers/railway-iac/validate-railway-iac-change-set.js +174 -0
  1705. package/dist/reconcile/providers/railway-iac.d.ts +5 -220
  1706. package/dist/reconcile/providers/railway-iac.js +5 -621
  1707. package/dist/reconcile/providers/release-private.d.ts +17 -17
  1708. package/dist/reconcile/providers/release-private.js +11 -11
  1709. package/dist/reconcile/reconciliation/builtin-adapters.d.ts +28 -0
  1710. package/dist/reconcile/reconciliation/builtin-adapters.js +28 -0
  1711. package/dist/reconcile/reconciliation/desired-state.d.ts +10 -0
  1712. package/dist/reconcile/reconciliation/desired-state.js +322 -0
  1713. package/dist/reconcile/repositories/live-acceptance-github-client.d.ts +6 -0
  1714. package/dist/reconcile/repositories/live-acceptance-github-client.js +42 -0
  1715. package/dist/reconcile/repositories/live-acceptance-github.d.ts +12 -0
  1716. package/dist/reconcile/repositories/live-acceptance-github.js +301 -0
  1717. package/dist/reconcile/runtime/live-acceptance-local.d.ts +16 -0
  1718. package/dist/reconcile/runtime/live-acceptance-local.js +260 -0
  1719. package/dist/reconcile/runtime/live-acceptance-runtime.d.ts +67 -0
  1720. package/dist/reconcile/runtime/live-acceptance-runtime.js +324 -0
  1721. package/dist/reconcile/runtime/live-acceptance-starter-runtime.d.ts +123 -0
  1722. package/dist/reconcile/runtime/live-acceptance-starter-runtime.js +438 -0
  1723. package/dist/reconcile/runtime/local-compose-state.d.ts +45 -0
  1724. package/dist/reconcile/runtime/local-compose-state.js +162 -0
  1725. package/dist/reconcile/seeds/local-seed-bootstrap-adapter.d.ts +3 -0
  1726. package/dist/reconcile/seeds/local-seed-bootstrap-adapter.js +213 -0
  1727. package/dist/reconcile/support/acceptance/live-acceptance-starter-concurrency.d.ts +19 -0
  1728. package/dist/reconcile/support/acceptance/live-acceptance-starter-concurrency.js +128 -0
  1729. package/dist/reconcile/support/acceptance/live-acceptance-starter-engineering.d.ts +18 -0
  1730. package/dist/reconcile/support/acceptance/live-acceptance-starter-engineering.js +264 -0
  1731. package/dist/reconcile/support/acceptance/live-acceptance-starter-planning.d.ts +44 -0
  1732. package/dist/reconcile/support/acceptance/live-acceptance-starter-planning.js +154 -0
  1733. package/dist/reconcile/support/acceptance/live-acceptance-starters.d.ts +51 -0
  1734. package/dist/reconcile/support/acceptance/live-acceptance-starters.js +12 -0
  1735. package/dist/reconcile/support/acceptance/live-acceptance-values.d.ts +2 -0
  1736. package/dist/reconcile/support/acceptance/live-acceptance-values.js +10 -0
  1737. package/dist/reconcile/support/acceptance/live-acceptance-worktree-cleanup.d.ts +7 -0
  1738. package/dist/reconcile/support/acceptance/live-acceptance-worktree-cleanup.js +38 -0
  1739. package/dist/reconcile/support/acceptance/live-acceptance.d.ts +102 -0
  1740. package/dist/reconcile/support/acceptance/live-acceptance.js +322 -0
  1741. package/dist/reconcile/support/bootstrap-systems.d.ts +32 -0
  1742. package/dist/reconcile/support/bootstrap-systems.js +175 -0
  1743. package/dist/reconcile/support/contracts/contracts.d.ts +172 -0
  1744. package/dist/reconcile/support/contracts/contracts.js +0 -0
  1745. package/dist/reconcile/support/contracts/errors.d.ts +5 -0
  1746. package/dist/reconcile/support/contracts/errors.js +13 -0
  1747. package/dist/reconcile/support/engine/engine.d.ts +4 -0
  1748. package/dist/reconcile/support/engine/engine.js +4 -0
  1749. package/dist/reconcile/support/engine/units.d.ts +6 -0
  1750. package/dist/reconcile/support/engine/units.js +72 -0
  1751. package/dist/reconcile/support/state/platform.d.ts +104 -0
  1752. package/dist/reconcile/support/state/platform.js +100 -0
  1753. package/dist/reconcile/support/state/registry.d.ts +7 -0
  1754. package/dist/reconcile/support/state/registry.js +81 -0
  1755. package/dist/reconcile/support/state/state.d.ts +7 -0
  1756. package/dist/reconcile/support/state/state.js +270 -0
  1757. package/dist/repositories/repository-custody.d.ts +57 -0
  1758. package/dist/repositories/repository-custody.js +39 -0
  1759. package/dist/repositories/repository-identity.d.ts +12 -0
  1760. package/dist/repositories/repository-identity.js +71 -0
  1761. package/dist/scenes/accounts/auth.d.ts +2 -0
  1762. package/dist/scenes/accounts/auth.js +28 -0
  1763. package/dist/scenes/agent-lab/activity-collector.d.ts +114 -0
  1764. package/dist/scenes/agent-lab/activity-collector.js +394 -0
  1765. package/dist/scenes/agent-lab/production-lifecycle.d.ts +18 -0
  1766. package/dist/scenes/agent-lab/production-lifecycle.js +572 -0
  1767. package/dist/scenes/agent-lab/profile-input-seed.d.ts +23 -0
  1768. package/dist/scenes/agent-lab/profile-input-seed.js +41 -0
  1769. package/dist/scenes/agent-lab/report-adapters.d.ts +3 -0
  1770. package/dist/scenes/agent-lab/report-adapters.js +33 -0
  1771. package/dist/scenes/agent-lab/report-model.d.ts +122 -0
  1772. package/dist/scenes/agent-lab/report-model.js +194 -0
  1773. package/dist/scenes/agent-lab/report-writer.d.ts +14 -0
  1774. package/dist/scenes/agent-lab/report-writer.js +143 -0
  1775. package/dist/scenes/agent-lab/run-agent-lab-scene.d.ts +6 -0
  1776. package/dist/scenes/agent-lab/run-agent-lab-scene.js +122 -0
  1777. package/dist/scenes/agent-lab/runtime/diagnostics.d.ts +7 -0
  1778. package/dist/scenes/agent-lab/runtime/diagnostics.js +42 -0
  1779. package/dist/scenes/agent-lab/runtime/metadata.d.ts +7 -0
  1780. package/dist/scenes/agent-lab/runtime/metadata.js +19 -0
  1781. package/dist/scenes/agent-lab/runtime/team-scope.d.ts +29 -0
  1782. package/dist/scenes/agent-lab/runtime/team-scope.js +54 -0
  1783. package/dist/scenes/agent-lab/semantic-artifact-assertions.d.ts +29 -0
  1784. package/dist/scenes/agent-lab/semantic-artifact-assertions.js +66 -0
  1785. package/dist/scenes/agent-lab/terminal-verification.d.ts +17 -0
  1786. package/dist/scenes/agent-lab/terminal-verification.js +31 -0
  1787. package/dist/scenes/agent-lab/viewer/runtime.d.ts +1 -0
  1788. package/dist/scenes/agent-lab/viewer/runtime.js +576 -0
  1789. package/dist/scenes/agent-lab/viewer/styles.d.ts +1 -0
  1790. package/dist/scenes/agent-lab/viewer/styles.js +28 -0
  1791. package/dist/scenes/agent-lab/workday-snapshot.d.ts +116 -0
  1792. package/dist/scenes/agent-lab/workday-snapshot.js +153 -0
  1793. package/dist/scenes/build/evidence-bundle.d.ts +5 -0
  1794. package/dist/scenes/build/evidence-bundle.js +59 -0
  1795. package/dist/scenes/builtin-plugins/assertion-timeout.d.ts +2 -0
  1796. package/dist/scenes/builtin-plugins/assertion-timeout.js +6 -0
  1797. package/dist/scenes/builtin-plugins/browser-history-action.d.ts +2 -0
  1798. package/dist/scenes/builtin-plugins/browser-history-action.js +17 -0
  1799. package/dist/scenes/builtin-plugins/create-built-in-scene-plugins.d.ts +2 -0
  1800. package/dist/scenes/builtin-plugins/create-built-in-scene-plugins.js +495 -0
  1801. package/dist/scenes/builtin-plugins/duration.d.ts +25 -0
  1802. package/dist/scenes/builtin-plugins/duration.js +148 -0
  1803. package/dist/scenes/builtin-plugins/focus-assertion.d.ts +6 -0
  1804. package/dist/scenes/builtin-plugins/focus-assertion.js +29 -0
  1805. package/dist/scenes/builtin-plugins/keyboard-action.d.ts +2 -0
  1806. package/dist/scenes/builtin-plugins/keyboard-action.js +15 -0
  1807. package/dist/scenes/builtin-plugins/request-values.d.ts +4 -0
  1808. package/dist/scenes/builtin-plugins/request-values.js +19 -0
  1809. package/dist/scenes/builtin-plugins/responsive-actions.d.ts +2 -0
  1810. package/dist/scenes/builtin-plugins/responsive-actions.js +33 -0
  1811. package/dist/scenes/capacity/providers/diagram-providers.d.ts +2 -0
  1812. package/dist/scenes/capacity/providers/diagram-providers.js +181 -0
  1813. package/dist/scenes/configuration/environment.d.ts +3 -0
  1814. package/dist/scenes/configuration/environment.js +70 -0
  1815. package/dist/scenes/index.d.ts +54 -48
  1816. package/dist/scenes/index.js +337 -293
  1817. package/dist/scenes/operations/operations.d.ts +3 -0
  1818. package/dist/scenes/operations/operations.js +146 -0
  1819. package/dist/scenes/operations/runner.d.ts +2 -0
  1820. package/dist/scenes/operations/runner.js +2 -0
  1821. package/dist/scenes/packages/publish-destinations.d.ts +12 -0
  1822. package/dist/scenes/packages/publish-destinations.js +99 -0
  1823. package/dist/scenes/packages/publish-plan-report.d.ts +10 -0
  1824. package/dist/scenes/packages/publish-plan-report.js +70 -0
  1825. package/dist/scenes/packages/publish-plan.d.ts +15 -0
  1826. package/dist/scenes/packages/publish-plan.js +248 -0
  1827. package/dist/scenes/packages/publish-redaction.d.ts +16 -0
  1828. package/dist/scenes/packages/publish-redaction.js +152 -0
  1829. package/dist/scenes/packages/publish-release-record.d.ts +13 -0
  1830. package/dist/scenes/packages/publish-release-record.js +34 -0
  1831. package/dist/scenes/packages/publish-report.d.ts +10 -0
  1832. package/dist/scenes/packages/publish-report.js +67 -0
  1833. package/dist/scenes/packages/publish.d.ts +16 -0
  1834. package/dist/scenes/packages/publish.js +298 -0
  1835. package/dist/scenes/reconciliation/playwright-adapter.d.ts +2 -0
  1836. package/dist/scenes/reconciliation/playwright-adapter.js +67 -0
  1837. package/dist/scenes/reconciliation/remotion-adapter.d.ts +3 -0
  1838. package/dist/scenes/reconciliation/remotion-adapter.js +94 -0
  1839. package/dist/scenes/runner/now.d.ts +72 -0
  1840. package/dist/scenes/runner/now.js +270 -0
  1841. package/dist/scenes/runner/run-scene.d.ts +2 -0
  1842. package/dist/scenes/runner/run-scene.js +495 -0
  1843. package/dist/scenes/runner/trace-evidence.d.ts +7 -0
  1844. package/dist/scenes/runner/trace-evidence.js +38 -0
  1845. package/dist/scenes/runtime/device-matrix.d.ts +2 -0
  1846. package/dist/scenes/runtime/device-matrix.js +100 -0
  1847. package/dist/scenes/runtime/devices.d.ts +11 -0
  1848. package/dist/scenes/runtime/devices.js +36 -0
  1849. package/dist/scenes/runtime/phase0-runtime-capabilities.d.ts +16 -0
  1850. package/dist/scenes/runtime/phase0-runtime-capabilities.js +209 -0
  1851. package/dist/scenes/schema/filesystem-safe-scene-id.d.ts +55 -0
  1852. package/dist/scenes/schema/filesystem-safe-scene-id.js +233 -0
  1853. package/dist/scenes/schema/parse-action.d.ts +18 -0
  1854. package/dist/scenes/schema/parse-action.js +288 -0
  1855. package/dist/scenes/schema/parse-agent-lab.d.ts +2 -0
  1856. package/dist/scenes/schema/parse-agent-lab.js +87 -0
  1857. package/dist/scenes/schema/parse-diagrams.d.ts +7 -0
  1858. package/dist/scenes/schema/parse-diagrams.js +225 -0
  1859. package/dist/scenes/schema/parse-visual-audit.d.ts +6 -0
  1860. package/dist/scenes/schema/parse-visual-audit.js +142 -0
  1861. package/dist/scenes/schema/parse-workflow.d.ts +10 -0
  1862. package/dist/scenes/schema/parse-workflow.js +266 -0
  1863. package/dist/scenes/seeds/seed.d.ts +2 -0
  1864. package/dist/scenes/seeds/seed.js +86 -0
  1865. package/dist/scenes/support/evidence/artifacts.d.ts +19 -0
  1866. package/dist/scenes/support/evidence/artifacts.js +139 -0
  1867. package/dist/scenes/support/evidence/checkpoints.d.ts +14 -0
  1868. package/dist/scenes/support/evidence/checkpoints.js +33 -0
  1869. package/dist/scenes/support/evidence/evidence-report.d.ts +10 -0
  1870. package/dist/scenes/support/evidence/evidence-report.js +73 -0
  1871. package/dist/scenes/support/evidence/evidence.d.ts +16 -0
  1872. package/dist/scenes/support/evidence/evidence.js +281 -0
  1873. package/dist/scenes/support/evidence/segments.d.ts +15 -0
  1874. package/dist/scenes/support/evidence/segments.js +79 -0
  1875. package/dist/scenes/support/evidence/timeline.d.ts +11 -0
  1876. package/dist/scenes/support/evidence/timeline.js +26 -0
  1877. package/dist/scenes/support/execution/base-url.d.ts +12 -0
  1878. package/dist/scenes/support/execution/base-url.js +123 -0
  1879. package/dist/scenes/support/execution/loader.d.ts +3 -0
  1880. package/dist/scenes/support/execution/loader.js +38 -0
  1881. package/dist/scenes/support/execution/phase0.d.ts +9 -0
  1882. package/dist/scenes/support/execution/phase0.js +103 -0
  1883. package/dist/scenes/support/execution/planner.d.ts +12 -0
  1884. package/dist/scenes/support/execution/planner.js +166 -0
  1885. package/dist/scenes/support/execution/resume.d.ts +2 -0
  1886. package/dist/scenes/support/execution/resume.js +82 -0
  1887. package/dist/scenes/support/execution/timeouts.d.ts +7 -0
  1888. package/dist/scenes/support/execution/timeouts.js +26 -0
  1889. package/dist/scenes/support/plugins/builtin-plugins.d.ts +2 -0
  1890. package/dist/scenes/support/plugins/builtin-plugins.js +2 -0
  1891. package/dist/scenes/support/plugins/phase0-capabilities.d.ts +3 -0
  1892. package/dist/scenes/support/plugins/phase0-capabilities.js +8 -0
  1893. package/dist/scenes/support/plugins/phase0-publication-audit-capabilities.d.ts +16 -0
  1894. package/dist/scenes/support/plugins/phase0-publication-audit-capabilities.js +131 -0
  1895. package/dist/scenes/support/plugins/plugins.d.ts +5 -0
  1896. package/dist/scenes/support/plugins/plugins.js +115 -0
  1897. package/dist/scenes/support/plugins/registry.d.ts +12 -0
  1898. package/dist/scenes/support/plugins/registry.js +65 -0
  1899. package/dist/scenes/support/rendering/diagram-validation.d.ts +22 -0
  1900. package/dist/scenes/support/rendering/diagram-validation.js +74 -0
  1901. package/dist/scenes/support/rendering/phase0-media-evidence-capabilities.d.ts +16 -0
  1902. package/dist/scenes/support/rendering/phase0-media-evidence-capabilities.js +209 -0
  1903. package/dist/scenes/support/rendering/remotion-composition-registry.d.ts +2 -0
  1904. package/dist/scenes/support/rendering/remotion-composition-registry.js +12 -0
  1905. package/dist/scenes/support/rendering/remotion-compositions.d.ts +15 -0
  1906. package/dist/scenes/support/rendering/remotion-compositions.js +464 -0
  1907. package/dist/scenes/support/rendering/remotion-diagrams.d.ts +9 -0
  1908. package/dist/scenes/support/rendering/remotion-diagrams.js +188 -0
  1909. package/dist/scenes/support/rendering/remotion-input.d.ts +13 -0
  1910. package/dist/scenes/support/rendering/remotion-input.js +291 -0
  1911. package/dist/scenes/support/rendering/remotion-visuals.d.ts +29 -0
  1912. package/dist/scenes/support/rendering/remotion-visuals.js +198 -0
  1913. package/dist/scenes/support/rendering/render-media-assets.d.ts +9 -0
  1914. package/dist/scenes/support/rendering/render-media-assets.js +117 -0
  1915. package/dist/scenes/support/rendering/render-report.d.ts +10 -0
  1916. package/dist/scenes/support/rendering/render-report.js +27 -0
  1917. package/dist/scenes/support/rendering/render.d.ts +2 -0
  1918. package/dist/scenes/support/rendering/render.js +218 -0
  1919. package/dist/scenes/support/reporting/diagnostics.d.ts +5 -0
  1920. package/dist/scenes/support/reporting/diagnostics.js +22 -0
  1921. package/dist/scenes/support/reporting/inspect.d.ts +9 -0
  1922. package/dist/scenes/support/reporting/inspect.js +64 -0
  1923. package/dist/scenes/support/reporting/logs.d.ts +2 -0
  1924. package/dist/scenes/support/reporting/logs.js +47 -0
  1925. package/dist/scenes/support/reporting/progress.d.ts +17 -0
  1926. package/dist/scenes/support/reporting/progress.js +24 -0
  1927. package/dist/scenes/support/reporting/reporter.d.ts +3 -0
  1928. package/dist/scenes/support/reporting/reporter.js +101 -0
  1929. package/dist/scenes/support/training/training-captions.d.ts +14 -0
  1930. package/dist/scenes/support/training/training-captions.js +98 -0
  1931. package/dist/scenes/support/training/training-report.d.ts +10 -0
  1932. package/dist/scenes/support/training/training-report.js +78 -0
  1933. package/dist/scenes/support/training/training-transcript.d.ts +24 -0
  1934. package/dist/scenes/support/training/training-transcript.js +206 -0
  1935. package/dist/scenes/support/training/training.d.ts +10 -0
  1936. package/dist/scenes/support/training/training.js +134 -0
  1937. package/dist/scenes/support/validation/schema.d.ts +5 -0
  1938. package/dist/scenes/support/validation/schema.js +5 -0
  1939. package/dist/scenes/support/validation/selectors.d.ts +3 -0
  1940. package/dist/scenes/support/validation/selectors.js +21 -0
  1941. package/dist/scenes/support/visual-audit/visual-audit-contact-sheets.d.ts +6 -0
  1942. package/dist/scenes/support/visual-audit/visual-audit-contact-sheets.js +119 -0
  1943. package/dist/scenes/support/visual-audit/visual-audit-report.d.ts +11 -0
  1944. package/dist/scenes/support/visual-audit/visual-audit-report.js +85 -0
  1945. package/dist/scenes/support/visual-audit/visual-audit-review.d.ts +4 -0
  1946. package/dist/scenes/support/visual-audit/visual-audit-review.js +4 -0
  1947. package/dist/scenes/support/visual-audit/visual-audit-routes.d.ts +13 -0
  1948. package/dist/scenes/support/visual-audit/visual-audit-routes.js +317 -0
  1949. package/dist/scenes/support/visual-audit/visual-audit.d.ts +3 -0
  1950. package/dist/scenes/support/visual-audit/visual-audit.js +3 -0
  1951. package/dist/scenes/testing/visual-audit-fixtures.d.ts +25 -0
  1952. package/dist/scenes/testing/visual-audit-fixtures.js +299 -0
  1953. package/dist/scenes/testing/visual-audit-tree-dx.d.ts +17 -0
  1954. package/dist/scenes/testing/visual-audit-tree-dx.js +67 -0
  1955. package/dist/scenes/types/scene-agent-lab.d.ts +190 -0
  1956. package/dist/scenes/types/scene-agent-lab.js +4 -0
  1957. package/dist/scenes/types/scene-checkpoint.d.ts +212 -0
  1958. package/dist/scenes/types/scene-checkpoint.js +0 -0
  1959. package/dist/scenes/types/scene-diagram.d.ts +191 -0
  1960. package/dist/scenes/types/scene-diagram.js +0 -0
  1961. package/dist/scenes/types/scene-evidence-artifact-kind.d.ts +209 -0
  1962. package/dist/scenes/types/scene-evidence-artifact-kind.js +0 -0
  1963. package/dist/scenes/types/scene-publish-plan-paths.d.ts +249 -0
  1964. package/dist/scenes/types/scene-publish-plan-paths.js +0 -0
  1965. package/dist/scenes/types/scene-render-input.d.ts +240 -0
  1966. package/dist/scenes/types/scene-render-input.js +0 -0
  1967. package/dist/scenes/types/scene-schema-version.d.ts +257 -0
  1968. package/dist/scenes/types/scene-schema-version.js +8 -0
  1969. package/dist/scenes/types/scene-timeline-writer.d.ts +186 -0
  1970. package/dist/scenes/types/scene-timeline-writer.js +0 -0
  1971. package/dist/scenes/types/scene-validation-report.d.ts +206 -0
  1972. package/dist/scenes/types/scene-validation-report.js +0 -0
  1973. package/dist/scenes/types/scene-visual-audit-finding.d.ts +235 -0
  1974. package/dist/scenes/types/scene-visual-audit-finding.js +0 -0
  1975. package/dist/scenes/types.d.ts +10 -1900
  1976. package/dist/scenes/types.js +10 -8
  1977. package/dist/scenes/visual-audit/capture-route.d.ts +33 -0
  1978. package/dist/scenes/visual-audit/capture-route.js +221 -0
  1979. package/dist/scenes/visual-audit/run-scene-visual-audit.d.ts +3 -0
  1980. package/dist/scenes/visual-audit/run-scene-visual-audit.js +244 -0
  1981. package/dist/scenes/visual-audit/split-diagnostics.d.ts +1718 -0
  1982. package/dist/scenes/visual-audit/split-diagnostics.js +177 -0
  1983. package/dist/scenes/visual-audit-review/enrich-client-errors.d.ts +59 -0
  1984. package/dist/scenes/visual-audit-review/enrich-client-errors.js +256 -0
  1985. package/dist/scenes/visual-audit-review/format-owner-brief.d.ts +12 -0
  1986. package/dist/scenes/visual-audit-review/format-owner-brief.js +140 -0
  1987. package/dist/scenes/visual-audit-review/incident-title.d.ts +49 -0
  1988. package/dist/scenes/visual-audit-review/incident-title.js +266 -0
  1989. package/dist/scenes/visual-audit-review/severities.d.ts +53 -0
  1990. package/dist/scenes/visual-audit-review/severities.js +221 -0
  1991. package/dist/scripts/agents/fixture-tools.js +29 -0
  1992. package/dist/scripts/build/build-dist.js +306 -0
  1993. package/dist/scripts/build/build-tenant-worker.js +36 -0
  1994. package/dist/scripts/build/check-build-warnings.js +51 -0
  1995. package/dist/scripts/build/tenant-build.js +44 -0
  1996. package/dist/scripts/capacity/capacity-core/generate-capacity-operator-parity.js +13 -0
  1997. package/dist/scripts/configuration/config.js +131 -0
  1998. package/dist/scripts/configuration/key-agent.js +165 -0
  1999. package/dist/scripts/content/patch-starlight-content-path.js +173 -0
  2000. package/dist/scripts/content/publish-content.js +71 -0
  2001. package/dist/scripts/guarantees/migrate-journey-csv-to-guarantees.js +140 -0
  2002. package/dist/scripts/hosting/deployment-readiness.js +20 -0
  2003. package/dist/scripts/hosting/tenant-deploy.js +220 -0
  2004. package/dist/scripts/hosting/test-cloudflare-local.js +209 -0
  2005. package/dist/scripts/maintenance/cleanup-markdown.js +377 -0
  2006. package/dist/scripts/maintenance/install-managed-dependencies.js +12 -0
  2007. package/dist/scripts/maintenance/repair-extracted-class-interfaces.js +36 -0
  2008. package/dist/scripts/operations/consolidate-workflow-lifecycle-tests.js +87 -0
  2009. package/dist/scripts/operations/operations-runner-smoke.js +16 -0
  2010. package/dist/scripts/operations/tenant-workflow-action.js +131 -0
  2011. package/dist/scripts/packages/assert-release-tag-version.js +21 -0
  2012. package/dist/scripts/packages/package-tools.js +85 -0
  2013. package/dist/scripts/packages/publish-package.js +93 -0
  2014. package/dist/scripts/packages/published-package-readback.js +61 -0
  2015. package/dist/scripts/packages/release-verify.js +106 -0
  2016. package/dist/scripts/packages/release-version.js +16 -0
  2017. package/dist/scripts/packages/verify-published-package.js +15 -0
  2018. package/dist/scripts/persistence/tenant-d1-migrate-local.js +15 -0
  2019. package/dist/scripts/runtime/local-dev.js +129 -0
  2020. package/dist/scripts/runtime/tenant-dev.js +159 -0
  2021. package/dist/scripts/standards/acquire-accepted-baseline.js +104 -0
  2022. package/dist/scripts/standards/build-contract-bundle.js +52 -0
  2023. package/dist/scripts/standards/compare-compatibility.js +49 -0
  2024. package/dist/scripts/standards/contract-models.js +43 -0
  2025. package/dist/scripts/standards/create-release-evidence.js +61 -0
  2026. package/dist/scripts/standards/package-acceptance.js +43 -0
  2027. package/dist/scripts/standards/resolve-composition.js +20 -0
  2028. package/dist/scripts/standards/verify-api-consumer.js +76 -0
  2029. package/dist/scripts/templates/scaffold-site.js +66 -0
  2030. package/dist/scripts/templates/sync-template.js +20 -0
  2031. package/dist/scripts/templates/template-command.js +31 -0
  2032. package/dist/scripts/templates/validate-templates.js +6 -0
  2033. package/dist/scripts/tenant/tenant-astro-command.js +3 -0
  2034. package/dist/scripts/tenant/tenant-destroy.js +112 -0
  2035. package/dist/scripts/tenant/tenant-lint.js +4 -0
  2036. package/dist/scripts/testing/cli-test-fixtures.js +44 -0
  2037. package/dist/scripts/testing/run-fixture-astro-command.js +18 -0
  2038. package/dist/scripts/testing/tenant-test.js +4 -0
  2039. package/dist/scripts/testing/test-live-acceptance-cleanup-service.js +57 -0
  2040. package/dist/scripts/testing/test-scaffold.js +299 -0
  2041. package/dist/scripts/testing/test-smoke.js +137 -0
  2042. package/dist/scripts/treedx/repositories/generate-treedx-openapi-types.js +186 -0
  2043. package/dist/scripts/treedx/workspaces/workspace-command-e2e.js +4 -0
  2044. package/dist/scripts/treedx/workspaces/workspace-lint.js +15 -0
  2045. package/dist/scripts/treedx/workspaces/workspace-preflight.js +22 -0
  2046. package/dist/scripts/treedx/workspaces/workspace-publish-changed-packages.js +16 -0
  2047. package/dist/scripts/treedx/workspaces/workspace-release-test.js +104 -0
  2048. package/dist/scripts/treedx/workspaces/workspace-release-verify.js +81 -0
  2049. package/dist/scripts/treedx/workspaces/workspace-save.js +64 -0
  2050. package/dist/scripts/treedx/workspaces/workspace-test-unit.js +4 -0
  2051. package/dist/scripts/treedx/workspaces/workspace-test.js +17 -0
  2052. package/dist/scripts/verification/check-file-architecture.js +114 -0
  2053. package/dist/scripts/verification/check-file-lengths.js +46 -0
  2054. package/dist/scripts/verification/tenant-check.js +6 -0
  2055. package/dist/scripts/verification/verify-driver.js +39 -0
  2056. package/dist/scripts/workspace-command-e2e/root.js +217 -0
  2057. package/dist/scripts/workspace-command-e2e/run-dev-session.js +238 -0
  2058. package/dist/scripts/workspace-command-e2e/run-local-suite.js +259 -0
  2059. package/dist/scripts/workspace-command-e2e/run-workspace-command-e2e.js +24 -0
  2060. package/dist/sdk/accounts/resolve-dispatch-token.d.ts +3 -0
  2061. package/dist/sdk/accounts/resolve-dispatch-token.js +12 -0
  2062. package/dist/sdk/agents/list-agent-specs.d.ts +5 -0
  2063. package/dist/sdk/agents/list-agent-specs.js +8 -0
  2064. package/dist/sdk/agents/list-raw-agent-specs.d.ts +4 -0
  2065. package/dist/sdk/agents/list-raw-agent-specs.js +12 -0
  2066. package/dist/sdk/agents/scope-for-agent.d.ts +3 -0
  2067. package/dist/sdk/agents/scope-for-agent.js +7 -0
  2068. package/dist/sdk/build/build-context-pack.d.ts +3 -0
  2069. package/dist/sdk/build/build-context-pack.js +6 -0
  2070. package/dist/sdk/interface.d.ts +57 -0
  2071. package/dist/sdk/interface.js +0 -0
  2072. package/dist/sdk/methods.d.ts +2 -0
  2073. package/dist/sdk/methods.js +109 -0
  2074. package/dist/sdk/packages/get-release.d.ts +3 -0
  2075. package/dist/sdk/packages/get-release.js +7 -0
  2076. package/dist/sdk/packages/get-share-package.d.ts +3 -0
  2077. package/dist/sdk/packages/get-share-package.js +7 -0
  2078. package/dist/sdk/packages/list-releases.d.ts +3 -0
  2079. package/dist/sdk/packages/list-releases.js +7 -0
  2080. package/dist/sdk/packages/list-share-packages.d.ts +3 -0
  2081. package/dist/sdk/packages/list-share-packages.js +7 -0
  2082. package/dist/sdk/packages/release-all-leases.d.ts +4 -0
  2083. package/dist/sdk/packages/release-all-leases.js +7 -0
  2084. package/dist/sdk/packages/release-lease.d.ts +3 -0
  2085. package/dist/sdk/packages/release-lease.js +7 -0
  2086. package/dist/sdk/packages/upsert-release.d.ts +5 -0
  2087. package/dist/sdk/packages/upsert-release.js +7 -0
  2088. package/dist/sdk/packages/upsert-share-package.d.ts +3 -0
  2089. package/dist/sdk/packages/upsert-share-package.js +7 -0
  2090. package/dist/sdk/runtime/execute-dispatch-locally.d.ts +3 -0
  2091. package/dist/sdk/runtime/execute-dispatch-locally.js +47 -0
  2092. package/dist/sdk/seeds/resolve-seeds.d.ts +3 -0
  2093. package/dist/sdk/seeds/resolve-seeds.js +6 -0
  2094. package/dist/sdk/support/approvals/create-approval-request.d.ts +3 -0
  2095. package/dist/sdk/support/approvals/create-approval-request.js +7 -0
  2096. package/dist/sdk/support/approvals/decide-approval-request.d.ts +3 -0
  2097. package/dist/sdk/support/approvals/decide-approval-request.js +7 -0
  2098. package/dist/sdk/support/approvals/list-approval-requests.d.ts +3 -0
  2099. package/dist/sdk/support/approvals/list-approval-requests.js +7 -0
  2100. package/dist/sdk/support/create.d.ts +3 -0
  2101. package/dist/sdk/support/create.js +9 -0
  2102. package/dist/sdk/support/cursors/get-cursor.d.ts +3 -0
  2103. package/dist/sdk/support/cursors/get-cursor.js +7 -0
  2104. package/dist/sdk/support/cursors/upsert-cursor.d.ts +3 -0
  2105. package/dist/sdk/support/cursors/upsert-cursor.js +7 -0
  2106. package/dist/sdk/support/execution/record-run.d.ts +3 -0
  2107. package/dist/sdk/support/execution/record-run.js +7 -0
  2108. package/dist/sdk/support/get.d.ts +3 -0
  2109. package/dist/sdk/support/get.js +9 -0
  2110. package/dist/sdk/support/graph/explain-reference-chain.d.ts +2 -0
  2111. package/dist/sdk/support/graph/explain-reference-chain.js +6 -0
  2112. package/dist/sdk/support/graph/follow-references.d.ts +3 -0
  2113. package/dist/sdk/support/graph/follow-references.js +6 -0
  2114. package/dist/sdk/support/graph/follow.d.ts +9 -0
  2115. package/dist/sdk/support/graph/follow.js +11 -0
  2116. package/dist/sdk/support/graph/get-backlinks.d.ts +7 -0
  2117. package/dist/sdk/support/graph/get-backlinks.js +6 -0
  2118. package/dist/sdk/support/graph/get-neighbors.d.ts +7 -0
  2119. package/dist/sdk/support/graph/get-neighbors.js +6 -0
  2120. package/dist/sdk/support/graph/get-related.d.ts +3 -0
  2121. package/dist/sdk/support/graph/get-related.js +6 -0
  2122. package/dist/sdk/support/graph/resolve-reference.d.ts +6 -0
  2123. package/dist/sdk/support/graph/resolve-reference.js +6 -0
  2124. package/dist/sdk/support/messages/ack-message.d.ts +6 -0
  2125. package/dist/sdk/support/messages/ack-message.js +7 -0
  2126. package/dist/sdk/support/messages/claim-message.d.ts +3 -0
  2127. package/dist/sdk/support/messages/claim-message.js +9 -0
  2128. package/dist/sdk/support/messages/create-message.d.ts +3 -0
  2129. package/dist/sdk/support/messages/create-message.js +7 -0
  2130. package/dist/sdk/support/messages/dispatch.d.ts +3 -0
  2131. package/dist/sdk/support/messages/dispatch.js +42 -0
  2132. package/dist/sdk/support/messages/envelope.d.ts +3 -0
  2133. package/dist/sdk/support/messages/envelope.js +13 -0
  2134. package/dist/sdk/support/pick.d.ts +3 -0
  2135. package/dist/sdk/support/pick.js +11 -0
  2136. package/dist/sdk/support/read.d.ts +9 -0
  2137. package/dist/sdk/support/read.js +9 -0
  2138. package/dist/sdk/support/search/search-entities.d.ts +3 -0
  2139. package/dist/sdk/support/search/search-entities.js +6 -0
  2140. package/dist/sdk/support/search/search-files.d.ts +3 -0
  2141. package/dist/sdk/support/search/search-files.js +6 -0
  2142. package/dist/sdk/support/search/search-sections.d.ts +3 -0
  2143. package/dist/sdk/support/search/search-sections.js +6 -0
  2144. package/dist/sdk/support/search/search.d.ts +3 -0
  2145. package/dist/sdk/support/search/search.js +11 -0
  2146. package/dist/sdk/support/update.d.ts +3 -0
  2147. package/dist/sdk/support/update.js +9 -0
  2148. package/dist/sdk/support/workstreams/append-workstream-event.d.ts +3 -0
  2149. package/dist/sdk/support/workstreams/append-workstream-event.js +7 -0
  2150. package/dist/sdk/support/workstreams/get-workstream.d.ts +3 -0
  2151. package/dist/sdk/support/workstreams/get-workstream.js +7 -0
  2152. package/dist/sdk/support/workstreams/list-workstreams.d.ts +3 -0
  2153. package/dist/sdk/support/workstreams/list-workstreams.js +7 -0
  2154. package/dist/sdk/support/workstreams/upsert-workstream.d.ts +3 -0
  2155. package/dist/sdk/support/workstreams/upsert-workstream.js +7 -0
  2156. package/dist/sdk/teams/upsert-team-inbox-item.d.ts +3 -0
  2157. package/dist/sdk/teams/upsert-team-inbox-item.js +7 -0
  2158. package/dist/sdk/treedx/graph/get-graph-node.d.ts +2 -0
  2159. package/dist/sdk/treedx/graph/get-graph-node.js +6 -0
  2160. package/dist/sdk/treedx/graph/get-subgraph.d.ts +3 -0
  2161. package/dist/sdk/treedx/graph/get-subgraph.js +6 -0
  2162. package/dist/sdk/treedx/graph/parse-graph-dsl.d.ts +3 -0
  2163. package/dist/sdk/treedx/graph/parse-graph-dsl.js +6 -0
  2164. package/dist/sdk/treedx/graph/query-graph.d.ts +3 -0
  2165. package/dist/sdk/treedx/graph/query-graph.js +6 -0
  2166. package/dist/sdk/treedx/graph/refresh-graph.d.ts +3 -0
  2167. package/dist/sdk/treedx/graph/refresh-graph.js +6 -0
  2168. package/dist/sdk-types/commerce/capacity/commerce-capacity-listing-input.d.ts +250 -0
  2169. package/dist/sdk-types/commerce/capacity/commerce-capacity-listing-input.js +0 -0
  2170. package/dist/sdk-types/commerce/catalog/upsert-catalog-item-request.d.ts +124 -0
  2171. package/dist/sdk-types/commerce/catalog/upsert-catalog-item-request.js +0 -0
  2172. package/dist/sdk-types/commerce/governance/commerce-governance-states.d.ts +42 -0
  2173. package/dist/sdk-types/commerce/governance/commerce-governance-states.js +198 -0
  2174. package/dist/sdk-types/commerce/payments/commerce-entitlement.d.ts +244 -0
  2175. package/dist/sdk-types/commerce/payments/commerce-entitlement.js +0 -0
  2176. package/dist/sdk-types/commerce/payments/commerce-subscription-statuses.d.ts +77 -0
  2177. package/dist/sdk-types/commerce/payments/commerce-subscription-statuses.js +166 -0
  2178. package/dist/sdk-types/commerce/services/commerce-service-contract.d.ts +247 -0
  2179. package/dist/sdk-types/commerce/services/commerce-service-contract.js +0 -0
  2180. package/dist/sdk-types/commerce/vendors/commerce-stripe-onboarding-request-input.d.ts +233 -0
  2181. package/dist/sdk-types/commerce/vendors/commerce-stripe-onboarding-request-input.js +0 -0
  2182. package/dist/sdk-types/configuration/sdk-dispatch-credential-source.d.ts +201 -0
  2183. package/dist/sdk-types/configuration/sdk-dispatch-credential-source.js +0 -0
  2184. package/dist/sdk-types/governance/commons/commons-question-input.d.ts +61 -0
  2185. package/dist/sdk-types/governance/commons/commons-question-input.js +0 -0
  2186. package/dist/sdk-types/support/planning-policy.d.ts +210 -0
  2187. package/dist/sdk-types/support/planning-policy.js +0 -0
  2188. package/dist/sdk-types/support/platform-contracts.d.ts +182 -0
  2189. package/dist/sdk-types/support/platform-contracts.js +35 -0
  2190. package/dist/sdk-types/support/sdk-model-names.d.ts +44 -0
  2191. package/dist/sdk-types/support/sdk-model-names.js +80 -0
  2192. package/dist/sdk-types/support/sdk-search-request.d.ts +182 -0
  2193. package/dist/sdk-types/support/sdk-search-request.js +0 -0
  2194. package/dist/sdk-types/support/task-planning.d.ts +189 -0
  2195. package/dist/sdk-types/support/task-planning.js +0 -0
  2196. package/dist/sdk-types/treedx/graph/sdk-graph-query-request.d.ts +157 -0
  2197. package/dist/sdk-types/treedx/graph/sdk-graph-query-request.js +0 -0
  2198. package/dist/secrets-capability/provider-operation-contracts.d.ts +90 -0
  2199. package/dist/secrets-capability/provider-operation-contracts.js +10 -0
  2200. package/dist/secrets-capability/service-provider-contracts.d.ts +92 -0
  2201. package/dist/secrets-capability/service-provider-contracts.js +183 -0
  2202. package/dist/secrets-capability/service-vault-contracts.d.ts +61 -0
  2203. package/dist/secrets-capability/service-vault-contracts.js +39 -0
  2204. package/dist/secrets-capability/service-vault-crypto.d.ts +20 -0
  2205. package/dist/secrets-capability/service-vault-crypto.js +278 -0
  2206. package/dist/secrets-capability/workflow-operation-contracts.d.ts +95 -0
  2207. package/dist/secrets-capability/workflow-operation-contracts.js +0 -0
  2208. package/dist/seeds/index.d.ts +43 -0
  2209. package/dist/seeds/index.js +64 -1
  2210. package/dist/seeds/licensing/portfolio-license.d.ts +60 -0
  2211. package/dist/seeds/licensing/portfolio-license.js +130 -0
  2212. package/dist/seeds/normalize.js +3 -129
  2213. package/dist/seeds/planner.js +5 -10
  2214. package/dist/seeds/reconciliation/repository-units.d.ts +3 -0
  2215. package/dist/seeds/reconciliation/repository-units.js +175 -0
  2216. package/dist/seeds/repositories/content-cutover.d.ts +43 -0
  2217. package/dist/seeds/repositories/content-cutover.js +141 -0
  2218. package/dist/seeds/repositories/organization-reference-migration.d.ts +45 -0
  2219. package/dist/seeds/repositories/organization-reference-migration.js +136 -0
  2220. package/dist/seeds/repositories/repository-history.d.ts +135 -0
  2221. package/dist/seeds/repositories/repository-history.js +343 -0
  2222. package/dist/seeds/repositories/source-repository-history.d.ts +85 -0
  2223. package/dist/seeds/repositories/source-repository-history.js +123 -0
  2224. package/dist/seeds/repositories/support-repository-workflow.d.ts +73 -0
  2225. package/dist/seeds/repositories/support-repository-workflow.js +127 -0
  2226. package/dist/seeds/runtime/local-capacity.d.ts +65 -0
  2227. package/dist/seeds/runtime/local-capacity.js +400 -0
  2228. package/dist/seeds/schema/array-bucket.d.ts +7 -0
  2229. package/dist/seeds/schema/array-bucket.js +261 -0
  2230. package/dist/seeds/schema/parse-project.d.ts +15 -0
  2231. package/dist/seeds/schema/parse-project.js +253 -0
  2232. package/dist/seeds/schema/resource-buckets.d.ts +35 -0
  2233. package/dist/seeds/schema/resource-buckets.js +312 -0
  2234. package/dist/seeds/schema.d.ts +3 -2
  2235. package/dist/seeds/schema.js +3 -893
  2236. package/dist/seeds/types.d.ts +54 -126
  2237. package/dist/seeds/workspaces/admin-descriptor-migration.d.ts +37 -0
  2238. package/dist/seeds/workspaces/admin-descriptor-migration.js +99 -0
  2239. package/dist/seeds/workspaces/gateway-contract-migration.d.ts +31 -0
  2240. package/dist/seeds/workspaces/gateway-contract-migration.js +176 -0
  2241. package/dist/seeds/workspaces/managed-workspace-overlay.d.ts +10 -0
  2242. package/dist/seeds/workspaces/managed-workspace-overlay.js +28 -0
  2243. package/dist/seeds/workspaces/market-api-package-lock.d.ts +2 -0
  2244. package/dist/seeds/workspaces/market-api-package-lock.js +38 -0
  2245. package/dist/seeds/workspaces/market-api-workspace.d.ts +60 -0
  2246. package/dist/seeds/workspaces/market-api-workspace.js +528 -0
  2247. package/dist/seeds/workspaces/platform-workspace-history.d.ts +124 -0
  2248. package/dist/seeds/workspaces/platform-workspace-history.js +312 -0
  2249. package/dist/standards/canonicalize.d.ts +10 -0
  2250. package/dist/standards/canonicalize.js +43 -0
  2251. package/dist/standards/compatibility-attestation.d.ts +23 -0
  2252. package/dist/standards/compatibility-attestation.js +40 -0
  2253. package/dist/standards/composition.d.ts +15 -0
  2254. package/dist/standards/composition.js +14 -0
  2255. package/dist/standards/contract-bundle.d.ts +8 -0
  2256. package/dist/standards/contract-bundle.js +23 -0
  2257. package/dist/standards/contracts.d.ts +39 -0
  2258. package/dist/standards/contracts.js +0 -0
  2259. package/dist/standards/errors.d.ts +6 -0
  2260. package/dist/standards/errors.js +13 -0
  2261. package/dist/standards/index.d.ts +8 -0
  2262. package/dist/standards/index.js +8 -0
  2263. package/dist/standards/openapi/compare.d.ts +2 -0
  2264. package/dist/standards/openapi/compare.js +112 -0
  2265. package/dist/standards/openapi/contracts.d.ts +24 -0
  2266. package/dist/standards/openapi/contracts.js +0 -0
  2267. package/dist/standards/openapi/index.d.ts +3 -0
  2268. package/dist/standards/openapi/index.js +3 -0
  2269. package/dist/standards/openapi/normalize.d.ts +2 -0
  2270. package/dist/standards/openapi/normalize.js +57 -0
  2271. package/dist/standards/package-manifest.d.ts +37 -0
  2272. package/dist/standards/package-manifest.js +89 -0
  2273. package/dist/standards/portfolio-entry.d.ts +12 -0
  2274. package/dist/standards/portfolio-entry.js +11 -0
  2275. package/dist/standards/typescript/compare.d.ts +2 -0
  2276. package/dist/standards/typescript/compare.js +88 -0
  2277. package/dist/standards/typescript/contracts.d.ts +44 -0
  2278. package/dist/standards/typescript/contracts.js +0 -0
  2279. package/dist/standards/typescript/extract.d.ts +10 -0
  2280. package/dist/standards/typescript/extract.js +244 -0
  2281. package/dist/standards/typescript/index.d.ts +3 -0
  2282. package/dist/standards/typescript/index.js +3 -0
  2283. package/dist/stores/cursor-store.d.ts +1 -1
  2284. package/dist/stores/cursor-store.js +2 -2
  2285. package/dist/stores/envelopes.d.ts +12 -12
  2286. package/dist/stores/lease-store.d.ts +1 -1
  2287. package/dist/stores/lease-store.js +2 -2
  2288. package/dist/stores/message-store.d.ts +1 -1
  2289. package/dist/stores/message-store.js +2 -2
  2290. package/dist/stores/operational-store.d.ts +3 -47
  2291. package/dist/stores/operational-store.js +0 -647
  2292. package/dist/stores/project-workflow-store/json-record.d.ts +29 -0
  2293. package/dist/stores/project-workflow-store/json-record.js +223 -0
  2294. package/dist/stores/project-workflow-store/sqlite-project-workflow-store.d.ts +37 -0
  2295. package/dist/stores/project-workflow-store/sqlite-project-workflow-store.js +271 -0
  2296. package/dist/stores/project-workflow-store.d.ts +2 -56
  2297. package/dist/stores/project-workflow-store.js +2 -482
  2298. package/dist/stores/run-store.d.ts +1 -1
  2299. package/dist/stores/run-store.js +1 -1
  2300. package/dist/stores/subscription-store.d.ts +1 -1
  2301. package/dist/stores/subscription-store.js +1 -1
  2302. package/dist/testing/fixture-support.js +385 -0
  2303. package/dist/treedx/accounts/auth.d.ts +17 -0
  2304. package/dist/treedx/accounts/auth.js +48 -0
  2305. package/dist/treedx/accounts/repository-name.d.ts +2 -0
  2306. package/dist/treedx/accounts/repository-name.js +10 -0
  2307. package/dist/treedx/changesets/unified-diff.d.ts +7 -0
  2308. package/dist/treedx/changesets/unified-diff.js +56 -0
  2309. package/dist/treedx/client/accounts/contracts/auth-mode.d.ts +3 -0
  2310. package/dist/treedx/client/accounts/contracts/auth-mode.js +6 -0
  2311. package/dist/treedx/client/build/creation/build-context.d.ts +3 -0
  2312. package/dist/treedx/client/build/creation/build-context.js +7 -0
  2313. package/dist/treedx/client/build/creation/build-snapshot.d.ts +3 -0
  2314. package/dist/treedx/client/build/creation/build-snapshot.js +8 -0
  2315. package/dist/treedx/client/capacity/allocations/contracts/put-capability-grant.d.ts +3 -0
  2316. package/dist/treedx/client/capacity/allocations/contracts/put-capability-grant.js +7 -0
  2317. package/dist/treedx/client/capacity/allocations/queries/list-capability-grants.d.ts +6 -0
  2318. package/dist/treedx/client/capacity/allocations/queries/list-capability-grants.js +10 -0
  2319. package/dist/treedx/client/methods.d.ts +102 -0
  2320. package/dist/treedx/client/methods.js +209 -0
  2321. package/dist/treedx/client/persistence/contracts/restore-storage.d.ts +3 -0
  2322. package/dist/treedx/client/persistence/contracts/restore-storage.js +6 -0
  2323. package/dist/treedx/client/persistence/lifecycle/verify-storage-restore.d.ts +3 -0
  2324. package/dist/treedx/client/persistence/lifecycle/verify-storage-restore.js +6 -0
  2325. package/dist/treedx/client/repositories/creation/register-repository.d.ts +3 -0
  2326. package/dist/treedx/client/repositories/creation/register-repository.js +7 -0
  2327. package/dist/treedx/client/repositories/queries/get-repository.d.ts +3 -0
  2328. package/dist/treedx/client/repositories/queries/get-repository.js +7 -0
  2329. package/dist/treedx/client/repositories/queries/list-repository-paths.d.ts +3 -0
  2330. package/dist/treedx/client/repositories/queries/list-repository-paths.js +7 -0
  2331. package/dist/treedx/client/repositories/queries/list-repository-refs.d.ts +3 -0
  2332. package/dist/treedx/client/repositories/queries/list-repository-refs.js +12 -0
  2333. package/dist/treedx/client/repositories/queries/query-repository.d.ts +3 -0
  2334. package/dist/treedx/client/repositories/queries/query-repository.js +7 -0
  2335. package/dist/treedx/client/repositories/queries/read-repository-file.d.ts +3 -0
  2336. package/dist/treedx/client/repositories/queries/read-repository-file.js +6 -0
  2337. package/dist/treedx/client/repositories/queries/read-repository-files.d.ts +3 -0
  2338. package/dist/treedx/client/repositories/queries/read-repository-files.js +7 -0
  2339. package/dist/treedx/client/repositories/queries/search-repository-files.d.ts +3 -0
  2340. package/dist/treedx/client/repositories/queries/search-repository-files.js +7 -0
  2341. package/dist/treedx/client/support/contracts/treedx/artifacts/contracts/download-artifact.d.ts +3 -0
  2342. package/dist/treedx/client/support/contracts/treedx/artifacts/contracts/download-artifact.js +9 -0
  2343. package/dist/treedx/client/support/contracts/treedx/authorization/contracts/whoami.d.ts +3 -0
  2344. package/dist/treedx/client/support/contracts/treedx/authorization/contracts/whoami.js +6 -0
  2345. package/dist/treedx/client/support/contracts/treedx/graph/contracts/parse-context-dsl.d.ts +3 -0
  2346. package/dist/treedx/client/support/contracts/treedx/graph/contracts/parse-context-dsl.js +7 -0
  2347. package/dist/treedx/client/support/contracts/treedx/health/contracts/deep-health.d.ts +5 -0
  2348. package/dist/treedx/client/support/contracts/treedx/health/contracts/deep-health.js +7 -0
  2349. package/dist/treedx/client/support/contracts/treedx/health/contracts/health.d.ts +3 -0
  2350. package/dist/treedx/client/support/contracts/treedx/health/contracts/health.js +6 -0
  2351. package/dist/treedx/client/support/contracts/treedx/health/contracts/metrics.d.ts +3 -0
  2352. package/dist/treedx/client/support/contracts/treedx/health/contracts/metrics.js +7 -0
  2353. package/dist/treedx/client/support/contracts/treedx/health/contracts/prometheus-metrics.d.ts +2 -0
  2354. package/dist/treedx/client/support/contracts/treedx/health/contracts/prometheus-metrics.js +19 -0
  2355. package/dist/treedx/client/support/contracts/treedx/health/contracts/ready.d.ts +3 -0
  2356. package/dist/treedx/client/support/contracts/treedx/health/contracts/ready.js +7 -0
  2357. package/dist/treedx/client/support/contracts/treedx/health/contracts/status.d.ts +3 -0
  2358. package/dist/treedx/client/support/contracts/treedx/health/contracts/status.js +6 -0
  2359. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/commit.d.ts +3 -0
  2360. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/commit.js +7 -0
  2361. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/diff.d.ts +3 -0
  2362. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/diff.js +6 -0
  2363. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/fetch-remote.d.ts +3 -0
  2364. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/fetch-remote.js +7 -0
  2365. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/push.d.ts +6 -0
  2366. package/dist/treedx/client/support/contracts/treedx/repositories/contracts/push.js +23 -0
  2367. package/dist/treedx/client/support/contracts/treedx/search/contracts/compact-search-index.d.ts +3 -0
  2368. package/dist/treedx/client/support/contracts/treedx/search/contracts/compact-search-index.js +8 -0
  2369. package/dist/treedx/client/support/contracts/treedx/search/contracts/search.d.ts +3 -0
  2370. package/dist/treedx/client/support/contracts/treedx/search/contracts/search.js +7 -0
  2371. package/dist/treedx/client/support/contracts/treedx/storage/contracts/backup-storage.d.ts +3 -0
  2372. package/dist/treedx/client/support/contracts/treedx/storage/contracts/backup-storage.js +8 -0
  2373. package/dist/treedx/client/support/contracts/treedx/storage/contracts/compact-storage.d.ts +3 -0
  2374. package/dist/treedx/client/support/contracts/treedx/storage/contracts/compact-storage.js +8 -0
  2375. package/dist/treedx/client/support/contracts/treedx/transport/contracts/assert-binary-ok.d.ts +2 -0
  2376. package/dist/treedx/client/support/contracts/treedx/transport/contracts/assert-binary-ok.js +15 -0
  2377. package/dist/treedx/client/support/contracts/treedx/transport/contracts/fetch-with-timeout.d.ts +2 -0
  2378. package/dist/treedx/client/support/contracts/treedx/transport/contracts/fetch-with-timeout.js +38 -0
  2379. package/dist/treedx/client/support/contracts/treedx/transport/contracts/headers.d.ts +2 -0
  2380. package/dist/treedx/client/support/contracts/treedx/transport/contracts/headers.js +15 -0
  2381. package/dist/treedx/client/support/contracts/treedx/transport/contracts/parse-json-response.d.ts +2 -0
  2382. package/dist/treedx/client/support/contracts/treedx/transport/contracts/parse-json-response.js +15 -0
  2383. package/dist/treedx/client/support/contracts/treedx/transport/contracts/query.d.ts +2 -0
  2384. package/dist/treedx/client/support/contracts/treedx/transport/contracts/query.js +14 -0
  2385. package/dist/treedx/client/support/contracts/treedx/transport/contracts/repo-id.d.ts +2 -0
  2386. package/dist/treedx/client/support/contracts/treedx/transport/contracts/repo-id.js +14 -0
  2387. package/dist/treedx/client/support/contracts/treedx/transport/contracts/request.d.ts +6 -0
  2388. package/dist/treedx/client/support/contracts/treedx/transport/contracts/request.js +41 -0
  2389. package/dist/treedx/client/support/contracts/treedx/transport/contracts/throw-api-error.d.ts +2 -0
  2390. package/dist/treedx/client/support/contracts/treedx/transport/contracts/throw-api-error.js +14 -0
  2391. package/dist/treedx/client/support/contracts/treedx/workspaces/contracts/exec.d.ts +3 -0
  2392. package/dist/treedx/client/support/contracts/treedx/workspaces/contracts/exec.js +7 -0
  2393. package/dist/treedx/client/support/creation/apply-changeset.d.ts +3 -0
  2394. package/dist/treedx/client/support/creation/apply-changeset.js +10 -0
  2395. package/dist/treedx/client/support/creation/apply-storage-migration.d.ts +3 -0
  2396. package/dist/treedx/client/support/creation/apply-storage-migration.js +7 -0
  2397. package/dist/treedx/client/support/creation/create-migration.d.ts +6 -0
  2398. package/dist/treedx/client/support/creation/create-migration.js +7 -0
  2399. package/dist/treedx/client/support/creation/export-artifact.d.ts +3 -0
  2400. package/dist/treedx/client/support/creation/export-artifact.js +8 -0
  2401. package/dist/treedx/client/support/creation/plan-storage-migration.d.ts +3 -0
  2402. package/dist/treedx/client/support/creation/plan-storage-migration.js +7 -0
  2403. package/dist/treedx/client/support/creation/request-binary.d.ts +6 -0
  2404. package/dist/treedx/client/support/creation/request-binary.js +42 -0
  2405. package/dist/treedx/client/support/creation/write-file.d.ts +3 -0
  2406. package/dist/treedx/client/support/creation/write-file.js +10 -0
  2407. package/dist/treedx/client/support/creation/write-files.d.ts +3 -0
  2408. package/dist/treedx/client/support/creation/write-files.js +12 -0
  2409. package/dist/treedx/client/support/queries/treedx/artifacts/queries/get-artifact.d.ts +3 -0
  2410. package/dist/treedx/client/support/queries/treedx/artifacts/queries/get-artifact.js +7 -0
  2411. package/dist/treedx/client/support/queries/treedx/artifacts/queries/list-artifacts.d.ts +3 -0
  2412. package/dist/treedx/client/support/queries/treedx/artifacts/queries/list-artifacts.js +7 -0
  2413. package/dist/treedx/client/support/queries/treedx/authorization/queries/effective-scope.d.ts +3 -0
  2414. package/dist/treedx/client/support/queries/treedx/authorization/queries/effective-scope.js +9 -0
  2415. package/dist/treedx/client/support/queries/treedx/authorization/queries/list-capabilities.d.ts +4 -0
  2416. package/dist/treedx/client/support/queries/treedx/authorization/queries/list-capabilities.js +6 -0
  2417. package/dist/treedx/client/support/queries/treedx/federation/queries/get-placement.d.ts +3 -0
  2418. package/dist/treedx/client/support/queries/treedx/federation/queries/get-placement.js +7 -0
  2419. package/dist/treedx/client/support/queries/treedx/graph/queries/get-node.d.ts +3 -0
  2420. package/dist/treedx/client/support/queries/treedx/graph/queries/get-node.js +7 -0
  2421. package/dist/treedx/client/support/queries/treedx/graph/queries/get-related.d.ts +3 -0
  2422. package/dist/treedx/client/support/queries/treedx/graph/queries/get-related.js +7 -0
  2423. package/dist/treedx/client/support/queries/treedx/graph/queries/list-nodes.d.ts +3 -0
  2424. package/dist/treedx/client/support/queries/treedx/graph/queries/list-nodes.js +7 -0
  2425. package/dist/treedx/client/support/queries/treedx/repositories/queries/list-tree.d.ts +3 -0
  2426. package/dist/treedx/client/support/queries/treedx/repositories/queries/list-tree.js +10 -0
  2427. package/dist/treedx/client/support/queries/treedx/repositories/queries/read-file.d.ts +3 -0
  2428. package/dist/treedx/client/support/queries/treedx/repositories/queries/read-file.js +9 -0
  2429. package/dist/treedx/client/support/queries/treedx/search/queries/get-search-index-status.d.ts +3 -0
  2430. package/dist/treedx/client/support/queries/treedx/search/queries/get-search-index-status.js +7 -0
  2431. package/dist/treedx/client/support/queries/treedx/storage/queries/get-migration.d.ts +6 -0
  2432. package/dist/treedx/client/support/queries/treedx/storage/queries/get-migration.js +7 -0
  2433. package/dist/treedx/client/support/queries/treedx/storage/queries/get-snapshot.d.ts +6 -0
  2434. package/dist/treedx/client/support/queries/treedx/storage/queries/get-snapshot.js +7 -0
  2435. package/dist/treedx/client/support/queries/treedx/storage/queries/list-storage-migrations.d.ts +6 -0
  2436. package/dist/treedx/client/support/queries/treedx/storage/queries/list-storage-migrations.js +6 -0
  2437. package/dist/treedx/client/support/queries/treedx/transport/queries/list-audit-events.d.ts +15 -0
  2438. package/dist/treedx/client/support/queries/treedx/transport/queries/list-audit-events.js +6 -0
  2439. package/dist/treedx/client/support/queries/treedx/transport/queries/list-repositories.d.ts +3 -0
  2440. package/dist/treedx/client/support/queries/treedx/transport/queries/list-repositories.js +7 -0
  2441. package/dist/treedx/client/support/retirement/cleanup-artifacts.d.ts +3 -0
  2442. package/dist/treedx/client/support/retirement/cleanup-artifacts.js +7 -0
  2443. package/dist/treedx/client/support/retirement/delete-artifact.d.ts +3 -0
  2444. package/dist/treedx/client/support/retirement/delete-artifact.js +7 -0
  2445. package/dist/treedx/client/support/retirement/delete-file.d.ts +3 -0
  2446. package/dist/treedx/client/support/retirement/delete-file.js +10 -0
  2447. package/dist/treedx/client/support/retirement/rollback-storage-migration.d.ts +3 -0
  2448. package/dist/treedx/client/support/retirement/rollback-storage-migration.js +7 -0
  2449. package/dist/treedx/client/support/updates/patch-file.d.ts +3 -0
  2450. package/dist/treedx/client/support/updates/patch-file.js +10 -0
  2451. package/dist/treedx/client/support/updates/refresh-search-index.d.ts +3 -0
  2452. package/dist/treedx/client/support/updates/refresh-search-index.js +8 -0
  2453. package/dist/treedx/client/treedx/blobs/contracts/download-blob.d.ts +3 -0
  2454. package/dist/treedx/client/treedx/blobs/contracts/download-blob.js +6 -0
  2455. package/dist/treedx/client/treedx/blobs/creation/create-blob-upload.d.ts +3 -0
  2456. package/dist/treedx/client/treedx/blobs/creation/create-blob-upload.js +8 -0
  2457. package/dist/treedx/client/treedx/blobs/creation/request-blob-download.d.ts +3 -0
  2458. package/dist/treedx/client/treedx/blobs/creation/request-blob-download.js +27 -0
  2459. package/dist/treedx/client/treedx/blobs/creation/request-blob-upload.d.ts +3 -0
  2460. package/dist/treedx/client/treedx/blobs/creation/request-blob-upload.js +41 -0
  2461. package/dist/treedx/client/treedx/blobs/creation/upload-blob-part.d.ts +3 -0
  2462. package/dist/treedx/client/treedx/blobs/creation/upload-blob-part.js +27 -0
  2463. package/dist/treedx/client/treedx/blobs/creation/upload-blob.d.ts +3 -0
  2464. package/dist/treedx/client/treedx/blobs/creation/upload-blob.js +6 -0
  2465. package/dist/treedx/client/treedx/blobs/creation/write-blob.d.ts +3 -0
  2466. package/dist/treedx/client/treedx/blobs/creation/write-blob.js +8 -0
  2467. package/dist/treedx/client/treedx/blobs/lifecycle/complete-blob-upload.d.ts +3 -0
  2468. package/dist/treedx/client/treedx/blobs/lifecycle/complete-blob-upload.js +8 -0
  2469. package/dist/treedx/client/treedx/blobs/queries/read-blob.d.ts +3 -0
  2470. package/dist/treedx/client/treedx/blobs/queries/read-blob.js +10 -0
  2471. package/dist/treedx/client/treedx/blobs/retirement/abort-blob-upload.d.ts +3 -0
  2472. package/dist/treedx/client/treedx/blobs/retirement/abort-blob-upload.js +7 -0
  2473. package/dist/treedx/client/treedx/blobs/retirement/delete-blob.d.ts +3 -0
  2474. package/dist/treedx/client/treedx/blobs/retirement/delete-blob.js +8 -0
  2475. package/dist/treedx/client/treedx/federation/contracts/federated-query.d.ts +3 -0
  2476. package/dist/treedx/client/treedx/federation/contracts/federated-query.js +7 -0
  2477. package/dist/treedx/client/treedx/federation/creation/plan-federated-query.d.ts +3 -0
  2478. package/dist/treedx/client/treedx/federation/creation/plan-federated-query.js +6 -0
  2479. package/dist/treedx/client/treedx/federation/queries/check-mirror-health.d.ts +3 -0
  2480. package/dist/treedx/client/treedx/federation/queries/check-mirror-health.js +7 -0
  2481. package/dist/treedx/client/treedx/federation/updates/promote-mirror.d.ts +3 -0
  2482. package/dist/treedx/client/treedx/federation/updates/promote-mirror.js +7 -0
  2483. package/dist/treedx/client/treedx/federation/updates/sync-mirror.d.ts +3 -0
  2484. package/dist/treedx/client/treedx/federation/updates/sync-mirror.js +7 -0
  2485. package/dist/treedx/client/treedx/graph/contracts/federated-context.d.ts +3 -0
  2486. package/dist/treedx/client/treedx/graph/contracts/federated-context.js +7 -0
  2487. package/dist/treedx/client/treedx/graph/contracts/federated-graph.d.ts +3 -0
  2488. package/dist/treedx/client/treedx/graph/contracts/federated-graph.js +7 -0
  2489. package/dist/treedx/client/treedx/graph/contracts/graph-search.d.ts +3 -0
  2490. package/dist/treedx/client/treedx/graph/contracts/graph-search.js +8 -0
  2491. package/dist/treedx/client/treedx/graph/queries/get-graph-node.d.ts +3 -0
  2492. package/dist/treedx/client/treedx/graph/queries/get-graph-node.js +10 -0
  2493. package/dist/treedx/client/treedx/graph/queries/get-graph-refresh-job.d.ts +3 -0
  2494. package/dist/treedx/client/treedx/graph/queries/get-graph-refresh-job.js +7 -0
  2495. package/dist/treedx/client/treedx/graph/queries/get-subgraph.d.ts +3 -0
  2496. package/dist/treedx/client/treedx/graph/queries/get-subgraph.js +7 -0
  2497. package/dist/treedx/client/treedx/graph/queries/query-graph.d.ts +3 -0
  2498. package/dist/treedx/client/treedx/graph/queries/query-graph.js +7 -0
  2499. package/dist/treedx/client/treedx/graph/queries/search-graph-entities.d.ts +3 -0
  2500. package/dist/treedx/client/treedx/graph/queries/search-graph-entities.js +6 -0
  2501. package/dist/treedx/client/treedx/graph/queries/search-graph-files.d.ts +3 -0
  2502. package/dist/treedx/client/treedx/graph/queries/search-graph-files.js +6 -0
  2503. package/dist/treedx/client/treedx/graph/queries/search-graph-sections.d.ts +3 -0
  2504. package/dist/treedx/client/treedx/graph/queries/search-graph-sections.js +6 -0
  2505. package/dist/treedx/client/treedx/graph/updates/refresh-graph.d.ts +3 -0
  2506. package/dist/treedx/client/treedx/graph/updates/refresh-graph.js +7 -0
  2507. package/dist/treedx/client/treedx/search/contracts/federated-search.d.ts +3 -0
  2508. package/dist/treedx/client/treedx/search/contracts/federated-search.js +7 -0
  2509. package/dist/treedx/client/treedx/workspaces/creation/create-workspace.d.ts +3 -0
  2510. package/dist/treedx/client/treedx/workspaces/creation/create-workspace.js +7 -0
  2511. package/dist/treedx/client/treedx/workspaces/retirement/abandon-workspace.d.ts +3 -0
  2512. package/dist/treedx/client/treedx/workspaces/retirement/abandon-workspace.js +12 -0
  2513. package/dist/treedx/client/treedx/workspaces/retirement/close-workspace.d.ts +2 -0
  2514. package/dist/treedx/client/treedx/workspaces/retirement/close-workspace.js +6 -0
  2515. package/dist/treedx/federation/federated-client.d.ts +27 -0
  2516. package/dist/treedx/federation/federated-client.js +158 -0
  2517. package/dist/treedx/generated/openapi-types.d.ts +104 -0
  2518. package/dist/treedx/graph/graph-adapter.d.ts +33 -0
  2519. package/dist/treedx/graph/graph-adapter.js +156 -0
  2520. package/dist/treedx/graph/graph.d.ts +52 -0
  2521. package/dist/treedx/graph/graph.js +133 -0
  2522. package/dist/treedx/index.d.ts +16 -13
  2523. package/dist/treedx/index.js +19 -11
  2524. package/dist/treedx/reconciliation/adapters.d.ts +6 -0
  2525. package/dist/treedx/reconciliation/adapters.js +36 -0
  2526. package/dist/treedx/reconciliation/query-adapter.d.ts +19 -0
  2527. package/dist/treedx/reconciliation/query-adapter.js +62 -0
  2528. package/dist/treedx/reconciliation/repository-adapter.d.ts +54 -0
  2529. package/dist/treedx/reconciliation/repository-adapter.js +374 -0
  2530. package/dist/treedx/repositories/treedx-backends.d.ts +4 -0
  2531. package/dist/treedx/repositories/treedx-backends.js +4 -0
  2532. package/dist/treedx/support/client.d.ts +251 -0
  2533. package/dist/treedx/support/client.js +252 -0
  2534. package/dist/treedx/support/errors.d.ts +13 -0
  2535. package/dist/treedx/support/market-integration.d.ts +27 -0
  2536. package/dist/treedx/support/market-integration.js +162 -0
  2537. package/dist/treedx/support/ports.d.ts +166 -0
  2538. package/dist/treedx/support/registry-client.d.ts +11 -0
  2539. package/dist/treedx/support/sdk-integration.d.ts +27 -0
  2540. package/dist/treedx/support/sdk-integration.js +63 -0
  2541. package/dist/treedx/types/tree-dx-actor.d.ts +209 -0
  2542. package/dist/treedx/types/tree-dx-actor.js +8 -0
  2543. package/dist/treedx/types/tree-dx-artifact-list-response.d.ts +13 -0
  2544. package/dist/treedx/types/tree-dx-artifact-list-response.js +0 -0
  2545. package/dist/treedx/types/tree-dx-changeset.d.ts +51 -0
  2546. package/dist/treedx/types/tree-dx-changeset.js +6 -0
  2547. package/dist/treedx/types/tree-dx-context-request.d.ts +245 -0
  2548. package/dist/treedx/types/tree-dx-context-request.js +0 -0
  2549. package/dist/treedx/types/tree-dx-exec-result.d.ts +249 -0
  2550. package/dist/treedx/types/tree-dx-exec-result.js +0 -0
  2551. package/dist/treedx/types/tree-dx-list-tree-request.d.ts +222 -0
  2552. package/dist/treedx/types/tree-dx-list-tree-request.js +0 -0
  2553. package/dist/treedx/types/tree-dx-push-request.d.ts +229 -0
  2554. package/dist/treedx/types/tree-dx-push-request.js +0 -0
  2555. package/dist/treedx/types.d.ts +7 -1084
  2556. package/dist/treedx/types.js +7 -8
  2557. package/dist/treedx/workspaces/workspace-adapter.d.ts +28 -0
  2558. package/dist/treedx/workspaces/workspace-adapter.js +68 -0
  2559. package/dist/treedx-backends/normalize-path-rule.d.ts +57 -0
  2560. package/dist/treedx-backends/normalize-path-rule.js +148 -0
  2561. package/dist/treedx-backends/tree-dx-content-backend.d.ts +86 -0
  2562. package/dist/treedx-backends/tree-dx-content-backend.js +303 -0
  2563. package/dist/treedx-backends/tree-dx-graph-backend.d.ts +43 -0
  2564. package/dist/treedx-backends/tree-dx-graph-backend.js +99 -0
  2565. package/dist/treedx-backends/tree-dx-repository-hint.d.ts +97 -0
  2566. package/dist/treedx-backends/tree-dx-repository-hint.js +159 -0
  2567. package/dist/treeseed/template-catalog/catalog.fixture.json +60 -552
  2568. package/dist/types/agents/agent-activity-profile.d.ts +267 -0
  2569. package/dist/types/agents/agent-activity-profile.js +0 -0
  2570. package/dist/types/agents/agent-trigger-kinds.d.ts +189 -0
  2571. package/dist/types/agents/agent-trigger-kinds.js +107 -0
  2572. package/dist/types/agents/execution-run-ref.d.ts +136 -0
  2573. package/dist/types/agents/execution-run-ref.js +0 -0
  2574. package/dist/types/agents.d.ts +3 -493
  2575. package/dist/types/agents.js +3 -95
  2576. package/dist/verification/create-workspace-act-workflow.d.ts +16 -0
  2577. package/dist/verification/create-workspace-act-workflow.js +223 -0
  2578. package/dist/verification/run-verify-driver.d.ts +7 -0
  2579. package/dist/verification/run-verify-driver.js +71 -0
  2580. package/dist/verification/verify-driver.d.ts +60 -0
  2581. package/dist/verification/verify-driver.js +168 -0
  2582. package/dist/workflow/operations/commerce/catalog/back-merge-production-into-staging.d.ts +90 -0
  2583. package/dist/workflow/operations/commerce/catalog/back-merge-production-into-staging.js +241 -0
  2584. package/dist/workflow/operations/commerce/catalog/run-release-production-guarantees.d.ts +79 -0
  2585. package/dist/workflow/operations/commerce/catalog/run-release-production-guarantees.js +235 -0
  2586. package/dist/workflow/operations/configuration/workflow-config.d.ts +192 -0
  2587. package/dist/workflow/operations/configuration/workflow-config.js +345 -0
  2588. package/dist/workflow/operations/coordination/integration-change-set.d.ts +95 -0
  2589. package/dist/workflow/operations/coordination/integration-change-set.js +335 -0
  2590. package/dist/workflow/operations/coordination/staging-candidate-workflow-gates.d.ts +46 -0
  2591. package/dist/workflow/operations/coordination/staging-candidate-workflow-gates.js +287 -0
  2592. package/dist/workflow/operations/coordination/workflow-ci.d.ts +23 -0
  2593. package/dist/workflow/operations/coordination/workflow-ci.js +69 -0
  2594. package/dist/workflow/operations/coordination/workflow-destroy.d.ts +180 -0
  2595. package/dist/workflow/operations/coordination/workflow-destroy.js +162 -0
  2596. package/dist/workflow/operations/guarantees/workflow-proof.d.ts +87 -0
  2597. package/dist/workflow/operations/guarantees/workflow-proof.js +285 -0
  2598. package/dist/workflow/operations/packages/collect-published-release-artifact-checks.d.ts +71 -0
  2599. package/dist/workflow/operations/packages/collect-published-release-artifact-checks.js +238 -0
  2600. package/dist/workflow/operations/packages/collect-release-plan-blockers.d.ts +39 -0
  2601. package/dist/workflow/operations/packages/collect-release-plan-blockers.js +280 -0
  2602. package/dist/workflow/operations/packages/normalize-release-candidate-mode.d.ts +43 -0
  2603. package/dist/workflow/operations/packages/normalize-release-candidate-mode.js +222 -0
  2604. package/dist/workflow/operations/packages/plan-root-package-version.d.ts +57 -0
  2605. package/dist/workflow/operations/packages/plan-root-package-version.js +245 -0
  2606. package/dist/workflow/operations/packages/prepare-fresh-release-run.d.ts +31 -0
  2607. package/dist/workflow/operations/packages/prepare-fresh-release-run.js +264 -0
  2608. package/dist/workflow/operations/packages/release-admin-message.d.ts +62 -0
  2609. package/dist/workflow/operations/packages/release-admin-message.js +215 -0
  2610. package/dist/workflow/operations/reconciliation/reconcile-save-hosted-environment.d.ts +72 -0
  2611. package/dist/workflow/operations/reconciliation/reconcile-save-hosted-environment.js +260 -0
  2612. package/dist/workflow/operations/reconciliation/run-release-gate-reconcile-facade.d.ts +43 -0
  2613. package/dist/workflow/operations/reconciliation/run-release-gate-reconcile-facade.js +127 -0
  2614. package/dist/workflow/operations/recovery/fail-workflow-run.d.ts +62 -0
  2615. package/dist/workflow/operations/recovery/fail-workflow-run.js +266 -0
  2616. package/dist/workflow/operations/recovery/recover-save-integration.d.ts +16 -0
  2617. package/dist/workflow/operations/recovery/recover-save-integration.js +51 -0
  2618. package/dist/workflow/operations/recovery/workflow-resume.d.ts +119 -0
  2619. package/dist/workflow/operations/recovery/workflow-resume.js +240 -0
  2620. package/dist/workflow/operations/recovery/workflow-write.d.ts +57 -0
  2621. package/dist/workflow/operations/recovery/workflow-write.js +227 -0
  2622. package/dist/workflow/operations/recovery/workspace-artifact-state.d.ts +18 -0
  2623. package/dist/workflow/operations/recovery/workspace-artifact-state.js +59 -0
  2624. package/dist/workflow/operations/release/workflow-release.d.ts +372 -0
  2625. package/dist/workflow/operations/release/workflow-release.js +497 -0
  2626. package/dist/workflow/operations/repositories/gates-for-saved-repository-reports.d.ts +49 -0
  2627. package/dist/workflow/operations/repositories/gates-for-saved-repository-reports.js +226 -0
  2628. package/dist/workflow/operations/support/cleanup-stage-source-branches.d.ts +20 -0
  2629. package/dist/workflow/operations/support/cleanup-stage-source-branches.js +52 -0
  2630. package/dist/workflow/operations/support/create-repo-report.d.ts +64 -0
  2631. package/dist/workflow/operations/support/create-repo-report.js +224 -0
  2632. package/dist/workflow/operations/support/resolve-generated-dependency-conflict.d.ts +7 -0
  2633. package/dist/workflow/operations/support/resolve-generated-dependency-conflict.js +89 -0
  2634. package/dist/workflow/operations/support/sync-current-branch-to-origin.d.ts +222 -0
  2635. package/dist/workflow/operations/support/sync-current-branch-to-origin.js +258 -0
  2636. package/dist/workflow/operations/support/update-ahead-behind.d.ts +69 -0
  2637. package/dist/workflow/operations/support/update-ahead-behind.js +220 -0
  2638. package/dist/workflow/operations/support/workflow-helpers.d.ts +22 -0
  2639. package/dist/workflow/operations/support/workflow-helpers.js +114 -0
  2640. package/dist/workflow/operations/workspace-lifecycle/workflow-close.d.ts +275 -0
  2641. package/dist/workflow/operations/workspace-lifecycle/workflow-close.js +230 -0
  2642. package/dist/workflow/operations/workspace-lifecycle/workflow-save.d.ts +135 -0
  2643. package/dist/workflow/operations/workspace-lifecycle/workflow-save.js +522 -0
  2644. package/dist/workflow/operations/workspace-lifecycle/workflow-stage.d.ts +45 -0
  2645. package/dist/workflow/operations/workspace-lifecycle/workflow-stage.js +330 -0
  2646. package/dist/workflow/operations/workspace-lifecycle/workflow-switch.d.ts +35 -0
  2647. package/dist/workflow/operations/workspace-lifecycle/workflow-switch.js +295 -0
  2648. package/dist/workflow/operations/workspace-lifecycle/workflow-update.d.ts +152 -0
  2649. package/dist/workflow/operations/workspace-lifecycle/workflow-update.js +286 -0
  2650. package/dist/workflow/operations.d.ts +31 -1516
  2651. package/dist/workflow/operations.js +31 -7001
  2652. package/dist/workflow/policy.d.ts +9 -6
  2653. package/dist/workflow/policy.js +14 -11
  2654. package/dist/workflow/runs/ensure-workflow-exclude-rule.d.ts +85 -0
  2655. package/dist/workflow/runs/ensure-workflow-exclude-rule.js +292 -0
  2656. package/dist/workflow/runs/get-cached-successful-workflow-gate.d.ts +24 -0
  2657. package/dist/workflow/runs/get-cached-successful-workflow-gate.js +158 -0
  2658. package/dist/workflow/runs/update-workflow-run-journal.d.ts +28 -0
  2659. package/dist/workflow/runs/update-workflow-run-journal.js +230 -0
  2660. package/dist/workflow/runs/workflow-run-command.d.ts +113 -0
  2661. package/dist/workflow/runs/workflow-run-command.js +140 -0
  2662. package/dist/workflow/runs.d.ts +4 -143
  2663. package/dist/workflow/runs.js +4 -720
  2664. package/dist/workflow/session.d.ts +20 -17
  2665. package/dist/workflow/session.js +50 -21
  2666. package/dist/workflow/worktrees.d.ts +37 -3
  2667. package/dist/workflow/worktrees.js +38 -7
  2668. package/dist/workflow-state/branch-role.d.ts +239 -0
  2669. package/dist/workflow-state/branch-role.js +45 -0
  2670. package/dist/workflow-state/readiness-for-environment.d.ts +61 -0
  2671. package/dist/workflow-state/readiness-for-environment.js +217 -0
  2672. package/dist/workflow-state/recommend-next-steps.d.ts +2 -0
  2673. package/dist/workflow-state/recommend-next-steps.js +99 -0
  2674. package/dist/workflow-state/resolve-workflow-state.d.ts +2 -0
  2675. package/dist/workflow-state/resolve-workflow-state.js +426 -0
  2676. package/dist/workflow-state/safe-release-history.d.ts +23 -0
  2677. package/dist/workflow-state/safe-release-history.js +78 -0
  2678. package/drizzle/market/0000_market_control_plane.sql +3176 -2335
  2679. package/drizzle/market/0001_feedback_management.sql +110 -0
  2680. package/drizzle/market/0001_knowledge_collaboration.sql +37 -0
  2681. package/drizzle/market/0002_knowledge_pack_workflow.sql +79 -0
  2682. package/drizzle/market/0003_knowledge_review_snapshot.sql +2 -0
  2683. package/drizzle/market/0004_remote_provider_publication.sql +193 -0
  2684. package/drizzle/market/0005_remote_delivery_operation_scope.sql +9 -0
  2685. package/drizzle/market/0006_workflow_run_provenance.sql +17 -0
  2686. package/drizzle/market/0007_transient_workflow_configuration.sql +6 -0
  2687. package/drizzle/market/0008_guide_editorial_review.sql +27 -0
  2688. package/drizzle/market/0009_capacity_workday_schedules.sql +30 -0
  2689. package/drizzle/market/0010_agent_lab_realtime_preferences.sql +2 -0
  2690. package/drizzle/market/0011_seed_team_membership_claims.sql +20 -0
  2691. package/drizzle/market/0012_signal_time_planning.sql +82 -0
  2692. package/drizzle/market/0013_planning_participant_nodes.sql +8 -0
  2693. package/drizzle/market/0014_legacy_capacity_accounting_nullable.sql +8 -0
  2694. package/drizzle/market/0015_remove_platform_repository_claims.sql +1 -0
  2695. package/drizzle/market/0016_session_events.sql +13 -0
  2696. package/drizzle/market/0017_agent_lab_view_state.sql +18 -0
  2697. package/drizzle/market/0018_agent_context_query_checks.sql +27 -0
  2698. package/drizzle/market/0019_context_query_check_evidence_only.sql +1 -0
  2699. package/drizzle/market/0020_capacity_integrated_communication.sql +181 -0
  2700. package/drizzle/market/0021_project_contribution_authorizations.sql +48 -0
  2701. package/drizzle/market/0022_remove_project_contribution_authorizations.sql +2 -0
  2702. package/package.json +210 -158
  2703. package/scripts/verification/verify-driver.ts +42 -0
  2704. package/dist/agent-capacity.d.ts +0 -1100
  2705. package/dist/agent-capacity.js +0 -1822
  2706. package/dist/agent-tools.d.ts +0 -37
  2707. package/dist/agent-tools.js +0 -301
  2708. package/dist/api/app.d.ts +0 -8
  2709. package/dist/api/app.js +0 -404
  2710. package/dist/api/config.d.ts +0 -4
  2711. package/dist/api/config.js +0 -149
  2712. package/dist/api/http.d.ts +0 -28
  2713. package/dist/api/http.js +0 -51
  2714. package/dist/api/operations-routes.d.ts +0 -11
  2715. package/dist/api/operations-routes.js +0 -39
  2716. package/dist/api/operations.d.ts +0 -3
  2717. package/dist/api/operations.js +0 -26
  2718. package/dist/api/providers.d.ts +0 -2
  2719. package/dist/api/providers.js +0 -85
  2720. package/dist/api/railway.d.ts +0 -53
  2721. package/dist/api/railway.js +0 -71
  2722. package/dist/api/sdk-dispatch.d.ts +0 -6
  2723. package/dist/api/sdk-dispatch.js +0 -14
  2724. package/dist/api/sdk-routes.d.ts +0 -11
  2725. package/dist/api/sdk-routes.js +0 -29
  2726. package/dist/api/templates.d.ts +0 -3
  2727. package/dist/api/templates.js +0 -31
  2728. package/dist/capacity-provider.d.ts +0 -494
  2729. package/dist/capacity-provider.js +0 -727
  2730. package/dist/capacity.d.ts +0 -483
  2731. package/dist/capacity.js +0 -2331
  2732. package/dist/cli-tools.d.ts +0 -3
  2733. package/dist/content-operations.d.ts +0 -97
  2734. package/dist/content-operations.js +0 -250
  2735. package/dist/content-store.d.ts +0 -25
  2736. package/dist/content-store.js +0 -269
  2737. package/dist/control-plane-client.d.ts +0 -203
  2738. package/dist/control-plane-client.js +0 -540
  2739. package/dist/control-plane.d.ts +0 -101
  2740. package/dist/control-plane.js +0 -201
  2741. package/dist/copilot.d.ts +0 -18
  2742. package/dist/copilot.js +0 -90
  2743. package/dist/d1-http.d.ts +0 -38
  2744. package/dist/d1-store.d.ts +0 -336
  2745. package/dist/d1-store.js +0 -1431
  2746. package/dist/dispatch.d.ts +0 -4
  2747. package/dist/dispatch.js +0 -174
  2748. package/dist/field-aliases.d.ts +0 -11
  2749. package/dist/fixture-support.js +0 -385
  2750. package/dist/governance.d.ts +0 -133
  2751. package/dist/governance.js +0 -285
  2752. package/dist/graph.d.ts +0 -52
  2753. package/dist/graph.js +0 -133
  2754. package/dist/managed-dependencies.d.ts +0 -91
  2755. package/dist/managed-dependencies.js +0 -1186
  2756. package/dist/market-client.d.ts +0 -831
  2757. package/dist/market-client.js +0 -1219
  2758. package/dist/model-registry.d.ts +0 -8
  2759. package/dist/model-registry.js +0 -674
  2760. package/dist/operations/agent-tools.d.ts +0 -105
  2761. package/dist/operations/agent-tools.js +0 -171
  2762. package/dist/operations/repository-operations.d.ts +0 -158
  2763. package/dist/operations/repository-operations.js +0 -851
  2764. package/dist/operations/runtime.d.ts +0 -7
  2765. package/dist/operations/runtime.js +0 -61
  2766. package/dist/operations/services/bootstrap-runner.d.ts +0 -39
  2767. package/dist/operations/services/bootstrap-runner.js +0 -191
  2768. package/dist/operations/services/commit-message-provider.d.ts +0 -65
  2769. package/dist/operations/services/commit-message-provider.js +0 -496
  2770. package/dist/operations/services/config-runtime.d.ts +0 -558
  2771. package/dist/operations/services/config-runtime.js +0 -3494
  2772. package/dist/operations/services/d1-migration.js +0 -120
  2773. package/dist/operations/services/deploy.d.ts +0 -645
  2774. package/dist/operations/services/deploy.js +0 -3826
  2775. package/dist/operations/services/deployment-readiness.d.ts +0 -30
  2776. package/dist/operations/services/deployment-readiness.js +0 -217
  2777. package/dist/operations/services/export-runtime.d.ts +0 -18
  2778. package/dist/operations/services/export-runtime.js +0 -140
  2779. package/dist/operations/services/git-remote-policy.js +0 -63
  2780. package/dist/operations/services/git-runner.d.ts +0 -68
  2781. package/dist/operations/services/git-runner.js +0 -500
  2782. package/dist/operations/services/git-workflow.d.ts +0 -255
  2783. package/dist/operations/services/git-workflow.js +0 -845
  2784. package/dist/operations/services/github-actions-verification.d.ts +0 -148
  2785. package/dist/operations/services/github-actions-verification.js +0 -589
  2786. package/dist/operations/services/github-api.d.ts +0 -279
  2787. package/dist/operations/services/github-api.js +0 -936
  2788. package/dist/operations/services/github-automation.d.ts +0 -230
  2789. package/dist/operations/services/github-automation.js +0 -520
  2790. package/dist/operations/services/github-credentials.d.ts +0 -13
  2791. package/dist/operations/services/github-credentials.js +0 -59
  2792. package/dist/operations/services/hosted-service-checks.d.ts +0 -82
  2793. package/dist/operations/services/hosted-service-checks.js +0 -527
  2794. package/dist/operations/services/hosting-audit.d.ts +0 -69
  2795. package/dist/operations/services/hosting-audit.js +0 -638
  2796. package/dist/operations/services/hub-launch.d.ts +0 -182
  2797. package/dist/operations/services/hub-launch.js +0 -309
  2798. package/dist/operations/services/hub-provider-launch.d.ts +0 -160
  2799. package/dist/operations/services/hub-provider-launch.js +0 -1056
  2800. package/dist/operations/services/key-agent.d.ts +0 -137
  2801. package/dist/operations/services/key-agent.js +0 -641
  2802. package/dist/operations/services/live-hosted-service-checks.d.ts +0 -30
  2803. package/dist/operations/services/live-hosted-service-checks.js +0 -611
  2804. package/dist/operations/services/local-cleanup.d.ts +0 -30
  2805. package/dist/operations/services/local-cleanup.js +0 -77
  2806. package/dist/operations/services/local-dev.js +0 -97
  2807. package/dist/operations/services/managed-host-security.d.ts +0 -13
  2808. package/dist/operations/services/managed-host-security.js +0 -56
  2809. package/dist/operations/services/managed-repositories.d.ts +0 -37
  2810. package/dist/operations/services/managed-repositories.js +0 -177
  2811. package/dist/operations/services/market-packaging.d.ts +0 -59
  2812. package/dist/operations/services/market-packaging.js +0 -234
  2813. package/dist/operations/services/operations-runner-smoke.d.ts +0 -31
  2814. package/dist/operations/services/operations-runner-smoke.js +0 -212
  2815. package/dist/operations/services/package-adapters.d.ts +0 -184
  2816. package/dist/operations/services/package-adapters.js +0 -912
  2817. package/dist/operations/services/package-artifacts.d.ts +0 -37
  2818. package/dist/operations/services/package-artifacts.js +0 -99
  2819. package/dist/operations/services/package-reference-policy.d.ts +0 -64
  2820. package/dist/operations/services/package-reference-policy.js +0 -364
  2821. package/dist/operations/services/project-host-operations.d.ts +0 -153
  2822. package/dist/operations/services/project-host-operations.js +0 -365
  2823. package/dist/operations/services/project-platform.d.ts +0 -727
  2824. package/dist/operations/services/project-platform.js +0 -1603
  2825. package/dist/operations/services/project-web-monitor.d.ts +0 -15
  2826. package/dist/operations/services/project-web-monitor.js +0 -377
  2827. package/dist/operations/services/railway-api.d.ts +0 -494
  2828. package/dist/operations/services/railway-api.js +0 -1874
  2829. package/dist/operations/services/railway-cli.js +0 -142
  2830. package/dist/operations/services/railway-deploy.d.ts +0 -161
  2831. package/dist/operations/services/railway-deploy.js +0 -1808
  2832. package/dist/operations/services/railway-source-policy.d.ts +0 -25
  2833. package/dist/operations/services/release-history.js +0 -158
  2834. package/dist/operations/services/release-proof-ledger.d.ts +0 -13
  2835. package/dist/operations/services/release-proof-ledger.js +0 -81
  2836. package/dist/operations/services/release-proof-planner.d.ts +0 -48
  2837. package/dist/operations/services/release-proof-planner.js +0 -195
  2838. package/dist/operations/services/release-proof-runner.d.ts +0 -16
  2839. package/dist/operations/services/release-proof-runner.js +0 -169
  2840. package/dist/operations/services/release-proof.d.ts +0 -81
  2841. package/dist/operations/services/repository-save-orchestrator.d.ts +0 -193
  2842. package/dist/operations/services/repository-save-orchestrator.js +0 -2110
  2843. package/dist/operations/services/runtime-paths.d.ts +0 -19
  2844. package/dist/operations/services/runtime-paths.js +0 -54
  2845. package/dist/operations/services/runtime-tools.d.ts +0 -35
  2846. package/dist/operations/services/runtime-tools.js +0 -212
  2847. package/dist/operations/services/save-deploy-preflight.js +0 -82
  2848. package/dist/operations/services/template-host-bindings.d.ts +0 -68
  2849. package/dist/operations/services/template-host-bindings.js +0 -401
  2850. package/dist/operations/services/template-registry.d.ts +0 -110
  2851. package/dist/operations/services/template-registry.js +0 -595
  2852. package/dist/operations/services/template-secret-sync.d.ts +0 -97
  2853. package/dist/operations/services/template-secret-sync.js +0 -292
  2854. package/dist/operations/services/verification-cache.d.ts +0 -25
  2855. package/dist/operations/services/verification-cache.js +0 -71
  2856. package/dist/operations/services/watch-dev.js +0 -282
  2857. package/dist/operations/services/workflow-timing.d.ts +0 -25
  2858. package/dist/operations/services/workflow-timing.js +0 -79
  2859. package/dist/operations/services/workspace-dependency-mode.d.ts +0 -74
  2860. package/dist/operations/services/workspace-dependency-mode.js +0 -478
  2861. package/dist/operations/services/workspace-preflight.js +0 -172
  2862. package/dist/operations/services/workspace-save-script.d.ts +0 -26
  2863. package/dist/operations/services/workspace-save-script.js +0 -50
  2864. package/dist/operations/services/workspace-save.d.ts +0 -76
  2865. package/dist/operations/services/workspace-save.js +0 -453
  2866. package/dist/operations/services/workspace-tools.d.ts +0 -17
  2867. package/dist/operations/services/workspace-tools.js +0 -320
  2868. package/dist/operations-registry.d.ts +0 -5
  2869. package/dist/operations-registry.js +0 -98
  2870. package/dist/operations-types.d.ts +0 -75
  2871. package/dist/operations-types.js +0 -17
  2872. package/dist/operations.d.ts +0 -17
  2873. package/dist/operations.js +0 -114
  2874. package/dist/platform/book-export.d.ts +0 -78
  2875. package/dist/platform/book-export.js +0 -451
  2876. package/dist/platform/books-data.d.ts +0 -28
  2877. package/dist/platform/books-data.js +0 -111
  2878. package/dist/platform/config.d.ts +0 -27
  2879. package/dist/platform/config.js +0 -100
  2880. package/dist/platform/content-runtime-source.d.ts +0 -54
  2881. package/dist/platform/content-runtime-source.js +0 -169
  2882. package/dist/platform/contracts.d.ts +0 -361
  2883. package/dist/platform/deploy-config.d.ts +0 -17
  2884. package/dist/platform/deploy-config.js +0 -731
  2885. package/dist/platform/deploy-runtime.d.ts +0 -22
  2886. package/dist/platform/deploy-runtime.js +0 -93
  2887. package/dist/platform/desired-state.d.ts +0 -66
  2888. package/dist/platform/desired-state.js +0 -1071
  2889. package/dist/platform/environment.d.ts +0 -159
  2890. package/dist/platform/environment.js +0 -778
  2891. package/dist/platform/local-content-materialization.d.ts +0 -9
  2892. package/dist/platform/local-content-materialization.js +0 -212
  2893. package/dist/platform/plugin.d.ts +0 -103
  2894. package/dist/platform/plugin.js +0 -6
  2895. package/dist/platform/plugins.d.ts +0 -6
  2896. package/dist/platform/plugins.js +0 -42
  2897. package/dist/platform/published-content-pipeline.d.ts +0 -84
  2898. package/dist/platform/published-content-pipeline.js +0 -547
  2899. package/dist/platform/published-content.d.ts +0 -224
  2900. package/dist/platform/published-content.js +0 -611
  2901. package/dist/platform/site-config-schema.d.ts +0 -1
  2902. package/dist/platform/site-config-schema.js +0 -4
  2903. package/dist/platform/tenant-config.d.ts +0 -8
  2904. package/dist/platform/tenant-config.js +0 -207
  2905. package/dist/platform-operation-store.d.ts +0 -94
  2906. package/dist/platform-operation-store.js +0 -531
  2907. package/dist/platform-operations.d.ts +0 -273
  2908. package/dist/platform-operations.js +0 -440
  2909. package/dist/plugin-default.d.ts +0 -28
  2910. package/dist/plugin-default.js +0 -55
  2911. package/dist/project-import.d.ts +0 -91
  2912. package/dist/project-import.js +0 -257
  2913. package/dist/project-workflow.d.ts +0 -233
  2914. package/dist/project-workflow.js +0 -82
  2915. package/dist/reconcile/bootstrap-systems.d.ts +0 -32
  2916. package/dist/reconcile/bootstrap-systems.js +0 -175
  2917. package/dist/reconcile/builtin-adapters.d.ts +0 -9
  2918. package/dist/reconcile/builtin-adapters.js +0 -5545
  2919. package/dist/reconcile/contracts.d.ts +0 -172
  2920. package/dist/reconcile/desired-state.d.ts +0 -10
  2921. package/dist/reconcile/desired-state.js +0 -322
  2922. package/dist/reconcile/engine.d.ts +0 -118
  2923. package/dist/reconcile/engine.js +0 -645
  2924. package/dist/reconcile/errors.d.ts +0 -5
  2925. package/dist/reconcile/errors.js +0 -13
  2926. package/dist/reconcile/live-acceptance.d.ts +0 -100
  2927. package/dist/reconcile/live-acceptance.js +0 -2018
  2928. package/dist/reconcile/platform.d.ts +0 -104
  2929. package/dist/reconcile/platform.js +0 -100
  2930. package/dist/reconcile/registry.d.ts +0 -7
  2931. package/dist/reconcile/registry.js +0 -79
  2932. package/dist/reconcile/state.d.ts +0 -7
  2933. package/dist/reconcile/state.js +0 -270
  2934. package/dist/reconcile/units.d.ts +0 -6
  2935. package/dist/reconcile/units.js +0 -72
  2936. package/dist/remote.d.ts +0 -244
  2937. package/dist/remote.js +0 -284
  2938. package/dist/scenes/artifacts.d.ts +0 -16
  2939. package/dist/scenes/artifacts.js +0 -61
  2940. package/dist/scenes/auth.d.ts +0 -2
  2941. package/dist/scenes/auth.js +0 -28
  2942. package/dist/scenes/base-url.d.ts +0 -12
  2943. package/dist/scenes/base-url.js +0 -123
  2944. package/dist/scenes/builtin-plugins.d.ts +0 -2
  2945. package/dist/scenes/builtin-plugins.js +0 -499
  2946. package/dist/scenes/checkpoints.d.ts +0 -14
  2947. package/dist/scenes/checkpoints.js +0 -33
  2948. package/dist/scenes/device-matrix.d.ts +0 -2
  2949. package/dist/scenes/device-matrix.js +0 -100
  2950. package/dist/scenes/devices.d.ts +0 -11
  2951. package/dist/scenes/devices.js +0 -40
  2952. package/dist/scenes/diagnostics.d.ts +0 -5
  2953. package/dist/scenes/diagnostics.js +0 -22
  2954. package/dist/scenes/diagram-providers.d.ts +0 -2
  2955. package/dist/scenes/diagram-providers.js +0 -181
  2956. package/dist/scenes/diagram-validation.d.ts +0 -22
  2957. package/dist/scenes/diagram-validation.js +0 -74
  2958. package/dist/scenes/environment.d.ts +0 -2
  2959. package/dist/scenes/environment.js +0 -65
  2960. package/dist/scenes/evidence-bundle.d.ts +0 -5
  2961. package/dist/scenes/evidence-bundle.js +0 -42
  2962. package/dist/scenes/evidence-report.d.ts +0 -10
  2963. package/dist/scenes/evidence-report.js +0 -73
  2964. package/dist/scenes/evidence.d.ts +0 -16
  2965. package/dist/scenes/evidence.js +0 -277
  2966. package/dist/scenes/inspect.d.ts +0 -9
  2967. package/dist/scenes/inspect.js +0 -64
  2968. package/dist/scenes/loader.d.ts +0 -3
  2969. package/dist/scenes/loader.js +0 -38
  2970. package/dist/scenes/logs.d.ts +0 -2
  2971. package/dist/scenes/logs.js +0 -47
  2972. package/dist/scenes/operations.d.ts +0 -3
  2973. package/dist/scenes/operations.js +0 -128
  2974. package/dist/scenes/phase0.d.ts +0 -9
  2975. package/dist/scenes/phase0.js +0 -637
  2976. package/dist/scenes/planner.d.ts +0 -12
  2977. package/dist/scenes/planner.js +0 -166
  2978. package/dist/scenes/playwright-adapter.d.ts +0 -2
  2979. package/dist/scenes/playwright-adapter.js +0 -63
  2980. package/dist/scenes/plugins.d.ts +0 -5
  2981. package/dist/scenes/plugins.js +0 -115
  2982. package/dist/scenes/progress.d.ts +0 -17
  2983. package/dist/scenes/progress.js +0 -24
  2984. package/dist/scenes/publish-destinations.d.ts +0 -12
  2985. package/dist/scenes/publish-destinations.js +0 -99
  2986. package/dist/scenes/publish-plan-report.d.ts +0 -10
  2987. package/dist/scenes/publish-plan-report.js +0 -70
  2988. package/dist/scenes/publish-plan.d.ts +0 -15
  2989. package/dist/scenes/publish-plan.js +0 -248
  2990. package/dist/scenes/publish-redaction.d.ts +0 -16
  2991. package/dist/scenes/publish-redaction.js +0 -148
  2992. package/dist/scenes/publish-release-record.d.ts +0 -13
  2993. package/dist/scenes/publish-release-record.js +0 -34
  2994. package/dist/scenes/publish-report.d.ts +0 -10
  2995. package/dist/scenes/publish-report.js +0 -67
  2996. package/dist/scenes/publish.d.ts +0 -16
  2997. package/dist/scenes/publish.js +0 -298
  2998. package/dist/scenes/registry.d.ts +0 -12
  2999. package/dist/scenes/registry.js +0 -65
  3000. package/dist/scenes/remotion-adapter.d.ts +0 -3
  3001. package/dist/scenes/remotion-adapter.js +0 -94
  3002. package/dist/scenes/remotion-composition-registry.d.ts +0 -2
  3003. package/dist/scenes/remotion-composition-registry.js +0 -12
  3004. package/dist/scenes/remotion-compositions.d.ts +0 -15
  3005. package/dist/scenes/remotion-compositions.js +0 -464
  3006. package/dist/scenes/remotion-diagrams.d.ts +0 -9
  3007. package/dist/scenes/remotion-diagrams.js +0 -188
  3008. package/dist/scenes/remotion-input.d.ts +0 -13
  3009. package/dist/scenes/remotion-input.js +0 -291
  3010. package/dist/scenes/remotion-visuals.d.ts +0 -29
  3011. package/dist/scenes/remotion-visuals.js +0 -198
  3012. package/dist/scenes/render-media-assets.d.ts +0 -9
  3013. package/dist/scenes/render-media-assets.js +0 -117
  3014. package/dist/scenes/render-report.d.ts +0 -10
  3015. package/dist/scenes/render-report.js +0 -27
  3016. package/dist/scenes/render.d.ts +0 -2
  3017. package/dist/scenes/render.js +0 -218
  3018. package/dist/scenes/reporter.d.ts +0 -3
  3019. package/dist/scenes/reporter.js +0 -101
  3020. package/dist/scenes/resume.d.ts +0 -2
  3021. package/dist/scenes/resume.js +0 -79
  3022. package/dist/scenes/runner.d.ts +0 -2
  3023. package/dist/scenes/runner.js +0 -687
  3024. package/dist/scenes/schema.d.ts +0 -6
  3025. package/dist/scenes/schema.js +0 -1023
  3026. package/dist/scenes/seed.d.ts +0 -2
  3027. package/dist/scenes/seed.js +0 -83
  3028. package/dist/scenes/segments.d.ts +0 -15
  3029. package/dist/scenes/segments.js +0 -79
  3030. package/dist/scenes/selectors.d.ts +0 -3
  3031. package/dist/scenes/selectors.js +0 -21
  3032. package/dist/scenes/timeline.d.ts +0 -11
  3033. package/dist/scenes/timeline.js +0 -26
  3034. package/dist/scenes/timeouts.d.ts +0 -6
  3035. package/dist/scenes/timeouts.js +0 -17
  3036. package/dist/scenes/training-captions.d.ts +0 -14
  3037. package/dist/scenes/training-captions.js +0 -98
  3038. package/dist/scenes/training-report.d.ts +0 -10
  3039. package/dist/scenes/training-report.js +0 -78
  3040. package/dist/scenes/training-transcript.d.ts +0 -24
  3041. package/dist/scenes/training-transcript.js +0 -204
  3042. package/dist/scenes/training.d.ts +0 -10
  3043. package/dist/scenes/training.js +0 -134
  3044. package/dist/scenes/visual-audit-contact-sheets.d.ts +0 -6
  3045. package/dist/scenes/visual-audit-contact-sheets.js +0 -119
  3046. package/dist/scenes/visual-audit-fixtures.d.ts +0 -25
  3047. package/dist/scenes/visual-audit-fixtures.js +0 -247
  3048. package/dist/scenes/visual-audit-report.d.ts +0 -11
  3049. package/dist/scenes/visual-audit-report.js +0 -85
  3050. package/dist/scenes/visual-audit-review.d.ts +0 -23
  3051. package/dist/scenes/visual-audit-review.js +0 -829
  3052. package/dist/scenes/visual-audit-routes.d.ts +0 -13
  3053. package/dist/scenes/visual-audit-routes.js +0 -308
  3054. package/dist/scenes/visual-audit.d.ts +0 -3
  3055. package/dist/scenes/visual-audit.js +0 -596
  3056. package/dist/scripts/aggregate-book.js +0 -16
  3057. package/dist/scripts/assert-release-tag-version.js +0 -23
  3058. package/dist/scripts/build-dist.js +0 -294
  3059. package/dist/scripts/build-tenant-worker.js +0 -36
  3060. package/dist/scripts/check-build-warnings.js +0 -51
  3061. package/dist/scripts/cleanup-markdown.js +0 -377
  3062. package/dist/scripts/cli-test-fixtures.js +0 -44
  3063. package/dist/scripts/config-treeseed.js +0 -131
  3064. package/dist/scripts/deployment-readiness.js +0 -20
  3065. package/dist/scripts/generate-treedx-openapi-types.js +0 -186
  3066. package/dist/scripts/install-managed-dependencies.js +0 -12
  3067. package/dist/scripts/key-agent.js +0 -165
  3068. package/dist/scripts/local-dev.js +0 -129
  3069. package/dist/scripts/migrate-journey-csv-to-guarantees.js +0 -140
  3070. package/dist/scripts/operations-runner-smoke.js +0 -16
  3071. package/dist/scripts/package-tools.js +0 -85
  3072. package/dist/scripts/patch-starlight-content-path.js +0 -173
  3073. package/dist/scripts/publish-package.js +0 -29
  3074. package/dist/scripts/release-verify.js +0 -105
  3075. package/dist/scripts/run-fixture-astro-command.js +0 -18
  3076. package/dist/scripts/scaffold-site.js +0 -66
  3077. package/dist/scripts/sync-template.js +0 -20
  3078. package/dist/scripts/template-catalog.test.js +0 -86
  3079. package/dist/scripts/template-command.js +0 -31
  3080. package/dist/scripts/tenant-astro-command.js +0 -3
  3081. package/dist/scripts/tenant-build.js +0 -48
  3082. package/dist/scripts/tenant-check.js +0 -10
  3083. package/dist/scripts/tenant-d1-migrate-local.js +0 -15
  3084. package/dist/scripts/tenant-deploy.js +0 -220
  3085. package/dist/scripts/tenant-destroy.js +0 -112
  3086. package/dist/scripts/tenant-dev.js +0 -160
  3087. package/dist/scripts/tenant-lint.js +0 -4
  3088. package/dist/scripts/tenant-test.js +0 -4
  3089. package/dist/scripts/tenant-workflow-action.js +0 -101
  3090. package/dist/scripts/test-cloudflare-local.js +0 -209
  3091. package/dist/scripts/test-scaffold.js +0 -300
  3092. package/dist/scripts/test-smoke.js +0 -137
  3093. package/dist/scripts/treeseed-assert-release-tag-version.js +0 -21
  3094. package/dist/scripts/treeseed-build-dist.js +0 -131
  3095. package/dist/scripts/treeseed-publish-package.js +0 -19
  3096. package/dist/scripts/treeseed-release-verify.js +0 -131
  3097. package/dist/scripts/validate-templates.js +0 -6
  3098. package/dist/scripts/verify-driver.js +0 -45
  3099. package/dist/scripts/workflow-commands.test.js +0 -31
  3100. package/dist/scripts/workspace-command-e2e.js +0 -718
  3101. package/dist/scripts/workspace-lint.js +0 -15
  3102. package/dist/scripts/workspace-preflight.js +0 -22
  3103. package/dist/scripts/workspace-publish-changed-packages.js +0 -16
  3104. package/dist/scripts/workspace-release-test.js +0 -104
  3105. package/dist/scripts/workspace-release-verify.js +0 -81
  3106. package/dist/scripts/workspace-save.js +0 -64
  3107. package/dist/scripts/workspace-test-unit.js +0 -4
  3108. package/dist/scripts/workspace-test.js +0 -17
  3109. package/dist/sdk-fields.d.ts +0 -11
  3110. package/dist/sdk-types.d.ts +0 -3868
  3111. package/dist/sdk-types.js +0 -542
  3112. package/dist/sdk.d.ts +0 -266
  3113. package/dist/sdk.js +0 -825
  3114. package/dist/secrets-capability.d.ts +0 -421
  3115. package/dist/secrets-capability.js +0 -530
  3116. package/dist/service-credentials.d.ts +0 -54
  3117. package/dist/service-credentials.js +0 -112
  3118. package/dist/template-catalog.d.ts +0 -13
  3119. package/dist/template-catalog.js +0 -151
  3120. package/dist/template-launch-requirements.d.ts +0 -118
  3121. package/dist/template-launch-requirements.js +0 -768
  3122. package/dist/template-launch-ui.d.ts +0 -85
  3123. package/dist/template-launch-ui.js +0 -189
  3124. package/dist/timing.d.ts +0 -20
  3125. package/dist/treedx/adapters.d.ts +0 -6
  3126. package/dist/treedx/adapters.js +0 -36
  3127. package/dist/treedx/client.d.ts +0 -222
  3128. package/dist/treedx/client.js +0 -871
  3129. package/dist/treedx/errors.d.ts +0 -13
  3130. package/dist/treedx/federated-client.d.ts +0 -27
  3131. package/dist/treedx/federated-client.js +0 -158
  3132. package/dist/treedx/graph-adapter.d.ts +0 -33
  3133. package/dist/treedx/graph-adapter.js +0 -156
  3134. package/dist/treedx/market-integration.d.ts +0 -27
  3135. package/dist/treedx/market-integration.js +0 -131
  3136. package/dist/treedx/ports.d.ts +0 -166
  3137. package/dist/treedx/query-adapter.d.ts +0 -19
  3138. package/dist/treedx/query-adapter.js +0 -62
  3139. package/dist/treedx/registry-client.d.ts +0 -11
  3140. package/dist/treedx/repository-adapter.d.ts +0 -45
  3141. package/dist/treedx/repository-adapter.js +0 -319
  3142. package/dist/treedx/sdk-integration.d.ts +0 -27
  3143. package/dist/treedx/sdk-integration.js +0 -63
  3144. package/dist/treedx/workspace-adapter.d.ts +0 -27
  3145. package/dist/treedx/workspace-adapter.js +0 -65
  3146. package/dist/treedx-backends.d.ts +0 -220
  3147. package/dist/treedx-backends.js +0 -634
  3148. package/dist/treedx-client.d.ts +0 -89
  3149. package/dist/treedx-client.js +0 -184
  3150. package/dist/verification.d.ts +0 -31
  3151. package/dist/verification.js +0 -430
  3152. package/dist/workflow-state.d.ts +0 -250
  3153. package/dist/workflow-state.js +0 -844
  3154. package/dist/workflow-support.d.ts +0 -28
  3155. package/dist/workflow-support.js +0 -390
  3156. package/dist/workflow.d.ts +0 -327
  3157. package/dist/workflow.js +0 -140
  3158. package/drizzle/market/0001_capacity_budget_mode_default.sql +0 -4
  3159. package/drizzle/market/0002_user_email_addresses.sql +0 -26
  3160. package/drizzle/market/0003_project_team_slug_unique.sql +0 -4
  3161. package/drizzle/market/0004_treedx_market_integration.sql +0 -99
  3162. package/drizzle/market/0005_agent_capacity_coordination.sql +0 -145
  3163. package/drizzle/market/0006_provider_assignment_lifecycle.sql +0 -9
  3164. package/drizzle/market/0007_agent_architecture_gap_closure.sql +0 -157
  3165. package/drizzle/market/0008_agent_capacity_operational_closure.sql +0 -27
  3166. package/drizzle/market/0009_agent_capacity_runtime_hardening.sql +0 -29
  3167. package/drizzle/market/0010_secrets_capability_persistence.sql +0 -130
  3168. package/drizzle/market/0011_github_app_adapter.sql +0 -47
  3169. package/drizzle/market/0012_workday_test_runs.sql +0 -44
  3170. package/drizzle/market/0013_runtime_task_lifecycle.sql +0 -39
  3171. package/drizzle/market/0014_governance_pipeline.sql +0 -189
  3172. package/drizzle/market/0015_agent_decision_assignment_graphs.sql +0 -60
  3173. package/scripts/verify-driver.ts +0 -51
  3174. package/templates/github/deploy-web.workflow.yml +0 -168
  3175. package/templates/github/hosted-project.workflow.yml +0 -76
  3176. /package/dist/{platform/contracts.js → agent-capacity/contracts/capacity/workdays/workday-records.js} +0 -0
  3177. /package/dist/{reconcile/contracts.js → agent-capacity/contracts/operations/workflow-promotion.js} +0 -0
  3178. /package/dist/{cli-tools.js → agents/cli-tools.js} +0 -0
  3179. /package/dist/{frontmatter.d.ts → content/frontmatter.d.ts} +0 -0
  3180. /package/dist/{frontmatter.js → content/frontmatter.js} +0 -0
  3181. /package/dist/{field-aliases.js → entrypoints/models/field-aliases.js} +0 -0
  3182. /package/dist/{sdk-dispatch.d.ts → entrypoints/models/sdk-dispatch.d.ts} +0 -0
  3183. /package/dist/{sdk-dispatch.js → entrypoints/models/sdk-dispatch.js} +0 -0
  3184. /package/dist/{sdk-fields.js → entrypoints/models/sdk-fields.js} +0 -0
  3185. /package/dist/{sdk-filters.d.ts → entrypoints/models/sdk-filters.d.ts} +0 -0
  3186. /package/dist/{sdk-filters.js → entrypoints/models/sdk-filters.js} +0 -0
  3187. /package/dist/{timing.js → entrypoints/runtime/timing.js} +0 -0
  3188. /package/dist/operations/services/{build-warning-policy.d.ts → build/build-warning-policy.d.ts} +0 -0
  3189. /package/dist/operations/services/{build-warning-policy.js → build/build-warning-policy.js} +0 -0
  3190. /package/dist/operations/services/{release-proof.js → guarantees/release-proof.js} +0 -0
  3191. /package/dist/operations/services/{save-deploy-preflight.d.ts → hosting/deployment/save-deploy-preflight.d.ts} +0 -0
  3192. /package/dist/operations/services/{railway-cli.d.ts → hosting/railway/railway-cli.d.ts} +0 -0
  3193. /package/dist/operations/services/{railway-source-policy.js → hosting/railway/railway-source-policy.js} +0 -0
  3194. /package/dist/operations/services/{release-history.d.ts → packages/release-history.d.ts} +0 -0
  3195. /package/dist/operations/services/{d1-migration.d.ts → persistence/d1-migration.d.ts} +0 -0
  3196. /package/dist/operations/services/{git-remote-policy.d.ts → repositories/git-remote-policy.d.ts} +0 -0
  3197. /package/dist/operations/services/{local-dev.d.ts → runtime/local-dev.d.ts} +0 -0
  3198. /package/dist/operations/services/{watch-dev.d.ts → runtime/watch-dev.d.ts} +0 -0
  3199. /package/dist/operations/services/{workspace-preflight.d.ts → treedx/workspaces/workspace-preflight.d.ts} +0 -0
  3200. /package/dist/{sdk-version.d.ts → packages/sdk-version.d.ts} +0 -0
  3201. /package/dist/{sdk-version.js → packages/sdk-version.js} +0 -0
  3202. /package/dist/{d1-http.js → persistence/d1-http.js} +0 -0
  3203. /package/dist/{git-runtime.d.ts → repositories/git-runtime.d.ts} +0 -0
  3204. /package/dist/{git-runtime.js → repositories/git-runtime.js} +0 -0
  3205. /package/dist/{runtime.d.ts → runtime/runtime.d.ts} +0 -0
  3206. /package/dist/{runtime.js → runtime/runtime.js} +0 -0
  3207. /package/dist/scripts/{prepare.js → maintenance/prepare.js} +0 -0
  3208. /package/dist/scripts/{workspace-start-warning.js → treedx/workspaces/workspace-start-warning.js} +0 -0
  3209. /package/dist/{fixture-support.d.ts → testing/fixture-support.d.ts} +0 -0
  3210. /package/dist/treedx/{errors.js → support/errors.js} +0 -0
  3211. /package/dist/treedx/{ports.js → support/ports.js} +0 -0
  3212. /package/dist/treedx/{registry-client.js → support/registry-client.js} +0 -0
@@ -1,3494 +0,0 @@
1
- import { createCipheriv, createDecipheriv, randomBytes } from "node:crypto";
2
- import { existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
3
- import { homedir } from "node:os";
4
- import { dirname, resolve } from "node:path";
5
- import { spawn, spawnSync } from "node:child_process";
6
- import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
7
- import {
8
- getTreeseedEnvironmentSuggestedValues,
9
- isTreeseedEnvironmentEntryRelevant,
10
- isTreeseedEnvironmentEntryRequired,
11
- resolveTreeseedEnvironmentRegistry,
12
- TREESEED_ENVIRONMENT_SCOPES,
13
- validateTreeseedEnvironmentValues
14
- } from "../../platform/environment.js";
15
- import { loadTreeseedManifest } from "../../platform/tenant-config.js";
16
- import {
17
- buildProvisioningSummary,
18
- createPersistentDeployTarget,
19
- ensureGeneratedWranglerConfig,
20
- loadDeployState,
21
- syncCloudflareSecrets
22
- } from "./deploy.js";
23
- import {
24
- collectTreeseedReconcileStatus,
25
- reconcileTreeseedTarget,
26
- resolveTreeseedBootstrapSelection
27
- } from "../../reconcile/index.js";
28
- import {
29
- ensureGitHubBootstrapRepository,
30
- maybeResolveGitHubRepositorySlug
31
- } from "./github-automation.js";
32
- import {
33
- buildRailwayCommandEnv,
34
- configuredRailwayServices
35
- } from "./railway-deploy.js";
36
- import {
37
- ensureRailwayEnvironment,
38
- ensureRailwayProject,
39
- ensureRailwayService,
40
- normalizeRailwayEnvironmentName,
41
- resolveRailwayWorkspace,
42
- resolveRailwayWorkspaceContext,
43
- upsertRailwayVariables
44
- } from "./railway-api.js";
45
- import { discoverTreeseedApplications } from "../../hosting/apps.js";
46
- import {
47
- createGitHubApiClient,
48
- ensureGitHubBranchFromBase
49
- } from "./github-api.js";
50
- import { resolveGitHubCredentialForRepository } from "./github-credentials.js";
51
- import { loadCliDeployConfig, packageDistScriptRoot, packageScriptPath, resolveWranglerBin, withProcessCwd } from "./runtime-tools.js";
52
- import { PRODUCTION_BRANCH, STAGING_BRANCH } from "./git-workflow.js";
53
- import {
54
- createTreeseedManagedToolEnv,
55
- resolveTreeseedToolBinary,
56
- resolveTreeseedToolCommand
57
- } from "../../managed-dependencies.js";
58
- import { resolveTreeseedGitHubToken, withTreeseedServiceCredentialEnv } from "../../service-credentials.js";
59
- import {
60
- filterManagedHostGitHubEnvironment,
61
- usesManagedHostOperationRequests
62
- } from "./managed-host-security.js";
63
- import {
64
- assertTreeseedKeyAgentResponse,
65
- getTreeseedKeyAgentPaths,
66
- inspectTreeseedKeyAgentDiagnostics,
67
- readWrappedMachineKeyFile,
68
- replaceWrappedMachineKey,
69
- rotateWrappedMachineKeyPassphrase,
70
- TREESEED_KEY_AGENT_IDLE_TIMEOUT_MS,
71
- TREESEED_MACHINE_KEY_PASSPHRASE_ENV,
72
- TreeseedKeyAgentError,
73
- unwrapMachineKey
74
- } from "./key-agent.js";
75
- import { TREESEED_MACHINE_KEY_PASSPHRASE_ENV as TREESEED_MACHINE_KEY_PASSPHRASE_ENV2, TreeseedKeyAgentError as TreeseedKeyAgentError2 } from "./key-agent.js";
76
- const MACHINE_CONFIG_RELATIVE_PATH = ".treeseed/config/machine.yaml";
77
- const MACHINE_KEY_HOME_RELATIVE_PATH = ".treeseed/config/machine.key";
78
- const LEGACY_MACHINE_KEY_RELATIVE_PATH = ".treeseed/config/machine.key";
79
- const REMOTE_AUTH_RELATIVE_PATH = ".treeseed/config/remote-auth.json";
80
- const WORKTREE_METADATA_RELATIVE_PATH = ".treeseed/worktree.json";
81
- const TEMPLATE_CATALOG_CACHE_RELATIVE_PATH = "treeseed/cache/template-catalog.json";
82
- const TENANT_ENVIRONMENT_OVERLAY_PATH = "src/env.yaml";
83
- const CLOUDFLARE_ACCOUNT_ID_PLACEHOLDER = "replace-with-cloudflare-account-id";
84
- const TREESEED_KEY_AGENT_AUTOPROMPT_ENV = "TREESEED_KEY_AGENT_AUTOPROMPT";
85
- const KEY_AGENT_COMMAND_TIMEOUT_MS = 1e4;
86
- const DEFAULT_TREESEED_API_BASE_URL = "https://api.treeseed.dev";
87
- const DEFAULT_TEMPLATE_CATALOG_URL = "https://api.treeseed.dev/search/templates";
88
- const TREESEED_TEMPLATE_CATALOG_URL_ENV = "TREESEED_TEMPLATE_CATALOG_URL";
89
- const TREESEED_API_BASE_URL_ENV = "TREESEED_API_BASE_URL";
90
- const CLI_CHECK_TIMEOUT_MS = 5e3;
91
- const DEPRECATED_LOCAL_ENV_FILES = [".env.local", ".dev.vars"];
92
- const PROVIDER_CONTROL_ENV_KEYS = [
93
- "TREESEED_GITHUB_TOKEN",
94
- "TREESEED_CLOUDFLARE_API_TOKEN",
95
- "TREESEED_CLOUDFLARE_ACCOUNT_ID",
96
- "CLOUDFLARE_ZONE_ID",
97
- "TREESEED_RAILWAY_API_TOKEN",
98
- "TREESEED_RAILWAY_WORKSPACE"
99
- ];
100
- const warnedDeprecatedLocalEnvRoots = /* @__PURE__ */ new Set();
101
- const inlineTreeseedSecretSessions = /* @__PURE__ */ new Map();
102
- const machineKeyHomeRootsByConfigRoot = /* @__PURE__ */ new Map();
103
- const railwayConnectionCheckCache = /* @__PURE__ */ new Map();
104
- function filterEnvironmentValuesByRegistry(values, registry, scope, purpose = "config") {
105
- const registeredKeys = new Set(registry.entries.filter((entry) => isTreeseedEnvironmentEntryRelevant(entry, registry.context, scope, purpose)).map((entry) => entry.id));
106
- return Object.fromEntries(
107
- Object.entries(values).filter(([key]) => registeredKeys.has(key))
108
- );
109
- }
110
- function inspectTreeseedPassphraseEnvDiagnostic(env = process.env) {
111
- const configured = typeof env[TREESEED_MACHINE_KEY_PASSPHRASE_ENV] === "string" && env[TREESEED_MACHINE_KEY_PASSPHRASE_ENV].trim().length > 0;
112
- return {
113
- envVar: TREESEED_MACHINE_KEY_PASSPHRASE_ENV,
114
- configured,
115
- recommendedLaunch: `Export ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV} in a shell and launch \`code .\` from that shell before starting the Codex session.`
116
- };
117
- }
118
- async function inspectTreeseedKeyAgentTransportDiagnostic() {
119
- const { socketPath, pidPath } = getTreeseedKeyAgentPaths();
120
- const diagnostics = await inspectTreeseedKeyAgentDiagnostics(socketPath);
121
- return {
122
- socketPath,
123
- pidPath,
124
- ...diagnostics
125
- };
126
- }
127
- function createDefaultRemoteHost() {
128
- return {
129
- id: "official",
130
- label: "TreeSeed Official API",
131
- baseUrl: DEFAULT_TREESEED_API_BASE_URL,
132
- official: true
133
- };
134
- }
135
- function createDefaultRemoteSettings() {
136
- return {
137
- activeHostId: "official",
138
- executionMode: "prefer-local",
139
- hosts: [createDefaultRemoteHost()]
140
- };
141
- }
142
- function normalizeRemoteSettings(value) {
143
- const record = value && typeof value === "object" ? value : {};
144
- const hosts = Array.isArray(record.hosts) ? record.hosts.filter((entry) => entry && typeof entry === "object").map((entry) => ({
145
- id: typeof entry.id === "string" && entry.id.trim() ? entry.id.trim() : "official",
146
- label: typeof entry.label === "string" && entry.label.trim() ? entry.label.trim() : void 0,
147
- baseUrl: typeof entry.baseUrl === "string" && entry.baseUrl.trim() ? entry.baseUrl.trim().replace(/\/$/u, "") : DEFAULT_TREESEED_API_BASE_URL,
148
- official: entry.official === true
149
- })) : [createDefaultRemoteHost()];
150
- return {
151
- activeHostId: typeof record.activeHostId === "string" && record.activeHostId.trim() ? record.activeHostId.trim() : hosts[0]?.id ?? "official",
152
- executionMode: record.executionMode === "prefer-remote" || record.executionMode === "remote-only" ? record.executionMode : "prefer-local",
153
- hosts
154
- };
155
- }
156
- function createDefaultServiceSettings() {
157
- return {
158
- railway: {
159
- projectId: "",
160
- projectName: "",
161
- apiServiceId: "",
162
- apiServiceName: ""
163
- }
164
- };
165
- }
166
- function normalizeServiceSettings(value) {
167
- const record = value && typeof value === "object" ? value : {};
168
- const railway = record.railway && typeof record.railway === "object" ? record.railway : {};
169
- return {
170
- railway: {
171
- projectId: typeof railway.projectId === "string" ? railway.projectId : "",
172
- projectName: typeof railway.projectName === "string" ? railway.projectName : "",
173
- apiServiceId: typeof railway.apiServiceId === "string" ? railway.apiServiceId : "",
174
- apiServiceName: typeof railway.apiServiceName === "string" ? railway.apiServiceName : ""
175
- }
176
- };
177
- }
178
- function ensureParent(filePath) {
179
- mkdirSync(dirname(filePath), { recursive: true });
180
- }
181
- function listDeprecatedTreeseedLocalEnvFiles(tenantRoot) {
182
- return DEPRECATED_LOCAL_ENV_FILES.map((fileName) => resolve(tenantRoot, fileName)).filter((filePath) => existsSync(filePath));
183
- }
184
- function warnDeprecatedTreeseedLocalEnvFiles(tenantRoot, write = (line) => console.warn(line)) {
185
- const existing = listDeprecatedTreeseedLocalEnvFiles(tenantRoot);
186
- if (existing.length === 0 || warnedDeprecatedLocalEnvRoots.has(tenantRoot)) {
187
- return existing;
188
- }
189
- warnedDeprecatedLocalEnvRoots.add(tenantRoot);
190
- write(
191
- `Treeseed ignores deprecated local env files: ${existing.map((filePath) => filePath.replace(`${tenantRoot}/`, "")).join(", ")}. Delete them and rely on .treeseed/config/machine.yaml plus Treeseed-launched commands.`
192
- );
193
- return existing;
194
- }
195
- function maskValue(value) {
196
- if (!value) {
197
- return "(unset)";
198
- }
199
- if (value.length <= 8) {
200
- return "********";
201
- }
202
- return `${value.slice(0, 3)}...${value.slice(-3)}`;
203
- }
204
- function writeDeploySummary(write, summary) {
205
- write("Treeseed deployment summary");
206
- write(` Target: ${summary.target}`);
207
- write(` Worker: ${summary.workerName}`);
208
- write(` Site URL: ${summary.siteUrl}`);
209
- write(` Account ID: ${summary.accountId}`);
210
- write(` D1: ${summary.siteDataDb.databaseName} (${summary.siteDataDb.databaseId})`);
211
- write(` KV FORM_GUARD_KV: ${summary.formGuardKv.id}`);
212
- }
213
- function syncManagedServiceSettingsFromDeployConfig(tenantRoot) {
214
- const config = loadTreeseedMachineConfig(tenantRoot);
215
- const deployConfig = loadTenantDeployConfig(tenantRoot);
216
- const railway = config.settings.services.railway;
217
- railway.projectId = deployConfig.services?.api?.railway?.projectId ?? railway.projectId;
218
- railway.projectName = deployConfig.services?.api?.railway?.projectName ?? railway.projectName;
219
- railway.apiServiceId = deployConfig.services?.api?.railway?.serviceId ?? railway.apiServiceId;
220
- railway.apiServiceName = deployConfig.services?.api?.railway?.serviceName ?? railway.apiServiceName;
221
- const remote = normalizeRemoteSettings(config.settings.remote);
222
- const defaultHostBaseUrl = process.env[TREESEED_API_BASE_URL_ENV] ?? deployConfig.services?.api?.environments?.prod?.baseUrl ?? deployConfig.services?.api?.publicBaseUrl ?? remote.hosts[0]?.baseUrl ?? DEFAULT_TREESEED_API_BASE_URL;
223
- const officialHost = remote.hosts.find((entry) => entry.id === "official");
224
- if (officialHost) {
225
- officialHost.baseUrl = defaultHostBaseUrl.replace(/\/$/u, "");
226
- } else {
227
- remote.hosts.unshift({
228
- id: "official",
229
- label: "TreeSeed Official API",
230
- baseUrl: defaultHostBaseUrl.replace(/\/$/u, ""),
231
- official: true
232
- });
233
- }
234
- config.settings.remote = remote;
235
- writeTreeseedMachineConfig(tenantRoot, config);
236
- return config;
237
- }
238
- function loadTenantDeployConfig(tenantRoot) {
239
- try {
240
- return loadCliDeployConfig(tenantRoot);
241
- } catch (error) {
242
- const packageJsonPath = resolve(tenantRoot, "package.json");
243
- if (!existsSync(packageJsonPath)) {
244
- throw error;
245
- }
246
- try {
247
- const packageJson = JSON.parse(readFileSync(packageJsonPath, "utf8"));
248
- if (packageJson?.name !== "@treeseed/agent") {
249
- throw error;
250
- }
251
- const deployConfig = {
252
- name: "TreeSeed Agent Capacity Provider",
253
- slug: "treeseed-agent-capacity-provider",
254
- siteUrl: "http://127.0.0.1:3100",
255
- contactEmail: "hello@treeseed.ai",
256
- hosting: { kind: "self_hosted_project", registration: "none" },
257
- hub: { mode: "treeseed_hosted" },
258
- runtime: { mode: "byo_attached", registration: "none" },
259
- surfaces: {
260
- web: { enabled: false },
261
- api: { enabled: true, provider: "local", rootDir: ".", localBaseUrl: "http://127.0.0.1:3100" }
262
- },
263
- services: {
264
- api: { enabled: true, provider: "local", rootDir: "." }
265
- },
266
- processing: { mode: "local" },
267
- providers: {
268
- agents: {
269
- execution: "codex",
270
- mutation: "local_branch",
271
- repository: "git",
272
- verification: "local",
273
- notification: "sdk_message",
274
- research: "project_graph"
275
- }
276
- },
277
- plugins: []
278
- };
279
- Object.defineProperty(deployConfig, "__tenantRoot", {
280
- value: tenantRoot,
281
- enumerable: false
282
- });
283
- return deployConfig;
284
- } catch (fallbackError) {
285
- if (fallbackError === error) throw error;
286
- throw fallbackError;
287
- }
288
- }
289
- }
290
- function loadOptionalTenantManifest(tenantRoot) {
291
- try {
292
- return withProcessCwd(tenantRoot, () => loadTreeseedManifest());
293
- } catch {
294
- return void 0;
295
- }
296
- }
297
- function findNearestTreeseedMachineConfig(startRoot = process.cwd()) {
298
- let current = resolve(startRoot);
299
- while (true) {
300
- const configPath = resolve(current, MACHINE_CONFIG_RELATIVE_PATH);
301
- if (existsSync(configPath)) {
302
- return configPath;
303
- }
304
- const parent = resolve(current, "..");
305
- if (parent === current) {
306
- break;
307
- }
308
- current = parent;
309
- }
310
- return null;
311
- }
312
- function getTreeseedMachineConfigPaths(tenantRoot) {
313
- const configRoot = resolveManagedWorktreeMachineConfigRoot(tenantRoot);
314
- const defaultHomeRoot = process.env.VITEST === "true" ? configRoot : process.env.HOME && process.env.HOME.trim().length > 0 ? process.env.HOME : homedir();
315
- const homeRoot = machineKeyHomeRootsByConfigRoot.get(configRoot) ?? defaultHomeRoot;
316
- machineKeyHomeRootsByConfigRoot.set(configRoot, homeRoot);
317
- return {
318
- configPath: resolve(configRoot, MACHINE_CONFIG_RELATIVE_PATH),
319
- authPath: resolve(configRoot, REMOTE_AUTH_RELATIVE_PATH),
320
- keyPath: resolve(homeRoot, MACHINE_KEY_HOME_RELATIVE_PATH),
321
- legacyKeyPath: resolve(configRoot, LEGACY_MACHINE_KEY_RELATIVE_PATH)
322
- };
323
- }
324
- function resolveManagedWorktreeMachineConfigRoot(tenantRoot) {
325
- if (existsSync(resolve(tenantRoot, MACHINE_CONFIG_RELATIVE_PATH))) {
326
- return tenantRoot;
327
- }
328
- const metadataPath = resolve(tenantRoot, WORKTREE_METADATA_RELATIVE_PATH);
329
- if (!existsSync(metadataPath)) return tenantRoot;
330
- try {
331
- const metadata = JSON.parse(readFileSync(metadataPath, "utf8")) ?? {};
332
- const primaryRoot = metadata.kind === "treeseed.workflow.worktree" && typeof metadata.primaryRoot === "string" ? metadata.primaryRoot : null;
333
- return primaryRoot && existsSync(resolve(primaryRoot, MACHINE_CONFIG_RELATIVE_PATH)) ? primaryRoot : tenantRoot;
334
- } catch {
335
- return tenantRoot;
336
- }
337
- }
338
- function keyAgentScriptPath() {
339
- const distScriptPath = resolve(packageDistScriptRoot, "key-agent.js");
340
- return existsSync(distScriptPath) ? distScriptPath : packageScriptPath("key-agent.ts");
341
- }
342
- function keyAgentNodeArgs() {
343
- const scriptPath = keyAgentScriptPath();
344
- return scriptPath.endsWith(".ts") ? ["--import", "tsx", scriptPath] : [scriptPath];
345
- }
346
- function keyAgentScriptCwd() {
347
- return dirname(dirname(keyAgentScriptPath()));
348
- }
349
- function sleepMs(milliseconds) {
350
- Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, milliseconds);
351
- }
352
- function shellQuote(value) {
353
- return `'${value.replace(/'/gu, `'\\''`)}'`;
354
- }
355
- function keyAgentAutoPromptEnabled() {
356
- const value = String(process.env[TREESEED_KEY_AGENT_AUTOPROMPT_ENV] ?? "").trim().toLowerCase();
357
- if (value === "0" || value === "false" || value === "off") {
358
- return false;
359
- }
360
- return process.stdin.isTTY && process.stdout.isTTY;
361
- }
362
- function useInlineKeyAgentTransport() {
363
- return process.env.VITEST === "true" || process.env.TREESEED_KEY_AGENT_TRANSPORT === "inline";
364
- }
365
- function withTreeseedKeyAgentAutopromptDisabled(action) {
366
- const previous = process.env[TREESEED_KEY_AGENT_AUTOPROMPT_ENV];
367
- process.env[TREESEED_KEY_AGENT_AUTOPROMPT_ENV] = "0";
368
- try {
369
- return action();
370
- } finally {
371
- if (previous === void 0) {
372
- delete process.env[TREESEED_KEY_AGENT_AUTOPROMPT_ENV];
373
- } else {
374
- process.env[TREESEED_KEY_AGENT_AUTOPROMPT_ENV] = previous;
375
- }
376
- }
377
- }
378
- function startTreeseedKeyAgentDaemon(tenantRoot) {
379
- const { keyPath } = getTreeseedMachineConfigPaths(tenantRoot);
380
- const { socketPath } = getTreeseedKeyAgentPaths();
381
- const scriptArgs = keyAgentNodeArgs();
382
- const command = [
383
- shellQuote(process.execPath),
384
- ...scriptArgs.map((arg) => shellQuote(arg)),
385
- "serve",
386
- "--key-path",
387
- shellQuote(keyPath),
388
- "--socket-path",
389
- shellQuote(socketPath),
390
- "--idle-timeout-ms",
391
- shellQuote(String(TREESEED_KEY_AGENT_IDLE_TIMEOUT_MS)),
392
- ">/dev/null",
393
- "2>/dev/null",
394
- "&"
395
- ].join(" ");
396
- const child = spawn("bash", ["-lc", command], {
397
- cwd: keyAgentScriptCwd(),
398
- stdio: "ignore"
399
- });
400
- child.unref();
401
- }
402
- function runTreeseedKeyAgentCommand(args, options = {}) {
403
- const result = spawnSync(process.execPath, [
404
- ...keyAgentNodeArgs(),
405
- ...args
406
- ], {
407
- cwd: keyAgentScriptCwd(),
408
- encoding: "utf8",
409
- env: {
410
- ...process.env,
411
- ...options.env ?? {}
412
- },
413
- stdio: options.input !== void 0 ? ["pipe", "pipe", "pipe"] : ["ignore", "pipe", "pipe"],
414
- input: options.input,
415
- timeout: KEY_AGENT_COMMAND_TIMEOUT_MS,
416
- killSignal: "SIGTERM"
417
- });
418
- if (result.error) {
419
- const timedOut = result.error.code === "ETIMEDOUT";
420
- return {
421
- ok: false,
422
- code: "daemon_unavailable",
423
- message: timedOut ? `Treeseed key-agent command timed out after ${KEY_AGENT_COMMAND_TIMEOUT_MS}ms.` : result.error.message || "Treeseed key-agent command failed."
424
- };
425
- }
426
- if (result.status !== 0 && (!result.stdout || result.stdout.trim().length === 0)) {
427
- return {
428
- ok: false,
429
- code: "daemon_unavailable",
430
- message: result.stderr?.trim() || "Treeseed key-agent command failed."
431
- };
432
- }
433
- try {
434
- return JSON.parse(result.stdout.trim() || "{}");
435
- } catch {
436
- throw new TreeseedKeyAgentError(
437
- "daemon_unavailable",
438
- result.stderr?.trim() || "Treeseed key-agent command returned an invalid response."
439
- );
440
- }
441
- }
442
- function requestTreeseedKeyAgent(tenantRoot, payload, { ensureRunning = false, env } = {}) {
443
- const invoke = () => runTreeseedKeyAgentCommand([
444
- "request",
445
- JSON.stringify(payload)
446
- ], { env });
447
- let response = invoke();
448
- if (response.code !== "daemon_unavailable" || !ensureRunning) {
449
- return response;
450
- }
451
- startTreeseedKeyAgentDaemon(tenantRoot);
452
- for (let attempt = 0; attempt < 20; attempt += 1) {
453
- response = invoke();
454
- if (response.code !== "daemon_unavailable") {
455
- return response;
456
- }
457
- sleepMs(25);
458
- }
459
- return response;
460
- }
461
- function inspectTreeseedKeyAgentStatus(tenantRoot) {
462
- const { keyPath } = getTreeseedMachineConfigPaths(tenantRoot);
463
- const { socketPath } = getTreeseedKeyAgentPaths();
464
- const wrapped = readWrappedMachineKeyFile(keyPath);
465
- if (useInlineKeyAgentTransport()) {
466
- const session = inlineTreeseedSecretSessions.get(keyPath) ?? { machineKey: null, lastTouchedAt: 0, idleTimeoutMs: TREESEED_KEY_AGENT_IDLE_TIMEOUT_MS };
467
- const idleRemainingMs = session.machineKey ? Math.max(0, session.idleTimeoutMs - (Date.now() - session.lastTouchedAt)) : 0;
468
- if (idleRemainingMs === 0) {
469
- session.machineKey = null;
470
- }
471
- inlineTreeseedSecretSessions.set(keyPath, session);
472
- return {
473
- running: true,
474
- unlocked: Boolean(session.machineKey) && idleRemainingMs > 0,
475
- wrappedKeyPresent: wrapped.exists && Boolean(wrapped.wrapped),
476
- migrationRequired: wrapped.migrationRequired,
477
- keyPath,
478
- socketPath,
479
- idleTimeoutMs: session.idleTimeoutMs,
480
- idleRemainingMs
481
- };
482
- }
483
- const response = requestTreeseedKeyAgent(tenantRoot, {
484
- command: "status",
485
- keyPath,
486
- socketPath,
487
- idleTimeoutMs: TREESEED_KEY_AGENT_IDLE_TIMEOUT_MS
488
- });
489
- if (response.ok && response.status) {
490
- return response.status;
491
- }
492
- return {
493
- running: false,
494
- unlocked: false,
495
- wrappedKeyPresent: wrapped.exists && Boolean(wrapped.wrapped),
496
- migrationRequired: wrapped.migrationRequired,
497
- keyPath,
498
- socketPath,
499
- idleTimeoutMs: TREESEED_KEY_AGENT_IDLE_TIMEOUT_MS,
500
- idleRemainingMs: 0
501
- };
502
- }
503
- function unlockTreeseedSecretSessionInteractive(tenantRoot) {
504
- if (useInlineKeyAgentTransport()) {
505
- throw new TreeseedKeyAgentError("interactive_required", "Inline test transport does not support interactive unlock.");
506
- }
507
- const { keyPath } = getTreeseedMachineConfigPaths(tenantRoot);
508
- const { socketPath } = getTreeseedKeyAgentPaths();
509
- startTreeseedKeyAgentDaemon(tenantRoot);
510
- let response = { ok: false, code: "daemon_unavailable", message: "Treeseed key agent is unavailable." };
511
- for (let attempt = 0; attempt < 20; attempt += 1) {
512
- response = runTreeseedKeyAgentCommand([
513
- "unlock-interactive",
514
- "--key-path",
515
- keyPath,
516
- "--socket-path",
517
- socketPath,
518
- "--idle-timeout-ms",
519
- String(TREESEED_KEY_AGENT_IDLE_TIMEOUT_MS),
520
- "--allow-migration",
521
- "--create-if-missing"
522
- ]);
523
- if (response.code !== "daemon_unavailable") {
524
- break;
525
- }
526
- sleepMs(25);
527
- }
528
- assertTreeseedKeyAgentResponse(response, "Unable to unlock the Treeseed secret session.");
529
- return response.status;
530
- }
531
- function unlockTreeseedSecretSessionFromEnv(tenantRoot, options = {}) {
532
- const { keyPath } = getTreeseedMachineConfigPaths(tenantRoot);
533
- const { socketPath } = getTreeseedKeyAgentPaths();
534
- if (useInlineKeyAgentTransport()) {
535
- const passphrase = String(process.env[TREESEED_MACHINE_KEY_PASSPHRASE_ENV] ?? "").trim();
536
- if (!passphrase) {
537
- throw new TreeseedKeyAgentError(
538
- "interactive_required",
539
- `Set ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV} before unlocking the Treeseed secret session.`
540
- );
541
- }
542
- const wrapped = readWrappedMachineKeyFile(keyPath);
543
- const machineKey = wrapped.wrapped ? (() => {
544
- try {
545
- return unwrapMachineKey(wrapped.wrapped, passphrase);
546
- } catch (error) {
547
- if (process.env.VITEST === "true" && options.createIfMissing !== false) {
548
- const createdKey = randomBytes(32);
549
- replaceWrappedMachineKey(keyPath, createdKey, passphrase);
550
- return createdKey;
551
- }
552
- throw error;
553
- }
554
- })() : wrapped.plaintextLegacy ? (() => {
555
- if (options.allowMigration === false) {
556
- throw new TreeseedKeyAgentError("wrapped_key_migration_required", "Wrap the legacy machine key before unlocking it.");
557
- }
558
- replaceWrappedMachineKey(keyPath, wrapped.plaintextLegacy, passphrase);
559
- return wrapped.plaintextLegacy;
560
- })() : (() => {
561
- if (options.createIfMissing === false) {
562
- throw new TreeseedKeyAgentError("wrapped_key_missing", "No wrapped Treeseed machine key exists yet.");
563
- }
564
- const createdKey = randomBytes(32);
565
- replaceWrappedMachineKey(keyPath, createdKey, passphrase);
566
- return createdKey;
567
- })();
568
- inlineTreeseedSecretSessions.set(keyPath, {
569
- machineKey,
570
- lastTouchedAt: Date.now(),
571
- idleTimeoutMs: TREESEED_KEY_AGENT_IDLE_TIMEOUT_MS
572
- });
573
- return inspectTreeseedKeyAgentStatus(tenantRoot);
574
- }
575
- startTreeseedKeyAgentDaemon(tenantRoot);
576
- let response = { ok: false, code: "daemon_unavailable", message: "Treeseed key agent is unavailable." };
577
- for (let attempt = 0; attempt < 20; attempt += 1) {
578
- try {
579
- const parsed = runTreeseedKeyAgentCommand([
580
- "unlock-from-env",
581
- "--key-path",
582
- keyPath,
583
- "--socket-path",
584
- socketPath,
585
- "--idle-timeout-ms",
586
- String(TREESEED_KEY_AGENT_IDLE_TIMEOUT_MS),
587
- ...options.allowMigration === false ? [] : ["--allow-migration"],
588
- ...options.createIfMissing === false ? [] : ["--create-if-missing"]
589
- ]);
590
- assertTreeseedKeyAgentResponse(parsed, `Unable to unlock the Treeseed secret session from ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV}.`);
591
- return parsed.status;
592
- } catch (error) {
593
- if (attempt === 19) {
594
- throw error;
595
- }
596
- sleepMs(25);
597
- }
598
- }
599
- assertTreeseedKeyAgentResponse(
600
- response,
601
- `Unable to unlock the Treeseed secret session from ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV}.`
602
- );
603
- return response.status;
604
- }
605
- function unlockTreeseedSecretSessionWithPassphrase(tenantRoot, passphrase, options = {}) {
606
- const normalizedPassphrase = String(passphrase ?? "").trim();
607
- if (!normalizedPassphrase) {
608
- throw new TreeseedKeyAgentError(
609
- "interactive_required",
610
- `Set ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV} before unlocking the Treeseed secret session.`
611
- );
612
- }
613
- const previousPassphrase = process.env[TREESEED_MACHINE_KEY_PASSPHRASE_ENV];
614
- process.env[TREESEED_MACHINE_KEY_PASSPHRASE_ENV] = normalizedPassphrase;
615
- try {
616
- if (useInlineKeyAgentTransport()) {
617
- return unlockTreeseedSecretSessionFromEnv(tenantRoot, options);
618
- }
619
- const { keyPath } = getTreeseedMachineConfigPaths(tenantRoot);
620
- const { socketPath } = getTreeseedKeyAgentPaths();
621
- startTreeseedKeyAgentDaemon(tenantRoot);
622
- let response = { ok: false, code: "daemon_unavailable", message: "Treeseed key agent is unavailable." };
623
- for (let attempt = 0; attempt < 20; attempt += 1) {
624
- response = runTreeseedKeyAgentCommand([
625
- "unlock-from-env",
626
- "--key-path",
627
- keyPath,
628
- "--socket-path",
629
- socketPath,
630
- "--idle-timeout-ms",
631
- String(TREESEED_KEY_AGENT_IDLE_TIMEOUT_MS),
632
- ...options.allowMigration === false ? [] : ["--allow-migration"],
633
- ...options.createIfMissing === false ? [] : ["--create-if-missing"]
634
- ], {
635
- env: {
636
- [TREESEED_MACHINE_KEY_PASSPHRASE_ENV]: normalizedPassphrase
637
- }
638
- });
639
- if (response.code !== "daemon_unavailable") {
640
- break;
641
- }
642
- sleepMs(25);
643
- }
644
- assertTreeseedKeyAgentResponse(
645
- response,
646
- `Unable to unlock the Treeseed secret session from ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV}.`
647
- );
648
- return response.status;
649
- } finally {
650
- if (previousPassphrase === void 0) {
651
- delete process.env[TREESEED_MACHINE_KEY_PASSPHRASE_ENV];
652
- } else {
653
- process.env[TREESEED_MACHINE_KEY_PASSPHRASE_ENV] = previousPassphrase;
654
- }
655
- }
656
- }
657
- async function ensureTreeseedSecretSessionForConfig({
658
- tenantRoot,
659
- interactive = false,
660
- env = process.env,
661
- createIfMissing = true,
662
- allowMigration = true,
663
- promptForPassphrase,
664
- promptForNewPassphrase
665
- }) {
666
- const status = inspectTreeseedKeyAgentStatus(tenantRoot);
667
- if (status.unlocked) {
668
- return {
669
- status,
670
- createdWrappedKey: false,
671
- migratedWrappedKey: false,
672
- unlockSource: "existing-session"
673
- };
674
- }
675
- const wrappedBefore = readWrappedMachineKeyFile(status.keyPath);
676
- const envPassphrase = String(env[TREESEED_MACHINE_KEY_PASSPHRASE_ENV] ?? "").trim();
677
- let unlockSource = "existing-session";
678
- let nextStatus;
679
- if (envPassphrase) {
680
- nextStatus = unlockTreeseedSecretSessionWithPassphrase(tenantRoot, envPassphrase, {
681
- createIfMissing,
682
- allowMigration
683
- });
684
- unlockSource = "env";
685
- } else if (interactive && status.migrationRequired) {
686
- if (!promptForNewPassphrase) {
687
- throw new TreeseedKeyAgentError("interactive_required", "A passphrase prompt is required to migrate the Treeseed machine key.");
688
- }
689
- nextStatus = unlockTreeseedSecretSessionWithPassphrase(tenantRoot, await promptForNewPassphrase(), {
690
- createIfMissing: false,
691
- allowMigration: true
692
- });
693
- unlockSource = "interactive";
694
- } else if (interactive && !status.wrappedKeyPresent) {
695
- if (!promptForNewPassphrase) {
696
- throw new TreeseedKeyAgentError("interactive_required", "A passphrase prompt is required to create the Treeseed machine key.");
697
- }
698
- nextStatus = unlockTreeseedSecretSessionWithPassphrase(tenantRoot, await promptForNewPassphrase(), {
699
- createIfMissing: true,
700
- allowMigration: false
701
- });
702
- unlockSource = "interactive";
703
- } else if (interactive) {
704
- if (!promptForPassphrase) {
705
- throw new TreeseedKeyAgentError("interactive_required", "A passphrase prompt is required to unlock the Treeseed machine key.");
706
- }
707
- nextStatus = unlockTreeseedSecretSessionWithPassphrase(tenantRoot, await promptForPassphrase(), {
708
- createIfMissing: false,
709
- allowMigration: false
710
- });
711
- unlockSource = "interactive";
712
- } else if (status.migrationRequired) {
713
- throw new TreeseedKeyAgentError(
714
- "wrapped_key_migration_required",
715
- `Set ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV} before running treeseed config non-interactively so Treeseed can wrap the legacy machine key.`,
716
- { keyPath: status.keyPath }
717
- );
718
- } else if (!status.wrappedKeyPresent) {
719
- throw new TreeseedKeyAgentError(
720
- "wrapped_key_missing",
721
- `Set ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV} before running treeseed config non-interactively so Treeseed can create the wrapped machine key.`,
722
- { keyPath: status.keyPath }
723
- );
724
- } else {
725
- throw new TreeseedKeyAgentError(
726
- "locked",
727
- `Set ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV} before running treeseed config non-interactively so Treeseed can unlock the wrapped machine key.`,
728
- { keyPath: status.keyPath }
729
- );
730
- }
731
- const wrappedAfter = readWrappedMachineKeyFile(status.keyPath);
732
- return {
733
- status: nextStatus,
734
- createdWrappedKey: !wrappedBefore.wrapped && Boolean(wrappedAfter.wrapped) && !wrappedBefore.migrationRequired,
735
- migratedWrappedKey: wrappedBefore.migrationRequired && Boolean(wrappedAfter.wrapped),
736
- unlockSource
737
- };
738
- }
739
- function lockTreeseedSecretSession(tenantRoot) {
740
- const { keyPath } = getTreeseedMachineConfigPaths(tenantRoot);
741
- if (useInlineKeyAgentTransport()) {
742
- inlineTreeseedSecretSessions.set(keyPath, {
743
- machineKey: null,
744
- lastTouchedAt: 0,
745
- idleTimeoutMs: TREESEED_KEY_AGENT_IDLE_TIMEOUT_MS
746
- });
747
- return inspectTreeseedKeyAgentStatus(tenantRoot);
748
- }
749
- const status = inspectTreeseedKeyAgentStatus(tenantRoot);
750
- if (!status.running) {
751
- return status;
752
- }
753
- const response = requestTreeseedKeyAgent(tenantRoot, {
754
- command: "lock",
755
- keyPath: status.keyPath,
756
- socketPath: status.socketPath,
757
- idleTimeoutMs: status.idleTimeoutMs
758
- });
759
- assertTreeseedKeyAgentResponse(response, "Unable to lock the Treeseed secret session.");
760
- return response.status;
761
- }
762
- function resolveUnlockedMachineKey(tenantRoot) {
763
- const status = inspectTreeseedKeyAgentStatus(tenantRoot);
764
- if (!status.unlocked) {
765
- const envPassphrase = String(process.env[TREESEED_MACHINE_KEY_PASSPHRASE_ENV] ?? "").trim();
766
- if (envPassphrase) {
767
- unlockTreeseedSecretSessionFromEnv(tenantRoot);
768
- } else if (keyAgentAutoPromptEnabled()) {
769
- unlockTreeseedSecretSessionInteractive(tenantRoot);
770
- } else if (status.migrationRequired) {
771
- throw new TreeseedKeyAgentError(
772
- "wrapped_key_migration_required",
773
- "The Treeseed machine key is still stored in the legacy plaintext format. Run `treeseed secrets:migrate-key` or unlock it from an interactive session first.",
774
- { keyPath: status.keyPath }
775
- );
776
- } else if (!status.wrappedKeyPresent) {
777
- throw new TreeseedKeyAgentError(
778
- "wrapped_key_missing",
779
- `No wrapped Treeseed machine key exists yet. Run \`treeseed config\` or \`treeseed secrets:unlock\` from an interactive shell, or set ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV} for the startup unlock path.`,
780
- { keyPath: status.keyPath }
781
- );
782
- } else {
783
- throw new TreeseedKeyAgentError(
784
- "locked",
785
- `Treeseed secrets are locked. Run \`treeseed secrets:unlock\`, unlock from an interactive session, or set ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV} for the startup unlock path before using secret-backed commands.`,
786
- { keyPath: status.keyPath }
787
- );
788
- }
789
- }
790
- if (useInlineKeyAgentTransport()) {
791
- const session = inlineTreeseedSecretSessions.get(status.keyPath);
792
- if (!session?.machineKey) {
793
- throw new TreeseedKeyAgentError("locked", "Treeseed secrets are locked.");
794
- }
795
- session.lastTouchedAt = Date.now();
796
- return session.machineKey;
797
- }
798
- const response = requestTreeseedKeyAgent(tenantRoot, {
799
- command: "get-machine-key",
800
- keyPath: status.keyPath,
801
- socketPath: status.socketPath,
802
- idleTimeoutMs: status.idleTimeoutMs
803
- });
804
- assertTreeseedKeyAgentResponse(response, "Unable to resolve the Treeseed machine key from the local key agent.");
805
- return Buffer.from(String(response.machineKey ?? ""), "base64");
806
- }
807
- function getTreeseedRemoteAuthPaths(tenantRoot) {
808
- return {
809
- authPath: getTreeseedMachineConfigPaths(tenantRoot).authPath
810
- };
811
- }
812
- function createDefaultTreeseedMachineConfig({ tenantRoot, deployConfig, tenantConfig }) {
813
- return {
814
- version: 1,
815
- project: {
816
- tenantRoot,
817
- tenantId: tenantConfig?.id ?? deployConfig.slug,
818
- slug: deployConfig.slug,
819
- name: deployConfig.name,
820
- siteUrl: deployConfig.siteUrl,
821
- overlayPath: resolve(tenantRoot, TENANT_ENVIRONMENT_OVERLAY_PATH)
822
- },
823
- settings: {
824
- sync: {
825
- github: true,
826
- cloudflare: true
827
- },
828
- templates: {
829
- catalogEndpoint: DEFAULT_TEMPLATE_CATALOG_URL
830
- },
831
- remote: createDefaultRemoteSettings(),
832
- services: createDefaultServiceSettings()
833
- },
834
- shared: {
835
- values: {},
836
- secrets: {}
837
- },
838
- environments: Object.fromEntries(
839
- TREESEED_ENVIRONMENT_SCOPES.map((scope) => [
840
- scope,
841
- {
842
- values: {},
843
- secrets: {}
844
- }
845
- ])
846
- )
847
- };
848
- }
849
- function loadLegacyMachineKey(tenantRoot) {
850
- const { legacyKeyPath } = getTreeseedMachineConfigPaths(tenantRoot);
851
- if (!existsSync(legacyKeyPath)) {
852
- return null;
853
- }
854
- try {
855
- const raw = readFileSync(legacyKeyPath, "utf8").trim();
856
- if (!raw || raw.startsWith("{")) {
857
- return null;
858
- }
859
- const key = Buffer.from(raw, "base64");
860
- return key.length === 32 ? key : null;
861
- } catch {
862
- return null;
863
- }
864
- }
865
- function createDefaultRemoteAuthState() {
866
- return {
867
- version: 1,
868
- sessions: {}
869
- };
870
- }
871
- function encryptValue(value, key) {
872
- const iv = randomBytes(12);
873
- const cipher = createCipheriv("aes-256-gcm", key, iv);
874
- const ciphertext = Buffer.concat([cipher.update(value, "utf8"), cipher.final()]);
875
- const tag = cipher.getAuthTag();
876
- return {
877
- algorithm: "aes-256-gcm",
878
- iv: iv.toString("base64"),
879
- tag: tag.toString("base64"),
880
- ciphertext: ciphertext.toString("base64")
881
- };
882
- }
883
- function decryptValue(payload, key) {
884
- if (!payload || typeof payload !== "object") {
885
- return "";
886
- }
887
- if (!Buffer.isBuffer(key) || key.length !== 32) {
888
- throw new TreeseedKeyAgentError(
889
- "invalid_machine_key",
890
- "The Treeseed machine key is invalid or corrupt."
891
- );
892
- }
893
- const decipher = createDecipheriv(
894
- "aes-256-gcm",
895
- key,
896
- Buffer.from(String(payload.iv ?? ""), "base64")
897
- );
898
- decipher.setAuthTag(Buffer.from(String(payload.tag ?? ""), "base64"));
899
- const decrypted = Buffer.concat([
900
- decipher.update(Buffer.from(String(payload.ciphertext ?? ""), "base64")),
901
- decipher.final()
902
- ]);
903
- return decrypted.toString("utf8");
904
- }
905
- function decryptMachineConfigSecrets(config, key) {
906
- const secrets = {
907
- shared: {}
908
- };
909
- for (const [entryId, payload] of Object.entries(config.shared?.secrets ?? {})) {
910
- secrets.shared[entryId] = decryptValue(payload, key);
911
- }
912
- for (const scope of TREESEED_ENVIRONMENT_SCOPES) {
913
- secrets[scope] = {};
914
- for (const [entryId, payload] of Object.entries(config.environments?.[scope]?.secrets ?? {})) {
915
- secrets[scope][entryId] = decryptValue(payload, key);
916
- }
917
- }
918
- return secrets;
919
- }
920
- function applyMachineConfigSecrets(config, secrets, key) {
921
- for (const [entryId, value] of Object.entries(secrets.shared ?? {})) {
922
- config.shared.secrets[entryId] = encryptValue(value, key);
923
- }
924
- for (const scope of TREESEED_ENVIRONMENT_SCOPES) {
925
- const scoped = config.environments?.[scope];
926
- if (!scoped) {
927
- continue;
928
- }
929
- for (const [entryId, value] of Object.entries(secrets[scope] ?? {})) {
930
- scoped.secrets[entryId] = encryptValue(value, key);
931
- }
932
- }
933
- return config;
934
- }
935
- function decryptRemoteAuthSessions(payload, key) {
936
- return Object.fromEntries(
937
- Object.entries(payload.sessions ?? {}).map(([hostId, entry]) => [
938
- hostId,
939
- {
940
- accessToken: decryptValue(entry.accessToken, key),
941
- refreshToken: decryptValue(entry.refreshToken, key),
942
- expiresAt: typeof entry.expiresAt === "string" ? entry.expiresAt : "",
943
- principal: entry.principal ?? null
944
- }
945
- ])
946
- );
947
- }
948
- function encryptRemoteAuthSessions(sessions, key) {
949
- return Object.fromEntries(
950
- Object.entries(sessions ?? {}).map(([hostId, entry]) => [
951
- hostId,
952
- {
953
- accessToken: entry.accessToken ? encryptValue(entry.accessToken, key) : null,
954
- refreshToken: entry.refreshToken ? encryptValue(entry.refreshToken, key) : null,
955
- expiresAt: entry.expiresAt ?? "",
956
- principal: entry.principal ?? null
957
- }
958
- ])
959
- );
960
- }
961
- function loadRemoteAuthPayload(tenantRoot) {
962
- const { authPath } = getTreeseedRemoteAuthPaths(tenantRoot);
963
- if (!existsSync(authPath)) {
964
- return createDefaultRemoteAuthState();
965
- }
966
- try {
967
- const raw = JSON.parse(readFileSync(authPath, "utf8"));
968
- return raw && typeof raw === "object" ? raw : createDefaultRemoteAuthState();
969
- } catch {
970
- return createDefaultRemoteAuthState();
971
- }
972
- }
973
- function writeRemoteAuthPayload(tenantRoot, payload) {
974
- const { authPath } = getTreeseedRemoteAuthPaths(tenantRoot);
975
- ensureParent(authPath);
976
- writeFileSync(authPath, `${JSON.stringify(payload, null, 2)}
977
- `, "utf8");
978
- }
979
- function removeLegacyMachineKeyIfSafe(tenantRoot) {
980
- const { legacyKeyPath, keyPath } = getTreeseedMachineConfigPaths(tenantRoot);
981
- if (legacyKeyPath !== keyPath && existsSync(legacyKeyPath)) {
982
- rmSync(legacyKeyPath, { force: true });
983
- }
984
- }
985
- function reencryptTreeseedEncryptedState(tenantRoot, oldKey, newKey) {
986
- const machineConfig = loadTreeseedMachineConfig(tenantRoot);
987
- const machineSecrets = decryptMachineConfigSecrets(machineConfig, oldKey);
988
- const { authPath } = getTreeseedRemoteAuthPaths(tenantRoot);
989
- const remoteAuthExists = existsSync(authPath);
990
- const remoteAuthPayload = loadRemoteAuthPayload(tenantRoot);
991
- const remoteSessions = decryptRemoteAuthSessions(remoteAuthPayload, oldKey);
992
- writeTreeseedMachineConfig(tenantRoot, applyMachineConfigSecrets(machineConfig, machineSecrets, newKey));
993
- if (remoteAuthExists || Object.keys(remoteSessions).length > 0) {
994
- writeRemoteAuthPayload(tenantRoot, {
995
- version: 1,
996
- sessions: encryptRemoteAuthSessions(remoteSessions, newKey)
997
- });
998
- }
999
- }
1000
- function loadMachineKey(tenantRoot) {
1001
- return resolveUnlockedMachineKey(tenantRoot);
1002
- }
1003
- function decryptValueWithMachineKey(tenantRoot, payload, key) {
1004
- try {
1005
- return decryptValue(payload, key);
1006
- } catch (error) {
1007
- const legacyKey = loadLegacyMachineKey(tenantRoot);
1008
- if (!legacyKey) {
1009
- throw error;
1010
- }
1011
- const value = decryptValue(payload, legacyKey);
1012
- reencryptTreeseedEncryptedState(tenantRoot, legacyKey, key);
1013
- removeLegacyMachineKeyIfSafe(tenantRoot);
1014
- return value;
1015
- }
1016
- }
1017
- function rotateTreeseedMachineKey(tenantRoot) {
1018
- const { keyPath } = getTreeseedMachineConfigPaths(tenantRoot);
1019
- const oldKey = loadMachineKey(tenantRoot);
1020
- const newKey = randomBytes(32);
1021
- reencryptTreeseedEncryptedState(tenantRoot, oldKey, newKey);
1022
- const status = inspectTreeseedKeyAgentStatus(tenantRoot);
1023
- if (!status.unlocked) {
1024
- throw new TreeseedKeyAgentError("locked", "Treeseed secrets must be unlocked before rotating the machine key.", { keyPath });
1025
- }
1026
- const wrapped = readWrappedMachineKeyFile(keyPath);
1027
- if (!wrapped.wrapped) {
1028
- throw new TreeseedKeyAgentError(
1029
- wrapped.migrationRequired ? "wrapped_key_migration_required" : "wrapped_key_missing",
1030
- wrapped.migrationRequired ? "Wrap the Treeseed machine key before rotating it." : "Create and unlock the Treeseed machine key before rotating it.",
1031
- { keyPath }
1032
- );
1033
- }
1034
- const passphrase = String(process.env[TREESEED_MACHINE_KEY_PASSPHRASE_ENV] ?? "").trim();
1035
- if (!passphrase) {
1036
- throw new TreeseedKeyAgentError(
1037
- "interactive_required",
1038
- `Set ${TREESEED_MACHINE_KEY_PASSPHRASE_ENV} when rotating the machine key non-interactively, or use \`treeseed secrets:rotate-machine-key\` from an interactive shell.`,
1039
- { keyPath }
1040
- );
1041
- }
1042
- replaceWrappedMachineKey(keyPath, newKey, passphrase);
1043
- unlockTreeseedSecretSessionFromEnv(tenantRoot, { allowMigration: false, createIfMissing: false });
1044
- removeLegacyMachineKeyIfSafe(tenantRoot);
1045
- return {
1046
- keyPath,
1047
- rotated: true
1048
- };
1049
- }
1050
- function rotateTreeseedMachineKeyPassphrase(tenantRoot, passphrase) {
1051
- const { keyPath } = getTreeseedMachineConfigPaths(tenantRoot);
1052
- const machineKey = loadMachineKey(tenantRoot);
1053
- rotateWrappedMachineKeyPassphrase(keyPath, machineKey, passphrase);
1054
- return {
1055
- keyPath,
1056
- rotated: true
1057
- };
1058
- }
1059
- function migrateTreeseedMachineKeyToWrapped(tenantRoot, passphrase) {
1060
- const { keyPath } = getTreeseedMachineConfigPaths(tenantRoot);
1061
- const wrapped = readWrappedMachineKeyFile(keyPath);
1062
- if (wrapped.wrapped) {
1063
- return {
1064
- keyPath,
1065
- migrated: false,
1066
- alreadyWrapped: true
1067
- };
1068
- }
1069
- if (wrapped.plaintextLegacy) {
1070
- replaceWrappedMachineKey(keyPath, wrapped.plaintextLegacy, passphrase);
1071
- } else {
1072
- const legacyKey = loadLegacyMachineKey(tenantRoot);
1073
- if (!legacyKey) {
1074
- throw new TreeseedKeyAgentError(
1075
- "wrapped_key_missing",
1076
- "No existing machine key was found to migrate.",
1077
- { keyPath }
1078
- );
1079
- }
1080
- replaceWrappedMachineKey(keyPath, legacyKey, passphrase);
1081
- removeLegacyMachineKeyIfSafe(tenantRoot);
1082
- }
1083
- return {
1084
- keyPath,
1085
- migrated: true,
1086
- alreadyWrapped: false
1087
- };
1088
- }
1089
- function loadTreeseedRemoteAuthState(tenantRoot) {
1090
- const key = loadMachineKey(tenantRoot);
1091
- const payload = loadRemoteAuthPayload(tenantRoot);
1092
- let sessions;
1093
- try {
1094
- sessions = decryptRemoteAuthSessions(payload, key);
1095
- } catch (error) {
1096
- const legacyKey = loadLegacyMachineKey(tenantRoot);
1097
- if (!legacyKey) {
1098
- throw error;
1099
- }
1100
- sessions = decryptRemoteAuthSessions(payload, legacyKey);
1101
- reencryptTreeseedEncryptedState(tenantRoot, legacyKey, key);
1102
- removeLegacyMachineKeyIfSafe(tenantRoot);
1103
- }
1104
- return {
1105
- version: 1,
1106
- sessions
1107
- };
1108
- }
1109
- function writeTreeseedRemoteAuthState(tenantRoot, state) {
1110
- const key = loadMachineKey(tenantRoot);
1111
- writeRemoteAuthPayload(tenantRoot, {
1112
- version: 1,
1113
- sessions: encryptRemoteAuthSessions(state.sessions, key)
1114
- });
1115
- }
1116
- function setTreeseedRemoteSession(tenantRoot, { hostId, accessToken, refreshToken, expiresAt, principal }) {
1117
- const state = loadTreeseedRemoteAuthState(tenantRoot);
1118
- state.sessions[hostId] = {
1119
- accessToken,
1120
- refreshToken,
1121
- expiresAt,
1122
- principal: principal ?? null
1123
- };
1124
- writeTreeseedRemoteAuthState(tenantRoot, state);
1125
- return state.sessions[hostId];
1126
- }
1127
- function clearTreeseedRemoteSession(tenantRoot, hostId) {
1128
- const state = loadTreeseedRemoteAuthState(tenantRoot);
1129
- if (hostId) {
1130
- delete state.sessions[hostId];
1131
- } else {
1132
- state.sessions = {};
1133
- }
1134
- writeTreeseedRemoteAuthState(tenantRoot, state);
1135
- return state;
1136
- }
1137
- function resolveTreeseedRemoteSession(tenantRoot, hostId) {
1138
- const { authPath } = getTreeseedRemoteAuthPaths(tenantRoot);
1139
- if (!existsSync(authPath)) {
1140
- return null;
1141
- }
1142
- const sessionState = loadTreeseedRemoteAuthState(tenantRoot);
1143
- const { configPath } = getTreeseedMachineConfigPaths(tenantRoot);
1144
- const selectedHostId = hostId ?? (existsSync(configPath) ? loadTreeseedMachineConfig(tenantRoot).settings?.remote?.activeHostId : "official") ?? "official";
1145
- return sessionState.sessions?.[selectedHostId] ?? null;
1146
- }
1147
- function loadTreeseedMachineConfig(tenantRoot) {
1148
- const deployConfig = loadTenantDeployConfig(tenantRoot);
1149
- const tenantConfig = loadOptionalTenantManifest(tenantRoot);
1150
- const defaults = createDefaultTreeseedMachineConfig({ tenantRoot, deployConfig, tenantConfig });
1151
- const { configPath } = getTreeseedMachineConfigPaths(tenantRoot);
1152
- if (!existsSync(configPath)) {
1153
- return defaults;
1154
- }
1155
- const raw = parseYaml(readFileSync(configPath, "utf8")) ?? {};
1156
- const parsed = raw && typeof raw === "object" ? raw : {};
1157
- return {
1158
- ...defaults,
1159
- ...parsed,
1160
- project: {
1161
- ...defaults.project,
1162
- ...parsed.project ?? {}
1163
- },
1164
- settings: {
1165
- ...defaults.settings,
1166
- ...parsed.settings ?? {},
1167
- sync: {
1168
- ...defaults.settings.sync,
1169
- ...parsed.settings?.sync ?? {}
1170
- },
1171
- templates: {
1172
- ...defaults.settings.templates ?? {},
1173
- ...parsed.settings?.templates ?? {}
1174
- },
1175
- remote: normalizeRemoteSettings({
1176
- ...defaults.settings.remote ?? {},
1177
- ...parsed.settings?.remote ?? {}
1178
- }),
1179
- services: normalizeServiceSettings({
1180
- ...defaults.settings.services ?? {},
1181
- ...parsed.settings?.services ?? {}
1182
- })
1183
- },
1184
- shared: {
1185
- values: {
1186
- ...defaults.shared?.values ?? {},
1187
- ...parsed.shared?.values ?? {}
1188
- },
1189
- secrets: {
1190
- ...defaults.shared?.secrets ?? {},
1191
- ...parsed.shared?.secrets ?? {}
1192
- }
1193
- },
1194
- environments: Object.fromEntries(
1195
- TREESEED_ENVIRONMENT_SCOPES.map((scope) => [
1196
- scope,
1197
- {
1198
- values: {
1199
- ...defaults.environments?.[scope]?.values ?? {},
1200
- ...parsed.environments?.[scope]?.values ?? {}
1201
- },
1202
- secrets: {
1203
- ...defaults.environments?.[scope]?.secrets ?? {},
1204
- ...parsed.environments?.[scope]?.secrets ?? {}
1205
- }
1206
- }
1207
- ])
1208
- )
1209
- };
1210
- }
1211
- function writeTreeseedMachineConfig(tenantRoot, config) {
1212
- const { configPath } = getTreeseedMachineConfigPaths(tenantRoot);
1213
- ensureParent(configPath);
1214
- writeFileSync(configPath, stringifyYaml(config), "utf8");
1215
- }
1216
- function updateTreeseedDeployConfigFeatureToggles(tenantRoot, toggles) {
1217
- const configPath = resolve(tenantRoot, "treeseed.site.yaml");
1218
- const current = parseYaml(readFileSync(configPath, "utf8")) ?? {};
1219
- const next = { ...current };
1220
- if ("smtp" in toggles) {
1221
- next.smtp = {
1222
- ...current.smtp ?? {},
1223
- enabled: toggles.smtp === true
1224
- };
1225
- }
1226
- if ("turnstile" in toggles) {
1227
- next.turnstile = {
1228
- ...current.turnstile ?? {},
1229
- enabled: toggles.turnstile === true
1230
- };
1231
- }
1232
- writeFileSync(configPath, stringifyYaml(next), "utf8");
1233
- }
1234
- function resolveTreeseedRemoteConfig(startRoot = process.cwd(), env = process.env) {
1235
- const machineConfigPath = findNearestTreeseedMachineConfig(startRoot);
1236
- const tenantRoot = machineConfigPath ? resolve(dirname(dirname(machineConfigPath)), "..") : startRoot;
1237
- const deployConfig = existsSync(resolve(tenantRoot, "treeseed.site.yaml")) ? loadTenantDeployConfig(tenantRoot) : null;
1238
- const machineConfig = machineConfigPath ? loadTreeseedMachineConfig(tenantRoot) : createDefaultTreeseedMachineConfig({
1239
- tenantRoot: startRoot,
1240
- deployConfig: {
1241
- name: "TreeSeed",
1242
- slug: "treeseed",
1243
- siteUrl: DEFAULT_TREESEED_API_BASE_URL,
1244
- contactEmail: "hello@treeseed.ai"
1245
- },
1246
- tenantConfig: void 0
1247
- });
1248
- const settings = normalizeRemoteSettings(machineConfig.settings?.remote);
1249
- const deployBaseUrl = env[TREESEED_API_BASE_URL_ENV] ?? deployConfig?.services?.api?.environments?.prod?.baseUrl ?? deployConfig?.services?.api?.publicBaseUrl ?? null;
1250
- if (deployBaseUrl) {
1251
- const officialHost = settings.hosts.find((entry) => entry.id === "official");
1252
- if (officialHost) {
1253
- officialHost.baseUrl = deployBaseUrl.replace(/\/$/u, "");
1254
- }
1255
- }
1256
- const envBaseUrl = env[TREESEED_API_BASE_URL_ENV];
1257
- const hosts = envBaseUrl && envBaseUrl.trim().length > 0 ? [
1258
- {
1259
- id: "env",
1260
- label: "Environment override",
1261
- baseUrl: envBaseUrl.trim().replace(/\/$/u, "")
1262
- },
1263
- ...settings.hosts.filter((entry) => entry.id !== "env")
1264
- ] : settings.hosts;
1265
- const activeHostId = envBaseUrl && envBaseUrl.trim().length > 0 ? "env" : settings.activeHostId;
1266
- const auth = resolveTreeseedRemoteSession(tenantRoot, activeHostId);
1267
- return {
1268
- hosts,
1269
- activeHostId,
1270
- executionMode: settings.executionMode,
1271
- auth: auth ? {
1272
- accessToken: auth.accessToken,
1273
- refreshToken: auth.refreshToken,
1274
- expiresAt: auth.expiresAt,
1275
- principal: auth.principal ?? null
1276
- } : void 0
1277
- };
1278
- }
1279
- function resolveTreeseedTemplateCatalogEndpoint(startRoot = process.cwd(), env = process.env) {
1280
- const envValue = env[TREESEED_TEMPLATE_CATALOG_URL_ENV];
1281
- if (typeof envValue === "string" && envValue.trim().length > 0) {
1282
- return envValue.trim();
1283
- }
1284
- const machineConfigPath = findNearestTreeseedMachineConfig(startRoot);
1285
- if (!machineConfigPath) {
1286
- return DEFAULT_TEMPLATE_CATALOG_URL;
1287
- }
1288
- const raw = parseYaml(readFileSync(machineConfigPath, "utf8")) ?? {};
1289
- const parsed = raw && typeof raw === "object" ? raw : {};
1290
- const configuredEndpoint = parsed.settings?.templates?.catalogEndpoint;
1291
- return typeof configuredEndpoint === "string" && configuredEndpoint.trim().length > 0 ? configuredEndpoint.trim() : DEFAULT_TEMPLATE_CATALOG_URL;
1292
- }
1293
- function resolveTreeseedTemplateCatalogCachePath(startRoot = process.cwd()) {
1294
- const machineConfigPath = findNearestTreeseedMachineConfig(startRoot);
1295
- if (machineConfigPath) {
1296
- return resolve(dirname(dirname(machineConfigPath)), "cache", "template-catalog.json");
1297
- }
1298
- return resolve(startRoot, ".treeseed", "cache", TEMPLATE_CATALOG_CACHE_RELATIVE_PATH);
1299
- }
1300
- function ensureTreeseedGitignoreEntries(tenantRoot) {
1301
- const gitignorePath = resolve(tenantRoot, ".gitignore");
1302
- const requiredEntries = [".treeseed/"];
1303
- const current = existsSync(gitignorePath) ? readFileSync(gitignorePath, "utf8") : "";
1304
- const lines = current.split(/\r?\n/);
1305
- let changed = false;
1306
- for (const entry of requiredEntries) {
1307
- if (!lines.includes(entry)) {
1308
- lines.push(entry);
1309
- changed = true;
1310
- }
1311
- }
1312
- if (changed || !existsSync(gitignorePath)) {
1313
- writeFileSync(gitignorePath, `${lines.filter(Boolean).join("\n")}
1314
- `, "utf8");
1315
- }
1316
- return gitignorePath;
1317
- }
1318
- function ensureTreeseedRailwayIgnoreEntries(tenantRoot) {
1319
- const railwayIgnorePath = resolve(tenantRoot, ".railwayignore");
1320
- const requiredEntries = [
1321
- ".astro/",
1322
- ".codex/",
1323
- ".dev.vars",
1324
- ".env.local",
1325
- ".git/",
1326
- ".treeseed/",
1327
- ".wrangler/",
1328
- "coverage/",
1329
- "node_modules/",
1330
- "npm-debug.log*",
1331
- "packages/*/.git/",
1332
- "packages/*/node_modules/",
1333
- "public/__treeseed/*.json",
1334
- "public/books/*.json",
1335
- "public/books/*.md",
1336
- "scripts/.ts-run-*.mjs",
1337
- "tmp/",
1338
- "*.log",
1339
- "*.tgz"
1340
- ];
1341
- const removedEntries = /* @__PURE__ */ new Set([
1342
- "dist/",
1343
- "**/dist/",
1344
- "packages/*/dist/"
1345
- ]);
1346
- const current = existsSync(railwayIgnorePath) ? readFileSync(railwayIgnorePath, "utf8") : "";
1347
- let changed = false;
1348
- const lines = current.split(/\r?\n/).filter((line) => {
1349
- const keep = !removedEntries.has(line.trim());
1350
- if (!keep) {
1351
- changed = true;
1352
- }
1353
- return keep;
1354
- });
1355
- for (const entry of requiredEntries) {
1356
- if (!lines.includes(entry)) {
1357
- lines.push(entry);
1358
- changed = true;
1359
- }
1360
- }
1361
- if (changed || !existsSync(railwayIgnorePath)) {
1362
- writeFileSync(railwayIgnorePath, `${lines.filter(Boolean).join("\n")}
1363
- `, "utf8");
1364
- }
1365
- return railwayIgnorePath;
1366
- }
1367
- function dedupeRepairActions(actions) {
1368
- const seen = /* @__PURE__ */ new Set();
1369
- return actions.filter((action) => {
1370
- if (seen.has(action.id)) {
1371
- return false;
1372
- }
1373
- seen.add(action.id);
1374
- return true;
1375
- });
1376
- }
1377
- function applyTreeseedSafeRepairs(tenantRoot) {
1378
- const actions = [];
1379
- ensureTreeseedGitignoreEntries(tenantRoot);
1380
- actions.push({ id: "gitignore", detail: "Ensured Treeseed gitignore entries are present." });
1381
- ensureTreeseedRailwayIgnoreEntries(tenantRoot);
1382
- actions.push({ id: "railwayignore", detail: "Ensured Railway deploy ignore entries are present." });
1383
- const deprecatedFiles = warnDeprecatedTreeseedLocalEnvFiles(tenantRoot);
1384
- if (deprecatedFiles.length > 0) {
1385
- actions.push({ id: "deprecated-local-env", detail: "Detected deprecated .env.local/.dev.vars files that Treeseed now ignores." });
1386
- }
1387
- const deployConfig = loadTenantDeployConfig(tenantRoot);
1388
- const { configPath } = getTreeseedMachineConfigPaths(tenantRoot);
1389
- if (!existsSync(configPath)) {
1390
- const machineConfig2 = createDefaultTreeseedMachineConfig({
1391
- tenantRoot,
1392
- deployConfig,
1393
- tenantConfig: void 0
1394
- });
1395
- writeTreeseedMachineConfig(tenantRoot, machineConfig2);
1396
- actions.push({ id: "machine-config", detail: "Created the default Treeseed machine config." });
1397
- }
1398
- const keyStatus = inspectTreeseedKeyAgentStatus(tenantRoot);
1399
- if (!keyStatus.wrappedKeyPresent && !keyStatus.migrationRequired) {
1400
- actions.push({ id: "machine-key", detail: "Treeseed will create a wrapped machine key the first time the secret session is unlocked." });
1401
- } else if (keyStatus.migrationRequired) {
1402
- actions.push({ id: "machine-key-migration", detail: "Detected a legacy plaintext machine key that must be wrapped on the next unlock." });
1403
- }
1404
- const machineConfig = loadTreeseedMachineConfig(tenantRoot);
1405
- writeTreeseedMachineConfig(tenantRoot, machineConfig);
1406
- for (const scope of TREESEED_ENVIRONMENT_SCOPES) {
1407
- const target = createPersistentDeployTarget(scope);
1408
- const state = loadDeployState(tenantRoot, deployConfig, { target });
1409
- if (state.readiness?.initialized || scope === "local") {
1410
- ensureGeneratedWranglerConfig(tenantRoot, { target });
1411
- actions.push({ id: `wrangler-${scope}`, detail: `Regenerated the ${scope} generated Wrangler config.` });
1412
- }
1413
- }
1414
- return dedupeRepairActions(actions);
1415
- }
1416
- function decryptMachineEnvironmentBucket(tenantRoot, config, key, bucket) {
1417
- const values = {
1418
- ...bucket?.values ?? {}
1419
- };
1420
- for (const [entryId, payload] of Object.entries(bucket?.secrets ?? {})) {
1421
- if (!key) {
1422
- continue;
1423
- }
1424
- values[entryId] = decryptValueWithMachineKey(tenantRoot, payload, key);
1425
- }
1426
- return values;
1427
- }
1428
- function readMachineBucketEntryValue(tenantRoot, key, bucket, entry) {
1429
- if (entry.sensitivity === "secret") {
1430
- const payload = bucket?.secrets?.[entry.id];
1431
- return typeof payload === "string" && payload.length > 0 ? decryptValueWithMachineKey(tenantRoot, payload, key) : "";
1432
- }
1433
- return typeof bucket?.values?.[entry.id] === "string" ? bucket.values[entry.id] : "";
1434
- }
1435
- function writeMachineBucketEntryValue(target, entry, value, key) {
1436
- if (entry.sensitivity === "secret") {
1437
- delete target.values[entry.id];
1438
- if (value) {
1439
- target.secrets[entry.id] = encryptValue(value, key);
1440
- } else {
1441
- delete target.secrets[entry.id];
1442
- }
1443
- return;
1444
- }
1445
- delete target.secrets[entry.id];
1446
- if (value) {
1447
- target.values[entry.id] = value;
1448
- } else {
1449
- delete target.values[entry.id];
1450
- }
1451
- }
1452
- function migrateLegacyScopedSharedEntries(tenantRoot, config, registryEntries, key) {
1453
- const notices = [];
1454
- let changed = false;
1455
- for (const entry of registryEntries) {
1456
- if (entry.storage !== "shared") {
1457
- continue;
1458
- }
1459
- const sharedValue = readMachineBucketEntryValue(tenantRoot, key, config.shared, entry);
1460
- if (sharedValue.length > 0) {
1461
- continue;
1462
- }
1463
- const scopedValues = TREESEED_ENVIRONMENT_SCOPES.map((scope) => ({
1464
- scope,
1465
- value: readMachineBucketEntryValue(tenantRoot, key, config.environments?.[scope], entry)
1466
- })).filter((candidate) => candidate.value.length > 0);
1467
- if (scopedValues.length === 0) {
1468
- continue;
1469
- }
1470
- const promotedFrom = (scopedValues.find((candidate) => candidate.scope === "staging") ?? scopedValues.find((candidate) => candidate.scope === "prod") ?? scopedValues[0]).scope;
1471
- const promotedValue = scopedValues.find((candidate) => candidate.scope === promotedFrom)?.value ?? "";
1472
- const hadConflicts = new Set(scopedValues.map((candidate) => candidate.value)).size > 1;
1473
- writeMachineBucketEntryValue(config.shared, entry, promotedValue, key);
1474
- for (const candidateScope of TREESEED_ENVIRONMENT_SCOPES) {
1475
- delete config.environments[candidateScope].values[entry.id];
1476
- delete config.environments[candidateScope].secrets[entry.id];
1477
- }
1478
- notices.push({
1479
- entryId: entry.id,
1480
- label: entry.label,
1481
- promotedFrom,
1482
- consolidatedScopes: scopedValues.map((candidate) => candidate.scope),
1483
- hadConflicts
1484
- });
1485
- changed = true;
1486
- }
1487
- if (changed) {
1488
- writeTreeseedMachineConfig(tenantRoot, config);
1489
- }
1490
- return notices;
1491
- }
1492
- function resolveEntryValueFromBuckets(entry, entryId, scope, bucketValuesByScope) {
1493
- if (!entry) {
1494
- return bucketValuesByScope[scope]?.[entryId] ?? bucketValuesByScope.shared?.[entryId] ?? "";
1495
- }
1496
- if (entry?.storage === "shared") {
1497
- const sharedValue = bucketValuesByScope.shared?.[entryId];
1498
- if (typeof sharedValue === "string" && sharedValue.length > 0) {
1499
- return sharedValue;
1500
- }
1501
- const searchScopes = [scope, ...TREESEED_ENVIRONMENT_SCOPES.filter((candidate) => candidate !== scope)];
1502
- for (const candidateScope of searchScopes) {
1503
- const candidateValue = bucketValuesByScope[candidateScope]?.[entryId];
1504
- if (typeof candidateValue === "string" && candidateValue.length > 0) {
1505
- return candidateValue;
1506
- }
1507
- }
1508
- return "";
1509
- }
1510
- return bucketValuesByScope[scope]?.[entryId] ?? "";
1511
- }
1512
- const LEGACY_ENV_KEY_ALIASES = {
1513
- TREESEED_RAILWAY_API_TOKEN: ["RAILWAY_API_TOKEN"],
1514
- TREESEED_CLOUDFLARE_API_TOKEN: ["CLOUDFLARE_API_TOKEN"],
1515
- TREESEED_DOCKERHUB_TOKEN: ["DOCKERHUB_TOKEN"],
1516
- TREESEED_DOCKERHUB_USERNAME: ["DOCKERHUB_USERNAME"],
1517
- TREESEED_GITHUB_TOKEN: ["GH_TOKEN", "GITHUB_TOKEN", "TREESEED_HOSTED_HUBS_GITHUB_TOKEN"]
1518
- };
1519
- function resolveLegacyEntryValueFromBuckets(entryId, scope, bucketValuesByScope) {
1520
- const aliases = LEGACY_ENV_KEY_ALIASES[entryId] ?? [];
1521
- for (const alias of aliases) {
1522
- const resolved = resolveEntryValueFromBuckets(null, alias, scope, bucketValuesByScope);
1523
- if (typeof resolved === "string" && resolved.length > 0) {
1524
- return resolved;
1525
- }
1526
- }
1527
- return "";
1528
- }
1529
- function resolveTreeseedMachineEnvironmentValues(tenantRoot, scope, additionalKeys = []) {
1530
- const config = loadTreeseedMachineConfig(tenantRoot);
1531
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
1532
- let key = null;
1533
- try {
1534
- key = loadMachineKey(tenantRoot);
1535
- } catch {
1536
- key = null;
1537
- }
1538
- const bucketValuesByScope = {
1539
- shared: decryptMachineEnvironmentBucket(tenantRoot, config, key, config.shared),
1540
- ...Object.fromEntries(
1541
- TREESEED_ENVIRONMENT_SCOPES.map((candidateScope) => [
1542
- candidateScope,
1543
- decryptMachineEnvironmentBucket(tenantRoot, config, key, config.environments?.[candidateScope])
1544
- ])
1545
- )
1546
- };
1547
- const entryById = new Map(registry.entries.map((entry) => [entry.id, entry]));
1548
- const values = {};
1549
- const knownKeys = /* @__PURE__ */ new Set([
1550
- ...registry.entries.map((entry) => entry.id),
1551
- ...additionalKeys
1552
- ]);
1553
- for (const entryId of knownKeys) {
1554
- const resolved = resolveEntryValueFromBuckets(entryById.get(entryId), entryId, scope, bucketValuesByScope) || resolveLegacyEntryValueFromBuckets(entryId, scope, bucketValuesByScope);
1555
- if (typeof resolved === "string" && resolved.length > 0) {
1556
- values[entryId] = resolved;
1557
- }
1558
- }
1559
- return values;
1560
- }
1561
- function setTreeseedMachineEnvironmentValue(tenantRoot, scope, entry, value) {
1562
- const key = loadMachineKey(tenantRoot);
1563
- const config = loadTreeseedMachineConfig(tenantRoot);
1564
- const target = entry.storage === "shared" ? config.shared : config.environments[scope];
1565
- if (entry.storage === "shared") {
1566
- for (const candidateScope of TREESEED_ENVIRONMENT_SCOPES) {
1567
- delete config.environments[candidateScope].values[entry.id];
1568
- delete config.environments[candidateScope].secrets[entry.id];
1569
- }
1570
- }
1571
- if (entry.sensitivity === "secret") {
1572
- delete target.values[entry.id];
1573
- if (value) {
1574
- target.secrets[entry.id] = encryptValue(value, key);
1575
- } else {
1576
- delete target.secrets[entry.id];
1577
- }
1578
- } else {
1579
- delete target.secrets[entry.id];
1580
- if (value) {
1581
- target.values[entry.id] = value;
1582
- } else {
1583
- delete target.values[entry.id];
1584
- }
1585
- }
1586
- writeTreeseedMachineConfig(tenantRoot, config);
1587
- return config;
1588
- }
1589
- function collectTreeseedEnvironmentContext(tenantRoot) {
1590
- const deployConfig = loadTenantDeployConfig(tenantRoot);
1591
- const tenantConfig = loadOptionalTenantManifest(tenantRoot);
1592
- return resolveTreeseedEnvironmentRegistry({
1593
- deployConfig,
1594
- tenantConfig
1595
- });
1596
- }
1597
- function collectTreeseedConfigSeedValues(tenantRoot, scope, env = process.env, valuesOverlay = {}) {
1598
- warnDeprecatedTreeseedLocalEnvFiles(tenantRoot);
1599
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
1600
- let machineValues = {};
1601
- let localMachineValues = {};
1602
- try {
1603
- machineValues = resolveTreeseedMachineEnvironmentValues(tenantRoot, scope);
1604
- if (scope !== "local") {
1605
- localMachineValues = resolveTreeseedMachineEnvironmentValues(tenantRoot, "local");
1606
- }
1607
- } catch (error) {
1608
- if (!(error instanceof TreeseedKeyAgentError)) {
1609
- throw error;
1610
- }
1611
- }
1612
- const providerCredentialFallbacks = Object.fromEntries(
1613
- PROVIDER_CONTROL_ENV_KEYS.map((key) => [key, localMachineValues[key]]).filter(([, value]) => typeof value === "string" && value.length > 0)
1614
- );
1615
- const values = {
1616
- ...providerCredentialFallbacks,
1617
- ...machineValues,
1618
- ...nonEmptyEnvironmentValues(env),
1619
- ...nonEmptyEnvironmentValues(valuesOverlay)
1620
- };
1621
- const providerControlValues = Object.fromEntries(
1622
- PROVIDER_CONTROL_ENV_KEYS.map((key) => [key, values[key]]).filter(([, value]) => typeof value === "string" && value.length > 0)
1623
- );
1624
- return {
1625
- ...providerControlValues,
1626
- ...filterEnvironmentValuesByRegistry(values, registry, scope)
1627
- };
1628
- }
1629
- function workspaceBootstrapDeployConfig(tenantRoot, deployConfig) {
1630
- const appConfigs = discoverTreeseedApplications(tenantRoot).map((application) => application.config).filter((config) => config && config !== deployConfig);
1631
- if (appConfigs.length === 0) {
1632
- return deployConfig;
1633
- }
1634
- const merged = {
1635
- ...deployConfig,
1636
- runtime: { ...deployConfig.runtime ?? {} },
1637
- surfaces: { ...deployConfig.surfaces ?? {} },
1638
- services: { ...deployConfig.services ?? {} }
1639
- };
1640
- for (const config of appConfigs) {
1641
- if (config.runtime?.mode && merged.runtime?.mode !== "treeseed_managed") {
1642
- merged.runtime = { ...merged.runtime, ...config.runtime };
1643
- }
1644
- merged.surfaces = { ...merged.surfaces, ...config.surfaces ?? {} };
1645
- merged.services = { ...merged.services, ...config.services ?? {} };
1646
- }
1647
- return merged;
1648
- }
1649
- function configuredMarketDatabaseService(tenantRoot, deployConfig) {
1650
- if (deployConfig.services?.treeseedDatabase) {
1651
- return treeseedDatabaseDescriptor(deployConfig.services.treeseedDatabase, deployConfig.slug);
1652
- }
1653
- for (const application of discoverTreeseedApplications(tenantRoot)) {
1654
- const service = application.config.services?.treeseedDatabase;
1655
- if (service) {
1656
- return treeseedDatabaseDescriptor(service, application.config.slug);
1657
- }
1658
- }
1659
- return null;
1660
- }
1661
- function treeseedDatabaseDescriptor(service, slug) {
1662
- return {
1663
- service,
1664
- serviceName: typeof service.railway?.serviceName === "string" && service.railway.serviceName.trim() ? service.railway.serviceName.trim() : `${slug ?? "treeseed-api"}-postgres`
1665
- };
1666
- }
1667
- function nonEmptyEnvironmentValues(env = process.env) {
1668
- return Object.fromEntries(
1669
- Object.entries(env).filter(([, value]) => typeof value === "string" && value.length > 0)
1670
- );
1671
- }
1672
- function collectTreeseedConfigSeedValueSources(tenantRoot, scope, env = process.env) {
1673
- warnDeprecatedTreeseedLocalEnvFiles(tenantRoot);
1674
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
1675
- const registeredKeys = new Set(registry.entries.filter((entry) => isTreeseedEnvironmentEntryRelevant(entry, registry.context, scope, "config")).map((entry) => entry.id));
1676
- const values = {};
1677
- const sources = {};
1678
- const merge = (source, entries) => {
1679
- for (const [key, value] of Object.entries(entries)) {
1680
- if (!registeredKeys.has(key)) {
1681
- continue;
1682
- }
1683
- if (typeof value !== "string" || value.length === 0) {
1684
- continue;
1685
- }
1686
- values[key] = value;
1687
- sources[key] = source;
1688
- }
1689
- };
1690
- try {
1691
- merge("machine-config", resolveTreeseedMachineEnvironmentValues(tenantRoot, scope));
1692
- } catch (error) {
1693
- if (!(error instanceof TreeseedKeyAgentError)) {
1694
- throw error;
1695
- }
1696
- }
1697
- const processValues = Object.fromEntries(Object.entries(env).map(([key, value]) => [key, value ?? void 0]));
1698
- merge("process.env", processValues);
1699
- return { values, sources };
1700
- }
1701
- function resolveTreeseedLaunchEnvironment({
1702
- tenantRoot,
1703
- scope,
1704
- baseEnv = process.env,
1705
- overrides = {}
1706
- }) {
1707
- warnDeprecatedTreeseedLocalEnvFiles(tenantRoot);
1708
- let machineValues = {};
1709
- try {
1710
- machineValues = resolveTreeseedMachineEnvironmentValues(tenantRoot, scope);
1711
- } catch (error) {
1712
- if (!(error instanceof TreeseedKeyAgentError)) {
1713
- throw error;
1714
- }
1715
- }
1716
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
1717
- const baseValues = nonEmptyEnvironmentValues(baseEnv);
1718
- const seedValues = scope === "local" ? { ...baseValues, ...machineValues } : { ...machineValues, ...baseValues };
1719
- const suggestedValues = getTreeseedEnvironmentSuggestedValues({
1720
- scope,
1721
- purpose: "deploy",
1722
- deployConfig: registry.context.deployConfig,
1723
- tenantConfig: registry.context.tenantConfig,
1724
- plugins: registry.context.plugins,
1725
- values: seedValues
1726
- });
1727
- const nonSecretSuggestedValues = Object.fromEntries(
1728
- registry.entries.filter((entry) => entry.sensitivity !== "secret" && typeof suggestedValues[entry.id] === "string" && suggestedValues[entry.id].length > 0).map((entry) => [entry.id, suggestedValues[entry.id]])
1729
- );
1730
- const systemSecretSuggestedValues = Object.fromEntries(
1731
- registry.entries.filter(
1732
- (entry) => entry.sensitivity === "secret" && entry.visibility === "system" && typeof entry.defaultValue === "function" && typeof suggestedValues[entry.id] === "string" && suggestedValues[entry.id].length > 0
1733
- ).map((entry) => [entry.id, suggestedValues[entry.id]])
1734
- );
1735
- const scopedValues = scope === "local" ? { ...nonSecretSuggestedValues, ...systemSecretSuggestedValues, ...baseValues, ...machineValues } : { ...nonSecretSuggestedValues, ...systemSecretSuggestedValues, ...machineValues, ...baseValues };
1736
- return withTreeseedServiceCredentialEnv({
1737
- ...scopedValues,
1738
- ...overrides
1739
- });
1740
- }
1741
- function formatTreeseedConfigEnvironmentReport({ tenantRoot, scope, env = process.env, revealSecrets = false }) {
1742
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
1743
- const { values, sources } = collectTreeseedConfigSeedValueSources(tenantRoot, scope, env);
1744
- const lines = [
1745
- formatConfigSectionTitle(`Resolved environment values for ${scope}`),
1746
- revealSecrets ? "Secrets are shown because --show-secrets was provided." : "Secret values are masked. Re-run with --show-secrets to print full values."
1747
- ];
1748
- for (const entry of listRelevantTreeseedConfigEntries(registry, scope)) {
1749
- const value = values[entry.id];
1750
- const displayValue = typeof value === "string" && value.length > 0 ? entry.sensitivity === "secret" && !revealSecrets ? maskValue(value) : value : "(unset)";
1751
- lines.push(`${entry.id}=${displayValue} (${sources[entry.id] ?? "unset"})`);
1752
- }
1753
- return lines.join("\n");
1754
- }
1755
- function applyTreeseedEnvironmentToProcess({ tenantRoot, scope, override = false }) {
1756
- let resolvedValues = {};
1757
- try {
1758
- resolvedValues = resolveTreeseedLaunchEnvironment({ tenantRoot, scope });
1759
- } catch (error) {
1760
- if (!(error instanceof TreeseedKeyAgentError)) {
1761
- throw error;
1762
- }
1763
- }
1764
- for (const [key, value] of Object.entries(resolvedValues)) {
1765
- const currentValue = process.env[key] ?? "";
1766
- const shouldReplacePlaceholder = key === "CLOUDFLARE_ACCOUNT_ID" && currentValue === CLOUDFLARE_ACCOUNT_ID_PLACEHOLDER;
1767
- if ((override || currentValue.length === 0 || shouldReplacePlaceholder) && typeof value === "string" && value.length > 0) {
1768
- process.env[key] = value;
1769
- }
1770
- }
1771
- return resolvedValues;
1772
- }
1773
- function validateTreeseedCommandEnvironment({ tenantRoot, scope, purpose }) {
1774
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
1775
- const values = resolveTreeseedLaunchEnvironment({ tenantRoot, scope });
1776
- const validation = filterValidationByWorkflowPlane(validateTreeseedEnvironmentValues({
1777
- values,
1778
- scope,
1779
- purpose,
1780
- deployConfig: registry.context.deployConfig,
1781
- tenantConfig: registry.context.tenantConfig,
1782
- plugins: registry.context.plugins
1783
- }));
1784
- return {
1785
- registry,
1786
- values,
1787
- validation
1788
- };
1789
- }
1790
- function filterValidationByWorkflowPlane(validation) {
1791
- const plane = process.env.TREESEED_WORKFLOW_PLANE;
1792
- if (plane !== "web" && plane !== "processing") {
1793
- return validation;
1794
- }
1795
- const problemApplies = (problem) => doesEntryApplyToWorkflowPlane(problem.entry, plane);
1796
- const missing = validation.missing.filter(problemApplies);
1797
- const invalid = validation.invalid.filter(problemApplies);
1798
- const entries = validation.entries.filter((entry) => doesEntryApplyToWorkflowPlane(entry, plane));
1799
- const required = validation.required.filter((entry) => doesEntryApplyToWorkflowPlane(entry, plane));
1800
- return {
1801
- ...validation,
1802
- ok: missing.length === 0 && invalid.length === 0,
1803
- entries,
1804
- required,
1805
- missing,
1806
- invalid
1807
- };
1808
- }
1809
- function doesEntryApplyToWorkflowPlane(entry, plane) {
1810
- const targets = new Set(entry.targets ?? []);
1811
- const hasProcessingTarget = targets.has("railway-secret") || targets.has("railway-var");
1812
- const hasWebTarget = targets.has("cloudflare-secret") || targets.has("cloudflare-var") || targets.has("local-cloudflare");
1813
- const hasWorkflowTarget = targets.has("github-secret") || targets.has("github-variable");
1814
- if (plane === "web") {
1815
- return !hasProcessingTarget || hasWebTarget || hasWorkflowTarget;
1816
- }
1817
- if (plane === "processing") {
1818
- return !hasWebTarget || hasProcessingTarget || hasWorkflowTarget;
1819
- }
1820
- return true;
1821
- }
1822
- function assertTreeseedCommandEnvironment({ tenantRoot, scope, purpose }) {
1823
- const report = validateTreeseedCommandEnvironment({ tenantRoot, scope, purpose });
1824
- if (report.validation.ok) {
1825
- return report;
1826
- }
1827
- const lines = [
1828
- `Treeseed environment is not ready for ${purpose} (${scope}).`,
1829
- "Run `treeseed config` to fill in the missing values, or export them in the current shell."
1830
- ];
1831
- for (const problem of [...report.validation.missing, ...report.validation.invalid]) {
1832
- lines.push(`- ${problem.message}`);
1833
- }
1834
- const error = new Error(lines.join("\n"));
1835
- error.kind = report.validation.missing.length > 0 ? "missing_config" : "invalid_config";
1836
- error.details = report.validation;
1837
- throw error;
1838
- }
1839
- function runGh(args, { cwd, planOnly = false, input, env } = {}) {
1840
- if (planOnly) {
1841
- return { status: 0, stdout: "", stderr: "" };
1842
- }
1843
- const gh = resolveTreeseedToolBinary("gh", { env });
1844
- if (!gh) {
1845
- throw new Error("GitHub CLI `gh` is not installed.");
1846
- }
1847
- const result = spawnSync(gh, args, {
1848
- cwd,
1849
- stdio: input !== void 0 ? ["pipe", "pipe", "pipe"] : ["ignore", "pipe", "pipe"],
1850
- encoding: "utf8",
1851
- input,
1852
- timeout: 15e3,
1853
- env: createTreeseedManagedToolEnv({ ...process.env, ...env ?? {} })
1854
- });
1855
- if (result.error?.code === "ETIMEDOUT") {
1856
- throw new Error(`gh ${args.join(" ")} timed out`);
1857
- }
1858
- if (result.status !== 0) {
1859
- throw new Error(result.stderr?.trim() || result.stdout?.trim() || `gh ${args.join(" ")} failed`);
1860
- }
1861
- return result;
1862
- }
1863
- function commandAvailable(command) {
1864
- if (command === "gh" || command === "wrangler" || command === "railway" || command === "copilot") {
1865
- return Boolean(resolveTreeseedToolBinary(command));
1866
- }
1867
- const result = spawnSync("bash", ["-lc", `command -v ${command}`], {
1868
- stdio: "pipe",
1869
- encoding: "utf8"
1870
- });
1871
- return result.status === 0;
1872
- }
1873
- function checkCommand(command, args, { cwd, env } = {}) {
1874
- const result = spawnSync(command, args, {
1875
- cwd,
1876
- stdio: "pipe",
1877
- encoding: "utf8",
1878
- env: { ...process.env, ...env ?? {} },
1879
- timeout: CLI_CHECK_TIMEOUT_MS
1880
- });
1881
- const timedOut = result.error && "code" in result.error && result.error.code === "ETIMEDOUT";
1882
- const detail = timedOut ? `Command timed out after ${CLI_CHECK_TIMEOUT_MS}ms: ${command} ${args.join(" ")}` : `${result.stderr ?? ""}
1883
- ${result.stdout ?? ""}`.trim();
1884
- return {
1885
- ok: result.status === 0,
1886
- status: result.status ?? 1,
1887
- stdout: result.stdout?.trim() ?? "",
1888
- stderr: result.stderr?.trim() ?? "",
1889
- detail
1890
- };
1891
- }
1892
- function toolStatus(name, available, detail, extra = {}) {
1893
- return {
1894
- name,
1895
- available,
1896
- detail,
1897
- ...extra
1898
- };
1899
- }
1900
- function ensureTreeseedActVerificationTooling({ tenantRoot = process.cwd(), installIfMissing = true, env = process.env, write } = {}) {
1901
- const managedEnv = createTreeseedManagedToolEnv(env);
1902
- const ghBinary = resolveTreeseedToolBinary("gh", { env: managedEnv });
1903
- const githubCli = !ghBinary ? toolStatus("githubCli", false, "GitHub CLI `gh` is not installed.") : (() => {
1904
- const check = checkCommand(ghBinary, ["--version"], { cwd: tenantRoot, env: managedEnv });
1905
- return toolStatus("githubCli", check.ok, check.ok ? check.stdout.split("\n")[0] ?? "GitHub CLI detected." : check.detail || "GitHub CLI check failed.");
1906
- })();
1907
- let ghActExtension = toolStatus("ghActExtension", false, "GitHub CLI extension `gh-act` is not installed.", {
1908
- attemptedInstall: false,
1909
- installedDuringConfig: false
1910
- });
1911
- const wranglerCli = (() => {
1912
- try {
1913
- const wranglerCheck = checkCommand(process.execPath, [resolveWranglerBin(), "--version"], { cwd: tenantRoot, env });
1914
- return toolStatus(
1915
- "wranglerCli",
1916
- wranglerCheck.ok,
1917
- wranglerCheck.ok ? wranglerCheck.stdout.split("\n")[0] ?? "Wrangler CLI detected." : wranglerCheck.detail || "Wrangler CLI is unavailable."
1918
- );
1919
- } catch (error) {
1920
- return toolStatus(
1921
- "wranglerCli",
1922
- false,
1923
- error instanceof Error && error.message ? error.message : "Wrangler CLI is unavailable."
1924
- );
1925
- }
1926
- })();
1927
- const railwayCommand = resolveTreeseedToolCommand("railway", { env });
1928
- const railwayCheck = railwayCommand ? checkCommand(railwayCommand.command, [...railwayCommand.argsPrefix, "--version"], { cwd: tenantRoot, env }) : { ok: false, stdout: "", detail: "Railway CLI is unavailable." };
1929
- const railwayCli = toolStatus(
1930
- "railwayCli",
1931
- railwayCheck.ok,
1932
- railwayCheck.ok ? railwayCheck.stdout.split("\n")[0] ?? "Railway CLI detected." : railwayCheck.detail || "Railway CLI is unavailable."
1933
- );
1934
- if (githubCli.available && ghBinary) {
1935
- const check = checkCommand(ghBinary, ["act", "--version"], { cwd: tenantRoot, env: managedEnv });
1936
- if (check.ok) {
1937
- ghActExtension = toolStatus("ghActExtension", true, check.stdout.split("\n")[0] ?? "gh-act is installed.", {
1938
- attemptedInstall: false,
1939
- installedDuringConfig: false
1940
- });
1941
- } else if (installIfMissing && commandAvailable("docker")) {
1942
- write?.("Installing GitHub CLI extension `gh-act`...");
1943
- const install = checkCommand(ghBinary, ["extension", "install", "https://github.com/nektos/gh-act"], { cwd: tenantRoot, env: managedEnv });
1944
- const postInstall = checkCommand(ghBinary, ["act", "--version"], { cwd: tenantRoot, env: managedEnv });
1945
- ghActExtension = toolStatus(
1946
- "ghActExtension",
1947
- postInstall.ok,
1948
- postInstall.ok ? postInstall.stdout.split("\n")[0] ?? "gh-act is installed." : install.detail || postInstall.detail || "Unable to install the gh-act extension.",
1949
- {
1950
- attemptedInstall: true,
1951
- installedDuringConfig: postInstall.ok,
1952
- installStatus: install.status
1953
- }
1954
- );
1955
- } else if (installIfMissing) {
1956
- ghActExtension = toolStatus("ghActExtension", false, "Docker is not on PATH, so gh-act installation was skipped.", {
1957
- attemptedInstall: false,
1958
- installedDuringConfig: false
1959
- });
1960
- } else {
1961
- ghActExtension = toolStatus("ghActExtension", false, check.detail || "GitHub CLI extension `gh-act` is not installed.", {
1962
- attemptedInstall: false,
1963
- installedDuringConfig: false
1964
- });
1965
- }
1966
- }
1967
- const dockerCheck = checkCommand("docker", ["info"], { cwd: tenantRoot, env });
1968
- const dockerDaemon = toolStatus(
1969
- "dockerDaemon",
1970
- dockerCheck.ok,
1971
- dockerCheck.ok ? dockerCheck.stdout.split("\n")[0] ?? "Docker daemon is available." : dockerCheck.detail || "Docker daemon is unavailable."
1972
- );
1973
- const remediation = [];
1974
- if (!githubCli.available) {
1975
- remediation.push("Install GitHub CLI from https://cli.github.com/ and rerun `treeseed config`.");
1976
- }
1977
- if (githubCli.available && !ghActExtension.available) {
1978
- remediation.push("Run `gh extension install https://github.com/nektos/gh-act` and rerun `treeseed config`.");
1979
- }
1980
- if (!dockerDaemon.available) {
1981
- remediation.push("Start Docker Desktop or another local Docker daemon, then rerun `treeseed config`.");
1982
- }
1983
- if (!wranglerCli.available) {
1984
- remediation.push("Install Wrangler or ensure the packaged Wrangler dependency is runnable, then rerun `treeseed config`.");
1985
- }
1986
- if (!railwayCli.available) {
1987
- remediation.push("Install Railway CLI if you plan to manage Railway services from this machine.");
1988
- }
1989
- return {
1990
- githubCli,
1991
- ghActExtension,
1992
- dockerDaemon,
1993
- wranglerCli,
1994
- railwayCli,
1995
- actVerificationReady: githubCli.available && ghActExtension.available && dockerDaemon.available,
1996
- remediation
1997
- };
1998
- }
1999
- function formatCheckOutput(result) {
2000
- return `${result.stderr ?? ""}
2001
- ${result.stdout ?? ""}`.trim();
2002
- }
2003
- function providerConnectionResult(provider, ready, detail, extra = {}) {
2004
- return {
2005
- provider,
2006
- ready,
2007
- detail,
2008
- ...extra
2009
- };
2010
- }
2011
- function isTransientProviderConnectionError(detail) {
2012
- return /fetch failed|failed to fetch|timed out|etimedout|econnreset|enetunreach|temporarily unavailable|aborted|api check failed|rate.?limit|too many requests|429/iu.test(detail || "");
2013
- }
2014
- function checkGitHubConnection({ tenantRoot, env }) {
2015
- const identityMode = env.TREESEED_GITHUB_IDENTITY_MODE === "account" ? "account" : "repository";
2016
- const repository = identityMode === "repository" ? maybeResolveGitHubRepositorySlug(tenantRoot) : null;
2017
- const credential = repository ? resolveGitHubCredentialForRepository(repository, { values: env, env }) : null;
2018
- const token = credential?.token ?? resolveTreeseedGitHubToken(env);
2019
- if (!token) {
2020
- return providerConnectionResult(
2021
- "github",
2022
- false,
2023
- credential ? `${credential.envName} or TREESEED_GITHUB_TOKEN is not configured.` : "TREESEED_GITHUB_TOKEN is not configured.",
2024
- { skipped: true }
2025
- );
2026
- }
2027
- const gh = resolveTreeseedToolBinary("gh", { env });
2028
- if (!gh) {
2029
- return providerConnectionResult("github", false, "GitHub CLI `gh` is not installed.");
2030
- }
2031
- const owner = typeof env.TREESEED_HOSTED_HUBS_GITHUB_OWNER === "string" ? env.TREESEED_HOSTED_HUBS_GITHUB_OWNER.trim() : "";
2032
- const toolEnv = createTreeseedManagedToolEnv({ ...process.env, ...env, TREESEED_GITHUB_TOKEN: token });
2033
- const commandCandidates = repository ? [{
2034
- args: ["repo", "view", repository, "--json", "nameWithOwner", "--jq", ".nameWithOwner"],
2035
- successMessage: (resolved) => `GitHub token can access ${resolved || repository}.`
2036
- }] : owner ? [
2037
- {
2038
- args: ["api", `orgs/${owner}`, "--jq", ".login"],
2039
- successMessage: (resolved) => `GitHub token can access organization ${resolved || owner}.`,
2040
- optional: true
2041
- },
2042
- {
2043
- args: ["api", `users/${owner}`, "--jq", ".login"],
2044
- successMessage: (resolved) => `GitHub token can access user ${resolved || owner}.`,
2045
- optional: true
2046
- }
2047
- ] : [
2048
- {
2049
- args: ["api", "user", "--jq", ".login"],
2050
- successMessage: (resolved) => resolved ? `Authenticated as ${resolved}.` : "GitHub API check succeeded."
2051
- }
2052
- ];
2053
- let lastDetail = "";
2054
- for (let attempt = 0; attempt < 3; attempt += 1) {
2055
- for (const candidate of commandCandidates) {
2056
- const result = spawnSync(gh, candidate.args, {
2057
- cwd: tenantRoot,
2058
- stdio: "pipe",
2059
- encoding: "utf8",
2060
- env: toolEnv,
2061
- timeout: CLI_CHECK_TIMEOUT_MS
2062
- });
2063
- if (result.status === 0) {
2064
- return providerConnectionResult("github", true, candidate.successMessage(result.stdout.trim()));
2065
- }
2066
- lastDetail = formatCheckOutput(result) || "GitHub API check failed.";
2067
- if (candidate.optional && !isTransientProviderConnectionError(lastDetail)) {
2068
- continue;
2069
- }
2070
- break;
2071
- }
2072
- if (attempt >= 2 || !isTransientProviderConnectionError(lastDetail)) {
2073
- return providerConnectionResult("github", false, lastDetail || "GitHub API check failed.");
2074
- }
2075
- }
2076
- return providerConnectionResult("github", false, lastDetail || "GitHub API check failed.");
2077
- }
2078
- function checkCloudflareConnection({ tenantRoot, env }) {
2079
- if (!env.TREESEED_CLOUDFLARE_API_TOKEN) {
2080
- return providerConnectionResult("cloudflare", false, "TREESEED_CLOUDFLARE_API_TOKEN is not configured.", { skipped: true });
2081
- }
2082
- for (let attempt = 0; attempt < 3; attempt += 1) {
2083
- try {
2084
- const result = spawnSync(process.execPath, [resolveWranglerBin(), "whoami"], {
2085
- cwd: tenantRoot,
2086
- stdio: "pipe",
2087
- encoding: "utf8",
2088
- env: createTreeseedManagedToolEnv({ ...process.env, ...env }),
2089
- timeout: CLI_CHECK_TIMEOUT_MS
2090
- });
2091
- if (result.status === 0) {
2092
- return providerConnectionResult("cloudflare", true, "Wrangler authenticated with TREESEED_CLOUDFLARE_API_TOKEN.");
2093
- }
2094
- const detail = formatCheckOutput(result) || "Cloudflare Wrangler check failed.";
2095
- if (attempt >= 2 || !isTransientProviderConnectionError(detail)) {
2096
- return providerConnectionResult("cloudflare", false, detail);
2097
- }
2098
- } catch (error) {
2099
- const detail = error instanceof Error ? error.message : "Cloudflare Wrangler check failed.";
2100
- if (attempt >= 2 || !isTransientProviderConnectionError(detail)) {
2101
- return providerConnectionResult("cloudflare", false, detail);
2102
- }
2103
- }
2104
- }
2105
- return providerConnectionResult(
2106
- "cloudflare",
2107
- false,
2108
- "Cloudflare connectivity preflight hit transient fetch failures; bootstrap will continue and rely on live reconcile verification.",
2109
- { skipped: true, warning: true, transient: true }
2110
- );
2111
- }
2112
- async function checkRailwayConnection({ tenantRoot, env }) {
2113
- if (!env.TREESEED_RAILWAY_API_TOKEN) {
2114
- return providerConnectionResult("railway", false, "TREESEED_RAILWAY_API_TOKEN is not configured.", { skipped: true });
2115
- }
2116
- const workspaceName = env.TREESEED_RAILWAY_WORKSPACE || resolveRailwayWorkspace(env);
2117
- const cacheKey = JSON.stringify({
2118
- tenantRoot,
2119
- token: env.TREESEED_RAILWAY_API_TOKEN,
2120
- workspaceName
2121
- });
2122
- const cached = railwayConnectionCheckCache.get(cacheKey);
2123
- if (cached) {
2124
- return await cached;
2125
- }
2126
- const checkPromise = (async () => {
2127
- for (let attempt = 0; attempt < 3; attempt += 1) {
2128
- try {
2129
- const workspace = await resolveRailwayWorkspaceContext({ env, workspace: workspaceName });
2130
- return providerConnectionResult("railway", true, `Railway API token can access workspace ${workspace.name}. Project and service existence will be reconciled during bootstrap.`);
2131
- } catch (error) {
2132
- const detail = error instanceof Error ? error.message : "Railway API check failed.";
2133
- if (/rate.?limit|too many requests|429/iu.test(detail || "")) {
2134
- return providerConnectionResult(
2135
- "railway",
2136
- false,
2137
- "Railway connectivity preflight was rate-limited; bootstrap will continue and rely on API-backed reconcile verification.",
2138
- { skipped: true, warning: true, rateLimited: true }
2139
- );
2140
- }
2141
- if (attempt >= 2 && isTransientProviderConnectionError(detail)) {
2142
- return providerConnectionResult(
2143
- "railway",
2144
- false,
2145
- "Railway connectivity preflight hit transient API failures; bootstrap will continue and rely on API-backed reconcile verification.",
2146
- { skipped: true, warning: true, transient: true }
2147
- );
2148
- }
2149
- if (attempt >= 2 || !isTransientProviderConnectionError(detail)) {
2150
- return providerConnectionResult("railway", false, detail);
2151
- }
2152
- }
2153
- }
2154
- return providerConnectionResult("railway", false, "Railway API check failed.");
2155
- })();
2156
- railwayConnectionCheckCache.set(cacheKey, checkPromise);
2157
- try {
2158
- return await checkPromise;
2159
- } catch (error) {
2160
- railwayConnectionCheckCache.delete(cacheKey);
2161
- throw error;
2162
- }
2163
- }
2164
- async function checkTreeseedProviderConnections({ tenantRoot, scope = "prod", env = process.env, valuesOverlay = {} } = {}) {
2165
- const values = collectTreeseedConfigSeedValues(tenantRoot, scope, env, valuesOverlay);
2166
- const passthroughValue = (key) => {
2167
- const overlayValue = valuesOverlay?.[key];
2168
- if (typeof overlayValue === "string" && overlayValue.trim()) {
2169
- return overlayValue.trim();
2170
- }
2171
- const envValue = env?.[key];
2172
- if (typeof envValue === "string" && envValue.trim()) {
2173
- return envValue.trim();
2174
- }
2175
- const resolvedValue = values?.[key];
2176
- return typeof resolvedValue === "string" && resolvedValue.trim() ? resolvedValue.trim() : void 0;
2177
- };
2178
- const githubCredentialValues = Object.fromEntries(
2179
- Object.entries(values).filter(([key, value]) => key.startsWith("TREESEED_GITHUB_TOKEN_") && typeof value === "string" && value.trim())
2180
- );
2181
- const rawCommandEnv = {
2182
- ...githubCredentialValues,
2183
- TREESEED_GITHUB_TOKEN: resolveTreeseedGitHubToken(values),
2184
- TREESEED_GITHUB_IDENTITY_MODE: passthroughValue("TREESEED_GITHUB_IDENTITY_MODE"),
2185
- TREESEED_HOSTED_HUBS_GITHUB_OWNER: passthroughValue("TREESEED_HOSTED_HUBS_GITHUB_OWNER"),
2186
- TREESEED_CLOUDFLARE_API_TOKEN: values.TREESEED_CLOUDFLARE_API_TOKEN,
2187
- TREESEED_CLOUDFLARE_ACCOUNT_ID: values.TREESEED_CLOUDFLARE_ACCOUNT_ID,
2188
- TREESEED_RAILWAY_API_TOKEN: values.TREESEED_RAILWAY_API_TOKEN,
2189
- TREESEED_RAILWAY_WORKSPACE: values.TREESEED_RAILWAY_WORKSPACE || resolveRailwayWorkspace(values)
2190
- };
2191
- const commandEnv = buildRailwayCommandEnv(createTreeseedManagedToolEnv(rawCommandEnv));
2192
- const checks = [
2193
- checkGitHubConnection({ tenantRoot, env: commandEnv }),
2194
- checkCloudflareConnection({ tenantRoot, env: commandEnv })
2195
- ];
2196
- const railwayCheck = await checkRailwayConnection({ tenantRoot, env: commandEnv });
2197
- checks.push(railwayCheck);
2198
- return {
2199
- scope,
2200
- ok: checks.every((check) => check.ready || check.skipped),
2201
- checks,
2202
- issues: checks.filter((check) => !check.ready && !check.skipped).map((check) => check.detail)
2203
- };
2204
- }
2205
- function formatTreeseedProviderConnectionReport(report) {
2206
- const lines = [formatConfigSectionTitle(`Provider connection checks for ${report.scope}`)];
2207
- for (const check of report.checks) {
2208
- const label = check.provider[0].toUpperCase() + check.provider.slice(1);
2209
- const status = check.ready ? colorize("ready", "32") : check.skipped ? colorize("skipped", "33") : colorize("failed", "31");
2210
- lines.push(`${label}: ${status} - ${check.detail}`);
2211
- }
2212
- return lines.join("\n");
2213
- }
2214
- function formatTreeseedProviderConnectionFailures(reports) {
2215
- const failing = reports.filter((report) => report.checks.some((check) => !check.ready && !check.skipped));
2216
- if (failing.length === 0) {
2217
- return "";
2218
- }
2219
- return [
2220
- "Treeseed provider connection checks failed.",
2221
- ...failing.map((report) => formatTreeseedProviderConnectionReport(report))
2222
- ].join("\n");
2223
- }
2224
- function writeProviderConnectionReport(write, report) {
2225
- write(formatTreeseedProviderConnectionReport(report));
2226
- }
2227
- async function runBounded(items, limit, worker) {
2228
- const concurrency = Math.max(1, Math.min(limit, items.length || 1));
2229
- let nextIndex = 0;
2230
- const workers = Array.from({ length: concurrency }, async () => {
2231
- for (; ; ) {
2232
- const index = nextIndex;
2233
- nextIndex += 1;
2234
- if (index >= items.length) {
2235
- return;
2236
- }
2237
- await worker(items[index], index);
2238
- }
2239
- });
2240
- await Promise.all(workers);
2241
- }
2242
- function repositorySlugFromPackageJson(root) {
2243
- try {
2244
- const packageJson = JSON.parse(readFileSync(resolve(root, "package.json"), "utf8"));
2245
- const repository = packageJson.repository;
2246
- const raw = typeof repository === "string" ? repository : repository && typeof repository === "object" && !Array.isArray(repository) ? repository.url : null;
2247
- if (typeof raw !== "string") return null;
2248
- const normalized = raw.trim().replace(/^git\+/u, "").replace(/^ssh:\/\/git@github\.com[:/]/u, "").replace(/^git@github\.com:/u, "").replace(/^https:\/\/github\.com\//u, "").replace(/\.git$/u, "").replace(/\/$/u, "");
2249
- return /^[^/\s]+\/[^/\s]+$/u.test(normalized) ? normalized : null;
2250
- } catch {
2251
- return null;
2252
- }
2253
- }
2254
- function resolveGitHubRepositorySlugForPath(root) {
2255
- try {
2256
- return maybeResolveGitHubRepositorySlug(root);
2257
- } catch {
2258
- return null;
2259
- }
2260
- }
2261
- function discoverGitHubEnvironmentSyncTargets(tenantRoot, explicitRepository) {
2262
- const targets = /* @__PURE__ */ new Map();
2263
- const add = (repository, managedHostMode) => {
2264
- if (!repository || !repository.trim()) return;
2265
- const normalized = repository.trim();
2266
- const existing = targets.get(normalized);
2267
- if (!existing || existing.managedHostMode === "managed" && managedHostMode === "direct") {
2268
- targets.set(normalized, { repository: normalized, managedHostMode });
2269
- }
2270
- };
2271
- add(explicitRepository ?? resolveGitHubRepositorySlugForPath(tenantRoot), "auto");
2272
- for (const application of discoverTreeseedApplications(tenantRoot)) {
2273
- const repository = resolveGitHubRepositorySlugForPath(application.root) ?? repositorySlugFromPackageJson(application.root);
2274
- const managedHostMode = usesManagedHostOperationRequests(application.config) ? "managed" : "direct";
2275
- add(repository, managedHostMode);
2276
- }
2277
- return [...targets.values()];
2278
- }
2279
- function withGitHubEnvironmentCredentialContext(error, repository, credential) {
2280
- const message = error instanceof Error && error.message.trim() ? error.message.trim() : String(error ?? "GitHub environment sync failed.");
2281
- if (credential.fallbackUsed && /authentication failed|resource not accessible|403/iu.test(message)) {
2282
- return new Error(`${message} Configure ${credential.envName} with Actions environment secrets and variables permissions for ${repository}; the fallback TREESEED_GITHUB_TOKEN is not sufficient for this repository.`);
2283
- }
2284
- return error;
2285
- }
2286
- function githubConfigSyncUnitId(value) {
2287
- return String(value || "unknown").replace(/[^A-Za-z0-9:._/-]+/gu, "-");
2288
- }
2289
- function createGitHubConfigSyncUnits({
2290
- scope,
2291
- repository,
2292
- environment,
2293
- items
2294
- }) {
2295
- const identity = {
2296
- teamId: "config",
2297
- projectId: "config",
2298
- slug: "config",
2299
- environment: scope,
2300
- deploymentKey: `config:${scope}`,
2301
- environmentKey: scope
2302
- };
2303
- const repositoryId = githubConfigSyncUnitId(repository);
2304
- const environmentId = githubConfigSyncUnitId(environment);
2305
- const environmentUnitId = `github-environment:config:${scope}:${repositoryId}:${environmentId}`;
2306
- const target = { kind: "persistent", scope };
2307
- const environmentUnit = {
2308
- unitId: environmentUnitId,
2309
- unitType: "github-environment",
2310
- provider: "github",
2311
- identity,
2312
- target,
2313
- logicalName: `${repository} ${environment}`,
2314
- dependencies: [],
2315
- spec: {
2316
- repository,
2317
- environment
2318
- },
2319
- secrets: {},
2320
- metadata: {
2321
- source: { type: "config-sync" },
2322
- resourceKind: "github-environment"
2323
- }
2324
- };
2325
- const bindingUnits = items.flatMap((item) => {
2326
- if (item.kind === "secret") {
2327
- return [{
2328
- unitId: `github-secret-binding:config:${scope}:${repositoryId}:${environmentId}:${githubConfigSyncUnitId(item.name)}`,
2329
- unitType: "github-secret-binding",
2330
- provider: "github",
2331
- identity,
2332
- target,
2333
- logicalName: `${repository} ${environment} ${item.name}`,
2334
- dependencies: [environmentUnitId],
2335
- spec: {
2336
- repository,
2337
- environment,
2338
- secretName: item.name,
2339
- envName: item.name
2340
- },
2341
- secrets: {},
2342
- metadata: {
2343
- source: { type: "config-sync" },
2344
- resourceKind: "github-secret-binding"
2345
- }
2346
- }];
2347
- }
2348
- if (item.kind === "variable") {
2349
- return [{
2350
- unitId: `github-variable-binding:config:${scope}:${repositoryId}:${environmentId}:${githubConfigSyncUnitId(item.name)}`,
2351
- unitType: "github-variable-binding",
2352
- provider: "github",
2353
- identity,
2354
- target,
2355
- logicalName: `${repository} ${environment} ${item.name}`,
2356
- dependencies: [environmentUnitId],
2357
- spec: {
2358
- repository,
2359
- environment,
2360
- variableName: item.name,
2361
- envName: item.name
2362
- },
2363
- secrets: {},
2364
- metadata: {
2365
- source: { type: "config-sync" },
2366
- resourceKind: "github-variable-binding"
2367
- }
2368
- }];
2369
- }
2370
- return [];
2371
- });
2372
- return bindingUnits.length > 0 ? [environmentUnit, ...bindingUnits] : [];
2373
- }
2374
- async function syncTreeseedGitHubEnvironment({
2375
- tenantRoot,
2376
- scope = "prod",
2377
- planOnly = false,
2378
- repository: repositoryInput,
2379
- valuesOverlay = {},
2380
- entryIds,
2381
- managedHostMode = "auto",
2382
- execution = "parallel",
2383
- concurrency = 4,
2384
- onProgress
2385
- }) {
2386
- const repository = repositoryInput ?? maybeResolveGitHubRepositorySlug(tenantRoot);
2387
- if (!repository) {
2388
- throw new Error("Unable to determine the GitHub repository from the origin remote.");
2389
- }
2390
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
2391
- const values = {
2392
- ...resolveTreeseedMachineEnvironmentValues(tenantRoot, scope),
2393
- ...nonEmptyEnvironmentValues(valuesOverlay)
2394
- };
2395
- const deployConfig = loadCliDeployConfig(tenantRoot);
2396
- const managedBoundary = managedHostMode === "managed" || managedHostMode === "auto" && usesManagedHostOperationRequests(deployConfig);
2397
- const allowed = managedBoundary ? filterManagedHostGitHubEnvironment({
2398
- secrets: registry.entries.filter((entry) => entry.scopes.includes(scope) && entry.targets.includes("github-secret")).map((entry) => entry.id),
2399
- variables: registry.entries.filter((entry) => entry.scopes.includes(scope) && entry.targets.includes("github-variable")).map((entry) => entry.id)
2400
- }) : null;
2401
- const allowedSecrets = allowed ? new Set(allowed.secrets) : null;
2402
- const allowedVariables = allowed ? new Set(allowed.variables) : null;
2403
- const entryFilter = Array.isArray(entryIds) && entryIds.length > 0 ? new Set(entryIds) : null;
2404
- const relevant = registry.entries.filter((entry) => {
2405
- if (!entry.scopes.includes(scope)) return false;
2406
- if (entryFilter && !entryFilter.has(entry.id)) return false;
2407
- if (!managedBoundary) return true;
2408
- if (entry.sensitivity === "secret") {
2409
- return Boolean(entry.targets.includes("github-secret") && allowedSecrets?.has(entry.id));
2410
- }
2411
- return Boolean(entry.targets.includes("github-variable") && allowedVariables?.has(entry.id));
2412
- });
2413
- const credential = resolveGitHubCredentialForRepository(repository, { values, env: process.env });
2414
- const environment = scope === "prod" ? "production" : scope;
2415
- const progress = (message, stream = "stdout") => onProgress?.(message, stream);
2416
- progress(`[${scope}][github][sync] Loading existing GitHub secrets and variables...`);
2417
- const [secretNames, variableNames] = [/* @__PURE__ */ new Set(), /* @__PURE__ */ new Set()];
2418
- const synced = {
2419
- secrets: [],
2420
- variables: []
2421
- };
2422
- const items = [];
2423
- for (const entry of relevant) {
2424
- const value = values[entry.id];
2425
- if (!value) {
2426
- continue;
2427
- }
2428
- if (entry.sensitivity === "secret") {
2429
- items.push({ kind: "secret", name: entry.id, value, existed: secretNames.has(entry.id) });
2430
- } else {
2431
- items.push({ kind: "variable", name: entry.id, value, existed: variableNames.has(entry.id) });
2432
- }
2433
- }
2434
- let completed = 0;
2435
- const total = items.length;
2436
- if (!planOnly) {
2437
- const units = createGitHubConfigSyncUnits({ scope, repository, environment, items });
2438
- if (units.length === 0) {
2439
- progress(`[${scope}][github][sync] Complete: 0 secrets, 0 variables, 0 total.`);
2440
- return {
2441
- repository,
2442
- scope,
2443
- environment,
2444
- secrets: synced.secrets,
2445
- variables: synced.variables
2446
- };
2447
- }
2448
- try {
2449
- const result = await reconcileTreeseedTarget({
2450
- tenantRoot,
2451
- target: createPersistentDeployTarget(scope),
2452
- env: {
2453
- ...process.env,
2454
- ...values,
2455
- ...valuesOverlay
2456
- },
2457
- units,
2458
- write: (line) => progress(`[${scope}][github][reconcile] ${line}`)
2459
- });
2460
- const plansById = new Map(result.plans.map((entry) => [entry.unit.unitId, entry]));
2461
- for (const unit of units) {
2462
- if (unit.unitType !== "github-secret-binding" && unit.unitType !== "github-variable-binding") continue;
2463
- const planEntry = plansById.get(unit.unitId);
2464
- const name = String(unit.spec.secretName ?? unit.spec.variableName ?? unit.spec.envName ?? "");
2465
- if (!name) continue;
2466
- const existed = Boolean(planEntry?.observed.exists);
2467
- if (unit.unitType === "github-secret-binding") {
2468
- synced.secrets.push({ name, existed });
2469
- } else {
2470
- synced.variables.push({ name, existed });
2471
- }
2472
- completed += 1;
2473
- progress(`[${scope}][github][${unit.unitType === "github-secret-binding" ? "secret" : "variable"}] reconciled ${name} (${completed}/${total})`);
2474
- }
2475
- } catch (error) {
2476
- throw withGitHubEnvironmentCredentialContext(error, repository, credential);
2477
- }
2478
- progress(`[${scope}][github][sync] Complete: ${synced.secrets.length} secrets, ${synced.variables.length} variables, ${total} total.`);
2479
- return {
2480
- repository,
2481
- scope,
2482
- environment,
2483
- secrets: synced.secrets,
2484
- variables: synced.variables
2485
- };
2486
- }
2487
- progress(`[${scope}][github][sync] Syncing GitHub environment ${environment}: 0/${total} items...`);
2488
- const limit = execution === "sequential" ? 1 : concurrency;
2489
- await runBounded(items, limit, async (item) => {
2490
- completed += 1;
2491
- const action = item.existed ? "would update" : "would create";
2492
- progress(`[${scope}][github][${item.kind}] ${action} ${item.name} (${completed}/${total})`);
2493
- if (item.kind === "secret") {
2494
- synced.secrets.push({ name: item.name, existed: item.existed });
2495
- } else {
2496
- synced.variables.push({ name: item.name, existed: item.existed });
2497
- }
2498
- });
2499
- progress(`[${scope}][github][sync] Complete: ${synced.secrets.length} secrets, ${synced.variables.length} variables, ${total} total.`);
2500
- return {
2501
- repository,
2502
- scope,
2503
- environment,
2504
- credential: {
2505
- repository: credential.repository,
2506
- envName: credential.envName,
2507
- configured: credential.configured,
2508
- source: credential.source,
2509
- fallbackUsed: credential.fallbackUsed
2510
- },
2511
- entryIds: entryFilter ? [...entryFilter] : void 0,
2512
- ...synced
2513
- };
2514
- }
2515
- function syncTreeseedCloudflareEnvironment({
2516
- tenantRoot,
2517
- scope = "prod",
2518
- planOnly = false,
2519
- valuesOverlay = {},
2520
- entryIds,
2521
- onProgress
2522
- }) {
2523
- const values = {
2524
- ...resolveTreeseedMachineEnvironmentValues(tenantRoot, scope),
2525
- ...nonEmptyEnvironmentValues(valuesOverlay)
2526
- };
2527
- const target = createPersistentDeployTarget(scope);
2528
- const progress = (message, stream = "stdout") => onProgress?.(message, stream);
2529
- for (const [key, value] of Object.entries(values)) {
2530
- if (typeof value === "string" && value.length > 0) {
2531
- process.env[key] = value;
2532
- }
2533
- }
2534
- progress(`[${scope}][cloudflare][config] Generating Wrangler config...`);
2535
- const { wranglerPath } = ensureGeneratedWranglerConfig(tenantRoot, { target });
2536
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
2537
- const entryFilter = Array.isArray(entryIds) && entryIds.length > 0 ? new Set(entryIds) : null;
2538
- const cloudflareSecrets = Object.fromEntries(registry.entries.filter((entry) => entry.scopes.includes(scope) && entry.targets.includes("cloudflare-secret") && (!entryFilter || entryFilter.has(entry.id))).map((entry) => [entry.id, values[entry.id]]).filter(([, value]) => typeof value === "string" && value.length > 0));
2539
- progress(`[${scope}][cloudflare][sync] Syncing Cloudflare secrets...`);
2540
- const syncedSecrets = syncCloudflareSecrets(tenantRoot, {
2541
- planOnly,
2542
- target,
2543
- extraSecrets: cloudflareSecrets,
2544
- entryIds
2545
- });
2546
- const cloudflareVars = registry.entries.filter((entry) => entry.scopes.includes(scope) && entry.targets.includes("cloudflare-var") && (!entryFilter || entryFilter.has(entry.id))).map((entry) => entry.id).filter((key) => typeof values[key] === "string" && values[key].length > 0);
2547
- progress(`[${scope}][cloudflare][sync] Complete: ${syncedSecrets.length} secrets, ${cloudflareVars.length} vars.`);
2548
- return {
2549
- scope,
2550
- target,
2551
- wranglerPath,
2552
- entryIds: entryFilter ? [...entryFilter] : void 0,
2553
- secrets: syncedSecrets,
2554
- varsManagedByWranglerConfig: cloudflareVars
2555
- };
2556
- }
2557
- function environmentEntryTargetsService(entry, serviceKey) {
2558
- const targets = Array.isArray(entry.serviceTargets) ? entry.serviceTargets.map((value) => String(value).trim()).filter(Boolean) : [];
2559
- return targets.length === 0 || targets.includes(serviceKey);
2560
- }
2561
- function railwayEnvironmentEntryIdsForService(registry, values, scope, target, serviceKey, entryFilter = null) {
2562
- return registry.entries.filter((entry) => entry.scopes.includes(scope) && entry.targets.includes(target) && (!entryFilter || entryFilter.has(entry.id)) && environmentEntryTargetsService(entry, serviceKey)).map((entry) => entry.id).filter((key) => typeof values[key] === "string" && values[key].length > 0);
2563
- }
2564
- async function syncTreeseedRailwayEnvironment({
2565
- tenantRoot,
2566
- scope = "prod",
2567
- planOnly = false,
2568
- valuesOverlay = {},
2569
- entryIds,
2570
- onProgress
2571
- }) {
2572
- const config = syncManagedServiceSettingsFromDeployConfig(tenantRoot);
2573
- const values = {
2574
- ...resolveTreeseedMachineEnvironmentValues(tenantRoot, scope),
2575
- ...nonEmptyEnvironmentValues(valuesOverlay)
2576
- };
2577
- const deployConfig = loadCliDeployConfig(tenantRoot);
2578
- const treeseedDatabase = configuredMarketDatabaseService(tenantRoot, deployConfig);
2579
- const treeseedDatabaseService = treeseedDatabase?.service;
2580
- const treeseedDatabaseServiceName = treeseedDatabase?.serviceName ?? "";
2581
- const treeseedDatabaseUrl = typeof values.TREESEED_DATABASE_URL === "string" && values.TREESEED_DATABASE_URL.length > 0 ? values.TREESEED_DATABASE_URL : treeseedDatabaseService?.enabled !== false && treeseedDatabaseService?.provider === "railway" ? `\${{${treeseedDatabaseServiceName}.DATABASE_URL}}` : "";
2582
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
2583
- const entryFilter = Array.isArray(entryIds) && entryIds.length > 0 ? new Set(entryIds) : null;
2584
- const progress = (message, stream = "stdout") => onProgress?.(message, stream);
2585
- const serviceValuesByName = /* @__PURE__ */ new Map();
2586
- const services = configuredRailwayServices(tenantRoot, scope).map((service) => {
2587
- const fallbackServiceName = service.key === "api" ? config.settings.services.railway.apiServiceName : service.serviceName;
2588
- const environmentName = normalizeRailwayEnvironmentName(service.railwayEnvironment ?? scope);
2589
- const serviceValues = {
2590
- ...values,
2591
- ...service.key === "operationsRunner" ? {
2592
- TREESEED_PLATFORM_RUNNER_ID: service.runnerId ?? service.serviceName,
2593
- TREESEED_PLATFORM_RUNNER_DATA_DIR: service.volumeMountPath ?? values.TREESEED_PLATFORM_RUNNER_DATA_DIR,
2594
- TREESEED_PLATFORM_RUNNER_ENVIRONMENT: scope === "prod" ? "production" : scope
2595
- } : {},
2596
- ...treeseedDatabaseUrl && ["api", "operationsRunner"].includes(service.key) ? { TREESEED_DATABASE_URL: treeseedDatabaseUrl } : {}
2597
- };
2598
- const serviceName = service.serviceName ?? fallbackServiceName;
2599
- serviceValuesByName.set(serviceName || service.serviceId || service.instanceKey || service.key, serviceValues);
2600
- return {
2601
- service: service.key,
2602
- instanceKey: service.instanceKey ?? service.key,
2603
- projectName: service.projectName ?? config.settings.services.railway.projectName,
2604
- serviceName,
2605
- serviceId: service.serviceId ?? "",
2606
- rootDir: service.rootDir,
2607
- baseUrl: service.publicBaseUrl ?? "(unset)",
2608
- environmentName,
2609
- secrets: railwayEnvironmentEntryIdsForService(registry, serviceValues, scope, "railway-secret", service.key, entryFilter),
2610
- variables: railwayEnvironmentEntryIdsForService(registry, serviceValues, scope, "railway-var", service.key, entryFilter),
2611
- planOnly
2612
- };
2613
- }).filter(Boolean);
2614
- for (const service of services) {
2615
- const serviceValues = serviceValuesByName.get(service.serviceName || service.serviceId || service.instanceKey || service.service) ?? values;
2616
- progress(`[${scope}][railway][${service.service}] Syncing ${service.secrets.length} secrets and ${service.variables.length} variables...`);
2617
- if (!planOnly) {
2618
- const railwayEnv = { ...process.env, ...values };
2619
- const project = (await ensureRailwayProject({
2620
- projectId: "",
2621
- projectName: service.projectName,
2622
- env: railwayEnv
2623
- })).project;
2624
- const environment = (await ensureRailwayEnvironment({
2625
- projectId: project.id,
2626
- environmentName: service.environmentName,
2627
- env: railwayEnv
2628
- })).environment;
2629
- const railwayService = (await ensureRailwayService({
2630
- projectId: project.id,
2631
- serviceId: service.serviceId,
2632
- serviceName: service.serviceName,
2633
- env: railwayEnv
2634
- })).service;
2635
- const variableValues = Object.fromEntries(
2636
- [...service.secrets, ...service.variables].map((key) => [key, serviceValues[key]]).filter(([, value]) => typeof value === "string" && value.length > 0)
2637
- );
2638
- if (Object.keys(variableValues).length > 0) {
2639
- await upsertRailwayVariables({
2640
- projectId: project.id,
2641
- environmentId: environment.id,
2642
- serviceId: railwayService.id,
2643
- variables: variableValues,
2644
- env: railwayEnv
2645
- });
2646
- }
2647
- }
2648
- progress(`[${scope}][railway][${service.service}] Complete.`);
2649
- }
2650
- return {
2651
- scope,
2652
- entryIds: entryFilter ? [...entryFilter] : void 0,
2653
- services
2654
- };
2655
- }
2656
- async function initializeTreeseedPersistentEnvironment({ tenantRoot, scope = "prod", planOnly = false } = {}) {
2657
- const normalizedScope = scope === "prod" ? "prod" : scope;
2658
- const target = createPersistentDeployTarget(normalizedScope);
2659
- const summary = await reconcileTreeseedTarget({
2660
- tenantRoot,
2661
- target,
2662
- env: process.env
2663
- });
2664
- return {
2665
- scope: normalizedScope,
2666
- target,
2667
- summary,
2668
- secrets: summary.results.filter((result) => result.unit.provider === "cloudflare").flatMap((result) => Object.keys(result.resourceLocators ?? {}))
2669
- };
2670
- }
2671
- async function summarizePersistentReadiness(tenantRoot, scope, validation, connectionChecks, env = process.env, { includeReconcileStatus = true, systems } = {}) {
2672
- const validationProblems = [...validation.missing, ...validation.invalid];
2673
- const validationBlockers = validationProblems.map((problem) => problem.message);
2674
- const connectionReady = connectionChecks.every((check) => check.ready || check.skipped);
2675
- const connectionIssues = connectionChecks.filter((check) => !check.ready && !check.skipped).map((check) => `${check.provider}: ${check.detail}`);
2676
- const connectionWarnings = connectionChecks.filter((check) => check.skipped).map((check) => `${check.provider}: ${check.detail}`);
2677
- if (scope === "local") {
2678
- return {
2679
- configured: validation.ok,
2680
- provisioned: true,
2681
- deployable: validation.ok && connectionReady,
2682
- phase: validation.ok ? "code_ready" : "config_incomplete",
2683
- blockers: [
2684
- ...validationBlockers,
2685
- ...connectionIssues
2686
- ],
2687
- warnings: connectionWarnings,
2688
- checks: {
2689
- validation: validation.ok,
2690
- connections: connectionReady
2691
- }
2692
- };
2693
- }
2694
- if (!validation.ok) {
2695
- return {
2696
- configured: false,
2697
- provisioned: false,
2698
- deployable: false,
2699
- phase: "config_incomplete",
2700
- blockers: [
2701
- ...validationBlockers,
2702
- ...connectionIssues
2703
- ],
2704
- warnings: connectionWarnings,
2705
- checks: {
2706
- validation: false,
2707
- connections: connectionReady,
2708
- cloudflare: null,
2709
- railway: false
2710
- }
2711
- };
2712
- }
2713
- const configured = validation.ok;
2714
- if (!includeReconcileStatus) {
2715
- return {
2716
- configured,
2717
- provisioned: false,
2718
- deployable: false,
2719
- phase: "config_complete",
2720
- blockers: [...connectionIssues],
2721
- warnings: connectionWarnings,
2722
- checks: {
2723
- validation: validation.ok,
2724
- connections: connectionReady,
2725
- reconcile: "deferred"
2726
- }
2727
- };
2728
- }
2729
- const reconcile = await collectTreeseedReconcileStatus({
2730
- tenantRoot,
2731
- target: createPersistentDeployTarget(scope),
2732
- env,
2733
- systems
2734
- });
2735
- const provisioned = reconcile.ready;
2736
- const deployable = configured && provisioned && connectionReady;
2737
- const blockers = [...connectionIssues, ...reconcile.blockers];
2738
- return {
2739
- configured,
2740
- provisioned,
2741
- deployable,
2742
- phase: provisioned ? "provisioned" : "config_complete",
2743
- blockers,
2744
- warnings: [...connectionWarnings, ...reconcile.warnings],
2745
- checks: {
2746
- validation: validation.ok,
2747
- connections: connectionReady,
2748
- reconcile: reconcile.units
2749
- }
2750
- };
2751
- }
2752
- function summarizeReconciledPersistentReadiness(scope, validation, connectionChecks, reconciled) {
2753
- const validationProblems = [...validation.missing, ...validation.invalid];
2754
- const validationBlockers = validationProblems.map((problem) => problem.message);
2755
- const connectionReady = connectionChecks.every((check) => check.ready || check.skipped);
2756
- const connectionIssues = connectionChecks.filter((check) => !check.ready && !check.skipped).map((check) => `${check.provider}: ${check.detail}`);
2757
- const connectionWarnings = connectionChecks.filter((check) => check.skipped).map((check) => `${check.provider}: ${check.detail}`);
2758
- if (scope === "local") {
2759
- return {
2760
- configured: validation.ok,
2761
- provisioned: true,
2762
- deployable: validation.ok && connectionReady,
2763
- phase: validation.ok ? "code_ready" : "config_incomplete",
2764
- blockers: [
2765
- ...validationBlockers,
2766
- ...connectionIssues
2767
- ],
2768
- warnings: connectionWarnings,
2769
- checks: {
2770
- validation: validation.ok,
2771
- connections: connectionReady
2772
- }
2773
- };
2774
- }
2775
- if (!validation.ok) {
2776
- return {
2777
- configured: false,
2778
- provisioned: false,
2779
- deployable: false,
2780
- phase: "config_incomplete",
2781
- blockers: [
2782
- ...validationBlockers,
2783
- ...connectionIssues
2784
- ],
2785
- warnings: connectionWarnings,
2786
- checks: {
2787
- validation: false,
2788
- connections: connectionReady,
2789
- reconcile: []
2790
- }
2791
- };
2792
- }
2793
- const actions = reconciled?.actions ?? [];
2794
- const blockers = actions.filter((action) => action.verified !== true).flatMap((action) => [
2795
- ...action.missing.map((entry) => `${action.provider}:${action.unitType}: ${entry}`),
2796
- ...action.drifted.map((entry) => `${action.provider}:${action.unitType}: ${entry}`)
2797
- ]);
2798
- const provisioned = blockers.length === 0 && actions.length > 0;
2799
- return {
2800
- configured: true,
2801
- provisioned,
2802
- deployable: provisioned && connectionReady,
2803
- phase: provisioned ? "provisioned" : "config_complete",
2804
- blockers: [
2805
- ...connectionIssues,
2806
- ...blockers
2807
- ],
2808
- warnings: connectionWarnings,
2809
- checks: {
2810
- validation: true,
2811
- connections: connectionReady,
2812
- reconcile: actions
2813
- }
2814
- };
2815
- }
2816
- function formatTreeseedConfigValidationFailure(validations, scopes) {
2817
- const lines = ["Treeseed config validation failed."];
2818
- for (const scope of scopes) {
2819
- const validation = validations[scope];
2820
- if (!validation || validation.ok) {
2821
- continue;
2822
- }
2823
- lines.push("");
2824
- lines.push(`${scope}:`);
2825
- for (const problem of [...validation.missing, ...validation.invalid]) {
2826
- const targets = problem.entry.targets.length > 0 ? ` Targets: ${problem.entry.targets.join(", ")}.` : "";
2827
- const source = problem.entry.sourceRequirement ? ` Source: ${problem.entry.sourceRequirement}${problem.entry.sourceProvider ? ` (${problem.entry.sourceProvider})` : ""}.` : "";
2828
- lines.push(`- ${problem.id}: ${problem.message}${targets}${source}`);
2829
- }
2830
- }
2831
- return lines.join("\n");
2832
- }
2833
- function colorize(value, code) {
2834
- return `\x1B[${code}m${value}\x1B[0m`;
2835
- }
2836
- function formatConfigSectionTitle(label) {
2837
- return colorize(`
2838
- == ${label}`, "1;36");
2839
- }
2840
- function hasConfigValue(values, key) {
2841
- return typeof values[key] === "string" && values[key].trim().length > 0;
2842
- }
2843
- function createConfigReadiness(values, validation) {
2844
- const invalidIds = /* @__PURE__ */ new Set([
2845
- ...(validation?.invalid ?? []).map((problem) => problem.id)
2846
- ]);
2847
- const validConfigValue = (key) => hasConfigValue(values, key) && !invalidIds.has(key);
2848
- const configProblems = [
2849
- ...validation?.missing ?? [],
2850
- ...validation?.invalid ?? []
2851
- ];
2852
- const providerIssues = (provider) => configProblems.filter((problem) => {
2853
- if (provider === "github") {
2854
- return problem.id === "TREESEED_GITHUB_TOKEN" || problem.entry.group === "github";
2855
- }
2856
- if (provider === "cloudflare") {
2857
- return problem.id.startsWith("TREESEED_CLOUDFLARE_") || problem.id.startsWith("CLOUDFLARE_") || problem.id.includes("TURNSTILE") || problem.entry.group === "cloudflare";
2858
- }
2859
- return problem.id.startsWith("TREESEED_RAILWAY_") || problem.entry.group === "railway";
2860
- });
2861
- const localDevelopmentIssues = [
2862
- ...configProblems
2863
- ].filter((problem) => problem.entry.group === "local-development");
2864
- return {
2865
- github: {
2866
- configured: Boolean(resolveTreeseedGitHubToken(values)) && providerIssues("github").length === 0
2867
- },
2868
- cloudflare: {
2869
- configured: providerIssues("cloudflare").length === 0
2870
- },
2871
- railway: {
2872
- configured: validConfigValue("TREESEED_RAILWAY_API_TOKEN") && providerIssues("railway").length === 0
2873
- },
2874
- localDevelopment: {
2875
- configured: localDevelopmentIssues.length === 0
2876
- }
2877
- };
2878
- }
2879
- const CONFIG_GROUP_ORDER = ["auth", "github", "cloudflare", "railway", "local-development", "forms", "smtp"];
2880
- function configGroupRank(group) {
2881
- const index = CONFIG_GROUP_ORDER.indexOf(group);
2882
- return index === -1 ? CONFIG_GROUP_ORDER.length : index;
2883
- }
2884
- function listRelevantTreeseedConfigEntries(registry, scope) {
2885
- return registry.entries.filter(
2886
- (entry) => entry.visibility !== "system" && entry.scopes.includes(scope) && (!entry.isRelevant || entry.isRelevant(registry.context, scope, "config") || Boolean(entry.onboardingFeature))
2887
- ).sort((left, right) => {
2888
- const leftRequired = isTreeseedEnvironmentEntryRequired(left, registry.context, scope, "config");
2889
- const rightRequired = isTreeseedEnvironmentEntryRequired(right, registry.context, scope, "config");
2890
- if (leftRequired !== rightRequired) {
2891
- return leftRequired ? -1 : 1;
2892
- }
2893
- if (left.purposes.length !== right.purposes.length) {
2894
- return right.purposes.length - left.purposes.length;
2895
- }
2896
- if (configGroupRank(left.group) !== configGroupRank(right.group)) {
2897
- return configGroupRank(left.group) - configGroupRank(right.group);
2898
- }
2899
- return left.label.localeCompare(right.label);
2900
- });
2901
- }
2902
- function buildConfigEntrySnapshot(scope, entry, currentValue, suggestedValue) {
2903
- const currentValueValid = (() => {
2904
- if (!currentValue || !entry.validation) {
2905
- return currentValue.length > 0;
2906
- }
2907
- switch (entry.validation.kind) {
2908
- case "string":
2909
- case "nonempty":
2910
- return currentValue.trim().length > 0 && (typeof entry.validation.minLength !== "number" || currentValue.trim().length >= entry.validation.minLength);
2911
- case "boolean":
2912
- return /^(true|false|1|0)$/i.test(currentValue);
2913
- case "number":
2914
- return Number.isFinite(Number(currentValue));
2915
- case "url":
2916
- try {
2917
- new URL(currentValue);
2918
- return true;
2919
- } catch {
2920
- return false;
2921
- }
2922
- case "email":
2923
- return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(currentValue);
2924
- case "enum":
2925
- return entry.validation.values.includes(currentValue);
2926
- default:
2927
- return true;
2928
- }
2929
- })();
2930
- const allowGeneratedSecretDefault = ["TREESEED_PLATFORM_RUNNER_SECRET", "TREESEED_WEB_SERVICE_SECRET", "TREESEED_API_WEB_SERVICE_SECRET", "TREESEED_CREDENTIAL_SESSION_SECRET"].includes(entry.id);
2931
- const allowSuggestedDefault = allowGeneratedSecretDefault || !(entry.sensitivity === "secret" && entry.requirement !== "optional");
2932
- const effectiveValue = currentValueValid ? currentValue || (allowSuggestedDefault ? suggestedValue : "") || "" : (allowSuggestedDefault ? suggestedValue : "") || currentValue || "";
2933
- return {
2934
- id: entry.id,
2935
- label: entry.label,
2936
- group: entry.group,
2937
- cluster: entry.cluster ?? `${entry.group}:${entry.id}`,
2938
- startupProfile: entry.startupProfile ?? "advanced",
2939
- requirement: entry.requirement,
2940
- description: entry.description,
2941
- howToGet: entry.howToGet,
2942
- sensitivity: entry.sensitivity,
2943
- targets: [...entry.targets],
2944
- purposes: [...entry.purposes],
2945
- storage: entry.storage ?? "scoped",
2946
- validation: entry.validation,
2947
- sourceRequirement: entry.sourceRequirement,
2948
- sourceHostType: entry.sourceHostType ?? null,
2949
- sourceProvider: entry.sourceProvider ?? null,
2950
- scope,
2951
- sharedScopes: entry.storage === "shared" ? [...entry.scopes] : [scope],
2952
- required: false,
2953
- currentValue,
2954
- suggestedValue,
2955
- effectiveValue
2956
- };
2957
- }
2958
- function collectTreeseedConfigContext({
2959
- tenantRoot,
2960
- scopes = [...TREESEED_ENVIRONMENT_SCOPES],
2961
- env = process.env
2962
- }) {
2963
- ensureTreeseedGitignoreEntries(tenantRoot);
2964
- ensureTreeseedRailwayIgnoreEntries(tenantRoot);
2965
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
2966
- const { configPath, keyPath } = getTreeseedMachineConfigPaths(tenantRoot);
2967
- const valuesByScope = Object.fromEntries(
2968
- scopes.map((scope) => [scope, collectTreeseedConfigSeedValues(tenantRoot, scope, env)])
2969
- );
2970
- const suggestedValuesByScope = Object.fromEntries(
2971
- scopes.map((scope) => [scope, getTreeseedEnvironmentSuggestedValues({
2972
- scope,
2973
- purpose: "config",
2974
- deployConfig: registry.context.deployConfig,
2975
- tenantConfig: registry.context.tenantConfig,
2976
- plugins: registry.context.plugins,
2977
- values: valuesByScope[scope]
2978
- })])
2979
- );
2980
- const validationByScope = Object.fromEntries(
2981
- scopes.map((scope) => [scope, validateTreeseedEnvironmentValues({
2982
- values: {
2983
- ...suggestedValuesByScope[scope],
2984
- ...valuesByScope[scope]
2985
- },
2986
- scope,
2987
- purpose: "config",
2988
- deployConfig: registry.context.deployConfig,
2989
- tenantConfig: registry.context.tenantConfig,
2990
- plugins: registry.context.plugins
2991
- })])
2992
- );
2993
- const configReadinessByScope = Object.fromEntries(
2994
- scopes.map((scope) => [scope, createConfigReadiness(valuesByScope[scope], validationByScope[scope])])
2995
- );
2996
- const entriesByScope = Object.fromEntries(
2997
- scopes.map((scope) => [scope, listRelevantTreeseedConfigEntries(registry, scope).map((entry) => ({
2998
- ...buildConfigEntrySnapshot(
2999
- scope,
3000
- entry,
3001
- valuesByScope[scope][entry.id] ?? "",
3002
- suggestedValuesByScope[scope][entry.id] ?? ""
3003
- ),
3004
- required: isTreeseedEnvironmentEntryRequired(entry, registry.context, scope, "config")
3005
- }))])
3006
- );
3007
- return {
3008
- tenantRoot,
3009
- scopes,
3010
- project: {
3011
- name: registry.context.deployConfig.name,
3012
- slug: registry.context.deployConfig.slug,
3013
- siteUrl: registry.context.deployConfig.siteUrl
3014
- },
3015
- configPath,
3016
- keyPath,
3017
- entriesByScope,
3018
- valuesByScope,
3019
- suggestedValuesByScope,
3020
- configReadinessByScope,
3021
- validationByScope,
3022
- sharedStorageMigrations: [],
3023
- registry
3024
- };
3025
- }
3026
- function applyTreeseedConfigValues({
3027
- tenantRoot,
3028
- updates,
3029
- applyLocalEnvironment = true
3030
- }) {
3031
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
3032
- const key = loadMachineKey(tenantRoot);
3033
- const machineConfig = loadTreeseedMachineConfig(tenantRoot);
3034
- const sharedStorageMigrations = migrateLegacyScopedSharedEntries(tenantRoot, machineConfig, registry.entries, key);
3035
- const entryById = new Map(registry.entries.map((entry) => [entry.id, entry]));
3036
- const applied = [];
3037
- for (const update of updates) {
3038
- const entry = entryById.get(update.entryId);
3039
- if (!entry) {
3040
- throw new Error(`Unknown Treeseed config entry "${update.entryId}".`);
3041
- }
3042
- if (!entry.scopes.includes(update.scope)) {
3043
- throw new Error(`Treeseed config entry "${update.entryId}" does not apply to ${update.scope}.`);
3044
- }
3045
- setTreeseedMachineEnvironmentValue(tenantRoot, update.scope, entry, update.value);
3046
- applied.push({
3047
- scope: entry.storage === "shared" ? "shared" : update.scope,
3048
- id: entry.id,
3049
- reused: update.reused === true,
3050
- cleared: update.value.length === 0
3051
- });
3052
- }
3053
- if (applyLocalEnvironment) {
3054
- applyTreeseedEnvironmentToProcess({ tenantRoot, scope: "local", override: true });
3055
- }
3056
- return {
3057
- updated: applied,
3058
- sharedStorageMigrations
3059
- };
3060
- }
3061
- function configProblemBootstrapSystems(problem) {
3062
- switch (problem?.id) {
3063
- case "TREESEED_GITHUB_TOKEN":
3064
- return ["github"];
3065
- case "TREESEED_CLOUDFLARE_API_TOKEN":
3066
- case "TREESEED_CLOUDFLARE_ACCOUNT_ID":
3067
- case "CLOUDFLARE_ZONE_ID":
3068
- return ["data", "web"];
3069
- case "TREESEED_RAILWAY_API_TOKEN":
3070
- case "TREESEED_RAILWAY_WORKSPACE":
3071
- return ["api", "agents"];
3072
- default:
3073
- return null;
3074
- }
3075
- }
3076
- function filterValidationForBootstrapSystems(validation, runnableSystems) {
3077
- const runnable = new Set(runnableSystems);
3078
- const keepProblem = (problem) => {
3079
- const systems = configProblemBootstrapSystems(problem);
3080
- return !systems || systems.some((system) => runnable.has(system));
3081
- };
3082
- const missing = validation.missing.filter(keepProblem);
3083
- const invalid = validation.invalid.filter(keepProblem);
3084
- return {
3085
- ...validation,
3086
- ok: missing.length === 0 && invalid.length === 0,
3087
- missing,
3088
- invalid
3089
- };
3090
- }
3091
- async function finalizeTreeseedConfig({
3092
- tenantRoot,
3093
- scopes = [...TREESEED_ENVIRONMENT_SCOPES],
3094
- sync = "all",
3095
- env = process.env,
3096
- checkConnections = true,
3097
- initializePersistent = true,
3098
- systems,
3099
- skipUnavailable,
3100
- bootstrapExecution = "parallel",
3101
- onProgress
3102
- }) {
3103
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
3104
- const summary = {
3105
- scopes,
3106
- synced: {},
3107
- reconciled: [],
3108
- deployed: [],
3109
- resourceInventoryByScope: {},
3110
- connectionChecks: [],
3111
- validationByScope: {},
3112
- bootstrapSystemsByScope: {},
3113
- githubRepository: null,
3114
- readinessByScope: {},
3115
- bootstrapExecution
3116
- };
3117
- const progress = (message, stream = "stdout") => {
3118
- if (typeof onProgress === "function") {
3119
- onProgress(message, stream);
3120
- }
3121
- };
3122
- progress(`Validating configuration for ${scopes.join(", ")}...`);
3123
- const rawScopeSeedValues = Object.fromEntries(
3124
- scopes.map((scope) => [scope, collectTreeseedConfigSeedValues(tenantRoot, scope, env)])
3125
- );
3126
- const scopeSeedValues = Object.fromEntries(
3127
- scopes.map((scope) => {
3128
- const suggestedValues = getTreeseedEnvironmentSuggestedValues({
3129
- scope,
3130
- purpose: "config",
3131
- deployConfig: registry.context.deployConfig,
3132
- tenantConfig: registry.context.tenantConfig,
3133
- plugins: registry.context.plugins,
3134
- values: rawScopeSeedValues[scope]
3135
- });
3136
- return [scope, {
3137
- ...suggestedValues,
3138
- ...rawScopeSeedValues[scope]
3139
- }];
3140
- })
3141
- );
3142
- for (const scope of scopes) {
3143
- const selection = resolveTreeseedBootstrapSelection({
3144
- deployConfig: workspaceBootstrapDeployConfig(tenantRoot, registry.context.deployConfig),
3145
- env: scopeSeedValues[scope],
3146
- systems: scope === "local" ? ["github"] : systems,
3147
- skipUnavailable: scope === "local" ? true : skipUnavailable
3148
- });
3149
- summary.bootstrapSystemsByScope[scope] = selection;
3150
- const strictUnavailable = selection.unavailable.filter(
3151
- (status) => !selection.skipped.some((skipped) => skipped.system === status.system && skipped.reason === status.reason)
3152
- );
3153
- if (initializePersistent && strictUnavailable.length > 0) {
3154
- throw new Error(`Treeseed bootstrap cannot run the selected systems for ${scope}:
3155
- - ${strictUnavailable.map((status) => `${status.system}: ${status.reason}`).join("\n- ")}`);
3156
- }
3157
- for (const skipped of selection.skipped) {
3158
- progress(`[${scope}][${skipped.system}][skip] ${skipped.reason}`);
3159
- }
3160
- }
3161
- for (const scope of scopes) {
3162
- const seedValues = scopeSeedValues[scope];
3163
- const suggestedValues = getTreeseedEnvironmentSuggestedValues({
3164
- scope,
3165
- purpose: "config",
3166
- deployConfig: registry.context.deployConfig,
3167
- tenantConfig: registry.context.tenantConfig,
3168
- plugins: registry.context.plugins,
3169
- values: seedValues
3170
- });
3171
- const validation = validateTreeseedEnvironmentValues({
3172
- values: {
3173
- ...suggestedValues,
3174
- ...seedValues
3175
- },
3176
- scope,
3177
- purpose: "config",
3178
- deployConfig: registry.context.deployConfig,
3179
- tenantConfig: registry.context.tenantConfig,
3180
- plugins: registry.context.plugins
3181
- });
3182
- summary.validationByScope[scope] = initializePersistent ? filterValidationForBootstrapSystems(validation, summary.bootstrapSystemsByScope[scope].runnable) : validation;
3183
- if (checkConnections) {
3184
- progress(`Checking provider connectivity for ${scope}...`);
3185
- summary.connectionChecks.push(await checkTreeseedProviderConnections({ tenantRoot, scope, env: seedValues }));
3186
- }
3187
- }
3188
- for (const scope of scopes) {
3189
- if (scope !== "local") {
3190
- const target = createPersistentDeployTarget(scope);
3191
- const deployState = loadDeployState(tenantRoot, registry.context.deployConfig, { target });
3192
- const inventory = buildProvisioningSummary(registry.context.deployConfig, deployState, target);
3193
- const railwayWorkspace = resolveRailwayWorkspace(scopeSeedValues[scope]);
3194
- summary.resourceInventoryByScope[scope] = inventory;
3195
- progress(
3196
- `Resolved ${scope} resources: deployment=${inventory.identity?.deploymentKey}, pages=${inventory.resources?.pagesProject}, web-domain=${inventory.resources?.webDomain ?? "(none)"}, api-domain=${inventory.resources?.apiDomain ?? "(none)"}, r2=${inventory.resources?.contentBucket}, queue=${inventory.resources?.queue}, d1=${inventory.resources?.database}, railway=${inventory.resources?.railwayProject}, workspace=${railwayWorkspace}.`
3197
- );
3198
- }
3199
- summary.readinessByScope[scope] = await summarizePersistentReadiness(
3200
- tenantRoot,
3201
- scope,
3202
- summary.validationByScope[scope],
3203
- summary.connectionChecks.find((report) => report.scope === scope)?.checks ?? [],
3204
- scopeSeedValues[scope],
3205
- {
3206
- includeReconcileStatus: initializePersistent && summary.bootstrapSystemsByScope[scope].runnable.some((system) => system !== "github"),
3207
- systems: summary.bootstrapSystemsByScope[scope].runnable.filter((system) => system !== "github")
3208
- }
3209
- );
3210
- }
3211
- const invalidScopes = scopes.filter((scope) => summary.validationByScope[scope]?.ok !== true);
3212
- if (invalidScopes.length > 0) {
3213
- throw new Error(formatTreeseedConfigValidationFailure(summary.validationByScope, scopes));
3214
- }
3215
- const failingConnectionReports = summary.connectionChecks.filter((report) => report.ok !== true);
3216
- if (failingConnectionReports.length > 0) {
3217
- throw new Error(formatTreeseedProviderConnectionFailures(failingConnectionReports));
3218
- }
3219
- progress("Syncing managed service settings from treeseed.site.yaml...");
3220
- syncManagedServiceSettingsFromDeployConfig(tenantRoot);
3221
- const githubSelected = scopes.some((scope) => scope !== "local" && summary.bootstrapSystemsByScope[scope].runnable.includes("github"));
3222
- let githubRepository = maybeResolveGitHubRepositorySlug(tenantRoot);
3223
- if (githubSelected && initializePersistent) {
3224
- const localSeedValues = collectTreeseedConfigSeedValues(tenantRoot, "local", env);
3225
- const localSuggestedValues = getTreeseedEnvironmentSuggestedValues({
3226
- scope: "local",
3227
- purpose: "config",
3228
- deployConfig: registry.context.deployConfig,
3229
- tenantConfig: registry.context.tenantConfig,
3230
- plugins: registry.context.plugins,
3231
- values: localSeedValues
3232
- });
3233
- const repositoryBootstrap = await ensureGitHubBootstrapRepository(tenantRoot, {
3234
- values: {
3235
- ...localSuggestedValues,
3236
- ...localSeedValues
3237
- },
3238
- defaultName: registry.context.deployConfig.slug,
3239
- onProgress: (line) => progress(line)
3240
- });
3241
- summary.githubRepository = repositoryBootstrap;
3242
- githubRepository = repositoryBootstrap.repository;
3243
- }
3244
- if (initializePersistent) {
3245
- for (const scope of scopes) {
3246
- if (scope === "local") {
3247
- continue;
3248
- }
3249
- const selection = summary.bootstrapSystemsByScope[scope];
3250
- const reconcileSystems = selection.runnable.filter((system) => system !== "github");
3251
- if (reconcileSystems.length > 0) {
3252
- progress(`[${scope}][bootstrap][plan] Deriving desired units for ${reconcileSystems.join(", ")}...`);
3253
- const initialized = await reconcileTreeseedTarget({
3254
- tenantRoot,
3255
- target: createPersistentDeployTarget(scope),
3256
- env: scopeSeedValues[scope],
3257
- systems: reconcileSystems,
3258
- write: (line) => progress(`[${scope}][reconcile] ${line}`)
3259
- });
3260
- summary.reconciled.push({
3261
- scope,
3262
- target: scope,
3263
- units: initialized.units.length,
3264
- actions: initialized.results.map((result) => ({
3265
- unitId: result.unit.unitId,
3266
- unitType: result.unit.unitType,
3267
- provider: result.unit.provider,
3268
- action: result.action,
3269
- verified: result.verification?.verified === true,
3270
- missing: result.verification?.missing ?? [],
3271
- drifted: result.verification?.drifted ?? []
3272
- }))
3273
- });
3274
- }
3275
- if (scope === "staging" && selection.runnable.includes("github")) {
3276
- progress(`[${scope}][github][branch] Ensuring ${STAGING_BRANCH} exists on origin from ${PRODUCTION_BRANCH}...`);
3277
- if (!githubRepository) {
3278
- throw new Error("Unable to determine the GitHub repository from the origin remote for staging branch bootstrap.");
3279
- }
3280
- const branchBootstrap = await ensureGitHubBranchFromBase(githubRepository, STAGING_BRANCH, {
3281
- baseBranch: PRODUCTION_BRANCH,
3282
- client: createGitHubApiClient({
3283
- env: scopeSeedValues[scope]
3284
- })
3285
- });
3286
- summary.deployed.push({
3287
- scope,
3288
- branchBootstrap,
3289
- result: {}
3290
- });
3291
- }
3292
- const deploySystems = selection.runnable.filter((system) => system === "data" || system === "web" || system === "api" || system === "agents");
3293
- if (deploySystems.length > 0) {
3294
- progress(`[${scope}][bootstrap][deploy] Deploying ${deploySystems.join(", ")}...`);
3295
- applyTreeseedEnvironmentToProcess({ tenantRoot, scope, override: true });
3296
- process.env.TREESEED_RAILWAY_WORKSPACE = process.env.TREESEED_RAILWAY_WORKSPACE || scopeSeedValues[scope].TREESEED_RAILWAY_WORKSPACE || resolveRailwayWorkspace(scopeSeedValues[scope]);
3297
- const { deployProjectPlatform } = await import("./project-platform.js");
3298
- const deployResult = await deployProjectPlatform({
3299
- tenantRoot,
3300
- scope,
3301
- skipProvision: true,
3302
- bootstrapSystems: deploySystems,
3303
- bootstrapExecution,
3304
- env: scopeSeedValues[scope],
3305
- write: (line, stream) => progress(line, stream)
3306
- });
3307
- const deployEntry = summary.deployed.find((entry) => entry.scope === scope);
3308
- if (deployEntry) {
3309
- deployEntry.result = deployResult;
3310
- } else {
3311
- summary.deployed.push({
3312
- scope,
3313
- branchBootstrap: null,
3314
- result: deployResult
3315
- });
3316
- }
3317
- progress(`[${scope}][bootstrap][verify] Re-verifying after deployment...`);
3318
- const finalized = await reconcileTreeseedTarget({
3319
- tenantRoot,
3320
- target: createPersistentDeployTarget(scope),
3321
- env: scopeSeedValues[scope],
3322
- systems: reconcileSystems,
3323
- write: (line) => progress(`[${scope}][verify] ${line}`)
3324
- });
3325
- const index = summary.reconciled.findIndex((entry) => entry.scope === scope);
3326
- const nextSummary = {
3327
- scope,
3328
- target: scope,
3329
- units: finalized.units.length,
3330
- actions: finalized.results.map((result) => ({
3331
- unitId: result.unit.unitId,
3332
- unitType: result.unit.unitType,
3333
- provider: result.unit.provider,
3334
- action: result.action,
3335
- verified: result.verification?.verified === true,
3336
- missing: result.verification?.missing ?? [],
3337
- drifted: result.verification?.drifted ?? []
3338
- }))
3339
- };
3340
- if (index >= 0) {
3341
- summary.reconciled[index] = nextSummary;
3342
- } else {
3343
- summary.reconciled.push(nextSummary);
3344
- }
3345
- }
3346
- }
3347
- }
3348
- if (sync === "github" || sync === "all") {
3349
- const githubScopes = scopes.filter((scope) => scope !== "local" && summary.bootstrapSystemsByScope[scope].runnable.includes("github"));
3350
- const githubTargets = discoverGitHubEnvironmentSyncTargets(tenantRoot, githubRepository);
3351
- if (githubTargets.length === 0 && githubScopes.length > 0) {
3352
- throw new Error("Unable to determine the GitHub repository from the origin remote.");
3353
- }
3354
- const syncScope = async (scope, target) => {
3355
- progress(`[${scope}][github][sync] Syncing GitHub environment for ${target.repository}...`);
3356
- return await syncTreeseedGitHubEnvironment({
3357
- tenantRoot,
3358
- scope,
3359
- repository: target.repository,
3360
- managedHostMode: target.managedHostMode,
3361
- execution: bootstrapExecution,
3362
- onProgress: progress
3363
- });
3364
- };
3365
- const githubResults = [];
3366
- if (bootstrapExecution === "sequential") {
3367
- for (const target of githubTargets) {
3368
- for (const scope of githubScopes) {
3369
- githubResults.push(await syncScope(scope, target));
3370
- }
3371
- }
3372
- } else {
3373
- githubResults.push(...await Promise.all(githubTargets.flatMap(
3374
- (target) => githubScopes.map((scope) => syncScope(scope, target))
3375
- )));
3376
- }
3377
- summary.synced.github = {
3378
- scopes: githubResults,
3379
- repository: githubResults[0]?.repository ?? githubRepository ?? maybeResolveGitHubRepositorySlug(tenantRoot),
3380
- repositories: githubResults.map((entry) => entry.repository).filter((repository, index, all) => all.indexOf(repository) === index),
3381
- secrets: githubResults.flatMap((entry) => entry.secrets),
3382
- variables: githubResults.flatMap((entry) => entry.variables)
3383
- };
3384
- }
3385
- for (const scope of scopes) {
3386
- const reconciled = summary.reconciled.find((entry) => entry.scope === scope) ?? null;
3387
- summary.readinessByScope[scope] = initializePersistent && reconciled ? summarizeReconciledPersistentReadiness(
3388
- scope,
3389
- summary.validationByScope[scope],
3390
- summary.connectionChecks.find((report) => report.scope === scope)?.checks ?? [],
3391
- reconciled
3392
- ) : await summarizePersistentReadiness(
3393
- tenantRoot,
3394
- scope,
3395
- summary.validationByScope[scope],
3396
- summary.connectionChecks.find((report) => report.scope === scope)?.checks ?? [],
3397
- scopeSeedValues[scope],
3398
- {
3399
- includeReconcileStatus: initializePersistent && summary.bootstrapSystemsByScope[scope].runnable.some((system) => system !== "github"),
3400
- systems: summary.bootstrapSystemsByScope[scope].runnable.filter((system) => system !== "github")
3401
- }
3402
- );
3403
- }
3404
- return summary;
3405
- }
3406
- function collectTreeseedPrintEnvReport({
3407
- tenantRoot,
3408
- scope,
3409
- env = process.env,
3410
- revealSecrets = false
3411
- }) {
3412
- const registry = collectTreeseedEnvironmentContext(tenantRoot);
3413
- const { values, sources } = collectTreeseedConfigSeedValueSources(tenantRoot, scope, env);
3414
- return {
3415
- scope,
3416
- revealSecrets,
3417
- entries: listRelevantTreeseedConfigEntries(registry, scope).map((entry) => {
3418
- const rawValue = values[entry.id] ?? "";
3419
- const canRevealValue = entry.sensitivity !== "secret" || revealSecrets;
3420
- return {
3421
- id: entry.id,
3422
- label: entry.label,
3423
- sensitivity: entry.sensitivity,
3424
- value: canRevealValue ? rawValue : "",
3425
- displayValue: rawValue ? entry.sensitivity === "secret" && !revealSecrets ? maskValue(rawValue) : rawValue : "(unset)",
3426
- source: sources[entry.id] ?? "unset",
3427
- sourceRequirement: entry.sourceRequirement,
3428
- sourceHostType: entry.sourceHostType ?? null,
3429
- sourceProvider: entry.sourceProvider ?? null
3430
- };
3431
- })
3432
- };
3433
- }
3434
- export {
3435
- DEFAULT_TEMPLATE_CATALOG_URL,
3436
- DEFAULT_TREESEED_API_BASE_URL,
3437
- TREESEED_API_BASE_URL_ENV,
3438
- TREESEED_MACHINE_KEY_PASSPHRASE_ENV2 as TREESEED_MACHINE_KEY_PASSPHRASE_ENV,
3439
- TREESEED_TEMPLATE_CATALOG_URL_ENV,
3440
- TreeseedKeyAgentError2 as TreeseedKeyAgentError,
3441
- applyTreeseedConfigValues,
3442
- applyTreeseedEnvironmentToProcess,
3443
- applyTreeseedSafeRepairs,
3444
- assertTreeseedCommandEnvironment,
3445
- checkTreeseedProviderConnections,
3446
- clearTreeseedRemoteSession,
3447
- collectTreeseedConfigContext,
3448
- collectTreeseedConfigSeedValues,
3449
- collectTreeseedEnvironmentContext,
3450
- collectTreeseedPrintEnvReport,
3451
- configGroupRank,
3452
- createDefaultTreeseedMachineConfig,
3453
- ensureTreeseedActVerificationTooling,
3454
- ensureTreeseedGitignoreEntries,
3455
- ensureTreeseedRailwayIgnoreEntries,
3456
- ensureTreeseedSecretSessionForConfig,
3457
- finalizeTreeseedConfig,
3458
- formatTreeseedConfigEnvironmentReport,
3459
- formatTreeseedProviderConnectionReport,
3460
- getTreeseedMachineConfigPaths,
3461
- getTreeseedRemoteAuthPaths,
3462
- initializeTreeseedPersistentEnvironment,
3463
- inspectTreeseedKeyAgentStatus,
3464
- inspectTreeseedKeyAgentTransportDiagnostic,
3465
- inspectTreeseedPassphraseEnvDiagnostic,
3466
- listDeprecatedTreeseedLocalEnvFiles,
3467
- listRelevantTreeseedConfigEntries,
3468
- loadTreeseedMachineConfig,
3469
- loadTreeseedRemoteAuthState,
3470
- lockTreeseedSecretSession,
3471
- migrateTreeseedMachineKeyToWrapped,
3472
- resolveTreeseedLaunchEnvironment,
3473
- resolveTreeseedMachineEnvironmentValues,
3474
- resolveTreeseedRemoteConfig,
3475
- resolveTreeseedRemoteSession,
3476
- resolveTreeseedTemplateCatalogCachePath,
3477
- resolveTreeseedTemplateCatalogEndpoint,
3478
- rotateTreeseedMachineKey,
3479
- rotateTreeseedMachineKeyPassphrase,
3480
- setTreeseedMachineEnvironmentValue,
3481
- setTreeseedRemoteSession,
3482
- syncTreeseedCloudflareEnvironment,
3483
- syncTreeseedGitHubEnvironment,
3484
- syncTreeseedRailwayEnvironment,
3485
- unlockTreeseedSecretSessionFromEnv,
3486
- unlockTreeseedSecretSessionInteractive,
3487
- unlockTreeseedSecretSessionWithPassphrase,
3488
- updateTreeseedDeployConfigFeatureToggles,
3489
- validateTreeseedCommandEnvironment,
3490
- warnDeprecatedTreeseedLocalEnvFiles,
3491
- withTreeseedKeyAgentAutopromptDisabled,
3492
- writeTreeseedMachineConfig,
3493
- writeTreeseedRemoteAuthState
3494
- };