@wjarka/cezarion 0.16.0 → 0.17.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/LICENSE +1 -0
- package/README.md +594 -207
- package/dist/agent-config/account-identity.d.ts +3 -19
- package/dist/agent-config/account-identity.js +8 -5
- package/dist/agent-config/account-identity.js.map +1 -1
- package/dist/agent-config/catalog.d.ts +3 -14
- package/dist/agent-config/catalog.js.map +1 -1
- package/dist/agent-config/files.d.ts +2 -6
- package/dist/agent-config/files.js +2 -6
- package/dist/agent-config/files.js.map +1 -1
- package/dist/agent-config/model-settings/types.d.ts +1 -1
- package/dist/agent-config/seed.d.ts +11 -3
- package/dist/agent-config/seed.js +52 -48
- package/dist/agent-config/seed.js.map +1 -1
- package/dist/agent-config/service.js +3 -2
- package/dist/agent-config/service.js.map +1 -1
- package/dist/agent-config/validate.d.ts +1 -4
- package/dist/agent-config/validate.js.map +1 -1
- package/dist/application-update/helper.d.ts +2 -2
- package/dist/application-update/helper.js +7 -12
- package/dist/application-update/helper.js.map +1 -1
- package/dist/application-update/launcher.d.ts +4 -0
- package/dist/application-update/launcher.js +18 -12
- package/dist/application-update/launcher.js.map +1 -1
- package/dist/application-update/service.d.ts +3 -3
- package/dist/application-update/service.js +1 -1
- package/dist/application-update/service.js.map +1 -1
- package/dist/archive-on-merge-setting.d.ts +15 -0
- package/dist/archive-on-merge-setting.js +14 -0
- package/dist/archive-on-merge-setting.js.map +1 -0
- package/dist/artifacts/cli.d.ts +8 -0
- package/dist/artifacts/cli.js +21 -2
- package/dist/artifacts/cli.js.map +1 -1
- package/dist/artifacts/resolve.js +2 -1
- package/dist/artifacts/resolve.js.map +1 -1
- package/dist/artifacts/store.js.map +1 -1
- package/dist/automations/automation-cli.d.ts +59 -0
- package/dist/automations/automation-cli.js +509 -0
- package/dist/automations/automation-cli.js.map +1 -0
- package/dist/automations/builtin-skill.d.ts +7 -0
- package/dist/automations/builtin-skill.js +14 -0
- package/dist/automations/builtin-skill.js.map +1 -0
- package/dist/automations/github-baseline.d.ts +3 -0
- package/dist/automations/github-baseline.js +17 -0
- package/dist/automations/github-baseline.js.map +1 -0
- package/dist/automations/github-poller.d.ts +23 -4
- package/dist/automations/github-poller.js +157 -88
- package/dist/automations/github-poller.js.map +1 -1
- package/dist/automations/prompts.d.ts +12 -0
- package/dist/automations/prompts.js +160 -0
- package/dist/automations/prompts.js.map +1 -0
- package/dist/automations/schedule-runner.d.ts +43 -24
- package/dist/automations/schedule-runner.js +207 -20
- package/dist/automations/schedule-runner.js.map +1 -1
- package/dist/automations/scheduler.d.ts +10 -2
- package/dist/automations/scheduler.js +200 -54
- package/dist/automations/scheduler.js.map +1 -1
- package/dist/automations/service.d.ts +777 -0
- package/dist/automations/service.js +444 -0
- package/dist/automations/service.js.map +1 -0
- package/dist/automations/store.d.ts +17 -7
- package/dist/automations/store.js +88 -17
- package/dist/automations/store.js.map +1 -1
- package/dist/automations/task-template.d.ts +7 -2
- package/dist/automations/task-template.js +93 -44
- package/dist/automations/task-template.js.map +1 -1
- package/dist/automations/tool-adapter.d.ts +6 -0
- package/dist/automations/tool-adapter.js +108 -0
- package/dist/automations/tool-adapter.js.map +1 -0
- package/dist/automations/types.d.ts +1 -405
- package/dist/automations/types.js +1 -218
- package/dist/automations/types.js.map +1 -1
- package/dist/autosave-cleanup.d.ts +26 -0
- package/dist/autosave-cleanup.js +87 -0
- package/dist/autosave-cleanup.js.map +1 -0
- package/dist/autosave-git.d.ts +3 -0
- package/dist/autosave-git.js +67 -35
- package/dist/autosave-git.js.map +1 -1
- package/dist/autosave-group.d.ts +8 -0
- package/dist/autosave-group.js +61 -0
- package/dist/autosave-group.js.map +1 -0
- package/dist/autosave-holders.d.ts +31 -4
- package/dist/autosave-holders.js +92 -7
- package/dist/autosave-holders.js.map +1 -1
- package/dist/autosave-windows.d.ts +14 -0
- package/dist/autosave-windows.js +36 -2
- package/dist/autosave-windows.js.map +1 -1
- package/dist/ci-wait/client.d.ts +20 -3
- package/dist/ci-wait/client.js +40 -44
- package/dist/ci-wait/client.js.map +1 -1
- package/dist/ci-wait/controller.d.ts +622 -36
- package/dist/ci-wait/controller.js +152 -20
- package/dist/ci-wait/controller.js.map +1 -1
- package/dist/ci-wait/errors.d.ts +19 -0
- package/dist/ci-wait/errors.js +180 -2
- package/dist/ci-wait/errors.js.map +1 -1
- package/dist/ci-wait/github.d.ts +25 -1
- package/dist/ci-wait/github.js +76 -9
- package/dist/ci-wait/github.js.map +1 -1
- package/dist/ci-wait/mcp.d.ts +0 -1
- package/dist/ci-wait/mcp.js +0 -2
- package/dist/ci-wait/mcp.js.map +1 -1
- package/dist/ci-wait/supervisor.d.ts +7 -0
- package/dist/ci-wait/supervisor.js +113 -17
- package/dist/ci-wait/supervisor.js.map +1 -1
- package/dist/ci-wait/tools.d.ts +536 -16
- package/dist/ci-wait/tools.js +165 -20
- package/dist/ci-wait/tools.js.map +1 -1
- package/dist/config.d.ts +3 -17
- package/dist/config.js +4 -60
- package/dist/config.js.map +1 -1
- package/dist/contract/active-provider.d.ts +12 -0
- package/dist/contract/agent-profiles.d.ts +2 -10
- package/dist/contract/ask-schema.d.ts +22 -4
- package/dist/contract/ask.d.ts +6 -4
- package/dist/contract/attachments.d.ts +35 -0
- package/dist/contract/attention.d.ts +46 -37
- package/dist/contract/automation-requests.d.ts +308 -0
- package/dist/contract/automation-schedule.d.ts +40 -11
- package/dist/contract/automation-storage.d.ts +512 -0
- package/dist/contract/automations.d.ts +421 -40
- package/dist/contract/ci-wait.d.ts +41 -4
- package/dist/contract/config-requests.d.ts +36 -0
- package/dist/contract/conversations.d.ts +24 -10
- package/dist/contract/defined.d.ts +8 -0
- package/dist/contract/delegation.d.ts +312 -8
- package/dist/contract/events.d.ts +24 -3
- package/dist/contract/github-requests.d.ts +26 -0
- package/dist/contract/github.d.ts +60 -27
- package/dist/contract/handoff.d.ts +43 -0
- package/dist/contract/health.d.ts +2 -2
- package/dist/contract/image-path.d.ts +6 -0
- package/dist/contract/index.d.ts +31 -0
- package/dist/contract/index.js +3756 -1525
- package/dist/contract/live-coordination.d.ts +158 -0
- package/dist/contract/live-limits.d.ts +8 -0
- package/dist/contract/live.d.ts +123 -0
- package/dist/contract/pending-ask.d.ts +58 -0
- package/dist/contract/permissions.d.ts +54 -0
- package/dist/contract/preview.d.ts +33 -0
- package/dist/contract/project-limits.d.ts +33 -0
- package/dist/contract/projects.d.ts +486 -20
- package/dist/contract/provider-requests.d.ts +77 -0
- package/dist/contract/query-requests.d.ts +52 -0
- package/dist/contract/repo-requests.d.ts +12 -0
- package/dist/contract/run-labels.d.ts +8 -0
- package/dist/contract/run-limits.d.ts +8 -0
- package/dist/contract/run-predicates.d.ts +32 -0
- package/dist/contract/run-requests.d.ts +33 -0
- package/dist/contract/run-search.d.ts +193 -0
- package/dist/contract/runs.d.ts +2232 -1894
- package/dist/contract/scheduled-tasks.d.ts +187 -0
- package/dist/contract/skills.d.ts +22 -772
- package/dist/contract/team-skill-ref.d.ts +10 -0
- package/dist/{core → contract}/tool-display.d.ts +4 -10
- package/dist/contract/ui-state-requests.d.ts +60 -0
- package/dist/contract/version.d.ts +3 -0
- package/dist/contract/voice.d.ts +213 -0
- package/dist/contract/waits.d.ts +1204 -0
- package/dist/contract/workflow-file.d.ts +37 -0
- package/dist/contract/workflow-requests.d.ts +7 -0
- package/dist/contract/workflows.d.ts +1 -2
- package/dist/contract/workspace.d.ts +34 -82
- package/dist/contract/zoned-time.d.ts +2 -11
- package/dist/core/agent-env.d.ts +4 -16
- package/dist/core/agent-env.js +14 -16
- package/dist/core/agent-env.js.map +1 -1
- package/dist/core/agent-profiles.d.ts +28 -40
- package/dist/core/agent-profiles.js +56 -51
- package/dist/core/agent-profiles.js.map +1 -1
- package/dist/core/agent-runner.d.ts +88 -44
- package/dist/core/agent-runner.js +17 -18
- package/dist/core/agent-runner.js.map +1 -1
- package/dist/core/ask.d.ts +3 -0
- package/dist/core/ask.js +12 -0
- package/dist/core/ask.js.map +1 -1
- package/dist/core/backend-detect.js +16 -2
- package/dist/core/backend-detect.js.map +1 -1
- package/dist/core/claude-cli-runner.d.ts +23 -4
- package/dist/core/claude-cli-runner.js +280 -76
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/core/claude-model-catalog.d.ts +2 -10
- package/dist/core/claude-model-catalog.js +2 -10
- package/dist/core/claude-model-catalog.js.map +1 -1
- package/dist/core/claude-ui-mapper.d.ts +2 -2
- package/dist/core/claude-ui-mapper.js +94 -2
- package/dist/core/claude-ui-mapper.js.map +1 -1
- package/dist/core/codex-app-server-runner.d.ts +3 -4
- package/dist/core/codex-app-server-runner.js +146 -51
- package/dist/core/codex-app-server-runner.js.map +1 -1
- package/dist/core/codex-app-server-transport.d.ts +4 -3
- package/dist/core/codex-app-server-transport.js +11 -7
- package/dist/core/codex-app-server-transport.js.map +1 -1
- package/dist/core/codex-approvals.d.ts +12 -0
- package/dist/core/codex-approvals.js +161 -0
- package/dist/core/codex-approvals.js.map +1 -0
- package/dist/core/codex-permissions.d.ts +1 -1
- package/dist/core/codex-ui-mapper.js +45 -1
- package/dist/core/codex-ui-mapper.js.map +1 -1
- package/dist/core/cursor-acp-runner.d.ts +1 -1
- package/dist/core/cursor-acp-runner.js +39 -15
- package/dist/core/cursor-acp-runner.js.map +1 -1
- package/dist/core/cursor-cli-flags.d.ts +19 -0
- package/dist/core/cursor-cli-flags.js +47 -0
- package/dist/core/cursor-cli-flags.js.map +1 -0
- package/dist/core/cursor-model-catalog.d.ts +22 -0
- package/dist/core/cursor-model-catalog.js +53 -24
- package/dist/core/cursor-model-catalog.js.map +1 -1
- package/dist/core/cursor-print-capabilities.d.ts +16 -0
- package/dist/core/cursor-print-capabilities.js +141 -0
- package/dist/core/cursor-print-capabilities.js.map +1 -0
- package/dist/core/cursor-print-process.d.ts +31 -0
- package/dist/core/cursor-print-process.js +117 -0
- package/dist/core/cursor-print-process.js.map +1 -0
- package/dist/core/cursor-print-runner.d.ts +31 -0
- package/dist/core/cursor-print-runner.js +555 -0
- package/dist/core/cursor-print-runner.js.map +1 -0
- package/dist/core/cursor-print-tool-catalog.d.ts +10 -0
- package/dist/core/cursor-print-tool-catalog.js +91 -0
- package/dist/core/cursor-print-tool-catalog.js.map +1 -0
- package/dist/core/cursor-print-ui-mapper.d.ts +47 -0
- package/dist/core/cursor-print-ui-mapper.js +553 -0
- package/dist/core/cursor-print-ui-mapper.js.map +1 -0
- package/dist/core/cursor-runner.d.ts +24 -0
- package/dist/core/cursor-runner.js +149 -0
- package/dist/core/cursor-runner.js.map +1 -0
- package/dist/core/cursor-ui-mapper.js +5 -2
- package/dist/core/cursor-ui-mapper.js.map +1 -1
- package/dist/core/defined.d.ts +1 -0
- package/dist/core/defined.js +2 -0
- package/dist/core/defined.js.map +1 -0
- package/dist/core/hook-items.d.ts +14 -0
- package/dist/core/hook-items.js +13 -0
- package/dist/core/hook-items.js.map +1 -0
- package/dist/core/host-model-catalog.d.ts +2 -9
- package/dist/core/host-model-catalog.js +2 -9
- package/dist/core/host-model-catalog.js.map +1 -1
- package/dist/core/managed-session.js +15 -3
- package/dist/core/managed-session.js.map +1 -1
- package/dist/core/model-identity.d.ts +4 -21
- package/dist/core/model-identity.js.map +1 -1
- package/dist/core/model-presets.d.ts +2 -13
- package/dist/core/model-presets.js +2 -13
- package/dist/core/model-presets.js.map +1 -1
- package/dist/core/omp-model-catalog.js.map +1 -1
- package/dist/core/omp-runner.d.ts +6 -7
- package/dist/core/omp-runner.js +92 -33
- package/dist/core/omp-runner.js.map +1 -1
- package/dist/core/omp-ui-mapper.js +1 -1
- package/dist/core/omp-ui-mapper.js.map +1 -1
- package/dist/core/opencode-model-catalog.js.map +1 -1
- package/dist/core/opencode-permissions.d.ts +52 -0
- package/dist/core/opencode-permissions.js +101 -0
- package/dist/core/opencode-permissions.js.map +1 -0
- package/dist/core/opencode-server-runner.d.ts +10 -9
- package/dist/core/opencode-server-runner.js +286 -28
- package/dist/core/opencode-server-runner.js.map +1 -1
- package/dist/core/opencode-session-error.d.ts +15 -7
- package/dist/core/opencode-session-error.js +25 -9
- package/dist/core/opencode-session-error.js.map +1 -1
- package/dist/core/opencode-ui-mapper.js +2 -2
- package/dist/core/opencode-ui-mapper.js.map +1 -1
- package/dist/core/pi-model-catalog.js.map +1 -1
- package/dist/core/pi-runner.d.ts +12 -4
- package/dist/core/pi-runner.js +171 -63
- package/dist/core/pi-runner.js.map +1 -1
- package/dist/core/pi-ui-mapper.js +1 -1
- package/dist/core/pi-ui-mapper.js.map +1 -1
- package/dist/core/process-usage.d.ts +5 -0
- package/dist/core/process-usage.js +24 -4
- package/dist/core/process-usage.js.map +1 -1
- package/dist/core/provider-auth.d.ts +16 -107
- package/dist/core/provider-auth.js +16 -132
- package/dist/core/provider-auth.js.map +1 -1
- package/dist/core/runner-factory.d.ts +4 -1
- package/dist/core/runner-factory.js +3 -3
- package/dist/core/runner-factory.js.map +1 -1
- package/dist/core/runner-runtime.d.ts +22 -0
- package/dist/core/runner-runtime.js +66 -5
- package/dist/core/runner-runtime.js.map +1 -1
- package/dist/core/runner-tool-grants.d.ts +21 -0
- package/dist/core/runner-tool-grants.js +64 -0
- package/dist/core/runner-tool-grants.js.map +1 -0
- package/dist/core/secret-redaction.d.ts +3 -20
- package/dist/core/secret-redaction.js +3 -20
- package/dist/core/secret-redaction.js.map +1 -1
- package/dist/core/session-process.d.ts +22 -2
- package/dist/core/session-process.js +170 -12
- package/dist/core/session-process.js.map +1 -1
- package/dist/core/shell-env.d.ts +2 -15
- package/dist/core/shell-env.js +2 -15
- package/dist/core/shell-env.js.map +1 -1
- package/dist/core/ui-events.d.ts +60 -47
- package/dist/core/ui-events.js +0 -23
- package/dist/core/ui-events.js.map +1 -1
- package/dist/core/usage-limit.js.map +1 -1
- package/dist/data-gitignore.js +3 -1
- package/dist/data-gitignore.js.map +1 -1
- package/dist/delegation/capacity.d.ts +4 -8
- package/dist/delegation/capacity.js +4 -8
- package/dist/delegation/capacity.js.map +1 -1
- package/dist/delegation/cli.js +123 -21
- package/dist/delegation/cli.js.map +1 -1
- package/dist/delegation/context.d.ts +19 -3
- package/dist/delegation/context.js +217 -22
- package/dist/delegation/context.js.map +1 -1
- package/dist/delegation/conversations.d.ts +4 -3
- package/dist/delegation/conversations.js +7 -5
- package/dist/delegation/conversations.js.map +1 -1
- package/dist/delegation/destroy-observation.d.ts +1 -1
- package/dist/delegation/destroy-observation.js.map +1 -1
- package/dist/delegation/effort.js.map +1 -1
- package/dist/delegation/execution-identity.d.ts +1 -1
- package/dist/delegation/execution-identity.js +41 -7
- package/dist/delegation/execution-identity.js.map +1 -1
- package/dist/delegation/idle-test-app.d.ts +4 -0
- package/dist/delegation/idle-test-app.js +174 -0
- package/dist/delegation/idle-test-app.js.map +1 -0
- package/dist/delegation/input.js.map +1 -1
- package/dist/delegation/park-notice.d.ts +42 -0
- package/dist/delegation/park-notice.js +71 -0
- package/dist/delegation/park-notice.js.map +1 -0
- package/dist/delegation/policy.d.ts +2 -0
- package/dist/delegation/policy.js +9 -1
- package/dist/delegation/policy.js.map +1 -1
- package/dist/delegation/process-liveness.d.ts +10 -15
- package/dist/delegation/process-liveness.js +11 -35
- package/dist/delegation/process-liveness.js.map +1 -1
- package/dist/delegation/provision.js +21 -19
- package/dist/delegation/provision.js.map +1 -1
- package/dist/delegation/questions.d.ts +3 -1
- package/dist/delegation/questions.js +10 -5
- package/dist/delegation/questions.js.map +1 -1
- package/dist/delegation/readiness.d.ts +2 -2
- package/dist/delegation/results.d.ts +4 -1
- package/dist/delegation/results.js +49 -18
- package/dist/delegation/results.js.map +1 -1
- package/dist/delegation/retry-backoff.d.ts +8 -0
- package/dist/delegation/retry-backoff.js +8 -0
- package/dist/delegation/retry-backoff.js.map +1 -1
- package/dist/delegation/routes.d.ts +114 -30
- package/dist/delegation/routes.js +4 -1
- package/dist/delegation/routes.js.map +1 -1
- package/dist/delegation/scratch-cleanup.d.ts +4 -5
- package/dist/delegation/scratch-cleanup.js +10 -8
- package/dist/delegation/scratch-cleanup.js.map +1 -1
- package/dist/delegation/service.d.ts +12 -4
- package/dist/delegation/service.js +76 -28
- package/dist/delegation/service.js.map +1 -1
- package/dist/delegation/transport.d.ts +154 -70
- package/dist/delegation/wait.d.ts +11 -0
- package/dist/delegation/wait.js +24 -0
- package/dist/delegation/wait.js.map +1 -1
- package/dist/delegation/windows-test-app.d.ts +5 -0
- package/dist/delegation/windows-test-app.js +63 -0
- package/dist/delegation/windows-test-app.js.map +1 -0
- package/dist/delegation/windows-workspace-identity.d.ts +3 -0
- package/dist/delegation/windows-workspace-identity.js +22 -0
- package/dist/delegation/windows-workspace-identity.js.map +1 -0
- package/dist/delegation/workspace.d.ts +5 -10
- package/dist/delegation/workspace.js +136 -75
- package/dist/delegation/workspace.js.map +1 -1
- package/dist/detached-process.d.ts +103 -0
- package/dist/detached-process.js +301 -0
- package/dist/detached-process.js.map +1 -0
- package/dist/discovery/catalog.d.ts +2 -1
- package/dist/discovery/catalog.js.map +1 -1
- package/dist/discovery/cli.js +3 -1
- package/dist/discovery/cli.js.map +1 -1
- package/dist/git-diff-base.d.ts +6 -61
- package/dist/git-diff-base.js +6 -70
- package/dist/git-diff-base.js.map +1 -1
- package/dist/git-index-copy.d.ts +4 -0
- package/dist/git-index-copy.js +10 -0
- package/dist/git-index-copy.js.map +1 -0
- package/dist/git-worktree-lock.d.ts +2 -4
- package/dist/git-worktree-lock.js +2 -4
- package/dist/git-worktree-lock.js.map +1 -1
- package/dist/git-worktree-release.d.ts +2 -2
- package/dist/git-worktree-release.js.map +1 -1
- package/dist/git-worktree.d.ts +47 -76
- package/dist/git-worktree.js +240 -94
- package/dist/git-worktree.js.map +1 -1
- package/dist/handoff.d.ts +51 -41
- package/dist/handoff.js +130 -78
- package/dist/handoff.js.map +1 -1
- package/dist/index.js +60 -39
- package/dist/index.js.map +1 -1
- package/dist/merge-observations.d.ts +13 -0
- package/dist/merge-observations.js +55 -0
- package/dist/merge-observations.js.map +1 -0
- package/dist/open-url.js +4 -14
- package/dist/open-url.js.map +1 -1
- package/dist/paths.d.ts +10 -13
- package/dist/paths.js +36 -17
- package/dist/paths.js.map +1 -1
- package/dist/planner.d.ts +2 -1
- package/dist/planner.js +9 -6
- package/dist/planner.js.map +1 -1
- package/dist/preview/agent-address.d.ts +34 -0
- package/dist/preview/agent-address.js +51 -0
- package/dist/preview/agent-address.js.map +1 -0
- package/dist/preview/agent-marker.d.ts +17 -0
- package/dist/preview/agent-marker.js +71 -0
- package/dist/preview/agent-marker.js.map +1 -0
- package/dist/preview/cdp-proxy.d.ts +54 -0
- package/dist/preview/cdp-proxy.js +151 -0
- package/dist/preview/cdp-proxy.js.map +1 -0
- package/dist/preview/cdp.d.ts +39 -3
- package/dist/preview/cdp.js +155 -57
- package/dist/preview/cdp.js.map +1 -1
- package/dist/preview/chromium.d.ts +18 -6
- package/dist/preview/chromium.js +112 -25
- package/dist/preview/chromium.js.map +1 -1
- package/dist/preview/dev-server.d.ts +1 -1
- package/dist/preview/dev-server.js +20 -44
- package/dist/preview/dev-server.js.map +1 -1
- package/dist/preview/host.d.ts +70 -3
- package/dist/preview/host.js +314 -28
- package/dist/preview/host.js.map +1 -1
- package/dist/preview/registration.d.ts +10 -5
- package/dist/preview/registration.js +2 -0
- package/dist/preview/registration.js.map +1 -1
- package/dist/preview/session.d.ts +2 -0
- package/dist/preview/session.js +10 -0
- package/dist/preview/session.js.map +1 -1
- package/dist/process-wait/exit-file.d.ts +29 -0
- package/dist/process-wait/exit-file.js +67 -0
- package/dist/process-wait/exit-file.js.map +1 -0
- package/dist/process-wait/supervisor.d.ts +30 -0
- package/dist/process-wait/supervisor.js +71 -0
- package/dist/process-wait/supervisor.js.map +1 -0
- package/dist/release/snapshot.d.ts +6 -6
- package/dist/runs/agent-tmpdir.d.ts +51 -36
- package/dist/runs/agent-tmpdir.js +389 -132
- package/dist/runs/agent-tmpdir.js.map +1 -1
- package/dist/runs/auto-name.d.ts +6 -6
- package/dist/runs/auto-name.js +1 -1
- package/dist/runs/auto-name.js.map +1 -1
- package/dist/runs/client-request.d.ts +3 -3
- package/dist/runs/client-request.js +3 -3
- package/dist/runs/client-request.js.map +1 -1
- package/dist/runs/delegation-state.d.ts +11 -2
- package/dist/runs/delegation-state.js.map +1 -1
- package/dist/runs/event-history-agent-context.d.ts +14 -0
- package/dist/runs/event-history-agent-context.js +105 -0
- package/dist/runs/event-history-agent-context.js.map +1 -0
- package/dist/runs/event-history-context.d.ts +15 -0
- package/dist/runs/event-history-context.js +109 -0
- package/dist/runs/event-history-context.js.map +1 -0
- package/dist/runs/event-history.d.ts +4 -1
- package/dist/runs/event-history.js +29 -130
- package/dist/runs/event-history.js.map +1 -1
- package/dist/runs/history-stream.d.ts +2 -0
- package/dist/runs/history-stream.js +62 -0
- package/dist/runs/history-stream.js.map +1 -0
- package/dist/runs/legacy-index.d.ts +6 -19
- package/dist/runs/legacy-index.js +6 -19
- package/dist/runs/legacy-index.js.map +1 -1
- package/dist/runs/live-item-snapshots.d.ts +13 -0
- package/dist/runs/live-item-snapshots.js +79 -0
- package/dist/runs/live-item-snapshots.js.map +1 -0
- package/dist/runs/loaded-run-healing.d.ts +3 -0
- package/dist/runs/loaded-run-healing.js +17 -0
- package/dist/runs/loaded-run-healing.js.map +1 -0
- package/dist/runs/outcome-commit.d.ts +98 -0
- package/dist/runs/outcome-commit.js +132 -0
- package/dist/runs/outcome-commit.js.map +1 -0
- package/dist/runs/pull-requests.d.ts +14 -0
- package/dist/runs/pull-requests.js +96 -0
- package/dist/runs/pull-requests.js.map +1 -0
- package/dist/runs/raw-record.d.ts +3 -15
- package/dist/runs/raw-record.js +3 -15
- package/dist/runs/raw-record.js.map +1 -1
- package/dist/runs/retention.d.ts +2 -2
- package/dist/runs/retention.js +7 -0
- package/dist/runs/retention.js.map +1 -1
- package/dist/runs/review-gate.d.ts +1 -1
- package/dist/runs/review-gate.js.map +1 -1
- package/dist/runs/run-claims.d.ts +2 -9
- package/dist/runs/run-claims.js.map +1 -1
- package/dist/runs/run-database.d.ts +29 -34
- package/dist/runs/run-database.js +124 -46
- package/dist/runs/run-database.js.map +1 -1
- package/dist/runs/run-index.d.ts +6 -25
- package/dist/runs/run-index.js +25 -38
- package/dist/runs/run-index.js.map +1 -1
- package/dist/runs/run-row.d.ts +5 -34
- package/dist/runs/run-row.js +13 -38
- package/dist/runs/run-row.js.map +1 -1
- package/dist/runs/store.d.ts +1597 -744
- package/dist/runs/store.js +1231 -739
- package/dist/runs/store.js.map +1 -1
- package/dist/runs/task-markers.d.ts +1 -0
- package/dist/runs/task-markers.js +5 -1
- package/dist/runs/task-markers.js.map +1 -1
- package/dist/runs/task-refs.d.ts +3 -3
- package/dist/runs/transcript-facts-fold.d.ts +64 -0
- package/dist/runs/transcript-facts-fold.js +109 -0
- package/dist/runs/transcript-facts-fold.js.map +1 -0
- package/dist/runs/transcript-facts-load.d.ts +11 -0
- package/dist/runs/transcript-facts-load.js +66 -0
- package/dist/runs/transcript-facts-load.js.map +1 -0
- package/dist/runs/transcript-facts-queue.d.ts +30 -0
- package/dist/runs/transcript-facts-queue.js +227 -0
- package/dist/runs/transcript-facts-queue.js.map +1 -0
- package/dist/runs/transcript-facts-worker.d.ts +15 -0
- package/dist/runs/transcript-facts-worker.js +26 -0
- package/dist/runs/transcript-facts-worker.js.map +1 -0
- package/dist/runs/transcript-facts.d.ts +13 -51
- package/dist/runs/transcript-facts.js +86 -202
- package/dist/runs/transcript-facts.js.map +1 -1
- package/dist/runs/ui-event-sink.d.ts +5 -30
- package/dist/runs/ui-event-sink.js +8 -30
- package/dist/runs/ui-event-sink.js.map +1 -1
- package/dist/runs/webhook.d.ts +104 -38
- package/dist/runs/webhook.js +180 -77
- package/dist/runs/webhook.js.map +1 -1
- package/dist/server/app-type.d.ts +2 -17
- package/dist/server/archive-on-merge.d.ts +35 -0
- package/dist/server/archive-on-merge.js +202 -0
- package/dist/server/archive-on-merge.js.map +1 -0
- package/dist/server/capabilities.d.ts +3 -15
- package/dist/server/capabilities.js +6 -19
- package/dist/server/capabilities.js.map +1 -1
- package/dist/server/checkout-progress.d.ts +10 -0
- package/dist/server/checkout-progress.js +27 -0
- package/dist/server/checkout-progress.js.map +1 -0
- package/dist/server/checkout.d.ts +10 -19
- package/dist/server/checkout.js +15 -45
- package/dist/server/checkout.js.map +1 -1
- package/dist/server/cockpit-ownership.d.ts +2 -0
- package/dist/server/cockpit-ownership.js +9 -0
- package/dist/server/cockpit-ownership.js.map +1 -1
- package/dist/server/cold-repo-handles.d.ts +2 -7
- package/dist/server/cold-repo-handles.js +2 -7
- package/dist/server/cold-repo-handles.js.map +1 -1
- package/dist/server/completion-actions.d.ts +30 -0
- package/dist/server/completion-actions.js +204 -0
- package/dist/server/completion-actions.js.map +1 -0
- package/dist/server/create-project.d.ts +71 -0
- package/dist/server/create-project.js +448 -0
- package/dist/server/create-project.js.map +1 -0
- package/dist/server/forge/github-filters.d.ts +7 -1
- package/dist/server/forge/github-filters.js +66 -51
- package/dist/server/forge/github-filters.js.map +1 -1
- package/dist/server/forge/github-merge-requirements.d.ts +18 -0
- package/dist/server/forge/github-merge-requirements.js +137 -0
- package/dist/server/forge/github-merge-requirements.js.map +1 -0
- package/dist/server/forge/github.d.ts +98 -111
- package/dist/server/forge/github.js +625 -306
- package/dist/server/forge/github.js.map +1 -1
- package/dist/server/forge/types.d.ts +25 -22
- package/dist/server/fs-browse.d.ts +3 -28
- package/dist/server/fs-browse.js.map +1 -1
- package/dist/server/git-changes.d.ts +5 -15
- package/dist/server/git-changes.js +3 -50
- package/dist/server/git-changes.js.map +1 -1
- package/dist/server/git.d.ts +3 -1
- package/dist/server/git.js +12 -0
- package/dist/server/git.js.map +1 -1
- package/dist/server/github.d.ts +1 -1
- package/dist/server/github.js +1 -1
- package/dist/server/github.js.map +1 -1
- package/dist/server/launch-key.d.ts +2 -4
- package/dist/server/launch-key.js +2 -4
- package/dist/server/launch-key.js.map +1 -1
- package/dist/server/live-routes.d.ts +68 -0
- package/dist/server/live-routes.js +147 -0
- package/dist/server/live-routes.js.map +1 -0
- package/dist/server/open-in-app.d.ts +4 -13
- package/dist/server/open-in-app.js +5 -41
- package/dist/server/open-in-app.js.map +1 -1
- package/dist/server/open-in-targets.d.ts +42 -0
- package/dist/server/open-in-targets.js +110 -0
- package/dist/server/open-in-targets.js.map +1 -0
- package/dist/server/open-in-terminal.d.ts +3 -0
- package/dist/server/open-in-terminal.js +6 -26
- package/dist/server/open-in-terminal.js.map +1 -1
- package/dist/server/preview-cdp-socket.d.ts +21 -0
- package/dist/server/preview-cdp-socket.js +112 -0
- package/dist/server/preview-cdp-socket.js.map +1 -0
- package/dist/server/preview-socket.d.ts +11 -11
- package/dist/server/preview-socket.js +22 -22
- package/dist/server/preview-socket.js.map +1 -1
- package/dist/server/preview-sockets.d.ts +14 -0
- package/dist/server/preview-sockets.js +18 -0
- package/dist/server/preview-sockets.js.map +1 -0
- package/dist/server/project-context.d.ts +54 -18
- package/dist/server/project-context.js +178 -5
- package/dist/server/project-context.js.map +1 -1
- package/dist/server/provider-action-gate.d.ts +0 -2
- package/dist/server/provider-action-gate.js +0 -21
- package/dist/server/provider-action-gate.js.map +1 -1
- package/dist/server/provider-auth-runtime.d.ts +3 -18
- package/dist/server/provider-auth-runtime.js +3 -18
- package/dist/server/provider-auth-runtime.js.map +1 -1
- package/dist/server/repo-branches.d.ts +3 -9
- package/dist/server/repo-branches.js +6 -22
- package/dist/server/repo-branches.js.map +1 -1
- package/dist/server/run-event-feed.d.ts +20 -0
- package/dist/server/run-event-feed.js +190 -0
- package/dist/server/run-event-feed.js.map +1 -0
- package/dist/server/server-deps.d.ts +37 -0
- package/dist/server/server-deps.js +114 -0
- package/dist/server/server-deps.js.map +1 -0
- package/dist/server/server.d.ts +14082 -11998
- package/dist/server/server.js +785 -1647
- package/dist/server/server.js.map +1 -1
- package/dist/server/start-run-options.d.ts +82 -0
- package/dist/server/start-run-options.js +111 -0
- package/dist/server/start-run-options.js.map +1 -0
- package/dist/server/validators.d.ts +3 -29
- package/dist/server/validators.js +1 -2
- package/dist/server/validators.js.map +1 -1
- package/dist/server/ws.d.ts +3 -23
- package/dist/server/ws.js +3 -23
- package/dist/server/ws.js.map +1 -1
- package/dist/server-install/engine.d.ts +6 -9
- package/dist/server-install/engine.js +2 -9
- package/dist/server-install/engine.js.map +1 -1
- package/dist/server-install/platforms/ubuntu-vps.d.ts +1 -1
- package/dist/server-install/state.d.ts +2 -4
- package/dist/server-install/state.js +2 -4
- package/dist/server-install/state.js.map +1 -1
- package/dist/server-install/steps.d.ts +2 -5
- package/dist/server-install/steps.js +3 -6
- package/dist/server-install/steps.js.map +1 -1
- package/dist/server-install/types.d.ts +3 -6
- package/dist/server-install/types.js +2 -5
- package/dist/server-install/types.js.map +1 -1
- package/dist/server-install/ui.d.ts +2 -8
- package/dist/server-install/ui.js +3 -3
- package/dist/server-install/ui.js.map +1 -1
- package/dist/session-context.d.ts +64 -0
- package/dist/session-context.js +264 -0
- package/dist/session-context.js.map +1 -0
- package/dist/skills-provision.d.ts +62 -0
- package/dist/skills-provision.js +325 -0
- package/dist/skills-provision.js.map +1 -0
- package/dist/skills-remote.d.ts +29 -27
- package/dist/skills-remote.js +236 -100
- package/dist/skills-remote.js.map +1 -1
- package/dist/skills.d.ts +25 -36
- package/dist/skills.js +43 -54
- package/dist/skills.js.map +1 -1
- package/dist/subcommands.d.ts +11 -0
- package/dist/subcommands.js +24 -0
- package/dist/subcommands.js.map +1 -0
- package/dist/task-cli/cli.js +78 -25
- package/dist/task-cli/cli.js.map +1 -1
- package/dist/task-cli/discovery.d.ts +4 -2
- package/dist/task-cli/discovery.js +14 -13
- package/dist/task-cli/discovery.js.map +1 -1
- package/dist/task-cli/hint.d.ts +20 -0
- package/dist/task-cli/hint.js +14 -0
- package/dist/task-cli/hint.js.map +1 -0
- package/dist/task-cli/http.d.ts +1 -0
- package/dist/task-cli/http.js +3 -1
- package/dist/task-cli/http.js.map +1 -1
- package/dist/task-cli/projections.d.ts +14 -11
- package/dist/task-cli/projections.js +15 -11
- package/dist/task-cli/projections.js.map +1 -1
- package/dist/task-cli/watch.d.ts +18 -10
- package/dist/task-cli/watch.js +128 -20
- package/dist/task-cli/watch.js.map +1 -1
- package/dist/ui-state.d.ts +17 -3
- package/dist/ui-state.js +56 -9
- package/dist/ui-state.js.map +1 -1
- package/dist/update-check.d.ts +0 -10
- package/dist/update-check.js +1 -16
- package/dist/update-check.js.map +1 -1
- package/dist/voice/decide.d.ts +32 -0
- package/dist/voice/decide.js +297 -0
- package/dist/voice/decide.js.map +1 -0
- package/dist/voice/decision-log.d.ts +52 -0
- package/dist/voice/decision-log.js +107 -0
- package/dist/voice/decision-log.js.map +1 -0
- package/dist/voice/engine.d.ts +119 -0
- package/dist/voice/engine.js +60 -0
- package/dist/voice/engine.js.map +1 -0
- package/dist/voice/fake-engine.d.ts +10 -0
- package/dist/voice/fake-engine.js +192 -0
- package/dist/voice/fake-engine.js.map +1 -0
- package/dist/voice/jev-engine.d.ts +17 -0
- package/dist/voice/jev-engine.js +110 -0
- package/dist/voice/jev-engine.js.map +1 -0
- package/dist/voice/pending-ask.d.ts +17 -0
- package/dist/voice/pending-ask.js +50 -0
- package/dist/voice/pending-ask.js.map +1 -0
- package/dist/voice/routes.d.ts +115 -0
- package/dist/voice/routes.js +91 -0
- package/dist/voice/routes.js.map +1 -0
- package/dist/voice/sentence.d.ts +21 -0
- package/dist/voice/sentence.js +61 -0
- package/dist/voice/sentence.js.map +1 -0
- package/dist/voice/thresholds.d.ts +28 -0
- package/dist/voice/thresholds.js +29 -0
- package/dist/voice/thresholds.js.map +1 -0
- package/dist/webhooks/cli.d.ts +18 -0
- package/dist/webhooks/cli.js +145 -0
- package/dist/webhooks/cli.js.map +1 -0
- package/dist/webhooks/prompt.d.ts +5 -0
- package/dist/webhooks/prompt.js +26 -0
- package/dist/webhooks/prompt.js.map +1 -0
- package/dist/workflows/active-run.d.ts +167 -0
- package/dist/workflows/active-run.js +21 -0
- package/dist/workflows/active-run.js.map +1 -0
- package/dist/workflows/continuation-admission.d.ts +913 -0
- package/dist/workflows/continuation-admission.js +265 -0
- package/dist/workflows/continuation-admission.js.map +1 -0
- package/dist/workflows/execution-account.d.ts +13 -0
- package/dist/workflows/execution-account.js +18 -0
- package/dist/workflows/execution-account.js.map +1 -0
- package/dist/workflows/input-acknowledgement.d.ts +152 -0
- package/dist/workflows/input-acknowledgement.js +38 -0
- package/dist/workflows/input-acknowledgement.js.map +1 -0
- package/dist/workflows/line-order.d.ts +5 -0
- package/dist/workflows/line-order.js +25 -0
- package/dist/workflows/line-order.js.map +1 -0
- package/dist/workflows/outcome-batches.d.ts +20 -0
- package/dist/workflows/outcome-batches.js +25 -0
- package/dist/workflows/outcome-batches.js.map +1 -0
- package/dist/workflows/question-routing.d.ts +8 -0
- package/dist/workflows/question-routing.js +18 -0
- package/dist/workflows/question-routing.js.map +1 -0
- package/dist/workflows/run-scheduling.d.ts +35 -0
- package/dist/workflows/run-scheduling.js +61 -0
- package/dist/workflows/run-scheduling.js.map +1 -0
- package/dist/workflows/run-states.d.ts +190 -0
- package/dist/workflows/run-states.js +295 -0
- package/dist/workflows/run-states.js.map +1 -0
- package/dist/workflows/run.d.ts +1296 -278
- package/dist/workflows/run.js +5730 -3265
- package/dist/workflows/run.js.map +1 -1
- package/dist/workflows/turn-end.d.ts +116 -0
- package/dist/workflows/turn-end.js +68 -0
- package/dist/workflows/turn-end.js.map +1 -0
- package/dist/workflows/types.d.ts +35 -130
- package/dist/workflows/types.js +47 -100
- package/dist/workflows/types.js.map +1 -1
- package/dist/workflows/waits.d.ts +74 -0
- package/dist/workflows/waits.js +197 -0
- package/dist/workflows/waits.js.map +1 -0
- package/dist/workspace/agent-accounts.d.ts +5 -38
- package/dist/workspace/agent-accounts.js +14 -40
- package/dist/workspace/agent-accounts.js.map +1 -1
- package/dist/workspace/agent-profiles.d.ts +40 -16
- package/dist/workspace/agent-profiles.js +77 -17
- package/dist/workspace/agent-profiles.js.map +1 -1
- package/dist/workspace/config.d.ts +48 -49
- package/dist/workspace/config.js +68 -72
- package/dist/workspace/config.js.map +1 -1
- package/dist/workspace/migrations.d.ts +3 -13
- package/dist/workspace/migrations.js.map +1 -1
- package/dist/workspace/projects-cli.d.ts +1 -1
- package/dist/workspace/projects-cli.js.map +1 -1
- package/dist/workspace/projects.d.ts +15 -18
- package/dist/workspace/projects.js +20 -16
- package/dist/workspace/projects.js.map +1 -1
- package/dist/workspace/semaphore.d.ts +11 -45
- package/dist/workspace/semaphore.js +6 -18
- package/dist/workspace/semaphore.js.map +1 -1
- package/dist/workspace/ui-state.d.ts +6 -4
- package/dist/workspace/ui-state.js +6 -4
- package/dist/workspace/ui-state.js.map +1 -1
- package/dist/workspace/webhooks.d.ts +40 -0
- package/dist/workspace/webhooks.js +146 -0
- package/dist/workspace/webhooks.js.map +1 -0
- package/dist/worktree-manifest.d.ts +165 -0
- package/dist/worktree-manifest.js +530 -0
- package/dist/worktree-manifest.js.map +1 -0
- package/dist/worktree-setup.js.map +1 -1
- package/package.json +6 -5
- package/scripts/benchmark-run-store-fixture.ts +7 -3
- package/scripts/check-pack.mjs +3 -1
- package/scripts/inline-contract.mjs +80 -27
- package/scripts/install-as-command.mjs +3 -1
- package/scripts/measure-transcript-facts-health.mjs +87 -0
- package/scripts/measure-transcript-facts-lag.mjs +68 -0
- package/scripts/mock-ci-tool.mjs +49 -6
- package/scripts/mock-claude-model-refusal.mjs +42 -0
- package/scripts/mock-claude.mjs +833 -591
- package/scripts/mock-codex-app-server.mjs +785 -418
- package/scripts/mock-cursor-acp.mjs +296 -125
- package/scripts/mock-cursor-print.mjs +256 -0
- package/scripts/mock-deferred-turn-start.mjs +16 -0
- package/scripts/mock-delivery-control.d.mts +23 -0
- package/scripts/mock-delivery-control.mjs +80 -0
- package/scripts/mock-env-record.mjs +11 -0
- package/scripts/mock-failure-control.d.mts +13 -0
- package/scripts/mock-failure-control.mjs +68 -0
- package/scripts/mock-multi-pr.mjs +7 -0
- package/scripts/mock-nudge.mjs +45 -0
- package/scripts/mock-omp-rpc.mjs +429 -255
- package/scripts/mock-opencode-serve.mjs +972 -557
- package/scripts/mock-pi-rpc.mjs +558 -331
- package/scripts/mock-runner-crash.mjs +18 -2
- package/scripts/mock-session-context.d.mts +5 -0
- package/scripts/mock-session-context.mjs +56 -0
- package/scripts/mock-silent-tail.mjs +10 -3
- package/scripts/pi-default-tools.mjs +22 -0
- package/scripts/pi-project-skills.mjs +59 -0
- package/scripts/probe-cursor-print.mjs +627 -0
- package/scripts/transcript-facts-fixture.mjs +53 -0
- package/scripts/voice-replay.ts +50 -0
- package/scripts/windows-workspace-identity.cs +208 -0
- package/scripts/windows-workspace-identity.ps1 +10 -0
- package/web/dist/assets/alert-dialog-DfctKUMw.js +1 -0
- package/web/dist/assets/button-CeupvoKG.js +41 -0
- package/web/dist/assets/centered-state-hDsyXrnH.js +1 -0
- package/web/dist/assets/cez-idle-D3aj_9lp.js +1 -0
- package/web/dist/assets/diff-BnIXZK3i2.js +3 -0
- package/web/dist/assets/diff-controls-GewpW9aF.js +1 -0
- package/web/dist/assets/diff-view-Byo7gpvW.js +11 -0
- package/web/dist/assets/dropdown-menu-COj_J5wd.js +6 -0
- package/web/dist/assets/eye-B8okNWXU.js +1 -0
- package/web/dist/assets/git-toolbar-DY0z0n4S.js +1 -0
- package/web/dist/assets/github-DwU6ALRK.js +1 -0
- package/web/dist/assets/{image-preview-FOEfqpZP.js → image-preview-C_t9q45f.js} +1 -1
- package/web/dist/assets/index-BOfE8pyD.js +34 -0
- package/web/dist/assets/index-D9HpsmdW.css +1 -0
- package/web/dist/assets/live-protocol-Uce2NwEX.js +64 -0
- package/web/dist/assets/live-worker-BizfZSoh.ts +33 -0
- package/web/dist/assets/markdown-BBDDg-4t.js +1 -0
- package/web/dist/assets/nav-row-styles-AoIhhIwf.js +1 -0
- package/web/dist/assets/popover-D56fhiXj.js +1 -0
- package/web/dist/assets/preview-pane-connected-BmVqfSU5.js +3 -0
- package/web/dist/assets/reference-chip-gQNk-4jc.js +1 -0
- package/web/dist/assets/repo-git-B5ECDUuv.js +1 -0
- package/web/dist/assets/{repo-git-CoKp-g9K.css → repo-git-DVXNOJDT.css} +1 -1
- package/web/dist/assets/run-header-C0Y1NvEM.js +2 -0
- package/web/dist/assets/run-header-CC7VUTg9.css +1 -0
- package/web/dist/assets/skills-DUeTkZ9z.js +1 -0
- package/web/dist/assets/status-dot-1PR0i69P.js +1 -0
- package/web/dist/assets/tab-link-DmWk4l5O.js +1 -0
- package/web/dist/assets/task-changes-DKZXuW89.js +1 -0
- package/web/dist/assets/task-commits-BZ6KxWdF.js +1 -0
- package/web/dist/assets/task-files-DlF7Apcn.js +2 -0
- package/web/dist/assets/task-github-item-CVPo3geZ.js +1 -0
- package/web/dist/assets/task-thread-DtQ6uGfQ.css +1 -0
- package/web/dist/assets/task-thread-mm4-ECyo.js +9 -0
- package/web/dist/assets/thread-state-CIw2BlhT.js +4 -0
- package/web/dist/assets/use-hand-to-agent-state-BCDjzHnG.js +1 -0
- package/web/dist/assets/use-hand-to-agent-state-C7esPJ-N.css +1 -0
- package/web/dist/assets/workflows-D8vYD-ql.js +7 -0
- package/web/dist/assets/zoomable-image-CxQSsfcn.js +1 -0
- package/web/dist/index.html +13 -17
- package/web/dist/live-worker.js +4 -0
- package/dist/core/tool-display.js +0 -179
- package/dist/core/tool-display.js.map +0 -1
- package/dist/runs/human-ask-summary.d.ts +0 -9
- package/dist/runs/human-ask-summary.js +0 -39
- package/dist/runs/human-ask-summary.js.map +0 -1
- package/dist/runs/run-search.d.ts +0 -29
- package/dist/runs/run-search.js +0 -63
- package/dist/runs/run-search.js.map +0 -1
- package/dist/skills-banner.d.ts +0 -22
- package/dist/skills-banner.js +0 -41
- package/dist/skills-banner.js.map +0 -1
- package/dist/skills-update.d.ts +0 -88
- package/dist/skills-update.js +0 -392
- package/dist/skills-update.js.map +0 -1
- package/dist/todos.d.ts +0 -48
- package/dist/todos.js +0 -201
- package/dist/todos.js.map +0 -1
- package/web/dist/assets/agent-accounts-CFOBMVHc.js +0 -1
- package/web/dist/assets/alert-dialog-BrpNUwMt.js +0 -1
- package/web/dist/assets/button-C_rd7CPp.js +0 -43
- package/web/dist/assets/compare-variants-D6WXhvXA.js +0 -1
- package/web/dist/assets/diff-DrEARXTV.js +0 -3
- package/web/dist/assets/diff-controls-B1-j7nFg.js +0 -1
- package/web/dist/assets/diff-view-DvGLjdTk.js +0 -6
- package/web/dist/assets/dropdown-menu-BegOZFrj.js +0 -1
- package/web/dist/assets/format-DpNe3S0A.js +0 -1
- package/web/dist/assets/git-toolbar-Cw4ljmhB.js +0 -1
- package/web/dist/assets/github-CfV5sqL0.js +0 -1
- package/web/dist/assets/index-DgWWlOLy.js +0 -13
- package/web/dist/assets/index-fBFnuvxu.css +0 -1
- package/web/dist/assets/nav-row-styles-vp2JbhuJ.js +0 -1
- package/web/dist/assets/popover-BohP6WTx.js +0 -1
- package/web/dist/assets/preview-pane-connected-qTA5KNoJ.js +0 -3
- package/web/dist/assets/preview-state-vuMviq6q.js +0 -1
- package/web/dist/assets/prompt-templates-Cubdut_C.js +0 -15
- package/web/dist/assets/repo-git-Cf4t5PD0.js +0 -1
- package/web/dist/assets/run-diff-BpkUW37Z.js +0 -3
- package/web/dist/assets/run-header-68WHf9wV.js +0 -1
- package/web/dist/assets/run-header-8GObNx6F.css +0 -1
- package/web/dist/assets/search-x-I9Q8pgUa.js +0 -1
- package/web/dist/assets/skills-DFBiAuJG.js +0 -1
- package/web/dist/assets/skills-DiVIgKeU.js +0 -1
- package/web/dist/assets/square-terminal-B6RYYieR.js +0 -1
- package/web/dist/assets/status-dot-CqTJHSP9.js +0 -1
- package/web/dist/assets/tab-link-B07Hu4QX.js +0 -1
- package/web/dist/assets/task-changes--lQF6EYf.js +0 -1
- package/web/dist/assets/task-commits-Cx0qy4DN.js +0 -1
- package/web/dist/assets/task-files-D50s-gKW.js +0 -2
- package/web/dist/assets/task-github-item-DaqmSwYT.js +0 -1
- package/web/dist/assets/task-thread-BPQ64lui.js +0 -7
- package/web/dist/assets/task-thread-zNE2Q9E-.css +0 -1
- package/web/dist/assets/textarea-D20O4Pw0.js +0 -1
- package/web/dist/assets/thread-state-DWcFMrvb.js +0 -4
- package/web/dist/assets/use-hand-to-agent-state-BLIGmwbd.css +0 -1
- package/web/dist/assets/use-hand-to-agent-state-Cy9eyyfL.js +0 -1
- package/web/dist/assets/utils-JsL3ZsJf.js +0 -64
- package/web/dist/assets/workflows-jwG7uxqi.js +0 -11
- package/web/dist/assets/zoomable-image-BJJ64KGc.js +0 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import { uiAskQuestions } from './ask.js';
|
|
1
2
|
import { summarizeRunnerStderr } from './runner-stderr.js';
|
|
2
3
|
import { randomUUID } from 'node:crypto';
|
|
3
4
|
import { parseEffort } from '../contract/index.js';
|
|
4
5
|
import { isSignalTerminationExit, prependSystemPrompt, trackChildExit } from './agent-runner.js';
|
|
6
|
+
import { codexToolGrantFields } from './runner-tool-grants.js';
|
|
5
7
|
import { signalSession } from './session-process.js';
|
|
6
|
-
import { AUTO_END_DELAY_MS, DEFAULT_RUN_TIMEOUT_MS, KILL_GRACE_MS, } from './runner-runtime.js';
|
|
8
|
+
import { afterExitDrain, AUTO_END_DELAY_MS, DEFAULT_RUN_TIMEOUT_MS, exitDrainBudget, KILL_GRACE_MS, } from './runner-runtime.js';
|
|
7
9
|
import { parseAskRequest } from './ask.js';
|
|
8
10
|
import { readNdjson } from './ndjson.js';
|
|
9
11
|
import { V1TextCoalescer } from './v1-text-coalescer.js';
|
|
@@ -11,6 +13,7 @@ import { InputSubmissions } from './input-submissions.js';
|
|
|
11
13
|
import { codexStreamError } from './codex-stream-error.js';
|
|
12
14
|
import { codexTurnOutcome } from './codex-turn-outcome.js';
|
|
13
15
|
import { codexNetworkIsRestricted, codexPermissionOverrides } from './codex-permissions.js';
|
|
16
|
+
import { codexApproval, isCodexApprovalRequest } from './codex-approvals.js';
|
|
14
17
|
import { cezarToolEnvNames } from '../ci-wait/tools.js';
|
|
15
18
|
import { CodexAppServerRpc, CodexRpcResponseError, codexSpawnError, endCodexAppServer, resolveCodexExecutable, spawnCodexAppServer, waitForCodexAppServerExit, } from './codex-app-server-transport.js';
|
|
16
19
|
import { codexSessionStarted, createCodexUiState, mapCodexNotification, } from './codex-ui-mapper.js';
|
|
@@ -19,9 +22,6 @@ import { codexSessionStarted, createCodexUiState, mapCodexNotification, } from '
|
|
|
19
22
|
const STARTUP_TIMEOUT_MS = 60_000;
|
|
20
23
|
// A retry episode gets one budget, regardless of error/warning frequency.
|
|
21
24
|
const STREAM_RETRY_TIMEOUT_MS = 60_000;
|
|
22
|
-
// After real process exit, allow buffered output to drain before closing pipes
|
|
23
|
-
// a descendant may have inherited. This timer never proves termination.
|
|
24
|
-
const EXIT_DRAIN_MS = 250;
|
|
25
25
|
/**
|
|
26
26
|
* `AgentRunner` over `codex app-server` — the same JSONL transport the VS Code
|
|
27
27
|
* extension and desktop app use (JSON-RPC 2.0, newline-delimited, over
|
|
@@ -34,26 +34,24 @@ const EXIT_DRAIN_MS = 250;
|
|
|
34
34
|
* agent inherits managed permissions; confirmed unmanaged sessions keep cezar's
|
|
35
35
|
* full-access default. Approval policy always belongs to the app-server.
|
|
36
36
|
* Codex has no per-tool allowlist, so
|
|
37
|
-
* `spec.
|
|
37
|
+
* `spec.toolGrant` is ignored. `CEZ_CODEX_NETWORK=0` requires a confirmed
|
|
38
38
|
* network restriction without replacing managed filesystem rules.
|
|
39
39
|
*/
|
|
40
40
|
/**
|
|
41
41
|
* What the codex app-server receives from each `AgentRunSpec` field (#284).
|
|
42
42
|
* Tool access does not cross this wire: managed permissions belong to Codex;
|
|
43
43
|
* unmanaged sessions use cezar's sandbox choice. The app-server has no per-tool
|
|
44
|
-
* allowlist, so `
|
|
45
|
-
*
|
|
46
|
-
* recorded JSON-RPC by the harness parity matrix.
|
|
44
|
+
* allowlist, so `toolGrant` is declared dropped rather than mapped (spec
|
|
45
|
+
* 2026-07-17-permission-modes). Held against the recorded JSON-RPC by the harness parity matrix.
|
|
47
46
|
*/
|
|
48
47
|
export const CODEX_SPEC_SUPPORT = {
|
|
49
|
-
cezarTools: { honored: true, via: 'thread/start and thread/resume dotted mcp_servers config with env_vars' },
|
|
48
|
+
cezarTools: { honored: true, via: 'thread/start and thread/resume dotted mcp_servers config with env_vars and default_tools_approval_mode approve' },
|
|
50
49
|
systemPrompt: { honored: true, via: 'prepended to the opening turn/start input through prependSystemPrompt' },
|
|
51
50
|
userPrompt: { honored: true, via: 'turn/start input text' },
|
|
52
51
|
images: { honored: false, reason: 'the adapter sends text input items only; image blocks are dropped' },
|
|
53
52
|
cwd: { honored: true, via: 'spawn cwd, and the thread/start / thread/resume cwd' },
|
|
54
|
-
|
|
53
|
+
toolGrant: { honored: false, reason: 'no per-tool allowlist on the app-server, so no command-prefix restriction either; managed permissions and approval policy belong to Codex' },
|
|
55
54
|
restrictNativeDelegation: { honored: true, via: 'thread/start and thread/resume config features.multi_agent=false, features.multi_agent_v2=false (D1)' },
|
|
56
|
-
bashAllowlist: { honored: false, reason: 'no per-tool allowlist, so no command-prefix restriction either' },
|
|
57
55
|
additionalDirectories: { honored: false, reason: 'no extra-root mapping; managed filesystem permissions belong to Codex' },
|
|
58
56
|
env: { honored: true, via: 'merged over the child env through buildCodexAppServerEnv' },
|
|
59
57
|
model: { honored: true, via: 'thread/start and thread/resume model' },
|
|
@@ -134,6 +132,7 @@ class CodexSession {
|
|
|
134
132
|
agentSubmissionPending = false;
|
|
135
133
|
turnBoundaryVersion = 0;
|
|
136
134
|
pendingUserInput;
|
|
135
|
+
pendingApprovals = new Map();
|
|
137
136
|
toolCalls = [];
|
|
138
137
|
textChunks = [];
|
|
139
138
|
/** Streamed agentMessage deltas buffered per item — v1 `text` is emitted
|
|
@@ -159,13 +158,11 @@ class CodexSession {
|
|
|
159
158
|
eofKillTimer;
|
|
160
159
|
spawnFailed = null;
|
|
161
160
|
timedOut = false;
|
|
162
|
-
/**
|
|
163
|
-
* codex handles the signal and exits 143, so without this the runner reads
|
|
164
|
-
* its own teardown as a codex failure (#703). */
|
|
161
|
+
/** Explicit teardown or automatic cleanup with positive live evidence. */
|
|
165
162
|
terminatedByCezar = false;
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
163
|
+
explicitEnd = false;
|
|
164
|
+
automaticCleanupStarted = false;
|
|
165
|
+
/** Native termination, independent of signal delivery (`child.killed`). */
|
|
169
166
|
hasExited;
|
|
170
167
|
/** Protocol v2 emission — additive alongside v1 (`onEvent` keeps flowing
|
|
171
168
|
* byte-identical); the channel is `opts.onUiEvent` (RunManager wiring
|
|
@@ -191,7 +188,9 @@ class CodexSession {
|
|
|
191
188
|
// Observe termination BEFORE bootstrap. Pending RPCs cannot own the only
|
|
192
189
|
// path to discovering that their process has already gone (#493).
|
|
193
190
|
const exited = waitForCodexAppServerExit(this.child);
|
|
194
|
-
|
|
191
|
+
// After real process exit, allow buffered output to drain before closing pipes
|
|
192
|
+
// a descendant may have inherited. This drain never proves termination.
|
|
193
|
+
let cancelDrain;
|
|
195
194
|
this.child.on('error', (err) => {
|
|
196
195
|
if (this.child.pid === undefined) {
|
|
197
196
|
this.spawnFailed = codexSpawnError(err, bin);
|
|
@@ -208,9 +207,9 @@ class CodexSession {
|
|
|
208
207
|
}
|
|
209
208
|
// Do not discard final buffered text on a healthy exit. Revoke RPCs
|
|
210
209
|
// immediately, then bound pipe draining ONLY after physical termination.
|
|
210
|
+
this.expireApprovals('codex app-server exited', false);
|
|
211
211
|
this.rpc.close('codex app-server exited');
|
|
212
|
-
|
|
213
|
-
drainTimer.unref?.();
|
|
212
|
+
cancelDrain = afterExitDrain(() => this.child.stdout.destroy(), exitDrainBudget(code));
|
|
214
213
|
if (this.stopKillTimer)
|
|
215
214
|
clearTimeout(this.stopKillTimer);
|
|
216
215
|
});
|
|
@@ -242,16 +241,25 @@ class CodexSession {
|
|
|
242
241
|
catch {
|
|
243
242
|
continue;
|
|
244
243
|
}
|
|
245
|
-
//
|
|
246
|
-
//
|
|
247
|
-
|
|
244
|
+
// A method+id is a server REQUEST, even if its method happens to name
|
|
245
|
+
// a lifecycle notification. It must never reach the notification mapper.
|
|
246
|
+
if (typeof msg.method === 'string' && (typeof msg.id === 'number' || typeof msg.id === 'string')) {
|
|
247
|
+
if (this.open)
|
|
248
|
+
this.dispatch(msg);
|
|
249
|
+
continue;
|
|
250
|
+
}
|
|
251
|
+
// Drain the final outcome after natural exit without restoring input authority.
|
|
248
252
|
const finalOutcome = this.stdinOpen && hasExited() &&
|
|
249
253
|
(msg.method === 'turn/completed' || msg.method === 'turn/failed');
|
|
250
254
|
if (!this.open && (msg.id !== undefined || (!PASSIVE_OUTPUT_METHODS.has(msg.method ?? '') && !finalOutcome)))
|
|
251
255
|
continue;
|
|
252
|
-
// Child
|
|
256
|
+
// Child turns do not reach either channel.
|
|
253
257
|
if (this.isForeignTurnLifecycle(msg))
|
|
254
258
|
continue;
|
|
259
|
+
// The UI mapper must not retire a live approval on an older turn's tail.
|
|
260
|
+
if ((msg.method === 'turn/completed' || msg.method === 'turn/failed') && this.activeTurnId &&
|
|
261
|
+
turnIdOf(msg.params ?? {}) && turnIdOf(msg.params ?? {}) !== this.activeTurnId)
|
|
262
|
+
continue;
|
|
255
263
|
// Stale/child retry errors must neither fail nor warn on this turn.
|
|
256
264
|
if (msg.method === 'error' && !this.isCurrentTurn((msg.params ?? {})))
|
|
257
265
|
continue;
|
|
@@ -263,7 +271,7 @@ class CodexSession {
|
|
|
263
271
|
if (!this.startupComplete)
|
|
264
272
|
this.fail(new Error(`Codex startup stdout closed while waiting for ${this.startupPhase}`));
|
|
265
273
|
else
|
|
266
|
-
this.end();
|
|
274
|
+
this.end(false);
|
|
267
275
|
}
|
|
268
276
|
}
|
|
269
277
|
catch {
|
|
@@ -290,8 +298,7 @@ class CodexSession {
|
|
|
290
298
|
finally {
|
|
291
299
|
if (deadline)
|
|
292
300
|
clearTimeout(deadline);
|
|
293
|
-
|
|
294
|
-
clearTimeout(drainTimer);
|
|
301
|
+
cancelDrain?.();
|
|
295
302
|
if (this.stopKillTimer)
|
|
296
303
|
clearTimeout(this.stopKillTimer);
|
|
297
304
|
if (this.eofTermTimer)
|
|
@@ -384,7 +391,7 @@ class CodexSession {
|
|
|
384
391
|
this.refusedForHuman = true;
|
|
385
392
|
return false;
|
|
386
393
|
}
|
|
387
|
-
if (!this.open || this.pendingUserInput || this.agentSubmissionPending)
|
|
394
|
+
if (!this.open || this.pendingUserInput || this.pendingApprovals.size || this.agentSubmissionPending)
|
|
388
395
|
return false;
|
|
389
396
|
this.agentInputReady = false;
|
|
390
397
|
this.agentSubmissionPending = true;
|
|
@@ -404,14 +411,14 @@ class CodexSession {
|
|
|
404
411
|
this.agentSubmissionPending = false;
|
|
405
412
|
if (this.inFlightSubmissionId === submissionId)
|
|
406
413
|
this.inFlightSubmissionId = undefined;
|
|
407
|
-
if (this.stdinOpen && this.agentInputReady && !this.pendingUserInput) {
|
|
414
|
+
if (this.stdinOpen && this.agentInputReady && !this.pendingUserInput && !this.pendingApprovals.size) {
|
|
408
415
|
this.opts.onAgentInputReady?.();
|
|
409
416
|
this.scheduleAutoEnd();
|
|
410
417
|
}
|
|
411
418
|
});
|
|
412
419
|
}
|
|
413
420
|
scheduleAutoEnd() {
|
|
414
|
-
if (!this.opts.autoEndAfterFirstTurn || !this.open || this.autoEndTimer || this.agentSubmissionPending)
|
|
421
|
+
if (!this.opts.autoEndAfterFirstTurn || !this.open || this.autoEndTimer || this.agentSubmissionPending || this.pendingApprovals.size)
|
|
415
422
|
return;
|
|
416
423
|
this.autoEndTimer = setTimeout(() => {
|
|
417
424
|
this.autoEndTimer = undefined;
|
|
@@ -422,7 +429,7 @@ class CodexSession {
|
|
|
422
429
|
}
|
|
423
430
|
sendMessage(content) {
|
|
424
431
|
this.agentInputReady = false;
|
|
425
|
-
if (!this.open)
|
|
432
|
+
if (!this.open || this.pendingApprovals.size)
|
|
426
433
|
return false;
|
|
427
434
|
if (this.autoEndTimer) {
|
|
428
435
|
clearTimeout(this.autoEndTimer);
|
|
@@ -524,7 +531,7 @@ class CodexSession {
|
|
|
524
531
|
notifyHumanInputDrained() {
|
|
525
532
|
// A just-accepted turn/start may not have `activeTurnId` yet; run.ts ignores
|
|
526
533
|
// settle once turn.started clears atTurnBoundary. Do not block on activeTurnId.
|
|
527
|
-
if (this.humanPromptsPending > 0 || this.humanReadyOnTurnStart || !this.open || this.pendingUserInput || this.agentSubmissionPending)
|
|
534
|
+
if (this.humanPromptsPending > 0 || this.humanReadyOnTurnStart || !this.open || this.pendingUserInput || this.pendingApprovals.size || this.agentSubmissionPending)
|
|
528
535
|
return;
|
|
529
536
|
if (this.refusedForHuman)
|
|
530
537
|
this.refusedForHuman = false;
|
|
@@ -533,7 +540,11 @@ class CodexSession {
|
|
|
533
540
|
discardQueuedMessages() { }
|
|
534
541
|
holdsHumanInput() { return this.humanPromptsPending > 0 || this.humanReadyOnTurnStart; }
|
|
535
542
|
heldHumanInputCount() { return this.humanPromptsPending + (this.humanReadyOnTurnStart ? 1 : 0); }
|
|
536
|
-
end() {
|
|
543
|
+
end(explicit = true) {
|
|
544
|
+
if (explicit && !this.hasExited()) {
|
|
545
|
+
this.explicitEnd = true;
|
|
546
|
+
this.terminatedByCezar ||= this.automaticCleanupStarted;
|
|
547
|
+
}
|
|
537
548
|
if (!this.stdinOpen)
|
|
538
549
|
return;
|
|
539
550
|
this.closeInput('session ended');
|
|
@@ -541,23 +552,23 @@ class CodexSession {
|
|
|
541
552
|
endCodexAppServer(this.child, (term, kill) => {
|
|
542
553
|
this.eofTermTimer = term;
|
|
543
554
|
this.eofKillTimer = kill;
|
|
544
|
-
}, () => {
|
|
545
|
-
this.
|
|
555
|
+
}, (state) => {
|
|
556
|
+
this.automaticCleanupStarted = true;
|
|
557
|
+
this.terminatedByCezar ||= this.explicitEnd || state === 'live';
|
|
546
558
|
});
|
|
547
559
|
}
|
|
548
|
-
catch {
|
|
549
|
-
// already gone
|
|
550
|
-
}
|
|
560
|
+
catch { /* already gone */ }
|
|
551
561
|
}
|
|
552
562
|
interrupt() {
|
|
553
563
|
if (this.hardStopStarted || this.hasExited())
|
|
554
564
|
return;
|
|
555
565
|
this.hardStopStarted = true;
|
|
556
|
-
if (this.
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
566
|
+
if (!this.automaticCleanupStarted) {
|
|
567
|
+
if (this.eofTermTimer)
|
|
568
|
+
clearTimeout(this.eofTermTimer);
|
|
569
|
+
if (this.eofKillTimer)
|
|
570
|
+
clearTimeout(this.eofKillTimer);
|
|
571
|
+
}
|
|
561
572
|
if (this.stdinOpen && this.threadId && this.activeTurnId) {
|
|
562
573
|
void this.rpc.request('turn/interrupt', { threadId: this.threadId, turnId: this.activeTurnId }).catch(() => undefined);
|
|
563
574
|
}
|
|
@@ -573,6 +584,8 @@ class CodexSession {
|
|
|
573
584
|
closeInput(reason) {
|
|
574
585
|
this.clearStreamRetry();
|
|
575
586
|
this.stdinOpen = false;
|
|
587
|
+
// Respond while stdin is still writable, before rpc.close or EOF/TERM.
|
|
588
|
+
this.expireApprovals(reason);
|
|
576
589
|
this.humanReadyOnTurnStart = false;
|
|
577
590
|
for (const id of [...this.unreadHumanSteers.keys()]) {
|
|
578
591
|
this.unreadHumanSteers.delete(id);
|
|
@@ -620,7 +633,7 @@ class CodexSession {
|
|
|
620
633
|
if (this.refusedBeforeStartup)
|
|
621
634
|
queueMicrotask(() => {
|
|
622
635
|
this.refusedBeforeStartup = false;
|
|
623
|
-
if (this.open && !this.pendingUserInput && !this.agentSubmissionPending)
|
|
636
|
+
if (this.open && !this.pendingUserInput && !this.pendingApprovals.size && !this.agentSubmissionPending)
|
|
624
637
|
this.opts.onAgentInputReady?.();
|
|
625
638
|
});
|
|
626
639
|
}
|
|
@@ -646,13 +659,17 @@ class CodexSession {
|
|
|
646
659
|
const overrides = {
|
|
647
660
|
model: this.spec.model,
|
|
648
661
|
cwd: this.spec.cwd,
|
|
662
|
+
...codexToolGrantFields(this.spec.toolGrant),
|
|
649
663
|
...codexPermissionOverrides(requirements, restrictNetwork),
|
|
650
664
|
// ThreadStartParams AND ThreadResumeParams accept dotted config overrides.
|
|
651
665
|
// Both feature generations exist in Codex 0.153.4; no global config write.
|
|
652
666
|
...((restrictNetwork || this.spec.restrictNativeDelegation || this.spec.cezarTools) ? { config: {
|
|
653
667
|
...(restrictNetwork ? { 'sandbox_workspace_write.network_access': false } : {}),
|
|
654
668
|
...(this.spec.restrictNativeDelegation ? { 'features.multi_agent': false, 'features.multi_agent_v2': false } : {}),
|
|
655
|
-
|
|
669
|
+
// hearsay-tools/cezarion#1294: Codex asks before every MCP tool call unless the
|
|
670
|
+
// server's mode is `approve`, and cezar's own tools must never wait on that.
|
|
671
|
+
// approval_policy stays the user's (#381); older Codex ignores the unknown key.
|
|
672
|
+
...(this.spec.cezarTools ? { [`mcp_servers.${this.spec.cezarTools.name}`]: { command: this.spec.cezarTools.command, args: this.spec.cezarTools.args, env_vars: cezarToolEnvNames(this.spec.env ?? {}), default_tools_approval_mode: 'approve' } } : {}),
|
|
656
673
|
} } : {}),
|
|
657
674
|
};
|
|
658
675
|
let threadResponse;
|
|
@@ -775,6 +792,15 @@ class CodexSession {
|
|
|
775
792
|
this.activeTurnId = turnIdOf(res) ?? this.activeTurnId;
|
|
776
793
|
}
|
|
777
794
|
dispatch(msg) {
|
|
795
|
+
if (typeof msg.method === 'string' && (typeof msg.id === 'number' || typeof msg.id === 'string')) {
|
|
796
|
+
if (msg.method === 'item/tool/requestUserInput')
|
|
797
|
+
this.handleUserInputRequest(msg.id, msg.params ?? {});
|
|
798
|
+
else if (isCodexApprovalRequest(msg.method, msg.params))
|
|
799
|
+
this.handleApprovalRequest(msg.method, msg.id, msg.params);
|
|
800
|
+
else
|
|
801
|
+
this.rpc.respond({ id: msg.id, error: { code: -32601, message: `unsupported server request: ${msg.method}` } });
|
|
802
|
+
return;
|
|
803
|
+
}
|
|
778
804
|
const humanClient = typeof msg.id === 'number' ? this.humanPromptByRpc.get(msg.id) : undefined;
|
|
779
805
|
if (this.rpc.dispatchResponse(msg)) {
|
|
780
806
|
// #486: settle human-prompt bookkeeping in RPC dispatch order, before the next line.
|
|
@@ -803,13 +829,67 @@ class CodexSession {
|
|
|
803
829
|
}
|
|
804
830
|
return;
|
|
805
831
|
}
|
|
806
|
-
if (msg.method === 'item/tool/requestUserInput' && (typeof msg.id === 'number' || typeof msg.id === 'string')) {
|
|
807
|
-
this.handleUserInputRequest(msg.id, msg.params ?? {});
|
|
808
|
-
return;
|
|
809
|
-
}
|
|
810
832
|
if (typeof msg.method === 'string')
|
|
811
833
|
this.handleNotification(msg.method, msg.params ?? {});
|
|
812
834
|
}
|
|
835
|
+
handleApprovalRequest(method, rpcId, params) {
|
|
836
|
+
const duplicate = [...this.pendingApprovals.entries()].find(([, pending]) => pending.rpcId === rpcId);
|
|
837
|
+
const approval = codexApproval(method, rpcId, params, this.spec.cezarTools?.name);
|
|
838
|
+
const routing = params;
|
|
839
|
+
if (!approval || !this.activeTurnId || routing?.threadId !== this.threadId || approval.turnId !== this.activeTurnId ||
|
|
840
|
+
duplicate) {
|
|
841
|
+
this.rpc.respond({ id: rpcId, error: { code: -32602, message: 'malformed, stale or unsupported approval routing' } });
|
|
842
|
+
// One native id cannot identify two requests. Its error settles the wire;
|
|
843
|
+
// revoke the old UI capability so it cannot produce a second response.
|
|
844
|
+
if (duplicate)
|
|
845
|
+
this.expireApproval(duplicate[0], 'duplicate native request id', false);
|
|
846
|
+
return;
|
|
847
|
+
}
|
|
848
|
+
this.clearStreamRetry();
|
|
849
|
+
this.agentInputReady = false;
|
|
850
|
+
if (this.autoEndTimer)
|
|
851
|
+
clearTimeout(this.autoEndTimer);
|
|
852
|
+
this.autoEndTimer = undefined;
|
|
853
|
+
this.pendingApprovals.set(approval.event.requestId, approval);
|
|
854
|
+
try {
|
|
855
|
+
if (!this.opts.onUiEvent)
|
|
856
|
+
throw new Error('approval UI unavailable');
|
|
857
|
+
this.opts.onUiEvent(approval.event);
|
|
858
|
+
}
|
|
859
|
+
catch {
|
|
860
|
+
// A missing/throwing consumer cannot leave a native RPC waiting forever.
|
|
861
|
+
this.expireApproval(approval.event.requestId, 'approval UI unavailable');
|
|
862
|
+
}
|
|
863
|
+
}
|
|
864
|
+
respondPermission(requestId, optionId) {
|
|
865
|
+
const approval = this.pendingApprovals.get(requestId);
|
|
866
|
+
const response = approval?.responses.get(optionId);
|
|
867
|
+
if (!this.open || !approval || !response || approval.turnId !== this.activeTurnId)
|
|
868
|
+
return false;
|
|
869
|
+
this.pendingApprovals.delete(requestId);
|
|
870
|
+
this.rpc.respond({ id: approval.rpcId, result: response });
|
|
871
|
+
this.emitPermissionResolved(requestId, this.open ? { optionId } : { reason: 'approval response transport failed' });
|
|
872
|
+
return this.open;
|
|
873
|
+
}
|
|
874
|
+
emitPermissionResolved(requestId, resolution) {
|
|
875
|
+
try {
|
|
876
|
+
this.opts.onUiEvent?.({ type: 'permission.resolved', requestId, ...resolution });
|
|
877
|
+
}
|
|
878
|
+
catch { /* A failed consumer must not strand other pending RPCs. */ }
|
|
879
|
+
}
|
|
880
|
+
expireApproval(requestId, reason, respond = true) {
|
|
881
|
+
const approval = this.pendingApprovals.get(requestId);
|
|
882
|
+
if (!approval)
|
|
883
|
+
return;
|
|
884
|
+
this.pendingApprovals.delete(requestId);
|
|
885
|
+
if (respond)
|
|
886
|
+
this.rpc.respond({ id: approval.rpcId, error: { code: -32000, message: reason } });
|
|
887
|
+
this.emitPermissionResolved(requestId, { reason });
|
|
888
|
+
}
|
|
889
|
+
expireApprovals(reason, respond = true) {
|
|
890
|
+
for (const requestId of this.pendingApprovals.keys())
|
|
891
|
+
this.expireApproval(requestId, reason, respond);
|
|
892
|
+
}
|
|
813
893
|
handleUserInputRequest(rpcId, params) {
|
|
814
894
|
const questions = codexAskQuestions(params.questions);
|
|
815
895
|
if (!questions) {
|
|
@@ -821,7 +901,7 @@ class CodexSession {
|
|
|
821
901
|
if (this.pendingUserInput)
|
|
822
902
|
this.rejectPendingUserInput('superseded by a newer requestUserInput');
|
|
823
903
|
this.pendingUserInput = { rpcId, questions };
|
|
824
|
-
this.opts.onUiEvent?.({ type: 'ask.requested', requestId: `codex-${String(rpcId)}`, questions });
|
|
904
|
+
this.opts.onUiEvent?.({ type: 'ask.requested', requestId: `codex-${String(rpcId)}`, questions: uiAskQuestions(questions) });
|
|
825
905
|
}
|
|
826
906
|
rejectPendingUserInput(message) {
|
|
827
907
|
const pending = this.pendingUserInput;
|
|
@@ -889,6 +969,15 @@ class CodexSession {
|
|
|
889
969
|
this.clearStreamRetry();
|
|
890
970
|
}
|
|
891
971
|
switch (method) {
|
|
972
|
+
case 'serverRequest/resolved': {
|
|
973
|
+
if (params.threadId !== this.threadId)
|
|
974
|
+
break;
|
|
975
|
+
for (const [requestId, approval] of this.pendingApprovals) {
|
|
976
|
+
if (approval.rpcId === params.requestId)
|
|
977
|
+
this.expireApproval(requestId, 'resolved by Codex', false);
|
|
978
|
+
}
|
|
979
|
+
break;
|
|
980
|
+
}
|
|
892
981
|
case 'error':
|
|
893
982
|
this.handleStreamError(params);
|
|
894
983
|
break;
|
|
@@ -905,8 +994,10 @@ class CodexSession {
|
|
|
905
994
|
this.firstTurnStarted = true;
|
|
906
995
|
this.checkStartupComplete();
|
|
907
996
|
}
|
|
908
|
-
if (turnIdOf(params) !== this.activeTurnId)
|
|
997
|
+
if (turnIdOf(params) !== this.activeTurnId) {
|
|
909
998
|
this.clearStreamRetry();
|
|
999
|
+
this.expireApprovals('a new turn started');
|
|
1000
|
+
}
|
|
910
1001
|
this.activeTurnId = turnIdOf(params) ?? this.activeTurnId;
|
|
911
1002
|
if (this.humanReadyOnTurnStart) {
|
|
912
1003
|
this.humanReadyOnTurnStart = false;
|
|
@@ -978,8 +1069,11 @@ class CodexSession {
|
|
|
978
1069
|
case 'turn/failed': {
|
|
979
1070
|
if (this.isForeignThreadTurn(params))
|
|
980
1071
|
break; // don't end the parent turn on a child turn (#600)
|
|
1072
|
+
if (this.activeTurnId && turnIdOf(params) && turnIdOf(params) !== this.activeTurnId)
|
|
1073
|
+
break;
|
|
981
1074
|
if (this.isCurrentTurn(params))
|
|
982
1075
|
this.clearStreamRetry();
|
|
1076
|
+
this.expireApprovals('turn ended');
|
|
983
1077
|
this.turnBoundaryVersion += 1;
|
|
984
1078
|
this.pendingUserInput = undefined;
|
|
985
1079
|
this.activeTurnId = undefined;
|
|
@@ -1109,6 +1203,7 @@ const PASSIVE_OUTPUT_METHODS = new Set([
|
|
|
1109
1203
|
'item/started', 'item/updated', 'item/completed', 'item/agentMessage/delta',
|
|
1110
1204
|
'item/reasoning/textDelta', 'item/reasoning/summaryDelta', 'item/reasoning/summaryTextDelta',
|
|
1111
1205
|
'item/commandExecution/outputDelta', 'thread/tokenUsage/updated', 'turn/plan/updated',
|
|
1206
|
+
'hook/started', 'hook/completed',
|
|
1112
1207
|
]);
|
|
1113
1208
|
const REASONING_SUMMARIES = new Set(['auto', 'concise', 'detailed', 'none']);
|
|
1114
1209
|
/**
|