oh-my-super-agent 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/agents/advisor.md +15 -0
- package/.agents/agents/conductor.md +32 -0
- package/.agents/agents/dreamer.md +13 -0
- package/.agents/agents/executor.md +17 -0
- package/.agents/agents/grader.md +15 -0
- package/.agents/config/endurance-policy.json +8 -0
- package/.agents/config/oms-config.json +119 -0
- package/.agents/config/release-policy.json +12 -0
- package/.agents/config/secret-scan-policy.json +7 -0
- package/.agents/config/verification-plan.json +33 -0
- package/.agents/registry.json +11 -0
- package/.agents/rules/constitution.md +7 -0
- package/.agents/skills/conductor/SKILL.md +23 -0
- package/.agents/skills/dream/SKILL.md +14 -0
- package/.agents/skills/executor/SKILL.md +13 -0
- package/.agents/skills/oms/SKILL.md +52 -0
- package/.agents/skills/quota-aware/SKILL.md +12 -0
- package/.agents/skills/schedule/SKILL.md +13 -0
- package/.agents/skills/team-protocol/SKILL.md +20 -0
- package/LICENSE +21 -0
- package/README.md +146 -0
- package/dist/src/audit/run-ledger.d.ts +183 -0
- package/dist/src/audit/run-ledger.js +1655 -0
- package/dist/src/audit/run-ledger.js.map +1 -0
- package/dist/src/cli.d.ts +61 -0
- package/dist/src/cli.js +2096 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/commands/github-queue-probe.d.ts +26 -0
- package/dist/src/commands/github-queue-probe.js +51 -0
- package/dist/src/commands/github-queue-probe.js.map +1 -0
- package/dist/src/commands/trace-fixture.d.ts +20 -0
- package/dist/src/commands/trace-fixture.js +72 -0
- package/dist/src/commands/trace-fixture.js.map +1 -0
- package/dist/src/conductor/activity.d.ts +46 -0
- package/dist/src/conductor/activity.js +224 -0
- package/dist/src/conductor/activity.js.map +1 -0
- package/dist/src/conductor/bridge.d.ts +53 -0
- package/dist/src/conductor/bridge.js +652 -0
- package/dist/src/conductor/bridge.js.map +1 -0
- package/dist/src/conductor/notifications.d.ts +59 -0
- package/dist/src/conductor/notifications.js +381 -0
- package/dist/src/conductor/notifications.js.map +1 -0
- package/dist/src/conductor/recovery.d.ts +29 -0
- package/dist/src/conductor/recovery.js +198 -0
- package/dist/src/conductor/recovery.js.map +1 -0
- package/dist/src/conductor/start.d.ts +73 -0
- package/dist/src/conductor/start.js +519 -0
- package/dist/src/conductor/start.js.map +1 -0
- package/dist/src/conductor/waiter.d.ts +88 -0
- package/dist/src/conductor/waiter.js +427 -0
- package/dist/src/conductor/waiter.js.map +1 -0
- package/dist/src/config.d.ts +9 -0
- package/dist/src/config.js +40 -0
- package/dist/src/config.js.map +1 -0
- package/dist/src/dispatch/advice-source.d.ts +61 -0
- package/dist/src/dispatch/advice-source.js +198 -0
- package/dist/src/dispatch/advice-source.js.map +1 -0
- package/dist/src/dispatch/advice-store.d.ts +41 -0
- package/dist/src/dispatch/advice-store.js +201 -0
- package/dist/src/dispatch/advice-store.js.map +1 -0
- package/dist/src/dispatch/advice.d.ts +34 -0
- package/dist/src/dispatch/advice.js +371 -0
- package/dist/src/dispatch/advice.js.map +1 -0
- package/dist/src/dispatch/authority.d.ts +124 -0
- package/dist/src/dispatch/authority.js +1202 -0
- package/dist/src/dispatch/authority.js.map +1 -0
- package/dist/src/dispatch/intent.d.ts +66 -0
- package/dist/src/dispatch/intent.js +71 -0
- package/dist/src/dispatch/intent.js.map +1 -0
- package/dist/src/dispatch/runtime-authority.d.ts +42 -0
- package/dist/src/dispatch/runtime-authority.js +52 -0
- package/dist/src/dispatch/runtime-authority.js.map +1 -0
- package/dist/src/doctor.d.ts +20 -0
- package/dist/src/doctor.js +85 -0
- package/dist/src/doctor.js.map +1 -0
- package/dist/src/domain/records.d.ts +44 -0
- package/dist/src/domain/records.js +138 -0
- package/dist/src/domain/records.js.map +1 -0
- package/dist/src/domain/role-policy.d.ts +67 -0
- package/dist/src/domain/role-policy.js +547 -0
- package/dist/src/domain/role-policy.js.map +1 -0
- package/dist/src/events/bus.d.ts +32 -0
- package/dist/src/events/bus.js +115 -0
- package/dist/src/events/bus.js.map +1 -0
- package/dist/src/events/kinds.d.ts +126 -0
- package/dist/src/events/kinds.js +14 -0
- package/dist/src/events/kinds.js.map +1 -0
- package/dist/src/evidence/immutable-file.d.ts +12 -0
- package/dist/src/evidence/immutable-file.js +141 -0
- package/dist/src/evidence/immutable-file.js.map +1 -0
- package/dist/src/evidence/store.d.ts +125 -0
- package/dist/src/evidence/store.js +1189 -0
- package/dist/src/evidence/store.js.map +1 -0
- package/dist/src/evidence/verdict.d.ts +17 -0
- package/dist/src/evidence/verdict.js +23 -0
- package/dist/src/evidence/verdict.js.map +1 -0
- package/dist/src/generation/agent.d.ts +5 -0
- package/dist/src/generation/agent.js +34 -0
- package/dist/src/generation/agent.js.map +1 -0
- package/dist/src/generation/frontmatter.d.ts +7 -0
- package/dist/src/generation/frontmatter.js +33 -0
- package/dist/src/generation/frontmatter.js.map +1 -0
- package/dist/src/github/adapter.d.ts +44 -0
- package/dist/src/github/adapter.js +592 -0
- package/dist/src/github/adapter.js.map +1 -0
- package/dist/src/github/dispatch-eligibility.d.ts +9 -0
- package/dist/src/github/dispatch-eligibility.js +94 -0
- package/dist/src/github/dispatch-eligibility.js.map +1 -0
- package/dist/src/github/projector.d.ts +23 -0
- package/dist/src/github/projector.js +181 -0
- package/dist/src/github/projector.js.map +1 -0
- package/dist/src/github/review.d.ts +39 -0
- package/dist/src/github/review.js +1450 -0
- package/dist/src/github/review.js.map +1 -0
- package/dist/src/github/sync.d.ts +21 -0
- package/dist/src/github/sync.js +518 -0
- package/dist/src/github/sync.js.map +1 -0
- package/dist/src/github/types.d.ts +134 -0
- package/dist/src/github/types.js +11 -0
- package/dist/src/github/types.js.map +1 -0
- package/dist/src/goals/artifact-store.d.ts +31 -0
- package/dist/src/goals/artifact-store.js +241 -0
- package/dist/src/goals/artifact-store.js.map +1 -0
- package/dist/src/goals/authority.d.ts +112 -0
- package/dist/src/goals/authority.js +621 -0
- package/dist/src/goals/authority.js.map +1 -0
- package/dist/src/goals/native-snapshot.d.ts +12 -0
- package/dist/src/goals/native-snapshot.js +53 -0
- package/dist/src/goals/native-snapshot.js.map +1 -0
- package/dist/src/goals/runtime-authority.d.ts +7 -0
- package/dist/src/goals/runtime-authority.js +20 -0
- package/dist/src/goals/runtime-authority.js.map +1 -0
- package/dist/src/health/release-assessment.d.ts +11 -0
- package/dist/src/health/release-assessment.js +83 -0
- package/dist/src/health/release-assessment.js.map +1 -0
- package/dist/src/health/release-policy.d.ts +16 -0
- package/dist/src/health/release-policy.js +40 -0
- package/dist/src/health/release-policy.js.map +1 -0
- package/dist/src/hooks/native.d.ts +30 -0
- package/dist/src/hooks/native.js +495 -0
- package/dist/src/hooks/native.js.map +1 -0
- package/dist/src/hooks/provider-runtime.d.ts +55 -0
- package/dist/src/hooks/provider-runtime.js +479 -0
- package/dist/src/hooks/provider-runtime.js.map +1 -0
- package/dist/src/hooks/provider.d.ts +102 -0
- package/dist/src/hooks/provider.js +358 -0
- package/dist/src/hooks/provider.js.map +1 -0
- package/dist/src/live/contact-journal.d.ts +73 -0
- package/dist/src/live/contact-journal.js +439 -0
- package/dist/src/live/contact-journal.js.map +1 -0
- package/dist/src/live-probes/gh-adapter.d.ts +28 -0
- package/dist/src/live-probes/gh-adapter.js +188 -0
- package/dist/src/live-probes/gh-adapter.js.map +1 -0
- package/dist/src/live-probes/github-queue.d.ts +1 -0
- package/dist/src/live-probes/github-queue.js +2 -0
- package/dist/src/live-probes/github-queue.js.map +1 -0
- package/dist/src/notifications/slack-request.d.ts +13 -0
- package/dist/src/notifications/slack-request.js +40 -0
- package/dist/src/notifications/slack-request.js.map +1 -0
- package/dist/src/outbox/processor.d.ts +27 -0
- package/dist/src/outbox/processor.js +63 -0
- package/dist/src/outbox/processor.js.map +1 -0
- package/dist/src/outbox/store.d.ts +158 -0
- package/dist/src/outbox/store.js +834 -0
- package/dist/src/outbox/store.js.map +1 -0
- package/dist/src/package-root.d.ts +1 -0
- package/dist/src/package-root.js +26 -0
- package/dist/src/package-root.js.map +1 -0
- package/dist/src/project.d.ts +12 -0
- package/dist/src/project.js +60 -0
- package/dist/src/project.js.map +1 -0
- package/dist/src/projection/generated-file.d.ts +15 -0
- package/dist/src/projection/generated-file.js +72 -0
- package/dist/src/projection/generated-file.js.map +1 -0
- package/dist/src/projection/project-workspace.d.ts +11 -0
- package/dist/src/projection/project-workspace.js +94 -0
- package/dist/src/projection/project-workspace.js.map +1 -0
- package/dist/src/projection/registry.d.ts +15 -0
- package/dist/src/projection/registry.js +59 -0
- package/dist/src/projection/registry.js.map +1 -0
- package/dist/src/projection/safe-path.d.ts +4 -0
- package/dist/src/projection/safe-path.js +106 -0
- package/dist/src/projection/safe-path.js.map +1 -0
- package/dist/src/providers/claude-interactive.d.ts +38 -0
- package/dist/src/providers/claude-interactive.js +287 -0
- package/dist/src/providers/claude-interactive.js.map +1 -0
- package/dist/src/providers/claude-structured-bridge.d.ts +32 -0
- package/dist/src/providers/claude-structured-bridge.js +215 -0
- package/dist/src/providers/claude-structured-bridge.js.map +1 -0
- package/dist/src/providers/claude-structured-completion.d.ts +23 -0
- package/dist/src/providers/claude-structured-completion.js +229 -0
- package/dist/src/providers/claude-structured-completion.js.map +1 -0
- package/dist/src/providers/claude-structured-pane.d.ts +23 -0
- package/dist/src/providers/claude-structured-pane.js +156 -0
- package/dist/src/providers/claude-structured-pane.js.map +1 -0
- package/dist/src/providers/claude-structured-store.d.ts +48 -0
- package/dist/src/providers/claude-structured-store.js +212 -0
- package/dist/src/providers/claude-structured-store.js.map +1 -0
- package/dist/src/providers/claude-structured.d.ts +56 -0
- package/dist/src/providers/claude-structured.js +250 -0
- package/dist/src/providers/claude-structured.js.map +1 -0
- package/dist/src/providers/codex-exec.d.ts +29 -0
- package/dist/src/providers/codex-exec.js +127 -0
- package/dist/src/providers/codex-exec.js.map +1 -0
- package/dist/src/providers/grading.d.ts +2 -0
- package/dist/src/providers/grading.js +20 -0
- package/dist/src/providers/grading.js.map +1 -0
- package/dist/src/providers/native-dispatch.d.ts +24 -0
- package/dist/src/providers/native-dispatch.js +34 -0
- package/dist/src/providers/native-dispatch.js.map +1 -0
- package/dist/src/providers/preflight.d.ts +65 -0
- package/dist/src/providers/preflight.js +256 -0
- package/dist/src/providers/preflight.js.map +1 -0
- package/dist/src/providers/process.d.ts +18 -0
- package/dist/src/providers/process.js +21 -0
- package/dist/src/providers/process.js.map +1 -0
- package/dist/src/queue/model.d.ts +37 -0
- package/dist/src/queue/model.js +51 -0
- package/dist/src/queue/model.js.map +1 -0
- package/dist/src/queue/service.d.ts +1 -0
- package/dist/src/queue/service.js +2 -0
- package/dist/src/queue/service.js.map +1 -0
- package/dist/src/reflections/store.d.ts +21 -0
- package/dist/src/reflections/store.js +60 -0
- package/dist/src/reflections/store.js.map +1 -0
- package/dist/src/reports/daily-trust.d.ts +11 -0
- package/dist/src/reports/daily-trust.js +98 -0
- package/dist/src/reports/daily-trust.js.map +1 -0
- package/dist/src/runs/controller.d.ts +187 -0
- package/dist/src/runs/controller.js +1182 -0
- package/dist/src/runs/controller.js.map +1 -0
- package/dist/src/runtime/composition.d.ts +9 -0
- package/dist/src/runtime/composition.js +35 -0
- package/dist/src/runtime/composition.js.map +1 -0
- package/dist/src/runtime/endurance-authorities.d.ts +44 -0
- package/dist/src/runtime/endurance-authorities.js +101 -0
- package/dist/src/runtime/endurance-authorities.js.map +1 -0
- package/dist/src/runtime/endurance-policy.d.ts +12 -0
- package/dist/src/runtime/endurance-policy.js +13 -0
- package/dist/src/runtime/endurance-policy.js.map +1 -0
- package/dist/src/runtime/lock.d.ts +63 -0
- package/dist/src/runtime/lock.js +577 -0
- package/dist/src/runtime/lock.js.map +1 -0
- package/dist/src/runtime/process-identity.d.ts +10 -0
- package/dist/src/runtime/process-identity.js +43 -0
- package/dist/src/runtime/process-identity.js.map +1 -0
- package/dist/src/runtime/quota.d.ts +130 -0
- package/dist/src/runtime/quota.js +590 -0
- package/dist/src/runtime/quota.js.map +1 -0
- package/dist/src/runtime/record-store.d.ts +45 -0
- package/dist/src/runtime/record-store.js +272 -0
- package/dist/src/runtime/record-store.js.map +1 -0
- package/dist/src/runtime/schema.d.ts +28 -0
- package/dist/src/runtime/schema.js +194 -0
- package/dist/src/runtime/schema.js.map +1 -0
- package/dist/src/runtime/stable-id.d.ts +3 -0
- package/dist/src/runtime/stable-id.js +27 -0
- package/dist/src/runtime/stable-id.js.map +1 -0
- package/dist/src/runtime/system-clock.d.ts +8 -0
- package/dist/src/runtime/system-clock.js +35 -0
- package/dist/src/runtime/system-clock.js.map +1 -0
- package/dist/src/schedule/service-plan.d.ts +58 -0
- package/dist/src/schedule/service-plan.js +327 -0
- package/dist/src/schedule/service-plan.js.map +1 -0
- package/dist/src/schedule/user-installation.d.ts +62 -0
- package/dist/src/schedule/user-installation.js +701 -0
- package/dist/src/schedule/user-installation.js.map +1 -0
- package/dist/src/schedule/user-plan.d.ts +47 -0
- package/dist/src/schedule/user-plan.js +286 -0
- package/dist/src/schedule/user-plan.js.map +1 -0
- package/dist/src/scheduler/minute.d.ts +31 -0
- package/dist/src/scheduler/minute.js +441 -0
- package/dist/src/scheduler/minute.js.map +1 -0
- package/dist/src/schemas/registry.d.ts +10 -0
- package/dist/src/schemas/registry.js +36 -0
- package/dist/src/schemas/registry.js.map +1 -0
- package/dist/src/security/secret-scan.d.ts +50 -0
- package/dist/src/security/secret-scan.js +384 -0
- package/dist/src/security/secret-scan.js.map +1 -0
- package/dist/src/sessions/registry.d.ts +89 -0
- package/dist/src/sessions/registry.js +443 -0
- package/dist/src/sessions/registry.js.map +1 -0
- package/dist/src/state.d.ts +27 -0
- package/dist/src/state.js +235 -0
- package/dist/src/state.js.map +1 -0
- package/dist/src/status/hud.d.ts +37 -0
- package/dist/src/status/hud.js +88 -0
- package/dist/src/status/hud.js.map +1 -0
- package/dist/src/team/plan.d.ts +31 -0
- package/dist/src/team/plan.js +184 -0
- package/dist/src/team/plan.js.map +1 -0
- package/dist/src/team/projection.d.ts +24 -0
- package/dist/src/team/projection.js +79 -0
- package/dist/src/team/projection.js.map +1 -0
- package/dist/src/tickets/admission.d.ts +34 -0
- package/dist/src/tickets/admission.js +169 -0
- package/dist/src/tickets/admission.js.map +1 -0
- package/dist/src/tickets/materializer.d.ts +1 -0
- package/dist/src/tickets/materializer.js +2 -0
- package/dist/src/tickets/materializer.js.map +1 -0
- package/dist/src/tickets/runtime-authority.d.ts +32 -0
- package/dist/src/tickets/runtime-authority.js +46 -0
- package/dist/src/tickets/runtime-authority.js.map +1 -0
- package/dist/src/tickets/store.d.ts +221 -0
- package/dist/src/tickets/store.js +2025 -0
- package/dist/src/tickets/store.js.map +1 -0
- package/dist/src/tracer/one-ticket.d.ts +58 -0
- package/dist/src/tracer/one-ticket.js +578 -0
- package/dist/src/tracer/one-ticket.js.map +1 -0
- package/dist/src/trust/assessment.d.ts +24 -0
- package/dist/src/trust/assessment.js +124 -0
- package/dist/src/trust/assessment.js.map +1 -0
- package/dist/src/trust/runs.d.ts +13 -0
- package/dist/src/trust/runs.js +46 -0
- package/dist/src/trust/runs.js.map +1 -0
- package/dist/src/types.d.ts +6 -0
- package/dist/src/types.js +2 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/utils/fs.d.ts +13 -0
- package/dist/src/utils/fs.js +188 -0
- package/dist/src/utils/fs.js.map +1 -0
- package/dist/src/verification/authority.d.ts +28 -0
- package/dist/src/verification/authority.js +153 -0
- package/dist/src/verification/authority.js.map +1 -0
- package/dist/src/verification/grade-source.d.ts +17 -0
- package/dist/src/verification/grade-source.js +30 -0
- package/dist/src/verification/grade-source.js.map +1 -0
- package/dist/src/verification/plan.d.ts +20 -0
- package/dist/src/verification/plan.js +128 -0
- package/dist/src/verification/plan.js.map +1 -0
- package/dist/src/verification/protected-runner.d.ts +50 -0
- package/dist/src/verification/protected-runner.js +171 -0
- package/dist/src/verification/protected-runner.js.map +1 -0
- package/dist/src/verification/result-gate-store.d.ts +72 -0
- package/dist/src/verification/result-gate-store.js +193 -0
- package/dist/src/verification/result-gate-store.js.map +1 -0
- package/dist/src/verification/result-gate.d.ts +41 -0
- package/dist/src/verification/result-gate.js +731 -0
- package/dist/src/verification/result-gate.js.map +1 -0
- package/dist/src/verification/runner.d.ts +38 -0
- package/dist/src/verification/runner.js +143 -0
- package/dist/src/verification/runner.js.map +1 -0
- package/dist/src/verification/sandbox.d.ts +16 -0
- package/dist/src/verification/sandbox.js +199 -0
- package/dist/src/verification/sandbox.js.map +1 -0
- package/dist/src/verify.d.ts +8 -0
- package/dist/src/verify.js +35 -0
- package/dist/src/verify.js.map +1 -0
- package/dist/src/watchdog/reconcile.d.ts +42 -0
- package/dist/src/watchdog/reconcile.js +440 -0
- package/dist/src/watchdog/reconcile.js.map +1 -0
- package/dist/src/workers/bridge.d.ts +35 -0
- package/dist/src/workers/bridge.js +426 -0
- package/dist/src/workers/bridge.js.map +1 -0
- package/dist/src/workers/delivery.d.ts +31 -0
- package/dist/src/workers/delivery.js +876 -0
- package/dist/src/workers/delivery.js.map +1 -0
- package/dist/src/workers/panes.d.ts +32 -0
- package/dist/src/workers/panes.js +212 -0
- package/dist/src/workers/panes.js.map +1 -0
- package/dist/src/workers/registry.d.ts +80 -0
- package/dist/src/workers/registry.js +351 -0
- package/dist/src/workers/registry.js.map +1 -0
- package/dist/src/workers/runtime.d.ts +44 -0
- package/dist/src/workers/runtime.js +21 -0
- package/dist/src/workers/runtime.js.map +1 -0
- package/dist/src/worktrees/manager.d.ts +35 -0
- package/dist/src/worktrees/manager.js +315 -0
- package/dist/src/worktrees/manager.js.map +1 -0
- package/docs/ARCHITECTURE.md +323 -0
- package/docs/PLAN.md +216 -0
- package/docs/REFERENCES.md +42 -0
- package/docs/ROADMAP.md +327 -0
- package/docs/SECURITY.md +242 -0
- package/docs/adr/0001-tracer-first-file-backed-certification.md +41 -0
- package/docs/adr/0002-conductor-first-typed-dispatch.md +102 -0
- package/docs/adr/0003-mandatory-pre-dispatch-advice.md +59 -0
- package/docs/compatibility/claude-code-2.1.207.md +25 -0
- package/loop/contract.md +102 -0
- package/package.json +54 -0
- package/schemas/advisor-evidence.schema.json +54 -0
- package/schemas/advisor-output.schema.json +31 -0
- package/schemas/conductor-activity-payload.schema.json +38 -0
- package/schemas/conductor-decision.schema.json +29 -0
- package/schemas/conductor-dispatch-intent.schema.json +71 -0
- package/schemas/conductor-dispatch-preparation.schema.json +46 -0
- package/schemas/conductor-dispatch-proposal.schema.json +82 -0
- package/schemas/conductor-goal-proposal.schema.json +30 -0
- package/schemas/conductor-manage-worker.schema.json +17 -0
- package/schemas/conductor-notification-payload.schema.json +39 -0
- package/schemas/conductor-process-result.schema.json +14 -0
- package/schemas/conductor-route.schema.json +51 -0
- package/schemas/conductor-start-team.schema.json +16 -0
- package/schemas/conductor-waiter-payload.schema.json +68 -0
- package/schemas/deterministic-check.schema.json +107 -0
- package/schemas/dispatch-acknowledgement.schema.json +15 -0
- package/schemas/dispatch-advice-payload.schema.json +64 -0
- package/schemas/dispatch-payload.schema.json +131 -0
- package/schemas/dispatch-result.schema.json +28 -0
- package/schemas/endurance-policy.schema.json +16 -0
- package/schemas/events/dispatch-delivery-requested.schema.json +17 -0
- package/schemas/events/github-observed.schema.json +28 -0
- package/schemas/events/native-hook-observed.schema.json +35 -0
- package/schemas/events/provider-observed.schema.json +64 -0
- package/schemas/events/run-heartbeat-due.schema.json +10 -0
- package/schemas/events/slack-notification-requested.schema.json +14 -0
- package/schemas/events/structured-role-completed.schema.json +54 -0
- package/schemas/events/ticket-resume-due.schema.json +28 -0
- package/schemas/events/watchdog-lease-expired.schema.json +14 -0
- package/schemas/events/watchdog-outbox-stalled.schema.json +12 -0
- package/schemas/events/watchdog-session-stalled.schema.json +11 -0
- package/schemas/evidence-record.schema.json +37 -0
- package/schemas/executor-result.schema.json +17 -0
- package/schemas/github-observation.schema.json +33 -0
- package/schemas/github-watermark.schema.json +66 -0
- package/schemas/goal-artifact.schema.json +19 -0
- package/schemas/goal-create-input.schema.json +14 -0
- package/schemas/goal-executor-result.schema.json +18 -0
- package/schemas/goal-payload.schema.json +95 -0
- package/schemas/grader-output.schema.json +33 -0
- package/schemas/lease-expiry.schema.json +19 -0
- package/schemas/live-disclosure.schema.json +16 -0
- package/schemas/live-outcome.schema.json +52 -0
- package/schemas/native-goal-snapshot.schema.json +27 -0
- package/schemas/provider-observed.schema.json +64 -0
- package/schemas/quota-observation.schema.json +72 -0
- package/schemas/reflection-evidence.schema.json +61 -0
- package/schemas/reflection.schema.json +13 -0
- package/schemas/regression-request.schema.json +54 -0
- package/schemas/release-assessment.schema.json +34 -0
- package/schemas/release-policy.schema.json +30 -0
- package/schemas/result-gate-payload.schema.json +244 -0
- package/schemas/review-delivery-payload.schema.json +42 -0
- package/schemas/role-policy.schema.json +111 -0
- package/schemas/run-abort-input.schema.json +11 -0
- package/schemas/run-completion-proof.schema.json +62 -0
- package/schemas/run-ledger-entry.schema.json +78 -0
- package/schemas/run-manifest.schema.json +74 -0
- package/schemas/run-start-intent.schema.json +74 -0
- package/schemas/runtime-record.schema.json +111 -0
- package/schemas/service-plan.schema.json +35 -0
- package/schemas/session-payload.schema.json +80 -0
- package/schemas/structured-role-read-request.schema.json +14 -0
- package/schemas/structured-role-request.schema.json +44 -0
- package/schemas/structured-role-result.schema.json +38 -0
- package/schemas/structured-role-submit-result.schema.json +15 -0
- package/schemas/team-checkpoint.schema.json +42 -0
- package/schemas/team-plan.schema.json +30 -0
- package/schemas/ticket-content.schema.json +38 -0
- package/schemas/ticket-queue-payload.schema.json +191 -0
- package/schemas/trust-report.schema.json +68 -0
- package/schemas/trust-run.schema.json +47 -0
- package/schemas/ultragoal-checkpoint.schema.json +49 -0
- package/schemas/user-schedule-installation-v1.schema.json +32 -0
- package/schemas/user-schedule-installation.schema.json +38 -0
- package/schemas/user-schedule-plan.schema.json +39 -0
- package/schemas/verification-plan-evidence.schema.json +37 -0
- package/schemas/worker-acknowledge-dispatch.schema.json +12 -0
- package/schemas/worker-payload.schema.json +47 -0
- package/schemas/worker-read-dispatch.schema.json +11 -0
- package/schemas/worker-record-dispatch-result.schema.json +14 -0
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { assertOpaqueId } from "../domain/records.js";
|
|
4
|
+
import { canonicalTimestamp } from "../queue/model.js";
|
|
5
|
+
import { assertSchema, loadJsonSchema } from "../runtime/schema.js";
|
|
6
|
+
import { createStableId } from "../runtime/stable-id.js";
|
|
7
|
+
import { isRecord, validateExistingDirectory } from "../utils/fs.js";
|
|
8
|
+
export const SUPPORTED_PROVIDER_HOOK_VERSIONS = Object.freeze({
|
|
9
|
+
claude: "2.1.207",
|
|
10
|
+
codex: "0.145.0-alpha.2",
|
|
11
|
+
});
|
|
12
|
+
export const PROVIDER_HOOK_EVENTS = Object.freeze([
|
|
13
|
+
"SessionStart",
|
|
14
|
+
"UserPromptSubmit",
|
|
15
|
+
"Stop",
|
|
16
|
+
"StopFailure",
|
|
17
|
+
"Notification",
|
|
18
|
+
"SessionEnd",
|
|
19
|
+
]);
|
|
20
|
+
const MAX_HOOK_INPUT_BYTES = 64 * 1024;
|
|
21
|
+
const PROVIDER_OBSERVATIONS = new WeakSet();
|
|
22
|
+
const KIND_STATES = Object.freeze({
|
|
23
|
+
session: new Set(["started", "stopped"]),
|
|
24
|
+
activity: new Set(["idle", "working"]),
|
|
25
|
+
health: new Set(["healthy", "parked", "stalled", "stopped"]),
|
|
26
|
+
"completion-observed": new Set(["observed"]),
|
|
27
|
+
quota: new Set(["limited", "available"]),
|
|
28
|
+
});
|
|
29
|
+
const SUPPORTED_EVENTS = Object.freeze({
|
|
30
|
+
claude: new Set(PROVIDER_HOOK_EVENTS),
|
|
31
|
+
codex: new Set(["SessionStart", "UserPromptSubmit", "Stop"]),
|
|
32
|
+
});
|
|
33
|
+
export function normalizeProviderHook(options) {
|
|
34
|
+
const packageRoot = validateExistingDirectory(options.packageRoot, "provider hook package root");
|
|
35
|
+
const provider = assertProvider(options.provider);
|
|
36
|
+
const providerVersion = assertProviderVersion(provider, options.providerVersion);
|
|
37
|
+
const dispatchId = assertOpaqueId(options.dispatchId, "provider hook dispatch id");
|
|
38
|
+
const sessionId = assertOpaqueId(options.sessionId, "provider hook session id");
|
|
39
|
+
const observedAt = canonicalTimestamp(options.observedAt, "provider hook observation timestamp");
|
|
40
|
+
const parsedInput = parseHookInput(options.input, provider);
|
|
41
|
+
const binding = normalizeBinding(options.bindings.resolve({
|
|
42
|
+
provider,
|
|
43
|
+
dispatch_id: dispatchId,
|
|
44
|
+
session_id: sessionId,
|
|
45
|
+
}));
|
|
46
|
+
assertBinding(binding, { provider, dispatchId, sessionId });
|
|
47
|
+
const nativeSessionSha256 = sha256(parsedInput.nativeSessionId);
|
|
48
|
+
if (binding.native_session_sha256 !== null && binding.native_session_sha256 !== nativeSessionSha256) {
|
|
49
|
+
throw new Error("provider hook native session does not match durable authority");
|
|
50
|
+
}
|
|
51
|
+
if (binding.native_session_sha256 === null && parsedInput.hookEvent !== "SessionStart") {
|
|
52
|
+
throw new Error("provider hook native session must be established by SessionStart");
|
|
53
|
+
}
|
|
54
|
+
const sourceSha256 = sha256(canonicalJson(options.input));
|
|
55
|
+
const schemaPath = join(packageRoot, "schemas", "provider-observed.schema.json");
|
|
56
|
+
return Object.freeze(observationPairs(parsedInput).map(({ kind, state }) => {
|
|
57
|
+
const occurrenceId = createStableId("provider-occ", "initial");
|
|
58
|
+
const identity = {
|
|
59
|
+
provider,
|
|
60
|
+
provider_version: providerVersion,
|
|
61
|
+
dispatch_id: dispatchId,
|
|
62
|
+
session_id: sessionId,
|
|
63
|
+
dispatch_version: binding.dispatch_version,
|
|
64
|
+
session_version: binding.session_version,
|
|
65
|
+
worker_version: binding.worker_version,
|
|
66
|
+
ticket_version: binding.ticket_version,
|
|
67
|
+
ticket_attempt: binding.ticket_attempt,
|
|
68
|
+
hook_event: parsedInput.hookEvent,
|
|
69
|
+
observation_kind: kind,
|
|
70
|
+
observation_state: state,
|
|
71
|
+
source_sha256: sourceSha256,
|
|
72
|
+
occurrence_id: occurrenceId,
|
|
73
|
+
};
|
|
74
|
+
const deliveryId = providerDeliveryId(identity);
|
|
75
|
+
return parseProviderObservation({
|
|
76
|
+
schema_version: 1,
|
|
77
|
+
observation_id: createStableId("provider-obs", deliveryId),
|
|
78
|
+
delivery_id: deliveryId,
|
|
79
|
+
occurrence_id: occurrenceId,
|
|
80
|
+
provider,
|
|
81
|
+
provider_version: providerVersion,
|
|
82
|
+
hook_event: parsedInput.hookEvent,
|
|
83
|
+
observation_kind: kind,
|
|
84
|
+
observation_state: state,
|
|
85
|
+
dispatch_id: binding.dispatch_id,
|
|
86
|
+
dispatch_version: binding.dispatch_version,
|
|
87
|
+
session_id: binding.session_id,
|
|
88
|
+
session_version: binding.session_version,
|
|
89
|
+
worker_record_id: binding.worker_record_id,
|
|
90
|
+
worker_version: binding.worker_version,
|
|
91
|
+
ticket_id: binding.ticket_id,
|
|
92
|
+
ticket_version: binding.ticket_version,
|
|
93
|
+
ticket_attempt: binding.ticket_attempt,
|
|
94
|
+
observed_at: observedAt,
|
|
95
|
+
native_session_sha256: nativeSessionSha256,
|
|
96
|
+
source_sha256: sourceSha256,
|
|
97
|
+
terminal_authority: false,
|
|
98
|
+
}, schemaPath);
|
|
99
|
+
}));
|
|
100
|
+
}
|
|
101
|
+
export function parseProviderObservation(value, schemaPathOrPackageRoot) {
|
|
102
|
+
const schemaPath = schemaPathOrPackageRoot.endsWith(".json")
|
|
103
|
+
? schemaPathOrPackageRoot
|
|
104
|
+
: join(validateExistingDirectory(schemaPathOrPackageRoot, "provider observation package root"), "schemas", "provider-observed.schema.json");
|
|
105
|
+
assertSchema(value, loadJsonSchema(schemaPath), "provider observation");
|
|
106
|
+
const observation = structuredClone(value);
|
|
107
|
+
assertObservationSemantics(observation);
|
|
108
|
+
const frozen = deepFreeze(observation);
|
|
109
|
+
PROVIDER_OBSERVATIONS.add(frozen);
|
|
110
|
+
return frozen;
|
|
111
|
+
}
|
|
112
|
+
export function reissueProviderObservationOccurrence(observation, occurrenceId, packageRoot) {
|
|
113
|
+
assertProviderObservation(observation);
|
|
114
|
+
const next = {
|
|
115
|
+
...observation,
|
|
116
|
+
occurrence_id: assertOpaqueId(occurrenceId, "provider occurrence id"),
|
|
117
|
+
};
|
|
118
|
+
const deliveryId = providerDeliveryId(next);
|
|
119
|
+
return parseProviderObservation({
|
|
120
|
+
...next,
|
|
121
|
+
delivery_id: deliveryId,
|
|
122
|
+
observation_id: createStableId("provider-obs", deliveryId),
|
|
123
|
+
}, packageRoot);
|
|
124
|
+
}
|
|
125
|
+
export function publishProviderObservations(observations, publish) {
|
|
126
|
+
if (typeof publish !== "function")
|
|
127
|
+
throw new Error("provider observation publisher must be a function");
|
|
128
|
+
return Object.freeze(observations.map((observation) => {
|
|
129
|
+
assertProviderObservation(observation);
|
|
130
|
+
return publish(Object.freeze({
|
|
131
|
+
eventKind: "provider-observed",
|
|
132
|
+
sourceId: observation.dispatch_id,
|
|
133
|
+
sourceVersion: observation.dispatch_version,
|
|
134
|
+
dedupeKey: observation.delivery_id,
|
|
135
|
+
occurredAt: observation.observed_at,
|
|
136
|
+
payload: observation,
|
|
137
|
+
}));
|
|
138
|
+
}));
|
|
139
|
+
}
|
|
140
|
+
export function projectProviderObservation(observation, sink) {
|
|
141
|
+
assertProviderObservation(observation);
|
|
142
|
+
if (observation.observation_kind === "session")
|
|
143
|
+
return sink.observeSession(observation);
|
|
144
|
+
if (observation.observation_kind === "activity")
|
|
145
|
+
return sink.observeActivity(observation);
|
|
146
|
+
if (observation.observation_kind === "health")
|
|
147
|
+
return sink.observeHealth(observation);
|
|
148
|
+
if (observation.observation_kind === "completion-observed")
|
|
149
|
+
return sink.observeCompletion(observation);
|
|
150
|
+
return sink.observeQuota(observation);
|
|
151
|
+
}
|
|
152
|
+
export function providerNativeSessionSha256(nativeSessionId) {
|
|
153
|
+
return sha256(boundedString(nativeSessionId, "provider native session id", 512));
|
|
154
|
+
}
|
|
155
|
+
function parseHookInput(value, provider) {
|
|
156
|
+
assertJsonValue(value, "provider hook input");
|
|
157
|
+
const bytes = Buffer.byteLength(canonicalJson(value), "utf8");
|
|
158
|
+
if (bytes > MAX_HOOK_INPUT_BYTES)
|
|
159
|
+
throw new Error(`provider hook input exceeds ${MAX_HOOK_INPUT_BYTES} bytes`);
|
|
160
|
+
if (!isRecord(value))
|
|
161
|
+
throw new Error("provider hook input must be an object");
|
|
162
|
+
const hookEvent = assertHookEvent(value.hook_event_name ?? value.hookEventName);
|
|
163
|
+
if (!SUPPORTED_EVENTS[provider].has(hookEvent)) {
|
|
164
|
+
throw new Error(`${provider} hook event is not supported by its pinned compatibility contract: ${hookEvent}`);
|
|
165
|
+
}
|
|
166
|
+
const nativeSessionId = boundedString(value.session_id ?? value.sessionId, "provider native session id", 512);
|
|
167
|
+
const failure = typeof value.error === "string" ? value.error : null;
|
|
168
|
+
const notificationType = typeof value.notification_type === "string"
|
|
169
|
+
? value.notification_type
|
|
170
|
+
: typeof value.notificationType === "string" ? value.notificationType : null;
|
|
171
|
+
return Object.freeze({ hookEvent, nativeSessionId, failure, notificationType });
|
|
172
|
+
}
|
|
173
|
+
function observationPairs(input) {
|
|
174
|
+
if (input.hookEvent === "SessionStart")
|
|
175
|
+
return Object.freeze([
|
|
176
|
+
Object.freeze({ kind: "session", state: "started" }),
|
|
177
|
+
Object.freeze({ kind: "activity", state: "idle" }),
|
|
178
|
+
Object.freeze({ kind: "health", state: "healthy" }),
|
|
179
|
+
]);
|
|
180
|
+
if (input.hookEvent === "UserPromptSubmit") {
|
|
181
|
+
return Object.freeze([Object.freeze({ kind: "activity", state: "working" })]);
|
|
182
|
+
}
|
|
183
|
+
if (input.hookEvent === "Stop")
|
|
184
|
+
return Object.freeze([
|
|
185
|
+
Object.freeze({ kind: "completion-observed", state: "observed" }),
|
|
186
|
+
Object.freeze({ kind: "activity", state: "idle" }),
|
|
187
|
+
]);
|
|
188
|
+
if (input.hookEvent === "SessionEnd")
|
|
189
|
+
return Object.freeze([
|
|
190
|
+
Object.freeze({ kind: "session", state: "stopped" }),
|
|
191
|
+
Object.freeze({ kind: "health", state: "stopped" }),
|
|
192
|
+
]);
|
|
193
|
+
if (input.hookEvent === "Notification") {
|
|
194
|
+
if (input.notificationType === "auth_success")
|
|
195
|
+
return Object.freeze([
|
|
196
|
+
Object.freeze({ kind: "quota", state: "available" }),
|
|
197
|
+
Object.freeze({ kind: "health", state: "healthy" }),
|
|
198
|
+
]);
|
|
199
|
+
if (input.notificationType === "idle_prompt") {
|
|
200
|
+
return Object.freeze([Object.freeze({ kind: "activity", state: "idle" })]);
|
|
201
|
+
}
|
|
202
|
+
throw new Error("provider notification type is not part of the OMS observation contract");
|
|
203
|
+
}
|
|
204
|
+
const failure = input.failure;
|
|
205
|
+
if (failure === "rate_limit")
|
|
206
|
+
return Object.freeze([
|
|
207
|
+
Object.freeze({ kind: "quota", state: "limited" }),
|
|
208
|
+
Object.freeze({ kind: "health", state: "parked" }),
|
|
209
|
+
]);
|
|
210
|
+
if (["authentication_failed", "oauth_org_not_allowed", "billing_error"].includes(failure ?? "")) {
|
|
211
|
+
return Object.freeze([Object.freeze({ kind: "health", state: "parked" })]);
|
|
212
|
+
}
|
|
213
|
+
return Object.freeze([Object.freeze({ kind: "health", state: "stalled" })]);
|
|
214
|
+
}
|
|
215
|
+
function normalizeBinding(value) {
|
|
216
|
+
if (!isRecord(value))
|
|
217
|
+
throw new Error("provider binding resolver returned an invalid binding");
|
|
218
|
+
const nativeSessionSha256 = value.native_session_sha256;
|
|
219
|
+
if (nativeSessionSha256 !== null && !isSha256(nativeSessionSha256)) {
|
|
220
|
+
throw new Error("provider binding native session digest is invalid");
|
|
221
|
+
}
|
|
222
|
+
return Object.freeze({
|
|
223
|
+
provider: assertProvider(value.provider),
|
|
224
|
+
dispatch_id: assertOpaqueId(value.dispatch_id, "provider binding dispatch id"),
|
|
225
|
+
dispatch_version: nonNegativeInteger(value.dispatch_version, "provider binding dispatch version"),
|
|
226
|
+
session_id: assertOpaqueId(value.session_id, "provider binding session id"),
|
|
227
|
+
session_version: nonNegativeInteger(value.session_version, "provider binding session version"),
|
|
228
|
+
worker_record_id: assertOpaqueId(value.worker_record_id, "provider binding worker id"),
|
|
229
|
+
worker_version: nonNegativeInteger(value.worker_version, "provider binding worker version"),
|
|
230
|
+
ticket_id: assertOpaqueId(value.ticket_id, "provider binding ticket id"),
|
|
231
|
+
ticket_version: nonNegativeInteger(value.ticket_version, "provider binding ticket version"),
|
|
232
|
+
ticket_attempt: positiveInteger(value.ticket_attempt, "provider binding ticket attempt"),
|
|
233
|
+
native_session_sha256: nativeSessionSha256,
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
function assertBinding(binding, expected) {
|
|
237
|
+
if (binding.provider !== expected.provider
|
|
238
|
+
|| binding.dispatch_id !== expected.dispatchId
|
|
239
|
+
|| binding.session_id !== expected.sessionId)
|
|
240
|
+
throw new Error("provider hook binding changed before observation");
|
|
241
|
+
}
|
|
242
|
+
function assertObservationSemantics(observation) {
|
|
243
|
+
const provider = assertProvider(observation.provider);
|
|
244
|
+
assertProviderVersion(provider, observation.provider_version);
|
|
245
|
+
const states = KIND_STATES[observation.observation_kind];
|
|
246
|
+
if (!states || !states.has(observation.observation_state)) {
|
|
247
|
+
throw new Error("provider observation kind and state do not match");
|
|
248
|
+
}
|
|
249
|
+
assertOpaqueId(observation.dispatch_id, "provider observation dispatch id");
|
|
250
|
+
assertOpaqueId(observation.session_id, "provider observation session id");
|
|
251
|
+
assertOpaqueId(observation.worker_record_id, "provider observation worker id");
|
|
252
|
+
assertOpaqueId(observation.ticket_id, "provider observation ticket id");
|
|
253
|
+
assertOpaqueId(observation.occurrence_id, "provider observation occurrence id");
|
|
254
|
+
canonicalTimestamp(observation.observed_at, "provider observation timestamp");
|
|
255
|
+
if (!isSha256(observation.native_session_sha256) || !isSha256(observation.source_sha256)) {
|
|
256
|
+
throw new Error("provider observation digest is invalid");
|
|
257
|
+
}
|
|
258
|
+
const expectedDelivery = providerDeliveryId(observation);
|
|
259
|
+
if (observation.delivery_id !== expectedDelivery
|
|
260
|
+
|| observation.observation_id !== createStableId("provider-obs", expectedDelivery)
|
|
261
|
+
|| observation.terminal_authority !== false)
|
|
262
|
+
throw new Error("provider observation immutable identity is invalid");
|
|
263
|
+
}
|
|
264
|
+
function providerDeliveryId(observation) {
|
|
265
|
+
return createStableId("provider-deliv", observation.provider, observation.provider_version, observation.dispatch_id, observation.session_id, String(observation.dispatch_version), String(observation.session_version), String(observation.worker_version), String(observation.ticket_version), String(observation.ticket_attempt), observation.hook_event, observation.observation_kind, observation.observation_state, observation.source_sha256, observation.occurrence_id);
|
|
266
|
+
}
|
|
267
|
+
function assertProviderObservation(value) {
|
|
268
|
+
if (typeof value !== "object" || value === null || !PROVIDER_OBSERVATIONS.has(value)) {
|
|
269
|
+
throw new Error("provider operation requires a normalized OMS observation");
|
|
270
|
+
}
|
|
271
|
+
if (!Object.isFrozen(value))
|
|
272
|
+
throw new Error("provider observation lost its frozen boundary");
|
|
273
|
+
}
|
|
274
|
+
function assertProvider(value) {
|
|
275
|
+
if (value !== "claude" && value !== "codex")
|
|
276
|
+
throw new Error("invalid provider hook provider");
|
|
277
|
+
return value;
|
|
278
|
+
}
|
|
279
|
+
function assertProviderVersion(provider, value) {
|
|
280
|
+
if (value !== SUPPORTED_PROVIDER_HOOK_VERSIONS[provider]) {
|
|
281
|
+
throw new Error(`unsupported ${provider} hook version: ${String(value)}`);
|
|
282
|
+
}
|
|
283
|
+
return value;
|
|
284
|
+
}
|
|
285
|
+
function assertHookEvent(value) {
|
|
286
|
+
if (!PROVIDER_HOOK_EVENTS.includes(value))
|
|
287
|
+
throw new Error("unsupported provider hook event");
|
|
288
|
+
return value;
|
|
289
|
+
}
|
|
290
|
+
function boundedString(value, label, maxLength) {
|
|
291
|
+
if (typeof value !== "string" || value.length < 1 || value.length > maxLength || /[\0\r\n]/u.test(value)) {
|
|
292
|
+
throw new Error(`invalid ${label}`);
|
|
293
|
+
}
|
|
294
|
+
return value;
|
|
295
|
+
}
|
|
296
|
+
function nonNegativeInteger(value, label) {
|
|
297
|
+
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0)
|
|
298
|
+
throw new Error(`invalid ${label}`);
|
|
299
|
+
return value;
|
|
300
|
+
}
|
|
301
|
+
function positiveInteger(value, label) {
|
|
302
|
+
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 1)
|
|
303
|
+
throw new Error(`invalid ${label}`);
|
|
304
|
+
return value;
|
|
305
|
+
}
|
|
306
|
+
function isSha256(value) {
|
|
307
|
+
return typeof value === "string" && /^[a-f0-9]{64}$/u.test(value);
|
|
308
|
+
}
|
|
309
|
+
function sha256(value) {
|
|
310
|
+
return createHash("sha256").update(value).digest("hex");
|
|
311
|
+
}
|
|
312
|
+
function canonicalJson(value) {
|
|
313
|
+
if (value === null || typeof value === "string" || typeof value === "boolean")
|
|
314
|
+
return JSON.stringify(value);
|
|
315
|
+
if (typeof value === "number") {
|
|
316
|
+
if (!Number.isFinite(value))
|
|
317
|
+
throw new Error("provider hook input contains a non-finite number");
|
|
318
|
+
return JSON.stringify(value);
|
|
319
|
+
}
|
|
320
|
+
if (Array.isArray(value))
|
|
321
|
+
return `[${value.map((item) => canonicalJson(item)).join(",")}]`;
|
|
322
|
+
if (isRecord(value)) {
|
|
323
|
+
return `{${Object.keys(value).sort().map((key) => `${JSON.stringify(key)}:${canonicalJson(value[key])}`).join(",")}}`;
|
|
324
|
+
}
|
|
325
|
+
throw new Error("provider hook input must contain only JSON values");
|
|
326
|
+
}
|
|
327
|
+
function assertJsonValue(value, label, seen = new Set(), depth = 0) {
|
|
328
|
+
if (depth > 16)
|
|
329
|
+
throw new Error(`${label} exceeds maximum depth`);
|
|
330
|
+
if (value === null || typeof value === "string" || typeof value === "boolean")
|
|
331
|
+
return;
|
|
332
|
+
if (typeof value === "number" && Number.isFinite(value))
|
|
333
|
+
return;
|
|
334
|
+
if (typeof value !== "object" || value === null || seen.has(value))
|
|
335
|
+
throw new Error(`${label} must contain acyclic JSON values`);
|
|
336
|
+
seen.add(value);
|
|
337
|
+
if (Array.isArray(value)) {
|
|
338
|
+
for (const item of value)
|
|
339
|
+
assertJsonValue(item, label, seen, depth + 1);
|
|
340
|
+
}
|
|
341
|
+
else if (isRecord(value)) {
|
|
342
|
+
for (const item of Object.values(value))
|
|
343
|
+
assertJsonValue(item, label, seen, depth + 1);
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
throw new Error(`${label} must contain plain JSON objects`);
|
|
347
|
+
}
|
|
348
|
+
seen.delete(value);
|
|
349
|
+
}
|
|
350
|
+
function deepFreeze(value, seen = new Set()) {
|
|
351
|
+
if (typeof value !== "object" || value === null || seen.has(value))
|
|
352
|
+
return value;
|
|
353
|
+
seen.add(value);
|
|
354
|
+
for (const child of Object.values(value))
|
|
355
|
+
deepFreeze(child, seen);
|
|
356
|
+
return Object.freeze(value);
|
|
357
|
+
}
|
|
358
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/hooks/provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
export declare const LIVE_CONTACT_OPERATIONS: readonly ["conductor-session", "worker-session", "opposite-engine-grade", "bounded-reflection", "github-event-sync", "git-branch-push", "github-review-read", "github-pr-create"];
|
|
2
|
+
export declare const PRE_DISPATCH_ADVICE_OPERATION: "pre-dispatch-advice";
|
|
3
|
+
export type BaseLiveContactOperation = (typeof LIVE_CONTACT_OPERATIONS)[number];
|
|
4
|
+
export type LiveContactOperation = BaseLiveContactOperation | typeof PRE_DISPATCH_ADVICE_OPERATION;
|
|
5
|
+
export type LiveContactSurface = "claude-interactive" | "codex-goal" | "codex-exec" | "github-api-via-gh" | "git-origin";
|
|
6
|
+
export interface LiveDeliveryAuthorization {
|
|
7
|
+
readonly schema_version: 1;
|
|
8
|
+
readonly authorization_id: string;
|
|
9
|
+
readonly conductor_session_id: string;
|
|
10
|
+
readonly repository: string;
|
|
11
|
+
readonly human_confirmed: true;
|
|
12
|
+
readonly expected_provider_spend: "subscription";
|
|
13
|
+
readonly expected_github_spend: "none";
|
|
14
|
+
readonly allowed_operations: readonly BaseLiveContactOperation[];
|
|
15
|
+
readonly created_at: string;
|
|
16
|
+
}
|
|
17
|
+
export interface PreDispatchAdviceAuthorization {
|
|
18
|
+
readonly schema_version: 1;
|
|
19
|
+
readonly authorization_id: string;
|
|
20
|
+
readonly live_delivery_authorization_id: string;
|
|
21
|
+
readonly conductor_session_id: string;
|
|
22
|
+
readonly repository: string;
|
|
23
|
+
readonly operation: typeof PRE_DISPATCH_ADVICE_OPERATION;
|
|
24
|
+
readonly human_confirmed: true;
|
|
25
|
+
readonly expected_provider_spend: "subscription";
|
|
26
|
+
readonly created_at: string;
|
|
27
|
+
}
|
|
28
|
+
export interface LiveContactDisclosure {
|
|
29
|
+
readonly schema_version: 1;
|
|
30
|
+
readonly contact_id: string;
|
|
31
|
+
readonly authorization_id: string;
|
|
32
|
+
readonly conductor_session_id: string;
|
|
33
|
+
readonly repository: string;
|
|
34
|
+
readonly operation: LiveContactOperation;
|
|
35
|
+
readonly contact_surface: LiveContactSurface;
|
|
36
|
+
readonly subject_id: string;
|
|
37
|
+
readonly request_sha256: string;
|
|
38
|
+
readonly expected_spend: "none" | "subscription";
|
|
39
|
+
readonly disclosed_at: string;
|
|
40
|
+
}
|
|
41
|
+
export interface LiveContactReference {
|
|
42
|
+
readonly contact_id: string;
|
|
43
|
+
readonly sha256: string;
|
|
44
|
+
readonly file_name: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function authorizeLiveDelivery(options: {
|
|
47
|
+
readonly stateRoot: string;
|
|
48
|
+
readonly conductorSessionId: string;
|
|
49
|
+
readonly repository: string;
|
|
50
|
+
readonly createdAt: string;
|
|
51
|
+
}): LiveDeliveryAuthorization;
|
|
52
|
+
export declare function readLiveDeliveryAuthorization(stateRoot: string): LiveDeliveryAuthorization | undefined;
|
|
53
|
+
export declare function authorizePreDispatchAdvice(options: {
|
|
54
|
+
readonly stateRoot: string;
|
|
55
|
+
readonly authorization: LiveDeliveryAuthorization;
|
|
56
|
+
readonly createdAt: string;
|
|
57
|
+
}): PreDispatchAdviceAuthorization;
|
|
58
|
+
export declare function readPreDispatchAdviceAuthorization(stateRoot: string): PreDispatchAdviceAuthorization | undefined;
|
|
59
|
+
export declare function discloseLiveContact(options: {
|
|
60
|
+
readonly stateRoot: string;
|
|
61
|
+
readonly authorization: LiveDeliveryAuthorization;
|
|
62
|
+
readonly adviceAuthorization?: PreDispatchAdviceAuthorization;
|
|
63
|
+
readonly operation: LiveContactOperation;
|
|
64
|
+
readonly contactSurface: LiveContactSurface;
|
|
65
|
+
readonly subjectId: string;
|
|
66
|
+
readonly request: unknown;
|
|
67
|
+
readonly disclosedAt: string;
|
|
68
|
+
}): LiveContactReference;
|
|
69
|
+
export declare function readLiveContact(stateRoot: string, ref: LiveContactReference): LiveContactDisclosure;
|
|
70
|
+
export declare function listLiveContacts(stateRoot: string): readonly Readonly<{
|
|
71
|
+
reference: LiveContactReference;
|
|
72
|
+
disclosure: LiveContactDisclosure;
|
|
73
|
+
}>[];
|