looply-cli 0.0.0-stage → 0.3.0

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 (793) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +137 -3
  3. package/dist/.src-hash +1 -0
  4. package/dist/acceptance-observe.d.ts +108 -0
  5. package/dist/acceptance-observe.d.ts.map +1 -0
  6. package/dist/acceptance-observe.js +152 -0
  7. package/dist/acceptance-observe.js.map +1 -0
  8. package/dist/agent-cmd.d.ts +131 -0
  9. package/dist/agent-cmd.d.ts.map +1 -0
  10. package/dist/agent-cmd.js +154 -0
  11. package/dist/agent-cmd.js.map +1 -0
  12. package/dist/agent-contained.d.ts +114 -0
  13. package/dist/agent-contained.d.ts.map +1 -0
  14. package/dist/agent-contained.js +292 -0
  15. package/dist/agent-contained.js.map +1 -0
  16. package/dist/agent-driver.d.ts +130 -0
  17. package/dist/agent-driver.d.ts.map +1 -0
  18. package/dist/agent-driver.js +170 -0
  19. package/dist/agent-driver.js.map +1 -0
  20. package/dist/agent-envelope.d.ts +94 -0
  21. package/dist/agent-envelope.d.ts.map +1 -0
  22. package/dist/agent-envelope.js +214 -0
  23. package/dist/agent-envelope.js.map +1 -0
  24. package/dist/agent-exec.d.ts +182 -0
  25. package/dist/agent-exec.d.ts.map +1 -0
  26. package/dist/agent-exec.js +125 -0
  27. package/dist/agent-exec.js.map +1 -0
  28. package/dist/agent-runtime.d.ts +23 -0
  29. package/dist/agent-runtime.d.ts.map +1 -0
  30. package/dist/agent-runtime.js +143 -0
  31. package/dist/agent-runtime.js.map +1 -0
  32. package/dist/approval-gate-read.d.ts +66 -0
  33. package/dist/approval-gate-read.d.ts.map +1 -0
  34. package/dist/approval-gate-read.js +138 -0
  35. package/dist/approval-gate-read.js.map +1 -0
  36. package/dist/approval-resolution.d.ts +87 -0
  37. package/dist/approval-resolution.d.ts.map +1 -0
  38. package/dist/approval-resolution.js +100 -0
  39. package/dist/approval-resolution.js.map +1 -0
  40. package/dist/approval-resumes.d.ts +102 -0
  41. package/dist/approval-resumes.d.ts.map +1 -0
  42. package/dist/approval-resumes.js +167 -0
  43. package/dist/approval-resumes.js.map +1 -0
  44. package/dist/ask-brain.d.ts +167 -0
  45. package/dist/ask-brain.d.ts.map +1 -0
  46. package/dist/ask-brain.js +355 -0
  47. package/dist/ask-brain.js.map +1 -0
  48. package/dist/autonomy-authority.d.ts +80 -0
  49. package/dist/autonomy-authority.d.ts.map +1 -0
  50. package/dist/autonomy-authority.js +82 -0
  51. package/dist/autonomy-authority.js.map +1 -0
  52. package/dist/autonomy-controller.d.ts +321 -0
  53. package/dist/autonomy-controller.d.ts.map +1 -0
  54. package/dist/autonomy-controller.js +517 -0
  55. package/dist/autonomy-controller.js.map +1 -0
  56. package/dist/autonomy-store.d.ts +327 -0
  57. package/dist/autonomy-store.d.ts.map +1 -0
  58. package/dist/autonomy-store.js +581 -0
  59. package/dist/autonomy-store.js.map +1 -0
  60. package/dist/autonomy-tick.d.ts +257 -0
  61. package/dist/autonomy-tick.d.ts.map +1 -0
  62. package/dist/autonomy-tick.js +616 -0
  63. package/dist/autonomy-tick.js.map +1 -0
  64. package/dist/bin.d.ts +3 -0
  65. package/dist/bin.d.ts.map +1 -0
  66. package/dist/bin.js +2727 -0
  67. package/dist/bin.js.map +1 -0
  68. package/dist/brain-advice.d.ts +21 -0
  69. package/dist/brain-advice.d.ts.map +1 -0
  70. package/dist/brain-advice.js +51 -0
  71. package/dist/brain-advice.js.map +1 -0
  72. package/dist/candidate-replay-runtime.d.ts +125 -0
  73. package/dist/candidate-replay-runtime.d.ts.map +1 -0
  74. package/dist/candidate-replay-runtime.js +188 -0
  75. package/dist/candidate-replay-runtime.js.map +1 -0
  76. package/dist/checkout-carry.d.ts +76 -0
  77. package/dist/checkout-carry.d.ts.map +1 -0
  78. package/dist/checkout-carry.js +125 -0
  79. package/dist/checkout-carry.js.map +1 -0
  80. package/dist/citation-readers.d.ts +26 -0
  81. package/dist/citation-readers.d.ts.map +1 -0
  82. package/dist/citation-readers.js +102 -0
  83. package/dist/citation-readers.js.map +1 -0
  84. package/dist/command-receipts.d.ts +79 -0
  85. package/dist/command-receipts.d.ts.map +1 -0
  86. package/dist/command-receipts.js +143 -0
  87. package/dist/command-receipts.js.map +1 -0
  88. package/dist/command-runner.d.ts +32 -0
  89. package/dist/command-runner.d.ts.map +1 -0
  90. package/dist/command-runner.js +108 -0
  91. package/dist/command-runner.js.map +1 -0
  92. package/dist/compatible-sets.d.ts +67 -0
  93. package/dist/compatible-sets.d.ts.map +1 -0
  94. package/dist/compatible-sets.js +81 -0
  95. package/dist/compatible-sets.js.map +1 -0
  96. package/dist/compile-check.d.ts +31 -0
  97. package/dist/compile-check.d.ts.map +1 -0
  98. package/dist/compile-check.js +34 -0
  99. package/dist/compile-check.js.map +1 -0
  100. package/dist/compile-store.d.ts +16 -0
  101. package/dist/compile-store.d.ts.map +1 -0
  102. package/dist/compile-store.js +21 -0
  103. package/dist/compile-store.js.map +1 -0
  104. package/dist/completion.d.ts +106 -0
  105. package/dist/completion.d.ts.map +1 -0
  106. package/dist/completion.js +131 -0
  107. package/dist/completion.js.map +1 -0
  108. package/dist/config.d.ts +549 -0
  109. package/dist/config.d.ts.map +1 -0
  110. package/dist/config.js +763 -0
  111. package/dist/config.js.map +1 -0
  112. package/dist/control-file.d.ts +142 -0
  113. package/dist/control-file.d.ts.map +1 -0
  114. package/dist/control-file.js +144 -0
  115. package/dist/control-file.js.map +1 -0
  116. package/dist/coordinator-state.d.ts +131 -0
  117. package/dist/coordinator-state.d.ts.map +1 -0
  118. package/dist/coordinator-state.js +380 -0
  119. package/dist/coordinator-state.js.map +1 -0
  120. package/dist/coordinator.d.ts +95 -0
  121. package/dist/coordinator.d.ts.map +1 -0
  122. package/dist/coordinator.js +97 -0
  123. package/dist/coordinator.js.map +1 -0
  124. package/dist/cursor-store.d.ts +53 -0
  125. package/dist/cursor-store.d.ts.map +1 -0
  126. package/dist/cursor-store.js +98 -0
  127. package/dist/cursor-store.js.map +1 -0
  128. package/dist/daemon-cmd.d.ts +239 -0
  129. package/dist/daemon-cmd.d.ts.map +1 -0
  130. package/dist/daemon-cmd.js +1751 -0
  131. package/dist/daemon-cmd.js.map +1 -0
  132. package/dist/daemon-lock.d.ts +140 -0
  133. package/dist/daemon-lock.d.ts.map +1 -0
  134. package/dist/daemon-lock.js +352 -0
  135. package/dist/daemon-lock.js.map +1 -0
  136. package/dist/daemon-recovery.d.ts +78 -0
  137. package/dist/daemon-recovery.d.ts.map +1 -0
  138. package/dist/daemon-recovery.js +161 -0
  139. package/dist/daemon-recovery.js.map +1 -0
  140. package/dist/daemon.d.ts +368 -0
  141. package/dist/daemon.d.ts.map +1 -0
  142. package/dist/daemon.js +601 -0
  143. package/dist/daemon.js.map +1 -0
  144. package/dist/declared-response-shape.d.ts +93 -0
  145. package/dist/declared-response-shape.d.ts.map +1 -0
  146. package/dist/declared-response-shape.js +200 -0
  147. package/dist/declared-response-shape.js.map +1 -0
  148. package/dist/declared-surfaces.d.ts +16 -0
  149. package/dist/declared-surfaces.d.ts.map +1 -0
  150. package/dist/declared-surfaces.js +19 -0
  151. package/dist/declared-surfaces.js.map +1 -0
  152. package/dist/depends-review.d.ts +113 -0
  153. package/dist/depends-review.d.ts.map +1 -0
  154. package/dist/depends-review.js +110 -0
  155. package/dist/depends-review.js.map +1 -0
  156. package/dist/doctor.d.ts +91 -0
  157. package/dist/doctor.d.ts.map +1 -0
  158. package/dist/doctor.js +71 -0
  159. package/dist/doctor.js.map +1 -0
  160. package/dist/edge-approval.d.ts +105 -0
  161. package/dist/edge-approval.d.ts.map +1 -0
  162. package/dist/edge-approval.js +100 -0
  163. package/dist/edge-approval.js.map +1 -0
  164. package/dist/evidence-cache.d.ts +45 -0
  165. package/dist/evidence-cache.d.ts.map +1 -0
  166. package/dist/evidence-cache.js +90 -0
  167. package/dist/evidence-cache.js.map +1 -0
  168. package/dist/evidence-cmd.d.ts +133 -0
  169. package/dist/evidence-cmd.d.ts.map +1 -0
  170. package/dist/evidence-cmd.js +347 -0
  171. package/dist/evidence-cmd.js.map +1 -0
  172. package/dist/evidence-facts.d.ts +40 -0
  173. package/dist/evidence-facts.d.ts.map +1 -0
  174. package/dist/evidence-facts.js +114 -0
  175. package/dist/evidence-facts.js.map +1 -0
  176. package/dist/exclusive-lock.d.ts +52 -0
  177. package/dist/exclusive-lock.d.ts.map +1 -0
  178. package/dist/exclusive-lock.js +150 -0
  179. package/dist/exclusive-lock.js.map +1 -0
  180. package/dist/exec-domains.d.ts +140 -0
  181. package/dist/exec-domains.d.ts.map +1 -0
  182. package/dist/exec-domains.js +287 -0
  183. package/dist/exec-domains.js.map +1 -0
  184. package/dist/exemption-store.d.ts +197 -0
  185. package/dist/exemption-store.d.ts.map +1 -0
  186. package/dist/exemption-store.js +266 -0
  187. package/dist/exemption-store.js.map +1 -0
  188. package/dist/explicit-start-gate.d.ts +96 -0
  189. package/dist/explicit-start-gate.d.ts.map +1 -0
  190. package/dist/explicit-start-gate.js +103 -0
  191. package/dist/explicit-start-gate.js.map +1 -0
  192. package/dist/fs-trouble.d.ts +70 -0
  193. package/dist/fs-trouble.d.ts.map +1 -0
  194. package/dist/fs-trouble.js +98 -0
  195. package/dist/fs-trouble.js.map +1 -0
  196. package/dist/gate.d.ts +278 -0
  197. package/dist/gate.d.ts.map +1 -0
  198. package/dist/gate.js +278 -0
  199. package/dist/gate.js.map +1 -0
  200. package/dist/git-driver.d.ts +519 -0
  201. package/dist/git-driver.d.ts.map +1 -0
  202. package/dist/git-driver.js +900 -0
  203. package/dist/git-driver.js.map +1 -0
  204. package/dist/git-push-executor.d.ts +41 -0
  205. package/dist/git-push-executor.d.ts.map +1 -0
  206. package/dist/git-push-executor.js +142 -0
  207. package/dist/git-push-executor.js.map +1 -0
  208. package/dist/glob.d.ts +26 -0
  209. package/dist/glob.d.ts.map +1 -0
  210. package/dist/glob.js +93 -0
  211. package/dist/glob.js.map +1 -0
  212. package/dist/goal-adaptive.d.ts +295 -0
  213. package/dist/goal-adaptive.d.ts.map +1 -0
  214. package/dist/goal-adaptive.js +393 -0
  215. package/dist/goal-adaptive.js.map +1 -0
  216. package/dist/goal-compile.d.ts +342 -0
  217. package/dist/goal-compile.d.ts.map +1 -0
  218. package/dist/goal-compile.js +444 -0
  219. package/dist/goal-compile.js.map +1 -0
  220. package/dist/goal-depends-executor.d.ts +55 -0
  221. package/dist/goal-depends-executor.d.ts.map +1 -0
  222. package/dist/goal-depends-executor.js +202 -0
  223. package/dist/goal-depends-executor.js.map +1 -0
  224. package/dist/goal-execution-evidence.d.ts +135 -0
  225. package/dist/goal-execution-evidence.d.ts.map +1 -0
  226. package/dist/goal-execution-evidence.js +159 -0
  227. package/dist/goal-execution-evidence.js.map +1 -0
  228. package/dist/goal-gap.d.ts +140 -0
  229. package/dist/goal-gap.d.ts.map +1 -0
  230. package/dist/goal-gap.js +197 -0
  231. package/dist/goal-gap.js.map +1 -0
  232. package/dist/goal-met-target.d.ts +98 -0
  233. package/dist/goal-met-target.d.ts.map +1 -0
  234. package/dist/goal-met-target.js +92 -0
  235. package/dist/goal-met-target.js.map +1 -0
  236. package/dist/goal-ownership.d.ts +416 -0
  237. package/dist/goal-ownership.d.ts.map +1 -0
  238. package/dist/goal-ownership.js +576 -0
  239. package/dist/goal-ownership.js.map +1 -0
  240. package/dist/goal-runs.d.ts +82 -0
  241. package/dist/goal-runs.d.ts.map +1 -0
  242. package/dist/goal-runs.js +120 -0
  243. package/dist/goal-runs.js.map +1 -0
  244. package/dist/goal-store.d.ts +146 -0
  245. package/dist/goal-store.d.ts.map +1 -0
  246. package/dist/goal-store.js +294 -0
  247. package/dist/goal-store.js.map +1 -0
  248. package/dist/goal-view.d.ts +156 -0
  249. package/dist/goal-view.d.ts.map +1 -0
  250. package/dist/goal-view.js +499 -0
  251. package/dist/goal-view.js.map +1 -0
  252. package/dist/governed-approvals.d.ts +152 -0
  253. package/dist/governed-approvals.d.ts.map +1 -0
  254. package/dist/governed-approvals.js +246 -0
  255. package/dist/governed-approvals.js.map +1 -0
  256. package/dist/governed-broker.d.ts +169 -0
  257. package/dist/governed-broker.d.ts.map +1 -0
  258. package/dist/governed-broker.js +196 -0
  259. package/dist/governed-broker.js.map +1 -0
  260. package/dist/governed-run.d.ts +220 -0
  261. package/dist/governed-run.d.ts.map +1 -0
  262. package/dist/governed-run.js +406 -0
  263. package/dist/governed-run.js.map +1 -0
  264. package/dist/grant-reconcile.d.ts +63 -0
  265. package/dist/grant-reconcile.d.ts.map +1 -0
  266. package/dist/grant-reconcile.js +121 -0
  267. package/dist/grant-reconcile.js.map +1 -0
  268. package/dist/index-for-head.d.ts +56 -0
  269. package/dist/index-for-head.d.ts.map +1 -0
  270. package/dist/index-for-head.js +103 -0
  271. package/dist/index-for-head.js.map +1 -0
  272. package/dist/index.d.ts +39 -0
  273. package/dist/index.d.ts.map +1 -0
  274. package/dist/index.js +55 -0
  275. package/dist/index.js.map +1 -0
  276. package/dist/init-detect.d.ts +39 -0
  277. package/dist/init-detect.d.ts.map +1 -0
  278. package/dist/init-detect.js +188 -0
  279. package/dist/init-detect.js.map +1 -0
  280. package/dist/integration-deps.d.ts +62 -0
  281. package/dist/integration-deps.d.ts.map +1 -0
  282. package/dist/integration-deps.js +251 -0
  283. package/dist/integration-deps.js.map +1 -0
  284. package/dist/integration-runtime.d.ts +458 -0
  285. package/dist/integration-runtime.d.ts.map +1 -0
  286. package/dist/integration-runtime.js +681 -0
  287. package/dist/integration-runtime.js.map +1 -0
  288. package/dist/integration.d.ts +45 -0
  289. package/dist/integration.d.ts.map +1 -0
  290. package/dist/integration.js +87 -0
  291. package/dist/integration.js.map +1 -0
  292. package/dist/integrator.d.ts +84 -0
  293. package/dist/integrator.d.ts.map +1 -0
  294. package/dist/integrator.js +193 -0
  295. package/dist/integrator.js.map +1 -0
  296. package/dist/lane-claims.d.ts +174 -0
  297. package/dist/lane-claims.d.ts.map +1 -0
  298. package/dist/lane-claims.js +218 -0
  299. package/dist/lane-claims.js.map +1 -0
  300. package/dist/lane-coverage.d.ts +87 -0
  301. package/dist/lane-coverage.d.ts.map +1 -0
  302. package/dist/lane-coverage.js +129 -0
  303. package/dist/lane-coverage.js.map +1 -0
  304. package/dist/ledger-replay.d.ts +115 -0
  305. package/dist/ledger-replay.d.ts.map +1 -0
  306. package/dist/ledger-replay.js +155 -0
  307. package/dist/ledger-replay.js.map +1 -0
  308. package/dist/ledger-store.d.ts +68 -0
  309. package/dist/ledger-store.d.ts.map +1 -0
  310. package/dist/ledger-store.js +111 -0
  311. package/dist/ledger-store.js.map +1 -0
  312. package/dist/loop-safety-observer.d.ts +132 -0
  313. package/dist/loop-safety-observer.d.ts.map +1 -0
  314. package/dist/loop-safety-observer.js +76 -0
  315. package/dist/loop-safety-observer.js.map +1 -0
  316. package/dist/loop-safety-store.d.ts +339 -0
  317. package/dist/loop-safety-store.d.ts.map +1 -0
  318. package/dist/loop-safety-store.js +800 -0
  319. package/dist/loop-safety-store.js.map +1 -0
  320. package/dist/machine-store.d.ts +54 -0
  321. package/dist/machine-store.d.ts.map +1 -0
  322. package/dist/machine-store.js +149 -0
  323. package/dist/machine-store.js.map +1 -0
  324. package/dist/mcp-main.d.ts +2 -0
  325. package/dist/mcp-main.d.ts.map +1 -0
  326. package/dist/mcp-main.js +116 -0
  327. package/dist/mcp-main.js.map +1 -0
  328. package/dist/mcp-server.d.ts +72 -0
  329. package/dist/mcp-server.d.ts.map +1 -0
  330. package/dist/mcp-server.js +259 -0
  331. package/dist/mcp-server.js.map +1 -0
  332. package/dist/model-routing.d.ts +75 -0
  333. package/dist/model-routing.d.ts.map +1 -0
  334. package/dist/model-routing.js +108 -0
  335. package/dist/model-routing.js.map +1 -0
  336. package/dist/model-transport.d.ts +188 -0
  337. package/dist/model-transport.d.ts.map +1 -0
  338. package/dist/model-transport.js +625 -0
  339. package/dist/model-transport.js.map +1 -0
  340. package/dist/notify-cadence.d.ts +55 -0
  341. package/dist/notify-cadence.d.ts.map +1 -0
  342. package/dist/notify-cadence.js +68 -0
  343. package/dist/notify-cadence.js.map +1 -0
  344. package/dist/notify-channel.d.ts +69 -0
  345. package/dist/notify-channel.d.ts.map +1 -0
  346. package/dist/notify-channel.js +151 -0
  347. package/dist/notify-channel.js.map +1 -0
  348. package/dist/notify.d.ts +71 -0
  349. package/dist/notify.d.ts.map +1 -0
  350. package/dist/notify.js +125 -0
  351. package/dist/notify.js.map +1 -0
  352. package/dist/observation-inventory.d.ts +65 -0
  353. package/dist/observation-inventory.d.ts.map +1 -0
  354. package/dist/observation-inventory.js +139 -0
  355. package/dist/observation-inventory.js.map +1 -0
  356. package/dist/owned-children.d.ts +45 -0
  357. package/dist/owned-children.d.ts.map +1 -0
  358. package/dist/owned-children.js +64 -0
  359. package/dist/owned-children.js.map +1 -0
  360. package/dist/packet-for-goal.d.ts +19 -0
  361. package/dist/packet-for-goal.d.ts.map +1 -0
  362. package/dist/packet-for-goal.js +32 -0
  363. package/dist/packet-for-goal.js.map +1 -0
  364. package/dist/pair-cmd.d.ts +85 -0
  365. package/dist/pair-cmd.d.ts.map +1 -0
  366. package/dist/pair-cmd.js +205 -0
  367. package/dist/pair-cmd.js.map +1 -0
  368. package/dist/partial-asker.d.ts +96 -0
  369. package/dist/partial-asker.d.ts.map +1 -0
  370. package/dist/partial-asker.js +117 -0
  371. package/dist/partial-asker.js.map +1 -0
  372. package/dist/pdf-text-lines.d.ts +17 -0
  373. package/dist/pdf-text-lines.d.ts.map +1 -0
  374. package/dist/pdf-text-lines.js +70 -0
  375. package/dist/pdf-text-lines.js.map +1 -0
  376. package/dist/pdf-text-worker.d.ts +2 -0
  377. package/dist/pdf-text-worker.d.ts.map +1 -0
  378. package/dist/pdf-text-worker.js +81 -0
  379. package/dist/pdf-text-worker.js.map +1 -0
  380. package/dist/pdf-text.d.ts +56 -0
  381. package/dist/pdf-text.d.ts.map +1 -0
  382. package/dist/pdf-text.js +64 -0
  383. package/dist/pdf-text.js.map +1 -0
  384. package/dist/pending-action.d.ts +154 -0
  385. package/dist/pending-action.d.ts.map +1 -0
  386. package/dist/pending-action.js +148 -0
  387. package/dist/pending-action.js.map +1 -0
  388. package/dist/preemptor.d.ts +40 -0
  389. package/dist/preemptor.d.ts.map +1 -0
  390. package/dist/preemptor.js +49 -0
  391. package/dist/preemptor.js.map +1 -0
  392. package/dist/programme-mode.d.ts +29 -0
  393. package/dist/programme-mode.d.ts.map +1 -0
  394. package/dist/programme-mode.js +50 -0
  395. package/dist/programme-mode.js.map +1 -0
  396. package/dist/progress-view.d.ts +14 -0
  397. package/dist/progress-view.d.ts.map +1 -0
  398. package/dist/progress-view.js +114 -0
  399. package/dist/progress-view.js.map +1 -0
  400. package/dist/project-graph-builder.d.ts +81 -0
  401. package/dist/project-graph-builder.d.ts.map +1 -0
  402. package/dist/project-graph-builder.js +246 -0
  403. package/dist/project-graph-builder.js.map +1 -0
  404. package/dist/project-graph-runtime.d.ts +86 -0
  405. package/dist/project-graph-runtime.d.ts.map +1 -0
  406. package/dist/project-graph-runtime.js +112 -0
  407. package/dist/project-graph-runtime.js.map +1 -0
  408. package/dist/project-index-builder.d.ts +96 -0
  409. package/dist/project-index-builder.d.ts.map +1 -0
  410. package/dist/project-index-builder.js +298 -0
  411. package/dist/project-index-builder.js.map +1 -0
  412. package/dist/project-index-facts.d.ts +51 -0
  413. package/dist/project-index-facts.d.ts.map +1 -0
  414. package/dist/project-index-facts.js +117 -0
  415. package/dist/project-index-facts.js.map +1 -0
  416. package/dist/project-index-store.d.ts +97 -0
  417. package/dist/project-index-store.d.ts.map +1 -0
  418. package/dist/project-index-store.js +140 -0
  419. package/dist/project-index-store.js.map +1 -0
  420. package/dist/project-memory-store.d.ts +127 -0
  421. package/dist/project-memory-store.d.ts.map +1 -0
  422. package/dist/project-memory-store.js +302 -0
  423. package/dist/project-memory-store.js.map +1 -0
  424. package/dist/proposal-store.d.ts +14 -0
  425. package/dist/proposal-store.d.ts.map +1 -0
  426. package/dist/proposal-store.js +19 -0
  427. package/dist/proposal-store.js.map +1 -0
  428. package/dist/prover.d.ts +80 -0
  429. package/dist/prover.d.ts.map +1 -0
  430. package/dist/prover.js +137 -0
  431. package/dist/prover.js.map +1 -0
  432. package/dist/provider-identity-store.d.ts +34 -0
  433. package/dist/provider-identity-store.d.ts.map +1 -0
  434. package/dist/provider-identity-store.js +72 -0
  435. package/dist/provider-identity-store.js.map +1 -0
  436. package/dist/provider-identity.d.ts +104 -0
  437. package/dist/provider-identity.d.ts.map +1 -0
  438. package/dist/provider-identity.js +167 -0
  439. package/dist/provider-identity.js.map +1 -0
  440. package/dist/provider-limit.d.ts +79 -0
  441. package/dist/provider-limit.d.ts.map +1 -0
  442. package/dist/provider-limit.js +148 -0
  443. package/dist/provider-limit.js.map +1 -0
  444. package/dist/provider-preflight.d.ts +171 -0
  445. package/dist/provider-preflight.d.ts.map +1 -0
  446. package/dist/provider-preflight.js +395 -0
  447. package/dist/provider-preflight.js.map +1 -0
  448. package/dist/provider-state.d.ts +120 -0
  449. package/dist/provider-state.d.ts.map +1 -0
  450. package/dist/provider-state.js +182 -0
  451. package/dist/provider-state.js.map +1 -0
  452. package/dist/providers.d.ts +132 -0
  453. package/dist/providers.d.ts.map +1 -0
  454. package/dist/providers.js +161 -0
  455. package/dist/providers.js.map +1 -0
  456. package/dist/publication-recorder.d.ts +117 -0
  457. package/dist/publication-recorder.d.ts.map +1 -0
  458. package/dist/publication-recorder.js +124 -0
  459. package/dist/publication-recorder.js.map +1 -0
  460. package/dist/pursuit-delivery.d.ts +24 -0
  461. package/dist/pursuit-delivery.d.ts.map +1 -0
  462. package/dist/pursuit-delivery.js +38 -0
  463. package/dist/pursuit-delivery.js.map +1 -0
  464. package/dist/queue-store.d.ts +132 -0
  465. package/dist/queue-store.d.ts.map +1 -0
  466. package/dist/queue-store.js +185 -0
  467. package/dist/queue-store.js.map +1 -0
  468. package/dist/queue-summary.d.ts +14 -0
  469. package/dist/queue-summary.d.ts.map +1 -0
  470. package/dist/queue-summary.js +82 -0
  471. package/dist/queue-summary.js.map +1 -0
  472. package/dist/queue-view.d.ts +20 -0
  473. package/dist/queue-view.d.ts.map +1 -0
  474. package/dist/queue-view.js +163 -0
  475. package/dist/queue-view.js.map +1 -0
  476. package/dist/queue-write-lease.d.ts +106 -0
  477. package/dist/queue-write-lease.d.ts.map +1 -0
  478. package/dist/queue-write-lease.js +282 -0
  479. package/dist/queue-write-lease.js.map +1 -0
  480. package/dist/rails-home.d.ts +162 -0
  481. package/dist/rails-home.d.ts.map +1 -0
  482. package/dist/rails-home.js +452 -0
  483. package/dist/rails-home.js.map +1 -0
  484. package/dist/rails-migrations.d.ts +75 -0
  485. package/dist/rails-migrations.d.ts.map +1 -0
  486. package/dist/rails-migrations.js +199 -0
  487. package/dist/rails-migrations.js.map +1 -0
  488. package/dist/rails-stores.d.ts +49 -0
  489. package/dist/rails-stores.d.ts.map +1 -0
  490. package/dist/rails-stores.js +100 -0
  491. package/dist/rails-stores.js.map +1 -0
  492. package/dist/reaper.d.ts +69 -0
  493. package/dist/reaper.d.ts.map +1 -0
  494. package/dist/reaper.js +152 -0
  495. package/dist/reaper.js.map +1 -0
  496. package/dist/record-store.d.ts +36 -0
  497. package/dist/record-store.d.ts.map +1 -0
  498. package/dist/record-store.js +78 -0
  499. package/dist/record-store.js.map +1 -0
  500. package/dist/recovery-io.d.ts +50 -0
  501. package/dist/recovery-io.d.ts.map +1 -0
  502. package/dist/recovery-io.js +122 -0
  503. package/dist/recovery-io.js.map +1 -0
  504. package/dist/recovery.d.ts +146 -0
  505. package/dist/recovery.d.ts.map +1 -0
  506. package/dist/recovery.js +110 -0
  507. package/dist/recovery.js.map +1 -0
  508. package/dist/redraw.d.ts +34 -0
  509. package/dist/redraw.d.ts.map +1 -0
  510. package/dist/redraw.js +62 -0
  511. package/dist/redraw.js.map +1 -0
  512. package/dist/rejected-evidence.d.ts +255 -0
  513. package/dist/rejected-evidence.d.ts.map +1 -0
  514. package/dist/rejected-evidence.js +324 -0
  515. package/dist/rejected-evidence.js.map +1 -0
  516. package/dist/report-cmd.d.ts +32 -0
  517. package/dist/report-cmd.d.ts.map +1 -0
  518. package/dist/report-cmd.js +201 -0
  519. package/dist/report-cmd.js.map +1 -0
  520. package/dist/repos-cmd.d.ts +80 -0
  521. package/dist/repos-cmd.d.ts.map +1 -0
  522. package/dist/repos-cmd.js +240 -0
  523. package/dist/repos-cmd.js.map +1 -0
  524. package/dist/request-body-shape.d.ts +93 -0
  525. package/dist/request-body-shape.d.ts.map +1 -0
  526. package/dist/request-body-shape.js +407 -0
  527. package/dist/request-body-shape.js.map +1 -0
  528. package/dist/requirement-claims.d.ts +89 -0
  529. package/dist/requirement-claims.d.ts.map +1 -0
  530. package/dist/requirement-claims.js +92 -0
  531. package/dist/requirement-claims.js.map +1 -0
  532. package/dist/retention-apply-runtime.d.ts +105 -0
  533. package/dist/retention-apply-runtime.d.ts.map +1 -0
  534. package/dist/retention-apply-runtime.js +269 -0
  535. package/dist/retention-apply-runtime.js.map +1 -0
  536. package/dist/reverify.d.ts +41 -0
  537. package/dist/reverify.d.ts.map +1 -0
  538. package/dist/reverify.js +69 -0
  539. package/dist/reverify.js.map +1 -0
  540. package/dist/round-records.d.ts +65 -0
  541. package/dist/round-records.d.ts.map +1 -0
  542. package/dist/round-records.js +61 -0
  543. package/dist/round-records.js.map +1 -0
  544. package/dist/round-runner.d.ts +924 -0
  545. package/dist/round-runner.d.ts.map +1 -0
  546. package/dist/round-runner.js +1693 -0
  547. package/dist/round-runner.js.map +1 -0
  548. package/dist/run-approval.d.ts +180 -0
  549. package/dist/run-approval.d.ts.map +1 -0
  550. package/dist/run-approval.js +199 -0
  551. package/dist/run-approval.js.map +1 -0
  552. package/dist/run-cmd.d.ts +359 -0
  553. package/dist/run-cmd.d.ts.map +1 -0
  554. package/dist/run-cmd.js +4418 -0
  555. package/dist/run-cmd.js.map +1 -0
  556. package/dist/run-delivery.d.ts +71 -0
  557. package/dist/run-delivery.d.ts.map +1 -0
  558. package/dist/run-delivery.js +104 -0
  559. package/dist/run-delivery.js.map +1 -0
  560. package/dist/run-ended.d.ts +75 -0
  561. package/dist/run-ended.d.ts.map +1 -0
  562. package/dist/run-ended.js +27 -0
  563. package/dist/run-ended.js.map +1 -0
  564. package/dist/run-ending-locator.d.ts +125 -0
  565. package/dist/run-ending-locator.d.ts.map +1 -0
  566. package/dist/run-ending-locator.js +133 -0
  567. package/dist/run-ending-locator.js.map +1 -0
  568. package/dist/run-launcher.d.ts +459 -0
  569. package/dist/run-launcher.d.ts.map +1 -0
  570. package/dist/run-launcher.js +652 -0
  571. package/dist/run-launcher.js.map +1 -0
  572. package/dist/run-lease.d.ts +208 -0
  573. package/dist/run-lease.d.ts.map +1 -0
  574. package/dist/run-lease.js +301 -0
  575. package/dist/run-lease.js.map +1 -0
  576. package/dist/run-refusal-marks.d.ts +189 -0
  577. package/dist/run-refusal-marks.d.ts.map +1 -0
  578. package/dist/run-refusal-marks.js +249 -0
  579. package/dist/run-refusal-marks.js.map +1 -0
  580. package/dist/run-start-marks.d.ts +153 -0
  581. package/dist/run-start-marks.d.ts.map +1 -0
  582. package/dist/run-start-marks.js +269 -0
  583. package/dist/run-start-marks.js.map +1 -0
  584. package/dist/scan-cmd.d.ts +14 -0
  585. package/dist/scan-cmd.d.ts.map +1 -0
  586. package/dist/scan-cmd.js +270 -0
  587. package/dist/scan-cmd.js.map +1 -0
  588. package/dist/scan-events.d.ts +50 -0
  589. package/dist/scan-events.d.ts.map +1 -0
  590. package/dist/scan-events.js +91 -0
  591. package/dist/scan-events.js.map +1 -0
  592. package/dist/scan.d.ts +191 -0
  593. package/dist/scan.d.ts.map +1 -0
  594. package/dist/scan.js +417 -0
  595. package/dist/scan.js.map +1 -0
  596. package/dist/scope-rule.d.ts +148 -0
  597. package/dist/scope-rule.d.ts.map +1 -0
  598. package/dist/scope-rule.js +121 -0
  599. package/dist/scope-rule.js.map +1 -0
  600. package/dist/self-repo-id.d.ts +18 -0
  601. package/dist/self-repo-id.d.ts.map +1 -0
  602. package/dist/self-repo-id.js +70 -0
  603. package/dist/self-repo-id.js.map +1 -0
  604. package/dist/serve-cmd.d.ts +115 -0
  605. package/dist/serve-cmd.d.ts.map +1 -0
  606. package/dist/serve-cmd.js +505 -0
  607. package/dist/serve-cmd.js.map +1 -0
  608. package/dist/serve.d.ts +167 -0
  609. package/dist/serve.d.ts.map +1 -0
  610. package/dist/serve.js +336 -0
  611. package/dist/serve.js.map +1 -0
  612. package/dist/server-client.d.ts +766 -0
  613. package/dist/server-client.d.ts.map +1 -0
  614. package/dist/server-client.js +475 -0
  615. package/dist/server-client.js.map +1 -0
  616. package/dist/session-adapter-runtime.d.ts +195 -0
  617. package/dist/session-adapter-runtime.d.ts.map +1 -0
  618. package/dist/session-adapter-runtime.js +373 -0
  619. package/dist/session-adapter-runtime.js.map +1 -0
  620. package/dist/session-checkpoint-runtime.d.ts +62 -0
  621. package/dist/session-checkpoint-runtime.d.ts.map +1 -0
  622. package/dist/session-checkpoint-runtime.js +268 -0
  623. package/dist/session-checkpoint-runtime.js.map +1 -0
  624. package/dist/session-control-transport.d.ts +106 -0
  625. package/dist/session-control-transport.d.ts.map +1 -0
  626. package/dist/session-control-transport.js +232 -0
  627. package/dist/session-control-transport.js.map +1 -0
  628. package/dist/session-observation-store.d.ts +98 -0
  629. package/dist/session-observation-store.d.ts.map +1 -0
  630. package/dist/session-observation-store.js +155 -0
  631. package/dist/session-observation-store.js.map +1 -0
  632. package/dist/session-observe-runtime.d.ts +123 -0
  633. package/dist/session-observe-runtime.d.ts.map +1 -0
  634. package/dist/session-observe-runtime.js +317 -0
  635. package/dist/session-observe-runtime.js.map +1 -0
  636. package/dist/session-store.d.ts +98 -0
  637. package/dist/session-store.d.ts.map +1 -0
  638. package/dist/session-store.js +116 -0
  639. package/dist/session-store.js.map +1 -0
  640. package/dist/sessions-cmd.d.ts +202 -0
  641. package/dist/sessions-cmd.d.ts.map +1 -0
  642. package/dist/sessions-cmd.js +609 -0
  643. package/dist/sessions-cmd.js.map +1 -0
  644. package/dist/settings-overlay.d.ts +53 -0
  645. package/dist/settings-overlay.d.ts.map +1 -0
  646. package/dist/settings-overlay.js +175 -0
  647. package/dist/settings-overlay.js.map +1 -0
  648. package/dist/setup-prompt.d.ts +34 -0
  649. package/dist/setup-prompt.d.ts.map +1 -0
  650. package/dist/setup-prompt.js +92 -0
  651. package/dist/setup-prompt.js.map +1 -0
  652. package/dist/setup.d.ts +103 -0
  653. package/dist/setup.d.ts.map +1 -0
  654. package/dist/setup.js +283 -0
  655. package/dist/setup.js.map +1 -0
  656. package/dist/shared-grants.d.ts +164 -0
  657. package/dist/shared-grants.d.ts.map +1 -0
  658. package/dist/shared-grants.js +242 -0
  659. package/dist/shared-grants.js.map +1 -0
  660. package/dist/signals.d.ts +55 -0
  661. package/dist/signals.d.ts.map +1 -0
  662. package/dist/signals.js +85 -0
  663. package/dist/signals.js.map +1 -0
  664. package/dist/source-cmd.d.ts +201 -0
  665. package/dist/source-cmd.d.ts.map +1 -0
  666. package/dist/source-cmd.js +684 -0
  667. package/dist/source-cmd.js.map +1 -0
  668. package/dist/source-verdict.d.ts +99 -0
  669. package/dist/source-verdict.d.ts.map +1 -0
  670. package/dist/source-verdict.js +182 -0
  671. package/dist/source-verdict.js.map +1 -0
  672. package/dist/spend-ledger.d.ts +350 -0
  673. package/dist/spend-ledger.d.ts.map +1 -0
  674. package/dist/spend-ledger.js +546 -0
  675. package/dist/spend-ledger.js.map +1 -0
  676. package/dist/stale-run-sweep.d.ts +79 -0
  677. package/dist/stale-run-sweep.d.ts.map +1 -0
  678. package/dist/stale-run-sweep.js +116 -0
  679. package/dist/stale-run-sweep.js.map +1 -0
  680. package/dist/start-attempts.d.ts +385 -0
  681. package/dist/start-attempts.d.ts.map +1 -0
  682. package/dist/start-attempts.js +613 -0
  683. package/dist/start-attempts.js.map +1 -0
  684. package/dist/status-cmd.d.ts +28 -0
  685. package/dist/status-cmd.d.ts.map +1 -0
  686. package/dist/status-cmd.js +116 -0
  687. package/dist/status-cmd.js.map +1 -0
  688. package/dist/stop-follow-up.d.ts +107 -0
  689. package/dist/stop-follow-up.d.ts.map +1 -0
  690. package/dist/stop-follow-up.js +172 -0
  691. package/dist/stop-follow-up.js.map +1 -0
  692. package/dist/surface-lease.d.ts +118 -0
  693. package/dist/surface-lease.d.ts.map +1 -0
  694. package/dist/surface-lease.js +485 -0
  695. package/dist/surface-lease.js.map +1 -0
  696. package/dist/sync.d.ts +54 -0
  697. package/dist/sync.d.ts.map +1 -0
  698. package/dist/sync.js +93 -0
  699. package/dist/sync.js.map +1 -0
  700. package/dist/syncing-ledger.d.ts +45 -0
  701. package/dist/syncing-ledger.d.ts.map +1 -0
  702. package/dist/syncing-ledger.js +53 -0
  703. package/dist/syncing-ledger.js.map +1 -0
  704. package/dist/temp-fixtures.d.ts +68 -0
  705. package/dist/temp-fixtures.d.ts.map +1 -0
  706. package/dist/temp-fixtures.js +38 -0
  707. package/dist/temp-fixtures.js.map +1 -0
  708. package/dist/token-window.d.ts +84 -0
  709. package/dist/token-window.d.ts.map +1 -0
  710. package/dist/token-window.js +143 -0
  711. package/dist/token-window.js.map +1 -0
  712. package/dist/tool-bridge.d.ts +177 -0
  713. package/dist/tool-bridge.d.ts.map +1 -0
  714. package/dist/tool-bridge.js +329 -0
  715. package/dist/tool-bridge.js.map +1 -0
  716. package/dist/tool-call-record.d.ts +197 -0
  717. package/dist/tool-call-record.d.ts.map +1 -0
  718. package/dist/tool-call-record.js +276 -0
  719. package/dist/tool-call-record.js.map +1 -0
  720. package/dist/tool-protocol.d.ts +135 -0
  721. package/dist/tool-protocol.d.ts.map +1 -0
  722. package/dist/tool-protocol.js +104 -0
  723. package/dist/tool-protocol.js.map +1 -0
  724. package/dist/tool-worker.d.ts +3 -0
  725. package/dist/tool-worker.d.ts.map +1 -0
  726. package/dist/tool-worker.js +478 -0
  727. package/dist/tool-worker.js.map +1 -0
  728. package/dist/toolchain-mirror.d.ts +86 -0
  729. package/dist/toolchain-mirror.d.ts.map +1 -0
  730. package/dist/toolchain-mirror.js +307 -0
  731. package/dist/toolchain-mirror.js.map +1 -0
  732. package/dist/trusted-git.d.ts +243 -0
  733. package/dist/trusted-git.d.ts.map +1 -0
  734. package/dist/trusted-git.js +920 -0
  735. package/dist/trusted-git.js.map +1 -0
  736. package/dist/ui.d.ts +76 -0
  737. package/dist/ui.d.ts.map +1 -0
  738. package/dist/ui.js +118 -0
  739. package/dist/ui.js.map +1 -0
  740. package/dist/untrusted-exec.d.ts +275 -0
  741. package/dist/untrusted-exec.d.ts.map +1 -0
  742. package/dist/untrusted-exec.js +479 -0
  743. package/dist/untrusted-exec.js.map +1 -0
  744. package/dist/untrusted-gate.d.ts +73 -0
  745. package/dist/untrusted-gate.d.ts.map +1 -0
  746. package/dist/untrusted-gate.js +226 -0
  747. package/dist/untrusted-gate.js.map +1 -0
  748. package/dist/uploader.d.ts +153 -0
  749. package/dist/uploader.d.ts.map +1 -0
  750. package/dist/uploader.js +204 -0
  751. package/dist/uploader.js.map +1 -0
  752. package/dist/verifier.d.ts +66 -0
  753. package/dist/verifier.d.ts.map +1 -0
  754. package/dist/verifier.js +170 -0
  755. package/dist/verifier.js.map +1 -0
  756. package/dist/verify-apply.d.ts +26 -0
  757. package/dist/verify-apply.d.ts.map +1 -0
  758. package/dist/verify-apply.js +36 -0
  759. package/dist/verify-apply.js.map +1 -0
  760. package/dist/verify-cmd.d.ts +44 -0
  761. package/dist/verify-cmd.d.ts.map +1 -0
  762. package/dist/verify-cmd.js +125 -0
  763. package/dist/verify-cmd.js.map +1 -0
  764. package/dist/verify-pass.d.ts +73 -0
  765. package/dist/verify-pass.d.ts.map +1 -0
  766. package/dist/verify-pass.js +103 -0
  767. package/dist/verify-pass.js.map +1 -0
  768. package/dist/welcome.d.ts +43 -0
  769. package/dist/welcome.d.ts.map +1 -0
  770. package/dist/welcome.js +116 -0
  771. package/dist/welcome.js.map +1 -0
  772. package/dist/workspace-provisioner.d.ts +65 -0
  773. package/dist/workspace-provisioner.d.ts.map +1 -0
  774. package/dist/workspace-provisioner.js +66 -0
  775. package/dist/workspace-provisioner.js.map +1 -0
  776. package/dist/workspace-quarantine.d.ts +64 -0
  777. package/dist/workspace-quarantine.d.ts.map +1 -0
  778. package/dist/workspace-quarantine.js +156 -0
  779. package/dist/workspace-quarantine.js.map +1 -0
  780. package/dist/workspace-residue-sweep.d.ts +113 -0
  781. package/dist/workspace-residue-sweep.d.ts.map +1 -0
  782. package/dist/workspace-residue-sweep.js +158 -0
  783. package/dist/workspace-residue-sweep.js.map +1 -0
  784. package/dist/workspace.d.ts +639 -0
  785. package/dist/workspace.d.ts.map +1 -0
  786. package/dist/workspace.js +2026 -0
  787. package/dist/workspace.js.map +1 -0
  788. package/package.json +52 -4
  789. package/win/CredProbe.cs +64 -0
  790. package/win/FakeClaude.cs +56 -0
  791. package/win/HandleProbe.cs +116 -0
  792. package/win/TokenProbe.cs +53 -0
  793. package/win/appcontainer.ps1 +500 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ import type { LedgerFs } from './ledger-store';
2
+ /**
3
+ * The control file — `control.json` under the state dir.
4
+ *
5
+ * `pause` and `stop` arrive from the phone, are popped by the daemon, and have
6
+ * to reach a run the daemon did not start and cannot see: `nodeRunLauncher`
7
+ * spawns the run detached, so the two live in separate processes with no shared
8
+ * memory between them. A file is the only channel they both have.
9
+ *
10
+ * That is why this store, unlike the ledger, queue and evidence stores, holds
11
+ * nothing in memory and has no `open()`: every {@link ControlStore.read} goes to
12
+ * disk, because the interesting write always came from somebody else. A cached
13
+ * read here would mean the runner polling its own stale copy forever, which is
14
+ * the same as not polling at all.
15
+ */
16
+ /**
17
+ * `resume` is the cleared state rather than a fourth "none" kind, and it is
18
+ * written rather than the file being deleted: an unlink racing a reader in
19
+ * another process is how a request gets silently lost, and {@link LedgerFs}
20
+ * deliberately has no unlink for the same reason.
21
+ */
22
+ export type ControlKind = 'pause' | 'stop' | 'resume';
23
+ export interface ControlRequest {
24
+ kind: ControlKind;
25
+ /** ISO 8601. Recorded so a stale request can be recognised by a reader. */
26
+ requestedAt: string;
27
+ /** Who asked — the command's actor, e.g. `human:usr_1`. Reported, never trusted. */
28
+ actor?: string;
29
+ }
30
+ /** What the round runner needs; narrower than the class so it stubs cleanly. */
31
+ export interface ControlSource {
32
+ read(): Promise<ControlRequest | null>;
33
+ /** Records that the request was acted on, so the next run does not obey it again. */
34
+ consume(): Promise<void>;
35
+ }
36
+ /** What the daemon needs. It only ever writes: the run is the one that obeys. */
37
+ export interface ControlWriter {
38
+ request(kind: ControlKind, actor?: string): Promise<ControlRequest>;
39
+ }
40
+ export declare class ControlStore implements ControlSource, ControlWriter {
41
+ private readonly stateDir;
42
+ private readonly fs;
43
+ private readonly now;
44
+ /**
45
+ * WHOSE CONTROL FILE THIS IS. `control.json` — the project's — unless a
46
+ * caller names one execution.
47
+ *
48
+ * 🔴 ONE SHARED FILE CANNOT BRAKE N RUNS, and `looply stop` said it could.
49
+ * `consume()` writes `resume` into the file it read, so with several
50
+ * executions running the FIRST one to reach a round boundary cleared the
51
+ * instruction and the rest read `resume` and carried on — while the command
52
+ * had already printed "N executions are running; the request reaches all of
53
+ * them." A human brake that reaches one run out of three is worse than one
54
+ * that admits it reaches none.
55
+ *
56
+ * An ADDRESSED control file — `control.<runId>.json`, in that execution's
57
+ * own state directory — is the same mechanism aimed at one run. It is
58
+ * consumed by the only run that can ever read it, so no other run's
59
+ * instruction is destroyed by it.
60
+ *
61
+ * ⚠️ SIMPLE MODE IS UNTOUCHED. The default is exactly the path this class
62
+ * has always used, and a run only ever LOOKS for an addressed file that is
63
+ * named after its own freshly minted runId — so one that was never written
64
+ * is one that is never found.
65
+ */
66
+ private readonly fileName;
67
+ /** Distinguishes two writes from ONE process; the pid distinguishes processes. */
68
+ private static writes;
69
+ constructor(stateDir: string, fs: LedgerFs, now?: () => number,
70
+ /**
71
+ * WHOSE CONTROL FILE THIS IS. `control.json` — the project's — unless a
72
+ * caller names one execution.
73
+ *
74
+ * 🔴 ONE SHARED FILE CANNOT BRAKE N RUNS, and `looply stop` said it could.
75
+ * `consume()` writes `resume` into the file it read, so with several
76
+ * executions running the FIRST one to reach a round boundary cleared the
77
+ * instruction and the rest read `resume` and carried on — while the command
78
+ * had already printed "N executions are running; the request reaches all of
79
+ * them." A human brake that reaches one run out of three is worse than one
80
+ * that admits it reaches none.
81
+ *
82
+ * An ADDRESSED control file — `control.<runId>.json`, in that execution's
83
+ * own state directory — is the same mechanism aimed at one run. It is
84
+ * consumed by the only run that can ever read it, so no other run's
85
+ * instruction is destroyed by it.
86
+ *
87
+ * ⚠️ SIMPLE MODE IS UNTOUCHED. The default is exactly the path this class
88
+ * has always used, and a run only ever LOOKS for an addressed file that is
89
+ * named after its own freshly minted runId — so one that was never written
90
+ * is one that is never found.
91
+ */
92
+ fileName?: string);
93
+ private get controlPath();
94
+ /** The addressed control file for one execution, in its own state directory. */
95
+ static addressed(stateDir: string, runId: string, fs: LedgerFs, now?: () => number): ControlStore;
96
+ /**
97
+ * The current request, or null when there is none.
98
+ *
99
+ * A missing, unreadable, unparseable or unrecognised file is null — not a
100
+ * throw. Every other store treats corruption as loud because losing its
101
+ * contents loses work; here the contents are one pending request, and the
102
+ * cost of failing loud is killing an overnight run over a half-written file.
103
+ * An unknown kind is the same case in a different disguise: a newer phone
104
+ * writing a control this build does not implement must not stop the loop.
105
+ */
106
+ /**
107
+ * Like `read`, but says WHEN IT COULD NOT TELL.
108
+ *
109
+ * `read` collapses "there is nothing pending" and "I could not open the file"
110
+ * into the same `null`. That is right for a run about to start — it clears
111
+ * the file anyway — and wrong for anything deciding whether a person has
112
+ * asked the machine to hold, because a caller that reads "could not tell" as
113
+ * "nobody asked" fails OPEN on the one instruction that exists to stop work.
114
+ *
115
+ * The autonomy tick used to do exactly that while its own comment claimed the
116
+ * opposite: it wrapped `read` in a catch that could never fire, because the
117
+ * throw had already been swallowed in here.
118
+ *
119
+ * Two reads rather than one, deliberately: `read` keeps its contract for the
120
+ * run path, and this one does the open that can fail so it can report it.
121
+ * Both answers are advisory, so the gap between them costs nothing.
122
+ */
123
+ readOrTrouble(): Promise<{
124
+ ok: true;
125
+ request: ControlRequest | null;
126
+ } | {
127
+ ok: false;
128
+ because: string;
129
+ }>;
130
+ read(): Promise<ControlRequest | null>;
131
+ /** Write a request. Last writer wins: the newest instruction is the live one. */
132
+ request(kind: ControlKind, actor?: string): Promise<ControlRequest>;
133
+ /**
134
+ * Clear the hold by writing `resume`.
135
+ *
136
+ * The runner calls this the moment it acts on a `stop`. Leaving the stop on
137
+ * disk would make it permanent: the next `looply run` would read it before its
138
+ * first round and end immediately, and nothing on the phone would explain why.
139
+ */
140
+ consume(): Promise<void>;
141
+ }
142
+ //# sourceMappingURL=control-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-file.d.ts","sourceRoot":"","sources":["../src/control-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;;;;;;;;;GAaG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAItD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,WAAW,CAAC;IAClB,2EAA2E;IAC3E,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACvC,qFAAqF;IACrF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACrE;AAED,qBAAa,YAAa,YAAW,aAAa,EAAE,aAAa;IAK7D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ;IA7B3B,kFAAkF;IAClF,OAAO,CAAC,MAAM,CAAC,MAAM,CAAK;gBAGP,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,QAAQ,EACZ,GAAG,GAAE,MAAM,MAAyB;IACrD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACc,QAAQ,GAAE,MAAuB;IAGpD,OAAO,KAAK,WAAW,GAEtB;IAED,gFAAgF;IAChF,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,MAAM,GAAG,YAAY;IAIjG;;;;;;;;;OASG;IACH;;;;;;;;;;;;;;;;OAgBG;IACG,aAAa,IAAI,OAAO,CAC5B;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE,GAAG;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAC9E;IASK,IAAI,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA0B5C,iFAAiF;IAC3E,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAoBzE;;;;;;OAMG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ControlStore = void 0;
4
+ const KINDS = ['pause', 'stop', 'resume'];
5
+ class ControlStore {
6
+ stateDir;
7
+ fs;
8
+ now;
9
+ fileName;
10
+ /** Distinguishes two writes from ONE process; the pid distinguishes processes. */
11
+ static writes = 0;
12
+ constructor(stateDir, fs, now = () => Date.now(),
13
+ /**
14
+ * WHOSE CONTROL FILE THIS IS. `control.json` — the project's — unless a
15
+ * caller names one execution.
16
+ *
17
+ * 🔴 ONE SHARED FILE CANNOT BRAKE N RUNS, and `looply stop` said it could.
18
+ * `consume()` writes `resume` into the file it read, so with several
19
+ * executions running the FIRST one to reach a round boundary cleared the
20
+ * instruction and the rest read `resume` and carried on — while the command
21
+ * had already printed "N executions are running; the request reaches all of
22
+ * them." A human brake that reaches one run out of three is worse than one
23
+ * that admits it reaches none.
24
+ *
25
+ * An ADDRESSED control file — `control.<runId>.json`, in that execution's
26
+ * own state directory — is the same mechanism aimed at one run. It is
27
+ * consumed by the only run that can ever read it, so no other run's
28
+ * instruction is destroyed by it.
29
+ *
30
+ * ⚠️ SIMPLE MODE IS UNTOUCHED. The default is exactly the path this class
31
+ * has always used, and a run only ever LOOKS for an addressed file that is
32
+ * named after its own freshly minted runId — so one that was never written
33
+ * is one that is never found.
34
+ */
35
+ fileName = 'control.json') {
36
+ this.stateDir = stateDir;
37
+ this.fs = fs;
38
+ this.now = now;
39
+ this.fileName = fileName;
40
+ }
41
+ get controlPath() {
42
+ return `${this.stateDir}/${this.fileName}`;
43
+ }
44
+ /** The addressed control file for one execution, in its own state directory. */
45
+ static addressed(stateDir, runId, fs, now) {
46
+ return new ControlStore(stateDir, fs, now ?? (() => Date.now()), `control.${runId}.json`);
47
+ }
48
+ /**
49
+ * The current request, or null when there is none.
50
+ *
51
+ * A missing, unreadable, unparseable or unrecognised file is null — not a
52
+ * throw. Every other store treats corruption as loud because losing its
53
+ * contents loses work; here the contents are one pending request, and the
54
+ * cost of failing loud is killing an overnight run over a half-written file.
55
+ * An unknown kind is the same case in a different disguise: a newer phone
56
+ * writing a control this build does not implement must not stop the loop.
57
+ */
58
+ /**
59
+ * Like `read`, but says WHEN IT COULD NOT TELL.
60
+ *
61
+ * `read` collapses "there is nothing pending" and "I could not open the file"
62
+ * into the same `null`. That is right for a run about to start — it clears
63
+ * the file anyway — and wrong for anything deciding whether a person has
64
+ * asked the machine to hold, because a caller that reads "could not tell" as
65
+ * "nobody asked" fails OPEN on the one instruction that exists to stop work.
66
+ *
67
+ * The autonomy tick used to do exactly that while its own comment claimed the
68
+ * opposite: it wrapped `read` in a catch that could never fire, because the
69
+ * throw had already been swallowed in here.
70
+ *
71
+ * Two reads rather than one, deliberately: `read` keeps its contract for the
72
+ * run path, and this one does the open that can fail so it can report it.
73
+ * Both answers are advisory, so the gap between them costs nothing.
74
+ */
75
+ async readOrTrouble() {
76
+ try {
77
+ await this.fs.readFile(this.controlPath);
78
+ }
79
+ catch (e) {
80
+ return { ok: false, because: e.message };
81
+ }
82
+ return { ok: true, request: await this.read() };
83
+ }
84
+ async read() {
85
+ let text;
86
+ try {
87
+ text = await this.fs.readFile(this.controlPath);
88
+ }
89
+ catch {
90
+ return null;
91
+ }
92
+ if (text === null)
93
+ return null;
94
+ let parsed;
95
+ try {
96
+ parsed = JSON.parse(text);
97
+ }
98
+ catch {
99
+ return null;
100
+ }
101
+ if (typeof parsed !== 'object' || parsed === null)
102
+ return null;
103
+ const { kind, requestedAt, actor } = parsed;
104
+ if (typeof kind !== 'string' || !KINDS.includes(kind))
105
+ return null;
106
+ return {
107
+ kind: kind,
108
+ requestedAt: typeof requestedAt === 'string' ? requestedAt : '',
109
+ ...(typeof actor === 'string' ? { actor } : {}),
110
+ };
111
+ }
112
+ /** Write a request. Last writer wins: the newest instruction is the live one. */
113
+ async request(kind, actor) {
114
+ const req = {
115
+ kind,
116
+ requestedAt: new Date(this.now()).toISOString(),
117
+ ...(actor === undefined ? {} : { actor }),
118
+ };
119
+ await this.fs.mkdir(this.stateDir);
120
+ // Temp-then-rename, same contract as status.json and queue.json — a reader
121
+ // in the other process must never catch half a request.
122
+ // The temp name is PRIVATE TO THIS WRITER. A shared `control.json.tmp` is
123
+ // two processes writing one path: the second truncates and rewrites what
124
+ // the first is midway through, and then both rename it into place. The
125
+ // rename is atomic and the file it renames is a splice of two writes, and
126
+ // nothing downstream can tell.
127
+ const tmp = `${this.controlPath}.${process.pid}.${(ControlStore.writes += 1)}.tmp`;
128
+ await this.fs.writeFile(tmp, JSON.stringify(req, null, 2) + '\n');
129
+ await this.fs.rename(tmp, this.controlPath);
130
+ return req;
131
+ }
132
+ /**
133
+ * Clear the hold by writing `resume`.
134
+ *
135
+ * The runner calls this the moment it acts on a `stop`. Leaving the stop on
136
+ * disk would make it permanent: the next `looply run` would read it before its
137
+ * first round and end immediately, and nothing on the phone would explain why.
138
+ */
139
+ async consume() {
140
+ await this.request('resume');
141
+ }
142
+ }
143
+ exports.ControlStore = ControlStore;
144
+ //# sourceMappingURL=control-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-file.js","sourceRoot":"","sources":["../src/control-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ import type { ScheduleGoal, ScheduleHold, ScheduleRun, ScheduleWorkspace } from '@looply/core';
2
+ import type { GoalStore } from './goal-store';
3
+ import type { AutonomyStore } from './autonomy-store';
4
+ import type { LoopSafetyStore } from './loop-safety-store';
5
+ import { type RunRegistry } from './workspace';
6
+ import type { CoordinatorInput } from './coordinator';
7
+ /**
8
+ * TURNING WHAT IS ON DISK INTO WHAT THE SCHEDULER TAKES.
9
+ *
10
+ * ⚠️ A SEPARATE FILE, DELIBERATELY. `decideSchedule` is pure and
11
+ * `coordinator.ts` is nearly pure — this is the only part that reads a
12
+ * filesystem, and keeping it apart is what lets the confinement spec assert
13
+ * something meaningful about the other two.
14
+ *
15
+ * ⚠️ AND IT IS A READ, START TO FINISH. Nothing here creates, claims, removes
16
+ * or repairs anything. A gatherer with a side effect would make the tick's
17
+ * "decides, never executes" property depend on where you drew the line.
18
+ */
19
+ export interface Gatherers {
20
+ readonly goals: GoalStore;
21
+ /** The grants. Null when this project has none — then nothing is startable. */
22
+ readonly autonomy: AutonomyStore | null;
23
+ readonly registry: RunRegistry;
24
+ readonly safety: LoopSafetyStore | null;
25
+ readonly capacity: {
26
+ maxWorkspaces: number;
27
+ maxAgentsInFlight: number;
28
+ provision?: boolean;
29
+ };
30
+ readonly now: () => number;
31
+ readonly home?: string;
32
+ /**
33
+ * Does this programme integrate?
34
+ *
35
+ * 🔴 IT CHANGES WHAT "SATISFIED" MEANS FOR A DEPENDENCY. Both keys turning
36
+ * is a fact about one checkout; under a lane, a dependent that starts on it
37
+ * builds against work that is not on the branch everything else is cut from.
38
+ * Absent is off — the behaviour every project without a lane has always had.
39
+ */
40
+ readonly integrates?: boolean;
41
+ /**
42
+ * F28 (corr-3): goals whose controller answered `wait`/`hold` last cadence. Absent: none known.
43
+ */
44
+ readonly held?: ReadonlySet<string>;
45
+ /**
46
+ * F34: the `goalId@version`s the brain has answered, in a programme whose brain proposes
47
+ * dependencies. Absent: no advice is awaited (no brain, or not a programme).
48
+ */
49
+ readonly advised?: ReadonlySet<string>;
50
+ }
51
+ /**
52
+ * F28 (B13): where each goal's plan lives, keyed `goalId@version` — the checkout named by the
53
+ * NEWEST `claims` record for that goal and version, matched to a checkout that still exists.
54
+ * The newest decides: when its checkout is gone, so is the plan, and the goal has no home.
55
+ *
56
+ * ⚠️ PATHS ARE COMPARED AS THE FILESYSTEM COMPARES THEM — case-insensitively on Windows — and
57
+ * the answer is the scheduler's own spelling of the checkout, so its match is exact.
58
+ */
59
+ export declare function homesFor(cwd: string, workspaces: readonly ScheduleWorkspace[]): Map<string, string>;
60
+ /**
61
+ * Which goals the scheduler may consider, and when each became eligible.
62
+ *
63
+ * ⚠️ `queuedAt` IS `updatedAt`, WHICH IS THE HONEST APPROXIMATION AND IS SAID
64
+ * SO RATHER THAN LEFT TO BE FOUND. A goal has no "became eligible" timestamp;
65
+ * what it has is when it last changed, which for an authorized goal that has
66
+ * not run is when a person authorized it. The age boost is monotone in this
67
+ * value, so the anti-starvation bound holds whatever it is anchored to.
68
+ *
69
+ * ⚠️ AND THE OLD VERSION OF THIS SENTENCE WAS WRONG IN A WAY WORTH KEEPING. It
70
+ * said an inaccurate anchor "costs fairness between two goals, not liveness" —
71
+ * true of an anchor that is merely wrong, and false of the one the code
72
+ * actually produced, which was the epoch. See `queuedAt` below.
73
+ */
74
+ export declare function goalsFor(store: GoalStore, autonomy: AutonomyStore | null,
75
+ /**
76
+ * The goal ids whose work has been published to the integration ref.
77
+ *
78
+ * ⚠️ ABSENT IS UNKNOWN, AND THE SCHEDULER READS UNKNOWN AS NOT INTEGRATED
79
+ * — but only when the programme says it integrates. A project with no lane
80
+ * never consults it, which is why passing nothing is safe for every caller
81
+ * that had none.
82
+ */
83
+ integrated?: ReadonlySet<string>): ScheduleGoal[];
84
+ /**
85
+ * The runs in flight, from the registry the bound already uses.
86
+ *
87
+ * ⚠️ ACTIVE ONLY. An orphaned record is a crashed run: counting it would hold
88
+ * capacity a dead process is not using, and the reaper is what clears it.
89
+ */
90
+ export declare function runsFor(registry: RunRegistry): ScheduleRun[];
91
+ /**
92
+ * The checkouts the machine could hand out, and their state.
93
+ *
94
+ * ⚠️ QUARANTINED IS ITS OWN ANSWER, not "busy". A busy workspace frees itself
95
+ * when its run ends; a quarantined one never does, and a scheduler that could
96
+ * not tell them apart would wait for ever on a directory a person has to look
97
+ * at.
98
+ */
99
+ export declare function workspacesFor(cwd: string, registry: RunRegistry, home?: string): ScheduleWorkspace[];
100
+ /**
101
+ * The holds, flattened.
102
+ *
103
+ * ⚠️ THE COORDINATOR EVALUATES NO DETECTORS. It asks the store which goals are
104
+ * held and takes the answer. A scheduler that re-derived a hold would be a
105
+ * second brake with its own opinion, and the two would disagree exactly when
106
+ * it mattered.
107
+ */
108
+ export declare function holdsFor(safety: LoopSafetyStore | null, goals: readonly ScheduleGoal[]): ScheduleHold[];
109
+ /**
110
+ * WHICH SURFACES ARE HELD RIGHT NOW, AND BY WHICH RUN.
111
+ *
112
+ * 🔴 THE SCHEDULER'S SURFACE GATE WAS DEAD CODE. `decideSchedule` has a
113
+ * `waitingOn: 'surface'` branch — written, specced, and unreachable, because
114
+ * NOTHING in production ever populated `surfacesHeld`. So two goals declaring
115
+ * the same directory were both started in one tick, and the only thing standing
116
+ * between them was the surface lease refusing the second run AFTER it had been
117
+ * spawned, a workspace assigned and a model paid for.
118
+ *
119
+ * ⚠️ THE COORDINATOR ONLY LOOKS. It reports what the leases say; acquiring is
120
+ * still the launcher's business, in a total order, all-or-nothing, before the
121
+ * run starts. This is the cheap check that avoids paying for the expensive one.
122
+ *
123
+ * ⚠️ AND IT IS AN OPTIMISATION, NOT THE GUARANTEE. The lease is the guarantee —
124
+ * this is read at decision time and the world moves. A goal that slips through
125
+ * meets the lease and is refused there, which is exactly where it was refused
126
+ * before this existed.
127
+ */
128
+ export declare function surfacesHeldFor(cwd: string, goals: readonly ScheduleGoal[], now: number): Record<string, string>;
129
+ /** Everything the tick needs, read once. */
130
+ export declare function gatherScheduleState(cwd: string, deps: Gatherers): CoordinatorInput;
131
+ //# sourceMappingURL=coordinator-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coordinator-state.d.ts","sourceRoot":"","sources":["../src/coordinator-state.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAqB,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAClH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAgC,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAM7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD;;;;;;;;;;;GAWG;AAEH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,+EAA+E;IAC/E,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7F,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACxC;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,iBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAYnG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CACtB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,aAAa,GAAG,IAAI;AAC9B;;;;;;;GAOG;AACH,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAC/B,YAAY,EAAE,CAoFhB;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,EAAE,CAoB5D;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,WAAW,EACrB,IAAI,GAAE,MAAkB,GACvB,iBAAiB,EAAE,CAsBrB;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,YAAY,EAAE,CAkCvG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,GAAG,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAkBxB;AAoBD,4CAA4C;AAC5C,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,gBAAgB,CAiElF"}