pi-daddy 0.27.4 → 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 (1000) hide show
  1. package/CHANGELOG.md +108 -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 +196 -0
  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 +78 -77
  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 +31 -14
  265. package/extensions/session-report.ts +60 -10
  266. package/extensions/session.ts +76 -66
  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 +5 -212
  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 -136
  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/approval-prompt.d.ts +0 -119
  405. package/dist/approval-prompt.d.ts.map +0 -1
  406. package/dist/approval-prompt.js +0 -133
  407. package/dist/approval-prompt.js.map +0 -1
  408. package/dist/approval-store.d.ts +0 -149
  409. package/dist/approval-store.d.ts.map +0 -1
  410. package/dist/approval-store.js +0 -314
  411. package/dist/approval-store.js.map +0 -1
  412. package/dist/approval.d.ts +0 -241
  413. package/dist/approval.d.ts.map +0 -1
  414. package/dist/approval.js +0 -268
  415. package/dist/approval.js.map +0 -1
  416. package/dist/capabilities.d.ts +0 -136
  417. package/dist/capabilities.d.ts.map +0 -1
  418. package/dist/capabilities.js +0 -203
  419. package/dist/capabilities.js.map +0 -1
  420. package/dist/catalog.d.ts +0 -98
  421. package/dist/catalog.d.ts.map +0 -1
  422. package/dist/catalog.js +0 -273
  423. package/dist/catalog.js.map +0 -1
  424. package/dist/chain.d.ts.map +0 -1
  425. package/dist/chain.js.map +0 -1
  426. package/dist/check-runner.d.ts +0 -66
  427. package/dist/check-runner.d.ts.map +0 -1
  428. package/dist/check-runner.js +0 -275
  429. package/dist/check-runner.js.map +0 -1
  430. package/dist/control-journal.d.ts +0 -20
  431. package/dist/control-journal.d.ts.map +0 -1
  432. package/dist/control-journal.js +0 -73
  433. package/dist/control-journal.js.map +0 -1
  434. package/dist/correlation.d.ts.map +0 -1
  435. package/dist/correlation.js +0 -231
  436. package/dist/correlation.js.map +0 -1
  437. package/dist/daily-dashboard-host.d.ts +0 -136
  438. package/dist/daily-dashboard-host.d.ts.map +0 -1
  439. package/dist/daily-dashboard-host.js +0 -164
  440. package/dist/daily-dashboard-host.js.map +0 -1
  441. package/dist/daily-panel.d.ts +0 -36
  442. package/dist/daily-panel.d.ts.map +0 -1
  443. package/dist/daily-panel.js +0 -84
  444. package/dist/daily-panel.js.map +0 -1
  445. package/dist/daily-view-input.d.ts +0 -44
  446. package/dist/daily-view-input.d.ts.map +0 -1
  447. package/dist/daily-view-input.js +0 -68
  448. package/dist/daily-view-input.js.map +0 -1
  449. package/dist/daily-view-render.d.ts +0 -5
  450. package/dist/daily-view-render.d.ts.map +0 -1
  451. package/dist/daily-view-render.js +0 -42
  452. package/dist/daily-view-render.js.map +0 -1
  453. package/dist/daily-view.d.ts +0 -77
  454. package/dist/daily-view.d.ts.map +0 -1
  455. package/dist/daily-view.js +0 -176
  456. package/dist/daily-view.js.map +0 -1
  457. package/dist/dashboard-cli.d.ts +0 -48
  458. package/dist/dashboard-cli.d.ts.map +0 -1
  459. package/dist/dashboard-cli.js +0 -331
  460. package/dist/dashboard-cli.js.map +0 -1
  461. package/dist/dashboard-display-controls.d.ts +0 -10
  462. package/dist/dashboard-display-controls.d.ts.map +0 -1
  463. package/dist/dashboard-display-controls.js +0 -25
  464. package/dist/dashboard-display-controls.js.map +0 -1
  465. package/dist/dashboard-handshake.d.ts +0 -37
  466. package/dist/dashboard-handshake.d.ts.map +0 -1
  467. package/dist/dashboard-handshake.js +0 -136
  468. package/dist/dashboard-handshake.js.map +0 -1
  469. package/dist/dashboard-harness.d.ts +0 -22
  470. package/dist/dashboard-harness.d.ts.map +0 -1
  471. package/dist/dashboard-harness.js +0 -89
  472. package/dist/dashboard-harness.js.map +0 -1
  473. package/dist/dashboard-herdr.d.ts +0 -55
  474. package/dist/dashboard-herdr.d.ts.map +0 -1
  475. package/dist/dashboard-herdr.js +0 -293
  476. package/dist/dashboard-herdr.js.map +0 -1
  477. package/dist/dashboard-host-contract.d.ts +0 -127
  478. package/dist/dashboard-host-contract.d.ts.map +0 -1
  479. package/dist/dashboard-host-contract.js +0 -14
  480. package/dist/dashboard-host-contract.js.map +0 -1
  481. package/dist/dashboard-host-transport.d.ts +0 -16
  482. package/dist/dashboard-host-transport.d.ts.map +0 -1
  483. package/dist/dashboard-host-transport.js +0 -127
  484. package/dist/dashboard-host-transport.js.map +0 -1
  485. package/dist/dashboard-host.d.ts +0 -239
  486. package/dist/dashboard-host.d.ts.map +0 -1
  487. package/dist/dashboard-host.js +0 -474
  488. package/dist/dashboard-host.js.map +0 -1
  489. package/dist/dashboard-menu.d.ts +0 -16
  490. package/dist/dashboard-menu.d.ts.map +0 -1
  491. package/dist/dashboard-menu.js +0 -33
  492. package/dist/dashboard-menu.js.map +0 -1
  493. package/dist/dashboard-observation.d.ts +0 -28
  494. package/dist/dashboard-observation.d.ts.map +0 -1
  495. package/dist/dashboard-observation.js +0 -87
  496. package/dist/dashboard-observation.js.map +0 -1
  497. package/dist/dashboard-projection.d.ts +0 -73
  498. package/dist/dashboard-projection.d.ts.map +0 -1
  499. package/dist/dashboard-projection.js +0 -294
  500. package/dist/dashboard-projection.js.map +0 -1
  501. package/dist/dashboard-render.d.ts.map +0 -1
  502. package/dist/dashboard-render.js +0 -212
  503. package/dist/dashboard-render.js.map +0 -1
  504. package/dist/debrief-contract.d.ts +0 -65
  505. package/dist/debrief-contract.d.ts.map +0 -1
  506. package/dist/debrief-contract.js +0 -151
  507. package/dist/debrief-contract.js.map +0 -1
  508. package/dist/debrief-fixture.d.ts +0 -16
  509. package/dist/debrief-fixture.d.ts.map +0 -1
  510. package/dist/debrief-fixture.js +0 -41
  511. package/dist/debrief-fixture.js.map +0 -1
  512. package/dist/debrief-host.d.ts +0 -59
  513. package/dist/debrief-host.d.ts.map +0 -1
  514. package/dist/debrief-host.js +0 -49
  515. package/dist/debrief-host.js.map +0 -1
  516. package/dist/debrief-render.d.ts +0 -5
  517. package/dist/debrief-render.d.ts.map +0 -1
  518. package/dist/debrief-render.js +0 -65
  519. package/dist/debrief-render.js.map +0 -1
  520. package/dist/debrief.d.ts +0 -90
  521. package/dist/debrief.d.ts.map +0 -1
  522. package/dist/debrief.js +0 -263
  523. package/dist/debrief.js.map +0 -1
  524. package/dist/definitions.d.ts.map +0 -1
  525. package/dist/definitions.js +0 -164
  526. package/dist/definitions.js.map +0 -1
  527. package/dist/delegate-types.d.ts +0 -146
  528. package/dist/delegate-types.d.ts.map +0 -1
  529. package/dist/delegate-types.js +0 -8
  530. package/dist/delegate-types.js.map +0 -1
  531. package/dist/delegate.d.ts.map +0 -1
  532. package/dist/delegate.js +0 -305
  533. package/dist/delegate.js.map +0 -1
  534. package/dist/delegation-approval.d.ts.map +0 -1
  535. package/dist/delegation-approval.js +0 -94
  536. package/dist/delegation-approval.js.map +0 -1
  537. package/dist/dispatch-control.d.ts +0 -45
  538. package/dist/dispatch-control.d.ts.map +0 -1
  539. package/dist/dispatch-control.js +0 -76
  540. package/dist/dispatch-control.js.map +0 -1
  541. package/dist/effect-profile-runtime.d.ts +0 -40
  542. package/dist/effect-profile-runtime.d.ts.map +0 -1
  543. package/dist/effect-profile-runtime.js +0 -51
  544. package/dist/effect-profile-runtime.js.map +0 -1
  545. package/dist/effect-profile.d.ts +0 -40
  546. package/dist/effect-profile.d.ts.map +0 -1
  547. package/dist/effect-profile.js +0 -152
  548. package/dist/effect-profile.js.map +0 -1
  549. package/dist/execution-id.d.ts.map +0 -1
  550. package/dist/execution-id.js.map +0 -1
  551. package/dist/execution-retention.d.ts +0 -90
  552. package/dist/execution-retention.d.ts.map +0 -1
  553. package/dist/execution-retention.js +0 -247
  554. package/dist/execution-retention.js.map +0 -1
  555. package/dist/executor.d.ts +0 -39
  556. package/dist/executor.d.ts.map +0 -1
  557. package/dist/executor.js +0 -94
  558. package/dist/executor.js.map +0 -1
  559. package/dist/experiment-contract.d.ts +0 -56
  560. package/dist/experiment-contract.d.ts.map +0 -1
  561. package/dist/experiment-contract.js +0 -80
  562. package/dist/experiment-contract.js.map +0 -1
  563. package/dist/experiment-state.d.ts +0 -22
  564. package/dist/experiment-state.d.ts.map +0 -1
  565. package/dist/experiment-state.js +0 -79
  566. package/dist/experiment-state.js.map +0 -1
  567. package/dist/experiment-store.d.ts +0 -30
  568. package/dist/experiment-store.d.ts.map +0 -1
  569. package/dist/experiment-store.js +0 -147
  570. package/dist/experiment-store.js.map +0 -1
  571. package/dist/experiment.d.ts +0 -65
  572. package/dist/experiment.d.ts.map +0 -1
  573. package/dist/experiment.js +0 -362
  574. package/dist/experiment.js.map +0 -1
  575. package/dist/factory-contract.d.ts +0 -79
  576. package/dist/factory-contract.d.ts.map +0 -1
  577. package/dist/factory-contract.js +0 -89
  578. package/dist/factory-contract.js.map +0 -1
  579. package/dist/factory-migration.d.ts +0 -20
  580. package/dist/factory-migration.d.ts.map +0 -1
  581. package/dist/factory-migration.js +0 -55
  582. package/dist/factory-migration.js.map +0 -1
  583. package/dist/factory-order.d.ts +0 -848
  584. package/dist/factory-order.d.ts.map +0 -1
  585. package/dist/factory-order.js +0 -83
  586. package/dist/factory-order.js.map +0 -1
  587. package/dist/factory-registry.d.ts +0 -121
  588. package/dist/factory-registry.d.ts.map +0 -1
  589. package/dist/factory-registry.js +0 -133
  590. package/dist/factory-registry.js.map +0 -1
  591. package/dist/fanout.d.ts.map +0 -1
  592. package/dist/fanout.js +0 -93
  593. package/dist/fanout.js.map +0 -1
  594. package/dist/file-lock.d.ts.map +0 -1
  595. package/dist/file-lock.js +0 -201
  596. package/dist/file-lock.js.map +0 -1
  597. package/dist/finalization.d.ts.map +0 -1
  598. package/dist/finalization.js.map +0 -1
  599. package/dist/git-identity.d.ts +0 -13
  600. package/dist/git-identity.d.ts.map +0 -1
  601. package/dist/git-identity.js +0 -47
  602. package/dist/git-identity.js.map +0 -1
  603. package/dist/grant-env.d.ts +0 -75
  604. package/dist/grant-env.d.ts.map +0 -1
  605. package/dist/grant-env.js +0 -154
  606. package/dist/grant-env.js.map +0 -1
  607. package/dist/grant-store.d.ts +0 -96
  608. package/dist/grant-store.d.ts.map +0 -1
  609. package/dist/grant-store.js +0 -188
  610. package/dist/grant-store.js.map +0 -1
  611. package/dist/herdr-cli.d.ts +0 -78
  612. package/dist/herdr-cli.d.ts.map +0 -1
  613. package/dist/herdr-cli.js +0 -113
  614. package/dist/herdr-cli.js.map +0 -1
  615. package/dist/herdr-name.d.ts.map +0 -1
  616. package/dist/herdr-name.js.map +0 -1
  617. package/dist/herdr-pi-lifecycle.d.ts.map +0 -1
  618. package/dist/herdr-pi-lifecycle.js +0 -22
  619. package/dist/herdr-pi-lifecycle.js.map +0 -1
  620. package/dist/herdr-poll.d.ts +0 -133
  621. package/dist/herdr-poll.d.ts.map +0 -1
  622. package/dist/herdr-poll.js +0 -222
  623. package/dist/herdr-poll.js.map +0 -1
  624. package/dist/herdr-stage.d.ts +0 -40
  625. package/dist/herdr-stage.d.ts.map +0 -1
  626. package/dist/herdr-stage.js +0 -54
  627. package/dist/herdr-stage.js.map +0 -1
  628. package/dist/herdr-start.d.ts.map +0 -1
  629. package/dist/herdr-start.js.map +0 -1
  630. package/dist/init.d.ts +0 -117
  631. package/dist/init.d.ts.map +0 -1
  632. package/dist/init.js +0 -323
  633. package/dist/init.js.map +0 -1
  634. package/dist/intent-application.d.ts +0 -17
  635. package/dist/intent-application.d.ts.map +0 -1
  636. package/dist/intent-application.js +0 -114
  637. package/dist/intent-application.js.map +0 -1
  638. package/dist/intent-control.d.ts +0 -201
  639. package/dist/intent-control.d.ts.map +0 -1
  640. package/dist/intent-control.js +0 -110
  641. package/dist/intent-control.js.map +0 -1
  642. package/dist/intent-scheduling.d.ts +0 -9
  643. package/dist/intent-scheduling.d.ts.map +0 -1
  644. package/dist/intent-scheduling.js +0 -15
  645. package/dist/intent-scheduling.js.map +0 -1
  646. package/dist/learning-connection.d.ts +0 -127
  647. package/dist/learning-connection.d.ts.map +0 -1
  648. package/dist/learning-connection.js +0 -54
  649. package/dist/learning-connection.js.map +0 -1
  650. package/dist/lease-helper.d.ts.map +0 -1
  651. package/dist/lease-helper.js +0 -94
  652. package/dist/lease-helper.js.map +0 -1
  653. package/dist/lease-record.d.ts +0 -90
  654. package/dist/lease-record.d.ts.map +0 -1
  655. package/dist/lease-record.js.map +0 -1
  656. package/dist/ledger-append.d.ts +0 -15
  657. package/dist/ledger-append.d.ts.map +0 -1
  658. package/dist/ledger-append.js +0 -94
  659. package/dist/ledger-append.js.map +0 -1
  660. package/dist/ledger-events.d.ts +0 -131
  661. package/dist/ledger-events.d.ts.map +0 -1
  662. package/dist/ledger-events.js +0 -107
  663. package/dist/ledger-events.js.map +0 -1
  664. package/dist/ledger-identifiers.d.ts.map +0 -1
  665. package/dist/ledger-identifiers.js.map +0 -1
  666. package/dist/ledger-report.d.ts +0 -134
  667. package/dist/ledger-report.d.ts.map +0 -1
  668. package/dist/ledger-report.js +0 -271
  669. package/dist/ledger-report.js.map +0 -1
  670. package/dist/ledger-v3-validation.d.ts +0 -11
  671. package/dist/ledger-v3-validation.d.ts.map +0 -1
  672. package/dist/ledger-v3-validation.js +0 -265
  673. package/dist/ledger-v3-validation.js.map +0 -1
  674. package/dist/ledger.d.ts +0 -242
  675. package/dist/ledger.d.ts.map +0 -1
  676. package/dist/ledger.js +0 -142
  677. package/dist/ledger.js.map +0 -1
  678. package/dist/measured-order.d.ts +0 -249
  679. package/dist/measured-order.d.ts.map +0 -1
  680. package/dist/measured-order.js +0 -309
  681. package/dist/measured-order.js.map +0 -1
  682. package/dist/measured-session.d.ts +0 -97
  683. package/dist/measured-session.d.ts.map +0 -1
  684. package/dist/measured-session.js +0 -134
  685. package/dist/measured-session.js.map +0 -1
  686. package/dist/model-preflight.d.ts +0 -13
  687. package/dist/model-preflight.d.ts.map +0 -1
  688. package/dist/model-preflight.js +0 -29
  689. package/dist/model-preflight.js.map +0 -1
  690. package/dist/native-session-target.d.ts +0 -9
  691. package/dist/native-session-target.d.ts.map +0 -1
  692. package/dist/native-session-target.js +0 -29
  693. package/dist/native-session-target.js.map +0 -1
  694. package/dist/native-session.d.ts +0 -59
  695. package/dist/native-session.d.ts.map +0 -1
  696. package/dist/native-session.js +0 -154
  697. package/dist/native-session.js.map +0 -1
  698. package/dist/order-schedule.d.ts +0 -37
  699. package/dist/order-schedule.d.ts.map +0 -1
  700. package/dist/order-schedule.js +0 -81
  701. package/dist/order-schedule.js.map +0 -1
  702. package/dist/ordinary-children.d.ts +0 -52
  703. package/dist/ordinary-children.d.ts.map +0 -1
  704. package/dist/ordinary-children.js +0 -93
  705. package/dist/ordinary-children.js.map +0 -1
  706. package/dist/pane-reaper.d.ts +0 -111
  707. package/dist/pane-reaper.d.ts.map +0 -1
  708. package/dist/pane-reaper.js +0 -242
  709. package/dist/pane-reaper.js.map +0 -1
  710. package/dist/pi-tools.d.ts.map +0 -1
  711. package/dist/pi-tools.js +0 -21
  712. package/dist/pi-tools.js.map +0 -1
  713. package/dist/producer-ipc-contract.d.ts +0 -29
  714. package/dist/producer-ipc-contract.d.ts.map +0 -1
  715. package/dist/producer-ipc-contract.js +0 -29
  716. package/dist/producer-ipc-contract.js.map +0 -1
  717. package/dist/producer-ipc.d.ts +0 -55
  718. package/dist/producer-ipc.d.ts.map +0 -1
  719. package/dist/producer-ipc.js +0 -143
  720. package/dist/producer-ipc.js.map +0 -1
  721. package/dist/product-files.d.ts +0 -6
  722. package/dist/product-files.d.ts.map +0 -1
  723. package/dist/product-files.js +0 -55
  724. package/dist/product-files.js.map +0 -1
  725. package/dist/progress.d.ts.map +0 -1
  726. package/dist/progress.js.map +0 -1
  727. package/dist/propagation.d.ts +0 -203
  728. package/dist/propagation.d.ts.map +0 -1
  729. package/dist/propagation.js +0 -279
  730. package/dist/propagation.js.map +0 -1
  731. package/dist/refusals.d.ts +0 -16
  732. package/dist/refusals.d.ts.map +0 -1
  733. package/dist/refusals.js +0 -55
  734. package/dist/refusals.js.map +0 -1
  735. package/dist/resolve.d.ts.map +0 -1
  736. package/dist/resolve.js +0 -211
  737. package/dist/resolve.js.map +0 -1
  738. package/dist/resource-budget.d.ts +0 -334
  739. package/dist/resource-budget.d.ts.map +0 -1
  740. package/dist/resource-budget.js +0 -415
  741. package/dist/resource-budget.js.map +0 -1
  742. package/dist/retention-contract.d.ts.map +0 -1
  743. package/dist/retention-contract.js +0 -104
  744. package/dist/retention-contract.js.map +0 -1
  745. package/dist/retention-json.d.ts.map +0 -1
  746. package/dist/retention-json.js.map +0 -1
  747. package/dist/routing-authority.d.ts.map +0 -1
  748. package/dist/routing-authority.js.map +0 -1
  749. package/dist/run-child.d.ts +0 -87
  750. package/dist/run-child.d.ts.map +0 -1
  751. package/dist/run-child.js +0 -248
  752. package/dist/run-child.js.map +0 -1
  753. package/dist/run-herdr.d.ts +0 -119
  754. package/dist/run-herdr.d.ts.map +0 -1
  755. package/dist/run-herdr.js +0 -335
  756. package/dist/run-herdr.js.map +0 -1
  757. package/dist/skill-packages.d.ts +0 -116
  758. package/dist/skill-packages.d.ts.map +0 -1
  759. package/dist/skill-packages.js +0 -295
  760. package/dist/skill-packages.js.map +0 -1
  761. package/dist/skill-resources.d.ts.map +0 -1
  762. package/dist/skill-resources.js +0 -52
  763. package/dist/skill-resources.js.map +0 -1
  764. package/dist/spawn.d.ts.map +0 -1
  765. package/dist/spawn.js.map +0 -1
  766. package/dist/vendor/adoption.d.ts +0 -129
  767. package/dist/vendor/adoption.d.ts.map +0 -1
  768. package/dist/vendor/adoption.js +0 -102
  769. package/dist/vendor/adoption.js.map +0 -1
  770. package/dist/vendor/herdr-pi-lifecycle.d.ts.map +0 -1
  771. package/dist/vendor/herdr-pi-lifecycle.js.map +0 -1
  772. package/dist/work-command.d.ts +0 -32
  773. package/dist/work-command.d.ts.map +0 -1
  774. package/dist/work-command.js +0 -179
  775. package/dist/work-command.js.map +0 -1
  776. package/dist/work-ledger-destination.d.ts +0 -20
  777. package/dist/work-ledger-destination.d.ts.map +0 -1
  778. package/dist/work-ledger-destination.js +0 -131
  779. package/dist/work-ledger-destination.js.map +0 -1
  780. package/dist/work-ledger-json.d.ts +0 -25
  781. package/dist/work-ledger-json.d.ts.map +0 -1
  782. package/dist/work-ledger-json.js +0 -267
  783. package/dist/work-ledger-json.js.map +0 -1
  784. package/dist/work-ledger-occurrences.d.ts +0 -227
  785. package/dist/work-ledger-occurrences.d.ts.map +0 -1
  786. package/dist/work-ledger-occurrences.js +0 -115
  787. package/dist/work-ledger-occurrences.js.map +0 -1
  788. package/dist/work-ledger-projection.d.ts +0 -295
  789. package/dist/work-ledger-projection.d.ts.map +0 -1
  790. package/dist/work-ledger-projection.js +0 -237
  791. package/dist/work-ledger-projection.js.map +0 -1
  792. package/dist/work-ledger-snapshot.d.ts +0 -29
  793. package/dist/work-ledger-snapshot.d.ts.map +0 -1
  794. package/dist/work-ledger-snapshot.js +0 -267
  795. package/dist/work-ledger-snapshot.js.map +0 -1
  796. package/dist/work-ledger-types.d.ts +0 -261
  797. package/dist/work-ledger-types.d.ts.map +0 -1
  798. package/dist/work-ledger-types.js +0 -13
  799. package/dist/work-ledger-types.js.map +0 -1
  800. package/dist/work-ledger-validation.d.ts +0 -14
  801. package/dist/work-ledger-validation.d.ts.map +0 -1
  802. package/dist/work-ledger-validation.js +0 -226
  803. package/dist/work-ledger-validation.js.map +0 -1
  804. package/dist/work-ledger.d.ts +0 -43
  805. package/dist/work-ledger.d.ts.map +0 -1
  806. package/dist/work-ledger.js +0 -225
  807. package/dist/work-ledger.js.map +0 -1
  808. package/dist/work-policy-registry.d.ts +0 -133
  809. package/dist/work-policy-registry.d.ts.map +0 -1
  810. package/dist/work-policy-registry.js +0 -128
  811. package/dist/work-policy-registry.js.map +0 -1
  812. package/dist/work-run.d.ts +0 -56
  813. package/dist/work-run.d.ts.map +0 -1
  814. package/dist/work-run.js +0 -102
  815. package/dist/work-run.js.map +0 -1
  816. package/dist/work-setup.d.ts +0 -40
  817. package/dist/work-setup.d.ts.map +0 -1
  818. package/dist/work-setup.js +0 -174
  819. package/dist/work-setup.js.map +0 -1
  820. package/dist/workflow-fact-id.d.ts +0 -4
  821. package/dist/workflow-fact-id.d.ts.map +0 -1
  822. package/dist/workflow-fact-id.js +0 -14
  823. package/dist/workflow-fact-id.js.map +0 -1
  824. package/dist/workflow-facts.d.ts +0 -34
  825. package/dist/workflow-facts.d.ts.map +0 -1
  826. package/dist/workflow-facts.js +0 -43
  827. package/dist/workflow-facts.js.map +0 -1
  828. package/dist/workspace-lease.d.ts +0 -40
  829. package/dist/workspace-lease.d.ts.map +0 -1
  830. package/dist/workspace-lease.js +0 -333
  831. package/dist/workspace-lease.js.map +0 -1
  832. package/dist/workspace.d.ts +0 -57
  833. package/dist/workspace.d.ts.map +0 -1
  834. package/dist/workspace.js +0 -216
  835. package/dist/workspace.js.map +0 -1
  836. package/extensions/daily-dashboard-session.ts +0 -48
  837. package/extensions/daily-work-session.ts +0 -20
  838. package/extensions/learning-outcome-session.ts +0 -38
  839. package/extensions/learning-session.ts +0 -59
  840. package/extensions/ordinary-runtime.ts +0 -14
  841. package/extensions/primary-shadow.ts +0 -11
  842. package/extensions/work-policy-session.ts +0 -139
  843. package/extensions/work-run-session.ts +0 -75
  844. package/extensions/work-runtime.ts +0 -44
  845. package/extensions/work-session.ts +0 -132
  846. package/src/approval-prompt.ts +0 -225
  847. package/src/approval-store.ts +0 -386
  848. package/src/approval.ts +0 -399
  849. package/src/capabilities.ts +0 -220
  850. package/src/catalog.ts +0 -306
  851. package/src/check-runner.ts +0 -387
  852. package/src/control-journal.ts +0 -26
  853. package/src/correlation.ts +0 -320
  854. package/src/daily-dashboard-host.ts +0 -105
  855. package/src/daily-panel.ts +0 -80
  856. package/src/daily-view-input.ts +0 -59
  857. package/src/daily-view-render.ts +0 -45
  858. package/src/daily-view.ts +0 -160
  859. package/src/dashboard-cli.ts +0 -315
  860. package/src/dashboard-display-controls.ts +0 -18
  861. package/src/dashboard-handshake.ts +0 -194
  862. package/src/dashboard-harness.ts +0 -37
  863. package/src/dashboard-herdr.ts +0 -363
  864. package/src/dashboard-host-contract.ts +0 -50
  865. package/src/dashboard-host-transport.ts +0 -43
  866. package/src/dashboard-host.ts +0 -244
  867. package/src/dashboard-menu.ts +0 -28
  868. package/src/dashboard-observation.ts +0 -46
  869. package/src/dashboard-projection.ts +0 -390
  870. package/src/dashboard-render.ts +0 -259
  871. package/src/debrief-contract.ts +0 -127
  872. package/src/debrief-fixture.ts +0 -29
  873. package/src/debrief-host.ts +0 -53
  874. package/src/debrief-render.ts +0 -49
  875. package/src/debrief.ts +0 -198
  876. package/src/definitions.ts +0 -211
  877. package/src/delegate-types.ts +0 -150
  878. package/src/delegate.ts +0 -341
  879. package/src/delegation-approval.ts +0 -126
  880. package/src/dispatch-control.ts +0 -81
  881. package/src/effect-profile-runtime.ts +0 -46
  882. package/src/effect-profile.ts +0 -129
  883. package/src/execution-retention.ts +0 -230
  884. package/src/executor.ts +0 -123
  885. package/src/experiment-contract.ts +0 -66
  886. package/src/experiment-state.ts +0 -44
  887. package/src/experiment-store.ts +0 -98
  888. package/src/experiment.ts +0 -236
  889. package/src/factory-contract.ts +0 -47
  890. package/src/factory-migration.ts +0 -29
  891. package/src/factory-order.ts +0 -56
  892. package/src/factory-registry.ts +0 -60
  893. package/src/fanout.ts +0 -106
  894. package/src/file-lock.ts +0 -178
  895. package/src/finalization.ts +0 -79
  896. package/src/git-identity.ts +0 -56
  897. package/src/grant-env.ts +0 -221
  898. package/src/grant-store.ts +0 -235
  899. package/src/herdr-cli.ts +0 -125
  900. package/src/herdr-pi-lifecycle.ts +0 -21
  901. package/src/herdr-poll.ts +0 -253
  902. package/src/herdr-stage.ts +0 -55
  903. package/src/init.ts +0 -389
  904. package/src/intent-application.ts +0 -91
  905. package/src/intent-control.ts +0 -107
  906. package/src/intent-scheduling.ts +0 -14
  907. package/src/learning-connection.ts +0 -70
  908. package/src/lease-helper.ts +0 -97
  909. package/src/lease-record.ts +0 -131
  910. package/src/ledger-append.ts +0 -72
  911. package/src/ledger-events.ts +0 -226
  912. package/src/ledger-report.ts +0 -357
  913. package/src/ledger-v3-validation.ts +0 -266
  914. package/src/ledger.ts +0 -369
  915. package/src/measured-order.ts +0 -72
  916. package/src/measured-session.ts +0 -70
  917. package/src/model-preflight.ts +0 -41
  918. package/src/native-session-target.ts +0 -23
  919. package/src/native-session.ts +0 -139
  920. package/src/order-schedule.ts +0 -42
  921. package/src/ordinary-children.ts +0 -59
  922. package/src/pane-reaper.ts +0 -270
  923. package/src/pi-tools.ts +0 -25
  924. package/src/producer-ipc-contract.ts +0 -26
  925. package/src/producer-ipc.ts +0 -107
  926. package/src/product-files.ts +0 -34
  927. package/src/propagation.ts +0 -333
  928. package/src/refusals.ts +0 -70
  929. package/src/resolve.ts +0 -267
  930. package/src/resource-budget.ts +0 -349
  931. package/src/retention-contract.ts +0 -84
  932. package/src/retention-json.ts +0 -20
  933. package/src/run-child.ts +0 -303
  934. package/src/run-herdr.ts +0 -386
  935. package/src/skill-packages.ts +0 -314
  936. package/src/skill-resources.ts +0 -48
  937. package/src/vendor/adoption.ts +0 -109
  938. package/src/work-command.ts +0 -197
  939. package/src/work-ledger-destination.ts +0 -113
  940. package/src/work-ledger-json.ts +0 -228
  941. package/src/work-ledger-occurrences.ts +0 -99
  942. package/src/work-ledger-projection.ts +0 -262
  943. package/src/work-ledger-snapshot.ts +0 -246
  944. package/src/work-ledger-types.ts +0 -229
  945. package/src/work-ledger-validation.ts +0 -174
  946. package/src/work-ledger.ts +0 -186
  947. package/src/work-policy-registry.ts +0 -81
  948. package/src/work-run.ts +0 -79
  949. package/src/work-setup.ts +0 -141
  950. package/src/workflow-fact-id.ts +0 -16
  951. package/src/workflow-facts.ts +0 -65
  952. package/src/workspace-lease.ts +0 -363
  953. package/src/workspace.ts +0 -308
  954. /package/contracts/{ledger/v3 → ledger-record/v1}/fixtures/capability-decision.json +0 -0
  955. /package/contracts/{ledger/v3 → ledger-record/v1}/fixtures/workspace-lease.json +0 -0
  956. /package/dist/{herdr-name.d.ts → executors/herdr-name.d.ts} +0 -0
  957. /package/dist/{herdr-name.js → executors/herdr-name.js} +0 -0
  958. /package/dist/{herdr-pi-lifecycle.d.ts → executors/herdr-pi-lifecycle.d.ts} +0 -0
  959. /package/dist/{herdr-start.d.ts → executors/herdr-start.d.ts} +0 -0
  960. /package/dist/{herdr-start.js → executors/herdr-start.js} +0 -0
  961. /package/dist/{vendor → executors/vendor}/herdr-pi-lifecycle.d.ts +0 -0
  962. /package/dist/{vendor → executors/vendor}/herdr-pi-lifecycle.js +0 -0
  963. /package/dist/{file-lock.d.ts → governance/file-lock.d.ts} +0 -0
  964. /package/dist/{finalization.d.ts → governance/finalization.d.ts} +0 -0
  965. /package/dist/{finalization.js → governance/finalization.js} +0 -0
  966. /package/dist/{lease-helper.d.ts → governance/lease-helper.d.ts} +0 -0
  967. /package/dist/{lease-record.js → governance/lease-record.js} +0 -0
  968. /package/dist/{retention-contract.d.ts → governance/retention-contract.d.ts} +0 -0
  969. /package/dist/{retention-json.d.ts → governance/retention-json.d.ts} +0 -0
  970. /package/dist/{retention-json.js → governance/retention-json.js} +0 -0
  971. /package/dist/{chain.d.ts → kernel/chain.d.ts} +0 -0
  972. /package/dist/{chain.js → kernel/chain.js} +0 -0
  973. /package/dist/{correlation.d.ts → kernel/correlation.d.ts} +0 -0
  974. /package/dist/{definitions.d.ts → kernel/definitions.d.ts} +0 -0
  975. /package/dist/{delegate.d.ts → kernel/delegate.d.ts} +0 -0
  976. /package/dist/{delegation-approval.d.ts → kernel/delegation-approval.d.ts} +0 -0
  977. /package/dist/{execution-id.d.ts → kernel/execution-id.d.ts} +0 -0
  978. /package/dist/{execution-id.js → kernel/execution-id.js} +0 -0
  979. /package/dist/{fanout.d.ts → kernel/fanout.d.ts} +0 -0
  980. /package/dist/{ledger-identifiers.d.ts → kernel/ledger-identifiers.d.ts} +0 -0
  981. /package/dist/{ledger-identifiers.js → kernel/ledger-identifiers.js} +0 -0
  982. /package/dist/{pi-tools.d.ts → kernel/pi-tools.d.ts} +0 -0
  983. /package/dist/{progress.d.ts → kernel/progress.d.ts} +0 -0
  984. /package/dist/{progress.js → kernel/progress.js} +0 -0
  985. /package/dist/{resolve.d.ts → kernel/resolve.d.ts} +0 -0
  986. /package/dist/{routing-authority.d.ts → kernel/routing-authority.d.ts} +0 -0
  987. /package/dist/{routing-authority.js → kernel/routing-authority.js} +0 -0
  988. /package/dist/{skill-resources.d.ts → kernel/skill-resources.d.ts} +0 -0
  989. /package/dist/{spawn.d.ts → kernel/spawn.d.ts} +0 -0
  990. /package/dist/{spawn.js → kernel/spawn.js} +0 -0
  991. /package/dist/{dashboard-render.d.ts → products/dashboard-render.d.ts} +0 -0
  992. /package/src/{herdr-name.ts → executors/herdr-name.ts} +0 -0
  993. /package/src/{herdr-start.ts → executors/herdr-start.ts} +0 -0
  994. /package/src/{vendor → executors/vendor}/herdr-pi-lifecycle.ts +0 -0
  995. /package/src/{chain.ts → kernel/chain.ts} +0 -0
  996. /package/src/{execution-id.ts → kernel/execution-id.ts} +0 -0
  997. /package/src/{ledger-identifiers.ts → kernel/ledger-identifiers.ts} +0 -0
  998. /package/src/{progress.ts → kernel/progress.ts} +0 -0
  999. /package/src/{routing-authority.ts → kernel/routing-authority.ts} +0 -0
  1000. /package/src/{spawn.ts → kernel/spawn.ts} +0 -0
@@ -1,164 +0,0 @@
1
- /**
2
- * Agent Skills (`SKILL.md`) as this package's definition format — ADR-0016.
3
- *
4
- * A subagent is a skill you spawn: the `SKILL.md` body becomes the child's system prompt
5
- * (`--append-system-prompt`) and `allowed-tools` becomes its capability ceiling, enforced through
6
- * `--tools`. That collapses a duplication `principal-pi-skills` already strains against, where
7
- * `plan`/`review`/`debug` exist twice — once as a skill and once as a subagent prompt — and are
8
- * generated from one contract precisely so the two cannot drift.
9
- *
10
- * **The spec's own words about `allowed-tools`:** *"a space-separated string of tools that are
11
- * pre-approved to run"*, marked **experimental**. Pre-approved, not enforced — the field declares intent
12
- * and blocks nothing, and implementations differ on whether they honour it at all. Turning that
13
- * declaration into something structural is this package's entire value here.
14
- *
15
- * **One inversion is deliberate and load-bearing.** In pi-subagents' frontmatter an absent `tools:` key
16
- * means *pi's full default toolset*, so an undeclared definition was the most powerful kind and any
17
- * parse failure produced a wildcard — the direction that caused R-28 and review finding F18. Here an
18
- * absent `allowed-tools` means **undeclared, therefore not spawnable**. A typo or an unreadable YAML
19
- * form now costs a refusal instead of a grant.
20
- */
21
- import { createHash } from "node:crypto";
22
- import { readFile } from "node:fs/promises";
23
- import { resolveSkillResources, skillResourceName } from "./skill-resources.js";
24
- import { CAPABILITY_NAMESPACE_PREFIXES } from "./capabilities.js";
25
- /**
26
- * Digest a definition's body.
27
- *
28
- * Over the **body alone**, deliberately: that is precisely the text the child receives, so a digest that
29
- * also covered the frontmatter would change when `description` was reworded and report an instruction
30
- * change that never happened. `allowed-tools` is already recorded in full on every record.
31
- */
32
- export function digestDefinition(definition) {
33
- return {
34
- name: definition.name,
35
- source: definition.source,
36
- sha256: createHash("sha256").update(definition.body, "utf8").digest("hex"),
37
- };
38
- }
39
- /**
40
- * Read a `SKILL.md`.
41
- *
42
- * The frontmatter reader handles the subset these files use — `key: value`, block scalars (`>` / `|`),
43
- * and a one-level `metadata:` map. Anything it cannot read leaves the key **absent**, which for
44
- * `allowed-tools` means *undeclared* and therefore refused. That is the whole reason this parser can be
45
- * hand-rolled without the hazard its sibling in `agent-types.ts` carries.
46
- */
47
- export function parseSkillDefinition(source, text) {
48
- const match = /^---\r?\n([\s\S]*?)\r?\n---\r?\n?/.exec(text);
49
- if (!match)
50
- return null;
51
- const fields = new Map();
52
- const metadata = {};
53
- const lines = match[1].split(/\r?\n/);
54
- for (let i = 0; i < lines.length; i++) {
55
- const kv = /^([A-Za-z_][A-Za-z0-9_-]*)\s*:\s*(.*)$/.exec(lines[i]);
56
- if (!kv)
57
- continue;
58
- const [, key, rawValue] = kv;
59
- const value = rawValue.trim();
60
- // A folded/literal scalar: fold the indented continuation into one line. `principal-pi-skills`
61
- // writes every description this way, and the sibling parser SKIPS these — which is safe there only
62
- // because it never needs the value. Here a skipped `description` would be a missing required field.
63
- if (value === ">" || value === "|") {
64
- const parts = [];
65
- for (let j = i + 1; j < lines.length; j++) {
66
- if (!/^\s+\S/.test(lines[j]))
67
- break;
68
- parts.push(lines[j].trim());
69
- i = j;
70
- }
71
- fields.set(key, parts.join(" "));
72
- continue;
73
- }
74
- // `metadata:` introduces a one-level map of string keys to string values (the spec's shape).
75
- if (key === "metadata" && value === "") {
76
- for (let j = i + 1; j < lines.length; j++) {
77
- const item = /^\s+([A-Za-z_][A-Za-z0-9_-]*)\s*:\s*(.*)$/.exec(lines[j]);
78
- if (!item)
79
- break;
80
- metadata[item[1]] = item[2].trim().replace(/^["']|["']$/g, "");
81
- i = j;
82
- }
83
- continue;
84
- }
85
- // A YAML collection/block we cannot parse is not an explicit empty ceiling.
86
- if (key === "allowed-tools" && value === "") {
87
- const nextValue = lines.slice(i + 1).find(line => line.trim() !== "" && !/^\s*#/.test(line));
88
- if (/^\s+\S/.test(nextValue ?? ""))
89
- continue;
90
- }
91
- fields.set(key, value);
92
- }
93
- const description = fields.get("description");
94
- if (description === undefined)
95
- return null;
96
- return {
97
- // Identity comes from the PATH. ADR-0013 learned this the hard way on the other format: pi keys
98
- // skills by their directory, so trusting a frontmatter `name` lets our view and the loader's
99
- // disagree about which file a name refers to. The spec requires `name` to match the parent
100
- // directory anyway, so a mismatch is the file's defect and not something to honour.
101
- name: skillResourceName(source),
102
- description,
103
- allowedTools: fields.get("allowed-tools"),
104
- metadata: Object.keys(metadata).length > 0 ? metadata : undefined,
105
- body: text.slice(match[0].length).trim(),
106
- source,
107
- };
108
- }
109
- /**
110
- * Turn a definition's `allowed-tools` into a capability ceiling.
111
- *
112
- * Name mapping is **lowercasing and nothing else**, deliberately. A translation table from Claude
113
- * Code's names to pi's would have to decide what `Glob` means, and pi has no glob tool — so the table
114
- * would either invent a grant or quietly drop one. Lowercasing leaves `Glob` as `tool:glob`, which the
115
- * catalog then refuses as unknown, naming the actual problem to whoever wrote the file.
116
- */
117
- export function ceilingForDefinition(definition) {
118
- const raw = definition.allowedTools;
119
- if (raw === undefined)
120
- return { capabilities: [], patterns: [], undeclared: true };
121
- const capabilities = new Set();
122
- const patterns = [];
123
- // The spec says space-separated. Commas are tolerated because `Read, Grep` is what people type, and
124
- // accepting them grants nothing extra — it only avoids a comma becoming part of a capability name.
125
- for (const entry of raw.split(/[\s,]+/).filter((e) => e.length > 0)) {
126
- if (entry.includes("(")) {
127
- patterns.push(entry);
128
- continue;
129
- }
130
- // Every namespaced id passes through untouched; only a BARE tool name gets the `tool:` prefix and the
131
- // lowercasing. `workspace:` was missing here after ADR-0035 taught `normaliseCapability` about it, so a
132
- // definition declaring `allowed-tools: workspace:prod` produced `tool:workspace:prod` — a capability
133
- // that names nothing, refused as unknown, and dropped by `init` as "probably a typo or an attack". Two
134
- // spellings of one grammar with this one wrong is R-28's shape; the list is now shared.
135
- if (CAPABILITY_NAMESPACE_PREFIXES.some((prefix) => entry.startsWith(prefix))) {
136
- capabilities.add(entry);
137
- continue;
138
- }
139
- capabilities.add(`tool:${entry.toLowerCase()}`);
140
- }
141
- return { capabilities: [...capabilities].sort(), patterns, undeclared: false };
142
- }
143
- /**
144
- * Read definitions from Pi's enabled resources, including installed packages and local overrides.
145
- * Resolver precedence and filters are shared with the capability catalog; unregistered npm packages
146
- * are not runtime resources until legacy init explicitly scaffolds them.
147
- */
148
- export async function loadDefinitions(cwd) {
149
- const definitions = new Map();
150
- for (const { path } of (await resolveSkillResources(cwd)).skills) {
151
- let text;
152
- try {
153
- text = await readFile(path, "utf8");
154
- }
155
- catch {
156
- continue;
157
- }
158
- const parsed = parseSkillDefinition(path, text);
159
- if (parsed && !definitions.has(parsed.name))
160
- definitions.set(parsed.name, parsed);
161
- }
162
- return definitions;
163
- }
164
- //# sourceMappingURL=definitions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../src/definitions.ts"],"names":[],"mappings":"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"}
@@ -1,146 +0,0 @@
1
- /**
2
- * The shapes `planDelegation` consumes and produces. Split out of `./delegate.ts` only to stay under the
3
- * 400-line module ceiling this project enforces mechanically; `./delegate.ts` re-exports all three, so
4
- * "the delegate module" remains one import for every caller.
5
- */
6
- import type { Capability, ResolveResult } from "./resolve.ts";
7
- import type { DefinitionDigest, SkillDefinition } from "./definitions.ts";
8
- import type { InheritableApproval } from "./approval.ts";
9
- import type { Catalog } from "./catalog.ts";
10
- import type { ApprovalBinding, CorrelationMetadata } from "./correlation.ts";
11
- import type { StructuredRefusal } from "./refusals.ts";
12
- export interface DelegationRequest {
13
- task: string;
14
- /**
15
- * Capabilities the delegator wants the child to hold.
16
- *
17
- * Optional since ADR-0016: prefer `agent`, which names an operator-authored definition. This form
18
- * lets the MODEL choose the capability set, which is the weaker arrangement — it is still bounded by
19
- * the session grant (ADR-0008), so it cannot escalate, but nothing about it was reviewed by a human.
20
- */
21
- tools?: string[];
22
- /**
23
- * Name of a `SKILL.md` definition to spawn (ADR-0016).
24
- *
25
- * When given, the definition's `allowed-tools` is the ceiling and its body is the child's system
26
- * prompt. The model chooses only *which* definition and *what* task; the capability set is the
27
- * operator's, written down in a file.
28
- */
29
- agent?: string;
30
- model?: string;
31
- provider?: string;
32
- thinking?: string;
33
- /** Optional external join metadata. It never participates in capability authority. */
34
- correlation?: CorrelationMetadata;
35
- /**
36
- * Trusted binding scope, supplied by the caller that actually resolved and leased the
37
- * workspace. Deliberately separate from `correlation`, whose values are a model-supplied
38
- * claim: reading the workspace id out of correlation let a bound approval be spent outside
39
- * the workspace it named (R-110).
40
- */
41
- boundWorkspaceId?: string;
42
- boundContextId?: string;
43
- }
44
- export interface DelegationContext {
45
- ownGrant: Capability[];
46
- depth: number;
47
- maxDepth: number;
48
- gated: Capability[];
49
- /**
50
- * Approvals in force for this delegation, with subject and scope (ADR-0014).
51
- *
52
- * One source of truth for two different questions. The **gate check here** honours every entry,
53
- * including `once` — that approval applies to *this* spawn, which is exactly what the human said yes
54
- * to. What crosses to the CHILD is `inheritApprovals`, which drops `once` and keeps the subject, so
55
- * the same list cannot silently authorise a subtree.
56
- */
57
- approved?: InheritableApproval[];
58
- ledgerPath?: string;
59
- /** Path to this extension, so a child granted `tool:delegate` can delegate in turn. */
60
- extensionPath?: string;
61
- /** Live capability catalog. When supplied, capabilities absent from it are refused as unknown. */
62
- catalog?: Catalog;
63
- /**
64
- * Absolute path per skill NAME, from the catalog's `source` field (R-32).
65
- *
66
- * Without it every granted `skill:` capability is unresolvable and the delegation is refused, which
67
- * is the correct direction: a caller that cannot say where a skill lives cannot honestly grant it.
68
- */
69
- skillPaths?: Record<string, string>;
70
- /** Let the child load `AGENTS.md` / `CLAUDE.md`. Default false — see `planSpawn`. */
71
- contextFiles?: boolean;
72
- /** Known `SKILL.md` definitions by name, for `DelegationRequest.agent` (ADR-0016). */
73
- definitions?: Map<string, SkillDefinition>;
74
- /**
75
- * Build an INTERACTIVE plan — no `--print` — for an executor that drives the child after starting it.
76
- *
77
- * `runHerdrPane` requires this: `--print` makes pi process the prompt and exit, so it never reaches the
78
- * interactive readiness `herdr agent start` waits for and the agent is never detected. Default is the
79
- * non-interactive plan, because a governed child should not sit waiting for a human by accident.
80
- */
81
- interactive?: boolean;
82
- /** Explicit host-owned pi persistence target; never model-facing and never enabled by archive observation. */
83
- sessionFile?: string;
84
- /**
85
- * Total descendants this session may still create (`src/fanout.ts`). Split among children by the caller.
86
- *
87
- * Omitted means unbounded, which is the pre-fan-out behaviour and correct for a single blocking
88
- * delegation — the accident that used to bound cardinality to one.
89
- */
90
- fanoutBudget?: number;
91
- /** This session's ledger id, so a child's `parentId` names its real parent (F8). */
92
- spawnId?: string;
93
- /** Ledger id assigned to THIS child, distinguishing logical siblings (F8). */
94
- childSpawnId?: string;
95
- /** Unique identity assigned to THIS execution occurrence; never derive joins from childSpawnId. */
96
- childExecutionId?: string;
97
- }
98
- export interface Delegation {
99
- ok: boolean;
100
- reason?: string;
101
- /** Stable machine-readable refusal accompanying the unchanged human diagnostic. */
102
- refusal?: StructuredRefusal;
103
- args: string[];
104
- /** Per-child environment — never merged into the parent's process.env. */
105
- env: Record<string, string>;
106
- effective: Capability[];
107
- /**
108
- * The result this plan was made from. **Required** (B-I3): while it was optional the extension
109
- * guarded its ledger write with `if (ledgerPath && plan.result)`, silently dropping every refusal
110
- * that returned before `resolve()` ran. The type is what keeps a new early exit auditable.
111
- */
112
- result: ResolveResult;
113
- childDepth: number;
114
- /**
115
- * The capabilities this delegation asked for, whatever route named them.
116
- *
117
- * Carried on the plan rather than re-derived by the caller (the B-I3 lesson): with `agent`, the
118
- * request names a DEFINITION and the capabilities come from its `allowed-tools`, so a ledger that
119
- * read the tool parameters would record an empty request for every definition spawn.
120
- */
121
- requested: Capability[];
122
- /** Ledger id for this child's readable logical position, if the caller assigned one (F8). */
123
- childId?: string;
124
- /** Unique identity for this occurrence, if the caller assigned one. */
125
- executionId?: string;
126
- /**
127
- * Which operator-authored instructions this spawn used (ADR-0018).
128
- *
129
- * Absent for a `tools:`-style delegation, which has no definition and therefore no instructions to
130
- * identify — and absent on an ADR-0017 authorisation refusal, which is decided before the file is read.
131
- */
132
- definitionDigest?: DefinitionDigest;
133
- /** Trusted SHA-256 of the exact model-authored task. The task text itself is never stored. */
134
- taskDigest: string;
135
- /** Non-authoritative external join metadata, snapshotted at planning time. */
136
- correlation?: CorrelationMetadata;
137
- /** Exact approval scope, present when correlation/workspace context requested task-bound approval. */
138
- approvalBinding?: ApprovalBinding;
139
- }
140
- /**
141
- * Plan a governed delegation. Pure: returns argv and env, spawns nothing.
142
- *
143
- * Fails closed on depth, on any requested capability the delegator does not hold, on gated capabilities
144
- * without approval, and on a grant that cannot narrow (a universal capability slipping through).
145
- */
146
- //# sourceMappingURL=delegate-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delegate-types.d.ts","sourceRoot":"","sources":["../src/delegate-types.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export {};
2
- /**
3
- * Plan a governed delegation. Pure: returns argv and env, spawns nothing.
4
- *
5
- * Fails closed on depth, on any requested capability the delegator does not hold, on gated capabilities
6
- * without approval, and on a grant that cannot narrow (a universal capability slipping through).
7
- */
8
- //# sourceMappingURL=delegate-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delegate-types.js","sourceRoot":"","sources":["../src/delegate-types.ts"],"names":[],"mappings":";AAgJA;;;;;GAKG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../src/delegate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAelH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE5F,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE5F,wBAAgB,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,iBAAiB,GAAG,UAAU,CA8S7F"}
package/dist/delegate.js DELETED
@@ -1,305 +0,0 @@
1
- /**
2
- * Governed delegation planning. Owning the spawn makes the grant an argument; each child receives its own
3
- * environment, and `tool:delegate` determines whether it is a delegator or a leaf.
4
- */
5
- import { planSpawn } from "./spawn.js";
6
- import { ceilingForDefinition, digestDefinition } from "./definitions.js";
7
- import { assertNarrowing } from "./resolve.js";
8
- import { checkRoutingAuthority, checkWorkspaceWildcardRequest } from "./routing-authority.js";
9
- import { DELEGATE_CAPABILITY, agentCapability, maySpawnDefinition, normaliseCapability, } from "./capabilities.js";
10
- // Re-exported so the split stays internal: `delegate.ts` has been the import site for these since 0.6.0 and
11
- // four modules plus the test suite name it. Moving the definitions without moving the door would be churn
12
- // charged to every caller for a line count they did not cause.
13
- export { DELEGATE_CAPABILITY, agentCapability, maySpawnDefinition, normaliseCapability } from "./capabilities.js";
14
- import { ENV_APPROVED, ENV_DEPTH, ENV_EXECUTION_ID, ENV_FANOUT, ENV_GATED, ENV_GRANT, ENV_LEDGER, ENV_MAX_DEPTH, ENV_PARENT_ID, inheritableGrant, } from "./propagation.js";
15
- import { inheritApprovals } from "./approval.js";
16
- import { suggestForUnknown, unknownCapabilities } from "./catalog.js";
17
- import { GovernanceRefusal, refusal } from "./refusals.js";
18
- import { digestTask, normaliseCorrelation, } from "./correlation.js";
19
- import { resolveDelegationApproval } from "./delegation-approval.js";
20
- import { assertCapabilitiesArePropagatable } from "./capabilities.js";
21
- export function planDelegation(request, ctx) {
22
- const childDepth = ctx.depth + 1;
23
- const denied = (plan, code) => plan.reason ? { ...plan, refusal: refusal(code, plan.reason) } : plan;
24
- // G6 / B-I3: every refusal carries a result, including the four below that return before `resolve()`
25
- // is ever called. The extension guarded its ledger write with `if (ledgerPath && plan.result)`, so
26
- // those four governance decisions — disabled, too deep, no task, unknown capability — were never
27
- // audited at all. An empty result is the honest record: nothing was resolved, and that is the fact.
28
- // Bounded/whitelisted correlation is a REFUSAL, not an exception escaping the planner. It is reachable
29
- // from a model-facing tool parameter on all three delegation tools, and throwing from here produced a
30
- // governed refusal with no code and no ledger line at all — the ledger file was never even created
31
- // (R-112). Caught here so it becomes an ordinary recorded decision.
32
- let correlation;
33
- let correlationRefused;
34
- try {
35
- correlation = normaliseCorrelation(request.correlation);
36
- }
37
- catch (error) {
38
- correlationRefused = error instanceof GovernanceRefusal
39
- ? { code: error.code, message: error.message, ...(error.details ? { details: error.details } : {}) }
40
- : refusal("CORRELATION_INVALID", String(error instanceof Error ? error.message : error));
41
- }
42
- const taskDigest = digestTask(request.task ?? "");
43
- const empty = {
44
- ok: false,
45
- args: [],
46
- env: {},
47
- effective: [],
48
- childDepth,
49
- requested: [],
50
- taskDigest,
51
- ...(correlation ? { correlation } : {}),
52
- result: { effective: [], denied: [], clipped: [], gatedBlocked: [], universal: [], subsumedBy: [] },
53
- };
54
- if (correlationRefused) {
55
- return { ...empty, reason: correlationRefused.message, refusal: correlationRefused };
56
- }
57
- if (ctx.maxDepth <= 0) {
58
- return denied({ ...empty, reason: "delegation is disabled (maxDepth 0)" }, "DEPTH_EXCEEDED");
59
- }
60
- if (childDepth > ctx.maxDepth) {
61
- return denied({ ...empty, reason: `delegation depth limit reached (${ctx.maxDepth})` }, "DEPTH_EXCEEDED");
62
- }
63
- if (!request.task?.trim())
64
- return denied({ ...empty, reason: "a delegation needs a task" }, "TASK_MISSING");
65
- // ADR-0035's routing guards live in `routing-authority.ts` with their rationale; both are checked here,
66
- // before anything is said about the target, because they are governance questions about the SESSION.
67
- const routing = checkRoutingAuthority(request.boundWorkspaceId, ctx.ownGrant);
68
- if (routing) {
69
- return denied({
70
- ...empty,
71
- ...(routing.denied ? { requested: routing.denied, result: { ...empty.result, denied: routing.denied } } : {}),
72
- reason: routing.reason,
73
- }, routing.code);
74
- }
75
- // ADR-0016. A named definition replaces the model's tool list with an operator-authored ceiling.
76
- let requested;
77
- let systemPrompt;
78
- let definitionDigest;
79
- /** The definition being spawned, hoisted so the gate below can name its authorising id (ADR-0024). */
80
- let spawned;
81
- if (request.agent) {
82
- const definition = ctx.definitions?.get(request.agent);
83
- spawned = definition;
84
- // No fallback, deliberately. pi-subagents resolves an unknown type to `general-purpose`, whose
85
- // omitted tool list means EVERY tool — so a typo there granted the full surface. An unknown name
86
- // here is simply an error.
87
- if (!definition) {
88
- const known = [...(ctx.definitions?.keys() ?? [])].sort();
89
- return denied({
90
- ...empty,
91
- reason: `unknown agent "${request.agent}"` +
92
- (known.length > 0 ? ` — known definitions: ${known.join(", ")}` : " — no definitions were found"),
93
- }, "UNKNOWN_DEFINITION");
94
- }
95
- // ADR-0017: authorisation comes BEFORE anything is said about the file. Which definitions this
96
- // session may spawn is a governance question about the SESSION; whether the file declares its tools
97
- // properly is a diagnostic about the DEFINITION, and answering the second one first would report a
98
- // malformed-file error to a caller who was never allowed to spawn it either way.
99
- //
100
- // Recorded as a denial rather than a bare refusal, deliberately: `denied` is the escalation signal
101
- // ADR-0008 designates, and asking to run a definition this session was not granted IS an attempt to
102
- // exceed the grant. A refusal that left `denied` empty would keep it out of every audit query.
103
- if (!maySpawnDefinition(ctx.ownGrant, definition.name)) {
104
- const authorising = agentCapability(definition.name);
105
- const held = ctx.ownGrant.filter((c) => c.startsWith("agent:")).sort();
106
- return denied({
107
- ...empty,
108
- requested: [authorising],
109
- result: { ...empty.result, denied: [authorising] },
110
- reason: `cannot spawn "${definition.name}" — this session does not hold ${authorising} ` +
111
- `(the definition lives at ${definition.source}). ` +
112
- (held.length > 0
113
- ? `It may spawn: ${held.join(", ")}.`
114
- : `It may spawn no definitions at all; add ${authorising} to its grant to allow this one.`),
115
- }, "DEFINITION_NOT_AUTHORIZED");
116
- }
117
- // ADR-0018. Recorded from here on — after authorisation, because the digest is a fact about a file
118
- // this caller was allowed to read, and before every remaining outcome, because a spawn refused for a
119
- // malformed declaration is still a spawn of THIS version of the definition.
120
- //
121
- // Assigned into `empty`, which every subsequent refusal spreads. That is the R-28 discipline applied
122
- // to a record field rather than an argument: instead of eight `definitionDigest` spellings that a
123
- // ninth return could forget, there is one, and forgetting it is not expressible. The success return
124
- // does not spread `empty`, so it names the field explicitly.
125
- definitionDigest = digestDefinition(definition);
126
- Object.assign(empty, { definitionDigest });
127
- const ceiling = ceilingForDefinition(definition);
128
- if (ceiling.undeclared) {
129
- return denied({
130
- ...empty,
131
- reason: `agent "${definition.name}" declares no \`allowed-tools\`, so it cannot be spawned — add one ` +
132
- `to ${definition.source}. An undeclared capability set is treated as NONE, never as everything.`,
133
- }, "UNDECLARED_TOOLS");
134
- }
135
- if (ceiling.patterns.length > 0) {
136
- return denied({
137
- ...empty,
138
- reason: `agent "${definition.name}" restricts a tool with a pattern (${ceiling.patterns.join(", ")}), ` +
139
- `which pi's --tools cannot express — it matches whole tool names only. Granting the bare tool ` +
140
- `would widen the declaration and dropping it would silently narrow, so neither is done.`,
141
- }, "CEILING_PATTERNS_UNRESOLVED");
142
- }
143
- requested = ceiling.capabilities;
144
- systemPrompt = definition.body;
145
- }
146
- else {
147
- requested = (request.tools ?? []).map(normaliseCapability);
148
- }
149
- // Unknown is reported before denied, and separately: "does not exist here" and "you lack authority"
150
- // have different causes and different fixes. Collapsing them hides typos and stale grants.
151
- if (ctx.catalog) {
152
- const unknown = unknownCapabilities(requested, ctx.catalog);
153
- if (unknown.length > 0) {
154
- // Name the likely intent where there is one. `ceilingForDefinition` refuses to TRANSLATE names
155
- // (lowercasing and no more), so an author who wrote Claude Code's `Glob` gets `tool:glob` and a
156
- // refusal — correct, and previously unhelpful, because pi's equivalent is `find` and no amount of
157
- // staring at "not present in this session's catalog" says so. The hint changes nothing about the
158
- // refusal; it just stops the author having to guess which of nine built-ins was meant.
159
- const hints = unknown
160
- .map((c) => {
161
- const s = suggestForUnknown(c, ctx.catalog);
162
- return s === null ? null : `${c} → did you mean ${s}?`;
163
- })
164
- .filter((h) => h !== null);
165
- return denied({
166
- ...empty,
167
- requested,
168
- reason: `unknown capabilit${unknown.length === 1 ? "y" : "ies"}: ${unknown.join(", ")} — not present in ` +
169
- `this session's catalog (typo, or an uninstalled package?)` +
170
- (hints.length > 0 ? ` — ${hints.join("; ")}` : ""),
171
- }, "UNKNOWN_TOOL");
172
- }
173
- }
174
- // See `checkWorkspaceWildcardRequest`: refused for a HOLDER (the ledger must not record authority the
175
- // child will not receive), and left to `resolve()` for anyone else, so the probe lands in `denied`.
176
- const wildcardRequest = checkWorkspaceWildcardRequest(requested, ctx.ownGrant);
177
- if (wildcardRequest) {
178
- return denied({ ...empty, requested, reason: wildcardRequest.reason }, wildcardRequest.code);
179
- }
180
- const { result, approvalBinding, bindingMismatch } = resolveDelegationApproval({
181
- task: request.task,
182
- agent: request.agent,
183
- boundWorkspaceId: request.boundWorkspaceId,
184
- boundContextId: request.boundContextId,
185
- requested,
186
- parentGrant: ctx.ownGrant,
187
- gated: ctx.gated,
188
- approved: ctx.approved,
189
- spawned,
190
- definitionDigest,
191
- correlation,
192
- parentId: ctx.spawnId ?? `d${ctx.depth}`,
193
- });
194
- if (approvalBinding)
195
- Object.assign(empty, { approvalBinding });
196
- if (result.denied.length > 0) {
197
- return denied({
198
- ...empty,
199
- requested,
200
- result,
201
- reason: `cannot grant ${result.denied.join(", ")} — this session does not hold it (capability escalation blocked)`,
202
- }, "CAPABILITY_ESCALATION");
203
- }
204
- // ADR-0011: narrowing is checked BEFORE the gate, and the order is load-bearing rather than
205
- // stylistic. `assertNarrowing` refuses regardless of approval, so with the old order this returned
206
- // "requires explicit approval" for a delegation that could never be approved — telling the operator
207
- // to go and find a human who cannot help. `shouldSeekApproval` now also refuses to prompt in this
208
- // case; this reordering makes the reported *reason* agree with what actually blocks the spawn.
209
- try {
210
- assertNarrowing(result);
211
- }
212
- catch (error) {
213
- // ADR-0011's narrowing invariant is the hardest rule this package enforces, and it was the one
214
- // refusal an external controller could not identify by code (R-109).
215
- return denied({ ...empty, requested, result, reason: String(error instanceof Error ? error.message : error) }, "NARROWING_VIOLATED");
216
- }
217
- if (result.gatedBlocked.length > 0) {
218
- const code = bindingMismatch ? "APPROVAL_SCOPE_MISMATCH" : "GATED_UNAPPROVED";
219
- const suffix = bindingMismatch ? " (an approval exists, but its task/workspace/context scope does not match)" : "";
220
- return denied({ ...empty, requested, result, reason: `${result.gatedBlocked.join(", ")} requires explicit approval${suffix}` }, code);
221
- }
222
- const canSubDelegate = result.effective.includes(DELEGATE_CAPABILITY);
223
- const plan = planSpawn({
224
- effective: result.effective,
225
- prompt: request.task,
226
- model: request.model,
227
- provider: request.provider,
228
- thinking: request.thinking,
229
- skillPaths: ctx.skillPaths,
230
- contextFiles: ctx.contextFiles,
231
- systemPrompt,
232
- sessionFile: ctx.sessionFile,
233
- print: ctx.interactive ? false : undefined,
234
- });
235
- // R-32. A `skill:` capability the catalog cannot place is refused rather than dropped. Dropping it
236
- // would hand back a child whose grant claims a skill it does not have — the ledger would record a
237
- // capability that never reached the process, which is precisely the kind of lie an audit trail must
238
- // not contain. `unknownCapabilities` above catches names absent from the catalog entirely; this
239
- // catches one that is known but whose path we could not resolve, which is a different fault.
240
- if (plan.unresolvedSkills.length > 0) {
241
- return denied({
242
- ...empty,
243
- requested,
244
- result,
245
- reason: `cannot locate ${plan.unresolvedSkills.join(", ")} on disk — granted but unresolvable, so the ` +
246
- `child would silently lack it`,
247
- }, "DEFINITION_UNREADABLE");
248
- }
249
- // A child may only delegate further if it was granted the capability AND has the extension to do it.
250
- const args = [...plan.args];
251
- if (canSubDelegate && ctx.extensionPath) {
252
- // `-e` loads even under `--no-extensions`, which planSpawn sets — that is precisely why the
253
- // extension is added explicitly here and nowhere else.
254
- args.splice(args.length - 1, 0, "-e", ctx.extensionPath);
255
- }
256
- // `inheritableGrant`, not `result.effective` directly: this is the path a DELEGATED child's grant
257
- // actually travels, and the "held but never inherited" rule for `tool:*` and `workspace:*` was enforced
258
- // only in `childEnv`. A parent holding `workspace:*` could request it for its child and this line handed
259
- // it over, so the rule ADR-0035 advertises held by accident — masked downstream rather than enforced
260
- // here. One spelling of the rule, called from both paths.
261
- const inheritable = inheritableGrant(result.effective);
262
- const env = {
263
- [ENV_GRANT]: (assertCapabilitiesArePropagatable(inheritable), inheritable.join(",")),
264
- [ENV_DEPTH]: String(childDepth),
265
- [ENV_MAX_DEPTH]: String(ctx.maxDepth),
266
- };
267
- // The child's own share of the subtree budget, and its identity. Both attenuate downward like depth: a
268
- // child can never be handed more budget than its parent had left, so the total bound holds across
269
- // process boundaries with no shared state.
270
- if (ctx.fanoutBudget !== undefined)
271
- env[ENV_FANOUT] = String(ctx.fanoutBudget);
272
- if (ctx.childSpawnId)
273
- env[ENV_PARENT_ID] = ctx.childSpawnId;
274
- if (ctx.childExecutionId)
275
- env[ENV_EXECUTION_ID] = ctx.childExecutionId;
276
- if (ctx.gated.length > 0)
277
- env[ENV_GATED] = ctx.gated.join(",");
278
- // Approvals ride down with the grant, but only ever for what this child actually received — so
279
- // `approved ⊆ grant` holds at every level (ADR-0010). Written even when empty, so this object states
280
- // the child's approval set outright rather than leaving it to whatever the caller merges over; see
281
- // `mergeChildEnv`, which is what actually stops the parent's value leaking through.
282
- // Clamped to what the child actually INHERITS, not to what it was granted. The two differ only for a
283
- // non-inheritable wildcard, and passing down an approval for a capability the child does not hold would
284
- // leave banked authority with nothing to spend it on — `childEnv` clamps to `inheritable` for the same
285
- // reason on the other path.
286
- env[ENV_APPROVED] = inheritApprovals(ctx.approved ?? [], inheritable).join(",");
287
- if (ctx.ledgerPath)
288
- env[ENV_LEDGER] = ctx.ledgerPath;
289
- return {
290
- ok: true,
291
- args,
292
- env,
293
- effective: result.effective,
294
- result,
295
- childDepth,
296
- requested,
297
- childId: ctx.childSpawnId,
298
- executionId: ctx.childExecutionId,
299
- taskDigest,
300
- ...(correlation ? { correlation } : {}),
301
- ...(approvalBinding ? { approvalBinding } : {}),
302
- ...(definitionDigest ? { definitionDigest } : {}),
303
- };
304
- }
305
- //# sourceMappingURL=delegate.js.map