@zhin.js/workroom 0.0.4 → 0.0.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/lib/data-governance/canonical-value.d.ts +0 -1
- package/lib/data-governance/canonical-value.js.map +1 -1
- package/lib/data-governance/data-governance.d.ts +0 -1
- package/lib/data-governance/data-governance.js.map +1 -1
- package/lib/data-governance/database-payload-lifecycle-repository.d.ts +0 -1
- package/lib/data-governance/database-payload-lifecycle-repository.js.map +1 -1
- package/lib/data-governance/disclosure-authority.d.ts +0 -1
- package/lib/data-governance/disclosure-authority.js.map +1 -1
- package/lib/data-governance/disclosure-manifest.d.ts +0 -1
- package/lib/data-governance/disclosure-manifest.js.map +1 -1
- package/lib/data-governance/durable-file-store.d.ts +0 -1
- package/lib/data-governance/durable-file-store.js.map +1 -1
- package/lib/data-governance/encrypted-database-payload-vault.d.ts +0 -1
- package/lib/data-governance/encrypted-database-payload-vault.js.map +1 -1
- package/lib/data-governance/encrypted-file-payload-vault.d.ts +0 -1
- package/lib/data-governance/encrypted-file-payload-vault.js.map +1 -1
- package/lib/data-governance/file-payload-lifecycle-repository.d.ts +0 -1
- package/lib/data-governance/file-payload-lifecycle-repository.js.map +1 -1
- package/lib/data-governance/governance-authority-repository.d.ts +0 -1
- package/lib/data-governance/governance-authority-repository.js.map +1 -1
- package/lib/data-governance/governed-payload-write-saga.d.ts +0 -1
- package/lib/data-governance/governed-payload-write-saga.js.map +1 -1
- package/lib/data-governance/payload-hold-overdue-projection.d.ts +0 -1
- package/lib/data-governance/payload-hold-overdue-projection.js.map +1 -1
- package/lib/data-governance/payload-lifecycle.d.ts +0 -1
- package/lib/data-governance/payload-lifecycle.js.map +1 -1
- package/lib/data-governance/payload-vault-storage-handoff.d.ts +0 -1
- package/lib/data-governance/payload-vault-storage-handoff.js.map +1 -1
- package/lib/data-governance.d.ts +0 -1
- package/lib/data-governance.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js.map +1 -1
- package/lib/portfolio/capacity-control-outbox.d.ts +0 -1
- package/lib/portfolio/capacity-control-outbox.js.map +1 -1
- package/lib/portfolio/database-capacity-control-outbox.d.ts +0 -1
- package/lib/portfolio/database-capacity-control-outbox.js.map +1 -1
- package/lib/portfolio/file-capacity-control-outbox.d.ts +0 -1
- package/lib/portfolio/file-capacity-control-outbox.js.map +1 -1
- package/lib/portfolio/file-portfolio-journal.d.ts +0 -1
- package/lib/portfolio/file-portfolio-journal.js.map +1 -1
- package/lib/portfolio/portfolio-admission.d.ts +0 -1
- package/lib/portfolio/portfolio-admission.js.map +1 -1
- package/lib/portfolio/portfolio-journal.d.ts +0 -1
- package/lib/portfolio/portfolio-journal.js.map +1 -1
- package/lib/portfolio/resource-bundle.d.ts +0 -1
- package/lib/portfolio/resource-bundle.js.map +1 -1
- package/lib/portfolio/sponsor-projection.d.ts +0 -1
- package/lib/portfolio/sponsor-projection.js.map +1 -1
- package/lib/portfolio.d.ts +0 -1
- package/lib/portfolio.js.map +1 -1
- package/lib/remote.d.ts +0 -1
- package/lib/remote.js.map +1 -1
- package/lib/room/database-room-task-journal.d.ts +0 -1
- package/lib/room/database-room-task-journal.js.map +1 -1
- package/lib/room/index.d.ts +0 -1
- package/lib/room/index.js.map +1 -1
- package/lib/room/room-bus.d.ts +0 -1
- package/lib/room/room-bus.js.map +1 -1
- package/lib/room/room-definition.d.ts +0 -1
- package/lib/room/room-definition.js.map +1 -1
- package/lib/room/room-event-sequencer.d.ts +0 -1
- package/lib/room/room-event-sequencer.js.map +1 -1
- package/lib/room/room-guards.d.ts +0 -1
- package/lib/room/room-guards.js.map +1 -1
- package/lib/room/room-membership.d.ts +0 -1
- package/lib/room/room-membership.js.map +1 -1
- package/lib/room/room-registry.d.ts +0 -1
- package/lib/room/room-registry.js.map +1 -1
- package/lib/room/room-router.d.ts +0 -1
- package/lib/room/room-router.js.map +1 -1
- package/lib/room/room-send-limiter.d.ts +0 -1
- package/lib/room/room-send-limiter.js.map +1 -1
- package/lib/room/room-task-authorizer.d.ts +0 -1
- package/lib/room/room-task-authorizer.js.map +1 -1
- package/lib/room/room-task-journal.d.ts +0 -1
- package/lib/room/room-task-journal.js.map +1 -1
- package/lib/room/room-task-service.d.ts +0 -1
- package/lib/room/room-task-service.js.map +1 -1
- package/lib/room/room-task.d.ts +0 -1
- package/lib/room/room-task.js.map +1 -1
- package/lib/room/validate-room.d.ts +0 -1
- package/lib/room/validate-room.js.map +1 -1
- package/lib/scheduler.d.ts +0 -1
- package/lib/scheduler.js.map +1 -1
- package/lib/workroom/acceptance-control.d.ts +0 -1
- package/lib/workroom/acceptance-control.js.map +1 -1
- package/lib/workroom/acceptance-policy.d.ts +0 -1
- package/lib/workroom/acceptance-policy.js.map +1 -1
- package/lib/workroom/accepted-source-memory-application.d.ts +0 -1
- package/lib/workroom/accepted-source-memory-application.js.map +1 -1
- package/lib/workroom/accepted-source-projector.d.ts +0 -1
- package/lib/workroom/accepted-source-projector.js.map +1 -1
- package/lib/workroom/assignment-authority-grant-application.d.ts +0 -1
- package/lib/workroom/assignment-authority-grant-application.js.map +1 -1
- package/lib/workroom/assignment-authority-grant-repository.d.ts +0 -1
- package/lib/workroom/assignment-authority-grant-repository.js.map +1 -1
- package/lib/workroom/assignment-authority.d.ts +0 -1
- package/lib/workroom/assignment-authority.js.map +1 -1
- package/lib/workroom/assignment-executor.d.ts +0 -1
- package/lib/workroom/assignment-executor.js.map +1 -1
- package/lib/workroom/assignment-observation-ingress.d.ts +0 -1
- package/lib/workroom/assignment-observation-ingress.js.map +1 -1
- package/lib/workroom/canonical-value.d.ts +0 -1
- package/lib/workroom/canonical-value.js.map +1 -1
- package/lib/workroom/catalog-definition.d.ts +0 -1
- package/lib/workroom/catalog-definition.js.map +1 -1
- package/lib/workroom/catalog.d.ts +0 -1
- package/lib/workroom/catalog.js.map +1 -1
- package/lib/workroom/coding-assignment-executor.d.ts +0 -1
- package/lib/workroom/coding-assignment-executor.js.map +1 -1
- package/lib/workroom/coding-git-objects.d.ts +0 -1
- package/lib/workroom/coding-git-objects.js.map +1 -1
- package/lib/workroom/database-project-knowledge-journal.d.ts +0 -1
- package/lib/workroom/database-project-knowledge-journal.js.map +1 -1
- package/lib/workroom/durable-file-store.d.ts +0 -1
- package/lib/workroom/durable-file-store.js.map +1 -1
- package/lib/workroom/dynamic-workflow-planner.d.ts +0 -1
- package/lib/workroom/dynamic-workflow-planner.js.map +1 -1
- package/lib/workroom/effect-blocker-repository.d.ts +0 -1
- package/lib/workroom/effect-blocker-repository.js.map +1 -1
- package/lib/workroom/effect-ledger.d.ts +0 -1
- package/lib/workroom/effect-ledger.js.map +1 -1
- package/lib/workroom/file-accepted-source-memory-repository.d.ts +0 -1
- package/lib/workroom/file-accepted-source-memory-repository.js.map +1 -1
- package/lib/workroom/file-coding-execution-store.d.ts +0 -1
- package/lib/workroom/file-coding-execution-store.js.map +1 -1
- package/lib/workroom/file-effect-ledger.d.ts +0 -1
- package/lib/workroom/file-effect-ledger.js.map +1 -1
- package/lib/workroom/file-human-ingress-application.d.ts +0 -1
- package/lib/workroom/file-human-ingress-application.js.map +1 -1
- package/lib/workroom/file-human-ingress.d.ts +0 -1
- package/lib/workroom/file-human-ingress.js.map +1 -1
- package/lib/workroom/file-interaction-space-binding-repository.d.ts +0 -1
- package/lib/workroom/file-interaction-space-binding-repository.js.map +1 -1
- package/lib/workroom/file-profile-journal.d.ts +0 -1
- package/lib/workroom/file-profile-journal.js.map +1 -1
- package/lib/workroom/git-workspace-gateway.d.ts +0 -1
- package/lib/workroom/git-workspace-gateway.js.map +1 -1
- package/lib/workroom/github-workspace-transport.d.ts +0 -1
- package/lib/workroom/github-workspace-transport.js.map +1 -1
- package/lib/workroom/governed-dispatch-reasons.d.ts +0 -1
- package/lib/workroom/governed-dispatch-reasons.js.map +1 -1
- package/lib/workroom/human-ingress-application.d.ts +0 -1
- package/lib/workroom/human-ingress-application.js.map +1 -1
- package/lib/workroom/human-ingress-orchestrator.d.ts +0 -1
- package/lib/workroom/human-ingress-orchestrator.js.map +1 -1
- package/lib/workroom/human-ingress-source-reader.d.ts +0 -1
- package/lib/workroom/human-ingress-source-reader.js.map +1 -1
- package/lib/workroom/human-ingress.d.ts +0 -1
- package/lib/workroom/human-ingress.js.map +1 -1
- package/lib/workroom/interaction-space-binding-service.d.ts +0 -1
- package/lib/workroom/interaction-space-binding-service.js.map +1 -1
- package/lib/workroom/interaction-space-router.d.ts +0 -1
- package/lib/workroom/interaction-space-router.js.map +1 -1
- package/lib/workroom/journal/activatable-journal.d.ts +0 -1
- package/lib/workroom/journal/activatable-journal.js.map +1 -1
- package/lib/workroom/journal/contracts.d.ts +0 -1
- package/lib/workroom/journal/contracts.js.map +1 -1
- package/lib/workroom/journal/database-journal.d.ts +0 -1
- package/lib/workroom/journal/database-journal.js.map +1 -1
- package/lib/workroom/journal/event-codec.d.ts +0 -1
- package/lib/workroom/journal/event-codec.js.map +1 -1
- package/lib/workroom/journal/event-validation.d.ts +0 -1
- package/lib/workroom/journal/event-validation.js.map +1 -1
- package/lib/workroom/journal/file-journal.d.ts +0 -1
- package/lib/workroom/journal/file-journal.js.map +1 -1
- package/lib/workroom/journal/index.d.ts +0 -1
- package/lib/workroom/journal/index.js.map +1 -1
- package/lib/workroom/journal/legacy-payload-guard.d.ts +0 -1
- package/lib/workroom/journal/legacy-payload-guard.js.map +1 -1
- package/lib/workroom/journal/memory-journal.d.ts +0 -1
- package/lib/workroom/journal/memory-journal.js.map +1 -1
- package/lib/workroom/journal/payload-governance.d.ts +0 -1
- package/lib/workroom/journal/payload-governance.js.map +1 -1
- package/lib/workroom/journal/payload-reference.d.ts +0 -1
- package/lib/workroom/journal/payload-reference.js.map +1 -1
- package/lib/workroom/journal/stored-event-projection.d.ts +0 -1
- package/lib/workroom/journal/stored-event-projection.js.map +1 -1
- package/lib/workroom/journal-model.d.ts +0 -1
- package/lib/workroom/journal-model.js.map +1 -1
- package/lib/workroom/kernel-contracts.d.ts +0 -1
- package/lib/workroom/kernel-contracts.js.map +1 -1
- package/lib/workroom/kernel-state.d.ts +0 -1
- package/lib/workroom/kernel-state.js.map +1 -1
- package/lib/workroom/local-assignment-issuance.d.ts +0 -1
- package/lib/workroom/local-assignment-issuance.js.map +1 -1
- package/lib/workroom/plan-approval-control.d.ts +0 -1
- package/lib/workroom/plan-approval-control.js.map +1 -1
- package/lib/workroom/plan-revision.d.ts +0 -1
- package/lib/workroom/plan-revision.js.map +1 -1
- package/lib/workroom/profile-compiler.d.ts +0 -1
- package/lib/workroom/profile-compiler.js.map +1 -1
- package/lib/workroom/profile-registry.d.ts +0 -1
- package/lib/workroom/profile-registry.js.map +1 -1
- package/lib/workroom/project-knowledge-registry.d.ts +0 -1
- package/lib/workroom/project-knowledge-registry.js.map +1 -1
- package/lib/workroom/projection-outbox/contracts.d.ts +0 -1
- package/lib/workroom/projection-outbox/contracts.js.map +1 -1
- package/lib/workroom/projection-outbox/delivery-worker.d.ts +0 -1
- package/lib/workroom/projection-outbox/delivery-worker.js.map +1 -1
- package/lib/workroom/projection-outbox/file-repository.d.ts +0 -1
- package/lib/workroom/projection-outbox/file-repository.js.map +1 -1
- package/lib/workroom/projection-outbox/index.d.ts +0 -1
- package/lib/workroom/projection-outbox/index.js.map +1 -1
- package/lib/workroom/projection-outbox/memory-repository.d.ts +0 -1
- package/lib/workroom/projection-outbox/memory-repository.js.map +1 -1
- package/lib/workroom/projection-outbox/projector.d.ts +0 -1
- package/lib/workroom/projection-outbox/projector.js.map +1 -1
- package/lib/workroom/projection-outbox/repository-state.d.ts +0 -1
- package/lib/workroom/projection-outbox/repository-state.js.map +1 -1
- package/lib/workroom/projection-outbox/tracer.d.ts +0 -1
- package/lib/workroom/projection-outbox/tracer.js.map +1 -1
- package/lib/workroom/remote-assignment-dispatch-command.d.ts +0 -1
- package/lib/workroom/remote-assignment-dispatch-command.js.map +1 -1
- package/lib/workroom/remote-assignment-issuance.d.ts +0 -1
- package/lib/workroom/remote-assignment-issuance.js.map +1 -1
- package/lib/workroom/remote-callback-application.d.ts +0 -1
- package/lib/workroom/remote-callback-application.js.map +1 -1
- package/lib/workroom/remote-callback-gateway.d.ts +0 -1
- package/lib/workroom/remote-callback-gateway.js.map +1 -1
- package/lib/workroom/remote-callback-inbox.d.ts +0 -1
- package/lib/workroom/remote-callback-inbox.js.map +1 -1
- package/lib/workroom/remote-callback-reconciliation-worker.d.ts +0 -1
- package/lib/workroom/remote-callback-reconciliation-worker.js.map +1 -1
- package/lib/workroom/remote-dispatch-admission.d.ts +0 -1
- package/lib/workroom/remote-dispatch-admission.js.map +1 -1
- package/lib/workroom/remote-dispatch-outbox.d.ts +0 -1
- package/lib/workroom/remote-dispatch-outbox.js.map +1 -1
- package/lib/workroom/remote-dispatch-scheduler.d.ts +0 -1
- package/lib/workroom/remote-dispatch-scheduler.js.map +1 -1
- package/lib/workroom/remote-dispatch-worker.d.ts +0 -1
- package/lib/workroom/remote-dispatch-worker.js.map +1 -1
- package/lib/workroom/remote-dispatch.d.ts +0 -1
- package/lib/workroom/remote-dispatch.js.map +1 -1
- package/lib/workroom/remote-executor.d.ts +0 -1
- package/lib/workroom/remote-executor.js.map +1 -1
- package/lib/workroom/role-capability-snapshot.d.ts +0 -1
- package/lib/workroom/role-capability-snapshot.js.map +1 -1
- package/lib/workroom/runtime.d.ts +0 -1
- package/lib/workroom/runtime.js.map +1 -1
- package/lib/workroom/scheduler-priority-control.d.ts +0 -1
- package/lib/workroom/scheduler-priority-control.js.map +1 -1
- package/lib/workroom/software-delivery-plan.d.ts +0 -1
- package/lib/workroom/software-delivery-plan.js.map +1 -1
- package/lib/workroom/validate-catalog.d.ts +0 -1
- package/lib/workroom/validate-catalog.js.map +1 -1
- package/lib/workroom/workflow-plan-builder.d.ts +0 -1
- package/lib/workroom/workflow-plan-builder.js.map +1 -1
- package/lib/workroom/workroom-assignment-knowledge-context.d.ts +0 -1
- package/lib/workroom/workroom-assignment-knowledge-context.js.map +1 -1
- package/lib/workroom/workroom-kernel.d.ts +0 -1
- package/lib/workroom/workroom-kernel.js.map +1 -1
- package/lib/workroom/workroom-preemption.d.ts +0 -1
- package/lib/workroom/workroom-preemption.js.map +1 -1
- package/lib/workroom/workroom-run-control.d.ts +0 -1
- package/lib/workroom/workroom-run-control.js.map +1 -1
- package/lib/workroom/workroom-scheduler-application.d.ts +0 -1
- package/lib/workroom/workroom-scheduler-application.js.map +1 -1
- package/lib/workroom/workroom-scheduler.d.ts +0 -1
- package/lib/workroom/workroom-scheduler.js.map +1 -1
- package/lib/workroom/workroom-task-report-store.d.ts +0 -1
- package/lib/workroom/workroom-task-report-store.js.map +1 -1
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts +0 -1
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.js.map +1 -1
- package/lib/workroom-runtime/github-actions-delivery-provider.d.ts +0 -1
- package/lib/workroom-runtime/github-actions-delivery-provider.js.map +1 -1
- package/lib/workroom-runtime/github-exact-merge-gateway.d.ts +0 -1
- package/lib/workroom-runtime/github-exact-merge-gateway.js.map +1 -1
- package/lib/workroom-runtime/github-workroom-capability.d.ts +0 -1
- package/lib/workroom-runtime/github-workroom-capability.js.map +1 -1
- package/lib/workroom-runtime/self-delivery-project-composition.d.ts +0 -1
- package/lib/workroom-runtime/self-delivery-project-composition.js.map +1 -1
- package/lib/workroom-runtime/self-delivery-project.d.ts +0 -1
- package/lib/workroom-runtime/self-delivery-project.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-policy.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-policy.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-production-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-accepted-source-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-provider.js.map +1 -1
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-bot-identity.d.ts +0 -1
- package/lib/workroom-runtime/workroom-bot-identity.js.map +1 -1
- package/lib/workroom-runtime/workroom-capability-realization.d.ts +0 -1
- package/lib/workroom-runtime/workroom-capability-realization.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-root-provider.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-governance-storage.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-governance-storage.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-console.js.map +1 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.js.map +1 -1
- package/lib/workroom-runtime/workroom-database-models.d.ts +0 -1
- package/lib/workroom-runtime/workroom-database-models.js.map +1 -1
- package/lib/workroom-runtime/workroom-database-storage.d.ts +0 -1
- package/lib/workroom-runtime/workroom-database-storage.js.map +1 -1
- package/lib/workroom-runtime/workroom-delivery-gateway.d.ts +0 -1
- package/lib/workroom-runtime/workroom-delivery-gateway.js.map +1 -1
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.js.map +1 -1
- package/lib/workroom-runtime/workroom-dynamic-planning.d.ts +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning.js.map +1 -1
- package/lib/workroom-runtime/workroom-effect-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-effect-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-effect-production.d.ts +0 -1
- package/lib/workroom-runtime/workroom-effect-production.js.map +1 -1
- package/lib/workroom-runtime/workroom-effect-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-effect-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-host-port.d.ts +0 -1
- package/lib/workroom-runtime/workroom-host-port.js.map +1 -1
- package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-journal-payload-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-agent-loop.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-agent-loop.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-executor.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-supply.js.map +1 -1
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts +0 -1
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.js.map +1 -1
- package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts +0 -1
- package/lib/workroom-runtime/workroom-payload-processor-recall.js.map +1 -1
- package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-plan-gate-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-capacity.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts +0 -1
- package/lib/workroom-runtime/workroom-portfolio-sponsor.js.map +1 -1
- package/lib/workroom-runtime/workroom-preemption-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-preemption-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-priority-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-priority-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-projection-outbound.d.ts +0 -1
- package/lib/workroom-runtime/workroom-projection-outbound.js.map +1 -1
- package/lib/workroom-runtime/workroom-projection-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-projection-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-remote-assignment-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-remote-callback-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-remote-executor.d.ts +0 -1
- package/lib/workroom-runtime/workroom-remote-executor.js.map +1 -1
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.js.map +1 -1
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-route-registry.js.map +1 -1
- package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts +0 -1
- package/lib/workroom-runtime/workroom-scheduler-runtime.js.map +1 -1
- package/package.json +8 -8
- package/lib/data-governance/canonical-value.d.ts.map +0 -1
- package/lib/data-governance/data-governance.d.ts.map +0 -1
- package/lib/data-governance/database-payload-lifecycle-repository.d.ts.map +0 -1
- package/lib/data-governance/disclosure-authority.d.ts.map +0 -1
- package/lib/data-governance/disclosure-manifest.d.ts.map +0 -1
- package/lib/data-governance/durable-file-store.d.ts.map +0 -1
- package/lib/data-governance/encrypted-database-payload-vault.d.ts.map +0 -1
- package/lib/data-governance/encrypted-file-payload-vault.d.ts.map +0 -1
- package/lib/data-governance/file-payload-lifecycle-repository.d.ts.map +0 -1
- package/lib/data-governance/governance-authority-repository.d.ts.map +0 -1
- package/lib/data-governance/governed-payload-write-saga.d.ts.map +0 -1
- package/lib/data-governance/payload-hold-overdue-projection.d.ts.map +0 -1
- package/lib/data-governance/payload-lifecycle.d.ts.map +0 -1
- package/lib/data-governance/payload-vault-storage-handoff.d.ts.map +0 -1
- package/lib/data-governance.d.ts.map +0 -1
- package/lib/index.d.ts.map +0 -1
- package/lib/portfolio/capacity-control-outbox.d.ts.map +0 -1
- package/lib/portfolio/database-capacity-control-outbox.d.ts.map +0 -1
- package/lib/portfolio/file-capacity-control-outbox.d.ts.map +0 -1
- package/lib/portfolio/file-portfolio-journal.d.ts.map +0 -1
- package/lib/portfolio/portfolio-admission.d.ts.map +0 -1
- package/lib/portfolio/portfolio-journal.d.ts.map +0 -1
- package/lib/portfolio/resource-bundle.d.ts.map +0 -1
- package/lib/portfolio/sponsor-projection.d.ts.map +0 -1
- package/lib/portfolio.d.ts.map +0 -1
- package/lib/remote.d.ts.map +0 -1
- package/lib/room/database-room-task-journal.d.ts.map +0 -1
- package/lib/room/index.d.ts.map +0 -1
- package/lib/room/room-bus.d.ts.map +0 -1
- package/lib/room/room-definition.d.ts.map +0 -1
- package/lib/room/room-event-sequencer.d.ts.map +0 -1
- package/lib/room/room-guards.d.ts.map +0 -1
- package/lib/room/room-membership.d.ts.map +0 -1
- package/lib/room/room-registry.d.ts.map +0 -1
- package/lib/room/room-router.d.ts.map +0 -1
- package/lib/room/room-send-limiter.d.ts.map +0 -1
- package/lib/room/room-task-authorizer.d.ts.map +0 -1
- package/lib/room/room-task-journal.d.ts.map +0 -1
- package/lib/room/room-task-service.d.ts.map +0 -1
- package/lib/room/room-task.d.ts.map +0 -1
- package/lib/room/validate-room.d.ts.map +0 -1
- package/lib/scheduler.d.ts.map +0 -1
- package/lib/workroom/acceptance-control.d.ts.map +0 -1
- package/lib/workroom/acceptance-policy.d.ts.map +0 -1
- package/lib/workroom/accepted-source-memory-application.d.ts.map +0 -1
- package/lib/workroom/accepted-source-projector.d.ts.map +0 -1
- package/lib/workroom/assignment-authority-grant-application.d.ts.map +0 -1
- package/lib/workroom/assignment-authority-grant-repository.d.ts.map +0 -1
- package/lib/workroom/assignment-authority.d.ts.map +0 -1
- package/lib/workroom/assignment-executor.d.ts.map +0 -1
- package/lib/workroom/assignment-observation-ingress.d.ts.map +0 -1
- package/lib/workroom/canonical-value.d.ts.map +0 -1
- package/lib/workroom/catalog-definition.d.ts.map +0 -1
- package/lib/workroom/catalog.d.ts.map +0 -1
- package/lib/workroom/coding-assignment-executor.d.ts.map +0 -1
- package/lib/workroom/coding-git-objects.d.ts.map +0 -1
- package/lib/workroom/database-project-knowledge-journal.d.ts.map +0 -1
- package/lib/workroom/durable-file-store.d.ts.map +0 -1
- package/lib/workroom/dynamic-workflow-planner.d.ts.map +0 -1
- package/lib/workroom/effect-blocker-repository.d.ts.map +0 -1
- package/lib/workroom/effect-ledger.d.ts.map +0 -1
- package/lib/workroom/file-accepted-source-memory-repository.d.ts.map +0 -1
- package/lib/workroom/file-coding-execution-store.d.ts.map +0 -1
- package/lib/workroom/file-effect-ledger.d.ts.map +0 -1
- package/lib/workroom/file-human-ingress-application.d.ts.map +0 -1
- package/lib/workroom/file-human-ingress.d.ts.map +0 -1
- package/lib/workroom/file-interaction-space-binding-repository.d.ts.map +0 -1
- package/lib/workroom/file-profile-journal.d.ts.map +0 -1
- package/lib/workroom/git-workspace-gateway.d.ts.map +0 -1
- package/lib/workroom/github-workspace-transport.d.ts.map +0 -1
- package/lib/workroom/governed-dispatch-reasons.d.ts.map +0 -1
- package/lib/workroom/human-ingress-application.d.ts.map +0 -1
- package/lib/workroom/human-ingress-orchestrator.d.ts.map +0 -1
- package/lib/workroom/human-ingress-source-reader.d.ts.map +0 -1
- package/lib/workroom/human-ingress.d.ts.map +0 -1
- package/lib/workroom/interaction-space-binding-service.d.ts.map +0 -1
- package/lib/workroom/interaction-space-router.d.ts.map +0 -1
- package/lib/workroom/journal/activatable-journal.d.ts.map +0 -1
- package/lib/workroom/journal/contracts.d.ts.map +0 -1
- package/lib/workroom/journal/database-journal.d.ts.map +0 -1
- package/lib/workroom/journal/event-codec.d.ts.map +0 -1
- package/lib/workroom/journal/event-validation.d.ts.map +0 -1
- package/lib/workroom/journal/file-journal.d.ts.map +0 -1
- package/lib/workroom/journal/index.d.ts.map +0 -1
- package/lib/workroom/journal/legacy-payload-guard.d.ts.map +0 -1
- package/lib/workroom/journal/memory-journal.d.ts.map +0 -1
- package/lib/workroom/journal/payload-governance.d.ts.map +0 -1
- package/lib/workroom/journal/payload-reference.d.ts.map +0 -1
- package/lib/workroom/journal/stored-event-projection.d.ts.map +0 -1
- package/lib/workroom/journal-model.d.ts.map +0 -1
- package/lib/workroom/kernel-contracts.d.ts.map +0 -1
- package/lib/workroom/kernel-state.d.ts.map +0 -1
- package/lib/workroom/local-assignment-issuance.d.ts.map +0 -1
- package/lib/workroom/plan-approval-control.d.ts.map +0 -1
- package/lib/workroom/plan-revision.d.ts.map +0 -1
- package/lib/workroom/profile-compiler.d.ts.map +0 -1
- package/lib/workroom/profile-registry.d.ts.map +0 -1
- package/lib/workroom/project-knowledge-registry.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/contracts.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/delivery-worker.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/file-repository.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/index.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/memory-repository.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/projector.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/repository-state.d.ts.map +0 -1
- package/lib/workroom/projection-outbox/tracer.d.ts.map +0 -1
- package/lib/workroom/remote-assignment-dispatch-command.d.ts.map +0 -1
- package/lib/workroom/remote-assignment-issuance.d.ts.map +0 -1
- package/lib/workroom/remote-callback-application.d.ts.map +0 -1
- package/lib/workroom/remote-callback-gateway.d.ts.map +0 -1
- package/lib/workroom/remote-callback-inbox.d.ts.map +0 -1
- package/lib/workroom/remote-callback-reconciliation-worker.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-admission.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-outbox.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-scheduler.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch-worker.d.ts.map +0 -1
- package/lib/workroom/remote-dispatch.d.ts.map +0 -1
- package/lib/workroom/remote-executor.d.ts.map +0 -1
- package/lib/workroom/role-capability-snapshot.d.ts.map +0 -1
- package/lib/workroom/runtime.d.ts.map +0 -1
- package/lib/workroom/scheduler-priority-control.d.ts.map +0 -1
- package/lib/workroom/software-delivery-plan.d.ts.map +0 -1
- package/lib/workroom/validate-catalog.d.ts.map +0 -1
- package/lib/workroom/workflow-plan-builder.d.ts.map +0 -1
- package/lib/workroom/workroom-assignment-knowledge-context.d.ts.map +0 -1
- package/lib/workroom/workroom-kernel.d.ts.map +0 -1
- package/lib/workroom/workroom-preemption.d.ts.map +0 -1
- package/lib/workroom/workroom-run-control.d.ts.map +0 -1
- package/lib/workroom/workroom-scheduler-application.d.ts.map +0 -1
- package/lib/workroom/workroom-scheduler.d.ts.map +0 -1
- package/lib/workroom/workroom-task-report-store.d.ts.map +0 -1
- package/lib/workroom-runtime/database-overlay-pack-promotion-repository.d.ts.map +0 -1
- package/lib/workroom-runtime/github-actions-delivery-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/github-exact-merge-gateway.d.ts.map +0 -1
- package/lib/workroom-runtime/github-workroom-capability.d.ts.map +0 -1
- package/lib/workroom-runtime/self-delivery-project-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/self-delivery-project.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-fact-providers.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-internal-providers.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-policy.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-production-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-acceptance-provider-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-accepted-source-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-grant-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-assignment-authority-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-assignment-knowledge-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-bot-identity.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-capability-realization.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-authority-writer.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-bootstrap.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-root-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-governance-storage.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-console.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-data-lifecycle-human-ingress.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-database-models.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-database-storage.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-delivery-gateway.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning-provider.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-dynamic-planning.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-effect-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-effect-production.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-effect-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-governed-dispatch-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-host-port.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-journal-payload-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-agent-core-adapter.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-agent-loop.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-executor.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-local-assignment-supply.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-overlay-pack-promotion.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-payload-processor-recall.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-plan-gate-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-capacity.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-checkpoint-ack.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-control-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-grant-assignment.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-kernel-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-portfolio-sponsor.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-preemption-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-priority-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-profile-authority-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-projection-outbound.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-projection-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-remote-assignment-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-remote-callback-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-remote-executor.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-reviewer-authority-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-risk-acceptance-runtime.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-run-profile-pin-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-composition.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-contract.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-request-authority.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-portfolio-supply.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-route-registry.d.ts.map +0 -1
- package/lib/workroom-runtime/workroom-scheduler-runtime.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio-journal.js","sourceRoot":"","sources":["../../src/portfolio/portfolio-journal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"portfolio-journal.js","sourceRoot":"","sources":["../../src/portfolio/portfolio-journal.ts"],"names":[],"mappings":"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","sourcesContent":["import { compareCanonicalWorkroomText, digestCanonicalWorkroomValue as digest } from '../workroom/canonical-value.js';\n\nexport type PortfolioGrantPreemptibility = 'checkpointable' | 'atomic';\n\nexport interface PortfolioWorkRef {\n readonly runId: string;\n readonly profileRevisionId: string;\n readonly profileDigest: string;\n}\n\nexport interface PortfolioResourceDemand {\n readonly poolId: string;\n readonly capacityUnits: number;\n readonly rateUnits: number;\n readonly budgetUnits: number;\n}\n\nexport interface PortfolioResourceBundle {\n readonly demands: readonly PortfolioResourceDemand[];\n}\n\n/** Content-free resource request published by one Project-local Scheduler. */\nexport interface PortfolioCapacityRequest {\n readonly requestId: string;\n readonly projectId: string;\n readonly workRef: PortfolioWorkRef;\n readonly schedulerRevision: string;\n readonly schedulerSequence: number;\n readonly localOrder: number;\n readonly projectPolicyRevision: number;\n readonly opaqueHeadId: string;\n readonly payloadDigest: string;\n readonly resourceBundle: PortfolioResourceBundle;\n readonly preemptibility: PortfolioGrantPreemptibility;\n readonly deadlineAt?: number;\n readonly starvationAt: number;\n}\n\nexport type PortfolioLane = 'urgent' | 'high' | 'normal' | 'low';\nexport type PortfolioProjectStatus = 'active' | 'paused' | 'reclaim_checkpointable';\n\nexport interface PortfolioResourcePoolPolicy {\n readonly poolId: string;\n readonly capacityUnits: number;\n readonly rateUnitsPerWindow: number;\n readonly rateWindowTicks: number;\n readonly priceMicrosPerBudgetUnit: number;\n}\n\nexport interface PortfolioProjectPolicy {\n readonly projectId: string;\n readonly revision: number;\n readonly lane: PortfolioLane;\n readonly weight: number;\n readonly hardBudgetMicros: number;\n readonly allowedPools: readonly string[];\n readonly maxOutstandingRequests: number;\n readonly maxConcurrentGrants: number;\n readonly burstLimit: number;\n readonly starvationTicks: number;\n readonly status: PortfolioProjectStatus;\n}\n\nexport interface PortfolioPolicySnapshot {\n readonly revision: number;\n readonly digest: string;\n readonly globalBudgetMicros: number;\n readonly offerTtlTicks: number;\n readonly leaseTtlTicks: number;\n readonly leaseHeartbeatTicks: number;\n readonly maxLeaseQuantumTicks: number;\n readonly maxLeaseRenewals: number;\n readonly reclaimTtlTicks: number;\n readonly pools: Readonly<Record<string, PortfolioResourcePoolPolicy>>;\n readonly projects: Readonly<Record<string, PortfolioProjectPolicy>>;\n}\n\nexport interface PortfolioPriorityOverride {\n readonly overrideId: string;\n readonly requestId: string;\n readonly projectId: string;\n readonly lane: PortfolioLane;\n readonly policyRevision: number;\n readonly requestPayloadDigest: string;\n readonly expiresAt: number;\n}\n\nexport interface PortfolioGovernanceProof {\n readonly principalId: string;\n readonly authorizedBy: string;\n readonly reasonDigest: string;\n readonly targetDigest: string;\n readonly expectedRevision: number;\n}\n\nexport interface PortfolioValidatedBundleAuthority {\n readonly requestDigest: string;\n readonly resourceBundleDigest: string;\n readonly catalogGenerationId: string;\n readonly catalogRevision: number;\n readonly catalogDigest: string;\n readonly profileRevisionId: string;\n readonly profileDigest: string;\n readonly profileCeilingDigest: string;\n readonly validatedBundleDigest: string;\n readonly reservedCostMicros: number;\n}\n\n/** Exact command proof issued by the owning Workroom Kernel. */\nexport interface PortfolioKernelCommandAuthority {\n readonly portfolioId: string;\n readonly action: 'consume' | 'assignment_failed' | 'reclaim_acknowledge' | 'renew';\n readonly projectId: string;\n readonly requestId: string;\n readonly grantId: string;\n readonly fence: number;\n readonly assignmentRef: string;\n readonly reclaimId?: string;\n readonly outcome?: 'checkpointed' | 'declined';\n readonly checkpointRef?: string;\n readonly checkpointDigest?: string;\n readonly heartbeatSequence?: number;\n readonly clockSequence?: number;\n readonly clockDigest?: string;\n readonly policyDigest?: string;\n readonly usageSettlementCursor?: number;\n readonly failureReason?: PortfolioGrantAssignmentFailureReason;\n readonly kernelSequence?: number;\n readonly kernelFactDigest?: string;\n readonly commandDigest: string;\n readonly authorizedBy: string;\n}\n\nexport type PortfolioGrantAssignmentFailureReason =\n | 'task_stale'\n | 'task_terminal'\n | 'run_terminal';\n\n/** Exact receipt proof issued by the configured Usage Gateway. */\nexport interface PortfolioUsageGatewayAuthority {\n readonly portfolioId: string;\n readonly receiptId: string;\n readonly requestId: string;\n readonly grantId: string;\n readonly fence: number;\n readonly actualCostMicros: number;\n readonly settlementRef: string;\n readonly receiptDigest: string;\n readonly authenticatedBy: string;\n}\n\n/** Monotonic time proof issued by the Portfolio Kernel clock. */\nexport interface PortfolioClockAuthority {\n readonly portfolioId: string;\n readonly now: number;\n readonly clockDigest: string;\n readonly authorizedBy: string;\n}\n\nexport type PortfolioCapacityGrantStatus =\n | 'offered' | 'consumed' | 'reclaim_requested' | 'usage_pending'\n | 'usage_unknown' | 'settled' | 'expired' | 'assignment_failed';\n\nexport interface PortfolioCapacityGrant {\n readonly grantId: string;\n readonly requestId: string;\n readonly projectId: string;\n readonly fence: number;\n readonly resourceBundle: PortfolioResourceBundle;\n readonly requestDigest: string;\n readonly resourceBundleDigest: string;\n readonly catalogGenerationId: string;\n readonly catalogRevision: number;\n readonly catalogDigest: string;\n readonly profileRevisionId: string;\n readonly profileDigest: string;\n readonly profileCeilingDigest: string;\n readonly validatedBundleDigest: string;\n readonly reservedCostMicros: number;\n readonly portfolioPolicyRevision: number;\n readonly portfolioPolicyDigest: string;\n readonly projectPolicyRevision: number;\n readonly lane: PortfolioLane;\n readonly issuedAt: number;\n readonly issuedSequence: number;\n readonly offerExpiresAt: number;\n readonly status: PortfolioCapacityGrantStatus;\n readonly consumedAt?: number;\n readonly leaseExpiresAt?: number;\n readonly assignmentRef?: string;\n readonly actualCostMicros?: number;\n readonly settlementRef?: string;\n readonly receiptId?: string;\n readonly receiptDigest?: string;\n readonly authenticatedBy?: string;\n readonly maxLeaseExpiresAt?: number;\n readonly renewalCount?: number;\n readonly lastHeartbeatSequence?: number;\n readonly lastHeartbeatAt?: number;\n}\n\nexport interface PortfolioCapacityReclaim {\n readonly reclaimId: string;\n readonly grantId: string;\n readonly projectId: string;\n readonly reservedForRequestId?: string;\n readonly requestedAt: number;\n readonly deadline: number;\n readonly reason: 'higher_portfolio_priority' | 'starvation_bound' | 'project_pause';\n readonly status: 'pending' | 'checkpointed' | 'declined' | 'timed_out';\n readonly checkpointRef?: string;\n readonly checkpointDigest?: string;\n}\n\nexport interface PortfolioServiceNormalization {\n readonly normalizationId: string;\n readonly divisor: number;\n readonly projectService: Readonly<Record<string, number>>;\n}\n\nexport interface PortfolioFactPayloadMap {\n readonly 'portfolio.policy_pinned': Readonly<{\n policy: PortfolioPolicySnapshot; governance: PortfolioGovernanceProof;\n }>;\n readonly 'project.policy_updated': Readonly<{\n policy: PortfolioProjectPolicy; governance: PortfolioGovernanceProof;\n }>;\n readonly 'priority.override_set': Readonly<{\n override: PortfolioPriorityOverride; governance: PortfolioGovernanceProof;\n }>;\n readonly 'capacity.requested': Readonly<{\n request: PortfolioCapacityRequest; bundleAuthority?: PortfolioValidatedBundleAuthority;\n }>;\n readonly 'capacity.grant_offered': Readonly<{ grant: PortfolioCapacityGrant }>;\n readonly 'capacity.grant_consumed': Readonly<{\n grantId: string; projectId: string; fence: number; assignmentRef: string;\n consumedAt: number; leaseExpiresAt: number; maxLeaseExpiresAt: number;\n authority: PortfolioKernelCommandAuthority;\n }>;\n readonly 'capacity.grant_assignment_failed': Readonly<{\n grantId: string; projectId: string; fence: number; assignmentRef: string;\n reason: PortfolioGrantAssignmentFailureReason; kernelSequence: number;\n kernelFactDigest: string; failedAt: number; authority: PortfolioKernelCommandAuthority;\n }>;\n readonly 'capacity.grant_lease_renewed': Readonly<{\n grantId: string; projectId: string; fence: number; assignmentRef: string;\n heartbeatSequence: number; renewedAt: number; previousLeaseExpiresAt: number;\n leaseExpiresAt: number; maxLeaseExpiresAt: number; policyDigest: string;\n clockSequence: number; clockDigest: string; usageSettlementCursor: number;\n authority: PortfolioKernelCommandAuthority;\n }>;\n readonly 'capacity.grant_expired': Readonly<{ grantId: string; fence: number }>;\n readonly 'capacity.grant_lease_lost': Readonly<{ grantId: string; fence: number; usage: 'unknown' }>;\n readonly 'capacity.usage_settled': Readonly<{\n receiptId: string; grantId: string; fence: number; actualCostMicros: number;\n settlementRef: string; authenticatedBy: string; authority: PortfolioUsageGatewayAuthority;\n }>;\n readonly 'capacity.reclaim_requested': Readonly<{ reclaim: PortfolioCapacityReclaim }>;\n readonly 'capacity.reclaim_acknowledged': Readonly<{\n reclaimId: string; grantId: string; projectId: string; fence: number;\n outcome: 'checkpointed' | 'declined'; checkpointRef?: string;\n checkpointDigest?: string;\n authority: PortfolioKernelCommandAuthority;\n }>;\n readonly 'capacity.reclaim_timed_out': Readonly<{ reclaimId: string; grantId: string; fence: number }>;\n readonly 'clock.advanced': Readonly<{ now: number; authority: PortfolioClockAuthority }>;\n readonly 'service.normalized': Readonly<{ normalization: PortfolioServiceNormalization }>;\n}\n\nexport type PortfolioFactType = keyof PortfolioFactPayloadMap;\n\nexport interface PortfolioFactDraft {\n readonly eventId: string;\n readonly occurredAt: number;\n readonly type: PortfolioFactType;\n readonly payload: unknown;\n}\n\ntype PortfolioFactBase = {\n readonly version: 1;\n readonly portfolioId: string;\n readonly sequence: number;\n readonly eventId: string;\n readonly occurredAt: number;\n};\n\nexport type PortfolioFact = {\n [Type in PortfolioFactType]: Readonly<PortfolioFactBase & {\n type: Type;\n payload: PortfolioFactPayloadMap[Type];\n }>\n}[PortfolioFactType];\n\nexport interface PortfolioJournalRepository {\n listPortfolioIds(): Promise<readonly string[]>;\n read(portfolioId: string): Promise<readonly PortfolioFact[]>;\n append(\n portfolioId: string,\n expectedSequence: number,\n drafts: readonly PortfolioFactDraft[],\n ): Promise<readonly PortfolioFact[]>;\n}\n\nexport class PortfolioSequenceConflictError extends Error {\n constructor(\n readonly portfolioId: string,\n readonly expectedSequence: number,\n readonly actualSequence: number,\n ) {\n super(`Portfolio ${portfolioId} sequence conflict: expected ${expectedSequence}, actual ${actualSequence}`);\n }\n}\n\nexport class PortfolioEventIdentityConflictError extends Error {\n constructor(readonly portfolioId: string, readonly eventId: string) {\n super(`Portfolio ${portfolioId} eventId conflict: ${eventId}`);\n }\n}\n\nexport class PortfolioRequestIdentityConflictError extends Error {\n constructor(readonly portfolioId: string, readonly identity: string) {\n super(`Portfolio ${portfolioId} Capacity Request identity conflict: ${identity}`);\n }\n}\n\n/** In-memory adapter for the Portfolio Journal port; authoritative ordering is CAS-only. */\nexport class InMemoryPortfolioJournalRepository implements PortfolioJournalRepository {\n readonly #journals = new Map<string, readonly PortfolioFact[]>();\n\n async listPortfolioIds(): Promise<readonly string[]> {\n return Object.freeze([...this.#journals.keys()].sort());\n }\n\n async read(portfolioId: string): Promise<readonly PortfolioFact[]> {\n identifier(portfolioId, 'portfolioId');\n return this.#journals.get(portfolioId) ?? Object.freeze([]);\n }\n\n async append(\n portfolioId: string,\n expectedSequence: number,\n drafts: readonly PortfolioFactDraft[],\n ): Promise<readonly PortfolioFact[]> {\n identifier(portfolioId, 'portfolioId');\n if (!Number.isSafeInteger(expectedSequence) || expectedSequence < -1) {\n throw new Error('Invalid Portfolio append position');\n }\n const current = this.#journals.get(portfolioId) ?? Object.freeze([]);\n const actualSequence = current.at(-1)?.sequence ?? -1;\n if (drafts.length === 0) {\n if (actualSequence !== expectedSequence) {\n throw new PortfolioSequenceConflictError(portfolioId, expectedSequence, actualSequence);\n }\n return Object.freeze([]);\n }\n const normalized = deduplicateDrafts(\n portfolioId,\n drafts.map((draft) => parsePortfolioFactDraft(draft)),\n );\n const eventsById = new Map(current.map((event) => [event.eventId, event]));\n const requestEvents = current.filter((event): event is Extract<PortfolioFact, { type: 'capacity.requested' }> =>\n event.type === 'capacity.requested');\n const requestsById = new Map(requestEvents.map((event) => [event.payload.request.requestId, event]));\n const requestsByHead = new Map(requestEvents.map((event) => [headKey(event.payload.request), event]));\n const idempotent = new Set<PortfolioFact>();\n\n for (const draft of normalized) {\n const existingEvent = eventsById.get(draft.eventId);\n if (existingEvent) {\n if (existingEvent.type !== draft.type\n || stableJson(existingEvent.payload) !== stableJson(draft.payload)) {\n throw new PortfolioEventIdentityConflictError(portfolioId, draft.eventId);\n }\n idempotent.add(existingEvent);\n continue;\n }\n if (draft.type === 'capacity.requested') {\n for (const [identity, existingRequest] of [\n [`requestId:${draft.payload.request.requestId}`, requestsById.get(draft.payload.request.requestId)],\n [`opaqueHeadId:${headKey(draft.payload.request)}`, requestsByHead.get(headKey(draft.payload.request))],\n ] as const) {\n if (!existingRequest) continue;\n throw new PortfolioRequestIdentityConflictError(portfolioId, identity);\n }\n }\n }\n\n if (idempotent.size > 0) {\n if (idempotent.size !== normalized.length) {\n throw new Error('Portfolio append cannot mix replayed and new facts');\n }\n return Object.freeze([...idempotent].sort((left, right) => left.sequence - right.sequence));\n }\n if (actualSequence !== expectedSequence) {\n throw new PortfolioSequenceConflictError(portfolioId, expectedSequence, actualSequence);\n }\n\n const appended = normalized.map((draft, index): PortfolioFact => deepFreeze({\n version: 1,\n portfolioId,\n sequence: expectedSequence + index + 1,\n eventId: draft.eventId,\n occurredAt: draft.occurredAt,\n type: draft.type,\n payload: draft.payload,\n } as PortfolioFact));\n this.#journals.set(portfolioId, Object.freeze([...current, ...appended]));\n return Object.freeze(appended);\n }\n}\n\nconst REQUEST_KEYS = new Set([\n 'requestId',\n 'projectId',\n 'workRef',\n 'schedulerRevision',\n 'schedulerSequence',\n 'localOrder',\n 'projectPolicyRevision',\n 'opaqueHeadId',\n 'payloadDigest',\n 'resourceBundle',\n 'preemptibility',\n 'deadlineAt',\n 'starvationAt',\n]);\nconst WORK_REF_KEYS = new Set(['runId', 'profileRevisionId', 'profileDigest']);\nconst RESOURCE_BUNDLE_KEYS = new Set(['demands']);\nconst RESOURCE_DEMAND_KEYS = new Set(['poolId', 'capacityUnits', 'rateUnits', 'budgetUnits']);\n\nexport function parsePortfolioCapacityRequest(value: unknown): PortfolioCapacityRequest {\n const request = exactRecord(value, REQUEST_KEYS, 'Capacity Request');\n const workRef = exactRecord(request.workRef, WORK_REF_KEYS, 'Capacity Request workRef');\n const resourceBundle = exactRecord(\n request.resourceBundle,\n RESOURCE_BUNDLE_KEYS,\n 'Capacity Request resourceBundle',\n );\n const bundle = parsePortfolioResourceBundle(resourceBundle);\n\n const preemptibility = request.preemptibility;\n if (preemptibility !== 'checkpointable' && preemptibility !== 'atomic') {\n throw new Error('Invalid Capacity Request preemptibility');\n }\n const deadlineAt = request.deadlineAt === undefined\n ? undefined\n : positiveSafeInteger(request.deadlineAt, 'deadlineAt');\n const starvationAt = positiveSafeInteger(request.starvationAt, 'starvationAt');\n if (deadlineAt !== undefined && starvationAt > deadlineAt) {\n throw new Error('Capacity Request starvationAt cannot exceed deadlineAt');\n }\n\n return deepFreeze({\n requestId: identifier(request.requestId, 'requestId'),\n projectId: identifier(request.projectId, 'projectId'),\n workRef: {\n runId: identifier(workRef.runId, 'workRef.runId'),\n profileRevisionId: identifier(workRef.profileRevisionId, 'workRef.profileRevisionId'),\n profileDigest: contentDigest(workRef.profileDigest, 'workRef.profileDigest'),\n },\n schedulerRevision: identifier(request.schedulerRevision, 'schedulerRevision'),\n schedulerSequence: nonNegativeSafeInteger(request.schedulerSequence, 'schedulerSequence'),\n localOrder: nonNegativeSafeInteger(request.localOrder, 'localOrder'),\n projectPolicyRevision: positiveSafeInteger(request.projectPolicyRevision, 'projectPolicyRevision'),\n opaqueHeadId: identifier(request.opaqueHeadId, 'opaqueHeadId'),\n payloadDigest: contentDigest(request.payloadDigest, 'payloadDigest'),\n resourceBundle: bundle,\n preemptibility,\n ...(deadlineAt === undefined ? {} : { deadlineAt }),\n starvationAt,\n });\n}\n\nexport function parsePortfolioResourceBundle(value: unknown): PortfolioResourceBundle {\n const resourceBundle = exactRecord(value, RESOURCE_BUNDLE_KEYS, 'Portfolio Resource Bundle');\n if (!Array.isArray(resourceBundle.demands) || resourceBundle.demands.length === 0) {\n throw new Error('Capacity Request requires a non-empty atomic Resource Bundle');\n }\n const seenPools = new Set<string>();\n const demands = resourceBundle.demands.map((raw, index): PortfolioResourceDemand => {\n const demand = exactRecord(raw, RESOURCE_DEMAND_KEYS, `Capacity Request demand ${index}`);\n const poolId = identifier(demand.poolId, `resourceBundle.demands[${index}].poolId`);\n if (seenPools.has(poolId)) throw new Error(`Duplicate Resource Pool demand: ${poolId}`);\n seenPools.add(poolId);\n return {\n poolId,\n capacityUnits: positiveSafeInteger(demand.capacityUnits, `${poolId}.capacityUnits`),\n rateUnits: positiveSafeInteger(demand.rateUnits, `${poolId}.rateUnits`),\n budgetUnits: nonNegativeSafeInteger(demand.budgetUnits, `${poolId}.budgetUnits`),\n };\n }).sort((left, right) => compareCanonicalWorkroomText(left.poolId, right.poolId));\n return deepFreeze({ demands });\n}\n\nconst PORTFOLIO_FACT_TYPES = new Set<PortfolioFactType>([\n 'portfolio.policy_pinned', 'project.policy_updated', 'priority.override_set',\n 'capacity.requested', 'capacity.grant_offered', 'capacity.grant_consumed',\n 'capacity.grant_assignment_failed',\n 'capacity.grant_lease_renewed',\n 'capacity.grant_expired', 'capacity.grant_lease_lost', 'capacity.usage_settled',\n 'capacity.reclaim_requested', 'capacity.reclaim_acknowledged',\n 'capacity.reclaim_timed_out', 'clock.advanced', 'service.normalized',\n]);\n\nexport function parsePortfolioFactPayload<Type extends PortfolioFactType>(\n type: Type,\n value: unknown,\n): PortfolioFactPayloadMap[Type] {\n let payload: PortfolioFactPayloadMap[PortfolioFactType];\n switch (type) {\n case 'portfolio.policy_pinned': {\n const record = exactRecord(value, new Set(['policy', 'governance']), type);\n payload = {\n policy: parsePortfolioPolicySnapshot(record.policy),\n governance: parseGovernanceProof(record.governance),\n };\n break;\n }\n case 'project.policy_updated': {\n const record = exactRecord(value, new Set(['policy', 'governance']), type);\n payload = {\n policy: parsePortfolioProjectPolicy(record.policy),\n governance: parseGovernanceProof(record.governance),\n };\n break;\n }\n case 'priority.override_set': {\n const record = exactRecord(value, new Set(['override', 'governance']), type);\n payload = {\n override: parsePriorityOverride(record.override),\n governance: parseGovernanceProof(record.governance),\n };\n break;\n }\n case 'capacity.requested': {\n const record = exactRecord(value, new Set(['request', 'bundleAuthority']), type);\n payload = {\n request: parsePortfolioCapacityRequest(record.request),\n ...(record.bundleAuthority === undefined\n ? {}\n : { bundleAuthority: parseValidatedBundleAuthority(record.bundleAuthority) }),\n };\n break;\n }\n case 'capacity.grant_offered': {\n const record = exactRecord(value, new Set(['grant']), type);\n payload = { grant: parseCapacityGrant(record.grant) };\n break;\n }\n case 'capacity.grant_consumed': {\n const record = exactRecord(value, new Set([\n 'grantId', 'projectId', 'fence', 'assignmentRef', 'consumedAt', 'leaseExpiresAt',\n 'maxLeaseExpiresAt', 'authority',\n ]), type);\n payload = {\n grantId: identifier(record.grantId, 'grantId'),\n projectId: identifier(record.projectId, 'projectId'),\n fence: positiveSafeInteger(record.fence, 'fence'),\n assignmentRef: identifier(record.assignmentRef, 'assignmentRef'),\n consumedAt: nonNegativeSafeInteger(record.consumedAt, 'consumedAt'),\n leaseExpiresAt: positiveSafeInteger(record.leaseExpiresAt, 'leaseExpiresAt'),\n maxLeaseExpiresAt: positiveSafeInteger(record.maxLeaseExpiresAt, 'maxLeaseExpiresAt'),\n authority: parseKernelCommandAuthority(record.authority),\n };\n if (payload.leaseExpiresAt <= payload.consumedAt\n || payload.maxLeaseExpiresAt < payload.leaseExpiresAt) {\n throw new Error('Capacity Grant lease/max quantum must expire after consume');\n }\n break;\n }\n case 'capacity.grant_assignment_failed': {\n const record = exactRecord(value, new Set([\n 'grantId', 'projectId', 'fence', 'assignmentRef', 'reason', 'kernelSequence',\n 'kernelFactDigest', 'failedAt', 'authority',\n ]), type);\n if (record.reason !== 'task_stale' && record.reason !== 'task_terminal'\n && record.reason !== 'run_terminal') {\n throw new Error('Invalid Capacity Grant Assignment failure reason');\n }\n payload = {\n grantId: identifier(record.grantId, 'grantId'),\n projectId: identifier(record.projectId, 'projectId'),\n fence: positiveSafeInteger(record.fence, 'fence'),\n assignmentRef: identifier(record.assignmentRef, 'assignmentRef'),\n reason: record.reason,\n kernelSequence: nonNegativeSafeInteger(record.kernelSequence, 'kernelSequence'),\n kernelFactDigest: contentDigest(record.kernelFactDigest, 'kernelFactDigest'),\n failedAt: nonNegativeSafeInteger(record.failedAt, 'failedAt'),\n authority: parseKernelCommandAuthority(record.authority),\n };\n break;\n }\n case 'capacity.grant_lease_renewed': {\n const record = exactRecord(value, new Set([\n 'grantId', 'projectId', 'fence', 'assignmentRef', 'heartbeatSequence', 'renewedAt',\n 'previousLeaseExpiresAt', 'leaseExpiresAt', 'maxLeaseExpiresAt', 'policyDigest',\n 'clockSequence', 'clockDigest', 'usageSettlementCursor', 'authority',\n ]), type);\n payload = {\n grantId: identifier(record.grantId, 'grantId'),\n projectId: identifier(record.projectId, 'projectId'),\n fence: positiveSafeInteger(record.fence, 'fence'),\n assignmentRef: identifier(record.assignmentRef, 'assignmentRef'),\n heartbeatSequence: positiveSafeInteger(record.heartbeatSequence, 'heartbeatSequence'),\n renewedAt: nonNegativeSafeInteger(record.renewedAt, 'renewedAt'),\n previousLeaseExpiresAt: positiveSafeInteger(record.previousLeaseExpiresAt, 'previousLeaseExpiresAt'),\n leaseExpiresAt: positiveSafeInteger(record.leaseExpiresAt, 'leaseExpiresAt'),\n maxLeaseExpiresAt: positiveSafeInteger(record.maxLeaseExpiresAt, 'maxLeaseExpiresAt'),\n policyDigest: contentDigest(record.policyDigest, 'policyDigest'),\n clockSequence: nonNegativeSafeInteger(record.clockSequence, 'clockSequence'),\n clockDigest: contentDigest(record.clockDigest, 'clockDigest'),\n usageSettlementCursor: cursor(record.usageSettlementCursor, 'usageSettlementCursor'),\n authority: parseKernelCommandAuthority(record.authority),\n };\n if (payload.leaseExpiresAt <= payload.previousLeaseExpiresAt\n || payload.leaseExpiresAt > payload.maxLeaseExpiresAt) {\n throw new Error('Capacity Grant Lease renewal escaped max quantum');\n }\n break;\n }\n case 'capacity.grant_expired':\n case 'capacity.reclaim_timed_out': {\n const allowed = type === 'capacity.grant_expired'\n ? new Set(['grantId', 'fence'])\n : new Set(['reclaimId', 'grantId', 'fence']);\n const record = exactRecord(value, allowed, type);\n payload = type === 'capacity.grant_expired'\n ? { grantId: identifier(record.grantId, 'grantId'), fence: positiveSafeInteger(record.fence, 'fence') }\n : {\n reclaimId: identifier(record.reclaimId, 'reclaimId'),\n grantId: identifier(record.grantId, 'grantId'),\n fence: positiveSafeInteger(record.fence, 'fence'),\n };\n break;\n }\n case 'capacity.grant_lease_lost': {\n const record = exactRecord(value, new Set(['grantId', 'fence', 'usage']), type);\n if (record.usage !== 'unknown') throw new Error('Lost Capacity Grant usage must remain unknown');\n payload = {\n grantId: identifier(record.grantId, 'grantId'),\n fence: positiveSafeInteger(record.fence, 'fence'),\n usage: 'unknown',\n };\n break;\n }\n case 'capacity.usage_settled': {\n const record = exactRecord(value, new Set([\n 'receiptId', 'grantId', 'fence', 'actualCostMicros', 'settlementRef', 'authenticatedBy', 'authority',\n ]), type);\n payload = {\n receiptId: identifier(record.receiptId, 'receiptId'),\n grantId: identifier(record.grantId, 'grantId'),\n fence: positiveSafeInteger(record.fence, 'fence'),\n actualCostMicros: nonNegativeSafeInteger(record.actualCostMicros, 'actualCostMicros'),\n settlementRef: identifier(record.settlementRef, 'settlementRef'),\n authenticatedBy: identifier(record.authenticatedBy, 'authenticatedBy'),\n authority: parseUsageGatewayAuthority(record.authority),\n };\n break;\n }\n case 'capacity.reclaim_requested': {\n const record = exactRecord(value, new Set(['reclaim']), type);\n payload = { reclaim: parseCapacityReclaim(record.reclaim) };\n break;\n }\n case 'capacity.reclaim_acknowledged': {\n const record = exactRecord(value, new Set([\n 'reclaimId', 'grantId', 'projectId', 'fence', 'outcome', 'checkpointRef', 'checkpointDigest', 'authority',\n ]), type);\n if (record.outcome !== 'checkpointed' && record.outcome !== 'declined') {\n throw new Error('Invalid Capacity Reclaim outcome');\n }\n payload = {\n reclaimId: identifier(record.reclaimId, 'reclaimId'),\n grantId: identifier(record.grantId, 'grantId'),\n projectId: identifier(record.projectId, 'projectId'),\n fence: positiveSafeInteger(record.fence, 'fence'),\n outcome: record.outcome,\n ...(record.checkpointRef === undefined\n ? {}\n : { checkpointRef: identifier(record.checkpointRef, 'checkpointRef') }),\n ...(record.checkpointDigest === undefined\n ? {}\n : { checkpointDigest: contentDigest(record.checkpointDigest, 'checkpointDigest') }),\n authority: parseKernelCommandAuthority(record.authority),\n };\n if (payload.outcome === 'checkpointed' && (!payload.checkpointRef || !payload.checkpointDigest)) {\n throw new Error('Checkpointed Capacity Reclaim requires checkpoint ref/digest');\n }\n if (payload.outcome === 'declined' && (payload.checkpointRef || payload.checkpointDigest)) {\n throw new Error('Declined Capacity Reclaim cannot claim a checkpoint');\n }\n break;\n }\n case 'clock.advanced': {\n const record = exactRecord(value, new Set(['now', 'authority']), type);\n payload = {\n now: nonNegativeSafeInteger(record.now, 'Portfolio clock'),\n authority: parseClockAuthority(record.authority),\n };\n break;\n }\n case 'service.normalized': {\n const record = exactRecord(value, new Set(['normalization']), type);\n payload = { normalization: parseServiceNormalization(record.normalization) };\n break;\n }\n }\n return deepFreeze(payload) as PortfolioFactPayloadMap[Type];\n}\n\nexport function parsePortfolioPolicySnapshot(value: unknown): PortfolioPolicySnapshot {\n const record = exactRecord(value, new Set([\n 'revision', 'digest', 'globalBudgetMicros', 'offerTtlTicks', 'leaseTtlTicks',\n 'leaseHeartbeatTicks', 'maxLeaseQuantumTicks', 'maxLeaseRenewals',\n 'reclaimTtlTicks', 'pools', 'projects',\n ]), 'Portfolio Policy');\n const poolsRecord = dictionary(record.pools, 'Portfolio Policy pools');\n const pools: Record<string, PortfolioResourcePoolPolicy> = {};\n for (const poolId of Object.keys(poolsRecord).sort()) {\n const pool = exactRecord(poolsRecord[poolId], new Set([\n 'poolId', 'capacityUnits', 'rateUnitsPerWindow', 'rateWindowTicks',\n 'priceMicrosPerBudgetUnit',\n ]), `Portfolio Pool ${poolId}`);\n if (pool.poolId !== poolId) throw new Error('Portfolio Pool dictionary identity drift');\n pools[poolId] = deepFreeze({\n poolId: identifier(pool.poolId, 'poolId'),\n capacityUnits: positiveSafeInteger(pool.capacityUnits, 'pool.capacityUnits'),\n rateUnitsPerWindow: positiveSafeInteger(pool.rateUnitsPerWindow, 'pool.rateUnitsPerWindow'),\n rateWindowTicks: positiveSafeInteger(pool.rateWindowTicks, 'pool.rateWindowTicks'),\n priceMicrosPerBudgetUnit: nonNegativeSafeInteger(\n pool.priceMicrosPerBudgetUnit,\n 'pool.priceMicrosPerBudgetUnit',\n ),\n });\n }\n if (Object.keys(pools).length === 0) throw new Error('Portfolio Policy requires Resource Pools');\n const projectsRecord = dictionary(record.projects, 'Portfolio Policy projects');\n const projects: Record<string, PortfolioProjectPolicy> = {};\n for (const projectId of Object.keys(projectsRecord).sort()) {\n const project = parsePortfolioProjectPolicy(projectsRecord[projectId]);\n if (project.projectId !== projectId) throw new Error('Portfolio Project Policy dictionary identity drift');\n for (const poolId of project.allowedPools) {\n if (!pools[poolId]) throw new Error(`Portfolio Project Policy references unknown Pool ${poolId}`);\n }\n projects[projectId] = project;\n }\n const leaseTtlTicks = positiveSafeInteger(record.leaseTtlTicks, 'leaseTtlTicks');\n const leaseHeartbeatTicks = positiveSafeInteger(record.leaseHeartbeatTicks, 'leaseHeartbeatTicks');\n const maxLeaseQuantumTicks = positiveSafeInteger(record.maxLeaseQuantumTicks, 'maxLeaseQuantumTicks');\n const maxLeaseRenewals = nonNegativeSafeInteger(record.maxLeaseRenewals, 'maxLeaseRenewals');\n if (leaseHeartbeatTicks >= leaseTtlTicks) {\n throw new Error('Portfolio lease heartbeat must be shorter than its lease TTL');\n }\n if (maxLeaseQuantumTicks < leaseTtlTicks) {\n throw new Error('Portfolio max lease quantum cannot be shorter than its lease TTL');\n }\n const projection = deepFreeze({\n revision: positiveSafeInteger(record.revision, 'Portfolio Policy revision'),\n globalBudgetMicros: nonNegativeSafeInteger(record.globalBudgetMicros, 'globalBudgetMicros'),\n offerTtlTicks: positiveSafeInteger(record.offerTtlTicks, 'offerTtlTicks'),\n leaseTtlTicks,\n leaseHeartbeatTicks,\n maxLeaseQuantumTicks,\n maxLeaseRenewals,\n reclaimTtlTicks: positiveSafeInteger(record.reclaimTtlTicks, 'reclaimTtlTicks'),\n pools,\n projects,\n });\n const actualDigest = contentDigest(record.digest, 'Portfolio Policy digest');\n if (actualDigest !== digest(projection)) throw new Error('Portfolio Policy digest drift');\n return deepFreeze({ ...projection, digest: actualDigest });\n}\n\nexport function createPortfolioPolicySnapshot(\n input: Omit<PortfolioPolicySnapshot, 'digest'>,\n): PortfolioPolicySnapshot {\n const projection = deepFreeze(structuredClone(input));\n return parsePortfolioPolicySnapshot({ ...projection, digest: digest(projection) });\n}\n\nexport function parsePortfolioProjectPolicy(value: unknown): PortfolioProjectPolicy {\n const record = exactRecord(value, new Set([\n 'projectId', 'revision', 'lane', 'weight', 'hardBudgetMicros', 'allowedPools',\n 'maxOutstandingRequests', 'maxConcurrentGrants', 'burstLimit', 'starvationTicks', 'status',\n ]), 'Portfolio Project Policy');\n const lane = portfolioLane(record.lane);\n const status = record.status;\n if (status !== 'active' && status !== 'paused' && status !== 'reclaim_checkpointable') {\n throw new Error('Invalid Portfolio Project status');\n }\n const allowedPools = stringList(record.allowedPools, 'allowedPools');\n if (allowedPools.length === 0) throw new Error('Portfolio Project Policy requires allowed Pools');\n const maxOutstandingRequests = positiveSafeInteger(record.maxOutstandingRequests, 'maxOutstandingRequests');\n const maxConcurrentGrants = positiveSafeInteger(record.maxConcurrentGrants, 'maxConcurrentGrants');\n const burstLimit = positiveSafeInteger(record.burstLimit, 'burstLimit');\n if (maxConcurrentGrants > maxOutstandingRequests || burstLimit > maxOutstandingRequests) {\n throw new Error('Portfolio Project caps are inconsistent');\n }\n return deepFreeze({\n projectId: identifier(record.projectId, 'projectId'),\n revision: positiveSafeInteger(record.revision, 'Project Policy revision'),\n lane,\n weight: positiveSafeInteger(record.weight, 'Project Policy weight'),\n hardBudgetMicros: nonNegativeSafeInteger(record.hardBudgetMicros, 'hardBudgetMicros'),\n allowedPools,\n maxOutstandingRequests,\n maxConcurrentGrants,\n burstLimit,\n starvationTicks: positiveSafeInteger(record.starvationTicks, 'starvationTicks'),\n status,\n });\n}\n\nfunction parsePriorityOverride(value: unknown): PortfolioPriorityOverride {\n const record = exactRecord(value, new Set([\n 'overrideId', 'requestId', 'projectId', 'lane', 'policyRevision',\n 'requestPayloadDigest', 'expiresAt',\n ]), 'Portfolio Priority Override');\n return deepFreeze({\n overrideId: identifier(record.overrideId, 'overrideId'),\n requestId: identifier(record.requestId, 'requestId'),\n projectId: identifier(record.projectId, 'projectId'),\n lane: portfolioLane(record.lane),\n policyRevision: positiveSafeInteger(record.policyRevision, 'policyRevision'),\n requestPayloadDigest: contentDigest(record.requestPayloadDigest, 'requestPayloadDigest'),\n expiresAt: positiveSafeInteger(record.expiresAt, 'expiresAt'),\n });\n}\n\nfunction parseGovernanceProof(value: unknown): PortfolioGovernanceProof {\n const record = exactRecord(value, new Set([\n 'principalId', 'authorizedBy', 'reasonDigest', 'targetDigest', 'expectedRevision',\n ]), 'Portfolio Governance proof');\n return deepFreeze({\n principalId: identifier(record.principalId, 'principalId'),\n authorizedBy: identifier(record.authorizedBy, 'authorizedBy'),\n reasonDigest: contentDigest(record.reasonDigest, 'reasonDigest'),\n targetDigest: contentDigest(record.targetDigest, 'targetDigest'),\n expectedRevision: nonNegativeSafeInteger(record.expectedRevision, 'expectedRevision'),\n });\n}\n\nfunction parseValidatedBundleAuthority(value: unknown): PortfolioValidatedBundleAuthority {\n const record = exactRecord(value, new Set([\n 'requestDigest', 'resourceBundleDigest',\n 'catalogGenerationId', 'catalogRevision', 'catalogDigest', 'profileRevisionId',\n 'profileDigest', 'profileCeilingDigest', 'validatedBundleDigest', 'reservedCostMicros',\n ]), 'Validated Atomic Resource Bundle authority');\n return deepFreeze({\n requestDigest: contentDigest(record.requestDigest, 'requestDigest'),\n resourceBundleDigest: contentDigest(record.resourceBundleDigest, 'resourceBundleDigest'),\n catalogGenerationId: identifier(record.catalogGenerationId, 'catalogGenerationId'),\n catalogRevision: positiveSafeInteger(record.catalogRevision, 'catalogRevision'),\n catalogDigest: contentDigest(record.catalogDigest, 'catalogDigest'),\n profileRevisionId: identifier(record.profileRevisionId, 'profileRevisionId'),\n profileDigest: contentDigest(record.profileDigest, 'profileDigest'),\n profileCeilingDigest: contentDigest(record.profileCeilingDigest, 'profileCeilingDigest'),\n validatedBundleDigest: contentDigest(record.validatedBundleDigest, 'validatedBundleDigest'),\n reservedCostMicros: nonNegativeSafeInteger(record.reservedCostMicros, 'reservedCostMicros'),\n });\n}\n\nfunction parseKernelCommandAuthority(value: unknown): PortfolioKernelCommandAuthority {\n const record = exactRecord(value, new Set([\n 'portfolioId', 'action', 'projectId', 'requestId', 'grantId', 'fence',\n 'assignmentRef', 'reclaimId', 'outcome', 'checkpointRef', 'checkpointDigest',\n 'heartbeatSequence', 'clockSequence', 'clockDigest', 'policyDigest', 'usageSettlementCursor',\n 'failureReason', 'kernelSequence', 'kernelFactDigest',\n 'commandDigest', 'authorizedBy',\n ]), 'Portfolio Kernel command authority');\n if (record.action !== 'consume' && record.action !== 'assignment_failed'\n && record.action !== 'reclaim_acknowledge' && record.action !== 'renew') {\n throw new Error('Invalid Portfolio Kernel command authority action');\n }\n if (record.outcome !== undefined && record.outcome !== 'checkpointed' && record.outcome !== 'declined') {\n throw new Error('Invalid Portfolio Kernel command authority outcome');\n }\n return deepFreeze({\n portfolioId: identifier(record.portfolioId, 'portfolioId'),\n action: record.action,\n projectId: identifier(record.projectId, 'projectId'),\n requestId: identifier(record.requestId, 'requestId'),\n grantId: identifier(record.grantId, 'grantId'),\n fence: positiveSafeInteger(record.fence, 'fence'),\n assignmentRef: identifier(record.assignmentRef, 'assignmentRef'),\n ...(record.reclaimId === undefined ? {} : { reclaimId: identifier(record.reclaimId, 'reclaimId') }),\n ...(record.outcome === undefined ? {} : { outcome: record.outcome }),\n ...(record.checkpointRef === undefined\n ? {}\n : { checkpointRef: identifier(record.checkpointRef, 'checkpointRef') }),\n ...(record.checkpointDigest === undefined\n ? {}\n : { checkpointDigest: contentDigest(record.checkpointDigest, 'checkpointDigest') }),\n ...(record.heartbeatSequence === undefined\n ? {}\n : { heartbeatSequence: positiveSafeInteger(record.heartbeatSequence, 'heartbeatSequence') }),\n ...(record.clockSequence === undefined\n ? {}\n : { clockSequence: nonNegativeSafeInteger(record.clockSequence, 'clockSequence') }),\n ...(record.clockDigest === undefined\n ? {}\n : { clockDigest: contentDigest(record.clockDigest, 'clockDigest') }),\n ...(record.policyDigest === undefined\n ? {}\n : { policyDigest: contentDigest(record.policyDigest, 'policyDigest') }),\n ...(record.usageSettlementCursor === undefined\n ? {}\n : { usageSettlementCursor: cursor(record.usageSettlementCursor, 'usageSettlementCursor') }),\n ...(record.failureReason === undefined ? {} : {\n failureReason: failureReason(record.failureReason),\n }),\n ...(record.kernelSequence === undefined ? {} : {\n kernelSequence: nonNegativeSafeInteger(record.kernelSequence, 'kernelSequence'),\n }),\n ...(record.kernelFactDigest === undefined ? {} : {\n kernelFactDigest: contentDigest(record.kernelFactDigest, 'kernelFactDigest'),\n }),\n commandDigest: contentDigest(record.commandDigest, 'commandDigest'),\n authorizedBy: identifier(record.authorizedBy, 'authorizedBy'),\n });\n}\n\nfunction failureReason(value: unknown): PortfolioGrantAssignmentFailureReason {\n if (value !== 'task_stale' && value !== 'task_terminal' && value !== 'run_terminal') {\n throw new Error('Invalid Portfolio Kernel command failure reason');\n }\n return value;\n}\n\nfunction parseUsageGatewayAuthority(value: unknown): PortfolioUsageGatewayAuthority {\n const record = exactRecord(value, new Set([\n 'portfolioId', 'receiptId', 'requestId', 'grantId', 'fence', 'actualCostMicros',\n 'settlementRef', 'receiptDigest', 'authenticatedBy',\n ]), 'Portfolio Usage Gateway authority');\n return deepFreeze({\n portfolioId: identifier(record.portfolioId, 'portfolioId'),\n receiptId: identifier(record.receiptId, 'receiptId'),\n requestId: identifier(record.requestId, 'requestId'),\n grantId: identifier(record.grantId, 'grantId'),\n fence: positiveSafeInteger(record.fence, 'fence'),\n actualCostMicros: nonNegativeSafeInteger(record.actualCostMicros, 'actualCostMicros'),\n settlementRef: identifier(record.settlementRef, 'settlementRef'),\n receiptDigest: contentDigest(record.receiptDigest, 'receiptDigest'),\n authenticatedBy: identifier(record.authenticatedBy, 'authenticatedBy'),\n });\n}\n\nfunction parseClockAuthority(value: unknown): PortfolioClockAuthority {\n const record = exactRecord(value, new Set([\n 'portfolioId', 'now', 'clockDigest', 'authorizedBy',\n ]), 'Portfolio clock authority');\n return deepFreeze({\n portfolioId: identifier(record.portfolioId, 'portfolioId'),\n now: nonNegativeSafeInteger(record.now, 'Portfolio clock'),\n clockDigest: contentDigest(record.clockDigest, 'clockDigest'),\n authorizedBy: identifier(record.authorizedBy, 'authorizedBy'),\n });\n}\n\nfunction parseCapacityGrant(value: unknown): PortfolioCapacityGrant {\n const record = exactRecord(value, new Set([\n 'grantId', 'requestId', 'projectId', 'fence', 'resourceBundle',\n 'requestDigest', 'resourceBundleDigest',\n 'catalogGenerationId', 'catalogRevision', 'catalogDigest', 'profileRevisionId',\n 'profileDigest', 'profileCeilingDigest', 'validatedBundleDigest', 'reservedCostMicros',\n 'portfolioPolicyRevision', 'portfolioPolicyDigest', 'projectPolicyRevision', 'lane',\n 'issuedAt', 'issuedSequence', 'offerExpiresAt', 'status',\n ]), 'Portfolio Capacity Grant');\n const status = record.status;\n if (status !== 'offered') throw new Error('Capacity Grant offer fact cannot forge a terminal status');\n const issuedAt = nonNegativeSafeInteger(record.issuedAt, 'issuedAt');\n const offerExpiresAt = positiveSafeInteger(record.offerExpiresAt, 'offerExpiresAt');\n if (offerExpiresAt <= issuedAt) throw new Error('Capacity Grant offer expiry is stale');\n return deepFreeze({\n grantId: identifier(record.grantId, 'grantId'),\n requestId: identifier(record.requestId, 'requestId'),\n projectId: identifier(record.projectId, 'projectId'),\n fence: positiveSafeInteger(record.fence, 'fence'),\n resourceBundle: parsePortfolioResourceBundle(record.resourceBundle),\n requestDigest: contentDigest(record.requestDigest, 'requestDigest'),\n resourceBundleDigest: contentDigest(record.resourceBundleDigest, 'resourceBundleDigest'),\n catalogGenerationId: identifier(record.catalogGenerationId, 'catalogGenerationId'),\n catalogRevision: positiveSafeInteger(record.catalogRevision, 'catalogRevision'),\n catalogDigest: contentDigest(record.catalogDigest, 'catalogDigest'),\n profileRevisionId: identifier(record.profileRevisionId, 'profileRevisionId'),\n profileDigest: contentDigest(record.profileDigest, 'profileDigest'),\n profileCeilingDigest: contentDigest(record.profileCeilingDigest, 'profileCeilingDigest'),\n validatedBundleDigest: contentDigest(record.validatedBundleDigest, 'validatedBundleDigest'),\n reservedCostMicros: nonNegativeSafeInteger(record.reservedCostMicros, 'reservedCostMicros'),\n portfolioPolicyRevision: positiveSafeInteger(record.portfolioPolicyRevision, 'portfolioPolicyRevision'),\n portfolioPolicyDigest: contentDigest(record.portfolioPolicyDigest, 'portfolioPolicyDigest'),\n projectPolicyRevision: positiveSafeInteger(record.projectPolicyRevision, 'projectPolicyRevision'),\n lane: portfolioLane(record.lane),\n issuedAt,\n issuedSequence: nonNegativeSafeInteger(record.issuedSequence, 'issuedSequence'),\n offerExpiresAt,\n status: 'offered',\n });\n}\n\nfunction parseCapacityReclaim(value: unknown): PortfolioCapacityReclaim {\n const record = exactRecord(value, new Set([\n 'reclaimId', 'grantId', 'projectId', 'reservedForRequestId', 'requestedAt',\n 'deadline', 'reason', 'status',\n ]), 'Portfolio Capacity Reclaim');\n const reason = record.reason;\n if (!['higher_portfolio_priority', 'starvation_bound', 'project_pause'].includes(String(reason))) {\n throw new Error('Invalid Capacity Reclaim reason');\n }\n const status = record.status;\n if (status !== 'pending') throw new Error('Capacity Reclaim request fact cannot forge a terminal status');\n const requestedAt = nonNegativeSafeInteger(record.requestedAt, 'requestedAt');\n const deadline = positiveSafeInteger(record.deadline, 'deadline');\n if (deadline <= requestedAt) throw new Error('Capacity Reclaim deadline is stale');\n return deepFreeze({\n reclaimId: identifier(record.reclaimId, 'reclaimId'),\n grantId: identifier(record.grantId, 'grantId'),\n projectId: identifier(record.projectId, 'projectId'),\n ...(record.reservedForRequestId === undefined\n ? {}\n : { reservedForRequestId: identifier(record.reservedForRequestId, 'reservedForRequestId') }),\n requestedAt,\n deadline,\n reason: reason as PortfolioCapacityReclaim['reason'],\n status: 'pending',\n });\n}\n\nfunction parseServiceNormalization(value: unknown): PortfolioServiceNormalization {\n const record = exactRecord(value, new Set([\n 'normalizationId', 'divisor', 'projectService',\n ]), 'Portfolio Service Normalization');\n const service = dictionary(record.projectService, 'projectService');\n const projectService: Record<string, number> = {};\n for (const projectId of Object.keys(service).sort()) {\n projectService[identifier(projectId, 'projectService projectId')] =\n nonNegativeSafeInteger(service[projectId], `projectService.${projectId}`);\n }\n return deepFreeze({\n normalizationId: identifier(record.normalizationId, 'normalizationId'),\n divisor: positiveSafeInteger(record.divisor, 'normalization divisor'),\n projectService,\n });\n}\n\ntype NormalizedPortfolioFactDraft = {\n [Type in PortfolioFactType]: Readonly<{\n eventId: string;\n occurredAt: number;\n type: Type;\n payload: PortfolioFactPayloadMap[Type];\n }>\n}[PortfolioFactType];\n\nexport function parsePortfolioFactDraft(draft: PortfolioFactDraft): NormalizedPortfolioFactDraft {\n if (!draft || typeof draft !== 'object' || Array.isArray(draft)) {\n throw new Error('Invalid Portfolio fact draft');\n }\n if (!PORTFOLIO_FACT_TYPES.has(draft.type)) throw new Error('Invalid Portfolio fact type');\n if (!Number.isFinite(draft.occurredAt) || draft.occurredAt < 0) {\n throw new Error('Invalid Portfolio fact occurredAt');\n }\n return deepFreeze({\n eventId: identifier(draft.eventId, 'eventId'),\n occurredAt: draft.occurredAt,\n type: draft.type,\n payload: parsePortfolioFactPayload(draft.type, draft.payload),\n } as NormalizedPortfolioFactDraft);\n}\n\nfunction deduplicateDrafts(\n portfolioId: string,\n drafts: readonly NormalizedPortfolioFactDraft[],\n): readonly NormalizedPortfolioFactDraft[] {\n const result: NormalizedPortfolioFactDraft[] = [];\n const byEventId = new Map<string, NormalizedPortfolioFactDraft>();\n const byRequestId = new Map<string, NormalizedPortfolioFactDraft>();\n const byHead = new Map<string, NormalizedPortfolioFactDraft>();\n for (const draft of drafts) {\n const eventMatch = byEventId.get(draft.eventId);\n if (eventMatch) {\n if (eventMatch.type !== draft.type || stableJson(eventMatch.payload) !== stableJson(draft.payload)) {\n throw new PortfolioEventIdentityConflictError(portfolioId, draft.eventId);\n }\n continue;\n }\n byEventId.set(draft.eventId, draft);\n if (draft.type === 'capacity.requested') {\n const requestMatch = byRequestId.get(draft.payload.request.requestId);\n const headMatch = byHead.get(headKey(draft.payload.request));\n for (const [identity, match] of [\n [`requestId:${draft.payload.request.requestId}`, requestMatch],\n [`opaqueHeadId:${headKey(draft.payload.request)}`, headMatch],\n ] as const) {\n if (match) throw new PortfolioRequestIdentityConflictError(portfolioId, identity);\n }\n byRequestId.set(draft.payload.request.requestId, draft);\n byHead.set(headKey(draft.payload.request), draft);\n }\n result.push(draft);\n }\n return Object.freeze(result);\n}\n\nfunction headKey(request: PortfolioCapacityRequest): string {\n return `${request.projectId}:${request.opaqueHeadId}`;\n}\n\nfunction exactRecord(value: unknown, allowed: ReadonlySet<string>, label: string): Record<string, unknown> {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n throw new Error(`${label} must be an object`);\n }\n const record = value as Record<string, unknown>;\n const unknown = Object.keys(record).filter((key) => !allowed.has(key)).sort();\n if (unknown.length > 0) {\n throw new Error(`${label} cannot carry Workroom content or unknown fields: ${unknown.join(', ')}`);\n }\n return record;\n}\n\nfunction dictionary(value: unknown, label: string): Record<string, unknown> {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n throw new Error(`${label} must be a dictionary`);\n }\n return value as Record<string, unknown>;\n}\n\nfunction stringList(value: unknown, label: string): readonly string[] {\n if (!Array.isArray(value)) throw new Error(`${label} must be an array`);\n const result = value.map((item, index) => identifier(item, `${label}.${index}`));\n if (new Set(result).size !== result.length) throw new Error(`${label} contains duplicates`);\n return Object.freeze([...result].sort());\n}\n\nfunction portfolioLane(value: unknown): PortfolioLane {\n if (value !== 'urgent' && value !== 'high' && value !== 'normal' && value !== 'low') {\n throw new Error('Invalid Portfolio lane');\n }\n return value;\n}\n\nfunction identifier(value: unknown, path: string): string {\n if (typeof value !== 'string' || value.length === 0 || value.length > 256) {\n throw new Error(`Invalid opaque ${path}`);\n }\n return value;\n}\n\nfunction contentDigest(value: unknown, path: string): string {\n const result = identifier(value, path);\n if (!result.startsWith('sha256:')) throw new Error(`Invalid ${path}`);\n return result;\n}\n\nfunction positiveSafeInteger(value: unknown, path: string): number {\n if (!Number.isSafeInteger(value) || Number(value) <= 0) throw new Error(`${path} must be a positive safe integer`);\n return Number(value);\n}\n\nfunction nonNegativeSafeInteger(value: unknown, path: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < 0) throw new Error(`${path} must be a non-negative safe integer`);\n return Number(value);\n}\n\nfunction cursor(value: unknown, path: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < -1) throw new Error(`${path} must be a safe cursor`);\n return Number(value);\n}\n\nfunction stableJson(value: unknown): string {\n if (Array.isArray(value)) return `[${value.map(stableJson).join(',')}]`;\n if (value && typeof value === 'object') {\n return `{${Object.entries(value as Record<string, unknown>)\n .sort(([left], [right]) => compareCanonicalWorkroomText(left, right))\n .map(([key, item]) => `${JSON.stringify(key)}:${stableJson(item)}`)\n .join(',')}}`;\n }\n return JSON.stringify(value);\n}\n\nfunction deepFreeze<T>(value: T): T {\n if (!value || typeof value !== 'object' || Object.isFrozen(value)) return value;\n for (const item of Object.values(value as Record<string, unknown>)) deepFreeze(item);\n return Object.freeze(value);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-bundle.js","sourceRoot":"","sources":["../../src/portfolio/resource-bundle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource-bundle.js","sourceRoot":"","sources":["../../src/portfolio/resource-bundle.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n compareCanonicalWorkroomText,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from '../workroom/canonical-value.js';\nimport {\n parsePortfolioCapacityRequest,\n type PortfolioCapacityRequest,\n type PortfolioResourceDemand,\n type PortfolioWorkRef,\n} from './portfolio-journal.js';\n\nexport type ResourcePoolKind = 'model' | 'executor';\n\ninterface ResourcePoolCatalogEntryBase {\n readonly kind: ResourcePoolKind;\n readonly poolId: string;\n readonly tenantId: string;\n readonly region: string;\n readonly trustDomain: string;\n readonly compatibilityGroup: string;\n readonly capacityUnits: number;\n readonly maxCapacityUnitsPerBundle: number;\n readonly rateUnitsPerWindow: number;\n readonly maxRateUnitsPerBundle: number;\n readonly priceMicrosPerUsageUnit: number;\n readonly maxUsageUnitsPerBundle: number;\n}\n\nexport interface ModelResourcePoolCatalogEntry extends ResourcePoolCatalogEntryBase {\n readonly kind: 'model';\n readonly providerId: string;\n readonly modelTier: string;\n}\n\nexport interface ExecutorResourcePoolCatalogEntry extends ResourcePoolCatalogEntryBase {\n readonly kind: 'executor';\n readonly executorPoolId: string;\n readonly sandboxId: string;\n readonly workspaceProviderId: string;\n}\n\n/** Trusted generation-owned resources. Requesters may select only a poolId. */\nexport type ResourcePoolCatalogEntry =\n | ModelResourcePoolCatalogEntry\n | ExecutorResourcePoolCatalogEntry;\n\nexport interface ResourcePoolCatalogSnapshot {\n readonly version: 1;\n readonly generationId: string;\n readonly revision: number;\n readonly tenantId: string;\n readonly pools: readonly ResourcePoolCatalogEntry[];\n readonly digest: string;\n}\n\nexport type ResourcePoolCatalogSnapshotSource = Omit<ResourcePoolCatalogSnapshot, 'version' | 'digest'>;\n\nexport interface AtomicResourceBundleRequest {\n readonly tenantId: string;\n readonly catalogRevision: number;\n readonly catalogDigest: string;\n readonly capacityRequest: PortfolioCapacityRequest;\n}\n\nexport interface ResourcePoolProfileLimit {\n readonly poolId: string;\n readonly maxCapacityUnits: number;\n readonly maxRateUnits: number;\n readonly maxUsageUnits: number;\n}\n\n/** Exact Project Profile ceiling; this can narrow but never expand the catalog. */\nexport interface AtomicResourceBundleProfileCeiling {\n readonly tenantId: string;\n readonly projectId: string;\n readonly profileRevisionId: string;\n readonly profileDigest: string;\n readonly catalogRevision: number;\n readonly catalogDigest: string;\n readonly allowedPoolIds: readonly string[];\n readonly poolLimits: readonly ResourcePoolProfileLimit[];\n readonly maxWorstCaseCostMicros: number;\n /** Content address of every ceiling field above; independent from the compiled Profile digest. */\n readonly ceilingDigest: string;\n}\n\nexport type AtomicResourceBundleProfileCeilingSource = Omit<\n AtomicResourceBundleProfileCeiling,\n 'ceilingDigest'\n>;\n\n/**\n * Trusted authority emitted by the generation/compiled-Profile owner. There is\n * intentionally no public constructor: requesters and Executors cannot issue\n * authority merely by hashing a different ceiling.\n */\nexport interface AtomicResourceBundleProfileAuthority {\n readonly tenantId: string;\n readonly projectId: string;\n readonly profileRevisionId: string;\n readonly profileDigest: string;\n readonly resourceCeilingDigest: string;\n}\n\nexport interface ValidatedModelResourceReservation {\n readonly poolId: string;\n readonly providerId: string;\n readonly modelTier: string;\n readonly capacityUnits: number;\n readonly rateUnits: number;\n readonly worstCaseUsageUnits: number;\n readonly worstCaseCostMicros: number;\n}\n\nexport interface ValidatedExecutorResourceReservation {\n readonly poolId: string;\n readonly executorPoolId: string;\n readonly sandboxId: string;\n readonly workspaceProviderId: string;\n readonly capacityUnits: number;\n readonly rateUnits: number;\n readonly worstCaseUsageUnits: number;\n readonly worstCaseCostMicros: number;\n}\n\nexport interface AtomicRateReservation {\n readonly poolId: string;\n readonly units: number;\n}\n\n/** Pure validation result. It describes one atomic reservation but writes no ledger or Journal. */\nexport interface ValidatedAtomicResourceBundle {\n readonly requestId: string;\n readonly projectId: string;\n readonly workRef: PortfolioWorkRef;\n readonly catalogRef: Readonly<{\n generationId: string;\n revision: number;\n digest: string;\n }>;\n readonly profileAuthorityRef: AtomicResourceBundleProfileAuthority;\n readonly region: string;\n readonly trustDomain: string;\n readonly compatibilityGroup: string;\n readonly model: ValidatedModelResourceReservation;\n readonly executor: ValidatedExecutorResourceReservation;\n readonly rateReservations: readonly AtomicRateReservation[];\n readonly totalWorstCaseCostMicros: number;\n}\n\nconst CATALOG_KEYS = new Set(['version', 'generationId', 'revision', 'tenantId', 'pools', 'digest']);\nconst CATALOG_SOURCE_KEYS = new Set(['generationId', 'revision', 'tenantId', 'pools']);\nconst COMMON_POOL_KEYS = [\n 'kind',\n 'poolId',\n 'tenantId',\n 'region',\n 'trustDomain',\n 'compatibilityGroup',\n 'capacityUnits',\n 'maxCapacityUnitsPerBundle',\n 'rateUnitsPerWindow',\n 'maxRateUnitsPerBundle',\n 'priceMicrosPerUsageUnit',\n 'maxUsageUnitsPerBundle',\n];\nconst MODEL_POOL_KEYS = new Set([...COMMON_POOL_KEYS, 'providerId', 'modelTier']);\nconst EXECUTOR_POOL_KEYS = new Set([\n ...COMMON_POOL_KEYS,\n 'executorPoolId',\n 'sandboxId',\n 'workspaceProviderId',\n]);\nconst BUNDLE_REQUEST_KEYS = new Set(['tenantId', 'catalogRevision', 'catalogDigest', 'capacityRequest']);\nconst PROFILE_CEILING_KEYS = new Set([\n 'tenantId',\n 'projectId',\n 'profileRevisionId',\n 'profileDigest',\n 'catalogRevision',\n 'catalogDigest',\n 'allowedPoolIds',\n 'poolLimits',\n 'maxWorstCaseCostMicros',\n 'ceilingDigest',\n]);\nconst PROFILE_CEILING_SOURCE_KEYS = new Set(\n [...PROFILE_CEILING_KEYS].filter((key) => key !== 'ceilingDigest'),\n);\nconst PROFILE_AUTHORITY_KEYS = new Set([\n 'tenantId',\n 'projectId',\n 'profileRevisionId',\n 'profileDigest',\n 'resourceCeilingDigest',\n]);\nconst POOL_LIMIT_KEYS = new Set([\n 'poolId',\n 'maxCapacityUnits',\n 'maxRateUnits',\n 'maxUsageUnits',\n]);\n\n/** Constructs the immutable snapshot that a generation owner publishes. */\nexport function createResourcePoolCatalogSnapshot(\n source: ResourcePoolCatalogSnapshotSource,\n): ResourcePoolCatalogSnapshot {\n const record = exactRecord(source, CATALOG_SOURCE_KEYS, 'Resource Pool catalog source');\n const normalized = normalizeCatalogBody(record);\n return deepFreeze({ ...normalized, digest: digest(normalized) });\n}\n\n/** Constructs a canonical immutable Profile resource ceiling snapshot. */\nexport function createAtomicResourceBundleProfileCeiling(\n source: AtomicResourceBundleProfileCeilingSource,\n): AtomicResourceBundleProfileCeiling {\n const record = exactRecord(source, PROFILE_CEILING_SOURCE_KEYS, 'Atomic Resource Bundle Profile ceiling source');\n const normalized = normalizeProfileCeilingBody(record);\n return deepFreeze({ ...normalized, ceilingDigest: digest(normalized) });\n}\n\n/**\n * Resolves and validates a whole bundle without acquiring anything. Any failure\n * throws before a reservation descriptor exists, so callers cannot retain a\n * model, Executor, rate, or budget fragment independently.\n */\nexport function validateAtomicResourceBundle(input: Readonly<{\n request: AtomicResourceBundleRequest;\n catalog: ResourcePoolCatalogSnapshot;\n profileCeiling: AtomicResourceBundleProfileCeiling;\n profileAuthority: AtomicResourceBundleProfileAuthority;\n}>): ValidatedAtomicResourceBundle {\n const inputRecord = exactRecord(\n input,\n new Set(['request', 'catalog', 'profileCeiling', 'profileAuthority']),\n 'Resource Bundle input',\n );\n const request = normalizeBundleRequest(inputRecord.request);\n const catalog = normalizeAndVerifyCatalog(inputRecord.catalog);\n const ceiling = normalizeProfileCeiling(inputRecord.profileCeiling);\n const authority = normalizeProfileAuthority(inputRecord.profileAuthority);\n\n bindEqual(request.tenantId, catalog.tenantId, 'request tenant and catalog tenant');\n bindEqual(request.tenantId, ceiling.tenantId, 'request tenant and Profile ceiling tenant');\n bindEqual(authority.tenantId, request.tenantId, 'Profile authority tenant and request tenant');\n bindEqual(authority.tenantId, ceiling.tenantId, 'Profile authority tenant and ceiling tenant');\n bindEqual(request.catalogRevision, catalog.revision, 'request catalog revision');\n bindEqual(request.catalogDigest, catalog.digest, 'request catalog digest');\n bindEqual(ceiling.catalogRevision, catalog.revision, 'Profile ceiling catalog revision');\n bindEqual(ceiling.catalogDigest, catalog.digest, 'Profile ceiling catalog digest');\n bindEqual(request.capacityRequest.projectId, ceiling.projectId, 'Capacity Request Project');\n bindEqual(\n authority.projectId,\n request.capacityRequest.projectId,\n 'Profile authority Project and Capacity Request Project',\n );\n bindEqual(authority.projectId, ceiling.projectId, 'Profile authority Project and ceiling Project');\n bindEqual(\n request.capacityRequest.workRef.profileRevisionId,\n ceiling.profileRevisionId,\n 'Capacity Request Profile revision',\n );\n bindEqual(\n authority.profileRevisionId,\n request.capacityRequest.workRef.profileRevisionId,\n 'Profile authority revision and Capacity Request Profile revision',\n );\n bindEqual(\n authority.profileRevisionId,\n ceiling.profileRevisionId,\n 'Profile authority revision and ceiling Profile revision',\n );\n bindEqual(\n request.capacityRequest.workRef.profileDigest,\n ceiling.profileDigest,\n 'Capacity Request Profile digest',\n );\n bindEqual(\n authority.profileDigest,\n request.capacityRequest.workRef.profileDigest,\n 'Profile authority digest and Capacity Request Profile digest',\n );\n bindEqual(\n authority.profileDigest,\n ceiling.profileDigest,\n 'Profile authority digest and ceiling Profile digest',\n );\n bindEqual(\n authority.resourceCeilingDigest,\n ceiling.ceilingDigest,\n 'Profile authority resource ceiling digest',\n );\n\n const pools = new Map(catalog.pools.map((pool) => [pool.poolId, pool]));\n const allowedPools = new Set(ceiling.allowedPoolIds);\n const profileLimits = new Map(ceiling.poolLimits.map((limit) => [limit.poolId, limit]));\n const resolved = request.capacityRequest.resourceBundle.demands.map((demand) => {\n const pool = pools.get(demand.poolId);\n if (!pool) throw new Error(`Unknown Resource Pool: ${demand.poolId}`);\n if (!allowedPools.has(pool.poolId)) {\n throw new Error(`Project Profile does not allow Resource Pool ${pool.poolId}`);\n }\n const limit = profileLimits.get(pool.poolId);\n if (!limit) throw new Error(`Project Profile has no limit for Resource Pool ${pool.poolId}`);\n validateDemand(demand, pool, limit);\n return { demand, pool, costMicros: checkedProduct(demand.budgetUnits, pool.priceMicrosPerUsageUnit) };\n });\n\n const models = resolved.filter(\n (item): item is typeof item & { pool: ModelResourcePoolCatalogEntry } => item.pool.kind === 'model',\n );\n const executors = resolved.filter(\n (item): item is typeof item & { pool: ExecutorResourcePoolCatalogEntry } => item.pool.kind === 'executor',\n );\n if (models.length !== 1) throw new Error('Atomic Resource Bundle requires exactly one model component');\n if (executors.length !== 1) throw new Error('Atomic Resource Bundle requires exactly one Executor component');\n if (resolved.length !== 2) throw new Error('Atomic Resource Bundle contains unsupported extra components');\n\n const model = models[0]!;\n const executor = executors[0]!;\n for (const [field, modelValue, executorValue] of [\n ['region', model.pool.region, executor.pool.region],\n ['trust domain', model.pool.trustDomain, executor.pool.trustDomain],\n ['compatibility group', model.pool.compatibilityGroup, executor.pool.compatibilityGroup],\n ] as const) {\n bindEqual(modelValue, executorValue, `Resource Bundle ${field}`);\n }\n\n const totalWorstCaseCostMicros = checkedSum(model.costMicros, executor.costMicros);\n if (totalWorstCaseCostMicros > ceiling.maxWorstCaseCostMicros) {\n throw new Error('Resource Bundle worst-case cost exceeds Project Profile ceiling');\n }\n\n return deepFreeze({\n requestId: request.capacityRequest.requestId,\n projectId: request.capacityRequest.projectId,\n workRef: { ...request.capacityRequest.workRef },\n catalogRef: {\n generationId: catalog.generationId,\n revision: catalog.revision,\n digest: catalog.digest,\n },\n profileAuthorityRef: { ...authority },\n region: model.pool.region,\n trustDomain: model.pool.trustDomain,\n compatibilityGroup: model.pool.compatibilityGroup,\n model: {\n poolId: model.pool.poolId,\n providerId: model.pool.providerId,\n modelTier: model.pool.modelTier,\n capacityUnits: model.demand.capacityUnits,\n rateUnits: model.demand.rateUnits,\n worstCaseUsageUnits: model.demand.budgetUnits,\n worstCaseCostMicros: model.costMicros,\n },\n executor: {\n poolId: executor.pool.poolId,\n executorPoolId: executor.pool.executorPoolId,\n sandboxId: executor.pool.sandboxId,\n workspaceProviderId: executor.pool.workspaceProviderId,\n capacityUnits: executor.demand.capacityUnits,\n rateUnits: executor.demand.rateUnits,\n worstCaseUsageUnits: executor.demand.budgetUnits,\n worstCaseCostMicros: executor.costMicros,\n },\n rateReservations: resolved\n .map((item) => ({ poolId: item.pool.poolId, units: item.demand.rateUnits }))\n .sort((left, right) => compareCanonicalWorkroomText(left.poolId, right.poolId)),\n totalWorstCaseCostMicros,\n });\n}\n\nfunction normalizeAndVerifyCatalog(value: unknown): ResourcePoolCatalogSnapshot {\n const record = exactRecord(value, CATALOG_KEYS, 'Resource Pool catalog snapshot');\n if (record.version !== 1) throw new Error('Unsupported Resource Pool catalog version');\n const normalized = normalizeCatalogBody(record);\n const claimedDigest = contentDigest(record.digest, 'catalog digest');\n const actualDigest = digest(normalized);\n if (claimedDigest !== actualDigest) {\n throw new Error(`Resource Pool catalog digest mismatch: expected ${claimedDigest}, actual ${actualDigest}`);\n }\n return deepFreeze({ ...normalized, digest: claimedDigest });\n}\n\nfunction normalizeCatalogBody(value: Record<string, unknown>): Omit<ResourcePoolCatalogSnapshot, 'digest'> {\n if (!Array.isArray(value.pools) || value.pools.length === 0) {\n throw new Error('Resource Pool catalog requires pools');\n }\n const tenantId = identifier(value.tenantId, 'catalog tenantId');\n const pools = value.pools.map((pool, index) => normalizePool(pool, index, tenantId))\n .sort((left, right) => compareCanonicalWorkroomText(left.poolId, right.poolId));\n assertUnique(pools.map((pool) => pool.poolId), 'Resource Pool catalog poolId');\n return deepFreeze({\n version: 1 as const,\n generationId: identifier(value.generationId, 'catalog generationId'),\n revision: positiveSafeInteger(value.revision, 'catalog revision'),\n tenantId,\n pools,\n });\n}\n\nfunction normalizePool(value: unknown, index: number, catalogTenantId: string): ResourcePoolCatalogEntry {\n const base = exactRecord(value, new Set(COMMON_POOL_KEYS), `Resource Pool ${index}`, true);\n const kind = base.kind;\n if (kind !== 'model' && kind !== 'executor') throw new Error(`Invalid Resource Pool kind at ${index}`);\n const record = exactRecord(value, kind === 'model' ? MODEL_POOL_KEYS : EXECUTOR_POOL_KEYS, `Resource Pool ${index}`);\n const tenantId = identifier(record.tenantId, `Resource Pool ${index} tenantId`);\n bindEqual(tenantId, catalogTenantId, `Resource Pool ${index} tenant`);\n const common = {\n kind,\n poolId: identifier(record.poolId, `Resource Pool ${index} poolId`),\n tenantId,\n region: identifier(record.region, `Resource Pool ${index} region`),\n trustDomain: identifier(record.trustDomain, `Resource Pool ${index} trustDomain`),\n compatibilityGroup: identifier(record.compatibilityGroup, `Resource Pool ${index} compatibilityGroup`),\n capacityUnits: positiveSafeInteger(record.capacityUnits, `Resource Pool ${index} capacityUnits`),\n maxCapacityUnitsPerBundle: positiveSafeInteger(\n record.maxCapacityUnitsPerBundle,\n `Resource Pool ${index} maxCapacityUnitsPerBundle`,\n ),\n rateUnitsPerWindow: positiveSafeInteger(record.rateUnitsPerWindow, `Resource Pool ${index} rateUnitsPerWindow`),\n maxRateUnitsPerBundle: positiveSafeInteger(\n record.maxRateUnitsPerBundle,\n `Resource Pool ${index} maxRateUnitsPerBundle`,\n ),\n priceMicrosPerUsageUnit: nonNegativeSafeInteger(\n record.priceMicrosPerUsageUnit,\n `Resource Pool ${index} priceMicrosPerUsageUnit`,\n ),\n maxUsageUnitsPerBundle: positiveSafeInteger(\n record.maxUsageUnitsPerBundle,\n `Resource Pool ${index} maxUsageUnitsPerBundle`,\n ),\n };\n if (common.maxCapacityUnitsPerBundle > common.capacityUnits) {\n throw new Error(`Resource Pool ${common.poolId} per-bundle capacity exceeds pool capacity`);\n }\n if (common.maxRateUnitsPerBundle > common.rateUnitsPerWindow) {\n throw new Error(`Resource Pool ${common.poolId} per-bundle rate exceeds pool rate`);\n }\n return kind === 'model'\n ? deepFreeze({\n ...common,\n kind,\n providerId: identifier(record.providerId, `Resource Pool ${index} providerId`),\n modelTier: identifier(record.modelTier, `Resource Pool ${index} modelTier`),\n })\n : deepFreeze({\n ...common,\n kind,\n executorPoolId: identifier(record.executorPoolId, `Resource Pool ${index} executorPoolId`),\n sandboxId: identifier(record.sandboxId, `Resource Pool ${index} sandboxId`),\n workspaceProviderId: identifier(record.workspaceProviderId, `Resource Pool ${index} workspaceProviderId`),\n });\n}\n\nfunction normalizeBundleRequest(value: unknown): AtomicResourceBundleRequest {\n const record = exactRecord(value, BUNDLE_REQUEST_KEYS, 'Atomic Resource Bundle request');\n return deepFreeze({\n tenantId: identifier(record.tenantId, 'request tenantId'),\n catalogRevision: positiveSafeInteger(record.catalogRevision, 'request catalogRevision'),\n catalogDigest: contentDigest(record.catalogDigest, 'request catalogDigest'),\n capacityRequest: parsePortfolioCapacityRequest(record.capacityRequest),\n });\n}\n\nfunction normalizeProfileCeiling(value: unknown): AtomicResourceBundleProfileCeiling {\n const record = exactRecord(value, PROFILE_CEILING_KEYS, 'Atomic Resource Bundle Profile ceiling');\n const normalized = normalizeProfileCeilingBody(record);\n const claimedDigest = contentDigest(record.ceilingDigest, 'Profile ceiling digest');\n const actualDigest = digest(normalized);\n if (claimedDigest !== actualDigest) {\n throw new Error(`Profile ceiling digest mismatch: expected ${claimedDigest}, actual ${actualDigest}`);\n }\n return deepFreeze({ ...normalized, ceilingDigest: claimedDigest });\n}\n\nfunction normalizeProfileAuthority(value: unknown): AtomicResourceBundleProfileAuthority {\n const record = exactRecord(value, PROFILE_AUTHORITY_KEYS, 'Atomic Resource Bundle Profile authority');\n return deepFreeze({\n tenantId: identifier(record.tenantId, 'Profile authority tenantId'),\n projectId: identifier(record.projectId, 'Profile authority projectId'),\n profileRevisionId: identifier(record.profileRevisionId, 'Profile authority profileRevisionId'),\n profileDigest: contentDigest(record.profileDigest, 'Profile authority profileDigest'),\n resourceCeilingDigest: contentDigest(\n record.resourceCeilingDigest,\n 'Profile authority resourceCeilingDigest',\n ),\n });\n}\n\nfunction normalizeProfileCeilingBody(\n record: Record<string, unknown>,\n): AtomicResourceBundleProfileCeilingSource {\n if (!Array.isArray(record.allowedPoolIds) || record.allowedPoolIds.length === 0) {\n throw new Error('Project Profile ceiling requires allowed pools');\n }\n if (!Array.isArray(record.poolLimits) || record.poolLimits.length === 0) {\n throw new Error('Project Profile ceiling requires pool limits');\n }\n const allowedPoolIds = record.allowedPoolIds.map((item, index) => identifier(item, `allowedPoolIds[${index}]`))\n .sort((left, right) => compareCanonicalWorkroomText(left, right));\n assertUnique(allowedPoolIds, 'Project Profile allowed pool');\n const poolLimits = record.poolLimits.map((item, index): ResourcePoolProfileLimit => {\n const limit = exactRecord(item, POOL_LIMIT_KEYS, `Project Profile pool limit ${index}`);\n return {\n poolId: identifier(limit.poolId, `poolLimits[${index}].poolId`),\n maxCapacityUnits: nonNegativeSafeInteger(limit.maxCapacityUnits, `poolLimits[${index}].maxCapacityUnits`),\n maxRateUnits: nonNegativeSafeInteger(limit.maxRateUnits, `poolLimits[${index}].maxRateUnits`),\n maxUsageUnits: nonNegativeSafeInteger(limit.maxUsageUnits, `poolLimits[${index}].maxUsageUnits`),\n };\n }).sort((left, right) => compareCanonicalWorkroomText(left.poolId, right.poolId));\n assertUnique(poolLimits.map((limit) => limit.poolId), 'Project Profile pool limit');\n for (const limit of poolLimits) {\n if (!allowedPoolIds.includes(limit.poolId)) {\n throw new Error(`Project Profile has a limit for unapproved Resource Pool ${limit.poolId}`);\n }\n }\n return deepFreeze({\n tenantId: identifier(record.tenantId, 'Profile ceiling tenantId'),\n projectId: identifier(record.projectId, 'Profile ceiling projectId'),\n profileRevisionId: identifier(record.profileRevisionId, 'Profile ceiling profileRevisionId'),\n profileDigest: contentDigest(record.profileDigest, 'Profile ceiling profileDigest'),\n catalogRevision: positiveSafeInteger(record.catalogRevision, 'Profile ceiling catalogRevision'),\n catalogDigest: contentDigest(record.catalogDigest, 'Profile ceiling catalogDigest'),\n allowedPoolIds,\n poolLimits,\n maxWorstCaseCostMicros: nonNegativeSafeInteger(\n record.maxWorstCaseCostMicros,\n 'Profile ceiling maxWorstCaseCostMicros',\n ),\n });\n}\n\nfunction validateDemand(\n demand: PortfolioResourceDemand,\n pool: ResourcePoolCatalogEntry,\n limit: ResourcePoolProfileLimit,\n): void {\n if (demand.capacityUnits > pool.capacityUnits\n || demand.capacityUnits > pool.maxCapacityUnitsPerBundle) {\n throw new Error(`Resource Pool ${pool.poolId} capacity demand exceeds catalog limit`);\n }\n if (demand.rateUnits > pool.rateUnitsPerWindow\n || demand.rateUnits > pool.maxRateUnitsPerBundle) {\n throw new Error(`Resource Pool ${pool.poolId} rate demand exceeds catalog limit`);\n }\n if (demand.budgetUnits > pool.maxUsageUnitsPerBundle) {\n throw new Error(`Resource Pool ${pool.poolId} worst-case usage exceeds catalog limit`);\n }\n if (demand.capacityUnits > limit.maxCapacityUnits) {\n throw new Error(`Resource Pool ${pool.poolId} capacity demand exceeds Project Profile ceiling`);\n }\n if (demand.rateUnits > limit.maxRateUnits) {\n throw new Error(`Resource Pool ${pool.poolId} rate demand exceeds Project Profile ceiling`);\n }\n if (demand.budgetUnits > limit.maxUsageUnits) {\n throw new Error(`Resource Pool ${pool.poolId} worst-case usage exceeds Project Profile ceiling`);\n }\n}\n\nfunction exactRecord(\n value: unknown,\n allowed: ReadonlySet<string>,\n label: string,\n allowMissingKnownKeys = false,\n): Record<string, unknown> {\n if (!value || typeof value !== 'object' || Array.isArray(value)) {\n throw new Error(`${label} must be an object`);\n }\n const record = value as Record<string, unknown>;\n const unknown = Object.keys(record).filter((key) => !allowed.has(key)).sort();\n if (unknown.length > 0 && !allowMissingKnownKeys) {\n throw new Error(`${label} cannot carry requester metadata or unknown fields: ${unknown.join(', ')}`);\n }\n return record;\n}\n\nfunction identifier(value: unknown, path: string): string {\n if (typeof value !== 'string' || value.length === 0 || value.length > 256) {\n throw new Error(`Invalid ${path}`);\n }\n return value;\n}\n\nfunction contentDigest(value: unknown, path: string): string {\n const result = identifier(value, path);\n if (!result.startsWith('sha256:')) throw new Error(`Invalid ${path}`);\n return result;\n}\n\nfunction positiveSafeInteger(value: unknown, path: string): number {\n if (!Number.isSafeInteger(value) || Number(value) <= 0) {\n throw new Error(`${path} must be a positive safe integer`);\n }\n return Number(value);\n}\n\nfunction nonNegativeSafeInteger(value: unknown, path: string): number {\n if (!Number.isSafeInteger(value) || Number(value) < 0) {\n throw new Error(`${path} must be a non-negative safe integer`);\n }\n return Number(value);\n}\n\nfunction bindEqual(left: string | number, right: string | number, label: string): void {\n if (left !== right) throw new Error(`${label} binding mismatch`);\n}\n\nfunction assertUnique(values: readonly string[], label: string): void {\n const seen = new Set<string>();\n for (const value of values) {\n if (seen.has(value)) throw new Error(`Duplicate ${label}: ${value}`);\n seen.add(value);\n }\n}\n\nfunction checkedProduct(left: number, right: number): number {\n const result = left * right;\n if (!Number.isSafeInteger(result)) throw new Error('Resource Bundle worst-case cost exceeds safe integer range');\n return result;\n}\n\nfunction checkedSum(left: number, right: number): number {\n const result = left + right;\n if (!Number.isSafeInteger(result)) throw new Error('Resource Bundle total worst-case cost exceeds safe integer range');\n return result;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sponsor-projection.js","sourceRoot":"","sources":["../../src/portfolio/sponsor-projection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sponsor-projection.js","sourceRoot":"","sources":["../../src/portfolio/sponsor-projection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GAEvB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,IAAI,UAAU,EACrC,4BAA4B,IAAI,MAAM,GACvC,MAAM,gCAAgC,CAAC;AA6CxC,MAAM,UAAU,gCAAgC,CAAC,KAA8B;IAC7E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAsD,EAAE,CAAC;IACvE,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClE,QAAQ,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;YAC/B,SAAS;YACT,cAAc,EAAE,OAAO,CAAC,QAAQ;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;iBAChC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;iBAC9C,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;iBAChF,GAAG,CAAC,eAAe,CAAC;YACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;iBACpC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;iBAClD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;iBACpF,GAAG,CAAC,iBAAiB,CAAC;YACzB,MAAM,EAAE;gBACN,WAAW,EAAE,OAAO,CAAC,gBAAgB;gBACrC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,eAAe,EAAE,MAAM,CAAC,eAAe;aACxC;YACD,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC;YACtC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9F,QAAQ,EAAE;gBACR,iBAAiB;gBACjB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC/D,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;aACjD;SACF,CAAC,CAAC;IACL,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;SACnE,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC3C,CAAC,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACrG,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,UAAU,CAAC;QACtB,OAAO,EAAE,CAAU;QACnB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,cAAc,EAAE,KAAK,CAAC,QAAQ;QAC9B,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QACrH,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAC5D,YAAY,EAAE;YACZ,WAAW,EAAE,MAAM,CAAC,kBAAkB;YACtC,cAAc;YACd,WAAW;YACX,eAAe,EAAE,MAAM,CAAC,kBAAkB,GAAG,cAAc,GAAG,WAAW;SAC1E;QACD,QAAQ;KACT,CAAC,CAAC;IACH,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxB,OAAO,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA8B,EAAE,SAAiB;IACzE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;SACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;SACzB,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS;WAC7C,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;SACnE,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU;WACpD,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB;WAChD,4BAA4B,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAiC;IAC/D,OAAO,UAAU,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;KAChF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,KAA6B;IACpD,OAAO,UAAU,CAAC;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM;QAC5F,oBAAoB,EAAE,KAAK,CAAC,oBAAoB,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc;QACtF,GAAG,CAAC,KAAK,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;KACxF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAiC;IAC1D,OAAO,UAAU,CAAC;QAChB,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM;QAC9E,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAClD,GAAG,CAAC,OAAO,CAAC,oBAAoB,KAAK,SAAS;YAC5C,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,EAAE,CAAC;KAC5D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc,CAAC,KAA8B,EAAE,SAAiB;IACvE,MAAM,MAAM,GAEN,EAAE,CAAC;IACT,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;QACtI,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QACxF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;aAC1C,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS;eACzC,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC;aACxG,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK;cAC3B,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClG,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;YAC1B,WAAW;YACX,SAAS,EAAE,WAAW,GAAG,IAAI,CAAC,eAAe;YAC7C,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,kBAAkB;SACpC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IACD,MAAM,SAAS,GAAG,+FAA+F,CAAC;IAClH,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChD,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,GAAG,EAAE,CAAC,CAAC;QACnG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC","sourcesContent":["import {\n portfolioProjectBudget,\n portfolioRequestBlockers,\n portfolioRequestStatus,\n type PortfolioAdmissionState,\n} from './portfolio-admission.js';\nimport type {\n PortfolioCapacityGrant,\n PortfolioCapacityReclaim,\n PortfolioCapacityRequest,\n PortfolioLane,\n PortfolioProjectStatus,\n} from './portfolio-journal.js';\nimport {\n compareCanonicalWorkroomText,\n deepFreezeWorkroomValue as deepFreeze,\n digestCanonicalWorkroomValue as digest,\n} from '../workroom/canonical-value.js';\n\nexport interface PortfolioSponsorProjection {\n readonly version: 1;\n readonly portfolioId: string;\n readonly sourceSequence: number;\n readonly clock: Readonly<{ now: number; sequence: number; digest?: string }>;\n readonly policy: Readonly<{ revision: number; digest: string }>;\n readonly globalBudget: Readonly<{\n limitMicros: number; reservedMicros: number; spentMicros: number; availableMicros: number;\n }>;\n readonly projects: Readonly<Record<string, PortfolioSponsorProjectProjection>>;\n readonly digest: string;\n}\n\nexport interface PortfolioSponsorProjectProjection {\n readonly projectId: string;\n readonly policyRevision: number;\n readonly lane: PortfolioLane;\n readonly status: PortfolioProjectStatus;\n readonly weight: number;\n readonly queueHead?: Readonly<{\n requestId: string; opaqueHeadId: string; schedulerRevision: string;\n schedulerSequence: number; payloadDigest: string; starvationAt: number; deadlineAt?: number;\n }>;\n readonly grants: readonly Readonly<{\n grantId: string; requestId: string; fence: number; status: PortfolioCapacityGrant['status'];\n resourceBundleDigest: string; offerExpiresAt: number; leaseExpiresAt?: number;\n }>[];\n readonly reclaims: readonly Readonly<{\n reclaimId: string; grantId: string; status: PortfolioCapacityReclaim['status'];\n reason: PortfolioCapacityReclaim['reason']; deadline: number; reservedForRequestId?: string;\n }>[];\n readonly budget: Readonly<{\n limitMicros: number; reservedMicros: number; spentMicros: number; availableMicros: number;\n }>;\n readonly rate: Readonly<Record<string, Readonly<{\n windowStart: number; windowEnd: number; usedUnits: number; limitUnits: number;\n }>>>;\n readonly blockers: readonly string[];\n readonly fairness: Readonly<{\n normalizedService: number; weight: number; weightedService: number; normalizedAtSequence: number;\n }>;\n}\n\nexport function createPortfolioSponsorProjection(state: PortfolioAdmissionState): PortfolioSponsorProjection {\n const policy = state.policy;\n if (!policy) throw new Error('Portfolio Sponsor projection requires a pinned Policy');\n const projects: Record<string, PortfolioSponsorProjectProjection> = {};\n for (const projectId of Object.keys(policy.projects).sort()) {\n const project = policy.projects[projectId]!;\n const queueHead = projectQueueHead(state, projectId);\n const budget = portfolioProjectBudget(state, projectId);\n const normalizedService = state.normalizedService[projectId] ?? 0;\n projects[projectId] = deepFreeze({\n projectId,\n policyRevision: project.revision,\n lane: project.lane,\n status: project.status,\n weight: project.weight,\n ...(queueHead ? { queueHead: projectQueueProjection(queueHead) } : {}),\n grants: Object.values(state.grants)\n .filter(grant => grant.projectId === projectId)\n .sort((left, right) => compareCanonicalWorkroomText(left.grantId, right.grantId))\n .map(grantProjection),\n reclaims: Object.values(state.reclaims)\n .filter(reclaim => reclaim.projectId === projectId)\n .sort((left, right) => compareCanonicalWorkroomText(left.reclaimId, right.reclaimId))\n .map(reclaimProjection),\n budget: {\n limitMicros: project.hardBudgetMicros,\n reservedMicros: budget.reservedMicros,\n spentMicros: budget.spentMicros,\n availableMicros: budget.availableMicros,\n },\n rate: rateProjection(state, projectId),\n blockers: queueHead ? portfolioRequestBlockers(state, queueHead.requestId) : Object.freeze([]),\n fairness: {\n normalizedService,\n weight: project.weight,\n weightedService: Math.floor(normalizedService / project.weight),\n normalizedAtSequence: state.normalizedAtSequence,\n },\n });\n }\n const grants = Object.values(state.grants);\n const spentMicros = grants.filter(grant => grant.status === 'settled')\n .reduce((total, grant) => total + (grant.actualCostMicros ?? 0), 0);\n const reservedMicros = grants.filter(grant =>\n ['offered', 'consumed', 'reclaim_requested', 'usage_pending', 'usage_unknown'].includes(grant.status))\n .reduce((total, grant) => total + grant.reservedCostMicros, 0);\n const body = deepFreeze({\n version: 1 as const,\n portfolioId: state.portfolioId,\n sourceSequence: state.sequence,\n clock: { now: state.now, sequence: state.clockSequence, ...(state.clockDigest ? { digest: state.clockDigest } : {}) },\n policy: { revision: policy.revision, digest: policy.digest },\n globalBudget: {\n limitMicros: policy.globalBudgetMicros,\n reservedMicros,\n spentMicros,\n availableMicros: policy.globalBudgetMicros - reservedMicros - spentMicros,\n },\n projects,\n });\n assertContentFree(body);\n return deepFreeze({ ...body, digest: digest(body) });\n}\n\nfunction projectQueueHead(state: PortfolioAdmissionState, projectId: string): PortfolioCapacityRequest | undefined {\n return Object.values(state.requests)\n .map(item => item.request)\n .filter(request => request.projectId === projectId\n && portfolioRequestStatus(state, request.requestId) === 'pending')\n .sort((left, right) => left.localOrder - right.localOrder\n || left.schedulerSequence - right.schedulerSequence\n || compareCanonicalWorkroomText(left.requestId, right.requestId))[0];\n}\n\nfunction projectQueueProjection(request: PortfolioCapacityRequest) {\n return deepFreeze({\n requestId: request.requestId,\n opaqueHeadId: request.opaqueHeadId,\n schedulerRevision: request.schedulerRevision,\n schedulerSequence: request.schedulerSequence,\n payloadDigest: request.payloadDigest,\n starvationAt: request.starvationAt,\n ...(request.deadlineAt === undefined ? {} : { deadlineAt: request.deadlineAt }),\n });\n}\n\nfunction grantProjection(grant: PortfolioCapacityGrant) {\n return deepFreeze({\n grantId: grant.grantId, requestId: grant.requestId, fence: grant.fence, status: grant.status,\n resourceBundleDigest: grant.resourceBundleDigest, offerExpiresAt: grant.offerExpiresAt,\n ...(grant.leaseExpiresAt === undefined ? {} : { leaseExpiresAt: grant.leaseExpiresAt }),\n });\n}\n\nfunction reclaimProjection(reclaim: PortfolioCapacityReclaim) {\n return deepFreeze({\n reclaimId: reclaim.reclaimId, grantId: reclaim.grantId, status: reclaim.status,\n reason: reclaim.reason, deadline: reclaim.deadline,\n ...(reclaim.reservedForRequestId === undefined\n ? {}\n : { reservedForRequestId: reclaim.reservedForRequestId }),\n });\n}\n\nfunction rateProjection(state: PortfolioAdmissionState, projectId: string) {\n const result: Record<string, Readonly<{\n windowStart: number; windowEnd: number; usedUnits: number; limitUnits: number;\n }>> = {};\n for (const [poolId, pool] of Object.entries(state.policy!.pools).sort(([left], [right]) => compareCanonicalWorkroomText(left, right))) {\n const windowStart = Math.floor(state.now / pool.rateWindowTicks) * pool.rateWindowTicks;\n const usedUnits = Object.values(state.grants)\n .filter(grant => grant.projectId === projectId\n && (grant.status === 'offered' || (grant.consumedAt !== undefined && grant.consumedAt >= windowStart)))\n .reduce((total, grant) => total\n + (grant.resourceBundle.demands.find(demand => demand.poolId === poolId)?.rateUnits ?? 0), 0);\n result[poolId] = deepFreeze({\n windowStart,\n windowEnd: windowStart + pool.rateWindowTicks,\n usedUnits,\n limitUnits: pool.rateUnitsPerWindow,\n });\n }\n return deepFreeze(result);\n}\n\nfunction assertContentFree(value: unknown): void {\n if (!value || typeof value !== 'object') return;\n if (Array.isArray(value)) {\n for (const item of value) assertContentFree(item);\n return;\n }\n const forbidden = /^(?:prompt|message|context|memory|artifact|evidence|title|objective|body|content|toolArgs)$/iu;\n for (const [key, item] of Object.entries(value)) {\n if (forbidden.test(key)) throw new Error(`Portfolio Sponsor projection contains forbidden ${key}`);\n assertContentFree(item);\n }\n}\n"]}
|
package/lib/portfolio.d.ts
CHANGED
|
@@ -21,4 +21,3 @@ export * from './workroom-runtime/workroom-portfolio-control-runtime.js';
|
|
|
21
21
|
export * from './workroom-runtime/workroom-portfolio-grant-assignment.js';
|
|
22
22
|
export * from './workroom-runtime/workroom-portfolio-kernel-authority.js';
|
|
23
23
|
export * from './workroom-runtime/workroom-portfolio-sponsor.js';
|
|
24
|
-
//# sourceMappingURL=portfolio.d.ts.map
|
package/lib/portfolio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../src/portfolio.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAChE,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mDAAmD,CAAC;AAClE,cAAc,yDAAyD,CAAC;AACxE,cAAc,8DAA8D,CAAC;AAC7E,cAAc,0DAA0D,CAAC;AACzE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,kDAAkD,CAAC"}
|
|
1
|
+
{"version":3,"file":"portfolio.js","sourceRoot":"","sources":["../src/portfolio.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,kCAAkC,CAAC;AACjD,cAAc,uCAAuC,CAAC;AACtD,cAAc,oCAAoC,CAAC;AACnD,cAAc,wCAAwC,CAAC;AACvD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,iDAAiD,CAAC;AAChE,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mDAAmD,CAAC;AAClE,cAAc,yDAAyD,CAAC;AACxE,cAAc,8DAA8D,CAAC;AAC7E,cAAc,0DAA0D,CAAC;AACzE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,2DAA2D,CAAC;AAC1E,cAAc,kDAAkD,CAAC","sourcesContent":["/**\n * Workroom portfolio (journal, admission, capacity control outbox, sponsor, runtime composition).\n *\n * FROZEN: moved out of the package root entry (C4b). The default (legacy Kernel)\n * assembly path in `@zhin.js/cli` still creates these modules; they are only\n * not part of the root exports. The new Room core does not depend on them.\n * New code must not depend on it.\n */\nexport * from './portfolio/portfolio-journal.js';\nexport * from './portfolio/file-portfolio-journal.js';\nexport * from './portfolio/portfolio-admission.js';\nexport * from './portfolio/capacity-control-outbox.js';\nexport * from './portfolio/file-capacity-control-outbox.js';\nexport * from './portfolio/database-capacity-control-outbox.js';\nexport * from './portfolio/sponsor-projection.js';\nexport * from './portfolio/resource-bundle.js';\nexport * from './workroom-runtime/workroom-portfolio-capacity.js';\nexport * from './workroom-runtime/workroom-portfolio-checkpoint-ack.js';\nexport * from './workroom-runtime/workroom-portfolio-control-composition.js';\nexport * from './workroom-runtime/workroom-portfolio-control-runtime.js';\nexport * from './workroom-runtime/workroom-portfolio-grant-assignment.js';\nexport * from './workroom-runtime/workroom-portfolio-kernel-authority.js';\nexport * from './workroom-runtime/workroom-portfolio-sponsor.js';\n"]}
|
package/lib/remote.d.ts
CHANGED
|
@@ -20,4 +20,3 @@ export * from './workroom/remote-executor.js';
|
|
|
20
20
|
export * from './workroom-runtime/workroom-remote-assignment-authority.js';
|
|
21
21
|
export * from './workroom-runtime/workroom-remote-callback-runtime.js';
|
|
22
22
|
export * from './workroom-runtime/workroom-remote-executor.js';
|
|
23
|
-
//# sourceMappingURL=remote.d.ts.map
|
package/lib/remote.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AACjE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4DAA4D,CAAC;AAC3E,cAAc,wDAAwD,CAAC;AACvE,cAAc,gDAAgD,CAAC"}
|
|
1
|
+
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../src/remote.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,sCAAsC,CAAC;AACrD,cAAc,sCAAsC,CAAC;AACrD,cAAc,yCAAyC,CAAC;AACxD,cAAc,yCAAyC,CAAC;AACxD,cAAc,0CAA0C,CAAC;AACzD,cAAc,kDAAkD,CAAC;AACjE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4DAA4D,CAAC;AAC3E,cAAc,wDAAwD,CAAC;AACvE,cAAc,gDAAgD,CAAC","sourcesContent":["/**\n * Workroom remote dispatch / callback / assignment (A2A extension).\n *\n * FROZEN: not part of the package root entry or the default assembly path.\n * Kept only for the optional A2A remote transport (`a2a.workroomCallbacks` /\n * `a2a.workroomRemoteExecutors`). New code must not depend on it.\n */\nexport * from './workroom/remote-callback-inbox.js';\nexport * from './workroom/remote-callback-reconciliation-worker.js';\nexport * from './workroom/remote-callback-application.js';\nexport * from './workroom/remote-callback-gateway.js';\nexport * from './workroom/remote-dispatch.js';\nexport * from './workroom/remote-dispatch-outbox.js';\nexport * from './workroom/remote-dispatch-worker.js';\nexport * from './workroom/remote-dispatch-admission.js';\nexport * from './workroom/remote-dispatch-scheduler.js';\nexport * from './workroom/remote-assignment-issuance.js';\nexport * from './workroom/remote-assignment-dispatch-command.js';\nexport * from './workroom/remote-executor.js';\nexport * from './workroom-runtime/workroom-remote-assignment-authority.js';\nexport * from './workroom-runtime/workroom-remote-callback-runtime.js';\nexport * from './workroom-runtime/workroom-remote-executor.js';\n"]}
|
|
@@ -63,4 +63,3 @@ export declare class DatabaseRoomTaskJournal implements RoomTaskJournal {
|
|
|
63
63
|
read(roomId: string): Promise<readonly RoomTaskEvent[]>;
|
|
64
64
|
append(roomId: string, expectedSequence: number, events: readonly RoomTaskEvent[]): Promise<readonly RoomTaskEvent[]>;
|
|
65
65
|
}
|
|
66
|
-
//# sourceMappingURL=database-room-task-journal.d.ts.map
|