@wjarka/cezarion 0.10.0-pr30.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +838 -0
- package/dist/agent-config/account-identity.d.ts +44 -0
- package/dist/agent-config/account-identity.js +128 -0
- package/dist/agent-config/account-identity.js.map +1 -0
- package/dist/agent-config/catalog.d.ts +72 -0
- package/dist/agent-config/catalog.js +223 -0
- package/dist/agent-config/catalog.js.map +1 -0
- package/dist/agent-config/files.d.ts +46 -0
- package/dist/agent-config/files.js +119 -0
- package/dist/agent-config/files.js.map +1 -0
- package/dist/agent-config/model-settings/claude.d.ts +2 -0
- package/dist/agent-config/model-settings/claude.js +11 -0
- package/dist/agent-config/model-settings/claude.js.map +1 -0
- package/dist/agent-config/model-settings/codex.d.ts +2 -0
- package/dist/agent-config/model-settings/codex.js +16 -0
- package/dist/agent-config/model-settings/codex.js.map +1 -0
- package/dist/agent-config/model-settings/opencode.d.ts +2 -0
- package/dist/agent-config/model-settings/opencode.js +8 -0
- package/dist/agent-config/model-settings/opencode.js.map +1 -0
- package/dist/agent-config/model-settings/pi.d.ts +12 -0
- package/dist/agent-config/model-settings/pi.js +18 -0
- package/dist/agent-config/model-settings/pi.js.map +1 -0
- package/dist/agent-config/model-settings/shared.d.ts +9 -0
- package/dist/agent-config/model-settings/shared.js +93 -0
- package/dist/agent-config/model-settings/shared.js.map +1 -0
- package/dist/agent-config/model-settings/types.d.ts +9 -0
- package/dist/agent-config/model-settings/types.js +2 -0
- package/dist/agent-config/model-settings/types.js.map +1 -0
- package/dist/agent-config/models.d.ts +9 -0
- package/dist/agent-config/models.js +32 -0
- package/dist/agent-config/models.js.map +1 -0
- package/dist/agent-config/seed.d.ts +7 -0
- package/dist/agent-config/seed.js +90 -0
- package/dist/agent-config/seed.js.map +1 -0
- package/dist/agent-config/service.d.ts +44 -0
- package/dist/agent-config/service.js +71 -0
- package/dist/agent-config/service.js.map +1 -0
- package/dist/agent-config/validate.d.ts +21 -0
- package/dist/agent-config/validate.js +76 -0
- package/dist/agent-config/validate.js.map +1 -0
- package/dist/automations/coordinator.d.ts +26 -0
- package/dist/automations/coordinator.js +66 -0
- package/dist/automations/coordinator.js.map +1 -0
- package/dist/automations/github-poller.d.ts +74 -0
- package/dist/automations/github-poller.js +234 -0
- package/dist/automations/github-poller.js.map +1 -0
- package/dist/automations/scheduler.d.ts +42 -0
- package/dist/automations/scheduler.js +192 -0
- package/dist/automations/scheduler.js.map +1 -0
- package/dist/automations/store.d.ts +65 -0
- package/dist/automations/store.js +298 -0
- package/dist/automations/store.js.map +1 -0
- package/dist/automations/task-template.d.ts +18 -0
- package/dist/automations/task-template.js +95 -0
- package/dist/automations/task-template.js.map +1 -0
- package/dist/automations/types.d.ts +255 -0
- package/dist/automations/types.js +159 -0
- package/dist/automations/types.js.map +1 -0
- package/dist/config.d.ts +77 -0
- package/dist/config.js +242 -0
- package/dist/config.js.map +1 -0
- package/dist/contract/agent-config.d.ts +153 -0
- package/dist/contract/agent-profiles.d.ts +347 -0
- package/dist/contract/automations.d.ts +935 -0
- package/dist/contract/events.d.ts +104 -0
- package/dist/contract/github.d.ts +556 -0
- package/dist/contract/health.d.ts +102 -0
- package/dist/contract/index.d.ts +16 -0
- package/dist/contract/index.js +1895 -0
- package/dist/contract/projects.d.ts +210 -0
- package/dist/contract/repo.d.ts +234 -0
- package/dist/contract/runs.d.ts +1473 -0
- package/dist/contract/skills.d.ts +232 -0
- package/dist/contract/workflows.d.ts +218 -0
- package/dist/contract/workspace.d.ts +579 -0
- package/dist/core/agent-env.d.ts +31 -0
- package/dist/core/agent-env.js +371 -0
- package/dist/core/agent-env.js.map +1 -0
- package/dist/core/agent-model-policy.d.ts +10 -0
- package/dist/core/agent-model-policy.js +36 -0
- package/dist/core/agent-model-policy.js.map +1 -0
- package/dist/core/agent-profiles.d.ts +62 -0
- package/dist/core/agent-profiles.js +90 -0
- package/dist/core/agent-profiles.js.map +1 -0
- package/dist/core/agent-runner.d.ts +211 -0
- package/dist/core/agent-runner.js +68 -0
- package/dist/core/agent-runner.js.map +1 -0
- package/dist/core/ask.d.ts +105 -0
- package/dist/core/ask.js +187 -0
- package/dist/core/ask.js.map +1 -0
- package/dist/core/backend-detect.d.ts +16 -0
- package/dist/core/backend-detect.js +155 -0
- package/dist/core/backend-detect.js.map +1 -0
- package/dist/core/claude-cli-runner.d.ts +59 -0
- package/dist/core/claude-cli-runner.js +483 -0
- package/dist/core/claude-cli-runner.js.map +1 -0
- package/dist/core/claude-ui-mapper.d.ts +80 -0
- package/dist/core/claude-ui-mapper.js +598 -0
- package/dist/core/claude-ui-mapper.js.map +1 -0
- package/dist/core/codex-app-server-runner.d.ts +41 -0
- package/dist/core/codex-app-server-runner.js +584 -0
- package/dist/core/codex-app-server-runner.js.map +1 -0
- package/dist/core/codex-app-server-transport.d.ts +35 -0
- package/dist/core/codex-app-server-transport.js +150 -0
- package/dist/core/codex-app-server-transport.js.map +1 -0
- package/dist/core/codex-model-catalog.d.ts +10 -0
- package/dist/core/codex-model-catalog.js +110 -0
- package/dist/core/codex-model-catalog.js.map +1 -0
- package/dist/core/codex-ui-mapper.d.ts +112 -0
- package/dist/core/codex-ui-mapper.js +766 -0
- package/dist/core/codex-ui-mapper.js.map +1 -0
- package/dist/core/model-identity.d.ts +125 -0
- package/dist/core/model-identity.js +132 -0
- package/dist/core/model-identity.js.map +1 -0
- package/dist/core/model-presets.d.ts +21 -0
- package/dist/core/model-presets.js +81 -0
- package/dist/core/model-presets.js.map +1 -0
- package/dist/core/ndjson.d.ts +6 -0
- package/dist/core/ndjson.js +23 -0
- package/dist/core/ndjson.js.map +1 -0
- package/dist/core/opencode-model-catalog.d.ts +32 -0
- package/dist/core/opencode-model-catalog.js +153 -0
- package/dist/core/opencode-model-catalog.js.map +1 -0
- package/dist/core/opencode-server-runner.d.ts +32 -0
- package/dist/core/opencode-server-runner.js +882 -0
- package/dist/core/opencode-server-runner.js.map +1 -0
- package/dist/core/opencode-ui-mapper.d.ts +137 -0
- package/dist/core/opencode-ui-mapper.js +800 -0
- package/dist/core/opencode-ui-mapper.js.map +1 -0
- package/dist/core/pi-model-catalog.d.ts +31 -0
- package/dist/core/pi-model-catalog.js +152 -0
- package/dist/core/pi-model-catalog.js.map +1 -0
- package/dist/core/pi-runner.d.ts +24 -0
- package/dist/core/pi-runner.js +403 -0
- package/dist/core/pi-runner.js.map +1 -0
- package/dist/core/pi-ui-mapper.d.ts +36 -0
- package/dist/core/pi-ui-mapper.js +304 -0
- package/dist/core/pi-ui-mapper.js.map +1 -0
- package/dist/core/process-usage.d.ts +66 -0
- package/dist/core/process-usage.js +193 -0
- package/dist/core/process-usage.js.map +1 -0
- package/dist/core/provider-auth.d.ts +154 -0
- package/dist/core/provider-auth.js +509 -0
- package/dist/core/provider-auth.js.map +1 -0
- package/dist/core/provider-availability.d.ts +3 -0
- package/dist/core/provider-availability.js +14 -0
- package/dist/core/provider-availability.js.map +1 -0
- package/dist/core/runner-factory.d.ts +8 -0
- package/dist/core/runner-factory.js +25 -0
- package/dist/core/runner-factory.js.map +1 -0
- package/dist/core/runner-model-catalog.d.ts +29 -0
- package/dist/core/runner-model-catalog.js +78 -0
- package/dist/core/runner-model-catalog.js.map +1 -0
- package/dist/core/secret-redaction.d.ts +37 -0
- package/dist/core/secret-redaction.js +115 -0
- package/dist/core/secret-redaction.js.map +1 -0
- package/dist/core/shell-env.d.ts +28 -0
- package/dist/core/shell-env.js +56 -0
- package/dist/core/shell-env.js.map +1 -0
- package/dist/core/tool-display.d.ts +31 -0
- package/dist/core/tool-display.js +179 -0
- package/dist/core/tool-display.js.map +1 -0
- package/dist/core/ui-events.d.ts +335 -0
- package/dist/core/ui-events.js +25 -0
- package/dist/core/ui-events.js.map +1 -0
- package/dist/core/usage-limit.d.ts +42 -0
- package/dist/core/usage-limit.js +209 -0
- package/dist/core/usage-limit.js.map +1 -0
- package/dist/core/usage.d.ts +11 -0
- package/dist/core/usage.js +15 -0
- package/dist/core/usage.js.map +1 -0
- package/dist/core/v1-text-coalescer.d.ts +36 -0
- package/dist/core/v1-text-coalescer.js +72 -0
- package/dist/core/v1-text-coalescer.js.map +1 -0
- package/dist/git-diff-base.d.ts +85 -0
- package/dist/git-diff-base.js +180 -0
- package/dist/git-diff-base.js.map +1 -0
- package/dist/git-refs.d.ts +11 -0
- package/dist/git-refs.js +14 -0
- package/dist/git-refs.js.map +1 -0
- package/dist/git-worktree.d.ts +161 -0
- package/dist/git-worktree.js +508 -0
- package/dist/git-worktree.js.map +1 -0
- package/dist/handoff.d.ts +62 -0
- package/dist/handoff.js +154 -0
- package/dist/handoff.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +680 -0
- package/dist/index.js.map +1 -0
- package/dist/install-as-command.d.ts +40 -0
- package/dist/install-as-command.js +52 -0
- package/dist/install-as-command.js.map +1 -0
- package/dist/pack-check.d.ts +17 -0
- package/dist/pack-check.js +27 -0
- package/dist/pack-check.js.map +1 -0
- package/dist/paths.d.ts +140 -0
- package/dist/paths.js +192 -0
- package/dist/paths.js.map +1 -0
- package/dist/planner.d.ts +27 -0
- package/dist/planner.js +268 -0
- package/dist/planner.js.map +1 -0
- package/dist/release/manifests.d.ts +81 -0
- package/dist/release/manifests.js +74 -0
- package/dist/release/manifests.js.map +1 -0
- package/dist/release/snapshot.d.ts +67 -0
- package/dist/release/snapshot.js +97 -0
- package/dist/release/snapshot.js.map +1 -0
- package/dist/release/stable.d.ts +38 -0
- package/dist/release/stable.js +55 -0
- package/dist/release/stable.js.map +1 -0
- package/dist/runs/agent-tmpdir.d.ts +41 -0
- package/dist/runs/agent-tmpdir.js +183 -0
- package/dist/runs/agent-tmpdir.js.map +1 -0
- package/dist/runs/auto-name.d.ts +75 -0
- package/dist/runs/auto-name.js +179 -0
- package/dist/runs/auto-name.js.map +1 -0
- package/dist/runs/event-history.d.ts +50 -0
- package/dist/runs/event-history.js +613 -0
- package/dist/runs/event-history.js.map +1 -0
- package/dist/runs/retention.d.ts +60 -0
- package/dist/runs/retention.js +86 -0
- package/dist/runs/retention.js.map +1 -0
- package/dist/runs/review-gate.d.ts +18 -0
- package/dist/runs/review-gate.js +21 -0
- package/dist/runs/review-gate.js.map +1 -0
- package/dist/runs/run-index.d.ts +19 -0
- package/dist/runs/run-index.js +43 -0
- package/dist/runs/run-index.js.map +1 -0
- package/dist/runs/store.d.ts +446 -0
- package/dist/runs/store.js +1118 -0
- package/dist/runs/store.js.map +1 -0
- package/dist/runs/task-markers.d.ts +28 -0
- package/dist/runs/task-markers.js +74 -0
- package/dist/runs/task-markers.js.map +1 -0
- package/dist/runs/task-refs.d.ts +25 -0
- package/dist/runs/task-refs.js +74 -0
- package/dist/runs/task-refs.js.map +1 -0
- package/dist/runs/ui-event-sink.d.ts +81 -0
- package/dist/runs/ui-event-sink.js +210 -0
- package/dist/runs/ui-event-sink.js.map +1 -0
- package/dist/server/app-type.d.ts +21 -0
- package/dist/server/app-type.js +2 -0
- package/dist/server/app-type.js.map +1 -0
- package/dist/server/capabilities.d.ts +70 -0
- package/dist/server/capabilities.js +152 -0
- package/dist/server/capabilities.js.map +1 -0
- package/dist/server/checkout.d.ts +128 -0
- package/dist/server/checkout.js +296 -0
- package/dist/server/checkout.js.map +1 -0
- package/dist/server/forge/github.d.ts +513 -0
- package/dist/server/forge/github.js +2364 -0
- package/dist/server/forge/github.js.map +1 -0
- package/dist/server/forge/index.d.ts +40 -0
- package/dist/server/forge/index.js +72 -0
- package/dist/server/forge/index.js.map +1 -0
- package/dist/server/forge/types.d.ts +242 -0
- package/dist/server/forge/types.js +2 -0
- package/dist/server/forge/types.js.map +1 -0
- package/dist/server/fs-browse.d.ts +105 -0
- package/dist/server/fs-browse.js +182 -0
- package/dist/server/fs-browse.js.map +1 -0
- package/dist/server/git-changes.d.ts +213 -0
- package/dist/server/git-changes.js +555 -0
- package/dist/server/git-changes.js.map +1 -0
- package/dist/server/git.d.ts +28 -0
- package/dist/server/git.js +112 -0
- package/dist/server/git.js.map +1 -0
- package/dist/server/github.d.ts +9 -0
- package/dist/server/github.js +8 -0
- package/dist/server/github.js.map +1 -0
- package/dist/server/launch-key.d.ts +7 -0
- package/dist/server/launch-key.js +33 -0
- package/dist/server/launch-key.js.map +1 -0
- package/dist/server/open-in-app.d.ts +66 -0
- package/dist/server/open-in-app.js +211 -0
- package/dist/server/open-in-app.js.map +1 -0
- package/dist/server/open-in-terminal.d.ts +70 -0
- package/dist/server/open-in-terminal.js +179 -0
- package/dist/server/open-in-terminal.js.map +1 -0
- package/dist/server/pr.d.ts +7 -0
- package/dist/server/pr.js +7 -0
- package/dist/server/pr.js.map +1 -0
- package/dist/server/project-context.d.ts +120 -0
- package/dist/server/project-context.js +182 -0
- package/dist/server/project-context.js.map +1 -0
- package/dist/server/provider-action-gate.d.ts +8 -0
- package/dist/server/provider-action-gate.js +56 -0
- package/dist/server/provider-action-gate.js.map +1 -0
- package/dist/server/provider-auth-runtime.d.ts +21 -0
- package/dist/server/provider-auth-runtime.js +66 -0
- package/dist/server/provider-auth-runtime.js.map +1 -0
- package/dist/server/server.d.ts +13138 -0
- package/dist/server/server.js +5263 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/static-ui.d.ts +49 -0
- package/dist/server/static-ui.js +92 -0
- package/dist/server/static-ui.js.map +1 -0
- package/dist/server/validators.d.ts +97 -0
- package/dist/server/validators.js +86 -0
- package/dist/server/validators.js.map +1 -0
- package/dist/server/ws.d.ts +85 -0
- package/dist/server/ws.js +218 -0
- package/dist/server/ws.js.map +1 -0
- package/dist/server/wsl.d.ts +25 -0
- package/dist/server/wsl.js +92 -0
- package/dist/server/wsl.js.map +1 -0
- package/dist/server-install/engine.d.ts +50 -0
- package/dist/server-install/engine.js +324 -0
- package/dist/server-install/engine.js.map +1 -0
- package/dist/server-install/platforms/macosx-ngrok.d.ts +6 -0
- package/dist/server-install/platforms/macosx-ngrok.js +345 -0
- package/dist/server-install/platforms/macosx-ngrok.js.map +1 -0
- package/dist/server-install/platforms/ubuntu-vps.d.ts +78 -0
- package/dist/server-install/platforms/ubuntu-vps.js +1016 -0
- package/dist/server-install/platforms/ubuntu-vps.js.map +1 -0
- package/dist/server-install/state.d.ts +52 -0
- package/dist/server-install/state.js +182 -0
- package/dist/server-install/state.js.map +1 -0
- package/dist/server-install/steps.d.ts +109 -0
- package/dist/server-install/steps.js +334 -0
- package/dist/server-install/steps.js.map +1 -0
- package/dist/server-install/strategies.d.ts +4 -0
- package/dist/server-install/strategies.js +20 -0
- package/dist/server-install/strategies.js.map +1 -0
- package/dist/server-install/types.d.ts +287 -0
- package/dist/server-install/types.js +121 -0
- package/dist/server-install/types.js.map +1 -0
- package/dist/server-install/ui.d.ts +42 -0
- package/dist/server-install/ui.js +130 -0
- package/dist/server-install/ui.js.map +1 -0
- package/dist/skills-banner.d.ts +22 -0
- package/dist/skills-banner.js +41 -0
- package/dist/skills-banner.js.map +1 -0
- package/dist/skills-remote.d.ts +84 -0
- package/dist/skills-remote.js +468 -0
- package/dist/skills-remote.js.map +1 -0
- package/dist/skills-update.d.ts +88 -0
- package/dist/skills-update.js +392 -0
- package/dist/skills-update.js.map +1 -0
- package/dist/skills.d.ts +82 -0
- package/dist/skills.js +251 -0
- package/dist/skills.js.map +1 -0
- package/dist/todos.d.ts +48 -0
- package/dist/todos.js +201 -0
- package/dist/todos.js.map +1 -0
- package/dist/ui-state.d.ts +26 -0
- package/dist/ui-state.js +38 -0
- package/dist/ui-state.js.map +1 -0
- package/dist/update-check.d.ts +12 -0
- package/dist/update-check.js +41 -0
- package/dist/update-check.js.map +1 -0
- package/dist/workflows/load.d.ts +15 -0
- package/dist/workflows/load.js +56 -0
- package/dist/workflows/load.js.map +1 -0
- package/dist/workflows/run.d.ts +758 -0
- package/dist/workflows/run.js +3389 -0
- package/dist/workflows/run.js.map +1 -0
- package/dist/workflows/types.d.ts +153 -0
- package/dist/workflows/types.js +212 -0
- package/dist/workflows/types.js.map +1 -0
- package/dist/workspace/agent-accounts.d.ts +153 -0
- package/dist/workspace/agent-accounts.js +304 -0
- package/dist/workspace/agent-accounts.js.map +1 -0
- package/dist/workspace/agent-profiles.d.ts +78 -0
- package/dist/workspace/agent-profiles.js +115 -0
- package/dist/workspace/agent-profiles.js.map +1 -0
- package/dist/workspace/config.d.ts +169 -0
- package/dist/workspace/config.js +379 -0
- package/dist/workspace/config.js.map +1 -0
- package/dist/workspace/migrations.d.ts +45 -0
- package/dist/workspace/migrations.js +147 -0
- package/dist/workspace/migrations.js.map +1 -0
- package/dist/workspace/projects-cli.d.ts +25 -0
- package/dist/workspace/projects-cli.js +172 -0
- package/dist/workspace/projects-cli.js.map +1 -0
- package/dist/workspace/projects.d.ts +109 -0
- package/dist/workspace/projects.js +250 -0
- package/dist/workspace/projects.js.map +1 -0
- package/dist/workspace/semaphore.d.ts +179 -0
- package/dist/workspace/semaphore.js +195 -0
- package/dist/workspace/semaphore.js.map +1 -0
- package/dist/workspace/ui-state.d.ts +34 -0
- package/dist/workspace/ui-state.js +53 -0
- package/dist/workspace/ui-state.js.map +1 -0
- package/package.json +70 -0
- package/scripts/check-pack.mjs +46 -0
- package/scripts/inline-contract.mjs +112 -0
- package/scripts/install-as-command.mjs +120 -0
- package/scripts/mock-claude.mjs +520 -0
- package/scripts/mock-pi-rpc.mjs +83 -0
- package/scripts/sync-readme.mjs +20 -0
- package/scripts/test-process-usage.mjs +47 -0
- package/web/dist/assets/alert-dialog-B4Ofsgv7.js +1 -0
- package/web/dist/assets/arrow-down-Dy8dup7j.js +1 -0
- package/web/dist/assets/arrow-left-BJaucbhn.js +1 -0
- package/web/dist/assets/bundle-mjs-BT31bpU6.js +1 -0
- package/web/dist/assets/centered-state-duPW0phQ.js +43 -0
- package/web/dist/assets/chevron-right-Be4A5TCS.js +1 -0
- package/web/dist/assets/chunk-BO2N2NFS-DE6qKn3r.js +131 -0
- package/web/dist/assets/collapsible-DdcNBdSk.js +1 -0
- package/web/dist/assets/commit-list-CgvN9vec.js +1 -0
- package/web/dist/assets/compare-variants-CQA2nd65.js +1 -0
- package/web/dist/assets/core-BCsw8oQw.js +12 -0
- package/web/dist/assets/css-BsVw1vtW.js +1 -0
- package/web/dist/assets/diff-B6Agp5Hl.js +3 -0
- package/web/dist/assets/diff-stat-BoXuGkgq.js +1 -0
- package/web/dist/assets/diff-view-CD8XI-fj.js +6 -0
- package/web/dist/assets/diff-woXpYk--.js +1 -0
- package/web/dist/assets/dropdown-menu-B3SYw-k5.js +1 -0
- package/web/dist/assets/editable-title-B-hjp5wl.js +1 -0
- package/web/dist/assets/ellipsis-vertical-BYwzw0xl.js +1 -0
- package/web/dist/assets/engine-javascript-FQvzRocB.js +141 -0
- package/web/dist/assets/file-BRj5eISx.js +1 -0
- package/web/dist/assets/folder-z4oT5981.js +1 -0
- package/web/dist/assets/git-toolbar-owSEkYld.js +1 -0
- package/web/dist/assets/github-Bz2VgRX3.js +1 -0
- package/web/dist/assets/go-rLFTqkRN.js +1 -0
- package/web/dist/assets/highlighted-body-OFNGDK62-BL-MfFgl.js +1 -0
- package/web/dist/assets/highlighter-CdHqIwFr.js +3 -0
- package/web/dist/assets/html-BY76lXLH.js +1 -0
- package/web/dist/assets/image-preview-h3WFluuy.js +1 -0
- package/web/dist/assets/index-BbcQNT92.css +2 -0
- package/web/dist/assets/index-EtQQQ6Kj.js +7 -0
- package/web/dist/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
- package/web/dist/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
- package/web/dist/assets/javascript-BgS3c2Ky.js +1 -0
- package/web/dist/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/web/dist/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/web/dist/assets/json-qhed-kSA.js +1 -0
- package/web/dist/assets/jsonc-CYpm1nAK.js +1 -0
- package/web/dist/assets/jsx-Bz0zcwM4.js +1 -0
- package/web/dist/assets/lib-BQXq3kEf.js +1 -0
- package/web/dist/assets/lib-BxQXEXDF.js +1 -0
- package/web/dist/assets/markdown-BYOwaDjH.js +1 -0
- package/web/dist/assets/markdown-DqBKYPiB.js +2 -0
- package/web/dist/assets/mermaid-GHXKKRXX-C4jxqUUb.js +1 -0
- package/web/dist/assets/new-task-form-BdJKRBJX.js +1 -0
- package/web/dist/assets/pill-BQfmfpYp.js +1 -0
- package/web/dist/assets/project-router-DxgFZY1l.js +1 -0
- package/web/dist/assets/prompt-templates-B6m16gq-.js +15 -0
- package/web/dist/assets/python-gzcpVVnB.js +1 -0
- package/web/dist/assets/react-runtime-CCIEwYL0.js +9 -0
- package/web/dist/assets/refresh-cw-mhSpxf2a.js +1 -0
- package/web/dist/assets/repo-git-CUNRxR3_.js +1 -0
- package/web/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/web/dist/assets/run-diff-DsmmDVfx.js +3 -0
- package/web/dist/assets/run-header-BkhrseLJ.js +1 -0
- package/web/dist/assets/rust-Cfkwpbl8.js +1 -0
- package/web/dist/assets/search-x-BqDMB2g8.js +1 -0
- package/web/dist/assets/shellscript-CLZ0U2zV.js +1 -0
- package/web/dist/assets/skill-empty-hint-BWEvTggc.js +1 -0
- package/web/dist/assets/skills-9oR_oHse.js +1 -0
- package/web/dist/assets/skills-DwIxnnWO.js +1 -0
- package/web/dist/assets/sparkles-DIoTQpyx.js +1 -0
- package/web/dist/assets/sql-BsFa4tDR.js +1 -0
- package/web/dist/assets/square-terminal-Cc7CuQxc.js +1 -0
- package/web/dist/assets/tab-link-D1fQgpmO.js +1 -0
- package/web/dist/assets/task-changes-BKeLlDpK.js +1 -0
- package/web/dist/assets/task-commits-gcEFZIa5.js +1 -0
- package/web/dist/assets/task-files-BGAqoXTW.js +2 -0
- package/web/dist/assets/task-thread-DT8aUYTS.js +9 -0
- package/web/dist/assets/textarea-BOVbfy5C.js +1 -0
- package/web/dist/assets/thread-loading-CypW73KD.js +1 -0
- package/web/dist/assets/toml-CcmNWLt0.js +1 -0
- package/web/dist/assets/trash-2-CJq6LHWn.js +1 -0
- package/web/dist/assets/triangle-alert-CjDFvU27.js +1 -0
- package/web/dist/assets/tsx-udAQXfEw.js +1 -0
- package/web/dist/assets/typescript-bsJCZSQ-.js +1 -0
- package/web/dist/assets/upload-CPDZlJeK.js +1 -0
- package/web/dist/assets/use-desktop-5JsLmi0a.js +1 -0
- package/web/dist/assets/use-submit-shortcut-CHVFevty.js +1 -0
- package/web/dist/assets/utils-DiO6zyJd.js +64 -0
- package/web/dist/assets/workflows-rQDFzWRt.js +11 -0
- package/web/dist/assets/yaml-rwi0_p6S.js +1 -0
- package/web/dist/assets/zoomable-image-COWqb11v.js +1 -0
- package/web/dist/index.html +80 -0
- package/web/dist/open-mercato.svg +11 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-auth.js","sourceRoot":"","sources":["../../src/core/provider-auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type ProviderId, type ProviderStatus, type ProviderStatusResponse } from './provider-auth.ts';
|
|
2
|
+
export declare function applyProviderEnablement(response: ProviderStatusResponse, disabledProviders: readonly ProviderId[]): ProviderStatusResponse;
|
|
3
|
+
export declare function isProviderUsable(row: ProviderStatus): boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { providerAuthChecksDisabled, } from './provider-auth.js';
|
|
2
|
+
export function applyProviderEnablement(response, disabledProviders) {
|
|
3
|
+
const disabled = new Set(providerAuthChecksDisabled() ? [] : disabledProviders);
|
|
4
|
+
return {
|
|
5
|
+
providers: response.providers.map((row) => ({
|
|
6
|
+
...row,
|
|
7
|
+
enabled: !disabled.has(row.provider),
|
|
8
|
+
})),
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export function isProviderUsable(row) {
|
|
12
|
+
return row.enabled !== false && row.status === 'connected';
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=provider-availability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-availability.js","sourceRoot":"","sources":["../../src/core/provider-availability.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,GAI3B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,UAAU,uBAAuB,CACrC,QAAgC,EAChC,iBAAwC;IAExC,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CACtD,CAAC;IACF,OAAO;QACL,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC1C,GAAG,GAAG;YACN,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;SACrC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAmB;IAClD,OAAO,GAAG,CAAC,OAAO,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AgentBackend, AgentRunner, RunnerId } from './agent-runner.ts';
|
|
2
|
+
/**
|
|
3
|
+
* The single place that maps a backend id onto a concrete runner. Everything
|
|
4
|
+
* that used to `new ClaudeCliRunner()` (the planner and the workflow engine)
|
|
5
|
+
* goes through here so switching the agent backend is one function call.
|
|
6
|
+
* `claude-cli` is the legacy id for `claude`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createRunner(backend: AgentBackend | RunnerId | undefined): AgentRunner;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ClaudeCliRunner } from './claude-cli-runner.js';
|
|
2
|
+
import { CodexAppServerRunner } from './codex-app-server-runner.js';
|
|
3
|
+
import { OpencodeServerRunner } from './opencode-server-runner.js';
|
|
4
|
+
import { PiRunner } from './pi-runner.js';
|
|
5
|
+
/**
|
|
6
|
+
* The single place that maps a backend id onto a concrete runner. Everything
|
|
7
|
+
* that used to `new ClaudeCliRunner()` (the planner and the workflow engine)
|
|
8
|
+
* goes through here so switching the agent backend is one function call.
|
|
9
|
+
* `claude-cli` is the legacy id for `claude`.
|
|
10
|
+
*/
|
|
11
|
+
export function createRunner(backend) {
|
|
12
|
+
switch (backend) {
|
|
13
|
+
case 'codex':
|
|
14
|
+
return new CodexAppServerRunner();
|
|
15
|
+
case 'opencode':
|
|
16
|
+
return new OpencodeServerRunner();
|
|
17
|
+
case 'pi':
|
|
18
|
+
return new PiRunner();
|
|
19
|
+
case 'claude':
|
|
20
|
+
case 'claude-cli':
|
|
21
|
+
default:
|
|
22
|
+
return new ClaudeCliRunner();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=runner-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-factory.js","sourceRoot":"","sources":["../../src/core/runner-factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,OAA4C;IACvE,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,OAAO;YACV,OAAO,IAAI,oBAAoB,EAAE,CAAC;QACpC,KAAK,UAAU;YACb,OAAO,IAAI,oBAAoB,EAAE,CAAC;QACpC,KAAK,IAAI;YACP,OAAO,IAAI,QAAQ,EAAE,CAAC;QACxB,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY,CAAC;QAClB;YACE,OAAO,IAAI,eAAe,EAAE,CAAC;IACjC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { RunnerId } from './agent-runner.ts';
|
|
2
|
+
export interface ModelOption {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
description: string;
|
|
6
|
+
}
|
|
7
|
+
export type ModelCatalogSource = 'live' | 'cache' | 'unavailable';
|
|
8
|
+
export interface RunnerModelCatalogResult {
|
|
9
|
+
runner: RunnerId;
|
|
10
|
+
models: ModelOption[];
|
|
11
|
+
source: ModelCatalogSource;
|
|
12
|
+
stale: boolean;
|
|
13
|
+
reason?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface RunnerModelCatalogAdapter {
|
|
16
|
+
discover(): Promise<ModelOption[]>;
|
|
17
|
+
}
|
|
18
|
+
export interface RunnerModelCatalogOptions {
|
|
19
|
+
adapters: Partial<Record<RunnerId, RunnerModelCatalogAdapter>>;
|
|
20
|
+
now?: () => number;
|
|
21
|
+
ttlMs?: number;
|
|
22
|
+
}
|
|
23
|
+
/** Host-level, in-memory model discovery cache shared by every workspace. */
|
|
24
|
+
export declare class RunnerModelCatalog {
|
|
25
|
+
#private;
|
|
26
|
+
constructor(options: RunnerModelCatalogOptions);
|
|
27
|
+
invalidate(runner: RunnerId): void;
|
|
28
|
+
get(runner: RunnerId): Promise<RunnerModelCatalogResult>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
const DEFAULT_TTL_MS = 5 * 60 * 1_000;
|
|
2
|
+
/** Host-level, in-memory model discovery cache shared by every workspace. */
|
|
3
|
+
export class RunnerModelCatalog {
|
|
4
|
+
#adapters;
|
|
5
|
+
#now;
|
|
6
|
+
#ttlMs;
|
|
7
|
+
#cache = new Map();
|
|
8
|
+
#inFlight = new Map();
|
|
9
|
+
#generation = new Map();
|
|
10
|
+
constructor(options) {
|
|
11
|
+
this.#adapters = options.adapters;
|
|
12
|
+
this.#now = options.now ?? Date.now;
|
|
13
|
+
this.#ttlMs = options.ttlMs ?? DEFAULT_TTL_MS;
|
|
14
|
+
}
|
|
15
|
+
invalidate(runner) {
|
|
16
|
+
const cached = this.#cache.get(runner);
|
|
17
|
+
if (cached)
|
|
18
|
+
cached.expiresAt = 0;
|
|
19
|
+
this.#inFlight.delete(runner);
|
|
20
|
+
this.#generation.set(runner, (this.#generation.get(runner) ?? 0) + 1);
|
|
21
|
+
}
|
|
22
|
+
get(runner) {
|
|
23
|
+
const cached = this.#cache.get(runner);
|
|
24
|
+
if (cached && this.#now() < cached.expiresAt) {
|
|
25
|
+
if (cached.failureReason) {
|
|
26
|
+
return Promise.resolve({
|
|
27
|
+
runner,
|
|
28
|
+
models: cached.models,
|
|
29
|
+
source: cached.models.length > 0 ? 'cache' : 'unavailable',
|
|
30
|
+
stale: cached.models.length > 0,
|
|
31
|
+
reason: cached.failureReason,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
return Promise.resolve({ runner, models: cached.models, source: 'cache', stale: false });
|
|
35
|
+
}
|
|
36
|
+
const pending = this.#inFlight.get(runner);
|
|
37
|
+
if (pending)
|
|
38
|
+
return pending;
|
|
39
|
+
const generation = this.#generation.get(runner) ?? 0;
|
|
40
|
+
const refresh = this.#refresh(runner, cached, generation).finally(() => {
|
|
41
|
+
if ((this.#generation.get(runner) ?? 0) === generation)
|
|
42
|
+
this.#inFlight.delete(runner);
|
|
43
|
+
});
|
|
44
|
+
this.#inFlight.set(runner, refresh);
|
|
45
|
+
return refresh;
|
|
46
|
+
}
|
|
47
|
+
async #refresh(runner, cached, generation) {
|
|
48
|
+
const current = () => (this.#generation.get(runner) ?? 0) === generation;
|
|
49
|
+
try {
|
|
50
|
+
const adapter = this.#adapters[runner];
|
|
51
|
+
if (!adapter)
|
|
52
|
+
throw new Error('adapter unavailable');
|
|
53
|
+
const models = await adapter.discover();
|
|
54
|
+
const value = { models: [...models], expiresAt: this.#now() + this.#ttlMs };
|
|
55
|
+
if (current())
|
|
56
|
+
this.#cache.set(runner, value);
|
|
57
|
+
return { runner, models: value.models, source: 'live', stale: false };
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
const reason = unavailableReason(runner);
|
|
61
|
+
if (cached) {
|
|
62
|
+
if (current()) {
|
|
63
|
+
this.#cache.set(runner, { models: cached.models, expiresAt: this.#now() + this.#ttlMs, failureReason: reason });
|
|
64
|
+
}
|
|
65
|
+
return { runner, models: cached.models, source: 'cache', stale: true, reason };
|
|
66
|
+
}
|
|
67
|
+
if (current()) {
|
|
68
|
+
this.#cache.set(runner, { models: [], expiresAt: this.#now() + this.#ttlMs, failureReason: reason });
|
|
69
|
+
}
|
|
70
|
+
return { runner, models: [], source: 'unavailable', stale: false, reason };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function unavailableReason(runner) {
|
|
75
|
+
const name = runner === 'codex' ? 'Codex' : runner === 'claude' ? 'Claude' : runner === 'pi' ? 'Pi' : 'OpenCode';
|
|
76
|
+
return `${name} model discovery is temporarily unavailable`;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=runner-model-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner-model-catalog.js","sourceRoot":"","sources":["../../src/core/runner-model-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redact credentials before they are persisted to a run's NDJSON transcript
|
|
3
|
+
* (#427). Tool-result output is written verbatim to disk and served back over
|
|
4
|
+
* the API, so the moment an agent runs a command whose output contains a
|
|
5
|
+
* secret (`printenv`, `cat ~/.aws/credentials`, …) that secret would land in
|
|
6
|
+
* `.ai/cezar/` — violating the "No secrets in state files" invariant
|
|
7
|
+
* (AGENTS.md / CODE_REVIEW.md).
|
|
8
|
+
*
|
|
9
|
+
* Two complementary strategies:
|
|
10
|
+
* 1. Value-based — the concrete values of the host's own secret-named env
|
|
11
|
+
* vars (GITHUB_TOKEN, ANTHROPIC_API_KEY, AWS_SECRET_ACCESS_KEY, …). If
|
|
12
|
+
* any of them appears in event text, it is scrubbed.
|
|
13
|
+
* 2. Pattern-based — well-known token shapes (gh*, sk-*, AKIA*, AIza*,
|
|
14
|
+
* xox*-*) so secrets that never lived in cezar's own env are still caught.
|
|
15
|
+
*
|
|
16
|
+
* Zero-config: redaction is on by default; `CEZ_REDACT_SECRETS=0` opts out.
|
|
17
|
+
*/
|
|
18
|
+
export declare const REDACTED = "[REDACTED]";
|
|
19
|
+
/**
|
|
20
|
+
* Names that look like a credential — the single source of truth for "is this
|
|
21
|
+
* var a secret?", shared with `agent-env.ts` (#427 review). The two used to
|
|
22
|
+
* carry near-identical but subtly different lists, so a var could be stripped
|
|
23
|
+
* from the child env yet never collected for redaction (or vice versa). One
|
|
24
|
+
* constant, one answer: what we refuse to forward is exactly what we scrub.
|
|
25
|
+
*/
|
|
26
|
+
export declare const SECRET_NAME_RE: RegExp;
|
|
27
|
+
/** Collect the concrete secret values present in `env` (deduped, longest
|
|
28
|
+
* first so a value that contains another is replaced whole). */
|
|
29
|
+
export declare function collectSecretValues(env?: NodeJS.ProcessEnv): string[];
|
|
30
|
+
/** Replace every known secret value / token shape in `text` with `[REDACTED]`. */
|
|
31
|
+
export declare function redactSecrets(text: string, secretValues: readonly string[]): string;
|
|
32
|
+
/**
|
|
33
|
+
* Deep-copy `value`, redacting every string leaf. Structure/keys are
|
|
34
|
+
* preserved; only string values (and string keys are left untouched — keys are
|
|
35
|
+
* event field names, never secrets) are scrubbed.
|
|
36
|
+
*/
|
|
37
|
+
export declare function redactDeep<T>(value: T, secretValues: readonly string[]): T;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Redact credentials before they are persisted to a run's NDJSON transcript
|
|
3
|
+
* (#427). Tool-result output is written verbatim to disk and served back over
|
|
4
|
+
* the API, so the moment an agent runs a command whose output contains a
|
|
5
|
+
* secret (`printenv`, `cat ~/.aws/credentials`, …) that secret would land in
|
|
6
|
+
* `.ai/cezar/` — violating the "No secrets in state files" invariant
|
|
7
|
+
* (AGENTS.md / CODE_REVIEW.md).
|
|
8
|
+
*
|
|
9
|
+
* Two complementary strategies:
|
|
10
|
+
* 1. Value-based — the concrete values of the host's own secret-named env
|
|
11
|
+
* vars (GITHUB_TOKEN, ANTHROPIC_API_KEY, AWS_SECRET_ACCESS_KEY, …). If
|
|
12
|
+
* any of them appears in event text, it is scrubbed.
|
|
13
|
+
* 2. Pattern-based — well-known token shapes (gh*, sk-*, AKIA*, AIza*,
|
|
14
|
+
* xox*-*) so secrets that never lived in cezar's own env are still caught.
|
|
15
|
+
*
|
|
16
|
+
* Zero-config: redaction is on by default; `CEZ_REDACT_SECRETS=0` opts out.
|
|
17
|
+
*/
|
|
18
|
+
export const REDACTED = '[REDACTED]';
|
|
19
|
+
/**
|
|
20
|
+
* Names that look like a credential — the single source of truth for "is this
|
|
21
|
+
* var a secret?", shared with `agent-env.ts` (#427 review). The two used to
|
|
22
|
+
* carry near-identical but subtly different lists, so a var could be stripped
|
|
23
|
+
* from the child env yet never collected for redaction (or vice versa). One
|
|
24
|
+
* constant, one answer: what we refuse to forward is exactly what we scrub.
|
|
25
|
+
*/
|
|
26
|
+
export const SECRET_NAME_RE = /(TOKEN|SECRET|PASSWORD|PASSWD|CREDENTIAL|_KEY$|_KEY_|APIKEY|API_KEY|PRIVATE_KEY|ACCESS_KEY|_AUTH$|_AUTH_|SESSION|COOKIE|PASSPHRASE)/i;
|
|
27
|
+
/** Names matched above whose value is NOT a secret (a socket path, a pid, a
|
|
28
|
+
* desktop-session id) — collecting them would scrub ordinary paths from the
|
|
29
|
+
* transcript for no benefit. */
|
|
30
|
+
const SECRET_VALUE_NAME_ALLOW = new Set([
|
|
31
|
+
'SSH_AUTH_SOCK',
|
|
32
|
+
'SSH_AGENT_PID',
|
|
33
|
+
'SESSION_MANAGER',
|
|
34
|
+
'SESSIONNAME',
|
|
35
|
+
'XDG_SESSION_ID',
|
|
36
|
+
'XDG_SESSION_TYPE',
|
|
37
|
+
'XDG_SESSION_CLASS',
|
|
38
|
+
'XDG_SESSION_DESKTOP',
|
|
39
|
+
]);
|
|
40
|
+
/**
|
|
41
|
+
* Below this length a "secret" value is too common a word to redact safely.
|
|
42
|
+
* Verified over-redaction at the old floor of 8 (#427 review): a dev box with
|
|
43
|
+
* `POSTGRES_PASSWORD=postgres` turned `apt install postgresql-16` into
|
|
44
|
+
* `apt install [REDACTED]ql-16` in the transcript. Real credentials (API keys,
|
|
45
|
+
* PATs, AWS secrets) are 20+ chars, so 12 keeps the catch rate while putting
|
|
46
|
+
* short dictionary words — the whole source of false positives — out of reach.
|
|
47
|
+
* Pattern-based redaction below is unaffected: it matches token *shapes*, not
|
|
48
|
+
* env values, and still catches short-but-real tokens.
|
|
49
|
+
*/
|
|
50
|
+
const MIN_SECRET_LEN = 12;
|
|
51
|
+
/** Well-known credential shapes, independent of the host env. */
|
|
52
|
+
const TOKEN_PATTERNS = [
|
|
53
|
+
/gh[pousr]_[A-Za-z0-9]{20,}/g, // GitHub PAT / OAuth / server / user / refresh
|
|
54
|
+
/github_pat_[A-Za-z0-9_]{20,}/g, // GitHub fine-grained PAT
|
|
55
|
+
/sk-ant-[A-Za-z0-9-_]{20,}/g, // Anthropic
|
|
56
|
+
/sk-[A-Za-z0-9-_]{20,}/g, // OpenAI & compatible
|
|
57
|
+
/AKIA[0-9A-Z]{16}/g, // AWS access key id
|
|
58
|
+
/ASIA[0-9A-Z]{16}/g, // AWS temporary access key id
|
|
59
|
+
/AIza[0-9A-Za-z_-]{35}/g, // Google API key
|
|
60
|
+
/ya29\.[0-9A-Za-z_-]+/g, // Google OAuth access token
|
|
61
|
+
/xox[baprs]-[0-9A-Za-z-]{10,}/g, // Slack
|
|
62
|
+
/glpat-[0-9A-Za-z_-]{20,}/g, // GitLab PAT
|
|
63
|
+
];
|
|
64
|
+
function escapeRegExp(s) {
|
|
65
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
66
|
+
}
|
|
67
|
+
/** Collect the concrete secret values present in `env` (deduped, longest
|
|
68
|
+
* first so a value that contains another is replaced whole). */
|
|
69
|
+
export function collectSecretValues(env = process.env) {
|
|
70
|
+
const values = new Set();
|
|
71
|
+
for (const [name, value] of Object.entries(env)) {
|
|
72
|
+
if (!value || value.length < MIN_SECRET_LEN)
|
|
73
|
+
continue;
|
|
74
|
+
if (SECRET_VALUE_NAME_ALLOW.has(name.toUpperCase()))
|
|
75
|
+
continue;
|
|
76
|
+
if (SECRET_NAME_RE.test(name))
|
|
77
|
+
values.add(value);
|
|
78
|
+
}
|
|
79
|
+
return [...values].sort((a, b) => b.length - a.length);
|
|
80
|
+
}
|
|
81
|
+
/** Replace every known secret value / token shape in `text` with `[REDACTED]`. */
|
|
82
|
+
export function redactSecrets(text, secretValues) {
|
|
83
|
+
let out = text;
|
|
84
|
+
for (const value of secretValues) {
|
|
85
|
+
if (!out.includes(value))
|
|
86
|
+
continue;
|
|
87
|
+
out = out.split(value).join(REDACTED);
|
|
88
|
+
}
|
|
89
|
+
for (const re of TOKEN_PATTERNS) {
|
|
90
|
+
out = out.replace(re, REDACTED);
|
|
91
|
+
}
|
|
92
|
+
return out;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Deep-copy `value`, redacting every string leaf. Structure/keys are
|
|
96
|
+
* preserved; only string values (and string keys are left untouched — keys are
|
|
97
|
+
* event field names, never secrets) are scrubbed.
|
|
98
|
+
*/
|
|
99
|
+
export function redactDeep(value, secretValues) {
|
|
100
|
+
if (typeof value === 'string') {
|
|
101
|
+
return redactSecrets(value, secretValues);
|
|
102
|
+
}
|
|
103
|
+
if (Array.isArray(value)) {
|
|
104
|
+
return value.map((v) => redactDeep(v, secretValues));
|
|
105
|
+
}
|
|
106
|
+
if (value && typeof value === 'object') {
|
|
107
|
+
const out = {};
|
|
108
|
+
for (const [k, v] of Object.entries(value)) {
|
|
109
|
+
out[k] = redactDeep(v, secretValues);
|
|
110
|
+
}
|
|
111
|
+
return out;
|
|
112
|
+
}
|
|
113
|
+
return value;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=secret-redaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secret-redaction.js","sourceRoot":"","sources":["../../src/core/secret-redaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rendering environment assignments into a shell command line — the CLI-handoff half of agent
|
|
3
|
+
* profiles (spec 2026-07-29-agent-profiles).
|
|
4
|
+
*
|
|
5
|
+
* A run executed under a second account only resumes under that same account: `claude --resume
|
|
6
|
+
* <id>` reads `<CLAUDE_CONFIG_DIR>/sessions`, so a handoff without the variable does not fail
|
|
7
|
+
* loudly — it silently starts a fresh conversation. The variable therefore has to travel with
|
|
8
|
+
* every command cezar hands to a terminal, and it has to SURVIVE the command, because the window
|
|
9
|
+
* stays open and the user types the next `claude` in it themselves. Hence `export` / `set` rather
|
|
10
|
+
* than a one-shot `VAR=v cmd` prefix.
|
|
11
|
+
*
|
|
12
|
+
* There is no portable spelling: `VAR=v cmd` is meaningless to `cmd.exe`, and `set "VAR=v"` is
|
|
13
|
+
* meaningless to a POSIX shell. So this renders per platform, and — the load-bearing part —
|
|
14
|
+
* refuses rather than guesses. `null` means "this value cannot be embedded safely here", and
|
|
15
|
+
* every caller must then fail closed: opening a terminal on the WRONG account is worse than not
|
|
16
|
+
* opening one, because the user cannot see which account a shell is pointed at.
|
|
17
|
+
*/
|
|
18
|
+
/** POSIX single-quoting — the `'\''` dance, so any character but a control one is inert. */
|
|
19
|
+
export declare function shellQuote(value: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Assignments that persist for the rest of the shell session, or `null` when any value cannot be
|
|
22
|
+
* embedded safely on `platform`. An empty `env` renders `''` — the zero-config path adds nothing.
|
|
23
|
+
*
|
|
24
|
+
* The result is a PREFIX ready to concatenate: it already ends with its own separator.
|
|
25
|
+
*/
|
|
26
|
+
export declare function renderEnvPrefix(env: Record<string, string>, platform: NodeJS.Platform): string | null;
|
|
27
|
+
/** `renderEnvPrefix` applied to a command, or `null` when the env cannot be rendered safely. */
|
|
28
|
+
export declare function withEnvPrefix(command: string, env: Record<string, string>, platform: NodeJS.Platform): string | null;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rendering environment assignments into a shell command line — the CLI-handoff half of agent
|
|
3
|
+
* profiles (spec 2026-07-29-agent-profiles).
|
|
4
|
+
*
|
|
5
|
+
* A run executed under a second account only resumes under that same account: `claude --resume
|
|
6
|
+
* <id>` reads `<CLAUDE_CONFIG_DIR>/sessions`, so a handoff without the variable does not fail
|
|
7
|
+
* loudly — it silently starts a fresh conversation. The variable therefore has to travel with
|
|
8
|
+
* every command cezar hands to a terminal, and it has to SURVIVE the command, because the window
|
|
9
|
+
* stays open and the user types the next `claude` in it themselves. Hence `export` / `set` rather
|
|
10
|
+
* than a one-shot `VAR=v cmd` prefix.
|
|
11
|
+
*
|
|
12
|
+
* There is no portable spelling: `VAR=v cmd` is meaningless to `cmd.exe`, and `set "VAR=v"` is
|
|
13
|
+
* meaningless to a POSIX shell. So this renders per platform, and — the load-bearing part —
|
|
14
|
+
* refuses rather than guesses. `null` means "this value cannot be embedded safely here", and
|
|
15
|
+
* every caller must then fail closed: opening a terminal on the WRONG account is worse than not
|
|
16
|
+
* opening one, because the user cannot see which account a shell is pointed at.
|
|
17
|
+
*/
|
|
18
|
+
/** Values that cannot be embedded safely, per platform. Control characters are rejected
|
|
19
|
+
* everywhere (they would break the line-based launch script and are never a real path). */
|
|
20
|
+
const CONTROL_CHARS_RE = /[\u0000-\u001f\u007f]/;
|
|
21
|
+
/** `cmd.exe` has no escape inside a quoted `set` argument: `"` ends the quote and `%`/`!` expand.
|
|
22
|
+
* A path containing one is pathological, so refusing is honest rather than limiting. */
|
|
23
|
+
const WIN32_UNSAFE_RE = /["%!]/;
|
|
24
|
+
/** POSIX single-quoting — the `'\''` dance, so any character but a control one is inert. */
|
|
25
|
+
export function shellQuote(value) {
|
|
26
|
+
return `'${value.replaceAll("'", `'\\''`)}'`;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Assignments that persist for the rest of the shell session, or `null` when any value cannot be
|
|
30
|
+
* embedded safely on `platform`. An empty `env` renders `''` — the zero-config path adds nothing.
|
|
31
|
+
*
|
|
32
|
+
* The result is a PREFIX ready to concatenate: it already ends with its own separator.
|
|
33
|
+
*/
|
|
34
|
+
export function renderEnvPrefix(env, platform) {
|
|
35
|
+
const entries = Object.entries(env);
|
|
36
|
+
if (entries.length === 0)
|
|
37
|
+
return '';
|
|
38
|
+
for (const [name, value] of entries) {
|
|
39
|
+
if (CONTROL_CHARS_RE.test(name) || CONTROL_CHARS_RE.test(value))
|
|
40
|
+
return null;
|
|
41
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(name))
|
|
42
|
+
return null;
|
|
43
|
+
if (platform === 'win32' && (WIN32_UNSAFE_RE.test(name) || WIN32_UNSAFE_RE.test(value)))
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
if (platform === 'win32') {
|
|
47
|
+
return entries.map(([name, value]) => `set "${name}=${value}" && `).join('');
|
|
48
|
+
}
|
|
49
|
+
return entries.map(([name, value]) => `export ${name}=${shellQuote(value)}; `).join('');
|
|
50
|
+
}
|
|
51
|
+
/** `renderEnvPrefix` applied to a command, or `null` when the env cannot be rendered safely. */
|
|
52
|
+
export function withEnvPrefix(command, env, platform) {
|
|
53
|
+
const prefix = renderEnvPrefix(env, platform);
|
|
54
|
+
return prefix === null ? null : `${prefix}${command}`;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=shell-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-env.js","sourceRoot":"","sources":["../../src/core/shell-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;4FAC4F;AAC5F,MAAM,gBAAgB,GAAG,uBAAuB,CAAC;AACjD;yFACyF;AACzF,MAAM,eAAe,GAAG,OAAO,CAAC;AAEhC,4FAA4F;AAC5F,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,GAA2B,EAC3B,QAAyB;IAEzB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACpC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7E,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACxD,IAAI,QAAQ,KAAK,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IACvG,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1F,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,aAAa,CAC3B,OAAe,EACf,GAA2B,EAC3B,QAAyB;IAEzB,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9C,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool display model — turns a backend tool name + raw input into the
|
|
3
|
+
* `{toolKind, title, subtitle?}` a tool card renders. Computed ONCE here in
|
|
4
|
+
* the protocol layer (paseo's pattern), never in components, so the thread,
|
|
5
|
+
* activity groups and notifications all say the same thing.
|
|
6
|
+
*
|
|
7
|
+
* Pure function over untrusted input: tool inputs come off the wire and may
|
|
8
|
+
* be null, partial (streamed incrementally) or arbitrarily malformed —
|
|
9
|
+
* `toolDisplay` must never throw.
|
|
10
|
+
*
|
|
11
|
+
* Known names covered (matched case-insensitively so claude's `Bash` and
|
|
12
|
+
* opencode's `bash` share one row):
|
|
13
|
+
* - claude: Bash, Edit, Write, NotebookEdit, Read, Glob, Grep, WebFetch,
|
|
14
|
+
* WebSearch, Task, Agent, Skill, TodoWrite, TaskCreate,
|
|
15
|
+
* TaskUpdate, TaskList, mcp__server__tool
|
|
16
|
+
* - codex: commandExecution, contextCompaction, fileChange, imageView,
|
|
17
|
+
* mcpToolCall, webSearch, plan
|
|
18
|
+
* (codex's checklist arrives as the `turn/plan/updated`
|
|
19
|
+
* notification, not as a tool call — `todoList` is kept below only
|
|
20
|
+
* as tolerance for its non-app-server transports)
|
|
21
|
+
* - opencode: bash, edit, write, read, grep, glob, webfetch, task, todowrite
|
|
22
|
+
*/
|
|
23
|
+
import type { ToolKind } from './ui-events.ts';
|
|
24
|
+
export interface ToolDisplay {
|
|
25
|
+
toolKind: ToolKind;
|
|
26
|
+
/** Human line for the card trigger, e.g. "Ran npm test". */
|
|
27
|
+
title: string;
|
|
28
|
+
/** Secondary detail, e.g. the claude Bash `description`. */
|
|
29
|
+
subtitle?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function toolDisplay(name: string, input?: unknown): ToolDisplay;
|