@openrig/cli 0.5.5 → 0.5.6
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/daemon/assets/continuity/apprentice-cutover.md +19 -0
- package/daemon/assets/continuity/apprentice-prepare.md +17 -0
- package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +81 -4
- package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +3 -3
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +0 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +0 -0
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +4 -9
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +82 -118
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +24 -25
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +5 -12
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/compose.py +36 -117
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +9 -6
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +1 -12
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/CHANGELOG.md +1 -1
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +15 -0
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +4 -16
- package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +50 -7
- package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +29 -9
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +3 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/apprentice-evidence-toolkit.md +32 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/apprentice-successor-seat-cutover.md +256 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/orchestrator-role.md +40 -0
- package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +9 -4
- package/daemon/assets/vm-preview-fixtures/README.md +16 -38
- package/daemon/assets/vm-preview-fixtures/workflows/sample-basic-loop.yaml +4 -5
- package/daemon/context-packs/onboarding-width/manifest.yaml +4 -1
- package/daemon/context-packs/onboarding-width/public-reference-material.md +1 -1
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/SKILL.md +6 -13
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +98 -0
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +10 -0
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +118 -0
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +10 -0
- package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +19 -75
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/watchdog/SKILL.md +4 -10
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/requirements-writer/SKILL.md +15 -21
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +4 -3
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/brainstorming/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/executing-plans/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/systematic-debugging/find-polluter.sh +0 -0
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/using-superpowers/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/writing-plans/manifest.yaml +2 -1
- package/daemon/context-packs/world-example/manifest.yaml +15 -2
- package/daemon/context-packs/world-example/your-world.md +19 -2
- package/daemon/context-packs/world-public/boundaries.md +33 -0
- package/daemon/context-packs/world-public/build-your-world.md +84 -0
- package/daemon/context-packs/world-public/claims.yaml +205 -0
- package/daemon/context-packs/world-public/manifest.yaml +59 -0
- package/daemon/context-packs/world-public/start-here.md +51 -0
- package/daemon/context-packs/world-public/verify-world.sh +522 -0
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/context-pack-taxonomy-surface.d.ts +2 -0
- package/daemon/dist/context-pack-taxonomy-surface.d.ts.map +1 -0
- package/daemon/dist/context-pack-taxonomy-surface.js +6 -0
- package/daemon/dist/context-pack-taxonomy-surface.js.map +1 -0
- package/daemon/dist/db/all-migrations.d.ts +1 -1
- package/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/daemon/dist/db/all-migrations.js +8 -2
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts +4 -0
- package/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts.map +1 -0
- package/daemon/dist/db/migrations/074_context_usage_watchdog.js +11 -0
- package/daemon/dist/db/migrations/074_context_usage_watchdog.js.map +1 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts +4 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts.map +1 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js +8 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js.map +1 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.d.ts +8 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.d.ts.map +1 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.js +15 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.js.map +1 -0
- package/daemon/dist/domain/active-occupant.d.ts +44 -0
- package/daemon/dist/domain/active-occupant.d.ts.map +1 -0
- package/daemon/dist/domain/active-occupant.js +72 -0
- package/daemon/dist/domain/active-occupant.js.map +1 -0
- package/daemon/dist/domain/agent-manifest.d.ts +6 -0
- package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
- package/daemon/dist/domain/agent-manifest.js +77 -15
- package/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/daemon/dist/domain/agent-resolver.d.ts +11 -0
- package/daemon/dist/domain/agent-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/agent-resolver.js +55 -0
- package/daemon/dist/domain/agent-resolver.js.map +1 -1
- package/daemon/dist/domain/bundle-context-packs-router.d.ts +9 -2
- package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-context-packs-router.js +18 -0
- package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +7 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +10 -0
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-library-service.js +7 -0
- package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts +11 -0
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.js +11 -0
- package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.js +13 -1
- package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/daemon/dist/domain/continuity-policy-materializer.d.ts +88 -0
- package/daemon/dist/domain/continuity-policy-materializer.d.ts.map +1 -0
- package/daemon/dist/domain/continuity-policy-materializer.js +290 -0
- package/daemon/dist/domain/continuity-policy-materializer.js.map +1 -0
- package/daemon/dist/domain/continuity-stack-packets.d.ts +65 -0
- package/daemon/dist/domain/continuity-stack-packets.d.ts.map +1 -0
- package/daemon/dist/domain/continuity-stack-packets.js +99 -0
- package/daemon/dist/domain/continuity-stack-packets.js.map +1 -0
- package/daemon/dist/domain/execution-view.d.ts +39 -0
- package/daemon/dist/domain/execution-view.d.ts.map +1 -0
- package/daemon/dist/domain/execution-view.js +707 -0
- package/daemon/dist/domain/execution-view.js.map +1 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +60 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.js +144 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -0
- package/daemon/dist/domain/gateway/destination-resolver.d.ts +20 -0
- package/daemon/dist/domain/gateway/destination-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/destination-resolver.js +52 -0
- package/daemon/dist/domain/gateway/destination-resolver.js.map +1 -0
- package/daemon/dist/domain/gateway/dispatcher.d.ts +3 -1
- package/daemon/dist/domain/gateway/dispatcher.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/dispatcher.js +9 -2
- package/daemon/dist/domain/gateway/dispatcher.js.map +1 -1
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +6 -2
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/gateway-subsystem.js +5 -3
- package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.d.ts +9 -1
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +32 -1
- package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts +32 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.js +86 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/config.d.ts +3 -2
- package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/config.js +20 -4
- package/daemon/dist/domain/gateway/slack/config.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts +34 -6
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +60 -9
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +3 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.js +12 -5
- package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts +10 -5
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/queue-access.js +46 -19
- package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts +29 -6
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-api.js +41 -3
- package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +9 -3
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.js +132 -12
- package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +10 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +286 -11
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/daemon/dist/domain/graph-projection.d.ts +6 -0
- package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/daemon/dist/domain/graph-projection.js +6 -0
- package/daemon/dist/domain/graph-projection.js.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js +1 -0
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +41 -3
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +45 -48
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/parked-query.d.ts +1 -0
- package/daemon/dist/domain/parked-query.d.ts.map +1 -1
- package/daemon/dist/domain/parked-query.js +1 -0
- package/daemon/dist/domain/parked-query.js.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.js +12 -5
- package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
- package/daemon/dist/domain/policies/context-usage-threshold.d.ts +7 -0
- package/daemon/dist/domain/policies/context-usage-threshold.d.ts.map +1 -0
- package/daemon/dist/domain/policies/context-usage-threshold.js +99 -0
- package/daemon/dist/domain/policies/context-usage-threshold.js.map +1 -0
- package/daemon/dist/domain/policies/delivery-deferral.d.ts +54 -0
- package/daemon/dist/domain/policies/delivery-deferral.d.ts.map +1 -0
- package/daemon/dist/domain/policies/delivery-deferral.js +153 -0
- package/daemon/dist/domain/policies/delivery-deferral.js.map +1 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts +45 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.js +94 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +65 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.js +244 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -0
- package/daemon/dist/domain/policies/types.d.ts +8 -0
- package/daemon/dist/domain/policies/types.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.d.ts +4 -0
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +58 -0
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/provider/provider-signals.d.ts +20 -1
- package/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -1
- package/daemon/dist/domain/provider/provider-signals.js +64 -0
- package/daemon/dist/domain/provider/provider-signals.js.map +1 -1
- package/daemon/dist/domain/ps-projection.d.ts +7 -5
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +19 -32
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-pickup.d.ts.map +1 -1
- package/daemon/dist/domain/queue-pickup.js +5 -0
- package/daemon/dist/domain/queue-pickup.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +55 -18
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +387 -83
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-retention.d.ts.map +1 -1
- package/daemon/dist/domain/queue-retention.js +8 -2
- package/daemon/dist/domain/queue-retention.js.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts +24 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.js +161 -24
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- package/daemon/dist/domain/queue-transition-log.d.ts +10 -0
- package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/daemon/dist/domain/queue-transition-log.js +49 -11
- package/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.d.ts +20 -2
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.js +187 -15
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.d.ts +16 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.js +52 -3
- package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/daemon/dist/domain/restore-check-service.js +1 -1
- package/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts +2 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +88 -15
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts +6 -2
- package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +37 -19
- package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.js +10 -9
- package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +4 -0
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +21 -3
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-codec.js +74 -4
- package/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +14 -0
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +32 -4
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/scope/node-file.d.ts +8 -0
- package/daemon/dist/domain/scope/node-file.d.ts.map +1 -1
- package/daemon/dist/domain/scope/node-file.js +18 -0
- package/daemon/dist/domain/scope/node-file.js.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.d.ts +5 -2
- package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.js +3 -3
- package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-capture.js +6 -0
- package/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +26 -4
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/view-projector.d.ts +5 -1
- package/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/daemon/dist/domain/view-projector.js +24 -0
- package/daemon/dist/domain/view-projector.js.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts +25 -6
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.js +115 -32
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +40 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +112 -6
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-scheduler.js +3 -2
- package/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js +2 -4
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/daemon/dist/index.d.ts +9 -0
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +24 -1
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/routes/agent-images.d.ts.map +1 -1
- package/daemon/dist/routes/agent-images.js +9 -0
- package/daemon/dist/routes/agent-images.js.map +1 -1
- package/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/daemon/dist/routes/bundles.js +61 -1
- package/daemon/dist/routes/bundles.js.map +1 -1
- package/daemon/dist/routes/gateway.js +1 -1
- package/daemon/dist/routes/gateway.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +22 -11
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigs.js +38 -2
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/scope-audit.js +6 -6
- package/daemon/dist/routes/scope-audit.js.map +1 -1
- package/daemon/dist/routes/views.d.ts.map +1 -1
- package/daemon/dist/routes/views.js +4 -1
- package/daemon/dist/routes/views.js.map +1 -1
- package/daemon/dist/routes/watchdog.d.ts.map +1 -1
- package/daemon/dist/routes/watchdog.js +40 -3
- package/daemon/dist/routes/watchdog.js.map +1 -1
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +5 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +194 -5
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +4 -4
- package/daemon/docs/reference/agent-state-taxonomy.md +8 -13
- package/daemon/docs/reference/chain-file-convention.md +2 -2
- package/daemon/docs/reference/knowledge-maturity.md +123 -0
- package/daemon/docs/reference/lore-routing.md +173 -0
- package/daemon/docs/reference/mission-install.md +194 -0
- package/daemon/docs/reference/planning-dial.md +55 -0
- package/daemon/docs/reference/product-management-pass.md +139 -0
- package/daemon/docs/reference/release-boundary.md +88 -0
- package/daemon/docs/reference/sdlc-conventions.md +42 -69
- package/daemon/docs/reference/wave-sdlc.md +113 -0
- package/daemon/policies/builtin/standard.policy.md +3 -3
- package/daemon/policies/builtin/yolo.policy.md +7 -2
- package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +6 -13
- package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +98 -0
- package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +118 -0
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +19 -75
- package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +4 -10
- package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +15 -21
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +0 -0
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +2 -2
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +3 -3
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -3
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/startup/context.md +1 -1
- package/daemon/substance-surfaces.json +8 -0
- package/dist/build-info.js +3 -3
- package/dist/commands/broadcast.d.ts.map +1 -1
- package/dist/commands/broadcast.js +6 -1
- package/dist/commands/broadcast.js.map +1 -1
- package/dist/commands/capture.js +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +12 -1
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/expand.d.ts.map +1 -1
- package/dist/commands/expand.js +9 -13
- package/dist/commands/expand.js.map +1 -1
- package/dist/commands/ps.d.ts +4 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +15 -7
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +40 -11
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/send.d.ts +2 -0
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +24 -2
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +4 -2
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/view.d.ts.map +1 -1
- package/dist/commands/view.js +3 -0
- package/dist/commands/view.js.map +1 -1
- package/dist/commands/watchdog.d.ts.map +1 -1
- package/dist/commands/watchdog.js +64 -9
- package/dist/commands/watchdog.js.map +1 -1
- package/dist/cross-host-target.js +1 -1
- package/dist/cross-host-target.js.map +1 -1
- package/dist/host-registry.d.ts +2 -2
- package/dist/host-registry.js +2 -2
- package/dist/lib/scope/scope-audit.d.ts +4 -1
- package/dist/lib/scope/scope-audit.d.ts.map +1 -1
- package/dist/lib/scope/scope-audit.js +3 -3
- package/dist/lib/scope/scope-audit.js.map +1 -1
- package/dist/lib/scope/scope-fs.d.ts +8 -0
- package/dist/lib/scope/scope-fs.d.ts.map +1 -1
- package/dist/lib/scope/scope-fs.js +18 -0
- package/dist/lib/scope/scope-fs.js.map +1 -1
- package/dist/lib/scope-templates/backlog-deprecation.md +1 -1
- package/dist/lib/scope-templates/backlog-tech-debt.md +1 -1
- package/dist/lib/scope-templates/bug-fix.md +1 -1
- package/dist/lib/scope-templates/capability-delta.md +1 -0
- package/dist/lib/scope-templates/placeholder.md +1 -1
- package/dist/lib/scope-templates/release-feature.md +1 -1
- package/dist/lib/scope-templates/research.md +1 -1
- package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
- package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.js +6 -0
- package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/all-migrations.js +8 -2
- package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.js +11 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js +8 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.js +15 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +44 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +72 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/agent-manifest.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/agent-manifest.js +77 -15
- package/node_modules/@openrig/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.d.ts +11 -0
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.js +55 -0
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts +9 -2
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.js +18 -0
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.js +10 -0
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js +7 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +11 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +11 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +13 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.d.ts +88 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.js +290 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.d.ts +65 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.js +99 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts +39 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js +707 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +60 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.js +144 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.d.ts +20 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.js +52 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.js +9 -2
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts +6 -2
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js +5 -3
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +9 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +32 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.d.ts +32 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.js +86 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts +3 -2
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js +20 -4
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts +34 -6
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js +60 -9
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js +12 -5
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts +10 -5
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js +46 -19
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts +29 -6
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js +41 -3
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +9 -3
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js +132 -12
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +10 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +286 -11
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/graph-projection.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/graph-projection.js +6 -0
- package/node_modules/@openrig/daemon/dist/domain/graph-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.js +1 -0
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts +41 -3
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +45 -48
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js +1 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.js +12 -5
- package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.js +99 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.d.ts +54 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.js +153 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.d.ts +45 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js +94 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts +65 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js +244 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js +58 -0
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.d.ts +20 -1
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.js +64 -0
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.d.ts +7 -5
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.js +19 -32
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js +5 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +55 -18
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +387 -83
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.js +8 -2
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts +24 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js +161 -24
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts +10 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js +49 -11
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts +20 -2
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js +187 -15
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +16 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +52 -3
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-check-service.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts +2 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js +88 -15
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts +6 -2
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js +37 -19
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.js +10 -9
- package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.js +21 -3
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.js +74 -4
- package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +14 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +32 -4
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js +18 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts +5 -2
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js +3 -3
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js +6 -0
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts +26 -4
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts +5 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js +24 -0
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts +25 -6
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js +115 -32
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +40 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +112 -6
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js +3 -2
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js +2 -4
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.d.ts +9 -0
- package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.js +24 -1
- package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/agent-images.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/agent-images.js +9 -0
- package/node_modules/@openrig/daemon/dist/routes/agent-images.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/bundles.js +61 -1
- package/node_modules/@openrig/daemon/dist/routes/bundles.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.js +1 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.js +22 -11
- package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigs.js +38 -2
- package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.js +6 -6
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/views.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/views.js +4 -1
- package/node_modules/@openrig/daemon/dist/routes/views.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/watchdog.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/watchdog.js +40 -3
- package/node_modules/@openrig/daemon/dist/routes/watchdog.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.js +5 -0
- package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.js +194 -5
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/package.json +5 -1
- package/package.json +1 -1
- package/tui/dist/demo-data.js +2 -2
- package/tui/dist/demo-data.js.map +1 -1
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/CHANGELOG.md +0 -92
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/REVISION-GUIDE.md +0 -34
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/ROADMAP.md +0 -23
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/ROLLOUT.md +0 -234
- package/daemon/context-packs/skills/core/attention-queue/SKILL.md +0 -264
- package/daemon/context-packs/skills/core/attention-queue/manifest.yaml +0 -9
- package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +0 -264
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-view.js","sourceRoot":"","sources":["../../src/domain/execution-view.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { OwnerNotificationLevel } from "../queue-transition-log.js";
|
|
2
|
+
export declare const DELIVERY_OUTCOMES: readonly ["interrupt", "notify", "digest", "log"];
|
|
3
|
+
export type DeliveryOutcome = (typeof DELIVERY_OUTCOMES)[number];
|
|
4
|
+
export declare const AVAILABILITY_MODES: readonly ["available", "focus", "away", "off"];
|
|
5
|
+
export type AvailabilityMode = (typeof AVAILABILITY_MODES)[number];
|
|
6
|
+
export declare const AWAY_ESCALATION_DEFER_MINUTES = 30;
|
|
7
|
+
export declare const DIGEST_WINDOWS: {
|
|
8
|
+
readonly C: "4h";
|
|
9
|
+
readonly D: "daily";
|
|
10
|
+
};
|
|
11
|
+
/** The single-human termination record (A1.1): an escalation on an away/off
|
|
12
|
+
* human terminates at the recorded floor — who, availability,
|
|
13
|
+
* no-fallback-available, and the ruled delivery outcome. The multi-human
|
|
14
|
+
* fallback edge is 0.5.7; this seam takes it without vocabulary change. */
|
|
15
|
+
export interface DeliveryTermination {
|
|
16
|
+
who: string;
|
|
17
|
+
availability: AvailabilityMode;
|
|
18
|
+
noFallbackAvailable: true;
|
|
19
|
+
deliveryOutcome: DeliveryOutcome;
|
|
20
|
+
}
|
|
21
|
+
export interface DeliveryDecision {
|
|
22
|
+
outcome: DeliveryOutcome;
|
|
23
|
+
/** Mention iff interrupt — quiet cells never mention, by construction. */
|
|
24
|
+
mention: boolean;
|
|
25
|
+
digestWindow?: "4h" | "daily";
|
|
26
|
+
/** Present only for the deferred away-escalation interrupt (fires once at T+N). */
|
|
27
|
+
deferMinutes?: number;
|
|
28
|
+
termination?: DeliveryTermination;
|
|
29
|
+
}
|
|
30
|
+
export interface DeliveryDecisionInput {
|
|
31
|
+
level: OwnerNotificationLevel | null;
|
|
32
|
+
escalation: boolean;
|
|
33
|
+
human: {
|
|
34
|
+
entityId: string;
|
|
35
|
+
deliveryClass: "A" | "B" | "C" | "D";
|
|
36
|
+
availability: AvailabilityMode;
|
|
37
|
+
};
|
|
38
|
+
dials: {
|
|
39
|
+
minimumLevelThatPosts: OwnerNotificationLevel;
|
|
40
|
+
minimumLevelThatInterrupts: OwnerNotificationLevel;
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/** Whole-field-absent legacy inference (the D1 convention): `away: true` reads
|
|
44
|
+
* as availability=away ONLY when the availability field is absent. A present
|
|
45
|
+
* availability is the authority; conflicts are refused at fragment validation,
|
|
46
|
+
* never silently resolved here. */
|
|
47
|
+
export declare function resolveAvailability(prefs: {
|
|
48
|
+
availability?: string;
|
|
49
|
+
away?: boolean;
|
|
50
|
+
}): AvailabilityMode;
|
|
51
|
+
/** Escalation-class derivation — ONE predicate (the ladder's aggregate tag or
|
|
52
|
+
* an explicit escalation tag), never a prose read. */
|
|
53
|
+
export declare function isEscalationClass(tags: readonly string[] | null | undefined): boolean;
|
|
54
|
+
export declare function decideDelivery(input: DeliveryDecisionInput): DeliveryDecision;
|
|
55
|
+
/** The termination transition literal — engine-owned, one definition site.
|
|
56
|
+
* (A row-side record; readers match the prefix, same discipline as the
|
|
57
|
+
* ladder's marker vocabulary.) */
|
|
58
|
+
export declare const DELIVERY_TERMINATION_PREFIX = "delivery-termination:";
|
|
59
|
+
export declare function formatDeliveryTermination(t: DeliveryTermination, notificationKey: string): string;
|
|
60
|
+
//# sourceMappingURL=delivery-rules-engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-rules-engine.d.ts","sourceRoot":"","sources":["../../../src/domain/gateway/delivery-rules-engine.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAIzE,eAAO,MAAM,iBAAiB,mDAAoD,CAAC;AACnF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,eAAO,MAAM,kBAAkB,gDAAiD,CAAC;AACjF,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,eAAO,MAAM,cAAc;;;CAAmC,CAAC;AAE/D;;;4EAG4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,gBAAgB,CAAC;IAC/B,mBAAmB,EAAE,IAAI,CAAC;IAC1B,eAAe,EAAE,eAAe,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC;IAC9B,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACrC,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE;QACL,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;QACrC,YAAY,EAAE,gBAAgB,CAAC;KAChC,CAAC;IACF,KAAK,EAAE;QACL,qBAAqB,EAAE,sBAAsB,CAAC;QAC9C,0BAA0B,EAAE,sBAAsB,CAAC;KACpD,CAAC;CACH;AAED;;;oCAGoC;AACpC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,gBAAgB,CAItG;AAED;uDACuD;AACvD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAGrF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,qBAAqB,GAAG,gBAAgB,CAsE7E;AAED;;mCAEmC;AACnC,eAAO,MAAM,2BAA2B,0BAA0B,CAAC;AAEnE,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CASjG"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
// OPR.0.5.6.1 — the §5 delivery rules engine.
|
|
2
|
+
//
|
|
3
|
+
// The stored per-human A–D register plus availability decide exactly ONE
|
|
4
|
+
// connector-agnostic outcome per message: interrupt · notify · digest · log.
|
|
5
|
+
// The engine CONSUMES the F-8 owner-notification level enum and the two config
|
|
6
|
+
// dials (one vocabulary, one classifier — S14's); it mints no transport
|
|
7
|
+
// literals and no parallel classification. Dispatch stays in the gateway;
|
|
8
|
+
// availability TIMING (the away deferral) is engine-owned and rides the
|
|
9
|
+
// watchdog substrate (AM-F1: no third timer engine).
|
|
10
|
+
//
|
|
11
|
+
// THE REGISTER MAPPING, documented once (mini-req 1, A1.5 vocabulary):
|
|
12
|
+
// A — interrupt-always → interrupt
|
|
13
|
+
// B — hub-exceptions → notify (escalation lifts to interrupt)
|
|
14
|
+
// C — worker-parked → digest, 4-hour window
|
|
15
|
+
// D — milestones → digest, daily window
|
|
16
|
+
// log is never a register cell: it is the outcome for messages below the
|
|
17
|
+
// minimum-level-that-posts dial (F-8 RECORD) — durable row only, no post.
|
|
18
|
+
//
|
|
19
|
+
// AVAILABILITY (net-new enum; legacy `away: true` reads as availability=away
|
|
20
|
+
// ONLY when the availability field is whole-field-absent — the D1 convention):
|
|
21
|
+
// available — no modulation
|
|
22
|
+
// focus — mutes NORMAL interrupts to notify; escalation still interrupts
|
|
23
|
+
// away — mutes normal mentions; a non-A escalation becomes ONE deferred
|
|
24
|
+
// interrupt at T+30 to the SAME human (M1 §5 preset, AM-F3);
|
|
25
|
+
// register A stays immediate (interrupt-ALWAYS is the stronger word)
|
|
26
|
+
// off — F-7 VERBATIM: off is respected; escalation never overrides it.
|
|
27
|
+
// Delivery is never suppressed (F-8): the post lands unmentioned,
|
|
28
|
+
// and the single-human termination is recorded loud.
|
|
29
|
+
//
|
|
30
|
+
// The delivery-state table (AM-F4 — one definition site, defined AGAINST the
|
|
31
|
+
// S14 receipt stamps; the engine never re-spells a transport verdict):
|
|
32
|
+
// queued = the row exists, no delivery transition yet
|
|
33
|
+
// posted = the S14 posted receipt transition is on the row
|
|
34
|
+
// notified = posted AND the decision was interrupt (mention delivered)
|
|
35
|
+
// replied = an inbound reply row references the conversation
|
|
36
|
+
// transport-failed = the S14 transport-failed transition (there is NO
|
|
37
|
+
// second spelling; "post-failed" does not exist)
|
|
38
|
+
// `seen` DOES NOT EXIST and cannot be represented (design §6: unprovable).
|
|
39
|
+
import { ownerNotificationLevelAtLeast } from "../queue-transition-log.js";
|
|
40
|
+
import { WAKE_ESCALATION_TAG } from "../queue-wake-ladder.js";
|
|
41
|
+
export const DELIVERY_OUTCOMES = ["interrupt", "notify", "digest", "log"];
|
|
42
|
+
export const AVAILABILITY_MODES = ["available", "focus", "away", "off"];
|
|
43
|
+
export const AWAY_ESCALATION_DEFER_MINUTES = 30;
|
|
44
|
+
export const DIGEST_WINDOWS = { C: "4h", D: "daily" };
|
|
45
|
+
/** Whole-field-absent legacy inference (the D1 convention): `away: true` reads
|
|
46
|
+
* as availability=away ONLY when the availability field is absent. A present
|
|
47
|
+
* availability is the authority; conflicts are refused at fragment validation,
|
|
48
|
+
* never silently resolved here. */
|
|
49
|
+
export function resolveAvailability(prefs) {
|
|
50
|
+
if (prefs.availability !== undefined)
|
|
51
|
+
return prefs.availability;
|
|
52
|
+
if (prefs.away === true)
|
|
53
|
+
return "away";
|
|
54
|
+
return "available";
|
|
55
|
+
}
|
|
56
|
+
/** Escalation-class derivation — ONE predicate (the ladder's aggregate tag or
|
|
57
|
+
* an explicit escalation tag), never a prose read. */
|
|
58
|
+
export function isEscalationClass(tags) {
|
|
59
|
+
if (!tags)
|
|
60
|
+
return false;
|
|
61
|
+
return tags.includes(WAKE_ESCALATION_TAG) || tags.includes("escalation");
|
|
62
|
+
}
|
|
63
|
+
export function decideDelivery(input) {
|
|
64
|
+
const level = input.level ?? "RECORD";
|
|
65
|
+
const { deliveryClass, availability, entityId } = input.human;
|
|
66
|
+
// Below the posts dial: durable only — the row always lands; nothing posts.
|
|
67
|
+
if (!ownerNotificationLevelAtLeast(level, input.dials.minimumLevelThatPosts)) {
|
|
68
|
+
return { outcome: "log", mention: false };
|
|
69
|
+
}
|
|
70
|
+
// The register base, lifted by escalation (escalation never digests).
|
|
71
|
+
let outcome = input.escalation ? "interrupt"
|
|
72
|
+
: deliveryClass === "A" ? "interrupt"
|
|
73
|
+
: deliveryClass === "B" ? "notify"
|
|
74
|
+
: "digest";
|
|
75
|
+
// The interrupts dial (the S14 semantic, preserved through the engine):
|
|
76
|
+
// an interrupt below the dial demotes to notify — posting eligibility and
|
|
77
|
+
// interruption eligibility are separate axes (F-8).
|
|
78
|
+
if (outcome === "interrupt" && !ownerNotificationLevelAtLeast(level, input.dials.minimumLevelThatInterrupts)) {
|
|
79
|
+
outcome = "notify";
|
|
80
|
+
}
|
|
81
|
+
let deferMinutes;
|
|
82
|
+
let termination;
|
|
83
|
+
switch (availability) {
|
|
84
|
+
case "available":
|
|
85
|
+
break;
|
|
86
|
+
case "focus":
|
|
87
|
+
// focus mutes NORMAL interrupts; escalation still interrupts (design §3).
|
|
88
|
+
// Register A is the exception in BOTH quiet modes (focus here, away
|
|
89
|
+
// below): interrupt-ALWAYS is the human's own stronger word.
|
|
90
|
+
if (outcome === "interrupt" && !input.escalation && deliveryClass !== "A")
|
|
91
|
+
outcome = "notify";
|
|
92
|
+
break;
|
|
93
|
+
case "away":
|
|
94
|
+
if (input.escalation) {
|
|
95
|
+
// Single-human floor recorded for every away/off escalation (A1.1).
|
|
96
|
+
if (outcome === "interrupt" && deliveryClass !== "A") {
|
|
97
|
+
// M1 §5 preset generalized (documented uniform non-A rule): ONE
|
|
98
|
+
// deferred interrupt at T+30 to the SAME human, never
|
|
99
|
+
// immediate-plus-deferred (AM-F3).
|
|
100
|
+
deferMinutes = AWAY_ESCALATION_DEFER_MINUTES;
|
|
101
|
+
}
|
|
102
|
+
termination = { who: entityId, availability, noFallbackAvailable: true, deliveryOutcome: outcome };
|
|
103
|
+
}
|
|
104
|
+
else if (outcome === "interrupt" && deliveryClass !== "A") {
|
|
105
|
+
outcome = "notify"; // design §3: away normal = post, no mention
|
|
106
|
+
}
|
|
107
|
+
break;
|
|
108
|
+
case "off":
|
|
109
|
+
// F-7 VERBATIM: off is respected — escalation never overrides it. An off
|
|
110
|
+
// that interrupts is not an off. Delivery is never suppressed (F-8): the
|
|
111
|
+
// durable row, the post, and the receipt all still land, unmentioned.
|
|
112
|
+
if (outcome === "interrupt")
|
|
113
|
+
outcome = "notify";
|
|
114
|
+
if (input.escalation) {
|
|
115
|
+
termination = { who: entityId, availability, noFallbackAvailable: true, deliveryOutcome: outcome };
|
|
116
|
+
}
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
// mention iff interrupt — for a DEFERRED interrupt the mention rides the
|
|
120
|
+
// T+30 fire, not the sweep (the delivery layer holds the post; the flag
|
|
121
|
+
// describes the decided loudness, one rule for every cell).
|
|
122
|
+
return {
|
|
123
|
+
outcome,
|
|
124
|
+
mention: outcome === "interrupt",
|
|
125
|
+
...(outcome === "digest" ? { digestWindow: DIGEST_WINDOWS[deliveryClass] ?? "4h" } : {}),
|
|
126
|
+
...(deferMinutes !== undefined ? { deferMinutes } : {}),
|
|
127
|
+
...(termination !== undefined ? { termination } : {}),
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
/** The termination transition literal — engine-owned, one definition site.
|
|
131
|
+
* (A row-side record; readers match the prefix, same discipline as the
|
|
132
|
+
* ladder's marker vocabulary.) */
|
|
133
|
+
export const DELIVERY_TERMINATION_PREFIX = "delivery-termination:";
|
|
134
|
+
export function formatDeliveryTermination(t, notificationKey) {
|
|
135
|
+
return [
|
|
136
|
+
DELIVERY_TERMINATION_PREFIX,
|
|
137
|
+
`who=${t.who}`,
|
|
138
|
+
`availability=${t.availability}`,
|
|
139
|
+
"no-fallback-available",
|
|
140
|
+
`outcome=${t.deliveryOutcome}`,
|
|
141
|
+
`notification_key=${notificationKey}`,
|
|
142
|
+
].join(" ");
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=delivery-rules-engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-rules-engine.js","sourceRoot":"","sources":["../../../src/domain/gateway/delivery-rules-engine.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,EAAE;AACF,yEAAyE;AACzE,6EAA6E;AAC7E,+EAA+E;AAC/E,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AACxE,qDAAqD;AACrD,EAAE;AACF,uEAAuE;AACvE,uCAAuC;AACvC,sEAAsE;AACtE,mDAAmD;AACnD,kDAAkD;AAClD,2EAA2E;AAC3E,4EAA4E;AAC5E,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAC/E,+EAA+E;AAC/E,2EAA2E;AAC3E,mFAAmF;AACnF,+EAA+E;AAC/E,gFAAgF;AAChF,mEAAmE;AACnE,EAAE;AACF,6EAA6E;AAC7E,uEAAuE;AACvE,2DAA2D;AAC3D,gEAAgE;AAChE,0EAA0E;AAC1E,iEAAiE;AACjE,wEAAwE;AACxE,sEAAsE;AACtE,6EAA6E;AAG7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AAGnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAU,CAAC;AAGjF,MAAM,CAAC,MAAM,6BAA6B,GAAG,EAAE,CAAC;AAEhD,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAW,CAAC;AAqC/D;;;oCAGoC;AACpC,MAAM,UAAU,mBAAmB,CAAC,KAAgD;IAClF,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,YAAgC,CAAC;IACpF,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IACvC,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;uDACuD;AACvD,MAAM,UAAU,iBAAiB,CAAC,IAA0C;IAC1E,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAA4B;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAC;IACtC,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;IAE9D,4EAA4E;IAC5E,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC7E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED,sEAAsE;IACtE,IAAI,OAAO,GACT,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW;QAC9B,CAAC,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW;YACrC,CAAC,CAAC,aAAa,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ;gBAClC,CAAC,CAAC,QAAQ,CAAC;IAEb,wEAAwE;IACxE,0EAA0E;IAC1E,oDAAoD;IACpD,IAAI,OAAO,KAAK,WAAW,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC7G,OAAO,GAAG,QAAQ,CAAC;IACrB,CAAC;IAED,IAAI,YAAgC,CAAC;IACrC,IAAI,WAA4C,CAAC;IAEjD,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,WAAW;YACd,MAAM;QACR,KAAK,OAAO;YACV,0EAA0E;YAC1E,oEAAoE;YACpE,6DAA6D;YAC7D,IAAI,OAAO,KAAK,WAAW,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,aAAa,KAAK,GAAG;gBAAE,OAAO,GAAG,QAAQ,CAAC;YAC9F,MAAM;QACR,KAAK,MAAM;YACT,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,oEAAoE;gBACpE,IAAI,OAAO,KAAK,WAAW,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;oBACrD,gEAAgE;oBAChE,sDAAsD;oBACtD,mCAAmC;oBACnC,YAAY,GAAG,6BAA6B,CAAC;gBAC/C,CAAC;gBACD,WAAW,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;YACrG,CAAC;iBAAM,IAAI,OAAO,KAAK,WAAW,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;gBAC5D,OAAO,GAAG,QAAQ,CAAC,CAAC,4CAA4C;YAClE,CAAC;YACD,MAAM;QACR,KAAK,KAAK;YACR,yEAAyE;YACzE,yEAAyE;YACzE,sEAAsE;YACtE,IAAI,OAAO,KAAK,WAAW;gBAAE,OAAO,GAAG,QAAQ,CAAC;YAChD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,WAAW,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,mBAAmB,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;YACrG,CAAC;YACD,MAAM;IACV,CAAC;IAED,yEAAyE;IACzE,wEAAwE;IACxE,4DAA4D;IAC5D,OAAO;QACL,OAAO;QACP,OAAO,EAAE,OAAO,KAAK,WAAW;QAChC,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,cAAc,CAAC,aAA0B,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;mCAEmC;AACnC,MAAM,CAAC,MAAM,2BAA2B,GAAG,uBAAuB,CAAC;AAEnE,MAAM,UAAU,yBAAyB,CAAC,CAAsB,EAAE,eAAuB;IACvF,OAAO;QACL,2BAA2B;QAC3B,OAAO,CAAC,CAAC,GAAG,EAAE;QACd,gBAAgB,CAAC,CAAC,YAAY,EAAE;QAChC,uBAAuB;QACvB,WAAW,CAAC,CAAC,eAAe,EAAE;QAC9B,oBAAoB,eAAe,EAAE;KACtC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type HumanFragment } from "./human-registry.js";
|
|
2
|
+
export type DestinationClass = {
|
|
3
|
+
class: "pane-bound";
|
|
4
|
+
} | {
|
|
5
|
+
class: "gateway-routable";
|
|
6
|
+
resolvedHuman: string | null;
|
|
7
|
+
via: "external-address" | "registry-alias";
|
|
8
|
+
} | {
|
|
9
|
+
class: "unroutable";
|
|
10
|
+
teaching: string;
|
|
11
|
+
};
|
|
12
|
+
export interface ClassifyDeps {
|
|
13
|
+
/** Registered human entities (null/empty when the registry is absent/unreadable —
|
|
14
|
+
* classification degrades to external-address + topology checks only). */
|
|
15
|
+
entities: readonly HumanFragment[] | null;
|
|
16
|
+
/** Does this daemon have an explicit terminal transport for the destination? */
|
|
17
|
+
hasTerminalTransport: (destination: string) => boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare function classifyDestination(destination: string, deps: ClassifyDeps): DestinationClass;
|
|
20
|
+
//# sourceMappingURL=destination-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destination-resolver.d.ts","sourceRoot":"","sources":["../../../src/domain/gateway/destination-resolver.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAiC,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAExF,MAAM,MAAM,gBAAgB,GACxB;IAAE,KAAK,EAAE,YAAY,CAAA;CAAE,GACvB;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,EAAE,kBAAkB,GAAG,gBAAgB,CAAA;CAAE,GACvG;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C,MAAM,WAAW,YAAY;IAC3B;+EAC2E;IAC3E,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,IAAI,CAAC;IAC1C,gFAAgF;IAChF,oBAAoB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;CACxD;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,gBAAgB,CAoB7F"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// OPR.0.5.6.14 — THE one destination-classification seam.
|
|
2
|
+
//
|
|
3
|
+
// Every nudge/dispatch destination is classified exactly once, here:
|
|
4
|
+
// pane-bound → terminal transport (unchanged semantics)
|
|
5
|
+
// gateway-routable → the gateway subsystem owns delivery (the queue row is
|
|
6
|
+
// its input; its ledger is the delivery record; tmux is
|
|
7
|
+
// never consulted — it can never hold these addresses)
|
|
8
|
+
// unroutable → an honest structured teaching refusal; tmux is never
|
|
9
|
+
// consulted for an address it can never hold
|
|
10
|
+
//
|
|
11
|
+
// D3 forward-design (Q-e): a future channel-map layer EXTENDS this function
|
|
12
|
+
// (channel → rig|seat in front of thread → seat). It must never become a third
|
|
13
|
+
// resolver beside it — this is deliberately the single classification site the
|
|
14
|
+
// wake path consults.
|
|
15
|
+
//
|
|
16
|
+
// Class membership, in order:
|
|
17
|
+
// 1. `@external` addresses (registered entities AND literal-scheme one-offs)
|
|
18
|
+
// are gateway-routable — the folded gateway-owned wake contract.
|
|
19
|
+
// Registration/admission refusals stay at their existing admission layer;
|
|
20
|
+
// classification here is about WHO OWNS TRANSPORT, not who is admitted.
|
|
21
|
+
// 2. A topology seat with an explicit tmux binding is pane-bound — terminal
|
|
22
|
+
// transport, including a registered human seat with a real pane and its
|
|
23
|
+
// honest not-found outcomes when down. A paneless/external_cli binding is
|
|
24
|
+
// NOT terminal evidence merely because the seat exists in topology.
|
|
25
|
+
// 3. Any remaining address the human registry resolves to a registered human
|
|
26
|
+
// (canonical-form aliases like human-founder@kernel — the live 4-row
|
|
27
|
+
// specimen class) is gateway-routable: a PANELLESS virtual identity whose
|
|
28
|
+
// delivery rides the gateway, exactly like its @external address.
|
|
29
|
+
// 4. Anything else is unroutable, with teaching that names BOTH checks.
|
|
30
|
+
import { parseSessionName } from "../session-name.js";
|
|
31
|
+
import { resolveRegisteredHumanAddress } from "./human-registry.js";
|
|
32
|
+
export function classifyDestination(destination, deps) {
|
|
33
|
+
const parsed = parseSessionName(destination);
|
|
34
|
+
if (parsed.kind === "external") {
|
|
35
|
+
const resolved = deps.entities ? resolveRegisteredHumanAddress(destination, deps.entities) : null;
|
|
36
|
+
return { class: "gateway-routable", resolvedHuman: resolved, via: "external-address" };
|
|
37
|
+
}
|
|
38
|
+
if (deps.hasTerminalTransport(destination)) {
|
|
39
|
+
return { class: "pane-bound" };
|
|
40
|
+
}
|
|
41
|
+
const aliasResolved = deps.entities ? resolveRegisteredHumanAddress(destination, deps.entities) : null;
|
|
42
|
+
if (aliasResolved) {
|
|
43
|
+
return { class: "gateway-routable", resolvedHuman: aliasResolved, via: "registry-alias" };
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
class: "unroutable",
|
|
47
|
+
teaching: `unroutable: '${destination}' has no terminal transport on this daemon and names no registered human — ` +
|
|
48
|
+
`no transport can hold this address (checked: tmux bindings + the human registry). ` +
|
|
49
|
+
`Fix the address, or register the human with \`rig gateway human add\`.`,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=destination-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"destination-resolver.js","sourceRoot":"","sources":["../../../src/domain/gateway/destination-resolver.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,EAAE;AACF,qEAAqE;AACrE,iEAAiE;AACjE,8EAA8E;AAC9E,8EAA8E;AAC9E,6EAA6E;AAC7E,6EAA6E;AAC7E,mEAAmE;AACnE,EAAE;AACF,4EAA4E;AAC5E,+EAA+E;AAC/E,+EAA+E;AAC/E,sBAAsB;AACtB,EAAE;AACF,8BAA8B;AAC9B,+EAA+E;AAC/E,sEAAsE;AACtE,+EAA+E;AAC/E,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAC7E,+EAA+E;AAC/E,yEAAyE;AACzE,+EAA+E;AAC/E,0EAA0E;AAC1E,+EAA+E;AAC/E,uEAAuE;AACvE,0EAA0E;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAsB,MAAM,qBAAqB,CAAC;AAexF,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,IAAkB;IACzE,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAClG,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC;IACzF,CAAC;IACD,IAAI,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACjC,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvG,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC;IAC5F,CAAC;IACD,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,QAAQ,EACN,gBAAgB,WAAW,6EAA6E;YACxG,oFAAoF;YACpF,wEAAwE;KAC3E,CAAC;AACJ,CAAC"}
|
|
@@ -23,7 +23,9 @@ export declare class GatewayDispatcher {
|
|
|
23
23
|
get connectorId(): string | undefined;
|
|
24
24
|
/** Dispatch an outbound decision. proof-9: pre-handshake OR an unadvertised op is REFUSED,
|
|
25
25
|
* never attempted. Durable-first: persisted to the buffer BEFORE the transport send. */
|
|
26
|
-
dispatch(op: string, entityBindingRef: string, payload: unknown
|
|
26
|
+
dispatch(op: string, entityBindingRef: string, payload: unknown, opts?: {
|
|
27
|
+
decisionId?: string;
|
|
28
|
+
}): DispatchResult;
|
|
27
29
|
/** The connector Acked a decision — drain it from the durable buffer. */
|
|
28
30
|
onAck(decisionId: string): void;
|
|
29
31
|
/** On (re)connect: re-send every un-Acked decision (no-loss across a connector outage). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/domain/gateway/dispatcher.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAkB,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjG,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,2FAA2F;IAC3F,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3C,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,qBAAa,iBAAiB;IAEhB,OAAO,CAAC,QAAQ,CAAC,IAAI;IADjC,OAAO,CAAC,UAAU,CAAmC;gBACxB,IAAI,EAAE,cAAc;IAEjD,kEAAkE;IAClE,YAAY,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAIpD,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;6FACyF;IACzF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,cAAc;
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../../src/domain/gateway/dispatcher.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAkB,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjG,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,cAAc,CAAC;IACvB,2FAA2F;IAC3F,IAAI,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC3C,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,MAAM,CAAC;CAC9B;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,qBAAa,iBAAiB;IAEhB,OAAO,CAAC,QAAQ,CAAC,IAAI;IADjC,OAAO,CAAC,UAAU,CAAmC;gBACxB,IAAI,EAAE,cAAc;IAEjD,kEAAkE;IAClE,YAAY,CAAC,UAAU,EAAE,oBAAoB,GAAG,IAAI;IAIpD,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;6FACyF;IACzF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc;IAqBhH,yEAAyE;IACzE,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAI/B,2FAA2F;IAC3F,aAAa,IAAI,IAAI;CAGtB"}
|
|
@@ -24,14 +24,21 @@ export class GatewayDispatcher {
|
|
|
24
24
|
}
|
|
25
25
|
/** Dispatch an outbound decision. proof-9: pre-handshake OR an unadvertised op is REFUSED,
|
|
26
26
|
* never attempted. Durable-first: persisted to the buffer BEFORE the transport send. */
|
|
27
|
-
dispatch(op, entityBindingRef, payload) {
|
|
27
|
+
dispatch(op, entityBindingRef, payload, opts) {
|
|
28
28
|
if (!this.descriptor) {
|
|
29
29
|
return { ok: false, error: "dispatch refused: no capability descriptor yet (handshake incomplete)" };
|
|
30
30
|
}
|
|
31
31
|
if (!isAdvertisedOp(this.descriptor, op)) {
|
|
32
32
|
return { ok: false, error: `dispatch refused: op "${op}" is not advertised by connector ${this.descriptor.connectorId} (unadvertised ops are refused, not attempted)` };
|
|
33
33
|
}
|
|
34
|
-
|
|
34
|
+
// OPR.0.5.6.1 (dual-rebind repair): a caller-supplied DURABLE EPISODE-STABLE
|
|
35
|
+
// decision id makes redrive idempotent end to end — a replayed pending
|
|
36
|
+
// decision and a re-dispatch converge on ONE identity (the buffer accepts
|
|
37
|
+
// it once; the delivery layer's delivered-store re-acks without re-post).
|
|
38
|
+
const decisionId = opts?.decisionId ?? (this.deps.newDecisionId ?? randomUUID)();
|
|
39
|
+
if (opts?.decisionId && this.deps.buffer.pending().some((d) => d.decisionId === decisionId)) {
|
|
40
|
+
return { ok: true, decisionId }; // idempotent accept: already durably enqueued; replay owns the redrive
|
|
41
|
+
}
|
|
35
42
|
const decision = { kind: "outbound_decision", decisionId, op, entityBindingRef, payload };
|
|
36
43
|
this.deps.buffer.enqueue(decision); // durable BEFORE dispatch
|
|
37
44
|
this.deps.send(decision);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/domain/gateway/dispatcher.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,sFAAsF;AACtF,wFAAwF;AACxF,4EAA4E;AAC5E,2FAA2F;AAC3F,kEAAkE;AAClE,kEAAkE;AAClE,2FAA2F;AAC3F,yFAAyF;AAEzF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAoD,MAAM,eAAe,CAAC;AAcjG,MAAM,OAAO,iBAAiB;IAEC;IADrB,UAAU,CAAmC;IACrD,YAA6B,IAAoB;QAApB,SAAI,GAAJ,IAAI,CAAgB;IAAG,CAAC;IAErD,kEAAkE;IAClE,YAAY,CAAC,UAAgC;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;IACtC,CAAC;IAED;6FACyF;IACzF,QAAQ,CAAC,EAAU,EAAE,gBAAwB,EAAE,OAAgB;
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../../src/domain/gateway/dispatcher.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,sFAAsF;AACtF,wFAAwF;AACxF,4EAA4E;AAC5E,2FAA2F;AAC3F,kEAAkE;AAClE,kEAAkE;AAClE,2FAA2F;AAC3F,yFAAyF;AAEzF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAoD,MAAM,eAAe,CAAC;AAcjG,MAAM,OAAO,iBAAiB;IAEC;IADrB,UAAU,CAAmC;IACrD,YAA6B,IAAoB;QAApB,SAAI,GAAJ,IAAI,CAAgB;IAAG,CAAC;IAErD,kEAAkE;IAClE,YAAY,CAAC,UAAgC;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;IACtC,CAAC;IAED;6FACyF;IACzF,QAAQ,CAAC,EAAU,EAAE,gBAAwB,EAAE,OAAgB,EAAE,IAA8B;QAC7F,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uEAAuE,EAAE,CAAC;QACvG,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;YACzC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,oCAAoC,IAAI,CAAC,UAAU,CAAC,WAAW,gDAAgD,EAAE,CAAC;QAC1K,CAAC;QACD,6EAA6E;QAC7E,uEAAuE;QACvE,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,UAAU,CAAC,EAAE,CAAC;QACjF,IAAI,IAAI,EAAE,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,EAAE,CAAC;YAC5F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,uEAAuE;QAC1G,CAAC;QACD,MAAM,QAAQ,GAAqB,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;QAC5G,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,0BAA0B;QAC9D,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAClC,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,UAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;IAED,2FAA2F;IAC3F,aAAa;QACX,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9E,CAAC;CACF"}
|
|
@@ -68,8 +68,12 @@ export declare class GatewaySubsystem {
|
|
|
68
68
|
* index.ts supervision tree calls this beside contextMonitor.start(); test-built daemons
|
|
69
69
|
* never do, so composing a daemon never dials out. Idempotence is the wire's concern. */
|
|
70
70
|
startServices(): void;
|
|
71
|
-
/** Dispatch through the live wire (refused honestly when not active).
|
|
72
|
-
|
|
71
|
+
/** Dispatch through the live wire (refused honestly when not active).
|
|
72
|
+
* opts.decisionId: a caller-supplied durable episode-stable identity
|
|
73
|
+
* (OPR.0.5.6.1 — redrive idempotence for deferral fires and digest posts). */
|
|
74
|
+
dispatch(op: string, entityBindingRef: string, payload: unknown, opts?: {
|
|
75
|
+
decisionId?: string;
|
|
76
|
+
}): DispatchResult;
|
|
73
77
|
status(): GatewaySubsystemStatus;
|
|
74
78
|
/** Recovery half of recovers-or-reports: tear down and re-run the wiring. If services were
|
|
75
79
|
* live (post-bind), the rebuilt wire's services start too — a config flip (enable/disable)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-subsystem.d.ts","sourceRoot":"","sources":["../../../src/domain/gateway/gateway-subsystem.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD;uEACuE;AACvE,MAAM,MAAM,wBAAwB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACpG,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAEnG;;;4FAG4F;AAC5F,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,IAAI,IAAI,CAAC;IACb,aAAa,CAAC,IAAI,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb;4FACwF;IACxF,OAAO,EAAE,kBAAkB,CAAC;IAC5B;yFACqF;IACrF,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED;;;kFAGkF;AAClF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,CAkCvE;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb;uEACmE;IACnE,IAAI,EAAE,MAAM,WAAW,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,qBAAa,gBAAgB;IAOf,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,eAAe,CAAS;gBAEH,IAAI,EAAE,oBAAoB;IAEvD;qFACiF;IACjF,KAAK,IAAI,IAAI;IAgBb;;8FAE0F;IAC1F,aAAa,IAAI,IAAI;IAarB
|
|
1
|
+
{"version":3,"file":"gateway-subsystem.d.ts","sourceRoot":"","sources":["../../../src/domain/gateway/gateway-subsystem.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD;uEACuE;AACvE,MAAM,MAAM,wBAAwB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACpG,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,gBAAgB,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAEnG;;;4FAG4F;AAC5F,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,IAAI,IAAI,IAAI,CAAC;IACb,aAAa,CAAC,IAAI,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb;4FACwF;IACxF,OAAO,EAAE,kBAAkB,CAAC;IAC5B;yFACqF;IACrF,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED;;;kFAGkF;AAClF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,CAkCvE;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjF,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb;uEACmE;IACnE,IAAI,EAAE,MAAM,WAAW,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,qBAAa,gBAAgB;IAOf,OAAO,CAAC,QAAQ,CAAC,IAAI;IANjC,OAAO,CAAC,KAAK,CAAqC;IAClD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,eAAe,CAAS;gBAEH,IAAI,EAAE,oBAAoB;IAEvD;qFACiF;IACjF,KAAK,IAAI,IAAI;IAgBb;;8FAE0F;IAC1F,aAAa,IAAI,IAAI;IAarB;;mFAE+E;IAC/E,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc;IAOhH,MAAM,IAAI,sBAAsB;IAYhC;;0CAEsC;IACtC,OAAO,IAAI,IAAI;IAQf,IAAI,IAAI,IAAI;CAOb"}
|
|
@@ -102,12 +102,14 @@ export class GatewaySubsystem {
|
|
|
102
102
|
this.deps.log?.(`gateway subsystem services FAILED to start: ${e.message}`);
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
|
-
/** Dispatch through the live wire (refused honestly when not active).
|
|
106
|
-
|
|
105
|
+
/** Dispatch through the live wire (refused honestly when not active).
|
|
106
|
+
* opts.decisionId: a caller-supplied durable episode-stable identity
|
|
107
|
+
* (OPR.0.5.6.1 — redrive idempotence for deferral fires and digest posts). */
|
|
108
|
+
dispatch(op, entityBindingRef, payload, opts) {
|
|
107
109
|
if (this.state !== "active" || !this.wireHandle) {
|
|
108
110
|
return { ok: false, error: `dispatch refused: gateway subsystem is ${this.state}${this.reason ? ` (${this.reason})` : ""}` };
|
|
109
111
|
}
|
|
110
|
-
return this.wireHandle.dispatcher.dispatch(op, entityBindingRef, payload);
|
|
112
|
+
return this.wireHandle.dispatcher.dispatch(op, entityBindingRef, payload, opts);
|
|
111
113
|
}
|
|
112
114
|
status() {
|
|
113
115
|
const s = { state: this.state };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-subsystem.js","sourceRoot":"","sources":["../../../src/domain/gateway/gateway-subsystem.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gateway-subsystem.js","sourceRoot":"","sources":["../../../src/domain/gateway/gateway-subsystem.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export declare const HUMAN_DELIVERY_CLASSES: Set<string>;
|
|
|
5
5
|
export declare const ENTITY_ID_PATTERN: RegExp;
|
|
6
6
|
export declare const ADDRESS_DOMAIN = "external";
|
|
7
7
|
export declare const HANDLE_PATTERN: RegExp;
|
|
8
|
+
export declare const HUMAN_AVAILABILITY_MODES: Set<string>;
|
|
8
9
|
export interface HumanConnectorBinding {
|
|
9
10
|
kind: "slack";
|
|
10
11
|
connectorRef: string;
|
|
@@ -23,8 +24,12 @@ export interface HumanPrefs {
|
|
|
23
24
|
/** Per-ENTITY loudness — a SELECTION from the notifications register (spec §6);
|
|
24
25
|
* A3 carries it, never redefines it. Forward-compatible if the register grows. */
|
|
25
26
|
deliveryClass: "A" | "B" | "C" | "D";
|
|
26
|
-
/** The AWAY preset (optional).
|
|
27
|
+
/** The AWAY preset (optional; LEGACY spelling — availability=away supersedes).
|
|
28
|
+
* Read via the engine's resolveAvailability: consulted only when
|
|
29
|
+
* `availability` is whole-field-absent. */
|
|
27
30
|
away?: boolean;
|
|
31
|
+
/** OPR.0.5.6.1 — availability mode (available | focus | away | off). */
|
|
32
|
+
availability?: "available" | "focus" | "away" | "off";
|
|
28
33
|
}
|
|
29
34
|
export interface HumanFragment {
|
|
30
35
|
entityId: string;
|
|
@@ -230,4 +235,7 @@ export type LoadResult = {
|
|
|
230
235
|
* the fragments are truth, so the on-disk projection must byte-match a fresh one.
|
|
231
236
|
* This is the drift pin's runtime half (the vitest parity pin is the CI half). */
|
|
232
237
|
export declare function loadHumanRegistry(home?: string): LoadResult;
|
|
238
|
+
/** Resolve every registered spelling of a human to its canonical external address.
|
|
239
|
+
* Identity comes from the registry entity, never from a domain/suffix allow-list. */
|
|
240
|
+
export declare function resolveRegisteredHumanAddress(sessionRef: string | null | undefined, entities: readonly HumanFragment[]): string | null;
|
|
233
241
|
//# sourceMappingURL=human-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"human-registry.d.ts","sourceRoot":"","sources":["../../../src/domain/gateway/human-registry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"human-registry.d.ts","sourceRoot":"","sources":["../../../src/domain/gateway/human-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import { join, dirname } from "node:path";
|
|
|
18
18
|
import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
|
|
19
19
|
import { getOpenRigHome } from "../../openrig-compat.js";
|
|
20
20
|
import { DispatchBuffer } from "./dispatch-buffer.js";
|
|
21
|
+
import { parseSessionName } from "../session-name.js";
|
|
21
22
|
// ── Schema (closed enums; extend only additively behind the contract) ──
|
|
22
23
|
export const HUMAN_ENTITY_CLASSES = new Set(["human"]); // M1's only class
|
|
23
24
|
export const HUMAN_CONNECTOR_KINDS = new Set(["slack"]); // M1's only kind
|
|
@@ -37,7 +38,12 @@ const ALLOWED_BINDING_KEYS = new Set(["kind", "connectorRef", "secretsRef", "rol
|
|
|
37
38
|
// connector (e.g. a Slack user id). Constrained so it can never forge a session ref (no ':' / '@'
|
|
38
39
|
// / whitespace) — it is compared to an inbound sender id and spliced into teaching text.
|
|
39
40
|
export const HANDLE_PATTERN = /^[A-Za-z0-9._-]+$/;
|
|
40
|
-
const ALLOWED_PREFS_KEYS = new Set(["deliveryClass", "away"]);
|
|
41
|
+
const ALLOWED_PREFS_KEYS = new Set(["deliveryClass", "away", "availability"]);
|
|
42
|
+
// OPR.0.5.6.1 — the availability enum the delivery rules engine consumes.
|
|
43
|
+
// Legacy `away: true` reads as availability=away ONLY when availability is
|
|
44
|
+
// whole-field-absent (the D1 convention); a present-but-conflicting pair is
|
|
45
|
+
// refused at validation, never silently resolved.
|
|
46
|
+
export const HUMAN_AVAILABILITY_MODES = new Set(["available", "focus", "away", "off"]);
|
|
41
47
|
function unknownKey(obj, allowed) {
|
|
42
48
|
for (const k of Object.keys(obj))
|
|
43
49
|
if (!allowed.has(k))
|
|
@@ -142,9 +148,19 @@ export function validateHumanFragment(raw) {
|
|
|
142
148
|
if (prefs.away !== undefined && typeof prefs.away !== "boolean") {
|
|
143
149
|
return { ok: false, error: "prefs.away must be a boolean when present" };
|
|
144
150
|
}
|
|
151
|
+
if (prefs.availability !== undefined && !HUMAN_AVAILABILITY_MODES.has(String(prefs.availability))) {
|
|
152
|
+
return { ok: false, error: `prefs.availability "${String(prefs.availability)}" must be one of available|focus|away|off` };
|
|
153
|
+
}
|
|
154
|
+
// Two spellings of one truth are refused: a present availability is the
|
|
155
|
+
// authority; legacy away may only AGREE with it (away:true + availability=away).
|
|
156
|
+
if (prefs.availability !== undefined && prefs.away === true && prefs.availability !== "away") {
|
|
157
|
+
return { ok: false, error: `prefs.away=true conflicts with prefs.availability "${String(prefs.availability)}" — set availability alone (away is the legacy spelling)` };
|
|
158
|
+
}
|
|
145
159
|
const validatedPrefs = { deliveryClass: prefs.deliveryClass };
|
|
146
160
|
if (prefs.away !== undefined)
|
|
147
161
|
validatedPrefs.away = prefs.away;
|
|
162
|
+
if (prefs.availability !== undefined)
|
|
163
|
+
validatedPrefs.availability = prefs.availability;
|
|
148
164
|
return {
|
|
149
165
|
ok: true,
|
|
150
166
|
fragment: { entityId, class: "human", displayName, address, connectorBindings: bindings, prefs: validatedPrefs },
|
|
@@ -566,4 +582,19 @@ export function loadHumanRegistry(home = getOpenRigHome()) {
|
|
|
566
582
|
}
|
|
567
583
|
return { ok: true, entities: proj.entities };
|
|
568
584
|
}
|
|
585
|
+
/** Resolve every registered spelling of a human to its canonical external address.
|
|
586
|
+
* Identity comes from the registry entity, never from a domain/suffix allow-list. */
|
|
587
|
+
export function resolveRegisteredHumanAddress(sessionRef, entities) {
|
|
588
|
+
if (!sessionRef)
|
|
589
|
+
return null;
|
|
590
|
+
const parsed = parseSessionName(sessionRef);
|
|
591
|
+
const identity = parsed.kind === "external"
|
|
592
|
+
? parsed.local
|
|
593
|
+
: parsed.kind === "canonical"
|
|
594
|
+
? parsed.member
|
|
595
|
+
: null;
|
|
596
|
+
if (!identity)
|
|
597
|
+
return null;
|
|
598
|
+
return entities.find((entity) => entity.entityId === identity)?.address ?? null;
|
|
599
|
+
}
|
|
569
600
|
//# sourceMappingURL=human-registry.js.map
|