@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
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* A workflow file names either full `steps` or the portable `skills` shorthand
|
|
4
|
+
* (spec 012 — what the builder exports): an ordered list of skill names, each
|
|
5
|
+
* becoming one agent step that applies that skill to `{{task}}`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const workflowFileSchema: z.ZodObject<{
|
|
8
|
+
name: z.ZodString;
|
|
9
|
+
description: z.ZodOptional<z.ZodString>;
|
|
10
|
+
steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
11
|
+
id: z.ZodString;
|
|
12
|
+
name: z.ZodOptional<z.ZodString>;
|
|
13
|
+
prompt: z.ZodOptional<z.ZodString>;
|
|
14
|
+
skill: z.ZodOptional<z.ZodString>;
|
|
15
|
+
model: z.ZodOptional<z.ZodString>;
|
|
16
|
+
effort: z.ZodOptional<z.ZodString>;
|
|
17
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
runner: z.ZodOptional<z.ZodEnum<{
|
|
19
|
+
claude: "claude";
|
|
20
|
+
codex: "codex";
|
|
21
|
+
cursor: "cursor";
|
|
22
|
+
omp: "omp";
|
|
23
|
+
opencode: "opencode";
|
|
24
|
+
pi: "pi";
|
|
25
|
+
}>>;
|
|
26
|
+
agentProfile: z.ZodOptional<z.ZodString>;
|
|
27
|
+
allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
28
|
+
bashAllowlist: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
29
|
+
command: z.ZodOptional<z.ZodString>;
|
|
30
|
+
onFail: z.ZodOptional<z.ZodObject<{
|
|
31
|
+
retry: z.ZodString;
|
|
32
|
+
max: z.ZodDefault<z.ZodNumber>;
|
|
33
|
+
}, z.core.$strip>>;
|
|
34
|
+
}, z.core.$strip>>>;
|
|
35
|
+
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export type WorkflowDoc = z.infer<typeof workflowFileSchema>;
|
|
@@ -6,8 +6,7 @@ import { type Runner } from './health.ts';
|
|
|
6
6
|
* This file must NOT import `./runs.ts`: the run record embeds a workflow definition
|
|
7
7
|
* (`RunRecord.workflowDef`), so `runs.ts` imports the two definition schemas below, and a second
|
|
8
8
|
* edge back would be a module cycle — one whose top-level `z.object(…)` calls would hit a TDZ at
|
|
9
|
-
* import time, not a type error.
|
|
10
|
-
* embed the record, live with the run family for the same reason.
|
|
9
|
+
* import time, not a type error.
|
|
11
10
|
*/
|
|
12
11
|
/**
|
|
13
12
|
* One step of a chain: either an agent step (`prompt`/`skill`) or a check step (`command`).
|
|
@@ -3,7 +3,7 @@ import { type Runner } from './health.ts';
|
|
|
3
3
|
/**
|
|
4
4
|
* The workspace + settings families: `~/.cezar/config.json`'s settings slice, both GUI-pref bags
|
|
5
5
|
* (per-repo and workspace), the per-repo agent knobs, provider auth status, the host model
|
|
6
|
-
* catalog,
|
|
6
|
+
* catalog, and the "Open in…" targets.
|
|
7
7
|
*
|
|
8
8
|
* Node-free by construction (see README rule 1) — `zod` and the sibling contract modules only.
|
|
9
9
|
*/
|
|
@@ -24,8 +24,13 @@ import { type Runner } from './health.ts';
|
|
|
24
24
|
export declare const workspaceConfigResponseSchema: z.ZodObject<{
|
|
25
25
|
browseRoot: z.ZodString;
|
|
26
26
|
projectsDir: z.ZodString;
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
archiveOnMerge: z.ZodNullable<z.ZodBoolean>;
|
|
28
|
+
effectiveArchiveOnMerge: z.ZodBoolean;
|
|
29
|
+
archiveOnMergeSource: z.ZodEnum<{
|
|
30
|
+
default: "default";
|
|
31
|
+
environment: "environment";
|
|
32
|
+
global: "global";
|
|
33
|
+
}>;
|
|
29
34
|
composerDefaults: z.ZodObject<{
|
|
30
35
|
autonomous: z.ZodNullable<z.ZodBoolean>;
|
|
31
36
|
worktree: z.ZodNullable<z.ZodBoolean>;
|
|
@@ -70,7 +75,7 @@ export type WorkspaceConfigResponse = z.infer<typeof workspaceConfigResponseSche
|
|
|
70
75
|
export declare const setWorkspaceConfigInputSchema: z.ZodObject<{
|
|
71
76
|
browseRoot: z.ZodOptional<z.ZodString>;
|
|
72
77
|
projectsDir: z.ZodOptional<z.ZodString>;
|
|
73
|
-
|
|
78
|
+
archiveOnMerge: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
74
79
|
composerDefaults: z.ZodOptional<z.ZodObject<{
|
|
75
80
|
autonomous: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
76
81
|
worktree: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
@@ -152,7 +157,10 @@ export declare const uiStateSchema: z.ZodObject<{
|
|
|
152
157
|
}, z.core.$strip>>>;
|
|
153
158
|
lastWorktree: z.ZodOptional<z.ZodBoolean>;
|
|
154
159
|
lastAutonomous: z.ZodOptional<z.ZodBoolean>;
|
|
155
|
-
|
|
160
|
+
disabledTeamSkills: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
161
|
+
repo: z.ZodString;
|
|
162
|
+
name: z.ZodString;
|
|
163
|
+
}, z.core.$strict>>>;
|
|
156
164
|
skillUsage: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
157
165
|
runsView: z.ZodOptional<z.ZodEnum<{
|
|
158
166
|
list: "list";
|
|
@@ -184,7 +192,6 @@ export declare const uiStateSchema: z.ZodObject<{
|
|
|
184
192
|
text: z.ZodString;
|
|
185
193
|
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
186
194
|
}, z.core.$strip>>>;
|
|
187
|
-
dismissedSkillsBanner: z.ZodOptional<z.ZodBoolean>;
|
|
188
195
|
}, z.core.$loose>;
|
|
189
196
|
export type UiState = z.infer<typeof uiStateSchema>;
|
|
190
197
|
/**
|
|
@@ -192,8 +199,8 @@ export type UiState = z.infer<typeof uiStateSchema>;
|
|
|
192
199
|
* (multi-project spec, step 2.7).
|
|
193
200
|
*
|
|
194
201
|
* The same open bag as its per-repo twin above, and open for the same reason. The PUT merges
|
|
195
|
-
* SHALLOWLY at the top level server-side, so a writer must send the whole `sidebar` object
|
|
196
|
-
*
|
|
202
|
+
* SHALLOWLY at the top level server-side, so a writer must send the whole `sidebar` object, never a
|
|
203
|
+
* leaf.
|
|
197
204
|
*/
|
|
198
205
|
export declare const workspaceLastLocationSchema: z.ZodObject<{
|
|
199
206
|
projectId: z.ZodString;
|
|
@@ -205,6 +212,7 @@ export type WorkspaceLastLocation = z.infer<typeof workspaceLastLocationSchema>;
|
|
|
205
212
|
export declare const workspaceUiStateSchema: z.ZodObject<{
|
|
206
213
|
sidebar: z.ZodOptional<z.ZodObject<{
|
|
207
214
|
collapsed: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
215
|
+
projectOrder: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
208
216
|
}, z.core.$loose>>;
|
|
209
217
|
dismissedProviderAuthFailures: z.ZodOptional<z.ZodObject<{
|
|
210
218
|
claude: z.ZodOptional<z.ZodString>;
|
|
@@ -242,7 +250,6 @@ export declare const workspaceUiStateSchema: z.ZodObject<{
|
|
|
242
250
|
search: z.ZodOptional<z.ZodString>;
|
|
243
251
|
hash: z.ZodOptional<z.ZodString>;
|
|
244
252
|
}, z.core.$strict>>;
|
|
245
|
-
importedSkills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
246
253
|
}, z.core.$loose>;
|
|
247
254
|
export type WorkspaceUiState = z.infer<typeof workspaceUiStateSchema>;
|
|
248
255
|
/**
|
|
@@ -278,6 +285,7 @@ export declare const setWorkspaceUiStateInputSchema: z.ZodObject<{
|
|
|
278
285
|
}, z.core.$strict>>;
|
|
279
286
|
sidebar: z.ZodOptional<z.ZodObject<{
|
|
280
287
|
collapsed: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
288
|
+
projectOrder: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
281
289
|
}, z.core.$loose>>;
|
|
282
290
|
dismissedProviderAuthFailures: z.ZodOptional<z.ZodObject<{
|
|
283
291
|
claude: z.ZodOptional<z.ZodString>;
|
|
@@ -287,7 +295,6 @@ export declare const setWorkspaceUiStateInputSchema: z.ZodObject<{
|
|
|
287
295
|
cursor: z.ZodOptional<z.ZodString>;
|
|
288
296
|
omp: z.ZodOptional<z.ZodString>;
|
|
289
297
|
}, z.core.$strict>>;
|
|
290
|
-
importedSkills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
291
298
|
taskTable: z.ZodOptional<z.ZodObject<{
|
|
292
299
|
expandedColumns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
|
|
293
300
|
}, z.core.$loose>>;
|
|
@@ -323,6 +330,14 @@ export declare const worktreeSetupConfigSchema: z.ZodObject<{
|
|
|
323
330
|
export type WorktreeSetupConfig = z.infer<typeof worktreeSetupConfigSchema>;
|
|
324
331
|
/** `GET /api/v1/config` — every Settings → Agents knob in one read. */
|
|
325
332
|
export declare const configResponseSchema: z.ZodObject<{
|
|
333
|
+
archiveOnMerge: z.ZodNullable<z.ZodBoolean>;
|
|
334
|
+
effectiveArchiveOnMerge: z.ZodBoolean;
|
|
335
|
+
archiveOnMergeSource: z.ZodEnum<{
|
|
336
|
+
default: "default";
|
|
337
|
+
environment: "environment";
|
|
338
|
+
global: "global";
|
|
339
|
+
project: "project";
|
|
340
|
+
}>;
|
|
326
341
|
baseBranch: z.ZodNullable<z.ZodString>;
|
|
327
342
|
defaultRunner: z.ZodEnum<{
|
|
328
343
|
claude: "claude";
|
|
@@ -356,6 +371,14 @@ export declare const configResponseSchema: z.ZodObject<{
|
|
|
356
371
|
export type ConfigResponse = z.infer<typeof configResponseSchema>;
|
|
357
372
|
/** The `PUT /api/v1/config` answer: the same shape GET serves (`configAnswer` builds both). */
|
|
358
373
|
export declare const setConfigResponseSchema: z.ZodObject<{
|
|
374
|
+
archiveOnMerge: z.ZodNullable<z.ZodBoolean>;
|
|
375
|
+
effectiveArchiveOnMerge: z.ZodBoolean;
|
|
376
|
+
archiveOnMergeSource: z.ZodEnum<{
|
|
377
|
+
default: "default";
|
|
378
|
+
environment: "environment";
|
|
379
|
+
global: "global";
|
|
380
|
+
project: "project";
|
|
381
|
+
}>;
|
|
359
382
|
baseBranch: z.ZodNullable<z.ZodString>;
|
|
360
383
|
defaultRunner: z.ZodEnum<{
|
|
361
384
|
claude: "claude";
|
|
@@ -395,6 +418,7 @@ export type SetConfigResponse = z.infer<typeof setConfigResponseSchema>;
|
|
|
395
418
|
* another runner's preset.
|
|
396
419
|
*/
|
|
397
420
|
export declare const setConfigInputSchema: z.ZodObject<{
|
|
421
|
+
archiveOnMerge: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
|
|
398
422
|
baseBranch: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
399
423
|
defaultRunner: z.ZodOptional<z.ZodEnum<{
|
|
400
424
|
claude: "claude";
|
|
@@ -424,78 +448,6 @@ export declare const setConfigInputSchema: z.ZodObject<{
|
|
|
424
448
|
}, z.core.$strict>>>;
|
|
425
449
|
}, z.core.$strip>;
|
|
426
450
|
export type SetConfigInput = z.infer<typeof setConfigInputSchema>;
|
|
427
|
-
export declare const skillsUpdateStatusSchema: z.ZodEnum<{
|
|
428
|
-
available: "available";
|
|
429
|
-
checking: "checking";
|
|
430
|
-
current: "current";
|
|
431
|
-
error: "error";
|
|
432
|
-
idle: "idle";
|
|
433
|
-
unavailable: "unavailable";
|
|
434
|
-
updating: "updating";
|
|
435
|
-
}>;
|
|
436
|
-
export type SkillsUpdateStatus = z.infer<typeof skillsUpdateStatusSchema>;
|
|
437
|
-
export declare const skillsUpdateScopeStateSchema: z.ZodObject<{
|
|
438
|
-
scope: z.ZodEnum<{
|
|
439
|
-
global: "global";
|
|
440
|
-
project: "project";
|
|
441
|
-
}>;
|
|
442
|
-
status: z.ZodEnum<{
|
|
443
|
-
available: "available";
|
|
444
|
-
checking: "checking";
|
|
445
|
-
current: "current";
|
|
446
|
-
error: "error";
|
|
447
|
-
idle: "idle";
|
|
448
|
-
unavailable: "unavailable";
|
|
449
|
-
updating: "updating";
|
|
450
|
-
}>;
|
|
451
|
-
available: z.ZodBoolean;
|
|
452
|
-
skills: z.ZodArray<z.ZodString>;
|
|
453
|
-
checkedAt: z.ZodNullable<z.ZodString>;
|
|
454
|
-
updatedAt: z.ZodNullable<z.ZodString>;
|
|
455
|
-
reason: z.ZodOptional<z.ZodString>;
|
|
456
|
-
}, z.core.$strip>;
|
|
457
|
-
export type SkillsUpdateScopeState = z.infer<typeof skillsUpdateScopeStateSchema>;
|
|
458
|
-
/** `GET /api/v1/workspace/skills-update` (and the check/apply POSTs) — the merged project+global
|
|
459
|
-
* skills-update state. `autoUpdateEnabled`/`inherited` are re-stamped from the workspace config
|
|
460
|
-
* on the way out (`skillsUpdateResponse`, src/server/server.ts:1818). */
|
|
461
|
-
export declare const skillsUpdateStateSchema: z.ZodObject<{
|
|
462
|
-
status: z.ZodEnum<{
|
|
463
|
-
available: "available";
|
|
464
|
-
checking: "checking";
|
|
465
|
-
current: "current";
|
|
466
|
-
error: "error";
|
|
467
|
-
idle: "idle";
|
|
468
|
-
unavailable: "unavailable";
|
|
469
|
-
updating: "updating";
|
|
470
|
-
}>;
|
|
471
|
-
available: z.ZodBoolean;
|
|
472
|
-
autoUpdateEnabled: z.ZodBoolean;
|
|
473
|
-
inherited: z.ZodBoolean;
|
|
474
|
-
checkedAt: z.ZodNullable<z.ZodString>;
|
|
475
|
-
updatedAt: z.ZodNullable<z.ZodString>;
|
|
476
|
-
scopes: z.ZodArray<z.ZodObject<{
|
|
477
|
-
scope: z.ZodEnum<{
|
|
478
|
-
global: "global";
|
|
479
|
-
project: "project";
|
|
480
|
-
}>;
|
|
481
|
-
status: z.ZodEnum<{
|
|
482
|
-
available: "available";
|
|
483
|
-
checking: "checking";
|
|
484
|
-
current: "current";
|
|
485
|
-
error: "error";
|
|
486
|
-
idle: "idle";
|
|
487
|
-
unavailable: "unavailable";
|
|
488
|
-
updating: "updating";
|
|
489
|
-
}>;
|
|
490
|
-
available: z.ZodBoolean;
|
|
491
|
-
skills: z.ZodArray<z.ZodString>;
|
|
492
|
-
checkedAt: z.ZodNullable<z.ZodString>;
|
|
493
|
-
updatedAt: z.ZodNullable<z.ZodString>;
|
|
494
|
-
reason: z.ZodOptional<z.ZodString>;
|
|
495
|
-
}, z.core.$strip>>;
|
|
496
|
-
needsUpgradeNotes: z.ZodBoolean;
|
|
497
|
-
}, z.core.$strip>;
|
|
498
|
-
export type SkillsUpdateState = z.infer<typeof skillsUpdateStateSchema>;
|
|
499
451
|
/** The agent backends are the providers — one alias, never a second enum. */
|
|
500
452
|
export declare const providerIdSchema: z.ZodEnum<{
|
|
501
453
|
claude: "claude";
|
|
@@ -1,15 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* `.ai/specs/2026-10-02-scheduled-automations.md`, issue #766; origin: upstream open-mercato/cezar
|
|
5
|
-
* #985). Two consumers: the automation schedule math (`./automation-schedule.ts`) and the
|
|
6
|
-
* usage-limit resume clock (`packages/cezar/src/core/usage-limit.ts`), which is where these
|
|
7
|
-
* functions were born.
|
|
8
|
-
*
|
|
9
|
-
* `zonedWallTimeToUtc` iterates the zone offset to a fixed point. For a wall time that does not
|
|
10
|
-
* exist (the spring-forward gap) the iteration settles on one instant near the gap rather than
|
|
11
|
-
* throwing; for a wall time that exists twice (the fall-back hour) it settles on one of the two.
|
|
12
|
-
* Both are what a schedule wants: fire once, never twice, never never.
|
|
2
|
+
* Shared Node-free wall-clock conversion using Intl. At DST gaps or overlaps choose one
|
|
3
|
+
* converged instant, so occurrence math does not emit duplicate local occurrences.
|
|
13
4
|
*/
|
|
14
5
|
export interface ZonedParts {
|
|
15
6
|
year: number;
|
package/dist/core/agent-env.d.ts
CHANGED
|
@@ -1,26 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* (`{ ...process.env, ...spec.env }`), handing `GITHUB_TOKEN`,
|
|
6
|
-
* `ANTHROPIC_API_KEY`, `AWS_*` and any other host secret to a process an
|
|
7
|
-
* attacker-controlled prompt can drive. Instead we build an explicit,
|
|
8
|
-
* curated child env: a base allowlist of the non-secret vars a shell / dev
|
|
9
|
-
* toolchain genuinely needs, plus the specific auth vars the chosen backend
|
|
10
|
-
* requires, plus cezar's own `CEZ_*` namespace and the per-run `spec.env`.
|
|
11
|
-
* Everything else — notably arbitrary secrets — is dropped by default.
|
|
12
|
-
*
|
|
13
|
-
* Zero-config: the safe env is the default and needs no configuration. Two
|
|
14
|
-
* opt-in escape hatches (both read from the host env, both off by default):
|
|
15
|
-
* - `CEZ_ENV_PASSTHROUGH=A,B,C` forwards those extra named vars;
|
|
16
|
-
* - `CEZ_AGENT_ENV_FULL=1` restores the legacy full-`process.env` behavior.
|
|
2
|
+
* Curated child environments: base toolchain variables, selected-backend variables and trusted
|
|
3
|
+
* per-run overrides. CEZ_ENV_PASSTHROUGH and CEZ_AGENT_ENV_FULL are host-controlled escape
|
|
4
|
+
* hatches.
|
|
17
5
|
*/
|
|
18
6
|
import type { AgentBackend } from './agent-runner.ts';
|
|
19
7
|
export declare function looksSecret(name: string): boolean;
|
|
20
8
|
export interface BuildChildEnvOptions {
|
|
21
9
|
backend: AgentBackend;
|
|
22
10
|
/** Per-run env (CEZ_HANDOFF_FILE etc.) — always applied, wins over host. */
|
|
23
|
-
extraEnv?: Record<string, string
|
|
11
|
+
extraEnv?: Record<string, string> | undefined;
|
|
24
12
|
/** Source env; defaults to `process.env`. */
|
|
25
13
|
source?: NodeJS.ProcessEnv;
|
|
26
14
|
}
|
package/dist/core/agent-env.js
CHANGED
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* (`{ ...process.env, ...spec.env }`), handing `GITHUB_TOKEN`,
|
|
6
|
-
* `ANTHROPIC_API_KEY`, `AWS_*` and any other host secret to a process an
|
|
7
|
-
* attacker-controlled prompt can drive. Instead we build an explicit,
|
|
8
|
-
* curated child env: a base allowlist of the non-secret vars a shell / dev
|
|
9
|
-
* toolchain genuinely needs, plus the specific auth vars the chosen backend
|
|
10
|
-
* requires, plus cezar's own `CEZ_*` namespace and the per-run `spec.env`.
|
|
11
|
-
* Everything else — notably arbitrary secrets — is dropped by default.
|
|
12
|
-
*
|
|
13
|
-
* Zero-config: the safe env is the default and needs no configuration. Two
|
|
14
|
-
* opt-in escape hatches (both read from the host env, both off by default):
|
|
15
|
-
* - `CEZ_ENV_PASSTHROUGH=A,B,C` forwards those extra named vars;
|
|
16
|
-
* - `CEZ_AGENT_ENV_FULL=1` restores the legacy full-`process.env` behavior.
|
|
2
|
+
* Curated child environments: base toolchain variables, selected-backend variables and trusted
|
|
3
|
+
* per-run overrides. CEZ_ENV_PASSTHROUGH and CEZ_AGENT_ENV_FULL are host-controlled escape
|
|
4
|
+
* hatches.
|
|
17
5
|
*/
|
|
18
6
|
import { SECRET_NAME_RE } from './secret-redaction.js';
|
|
19
7
|
/**
|
|
@@ -227,7 +215,9 @@ const BACKEND_ALLOW_PREFIXES = {
|
|
|
227
215
|
// same multi-provider set. Not `CLAUDE_`, for pi's reason above. `OMP_` is its own config and
|
|
228
216
|
// `PI_` is kept because OMP still reads `PI_CODING_AGENT_DIR` / `PI_CONFIG_DIR`
|
|
229
217
|
// (OMP v18.4.11; `can1357/oh-my-pi` `docs/environment-variables.md` at main @ 7318a70cf4ed).
|
|
230
|
-
// The reverse does not hold: pi gets no `OMP_`.
|
|
218
|
+
// The reverse does not hold: pi gets no `OMP_`. Both prefixes also carry a host-exported
|
|
219
|
+
// `PI_CODING_AGENT_DIR` / `OMP_PROFILE` to every default-account session, which is how a host
|
|
220
|
+
// value moves the default account (`PROFILE_ENV_VAR` in `agent-profiles.ts`).
|
|
231
221
|
omp: ['OMP_', 'PI_', ...MULTI_PROVIDER_PREFIXES],
|
|
232
222
|
};
|
|
233
223
|
/** `gh` handoff (draft PRs) works in every backend — the one credential the
|
|
@@ -325,6 +315,14 @@ function curateEnv(source, extra, grants) {
|
|
|
325
315
|
'CEZ_TOOL_SOCKET',
|
|
326
316
|
'CEZ_DELEGATION_TOKEN',
|
|
327
317
|
'CEZ_DELEGATION_URL',
|
|
318
|
+
// The cockpit address (#774) names THIS run's cockpit and project. A nested headless
|
|
319
|
+
// `cez run` sets none, and must not inherit its parent's: that would let it change
|
|
320
|
+
// automations in a project it does not belong to.
|
|
321
|
+
'CEZ_COCKPIT_URL',
|
|
322
|
+
'CEZ_PROJECT_ID',
|
|
323
|
+
// hearsay-tools/cezarion#784: the address of THIS session's preview browser. An inherited one
|
|
324
|
+
// would point a nested agent at its parent's browser.
|
|
325
|
+
'CEZ_PREVIEW_CDP_URL',
|
|
328
326
|
]);
|
|
329
327
|
// Escape hatch: restore legacy full-inheritance (opt-in, off by default).
|
|
330
328
|
// Parsed with the same `isTruthy` the Bedrock/Vertex toggles use (#456
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-env.js","sourceRoot":"","sources":["../../src/core/agent-env.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"agent-env.js","sourceRoot":"","sources":["../../src/core/agent-env.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,55 +1,43 @@
|
|
|
1
1
|
import type { ProviderId } from './provider-auth.ts';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* is the same Claude Code talking to a different account, because that one variable relocates the
|
|
7
|
-
* agent's ENTIRE per-user home: credentials, settings, projects and — the part that bites —
|
|
8
|
-
* `sessions/`, so a session id only means something inside the dir it was created in.
|
|
9
|
-
*
|
|
10
|
-
* This module is the single maintenance surface for that vendor knowledge, and it is deliberately
|
|
11
|
-
* the SIBLING of `src/agent-config/catalog.ts` rather than part of it: the catalog owns config
|
|
12
|
-
* *file* knowledge (paths, formats, verbatim precedence strings), this owns the *home-relocation*
|
|
13
|
-
* variable. Splitting them also keeps the layering honest — `agent-config/` may import `paths.ts`,
|
|
14
|
-
* while this is imported BY the runners, provider auth and the terminal handoff.
|
|
15
|
-
*
|
|
16
|
-
* Pure by construction: no filesystem, no `process.env`, nothing to stub. Resolution against the
|
|
17
|
-
* workspace config lives in `src/workspace/agent-profiles.ts`.
|
|
18
|
-
*
|
|
19
|
-
* Facts verified against the shipped CLIs on 2026-07-29.
|
|
3
|
+
* Pure native account-home mappings. Keep file-catalog knowledge separate from account
|
|
4
|
+
* relocation. Workspace code resolves saved accounts; runners, auth and terminal handoff consume
|
|
5
|
+
* this mapping.
|
|
20
6
|
*/
|
|
21
7
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* - **claude** → `CLAUDE_CONFIG_DIR`. Documented; moves credentials, settings, projects, sessions.
|
|
27
|
-
* - **codex** → `CODEX_HOME`. Documented; `auth.json` lives inside it, so identity moves too.
|
|
28
|
-
* - **opencode** → nothing usable. `OPENCODE_CONFIG_DIR`/`OPENCODE_CONFIG` move CONFIG ONLY;
|
|
29
|
-
* credentials live in `~/.local/share/opencode/opencode.db`, behind a separate `OPENCODE_DB`.
|
|
30
|
-
* A config-dir-only profile would swap settings while still billing the other account — the UI
|
|
31
|
-
* would say "Work" and the run would not be — so OpenCode is unsupported until it documents a
|
|
32
|
-
* single home variable. `XDG_CONFIG_HOME` is rejected regardless: it is machine-wide and would
|
|
33
|
-
* relocate every other XDG-aware tool the agent's own Bash calls touch.
|
|
34
|
-
* - **pi** → nothing documented. pi ships no per-user home variable of its own, so — exactly like
|
|
35
|
-
* OpenCode — a second account cannot be carried without silently billing the wrong one. `null`
|
|
36
|
-
* until pi documents a single home variable that moves credentials as well as config.
|
|
8
|
+
* Account relocation variables used by cezar. null means named accounts are unsupported. omp
|
|
9
|
+
* takes a profile name; other supported mappings take a folder. Host values define the default;
|
|
10
|
+
* named overrides apply last. Refuse a named omp folder outside the current profile root.
|
|
37
11
|
*/
|
|
38
12
|
export declare const PROFILE_ENV_VAR: Record<ProviderId, string | null>;
|
|
39
13
|
/** Providers that can carry more than one account — what the UI offers "Add account" for. */
|
|
40
14
|
export declare const PROFILE_CAPABLE_PROVIDERS: readonly ProviderId[];
|
|
41
15
|
export declare function supportsProfiles(provider: ProviderId): boolean;
|
|
42
16
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* `{}` is load-bearing, not a convenience: `buildChildEnv` applies `extraEnv` AFTER its allowlist
|
|
46
|
-
* and so bypasses it entirely, which makes this function the only thing standing between a
|
|
47
|
-
* profile and the child environment. Returning nothing for the zero-config case means the
|
|
48
|
-
* overwhelmingly common path adds literally no variable — the same environment cezar has always
|
|
49
|
-
* spawned. It also means this can never emit one provider's variable for another provider's
|
|
50
|
-
* process: the name comes from `PROFILE_ENV_VAR[provider]` and nowhere else.
|
|
17
|
+
* Build a provider-specific account override, or an empty object for the discovered default. omp
|
|
18
|
+
* takes a profile name parsed from its folder. Never emit another provider’s variable.
|
|
51
19
|
*/
|
|
52
20
|
export declare function profileEnv(provider: ProviderId, configDir: string | null | undefined): Record<string, string>;
|
|
21
|
+
/**
|
|
22
|
+
* The omp profile a folder names, or `null` when it names none.
|
|
23
|
+
*
|
|
24
|
+
* A folder names a profile when its parent is called `profiles` and its own name passes every rule
|
|
25
|
+
* omp applies, so cezar never hands omp a profile it would refuse at startup. `default` is refused
|
|
26
|
+
* too: omp reads it as "no profile", so a named account under that name would be the default.
|
|
27
|
+
*
|
|
28
|
+
* Shape only — whether `profiles/` is the one under omp's CURRENT root needs the environment, and
|
|
29
|
+
* `ompProfileDirError` (workspace) checks that. Both separators are accepted so a Windows folder
|
|
30
|
+
* parses on any host.
|
|
31
|
+
*/
|
|
32
|
+
export declare function ompProfileName(dir: string): string | null;
|
|
33
|
+
/** Whether omp accepts `name` as a profile of its own; `default` is omp's "no profile". */
|
|
34
|
+
export declare function isOmpProfileName(name: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Where the agent keeps its config inside an account folder: the folder itself, except omp, whose
|
|
37
|
+
* profile folder keeps it in `agent/`. The discovered omp default is ALREADY an agent dir
|
|
38
|
+
* (`agentHomePaths().omp`), so callers apply this to named accounts only.
|
|
39
|
+
*/
|
|
40
|
+
export declare function profileAgentDir(provider: ProviderId, dir: string): string;
|
|
53
41
|
/**
|
|
54
42
|
* Does `entries` look like a config dir this provider actually wrote?
|
|
55
43
|
*
|
|
@@ -1,51 +1,22 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
1
2
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* is the same Claude Code talking to a different account, because that one variable relocates the
|
|
6
|
-
* agent's ENTIRE per-user home: credentials, settings, projects and — the part that bites —
|
|
7
|
-
* `sessions/`, so a session id only means something inside the dir it was created in.
|
|
8
|
-
*
|
|
9
|
-
* This module is the single maintenance surface for that vendor knowledge, and it is deliberately
|
|
10
|
-
* the SIBLING of `src/agent-config/catalog.ts` rather than part of it: the catalog owns config
|
|
11
|
-
* *file* knowledge (paths, formats, verbatim precedence strings), this owns the *home-relocation*
|
|
12
|
-
* variable. Splitting them also keeps the layering honest — `agent-config/` may import `paths.ts`,
|
|
13
|
-
* while this is imported BY the runners, provider auth and the terminal handoff.
|
|
14
|
-
*
|
|
15
|
-
* Pure by construction: no filesystem, no `process.env`, nothing to stub. Resolution against the
|
|
16
|
-
* workspace config lives in `src/workspace/agent-profiles.ts`.
|
|
17
|
-
*
|
|
18
|
-
* Facts verified against the shipped CLIs on 2026-07-29.
|
|
3
|
+
* Pure native account-home mappings. Keep file-catalog knowledge separate from account
|
|
4
|
+
* relocation. Workspace code resolves saved accounts; runners, auth and terminal handoff consume
|
|
5
|
+
* this mapping.
|
|
19
6
|
*/
|
|
20
7
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* - **claude** → `CLAUDE_CONFIG_DIR`. Documented; moves credentials, settings, projects, sessions.
|
|
26
|
-
* - **codex** → `CODEX_HOME`. Documented; `auth.json` lives inside it, so identity moves too.
|
|
27
|
-
* - **opencode** → nothing usable. `OPENCODE_CONFIG_DIR`/`OPENCODE_CONFIG` move CONFIG ONLY;
|
|
28
|
-
* credentials live in `~/.local/share/opencode/opencode.db`, behind a separate `OPENCODE_DB`.
|
|
29
|
-
* A config-dir-only profile would swap settings while still billing the other account — the UI
|
|
30
|
-
* would say "Work" and the run would not be — so OpenCode is unsupported until it documents a
|
|
31
|
-
* single home variable. `XDG_CONFIG_HOME` is rejected regardless: it is machine-wide and would
|
|
32
|
-
* relocate every other XDG-aware tool the agent's own Bash calls touch.
|
|
33
|
-
* - **pi** → nothing documented. pi ships no per-user home variable of its own, so — exactly like
|
|
34
|
-
* OpenCode — a second account cannot be carried without silently billing the wrong one. `null`
|
|
35
|
-
* until pi documents a single home variable that moves credentials as well as config.
|
|
8
|
+
* Account relocation variables used by cezar. null means named accounts are unsupported. omp
|
|
9
|
+
* takes a profile name; other supported mappings take a folder. Host values define the default;
|
|
10
|
+
* named overrides apply last. Refuse a named omp folder outside the current profile root.
|
|
36
11
|
*/
|
|
37
12
|
export const PROFILE_ENV_VAR = {
|
|
38
13
|
claude: 'CLAUDE_CONFIG_DIR',
|
|
39
14
|
codex: 'CODEX_HOME',
|
|
40
15
|
opencode: null,
|
|
41
|
-
pi:
|
|
16
|
+
pi: 'PI_CODING_AGENT_DIR',
|
|
42
17
|
// CURSOR_CONFIG_DIR relocates configuration, not a verified whole account home.
|
|
43
18
|
cursor: null,
|
|
44
|
-
|
|
45
|
-
// ignored, and whether the credential store (`agent.db`) moves with a profile is unverified.
|
|
46
|
-
// `null` until a single home variable that moves credentials as well as config is documented.
|
|
47
|
-
// Source: OMP v18.4.11, `can1357/oh-my-pi` `docs/environment-variables.md` (main @ 7318a70cf4ed).
|
|
48
|
-
omp: null,
|
|
19
|
+
omp: 'OMP_PROFILE',
|
|
49
20
|
};
|
|
50
21
|
/** Providers that can carry more than one account — what the UI offers "Add account" for. */
|
|
51
22
|
export const PROFILE_CAPABLE_PROVIDERS = Object.keys(PROFILE_ENV_VAR).filter((provider) => PROFILE_ENV_VAR[provider] !== null);
|
|
@@ -53,22 +24,55 @@ export function supportsProfiles(provider) {
|
|
|
53
24
|
return PROFILE_ENV_VAR[provider] !== null;
|
|
54
25
|
}
|
|
55
26
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
* `{}` is load-bearing, not a convenience: `buildChildEnv` applies `extraEnv` AFTER its allowlist
|
|
59
|
-
* and so bypasses it entirely, which makes this function the only thing standing between a
|
|
60
|
-
* profile and the child environment. Returning nothing for the zero-config case means the
|
|
61
|
-
* overwhelmingly common path adds literally no variable — the same environment cezar has always
|
|
62
|
-
* spawned. It also means this can never emit one provider's variable for another provider's
|
|
63
|
-
* process: the name comes from `PROFILE_ENV_VAR[provider]` and nowhere else.
|
|
27
|
+
* Build a provider-specific account override, or an empty object for the discovered default. omp
|
|
28
|
+
* takes a profile name parsed from its folder. Never emit another provider’s variable.
|
|
64
29
|
*/
|
|
65
30
|
export function profileEnv(provider, configDir) {
|
|
66
31
|
const name = PROFILE_ENV_VAR[provider];
|
|
67
32
|
const dir = configDir?.trim();
|
|
68
33
|
if (name === null || !dir)
|
|
69
34
|
return {};
|
|
35
|
+
if (provider === 'omp') {
|
|
36
|
+
const profile = ompProfileName(dir);
|
|
37
|
+
return profile === null ? {} : { [name]: profile };
|
|
38
|
+
}
|
|
70
39
|
return { [name]: dir };
|
|
71
40
|
}
|
|
41
|
+
/** omp's own profile-name rule (omp 18.8.0, `packages/utils/src/dirs.ts`). */
|
|
42
|
+
const OMP_PROFILE_NAME_RE = /^[a-z0-9][a-z0-9._-]{0,63}$/;
|
|
43
|
+
/** Windows device names omp refuses as a profile, with or without an extension. */
|
|
44
|
+
const OMP_RESERVED_NAME_RE = /^(?:CON|PRN|AUX|NUL|COM[0-9]|LPT[0-9])(?:\..*)?$/i;
|
|
45
|
+
/**
|
|
46
|
+
* The omp profile a folder names, or `null` when it names none.
|
|
47
|
+
*
|
|
48
|
+
* A folder names a profile when its parent is called `profiles` and its own name passes every rule
|
|
49
|
+
* omp applies, so cezar never hands omp a profile it would refuse at startup. `default` is refused
|
|
50
|
+
* too: omp reads it as "no profile", so a named account under that name would be the default.
|
|
51
|
+
*
|
|
52
|
+
* Shape only — whether `profiles/` is the one under omp's CURRENT root needs the environment, and
|
|
53
|
+
* `ompProfileDirError` (workspace) checks that. Both separators are accepted so a Windows folder
|
|
54
|
+
* parses on any host.
|
|
55
|
+
*/
|
|
56
|
+
export function ompProfileName(dir) {
|
|
57
|
+
const segments = dir.split(/[\\/]+/).filter((segment) => segment !== '');
|
|
58
|
+
if (segments.length < 2 || segments[segments.length - 2] !== 'profiles')
|
|
59
|
+
return null;
|
|
60
|
+
const name = segments[segments.length - 1];
|
|
61
|
+
return isOmpProfileName(name) ? name : null;
|
|
62
|
+
}
|
|
63
|
+
/** Whether omp accepts `name` as a profile of its own; `default` is omp's "no profile". */
|
|
64
|
+
export function isOmpProfileName(name) {
|
|
65
|
+
return OMP_PROFILE_NAME_RE.test(name) && !name.endsWith('.') && name !== 'default'
|
|
66
|
+
&& !OMP_RESERVED_NAME_RE.test(name);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Where the agent keeps its config inside an account folder: the folder itself, except omp, whose
|
|
70
|
+
* profile folder keeps it in `agent/`. The discovered omp default is ALREADY an agent dir
|
|
71
|
+
* (`agentHomePaths().omp`), so callers apply this to named accounts only.
|
|
72
|
+
*/
|
|
73
|
+
export function profileAgentDir(provider, dir) {
|
|
74
|
+
return provider === 'omp' ? join(dir, 'agent') : dir;
|
|
75
|
+
}
|
|
72
76
|
/**
|
|
73
77
|
* Does `entries` look like a config dir this provider actually wrote?
|
|
74
78
|
*
|
|
@@ -89,12 +93,13 @@ const PROFILE_DIR_MARKERS = {
|
|
|
89
93
|
// is exactly the case being probed here.
|
|
90
94
|
claude: ['.claude.json', 'settings.json', 'projects', 'sessions'],
|
|
91
95
|
codex: ['auth.json', 'config.toml'],
|
|
96
|
+
// OpenCode cannot carry profiles (`PROFILE_ENV_VAR.opencode === null`); the discovered config
|
|
97
|
+
// dir is probed, but nothing it holds marks a login.
|
|
92
98
|
opencode: [],
|
|
93
|
-
|
|
94
|
-
// profile dir; the entry exists to keep this table exhaustive over `ProviderId`.
|
|
95
|
-
pi: [],
|
|
99
|
+
pi: ['auth.json', 'settings.json', 'models.json', 'sessions'],
|
|
96
100
|
cursor: [],
|
|
97
|
-
//
|
|
98
|
-
|
|
101
|
+
// A named account is a profile folder (`agent/`, `logs/`, `run/`, `cache/`); the discovered
|
|
102
|
+
// default is an agent dir (`agent.db`, `config.yml`, `sessions/`). Either listing answers.
|
|
103
|
+
omp: ['agent', 'agent.db', 'config.yml', 'sessions'],
|
|
99
104
|
};
|
|
100
105
|
//# sourceMappingURL=agent-profiles.js.map
|