harnery 0.35.0 → 0.37.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 +30 -5
- package/dist/commander.d.ts.map +1 -1
- package/dist/commander.js +128 -96
- package/dist/commands/agents.d.ts +23 -3
- package/dist/commands/agents.d.ts.map +1 -1
- package/dist/commands/agents.js +464 -242
- package/dist/commands/artifacts.d.ts.map +1 -1
- package/dist/commands/artifacts.js +26 -1
- package/dist/commands/backup.d.ts.map +1 -1
- package/dist/commands/backup.js +10 -10
- package/dist/commands/browse-session.d.ts.map +1 -1
- package/dist/commands/browse-session.js +12 -0
- package/dist/commands/browse.d.ts +1 -1
- package/dist/commands/browse.d.ts.map +1 -1
- package/dist/commands/browse.js +16 -4
- package/dist/commands/conversations.d.ts +10 -0
- package/dist/commands/conversations.d.ts.map +1 -0
- package/dist/commands/conversations.js +201 -0
- package/dist/commands/deinit.d.ts.map +1 -1
- package/dist/commands/deinit.js +5 -0
- package/dist/commands/diagnostics.d.ts +4 -0
- package/dist/commands/diagnostics.d.ts.map +1 -0
- package/dist/commands/diagnostics.js +229 -0
- package/dist/commands/docs.d.ts.map +1 -1
- package/dist/commands/docs.js +13 -2
- package/dist/commands/doctor.d.ts +5 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +51 -7
- package/dist/commands/fetch.js +6 -5
- package/dist/commands/files.d.ts +34 -0
- package/dist/commands/files.d.ts.map +1 -0
- package/dist/commands/files.js +166 -0
- package/dist/commands/governor.d.ts.map +1 -1
- package/dist/commands/governor.js +18 -12
- package/dist/commands/inbox.d.ts +5 -0
- package/dist/commands/inbox.d.ts.map +1 -0
- package/dist/commands/inbox.js +57 -0
- package/dist/commands/init.d.ts +4 -5
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +63 -13
- package/dist/commands/ledger-v3.d.ts.map +1 -1
- package/dist/commands/ledger-v3.js +417 -2
- package/dist/commands/logs.d.ts +4 -0
- package/dist/commands/logs.d.ts.map +1 -0
- package/dist/commands/logs.js +169 -0
- package/dist/commands/messages.d.ts +5 -0
- package/dist/commands/messages.d.ts.map +1 -0
- package/dist/commands/messages.js +45 -0
- package/dist/commands/outline.d.ts +1 -1
- package/dist/commands/outline.d.ts.map +1 -1
- package/dist/commands/outline.js +2 -2
- package/dist/commands/qa-run.d.ts +4 -0
- package/dist/commands/qa-run.d.ts.map +1 -0
- package/dist/commands/qa-run.js +141 -0
- package/dist/commands/read.d.ts +1 -1
- package/dist/commands/read.d.ts.map +1 -1
- package/dist/commands/read.js +2 -2
- package/dist/commands/resources.d.ts +4 -0
- package/dist/commands/resources.d.ts.map +1 -0
- package/dist/commands/resources.js +29 -0
- package/dist/commands/semantic.d.ts.map +1 -1
- package/dist/commands/semantic.js +54 -2
- package/dist/commands/storage.d.ts +4 -0
- package/dist/commands/storage.d.ts.map +1 -0
- package/dist/commands/storage.js +238 -0
- package/dist/commands/supervisor.d.ts +4 -0
- package/dist/commands/supervisor.d.ts.map +1 -0
- package/dist/commands/supervisor.js +101 -0
- package/dist/commands/tunnel.d.ts +5 -1
- package/dist/commands/tunnel.d.ts.map +1 -1
- package/dist/commands/tunnel.js +44 -31
- package/dist/commands/web.d.ts +3 -0
- package/dist/commands/web.d.ts.map +1 -1
- package/dist/commands/web.js +84 -7
- package/dist/commands/work.js +3 -3
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +17 -13
- package/dist/core/adapters/profiles.d.ts +1 -1
- package/dist/core/agents/cli.js +215 -41
- package/dist/core/agents/health.d.ts +17 -0
- package/dist/core/agents/health.d.ts.map +1 -0
- package/dist/core/agents/health.js +109 -0
- package/dist/core/agents/live-authority-v3.d.ts +47 -1
- package/dist/core/agents/live-authority-v3.d.ts.map +1 -1
- package/dist/core/agents/live-authority-v3.js +244 -10
- package/dist/core/agents/live-lifecycle-v3.js +6 -1
- package/dist/core/agents/live-observation-v3.d.ts.map +1 -1
- package/dist/core/agents/live-observation-v3.js +6 -1
- package/dist/core/agents/mailbox.d.ts +92 -0
- package/dist/core/agents/mailbox.d.ts.map +1 -0
- package/dist/core/agents/mailbox.js +325 -0
- package/dist/core/agents/reconcile-coordination-v3.d.ts +44 -0
- package/dist/core/agents/reconcile-coordination-v3.d.ts.map +1 -0
- package/dist/core/agents/reconcile-coordination-v3.js +58 -0
- package/dist/core/agents/render/prompt-context.d.ts +14 -3
- package/dist/core/agents/render/prompt-context.d.ts.map +1 -1
- package/dist/core/agents/render/prompt-context.js +54 -16
- package/dist/core/agents/render/session-context.d.ts +8 -0
- package/dist/core/agents/render/session-context.d.ts.map +1 -1
- package/dist/core/agents/render/session-context.js +34 -3
- package/dist/core/agents/rules/commit-conflict.d.ts.map +1 -1
- package/dist/core/agents/rules/commit-conflict.js +50 -1
- package/dist/core/agents/rules/stop-hook.d.ts +2 -0
- package/dist/core/agents/rules/stop-hook.d.ts.map +1 -1
- package/dist/core/agents/rules/stop-hook.js +93 -16
- package/dist/core/agents/rules/verdict.d.ts +1 -0
- package/dist/core/agents/rules/verdict.d.ts.map +1 -1
- package/dist/core/agents/session-events.d.ts.map +1 -1
- package/dist/core/agents/session-events.js +4 -0
- package/dist/core/agents/session-finalization-state-v3.js +1 -1
- package/dist/core/agents/session-finalizer-v3.js +9 -2
- package/dist/core/agents/state/activity-log.d.ts +3 -0
- package/dist/core/agents/state/activity-log.d.ts.map +1 -1
- package/dist/core/agents/state/activity-log.js +6 -3
- package/dist/core/agents/state/heartbeat-writer.d.ts +6 -0
- package/dist/core/agents/state/heartbeat-writer.d.ts.map +1 -1
- package/dist/core/agents/state/heartbeat-writer.js +18 -0
- package/dist/core/agents/state/live-coordination-view.d.ts +5 -7
- package/dist/core/agents/state/live-coordination-view.d.ts.map +1 -1
- package/dist/core/agents/state/live-coordination-view.js +15 -90
- package/dist/core/agents/state/live-coordination-writer.d.ts +12 -0
- package/dist/core/agents/state/live-coordination-writer.d.ts.map +1 -0
- package/dist/core/agents/state/live-coordination-writer.js +92 -0
- package/dist/core/artifacts/index.d.ts +47 -1
- package/dist/core/artifacts/index.d.ts.map +1 -1
- package/dist/core/artifacts/index.js +191 -6
- package/dist/core/config.d.ts +74 -4
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +141 -4
- package/dist/core/conversations/archive.d.ts +49 -0
- package/dist/core/conversations/archive.d.ts.map +1 -0
- package/dist/core/conversations/archive.js +136 -0
- package/dist/core/conversations/catalog.d.ts +10 -0
- package/dist/core/conversations/catalog.d.ts.map +1 -0
- package/dist/core/conversations/catalog.js +72 -0
- package/dist/core/conversations/context-pack.d.ts +6 -0
- package/dist/core/conversations/context-pack.d.ts.map +1 -0
- package/dist/core/conversations/context-pack.js +60 -0
- package/dist/core/conversations/contract.d.ts +155 -0
- package/dist/core/conversations/contract.d.ts.map +1 -0
- package/dist/core/conversations/contract.js +1 -0
- package/dist/core/conversations/evaluation.d.ts +16 -0
- package/dist/core/conversations/evaluation.d.ts.map +1 -0
- package/dist/core/conversations/evaluation.js +9 -0
- package/dist/core/conversations/index.d.ts +10 -0
- package/dist/core/conversations/index.d.ts.map +1 -0
- package/dist/core/conversations/index.js +9 -0
- package/dist/core/conversations/lifecycle.d.ts +28 -0
- package/dist/core/conversations/lifecycle.d.ts.map +1 -0
- package/dist/core/conversations/lifecycle.js +29 -0
- package/dist/core/conversations/normalize.d.ts +14 -0
- package/dist/core/conversations/normalize.d.ts.map +1 -0
- package/dist/core/conversations/normalize.js +82 -0
- package/dist/core/conversations/query.d.ts +8 -0
- package/dist/core/conversations/query.d.ts.map +1 -0
- package/dist/core/conversations/query.js +280 -0
- package/dist/core/conversations/search-index.d.ts +9 -0
- package/dist/core/conversations/search-index.d.ts.map +1 -0
- package/dist/core/conversations/search-index.js +29 -0
- package/dist/core/diagnostics/advice.d.ts +9 -0
- package/dist/core/diagnostics/advice.d.ts.map +1 -0
- package/dist/core/diagnostics/advice.js +112 -0
- package/dist/core/diagnostics/bundle.d.ts +35 -0
- package/dist/core/diagnostics/bundle.d.ts.map +1 -0
- package/dist/core/diagnostics/bundle.js +874 -0
- package/dist/core/diagnostics/comparison.d.ts +5 -0
- package/dist/core/diagnostics/comparison.d.ts.map +1 -0
- package/dist/core/diagnostics/comparison.js +444 -0
- package/dist/core/diagnostics/contract.d.ts +245 -0
- package/dist/core/diagnostics/contract.d.ts.map +1 -0
- package/dist/core/diagnostics/contract.js +18 -0
- package/dist/core/diagnostics/identity.d.ts +3 -0
- package/dist/core/diagnostics/identity.d.ts.map +1 -0
- package/dist/core/diagnostics/identity.js +10 -0
- package/dist/core/diagnostics/index.d.ts +8 -0
- package/dist/core/diagnostics/index.d.ts.map +1 -0
- package/dist/core/diagnostics/index.js +7 -0
- package/dist/core/diagnostics/replay.d.ts +8 -0
- package/dist/core/diagnostics/replay.d.ts.map +1 -0
- package/dist/core/diagnostics/replay.js +213 -0
- package/dist/core/diagnostics/sanitize.d.ts +9 -0
- package/dist/core/diagnostics/sanitize.d.ts.map +1 -0
- package/dist/core/diagnostics/sanitize.js +84 -0
- package/dist/core/events/legacy-storage/canary.d.ts +18 -0
- package/dist/core/events/legacy-storage/canary.d.ts.map +1 -0
- package/dist/core/events/legacy-storage/canary.js +150 -0
- package/dist/core/events/legacy-storage/compression.d.ts +13 -0
- package/dist/core/events/legacy-storage/compression.d.ts.map +1 -0
- package/dist/core/events/legacy-storage/compression.js +107 -0
- package/dist/core/events/legacy-storage/fence.d.ts +15 -0
- package/dist/core/events/legacy-storage/fence.d.ts.map +1 -0
- package/dist/core/events/legacy-storage/fence.js +115 -0
- package/dist/core/events/legacy-storage/index.d.ts +7 -0
- package/dist/core/events/legacy-storage/index.d.ts.map +1 -0
- package/dist/core/events/legacy-storage/index.js +6 -0
- package/dist/core/events/legacy-storage/inventory.d.ts +10 -0
- package/dist/core/events/legacy-storage/inventory.d.ts.map +1 -0
- package/dist/core/events/legacy-storage/inventory.js +40 -0
- package/dist/core/events/legacy-storage/manifest.d.ts +23 -0
- package/dist/core/events/legacy-storage/manifest.d.ts.map +1 -0
- package/dist/core/events/legacy-storage/manifest.js +108 -0
- package/dist/core/events/legacy-storage/reader.d.ts +15 -0
- package/dist/core/events/legacy-storage/reader.d.ts.map +1 -0
- package/dist/core/events/legacy-storage/reader.js +154 -0
- package/dist/core/events/v3/archive-retention.d.ts +33 -0
- package/dist/core/events/v3/archive-retention.d.ts.map +1 -0
- package/dist/core/events/v3/archive-retention.js +195 -0
- package/dist/core/events/v3/authority-outbox.d.ts +7 -2
- package/dist/core/events/v3/authority-outbox.d.ts.map +1 -1
- package/dist/core/events/v3/authority-outbox.js +16 -3
- package/dist/core/events/v3/base-contract.d.ts +81 -41
- package/dist/core/events/v3/base-contract.d.ts.map +1 -1
- package/dist/core/events/v3/base-contract.js +17 -7
- package/dist/core/events/v3/bootstrap.d.ts +39 -0
- package/dist/core/events/v3/bootstrap.d.ts.map +1 -1
- package/dist/core/events/v3/bootstrap.js +167 -3
- package/dist/core/events/v3/capabilities.d.ts +1 -1
- package/dist/core/events/v3/capabilities.d.ts.map +1 -1
- package/dist/core/events/v3/capabilities.js +4 -3
- package/dist/core/events/v3/control-witness.d.ts +44 -0
- package/dist/core/events/v3/control-witness.d.ts.map +1 -0
- package/dist/core/events/v3/control-witness.js +233 -0
- package/dist/core/events/v3/control-writer.d.ts +4 -0
- package/dist/core/events/v3/control-writer.d.ts.map +1 -0
- package/dist/core/events/v3/control-writer.js +16 -0
- package/dist/core/events/v3/control.d.ts +8 -2
- package/dist/core/events/v3/control.d.ts.map +1 -1
- package/dist/core/events/v3/control.js +46 -18
- package/dist/core/events/v3/coordination-transaction-recovery.d.ts +42 -0
- package/dist/core/events/v3/coordination-transaction-recovery.d.ts.map +1 -0
- package/dist/core/events/v3/coordination-transaction-recovery.js +342 -0
- package/dist/core/events/v3/coordination-view.d.ts.map +1 -1
- package/dist/core/events/v3/coordination-view.js +16 -1
- package/dist/core/events/v3/generated.d.ts +1 -1
- package/dist/core/events/v3/generated.js +1 -1
- package/dist/core/events/v3/index.d.ts +5 -2
- package/dist/core/events/v3/index.d.ts.map +1 -1
- package/dist/core/events/v3/index.js +4 -1
- package/dist/core/events/v3/live-route-observer.d.ts +31 -0
- package/dist/core/events/v3/live-route-observer.d.ts.map +1 -0
- package/dist/core/events/v3/live-route-observer.js +58 -0
- package/dist/core/events/v3/live-routing.d.ts +13 -21
- package/dist/core/events/v3/live-routing.d.ts.map +1 -1
- package/dist/core/events/v3/live-routing.js +46 -41
- package/dist/core/events/v3/producers/coordination-recorder.d.ts +11 -1
- package/dist/core/events/v3/producers/coordination-recorder.d.ts.map +1 -1
- package/dist/core/events/v3/producers/coordination-recorder.js +76 -10
- package/dist/core/events/v3/producers/diagnostic-summaries.d.ts +129 -0
- package/dist/core/events/v3/producers/diagnostic-summaries.d.ts.map +1 -0
- package/dist/core/events/v3/producers/diagnostic-summaries.js +499 -0
- package/dist/core/events/v3/producers/hook-base.d.ts +1 -1
- package/dist/core/events/v3/producers/hook-base.d.ts.map +1 -1
- package/dist/core/events/v3/producers/hook-base.js +14 -3
- package/dist/core/events/v3/producers/intake.d.ts +7 -0
- package/dist/core/events/v3/producers/intake.d.ts.map +1 -1
- package/dist/core/events/v3/producers/intake.js +26 -2
- package/dist/core/events/v3/producers/producer-state-observer.d.ts +8 -0
- package/dist/core/events/v3/producers/producer-state-observer.d.ts.map +1 -0
- package/dist/core/events/v3/producers/producer-state-observer.js +45 -0
- package/dist/core/events/v3/producers/recorder.d.ts +71 -1
- package/dist/core/events/v3/producers/recorder.d.ts.map +1 -1
- package/dist/core/events/v3/producers/recorder.js +441 -25
- package/dist/core/events/v3/reader.d.ts +51 -0
- package/dist/core/events/v3/reader.d.ts.map +1 -1
- package/dist/core/events/v3/reader.js +181 -1
- package/dist/core/events/v3/rotation-config.d.ts +9 -0
- package/dist/core/events/v3/rotation-config.d.ts.map +1 -0
- package/dist/core/events/v3/rotation-config.js +91 -0
- package/dist/core/events/v3/runtime-build.d.ts +11 -0
- package/dist/core/events/v3/runtime-build.d.ts.map +1 -0
- package/dist/core/events/v3/runtime-build.js +39 -0
- package/dist/core/events/v3/runtime-identity.d.ts +5 -0
- package/dist/core/events/v3/runtime-identity.d.ts.map +1 -0
- package/dist/core/events/v3/runtime-identity.js +18 -0
- package/dist/core/events/v3/runtime-telemetry-capabilities.d.ts +6 -5
- package/dist/core/events/v3/runtime-telemetry-capabilities.d.ts.map +1 -1
- package/dist/core/events/v3/runtime-telemetry-capabilities.js +1 -1
- package/dist/core/events/v3/support-storage/classify.d.ts +46 -0
- package/dist/core/events/v3/support-storage/classify.d.ts.map +1 -0
- package/dist/core/events/v3/support-storage/classify.js +149 -0
- package/dist/core/events/v3/support-storage/eligibility.d.ts +29 -0
- package/dist/core/events/v3/support-storage/eligibility.d.ts.map +1 -0
- package/dist/core/events/v3/support-storage/eligibility.js +35 -0
- package/dist/core/events/v3/support-storage/index.d.ts +10 -0
- package/dist/core/events/v3/support-storage/index.d.ts.map +1 -0
- package/dist/core/events/v3/support-storage/index.js +9 -0
- package/dist/core/events/v3/support-storage/inventory.d.ts +30 -0
- package/dist/core/events/v3/support-storage/inventory.d.ts.map +1 -0
- package/dist/core/events/v3/support-storage/inventory.js +94 -0
- package/dist/core/events/v3/support-storage/logical-authority.d.ts +14 -0
- package/dist/core/events/v3/support-storage/logical-authority.d.ts.map +1 -0
- package/dist/core/events/v3/support-storage/logical-authority.js +104 -0
- package/dist/core/events/v3/support-storage/maintenance.d.ts +98 -0
- package/dist/core/events/v3/support-storage/maintenance.d.ts.map +1 -0
- package/dist/core/events/v3/support-storage/maintenance.js +352 -0
- package/dist/core/events/v3/support-storage/pack-contract.d.ts +59 -0
- package/dist/core/events/v3/support-storage/pack-contract.d.ts.map +1 -0
- package/dist/core/events/v3/support-storage/pack-contract.js +249 -0
- package/dist/core/events/v3/support-storage/pack-reader.d.ts +34 -0
- package/dist/core/events/v3/support-storage/pack-reader.d.ts.map +1 -0
- package/dist/core/events/v3/support-storage/pack-reader.js +258 -0
- package/dist/core/events/v3/support-storage/pack-writer.d.ts +30 -0
- package/dist/core/events/v3/support-storage/pack-writer.d.ts.map +1 -0
- package/dist/core/events/v3/support-storage/pack-writer.js +268 -0
- package/dist/core/events/v3/support-storage/recovery.d.ts +15 -0
- package/dist/core/events/v3/support-storage/recovery.d.ts.map +1 -0
- package/dist/core/events/v3/support-storage/recovery.js +22 -0
- package/dist/core/events/v3/turn-telemetry.d.ts +14 -8
- package/dist/core/events/v3/turn-telemetry.d.ts.map +1 -1
- package/dist/core/events/v3/turn-telemetry.js +32 -2
- package/dist/core/events/v3/writer.d.ts +13 -1
- package/dist/core/events/v3/writer.d.ts.map +1 -1
- package/dist/core/events/v3/writer.js +126 -12
- package/dist/core/governor/plan-read.d.ts.map +1 -1
- package/dist/core/governor/plan-read.js +5 -21
- package/dist/core/governor/planning.js +6 -8
- package/dist/core/governor/service-read.d.ts +12 -0
- package/dist/core/governor/service-read.d.ts.map +1 -1
- package/dist/core/governor/service-read.js +266 -2
- package/dist/core/governor/service.d.ts +1 -0
- package/dist/core/governor/service.d.ts.map +1 -1
- package/dist/core/governor/service.js +53 -18
- package/dist/core/guard/evidence-v3.d.ts.map +1 -1
- package/dist/core/guard/evidence-v3.js +2 -0
- package/dist/core/hooks/adapter/events.d.ts.map +1 -1
- package/dist/core/hooks/adapter/events.js +1 -0
- package/dist/core/hooks/adapter/output.d.ts +12 -2
- package/dist/core/hooks/adapter/output.d.ts.map +1 -1
- package/dist/core/hooks/adapter/output.js +23 -5
- package/dist/core/hooks/adapter/runtime-telemetry.d.ts +27 -4
- package/dist/core/hooks/adapter/runtime-telemetry.d.ts.map +1 -1
- package/dist/core/hooks/adapter/runtime-telemetry.js +307 -6
- package/dist/core/hooks/cli.js +380 -207
- package/dist/core/hooks/effects/image-capture.d.ts +1 -1
- package/dist/core/hooks/effects/image-capture.d.ts.map +1 -1
- package/dist/core/hooks/effects/image-capture.js +4 -2
- package/dist/core/hooks/health.d.ts +59 -0
- package/dist/core/hooks/health.d.ts.map +1 -0
- package/dist/core/hooks/health.js +84 -0
- package/dist/core/hooks/remediation-cap.d.ts +8 -3
- package/dist/core/hooks/remediation-cap.d.ts.map +1 -1
- package/dist/core/hooks/remediation-cap.js +3 -11
- package/dist/core/hooks/resolve/coord-root.d.ts +22 -9
- package/dist/core/hooks/resolve/coord-root.d.ts.map +1 -1
- package/dist/core/hooks/resolve/coord-root.js +92 -11
- package/dist/core/hooks/resolve/owner.d.ts.map +1 -1
- package/dist/core/hooks/resolve/owner.js +5 -0
- package/dist/core/hooks/resolve/transcript.d.ts +8 -0
- package/dist/core/hooks/resolve/transcript.d.ts.map +1 -1
- package/dist/core/hooks/resolve/transcript.js +11 -0
- package/dist/core/inbox/contract.d.ts +64 -0
- package/dist/core/inbox/contract.d.ts.map +1 -0
- package/dist/core/inbox/contract.js +13 -0
- package/dist/core/inbox/index.d.ts +5 -0
- package/dist/core/inbox/index.d.ts.map +1 -0
- package/dist/core/inbox/index.js +4 -0
- package/dist/core/inbox/lifecycle.d.ts +22 -0
- package/dist/core/inbox/lifecycle.d.ts.map +1 -0
- package/dist/core/inbox/lifecycle.js +41 -0
- package/dist/core/inbox/service.d.ts +36 -0
- package/dist/core/inbox/service.d.ts.map +1 -0
- package/dist/core/inbox/service.js +210 -0
- package/dist/core/inbox/watcher.d.ts +7 -0
- package/dist/core/inbox/watcher.d.ts.map +1 -0
- package/dist/core/inbox/watcher.js +26 -0
- package/dist/core/presence/codec-digest.d.ts.map +1 -1
- package/dist/core/presence/codec-digest.js +14 -3
- package/dist/core/presence/relay-client.d.ts +1 -0
- package/dist/core/presence/relay-client.d.ts.map +1 -1
- package/dist/core/presence/relay-client.js +52 -8
- package/dist/core/resources/contract.d.ts +90 -0
- package/dist/core/resources/contract.d.ts.map +1 -0
- package/dist/core/resources/contract.js +2 -0
- package/dist/core/resources/index.d.ts +6 -0
- package/dist/core/resources/index.d.ts.map +1 -0
- package/dist/core/resources/index.js +5 -0
- package/dist/core/resources/sampler.d.ts +27 -0
- package/dist/core/resources/sampler.d.ts.map +1 -0
- package/dist/core/resources/sampler.js +357 -0
- package/dist/core/resources/service-status.d.ts +3 -0
- package/dist/core/resources/service-status.d.ts.map +1 -0
- package/dist/core/resources/service-status.js +48 -0
- package/dist/core/resources/service.d.ts +26 -0
- package/dist/core/resources/service.d.ts.map +1 -0
- package/dist/core/resources/service.js +292 -0
- package/dist/core/resources/storage.d.ts +13 -0
- package/dist/core/resources/storage.d.ts.map +1 -0
- package/dist/core/resources/storage.js +30 -0
- package/dist/core/semantic/adapters.d.ts +11 -8
- package/dist/core/semantic/adapters.d.ts.map +1 -1
- package/dist/core/semantic/adapters.js +169 -31
- package/dist/core/semantic/contract.d.ts +532 -48
- package/dist/core/semantic/contract.d.ts.map +1 -1
- package/dist/core/semantic/contract.js +104 -3
- package/dist/core/semantic/index.d.ts +7 -3
- package/dist/core/semantic/index.d.ts.map +1 -1
- package/dist/core/semantic/index.js +7 -3
- package/dist/core/semantic/once.d.ts +6 -1
- package/dist/core/semantic/once.d.ts.map +1 -1
- package/dist/core/semantic/once.js +80 -9
- package/dist/core/semantic/prompt.d.ts.map +1 -1
- package/dist/core/semantic/prompt.js +14 -1
- package/dist/core/semantic/review.d.ts +144 -0
- package/dist/core/semantic/review.d.ts.map +1 -0
- package/dist/core/semantic/review.js +544 -0
- package/dist/core/semantic/routes.d.ts +10 -0
- package/dist/core/semantic/routes.d.ts.map +1 -0
- package/dist/core/semantic/routes.js +21 -0
- package/dist/core/semantic/scheduler.d.ts +14 -3
- package/dist/core/semantic/scheduler.d.ts.map +1 -1
- package/dist/core/semantic/scheduler.js +30 -6
- package/dist/core/semantic/service-status.d.ts +20 -0
- package/dist/core/semantic/service-status.d.ts.map +1 -1
- package/dist/core/semantic/service-status.js +60 -4
- package/dist/core/semantic/service.d.ts +1 -0
- package/dist/core/semantic/service.d.ts.map +1 -1
- package/dist/core/semantic/service.js +104 -15
- package/dist/core/semantic/soak.d.ts +75 -0
- package/dist/core/semantic/soak.d.ts.map +1 -0
- package/dist/core/semantic/soak.js +476 -0
- package/dist/core/semantic/storage.d.ts +11 -1
- package/dist/core/semantic/storage.d.ts.map +1 -1
- package/dist/core/semantic/storage.js +4 -3
- package/dist/core/semantic/usage.d.ts +43 -0
- package/dist/core/semantic/usage.d.ts.map +1 -0
- package/dist/core/semantic/usage.js +193 -0
- package/dist/core/semantic/validate.d.ts +3 -1
- package/dist/core/semantic/validate.d.ts.map +1 -1
- package/dist/core/semantic/validate.js +34 -1
- package/dist/core/storage/atomic-json.d.ts +3 -0
- package/dist/core/storage/atomic-json.d.ts.map +1 -0
- package/dist/core/storage/atomic-json.js +15 -0
- package/dist/core/storage/buffer.d.ts +28 -0
- package/dist/core/storage/buffer.d.ts.map +1 -0
- package/dist/core/storage/buffer.js +101 -0
- package/dist/core/storage/builtins.d.ts +3 -0
- package/dist/core/storage/builtins.d.ts.map +1 -0
- package/dist/core/storage/builtins.js +722 -0
- package/dist/core/storage/catalog.d.ts +19 -0
- package/dist/core/storage/catalog.d.ts.map +1 -0
- package/dist/core/storage/catalog.js +365 -0
- package/dist/core/storage/config.d.ts +16 -0
- package/dist/core/storage/config.d.ts.map +1 -0
- package/dist/core/storage/config.js +311 -0
- package/dist/core/storage/contract.d.ts +275 -0
- package/dist/core/storage/contract.d.ts.map +1 -0
- package/dist/core/storage/contract.js +3 -0
- package/dist/core/storage/durable-history.d.ts +36 -0
- package/dist/core/storage/durable-history.d.ts.map +1 -0
- package/dist/core/storage/durable-history.js +606 -0
- package/dist/core/storage/health.d.ts +4 -0
- package/dist/core/storage/health.d.ts.map +1 -0
- package/dist/core/storage/health.js +65 -0
- package/dist/core/storage/index.d.ts +16 -0
- package/dist/core/storage/index.d.ts.map +1 -0
- package/dist/core/storage/index.js +15 -0
- package/dist/core/storage/inventory.d.ts +25 -0
- package/dist/core/storage/inventory.d.ts.map +1 -0
- package/dist/core/storage/inventory.js +666 -0
- package/dist/core/storage/jsonl.d.ts +52 -0
- package/dist/core/storage/jsonl.d.ts.map +1 -0
- package/dist/core/storage/jsonl.js +156 -0
- package/dist/core/storage/log-retention.d.ts +52 -0
- package/dist/core/storage/log-retention.d.ts.map +1 -0
- package/dist/core/storage/log-retention.js +419 -0
- package/dist/core/storage/logger.d.ts +84 -0
- package/dist/core/storage/logger.d.ts.map +1 -0
- package/dist/core/storage/logger.js +413 -0
- package/dist/core/storage/maintenance-providers.d.ts +26 -0
- package/dist/core/storage/maintenance-providers.d.ts.map +1 -0
- package/dist/core/storage/maintenance-providers.js +141 -0
- package/dist/core/storage/maintenance.d.ts +125 -0
- package/dist/core/storage/maintenance.d.ts.map +1 -0
- package/dist/core/storage/maintenance.js +609 -0
- package/dist/core/storage/metrics.d.ts +60 -0
- package/dist/core/storage/metrics.d.ts.map +1 -0
- package/dist/core/storage/metrics.js +134 -0
- package/dist/core/storage/policy.d.ts +7 -0
- package/dist/core/storage/policy.d.ts.map +1 -0
- package/dist/core/storage/policy.js +110 -0
- package/dist/core/storage/process-log.d.ts +38 -0
- package/dist/core/storage/process-log.d.ts.map +1 -0
- package/dist/core/storage/process-log.js +165 -0
- package/dist/core/storage/query.d.ts +48 -0
- package/dist/core/storage/query.d.ts.map +1 -0
- package/dist/core/storage/query.js +346 -0
- package/dist/core/storage/receipts.d.ts +23 -0
- package/dist/core/storage/receipts.d.ts.map +1 -0
- package/dist/core/storage/receipts.js +117 -0
- package/dist/core/storage/segments.d.ts +84 -0
- package/dist/core/storage/segments.d.ts.map +1 -0
- package/dist/core/storage/segments.js +542 -0
- package/dist/core/storage/sink-graph.d.ts +65 -0
- package/dist/core/storage/sink-graph.d.ts.map +1 -0
- package/dist/core/storage/sink-graph.js +213 -0
- package/dist/core/storage/storm-control.d.ts +23 -0
- package/dist/core/storage/storm-control.d.ts.map +1 -0
- package/dist/core/storage/storm-control.js +59 -0
- package/dist/core/supervisor/activity.d.ts +4 -0
- package/dist/core/supervisor/activity.d.ts.map +1 -0
- package/dist/core/supervisor/activity.js +141 -0
- package/dist/core/supervisor/contract.d.ts +268 -0
- package/dist/core/supervisor/contract.d.ts.map +1 -0
- package/dist/core/supervisor/contract.js +35 -0
- package/dist/core/supervisor/explanations.d.ts +4 -0
- package/dist/core/supervisor/explanations.d.ts.map +1 -0
- package/dist/core/supervisor/explanations.js +71 -0
- package/dist/core/supervisor/findings.d.ts +20 -0
- package/dist/core/supervisor/findings.d.ts.map +1 -0
- package/dist/core/supervisor/findings.js +399 -0
- package/dist/core/supervisor/history.d.ts +9 -0
- package/dist/core/supervisor/history.d.ts.map +1 -0
- package/dist/core/supervisor/history.js +46 -0
- package/dist/core/supervisor/hook-health-alerts.d.ts +14 -0
- package/dist/core/supervisor/hook-health-alerts.d.ts.map +1 -0
- package/dist/core/supervisor/hook-health-alerts.js +70 -0
- package/dist/core/supervisor/hook-health-storage.d.ts +5 -0
- package/dist/core/supervisor/hook-health-storage.d.ts.map +1 -0
- package/dist/core/supervisor/hook-health-storage.js +24 -0
- package/dist/core/supervisor/hook-health.d.ts +72 -0
- package/dist/core/supervisor/hook-health.d.ts.map +1 -0
- package/dist/core/supervisor/hook-health.js +203 -0
- package/dist/core/supervisor/hooks.d.ts +10 -0
- package/dist/core/supervisor/hooks.d.ts.map +1 -0
- package/dist/core/supervisor/hooks.js +28 -0
- package/dist/core/supervisor/index.d.ts +15 -0
- package/dist/core/supervisor/index.d.ts.map +1 -0
- package/dist/core/supervisor/index.js +14 -0
- package/dist/core/supervisor/log-feed.d.ts +9 -0
- package/dist/core/supervisor/log-feed.d.ts.map +1 -0
- package/dist/core/supervisor/log-feed.js +103 -0
- package/dist/core/supervisor/service.d.ts +29 -0
- package/dist/core/supervisor/service.d.ts.map +1 -0
- package/dist/core/supervisor/service.js +450 -0
- package/dist/core/supervisor/services.d.ts +11 -0
- package/dist/core/supervisor/services.d.ts.map +1 -0
- package/dist/core/supervisor/services.js +155 -0
- package/dist/core/supervisor/status.d.ts +3 -0
- package/dist/core/supervisor/status.d.ts.map +1 -0
- package/dist/core/supervisor/status.js +48 -0
- package/dist/core/supervisor/storage.d.ts +30 -0
- package/dist/core/supervisor/storage.d.ts.map +1 -0
- package/dist/core/supervisor/storage.js +73 -0
- package/dist/core/supervisor/timeline.d.ts +3 -0
- package/dist/core/supervisor/timeline.d.ts.map +1 -0
- package/dist/core/supervisor/timeline.js +87 -0
- package/dist/core/work/state.d.ts.map +1 -1
- package/dist/core/work/state.js +10 -14
- package/dist/core/workflow/admission.d.ts +23 -0
- package/dist/core/workflow/admission.d.ts.map +1 -0
- package/dist/core/workflow/admission.js +136 -0
- package/dist/core/workflow/engine.d.ts.map +1 -1
- package/dist/core/workflow/engine.js +77 -2
- package/dist/core/workflow/index.d.ts +3 -2
- package/dist/core/workflow/index.d.ts.map +1 -1
- package/dist/core/workflow/index.js +2 -1
- package/dist/core/workflow/live-session-v3.d.ts.map +1 -1
- package/dist/core/workflow/live-session-v3.js +2 -1
- package/dist/core/workflow/proof.d.ts +2 -1
- package/dist/core/workflow/proof.d.ts.map +1 -1
- package/dist/core/workflow/proof.js +39 -1
- package/dist/core/workflow/run-state.d.ts +3 -2
- package/dist/core/workflow/run-state.d.ts.map +1 -1
- package/dist/core/workflow/run-state.js +8 -1
- package/dist/core/workflow/types.d.ts +33 -1
- package/dist/core/workflow/types.d.ts.map +1 -1
- package/dist/core/workflow/types.js +2 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/lazy-commands.d.ts +26 -0
- package/dist/lazy-commands.d.ts.map +1 -0
- package/dist/lazy-commands.js +210 -0
- package/dist/lib/browser/client.d.ts +5 -0
- package/dist/lib/browser/client.d.ts.map +1 -1
- package/dist/lib/browser/client.js +1 -0
- package/dist/lib/browser/index.d.ts +2 -0
- package/dist/lib/browser/index.d.ts.map +1 -1
- package/dist/lib/browser/index.js +2 -0
- package/dist/lib/browser/qa-run-contracts.d.ts +173 -0
- package/dist/lib/browser/qa-run-contracts.d.ts.map +1 -0
- package/dist/lib/browser/qa-run-contracts.js +226 -0
- package/dist/lib/browser/qa-run.d.ts +51 -0
- package/dist/lib/browser/qa-run.d.ts.map +1 -0
- package/dist/lib/browser/qa-run.js +684 -0
- package/dist/lib/coord-root-id.d.ts +9 -0
- package/dist/lib/coord-root-id.d.ts.map +1 -0
- package/dist/lib/coord-root-id.js +17 -0
- package/dist/lib/docs-lint.d.ts +2 -0
- package/dist/lib/docs-lint.d.ts.map +1 -1
- package/dist/lib/docs-lint.js +45 -80
- package/dist/lib/docs-metadata-audit.d.ts +3 -0
- package/dist/lib/docs-metadata-audit.d.ts.map +1 -1
- package/dist/lib/docs-metadata-audit.js +13 -23
- package/dist/lib/docs-metadata-sync.d.ts +1 -0
- package/dist/lib/docs-metadata-sync.d.ts.map +1 -1
- package/dist/lib/docs-metadata-sync.js +28 -10
- package/dist/lib/docs-repository-view.d.ts +22 -0
- package/dist/lib/docs-repository-view.d.ts.map +1 -0
- package/dist/lib/docs-repository-view.js +185 -0
- package/dist/lib/http/client.d.ts +11 -5
- package/dist/lib/http/client.d.ts.map +1 -1
- package/dist/lib/http/client.js +22 -4
- package/dist/lib/http/index.d.ts +1 -1
- package/dist/lib/http/index.d.ts.map +1 -1
- package/dist/lib/http/index.js +1 -1
- package/dist/lib/indexer-exclusions.d.ts +27 -0
- package/dist/lib/indexer-exclusions.d.ts.map +1 -0
- package/dist/lib/indexer-exclusions.js +176 -0
- package/dist/lib/instructions/apply.d.ts +3 -1
- package/dist/lib/instructions/apply.d.ts.map +1 -1
- package/dist/lib/instructions/apply.js +74 -3
- package/dist/lib/instructions/templates.d.ts.map +1 -1
- package/dist/lib/instructions/templates.js +11 -0
- package/dist/lib/local-file-url.d.ts +9 -0
- package/dist/lib/local-file-url.d.ts.map +1 -0
- package/dist/lib/local-file-url.js +20 -0
- package/dist/lib/web-performance.d.ts +118 -0
- package/dist/lib/web-performance.d.ts.map +1 -0
- package/dist/lib/web-performance.js +192 -0
- package/package.json +40 -2
- package/schemas/config.schema.json +58 -0
- package/schemas/event-v3.schema.json +324 -112
- package/src/commander.ts +488 -95
- package/src/commands/agents.ts +617 -237
- package/src/commands/artifacts.ts +40 -2
- package/src/commands/backup.ts +18 -14
- package/src/commands/browse-session.ts +12 -0
- package/src/commands/browse.ts +21 -7
- package/src/commands/conversations.ts +279 -0
- package/src/commands/deinit.ts +6 -0
- package/src/commands/diagnostics.ts +271 -0
- package/src/commands/docs.ts +25 -6
- package/src/commands/doctor.ts +75 -9
- package/src/commands/fetch.ts +7 -6
- package/src/commands/files.ts +243 -0
- package/src/commands/governor.ts +21 -12
- package/src/commands/inbox.ts +61 -0
- package/src/commands/init.ts +78 -16
- package/src/commands/ledger-v3.ts +503 -1
- package/src/commands/logs.ts +224 -0
- package/src/commands/messages.ts +61 -0
- package/src/commands/outline.ts +6 -2
- package/src/commands/qa-run.ts +184 -0
- package/src/commands/read.ts +6 -2
- package/src/commands/resources.ts +38 -0
- package/src/commands/semantic.ts +66 -1
- package/src/commands/storage.ts +310 -0
- package/src/commands/supervisor.ts +141 -0
- package/src/commands/tunnel.ts +66 -52
- package/src/commands/web.ts +96 -7
- package/src/commands/work.ts +3 -3
- package/src/commands/workflow.ts +21 -13
- package/src/core/agents/cli.ts +265 -55
- package/src/core/agents/health.ts +142 -0
- package/src/core/agents/live-authority-v3.ts +341 -10
- package/src/core/agents/live-lifecycle-v3.ts +6 -1
- package/src/core/agents/live-observation-v3.ts +6 -1
- package/src/core/agents/mailbox.ts +373 -0
- package/src/core/agents/reconcile-coordination-v3.ts +77 -0
- package/src/core/agents/render/prompt-context.ts +66 -15
- package/src/core/agents/render/session-context.ts +37 -3
- package/src/core/agents/rules/commit-conflict.ts +58 -1
- package/src/core/agents/rules/stop-hook.ts +105 -20
- package/src/core/agents/rules/verdict.ts +1 -0
- package/src/core/agents/session-events.ts +4 -0
- package/src/core/agents/session-finalization-state-v3.ts +1 -1
- package/src/core/agents/session-finalizer-v3.ts +8 -2
- package/src/core/agents/state/activity-log.ts +7 -2
- package/src/core/agents/state/heartbeat-writer.ts +27 -0
- package/src/core/agents/state/live-coordination-view.ts +16 -105
- package/src/core/agents/state/live-coordination-writer.ts +141 -0
- package/src/core/artifacts/index.ts +260 -11
- package/src/core/config.ts +235 -5
- package/src/core/conversations/archive.ts +237 -0
- package/src/core/conversations/catalog.ts +79 -0
- package/src/core/conversations/context-pack.ts +72 -0
- package/src/core/conversations/contract.ts +178 -0
- package/src/core/conversations/evaluation.ts +30 -0
- package/src/core/conversations/index.ts +9 -0
- package/src/core/conversations/lifecycle.ts +63 -0
- package/src/core/conversations/normalize.ts +105 -0
- package/src/core/conversations/query.ts +318 -0
- package/src/core/conversations/search-index.ts +48 -0
- package/src/core/diagnostics/advice.ts +147 -0
- package/src/core/diagnostics/bundle.ts +1142 -0
- package/src/core/diagnostics/comparison.ts +565 -0
- package/src/core/diagnostics/contract.ts +311 -0
- package/src/core/diagnostics/identity.ts +11 -0
- package/src/core/diagnostics/index.ts +7 -0
- package/src/core/diagnostics/replay.ts +314 -0
- package/src/core/diagnostics/sanitize.ts +97 -0
- package/src/core/events/legacy-storage/canary.ts +177 -0
- package/src/core/events/legacy-storage/compression.ts +130 -0
- package/src/core/events/legacy-storage/fence.ts +129 -0
- package/src/core/events/legacy-storage/index.ts +6 -0
- package/src/core/events/legacy-storage/inventory.ts +51 -0
- package/src/core/events/legacy-storage/manifest.ts +136 -0
- package/src/core/events/legacy-storage/reader.ts +178 -0
- package/src/core/events/v3/archive-retention.ts +251 -0
- package/src/core/events/v3/authority-outbox.ts +22 -1
- package/src/core/events/v3/base-contract.ts +17 -7
- package/src/core/events/v3/bootstrap.ts +195 -2
- package/src/core/events/v3/capabilities.ts +5 -3
- package/src/core/events/v3/control-witness.ts +339 -0
- package/src/core/events/v3/control-writer.ts +16 -0
- package/src/core/events/v3/control.ts +54 -18
- package/src/core/events/v3/coordination-transaction-recovery.ts +477 -0
- package/src/core/events/v3/coordination-view.ts +17 -1
- package/src/core/events/v3/generated.ts +1 -1
- package/src/core/events/v3/index.ts +14 -2
- package/src/core/events/v3/live-route-observer.ts +80 -0
- package/src/core/events/v3/live-routing.ts +65 -46
- package/src/core/events/v3/producers/coordination-recorder.ts +95 -10
- package/src/core/events/v3/producers/diagnostic-summaries.ts +593 -0
- package/src/core/events/v3/producers/hook-base.ts +15 -3
- package/src/core/events/v3/producers/intake.ts +31 -2
- package/src/core/events/v3/producers/producer-state-observer.ts +52 -0
- package/src/core/events/v3/producers/recorder.ts +681 -34
- package/src/core/events/v3/reader.ts +243 -2
- package/src/core/events/v3/rotation-config.ts +98 -0
- package/src/core/events/v3/runtime-build.ts +41 -0
- package/src/core/events/v3/runtime-identity.ts +16 -0
- package/src/core/events/v3/runtime-telemetry-capabilities.ts +14 -8
- package/src/core/events/v3/support-storage/classify.ts +209 -0
- package/src/core/events/v3/support-storage/eligibility.ts +58 -0
- package/src/core/events/v3/support-storage/index.ts +9 -0
- package/src/core/events/v3/support-storage/inventory.ts +135 -0
- package/src/core/events/v3/support-storage/logical-authority.ts +117 -0
- package/src/core/events/v3/support-storage/maintenance.ts +501 -0
- package/src/core/events/v3/support-storage/pack-contract.ts +337 -0
- package/src/core/events/v3/support-storage/pack-reader.ts +346 -0
- package/src/core/events/v3/support-storage/pack-writer.ts +352 -0
- package/src/core/events/v3/support-storage/recovery.ts +43 -0
- package/src/core/events/v3/turn-telemetry.ts +58 -7
- package/src/core/events/v3/writer.ts +168 -16
- package/src/core/governor/plan-read.ts +5 -18
- package/src/core/governor/planning.ts +5 -8
- package/src/core/governor/service-read.ts +320 -2
- package/src/core/governor/service.ts +49 -22
- package/src/core/guard/evidence-v3.ts +1 -0
- package/src/core/hooks/adapter/events.ts +1 -0
- package/src/core/hooks/adapter/output.ts +23 -5
- package/src/core/hooks/adapter/runtime-telemetry.ts +408 -13
- package/src/core/hooks/cli.ts +404 -233
- package/src/core/hooks/effects/image-capture.ts +4 -1
- package/src/core/hooks/health.ts +146 -0
- package/src/core/hooks/remediation-cap.ts +12 -6
- package/src/core/hooks/resolve/coord-root.ts +91 -11
- package/src/core/hooks/resolve/owner.ts +4 -0
- package/src/core/hooks/resolve/transcript.ts +18 -0
- package/src/core/inbox/contract.ts +81 -0
- package/src/core/inbox/index.ts +4 -0
- package/src/core/inbox/lifecycle.ts +104 -0
- package/src/core/inbox/service.ts +305 -0
- package/src/core/inbox/watcher.ts +36 -0
- package/src/core/presence/codec-digest.ts +15 -9
- package/src/core/presence/relay-client.ts +55 -7
- package/src/core/resources/contract.ts +98 -0
- package/src/core/resources/index.ts +5 -0
- package/src/core/resources/sampler.ts +458 -0
- package/src/core/resources/service-status.ts +62 -0
- package/src/core/resources/service.ts +337 -0
- package/src/core/resources/storage.ts +44 -0
- package/src/core/semantic/adapters.ts +200 -41
- package/src/core/semantic/contract.ts +135 -3
- package/src/core/semantic/index.ts +76 -2
- package/src/core/semantic/once.ts +93 -7
- package/src/core/semantic/prompt.ts +13 -1
- package/src/core/semantic/review.ts +803 -0
- package/src/core/semantic/routes.ts +30 -0
- package/src/core/semantic/scheduler.ts +49 -5
- package/src/core/semantic/service-status.ts +99 -5
- package/src/core/semantic/service.ts +116 -15
- package/src/core/semantic/soak.ts +638 -0
- package/src/core/semantic/storage.ts +20 -6
- package/src/core/semantic/usage.ts +272 -0
- package/src/core/semantic/validate.ts +31 -0
- package/src/core/storage/atomic-json.ts +15 -0
- package/src/core/storage/buffer.ts +124 -0
- package/src/core/storage/builtins.ts +972 -0
- package/src/core/storage/catalog.ts +467 -0
- package/src/core/storage/config.ts +423 -0
- package/src/core/storage/contract.ts +342 -0
- package/src/core/storage/durable-history.ts +738 -0
- package/src/core/storage/health.ts +76 -0
- package/src/core/storage/index.ts +15 -0
- package/src/core/storage/inventory.ts +859 -0
- package/src/core/storage/jsonl.ts +213 -0
- package/src/core/storage/log-retention.ts +555 -0
- package/src/core/storage/logger.ts +548 -0
- package/src/core/storage/maintenance-providers.ts +200 -0
- package/src/core/storage/maintenance.ts +929 -0
- package/src/core/storage/metrics.ts +199 -0
- package/src/core/storage/policy.ts +141 -0
- package/src/core/storage/process-log.ts +203 -0
- package/src/core/storage/query.ts +418 -0
- package/src/core/storage/receipts.ts +162 -0
- package/src/core/storage/segments.ts +721 -0
- package/src/core/storage/sink-graph.ts +343 -0
- package/src/core/storage/storm-control.ts +91 -0
- package/src/core/supervisor/activity.ts +193 -0
- package/src/core/supervisor/contract.ts +312 -0
- package/src/core/supervisor/explanations.ts +104 -0
- package/src/core/supervisor/findings.ts +788 -0
- package/src/core/supervisor/history.ts +61 -0
- package/src/core/supervisor/hook-health-alerts.ts +108 -0
- package/src/core/supervisor/hook-health-storage.ts +25 -0
- package/src/core/supervisor/hook-health.ts +301 -0
- package/src/core/supervisor/hooks.ts +35 -0
- package/src/core/supervisor/index.ts +14 -0
- package/src/core/supervisor/log-feed.ts +131 -0
- package/src/core/supervisor/service.ts +511 -0
- package/src/core/supervisor/services.ts +203 -0
- package/src/core/supervisor/status.ts +59 -0
- package/src/core/supervisor/storage.ts +126 -0
- package/src/core/supervisor/timeline.ts +133 -0
- package/src/core/work/state.ts +12 -21
- package/src/core/workflow/admission.ts +215 -0
- package/src/core/workflow/engine.ts +93 -1
- package/src/core/workflow/index.ts +10 -0
- package/src/core/workflow/live-session-v3.ts +2 -4
- package/src/core/workflow/proof.ts +54 -1
- package/src/core/workflow/run-state.ts +13 -1
- package/src/core/workflow/types.ts +39 -1
- package/src/index.ts +2 -0
- package/src/lazy-commands.ts +294 -0
- package/src/lib/browser/client.ts +6 -0
- package/src/lib/browser/index.ts +29 -0
- package/src/lib/browser/qa-run-contracts.ts +380 -0
- package/src/lib/browser/qa-run.ts +784 -0
- package/src/lib/coord-root-id.ts +23 -0
- package/src/lib/docs-lint.ts +58 -77
- package/src/lib/docs-metadata-audit.ts +26 -21
- package/src/lib/docs-metadata-sync.ts +32 -9
- package/src/lib/docs-repository-view.ts +220 -0
- package/src/lib/http/client.ts +44 -8
- package/src/lib/http/index.ts +6 -1
- package/src/lib/indexer-exclusions.ts +173 -0
- package/src/lib/instructions/apply.ts +81 -2
- package/src/lib/instructions/templates.ts +11 -0
- package/src/lib/local-file-url.ts +31 -0
- package/src/lib/web-performance.ts +335 -0
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { canonicalJsonV3, sha256V3 } from "../events/v3/canonical.js";
|
|
2
|
+
import { canonicalJsonV3, normalizeNativeIdV3, sha256V3 } from "../events/v3/canonical.js";
|
|
3
|
+
import { readEventV3ControlState } from "../events/v3/control.js";
|
|
3
4
|
import { readCoordinationViewV3, requireAuthoritySafeCoordinationViewV3, } from "../events/v3/coordination-view.js";
|
|
5
|
+
import { fingerprintContextV3 } from "../events/v3/fingerprint-keys.js";
|
|
4
6
|
import { LIVE_HOOK_V3_PRODUCER_ID, liveInstanceIdV3, livePlatformV3, resolveLiveEventLedgerRouteV3, } from "../events/v3/live-routing.js";
|
|
5
7
|
import { recordCoordinationAuthorityV3, } from "../events/v3/producers/coordination-recorder.js";
|
|
6
|
-
import { readTerminalHookProducerStateV3, recordHookSignalV3, } from "../events/v3/producers/recorder.js";
|
|
8
|
+
import { listHookProducerStateRecordsV3, readHookProducerStateV3, readTerminalHookProducerStateV3, recordHookSignalV3, } from "../events/v3/producers/recorder.js";
|
|
7
9
|
import { canonicalClaimPath } from "./claim-path.js";
|
|
8
10
|
import { acquireClaim, readHeartbeat, releaseClaim, setIdentityCache, setLifecycleCache, setTask, } from "./state/heartbeat-writer.js";
|
|
9
|
-
import {
|
|
11
|
+
import { liveCoordinationAdapterV3, readLiveCoordinationRow, } from "./state/live-coordination-view.js";
|
|
12
|
+
import { ensureLiveCoordinationHeartbeat } from "./state/live-coordination-writer.js";
|
|
10
13
|
import { recordNameAssumption } from "./state/names.js";
|
|
11
14
|
export const LIVE_COORDINATION_V3_PRODUCER_ID = "prd_agent-coord";
|
|
12
15
|
export class LiveCoordinationAuthorityV3Error extends Error {
|
|
@@ -17,6 +20,237 @@ export class LiveCoordinationAuthorityV3Error extends Error {
|
|
|
17
20
|
this.name = "LiveCoordinationAuthorityV3Error";
|
|
18
21
|
}
|
|
19
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Establish the missing generation authority for one adapter-native session,
|
|
25
|
+
* then reconstruct its disposable heartbeat cache.
|
|
26
|
+
*
|
|
27
|
+
* This is intentionally narrower than mid-flight hook onboarding. The caller
|
|
28
|
+
* must supply an already validated native session, adapter, and current
|
|
29
|
+
* instance identity. Existing authority is reused only when all three bind to
|
|
30
|
+
* the same non-terminal producer generation. A terminal generation, an
|
|
31
|
+
* adapter/session collision, or any disagreement between private producer
|
|
32
|
+
* control and the public projection fails closed. No turn is synthesized.
|
|
33
|
+
*/
|
|
34
|
+
export function bootstrapLiveCoordinationAuthorityV3(input) {
|
|
35
|
+
if (!/^[a-zA-Z0-9._-]{1,128}$/.test(input.owner)) {
|
|
36
|
+
throw new LiveCoordinationAuthorityV3Error("invalid_instance_identity");
|
|
37
|
+
}
|
|
38
|
+
if (input.nativeSessionId.length === 0 ||
|
|
39
|
+
input.nativeSessionId.length > 512 ||
|
|
40
|
+
input.nativeSessionId.includes("\0")) {
|
|
41
|
+
throw new LiveCoordinationAuthorityV3Error("invalid_native_session_identity");
|
|
42
|
+
}
|
|
43
|
+
const route = resolveLiveEventLedgerRouteV3(input.coordRoot);
|
|
44
|
+
if (route.state === "blocked")
|
|
45
|
+
throw new LiveCoordinationAuthorityV3Error(route.reason);
|
|
46
|
+
const control = readEventV3ControlState(input.coordRoot);
|
|
47
|
+
if (control.state !== route.mode) {
|
|
48
|
+
throw new LiveCoordinationAuthorityV3Error("control_state_mismatch");
|
|
49
|
+
}
|
|
50
|
+
const instanceId = liveInstanceIdV3(input.owner);
|
|
51
|
+
const rootId = control.genesis.event.scope.root_id;
|
|
52
|
+
const context = fingerprintContextV3(input.coordRoot, rootId, undefined, control.genesis.profile.privacy_key_epoch);
|
|
53
|
+
const sessionId = `sid_${normalizeNativeIdV3(context, `${input.adapter}.session`, input.nativeSessionId).slice(4)}`;
|
|
54
|
+
const view = readAuthoritySafeViewForBootstrap(input.coordRoot);
|
|
55
|
+
const existing = view.instances[instanceId];
|
|
56
|
+
const sessionStates = readSessionProducerStatesForBootstrap(input.coordRoot, input.nativeSessionId);
|
|
57
|
+
const instanceStates = readInstanceProducerStatesForBootstrap(input.coordRoot, instanceId);
|
|
58
|
+
const crossAdapter = sessionStates.find((state) => state.adapter !== input.adapter);
|
|
59
|
+
if (crossAdapter) {
|
|
60
|
+
throw new LiveCoordinationAuthorityV3Error("cross_adapter_identity");
|
|
61
|
+
}
|
|
62
|
+
const crossInstance = sessionStates.find((state) => state.instance_id !== instanceId);
|
|
63
|
+
if (crossInstance) {
|
|
64
|
+
throw new LiveCoordinationAuthorityV3Error("cross_instance_identity");
|
|
65
|
+
}
|
|
66
|
+
const direct = sessionStates.find((state) => state.adapter === input.adapter);
|
|
67
|
+
if (direct?.terminal ||
|
|
68
|
+
(!existing && terminalGenerationForSession(view, instanceId, sessionId))) {
|
|
69
|
+
throw new LiveCoordinationAuthorityV3Error("terminal_generation_forbidden");
|
|
70
|
+
}
|
|
71
|
+
const liveInstanceStates = instanceStates.filter((state) => !state.terminal);
|
|
72
|
+
if (liveInstanceStates.length > 1 || sessionStates.length > 1) {
|
|
73
|
+
throw new LiveCoordinationAuthorityV3Error("generation_ambiguous");
|
|
74
|
+
}
|
|
75
|
+
if (existing) {
|
|
76
|
+
const observedAdapter = existing.runtime_attestation.adapter;
|
|
77
|
+
if (observedAdapter.state !== "observed" || observedAdapter.value.id !== input.adapter) {
|
|
78
|
+
throw new LiveCoordinationAuthorityV3Error("cross_adapter_identity");
|
|
79
|
+
}
|
|
80
|
+
if (existing.session_id !== sessionId) {
|
|
81
|
+
throw new LiveCoordinationAuthorityV3Error("cross_session_identity");
|
|
82
|
+
}
|
|
83
|
+
if (!direct ||
|
|
84
|
+
direct.terminal ||
|
|
85
|
+
direct.generation_id !== existing.generation_id ||
|
|
86
|
+
liveInstanceStates.length !== 1 ||
|
|
87
|
+
liveInstanceStates[0]?.generation_id !== existing.generation_id) {
|
|
88
|
+
throw new LiveCoordinationAuthorityV3Error("generation_control_mismatch");
|
|
89
|
+
}
|
|
90
|
+
return materializeBootstrappedAuthority(input, existing.generation_id, "reused");
|
|
91
|
+
}
|
|
92
|
+
if (direct || liveInstanceStates.length > 0) {
|
|
93
|
+
throw new LiveCoordinationAuthorityV3Error("generation_control_mismatch");
|
|
94
|
+
}
|
|
95
|
+
const started = recordHookSignalV3({
|
|
96
|
+
coordRoot: input.coordRoot,
|
|
97
|
+
mode: route.mode,
|
|
98
|
+
signal: "session-start",
|
|
99
|
+
payload: { raw: {}, session_id: input.nativeSessionId },
|
|
100
|
+
adapter: input.adapter,
|
|
101
|
+
instance_id: instanceId,
|
|
102
|
+
producer_id: LIVE_HOOK_V3_PRODUCER_ID,
|
|
103
|
+
build_id: route.build_id,
|
|
104
|
+
platform: livePlatformV3(),
|
|
105
|
+
session_start_derivation: "validated_current_session_heal",
|
|
106
|
+
});
|
|
107
|
+
if (started.state !== "recorded" && started.state !== "already_started") {
|
|
108
|
+
const reason = "reason" in started ? `:${started.reason}` : "";
|
|
109
|
+
throw new LiveCoordinationAuthorityV3Error(`generation_bootstrap_failed:${started.state}${reason}`);
|
|
110
|
+
}
|
|
111
|
+
const after = readAuthoritySafeViewForBootstrap(input.coordRoot).instances[instanceId];
|
|
112
|
+
const producer = readSessionProducerStatesForBootstrap(input.coordRoot, input.nativeSessionId).filter((state) => state.adapter === input.adapter && state.instance_id === instanceId);
|
|
113
|
+
if (!after ||
|
|
114
|
+
after.session_id !== sessionId ||
|
|
115
|
+
producer.length !== 1 ||
|
|
116
|
+
producer[0]?.terminal ||
|
|
117
|
+
producer[0]?.generation_id !== after.generation_id) {
|
|
118
|
+
throw new LiveCoordinationAuthorityV3Error("generation_control_mismatch");
|
|
119
|
+
}
|
|
120
|
+
return materializeBootstrappedAuthority(input, after.generation_id, started.state === "recorded" ? "created" : "reused");
|
|
121
|
+
}
|
|
122
|
+
function readAuthoritySafeViewForBootstrap(coordRoot) {
|
|
123
|
+
try {
|
|
124
|
+
return requireAuthoritySafeCoordinationViewV3(readCoordinationViewV3(coordRoot));
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
if (error instanceof LiveCoordinationAuthorityV3Error)
|
|
128
|
+
throw error;
|
|
129
|
+
throw new LiveCoordinationAuthorityV3Error("coordination_view_unsafe");
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
function readSessionProducerStatesForBootstrap(coordRoot, nativeSessionId) {
|
|
133
|
+
try {
|
|
134
|
+
return ["claude-code", "codex", "cursor"]
|
|
135
|
+
.map((adapter) => readHookProducerStateV3(coordRoot, adapter, nativeSessionId))
|
|
136
|
+
.filter((state) => state !== undefined);
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
throw new LiveCoordinationAuthorityV3Error("producer_state_unsafe");
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
function readInstanceProducerStatesForBootstrap(coordRoot, instanceId) {
|
|
143
|
+
try {
|
|
144
|
+
return listHookProducerStateRecordsV3(coordRoot, { includeTerminal: true })
|
|
145
|
+
.map((record) => record.state)
|
|
146
|
+
.filter((state) => state.instance_id === instanceId);
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
throw new LiveCoordinationAuthorityV3Error("producer_state_unsafe");
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function terminalGenerationForSession(view, instanceId, sessionId) {
|
|
153
|
+
return Object.values(view.terminal_generations).some((generation) => generation.instance_id === instanceId && generation.session_id === sessionId);
|
|
154
|
+
}
|
|
155
|
+
function materializeBootstrappedAuthority(input, generationId, state) {
|
|
156
|
+
const heartbeat = ensureLiveCoordinationHeartbeat(input.coordRoot, input.owner, input.nativeSessionId, input.adapter);
|
|
157
|
+
if (!heartbeat || heartbeat.v3_generation_id !== generationId) {
|
|
158
|
+
throw new LiveCoordinationAuthorityV3Error("generation_materialization_failed");
|
|
159
|
+
}
|
|
160
|
+
return {
|
|
161
|
+
state,
|
|
162
|
+
adapter: input.adapter,
|
|
163
|
+
generation_id: generationId,
|
|
164
|
+
heartbeat,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Reapply private, generation-bound coordination state after a runtime epoch
|
|
169
|
+
* replaces the canonical ledger. The old heartbeat is only accepted for the
|
|
170
|
+
* same native session and a different V3 generation. Its task prose and
|
|
171
|
+
* lifecycle reason remain in the disposable cache; canonical events retain
|
|
172
|
+
* only the privacy-safe authority signals.
|
|
173
|
+
*/
|
|
174
|
+
export function restoreLiveCoordinationStateAfterEpochV3(input) {
|
|
175
|
+
const unchanged = {
|
|
176
|
+
state: "unchanged",
|
|
177
|
+
task: false,
|
|
178
|
+
claims: 0,
|
|
179
|
+
lifecycle: false,
|
|
180
|
+
};
|
|
181
|
+
const prior = input.prior;
|
|
182
|
+
if (!prior || prior.instance_id !== input.owner)
|
|
183
|
+
return unchanged;
|
|
184
|
+
if (prior.session_id !== input.nativeSessionId &&
|
|
185
|
+
prior.native_session_id !== input.nativeSessionId) {
|
|
186
|
+
return unchanged;
|
|
187
|
+
}
|
|
188
|
+
// The recorder just committed this hook under the named generation. When
|
|
189
|
+
// it is the cache's generation, no epoch replacement occurred and the
|
|
190
|
+
// expensive complete coordination projection cannot change the answer.
|
|
191
|
+
if (input.currentGenerationId && prior.v3_generation_id === input.currentGenerationId) {
|
|
192
|
+
return unchanged;
|
|
193
|
+
}
|
|
194
|
+
const view = requireAuthoritySafeCoordinationViewV3(readCoordinationViewV3(input.coordRoot));
|
|
195
|
+
const priorGenerationStillCurrent = [
|
|
196
|
+
...Object.values(view.instances),
|
|
197
|
+
...Object.values(view.terminal_generations),
|
|
198
|
+
].some((generation) => generation.generation_id === prior.v3_generation_id);
|
|
199
|
+
if (priorGenerationStillCurrent)
|
|
200
|
+
return unchanged;
|
|
201
|
+
const current = readLiveCoordinationRow(input.coordRoot, input.owner);
|
|
202
|
+
if (!current || !prior.v3_generation_id || current.v3_generation_id === prior.v3_generation_id) {
|
|
203
|
+
return unchanged;
|
|
204
|
+
}
|
|
205
|
+
let task = false;
|
|
206
|
+
let claims = 0;
|
|
207
|
+
let lifecycle = false;
|
|
208
|
+
if (typeof prior.task === "string" && prior.task.length > 0 && current.task !== prior.task) {
|
|
209
|
+
recordLiveTaskChangeV3({
|
|
210
|
+
coordRoot: input.coordRoot,
|
|
211
|
+
owner: input.owner,
|
|
212
|
+
nativeSessionId: input.nativeSessionId,
|
|
213
|
+
adapter: input.adapter,
|
|
214
|
+
task: prior.task,
|
|
215
|
+
});
|
|
216
|
+
task = true;
|
|
217
|
+
}
|
|
218
|
+
const currentClaims = new Set((current.files_touched ?? []).map((path) => canonicalClaimPath(input.coordRoot, path)));
|
|
219
|
+
for (const path of [...new Set(prior.files_touched ?? [])].sort()) {
|
|
220
|
+
const canonical = canonicalClaimPath(input.coordRoot, path);
|
|
221
|
+
if (currentClaims.has(canonical))
|
|
222
|
+
continue;
|
|
223
|
+
recordLiveClaimChangeV3({
|
|
224
|
+
coordRoot: input.coordRoot,
|
|
225
|
+
owner: input.owner,
|
|
226
|
+
nativeSessionId: input.nativeSessionId,
|
|
227
|
+
adapter: input.adapter,
|
|
228
|
+
operation: "acquired",
|
|
229
|
+
path: canonical,
|
|
230
|
+
});
|
|
231
|
+
currentClaims.add(canonical);
|
|
232
|
+
claims += 1;
|
|
233
|
+
}
|
|
234
|
+
const priorLifecycle = prior.task_state ?? "active";
|
|
235
|
+
if (priorLifecycle !== "active" &&
|
|
236
|
+
(current.task_state !== priorLifecycle || current.task_state_reason !== prior.task_state_reason)) {
|
|
237
|
+
recordLiveLifecycleChangeV3({
|
|
238
|
+
coordRoot: input.coordRoot,
|
|
239
|
+
owner: input.owner,
|
|
240
|
+
nativeSessionId: input.nativeSessionId,
|
|
241
|
+
adapter: input.adapter,
|
|
242
|
+
state: priorLifecycle,
|
|
243
|
+
...(prior.task_state_reason ? { reason: prior.task_state_reason } : {}),
|
|
244
|
+
...(prior.suggested_session_name
|
|
245
|
+
? { suggestedSessionName: prior.suggested_session_name }
|
|
246
|
+
: {}),
|
|
247
|
+
});
|
|
248
|
+
lifecycle = true;
|
|
249
|
+
}
|
|
250
|
+
return task || claims > 0 || lifecycle
|
|
251
|
+
? { state: "restored", task, claims, lifecycle }
|
|
252
|
+
: unchanged;
|
|
253
|
+
}
|
|
20
254
|
/**
|
|
21
255
|
* Open a fresh derived generation for a human-facing session that is executing
|
|
22
256
|
* again after an authoritative terminal. The terminal generation is never
|
|
@@ -102,7 +336,7 @@ export function recordLiveLifecycleChangeV3(input) {
|
|
|
102
336
|
task_state_reason: input.state === "active" ? undefined : input.reason,
|
|
103
337
|
...(input.suggestedSessionName ? { suggested_session_name: input.suggestedSessionName } : {}),
|
|
104
338
|
};
|
|
105
|
-
if (
|
|
339
|
+
if (coordinationAuthorityStateDigestV3(before) === coordinationAuthorityStateDigestV3(desired))
|
|
106
340
|
return { state: "unchanged" };
|
|
107
341
|
return recordLiveAuthority(input, "lifecycle-changed", {
|
|
108
342
|
native_observation_id: input.observationId ?? `lifecycle-${randomUUID()}`,
|
|
@@ -128,7 +362,7 @@ export function recordLiveClaimChangeV3(input) {
|
|
|
128
362
|
].sort()
|
|
129
363
|
: (before.files_touched ?? []).filter((path) => canonicalClaimPath(input.coordRoot, path) !== canonical);
|
|
130
364
|
const desired = { ...before, files_touched: desiredFiles };
|
|
131
|
-
if (
|
|
365
|
+
if (coordinationAuthorityStateDigestV3(before) === coordinationAuthorityStateDigestV3(desired))
|
|
132
366
|
return { state: "unchanged" };
|
|
133
367
|
return recordLiveAuthority(input, "claim-changed", {
|
|
134
368
|
native_observation_id: input.observationId ?? `claim-${randomUUID()}`,
|
|
@@ -148,7 +382,7 @@ export function recordLiveIdentityChangeV3(input) {
|
|
|
148
382
|
const subject = input.subject ?? input.owner;
|
|
149
383
|
const before = requireHeartbeat(input, subject);
|
|
150
384
|
const desired = { ...before, name: input.name, agent_id: input.identityId };
|
|
151
|
-
if (
|
|
385
|
+
if (coordinationAuthorityStateDigestV3(before) === coordinationAuthorityStateDigestV3(desired))
|
|
152
386
|
return { state: "unchanged" };
|
|
153
387
|
return recordLiveAuthority(input, "identity-attested", {
|
|
154
388
|
native_observation_id: input.observationId ?? `identity-${randomUUID()}`,
|
|
@@ -181,15 +415,15 @@ function recordLiveAuthority(input, signal, observation, expected, desired, appl
|
|
|
181
415
|
producer_id: LIVE_COORDINATION_V3_PRODUCER_ID,
|
|
182
416
|
build_id: route.build_id,
|
|
183
417
|
platform: livePlatformV3(),
|
|
184
|
-
expected_prior_state_digest:
|
|
185
|
-
desired_state_digest:
|
|
418
|
+
expected_prior_state_digest: coordinationAuthorityStateDigestV3(expected),
|
|
419
|
+
desired_state_digest: coordinationAuthorityStateDigestV3(desired),
|
|
186
420
|
reconciler: {
|
|
187
421
|
readStateDigest: () => {
|
|
188
422
|
const heartbeat = readHeartbeat(input.coordRoot, subject);
|
|
189
423
|
if (!heartbeat || heartbeat.v3_generation_id !== expected.v3_generation_id) {
|
|
190
424
|
throw new LiveCoordinationAuthorityV3Error(`heartbeat_generation_mismatch:${subject}`);
|
|
191
425
|
}
|
|
192
|
-
return
|
|
426
|
+
return coordinationAuthorityStateDigestV3(heartbeat);
|
|
193
427
|
},
|
|
194
428
|
apply: (_mutation) => apply(),
|
|
195
429
|
},
|
|
@@ -217,7 +451,7 @@ function requireHeartbeat(input, owner) {
|
|
|
217
451
|
throw new LiveCoordinationAuthorityV3Error(`heartbeat_missing:${owner}`);
|
|
218
452
|
return heartbeat;
|
|
219
453
|
}
|
|
220
|
-
function
|
|
454
|
+
export function coordinationAuthorityStateDigestV3(heartbeat) {
|
|
221
455
|
return sha256V3(canonicalJsonV3({
|
|
222
456
|
instance_id: heartbeat.v3_instance_id ?? heartbeat.instance_id,
|
|
223
457
|
generation_id: heartbeat.v3_generation_id ?? null,
|
|
@@ -73,7 +73,12 @@ function recordObservation(input, eventType, payload) {
|
|
|
73
73
|
monotonic_ns: process.hrtime.bigint().toString(),
|
|
74
74
|
};
|
|
75
75
|
const event = buildEventV3(eventType, { ...common, payload });
|
|
76
|
-
writeEventV3(input.coordRoot, event
|
|
76
|
+
const durability = writeEventV3(input.coordRoot, event, {
|
|
77
|
+
expectedGenesisId: control.genesis.event.payload.genesis_id,
|
|
78
|
+
});
|
|
79
|
+
if (durability.state === "epoch_replaced") {
|
|
80
|
+
throw new LiveCoordinationAuthorityV3Error("epoch_replaced");
|
|
81
|
+
}
|
|
77
82
|
return { state: "recorded", event };
|
|
78
83
|
}
|
|
79
84
|
function withAttestedAdapter(input) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-observation-v3.d.ts","sourceRoot":"","sources":["../../../src/core/agents/live-observation-v3.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQ7C,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAIrE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAWtF,YAAY,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEtF,MAAM,WAAW,wCAAwC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,6BAA6B,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yCAAyC;IACxD,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,wCAAwC,GAC9C,yCAAyC,
|
|
1
|
+
{"version":3,"file":"live-observation-v3.d.ts","sourceRoot":"","sources":["../../../src/core/agents/live-observation-v3.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQ7C,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAIrE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAWtF,YAAY,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAEtF,MAAM,WAAW,wCAAwC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,6BAA6B,CAAC;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yCAAyC;IACxD,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,wCAAwC,GAC9C,yCAAyC,CA4J3C;AAkBD,MAAM,MAAM,sCAAsC,GAAG,OAAO,CAC1D,WAAW,EACX,6BAA6B,CAAC,YAAY,CAAC,CAC5C,CAAC"}
|
|
@@ -138,7 +138,12 @@ export function recordLiveCoordinationObservationV3(input) {
|
|
|
138
138
|
break;
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
-
writeEventV3(input.coordRoot, event
|
|
141
|
+
const durability = writeEventV3(input.coordRoot, event, {
|
|
142
|
+
expectedGenesisId: control.genesis.event.payload.genesis_id,
|
|
143
|
+
});
|
|
144
|
+
if (durability.state === "epoch_replaced") {
|
|
145
|
+
throw new LiveCoordinationAuthorityV3Error("epoch_replaced");
|
|
146
|
+
}
|
|
142
147
|
return { state: "recorded", event };
|
|
143
148
|
}
|
|
144
149
|
function safeToken(value) {
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Name-addressed durable mailbox.
|
|
3
|
+
*
|
|
4
|
+
* Peer messaging used to require a live recipient: the sender resolved a name
|
|
5
|
+
* to a running instance and wrote into that instance's journal. Two failures
|
|
6
|
+
* followed from that. A message to a name whose session had ended was refused
|
|
7
|
+
* outright, so the sender spent a long sequence of discovery calls looking for
|
|
8
|
+
* somewhere else to put it. A message to a live peer was accepted but never
|
|
9
|
+
* shown to them, because nothing surfaces another session's journal.
|
|
10
|
+
*
|
|
11
|
+
* This module addresses the durable persona name instead of the instance, so a
|
|
12
|
+
* message can be queued before its recipient exists. Delivery happens on the
|
|
13
|
+
* recipient's side: their next SessionStart or prompt drains the queue, shows
|
|
14
|
+
* the messages, and records them in their journal.
|
|
15
|
+
*
|
|
16
|
+
* Storage: `.harnery/mailbox/<slug>.jsonl`, one JSON record per line, appended
|
|
17
|
+
* by senders and removed by an atomic claim on the recipient's side. Delivered
|
|
18
|
+
* records are appended to `.harnery/mailbox/delivered/<slug>.jsonl` for audit.
|
|
19
|
+
*
|
|
20
|
+
* Related but distinct: `core/inbox` is an instance-keyed transport with a
|
|
21
|
+
* storage-framework service behind it. This mailbox is name-keyed, file-only,
|
|
22
|
+
* and follows the same shape as council manifests and journals.
|
|
23
|
+
*/
|
|
24
|
+
export declare const MAILBOX_MESSAGE_SCHEMA: "harnery.mailbox-message/v1";
|
|
25
|
+
/** Per-message body ceiling. Larger payloads belong in a managed artifact, with
|
|
26
|
+
* the path sent as the message. */
|
|
27
|
+
export declare const MAX_BODY_BYTES = 4000;
|
|
28
|
+
/** Pending messages held for one name before senders are refused. */
|
|
29
|
+
export declare const MAX_PENDING = 25;
|
|
30
|
+
export interface MailboxMessageV1 {
|
|
31
|
+
schema: typeof MAILBOX_MESSAGE_SCHEMA;
|
|
32
|
+
message_id: string;
|
|
33
|
+
/** Bare display name the sender addressed (registry casing when known). */
|
|
34
|
+
to_name: string;
|
|
35
|
+
from_name: string;
|
|
36
|
+
from_instance_id: string;
|
|
37
|
+
created_at: string;
|
|
38
|
+
body: string;
|
|
39
|
+
/** True when the sender already appended this to a live recipient's journal,
|
|
40
|
+
* so the drain surfaces it without writing a duplicate entry. */
|
|
41
|
+
journaled: boolean;
|
|
42
|
+
}
|
|
43
|
+
export type MailboxCapacityReason = "body_limit" | "pending_limit";
|
|
44
|
+
export declare class MailboxCapacityError extends Error {
|
|
45
|
+
readonly reason_code: MailboxCapacityReason;
|
|
46
|
+
readonly current: number;
|
|
47
|
+
readonly limit: number;
|
|
48
|
+
constructor(reason_code: MailboxCapacityReason, current: number, limit: number);
|
|
49
|
+
}
|
|
50
|
+
/** Strip an `agent-` prefix and normalize to the registry's bare form. */
|
|
51
|
+
export declare function bareAgentName(raw: string): string;
|
|
52
|
+
export declare function mailboxDir(coordRoot: string): string;
|
|
53
|
+
export declare function mailboxPath(coordRoot: string, name: string): string;
|
|
54
|
+
/** Every name a message may be addressed to: live sessions, the durable
|
|
55
|
+
* identity registry, and the built-in name pool. A name outside all three is a
|
|
56
|
+
* typo, and queueing it would silently swallow the message. */
|
|
57
|
+
export declare function isAddressableName(coordRoot: string, name: string): boolean;
|
|
58
|
+
/** Names close enough to a miss to be worth suggesting (prefix or one edit). */
|
|
59
|
+
export declare function suggestNames(coordRoot: string, name: string, limit?: number): string[];
|
|
60
|
+
export interface QueueInput {
|
|
61
|
+
coordRoot: string;
|
|
62
|
+
toName: string;
|
|
63
|
+
fromName: string;
|
|
64
|
+
fromInstanceId: string;
|
|
65
|
+
body: string;
|
|
66
|
+
journaled?: boolean;
|
|
67
|
+
}
|
|
68
|
+
export interface QueueResult {
|
|
69
|
+
message: MailboxMessageV1;
|
|
70
|
+
path: string;
|
|
71
|
+
pending: number;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Append one message to a name's mailbox. Throws `MailboxCapacityError` when
|
|
75
|
+
* the body or the pending queue is over its ceiling; the caller turns that into
|
|
76
|
+
* an actionable CLI error.
|
|
77
|
+
*/
|
|
78
|
+
export declare function queueMailboxMessage(input: QueueInput): QueueResult;
|
|
79
|
+
/** Pending messages for a name, without claiming them. */
|
|
80
|
+
export declare function peekMailbox(coordRoot: string, name: string): MailboxMessageV1[];
|
|
81
|
+
/**
|
|
82
|
+
* Claim and return every pending message for a name.
|
|
83
|
+
*
|
|
84
|
+
* The claim is an atomic rename, so two sessions sharing a name cannot deliver
|
|
85
|
+
* the same message twice: whichever rename wins owns the batch. Claimed records
|
|
86
|
+
* are appended to the delivered archive before the claim file is removed, so a
|
|
87
|
+
* crash between the two leaves an auditable copy rather than a silent loss.
|
|
88
|
+
*/
|
|
89
|
+
export declare function drainMailbox(coordRoot: string, name: string): MailboxMessageV1[];
|
|
90
|
+
/** Render a drained batch as the context block a recipient reads. */
|
|
91
|
+
export declare function formatMailboxDelivery(coordRoot: string, messages: readonly MailboxMessageV1[]): string;
|
|
92
|
+
//# sourceMappingURL=mailbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mailbox.d.ts","sourceRoot":"","sources":["../../../src/core/agents/mailbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAqBH,eAAO,MAAM,sBAAsB,EAAG,4BAAqC,CAAC;AAE5E;mCACmC;AACnC,eAAO,MAAM,cAAc,OAAO,CAAC;AACnC,qEAAqE;AACrE,eAAO,MAAM,WAAW,KAAK,CAAC;AAI9B,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,sBAAsB,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb;qEACiE;IACjE,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,eAAe,CAAC;AAEnE,qBAAa,oBAAqB,SAAQ,KAAK;IAE3C,QAAQ,CAAC,WAAW,EAAE,qBAAqB;IAC3C,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM;gBAFb,WAAW,EAAE,qBAAqB,EAClC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM;CAOzB;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGjD;AAYD,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnE;AAqBD;;+DAE+D;AAC/D,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAU1E;AAED,gFAAgF;AAChF,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAiBjF;AAiBD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,WAAW,CA6BlE;AAED,0DAA0D;AAC1D,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAa/E;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAmDhF;AA8CD,qEAAqE;AACrE,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,SAAS,gBAAgB,EAAE,GACpC,MAAM,CAcR"}
|