pi-daddy 0.28.0 → 0.32.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 (1005) hide show
  1. package/CHANGELOG.md +99 -124
  2. package/README.md +18 -896
  3. package/THIRD_PARTY_NOTICES.md +1 -1
  4. package/contracts/ledger-record/v1/README.md +44 -0
  5. package/contracts/ledger-record/v1/fixtures/child-lifecycle.json +45 -0
  6. package/contracts/ledger-record/v1/fixtures/ledger-record.jsonl +3 -0
  7. package/contracts/ledger-record/v1/governance-event.schema.json +747 -0
  8. package/contracts/ledger-record/v1/record.schema.json +91 -0
  9. package/dist/cli.d.ts +6 -4
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/cli.js +108 -103
  12. package/dist/cli.js.map +1 -1
  13. package/dist/executors/activity-session.d.ts +12 -0
  14. package/dist/executors/activity-session.d.ts.map +1 -0
  15. package/dist/executors/activity-session.js +43 -0
  16. package/dist/executors/activity-session.js.map +1 -0
  17. package/dist/executors/executor.d.ts +39 -0
  18. package/dist/executors/executor.d.ts.map +1 -0
  19. package/dist/executors/executor.js +95 -0
  20. package/dist/executors/executor.js.map +1 -0
  21. package/dist/executors/herdr-cli.d.ts +78 -0
  22. package/dist/executors/herdr-cli.d.ts.map +1 -0
  23. package/dist/executors/herdr-cli.js +114 -0
  24. package/dist/executors/herdr-cli.js.map +1 -0
  25. package/dist/executors/herdr-name.d.ts.map +1 -0
  26. package/dist/executors/herdr-name.js.map +1 -0
  27. package/dist/executors/herdr-pi-lifecycle.d.ts.map +1 -0
  28. package/dist/executors/herdr-pi-lifecycle.js +22 -0
  29. package/dist/executors/herdr-pi-lifecycle.js.map +1 -0
  30. package/dist/executors/herdr-poll.d.ts +140 -0
  31. package/dist/executors/herdr-poll.d.ts.map +1 -0
  32. package/dist/executors/herdr-poll.js +252 -0
  33. package/dist/executors/herdr-poll.js.map +1 -0
  34. package/dist/executors/herdr-stage.d.ts +40 -0
  35. package/dist/executors/herdr-stage.d.ts.map +1 -0
  36. package/dist/executors/herdr-stage.js +54 -0
  37. package/dist/executors/herdr-stage.js.map +1 -0
  38. package/dist/executors/herdr-start.d.ts.map +1 -0
  39. package/dist/executors/herdr-start.js.map +1 -0
  40. package/dist/executors/native-session-target.d.ts +9 -0
  41. package/dist/executors/native-session-target.d.ts.map +1 -0
  42. package/dist/executors/native-session-target.js +30 -0
  43. package/dist/executors/native-session-target.js.map +1 -0
  44. package/dist/executors/pane-reaper.d.ts +111 -0
  45. package/dist/executors/pane-reaper.d.ts.map +1 -0
  46. package/dist/executors/pane-reaper.js +242 -0
  47. package/dist/executors/pane-reaper.js.map +1 -0
  48. package/dist/executors/process-activity.d.ts +3 -0
  49. package/dist/executors/process-activity.d.ts.map +1 -0
  50. package/dist/executors/process-activity.js +59 -0
  51. package/dist/executors/process-activity.js.map +1 -0
  52. package/dist/executors/run-herdr.d.ts +122 -0
  53. package/dist/executors/run-herdr.d.ts.map +1 -0
  54. package/dist/executors/run-herdr.js +341 -0
  55. package/dist/executors/run-herdr.js.map +1 -0
  56. package/dist/executors/vendor/herdr-pi-lifecycle.d.ts.map +1 -0
  57. package/dist/executors/vendor/herdr-pi-lifecycle.js.map +1 -0
  58. package/dist/governance/approval-prompt.d.ts +119 -0
  59. package/dist/governance/approval-prompt.d.ts.map +1 -0
  60. package/dist/governance/approval-prompt.js +133 -0
  61. package/dist/governance/approval-prompt.js.map +1 -0
  62. package/dist/governance/approval-store.d.ts +149 -0
  63. package/dist/governance/approval-store.d.ts.map +1 -0
  64. package/dist/governance/approval-store.js +309 -0
  65. package/dist/governance/approval-store.js.map +1 -0
  66. package/dist/governance/execution-retention.d.ts +90 -0
  67. package/dist/governance/execution-retention.d.ts.map +1 -0
  68. package/dist/governance/execution-retention.js +317 -0
  69. package/dist/governance/execution-retention.js.map +1 -0
  70. package/dist/governance/file-lock.d.ts.map +1 -0
  71. package/dist/governance/file-lock.js +205 -0
  72. package/dist/governance/file-lock.js.map +1 -0
  73. package/dist/governance/finalization.d.ts.map +1 -0
  74. package/dist/governance/finalization.js.map +1 -0
  75. package/dist/governance/grant-store.d.ts +96 -0
  76. package/dist/governance/grant-store.d.ts.map +1 -0
  77. package/dist/governance/grant-store.js +186 -0
  78. package/dist/governance/grant-store.js.map +1 -0
  79. package/dist/governance/init.d.ts +129 -0
  80. package/dist/governance/init.d.ts.map +1 -0
  81. package/dist/governance/init.js +360 -0
  82. package/dist/governance/init.js.map +1 -0
  83. package/dist/governance/lease-helper.d.ts.map +1 -0
  84. package/dist/governance/lease-helper.js +121 -0
  85. package/dist/governance/lease-helper.js.map +1 -0
  86. package/dist/governance/lease-record.d.ts +90 -0
  87. package/dist/governance/lease-record.d.ts.map +1 -0
  88. package/dist/governance/lease-record.js.map +1 -0
  89. package/dist/governance/ledger-events.d.ts +111 -0
  90. package/dist/governance/ledger-events.d.ts.map +1 -0
  91. package/dist/governance/ledger-events.js +129 -0
  92. package/dist/governance/ledger-events.js.map +1 -0
  93. package/dist/governance/ledger-report.d.ts +134 -0
  94. package/dist/governance/ledger-report.d.ts.map +1 -0
  95. package/dist/governance/ledger-report.js +294 -0
  96. package/dist/governance/ledger-report.js.map +1 -0
  97. package/dist/governance/ledger-v3-validation.d.ts +21 -0
  98. package/dist/governance/ledger-v3-validation.d.ts.map +1 -0
  99. package/dist/governance/ledger-v3-validation.js +353 -0
  100. package/dist/governance/ledger-v3-validation.js.map +1 -0
  101. package/dist/governance/ledger.d.ts +258 -0
  102. package/dist/governance/ledger.d.ts.map +1 -0
  103. package/dist/governance/ledger.js +201 -0
  104. package/dist/governance/ledger.js.map +1 -0
  105. package/dist/governance/native-session.d.ts +59 -0
  106. package/dist/governance/native-session.d.ts.map +1 -0
  107. package/dist/governance/native-session.js +208 -0
  108. package/dist/governance/native-session.js.map +1 -0
  109. package/dist/governance/record.d.ts +65 -0
  110. package/dist/governance/record.d.ts.map +1 -0
  111. package/dist/governance/record.js +259 -0
  112. package/dist/governance/record.js.map +1 -0
  113. package/dist/governance/retention-contract.d.ts.map +1 -0
  114. package/dist/governance/retention-contract.js +187 -0
  115. package/dist/governance/retention-contract.js.map +1 -0
  116. package/dist/governance/retention-json.d.ts.map +1 -0
  117. package/dist/governance/retention-json.js.map +1 -0
  118. package/dist/governance/workspace-lease.d.ts +40 -0
  119. package/dist/governance/workspace-lease.d.ts.map +1 -0
  120. package/dist/governance/workspace-lease.js +357 -0
  121. package/dist/governance/workspace-lease.js.map +1 -0
  122. package/dist/index.d.ts +59 -42
  123. package/dist/index.d.ts.map +1 -1
  124. package/dist/index.js +61 -42
  125. package/dist/index.js.map +1 -1
  126. package/dist/kernel/approval.d.ts +241 -0
  127. package/dist/kernel/approval.d.ts.map +1 -0
  128. package/dist/kernel/approval.js +270 -0
  129. package/dist/kernel/approval.js.map +1 -0
  130. package/dist/kernel/capabilities.d.ts +136 -0
  131. package/dist/kernel/capabilities.d.ts.map +1 -0
  132. package/dist/kernel/capabilities.js +199 -0
  133. package/dist/kernel/capabilities.js.map +1 -0
  134. package/dist/kernel/catalog.d.ts +98 -0
  135. package/dist/kernel/catalog.d.ts.map +1 -0
  136. package/dist/kernel/catalog.js +280 -0
  137. package/dist/kernel/catalog.js.map +1 -0
  138. package/dist/kernel/chain.d.ts.map +1 -0
  139. package/dist/kernel/chain.js.map +1 -0
  140. package/dist/kernel/correlation.d.ts.map +1 -0
  141. package/dist/kernel/correlation.js +267 -0
  142. package/dist/kernel/correlation.js.map +1 -0
  143. package/dist/kernel/definitions.d.ts.map +1 -0
  144. package/dist/kernel/definitions.js +164 -0
  145. package/dist/kernel/definitions.js.map +1 -0
  146. package/dist/kernel/delegate-types.d.ts +160 -0
  147. package/dist/kernel/delegate-types.d.ts.map +1 -0
  148. package/dist/kernel/delegate-types.js +9 -0
  149. package/dist/kernel/delegate-types.js.map +1 -0
  150. package/dist/kernel/delegate.d.ts.map +1 -0
  151. package/dist/kernel/delegate.js +314 -0
  152. package/dist/kernel/delegate.js.map +1 -0
  153. package/dist/kernel/delegation-approval.d.ts.map +1 -0
  154. package/dist/kernel/delegation-approval.js +93 -0
  155. package/dist/kernel/delegation-approval.js.map +1 -0
  156. package/dist/kernel/env-names.d.ts +51 -0
  157. package/dist/kernel/env-names.d.ts.map +1 -0
  158. package/dist/kernel/env-names.js +112 -0
  159. package/dist/kernel/env-names.js.map +1 -0
  160. package/dist/kernel/execution-id.d.ts.map +1 -0
  161. package/dist/kernel/execution-id.js.map +1 -0
  162. package/dist/kernel/fanout.d.ts.map +1 -0
  163. package/dist/kernel/fanout.js +93 -0
  164. package/dist/kernel/fanout.js.map +1 -0
  165. package/dist/kernel/grant-env.d.ts +118 -0
  166. package/dist/kernel/grant-env.d.ts.map +1 -0
  167. package/dist/kernel/grant-env.js +104 -0
  168. package/dist/kernel/grant-env.js.map +1 -0
  169. package/dist/kernel/ledger-identifiers.d.ts.map +1 -0
  170. package/dist/kernel/ledger-identifiers.js.map +1 -0
  171. package/dist/kernel/model-preflight.d.ts +13 -0
  172. package/dist/kernel/model-preflight.d.ts.map +1 -0
  173. package/dist/kernel/model-preflight.js +30 -0
  174. package/dist/kernel/model-preflight.js.map +1 -0
  175. package/dist/kernel/pi-tools.d.ts.map +1 -0
  176. package/dist/kernel/pi-tools.js +29 -0
  177. package/dist/kernel/pi-tools.js.map +1 -0
  178. package/dist/kernel/progress.d.ts.map +1 -0
  179. package/dist/kernel/progress.js.map +1 -0
  180. package/dist/kernel/project-paths.d.ts +43 -0
  181. package/dist/kernel/project-paths.d.ts.map +1 -0
  182. package/dist/kernel/project-paths.js +81 -0
  183. package/dist/kernel/project-paths.js.map +1 -0
  184. package/dist/kernel/propagation.d.ts +195 -0
  185. package/dist/kernel/propagation.d.ts.map +1 -0
  186. package/dist/kernel/propagation.js +275 -0
  187. package/dist/kernel/propagation.js.map +1 -0
  188. package/dist/kernel/refusals.d.ts +16 -0
  189. package/dist/kernel/refusals.d.ts.map +1 -0
  190. package/dist/kernel/refusals.js +53 -0
  191. package/dist/kernel/refusals.js.map +1 -0
  192. package/dist/kernel/resolve.d.ts.map +1 -0
  193. package/dist/kernel/resolve.js +201 -0
  194. package/dist/kernel/resolve.js.map +1 -0
  195. package/dist/kernel/routing-authority.d.ts.map +1 -0
  196. package/dist/kernel/routing-authority.js.map +1 -0
  197. package/dist/kernel/run-child.d.ts +111 -0
  198. package/dist/kernel/run-child.d.ts.map +1 -0
  199. package/dist/kernel/run-child.js +324 -0
  200. package/dist/kernel/run-child.js.map +1 -0
  201. package/dist/kernel/skill-packages.d.ts +116 -0
  202. package/dist/kernel/skill-packages.d.ts.map +1 -0
  203. package/dist/kernel/skill-packages.js +300 -0
  204. package/dist/kernel/skill-packages.js.map +1 -0
  205. package/dist/kernel/skill-resources.d.ts.map +1 -0
  206. package/dist/kernel/skill-resources.js +56 -0
  207. package/dist/kernel/skill-resources.js.map +1 -0
  208. package/dist/kernel/spawn.d.ts.map +1 -0
  209. package/dist/kernel/spawn.js.map +1 -0
  210. package/dist/kernel/workspace.d.ts +51 -0
  211. package/dist/kernel/workspace.d.ts.map +1 -0
  212. package/dist/kernel/workspace.js +223 -0
  213. package/dist/kernel/workspace.js.map +1 -0
  214. package/dist/products/activity-timeline.d.ts +126 -0
  215. package/dist/products/activity-timeline.d.ts.map +1 -0
  216. package/dist/products/activity-timeline.js +542 -0
  217. package/dist/products/activity-timeline.js.map +1 -0
  218. package/dist/products/dashboard-cli.d.ts +26 -0
  219. package/dist/products/dashboard-cli.d.ts.map +1 -0
  220. package/dist/products/dashboard-cli.js +224 -0
  221. package/dist/products/dashboard-cli.js.map +1 -0
  222. package/dist/products/dashboard-display-controls.d.ts +17 -0
  223. package/dist/products/dashboard-display-controls.d.ts.map +1 -0
  224. package/dist/products/dashboard-display-controls.js +38 -0
  225. package/dist/products/dashboard-display-controls.js.map +1 -0
  226. package/dist/products/dashboard-handshake.d.ts +42 -0
  227. package/dist/products/dashboard-handshake.d.ts.map +1 -0
  228. package/dist/products/dashboard-handshake.js +158 -0
  229. package/dist/products/dashboard-handshake.js.map +1 -0
  230. package/dist/products/dashboard-herdr.d.ts +55 -0
  231. package/dist/products/dashboard-herdr.d.ts.map +1 -0
  232. package/dist/products/dashboard-herdr.js +324 -0
  233. package/dist/products/dashboard-herdr.js.map +1 -0
  234. package/dist/products/dashboard-projection.d.ts +62 -0
  235. package/dist/products/dashboard-projection.d.ts.map +1 -0
  236. package/dist/products/dashboard-projection.js +305 -0
  237. package/dist/products/dashboard-projection.js.map +1 -0
  238. package/dist/products/dashboard-render.d.ts.map +1 -0
  239. package/dist/products/dashboard-render.js +208 -0
  240. package/dist/products/dashboard-render.js.map +1 -0
  241. package/extensions/activity-timeline.ts +134 -28
  242. package/extensions/approval-banking.ts +3 -3
  243. package/extensions/approvals.ts +18 -12
  244. package/extensions/chain-approval-facts.ts +9 -6
  245. package/extensions/chain-ledger.ts +4 -4
  246. package/extensions/chain-plan.ts +6 -6
  247. package/extensions/correlation-shape.ts +42 -33
  248. package/extensions/delegate-chain.ts +93 -45
  249. package/extensions/delegation-authority.ts +7 -3
  250. package/extensions/delegation-ledger.ts +2 -2
  251. package/extensions/delegation-native.ts +24 -7
  252. package/extensions/delegation.ts +91 -80
  253. package/extensions/execute-child.ts +440 -293
  254. package/extensions/execution-occurrence.ts +2 -2
  255. package/extensions/executor-session.ts +5 -5
  256. package/extensions/fanout-outcome.ts +8 -6
  257. package/extensions/grant-store-refusal.ts +24 -12
  258. package/extensions/grants-command.ts +41 -33
  259. package/extensions/grants-connected-command.ts +29 -15
  260. package/extensions/grants.ts +73 -73
  261. package/extensions/init-command.ts +18 -12
  262. package/extensions/reload-environment.ts +12 -5
  263. package/extensions/run-delegation.ts +29 -19
  264. package/extensions/session-environment.ts +25 -11
  265. package/extensions/session-report.ts +60 -11
  266. package/extensions/session.ts +58 -34
  267. package/extensions/spawn-summary.ts +5 -5
  268. package/extensions/stored-grant-session.ts +5 -5
  269. package/extensions/tripwire.ts +1 -1
  270. package/extensions/workspace-runtime.ts +26 -24
  271. package/herdr-plugin/herdr-plugin.toml +1 -1
  272. package/package.json +4 -211
  273. package/src/cli.ts +136 -89
  274. package/src/executors/activity-session.ts +54 -0
  275. package/src/executors/executor.ts +123 -0
  276. package/src/executors/herdr-cli.ts +132 -0
  277. package/src/executors/herdr-pi-lifecycle.ts +21 -0
  278. package/src/executors/herdr-poll.ts +305 -0
  279. package/src/executors/herdr-stage.ts +55 -0
  280. package/src/executors/native-session-target.ts +31 -0
  281. package/src/executors/pane-reaper.ts +270 -0
  282. package/src/executors/process-activity.ts +54 -0
  283. package/src/executors/run-herdr.ts +426 -0
  284. package/src/governance/approval-prompt.ts +225 -0
  285. package/src/governance/approval-store.ts +385 -0
  286. package/src/governance/execution-retention.ts +372 -0
  287. package/src/governance/file-lock.ts +210 -0
  288. package/src/governance/finalization.ts +82 -0
  289. package/src/governance/grant-store.ts +235 -0
  290. package/src/governance/init.ts +447 -0
  291. package/src/governance/lease-helper.ts +124 -0
  292. package/src/governance/lease-record.ts +131 -0
  293. package/src/governance/ledger-events.ts +222 -0
  294. package/src/governance/ledger-report.ts +396 -0
  295. package/src/governance/ledger-v3-validation.ts +384 -0
  296. package/src/governance/ledger.ts +419 -0
  297. package/src/governance/native-session.ts +264 -0
  298. package/src/governance/record.ts +294 -0
  299. package/src/governance/retention-contract.ts +201 -0
  300. package/src/governance/retention-json.ts +24 -0
  301. package/src/governance/workspace-lease.ts +429 -0
  302. package/src/index.ts +82 -92
  303. package/src/kernel/approval.ts +406 -0
  304. package/src/kernel/capabilities.ts +216 -0
  305. package/src/kernel/catalog.ts +313 -0
  306. package/src/kernel/correlation.ts +351 -0
  307. package/src/kernel/definitions.ts +215 -0
  308. package/src/kernel/delegate-types.ts +162 -0
  309. package/src/kernel/delegate.ts +370 -0
  310. package/src/kernel/delegation-approval.ts +126 -0
  311. package/src/kernel/env-names.ts +119 -0
  312. package/src/kernel/fanout.ts +106 -0
  313. package/src/kernel/grant-env.ts +174 -0
  314. package/src/kernel/model-preflight.ts +44 -0
  315. package/src/kernel/pi-tools.ts +32 -0
  316. package/src/kernel/project-paths.ts +97 -0
  317. package/src/kernel/propagation.ts +341 -0
  318. package/src/kernel/refusals.ts +64 -0
  319. package/src/kernel/resolve.ts +258 -0
  320. package/src/kernel/run-child.ts +418 -0
  321. package/src/kernel/skill-packages.ts +329 -0
  322. package/src/kernel/skill-resources.ts +64 -0
  323. package/src/kernel/workspace.ts +336 -0
  324. package/src/products/activity-timeline.ts +679 -0
  325. package/src/products/dashboard-cli.ts +250 -0
  326. package/src/products/dashboard-display-controls.ts +44 -0
  327. package/src/products/dashboard-handshake.ts +222 -0
  328. package/src/products/dashboard-herdr.ts +427 -0
  329. package/src/products/dashboard-projection.ts +389 -0
  330. package/src/products/dashboard-render.ts +260 -0
  331. package/PRODUCT-GUIDE.md +0 -155
  332. package/REQUIREMENTS.md +0 -41
  333. package/contracts/daily-view/v1/README.md +0 -114
  334. package/contracts/daily-view/v1/fixtures/view.json +0 -525
  335. package/contracts/daily-view/v1/fixtures/view.txt +0 -75
  336. package/contracts/daily-view/v1/fixtures/work.jsonl +0 -17
  337. package/contracts/daily-view/v1/p03/README.md +0 -26
  338. package/contracts/daily-view/v1/p03/fixtures/retained-executions.json +0 -241
  339. package/contracts/daily-view/v1/p03/projection.schema.json +0 -194
  340. package/contracts/daily-view/v1/p03/provenance.json +0 -21
  341. package/contracts/dashboard-host/v1/README.md +0 -176
  342. package/contracts/debrief/v1/README.md +0 -146
  343. package/contracts/debrief/v1/intervention/README.md +0 -32
  344. package/contracts/debrief/v1/intervention/fixtures/artifact-3ee11136beb864f518252e5024dae9197421fbf97b6e981d3243c782b5c44bd0.txt +0 -1
  345. package/contracts/debrief/v1/intervention/fixtures/artifact-58905d872dd3c54a9705f67b05fa82edbad7af6476ae8993faf1a7b9fadfb905.txt +0 -1
  346. package/contracts/debrief/v1/intervention/fixtures/assessment.json +0 -29
  347. package/contracts/debrief/v1/intervention/fixtures/blind-view.json +0 -20
  348. package/contracts/debrief/v1/intervention/fixtures/choice.json +0 -7
  349. package/contracts/debrief/v1/intervention/fixtures/manifest.json +0 -57
  350. package/contracts/debrief/v1/intervention/fixtures/reveal.json +0 -39
  351. package/contracts/debrief/v1/provenance.json +0 -89
  352. package/contracts/debrief/v1/work-capture/README.md +0 -38
  353. package/contracts/debrief/v1/work-capture/fixtures/batch.json +0 -17
  354. package/contracts/debrief/v1/work-capture/fixtures/cases.json +0 -184
  355. package/contracts/debrief/v1/work-capture/fixtures/review.json +0 -184
  356. package/contracts/debrief/v1/work-capture/review-request.schema.json +0 -41
  357. package/contracts/debrief/v1/work-capture/work-case.schema.json +0 -190
  358. package/contracts/debrief/v2/README.md +0 -71
  359. package/contracts/debrief/v2/input-pin.json +0 -66
  360. package/contracts/debrief/v2/intervention-upstream.md +0 -40
  361. package/contracts/debrief/v2/work-signals-upstream.md +0 -22
  362. package/contracts/dispatch-control/v1/README.md +0 -109
  363. package/contracts/dispatch-control/v1/request.schema.json +0 -19
  364. package/contracts/effect-profile/v1/README.md +0 -124
  365. package/contracts/execution-retention/v1/README.md +0 -109
  366. package/contracts/execution-retention/v2/README.md +0 -148
  367. package/contracts/execution-retention/v2/fixtures/interrupted-native-bytes.json +0 -91
  368. package/contracts/execution-retention/v2/fixtures/missing-native-session.json +0 -91
  369. package/contracts/execution-retention/v2/fixtures/native-file-unknown-branch.json +0 -91
  370. package/contracts/execution-retention/v2/fixtures/native-id-without-bytes.json +0 -91
  371. package/contracts/execution-retention/v2/fixtures/native-live-branch.json +0 -90
  372. package/contracts/execution-retention/v2/fixtures/replaced-native-session.json +0 -92
  373. package/contracts/execution-retention/v2/fixtures/result-82c620cdfeb8ca6b858cf653d7f5e2eedca5315d6244216d60e8b36f03223d6a.bin +0 -1
  374. package/contracts/execution-retention/v2/fixtures/session-2ec1f134bc739984434f7fca689e1c3d1c39fce2dcadae709e9b6faedfcc4ac7.bin +0 -3
  375. package/contracts/execution-retention/v2/fixtures/session-9bdb4bd16a901da31580acf056bda525225259e15ec409e0410480109011772f.bin +0 -3
  376. package/contracts/execution-retention/v2/manifest.schema.json +0 -858
  377. package/contracts/experiment/v1/README.md +0 -164
  378. package/contracts/factory-order/v1/README.md +0 -151
  379. package/contracts/factory-order/v1/adoption-pin.json +0 -8
  380. package/contracts/intent-control/v1/README.md +0 -135
  381. package/contracts/intent-control/v1/request.schema.json +0 -1096
  382. package/contracts/intent-control/v2/README.md +0 -34
  383. package/contracts/intent-control/v2/request.schema.json +0 -1070
  384. package/contracts/ledger/v2/README.md +0 -59
  385. package/contracts/ledger/v2/fixtures/capability-decision.json +0 -95
  386. package/contracts/ledger/v2/fixtures/check-receipt.json +0 -40
  387. package/contracts/ledger/v2/fixtures/child-lifecycle.json +0 -42
  388. package/contracts/ledger/v2/fixtures/workspace-lease.json +0 -41
  389. package/contracts/ledger/v2/ledger-event.schema.json +0 -633
  390. package/contracts/ledger/v3/README.md +0 -36
  391. package/contracts/ledger/v3/fixtures/check-receipt.json +0 -41
  392. package/contracts/ledger/v3/fixtures/child-lifecycle.json +0 -44
  393. package/contracts/ledger/v3/fixtures/workflow-fact.json +0 -40
  394. package/contracts/ledger/v3/ledger-event.schema.json +0 -955
  395. package/contracts/ledger/v4/README.md +0 -241
  396. package/contracts/ledger/v4/fixtures/layout-options.json +0 -428
  397. package/contracts/ledger/v4/fixtures/work-acceptance.json +0 -57
  398. package/contracts/ledger/v4/fixtures/work-occurrence.json +0 -44
  399. package/contracts/ledger/v4/fixtures/work-revision.json +0 -26
  400. package/contracts/ledger/v4/fixtures/work-snapshot.json +0 -73
  401. package/contracts/ledger/v4/ledger-event.schema.json +0 -162
  402. package/contracts/ordinary-control/v1/README.md +0 -59
  403. package/contracts/producer-ipc/v1/README.md +0 -137
  404. package/dist/activity-timeline.d.ts +0 -109
  405. package/dist/activity-timeline.d.ts.map +0 -1
  406. package/dist/activity-timeline.js +0 -208
  407. package/dist/activity-timeline.js.map +0 -1
  408. package/dist/approval-prompt.d.ts +0 -119
  409. package/dist/approval-prompt.d.ts.map +0 -1
  410. package/dist/approval-prompt.js +0 -133
  411. package/dist/approval-prompt.js.map +0 -1
  412. package/dist/approval-store.d.ts +0 -149
  413. package/dist/approval-store.d.ts.map +0 -1
  414. package/dist/approval-store.js +0 -314
  415. package/dist/approval-store.js.map +0 -1
  416. package/dist/approval.d.ts +0 -241
  417. package/dist/approval.d.ts.map +0 -1
  418. package/dist/approval.js +0 -268
  419. package/dist/approval.js.map +0 -1
  420. package/dist/capabilities.d.ts +0 -136
  421. package/dist/capabilities.d.ts.map +0 -1
  422. package/dist/capabilities.js +0 -203
  423. package/dist/capabilities.js.map +0 -1
  424. package/dist/catalog.d.ts +0 -98
  425. package/dist/catalog.d.ts.map +0 -1
  426. package/dist/catalog.js +0 -273
  427. package/dist/catalog.js.map +0 -1
  428. package/dist/chain.d.ts.map +0 -1
  429. package/dist/chain.js.map +0 -1
  430. package/dist/check-runner.d.ts +0 -66
  431. package/dist/check-runner.d.ts.map +0 -1
  432. package/dist/check-runner.js +0 -275
  433. package/dist/check-runner.js.map +0 -1
  434. package/dist/control-journal.d.ts +0 -20
  435. package/dist/control-journal.d.ts.map +0 -1
  436. package/dist/control-journal.js +0 -73
  437. package/dist/control-journal.js.map +0 -1
  438. package/dist/correlation.d.ts.map +0 -1
  439. package/dist/correlation.js +0 -231
  440. package/dist/correlation.js.map +0 -1
  441. package/dist/daily-dashboard-host.d.ts +0 -136
  442. package/dist/daily-dashboard-host.d.ts.map +0 -1
  443. package/dist/daily-dashboard-host.js +0 -164
  444. package/dist/daily-dashboard-host.js.map +0 -1
  445. package/dist/daily-panel.d.ts +0 -36
  446. package/dist/daily-panel.d.ts.map +0 -1
  447. package/dist/daily-panel.js +0 -84
  448. package/dist/daily-panel.js.map +0 -1
  449. package/dist/daily-view-input.d.ts +0 -44
  450. package/dist/daily-view-input.d.ts.map +0 -1
  451. package/dist/daily-view-input.js +0 -68
  452. package/dist/daily-view-input.js.map +0 -1
  453. package/dist/daily-view-render.d.ts +0 -5
  454. package/dist/daily-view-render.d.ts.map +0 -1
  455. package/dist/daily-view-render.js +0 -42
  456. package/dist/daily-view-render.js.map +0 -1
  457. package/dist/daily-view.d.ts +0 -77
  458. package/dist/daily-view.d.ts.map +0 -1
  459. package/dist/daily-view.js +0 -176
  460. package/dist/daily-view.js.map +0 -1
  461. package/dist/dashboard-cli.d.ts +0 -54
  462. package/dist/dashboard-cli.d.ts.map +0 -1
  463. package/dist/dashboard-cli.js +0 -367
  464. package/dist/dashboard-cli.js.map +0 -1
  465. package/dist/dashboard-display-controls.d.ts +0 -15
  466. package/dist/dashboard-display-controls.d.ts.map +0 -1
  467. package/dist/dashboard-display-controls.js +0 -34
  468. package/dist/dashboard-display-controls.js.map +0 -1
  469. package/dist/dashboard-handshake.d.ts +0 -42
  470. package/dist/dashboard-handshake.d.ts.map +0 -1
  471. package/dist/dashboard-handshake.js +0 -147
  472. package/dist/dashboard-handshake.js.map +0 -1
  473. package/dist/dashboard-harness.d.ts +0 -22
  474. package/dist/dashboard-harness.d.ts.map +0 -1
  475. package/dist/dashboard-harness.js +0 -89
  476. package/dist/dashboard-harness.js.map +0 -1
  477. package/dist/dashboard-herdr.d.ts +0 -55
  478. package/dist/dashboard-herdr.d.ts.map +0 -1
  479. package/dist/dashboard-herdr.js +0 -293
  480. package/dist/dashboard-herdr.js.map +0 -1
  481. package/dist/dashboard-host-contract.d.ts +0 -127
  482. package/dist/dashboard-host-contract.d.ts.map +0 -1
  483. package/dist/dashboard-host-contract.js +0 -14
  484. package/dist/dashboard-host-contract.js.map +0 -1
  485. package/dist/dashboard-host-transport.d.ts +0 -16
  486. package/dist/dashboard-host-transport.d.ts.map +0 -1
  487. package/dist/dashboard-host-transport.js +0 -127
  488. package/dist/dashboard-host-transport.js.map +0 -1
  489. package/dist/dashboard-host.d.ts +0 -239
  490. package/dist/dashboard-host.d.ts.map +0 -1
  491. package/dist/dashboard-host.js +0 -474
  492. package/dist/dashboard-host.js.map +0 -1
  493. package/dist/dashboard-menu.d.ts +0 -16
  494. package/dist/dashboard-menu.d.ts.map +0 -1
  495. package/dist/dashboard-menu.js +0 -33
  496. package/dist/dashboard-menu.js.map +0 -1
  497. package/dist/dashboard-observation.d.ts +0 -28
  498. package/dist/dashboard-observation.d.ts.map +0 -1
  499. package/dist/dashboard-observation.js +0 -87
  500. package/dist/dashboard-observation.js.map +0 -1
  501. package/dist/dashboard-projection.d.ts +0 -73
  502. package/dist/dashboard-projection.d.ts.map +0 -1
  503. package/dist/dashboard-projection.js +0 -294
  504. package/dist/dashboard-projection.js.map +0 -1
  505. package/dist/dashboard-render.d.ts.map +0 -1
  506. package/dist/dashboard-render.js +0 -212
  507. package/dist/dashboard-render.js.map +0 -1
  508. package/dist/debrief-contract.d.ts +0 -65
  509. package/dist/debrief-contract.d.ts.map +0 -1
  510. package/dist/debrief-contract.js +0 -151
  511. package/dist/debrief-contract.js.map +0 -1
  512. package/dist/debrief-fixture.d.ts +0 -16
  513. package/dist/debrief-fixture.d.ts.map +0 -1
  514. package/dist/debrief-fixture.js +0 -41
  515. package/dist/debrief-fixture.js.map +0 -1
  516. package/dist/debrief-host.d.ts +0 -59
  517. package/dist/debrief-host.d.ts.map +0 -1
  518. package/dist/debrief-host.js +0 -49
  519. package/dist/debrief-host.js.map +0 -1
  520. package/dist/debrief-render.d.ts +0 -5
  521. package/dist/debrief-render.d.ts.map +0 -1
  522. package/dist/debrief-render.js +0 -65
  523. package/dist/debrief-render.js.map +0 -1
  524. package/dist/debrief.d.ts +0 -90
  525. package/dist/debrief.d.ts.map +0 -1
  526. package/dist/debrief.js +0 -263
  527. package/dist/debrief.js.map +0 -1
  528. package/dist/definitions.d.ts.map +0 -1
  529. package/dist/definitions.js +0 -164
  530. package/dist/definitions.js.map +0 -1
  531. package/dist/delegate-types.d.ts +0 -154
  532. package/dist/delegate-types.d.ts.map +0 -1
  533. package/dist/delegate-types.js +0 -8
  534. package/dist/delegate-types.js.map +0 -1
  535. package/dist/delegate.d.ts.map +0 -1
  536. package/dist/delegate.js +0 -313
  537. package/dist/delegate.js.map +0 -1
  538. package/dist/delegation-approval.d.ts.map +0 -1
  539. package/dist/delegation-approval.js +0 -94
  540. package/dist/delegation-approval.js.map +0 -1
  541. package/dist/dispatch-control.d.ts +0 -45
  542. package/dist/dispatch-control.d.ts.map +0 -1
  543. package/dist/dispatch-control.js +0 -76
  544. package/dist/dispatch-control.js.map +0 -1
  545. package/dist/effect-profile-runtime.d.ts +0 -40
  546. package/dist/effect-profile-runtime.d.ts.map +0 -1
  547. package/dist/effect-profile-runtime.js +0 -51
  548. package/dist/effect-profile-runtime.js.map +0 -1
  549. package/dist/effect-profile.d.ts +0 -40
  550. package/dist/effect-profile.d.ts.map +0 -1
  551. package/dist/effect-profile.js +0 -152
  552. package/dist/effect-profile.js.map +0 -1
  553. package/dist/execution-id.d.ts.map +0 -1
  554. package/dist/execution-id.js.map +0 -1
  555. package/dist/execution-retention.d.ts +0 -90
  556. package/dist/execution-retention.d.ts.map +0 -1
  557. package/dist/execution-retention.js +0 -247
  558. package/dist/execution-retention.js.map +0 -1
  559. package/dist/executor.d.ts +0 -39
  560. package/dist/executor.d.ts.map +0 -1
  561. package/dist/executor.js +0 -94
  562. package/dist/executor.js.map +0 -1
  563. package/dist/experiment-contract.d.ts +0 -56
  564. package/dist/experiment-contract.d.ts.map +0 -1
  565. package/dist/experiment-contract.js +0 -80
  566. package/dist/experiment-contract.js.map +0 -1
  567. package/dist/experiment-state.d.ts +0 -22
  568. package/dist/experiment-state.d.ts.map +0 -1
  569. package/dist/experiment-state.js +0 -79
  570. package/dist/experiment-state.js.map +0 -1
  571. package/dist/experiment-store.d.ts +0 -30
  572. package/dist/experiment-store.d.ts.map +0 -1
  573. package/dist/experiment-store.js +0 -147
  574. package/dist/experiment-store.js.map +0 -1
  575. package/dist/experiment.d.ts +0 -65
  576. package/dist/experiment.d.ts.map +0 -1
  577. package/dist/experiment.js +0 -362
  578. package/dist/experiment.js.map +0 -1
  579. package/dist/factory-contract.d.ts +0 -79
  580. package/dist/factory-contract.d.ts.map +0 -1
  581. package/dist/factory-contract.js +0 -89
  582. package/dist/factory-contract.js.map +0 -1
  583. package/dist/factory-migration.d.ts +0 -20
  584. package/dist/factory-migration.d.ts.map +0 -1
  585. package/dist/factory-migration.js +0 -55
  586. package/dist/factory-migration.js.map +0 -1
  587. package/dist/factory-order.d.ts +0 -848
  588. package/dist/factory-order.d.ts.map +0 -1
  589. package/dist/factory-order.js +0 -83
  590. package/dist/factory-order.js.map +0 -1
  591. package/dist/factory-registry.d.ts +0 -121
  592. package/dist/factory-registry.d.ts.map +0 -1
  593. package/dist/factory-registry.js +0 -133
  594. package/dist/factory-registry.js.map +0 -1
  595. package/dist/fanout.d.ts.map +0 -1
  596. package/dist/fanout.js +0 -93
  597. package/dist/fanout.js.map +0 -1
  598. package/dist/file-lock.d.ts.map +0 -1
  599. package/dist/file-lock.js +0 -201
  600. package/dist/file-lock.js.map +0 -1
  601. package/dist/finalization.d.ts.map +0 -1
  602. package/dist/finalization.js.map +0 -1
  603. package/dist/git-identity.d.ts +0 -13
  604. package/dist/git-identity.d.ts.map +0 -1
  605. package/dist/git-identity.js +0 -47
  606. package/dist/git-identity.js.map +0 -1
  607. package/dist/grant-env.d.ts +0 -75
  608. package/dist/grant-env.d.ts.map +0 -1
  609. package/dist/grant-env.js +0 -154
  610. package/dist/grant-env.js.map +0 -1
  611. package/dist/grant-store.d.ts +0 -96
  612. package/dist/grant-store.d.ts.map +0 -1
  613. package/dist/grant-store.js +0 -188
  614. package/dist/grant-store.js.map +0 -1
  615. package/dist/herdr-cli.d.ts +0 -78
  616. package/dist/herdr-cli.d.ts.map +0 -1
  617. package/dist/herdr-cli.js +0 -113
  618. package/dist/herdr-cli.js.map +0 -1
  619. package/dist/herdr-name.d.ts.map +0 -1
  620. package/dist/herdr-name.js.map +0 -1
  621. package/dist/herdr-pi-lifecycle.d.ts.map +0 -1
  622. package/dist/herdr-pi-lifecycle.js +0 -22
  623. package/dist/herdr-pi-lifecycle.js.map +0 -1
  624. package/dist/herdr-poll.d.ts +0 -133
  625. package/dist/herdr-poll.d.ts.map +0 -1
  626. package/dist/herdr-poll.js +0 -222
  627. package/dist/herdr-poll.js.map +0 -1
  628. package/dist/herdr-stage.d.ts +0 -40
  629. package/dist/herdr-stage.d.ts.map +0 -1
  630. package/dist/herdr-stage.js +0 -54
  631. package/dist/herdr-stage.js.map +0 -1
  632. package/dist/herdr-start.d.ts.map +0 -1
  633. package/dist/herdr-start.js.map +0 -1
  634. package/dist/init.d.ts +0 -117
  635. package/dist/init.d.ts.map +0 -1
  636. package/dist/init.js +0 -323
  637. package/dist/init.js.map +0 -1
  638. package/dist/intent-application.d.ts +0 -17
  639. package/dist/intent-application.d.ts.map +0 -1
  640. package/dist/intent-application.js +0 -114
  641. package/dist/intent-application.js.map +0 -1
  642. package/dist/intent-control.d.ts +0 -201
  643. package/dist/intent-control.d.ts.map +0 -1
  644. package/dist/intent-control.js +0 -110
  645. package/dist/intent-control.js.map +0 -1
  646. package/dist/intent-scheduling.d.ts +0 -9
  647. package/dist/intent-scheduling.d.ts.map +0 -1
  648. package/dist/intent-scheduling.js +0 -15
  649. package/dist/intent-scheduling.js.map +0 -1
  650. package/dist/learning-connection.d.ts +0 -127
  651. package/dist/learning-connection.d.ts.map +0 -1
  652. package/dist/learning-connection.js +0 -54
  653. package/dist/learning-connection.js.map +0 -1
  654. package/dist/lease-helper.d.ts.map +0 -1
  655. package/dist/lease-helper.js +0 -94
  656. package/dist/lease-helper.js.map +0 -1
  657. package/dist/lease-record.d.ts +0 -90
  658. package/dist/lease-record.d.ts.map +0 -1
  659. package/dist/lease-record.js.map +0 -1
  660. package/dist/ledger-append.d.ts +0 -15
  661. package/dist/ledger-append.d.ts.map +0 -1
  662. package/dist/ledger-append.js +0 -94
  663. package/dist/ledger-append.js.map +0 -1
  664. package/dist/ledger-events.d.ts +0 -131
  665. package/dist/ledger-events.d.ts.map +0 -1
  666. package/dist/ledger-events.js +0 -107
  667. package/dist/ledger-events.js.map +0 -1
  668. package/dist/ledger-identifiers.d.ts.map +0 -1
  669. package/dist/ledger-identifiers.js.map +0 -1
  670. package/dist/ledger-report.d.ts +0 -134
  671. package/dist/ledger-report.d.ts.map +0 -1
  672. package/dist/ledger-report.js +0 -271
  673. package/dist/ledger-report.js.map +0 -1
  674. package/dist/ledger-v3-validation.d.ts +0 -11
  675. package/dist/ledger-v3-validation.d.ts.map +0 -1
  676. package/dist/ledger-v3-validation.js +0 -265
  677. package/dist/ledger-v3-validation.js.map +0 -1
  678. package/dist/ledger.d.ts +0 -242
  679. package/dist/ledger.d.ts.map +0 -1
  680. package/dist/ledger.js +0 -142
  681. package/dist/ledger.js.map +0 -1
  682. package/dist/measured-order.d.ts +0 -249
  683. package/dist/measured-order.d.ts.map +0 -1
  684. package/dist/measured-order.js +0 -309
  685. package/dist/measured-order.js.map +0 -1
  686. package/dist/measured-session.d.ts +0 -97
  687. package/dist/measured-session.d.ts.map +0 -1
  688. package/dist/measured-session.js +0 -134
  689. package/dist/measured-session.js.map +0 -1
  690. package/dist/model-preflight.d.ts +0 -13
  691. package/dist/model-preflight.d.ts.map +0 -1
  692. package/dist/model-preflight.js +0 -29
  693. package/dist/model-preflight.js.map +0 -1
  694. package/dist/native-session-target.d.ts +0 -9
  695. package/dist/native-session-target.d.ts.map +0 -1
  696. package/dist/native-session-target.js +0 -29
  697. package/dist/native-session-target.js.map +0 -1
  698. package/dist/native-session.d.ts +0 -59
  699. package/dist/native-session.d.ts.map +0 -1
  700. package/dist/native-session.js +0 -154
  701. package/dist/native-session.js.map +0 -1
  702. package/dist/order-schedule.d.ts +0 -37
  703. package/dist/order-schedule.d.ts.map +0 -1
  704. package/dist/order-schedule.js +0 -81
  705. package/dist/order-schedule.js.map +0 -1
  706. package/dist/ordinary-children.d.ts +0 -52
  707. package/dist/ordinary-children.d.ts.map +0 -1
  708. package/dist/ordinary-children.js +0 -93
  709. package/dist/ordinary-children.js.map +0 -1
  710. package/dist/pane-reaper.d.ts +0 -111
  711. package/dist/pane-reaper.d.ts.map +0 -1
  712. package/dist/pane-reaper.js +0 -242
  713. package/dist/pane-reaper.js.map +0 -1
  714. package/dist/pi-tools.d.ts.map +0 -1
  715. package/dist/pi-tools.js +0 -21
  716. package/dist/pi-tools.js.map +0 -1
  717. package/dist/producer-ipc-contract.d.ts +0 -29
  718. package/dist/producer-ipc-contract.d.ts.map +0 -1
  719. package/dist/producer-ipc-contract.js +0 -29
  720. package/dist/producer-ipc-contract.js.map +0 -1
  721. package/dist/producer-ipc.d.ts +0 -55
  722. package/dist/producer-ipc.d.ts.map +0 -1
  723. package/dist/producer-ipc.js +0 -143
  724. package/dist/producer-ipc.js.map +0 -1
  725. package/dist/product-files.d.ts +0 -6
  726. package/dist/product-files.d.ts.map +0 -1
  727. package/dist/product-files.js +0 -55
  728. package/dist/product-files.js.map +0 -1
  729. package/dist/progress.d.ts.map +0 -1
  730. package/dist/progress.js.map +0 -1
  731. package/dist/propagation.d.ts +0 -203
  732. package/dist/propagation.d.ts.map +0 -1
  733. package/dist/propagation.js +0 -279
  734. package/dist/propagation.js.map +0 -1
  735. package/dist/refusals.d.ts +0 -16
  736. package/dist/refusals.d.ts.map +0 -1
  737. package/dist/refusals.js +0 -55
  738. package/dist/refusals.js.map +0 -1
  739. package/dist/resolve.d.ts.map +0 -1
  740. package/dist/resolve.js +0 -211
  741. package/dist/resolve.js.map +0 -1
  742. package/dist/resource-budget.d.ts +0 -334
  743. package/dist/resource-budget.d.ts.map +0 -1
  744. package/dist/resource-budget.js +0 -415
  745. package/dist/resource-budget.js.map +0 -1
  746. package/dist/retention-contract.d.ts.map +0 -1
  747. package/dist/retention-contract.js +0 -104
  748. package/dist/retention-contract.js.map +0 -1
  749. package/dist/retention-json.d.ts.map +0 -1
  750. package/dist/retention-json.js.map +0 -1
  751. package/dist/routing-authority.d.ts.map +0 -1
  752. package/dist/routing-authority.js.map +0 -1
  753. package/dist/run-child.d.ts +0 -87
  754. package/dist/run-child.d.ts.map +0 -1
  755. package/dist/run-child.js +0 -248
  756. package/dist/run-child.js.map +0 -1
  757. package/dist/run-herdr.d.ts +0 -119
  758. package/dist/run-herdr.d.ts.map +0 -1
  759. package/dist/run-herdr.js +0 -335
  760. package/dist/run-herdr.js.map +0 -1
  761. package/dist/skill-packages.d.ts +0 -116
  762. package/dist/skill-packages.d.ts.map +0 -1
  763. package/dist/skill-packages.js +0 -295
  764. package/dist/skill-packages.js.map +0 -1
  765. package/dist/skill-resources.d.ts.map +0 -1
  766. package/dist/skill-resources.js +0 -52
  767. package/dist/skill-resources.js.map +0 -1
  768. package/dist/spawn.d.ts.map +0 -1
  769. package/dist/spawn.js.map +0 -1
  770. package/dist/vendor/adoption.d.ts +0 -129
  771. package/dist/vendor/adoption.d.ts.map +0 -1
  772. package/dist/vendor/adoption.js +0 -102
  773. package/dist/vendor/adoption.js.map +0 -1
  774. package/dist/vendor/herdr-pi-lifecycle.d.ts.map +0 -1
  775. package/dist/vendor/herdr-pi-lifecycle.js.map +0 -1
  776. package/dist/work-command.d.ts +0 -32
  777. package/dist/work-command.d.ts.map +0 -1
  778. package/dist/work-command.js +0 -179
  779. package/dist/work-command.js.map +0 -1
  780. package/dist/work-ledger-destination.d.ts +0 -20
  781. package/dist/work-ledger-destination.d.ts.map +0 -1
  782. package/dist/work-ledger-destination.js +0 -131
  783. package/dist/work-ledger-destination.js.map +0 -1
  784. package/dist/work-ledger-json.d.ts +0 -25
  785. package/dist/work-ledger-json.d.ts.map +0 -1
  786. package/dist/work-ledger-json.js +0 -267
  787. package/dist/work-ledger-json.js.map +0 -1
  788. package/dist/work-ledger-occurrences.d.ts +0 -227
  789. package/dist/work-ledger-occurrences.d.ts.map +0 -1
  790. package/dist/work-ledger-occurrences.js +0 -115
  791. package/dist/work-ledger-occurrences.js.map +0 -1
  792. package/dist/work-ledger-projection.d.ts +0 -295
  793. package/dist/work-ledger-projection.d.ts.map +0 -1
  794. package/dist/work-ledger-projection.js +0 -237
  795. package/dist/work-ledger-projection.js.map +0 -1
  796. package/dist/work-ledger-snapshot.d.ts +0 -29
  797. package/dist/work-ledger-snapshot.d.ts.map +0 -1
  798. package/dist/work-ledger-snapshot.js +0 -267
  799. package/dist/work-ledger-snapshot.js.map +0 -1
  800. package/dist/work-ledger-types.d.ts +0 -261
  801. package/dist/work-ledger-types.d.ts.map +0 -1
  802. package/dist/work-ledger-types.js +0 -13
  803. package/dist/work-ledger-types.js.map +0 -1
  804. package/dist/work-ledger-validation.d.ts +0 -14
  805. package/dist/work-ledger-validation.d.ts.map +0 -1
  806. package/dist/work-ledger-validation.js +0 -226
  807. package/dist/work-ledger-validation.js.map +0 -1
  808. package/dist/work-ledger.d.ts +0 -43
  809. package/dist/work-ledger.d.ts.map +0 -1
  810. package/dist/work-ledger.js +0 -225
  811. package/dist/work-ledger.js.map +0 -1
  812. package/dist/work-policy-registry.d.ts +0 -133
  813. package/dist/work-policy-registry.d.ts.map +0 -1
  814. package/dist/work-policy-registry.js +0 -128
  815. package/dist/work-policy-registry.js.map +0 -1
  816. package/dist/work-run.d.ts +0 -56
  817. package/dist/work-run.d.ts.map +0 -1
  818. package/dist/work-run.js +0 -102
  819. package/dist/work-run.js.map +0 -1
  820. package/dist/work-setup.d.ts +0 -40
  821. package/dist/work-setup.d.ts.map +0 -1
  822. package/dist/work-setup.js +0 -174
  823. package/dist/work-setup.js.map +0 -1
  824. package/dist/workflow-fact-id.d.ts +0 -4
  825. package/dist/workflow-fact-id.d.ts.map +0 -1
  826. package/dist/workflow-fact-id.js +0 -14
  827. package/dist/workflow-fact-id.js.map +0 -1
  828. package/dist/workflow-facts.d.ts +0 -34
  829. package/dist/workflow-facts.d.ts.map +0 -1
  830. package/dist/workflow-facts.js +0 -43
  831. package/dist/workflow-facts.js.map +0 -1
  832. package/dist/workspace-lease.d.ts +0 -40
  833. package/dist/workspace-lease.d.ts.map +0 -1
  834. package/dist/workspace-lease.js +0 -333
  835. package/dist/workspace-lease.js.map +0 -1
  836. package/dist/workspace.d.ts +0 -57
  837. package/dist/workspace.d.ts.map +0 -1
  838. package/dist/workspace.js +0 -216
  839. package/dist/workspace.js.map +0 -1
  840. package/extensions/daily-dashboard-session.ts +0 -48
  841. package/extensions/daily-work-session.ts +0 -20
  842. package/extensions/learning-outcome-session.ts +0 -38
  843. package/extensions/learning-session.ts +0 -59
  844. package/extensions/ordinary-runtime.ts +0 -14
  845. package/extensions/primary-shadow.ts +0 -11
  846. package/extensions/work-policy-session.ts +0 -139
  847. package/extensions/work-run-session.ts +0 -75
  848. package/extensions/work-runtime.ts +0 -44
  849. package/extensions/work-session.ts +0 -132
  850. package/src/activity-timeline.ts +0 -133
  851. package/src/approval-prompt.ts +0 -225
  852. package/src/approval-store.ts +0 -386
  853. package/src/approval.ts +0 -399
  854. package/src/capabilities.ts +0 -220
  855. package/src/catalog.ts +0 -306
  856. package/src/check-runner.ts +0 -387
  857. package/src/control-journal.ts +0 -26
  858. package/src/correlation.ts +0 -320
  859. package/src/daily-dashboard-host.ts +0 -105
  860. package/src/daily-panel.ts +0 -80
  861. package/src/daily-view-input.ts +0 -59
  862. package/src/daily-view-render.ts +0 -45
  863. package/src/daily-view.ts +0 -160
  864. package/src/dashboard-cli.ts +0 -340
  865. package/src/dashboard-display-controls.ts +0 -21
  866. package/src/dashboard-handshake.ts +0 -199
  867. package/src/dashboard-harness.ts +0 -37
  868. package/src/dashboard-herdr.ts +0 -363
  869. package/src/dashboard-host-contract.ts +0 -50
  870. package/src/dashboard-host-transport.ts +0 -43
  871. package/src/dashboard-host.ts +0 -244
  872. package/src/dashboard-menu.ts +0 -28
  873. package/src/dashboard-observation.ts +0 -46
  874. package/src/dashboard-projection.ts +0 -390
  875. package/src/dashboard-render.ts +0 -259
  876. package/src/debrief-contract.ts +0 -127
  877. package/src/debrief-fixture.ts +0 -29
  878. package/src/debrief-host.ts +0 -53
  879. package/src/debrief-render.ts +0 -49
  880. package/src/debrief.ts +0 -198
  881. package/src/definitions.ts +0 -211
  882. package/src/delegate-types.ts +0 -154
  883. package/src/delegate.ts +0 -348
  884. package/src/delegation-approval.ts +0 -126
  885. package/src/dispatch-control.ts +0 -81
  886. package/src/effect-profile-runtime.ts +0 -46
  887. package/src/effect-profile.ts +0 -129
  888. package/src/execution-retention.ts +0 -230
  889. package/src/executor.ts +0 -123
  890. package/src/experiment-contract.ts +0 -66
  891. package/src/experiment-state.ts +0 -44
  892. package/src/experiment-store.ts +0 -98
  893. package/src/experiment.ts +0 -236
  894. package/src/factory-contract.ts +0 -47
  895. package/src/factory-migration.ts +0 -29
  896. package/src/factory-order.ts +0 -56
  897. package/src/factory-registry.ts +0 -60
  898. package/src/fanout.ts +0 -106
  899. package/src/file-lock.ts +0 -178
  900. package/src/finalization.ts +0 -79
  901. package/src/git-identity.ts +0 -56
  902. package/src/grant-env.ts +0 -221
  903. package/src/grant-store.ts +0 -235
  904. package/src/herdr-cli.ts +0 -125
  905. package/src/herdr-pi-lifecycle.ts +0 -21
  906. package/src/herdr-poll.ts +0 -253
  907. package/src/herdr-stage.ts +0 -55
  908. package/src/init.ts +0 -389
  909. package/src/intent-application.ts +0 -91
  910. package/src/intent-control.ts +0 -107
  911. package/src/intent-scheduling.ts +0 -14
  912. package/src/learning-connection.ts +0 -70
  913. package/src/lease-helper.ts +0 -97
  914. package/src/lease-record.ts +0 -131
  915. package/src/ledger-append.ts +0 -72
  916. package/src/ledger-events.ts +0 -226
  917. package/src/ledger-report.ts +0 -357
  918. package/src/ledger-v3-validation.ts +0 -266
  919. package/src/ledger.ts +0 -369
  920. package/src/measured-order.ts +0 -72
  921. package/src/measured-session.ts +0 -70
  922. package/src/model-preflight.ts +0 -41
  923. package/src/native-session-target.ts +0 -23
  924. package/src/native-session.ts +0 -139
  925. package/src/order-schedule.ts +0 -42
  926. package/src/ordinary-children.ts +0 -59
  927. package/src/pane-reaper.ts +0 -270
  928. package/src/pi-tools.ts +0 -25
  929. package/src/producer-ipc-contract.ts +0 -26
  930. package/src/producer-ipc.ts +0 -107
  931. package/src/product-files.ts +0 -34
  932. package/src/propagation.ts +0 -333
  933. package/src/refusals.ts +0 -70
  934. package/src/resolve.ts +0 -267
  935. package/src/resource-budget.ts +0 -349
  936. package/src/retention-contract.ts +0 -84
  937. package/src/retention-json.ts +0 -20
  938. package/src/run-child.ts +0 -303
  939. package/src/run-herdr.ts +0 -386
  940. package/src/skill-packages.ts +0 -314
  941. package/src/skill-resources.ts +0 -48
  942. package/src/vendor/adoption.ts +0 -109
  943. package/src/work-command.ts +0 -197
  944. package/src/work-ledger-destination.ts +0 -113
  945. package/src/work-ledger-json.ts +0 -228
  946. package/src/work-ledger-occurrences.ts +0 -99
  947. package/src/work-ledger-projection.ts +0 -262
  948. package/src/work-ledger-snapshot.ts +0 -246
  949. package/src/work-ledger-types.ts +0 -229
  950. package/src/work-ledger-validation.ts +0 -174
  951. package/src/work-ledger.ts +0 -186
  952. package/src/work-policy-registry.ts +0 -81
  953. package/src/work-run.ts +0 -79
  954. package/src/work-setup.ts +0 -141
  955. package/src/workflow-fact-id.ts +0 -16
  956. package/src/workflow-facts.ts +0 -65
  957. package/src/workspace-lease.ts +0 -363
  958. package/src/workspace.ts +0 -308
  959. /package/contracts/{ledger/v3 → ledger-record/v1}/fixtures/capability-decision.json +0 -0
  960. /package/contracts/{ledger/v3 → ledger-record/v1}/fixtures/workspace-lease.json +0 -0
  961. /package/dist/{herdr-name.d.ts → executors/herdr-name.d.ts} +0 -0
  962. /package/dist/{herdr-name.js → executors/herdr-name.js} +0 -0
  963. /package/dist/{herdr-pi-lifecycle.d.ts → executors/herdr-pi-lifecycle.d.ts} +0 -0
  964. /package/dist/{herdr-start.d.ts → executors/herdr-start.d.ts} +0 -0
  965. /package/dist/{herdr-start.js → executors/herdr-start.js} +0 -0
  966. /package/dist/{vendor → executors/vendor}/herdr-pi-lifecycle.d.ts +0 -0
  967. /package/dist/{vendor → executors/vendor}/herdr-pi-lifecycle.js +0 -0
  968. /package/dist/{file-lock.d.ts → governance/file-lock.d.ts} +0 -0
  969. /package/dist/{finalization.d.ts → governance/finalization.d.ts} +0 -0
  970. /package/dist/{finalization.js → governance/finalization.js} +0 -0
  971. /package/dist/{lease-helper.d.ts → governance/lease-helper.d.ts} +0 -0
  972. /package/dist/{lease-record.js → governance/lease-record.js} +0 -0
  973. /package/dist/{retention-contract.d.ts → governance/retention-contract.d.ts} +0 -0
  974. /package/dist/{retention-json.d.ts → governance/retention-json.d.ts} +0 -0
  975. /package/dist/{retention-json.js → governance/retention-json.js} +0 -0
  976. /package/dist/{chain.d.ts → kernel/chain.d.ts} +0 -0
  977. /package/dist/{chain.js → kernel/chain.js} +0 -0
  978. /package/dist/{correlation.d.ts → kernel/correlation.d.ts} +0 -0
  979. /package/dist/{definitions.d.ts → kernel/definitions.d.ts} +0 -0
  980. /package/dist/{delegate.d.ts → kernel/delegate.d.ts} +0 -0
  981. /package/dist/{delegation-approval.d.ts → kernel/delegation-approval.d.ts} +0 -0
  982. /package/dist/{execution-id.d.ts → kernel/execution-id.d.ts} +0 -0
  983. /package/dist/{execution-id.js → kernel/execution-id.js} +0 -0
  984. /package/dist/{fanout.d.ts → kernel/fanout.d.ts} +0 -0
  985. /package/dist/{ledger-identifiers.d.ts → kernel/ledger-identifiers.d.ts} +0 -0
  986. /package/dist/{ledger-identifiers.js → kernel/ledger-identifiers.js} +0 -0
  987. /package/dist/{pi-tools.d.ts → kernel/pi-tools.d.ts} +0 -0
  988. /package/dist/{progress.d.ts → kernel/progress.d.ts} +0 -0
  989. /package/dist/{progress.js → kernel/progress.js} +0 -0
  990. /package/dist/{resolve.d.ts → kernel/resolve.d.ts} +0 -0
  991. /package/dist/{routing-authority.d.ts → kernel/routing-authority.d.ts} +0 -0
  992. /package/dist/{routing-authority.js → kernel/routing-authority.js} +0 -0
  993. /package/dist/{skill-resources.d.ts → kernel/skill-resources.d.ts} +0 -0
  994. /package/dist/{spawn.d.ts → kernel/spawn.d.ts} +0 -0
  995. /package/dist/{spawn.js → kernel/spawn.js} +0 -0
  996. /package/dist/{dashboard-render.d.ts → products/dashboard-render.d.ts} +0 -0
  997. /package/src/{herdr-name.ts → executors/herdr-name.ts} +0 -0
  998. /package/src/{herdr-start.ts → executors/herdr-start.ts} +0 -0
  999. /package/src/{vendor → executors/vendor}/herdr-pi-lifecycle.ts +0 -0
  1000. /package/src/{chain.ts → kernel/chain.ts} +0 -0
  1001. /package/src/{execution-id.ts → kernel/execution-id.ts} +0 -0
  1002. /package/src/{ledger-identifiers.ts → kernel/ledger-identifiers.ts} +0 -0
  1003. /package/src/{progress.ts → kernel/progress.ts} +0 -0
  1004. /package/src/{routing-authority.ts → kernel/routing-authority.ts} +0 -0
  1005. /package/src/{spawn.ts → kernel/spawn.ts} +0 -0
@@ -0,0 +1,252 @@
1
+ /**
2
+ * Waiting for a herdr agent to settle, and reading what it printed on the way.
3
+ *
4
+ * Split out of `src/executors/run-herdr.ts` when that file hit **404 of the 400-line ceiling** adding ADR-0032's output
5
+ * polling. The seam was named in the plan before it was needed, and it is a real one: this module is about
6
+ * *observing* an agent, `run-herdr.ts` is about *starting and cleaning up after* one. Nothing here creates or
7
+ * destroys anything.
8
+ *
9
+ * The two facts it is built on were measured against real herdr 0.7.5 (`docs/probes/g16-herdr`) and both are
10
+ * counter-intuitive enough to be worth the module comment: `agent wait --until idle` matches the state the
11
+ * agent was **already** in, and `agent read` is the one command that does **not** return a JSON envelope.
12
+ */
13
+ import { parseReply } from "./herdr-cli.js";
14
+ import { herdrSessionReference } from "../governance/native-session.js";
15
+ /** Statuses herdr reports for a settled agent. `blocked` counts: it is waiting for a human, not working. */
16
+ const TERMINAL = new Set(["idle", "done", "blocked"]);
17
+ /** The pre-prompt sequence from the native start reply; absent is unknown, never zero. */
18
+ export function observeHerdrSession(agent, pane, sink) {
19
+ if (!pane || !sink)
20
+ return;
21
+ try {
22
+ const reference = herdrSessionReference(agent, pane);
23
+ if (reference)
24
+ sink(reference);
25
+ }
26
+ catch {
27
+ /* optional observation */
28
+ }
29
+ }
30
+ export function seqOf(result) {
31
+ const agent = (result?.agent ?? {});
32
+ return typeof agent.state_change_seq === "number" ? agent.state_change_seq : -1;
33
+ }
34
+ /** How often to poll `agent get` while waiting for the child to settle. */
35
+ export const POLL_INTERVAL_MS = 750;
36
+ /**
37
+ * A prompt accepted from a terminal state must produce an observable lifecycle change promptly.
38
+ *
39
+ * Herdr 0.8's `agent prompt --wait` documents this same five-second bound. We retain polling because it
40
+ * supplies the bounded live pane snapshots, but refuse rather than holding a parent for the whole child timeout when
41
+ * the only reported state remains the pre-prompt terminal state. That is a detector/integration failure, not
42
+ * evidence that a child settled.
43
+ */
44
+ export const FRESH_LIFECYCLE_TIMEOUT_MS = 5_000;
45
+ /** Lines of pane tail reported per poll. Matches the status block's own tail, so nothing is fetched unused. */
46
+ export const DEFAULT_SNAPSHOT_LINES = 3;
47
+ /**
48
+ * Wait for the child to settle, without accepting the state it was already in.
49
+ *
50
+ * **R-33, measured.** `herdr agent wait --until idle` called right after `agent prompt` returned
51
+ * *immediately*, matching the agent's **pre-existing** idle state with `state_change_seq` unchanged — a
52
+ * reply indistinguishable from a completed run. For fan-out that is not an inconvenience but a
53
+ * correctness bug: an orchestrator would "collect" N children that never ran and merge N empty results
54
+ * into a confident summary (R-03 with a new cause).
55
+ *
56
+ * So this polls `agent get` and requires **both** that the status is terminal **and** that
57
+ * `state_change_seq` has advanced past the value observed before prompting. `agent wait` is deliberately
58
+ * not used at all: its contract cannot express "settled *after* this point".
59
+ */
60
+ /**
61
+ * Establish the bundled Pi lifecycle reporter's idle baseline before prompt dispatch.
62
+ *
63
+ * `screen_detection_skipped` is Herdr's reported fact that a full lifecycle authority owns this pane.
64
+ * Waiting for it prevents the reporter's asynchronously queued initial idle report from becoming a
65
+ * post-prompt sequence advance. This is not completion: no prompt has been sent at this point.
66
+ */
67
+ export async function waitForLifecycleBaseline(exec, request, deadline) {
68
+ const interval = request.pollIntervalMs ?? POLL_INTERVAL_MS;
69
+ for (;;) {
70
+ if (request.signal?.aborted)
71
+ return { aborted: true };
72
+ if (Date.now() >= deadline)
73
+ return { spawnError: "Herdr did not activate the bundled Pi lifecycle reporter before prompt dispatch" };
74
+ const reply = parseReply(await exec(["agent", "get", request.name]));
75
+ if (reply.error)
76
+ return { spawnError: `herdr agent get failed: ${reply.error}` };
77
+ const agent = (reply.result?.agent ?? reply.result ?? {});
78
+ const seq = typeof agent.state_change_seq === "number" ? agent.state_change_seq : -1;
79
+ if (agent.screen_detection_skipped === true && agent.agent_status && TERMINAL.has(agent.agent_status) && seq >= 0)
80
+ return { before: seq };
81
+ await new Promise((resolve) => setTimeout(resolve, Math.min(interval, Math.max(0, deadline - Date.now()))));
82
+ }
83
+ }
84
+ export async function waitForSettled(exec, request, before, deadline, maxOutputBytes) {
85
+ const interval = request.pollIntervalMs ?? POLL_INTERVAL_MS;
86
+ let lastActivityAt = Date.now();
87
+ let lastPane;
88
+ let lastMarker;
89
+ // ADR-0032. The pane is read on every poll so the parent can show what the child is doing, rather than the
90
+ // one word `delegate` for up to sixty minutes by default.
91
+ //
92
+ // No cross-poll state is kept, deliberately: the previous design remembered what it had reported so it could
93
+ // send a diff, and that is what broke — see `tailLines`. A snapshot needs no memory.
94
+ const keep = request.snapshotLines ?? DEFAULT_SNAPSHOT_LINES;
95
+ let staleTerminalSince;
96
+ for (;;) {
97
+ if (request.signal?.aborted)
98
+ return { aborted: true };
99
+ if (Date.now() >= deadline)
100
+ return { timedOut: true };
101
+ if (request.idleTimeoutMs !== undefined && Date.now() - lastActivityAt >= request.idleTimeoutMs)
102
+ return { timedOut: true, idle: true };
103
+ const reply = parseReply(await exec(["agent", "get", request.name]));
104
+ if (reply.error)
105
+ return { spawnError: `herdr agent get failed: ${reply.error}` };
106
+ const agent = (reply.result?.agent ?? reply.result ?? {});
107
+ if (request.idleTimeoutMs !== undefined) {
108
+ // The pane is read below only when a display wants it; the probe is the executor-independent signal.
109
+ let marker;
110
+ try {
111
+ marker = await request.activityProbe?.();
112
+ }
113
+ catch {
114
+ marker = undefined; // unreadable is "no activity seen", never a control decision
115
+ }
116
+ if (marker !== undefined && marker !== lastMarker) {
117
+ lastMarker = marker;
118
+ lastActivityAt = Date.now();
119
+ }
120
+ }
121
+ observeHerdrSession(agent, request.nativePaneId, request.onSessionReference);
122
+ const status = agent.agent_status;
123
+ const seq = typeof agent.state_change_seq === "number" ? agent.state_change_seq : -1;
124
+ if (request.onSnapshot) {
125
+ // Read BEFORE the terminal check returns, so a child that settles on this iteration still has its last
126
+ // output shown. `readFailed` is passed so a failed read renders as such instead of silently freezing the
127
+ // block on the previous frame — and, crucially, is never mistaken for the child's output.
128
+ const read = await readPane(exec, request.name, maxOutputBytes);
129
+ if (!read.readFailed && read.text !== lastPane) {
130
+ lastPane = read.text;
131
+ lastActivityAt = Date.now();
132
+ }
133
+ if (!read.readFailed) {
134
+ try {
135
+ request.onObservation?.(Buffer.from(read.text));
136
+ }
137
+ catch {
138
+ /* observation only */
139
+ }
140
+ }
141
+ try {
142
+ request.onSnapshot(read.readFailed ? ["[pane could not be read]"] : tailLines(read.text, keep));
143
+ }
144
+ catch {
145
+ /* display only — a renderer must not break a governed run */
146
+ }
147
+ }
148
+ if (status && TERMINAL.has(status)) {
149
+ if (seq > before)
150
+ return { status };
151
+ // Do not turn this pane's text into a completion signal. A known agent whose screen rule misses a new
152
+ // UI shape falls back to idle, precisely the state R-33 says is unsafe to accept. A stable stale
153
+ // terminal state for this bounded interval is instead a loud compatibility refusal (issue #43).
154
+ staleTerminalSince ??= Date.now();
155
+ if (Date.now() - staleTerminalSince >= FRESH_LIFECYCLE_TIMEOUT_MS) {
156
+ return {
157
+ spawnError: `herdr reported ${status} without a post-prompt lifecycle change for ${FRESH_LIFECYCLE_TIMEOUT_MS}ms; ` +
158
+ "refusing to treat the pre-prompt terminal state as completion. Update Herdr's Pi detector or inspect its lifecycle reporting.",
159
+ };
160
+ }
161
+ }
162
+ else {
163
+ staleTerminalSince = undefined;
164
+ }
165
+ await new Promise((resolve) => setTimeout(resolve, Math.min(interval, Math.max(0, deadline - Date.now()))));
166
+ }
167
+ }
168
+ /**
169
+ * The last `keep` non-blank lines of a pane snapshot — what the display actually needs.
170
+ *
171
+ * **This replaces a `newSuffix` diff, and the replacement is a correction rather than a tune-up.** The old
172
+ * design treated `agent read` as a *stream* and tried to report only what was new, by testing whether the new
173
+ * text extended the old. That is wrong about the substrate: `agent read` returns a **snapshot of a bounded
174
+ * terminal**, and a snapshot is not an append-only log. Two ordinary things break the prefix test forever —
175
+ * the pane **scrolling** (its top lines are gone, so the new text is not an extension of the old) and
176
+ * `readPane` **truncating to the tail** past `maxOutputBytes` (each read is a different window of a growing
177
+ * buffer). Once either happens, every poll reported the whole buffer.
178
+ *
179
+ * Measured before the fix: **51 MiB streamed for ~600 bytes of real output — 89,000× amplification** in 37
180
+ * seconds, per child, with a scrolling pane also delivering the same real lines three times each. The old
181
+ * docstring named that exact failure as the thing it prevented.
182
+ *
183
+ * So the herdr path now reports a **bounded snapshot** and the consumer *replaces* rather than appends. There
184
+ * is no diff to get wrong, the per-poll cost is `keep` lines regardless of buffer size, and a scrolling pane
185
+ * simply shows its current tail — which is what a human looking at that pane would see.
186
+ */
187
+ export function tailLines(snapshot, keep) {
188
+ if (keep <= 0)
189
+ return [];
190
+ const lines = [];
191
+ // Walked from the END, so a 1 MiB buffer costs the last few lines rather than a full split.
192
+ let end = snapshot.length;
193
+ while (end > 0 && lines.length < keep) {
194
+ const start = snapshot.lastIndexOf("\n", end - 1);
195
+ const line = snapshot
196
+ .slice(start + 1, end)
197
+ .replace(/\r/g, "")
198
+ .trimEnd();
199
+ if (line.length > 0)
200
+ lines.unshift(line);
201
+ if (start === -1)
202
+ break;
203
+ end = start;
204
+ }
205
+ return lines;
206
+ }
207
+ /**
208
+ * Read the pane's contents.
209
+ *
210
+ * `agent read` is the ONE command that does not return herdr's JSON envelope — it writes the terminal's
211
+ * text straight to stdout. Running it through `parseReply` turned every successful read into
212
+ * "unparseable herdr reply", i.e. reported the child's actual answer as a failure to read it. Found by the
213
+ * end-to-end run; the unit fake had been written to the envelope shape and so agreed with the bug.
214
+ *
215
+ * A JSON envelope is still accepted first, because an `error` reply here IS JSON and must not be mistaken
216
+ * for terminal output.
217
+ *
218
+ * **`readFailed` is separate from `text`, and that separation is the fix for an R-03 defect.** A failed read
219
+ * used to return its own diagnostic *as* `text` — so `runHerdrPane` returned
220
+ * `[grants] could not read the agent pane: pane is gone` **as the child's answer, with `code: 0`**, and the
221
+ * orchestrator read a failure message as a completed sub-agent's report. Measured. It mattered little when this
222
+ * ran once per child; ADR-0032 made it run on every poll, up to 800 times for a ten-minute child, so a
223
+ * transient failure went from unlikely to expected. The caller must now decide, and it cannot do so by
224
+ * inspecting a string.
225
+ */
226
+ export async function readPane(exec, name, maxOutputBytes) {
227
+ const reply = await exec(["agent", "read", name]);
228
+ let text;
229
+ try {
230
+ const parsed = JSON.parse(reply.stdout);
231
+ if (parsed.error) {
232
+ return { text: "", truncated: false, readFailed: parsed.error.message ?? "unknown error" };
233
+ }
234
+ const raw = parsed.result?.output ?? parsed.result?.text ?? parsed.result?.content ?? "";
235
+ text = typeof raw === "string" ? raw : JSON.stringify(raw);
236
+ }
237
+ catch {
238
+ text = reply.stdout;
239
+ }
240
+ if (Buffer.byteLength(text) <= maxOutputBytes)
241
+ return { text, truncated: false };
242
+ // Keep the TAIL, not the head: a terminal's useful content is its most recent output, and the head is
243
+ // the startup banner. `runChild` keeps the head because it streams and must stop a runaway producer;
244
+ // here the output is already complete, so the choice is free and the tail is the answer.
245
+ //
246
+ // Sliced by BYTES via a Buffer round trip rather than by code units, for `takeBytes`'s reason in
247
+ // `run-child.ts`: `slice(-maxOutputBytes)` on a CJK pane overran the cap by three times. `toString` repairs
248
+ // a character split at the cut by replacing it, which is the right trade for a tail — one replacement
249
+ // character at the boundary, versus a cap that does not hold.
250
+ return { text: Buffer.from(text, "utf8").subarray(-maxOutputBytes).toString("utf8"), truncated: true };
251
+ }
252
+ //# sourceMappingURL=herdr-poll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herdr-poll.js","sourceRoot":"","sources":["../../src/executors/herdr-poll.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Staging a definition's instructions to a file, because herdr cannot carry them in argv.
3
+ *
4
+ * Split out of `src/executors/run-herdr.ts` at the 400-line ceiling. A real seam rather than an arbitrary cut: this is
5
+ * the one place that works around a **herdr encoding limit**, and it is the only part of the herdr path that
6
+ * touches the filesystem. `run-herdr.ts` starts and reaps agents; this prepares one argument.
7
+ */
8
+ /**
9
+ * Move a multi-line `--append-system-prompt` out of argv, because herdr cannot encode it.
10
+ *
11
+ * **Measured.** `herdr agent start` types the argv into the pane's shell, so a value containing newlines
12
+ * is rejected outright: `invalid_agent_argument — agent arguments cannot be encoded safely for the target
13
+ * shell`. A definition's `SKILL.md` body is always multi-line, so every `delegate({agent})` spawn would
14
+ * fail on this path.
15
+ *
16
+ * pi accepts a **file path** there as readily as literal text (`resolvePromptInput` + `existsSync` in
17
+ * `dist/core/resource-loader.js`), so the fix is to write the body to a temp file and pass its path — one
18
+ * short, shell-safe argument.
19
+ *
20
+ * The split lives here rather than in `planSpawn` because the constraint is **herdr's**, not pi's: the
21
+ * direct executor passes the same text inline with no trouble, and a plan builder that pre-emptively wrote
22
+ * temp files for everybody would be paying one executor's tax on both paths.
23
+ */
24
+ export declare function splitSystemPrompt(args: string[]): {
25
+ args: string[];
26
+ systemPrompt?: string;
27
+ };
28
+ /**
29
+ * Move a multi-line system prompt into a temp file and return argv pointing at it.
30
+ *
31
+ * Returns the directory so the caller can remove it — and **every** early return on the herdr path must, because
32
+ * nothing else can: a reviewer measured a permanent `/tmp/grants-herdr-*` per failed `tab create`, unreachable by
33
+ * either pane sweep because the pane it belonged to never existed.
34
+ */
35
+ export declare function stageSystemPrompt(args: string[]): Promise<{
36
+ args: string[];
37
+ promptDir?: string;
38
+ error?: string;
39
+ }>;
40
+ //# sourceMappingURL=herdr-stage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herdr-stage.d.ts","sourceRoot":"","sources":["../../src/executors/herdr-stage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,CAI3F;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAWjE"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Staging a definition's instructions to a file, because herdr cannot carry them in argv.
3
+ *
4
+ * Split out of `src/executors/run-herdr.ts` at the 400-line ceiling. A real seam rather than an arbitrary cut: this is
5
+ * the one place that works around a **herdr encoding limit**, and it is the only part of the herdr path that
6
+ * touches the filesystem. `run-herdr.ts` starts and reaps agents; this prepares one argument.
7
+ */
8
+ import { mkdtemp, writeFile } from "node:fs/promises";
9
+ import { tmpdir } from "node:os";
10
+ import { join } from "node:path";
11
+ /**
12
+ * Move a multi-line `--append-system-prompt` out of argv, because herdr cannot encode it.
13
+ *
14
+ * **Measured.** `herdr agent start` types the argv into the pane's shell, so a value containing newlines
15
+ * is rejected outright: `invalid_agent_argument — agent arguments cannot be encoded safely for the target
16
+ * shell`. A definition's `SKILL.md` body is always multi-line, so every `delegate({agent})` spawn would
17
+ * fail on this path.
18
+ *
19
+ * pi accepts a **file path** there as readily as literal text (`resolvePromptInput` + `existsSync` in
20
+ * `dist/core/resource-loader.js`), so the fix is to write the body to a temp file and pass its path — one
21
+ * short, shell-safe argument.
22
+ *
23
+ * The split lives here rather than in `planSpawn` because the constraint is **herdr's**, not pi's: the
24
+ * direct executor passes the same text inline with no trouble, and a plan builder that pre-emptively wrote
25
+ * temp files for everybody would be paying one executor's tax on both paths.
26
+ */
27
+ export function splitSystemPrompt(args) {
28
+ const at = args.indexOf("--append-system-prompt");
29
+ if (at === -1 || at + 1 >= args.length)
30
+ return { args };
31
+ return { args: [...args.slice(0, at), ...args.slice(at + 2)], systemPrompt: args[at + 1] };
32
+ }
33
+ /**
34
+ * Move a multi-line system prompt into a temp file and return argv pointing at it.
35
+ *
36
+ * Returns the directory so the caller can remove it — and **every** early return on the herdr path must, because
37
+ * nothing else can: a reviewer measured a permanent `/tmp/grants-herdr-*` per failed `tab create`, unreachable by
38
+ * either pane sweep because the pane it belonged to never existed.
39
+ */
40
+ export async function stageSystemPrompt(args) {
41
+ const split = splitSystemPrompt(args);
42
+ if (split.systemPrompt === undefined)
43
+ return { args: split.args };
44
+ try {
45
+ const promptDir = await mkdtemp(join(tmpdir(), "grants-herdr-"));
46
+ const file = join(promptDir, "system-prompt.md");
47
+ await writeFile(file, split.systemPrompt, "utf8");
48
+ return { args: [...split.args, "--append-system-prompt", file], promptDir };
49
+ }
50
+ catch (error) {
51
+ return { args: split.args, error: `could not stage the system prompt for herdr: ${String(error)}` };
52
+ }
53
+ }
54
+ //# sourceMappingURL=herdr-stage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herdr-stage.js","sourceRoot":"","sources":["../../src/executors/herdr-stage.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAc;IAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAClD,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACxD,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;AAC7F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAc;IAEd,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QACjD,MAAM,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,wBAAwB,EAAE,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,gDAAgD,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;IACtG,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herdr-start.d.ts","sourceRoot":"","sources":["../../src/executors/herdr-start.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE5D,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAO/D"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"herdr-start.js","sourceRoot":"","sources":["../../src/executors/herdr-start.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,OAAO,EAAE,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAE5D,2EAA2E;AAC3E,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAe,EACf,IAAY,EACZ,MAAc,EACd,IAAc,EACd,QAAgB;IAEhB,SAAS,CAAC;QACR,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAChH,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QAC/B,IAAI,CAAC,wCAAwC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,QAAQ;YAAE,OAAO,KAAK,CAAC;QACxG,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAChF,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { ENV_RETAIN_NATIVE_SESSIONS } from "../kernel/env-names.ts";
2
+ export interface NativeSessionHost {
3
+ /** Explicit host opt-in captured once, not model-supplied. */ readonly nativeSessionRoot?: string;
4
+ }
5
+ export declare const nativeSessionRootFromEnv: (env: NodeJS.ProcessEnv) => string | undefined;
6
+ /** Explicit ordinary-host opt-in only. Never read a destination from tool/model parameters.
7
+ * Allocate a fresh per-occurrence directory; no scan, existing-session takeover or transcript creation. */
8
+ export declare function allocateNativeSessionTarget(root: string, executionId: string): Promise<string>;
9
+ //# sourceMappingURL=native-session-target.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-session-target.d.ts","sourceRoot":"","sources":["../../src/executors/native-session-target.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,MAAM,WAAW,iBAAiB;IAChC,8DAA8D,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACpG;AACD,eAAO,MAAM,wBAAwB,GAAI,KAAK,MAAM,CAAC,UAAU,uBAC6B,CAAC;AAC7F;2GAC2G;AAC3G,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBpG"}
@@ -0,0 +1,30 @@
1
+ import { lstat, realpath, mkdir } from "node:fs/promises";
2
+ import { dirname, isAbsolute, join, parse, resolve } from "node:path";
3
+ import { createHash } from "node:crypto";
4
+ import { ENV_NATIVE_SESSION_ROOT } from "../governance/native-session.js";
5
+ import { ENV_RETAIN_NATIVE_SESSIONS } from "../kernel/env-names.js";
6
+ export { ENV_RETAIN_NATIVE_SESSIONS } from "../kernel/env-names.js";
7
+ export const nativeSessionRootFromEnv = (env) => env[ENV_RETAIN_NATIVE_SESSIONS] === "1" ? (env[ENV_NATIVE_SESSION_ROOT] ?? "") : undefined;
8
+ /** Explicit ordinary-host opt-in only. Never read a destination from tool/model parameters.
9
+ * Allocate a fresh per-occurrence directory; no scan, existing-session takeover or transcript creation. */
10
+ export async function allocateNativeSessionTarget(root, executionId) {
11
+ if (!isAbsolute(root) || resolve(root) !== root || !/^[a-zA-Z0-9:_-]{1,128}$/.test(executionId))
12
+ throw new Error("explicit native root/execution identity required");
13
+ for (let p = root;; p = dirname(p)) {
14
+ const s = await lstat(p);
15
+ if (!s.isDirectory() || s.isSymbolicLink())
16
+ throw new Error("native target ancestor changed");
17
+ if (p === parse(p).root)
18
+ break;
19
+ }
20
+ const before = await lstat(root);
21
+ if ((await realpath(root)) !== root || before.mode & 0o077 || before.uid !== process.getuid?.())
22
+ throw new Error("private owned native target root required");
23
+ const directory = join(root, "execution-" + createHash("sha256").update(executionId).digest("hex"));
24
+ await mkdir(directory, { mode: 0o700 }); // EEXIST is a refusal, never permission to append an old occurrence.
25
+ const after = await lstat(root);
26
+ if (before.dev !== after.dev || before.ino !== after.ino || (await realpath(directory)) !== directory)
27
+ throw new Error("native target root replaced");
28
+ return join(directory, "session.jsonl");
29
+ }
30
+ //# sourceMappingURL=native-session-target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-session-target.js","sourceRoot":"","sources":["../../src/executors/native-session-target.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAIpE,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,GAAsB,EAAE,EAAE,CACjE,GAAG,CAAC,0BAA0B,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7F;2GAC2G;AAC3G,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,IAAY,EAAE,WAAmB;IACjF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC;QAC7F,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,KAAK,IAAI,CAAC,GAAG,IAAI,GAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,cAAc,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YAAE,MAAM;IACjC,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE;QAC7F,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,qEAAqE;IAC9G,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC,KAAK,SAAS;QACnG,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Close herdr panes this process opened but never got to close.
3
+ *
4
+ * **As of ADR-0032 a pane belongs to the AGENT RUN, not to the tool call.** `runHerdrPane` closes a tab only for
5
+ * a child that did *not* settle — closing the tab is the only kill herdr offers, so a child still working must
6
+ * lose its pane. A child that answered keeps its pane so a human can read it, and this module reaps those: at
7
+ * `agent_settled` (async) and at process `exit` (sync backstop).
8
+ *
9
+ * The gap that remains is the one this module was created for. A pi session **killed outright** runs no `exit`
10
+ * handler, so it leaves one pane per tracked child, and `docs/probes/g16-herdr` records that an orphaned pane is
11
+ * not trivially closable afterwards. R-62 was re-rated L×L → M×L when ADR-0031 made panes the default path.
12
+ *
13
+ * **Registered on `exit` only, deliberately — not on SIGINT or SIGTERM.** That is the part worth reading,
14
+ * because the obvious fix is the dangerous one. Adding a signal listener *suppresses Node's default
15
+ * termination*, so a library that adds one takes over an application-level decision it has no standing to
16
+ * make: pi uses SIGINT to interrupt a turn, and a listener here that re-raised would turn "cancel this
17
+ * delegation" into "exit pi". A governance package quietly changing the host's interrupt semantics is a
18
+ * worse defect than the leak it fixes, and it would land on **every** session rather than the opt-in ones.
19
+ *
20
+ * So the coverage is exact and stated rather than implied:
21
+ *
22
+ * - **Covered:** normal exit, `process.exit()`, an uncaught exception that unwinds to the default handler.
23
+ * - **NOT covered:** SIGKILL, and SIGTERM/SIGINT where nothing else in the process has installed a
24
+ * listener. Node terminates without running `exit` handlers in those cases, by design. A pane can still
25
+ * be orphaned there, and `herdr tab close <id>` is the manual remedy.
26
+ *
27
+ * Everything here is **synchronous**, because an `exit` handler is: a promise scheduled there never runs.
28
+ */
29
+ import { type HerdrExec } from "./herdr-cli.ts";
30
+ /**
31
+ * How many panes may be open at once — ADR-0032.
32
+ *
33
+ * **Derived from `MAX_CHILDREN_PER_CALL` rather than declared, so the two cannot drift.** The bound is not
34
+ * decoration: `delegate_all` is capped per call and the fan-out budget bounds a subtree, but a plain blocking
35
+ * `delegate` spends **nothing** from that budget by design — so thirty sequential `delegate` calls in one agent
36
+ * run would otherwise hold thirty panes open until it settled.
37
+ */
38
+ export declare const MAX_OPEN_PANES = 8;
39
+ export interface OpenPane {
40
+ /** herdr tab id — what `tab close` takes. */
41
+ tab: string;
42
+ /** herdr agent name, for diagnostics. There is no `agent stop`, so nothing acts on it — see `closePane`. */
43
+ name: string;
44
+ /** Staged system-prompt directory, removed with the pane it belonged to. */
45
+ promptDir?: string;
46
+ /**
47
+ * True once the child has answered and stopped working.
48
+ *
49
+ * **The trim may only close a pane with this set**, and that is a correctness rule rather than politeness. pi
50
+ * executes tool calls in **parallel** by default, and a plain `delegate` spends nothing from the fan-out
51
+ * budget — so one assistant message can hold `delegate_all(8)` *and* a `delegate`, and the ninth pane's trim
52
+ * used to close the oldest **live sibling**. Measured: two `delegate_all(8)` in one message killed **8 of 16
53
+ * children mid-work**, each reported as "could not be started" with its partial output discarded, while the
54
+ * ledger recorded all sixteen as provisioned. ADR-0032 argued the cap from *sequential* delegates only.
55
+ */
56
+ settled?: boolean;
57
+ /**
58
+ * The operator asked to keep this tab (`PI_DADDY_HERDR_KEEP_PANE=1`), so no sweep may close it.
59
+ *
60
+ * It is registered anyway, and only for its `promptDir`: that temp dir was otherwise unreachable by either
61
+ * sweep and leaked one directory per kept pane, forever. So `exit` removes the staged prompt and leaves the
62
+ * tab, which is exactly what the flag promises.
63
+ */
64
+ keepTab?: boolean;
65
+ }
66
+ /** A run has finished with its pane: the trim may now reclaim it. */
67
+ export declare function markPaneSettled(tab: string): void;
68
+ /** A run has opened a pane. Idempotent per tab, and installs the exit hook on first use only. */
69
+ export declare function trackPane(pane: OpenPane): void;
70
+ /** A run closed its own pane the normal way. */
71
+ export declare function untrackPane(tab: string): void;
72
+ /** How many panes are currently outstanding — for tests and for `/grants`. */
73
+ export declare function openPaneCount(): number;
74
+ /**
75
+ * Close every outstanding pane and return the tab ids closed.
76
+ *
77
+ * Exported and parameterised so it can be tested without herdr installed: the exit hook is unreachable from
78
+ * a test (registering a real `exit` handler would run during the test runner's own shutdown), so the hook is
79
+ * one line and *this* is where the behaviour lives.
80
+ *
81
+ * Failures are swallowed per pane rather than per call — one pane herdr will not close must not strand the
82
+ * other seven, and nothing at exit has anywhere to report to anyway.
83
+ */
84
+ export declare function reapOpenPanes(syncExec?: (args: string[]) => void, now?: () => number): string[];
85
+ /**
86
+ * Close every outstanding pane — the `agent_settled` path (ADR-0032).
87
+ *
88
+ * **A separate function from `reapOpenPanes` rather than a shared implementation**, and the reason is not
89
+ * style. The sync one is `execFileSync` with a six-second total budget *by necessity*: an `exit` handler cannot
90
+ * await. Running that at `agent_settled` would freeze pi for up to six seconds **every time the operator gets
91
+ * their prompt back** — turning a feature that exists to make work visible into a stall.
92
+ *
93
+ * Both drain the same `Map`, keyed by tab id, so a double close is impossible and a pane herdr refused stays
94
+ * registered for whichever sweep runs next.
95
+ *
96
+ * Sequential rather than concurrent: a fan-out's panes are at most `MAX_OPEN_PANES`, and eight `tab close`
97
+ * calls in parallel against one herdr server buys nothing worth the burst.
98
+ */
99
+ export declare function reapOpenPanesAsync(exec?: HerdrExec): Promise<string[]>;
100
+ /**
101
+ * Keep at most `MAX_OPEN_PANES` open, closing the oldest first.
102
+ *
103
+ * The `Map`'s insertion order **is** the age order, so no timestamp is needed — and that is why `trackPane`
104
+ * must never re-`set` an existing tab, which would move it to the back of the queue and make an old pane look
105
+ * new.
106
+ *
107
+ * Whatever it closes is returned so the caller can **say so** rather than silently dropping a pane the operator
108
+ * was reading (R-48's rule, applied to a display).
109
+ */
110
+ export declare function trimOpenPanes(exec?: HerdrExec): Promise<string[]>;
111
+ //# sourceMappingURL=pane-reaper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pane-reaper.d.ts","sourceRoot":"","sources":["../../src/executors/pane-reaper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAMH,OAAO,EAA2B,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,IAAwB,CAAC;AAEpD,MAAM,WAAW,QAAQ;IACvB,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,4GAA4G;IAC5G,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAGjD;AAeD,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,CAO9C;AAED,gDAAgD;AAChD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAyBD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,GAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,IAAsB,EAAE,GAAG,eAAW,GAAG,MAAM,EAAE,CAgD5G;AAsBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,GAAE,SAAuB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CASzF;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,IAAI,GAAE,SAAuB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBpF"}