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.
- package/CHANGELOG.md +99 -124
- package/README.md +18 -896
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/contracts/ledger-record/v1/README.md +44 -0
- package/contracts/ledger-record/v1/fixtures/child-lifecycle.json +45 -0
- package/contracts/ledger-record/v1/fixtures/ledger-record.jsonl +3 -0
- package/contracts/ledger-record/v1/governance-event.schema.json +747 -0
- package/contracts/ledger-record/v1/record.schema.json +91 -0
- package/dist/cli.d.ts +6 -4
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +108 -103
- package/dist/cli.js.map +1 -1
- package/dist/executors/activity-session.d.ts +12 -0
- package/dist/executors/activity-session.d.ts.map +1 -0
- package/dist/executors/activity-session.js +43 -0
- package/dist/executors/activity-session.js.map +1 -0
- package/dist/executors/executor.d.ts +39 -0
- package/dist/executors/executor.d.ts.map +1 -0
- package/dist/executors/executor.js +95 -0
- package/dist/executors/executor.js.map +1 -0
- package/dist/executors/herdr-cli.d.ts +78 -0
- package/dist/executors/herdr-cli.d.ts.map +1 -0
- package/dist/executors/herdr-cli.js +114 -0
- package/dist/executors/herdr-cli.js.map +1 -0
- package/dist/executors/herdr-name.d.ts.map +1 -0
- package/dist/executors/herdr-name.js.map +1 -0
- package/dist/executors/herdr-pi-lifecycle.d.ts.map +1 -0
- package/dist/executors/herdr-pi-lifecycle.js +22 -0
- package/dist/executors/herdr-pi-lifecycle.js.map +1 -0
- package/dist/executors/herdr-poll.d.ts +140 -0
- package/dist/executors/herdr-poll.d.ts.map +1 -0
- package/dist/executors/herdr-poll.js +252 -0
- package/dist/executors/herdr-poll.js.map +1 -0
- package/dist/executors/herdr-stage.d.ts +40 -0
- package/dist/executors/herdr-stage.d.ts.map +1 -0
- package/dist/executors/herdr-stage.js +54 -0
- package/dist/executors/herdr-stage.js.map +1 -0
- package/dist/executors/herdr-start.d.ts.map +1 -0
- package/dist/executors/herdr-start.js.map +1 -0
- package/dist/executors/native-session-target.d.ts +9 -0
- package/dist/executors/native-session-target.d.ts.map +1 -0
- package/dist/executors/native-session-target.js +30 -0
- package/dist/executors/native-session-target.js.map +1 -0
- package/dist/executors/pane-reaper.d.ts +111 -0
- package/dist/executors/pane-reaper.d.ts.map +1 -0
- package/dist/executors/pane-reaper.js +242 -0
- package/dist/executors/pane-reaper.js.map +1 -0
- package/dist/executors/process-activity.d.ts +3 -0
- package/dist/executors/process-activity.d.ts.map +1 -0
- package/dist/executors/process-activity.js +59 -0
- package/dist/executors/process-activity.js.map +1 -0
- package/dist/executors/run-herdr.d.ts +122 -0
- package/dist/executors/run-herdr.d.ts.map +1 -0
- package/dist/executors/run-herdr.js +341 -0
- package/dist/executors/run-herdr.js.map +1 -0
- package/dist/executors/vendor/herdr-pi-lifecycle.d.ts.map +1 -0
- package/dist/executors/vendor/herdr-pi-lifecycle.js.map +1 -0
- package/dist/governance/approval-prompt.d.ts +119 -0
- package/dist/governance/approval-prompt.d.ts.map +1 -0
- package/dist/governance/approval-prompt.js +133 -0
- package/dist/governance/approval-prompt.js.map +1 -0
- package/dist/governance/approval-store.d.ts +149 -0
- package/dist/governance/approval-store.d.ts.map +1 -0
- package/dist/governance/approval-store.js +309 -0
- package/dist/governance/approval-store.js.map +1 -0
- package/dist/governance/execution-retention.d.ts +90 -0
- package/dist/governance/execution-retention.d.ts.map +1 -0
- package/dist/governance/execution-retention.js +317 -0
- package/dist/governance/execution-retention.js.map +1 -0
- package/dist/governance/file-lock.d.ts.map +1 -0
- package/dist/governance/file-lock.js +205 -0
- package/dist/governance/file-lock.js.map +1 -0
- package/dist/governance/finalization.d.ts.map +1 -0
- package/dist/governance/finalization.js.map +1 -0
- package/dist/governance/grant-store.d.ts +96 -0
- package/dist/governance/grant-store.d.ts.map +1 -0
- package/dist/governance/grant-store.js +186 -0
- package/dist/governance/grant-store.js.map +1 -0
- package/dist/governance/init.d.ts +129 -0
- package/dist/governance/init.d.ts.map +1 -0
- package/dist/governance/init.js +360 -0
- package/dist/governance/init.js.map +1 -0
- package/dist/governance/lease-helper.d.ts.map +1 -0
- package/dist/governance/lease-helper.js +121 -0
- package/dist/governance/lease-helper.js.map +1 -0
- package/dist/governance/lease-record.d.ts +90 -0
- package/dist/governance/lease-record.d.ts.map +1 -0
- package/dist/governance/lease-record.js.map +1 -0
- package/dist/governance/ledger-events.d.ts +111 -0
- package/dist/governance/ledger-events.d.ts.map +1 -0
- package/dist/governance/ledger-events.js +129 -0
- package/dist/governance/ledger-events.js.map +1 -0
- package/dist/governance/ledger-report.d.ts +134 -0
- package/dist/governance/ledger-report.d.ts.map +1 -0
- package/dist/governance/ledger-report.js +294 -0
- package/dist/governance/ledger-report.js.map +1 -0
- package/dist/governance/ledger-v3-validation.d.ts +21 -0
- package/dist/governance/ledger-v3-validation.d.ts.map +1 -0
- package/dist/governance/ledger-v3-validation.js +353 -0
- package/dist/governance/ledger-v3-validation.js.map +1 -0
- package/dist/governance/ledger.d.ts +258 -0
- package/dist/governance/ledger.d.ts.map +1 -0
- package/dist/governance/ledger.js +201 -0
- package/dist/governance/ledger.js.map +1 -0
- package/dist/governance/native-session.d.ts +59 -0
- package/dist/governance/native-session.d.ts.map +1 -0
- package/dist/governance/native-session.js +208 -0
- package/dist/governance/native-session.js.map +1 -0
- package/dist/governance/record.d.ts +65 -0
- package/dist/governance/record.d.ts.map +1 -0
- package/dist/governance/record.js +259 -0
- package/dist/governance/record.js.map +1 -0
- package/dist/governance/retention-contract.d.ts.map +1 -0
- package/dist/governance/retention-contract.js +187 -0
- package/dist/governance/retention-contract.js.map +1 -0
- package/dist/governance/retention-json.d.ts.map +1 -0
- package/dist/governance/retention-json.js.map +1 -0
- package/dist/governance/workspace-lease.d.ts +40 -0
- package/dist/governance/workspace-lease.d.ts.map +1 -0
- package/dist/governance/workspace-lease.js +357 -0
- package/dist/governance/workspace-lease.js.map +1 -0
- package/dist/index.d.ts +59 -42
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +61 -42
- package/dist/index.js.map +1 -1
- package/dist/kernel/approval.d.ts +241 -0
- package/dist/kernel/approval.d.ts.map +1 -0
- package/dist/kernel/approval.js +270 -0
- package/dist/kernel/approval.js.map +1 -0
- package/dist/kernel/capabilities.d.ts +136 -0
- package/dist/kernel/capabilities.d.ts.map +1 -0
- package/dist/kernel/capabilities.js +199 -0
- package/dist/kernel/capabilities.js.map +1 -0
- package/dist/kernel/catalog.d.ts +98 -0
- package/dist/kernel/catalog.d.ts.map +1 -0
- package/dist/kernel/catalog.js +280 -0
- package/dist/kernel/catalog.js.map +1 -0
- package/dist/kernel/chain.d.ts.map +1 -0
- package/dist/kernel/chain.js.map +1 -0
- package/dist/kernel/correlation.d.ts.map +1 -0
- package/dist/kernel/correlation.js +267 -0
- package/dist/kernel/correlation.js.map +1 -0
- package/dist/kernel/definitions.d.ts.map +1 -0
- package/dist/kernel/definitions.js +164 -0
- package/dist/kernel/definitions.js.map +1 -0
- package/dist/kernel/delegate-types.d.ts +160 -0
- package/dist/kernel/delegate-types.d.ts.map +1 -0
- package/dist/kernel/delegate-types.js +9 -0
- package/dist/kernel/delegate-types.js.map +1 -0
- package/dist/kernel/delegate.d.ts.map +1 -0
- package/dist/kernel/delegate.js +314 -0
- package/dist/kernel/delegate.js.map +1 -0
- package/dist/kernel/delegation-approval.d.ts.map +1 -0
- package/dist/kernel/delegation-approval.js +93 -0
- package/dist/kernel/delegation-approval.js.map +1 -0
- package/dist/kernel/env-names.d.ts +51 -0
- package/dist/kernel/env-names.d.ts.map +1 -0
- package/dist/kernel/env-names.js +112 -0
- package/dist/kernel/env-names.js.map +1 -0
- package/dist/kernel/execution-id.d.ts.map +1 -0
- package/dist/kernel/execution-id.js.map +1 -0
- package/dist/kernel/fanout.d.ts.map +1 -0
- package/dist/kernel/fanout.js +93 -0
- package/dist/kernel/fanout.js.map +1 -0
- package/dist/kernel/grant-env.d.ts +118 -0
- package/dist/kernel/grant-env.d.ts.map +1 -0
- package/dist/kernel/grant-env.js +104 -0
- package/dist/kernel/grant-env.js.map +1 -0
- package/dist/kernel/ledger-identifiers.d.ts.map +1 -0
- package/dist/kernel/ledger-identifiers.js.map +1 -0
- package/dist/kernel/model-preflight.d.ts +13 -0
- package/dist/kernel/model-preflight.d.ts.map +1 -0
- package/dist/kernel/model-preflight.js +30 -0
- package/dist/kernel/model-preflight.js.map +1 -0
- package/dist/kernel/pi-tools.d.ts.map +1 -0
- package/dist/kernel/pi-tools.js +29 -0
- package/dist/kernel/pi-tools.js.map +1 -0
- package/dist/kernel/progress.d.ts.map +1 -0
- package/dist/kernel/progress.js.map +1 -0
- package/dist/kernel/project-paths.d.ts +43 -0
- package/dist/kernel/project-paths.d.ts.map +1 -0
- package/dist/kernel/project-paths.js +81 -0
- package/dist/kernel/project-paths.js.map +1 -0
- package/dist/kernel/propagation.d.ts +195 -0
- package/dist/kernel/propagation.d.ts.map +1 -0
- package/dist/kernel/propagation.js +275 -0
- package/dist/kernel/propagation.js.map +1 -0
- package/dist/kernel/refusals.d.ts +16 -0
- package/dist/kernel/refusals.d.ts.map +1 -0
- package/dist/kernel/refusals.js +53 -0
- package/dist/kernel/refusals.js.map +1 -0
- package/dist/kernel/resolve.d.ts.map +1 -0
- package/dist/kernel/resolve.js +201 -0
- package/dist/kernel/resolve.js.map +1 -0
- package/dist/kernel/routing-authority.d.ts.map +1 -0
- package/dist/kernel/routing-authority.js.map +1 -0
- package/dist/kernel/run-child.d.ts +111 -0
- package/dist/kernel/run-child.d.ts.map +1 -0
- package/dist/kernel/run-child.js +324 -0
- package/dist/kernel/run-child.js.map +1 -0
- package/dist/kernel/skill-packages.d.ts +116 -0
- package/dist/kernel/skill-packages.d.ts.map +1 -0
- package/dist/kernel/skill-packages.js +300 -0
- package/dist/kernel/skill-packages.js.map +1 -0
- package/dist/kernel/skill-resources.d.ts.map +1 -0
- package/dist/kernel/skill-resources.js +56 -0
- package/dist/kernel/skill-resources.js.map +1 -0
- package/dist/kernel/spawn.d.ts.map +1 -0
- package/dist/kernel/spawn.js.map +1 -0
- package/dist/kernel/workspace.d.ts +51 -0
- package/dist/kernel/workspace.d.ts.map +1 -0
- package/dist/kernel/workspace.js +223 -0
- package/dist/kernel/workspace.js.map +1 -0
- package/dist/products/activity-timeline.d.ts +126 -0
- package/dist/products/activity-timeline.d.ts.map +1 -0
- package/dist/products/activity-timeline.js +542 -0
- package/dist/products/activity-timeline.js.map +1 -0
- package/dist/products/dashboard-cli.d.ts +26 -0
- package/dist/products/dashboard-cli.d.ts.map +1 -0
- package/dist/products/dashboard-cli.js +224 -0
- package/dist/products/dashboard-cli.js.map +1 -0
- package/dist/products/dashboard-display-controls.d.ts +17 -0
- package/dist/products/dashboard-display-controls.d.ts.map +1 -0
- package/dist/products/dashboard-display-controls.js +38 -0
- package/dist/products/dashboard-display-controls.js.map +1 -0
- package/dist/products/dashboard-handshake.d.ts +42 -0
- package/dist/products/dashboard-handshake.d.ts.map +1 -0
- package/dist/products/dashboard-handshake.js +158 -0
- package/dist/products/dashboard-handshake.js.map +1 -0
- package/dist/products/dashboard-herdr.d.ts +55 -0
- package/dist/products/dashboard-herdr.d.ts.map +1 -0
- package/dist/products/dashboard-herdr.js +324 -0
- package/dist/products/dashboard-herdr.js.map +1 -0
- package/dist/products/dashboard-projection.d.ts +62 -0
- package/dist/products/dashboard-projection.d.ts.map +1 -0
- package/dist/products/dashboard-projection.js +305 -0
- package/dist/products/dashboard-projection.js.map +1 -0
- package/dist/products/dashboard-render.d.ts.map +1 -0
- package/dist/products/dashboard-render.js +208 -0
- package/dist/products/dashboard-render.js.map +1 -0
- package/extensions/activity-timeline.ts +134 -28
- package/extensions/approval-banking.ts +3 -3
- package/extensions/approvals.ts +18 -12
- package/extensions/chain-approval-facts.ts +9 -6
- package/extensions/chain-ledger.ts +4 -4
- package/extensions/chain-plan.ts +6 -6
- package/extensions/correlation-shape.ts +42 -33
- package/extensions/delegate-chain.ts +93 -45
- package/extensions/delegation-authority.ts +7 -3
- package/extensions/delegation-ledger.ts +2 -2
- package/extensions/delegation-native.ts +24 -7
- package/extensions/delegation.ts +91 -80
- package/extensions/execute-child.ts +440 -293
- package/extensions/execution-occurrence.ts +2 -2
- package/extensions/executor-session.ts +5 -5
- package/extensions/fanout-outcome.ts +8 -6
- package/extensions/grant-store-refusal.ts +24 -12
- package/extensions/grants-command.ts +41 -33
- package/extensions/grants-connected-command.ts +29 -15
- package/extensions/grants.ts +73 -73
- package/extensions/init-command.ts +18 -12
- package/extensions/reload-environment.ts +12 -5
- package/extensions/run-delegation.ts +29 -19
- package/extensions/session-environment.ts +25 -11
- package/extensions/session-report.ts +60 -11
- package/extensions/session.ts +58 -34
- package/extensions/spawn-summary.ts +5 -5
- package/extensions/stored-grant-session.ts +5 -5
- package/extensions/tripwire.ts +1 -1
- package/extensions/workspace-runtime.ts +26 -24
- package/herdr-plugin/herdr-plugin.toml +1 -1
- package/package.json +4 -211
- package/src/cli.ts +136 -89
- package/src/executors/activity-session.ts +54 -0
- package/src/executors/executor.ts +123 -0
- package/src/executors/herdr-cli.ts +132 -0
- package/src/executors/herdr-pi-lifecycle.ts +21 -0
- package/src/executors/herdr-poll.ts +305 -0
- package/src/executors/herdr-stage.ts +55 -0
- package/src/executors/native-session-target.ts +31 -0
- package/src/executors/pane-reaper.ts +270 -0
- package/src/executors/process-activity.ts +54 -0
- package/src/executors/run-herdr.ts +426 -0
- package/src/governance/approval-prompt.ts +225 -0
- package/src/governance/approval-store.ts +385 -0
- package/src/governance/execution-retention.ts +372 -0
- package/src/governance/file-lock.ts +210 -0
- package/src/governance/finalization.ts +82 -0
- package/src/governance/grant-store.ts +235 -0
- package/src/governance/init.ts +447 -0
- package/src/governance/lease-helper.ts +124 -0
- package/src/governance/lease-record.ts +131 -0
- package/src/governance/ledger-events.ts +222 -0
- package/src/governance/ledger-report.ts +396 -0
- package/src/governance/ledger-v3-validation.ts +384 -0
- package/src/governance/ledger.ts +419 -0
- package/src/governance/native-session.ts +264 -0
- package/src/governance/record.ts +294 -0
- package/src/governance/retention-contract.ts +201 -0
- package/src/governance/retention-json.ts +24 -0
- package/src/governance/workspace-lease.ts +429 -0
- package/src/index.ts +82 -92
- package/src/kernel/approval.ts +406 -0
- package/src/kernel/capabilities.ts +216 -0
- package/src/kernel/catalog.ts +313 -0
- package/src/kernel/correlation.ts +351 -0
- package/src/kernel/definitions.ts +215 -0
- package/src/kernel/delegate-types.ts +162 -0
- package/src/kernel/delegate.ts +370 -0
- package/src/kernel/delegation-approval.ts +126 -0
- package/src/kernel/env-names.ts +119 -0
- package/src/kernel/fanout.ts +106 -0
- package/src/kernel/grant-env.ts +174 -0
- package/src/kernel/model-preflight.ts +44 -0
- package/src/kernel/pi-tools.ts +32 -0
- package/src/kernel/project-paths.ts +97 -0
- package/src/kernel/propagation.ts +341 -0
- package/src/kernel/refusals.ts +64 -0
- package/src/kernel/resolve.ts +258 -0
- package/src/kernel/run-child.ts +418 -0
- package/src/kernel/skill-packages.ts +329 -0
- package/src/kernel/skill-resources.ts +64 -0
- package/src/kernel/workspace.ts +336 -0
- package/src/products/activity-timeline.ts +679 -0
- package/src/products/dashboard-cli.ts +250 -0
- package/src/products/dashboard-display-controls.ts +44 -0
- package/src/products/dashboard-handshake.ts +222 -0
- package/src/products/dashboard-herdr.ts +427 -0
- package/src/products/dashboard-projection.ts +389 -0
- package/src/products/dashboard-render.ts +260 -0
- package/PRODUCT-GUIDE.md +0 -155
- package/REQUIREMENTS.md +0 -41
- package/contracts/daily-view/v1/README.md +0 -114
- package/contracts/daily-view/v1/fixtures/view.json +0 -525
- package/contracts/daily-view/v1/fixtures/view.txt +0 -75
- package/contracts/daily-view/v1/fixtures/work.jsonl +0 -17
- package/contracts/daily-view/v1/p03/README.md +0 -26
- package/contracts/daily-view/v1/p03/fixtures/retained-executions.json +0 -241
- package/contracts/daily-view/v1/p03/projection.schema.json +0 -194
- package/contracts/daily-view/v1/p03/provenance.json +0 -21
- package/contracts/dashboard-host/v1/README.md +0 -176
- package/contracts/debrief/v1/README.md +0 -146
- package/contracts/debrief/v1/intervention/README.md +0 -32
- package/contracts/debrief/v1/intervention/fixtures/artifact-3ee11136beb864f518252e5024dae9197421fbf97b6e981d3243c782b5c44bd0.txt +0 -1
- package/contracts/debrief/v1/intervention/fixtures/artifact-58905d872dd3c54a9705f67b05fa82edbad7af6476ae8993faf1a7b9fadfb905.txt +0 -1
- package/contracts/debrief/v1/intervention/fixtures/assessment.json +0 -29
- package/contracts/debrief/v1/intervention/fixtures/blind-view.json +0 -20
- package/contracts/debrief/v1/intervention/fixtures/choice.json +0 -7
- package/contracts/debrief/v1/intervention/fixtures/manifest.json +0 -57
- package/contracts/debrief/v1/intervention/fixtures/reveal.json +0 -39
- package/contracts/debrief/v1/provenance.json +0 -89
- package/contracts/debrief/v1/work-capture/README.md +0 -38
- package/contracts/debrief/v1/work-capture/fixtures/batch.json +0 -17
- package/contracts/debrief/v1/work-capture/fixtures/cases.json +0 -184
- package/contracts/debrief/v1/work-capture/fixtures/review.json +0 -184
- package/contracts/debrief/v1/work-capture/review-request.schema.json +0 -41
- package/contracts/debrief/v1/work-capture/work-case.schema.json +0 -190
- package/contracts/debrief/v2/README.md +0 -71
- package/contracts/debrief/v2/input-pin.json +0 -66
- package/contracts/debrief/v2/intervention-upstream.md +0 -40
- package/contracts/debrief/v2/work-signals-upstream.md +0 -22
- package/contracts/dispatch-control/v1/README.md +0 -109
- package/contracts/dispatch-control/v1/request.schema.json +0 -19
- package/contracts/effect-profile/v1/README.md +0 -124
- package/contracts/execution-retention/v1/README.md +0 -109
- package/contracts/execution-retention/v2/README.md +0 -148
- package/contracts/execution-retention/v2/fixtures/interrupted-native-bytes.json +0 -91
- package/contracts/execution-retention/v2/fixtures/missing-native-session.json +0 -91
- package/contracts/execution-retention/v2/fixtures/native-file-unknown-branch.json +0 -91
- package/contracts/execution-retention/v2/fixtures/native-id-without-bytes.json +0 -91
- package/contracts/execution-retention/v2/fixtures/native-live-branch.json +0 -90
- package/contracts/execution-retention/v2/fixtures/replaced-native-session.json +0 -92
- package/contracts/execution-retention/v2/fixtures/result-82c620cdfeb8ca6b858cf653d7f5e2eedca5315d6244216d60e8b36f03223d6a.bin +0 -1
- package/contracts/execution-retention/v2/fixtures/session-2ec1f134bc739984434f7fca689e1c3d1c39fce2dcadae709e9b6faedfcc4ac7.bin +0 -3
- package/contracts/execution-retention/v2/fixtures/session-9bdb4bd16a901da31580acf056bda525225259e15ec409e0410480109011772f.bin +0 -3
- package/contracts/execution-retention/v2/manifest.schema.json +0 -858
- package/contracts/experiment/v1/README.md +0 -164
- package/contracts/factory-order/v1/README.md +0 -151
- package/contracts/factory-order/v1/adoption-pin.json +0 -8
- package/contracts/intent-control/v1/README.md +0 -135
- package/contracts/intent-control/v1/request.schema.json +0 -1096
- package/contracts/intent-control/v2/README.md +0 -34
- package/contracts/intent-control/v2/request.schema.json +0 -1070
- package/contracts/ledger/v2/README.md +0 -59
- package/contracts/ledger/v2/fixtures/capability-decision.json +0 -95
- package/contracts/ledger/v2/fixtures/check-receipt.json +0 -40
- package/contracts/ledger/v2/fixtures/child-lifecycle.json +0 -42
- package/contracts/ledger/v2/fixtures/workspace-lease.json +0 -41
- package/contracts/ledger/v2/ledger-event.schema.json +0 -633
- package/contracts/ledger/v3/README.md +0 -36
- package/contracts/ledger/v3/fixtures/check-receipt.json +0 -41
- package/contracts/ledger/v3/fixtures/child-lifecycle.json +0 -44
- package/contracts/ledger/v3/fixtures/workflow-fact.json +0 -40
- package/contracts/ledger/v3/ledger-event.schema.json +0 -955
- package/contracts/ledger/v4/README.md +0 -241
- package/contracts/ledger/v4/fixtures/layout-options.json +0 -428
- package/contracts/ledger/v4/fixtures/work-acceptance.json +0 -57
- package/contracts/ledger/v4/fixtures/work-occurrence.json +0 -44
- package/contracts/ledger/v4/fixtures/work-revision.json +0 -26
- package/contracts/ledger/v4/fixtures/work-snapshot.json +0 -73
- package/contracts/ledger/v4/ledger-event.schema.json +0 -162
- package/contracts/ordinary-control/v1/README.md +0 -59
- package/contracts/producer-ipc/v1/README.md +0 -137
- package/dist/activity-timeline.d.ts +0 -109
- package/dist/activity-timeline.d.ts.map +0 -1
- package/dist/activity-timeline.js +0 -208
- package/dist/activity-timeline.js.map +0 -1
- package/dist/approval-prompt.d.ts +0 -119
- package/dist/approval-prompt.d.ts.map +0 -1
- package/dist/approval-prompt.js +0 -133
- package/dist/approval-prompt.js.map +0 -1
- package/dist/approval-store.d.ts +0 -149
- package/dist/approval-store.d.ts.map +0 -1
- package/dist/approval-store.js +0 -314
- package/dist/approval-store.js.map +0 -1
- package/dist/approval.d.ts +0 -241
- package/dist/approval.d.ts.map +0 -1
- package/dist/approval.js +0 -268
- package/dist/approval.js.map +0 -1
- package/dist/capabilities.d.ts +0 -136
- package/dist/capabilities.d.ts.map +0 -1
- package/dist/capabilities.js +0 -203
- package/dist/capabilities.js.map +0 -1
- package/dist/catalog.d.ts +0 -98
- package/dist/catalog.d.ts.map +0 -1
- package/dist/catalog.js +0 -273
- package/dist/catalog.js.map +0 -1
- package/dist/chain.d.ts.map +0 -1
- package/dist/chain.js.map +0 -1
- package/dist/check-runner.d.ts +0 -66
- package/dist/check-runner.d.ts.map +0 -1
- package/dist/check-runner.js +0 -275
- package/dist/check-runner.js.map +0 -1
- package/dist/control-journal.d.ts +0 -20
- package/dist/control-journal.d.ts.map +0 -1
- package/dist/control-journal.js +0 -73
- package/dist/control-journal.js.map +0 -1
- package/dist/correlation.d.ts.map +0 -1
- package/dist/correlation.js +0 -231
- package/dist/correlation.js.map +0 -1
- package/dist/daily-dashboard-host.d.ts +0 -136
- package/dist/daily-dashboard-host.d.ts.map +0 -1
- package/dist/daily-dashboard-host.js +0 -164
- package/dist/daily-dashboard-host.js.map +0 -1
- package/dist/daily-panel.d.ts +0 -36
- package/dist/daily-panel.d.ts.map +0 -1
- package/dist/daily-panel.js +0 -84
- package/dist/daily-panel.js.map +0 -1
- package/dist/daily-view-input.d.ts +0 -44
- package/dist/daily-view-input.d.ts.map +0 -1
- package/dist/daily-view-input.js +0 -68
- package/dist/daily-view-input.js.map +0 -1
- package/dist/daily-view-render.d.ts +0 -5
- package/dist/daily-view-render.d.ts.map +0 -1
- package/dist/daily-view-render.js +0 -42
- package/dist/daily-view-render.js.map +0 -1
- package/dist/daily-view.d.ts +0 -77
- package/dist/daily-view.d.ts.map +0 -1
- package/dist/daily-view.js +0 -176
- package/dist/daily-view.js.map +0 -1
- package/dist/dashboard-cli.d.ts +0 -54
- package/dist/dashboard-cli.d.ts.map +0 -1
- package/dist/dashboard-cli.js +0 -367
- package/dist/dashboard-cli.js.map +0 -1
- package/dist/dashboard-display-controls.d.ts +0 -15
- package/dist/dashboard-display-controls.d.ts.map +0 -1
- package/dist/dashboard-display-controls.js +0 -34
- package/dist/dashboard-display-controls.js.map +0 -1
- package/dist/dashboard-handshake.d.ts +0 -42
- package/dist/dashboard-handshake.d.ts.map +0 -1
- package/dist/dashboard-handshake.js +0 -147
- package/dist/dashboard-handshake.js.map +0 -1
- package/dist/dashboard-harness.d.ts +0 -22
- package/dist/dashboard-harness.d.ts.map +0 -1
- package/dist/dashboard-harness.js +0 -89
- package/dist/dashboard-harness.js.map +0 -1
- package/dist/dashboard-herdr.d.ts +0 -55
- package/dist/dashboard-herdr.d.ts.map +0 -1
- package/dist/dashboard-herdr.js +0 -293
- package/dist/dashboard-herdr.js.map +0 -1
- package/dist/dashboard-host-contract.d.ts +0 -127
- package/dist/dashboard-host-contract.d.ts.map +0 -1
- package/dist/dashboard-host-contract.js +0 -14
- package/dist/dashboard-host-contract.js.map +0 -1
- package/dist/dashboard-host-transport.d.ts +0 -16
- package/dist/dashboard-host-transport.d.ts.map +0 -1
- package/dist/dashboard-host-transport.js +0 -127
- package/dist/dashboard-host-transport.js.map +0 -1
- package/dist/dashboard-host.d.ts +0 -239
- package/dist/dashboard-host.d.ts.map +0 -1
- package/dist/dashboard-host.js +0 -474
- package/dist/dashboard-host.js.map +0 -1
- package/dist/dashboard-menu.d.ts +0 -16
- package/dist/dashboard-menu.d.ts.map +0 -1
- package/dist/dashboard-menu.js +0 -33
- package/dist/dashboard-menu.js.map +0 -1
- package/dist/dashboard-observation.d.ts +0 -28
- package/dist/dashboard-observation.d.ts.map +0 -1
- package/dist/dashboard-observation.js +0 -87
- package/dist/dashboard-observation.js.map +0 -1
- package/dist/dashboard-projection.d.ts +0 -73
- package/dist/dashboard-projection.d.ts.map +0 -1
- package/dist/dashboard-projection.js +0 -294
- package/dist/dashboard-projection.js.map +0 -1
- package/dist/dashboard-render.d.ts.map +0 -1
- package/dist/dashboard-render.js +0 -212
- package/dist/dashboard-render.js.map +0 -1
- package/dist/debrief-contract.d.ts +0 -65
- package/dist/debrief-contract.d.ts.map +0 -1
- package/dist/debrief-contract.js +0 -151
- package/dist/debrief-contract.js.map +0 -1
- package/dist/debrief-fixture.d.ts +0 -16
- package/dist/debrief-fixture.d.ts.map +0 -1
- package/dist/debrief-fixture.js +0 -41
- package/dist/debrief-fixture.js.map +0 -1
- package/dist/debrief-host.d.ts +0 -59
- package/dist/debrief-host.d.ts.map +0 -1
- package/dist/debrief-host.js +0 -49
- package/dist/debrief-host.js.map +0 -1
- package/dist/debrief-render.d.ts +0 -5
- package/dist/debrief-render.d.ts.map +0 -1
- package/dist/debrief-render.js +0 -65
- package/dist/debrief-render.js.map +0 -1
- package/dist/debrief.d.ts +0 -90
- package/dist/debrief.d.ts.map +0 -1
- package/dist/debrief.js +0 -263
- package/dist/debrief.js.map +0 -1
- package/dist/definitions.d.ts.map +0 -1
- package/dist/definitions.js +0 -164
- package/dist/definitions.js.map +0 -1
- package/dist/delegate-types.d.ts +0 -154
- package/dist/delegate-types.d.ts.map +0 -1
- package/dist/delegate-types.js +0 -8
- package/dist/delegate-types.js.map +0 -1
- package/dist/delegate.d.ts.map +0 -1
- package/dist/delegate.js +0 -313
- package/dist/delegate.js.map +0 -1
- package/dist/delegation-approval.d.ts.map +0 -1
- package/dist/delegation-approval.js +0 -94
- package/dist/delegation-approval.js.map +0 -1
- package/dist/dispatch-control.d.ts +0 -45
- package/dist/dispatch-control.d.ts.map +0 -1
- package/dist/dispatch-control.js +0 -76
- package/dist/dispatch-control.js.map +0 -1
- package/dist/effect-profile-runtime.d.ts +0 -40
- package/dist/effect-profile-runtime.d.ts.map +0 -1
- package/dist/effect-profile-runtime.js +0 -51
- package/dist/effect-profile-runtime.js.map +0 -1
- package/dist/effect-profile.d.ts +0 -40
- package/dist/effect-profile.d.ts.map +0 -1
- package/dist/effect-profile.js +0 -152
- package/dist/effect-profile.js.map +0 -1
- package/dist/execution-id.d.ts.map +0 -1
- package/dist/execution-id.js.map +0 -1
- package/dist/execution-retention.d.ts +0 -90
- package/dist/execution-retention.d.ts.map +0 -1
- package/dist/execution-retention.js +0 -247
- package/dist/execution-retention.js.map +0 -1
- package/dist/executor.d.ts +0 -39
- package/dist/executor.d.ts.map +0 -1
- package/dist/executor.js +0 -94
- package/dist/executor.js.map +0 -1
- package/dist/experiment-contract.d.ts +0 -56
- package/dist/experiment-contract.d.ts.map +0 -1
- package/dist/experiment-contract.js +0 -80
- package/dist/experiment-contract.js.map +0 -1
- package/dist/experiment-state.d.ts +0 -22
- package/dist/experiment-state.d.ts.map +0 -1
- package/dist/experiment-state.js +0 -79
- package/dist/experiment-state.js.map +0 -1
- package/dist/experiment-store.d.ts +0 -30
- package/dist/experiment-store.d.ts.map +0 -1
- package/dist/experiment-store.js +0 -147
- package/dist/experiment-store.js.map +0 -1
- package/dist/experiment.d.ts +0 -65
- package/dist/experiment.d.ts.map +0 -1
- package/dist/experiment.js +0 -362
- package/dist/experiment.js.map +0 -1
- package/dist/factory-contract.d.ts +0 -79
- package/dist/factory-contract.d.ts.map +0 -1
- package/dist/factory-contract.js +0 -89
- package/dist/factory-contract.js.map +0 -1
- package/dist/factory-migration.d.ts +0 -20
- package/dist/factory-migration.d.ts.map +0 -1
- package/dist/factory-migration.js +0 -55
- package/dist/factory-migration.js.map +0 -1
- package/dist/factory-order.d.ts +0 -848
- package/dist/factory-order.d.ts.map +0 -1
- package/dist/factory-order.js +0 -83
- package/dist/factory-order.js.map +0 -1
- package/dist/factory-registry.d.ts +0 -121
- package/dist/factory-registry.d.ts.map +0 -1
- package/dist/factory-registry.js +0 -133
- package/dist/factory-registry.js.map +0 -1
- package/dist/fanout.d.ts.map +0 -1
- package/dist/fanout.js +0 -93
- package/dist/fanout.js.map +0 -1
- package/dist/file-lock.d.ts.map +0 -1
- package/dist/file-lock.js +0 -201
- package/dist/file-lock.js.map +0 -1
- package/dist/finalization.d.ts.map +0 -1
- package/dist/finalization.js.map +0 -1
- package/dist/git-identity.d.ts +0 -13
- package/dist/git-identity.d.ts.map +0 -1
- package/dist/git-identity.js +0 -47
- package/dist/git-identity.js.map +0 -1
- package/dist/grant-env.d.ts +0 -75
- package/dist/grant-env.d.ts.map +0 -1
- package/dist/grant-env.js +0 -154
- package/dist/grant-env.js.map +0 -1
- package/dist/grant-store.d.ts +0 -96
- package/dist/grant-store.d.ts.map +0 -1
- package/dist/grant-store.js +0 -188
- package/dist/grant-store.js.map +0 -1
- package/dist/herdr-cli.d.ts +0 -78
- package/dist/herdr-cli.d.ts.map +0 -1
- package/dist/herdr-cli.js +0 -113
- package/dist/herdr-cli.js.map +0 -1
- package/dist/herdr-name.d.ts.map +0 -1
- package/dist/herdr-name.js.map +0 -1
- package/dist/herdr-pi-lifecycle.d.ts.map +0 -1
- package/dist/herdr-pi-lifecycle.js +0 -22
- package/dist/herdr-pi-lifecycle.js.map +0 -1
- package/dist/herdr-poll.d.ts +0 -133
- package/dist/herdr-poll.d.ts.map +0 -1
- package/dist/herdr-poll.js +0 -222
- package/dist/herdr-poll.js.map +0 -1
- package/dist/herdr-stage.d.ts +0 -40
- package/dist/herdr-stage.d.ts.map +0 -1
- package/dist/herdr-stage.js +0 -54
- package/dist/herdr-stage.js.map +0 -1
- package/dist/herdr-start.d.ts.map +0 -1
- package/dist/herdr-start.js.map +0 -1
- package/dist/init.d.ts +0 -117
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -323
- package/dist/init.js.map +0 -1
- package/dist/intent-application.d.ts +0 -17
- package/dist/intent-application.d.ts.map +0 -1
- package/dist/intent-application.js +0 -114
- package/dist/intent-application.js.map +0 -1
- package/dist/intent-control.d.ts +0 -201
- package/dist/intent-control.d.ts.map +0 -1
- package/dist/intent-control.js +0 -110
- package/dist/intent-control.js.map +0 -1
- package/dist/intent-scheduling.d.ts +0 -9
- package/dist/intent-scheduling.d.ts.map +0 -1
- package/dist/intent-scheduling.js +0 -15
- package/dist/intent-scheduling.js.map +0 -1
- package/dist/learning-connection.d.ts +0 -127
- package/dist/learning-connection.d.ts.map +0 -1
- package/dist/learning-connection.js +0 -54
- package/dist/learning-connection.js.map +0 -1
- package/dist/lease-helper.d.ts.map +0 -1
- package/dist/lease-helper.js +0 -94
- package/dist/lease-helper.js.map +0 -1
- package/dist/lease-record.d.ts +0 -90
- package/dist/lease-record.d.ts.map +0 -1
- package/dist/lease-record.js.map +0 -1
- package/dist/ledger-append.d.ts +0 -15
- package/dist/ledger-append.d.ts.map +0 -1
- package/dist/ledger-append.js +0 -94
- package/dist/ledger-append.js.map +0 -1
- package/dist/ledger-events.d.ts +0 -131
- package/dist/ledger-events.d.ts.map +0 -1
- package/dist/ledger-events.js +0 -107
- package/dist/ledger-events.js.map +0 -1
- package/dist/ledger-identifiers.d.ts.map +0 -1
- package/dist/ledger-identifiers.js.map +0 -1
- package/dist/ledger-report.d.ts +0 -134
- package/dist/ledger-report.d.ts.map +0 -1
- package/dist/ledger-report.js +0 -271
- package/dist/ledger-report.js.map +0 -1
- package/dist/ledger-v3-validation.d.ts +0 -11
- package/dist/ledger-v3-validation.d.ts.map +0 -1
- package/dist/ledger-v3-validation.js +0 -265
- package/dist/ledger-v3-validation.js.map +0 -1
- package/dist/ledger.d.ts +0 -242
- package/dist/ledger.d.ts.map +0 -1
- package/dist/ledger.js +0 -142
- package/dist/ledger.js.map +0 -1
- package/dist/measured-order.d.ts +0 -249
- package/dist/measured-order.d.ts.map +0 -1
- package/dist/measured-order.js +0 -309
- package/dist/measured-order.js.map +0 -1
- package/dist/measured-session.d.ts +0 -97
- package/dist/measured-session.d.ts.map +0 -1
- package/dist/measured-session.js +0 -134
- package/dist/measured-session.js.map +0 -1
- package/dist/model-preflight.d.ts +0 -13
- package/dist/model-preflight.d.ts.map +0 -1
- package/dist/model-preflight.js +0 -29
- package/dist/model-preflight.js.map +0 -1
- package/dist/native-session-target.d.ts +0 -9
- package/dist/native-session-target.d.ts.map +0 -1
- package/dist/native-session-target.js +0 -29
- package/dist/native-session-target.js.map +0 -1
- package/dist/native-session.d.ts +0 -59
- package/dist/native-session.d.ts.map +0 -1
- package/dist/native-session.js +0 -154
- package/dist/native-session.js.map +0 -1
- package/dist/order-schedule.d.ts +0 -37
- package/dist/order-schedule.d.ts.map +0 -1
- package/dist/order-schedule.js +0 -81
- package/dist/order-schedule.js.map +0 -1
- package/dist/ordinary-children.d.ts +0 -52
- package/dist/ordinary-children.d.ts.map +0 -1
- package/dist/ordinary-children.js +0 -93
- package/dist/ordinary-children.js.map +0 -1
- package/dist/pane-reaper.d.ts +0 -111
- package/dist/pane-reaper.d.ts.map +0 -1
- package/dist/pane-reaper.js +0 -242
- package/dist/pane-reaper.js.map +0 -1
- package/dist/pi-tools.d.ts.map +0 -1
- package/dist/pi-tools.js +0 -21
- package/dist/pi-tools.js.map +0 -1
- package/dist/producer-ipc-contract.d.ts +0 -29
- package/dist/producer-ipc-contract.d.ts.map +0 -1
- package/dist/producer-ipc-contract.js +0 -29
- package/dist/producer-ipc-contract.js.map +0 -1
- package/dist/producer-ipc.d.ts +0 -55
- package/dist/producer-ipc.d.ts.map +0 -1
- package/dist/producer-ipc.js +0 -143
- package/dist/producer-ipc.js.map +0 -1
- package/dist/product-files.d.ts +0 -6
- package/dist/product-files.d.ts.map +0 -1
- package/dist/product-files.js +0 -55
- package/dist/product-files.js.map +0 -1
- package/dist/progress.d.ts.map +0 -1
- package/dist/progress.js.map +0 -1
- package/dist/propagation.d.ts +0 -203
- package/dist/propagation.d.ts.map +0 -1
- package/dist/propagation.js +0 -279
- package/dist/propagation.js.map +0 -1
- package/dist/refusals.d.ts +0 -16
- package/dist/refusals.d.ts.map +0 -1
- package/dist/refusals.js +0 -55
- package/dist/refusals.js.map +0 -1
- package/dist/resolve.d.ts.map +0 -1
- package/dist/resolve.js +0 -211
- package/dist/resolve.js.map +0 -1
- package/dist/resource-budget.d.ts +0 -334
- package/dist/resource-budget.d.ts.map +0 -1
- package/dist/resource-budget.js +0 -415
- package/dist/resource-budget.js.map +0 -1
- package/dist/retention-contract.d.ts.map +0 -1
- package/dist/retention-contract.js +0 -104
- package/dist/retention-contract.js.map +0 -1
- package/dist/retention-json.d.ts.map +0 -1
- package/dist/retention-json.js.map +0 -1
- package/dist/routing-authority.d.ts.map +0 -1
- package/dist/routing-authority.js.map +0 -1
- package/dist/run-child.d.ts +0 -87
- package/dist/run-child.d.ts.map +0 -1
- package/dist/run-child.js +0 -248
- package/dist/run-child.js.map +0 -1
- package/dist/run-herdr.d.ts +0 -119
- package/dist/run-herdr.d.ts.map +0 -1
- package/dist/run-herdr.js +0 -335
- package/dist/run-herdr.js.map +0 -1
- package/dist/skill-packages.d.ts +0 -116
- package/dist/skill-packages.d.ts.map +0 -1
- package/dist/skill-packages.js +0 -295
- package/dist/skill-packages.js.map +0 -1
- package/dist/skill-resources.d.ts.map +0 -1
- package/dist/skill-resources.js +0 -52
- package/dist/skill-resources.js.map +0 -1
- package/dist/spawn.d.ts.map +0 -1
- package/dist/spawn.js.map +0 -1
- package/dist/vendor/adoption.d.ts +0 -129
- package/dist/vendor/adoption.d.ts.map +0 -1
- package/dist/vendor/adoption.js +0 -102
- package/dist/vendor/adoption.js.map +0 -1
- package/dist/vendor/herdr-pi-lifecycle.d.ts.map +0 -1
- package/dist/vendor/herdr-pi-lifecycle.js.map +0 -1
- package/dist/work-command.d.ts +0 -32
- package/dist/work-command.d.ts.map +0 -1
- package/dist/work-command.js +0 -179
- package/dist/work-command.js.map +0 -1
- package/dist/work-ledger-destination.d.ts +0 -20
- package/dist/work-ledger-destination.d.ts.map +0 -1
- package/dist/work-ledger-destination.js +0 -131
- package/dist/work-ledger-destination.js.map +0 -1
- package/dist/work-ledger-json.d.ts +0 -25
- package/dist/work-ledger-json.d.ts.map +0 -1
- package/dist/work-ledger-json.js +0 -267
- package/dist/work-ledger-json.js.map +0 -1
- package/dist/work-ledger-occurrences.d.ts +0 -227
- package/dist/work-ledger-occurrences.d.ts.map +0 -1
- package/dist/work-ledger-occurrences.js +0 -115
- package/dist/work-ledger-occurrences.js.map +0 -1
- package/dist/work-ledger-projection.d.ts +0 -295
- package/dist/work-ledger-projection.d.ts.map +0 -1
- package/dist/work-ledger-projection.js +0 -237
- package/dist/work-ledger-projection.js.map +0 -1
- package/dist/work-ledger-snapshot.d.ts +0 -29
- package/dist/work-ledger-snapshot.d.ts.map +0 -1
- package/dist/work-ledger-snapshot.js +0 -267
- package/dist/work-ledger-snapshot.js.map +0 -1
- package/dist/work-ledger-types.d.ts +0 -261
- package/dist/work-ledger-types.d.ts.map +0 -1
- package/dist/work-ledger-types.js +0 -13
- package/dist/work-ledger-types.js.map +0 -1
- package/dist/work-ledger-validation.d.ts +0 -14
- package/dist/work-ledger-validation.d.ts.map +0 -1
- package/dist/work-ledger-validation.js +0 -226
- package/dist/work-ledger-validation.js.map +0 -1
- package/dist/work-ledger.d.ts +0 -43
- package/dist/work-ledger.d.ts.map +0 -1
- package/dist/work-ledger.js +0 -225
- package/dist/work-ledger.js.map +0 -1
- package/dist/work-policy-registry.d.ts +0 -133
- package/dist/work-policy-registry.d.ts.map +0 -1
- package/dist/work-policy-registry.js +0 -128
- package/dist/work-policy-registry.js.map +0 -1
- package/dist/work-run.d.ts +0 -56
- package/dist/work-run.d.ts.map +0 -1
- package/dist/work-run.js +0 -102
- package/dist/work-run.js.map +0 -1
- package/dist/work-setup.d.ts +0 -40
- package/dist/work-setup.d.ts.map +0 -1
- package/dist/work-setup.js +0 -174
- package/dist/work-setup.js.map +0 -1
- package/dist/workflow-fact-id.d.ts +0 -4
- package/dist/workflow-fact-id.d.ts.map +0 -1
- package/dist/workflow-fact-id.js +0 -14
- package/dist/workflow-fact-id.js.map +0 -1
- package/dist/workflow-facts.d.ts +0 -34
- package/dist/workflow-facts.d.ts.map +0 -1
- package/dist/workflow-facts.js +0 -43
- package/dist/workflow-facts.js.map +0 -1
- package/dist/workspace-lease.d.ts +0 -40
- package/dist/workspace-lease.d.ts.map +0 -1
- package/dist/workspace-lease.js +0 -333
- package/dist/workspace-lease.js.map +0 -1
- package/dist/workspace.d.ts +0 -57
- package/dist/workspace.d.ts.map +0 -1
- package/dist/workspace.js +0 -216
- package/dist/workspace.js.map +0 -1
- package/extensions/daily-dashboard-session.ts +0 -48
- package/extensions/daily-work-session.ts +0 -20
- package/extensions/learning-outcome-session.ts +0 -38
- package/extensions/learning-session.ts +0 -59
- package/extensions/ordinary-runtime.ts +0 -14
- package/extensions/primary-shadow.ts +0 -11
- package/extensions/work-policy-session.ts +0 -139
- package/extensions/work-run-session.ts +0 -75
- package/extensions/work-runtime.ts +0 -44
- package/extensions/work-session.ts +0 -132
- package/src/activity-timeline.ts +0 -133
- package/src/approval-prompt.ts +0 -225
- package/src/approval-store.ts +0 -386
- package/src/approval.ts +0 -399
- package/src/capabilities.ts +0 -220
- package/src/catalog.ts +0 -306
- package/src/check-runner.ts +0 -387
- package/src/control-journal.ts +0 -26
- package/src/correlation.ts +0 -320
- package/src/daily-dashboard-host.ts +0 -105
- package/src/daily-panel.ts +0 -80
- package/src/daily-view-input.ts +0 -59
- package/src/daily-view-render.ts +0 -45
- package/src/daily-view.ts +0 -160
- package/src/dashboard-cli.ts +0 -340
- package/src/dashboard-display-controls.ts +0 -21
- package/src/dashboard-handshake.ts +0 -199
- package/src/dashboard-harness.ts +0 -37
- package/src/dashboard-herdr.ts +0 -363
- package/src/dashboard-host-contract.ts +0 -50
- package/src/dashboard-host-transport.ts +0 -43
- package/src/dashboard-host.ts +0 -244
- package/src/dashboard-menu.ts +0 -28
- package/src/dashboard-observation.ts +0 -46
- package/src/dashboard-projection.ts +0 -390
- package/src/dashboard-render.ts +0 -259
- package/src/debrief-contract.ts +0 -127
- package/src/debrief-fixture.ts +0 -29
- package/src/debrief-host.ts +0 -53
- package/src/debrief-render.ts +0 -49
- package/src/debrief.ts +0 -198
- package/src/definitions.ts +0 -211
- package/src/delegate-types.ts +0 -154
- package/src/delegate.ts +0 -348
- package/src/delegation-approval.ts +0 -126
- package/src/dispatch-control.ts +0 -81
- package/src/effect-profile-runtime.ts +0 -46
- package/src/effect-profile.ts +0 -129
- package/src/execution-retention.ts +0 -230
- package/src/executor.ts +0 -123
- package/src/experiment-contract.ts +0 -66
- package/src/experiment-state.ts +0 -44
- package/src/experiment-store.ts +0 -98
- package/src/experiment.ts +0 -236
- package/src/factory-contract.ts +0 -47
- package/src/factory-migration.ts +0 -29
- package/src/factory-order.ts +0 -56
- package/src/factory-registry.ts +0 -60
- package/src/fanout.ts +0 -106
- package/src/file-lock.ts +0 -178
- package/src/finalization.ts +0 -79
- package/src/git-identity.ts +0 -56
- package/src/grant-env.ts +0 -221
- package/src/grant-store.ts +0 -235
- package/src/herdr-cli.ts +0 -125
- package/src/herdr-pi-lifecycle.ts +0 -21
- package/src/herdr-poll.ts +0 -253
- package/src/herdr-stage.ts +0 -55
- package/src/init.ts +0 -389
- package/src/intent-application.ts +0 -91
- package/src/intent-control.ts +0 -107
- package/src/intent-scheduling.ts +0 -14
- package/src/learning-connection.ts +0 -70
- package/src/lease-helper.ts +0 -97
- package/src/lease-record.ts +0 -131
- package/src/ledger-append.ts +0 -72
- package/src/ledger-events.ts +0 -226
- package/src/ledger-report.ts +0 -357
- package/src/ledger-v3-validation.ts +0 -266
- package/src/ledger.ts +0 -369
- package/src/measured-order.ts +0 -72
- package/src/measured-session.ts +0 -70
- package/src/model-preflight.ts +0 -41
- package/src/native-session-target.ts +0 -23
- package/src/native-session.ts +0 -139
- package/src/order-schedule.ts +0 -42
- package/src/ordinary-children.ts +0 -59
- package/src/pane-reaper.ts +0 -270
- package/src/pi-tools.ts +0 -25
- package/src/producer-ipc-contract.ts +0 -26
- package/src/producer-ipc.ts +0 -107
- package/src/product-files.ts +0 -34
- package/src/propagation.ts +0 -333
- package/src/refusals.ts +0 -70
- package/src/resolve.ts +0 -267
- package/src/resource-budget.ts +0 -349
- package/src/retention-contract.ts +0 -84
- package/src/retention-json.ts +0 -20
- package/src/run-child.ts +0 -303
- package/src/run-herdr.ts +0 -386
- package/src/skill-packages.ts +0 -314
- package/src/skill-resources.ts +0 -48
- package/src/vendor/adoption.ts +0 -109
- package/src/work-command.ts +0 -197
- package/src/work-ledger-destination.ts +0 -113
- package/src/work-ledger-json.ts +0 -228
- package/src/work-ledger-occurrences.ts +0 -99
- package/src/work-ledger-projection.ts +0 -262
- package/src/work-ledger-snapshot.ts +0 -246
- package/src/work-ledger-types.ts +0 -229
- package/src/work-ledger-validation.ts +0 -174
- package/src/work-ledger.ts +0 -186
- package/src/work-policy-registry.ts +0 -81
- package/src/work-run.ts +0 -79
- package/src/work-setup.ts +0 -141
- package/src/workflow-fact-id.ts +0 -16
- package/src/workflow-facts.ts +0 -65
- package/src/workspace-lease.ts +0 -363
- package/src/workspace.ts +0 -308
- /package/contracts/{ledger/v3 → ledger-record/v1}/fixtures/capability-decision.json +0 -0
- /package/contracts/{ledger/v3 → ledger-record/v1}/fixtures/workspace-lease.json +0 -0
- /package/dist/{herdr-name.d.ts → executors/herdr-name.d.ts} +0 -0
- /package/dist/{herdr-name.js → executors/herdr-name.js} +0 -0
- /package/dist/{herdr-pi-lifecycle.d.ts → executors/herdr-pi-lifecycle.d.ts} +0 -0
- /package/dist/{herdr-start.d.ts → executors/herdr-start.d.ts} +0 -0
- /package/dist/{herdr-start.js → executors/herdr-start.js} +0 -0
- /package/dist/{vendor → executors/vendor}/herdr-pi-lifecycle.d.ts +0 -0
- /package/dist/{vendor → executors/vendor}/herdr-pi-lifecycle.js +0 -0
- /package/dist/{file-lock.d.ts → governance/file-lock.d.ts} +0 -0
- /package/dist/{finalization.d.ts → governance/finalization.d.ts} +0 -0
- /package/dist/{finalization.js → governance/finalization.js} +0 -0
- /package/dist/{lease-helper.d.ts → governance/lease-helper.d.ts} +0 -0
- /package/dist/{lease-record.js → governance/lease-record.js} +0 -0
- /package/dist/{retention-contract.d.ts → governance/retention-contract.d.ts} +0 -0
- /package/dist/{retention-json.d.ts → governance/retention-json.d.ts} +0 -0
- /package/dist/{retention-json.js → governance/retention-json.js} +0 -0
- /package/dist/{chain.d.ts → kernel/chain.d.ts} +0 -0
- /package/dist/{chain.js → kernel/chain.js} +0 -0
- /package/dist/{correlation.d.ts → kernel/correlation.d.ts} +0 -0
- /package/dist/{definitions.d.ts → kernel/definitions.d.ts} +0 -0
- /package/dist/{delegate.d.ts → kernel/delegate.d.ts} +0 -0
- /package/dist/{delegation-approval.d.ts → kernel/delegation-approval.d.ts} +0 -0
- /package/dist/{execution-id.d.ts → kernel/execution-id.d.ts} +0 -0
- /package/dist/{execution-id.js → kernel/execution-id.js} +0 -0
- /package/dist/{fanout.d.ts → kernel/fanout.d.ts} +0 -0
- /package/dist/{ledger-identifiers.d.ts → kernel/ledger-identifiers.d.ts} +0 -0
- /package/dist/{ledger-identifiers.js → kernel/ledger-identifiers.js} +0 -0
- /package/dist/{pi-tools.d.ts → kernel/pi-tools.d.ts} +0 -0
- /package/dist/{progress.d.ts → kernel/progress.d.ts} +0 -0
- /package/dist/{progress.js → kernel/progress.js} +0 -0
- /package/dist/{resolve.d.ts → kernel/resolve.d.ts} +0 -0
- /package/dist/{routing-authority.d.ts → kernel/routing-authority.d.ts} +0 -0
- /package/dist/{routing-authority.js → kernel/routing-authority.js} +0 -0
- /package/dist/{skill-resources.d.ts → kernel/skill-resources.d.ts} +0 -0
- /package/dist/{spawn.d.ts → kernel/spawn.d.ts} +0 -0
- /package/dist/{spawn.js → kernel/spawn.js} +0 -0
- /package/dist/{dashboard-render.d.ts → products/dashboard-render.d.ts} +0 -0
- /package/src/{herdr-name.ts → executors/herdr-name.ts} +0 -0
- /package/src/{herdr-start.ts → executors/herdr-start.ts} +0 -0
- /package/src/{vendor → executors/vendor}/herdr-pi-lifecycle.ts +0 -0
- /package/src/{chain.ts → kernel/chain.ts} +0 -0
- /package/src/{execution-id.ts → kernel/execution-id.ts} +0 -0
- /package/src/{ledger-identifiers.ts → kernel/ledger-identifiers.ts} +0 -0
- /package/src/{progress.ts → kernel/progress.ts} +0 -0
- /package/src/{routing-authority.ts → kernel/routing-authority.ts} +0 -0
- /package/src/{spawn.ts → kernel/spawn.ts} +0 -0
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*
|
|
8
8
|
* **Nothing here re-implements a governance rule.** Every step goes through `runOneDelegation`, so the grant, the
|
|
9
9
|
* ceiling, `agent:<name>` authorisation, the depth bound, the ledger and `--tools` enforcement are exactly what a
|
|
10
|
-
* single `delegate` gets. What a chain adds is the handoff (`src/chain.ts`), one gate instead of N, a budget unit
|
|
10
|
+
* single `delegate` gets. What a chain adds is the handoff (`src/kernel/chain.ts`), one gate instead of N, a budget unit
|
|
11
11
|
* per step, and abort-on-failure.
|
|
12
12
|
*
|
|
13
13
|
* **Why the upfront gate is exact rather than an approximation**, which is the least obvious thing here: an approval
|
|
@@ -18,22 +18,30 @@
|
|
|
18
18
|
|
|
19
19
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
20
20
|
import { Type } from "typebox";
|
|
21
|
-
import type { InheritableApproval } from "../src/approval.ts";
|
|
22
|
-
import { DELEGATE_SUBJECT } from "../src/approval.ts";
|
|
23
|
-
import { chainStepSpec, PLACEHOLDER } from "../src/chain.ts";
|
|
24
|
-
import { MAX_CHAIN_STEPS, childSpawnId, splitBudget } from "../src/fanout.ts";
|
|
25
|
-
import {
|
|
21
|
+
import type { InheritableApproval } from "../src/kernel/approval.ts";
|
|
22
|
+
import { DELEGATE_SUBJECT } from "../src/kernel/approval.ts";
|
|
23
|
+
import { chainStepSpec, PLACEHOLDER } from "../src/kernel/chain.ts";
|
|
24
|
+
import { MAX_CHAIN_STEPS, childSpawnId, splitBudget } from "../src/kernel/fanout.ts";
|
|
25
|
+
import {
|
|
26
|
+
PAINT_INTERVAL_MS,
|
|
27
|
+
appendTail,
|
|
28
|
+
emptyTail,
|
|
29
|
+
renderProgress,
|
|
30
|
+
replaceTail,
|
|
31
|
+
throttle,
|
|
32
|
+
type ChildProgress,
|
|
33
|
+
} from "../src/kernel/progress.ts";
|
|
26
34
|
import { correlationShape } from "./correlation-shape.ts";
|
|
27
35
|
import { recordChainRefusal } from "./chain-ledger.ts";
|
|
28
36
|
import { obtainApprovals, snapshotOf, type ApprovalOutcome } from "./approvals.ts";
|
|
29
37
|
import { runOneDelegation } from "./run-delegation.ts";
|
|
30
38
|
import { isCriticalAssuranceBlock } from "./execute-child.ts";
|
|
31
39
|
import type { GrantsSession } from "./session.ts";
|
|
32
|
-
import { GovernanceRefusal, refusal, type StructuredRefusal } from "../src/refusals.ts";
|
|
40
|
+
import { GovernanceRefusal, refusal, type StructuredRefusal } from "../src/kernel/refusals.ts";
|
|
33
41
|
import { chainApprovalFacts, newChainApprovalAudit, rememberChainApproval } from "./chain-approval-facts.ts";
|
|
34
|
-
import { newExecutionId } from "../src/execution-id.ts";
|
|
42
|
+
import { newExecutionId } from "../src/kernel/execution-id.ts";
|
|
35
43
|
import { planChain, type GateRequest } from "./chain-plan.ts";
|
|
36
|
-
import { preflightModel } from "../src/model-preflight.ts";
|
|
44
|
+
import { preflightModel } from "../src/kernel/model-preflight.ts";
|
|
37
45
|
import { assertDelegationAuthority } from "./delegation-authority.ts";
|
|
38
46
|
|
|
39
47
|
/** One chain step is one execution occurrence, however many capability dialogs contributed to its answer. */
|
|
@@ -69,15 +77,19 @@ export function registerChainTool(pi: ExtensionAPI, session: GrantsSession): voi
|
|
|
69
77
|
agent: Type.Optional(Type.String({ description: "Definition to spawn for this step." })),
|
|
70
78
|
tools: Type.Optional(Type.Array(Type.String(), { description: "Capabilities, when no 'agent' fits." })),
|
|
71
79
|
model: Type.Optional(Type.String({ description: "Model as provider/id. Defaults to this session's." })),
|
|
72
|
-
thinking: Type.Optional(
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
80
|
+
thinking: Type.Optional(
|
|
81
|
+
Type.Union(
|
|
82
|
+
["off", "minimal", "low", "medium", "high", "xhigh", "max"].map((level) => Type.Literal(level)),
|
|
83
|
+
{ description: "Requested Pi thinking level; unsupported model/level combinations fail in the child." },
|
|
84
|
+
),
|
|
85
|
+
),
|
|
76
86
|
correlation: Type.Optional(correlationShape()),
|
|
77
|
-
workspace: Type.Optional(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
87
|
+
workspace: Type.Optional(
|
|
88
|
+
Type.Object({
|
|
89
|
+
workspace_id: Type.String(),
|
|
90
|
+
access: Type.Union([Type.Literal("read"), Type.Literal("write")]),
|
|
91
|
+
}),
|
|
92
|
+
),
|
|
81
93
|
});
|
|
82
94
|
|
|
83
95
|
const params = Type.Object({
|
|
@@ -104,11 +116,12 @@ export function registerChainTool(pi: ExtensionAPI, session: GrantsSession): voi
|
|
|
104
116
|
const steps = args.steps ?? [];
|
|
105
117
|
|
|
106
118
|
// **Every cheap refusal happens before any human is asked.** Yesterday's lesson on the `delegate` path: with
|
|
107
|
-
// `
|
|
119
|
+
// `PI_DADDY_HERDR=1` and herdr down, the gate ran first, an operator approved `bash`, a 30-day entry was
|
|
108
120
|
// written, and the delegation was then refused anyway. `runOneDelegation` checks the executor before its own
|
|
109
121
|
// gate; a chain hoists its gate above `runOneDelegation`, so the check has to be repeated here or that
|
|
110
122
|
// ordering is simply bypassed.
|
|
111
|
-
if (session.executor.refusal)
|
|
123
|
+
if (session.executor.refusal)
|
|
124
|
+
throw new GovernanceRefusal(refusal("EXECUTOR_UNAVAILABLE", `chain refused: ${session.executor.refusal}`));
|
|
112
125
|
|
|
113
126
|
// Cardinality next, still before the gate. `splitBudget` is reused rather than re-derived, so a chain and a
|
|
114
127
|
// fan-out cannot disagree about what the budget means.
|
|
@@ -119,19 +132,22 @@ export function registerChainTool(pi: ExtensionAPI, session: GrantsSession): voi
|
|
|
119
132
|
// `planChain`.
|
|
120
133
|
const executionIds = steps.map(() => newExecutionId());
|
|
121
134
|
const parentExecutionId = session.ownExecutionId ?? null;
|
|
122
|
-
const chainPlan = await planChain(
|
|
123
|
-
session,
|
|
124
|
-
steps,
|
|
125
|
-
executionIds,
|
|
126
|
-
(model) => preflightModel(model, ctx.modelRegistry, session.modelResolutionCache, session.allowUnresolvedModels),
|
|
135
|
+
const chainPlan = await planChain(session, steps, executionIds, (model) =>
|
|
136
|
+
preflightModel(model, ctx.modelRegistry, session.modelResolutionCache, session.allowUnresolvedModels),
|
|
127
137
|
);
|
|
128
138
|
if (chainPlan.doomed) {
|
|
129
|
-
const message =
|
|
139
|
+
const message =
|
|
140
|
+
`chain refused at step ${chainPlan.doomed.step}: ${chainPlan.doomed.reason} No step ran, and nobody was ` +
|
|
130
141
|
`asked to approve anything — a step that cannot run must not bank authority for a spawn that will never happen.`;
|
|
131
142
|
await recordChainRefusal({
|
|
132
|
-
session,
|
|
133
|
-
|
|
134
|
-
|
|
143
|
+
session,
|
|
144
|
+
plan: chainPlan.doomed.plan,
|
|
145
|
+
stepIndex: chainPlan.doomed.step - 1,
|
|
146
|
+
executionId: executionIds[chainPlan.doomed.step - 1],
|
|
147
|
+
parentExecutionId,
|
|
148
|
+
agent: chainPlan.doomed.agent,
|
|
149
|
+
reason: message,
|
|
150
|
+
refusal: chainPlan.doomed.refusal,
|
|
135
151
|
});
|
|
136
152
|
if (chainPlan.doomed.refusal) throw new GovernanceRefusal({ ...chainPlan.doomed.refusal, message });
|
|
137
153
|
throw new Error(message);
|
|
@@ -141,11 +157,20 @@ export function registerChainTool(pi: ExtensionAPI, session: GrantsSession): voi
|
|
|
141
157
|
const preApproved: InheritableApproval[] = [];
|
|
142
158
|
const approvalAudit = newChainApprovalAudit();
|
|
143
159
|
const approvalStep = new Map<string, number>();
|
|
144
|
-
const approvedDecisions: Array<{ request: GateRequest; outcome: Awaited<ReturnType<typeof obtainApprovals>> }> =
|
|
160
|
+
const approvedDecisions: Array<{ request: GateRequest; outcome: Awaited<ReturnType<typeof obtainApprovals>> }> =
|
|
161
|
+
[];
|
|
145
162
|
let declined: { request: GateRequest; outcome: Awaited<ReturnType<typeof obtainApprovals>> } | undefined;
|
|
146
163
|
|
|
147
164
|
for (const request of chainPlan.requests) {
|
|
148
|
-
const outcome = await obtainApprovals(
|
|
165
|
+
const outcome = await obtainApprovals(
|
|
166
|
+
session,
|
|
167
|
+
[request.capability],
|
|
168
|
+
request.subject,
|
|
169
|
+
request.path,
|
|
170
|
+
ctx,
|
|
171
|
+
request.task,
|
|
172
|
+
signal,
|
|
173
|
+
);
|
|
149
174
|
if (!outcome.approved.includes(request.capability)) {
|
|
150
175
|
// **Stop asking.** The chain's outcome is already fixed, and every further dialog banks authority — a
|
|
151
176
|
// `session` yes into `sessionApprovals` and an `always` yes onto disk for 30 days — for a chain that will
|
|
@@ -168,10 +193,14 @@ export function registerChainTool(pi: ExtensionAPI, session: GrantsSession): voi
|
|
|
168
193
|
|
|
169
194
|
if (declined) {
|
|
170
195
|
const { request, outcome } = declined;
|
|
171
|
-
const message =
|
|
196
|
+
const message =
|
|
197
|
+
`chain refused: ${request.capability} was not approved for ${request.subject}, so no step ran. A chain ` +
|
|
172
198
|
`is gated as a unit — running only its approved steps would return a partial result that reads like a complete one.`;
|
|
173
199
|
const structured = outcome.refusalCode ? refusal(outcome.refusalCode, message) : undefined;
|
|
174
|
-
const decisions = new Map<
|
|
200
|
+
const decisions = new Map<
|
|
201
|
+
number,
|
|
202
|
+
{ request: GateRequest; outcomes: ApprovalOutcome[]; refusal?: typeof structured }
|
|
203
|
+
>();
|
|
175
204
|
for (const approved of approvedDecisions) {
|
|
176
205
|
const decision = decisions.get(approved.request.stepIndex) ?? {
|
|
177
206
|
request: approved.request,
|
|
@@ -188,9 +217,14 @@ export function registerChainTool(pi: ExtensionAPI, session: GrantsSession): voi
|
|
|
188
217
|
|
|
189
218
|
for (const [stepIndex, decision] of [...decisions].sort(([left], [right]) => left - right)) {
|
|
190
219
|
await recordChainRefusal({
|
|
191
|
-
session,
|
|
192
|
-
|
|
193
|
-
|
|
220
|
+
session,
|
|
221
|
+
plan: decision.request.plan,
|
|
222
|
+
stepIndex,
|
|
223
|
+
executionId: executionIds[stepIndex],
|
|
224
|
+
parentExecutionId,
|
|
225
|
+
agent: steps[stepIndex]?.agent,
|
|
226
|
+
reason: message,
|
|
227
|
+
refusal: decision.refusal,
|
|
194
228
|
approval: mergeGateOutcomes(decision.outcomes),
|
|
195
229
|
});
|
|
196
230
|
}
|
|
@@ -215,7 +249,12 @@ export function registerChainTool(pi: ExtensionAPI, session: GrantsSession): voi
|
|
|
215
249
|
}, PAINT_INTERVAL_MS);
|
|
216
250
|
|
|
217
251
|
const outcomes: Array<{
|
|
218
|
-
ok: boolean;
|
|
252
|
+
ok: boolean;
|
|
253
|
+
text: string;
|
|
254
|
+
reason?: string;
|
|
255
|
+
refusal?: StructuredRefusal;
|
|
256
|
+
step: number;
|
|
257
|
+
agent?: string;
|
|
219
258
|
}> = [];
|
|
220
259
|
let previous: string | undefined;
|
|
221
260
|
let aborted = false;
|
|
@@ -237,8 +276,7 @@ export function registerChainTool(pi: ExtensionAPI, session: GrantsSession): voi
|
|
|
237
276
|
const childId = childSpawnId(session.ownSpawnId, index);
|
|
238
277
|
const availableForStep = available.filter((approval) => {
|
|
239
278
|
const key = `${approval.capability}@${approval.subject}`;
|
|
240
|
-
return chainPlan.uses.get(index)?.has(key) &&
|
|
241
|
-
(approval.scope !== "once" || approvalStep.get(key) === index);
|
|
279
|
+
return chainPlan.uses.get(index)?.has(key) && (approval.scope !== "once" || approvalStep.get(key) === index);
|
|
242
280
|
});
|
|
243
281
|
const outcome = await runOneDelegation(
|
|
244
282
|
session,
|
|
@@ -277,14 +315,19 @@ export function registerChainTool(pi: ExtensionAPI, session: GrantsSession): voi
|
|
|
277
315
|
children[index].state = outcome.ok ? "completed" : "failed";
|
|
278
316
|
children[index].settledAt = Date.now();
|
|
279
317
|
outcomes.push({
|
|
280
|
-
ok: outcome.ok,
|
|
281
|
-
|
|
318
|
+
ok: outcome.ok,
|
|
319
|
+
text: outcome.text,
|
|
320
|
+
reason: outcome.reason,
|
|
321
|
+
refusal: outcome.refusal,
|
|
322
|
+
step: index + 1,
|
|
323
|
+
agent: step.agent,
|
|
282
324
|
});
|
|
283
325
|
if (isCriticalAssuranceBlock(outcome)) throw new Error(outcome.text);
|
|
284
326
|
|
|
285
327
|
// Spend any `once` this step was handed, before the next step sees the list.
|
|
286
|
-
available = available.filter(
|
|
287
|
-
|
|
328
|
+
available = available.filter(
|
|
329
|
+
(approval) =>
|
|
330
|
+
approval.scope !== "once" || approvalStep.get(`${approval.capability}@${approval.subject}`) !== index,
|
|
288
331
|
);
|
|
289
332
|
|
|
290
333
|
if (!outcome.ok) {
|
|
@@ -301,7 +344,9 @@ export function registerChainTool(pi: ExtensionAPI, session: GrantsSession): voi
|
|
|
301
344
|
const report = outcomes
|
|
302
345
|
.map((o) => {
|
|
303
346
|
const label = `### step ${o.step}${o.agent ? ` (${o.agent})` : ""}`;
|
|
304
|
-
return o.ok
|
|
347
|
+
return o.ok
|
|
348
|
+
? `${label} — completed\n\n${o.text || "(no output)"}`
|
|
349
|
+
: `${label} — FAILED: ${o.reason}${o.text ? `\n\n${o.text}` : ""}`;
|
|
305
350
|
})
|
|
306
351
|
.join("\n\n---\n\n");
|
|
307
352
|
|
|
@@ -322,8 +367,11 @@ export function registerChainTool(pi: ExtensionAPI, session: GrantsSession): voi
|
|
|
322
367
|
return {
|
|
323
368
|
content: [{ type: "text", text: `${report}${tail}` }],
|
|
324
369
|
details: {
|
|
325
|
-
steps: steps.length,
|
|
326
|
-
|
|
370
|
+
steps: steps.length,
|
|
371
|
+
completed: outcomes.filter((o) => o.ok).length,
|
|
372
|
+
aborted,
|
|
373
|
+
budgetPerStep: split.perChild,
|
|
374
|
+
refusals: outcomes.map((outcome) => outcome.refusal ?? null),
|
|
327
375
|
},
|
|
328
376
|
};
|
|
329
377
|
},
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
import { GovernanceRefusal, refusal } from "../src/refusals.ts";
|
|
1
|
+
import { GovernanceRefusal, refusal } from "../src/kernel/refusals.ts";
|
|
2
2
|
import type { GrantsSession } from "./session.ts";
|
|
3
3
|
|
|
4
4
|
/** Tool definitions may be inspected directly; execution still requires an owner-bound delegation grant. */
|
|
5
5
|
export function assertDelegationAuthority(session: GrantsSession): void {
|
|
6
6
|
if (!session.ownerBound) {
|
|
7
|
-
throw new GovernanceRefusal(
|
|
7
|
+
throw new GovernanceRefusal(
|
|
8
|
+
refusal("CAPABILITY_ESCALATION", "delegation refused: session ownership is not bound yet"),
|
|
9
|
+
);
|
|
8
10
|
}
|
|
9
11
|
if (!session.mayDelegate) {
|
|
10
|
-
throw new GovernanceRefusal(
|
|
12
|
+
throw new GovernanceRefusal(
|
|
13
|
+
refusal("CAPABILITY_ESCALATION", "delegation refused: this session does not hold tool:delegate"),
|
|
14
|
+
);
|
|
11
15
|
}
|
|
12
16
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Delegation } from "../src/delegate.ts";
|
|
2
|
-
import { appendRecord, buildRecord } from "../src/ledger.ts";
|
|
1
|
+
import type { Delegation } from "../src/kernel/delegate.ts";
|
|
2
|
+
import { appendRecord, buildRecord } from "../src/governance/ledger.ts";
|
|
3
3
|
import type { ApprovalOutcome } from "./approvals.ts";
|
|
4
4
|
import type { ExecutionOccurrenceIds } from "./execution-occurrence.ts";
|
|
5
5
|
import type { GrantsSession } from "./session.ts";
|
|
@@ -1,12 +1,29 @@
|
|
|
1
|
-
import { allocateNativeSessionTarget } from "../src/native-session-target.ts";
|
|
1
|
+
import { allocateNativeSessionTarget } from "../src/executors/native-session-target.ts";
|
|
2
2
|
import type { GrantsSession } from "./session.ts";
|
|
3
3
|
import type { ExecutionOccurrenceIds } from "./execution-occurrence.ts";
|
|
4
4
|
/** Shared delegate/all/chain host setup, before planning/audit; no tool-schema destination parameter. */
|
|
5
|
-
export async function nativeDelegationContext(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
export async function nativeDelegationContext(
|
|
6
|
+
session: GrantsSession,
|
|
7
|
+
ids: ExecutionOccurrenceIds,
|
|
8
|
+
budget: number | undefined,
|
|
9
|
+
refused: boolean,
|
|
10
|
+
) {
|
|
11
|
+
let sessionFile: string | undefined, refusal: string | undefined;
|
|
12
|
+
if (!refused && session.nativeSessionRoot !== undefined) {
|
|
13
|
+
try {
|
|
14
|
+
sessionFile = await allocateNativeSessionTarget(session.nativeSessionRoot, ids.executionId);
|
|
15
|
+
} catch (error) {
|
|
16
|
+
refusal = `native retention target refused (${String(error)})`;
|
|
17
|
+
}
|
|
10
18
|
}
|
|
11
|
-
return {
|
|
19
|
+
return {
|
|
20
|
+
extra: {
|
|
21
|
+
fanoutBudget: budget,
|
|
22
|
+
spawnId: ids.parentId,
|
|
23
|
+
childSpawnId: ids.childId,
|
|
24
|
+
childExecutionId: ids.executionId,
|
|
25
|
+
sessionFile,
|
|
26
|
+
},
|
|
27
|
+
refusal,
|
|
28
|
+
};
|
|
12
29
|
}
|
package/extensions/delegation.ts
CHANGED
|
@@ -11,13 +11,19 @@
|
|
|
11
11
|
|
|
12
12
|
import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
|
|
13
13
|
import { Type } from "typebox";
|
|
14
|
-
import { maySpawnDefinition } from "../src/delegate.ts";
|
|
15
|
-
import { MAX_CHILDREN_PER_CALL, splitBudget } from "../src/fanout.ts";
|
|
14
|
+
import { maySpawnDefinition } from "../src/kernel/delegate.ts";
|
|
15
|
+
import { MAX_CHILDREN_PER_CALL, splitBudget } from "../src/kernel/fanout.ts";
|
|
16
16
|
import {
|
|
17
|
-
PAINT_INTERVAL_MS,
|
|
18
|
-
|
|
17
|
+
PAINT_INTERVAL_MS,
|
|
18
|
+
appendTail,
|
|
19
|
+
emptyTail,
|
|
20
|
+
renderProgress,
|
|
21
|
+
replaceTail,
|
|
22
|
+
throttle,
|
|
23
|
+
type ChildProgress,
|
|
24
|
+
} from "../src/kernel/progress.ts";
|
|
19
25
|
import { registerChainTool } from "./delegate-chain.ts";
|
|
20
|
-
import { GovernanceRefusal, refusal } from "../src/refusals.ts";
|
|
26
|
+
import { GovernanceRefusal, refusal } from "../src/kernel/refusals.ts";
|
|
21
27
|
import { runOneDelegation } from "./run-delegation.ts";
|
|
22
28
|
import {
|
|
23
29
|
buildFanoutReport,
|
|
@@ -29,7 +35,6 @@ import { isCriticalAssuranceBlock, type DelegationOutcome } from "./execute-chil
|
|
|
29
35
|
import { type GrantsSession } from "./session.ts";
|
|
30
36
|
import { newDelegationOccurrence } from "./execution-occurrence.ts";
|
|
31
37
|
import { correlationShape as buildCorrelationShape } from "./correlation-shape.ts";
|
|
32
|
-
import { completePrimary } from "./primary-shadow.ts";
|
|
33
38
|
import { assertDelegationAuthority } from "./delegation-authority.ts";
|
|
34
39
|
|
|
35
40
|
/**
|
|
@@ -71,30 +76,32 @@ function progressReporter(
|
|
|
71
76
|
|
|
72
77
|
return {
|
|
73
78
|
/** One sink per child index, shaped for `runOneDelegation`'s `onProgress`. */
|
|
74
|
-
sink:
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
79
|
+
sink:
|
|
80
|
+
(index: number) =>
|
|
81
|
+
(update: {
|
|
82
|
+
chunk?: string;
|
|
83
|
+
snapshot?: string[];
|
|
84
|
+
paneId?: string;
|
|
85
|
+
agentName?: string;
|
|
86
|
+
state?: ChildProgress["state"];
|
|
87
|
+
}) => {
|
|
88
|
+
const child = children[index];
|
|
89
|
+
if (!child) return;
|
|
90
|
+
if (update.paneId) child.paneId = update.paneId;
|
|
91
|
+
// **Reported, not derived.** It used to be rebuilt here from the label and the child id, which was true
|
|
92
|
+
// until `runHerdrPane` began uniquifying the name to stop herdr's `agent_name_taken` — after which the
|
|
93
|
+
// block named an agent that did not exist, and an operator following it would find nothing. The name is
|
|
94
|
+
// known only where it is minted, so it travels from there.
|
|
95
|
+
if (update.agentName) child.agentName = update.agentName;
|
|
96
|
+
// Two shapes, deliberately distinct, because the two executors are: a subprocess APPENDS bytes, a pane
|
|
97
|
+
// reports a SNAPSHOT that replaces. Collapsing them into one "output" field is what caused the herdr
|
|
98
|
+
// path's amplification, so the difference is spelled out in the type rather than remembered.
|
|
99
|
+
if (update.chunk) child.tail = appendTail(child.tail, update.chunk);
|
|
100
|
+
if (update.snapshot) child.tail = replaceTail(update.snapshot);
|
|
101
|
+
if (update.state) child.state = update.state;
|
|
102
|
+
else if (child.state === "starting") child.state = "running";
|
|
103
|
+
paint.call();
|
|
104
|
+
},
|
|
98
105
|
/** Record how each child ended and leave the final frame on screen. */
|
|
99
106
|
settle: (outcomes: Array<{ ok: boolean }>) => {
|
|
100
107
|
const at = Date.now();
|
|
@@ -120,7 +127,6 @@ export interface DelegationRegistration {
|
|
|
120
127
|
refreshSpawnable: () => void;
|
|
121
128
|
}
|
|
122
129
|
|
|
123
|
-
|
|
124
130
|
/**
|
|
125
131
|
* Register delegation definitions at owner-bound session_start.
|
|
126
132
|
*
|
|
@@ -171,10 +177,12 @@ export function registerDelegationTools(pi: ExtensionAPI, session: GrantsSession
|
|
|
171
177
|
access: Type.Union([Type.Literal("read"), Type.Literal("write")]),
|
|
172
178
|
});
|
|
173
179
|
|
|
174
|
-
const thinkingShape = Type.Optional(
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
180
|
+
const thinkingShape = Type.Optional(
|
|
181
|
+
Type.Union(
|
|
182
|
+
["off", "minimal", "low", "medium", "high", "xhigh", "max"].map((level) => Type.Literal(level)),
|
|
183
|
+
{ description: "Requested Pi thinking level; unsupported model/level combinations fail in the child." },
|
|
184
|
+
),
|
|
185
|
+
);
|
|
178
186
|
const childShape = Type.Object({
|
|
179
187
|
task: Type.String({ description: "The task for this sub-agent. It receives only this." }),
|
|
180
188
|
agent: Type.Optional(Type.String({ description: describeAgent(spawnable()) })),
|
|
@@ -191,32 +199,30 @@ export function registerDelegationTools(pi: ExtensionAPI, session: GrantsSession
|
|
|
191
199
|
maxItems: MAX_CHILDREN_PER_CALL,
|
|
192
200
|
description: "The sub-agents to run concurrently. Each is independent and unaware of the others.",
|
|
193
201
|
}),
|
|
194
|
-
completion: Type.Optional(Type.Literal("primary", {description:"Return when the selected primary settles; shadows continue under the original owner."})),
|
|
195
|
-
primary: Type.Optional(Type.Integer({minimum:1,maximum:MAX_CHILDREN_PER_CALL,description:"1-based primary child; required with completion=primary."})),
|
|
196
202
|
});
|
|
197
203
|
|
|
198
204
|
const delegateParams = Type.Object({
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
205
|
+
task: Type.String({ description: "The task for the sub-agent. It receives only this." }),
|
|
206
|
+
agent: Type.Optional(Type.String({ description: describeAgent(spawnable()) })),
|
|
207
|
+
tools: Type.Optional(
|
|
208
|
+
Type.Array(Type.String(), {
|
|
209
|
+
description:
|
|
210
|
+
'Capabilities to grant when no \'agent\' is named, e.g. ["read","grep"] or ' +
|
|
211
|
+
'["tool:read","ext:pkg/tool"]. Empty means no tools. Ignored when \'agent\' is given.',
|
|
212
|
+
}),
|
|
213
|
+
),
|
|
214
|
+
model: Type.Optional(
|
|
215
|
+
Type.String({
|
|
216
|
+
// A bare id resolves across all known providers and can land on one there is no key for, so the
|
|
217
|
+
// form is named rather than implied — see the "Verified live" defect in the README.
|
|
218
|
+
description:
|
|
219
|
+
'Model for the sub-agent as provider/id, e.g. "openai-codex/gpt-5.6-sol". ' +
|
|
220
|
+
"Defaults to this session's model, already provider-qualified.",
|
|
221
|
+
}),
|
|
222
|
+
),
|
|
223
|
+
thinking: thinkingShape,
|
|
224
|
+
correlation: Type.Optional(correlationShape),
|
|
225
|
+
workspace: Type.Optional(workspaceShape),
|
|
220
226
|
});
|
|
221
227
|
|
|
222
228
|
pi.registerTool({
|
|
@@ -231,7 +237,7 @@ export function registerDelegationTools(pi: ExtensionAPI, session: GrantsSession
|
|
|
231
237
|
async execute(_toolCallId, params, signal, onUpdate, ctx) {
|
|
232
238
|
assertDelegationAuthority(session);
|
|
233
239
|
// ADR-0032: one child, same block. `_onUpdate` was discarded here, so a delegation showed the bare word
|
|
234
|
-
// `delegate` for up to DEFAULT_TIMEOUT_MS —
|
|
240
|
+
// `delegate` for up to DEFAULT_TIMEOUT_MS — sixty minutes by default.
|
|
235
241
|
const progress = progressReporter(session, [params.agent ?? "delegate"], onUpdate as never);
|
|
236
242
|
const outcome = await runOneDelegation(
|
|
237
243
|
session,
|
|
@@ -269,7 +275,12 @@ export function registerDelegationTools(pi: ExtensionAPI, session: GrantsSession
|
|
|
269
275
|
|
|
270
276
|
return {
|
|
271
277
|
content: [{ type: "text", text: outcome.text || "(no output)" }],
|
|
272
|
-
details: {
|
|
278
|
+
details: {
|
|
279
|
+
granted: outcome.granted,
|
|
280
|
+
depth: outcome.depth,
|
|
281
|
+
exitCode: outcome.exitCode,
|
|
282
|
+
retention: outcome.retention,
|
|
283
|
+
},
|
|
273
284
|
};
|
|
274
285
|
},
|
|
275
286
|
});
|
|
@@ -298,14 +309,11 @@ export function registerDelegationTools(pi: ExtensionAPI, session: GrantsSession
|
|
|
298
309
|
`At most ${MAX_CHILDREN_PER_CALL} children per call, and a session-wide budget bounds the total ` +
|
|
299
310
|
"across the whole delegation subtree. Children cannot see each other or share context. Use this " +
|
|
300
311
|
"when independent tasks can proceed in parallel — several reviewers over one diff, say — and read " +
|
|
301
|
-
"every child's outcome, because one can be refused while the others succeed.
|
|
302
|
-
"completion=primary with a 1-based primary returns that result while shadows remain owned/accounted.",
|
|
312
|
+
"every child's outcome, because one can be refused while the others succeed.",
|
|
303
313
|
parameters: delegateAllParams,
|
|
304
314
|
async execute(_toolCallId, params, signal, onUpdate, ctx) {
|
|
305
315
|
assertDelegationAuthority(session);
|
|
306
|
-
const children = params.children ?? []
|
|
307
|
-
if(primaryMode!==Number.isInteger(params.primary)||primaryMode&&(params.primary!<1||params.primary!>children.length))throw new GovernanceRefusal(refusal("FANOUT_EXCEEDED","primary fan-out requires one in-range 1-based primary"));
|
|
308
|
-
if(primaryMode&&session.variantRuns.size>=128)throw new GovernanceRefusal(refusal("FANOUT_EXCEEDED","primary/shadow accounting capacity exhausted"));
|
|
316
|
+
const children = params.children ?? [];
|
|
309
317
|
const split = splitBudget(session.fanoutBudget, children.length);
|
|
310
318
|
if (!split.ok) {
|
|
311
319
|
// Thrown, not returned: a returned `isError` is discarded by pi, so a refusal that came back as a
|
|
@@ -315,7 +323,11 @@ export function registerDelegationTools(pi: ExtensionAPI, session: GrantsSession
|
|
|
315
323
|
|
|
316
324
|
// ADR-0032: ONE status block covering every child. `onUpdate` replaces the tool's rendered result, so a
|
|
317
325
|
// painter per child would have each overwriting the others.
|
|
318
|
-
const progress = progressReporter(
|
|
326
|
+
const progress = progressReporter(
|
|
327
|
+
session,
|
|
328
|
+
children.map((c) => c.agent ?? "delegate"),
|
|
329
|
+
onUpdate as never,
|
|
330
|
+
);
|
|
319
331
|
|
|
320
332
|
// Concurrent by construction. Each child gets its own budget share and its own ledger id, so the
|
|
321
333
|
// records form a tree and two siblings can never be confused for one another.
|
|
@@ -324,21 +336,20 @@ export function registerDelegationTools(pi: ExtensionAPI, session: GrantsSession
|
|
|
324
336
|
// live and its writer lease is deliberately retained" — a resource-retention notice, not a per-child
|
|
325
337
|
// failure. Losing it meant nobody was told a lease is held with no owner until the process exits
|
|
326
338
|
// (R-116).
|
|
327
|
-
const infrastructureErrors: unknown[] = [],
|
|
339
|
+
const infrastructureErrors: unknown[] = [],
|
|
340
|
+
occurrences = children.map((_, index) => newDelegationOccurrence(session, index));
|
|
328
341
|
const pending = children.map(async (child, index): Promise<DelegationOutcome> => {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
if(primaryMode){const completed=await completePrimary({session,primaryIndex:params.primary!-1,occurrences,pending,settle:progress.settle}),primary=completed.primary;if(!primary.ok){if(isCriticalAssuranceBlock(primary))throw new Error(primary.text);throw totalFanoutFailure([primary],`primary child failed: ${primary.reason}`);}return {content:[{type:"text",text:primary.text||"(no output)"}],details:{primary:params.primary,shadows:children.length-1,primaryExecutionId:completed.runId,shadowSettlement:"retained-by-original-owner",granted:primary.granted,retention:primary.retention}};}
|
|
341
|
-
const outcomes=await Promise.all(pending);
|
|
342
|
+
try {
|
|
343
|
+
return await runOneDelegation(session, child, occurrences[index], split.perChild, ctx, signal, {
|
|
344
|
+
onProgress: progress.sink(index),
|
|
345
|
+
toolCallId: _toolCallId,
|
|
346
|
+
});
|
|
347
|
+
} catch (error) {
|
|
348
|
+
infrastructureErrors.push(error);
|
|
349
|
+
return childFailureOutcome(error, session.depth + 1);
|
|
350
|
+
}
|
|
351
|
+
});
|
|
352
|
+
const outcomes = await Promise.all(pending);
|
|
342
353
|
progress.settle(outcomes);
|
|
343
354
|
// The upstream controller's verdict outranks our own infrastructure noise — it is the answer the
|
|
344
355
|
// caller is waiting for, and ADR-0034 requires it to pass through unchanged. But an infrastructure
|