@zhin.js/workroom 0.0.0 → 0.0.2
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/LICENSE +21 -0
- package/README.md +50 -4
- package/lib/data-governance/canonical-value.d.ts +7 -0
- package/lib/data-governance/canonical-value.d.ts.map +1 -0
- package/lib/data-governance/canonical-value.js +35 -0
- package/lib/data-governance/canonical-value.js.map +1 -0
- package/lib/data-governance/data-governance.d.ts +198 -0
- package/lib/data-governance/data-governance.d.ts.map +1 -0
- package/lib/data-governance/data-governance.js +660 -0
- package/lib/data-governance/data-governance.js.map +1 -0
- package/lib/data-governance/database-payload-lifecycle-repository.d.ts +68 -0
- package/lib/data-governance/database-payload-lifecycle-repository.d.ts.map +1 -0
- package/lib/data-governance/database-payload-lifecycle-repository.js +226 -0
- package/lib/data-governance/database-payload-lifecycle-repository.js.map +1 -0
- package/lib/data-governance/disclosure-authority.d.ts +38 -0
- package/lib/data-governance/disclosure-authority.d.ts.map +1 -0
- package/lib/data-governance/disclosure-authority.js +2 -0
- package/lib/data-governance/disclosure-authority.js.map +1 -0
- package/lib/data-governance/disclosure-manifest.d.ts +110 -0
- package/lib/data-governance/disclosure-manifest.d.ts.map +1 -0
- package/lib/data-governance/disclosure-manifest.js +264 -0
- package/lib/data-governance/disclosure-manifest.js.map +1 -0
- package/lib/data-governance/durable-file-store.d.ts +56 -0
- package/lib/data-governance/durable-file-store.d.ts.map +1 -0
- package/lib/data-governance/durable-file-store.js +125 -0
- package/lib/data-governance/durable-file-store.js.map +1 -0
- package/lib/data-governance/encrypted-database-payload-vault.d.ts +107 -0
- package/lib/data-governance/encrypted-database-payload-vault.d.ts.map +1 -0
- package/lib/data-governance/encrypted-database-payload-vault.js +236 -0
- package/lib/data-governance/encrypted-database-payload-vault.js.map +1 -0
- package/lib/data-governance/encrypted-file-payload-vault.d.ts +117 -0
- package/lib/data-governance/encrypted-file-payload-vault.d.ts.map +1 -0
- package/lib/data-governance/encrypted-file-payload-vault.js +507 -0
- package/lib/data-governance/encrypted-file-payload-vault.js.map +1 -0
- package/lib/data-governance/file-payload-lifecycle-repository.d.ts +19 -0
- package/lib/data-governance/file-payload-lifecycle-repository.d.ts.map +1 -0
- package/lib/data-governance/file-payload-lifecycle-repository.js +194 -0
- package/lib/data-governance/file-payload-lifecycle-repository.js.map +1 -0
- package/lib/data-governance/governance-authority-repository.d.ts +152 -0
- package/lib/data-governance/governance-authority-repository.d.ts.map +1 -0
- package/lib/data-governance/governance-authority-repository.js +455 -0
- package/lib/data-governance/governance-authority-repository.js.map +1 -0
- package/lib/data-governance/governed-payload-write-saga.d.ts +126 -0
- package/lib/data-governance/governed-payload-write-saga.d.ts.map +1 -0
- package/lib/data-governance/governed-payload-write-saga.js +471 -0
- package/lib/data-governance/governed-payload-write-saga.js.map +1 -0
- package/lib/data-governance/payload-hold-overdue-projection.d.ts +57 -0
- package/lib/data-governance/payload-hold-overdue-projection.d.ts.map +1 -0
- package/lib/data-governance/payload-hold-overdue-projection.js +80 -0
- package/lib/data-governance/payload-hold-overdue-projection.js.map +1 -0
- package/lib/data-governance/payload-lifecycle.d.ts +359 -0
- package/lib/data-governance/payload-lifecycle.d.ts.map +1 -0
- package/lib/data-governance/payload-lifecycle.js +930 -0
- package/lib/data-governance/payload-lifecycle.js.map +1 -0
- package/lib/data-governance/payload-vault-storage-handoff.d.ts +255 -0
- package/lib/data-governance/payload-vault-storage-handoff.d.ts.map +1 -0
- package/lib/data-governance/payload-vault-storage-handoff.js +471 -0
- package/lib/data-governance/payload-vault-storage-handoff.js.map +1 -0
- package/lib/data-governance.d.ts +26 -0
- package/lib/data-governance.d.ts.map +1 -0
- package/lib/data-governance.js +26 -0
- package/lib/data-governance.js.map +1 -0
- package/lib/index.d.ts +102 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +105 -0
- package/lib/index.js.map +1 -0
- package/lib/portfolio/capacity-control-outbox.d.ts +174 -0
- package/lib/portfolio/capacity-control-outbox.d.ts.map +1 -0
- package/lib/portfolio/capacity-control-outbox.js +338 -0
- package/lib/portfolio/capacity-control-outbox.js.map +1 -0
- package/lib/portfolio/database-capacity-control-outbox.d.ts +62 -0
- package/lib/portfolio/database-capacity-control-outbox.d.ts.map +1 -0
- package/lib/portfolio/database-capacity-control-outbox.js +166 -0
- package/lib/portfolio/database-capacity-control-outbox.js.map +1 -0
- package/lib/portfolio/file-capacity-control-outbox.d.ts +10 -0
- package/lib/portfolio/file-capacity-control-outbox.d.ts.map +1 -0
- package/lib/portfolio/file-capacity-control-outbox.js +113 -0
- package/lib/portfolio/file-capacity-control-outbox.js.map +1 -0
- package/lib/portfolio/file-portfolio-journal.d.ts +11 -0
- package/lib/portfolio/file-portfolio-journal.d.ts.map +1 -0
- package/lib/portfolio/file-portfolio-journal.js +196 -0
- package/lib/portfolio/file-portfolio-journal.js.map +1 -0
- package/lib/portfolio/portfolio-admission.d.ts +95 -0
- package/lib/portfolio/portfolio-admission.d.ts.map +1 -0
- package/lib/portfolio/portfolio-admission.js +1080 -0
- package/lib/portfolio/portfolio-admission.js.map +1 -0
- package/lib/portfolio/portfolio-journal.d.ts +359 -0
- package/lib/portfolio/portfolio-journal.d.ts.map +1 -0
- package/lib/portfolio/portfolio-journal.js +844 -0
- package/lib/portfolio/portfolio-journal.js.map +1 -0
- package/lib/portfolio/resource-bundle.d.ts +136 -0
- package/lib/portfolio/resource-bundle.d.ts.map +1 -0
- package/lib/portfolio/resource-bundle.js +387 -0
- package/lib/portfolio/resource-bundle.js.map +1 -0
- package/lib/portfolio/sponsor-projection.d.ts +78 -0
- package/lib/portfolio/sponsor-projection.d.ts.map +1 -0
- package/lib/portfolio/sponsor-projection.js +135 -0
- package/lib/portfolio/sponsor-projection.js.map +1 -0
- package/lib/portfolio.d.ts +24 -0
- package/lib/portfolio.d.ts.map +1 -0
- package/lib/portfolio.js +24 -0
- package/lib/portfolio.js.map +1 -0
- package/lib/remote.d.ts +23 -0
- package/lib/remote.d.ts.map +1 -0
- package/lib/remote.js +23 -0
- package/lib/remote.js.map +1 -0
- package/lib/room/database-room-task-journal.d.ts +66 -0
- package/lib/room/database-room-task-journal.d.ts.map +1 -0
- package/lib/room/database-room-task-journal.js +154 -0
- package/lib/room/database-room-task-journal.js.map +1 -0
- package/lib/room/index.d.ts +15 -0
- package/lib/room/index.d.ts.map +1 -0
- package/lib/room/index.js +15 -0
- package/lib/room/index.js.map +1 -0
- package/lib/room/room-bus.d.ts +45 -0
- package/lib/room/room-bus.d.ts.map +1 -0
- package/lib/room/room-bus.js +71 -0
- package/lib/room/room-bus.js.map +1 -0
- package/lib/room/room-definition.d.ts +75 -0
- package/lib/room/room-definition.d.ts.map +1 -0
- package/lib/room/room-definition.js +22 -0
- package/lib/room/room-definition.js.map +1 -0
- package/lib/room/room-event-sequencer.d.ts +29 -0
- package/lib/room/room-event-sequencer.d.ts.map +1 -0
- package/lib/room/room-event-sequencer.js +57 -0
- package/lib/room/room-event-sequencer.js.map +1 -0
- package/lib/room/room-guards.d.ts +105 -0
- package/lib/room/room-guards.d.ts.map +1 -0
- package/lib/room/room-guards.js +222 -0
- package/lib/room/room-guards.js.map +1 -0
- package/lib/room/room-membership.d.ts +15 -0
- package/lib/room/room-membership.d.ts.map +1 -0
- package/lib/room/room-membership.js +34 -0
- package/lib/room/room-membership.js.map +1 -0
- package/lib/room/room-registry.d.ts +59 -0
- package/lib/room/room-registry.d.ts.map +1 -0
- package/lib/room/room-registry.js +64 -0
- package/lib/room/room-registry.js.map +1 -0
- package/lib/room/room-router.d.ts +31 -0
- package/lib/room/room-router.d.ts.map +1 -0
- package/lib/room/room-router.js +99 -0
- package/lib/room/room-router.js.map +1 -0
- package/lib/room/room-send-limiter.d.ts +91 -0
- package/lib/room/room-send-limiter.d.ts.map +1 -0
- package/lib/room/room-send-limiter.js +124 -0
- package/lib/room/room-send-limiter.js.map +1 -0
- package/lib/room/room-task-authorizer.d.ts +54 -0
- package/lib/room/room-task-authorizer.d.ts.map +1 -0
- package/lib/room/room-task-authorizer.js +139 -0
- package/lib/room/room-task-authorizer.js.map +1 -0
- package/lib/room/room-task-journal.d.ts +27 -0
- package/lib/room/room-task-journal.d.ts.map +1 -0
- package/lib/room/room-task-journal.js +49 -0
- package/lib/room/room-task-journal.js.map +1 -0
- package/lib/room/room-task-service.d.ts +54 -0
- package/lib/room/room-task-service.d.ts.map +1 -0
- package/lib/room/room-task-service.js +103 -0
- package/lib/room/room-task-service.js.map +1 -0
- package/lib/room/room-task.d.ts +143 -0
- package/lib/room/room-task.d.ts.map +1 -0
- package/lib/room/room-task.js +315 -0
- package/lib/room/room-task.js.map +1 -0
- package/lib/room/validate-room.d.ts +15 -0
- package/lib/room/validate-room.d.ts.map +1 -0
- package/lib/room/validate-room.js +314 -0
- package/lib/room/validate-room.js.map +1 -0
- package/lib/scheduler.d.ts +20 -0
- package/lib/scheduler.d.ts.map +1 -0
- package/lib/scheduler.js +20 -0
- package/lib/scheduler.js.map +1 -0
- package/lib/workroom/acceptance-control.d.ts +77 -0
- package/lib/workroom/acceptance-control.d.ts.map +1 -0
- package/lib/workroom/acceptance-control.js +345 -0
- package/lib/workroom/acceptance-control.js.map +1 -0
- package/lib/workroom/acceptance-policy.d.ts +152 -0
- package/lib/workroom/acceptance-policy.d.ts.map +1 -0
- package/lib/workroom/acceptance-policy.js +610 -0
- package/lib/workroom/acceptance-policy.js.map +1 -0
- package/lib/workroom/accepted-source-memory-application.d.ts +113 -0
- package/lib/workroom/accepted-source-memory-application.d.ts.map +1 -0
- package/lib/workroom/accepted-source-memory-application.js +327 -0
- package/lib/workroom/accepted-source-memory-application.js.map +1 -0
- package/lib/workroom/accepted-source-projector.d.ts +89 -0
- package/lib/workroom/accepted-source-projector.d.ts.map +1 -0
- package/lib/workroom/accepted-source-projector.js +281 -0
- package/lib/workroom/accepted-source-projector.js.map +1 -0
- package/lib/workroom/assignment-authority-grant-application.d.ts +125 -0
- package/lib/workroom/assignment-authority-grant-application.d.ts.map +1 -0
- package/lib/workroom/assignment-authority-grant-application.js +318 -0
- package/lib/workroom/assignment-authority-grant-application.js.map +1 -0
- package/lib/workroom/assignment-authority-grant-repository.d.ts +152 -0
- package/lib/workroom/assignment-authority-grant-repository.d.ts.map +1 -0
- package/lib/workroom/assignment-authority-grant-repository.js +389 -0
- package/lib/workroom/assignment-authority-grant-repository.js.map +1 -0
- package/lib/workroom/assignment-authority.d.ts +75 -0
- package/lib/workroom/assignment-authority.d.ts.map +1 -0
- package/lib/workroom/assignment-authority.js +179 -0
- package/lib/workroom/assignment-authority.js.map +1 -0
- package/lib/workroom/assignment-executor.d.ts +110 -0
- package/lib/workroom/assignment-executor.d.ts.map +1 -0
- package/lib/workroom/assignment-executor.js +371 -0
- package/lib/workroom/assignment-executor.js.map +1 -0
- package/lib/workroom/assignment-observation-ingress.d.ts +21 -0
- package/lib/workroom/assignment-observation-ingress.d.ts.map +1 -0
- package/lib/workroom/assignment-observation-ingress.js +24 -0
- package/lib/workroom/assignment-observation-ingress.js.map +1 -0
- package/lib/workroom/canonical-value.d.ts +2 -0
- package/lib/workroom/canonical-value.d.ts.map +1 -0
- package/lib/workroom/canonical-value.js +2 -0
- package/lib/workroom/canonical-value.js.map +1 -0
- package/lib/workroom/catalog-definition.d.ts +52 -0
- package/lib/workroom/catalog-definition.d.ts.map +1 -0
- package/lib/workroom/catalog-definition.js +6 -0
- package/lib/workroom/catalog-definition.js.map +1 -0
- package/lib/workroom/catalog.d.ts +80 -0
- package/lib/workroom/catalog.d.ts.map +1 -0
- package/lib/workroom/catalog.js +386 -0
- package/lib/workroom/catalog.js.map +1 -0
- package/lib/workroom/coding-assignment-executor.d.ts +90 -0
- package/lib/workroom/coding-assignment-executor.d.ts.map +1 -0
- package/lib/workroom/coding-assignment-executor.js +250 -0
- package/lib/workroom/coding-assignment-executor.js.map +1 -0
- package/lib/workroom/coding-git-objects.d.ts +17 -0
- package/lib/workroom/coding-git-objects.d.ts.map +1 -0
- package/lib/workroom/coding-git-objects.js +68 -0
- package/lib/workroom/coding-git-objects.js.map +1 -0
- package/lib/workroom/database-project-knowledge-journal.d.ts +62 -0
- package/lib/workroom/database-project-knowledge-journal.d.ts.map +1 -0
- package/lib/workroom/database-project-knowledge-journal.js +161 -0
- package/lib/workroom/database-project-knowledge-journal.js.map +1 -0
- package/lib/workroom/durable-file-store.d.ts +2 -0
- package/lib/workroom/durable-file-store.d.ts.map +1 -0
- package/lib/workroom/durable-file-store.js +2 -0
- package/lib/workroom/durable-file-store.js.map +1 -0
- package/lib/workroom/dynamic-workflow-planner.d.ts +86 -0
- package/lib/workroom/dynamic-workflow-planner.d.ts.map +1 -0
- package/lib/workroom/dynamic-workflow-planner.js +260 -0
- package/lib/workroom/dynamic-workflow-planner.js.map +1 -0
- package/lib/workroom/effect-blocker-repository.d.ts +51 -0
- package/lib/workroom/effect-blocker-repository.d.ts.map +1 -0
- package/lib/workroom/effect-blocker-repository.js +174 -0
- package/lib/workroom/effect-blocker-repository.js.map +1 -0
- package/lib/workroom/effect-ledger.d.ts +211 -0
- package/lib/workroom/effect-ledger.d.ts.map +1 -0
- package/lib/workroom/effect-ledger.js +484 -0
- package/lib/workroom/effect-ledger.js.map +1 -0
- package/lib/workroom/file-accepted-source-memory-repository.d.ts +15 -0
- package/lib/workroom/file-accepted-source-memory-repository.d.ts.map +1 -0
- package/lib/workroom/file-accepted-source-memory-repository.js +136 -0
- package/lib/workroom/file-accepted-source-memory-repository.js.map +1 -0
- package/lib/workroom/file-coding-execution-store.d.ts +25 -0
- package/lib/workroom/file-coding-execution-store.d.ts.map +1 -0
- package/lib/workroom/file-coding-execution-store.js +122 -0
- package/lib/workroom/file-coding-execution-store.js.map +1 -0
- package/lib/workroom/file-effect-ledger.d.ts +10 -0
- package/lib/workroom/file-effect-ledger.d.ts.map +1 -0
- package/lib/workroom/file-effect-ledger.js +121 -0
- package/lib/workroom/file-effect-ledger.js.map +1 -0
- package/lib/workroom/file-human-ingress-application.d.ts +10 -0
- package/lib/workroom/file-human-ingress-application.d.ts.map +1 -0
- package/lib/workroom/file-human-ingress-application.js +177 -0
- package/lib/workroom/file-human-ingress-application.js.map +1 -0
- package/lib/workroom/file-human-ingress.d.ts +24 -0
- package/lib/workroom/file-human-ingress.d.ts.map +1 -0
- package/lib/workroom/file-human-ingress.js +234 -0
- package/lib/workroom/file-human-ingress.js.map +1 -0
- package/lib/workroom/file-interaction-space-binding-repository.d.ts +24 -0
- package/lib/workroom/file-interaction-space-binding-repository.d.ts.map +1 -0
- package/lib/workroom/file-interaction-space-binding-repository.js +293 -0
- package/lib/workroom/file-interaction-space-binding-repository.js.map +1 -0
- package/lib/workroom/file-profile-journal.d.ts +33 -0
- package/lib/workroom/file-profile-journal.d.ts.map +1 -0
- package/lib/workroom/file-profile-journal.js +311 -0
- package/lib/workroom/file-profile-journal.js.map +1 -0
- package/lib/workroom/git-workspace-gateway.d.ts +152 -0
- package/lib/workroom/git-workspace-gateway.d.ts.map +1 -0
- package/lib/workroom/git-workspace-gateway.js +257 -0
- package/lib/workroom/git-workspace-gateway.js.map +1 -0
- package/lib/workroom/github-workspace-transport.d.ts +30 -0
- package/lib/workroom/github-workspace-transport.d.ts.map +1 -0
- package/lib/workroom/github-workspace-transport.js +224 -0
- package/lib/workroom/github-workspace-transport.js.map +1 -0
- package/lib/workroom/governed-dispatch-reasons.d.ts +10 -0
- package/lib/workroom/governed-dispatch-reasons.d.ts.map +1 -0
- package/lib/workroom/governed-dispatch-reasons.js +20 -0
- package/lib/workroom/governed-dispatch-reasons.js.map +1 -0
- package/lib/workroom/human-ingress-application.d.ts +128 -0
- package/lib/workroom/human-ingress-application.d.ts.map +1 -0
- package/lib/workroom/human-ingress-application.js +415 -0
- package/lib/workroom/human-ingress-application.js.map +1 -0
- package/lib/workroom/human-ingress-orchestrator.d.ts +99 -0
- package/lib/workroom/human-ingress-orchestrator.d.ts.map +1 -0
- package/lib/workroom/human-ingress-orchestrator.js +262 -0
- package/lib/workroom/human-ingress-orchestrator.js.map +1 -0
- package/lib/workroom/human-ingress-source-reader.d.ts +29 -0
- package/lib/workroom/human-ingress-source-reader.d.ts.map +1 -0
- package/lib/workroom/human-ingress-source-reader.js +126 -0
- package/lib/workroom/human-ingress-source-reader.js.map +1 -0
- package/lib/workroom/human-ingress.d.ts +182 -0
- package/lib/workroom/human-ingress.d.ts.map +1 -0
- package/lib/workroom/human-ingress.js +526 -0
- package/lib/workroom/human-ingress.js.map +1 -0
- package/lib/workroom/interaction-space-binding-service.d.ts +57 -0
- package/lib/workroom/interaction-space-binding-service.d.ts.map +1 -0
- package/lib/workroom/interaction-space-binding-service.js +197 -0
- package/lib/workroom/interaction-space-binding-service.js.map +1 -0
- package/lib/workroom/interaction-space-router.d.ts +75 -0
- package/lib/workroom/interaction-space-router.d.ts.map +1 -0
- package/lib/workroom/interaction-space-router.js +243 -0
- package/lib/workroom/interaction-space-router.js.map +1 -0
- package/lib/workroom/journal/activatable-journal.d.ts +15 -0
- package/lib/workroom/journal/activatable-journal.d.ts.map +1 -0
- package/lib/workroom/journal/activatable-journal.js +39 -0
- package/lib/workroom/journal/activatable-journal.js.map +1 -0
- package/lib/workroom/journal/contracts.d.ts +141 -0
- package/lib/workroom/journal/contracts.d.ts.map +1 -0
- package/lib/workroom/journal/contracts.js +19 -0
- package/lib/workroom/journal/contracts.js.map +1 -0
- package/lib/workroom/journal/database-journal.d.ts +31 -0
- package/lib/workroom/journal/database-journal.d.ts.map +1 -0
- package/lib/workroom/journal/database-journal.js +114 -0
- package/lib/workroom/journal/database-journal.js.map +1 -0
- package/lib/workroom/journal/event-codec.d.ts +26 -0
- package/lib/workroom/journal/event-codec.d.ts.map +1 -0
- package/lib/workroom/journal/event-codec.js +241 -0
- package/lib/workroom/journal/event-codec.js.map +1 -0
- package/lib/workroom/journal/event-validation.d.ts +10 -0
- package/lib/workroom/journal/event-validation.d.ts.map +1 -0
- package/lib/workroom/journal/event-validation.js +671 -0
- package/lib/workroom/journal/event-validation.js.map +1 -0
- package/lib/workroom/journal/file-journal.d.ts +15 -0
- package/lib/workroom/journal/file-journal.d.ts.map +1 -0
- package/lib/workroom/journal/file-journal.js +272 -0
- package/lib/workroom/journal/file-journal.js.map +1 -0
- package/lib/workroom/journal/index.d.ts +12 -0
- package/lib/workroom/journal/index.d.ts.map +1 -0
- package/lib/workroom/journal/index.js +10 -0
- package/lib/workroom/journal/index.js.map +1 -0
- package/lib/workroom/journal/legacy-payload-guard.d.ts +16 -0
- package/lib/workroom/journal/legacy-payload-guard.d.ts.map +1 -0
- package/lib/workroom/journal/legacy-payload-guard.js +172 -0
- package/lib/workroom/journal/legacy-payload-guard.js.map +1 -0
- package/lib/workroom/journal/memory-journal.d.ts +27 -0
- package/lib/workroom/journal/memory-journal.d.ts.map +1 -0
- package/lib/workroom/journal/memory-journal.js +103 -0
- package/lib/workroom/journal/memory-journal.js.map +1 -0
- package/lib/workroom/journal/payload-governance.d.ts +29 -0
- package/lib/workroom/journal/payload-governance.d.ts.map +1 -0
- package/lib/workroom/journal/payload-governance.js +282 -0
- package/lib/workroom/journal/payload-governance.js.map +1 -0
- package/lib/workroom/journal/payload-reference.d.ts +9 -0
- package/lib/workroom/journal/payload-reference.d.ts.map +1 -0
- package/lib/workroom/journal/payload-reference.js +60 -0
- package/lib/workroom/journal/payload-reference.js.map +1 -0
- package/lib/workroom/journal/stored-event-projection.d.ts +6 -0
- package/lib/workroom/journal/stored-event-projection.d.ts.map +1 -0
- package/lib/workroom/journal/stored-event-projection.js +280 -0
- package/lib/workroom/journal/stored-event-projection.js.map +1 -0
- package/lib/workroom/journal-model.d.ts +40 -0
- package/lib/workroom/journal-model.d.ts.map +1 -0
- package/lib/workroom/journal-model.js +12 -0
- package/lib/workroom/journal-model.js.map +1 -0
- package/lib/workroom/kernel-contracts.d.ts +168 -0
- package/lib/workroom/kernel-contracts.d.ts.map +1 -0
- package/lib/workroom/kernel-contracts.js +2 -0
- package/lib/workroom/kernel-contracts.js.map +1 -0
- package/lib/workroom/kernel-state.d.ts +5 -0
- package/lib/workroom/kernel-state.d.ts.map +1 -0
- package/lib/workroom/kernel-state.js +885 -0
- package/lib/workroom/kernel-state.js.map +1 -0
- package/lib/workroom/local-assignment-issuance.d.ts +68 -0
- package/lib/workroom/local-assignment-issuance.d.ts.map +1 -0
- package/lib/workroom/local-assignment-issuance.js +128 -0
- package/lib/workroom/local-assignment-issuance.js.map +1 -0
- package/lib/workroom/plan-approval-control.d.ts +52 -0
- package/lib/workroom/plan-approval-control.d.ts.map +1 -0
- package/lib/workroom/plan-approval-control.js +9 -0
- package/lib/workroom/plan-approval-control.js.map +1 -0
- package/lib/workroom/plan-revision.d.ts +44 -0
- package/lib/workroom/plan-revision.d.ts.map +1 -0
- package/lib/workroom/plan-revision.js +133 -0
- package/lib/workroom/plan-revision.js.map +1 -0
- package/lib/workroom/profile-compiler.d.ts +130 -0
- package/lib/workroom/profile-compiler.d.ts.map +1 -0
- package/lib/workroom/profile-compiler.js +357 -0
- package/lib/workroom/profile-compiler.js.map +1 -0
- package/lib/workroom/profile-registry.d.ts +191 -0
- package/lib/workroom/profile-registry.d.ts.map +1 -0
- package/lib/workroom/profile-registry.js +698 -0
- package/lib/workroom/profile-registry.js.map +1 -0
- package/lib/workroom/project-knowledge-registry.d.ts +136 -0
- package/lib/workroom/project-knowledge-registry.d.ts.map +1 -0
- package/lib/workroom/project-knowledge-registry.js +429 -0
- package/lib/workroom/project-knowledge-registry.js.map +1 -0
- package/lib/workroom/projection-outbox/contracts.d.ts +195 -0
- package/lib/workroom/projection-outbox/contracts.d.ts.map +1 -0
- package/lib/workroom/projection-outbox/contracts.js +11 -0
- package/lib/workroom/projection-outbox/contracts.js.map +1 -0
- package/lib/workroom/projection-outbox/delivery-worker.d.ts +22 -0
- package/lib/workroom/projection-outbox/delivery-worker.d.ts.map +1 -0
- package/lib/workroom/projection-outbox/delivery-worker.js +96 -0
- package/lib/workroom/projection-outbox/delivery-worker.js.map +1 -0
- package/lib/workroom/projection-outbox/file-repository.d.ts +11 -0
- package/lib/workroom/projection-outbox/file-repository.d.ts.map +1 -0
- package/lib/workroom/projection-outbox/file-repository.js +89 -0
- package/lib/workroom/projection-outbox/file-repository.js.map +1 -0
- package/lib/workroom/projection-outbox/index.d.ts +10 -0
- package/lib/workroom/projection-outbox/index.d.ts.map +1 -0
- package/lib/workroom/projection-outbox/index.js +8 -0
- package/lib/workroom/projection-outbox/index.js.map +1 -0
- package/lib/workroom/projection-outbox/memory-repository.d.ts +11 -0
- package/lib/workroom/projection-outbox/memory-repository.d.ts.map +1 -0
- package/lib/workroom/projection-outbox/memory-repository.js +40 -0
- package/lib/workroom/projection-outbox/memory-repository.js.map +1 -0
- package/lib/workroom/projection-outbox/projector.d.ts +36 -0
- package/lib/workroom/projection-outbox/projector.d.ts.map +1 -0
- package/lib/workroom/projection-outbox/projector.js +517 -0
- package/lib/workroom/projection-outbox/projector.js.map +1 -0
- package/lib/workroom/projection-outbox/repository-state.d.ts +17 -0
- package/lib/workroom/projection-outbox/repository-state.d.ts.map +1 -0
- package/lib/workroom/projection-outbox/repository-state.js +343 -0
- package/lib/workroom/projection-outbox/repository-state.js.map +1 -0
- package/lib/workroom/projection-outbox/tracer.d.ts +19 -0
- package/lib/workroom/projection-outbox/tracer.d.ts.map +1 -0
- package/lib/workroom/projection-outbox/tracer.js +201 -0
- package/lib/workroom/projection-outbox/tracer.js.map +1 -0
- package/lib/workroom/remote-assignment-dispatch-command.d.ts +31 -0
- package/lib/workroom/remote-assignment-dispatch-command.d.ts.map +1 -0
- package/lib/workroom/remote-assignment-dispatch-command.js +56 -0
- package/lib/workroom/remote-assignment-dispatch-command.js.map +1 -0
- package/lib/workroom/remote-assignment-issuance.d.ts +88 -0
- package/lib/workroom/remote-assignment-issuance.d.ts.map +1 -0
- package/lib/workroom/remote-assignment-issuance.js +201 -0
- package/lib/workroom/remote-assignment-issuance.js.map +1 -0
- package/lib/workroom/remote-callback-application.d.ts +115 -0
- package/lib/workroom/remote-callback-application.d.ts.map +1 -0
- package/lib/workroom/remote-callback-application.js +570 -0
- package/lib/workroom/remote-callback-application.js.map +1 -0
- package/lib/workroom/remote-callback-gateway.d.ts +60 -0
- package/lib/workroom/remote-callback-gateway.d.ts.map +1 -0
- package/lib/workroom/remote-callback-gateway.js +173 -0
- package/lib/workroom/remote-callback-gateway.js.map +1 -0
- package/lib/workroom/remote-callback-inbox.d.ts +278 -0
- package/lib/workroom/remote-callback-inbox.d.ts.map +1 -0
- package/lib/workroom/remote-callback-inbox.js +1088 -0
- package/lib/workroom/remote-callback-inbox.js.map +1 -0
- package/lib/workroom/remote-callback-reconciliation-worker.d.ts +60 -0
- package/lib/workroom/remote-callback-reconciliation-worker.d.ts.map +1 -0
- package/lib/workroom/remote-callback-reconciliation-worker.js +197 -0
- package/lib/workroom/remote-callback-reconciliation-worker.js.map +1 -0
- package/lib/workroom/remote-dispatch-admission.d.ts +45 -0
- package/lib/workroom/remote-dispatch-admission.d.ts.map +1 -0
- package/lib/workroom/remote-dispatch-admission.js +187 -0
- package/lib/workroom/remote-dispatch-admission.js.map +1 -0
- package/lib/workroom/remote-dispatch-outbox.d.ts +204 -0
- package/lib/workroom/remote-dispatch-outbox.d.ts.map +1 -0
- package/lib/workroom/remote-dispatch-outbox.js +768 -0
- package/lib/workroom/remote-dispatch-outbox.js.map +1 -0
- package/lib/workroom/remote-dispatch-scheduler.d.ts +36 -0
- package/lib/workroom/remote-dispatch-scheduler.d.ts.map +1 -0
- package/lib/workroom/remote-dispatch-scheduler.js +133 -0
- package/lib/workroom/remote-dispatch-scheduler.js.map +1 -0
- package/lib/workroom/remote-dispatch-worker.d.ts +22 -0
- package/lib/workroom/remote-dispatch-worker.d.ts.map +1 -0
- package/lib/workroom/remote-dispatch-worker.js +124 -0
- package/lib/workroom/remote-dispatch-worker.js.map +1 -0
- package/lib/workroom/remote-dispatch.d.ts +79 -0
- package/lib/workroom/remote-dispatch.d.ts.map +1 -0
- package/lib/workroom/remote-dispatch.js +220 -0
- package/lib/workroom/remote-dispatch.js.map +1 -0
- package/lib/workroom/remote-executor.d.ts +15 -0
- package/lib/workroom/remote-executor.d.ts.map +1 -0
- package/lib/workroom/remote-executor.js +21 -0
- package/lib/workroom/remote-executor.js.map +1 -0
- package/lib/workroom/role-capability-snapshot.d.ts +88 -0
- package/lib/workroom/role-capability-snapshot.d.ts.map +1 -0
- package/lib/workroom/role-capability-snapshot.js +456 -0
- package/lib/workroom/role-capability-snapshot.js.map +1 -0
- package/lib/workroom/runtime.d.ts +142 -0
- package/lib/workroom/runtime.d.ts.map +1 -0
- package/lib/workroom/runtime.js +543 -0
- package/lib/workroom/runtime.js.map +1 -0
- package/lib/workroom/scheduler-priority-control.d.ts +35 -0
- package/lib/workroom/scheduler-priority-control.d.ts.map +1 -0
- package/lib/workroom/scheduler-priority-control.js +9 -0
- package/lib/workroom/scheduler-priority-control.js.map +1 -0
- package/lib/workroom/software-delivery-plan.d.ts +32 -0
- package/lib/workroom/software-delivery-plan.d.ts.map +1 -0
- package/lib/workroom/software-delivery-plan.js +60 -0
- package/lib/workroom/software-delivery-plan.js.map +1 -0
- package/lib/workroom/validate-catalog.d.ts +2 -0
- package/lib/workroom/validate-catalog.d.ts.map +1 -0
- package/lib/workroom/validate-catalog.js +230 -0
- package/lib/workroom/validate-catalog.js.map +1 -0
- package/lib/workroom/workflow-plan-builder.d.ts +88 -0
- package/lib/workroom/workflow-plan-builder.d.ts.map +1 -0
- package/lib/workroom/workflow-plan-builder.js +232 -0
- package/lib/workroom/workflow-plan-builder.js.map +1 -0
- package/lib/workroom/workroom-assignment-knowledge-context.d.ts +102 -0
- package/lib/workroom/workroom-assignment-knowledge-context.d.ts.map +1 -0
- package/lib/workroom/workroom-assignment-knowledge-context.js +127 -0
- package/lib/workroom/workroom-assignment-knowledge-context.js.map +1 -0
- package/lib/workroom/workroom-kernel.d.ts +157 -0
- package/lib/workroom/workroom-kernel.d.ts.map +1 -0
- package/lib/workroom/workroom-kernel.js +1526 -0
- package/lib/workroom/workroom-kernel.js.map +1 -0
- package/lib/workroom/workroom-preemption.d.ts +65 -0
- package/lib/workroom/workroom-preemption.d.ts.map +1 -0
- package/lib/workroom/workroom-preemption.js +213 -0
- package/lib/workroom/workroom-preemption.js.map +1 -0
- package/lib/workroom/workroom-run-control.d.ts +69 -0
- package/lib/workroom/workroom-run-control.d.ts.map +1 -0
- package/lib/workroom/workroom-run-control.js +144 -0
- package/lib/workroom/workroom-run-control.js.map +1 -0
- package/lib/workroom/workroom-scheduler-application.d.ts +43 -0
- package/lib/workroom/workroom-scheduler-application.d.ts.map +1 -0
- package/lib/workroom/workroom-scheduler-application.js +71 -0
- package/lib/workroom/workroom-scheduler-application.js.map +1 -0
- package/lib/workroom/workroom-scheduler.d.ts +135 -0
- package/lib/workroom/workroom-scheduler.d.ts.map +1 -0
- package/lib/workroom/workroom-scheduler.js +660 -0
- package/lib/workroom/workroom-scheduler.js.map +1 -0
- package/lib/workroom/workroom-task-report-store.d.ts +131 -0
- package/lib/workroom/workroom-task-report-store.d.ts.map +1 -0
- package/lib/workroom/workroom-task-report-store.js +528 -0
- package/lib/workroom/workroom-task-report-store.js.map +1 -0
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts +70 -0
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts.map +1 -0
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.js +203 -0
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.js.map +1 -0
- package/lib/workroom-runtime/github-actions-delivery-provider.d.ts +44 -0
- package/lib/workroom-runtime/github-actions-delivery-provider.d.ts.map +1 -0
- package/lib/workroom-runtime/github-actions-delivery-provider.js +246 -0
- package/lib/workroom-runtime/github-actions-delivery-provider.js.map +1 -0
- package/lib/workroom-runtime/github-exact-merge-gateway.d.ts +62 -0
- package/lib/workroom-runtime/github-exact-merge-gateway.d.ts.map +1 -0
- package/lib/workroom-runtime/github-exact-merge-gateway.js +79 -0
- package/lib/workroom-runtime/github-exact-merge-gateway.js.map +1 -0
- package/lib/workroom-runtime/github-workroom-capability.d.ts +15 -0
- package/lib/workroom-runtime/github-workroom-capability.d.ts.map +1 -0
- package/lib/workroom-runtime/github-workroom-capability.js +79 -0
- package/lib/workroom-runtime/github-workroom-capability.js.map +1 -0
- package/lib/workroom-runtime/self-delivery-project-composition.d.ts +25 -0
- package/lib/workroom-runtime/self-delivery-project-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/self-delivery-project-composition.js +85 -0
- package/lib/workroom-runtime/self-delivery-project-composition.js.map +1 -0
- package/lib/workroom-runtime/self-delivery-project.d.ts +65 -0
- package/lib/workroom-runtime/self-delivery-project.d.ts.map +1 -0
- package/lib/workroom-runtime/self-delivery-project.js +140 -0
- package/lib/workroom-runtime/self-delivery-project.js.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-authority.d.ts +5 -0
- package/lib/workroom-runtime/workroom-acceptance-authority.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-authority.js +14 -0
- package/lib/workroom-runtime/workroom-acceptance-authority.js.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts +233 -0
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.js +517 -0
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.js.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts +139 -0
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.js +435 -0
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.js.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-policy.d.ts +4 -0
- package/lib/workroom-runtime/workroom-acceptance-policy.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-policy.js +20 -0
- package/lib/workroom-runtime/workroom-acceptance-policy.js.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts +177 -0
- package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-production-composition.js +794 -0
- package/lib/workroom-runtime/workroom-acceptance-production-composition.js.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts +189 -0
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.js +590 -0
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.js.map +1 -0
- package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts +75 -0
- package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-accepted-source-runtime.js +267 -0
- package/lib/workroom-runtime/workroom-accepted-source-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts +42 -0
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.js +90 -0
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts +84 -0
- package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-assignment-authority-provider.js +494 -0
- package/lib/workroom-runtime/workroom-assignment-authority-provider.js.map +1 -0
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts +58 -0
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.js +218 -0
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.js.map +1 -0
- package/lib/workroom-runtime/workroom-bot-identity.d.ts +22 -0
- package/lib/workroom-runtime/workroom-bot-identity.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-bot-identity.js +53 -0
- package/lib/workroom-runtime/workroom-bot-identity.js.map +1 -0
- package/lib/workroom-runtime/workroom-capability-realization.d.ts +23 -0
- package/lib/workroom-runtime/workroom-capability-realization.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-capability-realization.js +74 -0
- package/lib/workroom-runtime/workroom-capability-realization.js.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts +49 -0
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.js +140 -0
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.js.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts +27 -0
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.js +324 -0
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.js.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-composition.d.ts +28 -0
- package/lib/workroom-runtime/workroom-data-governance-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-composition.js +41 -0
- package/lib/workroom-runtime/workroom-data-governance-composition.js.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts +51 -0
- package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-root-provider.js +66 -0
- package/lib/workroom-runtime/workroom-data-governance-root-provider.js.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts +100 -0
- package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-runtime.js +1356 -0
- package/lib/workroom-runtime/workroom-data-governance-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-storage.d.ts +66 -0
- package/lib/workroom-runtime/workroom-data-governance-storage.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-data-governance-storage.js +159 -0
- package/lib/workroom-runtime/workroom-data-governance-storage.js.map +1 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts +37 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.js +131 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.js.map +1 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts +238 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-console.js +495 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-console.js.map +1 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts +15 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.js +119 -0
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.js.map +1 -0
- package/lib/workroom-runtime/workroom-database-models.d.ts +4 -0
- package/lib/workroom-runtime/workroom-database-models.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-database-models.js +34 -0
- package/lib/workroom-runtime/workroom-database-models.js.map +1 -0
- package/lib/workroom-runtime/workroom-database-storage.d.ts +14 -0
- package/lib/workroom-runtime/workroom-database-storage.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-database-storage.js +30 -0
- package/lib/workroom-runtime/workroom-database-storage.js.map +1 -0
- package/lib/workroom-runtime/workroom-delivery-gateway.d.ts +96 -0
- package/lib/workroom-runtime/workroom-delivery-gateway.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-delivery-gateway.js +129 -0
- package/lib/workroom-runtime/workroom-delivery-gateway.js.map +1 -0
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts +142 -0
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.js +302 -0
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.js.map +1 -0
- package/lib/workroom-runtime/workroom-dynamic-planning.d.ts +4 -0
- package/lib/workroom-runtime/workroom-dynamic-planning.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-dynamic-planning.js +13 -0
- package/lib/workroom-runtime/workroom-dynamic-planning.js.map +1 -0
- package/lib/workroom-runtime/workroom-effect-composition.d.ts +37 -0
- package/lib/workroom-runtime/workroom-effect-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-effect-composition.js +80 -0
- package/lib/workroom-runtime/workroom-effect-composition.js.map +1 -0
- package/lib/workroom-runtime/workroom-effect-production.d.ts +138 -0
- package/lib/workroom-runtime/workroom-effect-production.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-effect-production.js +291 -0
- package/lib/workroom-runtime/workroom-effect-production.js.map +1 -0
- package/lib/workroom-runtime/workroom-effect-runtime.d.ts +56 -0
- package/lib/workroom-runtime/workroom-effect-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-effect-runtime.js +239 -0
- package/lib/workroom-runtime/workroom-effect-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts +32 -0
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.js +43 -0
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.js.map +1 -0
- package/lib/workroom-runtime/workroom-host-port.d.ts +113 -0
- package/lib/workroom-runtime/workroom-host-port.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-host-port.js +3 -0
- package/lib/workroom-runtime/workroom-host-port.js.map +1 -0
- package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts +16 -0
- package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-journal-payload-composition.js +69 -0
- package/lib/workroom-runtime/workroom-journal-payload-composition.js.map +1 -0
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts +16 -0
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.js +100 -0
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.js.map +1 -0
- package/lib/workroom-runtime/workroom-local-agent-loop.d.ts +91 -0
- package/lib/workroom-runtime/workroom-local-agent-loop.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-local-agent-loop.js +313 -0
- package/lib/workroom-runtime/workroom-local-agent-loop.js.map +1 -0
- package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts +5 -0
- package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-local-assignment-authority.js +16 -0
- package/lib/workroom-runtime/workroom-local-assignment-authority.js.map +1 -0
- package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts +60 -0
- package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-local-assignment-executor.js +197 -0
- package/lib/workroom-runtime/workroom-local-assignment-executor.js.map +1 -0
- package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts +34 -0
- package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-local-assignment-runtime.js +235 -0
- package/lib/workroom-runtime/workroom-local-assignment-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts +39 -0
- package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-local-assignment-supply.js +107 -0
- package/lib/workroom-runtime/workroom-local-assignment-supply.js.map +1 -0
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts +145 -0
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.js +516 -0
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.js.map +1 -0
- package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts +91 -0
- package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-payload-processor-recall.js +189 -0
- package/lib/workroom-runtime/workroom-payload-processor-recall.js.map +1 -0
- package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts +7 -0
- package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-plan-gate-authority.js +40 -0
- package/lib/workroom-runtime/workroom-plan-gate-authority.js.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts +132 -0
- package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-capacity.js +189 -0
- package/lib/workroom-runtime/workroom-portfolio-capacity.js.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts +38 -0
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.js +103 -0
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.js.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts +30 -0
- package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-control-composition.js +103 -0
- package/lib/workroom-runtime/workroom-portfolio-control-composition.js.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts +42 -0
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.js +209 -0
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts +141 -0
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.js +334 -0
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.js.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts +23 -0
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.js +88 -0
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.js.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts +96 -0
- package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-portfolio-sponsor.js +313 -0
- package/lib/workroom-runtime/workroom-portfolio-sponsor.js.map +1 -0
- package/lib/workroom-runtime/workroom-preemption-runtime.d.ts +57 -0
- package/lib/workroom-runtime/workroom-preemption-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-preemption-runtime.js +163 -0
- package/lib/workroom-runtime/workroom-preemption-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-priority-authority.d.ts +19 -0
- package/lib/workroom-runtime/workroom-priority-authority.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-priority-authority.js +76 -0
- package/lib/workroom-runtime/workroom-priority-authority.js.map +1 -0
- package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts +61 -0
- package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-profile-authority-composition.js +232 -0
- package/lib/workroom-runtime/workroom-profile-authority-composition.js.map +1 -0
- package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts +229 -0
- package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-profile-authority-runtime.js +1133 -0
- package/lib/workroom-runtime/workroom-profile-authority-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-projection-outbound.d.ts +10 -0
- package/lib/workroom-runtime/workroom-projection-outbound.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-projection-outbound.js +35 -0
- package/lib/workroom-runtime/workroom-projection-outbound.js.map +1 -0
- package/lib/workroom-runtime/workroom-projection-runtime.d.ts +93 -0
- package/lib/workroom-runtime/workroom-projection-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-projection-runtime.js +476 -0
- package/lib/workroom-runtime/workroom-projection-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts +9 -0
- package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-remote-assignment-authority.js +20 -0
- package/lib/workroom-runtime/workroom-remote-assignment-authority.js.map +1 -0
- package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts +38 -0
- package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-remote-callback-runtime.js +80 -0
- package/lib/workroom-runtime/workroom-remote-callback-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-remote-executor.d.ts +9 -0
- package/lib/workroom-runtime/workroom-remote-executor.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-remote-executor.js +23 -0
- package/lib/workroom-runtime/workroom-remote-executor.js.map +1 -0
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts +72 -0
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.js +142 -0
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts +112 -0
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.js +376 -0
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.js.map +1 -0
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts +42 -0
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.js +125 -0
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.js.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts +32 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.js +83 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.js.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts +16 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.js +49 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.js.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts +66 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.js +250 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.js.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts +42 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.js +141 -0
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.js.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts +27 -0
- package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-route-registry.js +136 -0
- package/lib/workroom-runtime/workroom-scheduler-route-registry.js.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts +84 -0
- package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts.map +1 -0
- package/lib/workroom-runtime/workroom-scheduler-runtime.js +236 -0
- package/lib/workroom-runtime/workroom-scheduler-runtime.js.map +1 -0
- package/package.json +55 -6
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './room-definition.js';
|
|
2
|
+
export * from './validate-room.js';
|
|
3
|
+
export * from './room-registry.js';
|
|
4
|
+
export * from './room-router.js';
|
|
5
|
+
export * from './room-membership.js';
|
|
6
|
+
export * from './room-bus.js';
|
|
7
|
+
export * from './room-task.js';
|
|
8
|
+
export * from './room-task-journal.js';
|
|
9
|
+
export * from './database-room-task-journal.js';
|
|
10
|
+
export * from './room-task-service.js';
|
|
11
|
+
export * from './room-guards.js';
|
|
12
|
+
export * from './room-task-authorizer.js';
|
|
13
|
+
export * from './room-send-limiter.js';
|
|
14
|
+
export * from './room-event-sequencer.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/room/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './room-definition.js';
|
|
2
|
+
export * from './validate-room.js';
|
|
3
|
+
export * from './room-registry.js';
|
|
4
|
+
export * from './room-router.js';
|
|
5
|
+
export * from './room-membership.js';
|
|
6
|
+
export * from './room-bus.js';
|
|
7
|
+
export * from './room-task.js';
|
|
8
|
+
export * from './room-task-journal.js';
|
|
9
|
+
export * from './database-room-task-journal.js';
|
|
10
|
+
export * from './room-task-service.js';
|
|
11
|
+
export * from './room-guards.js';
|
|
12
|
+
export * from './room-task-authorizer.js';
|
|
13
|
+
export * from './room-send-limiter.js';
|
|
14
|
+
export * from './room-event-sequencer.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/room/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { PluginId } from '@zhin.js/plugin-runtime';
|
|
2
|
+
import type { OutboundMessageService } from '@zhin.js/core/runtime';
|
|
3
|
+
import type { RoomRegistry } from './room-registry.js';
|
|
4
|
+
/**
|
|
5
|
+
* Minimal handoff event. Task state (accepted / done / ...) belongs to the Task state machine
|
|
6
|
+
* (B3) and is intentionally absent here.
|
|
7
|
+
*/
|
|
8
|
+
export interface RoomHandoffEvent {
|
|
9
|
+
readonly id: string;
|
|
10
|
+
readonly room: string;
|
|
11
|
+
/** Agent name of the handing-off member. */
|
|
12
|
+
readonly from: string;
|
|
13
|
+
/** Agent name of the receiving member. */
|
|
14
|
+
readonly to: string;
|
|
15
|
+
readonly text: string;
|
|
16
|
+
readonly taskRef?: string;
|
|
17
|
+
/** Epoch milliseconds. */
|
|
18
|
+
readonly at: number;
|
|
19
|
+
}
|
|
20
|
+
export interface RoomHandoffResult {
|
|
21
|
+
/** At least one subscriber accepted the event. */
|
|
22
|
+
readonly delivered: boolean;
|
|
23
|
+
/** The group-visible projection was sent through the normal send chain. */
|
|
24
|
+
readonly projected: boolean;
|
|
25
|
+
readonly projectionError?: string;
|
|
26
|
+
/** Set when validation refused the handoff; nothing was projected or delivered. */
|
|
27
|
+
readonly rejection?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface RoomBus {
|
|
30
|
+
handoff(event: RoomHandoffEvent): Promise<RoomHandoffResult>;
|
|
31
|
+
subscribe(listener: (event: RoomHandoffEvent) => void | Promise<void>): () => void;
|
|
32
|
+
}
|
|
33
|
+
export interface RoomBusOptions {
|
|
34
|
+
readonly registry: RoomRegistry;
|
|
35
|
+
/** The only way the Bus talks to the group: the normal outbound chain. */
|
|
36
|
+
readonly outbound: Pick<OutboundMessageService, 'send'>;
|
|
37
|
+
readonly requester: PluginId;
|
|
38
|
+
/** Bot account (user id) of a runtime Endpoint, e.g. PeerRegistry.selfOf. */
|
|
39
|
+
readonly accountOf: (endpointId: string) => string | undefined;
|
|
40
|
+
readonly logger?: {
|
|
41
|
+
warn(message: string): void;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export declare function createRoomBus(options: RoomBusOptions): RoomBus;
|
|
45
|
+
//# sourceMappingURL=room-bus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room-bus.d.ts","sourceRoot":"","sources":["../../src/room/room-bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,mFAAmF;IACnF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC7D,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC;CACpF;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IACxD,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC/D,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACnD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAmE9D"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export function createRoomBus(options) {
|
|
2
|
+
const { registry, outbound, requester, accountOf, logger } = options;
|
|
3
|
+
const listeners = new Set();
|
|
4
|
+
const reject = (rejection) => ({ delivered: false, projected: false, rejection });
|
|
5
|
+
return Object.freeze({
|
|
6
|
+
subscribe(listener) {
|
|
7
|
+
listeners.add(listener);
|
|
8
|
+
return () => { listeners.delete(listener); };
|
|
9
|
+
},
|
|
10
|
+
async handoff(event) {
|
|
11
|
+
if (typeof event.id !== 'string' || event.id === '')
|
|
12
|
+
return reject('handoff id must not be empty');
|
|
13
|
+
const room = registry.room(event.room);
|
|
14
|
+
if (!room)
|
|
15
|
+
return reject(`unknown room "${event.room}"`);
|
|
16
|
+
const from = room.memberByAgent(event.from);
|
|
17
|
+
if (!from)
|
|
18
|
+
return reject(`"${event.from}" is not a member of room ${room.id}`);
|
|
19
|
+
const to = room.memberByAgent(event.to);
|
|
20
|
+
if (!to)
|
|
21
|
+
return reject(`"${event.to}" is not a member of room ${room.id}`);
|
|
22
|
+
if (from === to)
|
|
23
|
+
return reject('a member cannot hand off to itself');
|
|
24
|
+
if (!from.role.handoffTo?.includes(to.roleName)) {
|
|
25
|
+
return reject(`role "${from.roleName}" may not hand off to role "${to.roleName}"`);
|
|
26
|
+
}
|
|
27
|
+
// Group-visible projection first, through the normal send chain only
|
|
28
|
+
// (OutboundMessageService.send -> OutboundRenderer -> outbound middleware -> Endpoint).
|
|
29
|
+
let projected = false;
|
|
30
|
+
let projectionError;
|
|
31
|
+
try {
|
|
32
|
+
const { adapter, kind, id } = room.definition.conversation;
|
|
33
|
+
const account = accountOf(to.endpointId);
|
|
34
|
+
const receipt = await outbound.send({
|
|
35
|
+
conversation: { endpoint: { id: from.endpointId, adapter }, kind, id },
|
|
36
|
+
requester,
|
|
37
|
+
content: account !== undefined
|
|
38
|
+
? [
|
|
39
|
+
{ type: 'mention', data: { target: account, name: to.agent } },
|
|
40
|
+
{ type: 'text', data: { text: ` ${event.text}` } },
|
|
41
|
+
]
|
|
42
|
+
: `@${to.agent} ${event.text}`,
|
|
43
|
+
});
|
|
44
|
+
projected = receipt.status === 'sent';
|
|
45
|
+
if (!projected)
|
|
46
|
+
projectionError = receipt.failure?.code ?? receipt.status;
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
projectionError = error instanceof Error ? error.message : String(error);
|
|
50
|
+
}
|
|
51
|
+
if (projectionError !== undefined) {
|
|
52
|
+
// Never swallow the event: the caller learns the projection failed and subscribers still wake.
|
|
53
|
+
logger?.warn(`room ${room.id} handoff ${event.id} projection failed: ${projectionError}`);
|
|
54
|
+
}
|
|
55
|
+
let accepted = 0;
|
|
56
|
+
const results = await Promise.allSettled([...listeners].map(async (listener) => listener(event)));
|
|
57
|
+
for (const result of results) {
|
|
58
|
+
if (result.status === 'fulfilled')
|
|
59
|
+
accepted++;
|
|
60
|
+
else
|
|
61
|
+
logger?.warn(`room ${room.id} handoff ${event.id} subscriber failed: ${result.reason instanceof Error ? result.reason.message : String(result.reason)}`);
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
delivered: accepted > 0,
|
|
65
|
+
projected,
|
|
66
|
+
...(projectionError !== undefined ? { projectionError } : {}),
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=room-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room-bus.js","sourceRoot":"","sources":["../../src/room/room-bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Room / Member / Role definition types (pure data, no runtime dependencies).
|
|
3
|
+
*
|
|
4
|
+
* A Room binds one IM conversation to a small team of Agents. Each member speaks through its own
|
|
5
|
+
* Bot account. A coordinator is optional; without one, work is matched by Role.
|
|
6
|
+
*/
|
|
7
|
+
/** Room id pattern (key of the rooms record). */
|
|
8
|
+
export declare const ROOM_ID_PATTERN: RegExp;
|
|
9
|
+
/** Role name pattern. */
|
|
10
|
+
export declare const ROOM_ROLE_NAME_PATTERN: RegExp;
|
|
11
|
+
/** Member alias pattern (used for @ matching). */
|
|
12
|
+
export declare const ROOM_ALIAS_PATTERN: RegExp;
|
|
13
|
+
/** Maximum number of members in one Room. */
|
|
14
|
+
export declare const ROOM_MAX_MEMBERS = 16;
|
|
15
|
+
/**
|
|
16
|
+
* Allowed conversation kinds (frozen). Conversation ownership is global per `adapter:kind:id`;
|
|
17
|
+
* the endpoint is NOT part of that key.
|
|
18
|
+
*/
|
|
19
|
+
export declare const ROOM_CONVERSATION_KINDS: readonly ["group", "channel"];
|
|
20
|
+
/** Names that can never be used as room id or role name (prototype pollution guard; frozen). */
|
|
21
|
+
export declare const ROOM_RESERVED_NAMES: readonly string[];
|
|
22
|
+
export type RoomConversationKind = (typeof ROOM_CONVERSATION_KINDS)[number];
|
|
23
|
+
/**
|
|
24
|
+
* Conversation binding. Ownership is keyed by `adapter:kind:id` (endpoint excluded), so two enabled
|
|
25
|
+
* Rooms cannot claim the same group through different Bots. `endpoint` is the Bot the Room uses.
|
|
26
|
+
*/
|
|
27
|
+
export interface RoomConversationBinding {
|
|
28
|
+
adapter: string;
|
|
29
|
+
endpoint: string;
|
|
30
|
+
kind: RoomConversationKind;
|
|
31
|
+
id: string;
|
|
32
|
+
}
|
|
33
|
+
export interface RoomRoleDefinition {
|
|
34
|
+
description?: string;
|
|
35
|
+
/** Instruction prompt for members holding this role. */
|
|
36
|
+
prompt: string;
|
|
37
|
+
/**
|
|
38
|
+
* Upper bound of tools this role may use. When omitted, nothing extra is granted; the existing
|
|
39
|
+
* security policy alone decides.
|
|
40
|
+
*/
|
|
41
|
+
tools?: readonly string[];
|
|
42
|
+
/** Task categories this role accepts. When omitted, any category is accepted. */
|
|
43
|
+
accepts?: readonly string[];
|
|
44
|
+
/**
|
|
45
|
+
* Role names this role may hand off to. When omitted, handoff is NOT allowed
|
|
46
|
+
* (least privilege, fail-closed). Must not reference the role itself.
|
|
47
|
+
*/
|
|
48
|
+
handoffTo?: readonly string[];
|
|
49
|
+
}
|
|
50
|
+
export interface RoomMemberBotEndpoint {
|
|
51
|
+
adapter: string;
|
|
52
|
+
endpoint: string;
|
|
53
|
+
}
|
|
54
|
+
export interface RoomMemberDefinition {
|
|
55
|
+
/** Agent name; one member is exactly one Agent. */
|
|
56
|
+
agent: string;
|
|
57
|
+
/** Key of `roles`. */
|
|
58
|
+
role: string;
|
|
59
|
+
/** Dedicated Bot account this member speaks with; not shared within a Room; adapter must equal the Room conversation adapter. */
|
|
60
|
+
botEndpoint: RoomMemberBotEndpoint;
|
|
61
|
+
/** Optional @ aliases; unique within the Room (case-insensitive, including agent names). Agent names are also unique case-insensitively. */
|
|
62
|
+
aliases?: readonly string[];
|
|
63
|
+
}
|
|
64
|
+
export interface RoomDefinition {
|
|
65
|
+
name: string;
|
|
66
|
+
description?: string;
|
|
67
|
+
/** Defaults to enabled; `false` keeps structural validation but skips cross-room conflicts. */
|
|
68
|
+
enabled?: boolean;
|
|
69
|
+
conversation: RoomConversationBinding;
|
|
70
|
+
roles: Record<string, RoomRoleDefinition>;
|
|
71
|
+
members: readonly RoomMemberDefinition[];
|
|
72
|
+
/** Optional; must be the agent name of a member. */
|
|
73
|
+
coordinator?: string;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=room-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room-definition.d.ts","sourceRoot":"","sources":["../../src/room/room-definition.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iDAAiD;AACjD,eAAO,MAAM,eAAe,QAA+B,CAAC;AAC5D,yBAAyB;AACzB,eAAO,MAAM,sBAAsB,QAA4B,CAAC;AAChE,kDAAkD;AAClD,eAAO,MAAM,kBAAkB,QAA+B,CAAC;AAC/D,6CAA6C;AAC7C,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC;;;GAGG;AACH,eAAO,MAAM,uBAAuB,+BAA+C,CAAC;AACpF,gGAAgG;AAChG,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAA6D,CAAC;AAE/G,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,iFAAiF;IACjF,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,iIAAiI;IACjI,WAAW,EAAE,qBAAqB,CAAC;IACnC,4IAA4I;IAC5I,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+FAA+F;IAC/F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,uBAAuB,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC1C,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzC,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Room / Member / Role definition types (pure data, no runtime dependencies).
|
|
3
|
+
*
|
|
4
|
+
* A Room binds one IM conversation to a small team of Agents. Each member speaks through its own
|
|
5
|
+
* Bot account. A coordinator is optional; without one, work is matched by Role.
|
|
6
|
+
*/
|
|
7
|
+
/** Room id pattern (key of the rooms record). */
|
|
8
|
+
export const ROOM_ID_PATTERN = /^[a-z0-9][a-z0-9_-]{0,63}$/;
|
|
9
|
+
/** Role name pattern. */
|
|
10
|
+
export const ROOM_ROLE_NAME_PATTERN = /^[a-z][a-z0-9_-]{0,31}$/;
|
|
11
|
+
/** Member alias pattern (used for @ matching). */
|
|
12
|
+
export const ROOM_ALIAS_PATTERN = /^[a-z0-9][a-z0-9_-]{0,31}$/;
|
|
13
|
+
/** Maximum number of members in one Room. */
|
|
14
|
+
export const ROOM_MAX_MEMBERS = 16;
|
|
15
|
+
/**
|
|
16
|
+
* Allowed conversation kinds (frozen). Conversation ownership is global per `adapter:kind:id`;
|
|
17
|
+
* the endpoint is NOT part of that key.
|
|
18
|
+
*/
|
|
19
|
+
export const ROOM_CONVERSATION_KINDS = Object.freeze(['group', 'channel']);
|
|
20
|
+
/** Names that can never be used as room id or role name (prototype pollution guard; frozen). */
|
|
21
|
+
export const ROOM_RESERVED_NAMES = Object.freeze(['__proto__', 'constructor', 'prototype']);
|
|
22
|
+
//# sourceMappingURL=room-definition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room-definition.js","sourceRoot":"","sources":["../../src/room/room-definition.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,iDAAiD;AACjD,MAAM,CAAC,MAAM,eAAe,GAAG,4BAA4B,CAAC;AAC5D,yBAAyB;AACzB,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAChE,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAC/D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,SAAS,CAAU,CAAC,CAAC;AACpF,gGAAgG;AAChG,MAAM,CAAC,MAAM,mBAAmB,GAAsB,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-Room ordering / de-duplication of sequenced events (pure, no IO).
|
|
3
|
+
*
|
|
4
|
+
* RoomTaskService dispatches subscribers outside the Room serial section, so events of one Room may arrive
|
|
5
|
+
* interleaved or out of order. `accept` releases events strictly in `sequence` order: a duplicate or stale
|
|
6
|
+
* event is dropped, a future one is buffered until the gap is filled.
|
|
7
|
+
*/
|
|
8
|
+
export interface RoomEventSequencerOptions {
|
|
9
|
+
/** First expected sequence per Room (default 0: journal sequences are contiguous from 0). */
|
|
10
|
+
readonly startAt?: number;
|
|
11
|
+
/** Maximum buffered (out-of-order) events per Room; exceeding it throws RangeError (fail-closed). Default 1024. */
|
|
12
|
+
readonly maxBuffered?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface RoomEventSequencer<T extends {
|
|
15
|
+
roomId: string;
|
|
16
|
+
sequence: number;
|
|
17
|
+
}> {
|
|
18
|
+
/** Events now releasable in order: [] for a duplicate / stale / buffered event. */
|
|
19
|
+
accept(event: T): T[];
|
|
20
|
+
/** Next expected sequence of the Room. */
|
|
21
|
+
watermark(roomId: string): number;
|
|
22
|
+
/** Forgets one Room (or all); buffered events are discarded. */
|
|
23
|
+
reset(roomId?: string): void;
|
|
24
|
+
}
|
|
25
|
+
export declare function createRoomEventSequencer<T extends {
|
|
26
|
+
roomId: string;
|
|
27
|
+
sequence: number;
|
|
28
|
+
}>(options?: RoomEventSequencerOptions): RoomEventSequencer<T>;
|
|
29
|
+
//# sourceMappingURL=room-event-sequencer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room-event-sequencer.d.ts","sourceRoot":"","sources":["../../src/room/room-event-sequencer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,yBAAyB;IACxC,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,mHAAmH;IACnH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE;IAChF,mFAAmF;IACnF,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IACtB,0CAA0C;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,gEAAgE;IAChE,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAOD,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EACrF,OAAO,GAAE,yBAA8B,GACtC,kBAAkB,CAAC,CAAC,CAAC,CA4CvB"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-Room ordering / de-duplication of sequenced events (pure, no IO).
|
|
3
|
+
*
|
|
4
|
+
* RoomTaskService dispatches subscribers outside the Room serial section, so events of one Room may arrive
|
|
5
|
+
* interleaved or out of order. `accept` releases events strictly in `sequence` order: a duplicate or stale
|
|
6
|
+
* event is dropped, a future one is buffered until the gap is filled.
|
|
7
|
+
*/
|
|
8
|
+
export function createRoomEventSequencer(options = {}) {
|
|
9
|
+
const startAt = options.startAt ?? 0;
|
|
10
|
+
const maxBuffered = options.maxBuffered ?? 1024;
|
|
11
|
+
if (!Number.isSafeInteger(startAt) || startAt < 0)
|
|
12
|
+
throw new RangeError('startAt must be a non-negative integer');
|
|
13
|
+
if (!Number.isSafeInteger(maxBuffered) || maxBuffered < 0)
|
|
14
|
+
throw new RangeError('maxBuffered must be a non-negative integer');
|
|
15
|
+
const cursors = new Map();
|
|
16
|
+
const cursorOf = (roomId) => {
|
|
17
|
+
let cursor = cursors.get(roomId);
|
|
18
|
+
if (!cursor) {
|
|
19
|
+
cursor = { next: startAt, buffer: new Map() };
|
|
20
|
+
cursors.set(roomId, cursor);
|
|
21
|
+
}
|
|
22
|
+
return cursor;
|
|
23
|
+
};
|
|
24
|
+
return {
|
|
25
|
+
accept(event) {
|
|
26
|
+
if (!Number.isSafeInteger(event.sequence) || event.sequence < 0) {
|
|
27
|
+
throw new TypeError(`event sequence must be a non-negative integer, got ${String(event.sequence)}`);
|
|
28
|
+
}
|
|
29
|
+
const cursor = cursorOf(event.roomId);
|
|
30
|
+
if (event.sequence < cursor.next || cursor.buffer.has(event.sequence))
|
|
31
|
+
return [];
|
|
32
|
+
if (event.sequence > cursor.next) {
|
|
33
|
+
if (cursor.buffer.size >= maxBuffered) {
|
|
34
|
+
throw new RangeError(`room ${event.roomId} has more than ${maxBuffered} out-of-order events buffered`);
|
|
35
|
+
}
|
|
36
|
+
cursor.buffer.set(event.sequence, event);
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
const released = [event];
|
|
40
|
+
cursor.next += 1;
|
|
41
|
+
for (let held = cursor.buffer.get(cursor.next); held !== undefined; held = cursor.buffer.get(cursor.next)) {
|
|
42
|
+
cursor.buffer.delete(cursor.next);
|
|
43
|
+
released.push(held);
|
|
44
|
+
cursor.next += 1;
|
|
45
|
+
}
|
|
46
|
+
return released;
|
|
47
|
+
},
|
|
48
|
+
watermark: (roomId) => cursors.get(roomId)?.next ?? startAt,
|
|
49
|
+
reset(roomId) {
|
|
50
|
+
if (roomId === undefined)
|
|
51
|
+
cursors.clear();
|
|
52
|
+
else
|
|
53
|
+
cursors.delete(roomId);
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=room-event-sequencer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room-event-sequencer.js","sourceRoot":"","sources":["../../src/room/room-event-sequencer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import type { RoomTaskEvent } from './room-task.js';
|
|
2
|
+
/** Declared structurally; mirrors core's inbound-origin `MessageOrigin` (`self | member | peer_bot | human`). */
|
|
3
|
+
export type GuardOrigin = 'self' | 'member' | 'peer_bot' | 'human';
|
|
4
|
+
export interface GuardActor {
|
|
5
|
+
readonly origin: GuardOrigin;
|
|
6
|
+
readonly accountId?: string;
|
|
7
|
+
}
|
|
8
|
+
export type RoomGuardRejectionCode = 'turn_rate' | 'queue_full' | 'cancelled' | 'forbidden' | 'guard_error';
|
|
9
|
+
export declare class RoomGuardRejectedError extends Error {
|
|
10
|
+
readonly code: RoomGuardRejectionCode;
|
|
11
|
+
readonly retryAfterMs?: number | undefined;
|
|
12
|
+
constructor(code: RoomGuardRejectionCode, message: string, retryAfterMs?: number | undefined);
|
|
13
|
+
}
|
|
14
|
+
export type RoomSensitiveOperation = 'task.cancel' | 'role.change' | 'room.cancel_queue';
|
|
15
|
+
export interface RoomGuardOptions {
|
|
16
|
+
readonly now?: () => number;
|
|
17
|
+
/** Max `handoffCount` of one Task. Default 8. */
|
|
18
|
+
readonly maxHandoffDepth?: number;
|
|
19
|
+
/** Max back-and-forth handoffs of one Task between the same pair of members. Default 3. */
|
|
20
|
+
readonly maxPingPong?: number;
|
|
21
|
+
/** Max admitted turns per Room in a sliding 60 s window. Default 12. */
|
|
22
|
+
readonly maxTurnsPerMinute?: number;
|
|
23
|
+
/** Max turns waiting behind the running one in one Room. Default 8. */
|
|
24
|
+
readonly maxQueuedTurns?: number;
|
|
25
|
+
/** Human accounts allowed to run sensitive operations. Missing or empty denies everything. */
|
|
26
|
+
readonly sensitiveAccounts?: readonly string[];
|
|
27
|
+
readonly logger?: {
|
|
28
|
+
warn(message: string): void;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface RoomHandoffCheckInput {
|
|
32
|
+
readonly roomId: string;
|
|
33
|
+
readonly taskId: string;
|
|
34
|
+
readonly from: string;
|
|
35
|
+
readonly to: string;
|
|
36
|
+
/** `handoffCount` of the RoomTaskView, before this handoff. */
|
|
37
|
+
readonly handoffCount: number;
|
|
38
|
+
/**
|
|
39
|
+
* Room Task journal history. Required: without it the ping-pong limit cannot be checked, so a call that
|
|
40
|
+
* omits it is refused (guard_error + escalateToHuman) instead of silently checking depth only. Pass `[]`
|
|
41
|
+
* for a Task without history.
|
|
42
|
+
*/
|
|
43
|
+
readonly history: readonly RoomTaskEvent[];
|
|
44
|
+
}
|
|
45
|
+
export type RoomHandoffCheck = {
|
|
46
|
+
readonly allowed: true;
|
|
47
|
+
} | {
|
|
48
|
+
readonly allowed: false;
|
|
49
|
+
readonly code: 'handoff_depth' | 'ping_pong' | 'guard_error';
|
|
50
|
+
readonly reason: string;
|
|
51
|
+
/** The caller should stop the chain and ask a human (C1 projects the "@ human" message). */
|
|
52
|
+
readonly escalateToHuman: true;
|
|
53
|
+
};
|
|
54
|
+
export type RoomTurnAdmission = {
|
|
55
|
+
readonly allowed: true;
|
|
56
|
+
} | {
|
|
57
|
+
readonly allowed: false;
|
|
58
|
+
readonly code: 'turn_rate';
|
|
59
|
+
readonly retryAfterMs: number;
|
|
60
|
+
};
|
|
61
|
+
export interface RoomCancelResult {
|
|
62
|
+
/** Any human may interrupt the running turn. */
|
|
63
|
+
readonly cancelledRunning: boolean;
|
|
64
|
+
/** Always 0 unless the actor passes `authorizeSensitive('room.cancel_queue')`. */
|
|
65
|
+
readonly cancelledQueued: number;
|
|
66
|
+
/**
|
|
67
|
+
* True when queued turns existed but the actor lacks `room.cancel_queue`, so the queue was left intact.
|
|
68
|
+
* Omitted otherwise.
|
|
69
|
+
*/
|
|
70
|
+
readonly queueRefused?: boolean;
|
|
71
|
+
}
|
|
72
|
+
export interface RoomGuardStats {
|
|
73
|
+
/** Rooms with a running or queued turn. */
|
|
74
|
+
readonly lanes: number;
|
|
75
|
+
/** Rooms with a rate window entry. */
|
|
76
|
+
readonly rateWindows: number;
|
|
77
|
+
}
|
|
78
|
+
export interface RoomGuards {
|
|
79
|
+
checkHandoff(input: RoomHandoffCheckInput): RoomHandoffCheck;
|
|
80
|
+
/**
|
|
81
|
+
* Runs `work` as the next turn of the Room: admitted by the rate window (this is the only admission path;
|
|
82
|
+
* the window is internal, so one turn consumes exactly one slot), FIFO-serialized per Room
|
|
83
|
+
* (a failed turn does not affect the next one) and abortable via `cancelRoom`.
|
|
84
|
+
*
|
|
85
|
+
* Do NOT re-enter: calling runExclusive for the same Room from inside `work` and awaiting it deadlocks.
|
|
86
|
+
* Schedule follow-up turns after `work` has returned.
|
|
87
|
+
*/
|
|
88
|
+
runExclusive<T>(roomId: string, work: (signal: AbortSignal) => Promise<T>): Promise<T>;
|
|
89
|
+
/**
|
|
90
|
+
* Human interrupt. Any human aborts the RUNNING turn; rejecting and clearing the queued turns additionally
|
|
91
|
+
* requires `authorizeSensitive('room.cancel_queue', actor) === undefined` (a configured sensitive account).
|
|
92
|
+
* Non-humans are refused (throws).
|
|
93
|
+
*/
|
|
94
|
+
cancelRoom(roomId: string, actor: GuardActor): RoomCancelResult;
|
|
95
|
+
/** Returns undefined when allowed, otherwise the refusal reason (RoomTaskServiceOptions.authorize style). */
|
|
96
|
+
authorizeSensitive(op: RoomSensitiveOperation, actor: GuardActor | undefined): string | undefined;
|
|
97
|
+
stats(): RoomGuardStats;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Counts `task.handoff` events of `taskId` between members `a` and `b` in either direction.
|
|
101
|
+
* Pure over the journal history, so the result survives restarts and is reproducible.
|
|
102
|
+
*/
|
|
103
|
+
export declare function countPairHandoffs(events: readonly RoomTaskEvent[], taskId: string, a: string, b: string): number;
|
|
104
|
+
export declare function createRoomGuards(options?: RoomGuardOptions): RoomGuards;
|
|
105
|
+
//# sourceMappingURL=room-guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room-guards.d.ts","sourceRoot":"","sources":["../../src/room/room-guards.ts"],"names":[],"mappings":"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"}
|