pi-daddy 0.22.0 → 0.23.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 +30 -0
- package/contracts/daily-view/v1/README.md +114 -0
- package/contracts/daily-view/v1/fixtures/view.json +525 -0
- package/contracts/daily-view/v1/fixtures/view.txt +75 -0
- package/contracts/daily-view/v1/fixtures/work.jsonl +17 -0
- package/contracts/daily-view/v1/p03/README.md +26 -0
- package/contracts/daily-view/v1/p03/fixtures/retained-executions.json +241 -0
- package/contracts/daily-view/v1/p03/projection.schema.json +194 -0
- package/contracts/daily-view/v1/p03/provenance.json +21 -0
- package/contracts/dashboard-host/v1/README.md +176 -0
- package/contracts/debrief/v1/README.md +146 -0
- package/contracts/debrief/v1/intervention/README.md +32 -0
- package/contracts/debrief/v1/intervention/fixtures/artifact-3ee11136beb864f518252e5024dae9197421fbf97b6e981d3243c782b5c44bd0.txt +1 -0
- package/contracts/debrief/v1/intervention/fixtures/artifact-58905d872dd3c54a9705f67b05fa82edbad7af6476ae8993faf1a7b9fadfb905.txt +1 -0
- package/contracts/debrief/v1/intervention/fixtures/assessment.json +29 -0
- package/contracts/debrief/v1/intervention/fixtures/blind-view.json +20 -0
- package/contracts/debrief/v1/intervention/fixtures/choice.json +7 -0
- package/contracts/debrief/v1/intervention/fixtures/manifest.json +57 -0
- package/contracts/debrief/v1/intervention/fixtures/reveal.json +39 -0
- package/contracts/debrief/v1/provenance.json +89 -0
- package/contracts/debrief/v1/work-capture/README.md +38 -0
- package/contracts/debrief/v1/work-capture/fixtures/batch.json +17 -0
- package/contracts/debrief/v1/work-capture/fixtures/cases.json +184 -0
- package/contracts/debrief/v1/work-capture/fixtures/review.json +184 -0
- package/contracts/debrief/v1/work-capture/review-request.schema.json +41 -0
- package/contracts/debrief/v1/work-capture/work-case.schema.json +190 -0
- package/contracts/debrief/v2/README.md +71 -0
- package/contracts/debrief/v2/input-pin.json +66 -0
- package/contracts/debrief/v2/intervention-upstream.md +40 -0
- package/contracts/debrief/v2/work-signals-upstream.md +22 -0
- package/contracts/dispatch-control/v1/README.md +109 -0
- package/contracts/dispatch-control/v1/request.schema.json +19 -0
- package/contracts/effect-profile/v1/README.md +124 -0
- package/contracts/execution-retention/v1/README.md +109 -0
- package/contracts/execution-retention/v2/README.md +148 -0
- package/contracts/execution-retention/v2/fixtures/interrupted-native-bytes.json +91 -0
- package/contracts/execution-retention/v2/fixtures/missing-native-session.json +91 -0
- package/contracts/execution-retention/v2/fixtures/native-file-unknown-branch.json +91 -0
- package/contracts/execution-retention/v2/fixtures/native-id-without-bytes.json +91 -0
- package/contracts/execution-retention/v2/fixtures/native-live-branch.json +90 -0
- package/contracts/execution-retention/v2/fixtures/replaced-native-session.json +92 -0
- package/contracts/execution-retention/v2/fixtures/result-82c620cdfeb8ca6b858cf653d7f5e2eedca5315d6244216d60e8b36f03223d6a.bin +1 -0
- package/contracts/execution-retention/v2/fixtures/session-2ec1f134bc739984434f7fca689e1c3d1c39fce2dcadae709e9b6faedfcc4ac7.bin +3 -0
- package/contracts/execution-retention/v2/fixtures/session-9bdb4bd16a901da31580acf056bda525225259e15ec409e0410480109011772f.bin +3 -0
- package/contracts/execution-retention/v2/manifest.schema.json +858 -0
- package/contracts/experiment/v1/README.md +164 -0
- package/contracts/factory-order/v1/README.md +151 -0
- package/contracts/factory-order/v1/adoption-pin.json +8 -0
- package/contracts/intent-control/v1/README.md +135 -0
- package/contracts/intent-control/v1/request.schema.json +1096 -0
- package/contracts/intent-control/v2/README.md +34 -0
- package/contracts/intent-control/v2/request.schema.json +1070 -0
- package/contracts/ledger/v4/README.md +241 -0
- package/contracts/ledger/v4/fixtures/layout-options.json +428 -0
- package/contracts/ledger/v4/fixtures/work-acceptance.json +57 -0
- package/contracts/ledger/v4/fixtures/work-occurrence.json +44 -0
- package/contracts/ledger/v4/fixtures/work-revision.json +26 -0
- package/contracts/ledger/v4/fixtures/work-snapshot.json +73 -0
- package/contracts/ledger/v4/ledger-event.schema.json +162 -0
- package/contracts/ordinary-control/v1/README.md +59 -0
- package/contracts/producer-ipc/v1/README.md +137 -0
- package/dist/check-runner.d.ts +5 -0
- package/dist/check-runner.d.ts.map +1 -1
- package/dist/check-runner.js +16 -2
- package/dist/check-runner.js.map +1 -1
- package/dist/control-journal.d.ts +20 -0
- package/dist/control-journal.d.ts.map +1 -0
- package/dist/control-journal.js +73 -0
- package/dist/control-journal.js.map +1 -0
- package/dist/daily-view-input.d.ts +44 -0
- package/dist/daily-view-input.d.ts.map +1 -0
- package/dist/daily-view-input.js +68 -0
- package/dist/daily-view-input.js.map +1 -0
- package/dist/daily-view-render.d.ts +4 -0
- package/dist/daily-view-render.d.ts.map +1 -0
- package/dist/daily-view-render.js +41 -0
- package/dist/daily-view-render.js.map +1 -0
- package/dist/daily-view.d.ts +74 -0
- package/dist/daily-view.d.ts.map +1 -0
- package/dist/daily-view.js +170 -0
- package/dist/daily-view.js.map +1 -0
- package/dist/dashboard-cli.d.ts +26 -1
- package/dist/dashboard-cli.d.ts.map +1 -1
- package/dist/dashboard-cli.js +121 -3
- package/dist/dashboard-cli.js.map +1 -1
- package/dist/dashboard-harness.d.ts +19 -0
- package/dist/dashboard-harness.d.ts.map +1 -0
- package/dist/dashboard-harness.js +75 -0
- package/dist/dashboard-harness.js.map +1 -0
- package/dist/dashboard-herdr.d.ts.map +1 -1
- package/dist/dashboard-herdr.js +7 -2
- package/dist/dashboard-herdr.js.map +1 -1
- package/dist/dashboard-host-contract.d.ts +111 -0
- package/dist/dashboard-host-contract.d.ts.map +1 -0
- package/dist/dashboard-host-contract.js +14 -0
- package/dist/dashboard-host-contract.js.map +1 -0
- package/dist/dashboard-host-transport.d.ts +15 -0
- package/dist/dashboard-host-transport.d.ts.map +1 -0
- package/dist/dashboard-host-transport.js +122 -0
- package/dist/dashboard-host-transport.js.map +1 -0
- package/dist/dashboard-host.d.ts +149 -0
- package/dist/dashboard-host.d.ts.map +1 -0
- package/dist/dashboard-host.js +329 -0
- package/dist/dashboard-host.js.map +1 -0
- package/dist/dashboard-observation.d.ts +28 -0
- package/dist/dashboard-observation.d.ts.map +1 -0
- package/dist/dashboard-observation.js +86 -0
- package/dist/dashboard-observation.js.map +1 -0
- package/dist/debrief-contract.d.ts +65 -0
- package/dist/debrief-contract.d.ts.map +1 -0
- package/dist/debrief-contract.js +151 -0
- package/dist/debrief-contract.js.map +1 -0
- package/dist/debrief-fixture.d.ts +16 -0
- package/dist/debrief-fixture.d.ts.map +1 -0
- package/dist/debrief-fixture.js +41 -0
- package/dist/debrief-fixture.js.map +1 -0
- package/dist/debrief-host.d.ts +59 -0
- package/dist/debrief-host.d.ts.map +1 -0
- package/dist/debrief-host.js +49 -0
- package/dist/debrief-host.js.map +1 -0
- package/dist/debrief-render.d.ts +5 -0
- package/dist/debrief-render.d.ts.map +1 -0
- package/dist/debrief-render.js +65 -0
- package/dist/debrief-render.js.map +1 -0
- package/dist/debrief.d.ts +90 -0
- package/dist/debrief.d.ts.map +1 -0
- package/dist/debrief.js +263 -0
- package/dist/debrief.js.map +1 -0
- package/dist/delegate-types.d.ts +2 -0
- package/dist/delegate-types.d.ts.map +1 -1
- package/dist/delegate-types.js.map +1 -1
- package/dist/delegate.d.ts.map +1 -1
- package/dist/delegate.js +1 -0
- package/dist/delegate.js.map +1 -1
- package/dist/dispatch-control.d.ts +45 -0
- package/dist/dispatch-control.d.ts.map +1 -0
- package/dist/dispatch-control.js +76 -0
- package/dist/dispatch-control.js.map +1 -0
- package/dist/effect-profile-runtime.d.ts +40 -0
- package/dist/effect-profile-runtime.d.ts.map +1 -0
- package/dist/effect-profile-runtime.js +51 -0
- package/dist/effect-profile-runtime.js.map +1 -0
- package/dist/effect-profile.d.ts +40 -0
- package/dist/effect-profile.d.ts.map +1 -0
- package/dist/effect-profile.js +152 -0
- package/dist/effect-profile.js.map +1 -0
- package/dist/execution-retention.d.ts +90 -0
- package/dist/execution-retention.d.ts.map +1 -0
- package/dist/execution-retention.js +247 -0
- package/dist/execution-retention.js.map +1 -0
- package/dist/experiment-contract.d.ts +56 -0
- package/dist/experiment-contract.d.ts.map +1 -0
- package/dist/experiment-contract.js +80 -0
- package/dist/experiment-contract.js.map +1 -0
- package/dist/experiment-state.d.ts +22 -0
- package/dist/experiment-state.d.ts.map +1 -0
- package/dist/experiment-state.js +79 -0
- package/dist/experiment-state.js.map +1 -0
- package/dist/experiment-store.d.ts +28 -0
- package/dist/experiment-store.d.ts.map +1 -0
- package/dist/experiment-store.js +130 -0
- package/dist/experiment-store.js.map +1 -0
- package/dist/experiment.d.ts +65 -0
- package/dist/experiment.d.ts.map +1 -0
- package/dist/experiment.js +357 -0
- package/dist/experiment.js.map +1 -0
- package/dist/factory-contract.d.ts +79 -0
- package/dist/factory-contract.d.ts.map +1 -0
- package/dist/factory-contract.js +89 -0
- package/dist/factory-contract.js.map +1 -0
- package/dist/factory-migration.d.ts +20 -0
- package/dist/factory-migration.d.ts.map +1 -0
- package/dist/factory-migration.js +55 -0
- package/dist/factory-migration.js.map +1 -0
- package/dist/factory-order.d.ts +848 -0
- package/dist/factory-order.d.ts.map +1 -0
- package/dist/factory-order.js +83 -0
- package/dist/factory-order.js.map +1 -0
- package/dist/factory-registry.d.ts +121 -0
- package/dist/factory-registry.d.ts.map +1 -0
- package/dist/factory-registry.js +133 -0
- package/dist/factory-registry.js.map +1 -0
- package/dist/file-lock.d.ts +8 -2
- package/dist/file-lock.d.ts.map +1 -1
- package/dist/file-lock.js +78 -19
- package/dist/file-lock.js.map +1 -1
- package/dist/herdr-poll.d.ts +8 -0
- package/dist/herdr-poll.d.ts.map +1 -1
- package/dist/herdr-poll.js +23 -0
- package/dist/herdr-poll.js.map +1 -1
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/intent-application.d.ts +17 -0
- package/dist/intent-application.d.ts.map +1 -0
- package/dist/intent-application.js +113 -0
- package/dist/intent-application.js.map +1 -0
- package/dist/intent-control.d.ts +201 -0
- package/dist/intent-control.d.ts.map +1 -0
- package/dist/intent-control.js +110 -0
- package/dist/intent-control.js.map +1 -0
- package/dist/intent-scheduling.d.ts +9 -0
- package/dist/intent-scheduling.d.ts.map +1 -0
- package/dist/intent-scheduling.js +15 -0
- package/dist/intent-scheduling.js.map +1 -0
- package/dist/ledger-append.d.ts +15 -0
- package/dist/ledger-append.d.ts.map +1 -0
- package/dist/ledger-append.js +94 -0
- package/dist/ledger-append.js.map +1 -0
- package/dist/ledger.d.ts +11 -0
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +3 -7
- package/dist/ledger.js.map +1 -1
- package/dist/native-session-target.d.ts +9 -0
- package/dist/native-session-target.d.ts.map +1 -0
- package/dist/native-session-target.js +29 -0
- package/dist/native-session-target.js.map +1 -0
- package/dist/native-session.d.ts +59 -0
- package/dist/native-session.d.ts.map +1 -0
- package/dist/native-session.js +154 -0
- package/dist/native-session.js.map +1 -0
- package/dist/order-schedule.d.ts +37 -0
- package/dist/order-schedule.d.ts.map +1 -0
- package/dist/order-schedule.js +81 -0
- package/dist/order-schedule.js.map +1 -0
- package/dist/ordinary-children.d.ts +52 -0
- package/dist/ordinary-children.d.ts.map +1 -0
- package/dist/ordinary-children.js +93 -0
- package/dist/ordinary-children.js.map +1 -0
- package/dist/producer-ipc-contract.d.ts +29 -0
- package/dist/producer-ipc-contract.d.ts.map +1 -0
- package/dist/producer-ipc-contract.js +29 -0
- package/dist/producer-ipc-contract.js.map +1 -0
- package/dist/producer-ipc.d.ts +55 -0
- package/dist/producer-ipc.d.ts.map +1 -0
- package/dist/producer-ipc.js +143 -0
- package/dist/producer-ipc.js.map +1 -0
- package/dist/resource-budget.d.ts +334 -0
- package/dist/resource-budget.d.ts.map +1 -0
- package/dist/resource-budget.js +415 -0
- package/dist/resource-budget.js.map +1 -0
- package/dist/retention-contract.d.ts +73 -0
- package/dist/retention-contract.d.ts.map +1 -0
- package/dist/retention-contract.js +104 -0
- package/dist/retention-contract.js.map +1 -0
- package/dist/retention-json.d.ts +3 -0
- package/dist/retention-json.d.ts.map +1 -0
- package/dist/retention-json.js +32 -0
- package/dist/retention-json.js.map +1 -0
- package/dist/run-child.d.ts +4 -0
- package/dist/run-child.d.ts.map +1 -1
- package/dist/run-child.js +16 -2
- package/dist/run-child.js.map +1 -1
- package/dist/run-herdr.d.ts +6 -0
- package/dist/run-herdr.d.ts.map +1 -1
- package/dist/run-herdr.js +19 -6
- package/dist/run-herdr.js.map +1 -1
- package/dist/vendor/adoption.d.ts +129 -0
- package/dist/vendor/adoption.d.ts.map +1 -0
- package/dist/vendor/adoption.js +102 -0
- package/dist/vendor/adoption.js.map +1 -0
- package/dist/work-ledger-destination.d.ts +20 -0
- package/dist/work-ledger-destination.d.ts.map +1 -0
- package/dist/work-ledger-destination.js +131 -0
- package/dist/work-ledger-destination.js.map +1 -0
- package/dist/work-ledger-json.d.ts +25 -0
- package/dist/work-ledger-json.d.ts.map +1 -0
- package/dist/work-ledger-json.js +267 -0
- package/dist/work-ledger-json.js.map +1 -0
- package/dist/work-ledger-occurrences.d.ts +227 -0
- package/dist/work-ledger-occurrences.d.ts.map +1 -0
- package/dist/work-ledger-occurrences.js +115 -0
- package/dist/work-ledger-occurrences.js.map +1 -0
- package/dist/work-ledger-projection.d.ts +295 -0
- package/dist/work-ledger-projection.d.ts.map +1 -0
- package/dist/work-ledger-projection.js +237 -0
- package/dist/work-ledger-projection.js.map +1 -0
- package/dist/work-ledger-snapshot.d.ts +29 -0
- package/dist/work-ledger-snapshot.d.ts.map +1 -0
- package/dist/work-ledger-snapshot.js +267 -0
- package/dist/work-ledger-snapshot.js.map +1 -0
- package/dist/work-ledger-types.d.ts +261 -0
- package/dist/work-ledger-types.d.ts.map +1 -0
- package/dist/work-ledger-types.js +13 -0
- package/dist/work-ledger-types.js.map +1 -0
- package/dist/work-ledger-validation.d.ts +14 -0
- package/dist/work-ledger-validation.d.ts.map +1 -0
- package/dist/work-ledger-validation.js +226 -0
- package/dist/work-ledger-validation.js.map +1 -0
- package/dist/work-ledger.d.ts +43 -0
- package/dist/work-ledger.d.ts.map +1 -0
- package/dist/work-ledger.js +225 -0
- package/dist/work-ledger.js.map +1 -0
- package/extensions/delegate-chain.ts +1 -0
- package/extensions/delegation-native.ts +12 -0
- package/extensions/delegation.ts +4 -3
- package/extensions/execute-child.ts +34 -4
- package/extensions/grants.ts +2 -0
- package/extensions/ordinary-runtime.ts +14 -0
- package/extensions/run-delegation.ts +7 -7
- package/extensions/session.ts +3 -1
- package/package.json +78 -4
- package/src/check-runner.ts +20 -2
- package/src/control-journal.ts +26 -0
- package/src/daily-view-input.ts +59 -0
- package/src/daily-view-render.ts +44 -0
- package/src/daily-view.ts +152 -0
- package/src/dashboard-cli.ts +103 -4
- package/src/dashboard-harness.ts +28 -0
- package/src/dashboard-herdr.ts +7 -2
- package/src/dashboard-host-contract.ts +42 -0
- package/src/dashboard-host-transport.ts +38 -0
- package/src/dashboard-host.ts +168 -0
- package/src/dashboard-observation.ts +44 -0
- package/src/debrief-contract.ts +127 -0
- package/src/debrief-fixture.ts +29 -0
- package/src/debrief-host.ts +53 -0
- package/src/debrief-render.ts +49 -0
- package/src/debrief.ts +198 -0
- package/src/delegate-types.ts +2 -0
- package/src/delegate.ts +1 -0
- package/src/dispatch-control.ts +81 -0
- package/src/effect-profile-runtime.ts +46 -0
- package/src/effect-profile.ts +129 -0
- package/src/execution-retention.ts +230 -0
- package/src/experiment-contract.ts +66 -0
- package/src/experiment-state.ts +44 -0
- package/src/experiment-store.ts +90 -0
- package/src/experiment.ts +231 -0
- package/src/factory-contract.ts +47 -0
- package/src/factory-migration.ts +29 -0
- package/src/factory-order.ts +56 -0
- package/src/factory-registry.ts +60 -0
- package/src/file-lock.ts +47 -11
- package/src/herdr-poll.ts +18 -0
- package/src/index.ts +32 -0
- package/src/intent-application.ts +90 -0
- package/src/intent-control.ts +107 -0
- package/src/intent-scheduling.ts +14 -0
- package/src/ledger-append.ts +72 -0
- package/src/ledger.ts +3 -9
- package/src/native-session-target.ts +23 -0
- package/src/native-session.ts +139 -0
- package/src/order-schedule.ts +42 -0
- package/src/ordinary-children.ts +59 -0
- package/src/producer-ipc-contract.ts +26 -0
- package/src/producer-ipc.ts +107 -0
- package/src/resource-budget.ts +349 -0
- package/src/retention-contract.ts +84 -0
- package/src/retention-json.ts +20 -0
- package/src/run-child.ts +13 -2
- package/src/run-herdr.ts +11 -7
- package/src/vendor/adoption.ts +109 -0
- package/src/work-ledger-destination.ts +113 -0
- package/src/work-ledger-json.ts +228 -0
- package/src/work-ledger-occurrences.ts +99 -0
- package/src/work-ledger-projection.ts +262 -0
- package/src/work-ledger-snapshot.ts +246 -0
- package/src/work-ledger-types.ts +229 -0
- package/src/work-ledger-validation.ts +174 -0
- package/src/work-ledger.ts +186 -0
package/dist/herdr-poll.d.ts
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* agent was **already** in, and `agent read` is the one command that does **not** return a JSON envelope.
|
|
12
12
|
*/
|
|
13
13
|
import { type HerdrExec } from "./herdr-cli.ts";
|
|
14
|
+
import { herdrSessionReference } from "./native-session.ts";
|
|
14
15
|
/**
|
|
15
16
|
* What `waitForSettled` needs from a run request.
|
|
16
17
|
*
|
|
@@ -20,6 +21,8 @@ import { type HerdrExec } from "./herdr-cli.ts";
|
|
|
20
21
|
export interface PollTarget {
|
|
21
22
|
/** herdr agent name. */
|
|
22
23
|
name: string;
|
|
24
|
+
nativePaneId?: string;
|
|
25
|
+
onSessionReference?: (reference: NonNullable<ReturnType<typeof herdrSessionReference>>) => void;
|
|
23
26
|
signal?: AbortSignal;
|
|
24
27
|
/**
|
|
25
28
|
* The pane's last few lines, re-reported on every poll — a SNAPSHOT, not a stream (ADR-0032).
|
|
@@ -29,11 +32,16 @@ export interface PollTarget {
|
|
|
29
32
|
* `tailLines`.
|
|
30
33
|
*/
|
|
31
34
|
onSnapshot?: (lines: string[]) => void;
|
|
35
|
+
/** Reuses already-requested pane bytes; never adds an observation-only RPC. */
|
|
36
|
+
onObservation?: (bytes: Uint8Array) => void;
|
|
32
37
|
/** How many lines the display wants. Bounds the per-poll cost regardless of how big the pane is. */
|
|
33
38
|
snapshotLines?: number;
|
|
34
39
|
/** Poll cadence override. Exists so tests do not wait `POLL_INTERVAL_MS` per state transition. */
|
|
35
40
|
pollIntervalMs?: number;
|
|
36
41
|
}
|
|
42
|
+
/** The pre-prompt sequence from the native start reply; absent is unknown, never zero. */
|
|
43
|
+
export declare function observeHerdrSession(agent: unknown, pane: string | undefined, sink: PollTarget["onSessionReference"]): void;
|
|
44
|
+
export declare function seqOf(result: Record<string, unknown> | undefined): number;
|
|
37
45
|
/** How often to poll `agent get` while waiting for the child to settle. */
|
|
38
46
|
export declare const POLL_INTERVAL_MS = 750;
|
|
39
47
|
/** Lines of pane tail reported per poll. Matches the status block's own tail, so nothing is fetched unused. */
|
package/dist/herdr-poll.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herdr-poll.d.ts","sourceRoot":"","sources":["../src/herdr-poll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACvC,oGAAoG;IACpG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kGAAkG;IAClG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,+GAA+G;AAC/G,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"herdr-poll.d.ts","sourceRoot":"","sources":["../src/herdr-poll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,KAAK,IAAI,CAAC;IAChG,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACvC,+EAA+E;IAC/E,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC5C,oGAAoG;IACpG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kGAAkG;IAClG,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAKD,0FAA0F;AAC1F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAG1H;AAED,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,MAAM,CAGzE;AAED,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,+GAA+G;AAC/G,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;;;;;;GAYG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAsC1F;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAalE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuBpE"}
|
package/dist/herdr-poll.js
CHANGED
|
@@ -11,8 +11,24 @@
|
|
|
11
11
|
* agent was **already** in, and `agent read` is the one command that does **not** return a JSON envelope.
|
|
12
12
|
*/
|
|
13
13
|
import { parseReply } from "./herdr-cli.js";
|
|
14
|
+
import { herdrSessionReference } from "./native-session.js";
|
|
14
15
|
/** Statuses herdr reports for a settled agent. `blocked` counts: it is waiting for a human, not working. */
|
|
15
16
|
const TERMINAL = new Set(["idle", "done", "blocked"]);
|
|
17
|
+
/** The pre-prompt sequence from the native start reply; absent is unknown, never zero. */
|
|
18
|
+
export function observeHerdrSession(agent, pane, sink) {
|
|
19
|
+
if (!pane || !sink)
|
|
20
|
+
return;
|
|
21
|
+
try {
|
|
22
|
+
const reference = herdrSessionReference(agent, pane);
|
|
23
|
+
if (reference)
|
|
24
|
+
sink(reference);
|
|
25
|
+
}
|
|
26
|
+
catch { /* optional observation */ }
|
|
27
|
+
}
|
|
28
|
+
export function seqOf(result) {
|
|
29
|
+
const agent = (result?.agent ?? {});
|
|
30
|
+
return typeof agent.state_change_seq === "number" ? agent.state_change_seq : -1;
|
|
31
|
+
}
|
|
16
32
|
/** How often to poll `agent get` while waiting for the child to settle. */
|
|
17
33
|
export const POLL_INTERVAL_MS = 750;
|
|
18
34
|
/** Lines of pane tail reported per poll. Matches the status block's own tail, so nothing is fetched unused. */
|
|
@@ -47,6 +63,7 @@ export async function waitForSettled(exec, request, before, deadline, maxOutputB
|
|
|
47
63
|
if (reply.error)
|
|
48
64
|
return { spawnError: `herdr agent get failed: ${reply.error}` };
|
|
49
65
|
const agent = (reply.result?.agent ?? reply.result ?? {});
|
|
66
|
+
observeHerdrSession(agent, request.nativePaneId, request.onSessionReference);
|
|
50
67
|
const status = agent.agent_status;
|
|
51
68
|
const seq = typeof agent.state_change_seq === "number" ? agent.state_change_seq : -1;
|
|
52
69
|
if (request.onSnapshot) {
|
|
@@ -54,6 +71,12 @@ export async function waitForSettled(exec, request, before, deadline, maxOutputB
|
|
|
54
71
|
// output shown. `readFailed` is passed so a failed read renders as such instead of silently freezing the
|
|
55
72
|
// block on the previous frame — and, crucially, is never mistaken for the child's output.
|
|
56
73
|
const read = await readPane(exec, request.name, maxOutputBytes);
|
|
74
|
+
if (!read.readFailed) {
|
|
75
|
+
try {
|
|
76
|
+
request.onObservation?.(Buffer.from(read.text));
|
|
77
|
+
}
|
|
78
|
+
catch { /* observation only */ }
|
|
79
|
+
}
|
|
57
80
|
try {
|
|
58
81
|
request.onSnapshot(read.readFailed ? ["[pane could not be read]"] : tailLines(read.text, keep));
|
|
59
82
|
}
|
package/dist/herdr-poll.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"herdr-poll.js","sourceRoot":"","sources":["../src/herdr-poll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,UAAU,EAAkB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"herdr-poll.js","sourceRoot":"","sources":["../src/herdr-poll.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
export { resolve, assertNarrowing, toPiToolsAllowlist, UNIVERSAL_CAPABILITIES, type Capability, type ResolveInput, type ResolveResult, } from "./resolve.ts";
|
|
2
2
|
export { appendLedgerEvent, appendRecord, buildCheckReceiptLedgerEvent, buildChildLifecycleEvent, buildRecord, buildWorkspaceLeaseEvent, buildWorkflowFactEvent, WORKFLOW_FACT_KINDS, WORKFLOW_FACT_PROVENANCE, WORKFLOW_FACT_STATES, isEscalationAttempt, LEDGER_VERSION, type CheckReceiptLedgerEvent, type ChildLifecycleEvent, type GrantRecord, type LedgerOptions, type RuntimeLedgerEvent, type WorkspaceLeaseEvent, type WorkspaceLeaseOutcome, type WorkflowFactEvent, type WorkflowFactKind, type WorkflowFactProvenance, type WorkflowFactState, } from "./ledger.ts";
|
|
3
|
+
export { createDebriefPresenter, type DebriefPresenter, type DebriefHost, type DebriefFrame, type DebriefCheckpoint, type DebriefPersistence } from "./debrief.ts";
|
|
4
|
+
export { ordinaryChildrenFor, ordinaryCancellation, ordinaryCancellationDigest, isOrdinaryChildren, type OrdinaryChildren, type OrdinaryCancellation, type OrdinaryAuthority, type OrdinaryTarget } from "./ordinary-children.ts";
|
|
5
|
+
export { loadDashboardHarness, loadedDashboardHarnessDigest, type DashboardHarnessArtifact } from "./dashboard-harness.ts";
|
|
6
|
+
export { createDashboardHost, openDashboardHost, dashboardHostDigest, dashboardHostRequestDigest, dashboardSelectionDigest, type DashboardHost, type DashboardHostConfig, type DashboardHostRequest, type DashboardHostAuthority, type DashboardHarness, type DashboardHostOptions } from "./dashboard-host.ts";
|
|
7
|
+
export { serveDashboardHost, connectDashboardHost, ENV_DASHBOARD_HOST_SOCKET, type DashboardConnection } from "./dashboard-host-transport.ts";
|
|
8
|
+
export { createRetainedDebrief, retainDebriefBlind, openDebriefBlindPreview, type DebriefHarness, type CaseSelection, type DurableBlindBinding } from "./debrief-host.ts";
|
|
9
|
+
export { renderDebrief, debriefAction as dashboardDebriefAction } from "./debrief-render.ts";
|
|
10
|
+
export { type ReviewPort, type ReviewRequest, type BlindPort, type BlindChoice } from "./debrief-contract.ts";
|
|
11
|
+
export { readDailyView, createDailyViewReader, DAILY_VIEW_VERSION, type DailyView, type DailyViewOptions, type DailyAttempt, type DailyObligation } from "./daily-view.ts";
|
|
12
|
+
export { renderDailyView } from "./daily-view-render.ts";
|
|
13
|
+
export { parseArchiveProjection, ARCHIVE_PROJECTION_VERSION } from "./daily-view-input.ts";
|
|
14
|
+
export { bindWorkIntent } from "./intent-application.ts";
|
|
15
|
+
export { intentRequestDigest, parseIntentRequest, type IntentRequest, type IntentSelection, type IntentPriority, type IntentAdmission, type IntentSnapshot, type IntentReceipt, type WorkIntentBinding } from "./intent-control.ts";
|
|
16
|
+
export { dispatchRequestDigest, parseDispatchRequest, type DispatchRequest, type DispatchAuthority, type DispatchRecord, type DispatchSnapshot } from "./dispatch-control.ts";
|
|
17
|
+
export { createFactoryRegistry, openFactoryRegistry, createFactoryOrder, openFactoryOrder, migrateFactoryOrder, factoryOrderDigest, parseFactoryOrder, fixedPolicyDigest, factoryDecisionDigest, activationRequestDigest, factoryMigrationDigest, type FactoryRegistryBinding, type FactoryOrderCharter, type FactoryAuthority, type FactoryOrderView, type FixedPolicy, type ActivationRequest, type FactoryMigration } from "./factory-order.ts";
|
|
18
|
+
export { createExperiment, openExperiment, experimentCharterDigest, experimentBindingDigest, experimentCancellationDigest, parseExperimentCharter, type ExperimentBinding, type ExperimentCharter, type ExperimentAuthority, type ExperimentCancellation, type ExperimentRun, type ExperimentView } from "./experiment.ts";
|
|
19
|
+
export { createResourceBudget, createDispatchBudget, createIntentBudget, createExperimentBudget, openResourceBudget, resourceBindingDigest, ResourceAdmissionError, type BudgetBinding, type DispatchBudgetBinding, type IntentBudgetBinding, type ExperimentBudgetBinding, type GovernedBudgetBinding, type ResourceLimits, type AttemptDemand, type ResourcePermit, type BudgetSnapshot } from "./resource-budget.ts";
|
|
20
|
+
export { createProducerIpcHost, startProducerIpc, producerIpcBinding, producerIpcBindingDigest, producerIpcDemand, PRODUCER_IPC_LIMITS, type ProducerIpcBinding, type ProducerIpcReferences, type ProducerIpcContext, type ProducerIpcHost, type ProducerIpcSnapshot, type ProducerIpcRun } from "./producer-ipc.ts";
|
|
21
|
+
export { prepareDigestProfile, runDigestProfile, DIGEST_PROFILE, EffectProfileUnavailableError, type DigestProfile, type DigestAttempt } from "./effect-profile.ts";
|
|
3
22
|
export { planSpawn, type SpawnPlan, type SpawnPlanInput } from "./spawn.ts";
|
|
23
|
+
export { beginExecutionRetention, drainExecutionRetention, ENV_EXECUTION_ARCHIVE, RETENTION_VERSION, retentionConfigurationDigest, verifyRetainedBytes, type ExecutionRetentionManifest, type RetainedContent, type RetentionIdentity, type RetentionStatus, type ExecutionRetention, buildExecutionRetentionManifest, parseExecutionRetentionManifest, RETENTION_SCHEMA, ENV_NATIVE_SESSION_ROOT, readNativeSession, parseNativeSessionBytes, type NativeSessionObservation, type NativeSessionManager } from "./execution-retention.ts";
|
|
4
24
|
export { APPROVAL_TTL_DAYS, DELEGATE_SUBJECT, approvalKey, entryVerdict, expiryFor, inheritApprovals, offeredScopes, resolveApprovals, shouldSeekApproval, type ApprovalEntry, type ApprovalPath, type ApprovalScope, type ApprovalSource, type EntryVerdict, type SubjectSnapshot, } from "./approval.ts";
|
|
5
25
|
export { approvalsPath, loadApprovals, revokeAll, revokeApproval, saveApproval, type DroppedApproval, type SubjectLookup, } from "./approval-store.ts";
|
|
6
26
|
export { approvalBindingDigest, approvalBindingsEqual, buildApprovalBinding, digestCapabilities, digestTask, isApprovalBinding, normaliseCorrelation, type ApprovalBinding, type CorrelationMetadata, type JsonValue, } from "./correlation.ts";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,aAAa,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,4BAA4B,EAC5B,wBAAwB,EACxB,WAAW,EACX,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
1
|
export { resolve, assertNarrowing, toPiToolsAllowlist, UNIVERSAL_CAPABILITIES, } from "./resolve.js";
|
|
2
2
|
export { appendLedgerEvent, appendRecord, buildCheckReceiptLedgerEvent, buildChildLifecycleEvent, buildRecord, buildWorkspaceLeaseEvent, buildWorkflowFactEvent, WORKFLOW_FACT_KINDS, WORKFLOW_FACT_PROVENANCE, WORKFLOW_FACT_STATES, isEscalationAttempt, LEDGER_VERSION, } from "./ledger.js";
|
|
3
|
+
export { createDebriefPresenter } from "./debrief.js";
|
|
4
|
+
export { ordinaryChildrenFor, ordinaryCancellation, ordinaryCancellationDigest, isOrdinaryChildren } from "./ordinary-children.js";
|
|
5
|
+
export { loadDashboardHarness, loadedDashboardHarnessDigest } from "./dashboard-harness.js";
|
|
6
|
+
export { createDashboardHost, openDashboardHost, dashboardHostDigest, dashboardHostRequestDigest, dashboardSelectionDigest } from "./dashboard-host.js";
|
|
7
|
+
export { serveDashboardHost, connectDashboardHost, ENV_DASHBOARD_HOST_SOCKET } from "./dashboard-host-transport.js";
|
|
8
|
+
export { createRetainedDebrief, retainDebriefBlind, openDebriefBlindPreview } from "./debrief-host.js";
|
|
9
|
+
export { renderDebrief, debriefAction as dashboardDebriefAction } from "./debrief-render.js";
|
|
10
|
+
export {} from "./debrief-contract.js";
|
|
11
|
+
export { readDailyView, createDailyViewReader, DAILY_VIEW_VERSION } from "./daily-view.js";
|
|
12
|
+
export { renderDailyView } from "./daily-view-render.js";
|
|
13
|
+
export { parseArchiveProjection, ARCHIVE_PROJECTION_VERSION } from "./daily-view-input.js";
|
|
14
|
+
export { bindWorkIntent } from "./intent-application.js";
|
|
15
|
+
export { intentRequestDigest, parseIntentRequest } from "./intent-control.js";
|
|
16
|
+
export { dispatchRequestDigest, parseDispatchRequest } from "./dispatch-control.js";
|
|
17
|
+
export { createFactoryRegistry, openFactoryRegistry, createFactoryOrder, openFactoryOrder, migrateFactoryOrder, factoryOrderDigest, parseFactoryOrder, fixedPolicyDigest, factoryDecisionDigest, activationRequestDigest, factoryMigrationDigest } from "./factory-order.js";
|
|
18
|
+
export { createExperiment, openExperiment, experimentCharterDigest, experimentBindingDigest, experimentCancellationDigest, parseExperimentCharter } from "./experiment.js";
|
|
19
|
+
export { createResourceBudget, createDispatchBudget, createIntentBudget, createExperimentBudget, openResourceBudget, resourceBindingDigest, ResourceAdmissionError } from "./resource-budget.js";
|
|
20
|
+
export { createProducerIpcHost, startProducerIpc, producerIpcBinding, producerIpcBindingDigest, producerIpcDemand, PRODUCER_IPC_LIMITS } from "./producer-ipc.js";
|
|
21
|
+
export { prepareDigestProfile, runDigestProfile, DIGEST_PROFILE, EffectProfileUnavailableError } from "./effect-profile.js";
|
|
3
22
|
export { planSpawn } from "./spawn.js";
|
|
23
|
+
export { beginExecutionRetention, drainExecutionRetention, ENV_EXECUTION_ARCHIVE, RETENTION_VERSION, retentionConfigurationDigest, verifyRetainedBytes, buildExecutionRetentionManifest, parseExecutionRetentionManifest, RETENTION_SCHEMA, ENV_NATIVE_SESSION_ROOT, readNativeSession, parseNativeSessionBytes } from "./execution-retention.js";
|
|
4
24
|
export { APPROVAL_TTL_DAYS, DELEGATE_SUBJECT, approvalKey, entryVerdict, expiryFor, inheritApprovals, offeredScopes, resolveApprovals, shouldSeekApproval, } from "./approval.js";
|
|
5
25
|
export { approvalsPath, loadApprovals, revokeAll, revokeApproval, saveApproval, } from "./approval-store.js";
|
|
6
26
|
export { approvalBindingDigest, approvalBindingsEqual, buildApprovalBinding, digestCapabilities, digestTask, isApprovalBinding, normaliseCorrelation, } from "./correlation.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,eAAe,EACf,kBAAkB,EAClB,sBAAsB,GAIvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,4BAA4B,EAC5B,wBAAwB,EACxB,WAAW,EACX,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GAYf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAuC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type WorkFrozen } from "./work-ledger.ts";
|
|
2
|
+
import { resolveWorkSnapshotText } from "./work-ledger-snapshot.ts";
|
|
3
|
+
import { type WorkIntentBinding, type IntentRequest, type IntentState, type IntentSelection, type IntentPriority } from "./intent-control.ts";
|
|
4
|
+
export declare function workIntentBinding(input: WorkIntentBinding): WorkIntentBinding;
|
|
5
|
+
export declare function readIntentWork(input: WorkFrozen<WorkIntentBinding>): Promise<string>;
|
|
6
|
+
export declare function resolveIntent(text: string, selection: WorkFrozen<IntentSelection>, priorities: WorkFrozen<IntentPriority[]>): ReturnType<typeof resolveWorkSnapshotText>;
|
|
7
|
+
/** Actual owned bytes establish the physical binding; caller supplies the exact initial selection. */
|
|
8
|
+
export declare function bindWorkIntent(input: {
|
|
9
|
+
path: string;
|
|
10
|
+
grantLedgerPath: string | null;
|
|
11
|
+
selection: IntentSelection;
|
|
12
|
+
priorities: IntentPriority[];
|
|
13
|
+
}): Promise<WorkFrozen<WorkIntentBinding>>;
|
|
14
|
+
/** No authority callback: validate concrete P01 effects and prevent permission/owner/policy expansion. */
|
|
15
|
+
export declare function validateIntentApplication(binding: WorkFrozen<WorkIntentBinding>, state: IntentState, request: WorkFrozen<IntentRequest>): Promise<void>;
|
|
16
|
+
export declare function applyIntentApplication(binding: WorkFrozen<WorkIntentBinding>, state: IntentState, request: WorkFrozen<IntentRequest>): Promise<void>;
|
|
17
|
+
//# sourceMappingURL=intent-application.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-application.d.ts","sourceRoot":"","sources":["../src/intent-application.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkG,KAAK,UAAU,EAAqB,MAAM,kBAAkB,CAAC;AACtK,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EAAgD,KAAK,iBAAiB,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG5L,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,iBAAiB,GAAG,iBAAiB,CAK7E;AACD,wBAAsB,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAU1F;AACD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,eAAe,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,cAAc,EAAE,CAAC,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAMxK;AACD,sGAAsG;AACtG,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,SAAS,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,cAAc,EAAE,CAAA;CAAE,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAU9L;AACD,0GAA0G;AAC1G,wBAAsB,yBAAyB,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC7J;AACD,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,UAAU,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAO1J"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { lstat, realpath } from "node:fs/promises";
|
|
2
|
+
import { dirname, isAbsolute, resolve } from "node:path";
|
|
3
|
+
import { readDailySnapshot } from "./daily-view-input.js";
|
|
4
|
+
import { workDestination } from "./work-ledger-destination.js";
|
|
5
|
+
import { appendWorkLedgerEventOnce, buildWorkRevisionEvent, buildWorkSnapshotEvent, parseWorkLedgerText } from "./work-ledger.js";
|
|
6
|
+
import { resolveWorkSnapshotText } from "./work-ledger-snapshot.js";
|
|
7
|
+
import { controlShape } from "./dispatch-control.js";
|
|
8
|
+
import { freezeWork } from "./work-ledger-json.js";
|
|
9
|
+
import { intentKey, intentSelection, intentPriorities } from "./intent-control.js";
|
|
10
|
+
const ref = (r) => ({ kind: r.kind, id: r.id, revision: r.revision, digest: r.digest });
|
|
11
|
+
const entity = (r) => r ? `${r.kind}:${r.id}` : null;
|
|
12
|
+
export function workIntentBinding(input) {
|
|
13
|
+
controlShape(input, ["version", "path", "device", "inode", "grantLedgerPath", "selection", "priorities"]);
|
|
14
|
+
if (input.version !== "1.0" || typeof input.path !== "string" || input.path.length > 1024 || !isAbsolute(input.path) || resolve(input.path) !== input.path || input.path.split("/").includes(".pi") ||
|
|
15
|
+
![input.device, input.inode].every(x => typeof x === "string" && /^\d+$/.test(x)) || !(input.grantLedgerPath === null || typeof input.grantLedgerPath === "string" && input.grantLedgerPath.length <= 1024 && isAbsolute(input.grantLedgerPath)))
|
|
16
|
+
throw new TypeError("invalid pinned work binding");
|
|
17
|
+
return JSON.parse(intentKey({ ...input, selection: intentSelection(input.selection), priorities: intentPriorities(input.priorities) }));
|
|
18
|
+
}
|
|
19
|
+
export async function readIntentWork(input) {
|
|
20
|
+
const check = async () => {
|
|
21
|
+
const st = await lstat(input.path, { bigint: true });
|
|
22
|
+
if (!st.isFile() || st.nlink !== 1n || st.uid !== BigInt(process.getuid()) || (st.mode & 63n) || String(st.dev) !== input.device || String(st.ino) !== input.inode || await realpath(input.path) !== input.path)
|
|
23
|
+
throw new Error("work binding changed");
|
|
24
|
+
};
|
|
25
|
+
await check();
|
|
26
|
+
const bytes = await readDailySnapshot(input.path, 16 * 1024 * 1024);
|
|
27
|
+
await check();
|
|
28
|
+
if (bytes.status !== "read")
|
|
29
|
+
throw new Error("required work snapshot unavailable");
|
|
30
|
+
const text = new TextDecoder("utf-8", { fatal: true }).decode(bytes.bytes);
|
|
31
|
+
if (!text.endsWith("\n") || !parseWorkLedgerText(text).complete)
|
|
32
|
+
throw new Error("incomplete work ledger; no repair");
|
|
33
|
+
return text;
|
|
34
|
+
}
|
|
35
|
+
export function resolveIntent(text, selection, priorities) {
|
|
36
|
+
const result = resolveWorkSnapshotText(text, selection);
|
|
37
|
+
if (result.scopeState !== "valid" || !result.scope || !result.snapshot || result.revisions.length > 64)
|
|
38
|
+
throw new Error("unresolved authoritative work selection");
|
|
39
|
+
const wanted = result.snapshot.bindings.map(b => intentKey(b.obligation)).sort();
|
|
40
|
+
if (intentKey(wanted) !== intentKey(priorities.map(p => intentKey(p.obligation)).sort()))
|
|
41
|
+
throw new Error("priority policy must name exactly the selected obligations");
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
/** Actual owned bytes establish the physical binding; caller supplies the exact initial selection. */
|
|
45
|
+
export async function bindWorkIntent(input) {
|
|
46
|
+
controlShape(input, ["path", "grantLedgerPath", "selection", "priorities"]);
|
|
47
|
+
const selection = intentSelection(input.selection), priorities = intentPriorities(input.priorities), path = input.path, grantLedgerPath = input.grantLedgerPath;
|
|
48
|
+
if (typeof path !== "string" || !isAbsolute(path) || path.split("/").includes(".pi"))
|
|
49
|
+
throw new TypeError("explicit work path required");
|
|
50
|
+
await workDestination(path, grantLedgerPath);
|
|
51
|
+
const parent = await lstat(dirname(path), { bigint: true });
|
|
52
|
+
if (!parent.isDirectory() || (parent.mode & 63n) || parent.uid !== BigInt(process.getuid()))
|
|
53
|
+
throw new Error("owner-private work parent required");
|
|
54
|
+
const st = await lstat(path, { bigint: true });
|
|
55
|
+
const binding = workIntentBinding({ version: "1.0", path, grantLedgerPath, device: String(st.dev), inode: String(st.ino), selection, priorities });
|
|
56
|
+
resolveIntent(await readIntentWork(binding), selection, priorities);
|
|
57
|
+
return freezeWork(binding);
|
|
58
|
+
}
|
|
59
|
+
/** No authority callback: validate concrete P01 effects and prevent permission/owner/policy expansion. */
|
|
60
|
+
export async function validateIntentApplication(binding, state, request) {
|
|
61
|
+
const text = await readIntentWork(binding), current = resolveIntent(text, state.selection, state.priorities);
|
|
62
|
+
const existing = parseWorkLedgerText(text).events;
|
|
63
|
+
const missing = request.events.filter(e => {
|
|
64
|
+
const sameId = existing.filter(old => old.eventId === e.eventId);
|
|
65
|
+
if (sameId.some(old => old.digest !== e.digest))
|
|
66
|
+
throw new Error("proposed event identity conflicts with retained work");
|
|
67
|
+
return sameId.length === 0;
|
|
68
|
+
});
|
|
69
|
+
const candidate = text + missing.map(e => intentKey(e) + "\n").join("");
|
|
70
|
+
const next = resolveIntent(candidate, request.selection, request.priorities);
|
|
71
|
+
if (request.action === "reprioritize" && intentKey(request.selection) !== intentKey(state.selection))
|
|
72
|
+
throw new Error("priority is not scope selection");
|
|
73
|
+
if (request.action !== "reprioritize" && intentKey(request.selection) === intentKey(state.selection))
|
|
74
|
+
throw new Error("a different exact recorded selection is required");
|
|
75
|
+
const old = [current.scope, ...current.revisions], after = [next.scope, ...next.revisions];
|
|
76
|
+
if (intentKey(old.map(entity).sort()) !== intentKey(after.map(entity).sort()))
|
|
77
|
+
throw new Error("entity expansion/removal is outside this bounded adapter");
|
|
78
|
+
for (const r of after) {
|
|
79
|
+
const prior = old.find(p => entity(p) === entity(r));
|
|
80
|
+
if (r.ownerId !== prior.ownerId || r.scopeId !== prior.scopeId || r.permittedEffects.some(e => !prior.permittedEffects.includes(e)) || intentKey(r.policy) !== intentKey(prior.policy) ||
|
|
81
|
+
entity(r.parent) !== entity(prior.parent) || intentKey(r.dependencies.map(entity).sort()) !== intentKey(prior.dependencies.map(entity).sort()) ||
|
|
82
|
+
r.kind === "policy" && r.digest !== prior.digest)
|
|
83
|
+
throw new Error("owner, policy, topology or permission expansion refused");
|
|
84
|
+
if (["revise-scope", "revise-selection"].includes(request.action) && r.digest !== prior.digest && (r.revision !== prior.revision + 1 || intentKey(r.predecessor) !== intentKey(ref(prior))))
|
|
85
|
+
throw new Error("exact successor required");
|
|
86
|
+
}
|
|
87
|
+
if (request.action === "revise-selection" && !after.some(r => r.digest !== old.find(p => entity(p) === entity(r)).digest))
|
|
88
|
+
throw new Error("at least one exact successor revision required");
|
|
89
|
+
if (request.action === "revise-scope" && (next.scope.revision !== current.scope.revision + 1 || intentKey(next.scope.predecessor) !== intentKey(ref(current.scope))))
|
|
90
|
+
throw new Error("scope revision is not dispatch revision");
|
|
91
|
+
for (const e of request.events) {
|
|
92
|
+
// Rebuild through the actual P01 builders, not an alternate event/hash encoder.
|
|
93
|
+
if (e.event === "work_revision") {
|
|
94
|
+
const { digest: _digest, ...revision } = e.payload.revision;
|
|
95
|
+
if (!after.some(r => intentKey(ref(r)) === intentKey(ref(e.payload.revision))) || intentKey(buildWorkRevisionEvent({ eventId: e.eventId, now: new Date(e.ts), revision: JSON.parse(intentKey(revision)) })) !== intentKey(e))
|
|
96
|
+
throw new Error("unselected or noncanonical revision proposal");
|
|
97
|
+
}
|
|
98
|
+
else if (e.event === "work_snapshot") {
|
|
99
|
+
const { digest: _digest, ...snapshot } = e.payload.snapshot;
|
|
100
|
+
if (e.eventId !== request.selection.event.eventId || e.digest !== request.selection.event.digest || intentKey(buildWorkSnapshotEvent({ eventId: e.eventId, now: new Date(e.ts), snapshot: JSON.parse(intentKey(snapshot)) })) !== intentKey(e))
|
|
101
|
+
throw new Error("unselected snapshot proposal");
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
export async function applyIntentApplication(binding, state, request) {
|
|
106
|
+
await validateIntentApplication(binding, state, request);
|
|
107
|
+
for (const event of request.events) {
|
|
108
|
+
await readIntentWork(binding);
|
|
109
|
+
await appendWorkLedgerEventOnce({ path: binding.path, grantLedgerPath: binding.grantLedgerPath }, event);
|
|
110
|
+
}
|
|
111
|
+
resolveIntent(await readIntentWork(binding), request.selection, request.priorities);
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=intent-application.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-application.js","sourceRoot":"","sources":["../src/intent-application.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { type WorkFrozen, type WorkProjectionContext, type RevisionRef, type WorkRevisionEvent, type WorkSnapshotEvent } from "./work-ledger.ts";
|
|
2
|
+
export type IntentSelection = NonNullable<WorkProjectionContext["selectedSnapshot"]>;
|
|
3
|
+
export interface IntentPriority {
|
|
4
|
+
obligation: RevisionRef;
|
|
5
|
+
rank: number;
|
|
6
|
+
}
|
|
7
|
+
export interface WorkIntentBinding {
|
|
8
|
+
version: "1.0";
|
|
9
|
+
path: string;
|
|
10
|
+
device: string;
|
|
11
|
+
inode: string;
|
|
12
|
+
grantLedgerPath: string | null;
|
|
13
|
+
selection: IntentSelection;
|
|
14
|
+
priorities: IntentPriority[];
|
|
15
|
+
}
|
|
16
|
+
export interface IntentRequest {
|
|
17
|
+
version: "intent-request-v1" | "intent-request-v2";
|
|
18
|
+
requestId: string;
|
|
19
|
+
bindingDigest: string;
|
|
20
|
+
expectedRevision: number;
|
|
21
|
+
expectedSelection: IntentSelection;
|
|
22
|
+
action: "revise-scope" | "reprioritize" | "select-alternative" | "revise-selection";
|
|
23
|
+
events: (WorkRevisionEvent | WorkSnapshotEvent)[];
|
|
24
|
+
selection: IntentSelection;
|
|
25
|
+
priorities: IntentPriority[];
|
|
26
|
+
}
|
|
27
|
+
export interface IntentReceipt {
|
|
28
|
+
requestId: string;
|
|
29
|
+
digest: string;
|
|
30
|
+
expectedRevision: number;
|
|
31
|
+
expectedSelection: IntentSelection;
|
|
32
|
+
action: IntentRequest["action"];
|
|
33
|
+
selection: IntentSelection;
|
|
34
|
+
priorities: IntentPriority[];
|
|
35
|
+
events: {
|
|
36
|
+
eventId: string;
|
|
37
|
+
digest: string;
|
|
38
|
+
}[];
|
|
39
|
+
decision: "approved" | "authority-unavailable" | "stale" | "busy";
|
|
40
|
+
application: "pending-or-unknown" | "applied" | "not-applied";
|
|
41
|
+
outcome: "pending-or-unknown" | "selection-applied" | "priority-applied" | "refused";
|
|
42
|
+
resultSelection: IntentSelection | null;
|
|
43
|
+
}
|
|
44
|
+
export interface IntentState {
|
|
45
|
+
revision: number;
|
|
46
|
+
selection: IntentSelection;
|
|
47
|
+
priorities: IntentPriority[];
|
|
48
|
+
records: IntentReceipt[];
|
|
49
|
+
}
|
|
50
|
+
export interface IntentAdmission {
|
|
51
|
+
selection: IntentSelection;
|
|
52
|
+
revision: number;
|
|
53
|
+
obligation: RevisionRef;
|
|
54
|
+
}
|
|
55
|
+
export type IntentSnapshot = WorkFrozen<IntentState & {
|
|
56
|
+
version: "intent-controller-snapshot-v1";
|
|
57
|
+
bindingDigest: string;
|
|
58
|
+
admission: "blocked-pending" | "intent-ready";
|
|
59
|
+
acceptance: "not-assessed";
|
|
60
|
+
freshness: "snapshot-unknown";
|
|
61
|
+
}>;
|
|
62
|
+
export declare const intentKey: (value: unknown) => string;
|
|
63
|
+
export declare function intentPriorities(input: unknown): IntentPriority[];
|
|
64
|
+
export declare function intentSelection(value: unknown): IntentSelection;
|
|
65
|
+
export declare function intentRequest(input: IntentRequest): WorkFrozen<IntentRequest>;
|
|
66
|
+
export declare const parseIntentRequest: (text: string) => {
|
|
67
|
+
readonly version: "intent-request-v1" | "intent-request-v2";
|
|
68
|
+
readonly requestId: string;
|
|
69
|
+
readonly bindingDigest: string;
|
|
70
|
+
readonly expectedRevision: number;
|
|
71
|
+
readonly expectedSelection: {
|
|
72
|
+
readonly snapshot: {
|
|
73
|
+
readonly id: string;
|
|
74
|
+
readonly digest: string;
|
|
75
|
+
};
|
|
76
|
+
readonly event: {
|
|
77
|
+
readonly eventId: string;
|
|
78
|
+
readonly digest: string;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
readonly action: "revise-scope" | "reprioritize" | "select-alternative" | "revise-selection";
|
|
82
|
+
readonly events: readonly ({
|
|
83
|
+
readonly ledgerVersion: 4;
|
|
84
|
+
readonly event: "work_revision";
|
|
85
|
+
readonly eventId: string;
|
|
86
|
+
readonly ts: string;
|
|
87
|
+
readonly payload: {
|
|
88
|
+
readonly revision: {
|
|
89
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
90
|
+
readonly id: string;
|
|
91
|
+
readonly revision: number;
|
|
92
|
+
readonly scopeId: string;
|
|
93
|
+
readonly predecessor: {
|
|
94
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
95
|
+
readonly id: string;
|
|
96
|
+
readonly revision: number;
|
|
97
|
+
readonly digest: string;
|
|
98
|
+
} | null;
|
|
99
|
+
readonly contentDigest: string;
|
|
100
|
+
readonly parent: {
|
|
101
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
102
|
+
readonly id: string;
|
|
103
|
+
readonly revision: number;
|
|
104
|
+
readonly digest: string;
|
|
105
|
+
} | null;
|
|
106
|
+
readonly dependencies: readonly {
|
|
107
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
108
|
+
readonly id: string;
|
|
109
|
+
readonly revision: number;
|
|
110
|
+
readonly digest: string;
|
|
111
|
+
}[];
|
|
112
|
+
readonly ownerId: string;
|
|
113
|
+
readonly permittedEffects: readonly string[];
|
|
114
|
+
readonly policy: {
|
|
115
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
116
|
+
readonly id: string;
|
|
117
|
+
readonly revision: number;
|
|
118
|
+
readonly digest: string;
|
|
119
|
+
} | null;
|
|
120
|
+
readonly digest: string;
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
readonly digest: string;
|
|
124
|
+
} | {
|
|
125
|
+
readonly ledgerVersion: 4;
|
|
126
|
+
readonly event: "work_snapshot";
|
|
127
|
+
readonly eventId: string;
|
|
128
|
+
readonly ts: string;
|
|
129
|
+
readonly payload: {
|
|
130
|
+
readonly snapshot: {
|
|
131
|
+
readonly snapshotId: string;
|
|
132
|
+
readonly scope: {
|
|
133
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
134
|
+
readonly id: string;
|
|
135
|
+
readonly revision: number;
|
|
136
|
+
readonly digest: string;
|
|
137
|
+
};
|
|
138
|
+
readonly revisions: readonly {
|
|
139
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
140
|
+
readonly id: string;
|
|
141
|
+
readonly revision: number;
|
|
142
|
+
readonly digest: string;
|
|
143
|
+
}[];
|
|
144
|
+
readonly bindings: readonly {
|
|
145
|
+
readonly intent: {
|
|
146
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
147
|
+
readonly id: string;
|
|
148
|
+
readonly revision: number;
|
|
149
|
+
readonly digest: string;
|
|
150
|
+
};
|
|
151
|
+
readonly obligation: {
|
|
152
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
153
|
+
readonly id: string;
|
|
154
|
+
readonly revision: number;
|
|
155
|
+
readonly digest: string;
|
|
156
|
+
};
|
|
157
|
+
readonly artifact: {
|
|
158
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
159
|
+
readonly id: string;
|
|
160
|
+
readonly revision: number;
|
|
161
|
+
readonly digest: string;
|
|
162
|
+
} | null;
|
|
163
|
+
readonly policy: {
|
|
164
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
165
|
+
readonly id: string;
|
|
166
|
+
readonly revision: number;
|
|
167
|
+
readonly digest: string;
|
|
168
|
+
};
|
|
169
|
+
}[];
|
|
170
|
+
readonly digest: string;
|
|
171
|
+
};
|
|
172
|
+
};
|
|
173
|
+
readonly digest: string;
|
|
174
|
+
})[];
|
|
175
|
+
readonly selection: {
|
|
176
|
+
readonly snapshot: {
|
|
177
|
+
readonly id: string;
|
|
178
|
+
readonly digest: string;
|
|
179
|
+
};
|
|
180
|
+
readonly event: {
|
|
181
|
+
readonly eventId: string;
|
|
182
|
+
readonly digest: string;
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
readonly priorities: readonly {
|
|
186
|
+
readonly obligation: {
|
|
187
|
+
readonly kind: import("./work-ledger-types.ts").RevisionKind;
|
|
188
|
+
readonly id: string;
|
|
189
|
+
readonly revision: number;
|
|
190
|
+
readonly digest: string;
|
|
191
|
+
};
|
|
192
|
+
readonly rank: number;
|
|
193
|
+
}[];
|
|
194
|
+
};
|
|
195
|
+
export declare const intentRequestDigest: (input: WorkFrozen<IntentRequest>) => string;
|
|
196
|
+
export declare function intentReceipt(input: WorkFrozen<IntentRequest>, decision: IntentReceipt["decision"]): IntentReceipt;
|
|
197
|
+
export declare function matchesIntentReceipt(receipt: IntentReceipt, request: WorkFrozen<IntentRequest>): boolean;
|
|
198
|
+
export declare function intentDecision(state: IntentState, request: Pick<IntentRequest, "expectedRevision" | "expectedSelection">, authorized: boolean, dispatchBusy: boolean): IntentReceipt["decision"];
|
|
199
|
+
export declare function replayIntent(state: IntentState, event: Record<string, unknown>, active: number, dispatchBusy: boolean): void;
|
|
200
|
+
export declare function intentSnapshot(state: IntentState, bindingDigest: string): IntentSnapshot;
|
|
201
|
+
//# sourceMappingURL=intent-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intent-control.d.ts","sourceRoot":"","sources":["../src/intent-control.ts"],"names":[],"mappings":"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"}
|