@software-dlc/cli 0.157.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 (701) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/LICENSE +105 -0
  3. package/README.md +31 -0
  4. package/dist/checkout.d.ts +43 -0
  5. package/dist/checkout.d.ts.map +1 -0
  6. package/dist/checkout.js +92 -0
  7. package/dist/checkout.js.map +1 -0
  8. package/dist/cli-arguments.d.ts +13 -0
  9. package/dist/cli-arguments.d.ts.map +1 -0
  10. package/dist/cli-arguments.js +67 -0
  11. package/dist/cli-arguments.js.map +1 -0
  12. package/dist/cli-branch-history.d.ts +48 -0
  13. package/dist/cli-branch-history.d.ts.map +1 -0
  14. package/dist/cli-branch-history.js +319 -0
  15. package/dist/cli-branch-history.js.map +1 -0
  16. package/dist/cli-branches.d.ts +22 -0
  17. package/dist/cli-branches.d.ts.map +1 -0
  18. package/dist/cli-branches.js +59 -0
  19. package/dist/cli-branches.js.map +1 -0
  20. package/dist/cli-deploy.d.ts +14 -0
  21. package/dist/cli-deploy.d.ts.map +1 -0
  22. package/dist/cli-deploy.js +164 -0
  23. package/dist/cli-deploy.js.map +1 -0
  24. package/dist/cli-health.d.ts +3 -0
  25. package/dist/cli-health.d.ts.map +1 -0
  26. package/dist/cli-health.js +73 -0
  27. package/dist/cli-health.js.map +1 -0
  28. package/dist/cli-help.d.ts +21 -0
  29. package/dist/cli-help.d.ts.map +1 -0
  30. package/dist/cli-help.js +176 -0
  31. package/dist/cli-help.js.map +1 -0
  32. package/dist/cli-login.d.ts +76 -0
  33. package/dist/cli-login.d.ts.map +1 -0
  34. package/dist/cli-login.js +634 -0
  35. package/dist/cli-login.js.map +1 -0
  36. package/dist/cli-operation.d.ts +2 -0
  37. package/dist/cli-operation.d.ts.map +1 -0
  38. package/dist/cli-operation.js +66 -0
  39. package/dist/cli-operation.js.map +1 -0
  40. package/dist/cli-org.d.ts +12 -0
  41. package/dist/cli-org.d.ts.map +1 -0
  42. package/dist/cli-org.js +218 -0
  43. package/dist/cli-org.js.map +1 -0
  44. package/dist/cli-rebuild.d.ts +20 -0
  45. package/dist/cli-rebuild.d.ts.map +1 -0
  46. package/dist/cli-rebuild.js +29 -0
  47. package/dist/cli-rebuild.js.map +1 -0
  48. package/dist/cli-reset.d.ts +27 -0
  49. package/dist/cli-reset.d.ts.map +1 -0
  50. package/dist/cli-reset.js +44 -0
  51. package/dist/cli-reset.js.map +1 -0
  52. package/dist/cli-snapshot.d.ts +398 -0
  53. package/dist/cli-snapshot.d.ts.map +1 -0
  54. package/dist/cli-snapshot.js +45 -0
  55. package/dist/cli-snapshot.js.map +1 -0
  56. package/dist/cli-task-context.d.ts +3 -0
  57. package/dist/cli-task-context.d.ts.map +1 -0
  58. package/dist/cli-task-context.js +112 -0
  59. package/dist/cli-task-context.js.map +1 -0
  60. package/dist/cli.d.ts +3 -0
  61. package/dist/cli.d.ts.map +1 -0
  62. package/dist/cli.js +1004 -0
  63. package/dist/cli.js.map +1 -0
  64. package/dist/graph-packages-lock.d.ts +169 -0
  65. package/dist/graph-packages-lock.d.ts.map +1 -0
  66. package/dist/graph-packages-lock.js +503 -0
  67. package/dist/graph-packages-lock.js.map +1 -0
  68. package/dist/index.d.ts +2 -0
  69. package/dist/index.d.ts.map +1 -0
  70. package/dist/index.js +2 -0
  71. package/dist/index.js.map +1 -0
  72. package/dist/local/aggregate-preflight.d.ts +12 -0
  73. package/dist/local/aggregate-preflight.d.ts.map +1 -0
  74. package/dist/local/aggregate-preflight.js +22 -0
  75. package/dist/local/aggregate-preflight.js.map +1 -0
  76. package/dist/local/allow-mcp.d.ts +77 -0
  77. package/dist/local/allow-mcp.d.ts.map +1 -0
  78. package/dist/local/allow-mcp.js +394 -0
  79. package/dist/local/allow-mcp.js.map +1 -0
  80. package/dist/local/api-client.d.ts +15 -0
  81. package/dist/local/api-client.d.ts.map +1 -0
  82. package/dist/local/api-client.js +87 -0
  83. package/dist/local/api-client.js.map +1 -0
  84. package/dist/local/app-contract-readers.d.ts +229 -0
  85. package/dist/local/app-contract-readers.d.ts.map +1 -0
  86. package/dist/local/app-contract-readers.js +450 -0
  87. package/dist/local/app-contract-readers.js.map +1 -0
  88. package/dist/local/app-org-reader.d.ts +21 -0
  89. package/dist/local/app-org-reader.d.ts.map +1 -0
  90. package/dist/local/app-org-reader.js +66 -0
  91. package/dist/local/app-org-reader.js.map +1 -0
  92. package/dist/local/app-shell-readers.d.ts +96 -0
  93. package/dist/local/app-shell-readers.d.ts.map +1 -0
  94. package/dist/local/app-shell-readers.js +381 -0
  95. package/dist/local/app-shell-readers.js.map +1 -0
  96. package/dist/local/app-tasks-read.d.ts +202 -0
  97. package/dist/local/app-tasks-read.d.ts.map +1 -0
  98. package/dist/local/app-tasks-read.js +290 -0
  99. package/dist/local/app-tasks-read.js.map +1 -0
  100. package/dist/local/app-worktrees.d.ts +69 -0
  101. package/dist/local/app-worktrees.d.ts.map +1 -0
  102. package/dist/local/app-worktrees.js +554 -0
  103. package/dist/local/app-worktrees.js.map +1 -0
  104. package/dist/local/base-sync-manifest.d.ts +12 -0
  105. package/dist/local/base-sync-manifest.d.ts.map +1 -0
  106. package/dist/local/base-sync-manifest.js +57 -0
  107. package/dist/local/base-sync-manifest.js.map +1 -0
  108. package/dist/local/blast-radius.d.ts +191 -0
  109. package/dist/local/blast-radius.d.ts.map +1 -0
  110. package/dist/local/blast-radius.js +585 -0
  111. package/dist/local/blast-radius.js.map +1 -0
  112. package/dist/local/canonical.d.ts +2 -0
  113. package/dist/local/canonical.d.ts.map +1 -0
  114. package/dist/local/canonical.js +2 -0
  115. package/dist/local/canonical.js.map +1 -0
  116. package/dist/local/config.d.ts +22 -0
  117. package/dist/local/config.d.ts.map +1 -0
  118. package/dist/local/config.js +57 -0
  119. package/dist/local/config.js.map +1 -0
  120. package/dist/local/document-commands.d.ts +163 -0
  121. package/dist/local/document-commands.d.ts.map +1 -0
  122. package/dist/local/document-commands.js +620 -0
  123. package/dist/local/document-commands.js.map +1 -0
  124. package/dist/local/document-embeds.d.ts +21 -0
  125. package/dist/local/document-embeds.d.ts.map +1 -0
  126. package/dist/local/document-embeds.js +38 -0
  127. package/dist/local/document-embeds.js.map +1 -0
  128. package/dist/local/environment-context.d.ts +39 -0
  129. package/dist/local/environment-context.d.ts.map +1 -0
  130. package/dist/local/environment-context.js +193 -0
  131. package/dist/local/environment-context.js.map +1 -0
  132. package/dist/local/environment-exclude.d.ts +7 -0
  133. package/dist/local/environment-exclude.d.ts.map +1 -0
  134. package/dist/local/environment-exclude.js +82 -0
  135. package/dist/local/environment-exclude.js.map +1 -0
  136. package/dist/local/environment-sidecar.d.ts +126 -0
  137. package/dist/local/environment-sidecar.d.ts.map +1 -0
  138. package/dist/local/environment-sidecar.js +442 -0
  139. package/dist/local/environment-sidecar.js.map +1 -0
  140. package/dist/local/environment-switch.d.ts +22 -0
  141. package/dist/local/environment-switch.d.ts.map +1 -0
  142. package/dist/local/environment-switch.js +385 -0
  143. package/dist/local/environment-switch.js.map +1 -0
  144. package/dist/local/exact-remote-projection.d.ts +17 -0
  145. package/dist/local/exact-remote-projection.d.ts.map +1 -0
  146. package/dist/local/exact-remote-projection.js +53 -0
  147. package/dist/local/exact-remote-projection.js.map +1 -0
  148. package/dist/local/experimental/path-object-store.d.ts +66 -0
  149. package/dist/local/experimental/path-object-store.d.ts.map +1 -0
  150. package/dist/local/experimental/path-object-store.js +135 -0
  151. package/dist/local/experimental/path-object-store.js.map +1 -0
  152. package/dist/local/external-worktree-binding.d.ts +21 -0
  153. package/dist/local/external-worktree-binding.d.ts.map +1 -0
  154. package/dist/local/external-worktree-binding.js +56 -0
  155. package/dist/local/external-worktree-binding.js.map +1 -0
  156. package/dist/local/folder-members.d.ts +34 -0
  157. package/dist/local/folder-members.d.ts.map +1 -0
  158. package/dist/local/folder-members.js +168 -0
  159. package/dist/local/folder-members.js.map +1 -0
  160. package/dist/local/git-ref-authority.d.ts +11 -0
  161. package/dist/local/git-ref-authority.d.ts.map +1 -0
  162. package/dist/local/git-ref-authority.js +76 -0
  163. package/dist/local/git-ref-authority.js.map +1 -0
  164. package/dist/local/git.d.ts +88 -0
  165. package/dist/local/git.d.ts.map +1 -0
  166. package/dist/local/git.js +413 -0
  167. package/dist/local/git.js.map +1 -0
  168. package/dist/local/graph-read.d.ts +168 -0
  169. package/dist/local/graph-read.d.ts.map +1 -0
  170. package/dist/local/graph-read.js +360 -0
  171. package/dist/local/graph-read.js.map +1 -0
  172. package/dist/local/graph-sync.d.ts +39 -0
  173. package/dist/local/graph-sync.d.ts.map +1 -0
  174. package/dist/local/graph-sync.js +186 -0
  175. package/dist/local/graph-sync.js.map +1 -0
  176. package/dist/local/guide-commands.d.ts +79 -0
  177. package/dist/local/guide-commands.d.ts.map +1 -0
  178. package/dist/local/guide-commands.js +247 -0
  179. package/dist/local/guide-commands.js.map +1 -0
  180. package/dist/local/health-files.d.ts +24 -0
  181. package/dist/local/health-files.d.ts.map +1 -0
  182. package/dist/local/health-files.js +133 -0
  183. package/dist/local/health-files.js.map +1 -0
  184. package/dist/local/health-inspection.d.ts +12 -0
  185. package/dist/local/health-inspection.d.ts.map +1 -0
  186. package/dist/local/health-inspection.js +407 -0
  187. package/dist/local/health-inspection.js.map +1 -0
  188. package/dist/local/health-policy.d.ts +11 -0
  189. package/dist/local/health-policy.d.ts.map +1 -0
  190. package/dist/local/health-policy.js +257 -0
  191. package/dist/local/health-policy.js.map +1 -0
  192. package/dist/local/health-projection.d.ts +14 -0
  193. package/dist/local/health-projection.d.ts.map +1 -0
  194. package/dist/local/health-projection.js +102 -0
  195. package/dist/local/health-projection.js.map +1 -0
  196. package/dist/local/health-schema.d.ts +338 -0
  197. package/dist/local/health-schema.d.ts.map +1 -0
  198. package/dist/local/health-schema.js +213 -0
  199. package/dist/local/health-schema.js.map +1 -0
  200. package/dist/local/health-store.d.ts +61 -0
  201. package/dist/local/health-store.d.ts.map +1 -0
  202. package/dist/local/health-store.js +218 -0
  203. package/dist/local/health-store.js.map +1 -0
  204. package/dist/local/index.d.ts +66 -0
  205. package/dist/local/index.d.ts.map +1 -0
  206. package/dist/local/index.js +66 -0
  207. package/dist/local/index.js.map +1 -0
  208. package/dist/local/journey-commands.d.ts +65 -0
  209. package/dist/local/journey-commands.d.ts.map +1 -0
  210. package/dist/local/journey-commands.js +138 -0
  211. package/dist/local/journey-commands.js.map +1 -0
  212. package/dist/local/local-org-store.d.ts +46 -0
  213. package/dist/local/local-org-store.d.ts.map +1 -0
  214. package/dist/local/local-org-store.js +132 -0
  215. package/dist/local/local-org-store.js.map +1 -0
  216. package/dist/local/local-org.d.ts +389 -0
  217. package/dist/local/local-org.d.ts.map +1 -0
  218. package/dist/local/local-org.js +855 -0
  219. package/dist/local/local-org.js.map +1 -0
  220. package/dist/local/media-upload.d.ts +5 -0
  221. package/dist/local/media-upload.d.ts.map +1 -0
  222. package/dist/local/media-upload.js +41 -0
  223. package/dist/local/media-upload.js.map +1 -0
  224. package/dist/local/operation.d.ts +155 -0
  225. package/dist/local/operation.d.ts.map +1 -0
  226. package/dist/local/operation.js +340 -0
  227. package/dist/local/operation.js.map +1 -0
  228. package/dist/local/ownership-reader-schema.d.ts +117 -0
  229. package/dist/local/ownership-reader-schema.d.ts.map +1 -0
  230. package/dist/local/ownership-reader-schema.js +105 -0
  231. package/dist/local/ownership-reader-schema.js.map +1 -0
  232. package/dist/local/ownership-reader-worker.d.ts +2 -0
  233. package/dist/local/ownership-reader-worker.d.ts.map +1 -0
  234. package/dist/local/ownership-reader-worker.js +341 -0
  235. package/dist/local/ownership-reader-worker.js.map +1 -0
  236. package/dist/local/ownership-reader.d.ts +10 -0
  237. package/dist/local/ownership-reader.d.ts.map +1 -0
  238. package/dist/local/ownership-reader.js +93 -0
  239. package/dist/local/ownership-reader.js.map +1 -0
  240. package/dist/local/package-uses-check.d.ts +33 -0
  241. package/dist/local/package-uses-check.d.ts.map +1 -0
  242. package/dist/local/package-uses-check.js +62 -0
  243. package/dist/local/package-uses-check.js.map +1 -0
  244. package/dist/local/pending-recovery.d.ts +22 -0
  245. package/dist/local/pending-recovery.d.ts.map +1 -0
  246. package/dist/local/pending-recovery.js +171 -0
  247. package/dist/local/pending-recovery.js.map +1 -0
  248. package/dist/local/portable-commit-store.d.ts +28 -0
  249. package/dist/local/portable-commit-store.d.ts.map +1 -0
  250. package/dist/local/portable-commit-store.js +187 -0
  251. package/dist/local/portable-commit-store.js.map +1 -0
  252. package/dist/local/portable-commit.d.ts +109 -0
  253. package/dist/local/portable-commit.d.ts.map +1 -0
  254. package/dist/local/portable-commit.js +209 -0
  255. package/dist/local/portable-commit.js.map +1 -0
  256. package/dist/local/portable-remote.d.ts +432 -0
  257. package/dist/local/portable-remote.d.ts.map +1 -0
  258. package/dist/local/portable-remote.js +280 -0
  259. package/dist/local/portable-remote.js.map +1 -0
  260. package/dist/local/project-deleted.d.ts +4 -0
  261. package/dist/local/project-deleted.d.ts.map +1 -0
  262. package/dist/local/project-deleted.js +13 -0
  263. package/dist/local/project-deleted.js.map +1 -0
  264. package/dist/local/projection.d.ts +166 -0
  265. package/dist/local/projection.d.ts.map +1 -0
  266. package/dist/local/projection.js +709 -0
  267. package/dist/local/projection.js.map +1 -0
  268. package/dist/local/read-operation.d.ts +3 -0
  269. package/dist/local/read-operation.d.ts.map +1 -0
  270. package/dist/local/read-operation.js +19 -0
  271. package/dist/local/read-operation.js.map +1 -0
  272. package/dist/local/rebuild.d.ts +11 -0
  273. package/dist/local/rebuild.d.ts.map +1 -0
  274. package/dist/local/rebuild.js +42 -0
  275. package/dist/local/rebuild.js.map +1 -0
  276. package/dist/local/remote-base.d.ts +25 -0
  277. package/dist/local/remote-base.d.ts.map +1 -0
  278. package/dist/local/remote-base.js +68 -0
  279. package/dist/local/remote-base.js.map +1 -0
  280. package/dist/local/save-layout-worker.d.ts +19 -0
  281. package/dist/local/save-layout-worker.d.ts.map +1 -0
  282. package/dist/local/save-layout-worker.js +28 -0
  283. package/dist/local/save-layout-worker.js.map +1 -0
  284. package/dist/local/save-layout.d.ts +84 -0
  285. package/dist/local/save-layout.d.ts.map +1 -0
  286. package/dist/local/save-layout.js +221 -0
  287. package/dist/local/save-layout.js.map +1 -0
  288. package/dist/local/scope-impact.d.ts +31 -0
  289. package/dist/local/scope-impact.d.ts.map +1 -0
  290. package/dist/local/scope-impact.js +32 -0
  291. package/dist/local/scope-impact.js.map +1 -0
  292. package/dist/local/source-evidence/filesystem-worker.d.ts +2 -0
  293. package/dist/local/source-evidence/filesystem-worker.d.ts.map +1 -0
  294. package/dist/local/source-evidence/filesystem-worker.js +139 -0
  295. package/dist/local/source-evidence/filesystem-worker.js.map +1 -0
  296. package/dist/local/source-evidence/processes.d.ts +20 -0
  297. package/dist/local/source-evidence/processes.d.ts.map +1 -0
  298. package/dist/local/source-evidence/processes.js +133 -0
  299. package/dist/local/source-evidence/processes.js.map +1 -0
  300. package/dist/local/source-evidence/protocol.d.ts +52 -0
  301. package/dist/local/source-evidence/protocol.d.ts.map +1 -0
  302. package/dist/local/source-evidence/protocol.js +72 -0
  303. package/dist/local/source-evidence/protocol.js.map +1 -0
  304. package/dist/local/source-evidence/reader.d.ts +14 -0
  305. package/dist/local/source-evidence/reader.d.ts.map +1 -0
  306. package/dist/local/source-evidence/reader.js +308 -0
  307. package/dist/local/source-evidence/reader.js.map +1 -0
  308. package/dist/local/source-evidence/schema.d.ts +2504 -0
  309. package/dist/local/source-evidence/schema.d.ts.map +1 -0
  310. package/dist/local/source-evidence/schema.js +99 -0
  311. package/dist/local/source-evidence/schema.js.map +1 -0
  312. package/dist/local/source-policy/loader.d.ts +29 -0
  313. package/dist/local/source-policy/loader.d.ts.map +1 -0
  314. package/dist/local/source-policy/loader.js +209 -0
  315. package/dist/local/source-policy/loader.js.map +1 -0
  316. package/dist/local/source-policy/process.d.ts +7 -0
  317. package/dist/local/source-policy/process.d.ts.map +1 -0
  318. package/dist/local/source-policy/process.js +53 -0
  319. package/dist/local/source-policy/process.js.map +1 -0
  320. package/dist/local/source-policy/protocol.d.ts +27 -0
  321. package/dist/local/source-policy/protocol.d.ts.map +1 -0
  322. package/dist/local/source-policy/protocol.js +48 -0
  323. package/dist/local/source-policy/protocol.js.map +1 -0
  324. package/dist/local/source-policy/worker.d.ts +2 -0
  325. package/dist/local/source-policy/worker.d.ts.map +1 -0
  326. package/dist/local/source-policy/worker.js +100 -0
  327. package/dist/local/source-policy/worker.js.map +1 -0
  328. package/dist/local/state-directory.d.ts +17 -0
  329. package/dist/local/state-directory.d.ts.map +1 -0
  330. package/dist/local/state-directory.js +68 -0
  331. package/dist/local/state-directory.js.map +1 -0
  332. package/dist/local/store-database.d.ts +13 -0
  333. package/dist/local/store-database.d.ts.map +1 -0
  334. package/dist/local/store-database.js +187 -0
  335. package/dist/local/store-database.js.map +1 -0
  336. package/dist/local/store.d.ts +181 -0
  337. package/dist/local/store.d.ts.map +1 -0
  338. package/dist/local/store.js +585 -0
  339. package/dist/local/store.js.map +1 -0
  340. package/dist/local/sync.d.ts +47 -0
  341. package/dist/local/sync.d.ts.map +1 -0
  342. package/dist/local/sync.js +518 -0
  343. package/dist/local/sync.js.map +1 -0
  344. package/dist/local/task-context-inspection.d.ts +23 -0
  345. package/dist/local/task-context-inspection.d.ts.map +1 -0
  346. package/dist/local/task-context-inspection.js +165 -0
  347. package/dist/local/task-context-inspection.js.map +1 -0
  348. package/dist/local/task-context-observations.d.ts +9553 -0
  349. package/dist/local/task-context-observations.d.ts.map +1 -0
  350. package/dist/local/task-context-observations.js +232 -0
  351. package/dist/local/task-context-observations.js.map +1 -0
  352. package/dist/local/task-context-provider.d.ts +18 -0
  353. package/dist/local/task-context-provider.d.ts.map +1 -0
  354. package/dist/local/task-context-provider.js +231 -0
  355. package/dist/local/task-context-provider.js.map +1 -0
  356. package/dist/local/task-context-schema.d.ts +847 -0
  357. package/dist/local/task-context-schema.d.ts.map +1 -0
  358. package/dist/local/task-context-schema.js +305 -0
  359. package/dist/local/task-context-schema.js.map +1 -0
  360. package/dist/local/task-context-source.d.ts +16 -0
  361. package/dist/local/task-context-source.d.ts.map +1 -0
  362. package/dist/local/task-context-source.js +45 -0
  363. package/dist/local/task-context-source.js.map +1 -0
  364. package/dist/local/task-context.d.ts +14 -0
  365. package/dist/local/task-context.d.ts.map +1 -0
  366. package/dist/local/task-context.js +570 -0
  367. package/dist/local/task-context.js.map +1 -0
  368. package/dist/local/test-commands.d.ts +71 -0
  369. package/dist/local/test-commands.d.ts.map +1 -0
  370. package/dist/local/test-commands.js +292 -0
  371. package/dist/local/test-commands.js.map +1 -0
  372. package/dist/local/tree-save.d.ts +117 -0
  373. package/dist/local/tree-save.d.ts.map +1 -0
  374. package/dist/local/tree-save.js +615 -0
  375. package/dist/local/tree-save.js.map +1 -0
  376. package/dist/local/variants.d.ts +125 -0
  377. package/dist/local/variants.d.ts.map +1 -0
  378. package/dist/local/variants.js +267 -0
  379. package/dist/local/variants.js.map +1 -0
  380. package/dist/local/workspace-admission.d.ts +61 -0
  381. package/dist/local/workspace-admission.d.ts.map +1 -0
  382. package/dist/local/workspace-admission.js +112 -0
  383. package/dist/local/workspace-admission.js.map +1 -0
  384. package/dist/local/workspace-authority-guard.d.ts +18 -0
  385. package/dist/local/workspace-authority-guard.d.ts.map +1 -0
  386. package/dist/local/workspace-authority-guard.js +69 -0
  387. package/dist/local/workspace-authority-guard.js.map +1 -0
  388. package/dist/local/workspace-authority.d.ts +33 -0
  389. package/dist/local/workspace-authority.d.ts.map +1 -0
  390. package/dist/local/workspace-authority.js +33 -0
  391. package/dist/local/workspace-authority.js.map +1 -0
  392. package/dist/local/workspace-branch-runtime.d.ts +61 -0
  393. package/dist/local/workspace-branch-runtime.d.ts.map +1 -0
  394. package/dist/local/workspace-branch-runtime.js +216 -0
  395. package/dist/local/workspace-branch-runtime.js.map +1 -0
  396. package/dist/local/workspace-built-content.d.ts +137 -0
  397. package/dist/local/workspace-built-content.d.ts.map +1 -0
  398. package/dist/local/workspace-built-content.js +393 -0
  399. package/dist/local/workspace-built-content.js.map +1 -0
  400. package/dist/local/workspace-claim-status-read.d.ts +53 -0
  401. package/dist/local/workspace-claim-status-read.d.ts.map +1 -0
  402. package/dist/local/workspace-claim-status-read.js +118 -0
  403. package/dist/local/workspace-claim-status-read.js.map +1 -0
  404. package/dist/local/workspace-claim-status.d.ts +172 -0
  405. package/dist/local/workspace-claim-status.d.ts.map +1 -0
  406. package/dist/local/workspace-claim-status.js +721 -0
  407. package/dist/local/workspace-claim-status.js.map +1 -0
  408. package/dist/local/workspace-claim-views.d.ts +45 -0
  409. package/dist/local/workspace-claim-views.d.ts.map +1 -0
  410. package/dist/local/workspace-claim-views.js +45 -0
  411. package/dist/local/workspace-claim-views.js.map +1 -0
  412. package/dist/local/workspace-cli.d.ts +46 -0
  413. package/dist/local/workspace-cli.d.ts.map +1 -0
  414. package/dist/local/workspace-cli.js +1524 -0
  415. package/dist/local/workspace-cli.js.map +1 -0
  416. package/dist/local/workspace-commit-resolver.d.ts +19 -0
  417. package/dist/local/workspace-commit-resolver.d.ts.map +1 -0
  418. package/dist/local/workspace-commit-resolver.js +47 -0
  419. package/dist/local/workspace-commit-resolver.js.map +1 -0
  420. package/dist/local/workspace-decision-store.d.ts +184 -0
  421. package/dist/local/workspace-decision-store.d.ts.map +1 -0
  422. package/dist/local/workspace-decision-store.js +510 -0
  423. package/dist/local/workspace-decision-store.js.map +1 -0
  424. package/dist/local/workspace-environment-runtime.d.ts +107 -0
  425. package/dist/local/workspace-environment-runtime.d.ts.map +1 -0
  426. package/dist/local/workspace-environment-runtime.js +135 -0
  427. package/dist/local/workspace-environment-runtime.js.map +1 -0
  428. package/dist/local/workspace-evidence-drop.d.ts +21 -0
  429. package/dist/local/workspace-evidence-drop.d.ts.map +1 -0
  430. package/dist/local/workspace-evidence-drop.js +58 -0
  431. package/dist/local/workspace-evidence-drop.js.map +1 -0
  432. package/dist/local/workspace-evidence-sign-tool.d.ts +20 -0
  433. package/dist/local/workspace-evidence-sign-tool.d.ts.map +1 -0
  434. package/dist/local/workspace-evidence-sign-tool.js +85 -0
  435. package/dist/local/workspace-evidence-sign-tool.js.map +1 -0
  436. package/dist/local/workspace-evidence-status.d.ts +89 -0
  437. package/dist/local/workspace-evidence-status.d.ts.map +1 -0
  438. package/dist/local/workspace-evidence-status.js +141 -0
  439. package/dist/local/workspace-evidence-status.js.map +1 -0
  440. package/dist/local/workspace-evidence.d.ts +145 -0
  441. package/dist/local/workspace-evidence.d.ts.map +1 -0
  442. package/dist/local/workspace-evidence.js +347 -0
  443. package/dist/local/workspace-evidence.js.map +1 -0
  444. package/dist/local/workspace-graph-store.d.ts +32 -0
  445. package/dist/local/workspace-graph-store.d.ts.map +1 -0
  446. package/dist/local/workspace-graph-store.js +249 -0
  447. package/dist/local/workspace-graph-store.js.map +1 -0
  448. package/dist/local/workspace-handoff.d.ts +32 -0
  449. package/dist/local/workspace-handoff.d.ts.map +1 -0
  450. package/dist/local/workspace-handoff.js +144 -0
  451. package/dist/local/workspace-handoff.js.map +1 -0
  452. package/dist/local/workspace-history-journal.d.ts +70 -0
  453. package/dist/local/workspace-history-journal.d.ts.map +1 -0
  454. package/dist/local/workspace-history-journal.js +131 -0
  455. package/dist/local/workspace-history-journal.js.map +1 -0
  456. package/dist/local/workspace-history-store.d.ts +98 -0
  457. package/dist/local/workspace-history-store.d.ts.map +1 -0
  458. package/dist/local/workspace-history-store.js +632 -0
  459. package/dist/local/workspace-history-store.js.map +1 -0
  460. package/dist/local/workspace-history-types.d.ts +307 -0
  461. package/dist/local/workspace-history-types.d.ts.map +1 -0
  462. package/dist/local/workspace-history-types.js +2 -0
  463. package/dist/local/workspace-history-types.js.map +1 -0
  464. package/dist/local/workspace-integration-runtime.d.ts +48 -0
  465. package/dist/local/workspace-integration-runtime.d.ts.map +1 -0
  466. package/dist/local/workspace-integration-runtime.js +419 -0
  467. package/dist/local/workspace-integration-runtime.js.map +1 -0
  468. package/dist/local/workspace-lock.d.ts +7 -0
  469. package/dist/local/workspace-lock.d.ts.map +1 -0
  470. package/dist/local/workspace-lock.js +211 -0
  471. package/dist/local/workspace-lock.js.map +1 -0
  472. package/dist/local/workspace-merge.d.ts +77 -0
  473. package/dist/local/workspace-merge.d.ts.map +1 -0
  474. package/dist/local/workspace-merge.js +703 -0
  475. package/dist/local/workspace-merge.js.map +1 -0
  476. package/dist/local/workspace-mixed-history.d.ts +33 -0
  477. package/dist/local/workspace-mixed-history.d.ts.map +1 -0
  478. package/dist/local/workspace-mixed-history.js +107 -0
  479. package/dist/local/workspace-mixed-history.js.map +1 -0
  480. package/dist/local/workspace-overlap-allocation.d.ts +33 -0
  481. package/dist/local/workspace-overlap-allocation.d.ts.map +1 -0
  482. package/dist/local/workspace-overlap-allocation.js +69 -0
  483. package/dist/local/workspace-overlap-allocation.js.map +1 -0
  484. package/dist/local/workspace-overlap-impact.d.ts +46 -0
  485. package/dist/local/workspace-overlap-impact.d.ts.map +1 -0
  486. package/dist/local/workspace-overlap-impact.js +162 -0
  487. package/dist/local/workspace-overlap-impact.js.map +1 -0
  488. package/dist/local/workspace-overlap.d.ts +109 -0
  489. package/dist/local/workspace-overlap.d.ts.map +1 -0
  490. package/dist/local/workspace-overlap.js +327 -0
  491. package/dist/local/workspace-overlap.js.map +1 -0
  492. package/dist/local/workspace-paths.d.ts +4 -0
  493. package/dist/local/workspace-paths.d.ts.map +1 -0
  494. package/dist/local/workspace-paths.js +8 -0
  495. package/dist/local/workspace-paths.js.map +1 -0
  496. package/dist/local/workspace-pick-runtime.d.ts +70 -0
  497. package/dist/local/workspace-pick-runtime.d.ts.map +1 -0
  498. package/dist/local/workspace-pick-runtime.js +177 -0
  499. package/dist/local/workspace-pick-runtime.js.map +1 -0
  500. package/dist/local/workspace-pick-store.d.ts +33 -0
  501. package/dist/local/workspace-pick-store.d.ts.map +1 -0
  502. package/dist/local/workspace-pick-store.js +43 -0
  503. package/dist/local/workspace-pick-store.js.map +1 -0
  504. package/dist/local/workspace-pick.d.ts +73 -0
  505. package/dist/local/workspace-pick.d.ts.map +1 -0
  506. package/dist/local/workspace-pick.js +253 -0
  507. package/dist/local/workspace-pick.js.map +1 -0
  508. package/dist/local/workspace-portable-authoring.d.ts +43 -0
  509. package/dist/local/workspace-portable-authoring.d.ts.map +1 -0
  510. package/dist/local/workspace-portable-authoring.js +128 -0
  511. package/dist/local/workspace-portable-authoring.js.map +1 -0
  512. package/dist/local/workspace-prune.d.ts +63 -0
  513. package/dist/local/workspace-prune.d.ts.map +1 -0
  514. package/dist/local/workspace-prune.js +267 -0
  515. package/dist/local/workspace-prune.js.map +1 -0
  516. package/dist/local/workspace-remote-fetch.d.ts +82 -0
  517. package/dist/local/workspace-remote-fetch.d.ts.map +1 -0
  518. package/dist/local/workspace-remote-fetch.js +409 -0
  519. package/dist/local/workspace-remote-fetch.js.map +1 -0
  520. package/dist/local/workspace-remote-provider.d.ts +97 -0
  521. package/dist/local/workspace-remote-provider.d.ts.map +1 -0
  522. package/dist/local/workspace-remote-provider.js +400 -0
  523. package/dist/local/workspace-remote-provider.js.map +1 -0
  524. package/dist/local/workspace-remote-pull-request-journal.d.ts +49 -0
  525. package/dist/local/workspace-remote-pull-request-journal.d.ts.map +1 -0
  526. package/dist/local/workspace-remote-pull-request-journal.js +63 -0
  527. package/dist/local/workspace-remote-pull-request-journal.js.map +1 -0
  528. package/dist/local/workspace-remote-pull-request.d.ts +36 -0
  529. package/dist/local/workspace-remote-pull-request.d.ts.map +1 -0
  530. package/dist/local/workspace-remote-pull-request.js +158 -0
  531. package/dist/local/workspace-remote-pull-request.js.map +1 -0
  532. package/dist/local/workspace-remote-push.d.ts +88 -0
  533. package/dist/local/workspace-remote-push.d.ts.map +1 -0
  534. package/dist/local/workspace-remote-push.js +297 -0
  535. package/dist/local/workspace-remote-push.js.map +1 -0
  536. package/dist/local/workspace-remote-topic-journal.d.ts +56 -0
  537. package/dist/local/workspace-remote-topic-journal.d.ts.map +1 -0
  538. package/dist/local/workspace-remote-topic-journal.js +121 -0
  539. package/dist/local/workspace-remote-topic-journal.js.map +1 -0
  540. package/dist/local/workspace-remote-topic.d.ts +45 -0
  541. package/dist/local/workspace-remote-topic.d.ts.map +1 -0
  542. package/dist/local/workspace-remote-topic.js +204 -0
  543. package/dist/local/workspace-remote-topic.js.map +1 -0
  544. package/dist/local/workspace-remote-transfer.d.ts +76 -0
  545. package/dist/local/workspace-remote-transfer.d.ts.map +1 -0
  546. package/dist/local/workspace-remote-transfer.js +270 -0
  547. package/dist/local/workspace-remote-transfer.js.map +1 -0
  548. package/dist/local/workspace-resolution.d.ts +145 -0
  549. package/dist/local/workspace-resolution.d.ts.map +1 -0
  550. package/dist/local/workspace-resolution.js +479 -0
  551. package/dist/local/workspace-resolution.js.map +1 -0
  552. package/dist/local/workspace-resolver-provider.d.ts +72 -0
  553. package/dist/local/workspace-resolver-provider.d.ts.map +1 -0
  554. package/dist/local/workspace-resolver-provider.js +312 -0
  555. package/dist/local/workspace-resolver-provider.js.map +1 -0
  556. package/dist/local/workspace-runtime-handoff.d.ts +52 -0
  557. package/dist/local/workspace-runtime-handoff.d.ts.map +1 -0
  558. package/dist/local/workspace-runtime-handoff.js +237 -0
  559. package/dist/local/workspace-runtime-handoff.js.map +1 -0
  560. package/dist/local/workspace-runtime-lease.d.ts +26 -0
  561. package/dist/local/workspace-runtime-lease.d.ts.map +1 -0
  562. package/dist/local/workspace-runtime-lease.js +123 -0
  563. package/dist/local/workspace-runtime-lease.js.map +1 -0
  564. package/dist/local/workspace-runtime.d.ts +690 -0
  565. package/dist/local/workspace-runtime.d.ts.map +1 -0
  566. package/dist/local/workspace-runtime.js +2124 -0
  567. package/dist/local/workspace-runtime.js.map +1 -0
  568. package/dist/local/workspace-scope.d.ts +70 -0
  569. package/dist/local/workspace-scope.d.ts.map +1 -0
  570. package/dist/local/workspace-scope.js +206 -0
  571. package/dist/local/workspace-scope.js.map +1 -0
  572. package/dist/local/workspace-sources.d.ts +159 -0
  573. package/dist/local/workspace-sources.d.ts.map +1 -0
  574. package/dist/local/workspace-sources.js +570 -0
  575. package/dist/local/workspace-sources.js.map +1 -0
  576. package/dist/local/workspace-store-database.d.ts +5 -0
  577. package/dist/local/workspace-store-database.d.ts.map +1 -0
  578. package/dist/local/workspace-store-database.js +726 -0
  579. package/dist/local/workspace-store-database.js.map +1 -0
  580. package/dist/local/workspace-store.d.ts +261 -0
  581. package/dist/local/workspace-store.d.ts.map +1 -0
  582. package/dist/local/workspace-store.js +831 -0
  583. package/dist/local/workspace-store.js.map +1 -0
  584. package/dist/local/workspace-topology-runtime.d.ts +27 -0
  585. package/dist/local/workspace-topology-runtime.d.ts.map +1 -0
  586. package/dist/local/workspace-topology-runtime.js +396 -0
  587. package/dist/local/workspace-topology-runtime.js.map +1 -0
  588. package/dist/local/workspace-topology.d.ts +140 -0
  589. package/dist/local/workspace-topology.d.ts.map +1 -0
  590. package/dist/local/workspace-topology.js +359 -0
  591. package/dist/local/workspace-topology.js.map +1 -0
  592. package/dist/local/workspace-upstream-inspection.d.ts +60 -0
  593. package/dist/local/workspace-upstream-inspection.d.ts.map +1 -0
  594. package/dist/local/workspace-upstream-inspection.js +189 -0
  595. package/dist/local/workspace-upstream-inspection.js.map +1 -0
  596. package/dist/local/workspace-upstream-runtime.d.ts +91 -0
  597. package/dist/local/workspace-upstream-runtime.d.ts.map +1 -0
  598. package/dist/local/workspace-upstream-runtime.js +270 -0
  599. package/dist/local/workspace-upstream-runtime.js.map +1 -0
  600. package/dist/local/workspace-upstream-store.d.ts +51 -0
  601. package/dist/local/workspace-upstream-store.d.ts.map +1 -0
  602. package/dist/local/workspace-upstream-store.js +475 -0
  603. package/dist/local/workspace-upstream-store.js.map +1 -0
  604. package/dist/local/workspace-viewer-server.d.ts +136 -0
  605. package/dist/local/workspace-viewer-server.d.ts.map +1 -0
  606. package/dist/local/workspace-viewer-server.js +1097 -0
  607. package/dist/local/workspace-viewer-server.js.map +1 -0
  608. package/dist/local/workspace-viewer-snapshot.d.ts +49 -0
  609. package/dist/local/workspace-viewer-snapshot.d.ts.map +1 -0
  610. package/dist/local/workspace-viewer-snapshot.js +91 -0
  611. package/dist/local/workspace-viewer-snapshot.js.map +1 -0
  612. package/dist/local/worktree-projection.d.ts +76 -0
  613. package/dist/local/worktree-projection.d.ts.map +1 -0
  614. package/dist/local/worktree-projection.js +470 -0
  615. package/dist/local/worktree-projection.js.map +1 -0
  616. package/dist/mcp/client-identity.d.ts +8 -0
  617. package/dist/mcp/client-identity.d.ts.map +1 -0
  618. package/dist/mcp/client-identity.js +33 -0
  619. package/dist/mcp/client-identity.js.map +1 -0
  620. package/dist/mcp/graph-to-code.d.ts +53 -0
  621. package/dist/mcp/graph-to-code.d.ts.map +1 -0
  622. package/dist/mcp/graph-to-code.js +1624 -0
  623. package/dist/mcp/graph-to-code.js.map +1 -0
  624. package/dist/mcp/index.d.ts +3 -0
  625. package/dist/mcp/index.d.ts.map +1 -0
  626. package/dist/mcp/index.js +3 -0
  627. package/dist/mcp/index.js.map +1 -0
  628. package/dist/mcp/stdio/graph-to-code.d.ts +3 -0
  629. package/dist/mcp/stdio/graph-to-code.d.ts.map +1 -0
  630. package/dist/mcp/stdio/graph-to-code.js +55 -0
  631. package/dist/mcp/stdio/graph-to-code.js.map +1 -0
  632. package/dist/mcp/stdio/worktree.d.ts +3 -0
  633. package/dist/mcp/stdio/worktree.d.ts.map +1 -0
  634. package/dist/mcp/stdio/worktree.js +67 -0
  635. package/dist/mcp/stdio/worktree.js.map +1 -0
  636. package/dist/mcp/worktree-claim-status.d.ts +162 -0
  637. package/dist/mcp/worktree-claim-status.d.ts.map +1 -0
  638. package/dist/mcp/worktree-claim-status.js +113 -0
  639. package/dist/mcp/worktree-claim-status.js.map +1 -0
  640. package/dist/mcp/worktree-dispatch.d.ts +13 -0
  641. package/dist/mcp/worktree-dispatch.d.ts.map +1 -0
  642. package/dist/mcp/worktree-dispatch.js +52 -0
  643. package/dist/mcp/worktree-dispatch.js.map +1 -0
  644. package/dist/mcp/worktree-errors.d.ts +15 -0
  645. package/dist/mcp/worktree-errors.d.ts.map +1 -0
  646. package/dist/mcp/worktree-errors.js +17 -0
  647. package/dist/mcp/worktree-errors.js.map +1 -0
  648. package/dist/mcp/worktree-health.d.ts +12 -0
  649. package/dist/mcp/worktree-health.d.ts.map +1 -0
  650. package/dist/mcp/worktree-health.js +32 -0
  651. package/dist/mcp/worktree-health.js.map +1 -0
  652. package/dist/mcp/worktree-results.d.ts +15 -0
  653. package/dist/mcp/worktree-results.d.ts.map +1 -0
  654. package/dist/mcp/worktree-results.js +12 -0
  655. package/dist/mcp/worktree-results.js.map +1 -0
  656. package/dist/mcp/worktree-task-context.d.ts +57 -0
  657. package/dist/mcp/worktree-task-context.d.ts.map +1 -0
  658. package/dist/mcp/worktree-task-context.js +45 -0
  659. package/dist/mcp/worktree-task-context.js.map +1 -0
  660. package/dist/mcp/worktree-tools.d.ts +2648 -0
  661. package/dist/mcp/worktree-tools.d.ts.map +1 -0
  662. package/dist/mcp/worktree-tools.js +192 -0
  663. package/dist/mcp/worktree-tools.js.map +1 -0
  664. package/dist/mcp/worktree.d.ts +33 -0
  665. package/dist/mcp/worktree.d.ts.map +1 -0
  666. package/dist/mcp/worktree.js +551 -0
  667. package/dist/mcp/worktree.js.map +1 -0
  668. package/dist/own-package.d.ts +13 -0
  669. package/dist/own-package.d.ts.map +1 -0
  670. package/dist/own-package.js +32 -0
  671. package/dist/own-package.js.map +1 -0
  672. package/dist/packages-browse.d.ts +107 -0
  673. package/dist/packages-browse.d.ts.map +1 -0
  674. package/dist/packages-browse.js +646 -0
  675. package/dist/packages-browse.js.map +1 -0
  676. package/dist/packages-cli.d.ts +8 -0
  677. package/dist/packages-cli.d.ts.map +1 -0
  678. package/dist/packages-cli.js +184 -0
  679. package/dist/packages-cli.js.map +1 -0
  680. package/dist/packages-uses.d.ts +46 -0
  681. package/dist/packages-uses.d.ts.map +1 -0
  682. package/dist/packages-uses.js +737 -0
  683. package/dist/packages-uses.js.map +1 -0
  684. package/dist/portable.d.ts +7 -0
  685. package/dist/portable.d.ts.map +1 -0
  686. package/dist/portable.js +14 -0
  687. package/dist/portable.js.map +1 -0
  688. package/dist/quiet-warnings.d.ts +3 -0
  689. package/dist/quiet-warnings.d.ts.map +1 -0
  690. package/dist/quiet-warnings.js +21 -0
  691. package/dist/quiet-warnings.js.map +1 -0
  692. package/dist/view-seam.d.ts +62 -0
  693. package/dist/view-seam.d.ts.map +1 -0
  694. package/dist/view-seam.js +70 -0
  695. package/dist/view-seam.js.map +1 -0
  696. package/generated/graph-packages/index.json +5 -0
  697. package/graph-packages.lock.json +4 -0
  698. package/package.json +81 -0
  699. package/viewer/assets/index-BZKGDARF.css +1 -0
  700. package/viewer/assets/index-DWu0CbZZ.js +272 -0
  701. package/viewer/index.html +13 -0
@@ -0,0 +1,475 @@
1
+ import { createHash, randomUUID } from 'node:crypto';
2
+ import { stringifyCanonicalJson } from './canonical.js';
3
+ import { requireMutableLocalBranchRef } from './git-ref-authority.js';
4
+ import { parsePortableCommit } from './portable-commit.js';
5
+ import { LocalMixedHistoryGraph } from './workspace-mixed-history.js';
6
+ function requireValue(value, label) {
7
+ const normalized_value = value.trim();
8
+ if (normalized_value.length === 0) {
9
+ throw new Error(`${label} must not be empty.`);
10
+ }
11
+ return normalized_value;
12
+ }
13
+ function parseStringArray(value, label) {
14
+ const parsed = JSON.parse(value);
15
+ if (!Array.isArray(parsed) ||
16
+ parsed.some((entry) => typeof entry !== 'string')) {
17
+ throw new Error(`${label} is corrupt.`);
18
+ }
19
+ return parsed;
20
+ }
21
+ export class LocalWorkspaceUpstreamStore {
22
+ database;
23
+ journal;
24
+ mixed_history;
25
+ constructor(database, journal) {
26
+ this.database = database;
27
+ this.journal = journal;
28
+ this.mixed_history = new LocalMixedHistoryGraph((commit_id) => this.canonicalCommitId(commit_id), (commit_id) => {
29
+ const portable = this.database
30
+ .prepare('select commit_json from portable_commit where id = ?')
31
+ .get(commit_id);
32
+ if (portable) {
33
+ const commit = parsePortableCommit(JSON.parse(portable.commit_json));
34
+ return {
35
+ root_hash: commit.graph_root,
36
+ parent_ids: commit.parent_ids
37
+ };
38
+ }
39
+ const local = this.localCommit(commit_id);
40
+ return local
41
+ ? { root_hash: local.root_hash, parent_ids: local.parent_ids }
42
+ : null;
43
+ });
44
+ }
45
+ listAttempts(local_ref) {
46
+ if (local_ref) {
47
+ const ref = requireMutableLocalBranchRef(local_ref, 'Local SDLC branch ref');
48
+ return this.database
49
+ .prepare(`select * from local_branch_integration_attempt
50
+ where local_ref = ? order by created_at, id`)
51
+ .all(ref);
52
+ }
53
+ return this.database
54
+ .prepare('select * from local_branch_integration_attempt order by created_at, id')
55
+ .all();
56
+ }
57
+ listResolutionAttempts(branch_integration_attempt_id) {
58
+ return this.database
59
+ .prepare(`select * from local_branch_integration_resolution_attempt
60
+ where branch_integration_attempt_id = ? order by created_at, id`)
61
+ .all(requireValue(branch_integration_attempt_id, 'Branch integration attempt id'));
62
+ }
63
+ getAttempt(attempt_id) {
64
+ return (this.database
65
+ .prepare('select * from local_branch_integration_attempt where id = ?')
66
+ .get(requireValue(attempt_id, 'Branch integration attempt id')) ?? null);
67
+ }
68
+ listRevertAttempts(local_ref) {
69
+ if (local_ref) {
70
+ const ref = requireMutableLocalBranchRef(local_ref, 'Local SDLC branch ref');
71
+ return this.database
72
+ .prepare(`select * from local_branch_integration_revert_attempt
73
+ where local_ref = ? order by created_at, id`)
74
+ .all(ref);
75
+ }
76
+ return this.database
77
+ .prepare(`select * from local_branch_integration_revert_attempt
78
+ order by created_at, id`)
79
+ .all();
80
+ }
81
+ revert(input) {
82
+ return this.runTransaction(() => {
83
+ const workspace = this.requireActiveWorkspace(input.actor_workspace_id);
84
+ if (workspace.actor_kind !== 'human') {
85
+ throw new Error('Upstream integration revert is owned by the active human workspace.');
86
+ }
87
+ const integration = this.getAttempt(input.branch_integration_attempt_id);
88
+ if (!integration) {
89
+ throw new Error('Branch integration attempt was not found.');
90
+ }
91
+ if (integration.status !== 'fast_forwarded' &&
92
+ integration.status !== 'merged') {
93
+ throw new Error('Only a successful head-moving integration can be reverted.');
94
+ }
95
+ if (!integration.resulting_head_commit_id) {
96
+ throw new Error('Successful integration has no resulting head.');
97
+ }
98
+ if (workspace.attached_ref !== integration.local_ref) {
99
+ throw new Error('The current workspace is not attached to the integrated local branch.');
100
+ }
101
+ const local = this.database
102
+ .prepare('select head_commit_id from local_workspace_ref where ref_name = ?')
103
+ .get(integration.local_ref);
104
+ if (!local)
105
+ throw new Error('Integrated local branch was not found.');
106
+ const expected_head_commit_id = integration.resulting_head_commit_id;
107
+ const observed_head_commit_id = local.head_commit_id;
108
+ const stale = workspace.head_sdlc_commit_id !== expected_head_commit_id ||
109
+ observed_head_commit_id !== expected_head_commit_id;
110
+ if (stale) {
111
+ const attempt = this.recordRevertAttempt({
112
+ integration,
113
+ workspace_id: workspace.id,
114
+ expected_head_commit_id,
115
+ observed_head_commit_id,
116
+ revert_commit_id: null,
117
+ status: 'stale_head',
118
+ validation_evidence: []
119
+ });
120
+ return {
121
+ version: 1,
122
+ status: 'stale_head',
123
+ attempt,
124
+ current_head_commit_id: workspace.head_sdlc_commit_id
125
+ };
126
+ }
127
+ const previous_revert = this.database
128
+ .prepare(`select id from local_branch_integration_revert_attempt
129
+ where branch_integration_attempt_id = ? and status = 'reverted'`)
130
+ .get(integration.id);
131
+ if (previous_revert) {
132
+ throw new Error('Branch integration was already reverted.');
133
+ }
134
+ if (this.mixed_history.root(integration.expected_local_commit_id) !==
135
+ input.target_root_hash) {
136
+ throw new Error('Revert target root does not match the pre-integration commit.');
137
+ }
138
+ const validation_evidence = input.validation_evidence ?? [];
139
+ const commit = this.createCommit({
140
+ root_hash: input.target_root_hash,
141
+ parent_ids: [expected_head_commit_id],
142
+ author_workspace_id: workspace.id,
143
+ message: input.message ?? `Revert upstream integration ${integration.id}`,
144
+ validation_status: 'passed',
145
+ validation_evidence
146
+ });
147
+ this.advanceWorkspaceHead(workspace, commit.id);
148
+ const attempt = this.recordRevertAttempt({
149
+ integration,
150
+ workspace_id: workspace.id,
151
+ expected_head_commit_id,
152
+ observed_head_commit_id,
153
+ revert_commit_id: commit.id,
154
+ status: 'reverted',
155
+ validation_evidence
156
+ });
157
+ return { version: 1, status: 'reverted', attempt, commit };
158
+ });
159
+ }
160
+ integrate(input) {
161
+ return this.runTransaction(() => {
162
+ const workspace = this.requireActiveWorkspace(input.actor_workspace_id);
163
+ const local_ref = requireMutableLocalBranchRef(input.local_ref, 'Local SDLC branch ref');
164
+ if (workspace.actor_kind !== 'human') {
165
+ throw new Error('Upstream integration is owned by the active human workspace.');
166
+ }
167
+ if (workspace.attached_ref !== local_ref) {
168
+ throw new Error('The current workspace is not attached to the selected local branch.');
169
+ }
170
+ this.assertAssociation(input, local_ref);
171
+ const local = this.database
172
+ .prepare('select head_commit_id from local_workspace_ref where ref_name = ?')
173
+ .get(local_ref);
174
+ const upstream = this.database
175
+ .prepare(`select commit_id from remote_tracking_ref
176
+ where remote_name = ? and source_ref = ? and tracking_ref = ?`)
177
+ .get(input.remote_name, input.source_ref, input.tracking_ref);
178
+ const stale = workspace.head_sdlc_commit_id !== input.expected_local_commit_id ||
179
+ local?.head_commit_id !== input.expected_local_commit_id ||
180
+ upstream?.commit_id !== input.expected_upstream_commit_id;
181
+ this.assertMergeBindings(input);
182
+ const candidate = this.createCandidate(input, workspace.id);
183
+ if (stale) {
184
+ const attempt = this.recordAttempt({
185
+ input,
186
+ workspace_id: workspace.id,
187
+ candidate,
188
+ resulting_head_commit_id: null,
189
+ status: 'stale_head'
190
+ });
191
+ return {
192
+ version: 1,
193
+ status: 'stale_head',
194
+ attempt,
195
+ current_local_commit_id: local?.head_commit_id ?? workspace.head_sdlc_commit_id,
196
+ current_upstream_commit_id: upstream?.commit_id ?? null,
197
+ candidate_commit_id: candidate?.id ?? null
198
+ };
199
+ }
200
+ if (input.merge_result.status === 'blocked_conflict') {
201
+ const attempt = this.recordAttempt({
202
+ input,
203
+ workspace_id: workspace.id,
204
+ candidate: null,
205
+ resulting_head_commit_id: null,
206
+ status: 'blocked_conflict'
207
+ });
208
+ return {
209
+ version: 1,
210
+ status: 'blocked_conflict',
211
+ attempt,
212
+ candidate_commit_id: null
213
+ };
214
+ }
215
+ if (input.merge_result.status === 'blocked_validation') {
216
+ const attempt = this.recordAttempt({
217
+ input,
218
+ workspace_id: workspace.id,
219
+ candidate,
220
+ resulting_head_commit_id: null,
221
+ status: 'blocked_validation'
222
+ });
223
+ return {
224
+ version: 1,
225
+ status: 'blocked_validation',
226
+ attempt,
227
+ candidate_commit_id: candidate?.id ?? null
228
+ };
229
+ }
230
+ if (input.mode === 'already_integrated') {
231
+ const attempt = this.recordAttempt({
232
+ input,
233
+ workspace_id: workspace.id,
234
+ candidate: null,
235
+ resulting_head_commit_id: input.expected_local_commit_id,
236
+ status: 'already_integrated'
237
+ });
238
+ return {
239
+ version: 1,
240
+ status: 'already_integrated',
241
+ attempt,
242
+ head_commit_id: input.expected_local_commit_id
243
+ };
244
+ }
245
+ const next_head_commit_id = input.mode === 'fast_forward'
246
+ ? input.expected_upstream_commit_id
247
+ : candidate?.id;
248
+ if (!next_head_commit_id) {
249
+ throw new Error('Clean upstream integration candidate was not created.');
250
+ }
251
+ this.advanceWorkspaceHead(workspace, next_head_commit_id);
252
+ const status = input.mode === 'fast_forward' ? 'fast_forwarded' : 'merged';
253
+ const attempt = this.recordAttempt({
254
+ input,
255
+ workspace_id: workspace.id,
256
+ candidate,
257
+ resulting_head_commit_id: next_head_commit_id,
258
+ status
259
+ });
260
+ return status === 'fast_forwarded'
261
+ ? { version: 1, status, attempt, head_commit_id: next_head_commit_id }
262
+ : {
263
+ version: 1,
264
+ status,
265
+ attempt,
266
+ commit: candidate
267
+ };
268
+ });
269
+ }
270
+ runTransaction(operation) {
271
+ this.database.exec('begin immediate');
272
+ try {
273
+ const result = operation();
274
+ this.database.exec('commit');
275
+ return result;
276
+ }
277
+ catch (error) {
278
+ this.database.exec('rollback');
279
+ throw error;
280
+ }
281
+ }
282
+ requireActiveWorkspace(workspace_id) {
283
+ const workspace = this.database
284
+ .prepare(`select id, actor_kind, head_sdlc_commit_id, attached_ref, status
285
+ from local_workspace where id = ?`)
286
+ .get(workspace_id);
287
+ if (!workspace || workspace.status !== 'active') {
288
+ throw new Error('Active local workspace was not found.');
289
+ }
290
+ return workspace;
291
+ }
292
+ assertAssociation(input, local_ref) {
293
+ const association = this.database
294
+ .prepare('select * from local_branch_association where local_ref = ?')
295
+ .get(local_ref);
296
+ if (!association ||
297
+ association.upstream_remote_name !== input.remote_name ||
298
+ association.upstream_source_ref !== input.source_ref ||
299
+ association.upstream_tracking_ref !== input.tracking_ref) {
300
+ throw new Error('Local branch upstream association changed.');
301
+ }
302
+ }
303
+ createCandidate(input, workspace_id) {
304
+ if (input.mode !== 'merge' ||
305
+ input.merge_result.status === 'blocked_conflict') {
306
+ return null;
307
+ }
308
+ return this.createCommit({
309
+ root_hash: input.merge_result.root_hash,
310
+ parent_ids: [
311
+ input.expected_local_commit_id,
312
+ input.expected_upstream_commit_id
313
+ ],
314
+ author_workspace_id: workspace_id,
315
+ message: input.message ??
316
+ `Merge upstream commit ${input.expected_upstream_commit_id}`,
317
+ validation_status: input.merge_result.status === 'clean' ? 'passed' : 'failed',
318
+ validation_evidence: input.merge_result.status === 'clean'
319
+ ? (input.validation_evidence ?? [])
320
+ : input.merge_result.issues.map((issue) => `${issue.code}: ${issue.message}`)
321
+ });
322
+ }
323
+ createCommit(input) {
324
+ const created_at = new Date().toISOString();
325
+ const content = {
326
+ version: 1,
327
+ root_hash: requireValue(input.root_hash, 'Commit root hash'),
328
+ parent_ids: input.parent_ids.map((parent_id) => requireValue(parent_id, 'Parent commit id')),
329
+ author_workspace_id: input.author_workspace_id,
330
+ message: requireValue(input.message, 'Commit message'),
331
+ validation_status: input.validation_status,
332
+ validation_evidence: input.validation_evidence,
333
+ created_at
334
+ };
335
+ const commit = {
336
+ id: `sha256:${createHash('sha256')
337
+ .update(stringifyCanonicalJson(content))
338
+ .digest('hex')}`,
339
+ ...content
340
+ };
341
+ this.database
342
+ .prepare(`insert into local_workspace_commit (
343
+ id, root_hash, parent_ids_json, author_workspace_id, message,
344
+ validation_status, validation_evidence_json, created_at
345
+ ) values (?, ?, ?, ?, ?, ?, ?, ?)`)
346
+ .run(commit.id, commit.root_hash, stringifyCanonicalJson(commit.parent_ids), commit.author_workspace_id, commit.message, commit.validation_status, stringifyCanonicalJson(commit.validation_evidence), commit.created_at);
347
+ return commit;
348
+ }
349
+ advanceWorkspaceHead(workspace, next_head_commit_id) {
350
+ if (!workspace.attached_ref) {
351
+ throw new Error('Upstream integration requires an attached local branch.');
352
+ }
353
+ const now = new Date().toISOString();
354
+ const ref_update = this.database
355
+ .prepare(`update local_workspace_ref set head_commit_id = ?, updated_at = ?
356
+ where ref_name = ? and head_commit_id = ?`)
357
+ .run(next_head_commit_id, now, workspace.attached_ref, workspace.head_sdlc_commit_id);
358
+ const workspace_update = this.database
359
+ .prepare(`update local_workspace set head_sdlc_commit_id = ?, updated_at = ?
360
+ where id = ? and head_sdlc_commit_id = ?`)
361
+ .run(next_head_commit_id, now, workspace.id, workspace.head_sdlc_commit_id);
362
+ if (ref_update.changes !== 1 || workspace_update.changes !== 1) {
363
+ throw new Error('Upstream integration head CAS failed.');
364
+ }
365
+ }
366
+ recordAttempt(input) {
367
+ const attempt_id = this.journal.insertBranchIntegrationAttempt({
368
+ workspace_id: input.workspace_id,
369
+ local_ref: input.input.local_ref,
370
+ tracking_ref: input.input.tracking_ref,
371
+ expected_local_commit_id: input.input.expected_local_commit_id,
372
+ expected_upstream_commit_id: input.input.expected_upstream_commit_id,
373
+ merge_base_commit_id: input.input.merge_base_commit_id,
374
+ candidate_commit_id: input.candidate?.id ?? null,
375
+ resulting_head_commit_id: input.resulting_head_commit_id,
376
+ status: input.status,
377
+ merge_result: input.input.merge_result
378
+ });
379
+ this.journal.insertBranchIntegrationResolutionAttempts({
380
+ branch_integration_attempt_id: attempt_id,
381
+ attempts: input.input.resolution_attempts ?? [],
382
+ resulting_commit_id: input.candidate?.id ?? null,
383
+ resulting_root_hash: input.candidate?.root_hash ?? null
384
+ });
385
+ const attempt = this.database
386
+ .prepare('select * from local_branch_integration_attempt where id = ?')
387
+ .get(attempt_id);
388
+ if (!attempt) {
389
+ throw new Error('Branch integration attempt was not persisted.');
390
+ }
391
+ return attempt;
392
+ }
393
+ recordRevertAttempt(input) {
394
+ const attempt = {
395
+ id: randomUUID(),
396
+ branch_integration_attempt_id: input.integration.id,
397
+ workspace_id: input.workspace_id,
398
+ local_ref: input.integration.local_ref,
399
+ expected_head_commit_id: input.expected_head_commit_id,
400
+ observed_head_commit_id: input.observed_head_commit_id,
401
+ target_commit_id: input.integration.expected_local_commit_id,
402
+ revert_commit_id: input.revert_commit_id,
403
+ status: input.status,
404
+ validation_json: stringifyCanonicalJson(input.validation_evidence),
405
+ created_at: new Date().toISOString()
406
+ };
407
+ this.database
408
+ .prepare(`insert into local_branch_integration_revert_attempt (
409
+ id, branch_integration_attempt_id, workspace_id, local_ref,
410
+ expected_head_commit_id, observed_head_commit_id, target_commit_id,
411
+ revert_commit_id, status, validation_json, created_at
412
+ ) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
413
+ .run(attempt.id, attempt.branch_integration_attempt_id, attempt.workspace_id, attempt.local_ref, attempt.expected_head_commit_id, attempt.observed_head_commit_id, attempt.target_commit_id, attempt.revert_commit_id, attempt.status, attempt.validation_json, attempt.created_at);
414
+ return attempt;
415
+ }
416
+ assertMergeBindings(input) {
417
+ if (!this.mixed_history.isAncestor(input.merge_base_commit_id, input.expected_local_commit_id) ||
418
+ !this.mixed_history.isAncestor(input.merge_base_commit_id, input.expected_upstream_commit_id)) {
419
+ throw new Error('Upstream merge base is not an ancestor of both heads.');
420
+ }
421
+ if (input.mode === 'fast_forward' &&
422
+ !this.mixed_history.isAncestor(input.expected_local_commit_id, input.expected_upstream_commit_id)) {
423
+ throw new Error('Fast-forward target does not descend from the local head.');
424
+ }
425
+ if (input.mode === 'already_integrated' &&
426
+ !this.mixed_history.isAncestor(input.expected_upstream_commit_id, input.expected_local_commit_id)) {
427
+ throw new Error('Upstream head is not already integrated locally.');
428
+ }
429
+ for (const [commit_id, root_hash, message] of [
430
+ [
431
+ input.merge_base_commit_id,
432
+ input.merge_result.base_root_hash,
433
+ 'Upstream merge base root does not match its commit.'
434
+ ],
435
+ [
436
+ input.expected_local_commit_id,
437
+ input.merge_result.coordinator_root_hash,
438
+ 'Local merge input root does not match its commit.'
439
+ ],
440
+ [
441
+ input.expected_upstream_commit_id,
442
+ input.merge_result.child_root_hash,
443
+ 'Upstream merge input root does not match its commit.'
444
+ ]
445
+ ]) {
446
+ if (this.mixed_history.root(commit_id) !== root_hash)
447
+ throw new Error(message);
448
+ }
449
+ }
450
+ canonicalCommitId(commit_id) {
451
+ const portable = this.database
452
+ .prepare('select id from portable_commit where id = ?')
453
+ .get(commit_id);
454
+ if (portable)
455
+ return portable.id;
456
+ const mapping = this.database
457
+ .prepare('select portable_commit_id from local_commit_portable_mapping where local_commit_id = ?')
458
+ .get(commit_id);
459
+ return mapping?.portable_commit_id ?? commit_id;
460
+ }
461
+ localCommit(commit_id) {
462
+ const row = this.database
463
+ .prepare('select * from local_workspace_commit where id = ?')
464
+ .get(commit_id);
465
+ return row
466
+ ? {
467
+ version: 1,
468
+ ...row,
469
+ parent_ids: parseStringArray(row.parent_ids_json, 'Commit parents'),
470
+ validation_evidence: parseStringArray(row.validation_evidence_json, 'Commit validation evidence')
471
+ }
472
+ : null;
473
+ }
474
+ }
475
+ //# sourceMappingURL=workspace-upstream-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-upstream-store.js","sourceRoot":"","sources":["../../src/local/workspace-upstream-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ import type { AppContractAnswer, AppContractRoute } from './app-contract-readers.js';
2
+ import type { LocalWorkspaceRuntime } from './workspace-runtime.js';
3
+ /** What a pin from the page did (cli-view threadsPinProvider). */
4
+ export type LocalWorkspaceViewerPinResult = {
5
+ pinned: string[];
6
+ } | {
7
+ refused: string;
8
+ } | {
9
+ failed: string;
10
+ };
11
+ /** What the user marks done from the Tasks panel: a task given to them, or one wait on them. */
12
+ export type LocalWorkspaceViewerTaskDoneTarget = {
13
+ task: string;
14
+ } | {
15
+ hold: string;
16
+ };
17
+ /**
18
+ * What `status user-done` did for a Done from the page (cli-view taskDoneProvider): the words the
19
+ * threads it told got, the engine's refusal (what closes it instead), or why it could not run.
20
+ */
21
+ export type LocalWorkspaceViewerTaskDoneResult = {
22
+ message: string;
23
+ } | {
24
+ refused: string;
25
+ } | {
26
+ failed: string;
27
+ };
28
+ /**
29
+ * A Releases panel subject: the summary, the list of releases, or one release, Planned Release,
30
+ * issue or task (its task page, read from task_page.py rather than release_links.py). threads is no
31
+ * panel: the open Planned Releases each thread serves (release_links.py threads, plan fea8cf22),
32
+ * which the shell's Threads merges into its rows by thread key.
33
+ */
34
+ export type LocalWorkspaceViewerReleaseSubject = {
35
+ kind: 'summary';
36
+ } | {
37
+ kind: 'releases';
38
+ } | {
39
+ kind: 'threads';
40
+ } | {
41
+ kind: 'release' | 'planned' | 'issue' | 'task';
42
+ ref: string;
43
+ };
44
+ /**
45
+ * A Releases panel read (cli-view releaseLinksPanelProvider): the panel's rows, an unknown subject's
46
+ * one line, why the read failed, or that the engine has no release links (the panel is left out).
47
+ * A partial panel has a section that could not be read (its Try again): like a failure, it is not kept.
48
+ * The threads subject's panel is release_links.py threads' answer as it is, { threads, entries }.
49
+ */
50
+ export type LocalWorkspaceViewerReleaseAnswer = {
51
+ panel: unknown;
52
+ partial?: boolean;
53
+ } | {
54
+ unknown: string;
55
+ } | {
56
+ error: string;
57
+ } | {
58
+ absent: true;
59
+ };
60
+ /** The subject a query names, or why it names none: at most one of release, planned, issue, task, releases, threads. */
61
+ export declare function releaseSubjectOf(query: URLSearchParams): LocalWorkspaceViewerReleaseSubject | {
62
+ refused: string;
63
+ };
64
+ export type LocalWorkspaceViewerServer = {
65
+ url: string;
66
+ origin: string;
67
+ port: number;
68
+ /** 'react' when the React bundle answers '<token>/', 'classic' when the inline page does. */
69
+ page: 'react' | 'classic';
70
+ close: () => Promise<void>;
71
+ closed: Promise<void>;
72
+ };
73
+ /** Whether a path under the token is one of the shell's addresses. */
74
+ export declare function isShellAddress(rest: string): boolean;
75
+ /** Where the sdlc package ships the React viewer's built files: viewer/ beside dist/. */
76
+ export declare function defaultViewerBundle(): string;
77
+ export declare function startLocalWorkspaceViewer(input: {
78
+ runtime: LocalWorkspaceRuntime;
79
+ port?: number;
80
+ /** The Threads panel's data (cli-view threadsPanelProvider); absent, api/threads is 404. */
81
+ threads?: () => unknown;
82
+ /**
83
+ * Pins or unpins a thread in the store every SDLC view shares (cli-view threadsPinProvider):
84
+ * view state, not graph state. Absent, api/pin is 404.
85
+ */
86
+ pin?: (key: string, on: boolean) => LocalWorkspaceViewerPinResult;
87
+ /**
88
+ * The user marks a task given to them, or a wait on them, done (cli-view taskDoneProvider, which
89
+ * runs the engine's `status user-done`): a coordination write, not graph state. It must not block
90
+ * this process. Absent, api/task-done is 404.
91
+ */
92
+ taskDone?: (target: LocalWorkspaceViewerTaskDoneTarget) => Promise<LocalWorkspaceViewerTaskDoneResult>;
93
+ /**
94
+ * The Worktrees page's writes (la-worktrees, worktreesProvider): Merge joins a worktree's thread
95
+ * to the main promotion queue, Remove runs archive.py worktrees --apply --only for one, and
96
+ * Dismiss clears an outcome the page shows. Merge and Remove answer 202 once queued and run one
97
+ * at a time. Absent, api/worktree-merge, api/worktree-remove and api/worktree-dismiss are 404.
98
+ */
99
+ worktrees?: {
100
+ merge: (body: unknown) => Promise<AppContractAnswer>;
101
+ remove: (body: unknown) => Promise<AppContractAnswer>;
102
+ dismiss: (body: unknown) => AppContractAnswer;
103
+ };
104
+ /**
105
+ * The Releases panel's read of one subject (cli-view releaseLinksPanelProvider), which must not
106
+ * block this process: release_links.py view runs for two to three seconds. Absent,
107
+ * api/release-links is 404 and the page leaves the panel out.
108
+ */
109
+ releaseLinks?: (subject: LocalWorkspaceViewerReleaseSubject) => Promise<LocalWorkspaceViewerReleaseAnswer>;
110
+ /**
111
+ * The Work queues panel's data (cli-view queuesPanelProvider, qv-viewer): every queue, who waits in
112
+ * it and when it should clear. It must not block this process: the read takes about 20 s on a busy
113
+ * machine (qv-viewer-async). Absent, or answering null (no queue model), api/queues is 404.
114
+ */
115
+ queues?: () => Promise<unknown>;
116
+ /**
117
+ * The shared pages' contract reads (GET api/app/…, la-contracts; cli-view appContractsProvider):
118
+ * the tasks, issues, Releases, organization and project the hosted session routes answer, in their
119
+ * shapes. It must not block this process. Absent, every api/app/ path is 404.
120
+ */
121
+ app?: ((route: AppContractRoute) => Promise<AppContractAnswer>) & {
122
+ /** A HEAD's status for a route, which reads nothing; absent, every checked route is 200. */
123
+ head?: (segments: string[]) => number;
124
+ /** Drops the kept Tasks reads, after a Done changed them. */
125
+ invalidate?: () => void;
126
+ };
127
+ /** The clock the Releases panel's keeps read, epoch ms; tests stand it in. */
128
+ now?: () => number;
129
+ /**
130
+ * The React viewer's built files (plan viewer-react): absent, the sdlc package's viewer/; null, or
131
+ * a directory without index.html (a source checkout never built), and '<token>/' serves the
132
+ * classic page as before.
133
+ */
134
+ bundle?: string | null;
135
+ }): Promise<LocalWorkspaceViewerServer>;
136
+ //# sourceMappingURL=workspace-viewer-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-viewer-server.d.ts","sourceRoot":"","sources":["../../src/local/workspace-viewer-server.ts"],"names":[],"mappings":"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"}