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,519 @@
1
+ import { type TrailerInput } from '@looply/core';
2
+ /**
3
+ * The git driver.
4
+ *
5
+ * Every git interaction the round loop needs, behind one injected `exec` so the
6
+ * behaviour is testable without a repository. Two properties are load-bearing:
7
+ * a branch that already exists is refused, never reused (DESIGN §12 case 2), and
8
+ * the state directory survives both staging and the discard path's `clean -fd`
9
+ * (DESIGN §12 case 12) — explicitly, via pathspec and `-e`, not by trusting the
10
+ * target repo's `.gitignore` to mention `.looply`.
11
+ */
12
+ export interface GitExecResult {
13
+ code: number;
14
+ stdout: string;
15
+ stderr: string;
16
+ }
17
+ export type GitExec = (args: readonly string[]) => Promise<GitExecResult>;
18
+ export declare class GitError extends Error {
19
+ }
20
+ /** The runner's own files; git must never stage them and never clean them. */
21
+ export declare const STATE_DIR = ".looply";
22
+ /**
23
+ * THE EXECUTION'S OWN STATE — one directory per checkout, one writer.
24
+ *
25
+ * Everything whose correctness rests on there being a single writer lives here:
26
+ * the run lease, `queue.json`'s whole-file rewrite, `status.json`'s single-run
27
+ * shape, `events.jsonl`'s in-memory `seq` counter. Those are correct BECAUSE
28
+ * one run owns one checkout, and they stay correct when a second run happens in
29
+ * a different one.
30
+ */
31
+ export declare function executionStateDir(cwd: string): string;
32
+ /**
33
+ * THE PROJECT'S STATE — one directory per repository, however many worktrees.
34
+ *
35
+ * 🔴 A LINKED WORKTREE IS THE SAME PROJECT, and the state whose invariant says
36
+ * "per project" must not follow the checkout. Otherwise isolating executions
37
+ * silently un-does safety rather than adding it:
38
+ *
39
+ * loop-safety history keyed by the state directory and the pursuit it
40
+ * watches, and the path half exists only as where the
41
+ * file sits — so a second worktree is a FRESH
42
+ * history. Both detectors
43
+ * need three observations and each run contributes
44
+ * one, so with a worktree per run they can never
45
+ * fire at all.
46
+ * exemption spend ledger single-use holds only because there is one
47
+ * `exemptions.json` per checkout. N checkouts make
48
+ * one granted row spendable N times — a rails bypass,
49
+ * not a bookkeeping detail.
50
+ * control.json the ONE channel the daemon, the run and the
51
+ * controller share about whether a person said stop.
52
+ * Split it and the stop button reaches one run.
53
+ * goals the daemon is the sole writer; a run reads.
54
+ *
55
+ * ⚠️ IDENTICAL TO `executionStateDir` IN THE ORDINARY CASE. In a normal checkout
56
+ * the main worktree IS the cwd, so both answer the same path and Simple Mode is
57
+ * byte-identical. They diverge only inside a linked worktree.
58
+ *
59
+ * ⚠️ FALLS BACK TO THE EXECUTION DIR when there is no repository or its metadata
60
+ * cannot be read — the pre-worktree behaviour, unchanged. `repoConfigTroubleAt`
61
+ * is the check that refuses on unreadable metadata; this is not that check.
62
+ *
63
+ * 🔴 AND THAT FALLBACK USED TO SWALLOW A CASE IT SHOULD NOT HAVE. A repository
64
+ * can have several worktrees and no main one — `clone --bare` plus two
65
+ * `worktree add`s — and there `mainWorktreeRoot` is null while the sharing is
66
+ * still required. The old code read null as "nothing to share" and put the
67
+ * project's state inside each checkout: a fresh loop-safety history per
68
+ * checkout, and one single-use exemption spendable once per checkout, with
69
+ * nothing said about it.
70
+ *
71
+ * For those, the shared state goes under `~/.looply/projects/<key>`, keyed by
72
+ * the common dir — the one identity every worktree of that repository agrees
73
+ * on. `~/.looply` is where this codebase already puts state that must survive
74
+ * the repository, and a bare repository has no tree to put it in anyway.
75
+ *
76
+ * ⚠️ AN ORDINARY CHECKOUT IS UNAFFECTED, and that is load-bearing for
77
+ * compatibility: `linkedRepoCommonDir` answers null unless the checkout is
78
+ * LINKED, so a single-worktree repository — bare or not — keeps the exact path
79
+ * it has always used and no existing state is orphaned.
80
+ */
81
+ export declare function projectStateDir(cwd: string): string;
82
+ export declare class GitDriver {
83
+ private readonly exec;
84
+ constructor(exec: GitExec);
85
+ private run;
86
+ /**
87
+ * The pathspec that keeps `.looply` out of a stage — WHEN NAMING IT IS LEGAL.
88
+ *
89
+ * 🔴 `:(exclude).looply` IS A REFUSAL WHEN `.looply` IS ALREADY IGNORED, and
90
+ * that broke evidence gathering on every round of any project that gitignores
91
+ * it. Git rejects a pathspec that EXPLICITLY names an ignored path, and an
92
+ * exclusion names it:
93
+ *
94
+ * .looply not in .gitignore git add -N -- . :(exclude).looply exit 0
95
+ * .looply in .gitignore same command exit 1
96
+ * "The following paths are ignored by one of your .gitignore files"
97
+ *
98
+ * `advice.addIgnoredFile=false` only hides the hint; the exit code stays 1.
99
+ *
100
+ * ⚠️ AND IT IS A CATCH-22 WITHOUT THIS. Leave `.looply/` untracked and the run
101
+ * refuses to start on a dirty tree; gitignore it — the obvious fix, and the
102
+ * one a person reaches for — and every round's evidence fails instead.
103
+ * Measured live: a round whose gate was green and whose proof said `proven`
104
+ * recorded `evidence could not be gathered`.
105
+ *
106
+ * When the path is already ignored the exclusion is not merely illegal, it is
107
+ * REDUNDANT: git skips ignored paths under a `.` pathspec anyway. So the
108
+ * answer is to ask, and to drop it exactly when git is already doing the job.
109
+ *
110
+ * ⚠️ ASKED EVERY TIME, NOT MEMOISED. A round may edit `.gitignore`, and the
111
+ * direction that goes wrong is the one a cache would get wrong: believing
112
+ * `.looply` is ignored when it is no longer ignored stages the state
113
+ * directory into somebody's commit. One `check-ignore` is a few milliseconds.
114
+ *
115
+ * `check-ignore` only reads `.gitignore` and prints; it is in the same
116
+ * READ-ONLY family as `status` and `rev-parse`, and none of the forbidden
117
+ * verbs.
118
+ */
119
+ private keepStateOut;
120
+ /** Create and switch to `name`. An existing branch of that name is a refusal. */
121
+ createBranch(name: string, from?: string): Promise<void>;
122
+ /** The sha of HEAD — recorded as the run's base before any round writes. */
123
+ headSha(): Promise<string>;
124
+ /**
125
+ * THE FIRST CONVERGENCE VERBS THIS DRIVER HAS EVER ISSUED.
126
+ *
127
+ * Until Phase 5 the complete list was add, cat-file, clean, commit, ls-tree,
128
+ * push, reset, rev-list, rev-parse, status, switch, worktree — no fetch, no
129
+ * merge, no rebase, no cherry-pick, no revert, no stash, no checkout, no tag,
130
+ * no remote, no branch -d, no notes, no gc, no bisect, no submodule. That was
131
+ * not an oversight; it was the whole safety argument, and it is why the three
132
+ * added here are the three that only ever READ or FAST-FORWARD.
133
+ *
134
+ * ⚠️ THERE IS STILL NO `merge`, NO `rebase` AND NO `cherry-pick`. Integration
135
+ * is a fast-forward or it is a refusal. A merge that had to combine two
136
+ * histories is the thing that can silently drop somebody's line, and
137
+ * "auto-resolving a merge conflict" is listed under **Never**.
138
+ */
139
+ mergeBase(a: string, b: string): Promise<string | null>;
140
+ /**
141
+ * How far apart two refs are, counted rather than assumed.
142
+ *
143
+ * `--left-right --count` answers both directions in one call, so the two
144
+ * numbers are read at the SAME moment — asking twice would let a ref move in
145
+ * between and produce a pair that never simultaneously held.
146
+ */
147
+ divergence(mine: string, theirs: string): Promise<{
148
+ ahead: number;
149
+ behind: number;
150
+ }>;
151
+ /**
152
+ * CREATE OR ADVANCE ONE OF LOOPLY'S OWN REFS — AND ONLY BY COMPARE-AND-SWAP.
153
+ *
154
+ * 🔴 THE FOURTH CONVERGENCE VERB, AND THE ONLY ONE THAT WRITES. Phase 5's
155
+ * integration queue has to move `looply/integration` forward, and until now
156
+ * this driver could not move a ref at all. What it must NOT become is a
157
+ * general `update-ref`: that is one typo away from moving `main`.
158
+ *
159
+ * Three narrowings, all of them enforced here rather than by convention:
160
+ *
161
+ * 1. THE NAME MUST BE LOOPLY'S. Anything not under `refs/heads/looply/` is
162
+ * refused before git is asked. A person's branch is theirs, and `main`
163
+ * is nobody's to move from here.
164
+ * 2. IT IS A COMPARE-AND-SWAP, ALWAYS. `git update-ref <ref> <new> <old>`
165
+ * fails if the ref is not still `old`, so a base that moved between
166
+ * validation and publication cannot be overwritten — git itself refuses,
167
+ * atomically, without this code having to re-read and hope. Creating a
168
+ * ref passes the all-zero oid as `old`, which is git's own way of saying
169
+ * "and it must not exist yet".
170
+ * 3. FAST-FORWARD ONLY. The caller must have established that `newSha` has
171
+ * `oldSha` as an ancestor; there is still no `merge`, `rebase` or
172
+ * `cherry-pick` in this file, so nothing here can combine two histories.
173
+ *
174
+ * ⚠️ GIT'S REFERENCE API, NOT A FILE WRITE. Writing `.git/refs/...` by hand
175
+ * would miss packed refs, the reflog and the lock — and would be a second,
176
+ * worse implementation of the compare-and-swap that is the whole point.
177
+ *
178
+ * Answers `false` when the swap was refused (the ref moved, or already
179
+ * existed); throws only when git could not be asked at all.
180
+ */
181
+ compareAndSetRef(ref: string, newSha: string, oldSha: string | null): Promise<boolean>;
182
+ /** Local branches under a prefix, with their tips — the finished runs the lane may be offered (M5-1). */
183
+ listBranches(prefix: string): Promise<Array<{
184
+ name: string;
185
+ sha: string;
186
+ }>>;
187
+ /** Whether a ref exists at all. Integration may not have been cut yet. */
188
+ refExists(ref: string): Promise<boolean>;
189
+ /**
190
+ * WHAT THE REPOSITORY CONTAINS, as distinct from which commit produced it.
191
+ *
192
+ * ─────────────────────────────────────────────────────────────────────────
193
+ * A COMMIT SHA IS THE WRONG IDENTITY FOR "IS THIS THE SAME STATE AGAIN"
194
+ *
195
+ * A commit id covers the parent, the author, the message and the timestamp,
196
+ * so it differs on every commit even when the content is byte-identical.
197
+ * Loop safety needs to notice a pursuit moving A → B → A → B, and with commit
198
+ * ids that reads as four distinct states and no cycle is ever detectable.
199
+ *
200
+ * A tree id is the content. The same files reached twice by two different
201
+ * commits are ONE state, which is exactly the equality the detector needs.
202
+ *
203
+ * ⚠️ IT DESCRIBES THE COMMITTED TREE, NOT THE WORKING ONE. Uncommitted edits
204
+ * do not move it — the same limit `headSha` has. That is the honest reading
205
+ * for a Round that commits its work; a caller comparing dirty trees would
206
+ * need something else, and inventing one here would mean writing to the index
207
+ * (see `diff()`, which is not read-only despite its name).
208
+ *
209
+ * READ-ONLY. `rev-parse` resolves; it changes nothing.
210
+ */
211
+ headTreeSha(): Promise<string>;
212
+ /**
213
+ * The tree a ref or commit points at — `headTreeSha` for any ref (F25: the lane
214
+ * judges coverage on the integration tip's tree). READ-ONLY, the same `rev-parse`.
215
+ */
216
+ treeOf(ref: string): Promise<string>;
217
+ /**
218
+ * Whether `ancestor` is in `of`'s history (a commit is its own ancestor) — F31. READ-ONLY:
219
+ * `merge-base --is-ancestor` answers by exit code, 0 yes and 1 no; anything else is a fault.
220
+ */
221
+ isAncestor(ancestor: string, of: string): Promise<boolean>;
222
+ /** The commit a ref points at (F27). READ-ONLY, the same `rev-parse`. */
223
+ commitOf(ref: string): Promise<string>;
224
+ /**
225
+ * Put HEAD on `sha`, detached — the tree a goal-met Start must judge (F27).
226
+ *
227
+ * ⚠️ `switch`, the verb this driver already uses, and never forced: `switch --detach`
228
+ * refuses when local changes would be lost, and the caller has already found the tree clean.
229
+ */
230
+ switchDetached(sha: string): Promise<void>;
231
+ /**
232
+ * The branch HEAD is on, or `(detached)` when it is not on one.
233
+ *
234
+ * Recorded in the run lease as the branch the run was cut from. Nothing
235
+ * returns to it — run branches stack — so knowing where a run started is the
236
+ * only way a later process can tell an ordinary stacked branch from a tree
237
+ * somebody has since moved somewhere else entirely.
238
+ */
239
+ /**
240
+ * Every tracked file at a revision, with its blob sha and size.
241
+ *
242
+ * 🔴 ENUMERATED FROM THE GIT INDEX, NEVER FROM THE FILESYSTEM, AND THAT ONE
243
+ * DECISION SETTLES FOUR SEPARATE PROBLEMS THE AUDIT FOUND.
244
+ *
245
+ * ignore rules git has already applied `.gitignore`. Nothing in this
246
+ * repository reads that file, and the one production skip
247
+ * list is three hardcoded basenames that would happily walk
248
+ * `dist/` and `coverage/` — build output that is by
249
+ * construction different on every machine.
250
+ * symlink escape the existing physical-path defence is a NAMED-PATH
251
+ * defence: it says nothing about an enumeration, so a
252
+ * directory walk inherits none of it. The git index cannot
253
+ * contain an entry outside the repository, so the escape is
254
+ * impossible here rather than guarded against.
255
+ * ordering `ls-tree` output is deterministic, unlike `readdir`.
256
+ * portability paths are already project-relative.
257
+ *
258
+ * `-r` recurses into subtrees; `-z` because a path may contain anything a
259
+ * newline could, and `-l` adds the size git already knows so nothing has to
260
+ * stat the working tree.
261
+ */
262
+ listTree(treeIsh: string): Promise<Array<{
263
+ path: string;
264
+ blobSha: string;
265
+ bytes: number;
266
+ }>>;
267
+ /**
268
+ * The COMMITTED content of one blob.
269
+ *
270
+ * ⚠️ THE COMMITTED CONTENT, NOT THE WORKING TREE'S. An index describes a
271
+ * revision; reading the file from disk would describe whatever somebody has
272
+ * half-edited, and two machines would then disagree about a revision they
273
+ * both have.
274
+ */
275
+ readBlob(blobSha: string): Promise<string>;
276
+ currentBranch(): Promise<string>;
277
+ /**
278
+ * Working-tree paths that differ from HEAD, with `.looply/**` filtered out —
279
+ * the runner's own state writes must never read as "the agent changed
280
+ * something", or the no-op branch becomes unreachable (DESIGN §2.4).
281
+ */
282
+ changedPaths(): Promise<string[]>;
283
+ /**
284
+ * Every changed path WITH what happened to it, as `git status` reports it.
285
+ *
286
+ * The manifest a rejected candidate is retained with. `changedPaths` is the
287
+ * same list with the status dropped, and the two share one parse so they
288
+ * cannot disagree about which paths a round touched. `status` is the
289
+ * two-character porcelain code (`??` new, ` M` modified, `R ` renamed…).
290
+ */
291
+ changedEntries(): Promise<Array<{
292
+ path: string;
293
+ status: string;
294
+ }>>;
295
+ /**
296
+ * Commits in `fromSha..toSha` that touch any of `paths` — the input to the
297
+ * re-verification trigger (DESIGN §12 case 19). Zero paths short-circuits to
298
+ * 0 without calling git: `rev-list --count` with an empty pathspec counts
299
+ * *every* commit, which would read as "everything touched the evidence".
300
+ */
301
+ countCommitsTouching(fromSha: string, toSha: string, paths: readonly string[]): Promise<number>;
302
+ /** `add -A`, with the state directory excluded by pathspec. */
303
+ /**
304
+ * The round's changes as a unified diff, for the prover.
305
+ *
306
+ * Staged and unstaged both, because the round is inspected before anything is
307
+ * committed. State and run logs are excluded by the same pathspec the commit
308
+ * uses — a prover reading its own run's ledger would be grading the story.
309
+ */
310
+ /**
311
+ * Create a linked worktree at `path`, on a NEW branch cut from `baseSha`.
312
+ *
313
+ * ⚠️ THROUGH THE SAME `exec` AS EVERY OTHER VERB, deliberately. A worktree
314
+ * provisioner with its own git runner would be a second "safe enough" path
315
+ * around the config check, the repository-root check, the rebuilt `GIT_`
316
+ * namespace and the absolute binary resolution — all four of which exist
317
+ * because the repository is untrusted input.
318
+ *
319
+ * ⚠️ A NEW BRANCH, NEVER AN EXISTING ONE. `-b` fails if the branch is already
320
+ * there, which is the same refusal `createBranch` makes and for the same
321
+ * reason: reusing a branch would stack this execution's commits on whatever a
322
+ * previous one left behind. Linked worktrees SHARE the ref namespace, so this
323
+ * is the check that makes two simultaneous executions safe to start.
324
+ */
325
+ addWorktree(path: string, branch: string, baseSha: string): Promise<void>;
326
+ /**
327
+ * Every worktree of this repository: its path, its HEAD, its branch.
328
+ *
329
+ * `--porcelain` because the human-readable form is not parseable — a path may
330
+ * contain spaces, and the columns are aligned rather than delimited.
331
+ */
332
+ listWorktrees(): Promise<Array<{
333
+ path: string;
334
+ head: string;
335
+ branch: string | null;
336
+ }>>;
337
+ /**
338
+ * Remove a linked worktree.
339
+ *
340
+ * 🔴 NEVER `--force`, AND THIS IS NOT A STYLE CHOICE. `git worktree remove
341
+ * --force` deletes IGNORED files — `node_modules`, `.env` — which `discard()`
342
+ * one method below deliberately preserves by omitting `-x` from `clean`. It
343
+ * also fires exactly when git has already refused the safe form, which is to
344
+ * say exactly when something is there that git thought worth refusing over.
345
+ *
346
+ * So git's own refusal IS the check. A caller that cannot remove a worktree
347
+ * should leave it and say so, not insist.
348
+ */
349
+ removeWorktree(path: string): Promise<void>;
350
+ /**
351
+ * Drop the administrative records of worktrees whose directories are gone.
352
+ *
353
+ * Touches no working tree — it only reconciles `.git/worktrees/*` with what is
354
+ * actually on disk, which is what makes a directory that a person deleted by
355
+ * hand stop counting against the ref namespace.
356
+ */
357
+ pruneWorktrees(): Promise<void>;
358
+ /**
359
+ * Everything THIS checkout holds that a pristine one would not — INCLUDING
360
+ * ignored files.
361
+ *
362
+ * ⚠️ `--ignored` IS THE WHOLE POINT. Without it this asks exactly the question
363
+ * `git worktree remove` already answers by refusing, and learns nothing new.
364
+ * With it, it sees the `node_modules` and the `.env` that `remove` deletes
365
+ * silently.
366
+ *
367
+ * 🔴 AND IT ANSWERS ABOUT *THIS* DRIVER'S CHECKOUT — the first version took a
368
+ * `workspace` and passed `-C <workspace>`, which does nothing here.
369
+ * `trustedGitEnv` pins GIT_DIR and GIT_WORK_TREE from the cwd the driver was
370
+ * built with, and a pinned work tree beats `-C`. Measured: it reported the
371
+ * MAIN checkout's residue while claiming to describe a workspace — so a dirty
372
+ * main checkout would have blocked every reap, and a clean one would have
373
+ * waved through a workspace full of files. To ask about another checkout,
374
+ * build a driver for it.
375
+ */
376
+ statusWithIgnored(): Promise<string>;
377
+ diff(maxBytes?: number): Promise<string>;
378
+ /**
379
+ * The working tree's change against HEAD as one applicable patch — the
380
+ * artifact a rejected candidate is retained as, before `discard()` resets it.
381
+ *
382
+ * `diff()` is this with the prover's own truncation notice; the two share the
383
+ * implementation so the patch a repair restores and the diff a prover judged
384
+ * are the same text. `truncated` is a FLAG here rather than a notice in the
385
+ * text, because a truncated patch must never be applied: `git apply` would
386
+ * either refuse it or, worse, apply the part it could read.
387
+ */
388
+ patch(maxBytes: number): Promise<{
389
+ text: string;
390
+ bytes: number;
391
+ truncated: boolean;
392
+ }>;
393
+ /**
394
+ * The change one commit range makes, as one applicable patch — the same
395
+ * artifact `patch()` produces for a working tree, asked about history
396
+ * instead.
397
+ *
398
+ * 🔴 THIS IS WHAT A REPLAY CARRIES, and it is deliberately a PATCH rather
399
+ * than a range of commits. Carrying commits would mean replaying their
400
+ * identities onto a new base, which is the rewrite `integration.spec.ts`
401
+ * forbids; carrying the change means a NEW commit that must earn its own
402
+ * proof. The distinction is the whole reason a replay is not a rebase.
403
+ *
404
+ * ⚠️ `truncated` is a flag, never a notice in the text: a truncated patch
405
+ * must never be applied, because `git apply` would either refuse it or,
406
+ * worse, apply the part it could read.
407
+ */
408
+ patchBetween(fromSha: string, toSha: string, maxBytes: number): Promise<{
409
+ text: string;
410
+ bytes: number;
411
+ truncated: boolean;
412
+ }>;
413
+ /**
414
+ * The paths a commit range touched — what the replay fold is asked about.
415
+ *
416
+ * ⚠️ The state directory is excluded for the same reason it is excluded from
417
+ * the patch: it is looply's own bookkeeping, not the candidate's work, and a
418
+ * replay that carried it would carry one run's ledger onto another's base.
419
+ */
420
+ changedPathsBetween(fromSha: string, toSha: string): Promise<string[]>;
421
+ /**
422
+ * Restore a retained candidate into the working tree from its patch file.
423
+ *
424
+ * ⚠️ CHECKED FIRST, THEN APPLIED, AND NEVER PARTIALLY. `--check` asks git
425
+ * whether the whole patch fits the tree as it stands; only then is it applied
426
+ * — and `git apply` without `--reject` is itself all-or-nothing, so a hunk
427
+ * that no longer fits leaves the tree exactly as it was. The runner decides
428
+ * WHETHER to restore (base matches, patch complete, paths permitted); this
429
+ * only does the restoring, and answers a refusal as a value rather than a
430
+ * throw because "the patch no longer applies" is a finding, not a fault.
431
+ *
432
+ * `patchFile` is a path on this machine, never patch text on a command line.
433
+ */
434
+ applyPatch(patchFile: string): Promise<{
435
+ ok: true;
436
+ } | {
437
+ ok: false;
438
+ because: string;
439
+ }>;
440
+ stageAll(): Promise<void>;
441
+ /**
442
+ * Is there anything staged to commit?
443
+ *
444
+ * 🔴 BECAUSE "ALREADY DONE" WAS ENDING WHOLE RUNS. `git commit` exits 1 on an
445
+ * empty tree, the driver turns a non-zero exit into a `GitError`, and the
446
+ * runner's crash path turns that into `run-aborted` — severity critical, the
447
+ * run over, every remaining item dropped.
448
+ *
449
+ * Measured live: a round whose gate was GREEN in 2,148 ms and whose prover
450
+ * answered `proven` at 0.83 killed its run, because the previous round's
451
+ * implementer had already written the tests this round's item asked for. The
452
+ * work was right, the checks agreed it was right, and being right is what
453
+ * ended the run.
454
+ *
455
+ * `--quiet` implies `--exit-code`: 0 means no staged difference against HEAD,
456
+ * 1 means there is one. Anything else is a real git failure and is raised
457
+ * rather than read as "nothing staged" — answering "empty" to a broken
458
+ * repository would silently skip a commit that should have happened.
459
+ */
460
+ hasStagedChanges(): Promise<boolean>;
461
+ /**
462
+ * Commit the staged tree. The trailer is generated here from the executed step
463
+ * list — the driver takes `TrailerInput`, not a finished string, so no caller
464
+ * can hand-write a trailer that claims a check it never ran.
465
+ */
466
+ commit(subject: string, trailer: TrailerInput): Promise<string>;
467
+ /**
468
+ * The full message of a commit, or null when the ref does not resolve.
469
+ *
470
+ * Read-only, and used by recovery for one narrow question: whether the commit
471
+ * at HEAD is the one a crashed round was about to record. A round commits
472
+ * with the item's title as the subject, and only ever after the commit permit
473
+ * passed — so finding it is evidence the round finished, not a substitute for
474
+ * the checks that let it.
475
+ */
476
+ messageOf(ref: string): Promise<string | null>;
477
+ /**
478
+ * Drop everything the round did: `reset --hard`, then `clean -fd` with the
479
+ * state directory explicitly spared. `-fd` (never `-fdx`) plus `-e` means
480
+ * `.looply/**` survives even in a repo whose `.gitignore` forgot it.
481
+ */
482
+ discard(): Promise<void>;
483
+ /**
484
+ * WHAT THE REMOTE SAYS THIS REF IS, OR NULL.
485
+ *
486
+ * The reconciliation read, and the reason a push is the right first real
487
+ * action: the question "did it happen" has an exact answer that can be asked
488
+ * afterwards, from a different process, with nothing carried over but the
489
+ * approved sha.
490
+ *
491
+ * A ref the remote does not have is `null`, which is not an error — a branch
492
+ * that has never existed is the ordinary case for a first push.
493
+ */
494
+ remoteRef(remoteName: string, ref: string): Promise<string | null>;
495
+ /**
496
+ * THE ONE OUTWARD ACT.
497
+ *
498
+ * `<sha>:<ref>` rather than a branch name, so what is pushed is the exact
499
+ * commit a person approved and not whatever a local ref points at by the time
500
+ * this runs. There is no `--force` and no `+` in the refspec: this method
501
+ * cannot express a forced push, which is a stronger statement than declining
502
+ * to pass a flag.
503
+ *
504
+ * Everything else about safety it inherits: `nodeGitExec` is the one trusted
505
+ * construction point, so this call is refused outright if the repository's
506
+ * config names a program for git to run, and carries the hooks override and
507
+ * `GIT_TERMINAL_PROMPT=0` like every other verb.
508
+ */
509
+ push(remoteName: string, sourceSha: string, destinationRef: string): Promise<void>;
510
+ }
511
+ /**
512
+ * Real exec: argv straight to git, no shell, so message bytes arrive verbatim.
513
+ *
514
+ * THE ONE TRUSTED CONSTRUCTION POINT. Every production git call in the tree —
515
+ * the daemon's, the run's, the verifier's — is built here, which is why the
516
+ * repository-config defence can live in one place and cover all of them.
517
+ */
518
+ export declare function nodeGitExec(cwd: string): GitExec;
519
+ //# sourceMappingURL=git-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-driver.d.ts","sourceRoot":"","sources":["../src/git-driver.ts"],"names":[],"mappings":"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"}