looply-cli 0.0.0-stage → 0.2.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 (785) 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 +2719 -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/server-client.d.ts +766 -0
  605. package/dist/server-client.d.ts.map +1 -0
  606. package/dist/server-client.js +475 -0
  607. package/dist/server-client.js.map +1 -0
  608. package/dist/session-adapter-runtime.d.ts +195 -0
  609. package/dist/session-adapter-runtime.d.ts.map +1 -0
  610. package/dist/session-adapter-runtime.js +373 -0
  611. package/dist/session-adapter-runtime.js.map +1 -0
  612. package/dist/session-checkpoint-runtime.d.ts +62 -0
  613. package/dist/session-checkpoint-runtime.d.ts.map +1 -0
  614. package/dist/session-checkpoint-runtime.js +268 -0
  615. package/dist/session-checkpoint-runtime.js.map +1 -0
  616. package/dist/session-control-transport.d.ts +106 -0
  617. package/dist/session-control-transport.d.ts.map +1 -0
  618. package/dist/session-control-transport.js +232 -0
  619. package/dist/session-control-transport.js.map +1 -0
  620. package/dist/session-observation-store.d.ts +98 -0
  621. package/dist/session-observation-store.d.ts.map +1 -0
  622. package/dist/session-observation-store.js +155 -0
  623. package/dist/session-observation-store.js.map +1 -0
  624. package/dist/session-observe-runtime.d.ts +123 -0
  625. package/dist/session-observe-runtime.d.ts.map +1 -0
  626. package/dist/session-observe-runtime.js +317 -0
  627. package/dist/session-observe-runtime.js.map +1 -0
  628. package/dist/session-store.d.ts +98 -0
  629. package/dist/session-store.d.ts.map +1 -0
  630. package/dist/session-store.js +116 -0
  631. package/dist/session-store.js.map +1 -0
  632. package/dist/sessions-cmd.d.ts +202 -0
  633. package/dist/sessions-cmd.d.ts.map +1 -0
  634. package/dist/sessions-cmd.js +609 -0
  635. package/dist/sessions-cmd.js.map +1 -0
  636. package/dist/settings-overlay.d.ts +53 -0
  637. package/dist/settings-overlay.d.ts.map +1 -0
  638. package/dist/settings-overlay.js +175 -0
  639. package/dist/settings-overlay.js.map +1 -0
  640. package/dist/setup-prompt.d.ts +34 -0
  641. package/dist/setup-prompt.d.ts.map +1 -0
  642. package/dist/setup-prompt.js +92 -0
  643. package/dist/setup-prompt.js.map +1 -0
  644. package/dist/setup.d.ts +103 -0
  645. package/dist/setup.d.ts.map +1 -0
  646. package/dist/setup.js +283 -0
  647. package/dist/setup.js.map +1 -0
  648. package/dist/shared-grants.d.ts +164 -0
  649. package/dist/shared-grants.d.ts.map +1 -0
  650. package/dist/shared-grants.js +242 -0
  651. package/dist/shared-grants.js.map +1 -0
  652. package/dist/signals.d.ts +55 -0
  653. package/dist/signals.d.ts.map +1 -0
  654. package/dist/signals.js +85 -0
  655. package/dist/signals.js.map +1 -0
  656. package/dist/source-cmd.d.ts +201 -0
  657. package/dist/source-cmd.d.ts.map +1 -0
  658. package/dist/source-cmd.js +684 -0
  659. package/dist/source-cmd.js.map +1 -0
  660. package/dist/source-verdict.d.ts +99 -0
  661. package/dist/source-verdict.d.ts.map +1 -0
  662. package/dist/source-verdict.js +182 -0
  663. package/dist/source-verdict.js.map +1 -0
  664. package/dist/spend-ledger.d.ts +350 -0
  665. package/dist/spend-ledger.d.ts.map +1 -0
  666. package/dist/spend-ledger.js +546 -0
  667. package/dist/spend-ledger.js.map +1 -0
  668. package/dist/stale-run-sweep.d.ts +79 -0
  669. package/dist/stale-run-sweep.d.ts.map +1 -0
  670. package/dist/stale-run-sweep.js +116 -0
  671. package/dist/stale-run-sweep.js.map +1 -0
  672. package/dist/start-attempts.d.ts +385 -0
  673. package/dist/start-attempts.d.ts.map +1 -0
  674. package/dist/start-attempts.js +613 -0
  675. package/dist/start-attempts.js.map +1 -0
  676. package/dist/status-cmd.d.ts +28 -0
  677. package/dist/status-cmd.d.ts.map +1 -0
  678. package/dist/status-cmd.js +116 -0
  679. package/dist/status-cmd.js.map +1 -0
  680. package/dist/stop-follow-up.d.ts +107 -0
  681. package/dist/stop-follow-up.d.ts.map +1 -0
  682. package/dist/stop-follow-up.js +172 -0
  683. package/dist/stop-follow-up.js.map +1 -0
  684. package/dist/surface-lease.d.ts +118 -0
  685. package/dist/surface-lease.d.ts.map +1 -0
  686. package/dist/surface-lease.js +485 -0
  687. package/dist/surface-lease.js.map +1 -0
  688. package/dist/sync.d.ts +54 -0
  689. package/dist/sync.d.ts.map +1 -0
  690. package/dist/sync.js +93 -0
  691. package/dist/sync.js.map +1 -0
  692. package/dist/syncing-ledger.d.ts +45 -0
  693. package/dist/syncing-ledger.d.ts.map +1 -0
  694. package/dist/syncing-ledger.js +53 -0
  695. package/dist/syncing-ledger.js.map +1 -0
  696. package/dist/temp-fixtures.d.ts +68 -0
  697. package/dist/temp-fixtures.d.ts.map +1 -0
  698. package/dist/temp-fixtures.js +38 -0
  699. package/dist/temp-fixtures.js.map +1 -0
  700. package/dist/token-window.d.ts +84 -0
  701. package/dist/token-window.d.ts.map +1 -0
  702. package/dist/token-window.js +143 -0
  703. package/dist/token-window.js.map +1 -0
  704. package/dist/tool-bridge.d.ts +177 -0
  705. package/dist/tool-bridge.d.ts.map +1 -0
  706. package/dist/tool-bridge.js +329 -0
  707. package/dist/tool-bridge.js.map +1 -0
  708. package/dist/tool-call-record.d.ts +197 -0
  709. package/dist/tool-call-record.d.ts.map +1 -0
  710. package/dist/tool-call-record.js +276 -0
  711. package/dist/tool-call-record.js.map +1 -0
  712. package/dist/tool-protocol.d.ts +135 -0
  713. package/dist/tool-protocol.d.ts.map +1 -0
  714. package/dist/tool-protocol.js +104 -0
  715. package/dist/tool-protocol.js.map +1 -0
  716. package/dist/tool-worker.d.ts +3 -0
  717. package/dist/tool-worker.d.ts.map +1 -0
  718. package/dist/tool-worker.js +478 -0
  719. package/dist/tool-worker.js.map +1 -0
  720. package/dist/toolchain-mirror.d.ts +86 -0
  721. package/dist/toolchain-mirror.d.ts.map +1 -0
  722. package/dist/toolchain-mirror.js +307 -0
  723. package/dist/toolchain-mirror.js.map +1 -0
  724. package/dist/trusted-git.d.ts +243 -0
  725. package/dist/trusted-git.d.ts.map +1 -0
  726. package/dist/trusted-git.js +920 -0
  727. package/dist/trusted-git.js.map +1 -0
  728. package/dist/ui.d.ts +76 -0
  729. package/dist/ui.d.ts.map +1 -0
  730. package/dist/ui.js +118 -0
  731. package/dist/ui.js.map +1 -0
  732. package/dist/untrusted-exec.d.ts +275 -0
  733. package/dist/untrusted-exec.d.ts.map +1 -0
  734. package/dist/untrusted-exec.js +479 -0
  735. package/dist/untrusted-exec.js.map +1 -0
  736. package/dist/untrusted-gate.d.ts +73 -0
  737. package/dist/untrusted-gate.d.ts.map +1 -0
  738. package/dist/untrusted-gate.js +226 -0
  739. package/dist/untrusted-gate.js.map +1 -0
  740. package/dist/uploader.d.ts +153 -0
  741. package/dist/uploader.d.ts.map +1 -0
  742. package/dist/uploader.js +204 -0
  743. package/dist/uploader.js.map +1 -0
  744. package/dist/verifier.d.ts +66 -0
  745. package/dist/verifier.d.ts.map +1 -0
  746. package/dist/verifier.js +170 -0
  747. package/dist/verifier.js.map +1 -0
  748. package/dist/verify-apply.d.ts +26 -0
  749. package/dist/verify-apply.d.ts.map +1 -0
  750. package/dist/verify-apply.js +36 -0
  751. package/dist/verify-apply.js.map +1 -0
  752. package/dist/verify-cmd.d.ts +44 -0
  753. package/dist/verify-cmd.d.ts.map +1 -0
  754. package/dist/verify-cmd.js +125 -0
  755. package/dist/verify-cmd.js.map +1 -0
  756. package/dist/verify-pass.d.ts +73 -0
  757. package/dist/verify-pass.d.ts.map +1 -0
  758. package/dist/verify-pass.js +103 -0
  759. package/dist/verify-pass.js.map +1 -0
  760. package/dist/welcome.d.ts +43 -0
  761. package/dist/welcome.d.ts.map +1 -0
  762. package/dist/welcome.js +116 -0
  763. package/dist/welcome.js.map +1 -0
  764. package/dist/workspace-provisioner.d.ts +65 -0
  765. package/dist/workspace-provisioner.d.ts.map +1 -0
  766. package/dist/workspace-provisioner.js +66 -0
  767. package/dist/workspace-provisioner.js.map +1 -0
  768. package/dist/workspace-quarantine.d.ts +64 -0
  769. package/dist/workspace-quarantine.d.ts.map +1 -0
  770. package/dist/workspace-quarantine.js +156 -0
  771. package/dist/workspace-quarantine.js.map +1 -0
  772. package/dist/workspace-residue-sweep.d.ts +113 -0
  773. package/dist/workspace-residue-sweep.d.ts.map +1 -0
  774. package/dist/workspace-residue-sweep.js +158 -0
  775. package/dist/workspace-residue-sweep.js.map +1 -0
  776. package/dist/workspace.d.ts +639 -0
  777. package/dist/workspace.d.ts.map +1 -0
  778. package/dist/workspace.js +2026 -0
  779. package/dist/workspace.js.map +1 -0
  780. package/package.json +54 -6
  781. package/win/CredProbe.cs +64 -0
  782. package/win/FakeClaude.cs +56 -0
  783. package/win/HandleProbe.cs +116 -0
  784. package/win/TokenProbe.cs +53 -0
  785. package/win/appcontainer.ps1 +500 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../src/completion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,549 @@
1
+ import { type RequiredProfile } from '@looply/core';
2
+ import { type AgentSpec } from './agent-exec';
3
+ import type { StepSpec } from './gate';
4
+ /**
5
+ * `.looply/config.yaml` — the one file a user edits by hand.
6
+ *
7
+ * Validation is strict and happens at load, not at hour three of a run. Every
8
+ * message names the exact key, because a config error found at round 1 of an
9
+ * overnight run has already cost the night.
10
+ */
11
+ export interface LooplyConfig {
12
+ project: {
13
+ name: string;
14
+ id?: string;
15
+ };
16
+ run: {
17
+ minHours: number;
18
+ maxRounds: number;
19
+ cooldownS: number;
20
+ /**
21
+ * Directories to copy from this project into any checkout the product makes
22
+ * for itself — a second worker's workspace, and the throwaway tree a
23
+ * candidate is checked in.
24
+ *
25
+ * Both are `git worktree add`, so both hold exactly what git tracks, and
26
+ * `node_modules` is gitignored everywhere. The contained gate has no network
27
+ * by design, so it cannot install them either: the gate could not pass for any
28
+ * project with a dependency, in a checkout the product made in order to gate it.
29
+ *
30
+ * EMPTY BY DEFAULT, and absent means absent — every existing project behaves
31
+ * exactly as it did. Named rather than guessed: a product that silently copies
32
+ * directories nobody asked for is one nobody can predict. See `checkout-carry`.
33
+ * ⚠️ OPTIONAL, like every other key added to `run` since the first three.
34
+ * A fixture that names only `min_hours`/`max_rounds`/`cooldown_s` must keep
35
+ * compiling; making this required broke 7 suites at ts-jest time while
36
+ * `npm run typecheck` stayed green, because that script does not read specs.
37
+ */
38
+ carryIntoCheckouts?: readonly string[];
39
+ /**
40
+ * Record one loop-safety observation per ROUND rather than per RUN.
41
+ *
42
+ * 🔴 OFF BY DEFAULT, AND THAT IS A COMPATIBILITY DECISION. The thresholds
43
+ * in `core/loop-safety.ts` were written for a per-round denominator —
44
+ * `MAX_SAME_FAILURE_REPEATS = 3` is stated there as sitting "exactly on
45
+ * MAX_ITEM_EXECUTION_ATTEMPTS" — and the producer has always recorded once
46
+ * per run, which made that claim false by a factor of the round count.
47
+ * Turning this on makes the comment true. Turning it on SILENTLY would
48
+ * retune the brake for every existing single-goal user, who asked for none
49
+ * of it.
50
+ *
51
+ * Optional on the TYPE so a config object built before this existed still
52
+ * means false. `parseConfig` always sets it.
53
+ */
54
+ perRoundSafety?: boolean;
55
+ /**
56
+ * Whether declared resource surfaces are acquired and enforced.
57
+ *
58
+ * 🔴 OFF BY DEFAULT, AND THE EXIT CRITERION IS THAT TURNING IT OFF CHANGES
59
+ * NOTHING. Surfaces are additive: a Run declaring none behaves exactly as
60
+ * it did before they existed, and with this false no lease is taken, no
61
+ * fence is minted and no write is ever compared against a declaration.
62
+ */
63
+ surfaces?: boolean;
64
+ /**
65
+ * Whether run branches converge on `looply/integration`.
66
+ *
67
+ * 🔴 OFF BY DEFAULT, AND THE GATE IS NOT TIMIDITY. With it off there is no
68
+ * `looply/integration` ref to cut from, and changing where a Mode 1 run's
69
+ * branch starts is a behaviour change to the simplest path in the product —
70
+ * a FIX for the ever-deepening chain, but one that moves what `git log`
71
+ * shows a person who has never asked for a second workspace. The stacking
72
+ * fix arrives with the thing that makes it necessary.
73
+ */
74
+ integration?: boolean;
75
+ /**
76
+ * Whether a reasoning provider may PROPOSE.
77
+ *
78
+ * 🔴 OFF BY DEFAULT, AND THE DISABLING TEST IS THE PHASE'S WHOLE POINT.
79
+ * With this false the coordinator is called with an EMPTY proposal array,
80
+ * no L0–L3 file imports the brain, and every earlier phase's behaviour is
81
+ * exactly what it was. A brain that cost something to disable would not be
82
+ * optional; it would be load-bearing wearing a flag.
83
+ *
84
+ * ⚠️ AND `advisory` IS THE ONLY AUTONOMY THIS SHIPS. A proposal is
85
+ * recorded; nothing acts on one. `approval` and `auto` are named in the
86
+ * plan and are not built, because a proposal channel with no measured
87
+ * refusal rate is not a channel anybody should be able to arm.
88
+ */
89
+ brain?: boolean;
90
+ /**
91
+ * How many executions of THIS PROJECT may run at once, across every
92
+ * workspace.
93
+ *
94
+ * Optional on the TYPE so that a config object built before this existed —
95
+ * every test fixture, and any caller outside `parseConfig` — still means one.
96
+ * `parseConfig` always sets it.
97
+ *
98
+ * ⚠️ DEFAULT 1, which is exactly today's behaviour: one lease, one checkout,
99
+ * one run. Nothing about Simple Mode changes unless a person raises it.
100
+ *
101
+ * ⚠️ DELIBERATELY NOT `machine.maxConcurrentAgents` OR
102
+ * `machine.maxConcurrentGates`. Those count agent processes and gate
103
+ * processes, not executions; adopting either would retroactively activate a
104
+ * number somebody saved when it meant nothing, and would silently cap this
105
+ * at 2 or at 1.
106
+ *
107
+ * 🔴 THE DECISION IS NOW MADE, AND IT IS DEPRECATE. Both keys stay
108
+ * PARSEABLE for ever — a config carrying them loads without complaint —
109
+ * and neither is ever read. The rule that settles it is the one already
110
+ * stated above: new behaviour gets a new key. Somebody who wrote
111
+ * `max_concurrent_agents: 8` wrote it about agent processes on a machine
112
+ * with no coordinator, and turning that into a fleet size today would be
113
+ * looply deciding something they did not.
114
+ *
115
+ * ⚠️ AND `account.keeper` IS NOT THE COORDINATOR. Same rule, and it is
116
+ * worth saying because the name invites the mistake.
117
+ */
118
+ maxConcurrentRuns?: number;
119
+ };
120
+ /**
121
+ * THE COORDINATOR'S CEILINGS, AND WHY THEY ARE NEW NAMES.
122
+ *
123
+ * ⚠️ NOT `machine.max_concurrent_agents` OR `machine.max_concurrent_gates`.
124
+ * Phase 0 marked both `unsupported` precisely so nobody's saved number would
125
+ * be adopted by a later phase that gave it a meaning it never had. Adopting
126
+ * them here would retroactively activate a value somebody wrote when it did
127
+ * nothing — and would silently cap a project at whatever they happened to
128
+ * type. New behaviour gets a new key; that is the whole rule.
129
+ *
130
+ * ⚠️ AND BOTH DEFAULT TO 1, so a machine that has never heard of a
131
+ * coordinator behaves exactly as it does today: one checkout, one agent.
132
+ */
133
+ /**
134
+ * ⚠️ OPTIONAL ON THE TYPE, following `run.maxConcurrentRuns` exactly. A config
135
+ * object built before this existed — every test fixture, and any caller
136
+ * outside `parseConfig` — still means one of each. `parseConfig` always sets
137
+ * it, so the only readers that see `undefined` are ones that never asked for
138
+ * a coordinator.
139
+ */
140
+ machine?: {
141
+ /** How many checkouts this machine may hold at once. */
142
+ maxWorkspaces: number;
143
+ /** How many agent processes may be in flight at once. */
144
+ maxAgentsInFlight: number;
145
+ /**
146
+ * Let the scheduler choose which goal gets the daemon's turn.
147
+ *
148
+ * 🔴 OFF BY DEFAULT, AND THAT IS NOT TIMIDITY. With it off the daemon does
149
+ * exactly what it did before — oldest grant first, rotated for fairness —
150
+ * so no existing project's overnight behaviour changes because it upgraded.
151
+ *
152
+ * ⚠️ AND IT ORDERS; IT DOES NOT PARALLELISE. The tick still performs AT
153
+ * MOST ONE transition per cadence. What changes is which controller is
154
+ * asked first: dependency order, holds, cycles and the anti-starvation age
155
+ * boost instead of arrival time. "DO NOT make parallel execution
156
+ * mandatory" is the owner's line and this respects it — turning several
157
+ * runs loose at once is a separate decision, taken with `max_workspaces`.
158
+ */
159
+ coordinator: boolean;
160
+ /**
161
+ * Let the daemon MAKE a checkout when the scheduler has room under
162
+ * `max_workspaces` and no checkout is idle (M4-1).
163
+ *
164
+ * 🔴 OFF BY DEFAULT. Off, the scheduler waits exactly as it always has and
165
+ * a person makes checkouts with `looply run --new-workspace`. On, at most
166
+ * ONE checkout is made per cadence, with the same code a person's uses,
167
+ * counted against the ceiling; nothing is reaped or deleted by it.
168
+ */
169
+ provisionWorkspaces?: boolean;
170
+ /**
171
+ * Let the daemon ask a MACHINE-started run to stop at its round boundary
172
+ * so a higher-priority goal can have its checkout (M4-2).
173
+ *
174
+ * 🔴 OFF BY DEFAULT. Off, a `preempt` decision stays a line in
175
+ * `schedule.jsonl` that nothing acts on, as it always was. On, at most ONE
176
+ * run is asked per cadence, with the run's own graceful `stop` request —
177
+ * the one `looply stop` writes — never a kill; a run a person started is
178
+ * never asked.
179
+ */
180
+ preemption?: boolean;
181
+ /**
182
+ * Let the daemon retire a checkout IT MADE — idle for `idle_checkout_minutes`,
183
+ * referenced by no run, with no uncommitted work — through the manual
184
+ * command's own reaping (M4-4).
185
+ *
186
+ * 🔴 OFF BY DEFAULT. Off, nothing is inspected or removed. On, at most ONE
187
+ * per cadence; a checkout a person cut is never touched; anything with
188
+ * residue is kept with the reason.
189
+ */
190
+ reapProvisioned?: boolean;
191
+ /** How long a checkout the machine made must sit idle before it may be retired. Default 60. */
192
+ idleCheckoutMinutes?: number;
193
+ /**
194
+ * Let the daemon offer a finished run's branch to the integration lane —
195
+ * `looply/run-*` branches ahead of `looply/integration`, not a live run's,
196
+ * not already attempted at their tip — one per cadence, through the very
197
+ * `integrationTick` the `looply integrate` command calls (M5-1).
198
+ *
199
+ * 🔴 OFF BY DEFAULT, and meaningful only with `run.integration` on (the
200
+ * lane's own gate). Off, nothing is listed or offered.
201
+ */
202
+ integrate?: boolean;
203
+ /**
204
+ * PROGRAMME MODE, slice 1 (M6-7). 🔴 OFF BY DEFAULT — manual defaults intact.
205
+ *
206
+ * On, a VALID decision lets the machine continue without another tap: an
207
+ * `approved` approval no longer holds the grant; the controller buys the
208
+ * next Start itself and that Start carries the approval, reserved once
209
+ * through the same seam a person's Start uses. Nothing else widens: a
210
+ * request, a denial, a revocation and an expiry still hold; a person's
211
+ * stop or pause still wins; the server's ending wins over everything.
212
+ */
213
+ programme?: boolean;
214
+ /**
215
+ * PROGRAMME MODE, slice 2 (M6-10): THE UMBRELLA. Present only when
216
+ * `machine.programme` is a block with `on: true`. Its limits are the
217
+ * owner's declared ceilings, and the parser has already done two things
218
+ * with them: landed each on the knob it feeds (`max_workspaces`,
219
+ * `max_agents_in_flight`, the envelope's window; the Start ceiling per
220
+ * grant is read by the daemon), and turned every face of the programme on
221
+ * — the coordinator, provisioning, reaping, preemption, the integration
222
+ * lane, the brain, the continuation — except a face this config turned
223
+ * off explicitly. `integrationRef` is declared and checked against the
224
+ * lane's ref; the lane takes no other yet. A bare `programme: true` is
225
+ * slice 1 alone (continuation), and a config without the block is byte-
226
+ * identical to before.
227
+ */
228
+ programmeMode?: ProgrammeMode;
229
+ /**
230
+ * WHAT THIS MACHINE MAY SPEND WITHOUT ASKING AGAIN.
231
+ *
232
+ * 🔴 NOTHING COULD CONSTRUCT AN `Envelope` BEFORE THIS. `withinEnvelope`
233
+ * shipped fully specced with no production caller and no config key that
234
+ * could produce its input — a whole phase whose only reachable artefact was
235
+ * a docblock saying that a budget over numbers nobody counts is theatre.
236
+ *
237
+ * ⚠️ ABSENT MEANS NO CEILING, WHICH IS WHAT EVERY EXISTING PROJECT HAS. A
238
+ * machine with no envelope is bounded exactly as it was before: by hours,
239
+ * rounds and the queue. Writing one is opting IN to being stopped.
240
+ *
241
+ * ⚠️ AND IT BOUNDS EVERY RUN, NOT ONLY THE AUTONOMOUS ONES — this paragraph
242
+ * used to say the opposite, and was wrong.
243
+ *
244
+ * The gate is `runLoop`'s, which is the one thing a person's `looply run`,
245
+ * a Start the daemon spawned, a coordinator-placed goal and anything
246
+ * Autopilot decides all ARE. A ceiling that bound only the autonomous path
247
+ * would be one somebody could step over by typing the command themselves,
248
+ * which is not a ceiling.
249
+ *
250
+ * Simple Mode is protected by the ENVELOPE BEING ABSENT rather than by the
251
+ * gate being partial: a project that never wrote one is bounded exactly as
252
+ * it always was.
253
+ */
254
+ envelope?: {
255
+ readonly maxConcurrentRuns: number;
256
+ readonly maxStartsPerWindow: number;
257
+ readonly windowMs: number;
258
+ readonly maxWallClockMs: number;
259
+ /** Dollars. Absent means no money ceiling — see `Envelope.maxUsd`. */
260
+ readonly maxUsd?: number;
261
+ /**
262
+ * WHAT ONE START IS EXPECTED TO COST, WHEN A DOLLAR CEILING IS SET.
263
+ *
264
+ * 🔴 REQUIRED WITH `max_usd`, AND THAT COUPLING IS THE HONEST ONE.
265
+ * Admission has to bound what is ABOUT to be spent, and nothing on this
266
+ * machine can know what a Run will cost before it runs. Without a number
267
+ * the admission check reads its own reservation as unmeasurable and
268
+ * refuses EVERY start — correct, and useless. The person who wrote a
269
+ * dollar ceiling is the one who can say what they think a run costs.
270
+ *
271
+ * ⚠️ IT IS AN ESTIMATE AND IS NOT PRETENDED OTHERWISE. What it buys is
272
+ * that concurrent starts see each other's intent instead of each reading
273
+ * a machine that has spent nothing yet. What a run ACTUALLY costs is
274
+ * recorded by the transport as it goes, and that is what the ceiling
275
+ * compares against once the hold expires.
276
+ */
277
+ readonly estimateUsdPerStart?: number;
278
+ };
279
+ };
280
+ gates: StepSpec[];
281
+ rails: {
282
+ forbiddenPaths: string[];
283
+ prodPatterns: string[];
284
+ prodEnvFiles: string[];
285
+ exemptions: 'ask' | 'never';
286
+ };
287
+ /**
288
+ * Where a round may write.
289
+ *
290
+ * 🔴 `declared` IS NOT COSMETIC. It separates a project that never named a
291
+ * scope — which keeps its documented no-constraint behaviour, and is every
292
+ * config written before the scope interlock existed — from one that wrote
293
+ * `scope:` and listed nothing, which is an explicit grant of nothing and
294
+ * denies every path. Collapsing the two would make the most cautious-looking
295
+ * config the most permissive one. `scope-rule.ts` holds the semantics.
296
+ */
297
+ scope: {
298
+ free: string[];
299
+ additive: string[];
300
+ declared: boolean;
301
+ };
302
+ queue: {
303
+ topupThreshold: number;
304
+ topupSize: number;
305
+ maxSameShape: number;
306
+ };
307
+ proof: {
308
+ enabled: boolean;
309
+ onPartial: 'ask' | 'keep' | 'discard';
310
+ askWindowMin: number;
311
+ };
312
+ notify: {
313
+ channel: string;
314
+ everyMin: number;
315
+ to?: string;
316
+ };
317
+ /**
318
+ * WHETHER ANYTHING MAY LEAVE THIS MACHINE.
319
+ *
320
+ * The setup wizard has asked this since it was written, and wrote the answer
321
+ * into `publish.policy` — and until now NOTHING PARSED IT. The promise on the
322
+ * screen, "nothing leaves your machine unless you say so", was true only
323
+ * because Looply had no way to publish at all. It is a policy now rather than
324
+ * an accident.
325
+ *
326
+ * `never` — Looply may not publish. The default, and the answer to every
327
+ * question this file cannot answer.
328
+ * `manual` — a person publishes, by hand, as usual. For LOOPLY this is
329
+ * identical to `never`; the two differ in what a PERSON does, not
330
+ * in what this program may do, and `mayPublish` collapses them
331
+ * rather than carrying a distinction the code does not have.
332
+ * `on-approval` — an exact action, approved by a person, may be carried out
333
+ * through the governed broker. Nothing weaker.
334
+ */
335
+ publish: {
336
+ policy: PublishPolicy;
337
+ };
338
+ /**
339
+ * Architectural decisions a PERSON has made about this project.
340
+ *
341
+ * 🔴 THIS FILE IS THE HUMAN CHANNEL, AND THAT IS AN EXISTING BOUNDARY RATHER
342
+ * THAN A NEW CLAIM. `.looply/config.yaml` is in `protectedPaths()` beside
343
+ * `.git` and `.looply/state`: the container the model runs in has that path
344
+ * taken back, and "if a protected path cannot be protected, nothing is
345
+ * launched". So a model cannot author a decision here — not by policy, by
346
+ * construction.
347
+ *
348
+ * It is also the only tracked file under `.looply`, so a decision arrives
349
+ * through a diff somebody can review, which is what a decision should do.
350
+ *
351
+ * Phase 11 turns these into memory of kind `decision`, which no model may
352
+ * assert and no inference may supersede.
353
+ */
354
+ decisions: {
355
+ subject: string;
356
+ decision: string;
357
+ }[];
358
+ server?: {
359
+ url: string;
360
+ machineTokenFile?: string;
361
+ };
362
+ /**
363
+ * D7 — the other repositories this programme spans, declared by identity.
364
+ *
365
+ * 🔴 AN IDENTITY, NOT A PATH. `id` is what a compatible-revision set names and
366
+ * what survives somebody moving the checkout; `path` is only where it happens
367
+ * to be on this machine today. A set that named paths would stop meaning
368
+ * anything the moment two people had different layouts.
369
+ *
370
+ * ⚠️ ABSENT MEANS SINGLE-REPOSITORY, which is every project that exists today,
371
+ * and nothing about them changes. The charter is explicit that cross-repo work
372
+ * "must not delay" the single-repository demonstration.
373
+ *
374
+ * ⚠️ LOCAL PATHS ONLY, and no publication is implied. The charter allows two
375
+ * DISPOSABLE LOCAL repositories for validation and forbids remote or
376
+ * production publication outright.
377
+ */
378
+ repos?: {
379
+ id: string;
380
+ path: string;
381
+ }[];
382
+ /**
383
+ * F-14 — the terms a session must meet before this machine will manage it.
384
+ *
385
+ * 🔴 EVERY KEY IS OPTIONAL AND ABSENCE IS NEVER PERMISSIVE. A missing
386
+ * `scope` or `budget_owner` makes the corresponding measurement
387
+ * UNMEASURABLE, not `allowed` — `session-adoption.ts` then answers
388
+ * `unmeasurable` and manages nothing. A project that says nothing here
389
+ * adopts nothing, which is every project that exists today.
390
+ *
391
+ * ⚠️ `repo` IS THE IDENTITY A SESSION MUST CLAIM, not a path. A session
392
+ * asserting some other repository is refused outright.
393
+ */
394
+ sessions?: {
395
+ repo?: string;
396
+ scope?: string[];
397
+ budgetOwner?: string;
398
+ };
399
+ /**
400
+ * D7 — what this project cannot start until another repository has PUBLISHED.
401
+ *
402
+ * 🔴 NAMED `cross_repo_needs`, NOT `needs`. A bare `needs:` would be claimed
403
+ * by the first person who wants item-level or goal-level prerequisites, and
404
+ * two different relations under one key is how a caller ends up checking the
405
+ * wrong graph — the same reason `item-depends.ts` is named apart from
406
+ * `goal-links.ts`.
407
+ *
408
+ * ⚠️ THIS IS PROJECT-LEVEL. It answers "may this project start work at all",
409
+ * not "may this item". Item-level cross-repo needs are UNFINISHED and
410
+ * recorded as such; a project-level need is the coarse form and is honest
411
+ * about being coarse.
412
+ *
413
+ * ⚠️ ABSENT MEANS NOTHING IS WAITED FOR, which is every project today.
414
+ */
415
+ crossRepoNeeds?: {
416
+ repo: string;
417
+ what: string;
418
+ }[];
419
+ /**
420
+ * How to start the coding agent. The prompt is not part of this: it goes to
421
+ * the agent's stdin (agent-exec.ts), so the line here is flags only and can
422
+ * be swapped for another agent without touching any prompt builder.
423
+ */
424
+ agent: AgentSpec;
425
+ /**
426
+ * A named provider preset, or absent to use `agent.command` as written.
427
+ *
428
+ * 🔴 A CONVENIENCE OVER `agent.command`, NEVER A REPLACEMENT FOR IT. The
429
+ * preset supplies the three facts a person cannot guess — the flags, whether
430
+ * the prompt goes on stdin, and where the runtime lives for containment to
431
+ * grant — and an explicit `command` still wins, because somebody who wrote one
432
+ * is telling us something we do not know.
433
+ *
434
+ * ⚠️ TWO OF THE PRESETS HAVE NEVER BEEN RUN by this repository's tests; see
435
+ * `providers.ts`, where each carries its provenance. Naming one prints a
436
+ * warning rather than implying it is known to work.
437
+ */
438
+ provider?: string;
439
+ }
440
+ export declare const PUBLISH_POLICIES: readonly ["never", "on-approval", "manual"];
441
+ export type PublishPolicy = (typeof PUBLISH_POLICIES)[number];
442
+ /**
443
+ * May Looply itself publish, under this policy?
444
+ *
445
+ * ONE PREDICATE, so that no caller has to remember that `manual` means "not
446
+ * Looply". Two call sites reasoning about the enum separately is how one of
447
+ * them eventually treats an unfamiliar value as permission.
448
+ */
449
+ export declare function mayPublish(policy: PublishPolicy): boolean;
450
+ export declare const DEFAULTS: {
451
+ run: {
452
+ minHours: number;
453
+ maxRounds: number;
454
+ cooldownS: number;
455
+ carryIntoCheckouts: never[];
456
+ maxConcurrentRuns: number;
457
+ perRoundSafety: boolean;
458
+ surfaces: boolean;
459
+ integration: boolean;
460
+ brain: boolean;
461
+ };
462
+ machine: {
463
+ maxWorkspaces: number;
464
+ maxAgentsInFlight: number;
465
+ coordinator: boolean;
466
+ provisionWorkspaces: boolean;
467
+ preemption: boolean;
468
+ reapProvisioned: boolean;
469
+ idleCheckoutMinutes: number;
470
+ integrate: boolean;
471
+ };
472
+ publish: {
473
+ policy: "never";
474
+ };
475
+ rails: {
476
+ exemptions: "ask";
477
+ prodEnvFiles: string[];
478
+ };
479
+ queue: {
480
+ topupThreshold: number;
481
+ topupSize: number;
482
+ maxSameShape: number;
483
+ };
484
+ proof: {
485
+ enabled: boolean;
486
+ onPartial: "ask";
487
+ askWindowMin: number;
488
+ };
489
+ notify: {
490
+ channel: string;
491
+ everyMin: number;
492
+ };
493
+ agent: AgentSpec;
494
+ };
495
+ export declare class ConfigError extends Error {
496
+ readonly key: string;
497
+ constructor(key: string, message: string);
498
+ }
499
+ /** The owner's declared limits under programme mode (M6-10). */
500
+ export interface ProgrammeLimits {
501
+ readonly maxWorkspaces: number;
502
+ readonly maxAgentsInFlight: number;
503
+ readonly startsPerGrant: number;
504
+ readonly windowMinutes: number;
505
+ readonly integrationRef: string;
506
+ }
507
+ export interface ProgrammeMode {
508
+ readonly limits: ProgrammeLimits;
509
+ /**
510
+ * THE ACCEPTANCE SPECIFICATION'S ENVIRONMENT PREDICATE — owner rule #1.
511
+ *
512
+ * Which verification-environment facts must hold for a machine-verifiable
513
+ * requirement to be accepted under this programme. `matchProfile` loops over
514
+ * exactly these keys and no others, so a fact declared here is the ONLY kind
515
+ * that can refuse a receipt.
516
+ *
517
+ * ⚠️ ABSENT IS AN EMPTY PREDICATE, AND AN EMPTY PREDICATE ACCEPTS EVERY
518
+ * ENVIRONMENT — today's behaviour, byte for byte. There is deliberately NO
519
+ * default: `lock` is the only core fact that can ever be unknown, so a default
520
+ * demanding every core fact be known would refuse every project that is not
521
+ * npm-shaped, for ever. That is the shape this lane already reverted a feature
522
+ * over — "a safeguard that only ever fires is not a safeguard".
523
+ */
524
+ readonly acceptance?: RequiredProfile;
525
+ /**
526
+ * How to read the facts this machine cannot read for itself — a database
527
+ * engine and major version, a migration head, a build target.
528
+ *
529
+ * 🔴 PAIRED WITH THE PREDICATE AT PARSE TIME, IN BOTH DIRECTIONS. A `probe.*`
530
+ * demanded with no probe is a requirement nothing can ever observe; a probe
531
+ * with no demand is a command run for nobody. Each is this repository's
532
+ * most-named defect in one of its two directions, and both are a `ConfigError`
533
+ * rather than a runtime surprise.
534
+ */
535
+ readonly acceptanceProbes?: readonly AcceptanceProbe[];
536
+ }
537
+ /** One declared reader for a `probe.<name>` fact. */
538
+ export interface AcceptanceProbe {
539
+ readonly fact: string;
540
+ readonly run: string;
541
+ }
542
+ export declare function parseConfig(text: string): LooplyConfig;
543
+ /**
544
+ * Warnings that do not block a run but that a user should see before starting one.
545
+ * Silence here was how the previous harness shipped 166 commits whose trailer
546
+ * named a check that had never run.
547
+ */
548
+ export declare function configWarnings(cfg: LooplyConfig): string[];
549
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}