@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,585 @@
1
+ import { createHash, randomUUID } from 'node:crypto';
2
+ import { access, mkdir, open, readFile } from 'node:fs/promises';
3
+ import { dirname, join } from 'node:path';
4
+ import { openLocalStoreDatabase } from './store-database.js';
5
+ import { requireMutableLocalBranchRef } from './git-ref-authority.js';
6
+ export { resolveLocalStateDirectory } from './state-directory.js';
7
+ const SYNC_HASH_PATTERN = /^sha256:([0-9a-f]{64})$/;
8
+ function assertNonnegativeRevision(revision) {
9
+ if (!Number.isSafeInteger(revision) || revision < 0) {
10
+ throw new Error('Revision must be a nonnegative safe integer.');
11
+ }
12
+ }
13
+ function assertPersistedBranchBindingAuthority(database) {
14
+ const rows = database
15
+ .prepare('select source_ref from branch_binding')
16
+ .all();
17
+ for (const row of rows) {
18
+ requireMutableLocalBranchRef(row.source_ref, 'Persisted source binding');
19
+ }
20
+ }
21
+ export class LocalSdlcStore {
22
+ state_dir;
23
+ database_path;
24
+ database;
25
+ constructor(state_dir, database) {
26
+ this.state_dir = state_dir;
27
+ this.database_path = join(state_dir, 'metadata.sqlite');
28
+ this.database = database;
29
+ }
30
+ static async open(state_dir) {
31
+ const database = await openLocalStoreDatabase(state_dir);
32
+ try {
33
+ assertPersistedBranchBindingAuthority(database);
34
+ }
35
+ catch (error) {
36
+ database.close();
37
+ throw error;
38
+ }
39
+ return new LocalSdlcStore(state_dir, database);
40
+ }
41
+ close() {
42
+ this.database.close();
43
+ }
44
+ runTransaction(operation) {
45
+ this.database.exec('begin immediate');
46
+ try {
47
+ operation();
48
+ this.database.exec('commit');
49
+ }
50
+ catch (error) {
51
+ this.database.exec('rollback');
52
+ throw error;
53
+ }
54
+ }
55
+ startSession(input) {
56
+ assertNonnegativeRevision(input.revision);
57
+ if (input.sync_revision !== undefined && input.sync_revision !== null) {
58
+ assertNonnegativeRevision(input.sync_revision);
59
+ }
60
+ const now = new Date().toISOString();
61
+ const session = {
62
+ id: randomUUID(),
63
+ worktree_id: input.worktree_id,
64
+ status: 'active',
65
+ last_acknowledged_revision: input.revision,
66
+ last_acknowledged_graph_hash: input.graph_hash ?? null,
67
+ last_acknowledged_sync_revision: input.sync_revision ?? null,
68
+ last_acknowledged_sync_root_hash: input.sync_root_hash ?? null,
69
+ base_checkpoint_id: null,
70
+ created_at: now,
71
+ updated_at: now
72
+ };
73
+ this.database
74
+ .prepare(`
75
+ insert into local_session (
76
+ id, worktree_id, status, last_acknowledged_revision,
77
+ last_acknowledged_graph_hash, last_acknowledged_sync_revision,
78
+ last_acknowledged_sync_root_hash, base_checkpoint_id, created_at,
79
+ updated_at
80
+ ) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
81
+ `)
82
+ .run(session.id, session.worktree_id, session.status, session.last_acknowledged_revision, session.last_acknowledged_graph_hash, session.last_acknowledged_sync_revision, session.last_acknowledged_sync_root_hash, session.base_checkpoint_id, session.created_at, session.updated_at);
83
+ return session;
84
+ }
85
+ bindBranch(input) {
86
+ const source_ref = requireMutableLocalBranchRef(input.source_ref, 'Source branch binding');
87
+ const binding = {
88
+ ...input,
89
+ source_ref,
90
+ bound_at: new Date().toISOString()
91
+ };
92
+ this.database
93
+ .prepare(`
94
+ insert into branch_binding (source_ref, branch_id, worktree_id, bound_at)
95
+ values (?, ?, ?, ?)
96
+ on conflict(source_ref) do update set
97
+ branch_id = excluded.branch_id,
98
+ worktree_id = excluded.worktree_id,
99
+ bound_at = excluded.bound_at
100
+ `)
101
+ .run(binding.source_ref, binding.branch_id, binding.worktree_id, binding.bound_at);
102
+ return binding;
103
+ }
104
+ getBranchBinding(source_ref) {
105
+ const local_ref = requireMutableLocalBranchRef(source_ref, 'Source branch lookup');
106
+ return (this.database
107
+ .prepare('select * from branch_binding where source_ref = ?')
108
+ .get(local_ref) ?? null);
109
+ }
110
+ getActiveSession(worktree_id) {
111
+ return (this.database
112
+ .prepare(`select * from local_session where worktree_id = ? and status = 'active'`)
113
+ .get(worktree_id) ?? null);
114
+ }
115
+ adoptAcknowledgedCheckpoint(input) {
116
+ assertNonnegativeRevision(input.revision);
117
+ if (input.sync_revision !== undefined && input.sync_revision !== null) {
118
+ assertNonnegativeRevision(input.sync_revision);
119
+ }
120
+ const checkpoint = this.database
121
+ .prepare('select id from local_checkpoint where id = ? and session_id = ?')
122
+ .get(input.checkpoint_id, input.session_id);
123
+ if (!checkpoint) {
124
+ throw new Error('Acknowledged base checkpoint was not found for this session.');
125
+ }
126
+ if (this.listPendingChanges(input.session_id).length > 0) {
127
+ throw new Error('Cannot replace the acknowledged base while changes are pending.');
128
+ }
129
+ this.database
130
+ .prepare(`
131
+ update local_session
132
+ set last_acknowledged_revision = ?,
133
+ last_acknowledged_graph_hash = ?,
134
+ last_acknowledged_sync_revision = coalesce(
135
+ ?, last_acknowledged_sync_revision
136
+ ),
137
+ last_acknowledged_sync_root_hash = coalesce(
138
+ ?, last_acknowledged_sync_root_hash
139
+ ),
140
+ base_checkpoint_id = ?,
141
+ updated_at = ?
142
+ where id = ? and status = 'active'
143
+ `)
144
+ .run(input.revision, input.graph_hash, input.sync_revision ?? null, input.sync_root_hash ?? null, input.checkpoint_id, new Date().toISOString(), input.session_id);
145
+ }
146
+ adoptRemoteSyncState(input) {
147
+ assertNonnegativeRevision(input.revision);
148
+ assertNonnegativeRevision(input.sync_revision);
149
+ if (this.listPendingChanges(input.session_id).length > 0) {
150
+ throw new Error('Cannot update acknowledged sync state while changes are pending.');
151
+ }
152
+ const result = this.database
153
+ .prepare(`
154
+ update local_session
155
+ set last_acknowledged_revision = ?,
156
+ last_acknowledged_sync_revision = ?,
157
+ last_acknowledged_sync_root_hash = ?,
158
+ updated_at = ?
159
+ where id = ? and status = 'active'
160
+ `)
161
+ .run(input.revision, input.sync_revision, input.sync_root_hash, new Date().toISOString(), input.session_id);
162
+ if (result.changes !== 1) {
163
+ throw new Error('Active local session was not found.');
164
+ }
165
+ }
166
+ getProjectionState(worktree_id) {
167
+ return (this.database
168
+ .prepare('select * from projection_state where worktree_id = ?')
169
+ .get(worktree_id) ?? null);
170
+ }
171
+ setProjectionState(input) {
172
+ assertNonnegativeRevision(input.base_revision);
173
+ const existing = this.getProjectionState(input.worktree_id);
174
+ const now = new Date().toISOString();
175
+ const state = {
176
+ ...input,
177
+ materialized_at: existing?.materialized_at ?? now,
178
+ updated_at: now
179
+ };
180
+ this.database
181
+ .prepare(`
182
+ insert into projection_state (
183
+ worktree_id, projection_dir, base_revision, base_graph_hash,
184
+ materialized_at, updated_at
185
+ ) values (?, ?, ?, ?, ?, ?)
186
+ on conflict(worktree_id) do update set
187
+ projection_dir = excluded.projection_dir,
188
+ base_revision = excluded.base_revision,
189
+ base_graph_hash = excluded.base_graph_hash,
190
+ updated_at = excluded.updated_at
191
+ `)
192
+ .run(state.worktree_id, state.projection_dir, state.base_revision, state.base_graph_hash, state.materialized_at, state.updated_at);
193
+ return state;
194
+ }
195
+ relocateProjectionState(input) {
196
+ const now = new Date().toISOString();
197
+ const result = this.database
198
+ .prepare(`
199
+ update projection_state
200
+ set projection_dir = ?, updated_at = ?
201
+ where worktree_id = ? and projection_dir = ?
202
+ `)
203
+ .run(input.projection_dir, now, input.worktree_id, input.expected_projection_dir);
204
+ if (result.changes !== 1) {
205
+ throw new Error('Projection location changed before the environment transition completed.');
206
+ }
207
+ const state = this.getProjectionState(input.worktree_id);
208
+ if (!state)
209
+ throw new Error('Relocated projection state was not found.');
210
+ return state;
211
+ }
212
+ recordProjectionDeletion(input) {
213
+ const intent = {
214
+ ...input,
215
+ created_at: new Date().toISOString()
216
+ };
217
+ this.database
218
+ .prepare(`
219
+ insert into projection_deletion_intent (
220
+ worktree_id, entity_kind, entity_id, created_at
221
+ ) values (?, ?, ?, ?)
222
+ on conflict(worktree_id, entity_kind, entity_id) do update set
223
+ created_at = excluded.created_at
224
+ `)
225
+ .run(intent.worktree_id, intent.entity_kind, intent.entity_id, intent.created_at);
226
+ return intent;
227
+ }
228
+ listProjectionDeletions(worktree_id) {
229
+ return this.database
230
+ .prepare(`
231
+ select * from projection_deletion_intent
232
+ where worktree_id = ?
233
+ order by entity_kind, entity_id
234
+ `)
235
+ .all(worktree_id);
236
+ }
237
+ clearProjectionDeletions(worktree_id) {
238
+ this.database
239
+ .prepare('delete from projection_deletion_intent where worktree_id = ?')
240
+ .run(worktree_id);
241
+ }
242
+ syncObjectPath(object_hash) {
243
+ const match = object_hash.match(SYNC_HASH_PATTERN);
244
+ if (!match)
245
+ throw new Error('Invalid graph sync object hash.');
246
+ const digest = match[1];
247
+ return join(this.state_dir, 'objects', 'graph-sync-v1', digest.slice(0, 2), digest);
248
+ }
249
+ async hasSyncObject(object_hash) {
250
+ try {
251
+ await access(this.syncObjectPath(object_hash));
252
+ return true;
253
+ }
254
+ catch (error) {
255
+ if (error instanceof Error &&
256
+ 'code' in error &&
257
+ error.code === 'ENOENT') {
258
+ return false;
259
+ }
260
+ throw error;
261
+ }
262
+ }
263
+ async writeSyncObject(input) {
264
+ const object_path = this.syncObjectPath(input.object_hash);
265
+ await mkdir(dirname(object_path), { recursive: true, mode: 0o700 });
266
+ try {
267
+ const object_file = await open(object_path, 'wx', 0o600);
268
+ await object_file.writeFile(input.canonical_json, 'utf8');
269
+ await object_file.close();
270
+ }
271
+ catch (error) {
272
+ if (!(error instanceof Error) ||
273
+ !('code' in error) ||
274
+ error.code !== 'EEXIST') {
275
+ throw error;
276
+ }
277
+ const stored_json = await readFile(object_path, 'utf8');
278
+ if (stored_json !== input.canonical_json) {
279
+ throw new Error(`Cached graph sync object ${input.object_hash} does not match its verified content.`);
280
+ }
281
+ }
282
+ }
283
+ readSyncObject(object_hash) {
284
+ return readFile(this.syncObjectPath(object_hash), 'utf8');
285
+ }
286
+ writeSyncManifest(input) {
287
+ assertNonnegativeRevision(input.sync_revision);
288
+ if (!SYNC_HASH_PATTERN.test(input.sync_root_hash)) {
289
+ throw new Error('Invalid graph sync manifest root hash.');
290
+ }
291
+ const manifest = {
292
+ ...input,
293
+ created_at: new Date().toISOString()
294
+ };
295
+ const insert_sql = input.allow_revision_repair
296
+ ? `
297
+ insert into local_sync_manifest (
298
+ worktree_id, sync_revision, sync_root_hash, manifest_json, created_at
299
+ ) values (?, ?, ?, ?, ?)
300
+ on conflict(worktree_id, sync_revision) do update
301
+ set sync_root_hash = excluded.sync_root_hash,
302
+ manifest_json = excluded.manifest_json
303
+ `
304
+ : `
305
+ insert into local_sync_manifest (
306
+ worktree_id, sync_revision, sync_root_hash, manifest_json, created_at
307
+ ) values (?, ?, ?, ?, ?)
308
+ on conflict(worktree_id, sync_revision) do update
309
+ set manifest_json = excluded.manifest_json
310
+ where local_sync_manifest.sync_root_hash = excluded.sync_root_hash
311
+ `;
312
+ this.database
313
+ .prepare(insert_sql)
314
+ .run(manifest.worktree_id, manifest.sync_revision, manifest.sync_root_hash, manifest.manifest_json, manifest.created_at);
315
+ const stored = this.database
316
+ .prepare(`
317
+ select * from local_sync_manifest
318
+ where worktree_id = ? and sync_revision = ?
319
+ `)
320
+ .get(input.worktree_id, input.sync_revision);
321
+ if (!stored ||
322
+ stored.sync_root_hash !== input.sync_root_hash ||
323
+ stored.manifest_json !== input.manifest_json) {
324
+ const mismatch = !stored
325
+ ? 'missing cached row'
326
+ : stored.sync_root_hash !== input.sync_root_hash
327
+ ? `root hash mismatch: cached ${stored.sync_root_hash}, received ${input.sync_root_hash}`
328
+ : 'manifest serialization mismatch';
329
+ throw new Error(`Graph sync revision already references different immutable content (${mismatch}).`);
330
+ }
331
+ return stored;
332
+ }
333
+ getSyncManifest(input) {
334
+ if (input.sync_revision === undefined && !input.sync_root_hash) {
335
+ throw new Error('A sync revision or root hash is required.');
336
+ }
337
+ const clauses = ['worktree_id = ?'];
338
+ const parameters = [input.worktree_id];
339
+ if (input.sync_revision !== undefined) {
340
+ assertNonnegativeRevision(input.sync_revision);
341
+ clauses.push('sync_revision = ?');
342
+ parameters.push(input.sync_revision);
343
+ }
344
+ if (input.sync_root_hash) {
345
+ if (!SYNC_HASH_PATTERN.test(input.sync_root_hash)) {
346
+ throw new Error('Invalid graph sync manifest root hash.');
347
+ }
348
+ clauses.push('sync_root_hash = ?');
349
+ parameters.push(input.sync_root_hash);
350
+ }
351
+ return (this.database
352
+ .prepare(`
353
+ select * from local_sync_manifest
354
+ where ${clauses.join(' and ')}
355
+ order by sync_revision desc
356
+ limit 1
357
+ `)
358
+ .get(...parameters) ?? null);
359
+ }
360
+ async checkpoint(input) {
361
+ assertNonnegativeRevision(input.revision);
362
+ const graph_hash = createHash('sha256')
363
+ .update(input.graph_json)
364
+ .digest('hex');
365
+ const object_path = join(this.state_dir, 'objects', graph_hash.slice(0, 2), graph_hash);
366
+ await mkdir(dirname(object_path), { recursive: true, mode: 0o700 });
367
+ try {
368
+ const object_file = await open(object_path, 'wx', 0o600);
369
+ await object_file.writeFile(input.graph_json, 'utf8');
370
+ await object_file.close();
371
+ }
372
+ catch (error) {
373
+ if (!(error instanceof Error) ||
374
+ !('code' in error) ||
375
+ error.code !== 'EEXIST') {
376
+ throw error;
377
+ }
378
+ }
379
+ const checkpoint_id = randomUUID();
380
+ const now = new Date().toISOString();
381
+ this.database
382
+ .prepare(`
383
+ insert into local_checkpoint (
384
+ id, session_id, revision, graph_hash, object_hash, created_at
385
+ ) values (?, ?, ?, ?, ?, ?)
386
+ `)
387
+ .run(checkpoint_id, input.session_id, input.revision, graph_hash, graph_hash, now);
388
+ return { checkpoint_id, graph_hash };
389
+ }
390
+ enqueueChange(input) {
391
+ assertNonnegativeRevision(input.expected_revision);
392
+ const now = new Date().toISOString();
393
+ const request_hash = createHash('sha256')
394
+ .update(input.payload_json)
395
+ .digest('hex');
396
+ const change = {
397
+ id: randomUUID(),
398
+ session_id: input.session_id,
399
+ idempotency_key: input.idempotency_key ?? randomUUID(),
400
+ expected_revision: input.expected_revision,
401
+ request_hash,
402
+ payload_json: input.payload_json,
403
+ transaction_id: null,
404
+ checkpoint_id: input.checkpoint_id,
405
+ graph_hash: input.graph_hash,
406
+ status: 'pending',
407
+ created_at: now,
408
+ accepted_at: null
409
+ };
410
+ this.database
411
+ .prepare(`
412
+ insert into pending_worktree_change (
413
+ id, session_id, idempotency_key, expected_revision, request_hash,
414
+ payload_json, transaction_id, checkpoint_id, graph_hash, status,
415
+ created_at, accepted_at
416
+ ) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
417
+ `)
418
+ .run(change.id, change.session_id, change.idempotency_key, change.expected_revision, change.request_hash, change.payload_json, change.transaction_id, change.checkpoint_id, change.graph_hash, change.status, change.created_at, change.accepted_at);
419
+ return change;
420
+ }
421
+ setPendingChangeTransaction(input) {
422
+ const previous_transaction_id = input.previous_transaction_id ?? null;
423
+ const result = this.database
424
+ .prepare(`
425
+ update pending_worktree_change
426
+ set transaction_id = ?
427
+ where id = ? and status = 'pending'
428
+ and (
429
+ transaction_id = ?
430
+ or (transaction_id is null and ? is null)
431
+ or transaction_id = ?
432
+ )
433
+ `)
434
+ .run(input.transaction_id, input.change_id, input.transaction_id, previous_transaction_id, previous_transaction_id);
435
+ if (result.changes !== 1) {
436
+ throw new Error('Pending worktree change already references another save transaction.');
437
+ }
438
+ }
439
+ acknowledgeChange(input) {
440
+ assertNonnegativeRevision(input.resulting_revision);
441
+ if (input.sync_revision !== undefined && input.sync_revision !== null) {
442
+ assertNonnegativeRevision(input.sync_revision);
443
+ }
444
+ const now = new Date().toISOString();
445
+ this.runTransaction(() => {
446
+ const change = this.database
447
+ .prepare('select session_id from pending_worktree_change where id = ?')
448
+ .get(input.change_id);
449
+ if (!change) {
450
+ throw new Error('Pending worktree change was not found.');
451
+ }
452
+ this.database
453
+ .prepare(`
454
+ update pending_worktree_change
455
+ set status = 'accepted', accepted_at = ?
456
+ where id = ? and status = 'pending'
457
+ `)
458
+ .run(now, input.change_id);
459
+ this.database
460
+ .prepare(`
461
+ update local_session
462
+ set last_acknowledged_revision = ?,
463
+ last_acknowledged_graph_hash = ?,
464
+ last_acknowledged_sync_revision = coalesce(
465
+ ?, last_acknowledged_sync_revision
466
+ ),
467
+ last_acknowledged_sync_root_hash = coalesce(
468
+ ?, last_acknowledged_sync_root_hash
469
+ ),
470
+ base_checkpoint_id = ?,
471
+ updated_at = ?
472
+ where id = ?
473
+ `)
474
+ .run(input.resulting_revision, input.graph_hash, input.sync_revision ?? null, input.sync_root_hash ?? null, input.checkpoint_id, now, change.session_id);
475
+ });
476
+ }
477
+ listPendingChanges(session_id) {
478
+ return this.database
479
+ .prepare(`
480
+ select * from pending_worktree_change
481
+ where session_id = ? and status = 'pending'
482
+ order by created_at, id
483
+ `)
484
+ .all(session_id);
485
+ }
486
+ hasPendingChanges() {
487
+ return Boolean(this.database
488
+ .prepare(`select 1 as pending from pending_worktree_change where status = 'pending' limit 1`)
489
+ .get());
490
+ }
491
+ supersedePendingChangesAndAdoptCheckpoint(input) {
492
+ assertNonnegativeRevision(input.revision);
493
+ assertNonnegativeRevision(input.sync_revision);
494
+ if (!SYNC_HASH_PATTERN.test(input.sync_root_hash)) {
495
+ throw new Error('Invalid graph sync manifest root hash.');
496
+ }
497
+ const expected_ids = [...new Set(input.expected_pending_change_ids)].sort();
498
+ if (expected_ids.length === 0) {
499
+ throw new Error('At least one pending worktree change is required.');
500
+ }
501
+ const superseded_at = new Date().toISOString();
502
+ this.runTransaction(() => {
503
+ const checkpoint = this.database
504
+ .prepare('select id from local_checkpoint where id = ? and session_id = ?')
505
+ .get(input.checkpoint_id, input.session_id);
506
+ if (!checkpoint) {
507
+ throw new Error('Recovery base checkpoint was not found for the active session.');
508
+ }
509
+ const actual_ids = this.database
510
+ .prepare(`
511
+ select id from pending_worktree_change
512
+ where session_id = ? and status = 'pending'
513
+ order by id
514
+ `)
515
+ .all(input.session_id).map((row) => row.id);
516
+ if (JSON.stringify(actual_ids) !== JSON.stringify(expected_ids)) {
517
+ throw new Error('Pending worktree changes changed during recovery; inspect status and retry.');
518
+ }
519
+ for (const change_id of expected_ids) {
520
+ const inserted = this.database
521
+ .prepare(`
522
+ insert into superseded_worktree_change (
523
+ id, session_id, idempotency_key, expected_revision, request_hash,
524
+ payload_json, transaction_id, checkpoint_id, graph_hash,
525
+ created_at, remote_revision, remote_sync_revision,
526
+ remote_sync_root_hash, reason, superseded_at
527
+ )
528
+ select id, session_id, idempotency_key, expected_revision,
529
+ request_hash, payload_json, transaction_id, checkpoint_id,
530
+ graph_hash, created_at, ?, ?, ?, ?, ?
531
+ from pending_worktree_change
532
+ where id = ? and session_id = ? and status = 'pending'
533
+ `)
534
+ .run(input.revision, input.sync_revision, input.sync_root_hash, input.reason, superseded_at, change_id, input.session_id);
535
+ if (inserted.changes !== 1) {
536
+ throw new Error('Pending worktree change could not be superseded.');
537
+ }
538
+ }
539
+ this.database
540
+ .prepare(`
541
+ delete from pending_worktree_change
542
+ where session_id = ? and status = 'pending'
543
+ `)
544
+ .run(input.session_id);
545
+ const updated = this.database
546
+ .prepare(`
547
+ update local_session
548
+ set last_acknowledged_revision = ?,
549
+ last_acknowledged_graph_hash = ?,
550
+ last_acknowledged_sync_revision = ?,
551
+ last_acknowledged_sync_root_hash = ?,
552
+ base_checkpoint_id = ?,
553
+ updated_at = ?
554
+ where id = ? and status = 'active'
555
+ `)
556
+ .run(input.revision, input.graph_hash, input.sync_revision, input.sync_root_hash, input.checkpoint_id, superseded_at, input.session_id);
557
+ if (updated.changes !== 1) {
558
+ throw new Error('Active local session was not found.');
559
+ }
560
+ });
561
+ return expected_ids;
562
+ }
563
+ listSupersededChanges(session_id) {
564
+ return this.database
565
+ .prepare(`
566
+ select * from superseded_worktree_change
567
+ where session_id = ?
568
+ order by superseded_at, id
569
+ `)
570
+ .all(session_id);
571
+ }
572
+ async readCheckpointObject(object_hash) {
573
+ return readFile(join(this.state_dir, 'objects', object_hash.slice(0, 2), object_hash), 'utf8');
574
+ }
575
+ async readCheckpointGraph(checkpoint_id) {
576
+ const checkpoint = this.database
577
+ .prepare('select object_hash from local_checkpoint where id = ?')
578
+ .get(checkpoint_id);
579
+ if (!checkpoint) {
580
+ throw new Error('Local graph checkpoint was not found.');
581
+ }
582
+ return this.readCheckpointObject(checkpoint.object_hash);
583
+ }
584
+ }
585
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/local/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { type GraphClientOptions, type GraphClientRequestOptions } from '@software-dlc/graph/client';
2
+ import type { PortableGraph, WorktreeChangeResponse, WorktreeChangeSourceContext, WorktreeRebuildResponse } from '@software-dlc/graph/types';
3
+ import { type ClientLayout } from './save-layout.js';
4
+ import { LocalSdlcStore } from './store.js';
5
+ export type LiveWorktreeRebuildResult = {
6
+ response: WorktreeRebuildResponse;
7
+ pending_change_id: string;
8
+ };
9
+ export type LiveWorktreeSaveResult = {
10
+ response: WorktreeChangeResponse;
11
+ pending_change_id: string;
12
+ /** What a manifest version 2 save did about layout. */
13
+ client_layout?: ClientLayout;
14
+ };
15
+ export type WorktreeSyncResult = {
16
+ acknowledged: number;
17
+ still_pending: number;
18
+ conflicts: WorktreeChangeResponse[];
19
+ };
20
+ export declare function saveLiveWorktreeChange(input: {
21
+ store: LocalSdlcStore;
22
+ client: GraphClientOptions;
23
+ worktree_id: string;
24
+ session_id: string;
25
+ graph: PortableGraph;
26
+ source_context?: WorktreeChangeSourceContext;
27
+ save_mode?: 'patch' | 'replace';
28
+ request_options?: GraphClientRequestOptions;
29
+ /** Receives progress lines, such as a long layout's; never standard output. */
30
+ progress?: (message: string) => void;
31
+ }): Promise<LiveWorktreeSaveResult>;
32
+ export declare function saveLiveWorktreeRebuild(input: {
33
+ store: LocalSdlcStore;
34
+ client: GraphClientOptions;
35
+ worktree_id: string;
36
+ session_id: string;
37
+ node_ids?: string[];
38
+ request_options?: GraphClientRequestOptions;
39
+ }): Promise<LiveWorktreeRebuildResult>;
40
+ export declare function syncPendingWorktreeChanges(input: {
41
+ store: LocalSdlcStore;
42
+ client: GraphClientOptions;
43
+ worktree_id: string;
44
+ session_id: string;
45
+ request_options?: GraphClientRequestOptions;
46
+ }): Promise<WorktreeSyncResult>;
47
+ //# sourceMappingURL=sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/local/sync.ts"],"names":[],"mappings":"AAWA,OAAO,EAQL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAC/B,MAAM,4BAA4B,CAAC;AAepC,OAAO,KAAK,EAEV,aAAa,EACb,sBAAsB,EAGtB,2BAA2B,EAG3B,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AASnC,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAWvE,OAAO,EACL,cAAc,EAGf,MAAM,YAAY,CAAC;AA0BpB,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,EAAE,uBAAuB,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,aAAa,CAAC,EAAE,YAAY,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,sBAAsB,EAAE,CAAC;CACrC,CAAC;AA4SF,wBAAsB,sBAAsB,CAAC,KAAK,EAAE;IAClD,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,cAAc,CAAC,EAAE,2BAA2B,CAAC;IAC7C,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA+NlC;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA8CrC;AAED,wBAAsB,0BAA0B,CAAC,KAAK,EAAE;IACtD,KAAK,EAAE,cAAc,CAAC;IACtB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,yBAAyB,CAAC;CAC7C,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAgG9B"}