harnery 0.33.0 → 0.34.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/dist/commander.d.ts.map +1 -1
- package/dist/commander.js +4 -0
- package/dist/commands/adapter.js +2 -2
- package/dist/commands/agents.d.ts +144 -1
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +1220 -588
- package/dist/commands/artifacts.d.ts.map +1 -1
- package/dist/commands/artifacts.js +7 -6
- package/dist/commands/backup.d.ts +1 -1
- package/dist/commands/backup.d.ts.map +1 -1
- package/dist/commands/backup.js +29 -16
- package/dist/commands/browse.d.ts.map +1 -1
- package/dist/commands/browse.js +234 -12
- package/dist/commands/checkpoint.d.ts.map +1 -1
- package/dist/commands/checkpoint.js +3 -2
- package/dist/commands/claude-desktop.d.ts +1 -1
- package/dist/commands/claude-desktop.d.ts.map +1 -1
- package/dist/commands/claude-desktop.js +3 -74
- package/dist/commands/context.js +1 -6
- package/dist/commands/decision.d.ts.map +1 -1
- package/dist/commands/decision.js +22 -38
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +91 -28
- package/dist/commands/doctor.js +10 -1
- package/dist/commands/events.d.ts +5 -0
- package/dist/commands/events.d.ts.map +1 -0
- package/dist/commands/events.js +189 -0
- package/dist/commands/governor.d.ts.map +1 -1
- package/dist/commands/governor.js +13 -4
- package/dist/commands/init.d.ts +9 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +223 -51
- package/dist/commands/journal.d.ts.map +1 -1
- package/dist/commands/journal.js +4 -13
- package/dist/commands/ledger-v3.d.ts +5 -0
- package/dist/commands/ledger-v3.d.ts.map +1 -0
- package/dist/commands/ledger-v3.js +91 -0
- package/dist/commands/presence.d.ts.map +1 -1
- package/dist/commands/presence.js +11 -5
- package/dist/commands/sync.d.ts +1 -1
- package/dist/commands/sync.js +1 -1
- package/dist/commands/web.d.ts +6 -0
- package/dist/commands/web.d.ts.map +1 -1
- package/dist/commands/web.js +67 -7
- package/dist/commands/work.d.ts.map +1 -1
- package/dist/commands/work.js +22 -5
- package/dist/core/adapter.d.ts +5 -0
- package/dist/core/adapter.d.ts.map +1 -0
- package/dist/core/adapter.js +1 -0
- package/dist/core/adapters/attest.d.ts +5 -2
- package/dist/core/adapters/attest.d.ts.map +1 -1
- package/dist/core/adapters/attest.js +8 -3
- package/dist/core/adapters/profiles.d.ts +6 -6
- package/dist/core/adapters/profiles.d.ts.map +1 -1
- package/dist/core/adapters/profiles.js +4 -4
- package/dist/core/agents/canonical-emit.d.ts +17 -15
- package/dist/core/agents/canonical-emit.d.ts.map +1 -1
- package/dist/core/agents/canonical-emit.js +22 -22
- package/dist/core/agents/cli.js +207 -234
- package/dist/core/agents/codex-archive-v3.d.ts +14 -0
- package/dist/core/agents/codex-archive-v3.d.ts.map +1 -0
- package/dist/core/agents/codex-archive-v3.js +110 -0
- package/dist/core/agents/coord-client.d.ts +19 -81
- package/dist/core/agents/coord-client.d.ts.map +1 -1
- package/dist/core/agents/coord-client.js +65 -155
- package/dist/core/agents/finalization.d.ts +4 -1
- package/dist/core/agents/finalization.d.ts.map +1 -1
- package/dist/core/agents/finalization.js +89 -32
- package/dist/core/agents/index.d.ts +4 -5
- package/dist/core/agents/index.d.ts.map +1 -1
- package/dist/core/agents/index.js +4 -5
- package/dist/core/agents/live-authority-v3.d.ts +59 -0
- package/dist/core/agents/live-authority-v3.d.ts.map +1 -0
- package/dist/core/agents/live-authority-v3.js +233 -0
- package/dist/core/agents/live-lifecycle-v3.d.ts +20 -0
- package/dist/core/agents/live-lifecycle-v3.d.ts.map +1 -0
- package/dist/core/agents/live-lifecycle-v3.js +91 -0
- package/dist/core/agents/live-observation-v3.d.ts +25 -0
- package/dist/core/agents/live-observation-v3.d.ts.map +1 -0
- package/dist/core/agents/live-observation-v3.js +157 -0
- package/dist/core/agents/render/prompt-context.d.ts +4 -4
- package/dist/core/agents/render/prompt-context.d.ts.map +1 -1
- package/dist/core/agents/render/prompt-context.js +23 -58
- package/dist/core/agents/render/session-context.d.ts +1 -1
- package/dist/core/agents/render/session-context.d.ts.map +1 -1
- package/dist/core/agents/render/session-context.js +8 -32
- package/dist/core/agents/rules/claim-conflict.d.ts +3 -3
- package/dist/core/agents/rules/claim-conflict.d.ts.map +1 -1
- package/dist/core/agents/rules/claim-conflict.js +79 -127
- package/dist/core/agents/rules/commit-conflict.d.ts.map +1 -1
- package/dist/core/agents/rules/commit-conflict.js +3 -18
- package/dist/core/agents/rules/stop-hook.d.ts +9 -50
- package/dist/core/agents/rules/stop-hook.d.ts.map +1 -1
- package/dist/core/agents/rules/stop-hook.js +193 -236
- package/dist/core/agents/session-events.d.ts +5 -7
- package/dist/core/agents/session-events.d.ts.map +1 -1
- package/dist/core/agents/session-events.js +127 -95
- package/dist/core/agents/session-finalization-state-v3.d.ts +30 -0
- package/dist/core/agents/session-finalization-state-v3.d.ts.map +1 -0
- package/dist/core/agents/session-finalization-state-v3.js +40 -0
- package/dist/core/agents/session-finalizer-v3.d.ts +107 -0
- package/dist/core/agents/session-finalizer-v3.d.ts.map +1 -0
- package/dist/core/agents/session-finalizer-v3.js +734 -0
- package/dist/core/agents/session-name-display.d.ts +40 -0
- package/dist/core/agents/session-name-display.d.ts.map +1 -0
- package/dist/core/agents/session-name-display.js +119 -0
- package/dist/core/agents/state/activity-log.d.ts +3 -3
- package/dist/core/agents/state/activity-log.d.ts.map +1 -1
- package/dist/core/agents/state/activity-log.js +7 -16
- package/dist/core/agents/state/heartbeat-writer.d.ts +23 -55
- package/dist/core/agents/state/heartbeat-writer.d.ts.map +1 -1
- package/dist/core/agents/state/heartbeat-writer.js +56 -228
- package/dist/core/agents/state/live-coordination-view.d.ts +31 -0
- package/dist/core/agents/state/live-coordination-view.d.ts.map +1 -0
- package/dist/core/agents/state/live-coordination-view.js +209 -0
- package/dist/core/agents/state/session-state.d.ts +4 -3
- package/dist/core/agents/state/session-state.d.ts.map +1 -1
- package/dist/core/agents/state/session-state.js +18 -9
- package/dist/core/agents/state/stale-sweep.d.ts +1 -1
- package/dist/core/agents/state/stale-sweep.d.ts.map +1 -1
- package/dist/core/agents/state/stale-sweep.js +26 -15
- package/dist/core/artifacts/index.d.ts.map +1 -1
- package/dist/core/artifacts/index.js +5 -7
- package/dist/core/config.d.ts +33 -2
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +98 -2
- package/dist/core/context/index.d.ts +1 -4
- package/dist/core/context/index.d.ts.map +1 -1
- package/dist/core/context/index.js +9 -9
- package/dist/core/events/span-parent.d.ts +15 -0
- package/dist/core/events/span-parent.d.ts.map +1 -0
- package/dist/core/events/span-parent.js +34 -0
- package/dist/core/events/v3/advance.d.ts +14 -0
- package/dist/core/events/v3/advance.d.ts.map +1 -0
- package/dist/core/events/v3/advance.js +134 -0
- package/dist/core/events/v3/authority-outbox.d.ts +78 -0
- package/dist/core/events/v3/authority-outbox.d.ts.map +1 -0
- package/dist/core/events/v3/authority-outbox.js +399 -0
- package/dist/core/events/v3/base-builder.d.ts +20 -0
- package/dist/core/events/v3/base-builder.d.ts.map +1 -0
- package/dist/core/events/v3/base-builder.js +29 -0
- package/dist/core/events/v3/base-contract.d.ts +7576 -0
- package/dist/core/events/v3/base-contract.d.ts.map +1 -0
- package/dist/core/events/v3/base-contract.js +647 -0
- package/dist/core/events/v3/bootstrap.d.ts +34 -0
- package/dist/core/events/v3/bootstrap.d.ts.map +1 -0
- package/dist/core/events/v3/bootstrap.js +175 -0
- package/dist/core/events/v3/builder.d.ts +20 -0
- package/dist/core/events/v3/builder.d.ts.map +1 -0
- package/dist/core/events/v3/builder.js +28 -0
- package/dist/core/events/v3/canonical.d.ts +31 -0
- package/dist/core/events/v3/canonical.d.ts.map +1 -0
- package/dist/core/events/v3/canonical.js +100 -0
- package/dist/core/events/v3/capabilities.d.ts +31 -0
- package/dist/core/events/v3/capabilities.d.ts.map +1 -0
- package/dist/core/events/v3/capabilities.js +107 -0
- package/dist/core/events/v3/capability-drift.d.ts +22 -0
- package/dist/core/events/v3/capability-drift.d.ts.map +1 -0
- package/dist/core/events/v3/capability-drift.js +134 -0
- package/dist/core/events/v3/catalog.d.ts +38 -0
- package/dist/core/events/v3/catalog.d.ts.map +1 -0
- package/dist/core/events/v3/catalog.js +135 -0
- package/dist/core/events/v3/clock-order.d.ts +34 -0
- package/dist/core/events/v3/clock-order.d.ts.map +1 -0
- package/dist/core/events/v3/clock-order.js +35 -0
- package/dist/core/events/v3/contract.d.ts +171 -0
- package/dist/core/events/v3/contract.d.ts.map +1 -0
- package/dist/core/events/v3/contract.js +180 -0
- package/dist/core/events/v3/control.d.ts +111 -0
- package/dist/core/events/v3/control.d.ts.map +1 -0
- package/dist/core/events/v3/control.js +419 -0
- package/dist/core/events/v3/coordination-view.d.ts +69 -0
- package/dist/core/events/v3/coordination-view.d.ts.map +1 -0
- package/dist/core/events/v3/coordination-view.js +119 -0
- package/dist/core/events/v3/economics.d.ts +77 -0
- package/dist/core/events/v3/economics.d.ts.map +1 -0
- package/dist/core/events/v3/economics.js +274 -0
- package/dist/core/events/v3/finalization-view.d.ts +26 -0
- package/dist/core/events/v3/finalization-view.d.ts.map +1 -0
- package/dist/core/events/v3/finalization-view.js +37 -0
- package/dist/core/events/v3/fingerprint-keys.d.ts +25 -0
- package/dist/core/events/v3/fingerprint-keys.d.ts.map +1 -0
- package/dist/core/events/v3/fingerprint-keys.js +217 -0
- package/dist/core/events/v3/generated.d.ts +4 -0
- package/dist/core/events/v3/generated.d.ts.map +1 -0
- package/dist/core/events/v3/generated.js +47 -0
- package/dist/core/events/v3/ids.d.ts +9 -0
- package/dist/core/events/v3/ids.d.ts.map +1 -0
- package/dist/core/events/v3/ids.js +25 -0
- package/dist/core/events/v3/index.d.ts +35 -0
- package/dist/core/events/v3/index.d.ts.map +1 -0
- package/dist/core/events/v3/index.js +33 -0
- package/dist/core/events/v3/latency.d.ts +63 -0
- package/dist/core/events/v3/latency.d.ts.map +1 -0
- package/dist/core/events/v3/latency.js +412 -0
- package/dist/core/events/v3/live-feed.d.ts +45 -0
- package/dist/core/events/v3/live-feed.d.ts.map +1 -0
- package/dist/core/events/v3/live-feed.js +246 -0
- package/dist/core/events/v3/live-observation.d.ts +35 -0
- package/dist/core/events/v3/live-observation.d.ts.map +1 -0
- package/dist/core/events/v3/live-observation.js +1 -0
- package/dist/core/events/v3/live-routing.d.ts +57 -0
- package/dist/core/events/v3/live-routing.d.ts.map +1 -0
- package/dist/core/events/v3/live-routing.js +107 -0
- package/dist/core/events/v3/producers/command-recorder.d.ts +67 -0
- package/dist/core/events/v3/producers/command-recorder.d.ts.map +1 -0
- package/dist/core/events/v3/producers/command-recorder.js +477 -0
- package/dist/core/events/v3/producers/command.d.ts +50 -0
- package/dist/core/events/v3/producers/command.d.ts.map +1 -0
- package/dist/core/events/v3/producers/command.js +135 -0
- package/dist/core/events/v3/producers/coordination-recorder.d.ts +53 -0
- package/dist/core/events/v3/producers/coordination-recorder.d.ts.map +1 -0
- package/dist/core/events/v3/producers/coordination-recorder.js +376 -0
- package/dist/core/events/v3/producers/coordination.d.ts +90 -0
- package/dist/core/events/v3/producers/coordination.d.ts.map +1 -0
- package/dist/core/events/v3/producers/coordination.js +229 -0
- package/dist/core/events/v3/producers/hook-base.d.ts +54 -0
- package/dist/core/events/v3/producers/hook-base.d.ts.map +1 -0
- package/dist/core/events/v3/producers/hook-base.js +424 -0
- package/dist/core/events/v3/producers/hook.d.ts +29 -0
- package/dist/core/events/v3/producers/hook.d.ts.map +1 -0
- package/dist/core/events/v3/producers/hook.js +71 -0
- package/dist/core/events/v3/producers/intake.d.ts +65 -0
- package/dist/core/events/v3/producers/intake.d.ts.map +1 -0
- package/dist/core/events/v3/producers/intake.js +244 -0
- package/dist/core/events/v3/producers/recorder.d.ts +240 -0
- package/dist/core/events/v3/producers/recorder.d.ts.map +1 -0
- package/dist/core/events/v3/producers/recorder.js +2176 -0
- package/dist/core/events/v3/projection.d.ts +101 -0
- package/dist/core/events/v3/projection.d.ts.map +1 -0
- package/dist/core/events/v3/projection.js +479 -0
- package/dist/core/events/v3/reader.d.ts +75 -0
- package/dist/core/events/v3/reader.d.ts.map +1 -0
- package/dist/core/events/v3/reader.js +778 -0
- package/dist/core/events/v3/recovery-record.d.ts +47 -0
- package/dist/core/events/v3/recovery-record.d.ts.map +1 -0
- package/dist/core/events/v3/recovery-record.js +167 -0
- package/dist/core/events/v3/recovery.d.ts +22 -0
- package/dist/core/events/v3/recovery.d.ts.map +1 -0
- package/dist/core/events/v3/recovery.js +227 -0
- package/dist/core/events/v3/span-state.d.ts +52 -0
- package/dist/core/events/v3/span-state.d.ts.map +1 -0
- package/dist/core/events/v3/span-state.js +142 -0
- package/dist/core/events/v3/targets.d.ts +23 -0
- package/dist/core/events/v3/targets.d.ts.map +1 -0
- package/dist/core/events/v3/targets.js +134 -0
- package/dist/core/events/v3/turn-telemetry.d.ts +41 -0
- package/dist/core/events/v3/turn-telemetry.d.ts.map +1 -0
- package/dist/core/events/v3/turn-telemetry.js +168 -0
- package/dist/core/events/v3/validate.d.ts +9 -0
- package/dist/core/events/v3/validate.d.ts.map +1 -0
- package/dist/core/events/v3/validate.js +281 -0
- package/dist/core/events/v3/writer.d.ts +56 -0
- package/dist/core/events/v3/writer.d.ts.map +1 -0
- package/dist/core/events/v3/writer.js +335 -0
- package/dist/core/governor/index.d.ts +1 -1
- package/dist/core/governor/index.d.ts.map +1 -1
- package/dist/core/governor/index.js +1 -1
- package/dist/core/governor/plan-api.d.ts +2 -1
- package/dist/core/governor/plan-api.d.ts.map +1 -1
- package/dist/core/governor/plan-api.js +6 -3
- package/dist/core/governor/read.d.ts +1 -1
- package/dist/core/governor/read.d.ts.map +1 -1
- package/dist/core/governor/read.js +1 -1
- package/dist/core/governor/state.d.ts +9 -0
- package/dist/core/governor/state.d.ts.map +1 -1
- package/dist/core/governor/state.js +40 -3
- package/dist/core/guard/config.d.ts +5 -0
- package/dist/core/guard/config.d.ts.map +1 -0
- package/dist/core/guard/config.js +157 -0
- package/dist/core/guard/coordinator.d.ts +14 -0
- package/dist/core/guard/coordinator.d.ts.map +1 -0
- package/dist/core/guard/coordinator.js +173 -0
- package/dist/core/guard/evaluator.d.ts +4 -0
- package/dist/core/guard/evaluator.d.ts.map +1 -0
- package/dist/core/guard/evaluator.js +242 -0
- package/dist/core/guard/evidence-v3.d.ts +15 -0
- package/dist/core/guard/evidence-v3.d.ts.map +1 -0
- package/dist/core/guard/evidence-v3.js +171 -0
- package/dist/core/guard/index.d.ts +10 -0
- package/dist/core/guard/index.d.ts.map +1 -0
- package/dist/core/guard/index.js +6 -0
- package/dist/core/guard/live-source-v3.d.ts +40 -0
- package/dist/core/guard/live-source-v3.d.ts.map +1 -0
- package/dist/core/guard/live-source-v3.js +128 -0
- package/dist/core/guard/storage.d.ts +27 -0
- package/dist/core/guard/storage.d.ts.map +1 -0
- package/dist/core/guard/storage.js +140 -0
- package/dist/core/guard/types.d.ts +119 -0
- package/dist/core/guard/types.d.ts.map +1 -0
- package/dist/core/guard/types.js +1 -0
- package/dist/core/hooks/adapter/detect.d.ts +18 -1
- package/dist/core/hooks/adapter/detect.d.ts.map +1 -1
- package/dist/core/hooks/adapter/detect.js +29 -0
- package/dist/core/hooks/adapter/events.d.ts +7 -4
- package/dist/core/hooks/adapter/events.d.ts.map +1 -1
- package/dist/core/hooks/adapter/events.js +12 -4
- package/dist/core/hooks/adapter/output.d.ts +2 -2
- package/dist/core/hooks/adapter/output.d.ts.map +1 -1
- package/dist/core/hooks/adapter/parse.d.ts +7 -4
- package/dist/core/hooks/adapter/parse.d.ts.map +1 -1
- package/dist/core/hooks/adapter/parse.js +63 -25
- package/dist/core/hooks/adapter/wiring.d.ts +30 -4
- package/dist/core/hooks/adapter/wiring.d.ts.map +1 -1
- package/dist/core/hooks/adapter/wiring.js +89 -11
- package/dist/core/hooks/cli.d.ts +1 -1
- package/dist/core/hooks/cli.js +305 -444
- package/dist/core/hooks/effects/image-capture.d.ts +20 -34
- package/dist/core/hooks/effects/image-capture.d.ts.map +1 -1
- package/dist/core/hooks/effects/image-capture.js +212 -221
- package/dist/core/hooks/effects/index.d.ts +1 -9
- package/dist/core/hooks/effects/index.d.ts.map +1 -1
- package/dist/core/hooks/effects/index.js +1 -24
- package/dist/core/hooks/events/input-hash.d.ts +7 -0
- package/dist/core/hooks/events/input-hash.d.ts.map +1 -0
- package/dist/core/hooks/events/input-hash.js +43 -0
- package/dist/core/hooks/index.d.ts +4 -3
- package/dist/core/hooks/index.d.ts.map +1 -1
- package/dist/core/hooks/index.js +2 -3
- package/dist/core/hooks/resolve/coord-root.d.ts +1 -1
- package/dist/core/hooks/resolve/coord-root.js +1 -1
- package/dist/core/hooks/resolve/owner.d.ts +16 -15
- package/dist/core/hooks/resolve/owner.d.ts.map +1 -1
- package/dist/core/hooks/resolve/owner.js +51 -42
- package/dist/core/hooks/resolve/transcript.d.ts +33 -3
- package/dist/core/hooks/resolve/transcript.d.ts.map +1 -1
- package/dist/core/hooks/resolve/transcript.js +155 -14
- package/dist/core/hooks/session-name-presence.d.ts +9 -10
- package/dist/core/hooks/session-name-presence.d.ts.map +1 -1
- package/dist/core/hooks/session-name-presence.js +15 -15
- package/dist/core/hooks/unsafe-cross-shell.d.ts +1 -1
- package/dist/core/hooks/unsafe-cross-shell.d.ts.map +1 -1
- package/dist/core/journal/index.d.ts +2 -2
- package/dist/core/journal/index.d.ts.map +1 -1
- package/dist/core/journal/index.js +9 -22
- package/dist/core/presence/blob.d.ts +4 -3
- package/dist/core/presence/blob.d.ts.map +1 -1
- package/dist/core/presence/blob.js +45 -44
- package/dist/core/presence/codec-digest.d.ts +29 -0
- package/dist/core/presence/codec-digest.d.ts.map +1 -0
- package/dist/core/presence/codec-digest.js +170 -0
- package/dist/core/presence/relay-client.d.ts +1 -1
- package/dist/core/presence/relay-client.d.ts.map +1 -1
- package/dist/core/presence/relay-client.js +5 -5
- package/dist/core/work/index.d.ts +1 -1
- package/dist/core/work/index.d.ts.map +1 -1
- package/dist/core/work/index.js +1 -1
- package/dist/core/work/read.d.ts +1 -1
- package/dist/core/work/read.d.ts.map +1 -1
- package/dist/core/work/read.js +1 -1
- package/dist/core/work/runner.d.ts.map +1 -1
- package/dist/core/work/runner.js +6 -0
- package/dist/core/work/state.d.ts +9 -0
- package/dist/core/work/state.d.ts.map +1 -1
- package/dist/core/work/state.js +17 -3
- package/dist/core/workflow/engine.js +24 -25
- package/dist/core/workflow/live-session-v3.d.ts +19 -0
- package/dist/core/workflow/live-session-v3.d.ts.map +1 -0
- package/dist/core/workflow/live-session-v3.js +86 -0
- package/dist/core/workflow/scope-id.d.ts +3 -0
- package/dist/core/workflow/scope-id.d.ts.map +1 -0
- package/dist/core/workflow/scope-id.js +5 -0
- package/dist/core/workflow/workspaces/leases.d.ts +4 -0
- package/dist/core/workflow/workspaces/leases.d.ts.map +1 -1
- package/dist/core/workflow/workspaces/leases.js +53 -19
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/lib/browser/client.d.ts +41 -0
- package/dist/lib/browser/client.d.ts.map +1 -1
- package/dist/lib/browser/client.js +203 -0
- package/dist/lib/browser/critique.d.ts +28 -2
- package/dist/lib/browser/critique.d.ts.map +1 -1
- package/dist/lib/browser/critique.js +74 -18
- package/dist/lib/browser/geometry.d.ts +1 -1
- package/dist/lib/browser/geometry.d.ts.map +1 -1
- package/dist/lib/browser/geometry.js +130 -6
- package/dist/lib/browser/index.d.ts +3 -0
- package/dist/lib/browser/index.d.ts.map +1 -1
- package/dist/lib/browser/index.js +3 -0
- package/dist/lib/browser/qa-plan.d.ts +174 -0
- package/dist/lib/browser/qa-plan.d.ts.map +1 -0
- package/dist/lib/browser/qa-plan.js +321 -0
- package/dist/lib/browser/qa-reuse.d.ts +99 -0
- package/dist/lib/browser/qa-reuse.d.ts.map +1 -0
- package/dist/lib/browser/qa-reuse.js +222 -0
- package/dist/lib/browser/qa-snapshot.d.ts +64 -0
- package/dist/lib/browser/qa-snapshot.d.ts.map +1 -0
- package/dist/lib/browser/qa-snapshot.js +171 -0
- package/dist/lib/browser/runts.d.ts.map +1 -1
- package/dist/lib/browser/runts.js +22 -1
- package/dist/lib/browser/tiling.d.ts +71 -0
- package/dist/lib/browser/tiling.d.ts.map +1 -0
- package/dist/lib/browser/tiling.js +118 -0
- package/dist/lib/claude-desktop.d.ts +0 -47
- package/dist/lib/claude-desktop.d.ts.map +1 -1
- package/dist/lib/claude-desktop.js +1 -169
- package/dist/lib/context/index.d.ts +0 -3
- package/dist/lib/context/index.d.ts.map +1 -1
- package/dist/lib/context/index.js +20 -42
- package/dist/lib/council/index.d.ts +2 -2
- package/dist/lib/council/index.d.ts.map +1 -1
- package/dist/lib/council/index.js +9 -20
- package/dist/lib/docs-frontmatter.d.ts +1 -6
- package/dist/lib/docs-frontmatter.d.ts.map +1 -1
- package/dist/lib/docs-frontmatter.js +12 -78
- package/dist/lib/docs-index.d.ts +9 -0
- package/dist/lib/docs-index.d.ts.map +1 -1
- package/dist/lib/docs-index.js +32 -3
- package/dist/lib/docs-lint.d.ts.map +1 -1
- package/dist/lib/docs-lint.js +14 -30
- package/dist/lib/docs-metadata-audit.d.ts +19 -0
- package/dist/lib/docs-metadata-audit.d.ts.map +1 -0
- package/dist/lib/docs-metadata-audit.js +132 -0
- package/dist/lib/docs-metadata-managed.d.ts +23 -0
- package/dist/lib/docs-metadata-managed.d.ts.map +1 -0
- package/dist/lib/docs-metadata-managed.js +78 -0
- package/dist/lib/docs-metadata-sync.d.ts +20 -0
- package/dist/lib/docs-metadata-sync.d.ts.map +1 -0
- package/dist/lib/docs-metadata-sync.js +222 -0
- package/dist/lib/docs-metadata-v2-schema.d.ts +273 -0
- package/dist/lib/docs-metadata-v2-schema.d.ts.map +1 -0
- package/dist/lib/docs-metadata-v2-schema.js +134 -0
- package/dist/lib/docs-metadata-v2.d.ts +21 -0
- package/dist/lib/docs-metadata-v2.d.ts.map +1 -0
- package/dist/lib/docs-metadata-v2.js +424 -0
- package/dist/lib/docs-new.d.ts +11 -0
- package/dist/lib/docs-new.d.ts.map +1 -0
- package/dist/lib/docs-new.js +52 -0
- package/dist/lib/docs-sweep.d.ts.map +1 -1
- package/dist/lib/docs-sweep.js +45 -29
- package/dist/lib/headless/index.d.ts +98 -0
- package/dist/lib/headless/index.d.ts.map +1 -0
- package/dist/lib/headless/index.js +211 -0
- package/dist/lib/identities/assume.d.ts +4 -4
- package/dist/lib/identities/assume.d.ts.map +1 -1
- package/dist/lib/identities/assume.js +52 -68
- package/dist/lib/instructions/apply.d.ts +5 -4
- package/dist/lib/instructions/apply.d.ts.map +1 -1
- package/dist/lib/instructions/apply.js +32 -20
- package/dist/lib/instructions/bundle.d.ts +1 -1
- package/dist/lib/instructions/bundle.d.ts.map +1 -1
- package/dist/lib/instructions/bundle.js +1 -1
- package/dist/lib/instructions/splice.d.ts +0 -1
- package/dist/lib/instructions/splice.d.ts.map +1 -1
- package/dist/lib/instructions/splice.js +22 -6
- package/dist/lib/instructions/templates.d.ts +7 -5
- package/dist/lib/instructions/templates.d.ts.map +1 -1
- package/dist/lib/instructions/templates.js +79 -9
- package/package.json +26 -5
- package/schemas/config.schema.json +120 -2
- package/schemas/docs-metadata-v2.schema.json +441 -0
- package/schemas/event-v3.schema.json +24472 -0
- package/src/commander.ts +4 -0
- package/src/commands/adapter.ts +2 -2
- package/src/commands/agents.ts +1512 -592
- package/src/commands/artifacts.ts +7 -6
- package/src/commands/backup.ts +29 -21
- package/src/commands/browse.ts +349 -8
- package/src/commands/checkpoint.ts +4 -3
- package/src/commands/claude-desktop.ts +2 -101
- package/src/commands/context.ts +1 -6
- package/src/commands/decision.ts +27 -44
- package/src/commands/docs.ts +100 -33
- package/src/commands/doctor.ts +14 -1
- package/src/commands/events.ts +256 -0
- package/src/commands/governor.ts +18 -4
- package/src/commands/init.ts +253 -57
- package/src/commands/instructions.ts +1 -1
- package/src/commands/journal.ts +4 -13
- package/src/commands/ledger-v3.ts +111 -0
- package/src/commands/presence.ts +11 -10
- package/src/commands/sync.ts +1 -1
- package/src/commands/web.ts +67 -8
- package/src/commands/work.ts +28 -5
- package/src/core/adapter.ts +5 -0
- package/src/core/adapters/attest.ts +8 -3
- package/src/core/adapters/profiles.ts +4 -6
- package/src/core/agents/canonical-emit.ts +34 -25
- package/src/core/agents/cli.ts +236 -262
- package/src/core/agents/codex-archive-v3.ts +138 -0
- package/src/core/agents/coord-client.ts +75 -188
- package/src/core/agents/finalization.ts +120 -38
- package/src/core/agents/index.ts +4 -5
- package/src/core/agents/live-authority-v3.ts +375 -0
- package/src/core/agents/live-lifecycle-v3.ts +140 -0
- package/src/core/agents/live-observation-v3.ts +216 -0
- package/src/core/agents/render/prompt-context.ts +29 -60
- package/src/core/agents/render/session-context.ts +10 -31
- package/src/core/agents/rules/claim-conflict.ts +85 -126
- package/src/core/agents/rules/commit-conflict.ts +3 -14
- package/src/core/agents/rules/stop-hook.ts +239 -293
- package/src/core/agents/session-events.ts +137 -104
- package/src/core/agents/session-finalization-state-v3.ts +90 -0
- package/src/core/agents/session-finalizer-v3.ts +953 -0
- package/src/core/agents/session-name-display.ts +149 -0
- package/src/core/agents/state/activity-log.ts +6 -14
- package/src/core/agents/state/heartbeat-writer.ts +82 -277
- package/src/core/agents/state/live-coordination-view.ts +290 -0
- package/src/core/agents/state/session-state.ts +24 -12
- package/src/core/agents/state/stale-sweep.ts +40 -17
- package/src/core/artifacts/index.ts +4 -5
- package/src/core/config.ts +148 -3
- package/src/core/context/index.ts +9 -17
- package/src/core/events/span-parent.ts +46 -0
- package/src/core/events/v3/advance.ts +168 -0
- package/src/core/events/v3/authority-outbox.ts +548 -0
- package/src/core/events/v3/base-builder.ts +60 -0
- package/src/core/events/v3/base-contract.ts +882 -0
- package/src/core/events/v3/bootstrap.ts +226 -0
- package/src/core/events/v3/builder.ts +59 -0
- package/src/core/events/v3/canonical.ts +153 -0
- package/src/core/events/v3/capabilities.ts +171 -0
- package/src/core/events/v3/capability-drift.ts +177 -0
- package/src/core/events/v3/catalog.ts +202 -0
- package/src/core/events/v3/clock-order.ts +41 -0
- package/src/core/events/v3/contract.ts +365 -0
- package/src/core/events/v3/control.ts +576 -0
- package/src/core/events/v3/coordination-view.ts +193 -0
- package/src/core/events/v3/economics.ts +384 -0
- package/src/core/events/v3/finalization-view.ts +67 -0
- package/src/core/events/v3/fingerprint-keys.ts +260 -0
- package/src/core/events/v3/generated.ts +48 -0
- package/src/core/events/v3/ids.ts +33 -0
- package/src/core/events/v3/index.ts +322 -0
- package/src/core/events/v3/latency.ts +551 -0
- package/src/core/events/v3/live-feed.ts +319 -0
- package/src/core/events/v3/live-observation.ts +39 -0
- package/src/core/events/v3/live-routing.ts +135 -0
- package/src/core/events/v3/producers/command-recorder.ts +631 -0
- package/src/core/events/v3/producers/command.ts +201 -0
- package/src/core/events/v3/producers/coordination-recorder.ts +538 -0
- package/src/core/events/v3/producers/coordination.ts +355 -0
- package/src/core/events/v3/producers/hook-base.ts +578 -0
- package/src/core/events/v3/producers/hook.ts +119 -0
- package/src/core/events/v3/producers/intake.ts +319 -0
- package/src/core/events/v3/producers/recorder.ts +2805 -0
- package/src/core/events/v3/projection.ts +653 -0
- package/src/core/events/v3/reader.ts +1127 -0
- package/src/core/events/v3/recovery-record.ts +244 -0
- package/src/core/events/v3/recovery.ts +271 -0
- package/src/core/events/v3/span-state.ts +187 -0
- package/src/core/events/v3/targets.ts +182 -0
- package/src/core/events/v3/turn-telemetry.ts +259 -0
- package/src/core/events/v3/validate.ts +361 -0
- package/src/core/events/v3/writer.ts +419 -0
- package/src/core/governor/index.ts +3 -0
- package/src/core/governor/plan-api.ts +10 -2
- package/src/core/governor/read.ts +3 -0
- package/src/core/governor/state.ts +52 -5
- package/src/core/guard/config.ts +206 -0
- package/src/core/guard/coordinator.ts +227 -0
- package/src/core/guard/evaluator.ts +343 -0
- package/src/core/guard/evidence-v3.ts +227 -0
- package/src/core/guard/index.ts +35 -0
- package/src/core/guard/live-source-v3.ts +204 -0
- package/src/core/guard/storage.ts +188 -0
- package/src/core/guard/types.ts +152 -0
- package/src/core/hooks/adapter/detect.ts +28 -1
- package/src/core/hooks/adapter/events.ts +14 -6
- package/src/core/hooks/adapter/output.ts +7 -2
- package/src/core/hooks/adapter/parse.ts +80 -38
- package/src/core/hooks/adapter/wiring.ts +119 -13
- package/src/core/hooks/cli.ts +351 -466
- package/src/core/hooks/effects/image-capture.ts +228 -238
- package/src/core/hooks/effects/index.ts +1 -36
- package/src/core/hooks/events/input-hash.ts +47 -0
- package/src/core/hooks/index.ts +4 -11
- package/src/core/hooks/resolve/coord-root.ts +1 -1
- package/src/core/hooks/resolve/owner.ts +52 -45
- package/src/core/hooks/resolve/transcript.ts +165 -14
- package/src/core/hooks/session-name-presence.ts +14 -15
- package/src/core/hooks/unsafe-cross-shell.ts +1 -1
- package/src/core/journal/index.ts +15 -22
- package/src/core/presence/blob.ts +48 -41
- package/src/core/presence/codec-digest.ts +215 -0
- package/src/core/presence/relay-client.ts +5 -5
- package/src/core/work/index.ts +3 -0
- package/src/core/work/read.ts +3 -0
- package/src/core/work/runner.ts +6 -0
- package/src/core/work/state.ts +27 -3
- package/src/core/workflow/engine.ts +24 -24
- package/src/core/workflow/live-session-v3.ts +126 -0
- package/src/core/workflow/scope-id.ts +6 -0
- package/src/core/workflow/workspaces/leases.ts +56 -19
- package/src/index.ts +1 -1
- package/src/lib/browser/client.ts +230 -0
- package/src/lib/browser/critique.ts +104 -27
- package/src/lib/browser/geometry.ts +143 -14
- package/src/lib/browser/index.ts +34 -0
- package/src/lib/browser/qa-plan.ts +501 -0
- package/src/lib/browser/qa-reuse.ts +306 -0
- package/src/lib/browser/qa-snapshot.ts +223 -0
- package/src/lib/browser/runts.ts +27 -2
- package/src/lib/browser/tiling.ts +164 -0
- package/src/lib/claude-desktop.ts +1 -232
- package/src/lib/context/index.ts +22 -46
- package/src/lib/council/index.ts +9 -21
- package/src/lib/docs-frontmatter.ts +8 -79
- package/src/lib/docs-index.ts +33 -3
- package/src/lib/docs-lint.ts +15 -29
- package/src/lib/docs-metadata-audit.ts +166 -0
- package/src/lib/docs-metadata-managed.ts +83 -0
- package/src/lib/docs-metadata-sync.ts +262 -0
- package/src/lib/docs-metadata-v2-schema.ts +138 -0
- package/src/lib/docs-metadata-v2.ts +646 -0
- package/src/lib/docs-new.ts +63 -0
- package/src/lib/docs-sweep.ts +42 -28
- package/src/lib/headless/index.ts +287 -0
- package/src/lib/identities/assume.ts +67 -86
- package/src/lib/instructions/apply.ts +33 -20
- package/src/lib/instructions/bundle.ts +2 -2
- package/src/lib/instructions/splice.ts +21 -7
- package/src/lib/instructions/templates.ts +85 -13
- package/dist/core/agents/cli-emit.d.ts +0 -27
- package/dist/core/agents/cli-emit.d.ts.map +0 -1
- package/dist/core/agents/cli-emit.js +0 -57
- package/dist/core/agents/codex-replay.d.ts +0 -29
- package/dist/core/agents/codex-replay.d.ts.map +0 -1
- package/dist/core/agents/codex-replay.js +0 -138
- package/dist/core/agents/events/consume.d.ts +0 -82
- package/dist/core/agents/events/consume.d.ts.map +0 -1
- package/dist/core/agents/events/consume.js +0 -195
- package/dist/core/agents/events/emit.d.ts +0 -42
- package/dist/core/agents/events/emit.d.ts.map +0 -1
- package/dist/core/agents/events/emit.js +0 -75
- package/dist/core/agents/events/ulid.d.ts +0 -11
- package/dist/core/agents/events/ulid.d.ts.map +0 -1
- package/dist/core/agents/events/ulid.js +0 -47
- package/dist/core/agents/state/heartbeat-projector.d.ts +0 -76
- package/dist/core/agents/state/heartbeat-projector.d.ts.map +0 -1
- package/dist/core/agents/state/heartbeat-projector.js +0 -581
- package/dist/core/hooks/events/emit.d.ts +0 -31
- package/dist/core/hooks/events/emit.d.ts.map +0 -1
- package/dist/core/hooks/events/emit.js +0 -93
- package/dist/core/hooks/events/rotate.d.ts +0 -43
- package/dist/core/hooks/events/rotate.d.ts.map +0 -1
- package/dist/core/hooks/events/rotate.js +0 -142
- package/dist/core/hooks/events/schema.d.ts +0 -341
- package/dist/core/hooks/events/schema.d.ts.map +0 -1
- package/dist/core/hooks/events/schema.js +0 -12
- package/dist/core/hooks/events/ulid.d.ts +0 -10
- package/dist/core/hooks/events/ulid.d.ts.map +0 -1
- package/dist/core/hooks/events/ulid.js +0 -47
- package/dist/lib/docs-frontmatter-migrate.d.ts +0 -33
- package/dist/lib/docs-frontmatter-migrate.d.ts.map +0 -1
- package/dist/lib/docs-frontmatter-migrate.js +0 -364
- package/src/core/agents/cli-emit.ts +0 -64
- package/src/core/agents/codex-replay.ts +0 -163
- package/src/core/agents/events/consume.ts +0 -254
- package/src/core/agents/events/emit.ts +0 -115
- package/src/core/agents/events/ulid.ts +0 -51
- package/src/core/agents/state/heartbeat-projector.ts +0 -645
- package/src/core/hooks/events/emit.ts +0 -125
- package/src/core/hooks/events/rotate.ts +0 -151
- package/src/core/hooks/events/schema.ts +0 -582
- package/src/core/hooks/events/ulid.ts +0 -51
- package/src/lib/docs-frontmatter-migrate.ts +0 -427
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
import { createHash, randomBytes, randomUUID } from "node:crypto";
|
|
2
|
+
import {
|
|
3
|
+
chmodSync,
|
|
4
|
+
closeSync,
|
|
5
|
+
existsSync,
|
|
6
|
+
fsyncSync,
|
|
7
|
+
mkdirSync,
|
|
8
|
+
openSync,
|
|
9
|
+
readFileSync,
|
|
10
|
+
renameSync,
|
|
11
|
+
statSync,
|
|
12
|
+
unlinkSync,
|
|
13
|
+
writeFileSync,
|
|
14
|
+
} from "node:fs";
|
|
15
|
+
import { hostname } from "node:os";
|
|
16
|
+
import { join, resolve } from "node:path";
|
|
17
|
+
import { fsyncParentDirectory } from "../../workflow/durable-record.ts";
|
|
18
|
+
import { acquireNoClobberLease } from "../../workflow/workspaces/leases.ts";
|
|
19
|
+
import type { FingerprintContextV3 } from "./canonical.ts";
|
|
20
|
+
|
|
21
|
+
const KEY_BYTES = 32;
|
|
22
|
+
const LOCK_RETRIES = 200;
|
|
23
|
+
const LOCK_RETRY_MS = 5;
|
|
24
|
+
const sleepCell = new Int32Array(new SharedArrayBuffer(4));
|
|
25
|
+
|
|
26
|
+
export const FINGERPRINT_KEY_STORE_RELATIVE_PATH =
|
|
27
|
+
".harnery/private/fingerprint-keys.json" as const;
|
|
28
|
+
|
|
29
|
+
export interface FingerprintKeyEpochV3 {
|
|
30
|
+
epoch_id: `pep_${string}`;
|
|
31
|
+
key_base64url: string;
|
|
32
|
+
created_at: string;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface FingerprintKeyStoreV3 {
|
|
36
|
+
format: "harnery-v3-fingerprint-keys";
|
|
37
|
+
format_version: 1;
|
|
38
|
+
active_epoch_id: `pep_${string}`;
|
|
39
|
+
epochs: FingerprintKeyEpochV3[];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface RotateFingerprintEpochV3Options {
|
|
43
|
+
activeGenerationCount: number;
|
|
44
|
+
now?: () => Date;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export function fingerprintKeyStorePathV3(coordRoot: string): string {
|
|
48
|
+
return join(resolve(coordRoot), FINGERPRINT_KEY_STORE_RELATIVE_PATH);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** Load the private key store, creating its first epoch under an exclusive publication lock. */
|
|
52
|
+
export function loadOrCreateFingerprintKeyStoreV3(
|
|
53
|
+
coordRoot: string,
|
|
54
|
+
now: () => Date = () => new Date(),
|
|
55
|
+
): FingerprintKeyStoreV3 {
|
|
56
|
+
const path = fingerprintKeyStorePathV3(coordRoot);
|
|
57
|
+
if (existsSync(path)) {
|
|
58
|
+
return readFingerprintKeyStoreV3(coordRoot);
|
|
59
|
+
}
|
|
60
|
+
return withKeyStoreLock(coordRoot, () => {
|
|
61
|
+
if (existsSync(path)) return readFingerprintKeyStoreV3(coordRoot);
|
|
62
|
+
const epoch = createEpoch(now);
|
|
63
|
+
const store: FingerprintKeyStoreV3 = {
|
|
64
|
+
format: "harnery-v3-fingerprint-keys",
|
|
65
|
+
format_version: 1,
|
|
66
|
+
active_epoch_id: epoch.epoch_id,
|
|
67
|
+
epochs: [epoch],
|
|
68
|
+
};
|
|
69
|
+
publishKeyStore(path, store, false);
|
|
70
|
+
return store;
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function readFingerprintKeyStoreV3(coordRoot: string): FingerprintKeyStoreV3 {
|
|
75
|
+
const path = fingerprintKeyStorePathV3(coordRoot);
|
|
76
|
+
return validateKeyStore(readKeyStoreValue(path));
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function readKeyStoreValue(path: string): unknown {
|
|
80
|
+
const mode = statSync(path).mode & 0o777;
|
|
81
|
+
if ((mode & 0o077) !== 0) {
|
|
82
|
+
throw new Error("fingerprint key store permissions are not owner-only");
|
|
83
|
+
}
|
|
84
|
+
let parsed: unknown;
|
|
85
|
+
try {
|
|
86
|
+
parsed = JSON.parse(readFileSync(path, "utf8"));
|
|
87
|
+
} catch {
|
|
88
|
+
throw new Error("fingerprint key store is unreadable or malformed");
|
|
89
|
+
}
|
|
90
|
+
return parsed;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/** Start a new comparison epoch only when no generation can still emit under the prior key. */
|
|
94
|
+
export function rotateFingerprintEpochV3(
|
|
95
|
+
coordRoot: string,
|
|
96
|
+
options: RotateFingerprintEpochV3Options,
|
|
97
|
+
): FingerprintKeyStoreV3 {
|
|
98
|
+
if (!Number.isSafeInteger(options.activeGenerationCount) || options.activeGenerationCount < 0) {
|
|
99
|
+
throw new Error("active generation count must be a non-negative integer");
|
|
100
|
+
}
|
|
101
|
+
if (options.activeGenerationCount !== 0) {
|
|
102
|
+
throw new Error("fingerprint epoch rotation is blocked while generations are active");
|
|
103
|
+
}
|
|
104
|
+
loadOrCreateFingerprintKeyStoreV3(coordRoot, options.now);
|
|
105
|
+
return withKeyStoreLock(coordRoot, () => {
|
|
106
|
+
const current = readFingerprintKeyStoreV3(coordRoot);
|
|
107
|
+
const epoch = createEpoch(options.now ?? (() => new Date()));
|
|
108
|
+
const next: FingerprintKeyStoreV3 = {
|
|
109
|
+
...current,
|
|
110
|
+
active_epoch_id: epoch.epoch_id,
|
|
111
|
+
epochs: [...current.epochs, epoch],
|
|
112
|
+
};
|
|
113
|
+
publishKeyStore(fingerprintKeyStorePathV3(coordRoot), next, true);
|
|
114
|
+
return next;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export function fingerprintContextV3(
|
|
119
|
+
coordRoot: string,
|
|
120
|
+
rootId: `root_${string}`,
|
|
121
|
+
generationId?: `gen_${string}`,
|
|
122
|
+
epochId?: `pep_${string}`,
|
|
123
|
+
): FingerprintContextV3 {
|
|
124
|
+
const store = readFingerprintKeyStoreV3(coordRoot);
|
|
125
|
+
const selectedId = epochId ?? store.active_epoch_id;
|
|
126
|
+
const epoch = store.epochs.find((candidate) => candidate.epoch_id === selectedId);
|
|
127
|
+
if (!epoch) throw new Error("requested fingerprint epoch is unavailable");
|
|
128
|
+
return {
|
|
129
|
+
epochId: epoch.epoch_id,
|
|
130
|
+
epochKey: Buffer.from(epoch.key_base64url, "base64url"),
|
|
131
|
+
rootId,
|
|
132
|
+
generationId,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
function withKeyStoreLock<T>(coordRoot: string, operation: () => T): T {
|
|
137
|
+
const privateDir = join(resolve(coordRoot), ".harnery/private");
|
|
138
|
+
mkdirSync(privateDir, { recursive: true, mode: 0o700 });
|
|
139
|
+
chmodSync(privateDir, 0o700);
|
|
140
|
+
const leasePath = join(privateDir, "fingerprint-key-lease");
|
|
141
|
+
const authority = createHash("sha256").update(resolve(coordRoot)).digest("hex");
|
|
142
|
+
let lease: ReturnType<typeof acquireNoClobberLease> | undefined;
|
|
143
|
+
for (let attempt = 0; attempt < LOCK_RETRIES; attempt += 1) {
|
|
144
|
+
try {
|
|
145
|
+
lease = acquireNoClobberLease({
|
|
146
|
+
path: leasePath,
|
|
147
|
+
scope: "event-v3-fingerprint-key",
|
|
148
|
+
authoritySha256: authority,
|
|
149
|
+
staleAfterMs: 5_000,
|
|
150
|
+
validateStaleOwner: (owner) => owner.host === hostname() && !pidIsAlive(owner.pid),
|
|
151
|
+
});
|
|
152
|
+
break;
|
|
153
|
+
} catch (error) {
|
|
154
|
+
if (attempt === LOCK_RETRIES - 1) throw error;
|
|
155
|
+
Atomics.wait(sleepCell, 0, 0, LOCK_RETRY_MS);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
if (!lease) throw new Error("fingerprint key store publication lease is busy");
|
|
159
|
+
try {
|
|
160
|
+
return operation();
|
|
161
|
+
} finally {
|
|
162
|
+
lease.release();
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function pidIsAlive(pid: number): boolean {
|
|
167
|
+
if (!Number.isSafeInteger(pid) || pid < 1) return false;
|
|
168
|
+
try {
|
|
169
|
+
process.kill(pid, 0);
|
|
170
|
+
return true;
|
|
171
|
+
} catch (error) {
|
|
172
|
+
return (error as NodeJS.ErrnoException).code !== "ESRCH";
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
function publishKeyStore(path: string, store: FingerprintKeyStoreV3, replacing: boolean): void {
|
|
177
|
+
if (!replacing && existsSync(path)) throw new Error("fingerprint key store already exists");
|
|
178
|
+
const temporary = `${path}.tmp-${process.pid}-${randomUUID()}`;
|
|
179
|
+
let fd: number | undefined;
|
|
180
|
+
try {
|
|
181
|
+
fd = openSync(temporary, "wx", 0o600);
|
|
182
|
+
writeFileSync(fd, `${JSON.stringify(store)}\n`, "utf8");
|
|
183
|
+
fsyncSync(fd);
|
|
184
|
+
closeSync(fd);
|
|
185
|
+
fd = undefined;
|
|
186
|
+
chmodSync(temporary, 0o600);
|
|
187
|
+
if (!replacing && existsSync(path)) throw new Error("fingerprint key store already exists");
|
|
188
|
+
renameSync(temporary, path);
|
|
189
|
+
fsyncParentDirectory(path);
|
|
190
|
+
} finally {
|
|
191
|
+
if (fd !== undefined) closeSync(fd);
|
|
192
|
+
if (existsSync(temporary)) unlinkSync(temporary);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
function createEpoch(now: () => Date): FingerprintKeyEpochV3 {
|
|
197
|
+
return {
|
|
198
|
+
epoch_id: `pep_${randomUUID()}`,
|
|
199
|
+
key_base64url: randomBytes(KEY_BYTES).toString("base64url"),
|
|
200
|
+
created_at: now().toISOString(),
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
function validateKeyStore(value: unknown): FingerprintKeyStoreV3 {
|
|
205
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
206
|
+
throw new Error("fingerprint key store has an invalid envelope");
|
|
207
|
+
}
|
|
208
|
+
const record = value as Record<string, unknown>;
|
|
209
|
+
const keys = Object.keys(record).sort();
|
|
210
|
+
if (keys.join("\0") !== "active_epoch_id\0epochs\0format\0format_version") {
|
|
211
|
+
throw new Error("fingerprint key store has unsupported fields");
|
|
212
|
+
}
|
|
213
|
+
if (record.format !== "harnery-v3-fingerprint-keys" || record.format_version !== 1) {
|
|
214
|
+
throw new Error("fingerprint key store format is unsupported");
|
|
215
|
+
}
|
|
216
|
+
if (
|
|
217
|
+
typeof record.active_epoch_id !== "string" ||
|
|
218
|
+
!/^pep_[a-zA-Z0-9._-]{1,128}$/.test(record.active_epoch_id)
|
|
219
|
+
) {
|
|
220
|
+
throw new Error("fingerprint key store active epoch is invalid");
|
|
221
|
+
}
|
|
222
|
+
if (!Array.isArray(record.epochs) || record.epochs.length === 0) {
|
|
223
|
+
throw new Error("fingerprint key store has no epochs");
|
|
224
|
+
}
|
|
225
|
+
const seen = new Set<string>();
|
|
226
|
+
const epochs = record.epochs.map((candidate) => {
|
|
227
|
+
if (!candidate || typeof candidate !== "object" || Array.isArray(candidate)) {
|
|
228
|
+
throw new Error("fingerprint key epoch is invalid");
|
|
229
|
+
}
|
|
230
|
+
const epoch = candidate as Record<string, unknown>;
|
|
231
|
+
if (Object.keys(epoch).sort().join("\0") !== "created_at\0epoch_id\0key_base64url") {
|
|
232
|
+
throw new Error("fingerprint key epoch has unsupported fields");
|
|
233
|
+
}
|
|
234
|
+
if (typeof epoch.epoch_id !== "string" || !/^pep_[a-zA-Z0-9._-]{1,128}$/.test(epoch.epoch_id)) {
|
|
235
|
+
throw new Error("fingerprint key epoch ID is invalid");
|
|
236
|
+
}
|
|
237
|
+
if (seen.has(epoch.epoch_id)) throw new Error("fingerprint key epoch is duplicated");
|
|
238
|
+
seen.add(epoch.epoch_id);
|
|
239
|
+
if (typeof epoch.key_base64url !== "string") {
|
|
240
|
+
throw new Error("fingerprint key bytes are invalid");
|
|
241
|
+
}
|
|
242
|
+
const key = Buffer.from(epoch.key_base64url, "base64url");
|
|
243
|
+
if (key.length !== KEY_BYTES || key.toString("base64url") !== epoch.key_base64url) {
|
|
244
|
+
throw new Error("fingerprint key bytes are invalid");
|
|
245
|
+
}
|
|
246
|
+
if (typeof epoch.created_at !== "string" || Number.isNaN(Date.parse(epoch.created_at))) {
|
|
247
|
+
throw new Error("fingerprint key epoch time is invalid");
|
|
248
|
+
}
|
|
249
|
+
return epoch as unknown as FingerprintKeyEpochV3;
|
|
250
|
+
});
|
|
251
|
+
if (!seen.has(record.active_epoch_id)) {
|
|
252
|
+
throw new Error("fingerprint key store active epoch is missing");
|
|
253
|
+
}
|
|
254
|
+
return {
|
|
255
|
+
format: "harnery-v3-fingerprint-keys",
|
|
256
|
+
format_version: 1,
|
|
257
|
+
active_epoch_id: record.active_epoch_id as `pep_${string}`,
|
|
258
|
+
epochs,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/** Generated by scripts/generate-event-v3-contract.ts. Do not edit. */
|
|
2
|
+
export const EVENT_V3_SCHEMA_DIGEST =
|
|
3
|
+
"sha256:682272a35f16177217a272e119c4dea2bf1980a522a183fefd6dceaf1e4509b8" as const;
|
|
4
|
+
export const EVENT_V3_GENERATED_CORE_TYPES = [
|
|
5
|
+
"ledger.genesis",
|
|
6
|
+
"ledger.activated",
|
|
7
|
+
"ledger.schema_advanced",
|
|
8
|
+
"ledger.comparability_advanced",
|
|
9
|
+
"session.started",
|
|
10
|
+
"session.attestation_changed",
|
|
11
|
+
"session.resumed",
|
|
12
|
+
"session.ended",
|
|
13
|
+
"session.termination_observed",
|
|
14
|
+
"run.started",
|
|
15
|
+
"run.completed",
|
|
16
|
+
"turn.started",
|
|
17
|
+
"turn.completed",
|
|
18
|
+
"tool.requested",
|
|
19
|
+
"tool.completed",
|
|
20
|
+
"command.started",
|
|
21
|
+
"command.output_observed",
|
|
22
|
+
"command.completed",
|
|
23
|
+
"context.observed",
|
|
24
|
+
"context.compaction_started",
|
|
25
|
+
"context.compaction_completed",
|
|
26
|
+
"context.checkpointed",
|
|
27
|
+
"context.recovery_injected",
|
|
28
|
+
"agent.delegated",
|
|
29
|
+
"agent.started",
|
|
30
|
+
"agent.completed",
|
|
31
|
+
"artifact.observed",
|
|
32
|
+
"progress.observed",
|
|
33
|
+
"coord.task_changed",
|
|
34
|
+
"coord.lifecycle_changed",
|
|
35
|
+
"coord.status_observed",
|
|
36
|
+
"coord.claim_changed",
|
|
37
|
+
"coord.presence_changed",
|
|
38
|
+
"coord.message_observed",
|
|
39
|
+
"coord.identity_attested",
|
|
40
|
+
"council.state_changed",
|
|
41
|
+
"decision.state_changed",
|
|
42
|
+
"lifecycle.recovered",
|
|
43
|
+
"lifecycle.sweep_observed",
|
|
44
|
+
"health.observed",
|
|
45
|
+
"wait.started",
|
|
46
|
+
"wait.ended",
|
|
47
|
+
"health.capability_drift",
|
|
48
|
+
] as const;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { v7 as uuidv7 } from "uuid";
|
|
2
|
+
|
|
3
|
+
export function eventIdV3(): `evt_${string}` {
|
|
4
|
+
return `evt_${uuidv7()}`;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export function generationIdV3(): `gen_${string}` {
|
|
8
|
+
return `gen_${uuidv7()}`;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function spanIdV3(): `span_${string}` {
|
|
12
|
+
return `span_${uuidv7()}`;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export function delegationIdV3(): `del_${string}` {
|
|
16
|
+
return `del_${uuidv7()}`;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function attestationIdV3(): `att_${string}` {
|
|
20
|
+
return `att_${uuidv7()}`;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export function clockIdV3(): `clk_${string}` {
|
|
24
|
+
return `clk_${uuidv7()}`;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function genesisIdV3(): `gex_${string}` {
|
|
28
|
+
return `gex_${uuidv7()}`;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export function activationIdV3(): `act_${string}` {
|
|
32
|
+
return `act_${uuidv7()}`;
|
|
33
|
+
}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
export {
|
|
2
|
+
type SchemaAdvanceEligibilityV3,
|
|
3
|
+
validateAdditiveSchemaAdvanceV3,
|
|
4
|
+
} from "./advance.ts";
|
|
5
|
+
export {
|
|
6
|
+
type AuthorityMutationV3,
|
|
7
|
+
type AuthorityReceiptV3,
|
|
8
|
+
type AuthorityReconcilerV3,
|
|
9
|
+
type AuthorityTransactionV3,
|
|
10
|
+
buildAuthorityTransactionV3,
|
|
11
|
+
listPendingAuthorityTransactionsV3,
|
|
12
|
+
type PrepareAuthorityTransactionV3Input,
|
|
13
|
+
prepareAuthorityTransactionV3,
|
|
14
|
+
publishAuthorityTransactionV3,
|
|
15
|
+
readAuthorityReceiptV3,
|
|
16
|
+
readAuthorityTransactionV3,
|
|
17
|
+
reconcileAuthorityTransactionV3,
|
|
18
|
+
} from "./authority-outbox.ts";
|
|
19
|
+
export {
|
|
20
|
+
ensureEventLedgerV3,
|
|
21
|
+
type InitializeEventLedgerV3Input,
|
|
22
|
+
type InitializeEventLedgerV3Result,
|
|
23
|
+
initializeEventLedgerV3,
|
|
24
|
+
} from "./bootstrap.ts";
|
|
25
|
+
export { type BuildEventV3Input, buildEventV3 } from "./builder.ts";
|
|
26
|
+
export {
|
|
27
|
+
canonicalJsonV3,
|
|
28
|
+
EVENT_V3_CANONICALIZER,
|
|
29
|
+
type FingerprintContextV3,
|
|
30
|
+
type FingerprintV3,
|
|
31
|
+
fingerprintV3,
|
|
32
|
+
normalizeNativeIdV3,
|
|
33
|
+
sha256V3,
|
|
34
|
+
} from "./canonical.ts";
|
|
35
|
+
export {
|
|
36
|
+
ADAPTER_CAPABILITY_PROFILES_V3,
|
|
37
|
+
type AdapterCapabilityProfileV3,
|
|
38
|
+
type AdapterSignalV3,
|
|
39
|
+
adapterCapabilityProfileDigestV3,
|
|
40
|
+
adapterCapabilityProfileV3,
|
|
41
|
+
adapterSignalSupportV3,
|
|
42
|
+
type CapabilitySupportV3,
|
|
43
|
+
} from "./capabilities.ts";
|
|
44
|
+
export {
|
|
45
|
+
type CapabilityDeliveryV3,
|
|
46
|
+
type CapabilityDriftPayloadV3,
|
|
47
|
+
capabilityDriftPayloadsV3,
|
|
48
|
+
measurableDeliveriesV3,
|
|
49
|
+
} from "./capability-drift.ts";
|
|
50
|
+
export {
|
|
51
|
+
EVENT_V3_CONTRACT_MAJOR,
|
|
52
|
+
EVENT_V3_CONTRACT_NAME,
|
|
53
|
+
EVENT_V3_CORE_EVENT_TYPES,
|
|
54
|
+
EVENT_V3_SCHEMA_ID,
|
|
55
|
+
type EventOfTypeV3,
|
|
56
|
+
type EventPayloadV3,
|
|
57
|
+
type EventTypeV3,
|
|
58
|
+
type EventV3,
|
|
59
|
+
EventV3Schema,
|
|
60
|
+
ObservationV3Schema,
|
|
61
|
+
OutcomeV3Schema,
|
|
62
|
+
RecoveryV3Schema,
|
|
63
|
+
type SpanSummaryV3,
|
|
64
|
+
SpanSummaryV3Schema,
|
|
65
|
+
type TurnHarnessV3,
|
|
66
|
+
type TurnInferenceV3,
|
|
67
|
+
type TurnUsageV3,
|
|
68
|
+
type WaitKindV3,
|
|
69
|
+
WaitKindV3Schema,
|
|
70
|
+
} from "./contract.ts";
|
|
71
|
+
export {
|
|
72
|
+
type ActivationManifestV3,
|
|
73
|
+
type BuildActivationManifestV3Input,
|
|
74
|
+
type BuildCandidateGenesisManifestV3Input,
|
|
75
|
+
buildActivationManifestV3,
|
|
76
|
+
buildCandidateGenesisManifestV3,
|
|
77
|
+
type CandidateGenesisManifestV3,
|
|
78
|
+
type CandidateProfileV3,
|
|
79
|
+
type ControlManifestValidationV3,
|
|
80
|
+
type ControlProducerV3,
|
|
81
|
+
candidateManifestDigestV3,
|
|
82
|
+
candidateProfileDigestV3,
|
|
83
|
+
EVENT_V3_ACTIVATION_MANIFEST,
|
|
84
|
+
EVENT_V3_GENESIS_MANIFEST,
|
|
85
|
+
type EventV3ControlState,
|
|
86
|
+
type EventV3WriteMode,
|
|
87
|
+
eventV3WriteGateOpen,
|
|
88
|
+
readEventV3ControlState,
|
|
89
|
+
repairEventV3ControlPair,
|
|
90
|
+
validateActivationManifestV3,
|
|
91
|
+
validateCandidateGenesisManifestV3,
|
|
92
|
+
} from "./control.ts";
|
|
93
|
+
export {
|
|
94
|
+
type CoordinationGenerationViewV3,
|
|
95
|
+
type CoordinationViewV3,
|
|
96
|
+
CoordinationViewV3Error,
|
|
97
|
+
EVENT_V3_COORDINATION_VIEW_VERSION,
|
|
98
|
+
projectCoordinationViewV3,
|
|
99
|
+
readCoordinationViewV3,
|
|
100
|
+
requireAuthoritySafeCoordinationViewV3,
|
|
101
|
+
} from "./coordination-view.ts";
|
|
102
|
+
export {
|
|
103
|
+
type CostMetricV3,
|
|
104
|
+
type DelegationRollupDiagnosticCodeV3,
|
|
105
|
+
type DelegationRollupV3,
|
|
106
|
+
type EconomicsProjectionOptionsV3,
|
|
107
|
+
type EconomicsProjectionV3,
|
|
108
|
+
EVENT_V3_ECONOMICS_PROJECTION_VERSION,
|
|
109
|
+
type GenerationEconomicsV3,
|
|
110
|
+
type ModelPricingV3,
|
|
111
|
+
projectDelegationRollupV3,
|
|
112
|
+
projectEconomicsV3,
|
|
113
|
+
type TokenTotalsMetricV3,
|
|
114
|
+
type TokenTotalsV3,
|
|
115
|
+
type TurnEconomicsV3,
|
|
116
|
+
} from "./economics.ts";
|
|
117
|
+
export {
|
|
118
|
+
EVENT_V3_FINALIZATION_VIEW_VERSION,
|
|
119
|
+
type FinalizationScopeV3,
|
|
120
|
+
FinalizationScopeV3Error,
|
|
121
|
+
type FinalizationScopeV3ErrorCode,
|
|
122
|
+
projectFinalizationScopeV3,
|
|
123
|
+
readFinalizationScopeV3,
|
|
124
|
+
} from "./finalization-view.ts";
|
|
125
|
+
export {
|
|
126
|
+
FINGERPRINT_KEY_STORE_RELATIVE_PATH,
|
|
127
|
+
type FingerprintKeyEpochV3,
|
|
128
|
+
type FingerprintKeyStoreV3,
|
|
129
|
+
fingerprintContextV3,
|
|
130
|
+
fingerprintKeyStorePathV3,
|
|
131
|
+
loadOrCreateFingerprintKeyStoreV3,
|
|
132
|
+
type RotateFingerprintEpochV3Options,
|
|
133
|
+
readFingerprintKeyStoreV3,
|
|
134
|
+
rotateFingerprintEpochV3,
|
|
135
|
+
} from "./fingerprint-keys.ts";
|
|
136
|
+
export { EVENT_V3_SCHEMA_DIGEST } from "./generated.ts";
|
|
137
|
+
export {
|
|
138
|
+
activationIdV3,
|
|
139
|
+
attestationIdV3,
|
|
140
|
+
clockIdV3,
|
|
141
|
+
delegationIdV3,
|
|
142
|
+
eventIdV3,
|
|
143
|
+
generationIdV3,
|
|
144
|
+
genesisIdV3,
|
|
145
|
+
spanIdV3,
|
|
146
|
+
} from "./ids.ts";
|
|
147
|
+
export {
|
|
148
|
+
type ContextCoverageStateV3,
|
|
149
|
+
type ContextCoverageV3,
|
|
150
|
+
EVENT_V3_LATENCY_PROJECTION_VERSION,
|
|
151
|
+
type LatencyMetricV3,
|
|
152
|
+
type LatencyProjectionDiagnosticCodeV3,
|
|
153
|
+
type LatencyProjectionDiagnosticV3,
|
|
154
|
+
type LatencyProjectionV3,
|
|
155
|
+
projectLatencyV3,
|
|
156
|
+
type ToolLatencyV3,
|
|
157
|
+
type TurnLatencyV3,
|
|
158
|
+
} from "./latency.ts";
|
|
159
|
+
export {
|
|
160
|
+
EVENT_V3_LIVE_RELATIVE_ROOT,
|
|
161
|
+
janitorLiveDisplayV3,
|
|
162
|
+
type LiveDisplayInputV3,
|
|
163
|
+
type LiveDisplayJanitorResultV3,
|
|
164
|
+
type LiveDisplayRowV3,
|
|
165
|
+
listLiveDisplayV3,
|
|
166
|
+
readLiveDisplayV3,
|
|
167
|
+
safeIntentDisplayV3,
|
|
168
|
+
tryWriteLiveDisplayV3,
|
|
169
|
+
writeLiveDisplayV3,
|
|
170
|
+
} from "./live-feed.ts";
|
|
171
|
+
export type { LiveCoordinationObservationV3 } from "./live-observation.ts";
|
|
172
|
+
export {
|
|
173
|
+
hookSignalV3,
|
|
174
|
+
LIVE_COMMAND_V3_PRODUCER_ID,
|
|
175
|
+
LIVE_HOOK_V3_PRODUCER_ID,
|
|
176
|
+
type LiveEventLedgerRouteV3,
|
|
177
|
+
liveEventV3BuildId,
|
|
178
|
+
liveInstanceIdV3,
|
|
179
|
+
livePlatformV3,
|
|
180
|
+
nativeInstanceIdV3,
|
|
181
|
+
recordLiveHookSignalV3,
|
|
182
|
+
resolveLiveEventLedgerRouteV3,
|
|
183
|
+
} from "./live-routing.ts";
|
|
184
|
+
export {
|
|
185
|
+
type CommandObservationV3,
|
|
186
|
+
type CommandProducerContextV3,
|
|
187
|
+
type CommandSignalV3,
|
|
188
|
+
normalizeCommandEventV3,
|
|
189
|
+
} from "./producers/command.ts";
|
|
190
|
+
export {
|
|
191
|
+
type RecordCommandSignalV3Input,
|
|
192
|
+
type RecordCommandSignalV3Result,
|
|
193
|
+
recordCommandSignalV3,
|
|
194
|
+
} from "./producers/command-recorder.ts";
|
|
195
|
+
export {
|
|
196
|
+
type ClaimChangedObservationV3,
|
|
197
|
+
type CoordinationAuthoritySignalV3,
|
|
198
|
+
type CoordinationObservationBySignalV3,
|
|
199
|
+
type CoordinationProducerContextV3,
|
|
200
|
+
type DecisionStateChangedObservationV3,
|
|
201
|
+
type IdentityAttestedObservationV3,
|
|
202
|
+
type LifecycleChangedObservationV3,
|
|
203
|
+
type NormalizedCoordinationAuthorityV3,
|
|
204
|
+
normalizeCoordinationAuthorityV3,
|
|
205
|
+
type TaskChangedObservationV3,
|
|
206
|
+
type WaitEndedObservationV3,
|
|
207
|
+
type WaitStartedObservationV3,
|
|
208
|
+
} from "./producers/coordination.ts";
|
|
209
|
+
export {
|
|
210
|
+
type RecordCoordinationAuthorityV3Input,
|
|
211
|
+
type RecordCoordinationAuthorityV3Result,
|
|
212
|
+
recordCoordinationAuthorityV3,
|
|
213
|
+
} from "./producers/coordination-recorder.ts";
|
|
214
|
+
export {
|
|
215
|
+
type HookEventV3,
|
|
216
|
+
type HookProducerContextV3,
|
|
217
|
+
normalizeHookEventV3,
|
|
218
|
+
upgradeHookEventV3,
|
|
219
|
+
} from "./producers/hook.ts";
|
|
220
|
+
export {
|
|
221
|
+
type ApprovedSessionEndReasonV3,
|
|
222
|
+
type DrainHookIntakeSpoolV3Result,
|
|
223
|
+
drainHookIntakeSpoolV3,
|
|
224
|
+
type HookProducerStateRecordV3,
|
|
225
|
+
type HookProducerStateV3,
|
|
226
|
+
listHookProducerStateRecordsV3,
|
|
227
|
+
type RecordApprovedSessionEndV3Input,
|
|
228
|
+
type RecordApprovedSessionEndV3Result,
|
|
229
|
+
type RecordHookSignalV3Input,
|
|
230
|
+
type RecordHookSignalV3Result,
|
|
231
|
+
readHookProducerStateV3,
|
|
232
|
+
recordApprovedSessionEndV3,
|
|
233
|
+
recordHookSignalV3,
|
|
234
|
+
} from "./producers/recorder.ts";
|
|
235
|
+
export {
|
|
236
|
+
type ClaimProjectionV3,
|
|
237
|
+
type DelegationProjectionV3,
|
|
238
|
+
EVENT_V3_SAFETY_REDUCER_BUILD,
|
|
239
|
+
type GenerationSafetyStateV3,
|
|
240
|
+
reduceSafetyProjectionV3,
|
|
241
|
+
type SafetyProjectionDiagnosticCodeV3,
|
|
242
|
+
type SafetyProjectionDiagnosticV3,
|
|
243
|
+
type SafetyProjectionV3,
|
|
244
|
+
type WaitProjectionV3,
|
|
245
|
+
} from "./projection.ts";
|
|
246
|
+
export {
|
|
247
|
+
digestEventV3AuthorityDirectoryV3,
|
|
248
|
+
inspectInvalidActiveAuthorityV3,
|
|
249
|
+
type LedgerCursorV3,
|
|
250
|
+
type LedgerDiagnosticCodeV3,
|
|
251
|
+
type LedgerDiagnosticV3,
|
|
252
|
+
type LedgerFrameV3,
|
|
253
|
+
type PositionedEventV3,
|
|
254
|
+
type ReadLedgerV3Options,
|
|
255
|
+
type ReadLedgerV3Result,
|
|
256
|
+
type ReadLedgerV3SinceResult,
|
|
257
|
+
readLedgerFramesV3,
|
|
258
|
+
readLedgerFramesV3Since,
|
|
259
|
+
readLedgerV3,
|
|
260
|
+
readLedgerV3Since,
|
|
261
|
+
type SchemaAdvanceV3,
|
|
262
|
+
} from "./reader.ts";
|
|
263
|
+
export {
|
|
264
|
+
type RecoverInvalidEventLedgerV3Input,
|
|
265
|
+
type RecoverInvalidEventLedgerV3Result,
|
|
266
|
+
recoverInvalidEventLedgerV3,
|
|
267
|
+
} from "./recovery.ts";
|
|
268
|
+
export {
|
|
269
|
+
type EventV3RecoveryDiagnostic,
|
|
270
|
+
type EventV3RecoveryFailure,
|
|
271
|
+
type EventV3RecoveryIntent,
|
|
272
|
+
type EventV3RecoveryReceipt,
|
|
273
|
+
eventV3RecoveryRecordsRoot,
|
|
274
|
+
listEventV3RecoveryReceipts,
|
|
275
|
+
readEventV3RecoveryIntent,
|
|
276
|
+
readEventV3RecoveryReceipt,
|
|
277
|
+
validateEventV3RecoveryIntent,
|
|
278
|
+
validateEventV3RecoveryReceipt,
|
|
279
|
+
} from "./recovery-record.ts";
|
|
280
|
+
export {
|
|
281
|
+
type CloseSpanV3Input,
|
|
282
|
+
captureSpanClockV3,
|
|
283
|
+
closeSpanStateV3,
|
|
284
|
+
linuxUptimeNanosecondsV3,
|
|
285
|
+
type OpenSpanStateV3,
|
|
286
|
+
type OpenSpanV3Input,
|
|
287
|
+
openSpanStateV3,
|
|
288
|
+
type SpanClockV3,
|
|
289
|
+
} from "./span-state.ts";
|
|
290
|
+
export {
|
|
291
|
+
type DescribePathTargetV3Input,
|
|
292
|
+
describePathTargetV3,
|
|
293
|
+
type ExtractTargetsV3Input,
|
|
294
|
+
exactToolInputFingerprintV3,
|
|
295
|
+
extractTargetsV3,
|
|
296
|
+
type TargetDescriptorV3,
|
|
297
|
+
} from "./targets.ts";
|
|
298
|
+
export {
|
|
299
|
+
type ContextMeasurementV3,
|
|
300
|
+
emptyHarnessTimingV3,
|
|
301
|
+
extractTurnTelemetryV3,
|
|
302
|
+
type HarnessTimingAccumulatorV3,
|
|
303
|
+
harnessObservationV3,
|
|
304
|
+
recordHarnessTimingV3,
|
|
305
|
+
type TelemetryObservationV3,
|
|
306
|
+
type TurnTelemetryV3,
|
|
307
|
+
} from "./turn-telemetry.ts";
|
|
308
|
+
export {
|
|
309
|
+
assertEventV3,
|
|
310
|
+
type EventV3ValidationResult,
|
|
311
|
+
validateEventV3,
|
|
312
|
+
} from "./validate.ts";
|
|
313
|
+
export {
|
|
314
|
+
drainReadyEventsV3,
|
|
315
|
+
EVENT_V3_LEDGER_RELATIVE_ROOT,
|
|
316
|
+
type EventV3DurabilityState,
|
|
317
|
+
type EventV3WriteStep,
|
|
318
|
+
eventV3Paths,
|
|
319
|
+
type WriteEventV3Options,
|
|
320
|
+
type WriteEventV3Result,
|
|
321
|
+
writeEventV3,
|
|
322
|
+
} from "./writer.ts";
|