@wjarka/cezarion 0.15.1 → 0.16.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/README.md +167 -46
- package/dist/agent-config/catalog.d.ts +6 -2
- package/dist/agent-config/catalog.js +78 -3
- package/dist/agent-config/catalog.js.map +1 -1
- package/dist/agent-config/model-settings/shared.js +6 -3
- package/dist/agent-config/model-settings/shared.js.map +1 -1
- package/dist/agent-config/models.js +4 -0
- package/dist/agent-config/models.js.map +1 -1
- package/dist/agent-config/validate.js +6 -0
- package/dist/agent-config/validate.js.map +1 -1
- package/dist/artifacts/cli.js +10 -2
- package/dist/artifacts/cli.js.map +1 -1
- package/dist/automations/coordinator.d.ts +7 -0
- package/dist/automations/coordinator.js +22 -2
- package/dist/automations/coordinator.js.map +1 -1
- package/dist/automations/github-poller.d.ts +4 -4
- package/dist/automations/github-poller.js.map +1 -1
- package/dist/automations/schedule-runner.d.ts +130 -0
- package/dist/automations/schedule-runner.js +326 -0
- package/dist/automations/schedule-runner.js.map +1 -0
- package/dist/automations/scheduler.d.ts +38 -7
- package/dist/automations/scheduler.js +90 -22
- package/dist/automations/scheduler.js.map +1 -1
- package/dist/automations/store.d.ts +80 -3
- package/dist/automations/store.js +208 -16
- package/dist/automations/store.js.map +1 -1
- package/dist/automations/task-template.d.ts +42 -6
- package/dist/automations/task-template.js +152 -24
- package/dist/automations/task-template.js.map +1 -1
- package/dist/automations/types.d.ts +142 -6
- package/dist/automations/types.js +64 -6
- package/dist/automations/types.js.map +1 -1
- package/dist/autosave-holders.js +8 -12
- package/dist/autosave-holders.js.map +1 -1
- package/dist/ci-wait/client.d.ts +8 -1
- package/dist/ci-wait/client.js +43 -1
- package/dist/ci-wait/client.js.map +1 -1
- package/dist/ci-wait/controller.d.ts +83 -4
- package/dist/ci-wait/controller.js +76 -11
- package/dist/ci-wait/controller.js.map +1 -1
- package/dist/ci-wait/errors.d.ts +7 -1
- package/dist/ci-wait/errors.js +36 -0
- package/dist/ci-wait/errors.js.map +1 -1
- package/dist/ci-wait/github.d.ts +2 -0
- package/dist/ci-wait/github.js +3 -1
- package/dist/ci-wait/github.js.map +1 -1
- package/dist/ci-wait/mcp.d.ts +2 -98
- package/dist/ci-wait/mcp.js +11 -25
- package/dist/ci-wait/mcp.js.map +1 -1
- package/dist/ci-wait/supervisor.d.ts +2 -1
- package/dist/ci-wait/supervisor.js +2 -1
- package/dist/ci-wait/supervisor.js.map +1 -1
- package/dist/ci-wait/tools.d.ts +307 -0
- package/dist/ci-wait/tools.js +63 -0
- package/dist/ci-wait/tools.js.map +1 -0
- package/dist/config.d.ts +3 -0
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/contract/agent-config.d.ts +5 -0
- package/dist/contract/agent-profiles.d.ts +15 -0
- package/dist/contract/automation-schedule.d.ts +60 -0
- package/dist/contract/automations.d.ts +208 -36
- package/dist/contract/delegation.d.ts +96 -0
- package/dist/contract/discovery.d.ts +7 -0
- package/dist/contract/github.d.ts +1 -0
- package/dist/contract/health.d.ts +6 -0
- package/dist/contract/index.d.ts +3 -0
- package/dist/contract/index.js +1445 -745
- package/dist/contract/preview.d.ts +508 -0
- package/dist/contract/runs.d.ts +716 -15
- package/dist/contract/skills.d.ts +39 -0
- package/dist/contract/workflows.d.ts +6 -0
- package/dist/contract/workspace.d.ts +65 -0
- package/dist/contract/zoned-time.d.ts +35 -0
- package/dist/core/agent-env.d.ts +11 -0
- package/dist/core/agent-env.js +27 -5
- package/dist/core/agent-env.js.map +1 -1
- package/dist/core/agent-profiles.js +7 -0
- package/dist/core/agent-profiles.js.map +1 -1
- package/dist/core/agent-runner.d.ts +49 -1
- package/dist/core/agent-runner.js +2 -1
- package/dist/core/agent-runner.js.map +1 -1
- package/dist/core/backend-detect.d.ts +3 -2
- package/dist/core/backend-detect.js +27 -1
- package/dist/core/backend-detect.js.map +1 -1
- package/dist/core/claude-cli-runner.d.ts +1 -0
- package/dist/core/claude-cli-runner.js +69 -19
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/core/codex-app-server-runner.d.ts +1 -0
- package/dist/core/codex-app-server-runner.js +200 -25
- package/dist/core/codex-app-server-runner.js.map +1 -1
- package/dist/core/codex-app-server-transport.d.ts +7 -3
- package/dist/core/codex-app-server-transport.js +11 -9
- package/dist/core/codex-app-server-transport.js.map +1 -1
- package/dist/core/cursor-acp-runner.d.ts +1 -0
- package/dist/core/cursor-acp-runner.js +24 -9
- package/dist/core/cursor-acp-runner.js.map +1 -1
- package/dist/core/host-model-catalog.js +2 -0
- package/dist/core/host-model-catalog.js.map +1 -1
- package/dist/core/managed-session.js +2 -0
- package/dist/core/managed-session.js.map +1 -1
- package/dist/core/model-identity.js +2 -0
- package/dist/core/model-identity.js.map +1 -1
- package/dist/core/model-presets.js +3 -0
- package/dist/core/model-presets.js.map +1 -1
- package/dist/core/omp-model-catalog.d.ts +43 -0
- package/dist/core/omp-model-catalog.js +205 -0
- package/dist/core/omp-model-catalog.js.map +1 -0
- package/dist/core/omp-runner.d.ts +73 -0
- package/dist/core/omp-runner.js +990 -0
- package/dist/core/omp-runner.js.map +1 -0
- package/dist/core/omp-ui-mapper.d.ts +106 -0
- package/dist/core/omp-ui-mapper.js +882 -0
- package/dist/core/omp-ui-mapper.js.map +1 -0
- package/dist/core/opencode-server-runner.d.ts +18 -4
- package/dist/core/opencode-server-runner.js +337 -96
- package/dist/core/opencode-server-runner.js.map +1 -1
- package/dist/core/opencode-session-error.d.ts +11 -0
- package/dist/core/opencode-session-error.js +26 -0
- package/dist/core/opencode-session-error.js.map +1 -0
- package/dist/core/opencode-ui-mapper.js +4 -36
- package/dist/core/opencode-ui-mapper.js.map +1 -1
- package/dist/core/pi-runner.d.ts +1 -0
- package/dist/core/pi-runner.js +75 -12
- package/dist/core/pi-runner.js.map +1 -1
- package/dist/core/provider-auth.d.ts +9 -2
- package/dist/core/provider-auth.js +43 -6
- package/dist/core/provider-auth.js.map +1 -1
- package/dist/core/runner-factory.js +3 -0
- package/dist/core/runner-factory.js.map +1 -1
- package/dist/core/runner-model-catalog.js +1 -0
- package/dist/core/runner-model-catalog.js.map +1 -1
- package/dist/core/runner-stderr.d.ts +2 -0
- package/dist/core/runner-stderr.js +20 -0
- package/dist/core/runner-stderr.js.map +1 -0
- package/dist/core/session-process.d.ts +22 -0
- package/dist/core/session-process.js +202 -0
- package/dist/core/session-process.js.map +1 -0
- package/dist/core/ui-events.d.ts +1 -1
- package/dist/core/usage-limit.js +3 -60
- package/dist/core/usage-limit.js.map +1 -1
- package/dist/data-gitignore.d.ts +6 -0
- package/dist/data-gitignore.js +57 -0
- package/dist/data-gitignore.js.map +1 -0
- package/dist/delegation/capacity.d.ts +19 -0
- package/dist/delegation/capacity.js +34 -0
- package/dist/delegation/capacity.js.map +1 -0
- package/dist/delegation/cli.js +13 -4
- package/dist/delegation/cli.js.map +1 -1
- package/dist/delegation/conversations.d.ts +4 -2
- package/dist/delegation/conversations.js +8 -12
- package/dist/delegation/conversations.js.map +1 -1
- package/dist/delegation/credentials.d.ts +2 -0
- package/dist/delegation/credentials.js +10 -0
- package/dist/delegation/credentials.js.map +1 -1
- package/dist/delegation/destroy-observation.d.ts +42 -0
- package/dist/delegation/destroy-observation.js +115 -0
- package/dist/delegation/destroy-observation.js.map +1 -0
- package/dist/delegation/execution-identity.d.ts +6 -0
- package/dist/delegation/execution-identity.js +1 -1
- package/dist/delegation/execution-identity.js.map +1 -1
- package/dist/delegation/policy.d.ts +3 -2
- package/dist/delegation/policy.js +7 -5
- package/dist/delegation/policy.js.map +1 -1
- package/dist/delegation/process-liveness.d.ts +57 -20
- package/dist/delegation/process-liveness.js +114 -92
- package/dist/delegation/process-liveness.js.map +1 -1
- package/dist/delegation/provision.js +6 -6
- package/dist/delegation/provision.js.map +1 -1
- package/dist/delegation/results.js +4 -2
- package/dist/delegation/results.js.map +1 -1
- package/dist/delegation/retry-backoff.d.ts +23 -0
- package/dist/delegation/retry-backoff.js +18 -0
- package/dist/delegation/retry-backoff.js.map +1 -0
- package/dist/delegation/routes.d.ts +64 -58
- package/dist/delegation/scratch-cleanup.d.ts +29 -0
- package/dist/delegation/scratch-cleanup.js +143 -0
- package/dist/delegation/scratch-cleanup.js.map +1 -0
- package/dist/delegation/service.d.ts +20 -1
- package/dist/delegation/service.js +233 -70
- package/dist/delegation/service.js.map +1 -1
- package/dist/delegation/transport.d.ts +12 -6
- package/dist/delegation/workspace.d.ts +23 -4
- package/dist/delegation/workspace.js +147 -31
- package/dist/delegation/workspace.js.map +1 -1
- package/dist/git-worktree-lock-helper.js +8 -3
- package/dist/git-worktree-lock-helper.js.map +1 -1
- package/dist/git-worktree-lock.d.ts +6 -1
- package/dist/git-worktree-lock.js +10 -4
- package/dist/git-worktree-lock.js.map +1 -1
- package/dist/git-worktree-release.d.ts +20 -0
- package/dist/git-worktree-release.js +27 -0
- package/dist/git-worktree-release.js.map +1 -0
- package/dist/git-worktree.d.ts +8 -2
- package/dist/git-worktree.js +19 -2
- package/dist/git-worktree.js.map +1 -1
- package/dist/handoff.d.ts +2 -2
- package/dist/handoff.js +1 -1
- package/dist/index.js +109 -76
- package/dist/index.js.map +1 -1
- package/dist/paths.d.ts +1 -1
- package/dist/paths.js +5 -1
- package/dist/paths.js.map +1 -1
- package/dist/preview/cdp.d.ts +13 -0
- package/dist/preview/cdp.js +69 -0
- package/dist/preview/cdp.js.map +1 -0
- package/dist/preview/chromium.d.ts +75 -0
- package/dist/preview/chromium.js +394 -0
- package/dist/preview/chromium.js.map +1 -0
- package/dist/preview/dev-server.d.ts +68 -0
- package/dist/preview/dev-server.js +341 -0
- package/dist/preview/dev-server.js.map +1 -0
- package/dist/preview/host.d.ts +154 -0
- package/dist/preview/host.js +681 -0
- package/dist/preview/host.js.map +1 -0
- package/dist/preview/registration.d.ts +63 -0
- package/dist/preview/registration.js +109 -0
- package/dist/preview/registration.js.map +1 -0
- package/dist/preview/session.d.ts +73 -0
- package/dist/preview/session.js +347 -0
- package/dist/preview/session.js.map +1 -0
- package/dist/preview/url.d.ts +6 -0
- package/dist/preview/url.js +17 -0
- package/dist/preview/url.js.map +1 -0
- package/dist/runs/agent-tmpdir-removal.d.ts +15 -0
- package/dist/runs/agent-tmpdir-removal.js +60 -0
- package/dist/runs/agent-tmpdir-removal.js.map +1 -0
- package/dist/runs/agent-tmpdir.d.ts +12 -1
- package/dist/runs/agent-tmpdir.js +123 -34
- package/dist/runs/agent-tmpdir.js.map +1 -1
- package/dist/runs/delegation-state.d.ts +5 -1
- package/dist/runs/delegation-state.js +9 -0
- package/dist/runs/delegation-state.js.map +1 -1
- package/dist/runs/event-history.d.ts +4 -4
- package/dist/runs/event-history.js +97 -117
- package/dist/runs/event-history.js.map +1 -1
- package/dist/runs/history-compressor.d.ts +29 -0
- package/dist/runs/history-compressor.js +116 -0
- package/dist/runs/history-compressor.js.map +1 -0
- package/dist/runs/history-file.d.ts +36 -0
- package/dist/runs/history-file.js +463 -0
- package/dist/runs/history-file.js.map +1 -0
- package/dist/runs/human-ask-summary.js +18 -13
- package/dist/runs/human-ask-summary.js.map +1 -1
- package/dist/runs/legacy-index.d.ts +62 -0
- package/dist/runs/legacy-index.js +168 -0
- package/dist/runs/legacy-index.js.map +1 -0
- package/dist/runs/raw-record.d.ts +52 -0
- package/dist/runs/raw-record.js +145 -0
- package/dist/runs/raw-record.js.map +1 -0
- package/dist/runs/retention.d.ts +13 -6
- package/dist/runs/retention.js +42 -13
- package/dist/runs/retention.js.map +1 -1
- package/dist/runs/run-claims.d.ts +23 -0
- package/dist/runs/run-claims.js +24 -0
- package/dist/runs/run-claims.js.map +1 -0
- package/dist/runs/run-database.d.ts +385 -0
- package/dist/runs/run-database.js +930 -0
- package/dist/runs/run-database.js.map +1 -0
- package/dist/runs/run-index.d.ts +35 -9
- package/dist/runs/run-index.js +200 -25
- package/dist/runs/run-index.js.map +1 -1
- package/dist/runs/run-row.d.ts +44 -0
- package/dist/runs/run-row.js +84 -0
- package/dist/runs/run-row.js.map +1 -0
- package/dist/runs/run-search.d.ts +29 -0
- package/dist/runs/run-search.js +63 -0
- package/dist/runs/run-search.js.map +1 -0
- package/dist/runs/store-open-error.d.ts +24 -0
- package/dist/runs/store-open-error.js +61 -0
- package/dist/runs/store-open-error.js.map +1 -0
- package/dist/runs/store.d.ts +667 -32
- package/dist/runs/store.js +2153 -324
- package/dist/runs/store.js.map +1 -1
- package/dist/runs/transcript-facts.d.ts +77 -0
- package/dist/runs/transcript-facts.js +302 -0
- package/dist/runs/transcript-facts.js.map +1 -0
- package/dist/runs/webhook.js +5 -4
- package/dist/runs/webhook.js.map +1 -1
- package/dist/runs/worker-execution.d.ts +22 -0
- package/dist/runs/worker-execution.js +30 -0
- package/dist/runs/worker-execution.js.map +1 -0
- package/dist/server/capabilities.d.ts +1 -0
- package/dist/server/capabilities.js +2 -0
- package/dist/server/capabilities.js.map +1 -1
- package/dist/server/cockpit-ownership.d.ts +8 -0
- package/dist/server/cockpit-ownership.js +19 -0
- package/dist/server/cockpit-ownership.js.map +1 -1
- package/dist/server/forge/github.d.ts +1 -4
- package/dist/server/forge/github.js +47 -23
- package/dist/server/forge/github.js.map +1 -1
- package/dist/server/git.js +1 -1
- package/dist/server/git.js.map +1 -1
- package/dist/server/open-in-app.js +1 -0
- package/dist/server/open-in-app.js.map +1 -1
- package/dist/server/preview-socket.d.ts +36 -0
- package/dist/server/preview-socket.js +126 -0
- package/dist/server/preview-socket.js.map +1 -0
- package/dist/server/project-context.d.ts +31 -4
- package/dist/server/project-context.js +73 -9
- package/dist/server/project-context.js.map +1 -1
- package/dist/server/provider-action-gate.js +1 -0
- package/dist/server/provider-action-gate.js.map +1 -1
- package/dist/server/repo-branches.d.ts +4 -3
- package/dist/server/repo-branches.js +5 -4
- package/dist/server/repo-branches.js.map +1 -1
- package/dist/server/server.d.ts +4500 -2727
- package/dist/server/server.js +651 -202
- package/dist/server/server.js.map +1 -1
- package/dist/server/upgrade-router.d.ts +23 -0
- package/dist/server/upgrade-router.js +53 -0
- package/dist/server/upgrade-router.js.map +1 -0
- package/dist/server/validators.d.ts +6 -1
- package/dist/server/validators.js +4 -4
- package/dist/server/validators.js.map +1 -1
- package/dist/server/ws.d.ts +16 -16
- package/dist/server/ws.js +56 -54
- package/dist/server/ws.js.map +1 -1
- package/dist/skills-remote.d.ts +14 -0
- package/dist/skills-remote.js +91 -15
- package/dist/skills-remote.js.map +1 -1
- package/dist/task-cli/cli.js +40 -16
- package/dist/task-cli/cli.js.map +1 -1
- package/dist/task-cli/discovery.d.ts +4 -3
- package/dist/task-cli/discovery.js +4 -3
- package/dist/task-cli/discovery.js.map +1 -1
- package/dist/task-cli/http.d.ts +2 -0
- package/dist/task-cli/http.js +10 -4
- package/dist/task-cli/http.js.map +1 -1
- package/dist/task-cli/projections.d.ts +5 -2
- package/dist/task-cli/projections.js +13 -0
- package/dist/task-cli/projections.js.map +1 -1
- package/dist/task-cli/watch.d.ts +15 -2
- package/dist/task-cli/watch.js +31 -9
- package/dist/task-cli/watch.js.map +1 -1
- package/dist/ui-state.d.ts +4 -3
- package/dist/ui-state.js +8 -3
- package/dist/ui-state.js.map +1 -1
- package/dist/workflows/grouped-command.d.ts +31 -0
- package/dist/workflows/grouped-command.js +143 -0
- package/dist/workflows/grouped-command.js.map +1 -0
- package/dist/workflows/run.d.ts +223 -42
- package/dist/workflows/run.js +1316 -398
- package/dist/workflows/run.js.map +1 -1
- package/dist/workflows/types.d.ts +12 -0
- package/dist/workflows/types.js +20 -0
- package/dist/workflows/types.js.map +1 -1
- package/dist/workspace/agent-accounts.d.ts +5 -1
- package/dist/workspace/agent-accounts.js +1 -0
- package/dist/workspace/agent-accounts.js.map +1 -1
- package/dist/workspace/agent-profiles.js +1 -1
- package/dist/workspace/agent-profiles.js.map +1 -1
- package/dist/workspace/config.d.ts +3 -1
- package/dist/workspace/config.js +1 -0
- package/dist/workspace/config.js.map +1 -1
- package/dist/worktree-setup.d.ts +85 -0
- package/dist/worktree-setup.js +164 -0
- package/dist/worktree-setup.js.map +1 -0
- package/package.json +7 -5
- package/scripts/benchmark-run-store-fixture.ts +428 -0
- package/scripts/benchmark-run-store.ts +743 -0
- package/scripts/benchmark-stuck-destroys.ts +143 -0
- package/scripts/mock-autonomous.mjs +11 -0
- package/scripts/mock-ci-tool.mjs +20 -5
- package/scripts/mock-claude.mjs +110 -1
- package/scripts/mock-codex-app-server.mjs +117 -2
- package/scripts/mock-codex-coalesce-steer.mjs +59 -0
- package/scripts/mock-codex-reverse-steer.mjs +130 -0
- package/scripts/mock-cursor-acp.mjs +75 -1
- package/scripts/mock-omp-rpc.mjs +605 -0
- package/scripts/mock-opencode-serve.mjs +312 -22
- package/scripts/mock-pi-rpc.mjs +109 -3
- package/scripts/mock-runner-crash.mjs +42 -0
- package/scripts/mock-silent-tail.mjs +78 -0
- package/scripts/mock-turn-messages.mjs +5 -0
- package/scripts/omp-ci-wait.mjs +29 -0
- package/scripts/omp-restrict-delegation.yml +4 -0
- package/scripts/pi-ci-wait.mjs +12 -9
- package/scripts/seed-archive-profile.ts +3 -3
- package/web/dist/assets/agent-accounts-CFOBMVHc.js +1 -0
- package/web/dist/assets/alert-dialog-BrpNUwMt.js +1 -0
- package/web/dist/assets/app-window-CSHwDX9N.js +1 -0
- package/web/dist/assets/button-C_rd7CPp.js +43 -0
- package/web/dist/assets/compare-variants-D6WXhvXA.js +1 -0
- package/web/dist/assets/diff-DrEARXTV.js +3 -0
- package/web/dist/assets/diff-controls-B1-j7nFg.js +1 -0
- package/web/dist/assets/{diff-view-DPn6bQ5W.js → diff-view-DvGLjdTk.js} +3 -3
- package/web/dist/assets/dropdown-menu-BegOZFrj.js +1 -0
- package/web/dist/assets/format-DpNe3S0A.js +1 -0
- package/web/dist/assets/git-toolbar-Cw4ljmhB.js +1 -0
- package/web/dist/assets/github-CfV5sqL0.js +1 -0
- package/web/dist/assets/{image-preview-DJ8cgb1Z.js → image-preview-FOEfqpZP.js} +1 -1
- package/web/dist/assets/index-DgWWlOLy.js +13 -0
- package/web/dist/assets/index-fBFnuvxu.css +1 -0
- package/web/dist/assets/{nav-row-styles-3j64kH5s.js → nav-row-styles-vp2JbhuJ.js} +1 -1
- package/web/dist/assets/play-CmVAj_fu.js +1 -0
- package/web/dist/assets/popover-BohP6WTx.js +1 -0
- package/web/dist/assets/preview-pane-connected-qTA5KNoJ.js +3 -0
- package/web/dist/assets/preview-state-vuMviq6q.js +1 -0
- package/web/dist/assets/prompt-templates-Cubdut_C.js +15 -0
- package/web/dist/assets/repo-git-Cf4t5PD0.js +1 -0
- package/web/dist/assets/{run-diff-5-RRdcVz.js → run-diff-BpkUW37Z.js} +3 -3
- package/web/dist/assets/run-header-68WHf9wV.js +1 -0
- package/web/dist/assets/skills-DiVIgKeU.js +1 -0
- package/web/dist/assets/square-terminal-B6RYYieR.js +1 -0
- package/web/dist/assets/status-dot-CqTJHSP9.js +1 -0
- package/web/dist/assets/{tab-link-K0hjzEXR.js → tab-link-B07Hu4QX.js} +1 -1
- package/web/dist/assets/task-changes--lQF6EYf.js +1 -0
- package/web/dist/assets/task-commits-Cx0qy4DN.js +1 -0
- package/web/dist/assets/task-files-D50s-gKW.js +2 -0
- package/web/dist/assets/task-github-item-DaqmSwYT.js +1 -0
- package/web/dist/assets/task-thread-BPQ64lui.js +7 -0
- package/web/dist/assets/{task-thread-Bw_nQuTx.css → task-thread-zNE2Q9E-.css} +1 -1
- package/web/dist/assets/textarea-D20O4Pw0.js +1 -0
- package/web/dist/assets/thread-state-DWcFMrvb.js +4 -0
- package/web/dist/assets/use-hand-to-agent-state-BLIGmwbd.css +1 -0
- package/web/dist/assets/use-hand-to-agent-state-Cy9eyyfL.js +1 -0
- package/web/dist/assets/{utils-fzNfbPzA.js → utils-JsL3ZsJf.js} +1 -1
- package/web/dist/assets/workflows-jwG7uxqi.js +11 -0
- package/web/dist/assets/{zoomable-image-CDmZ_Rtl.js → zoomable-image-BJJ64KGc.js} +1 -1
- package/web/dist/cezarion-lockup-dark.svg +1 -13
- package/web/dist/cezarion-lockup-light.svg +1 -13
- package/web/dist/cezarion-mark-dark.svg +1 -12
- package/web/dist/cezarion-mark-light.svg +1 -12
- package/web/dist/index.html +16 -21
- package/web/dist/assets/agent-accounts-CU2ZDv24.js +0 -1
- package/web/dist/assets/alert-dialog-C-xYE_dg.js +0 -43
- package/web/dist/assets/chevron-right-BENZ-1ZN.js +0 -1
- package/web/dist/assets/collapsible-DD9J91Iv.js +0 -1
- package/web/dist/assets/compare-variants-5FmqpFSN.js +0 -1
- package/web/dist/assets/diff-controls-Bj0YrioE.js +0 -1
- package/web/dist/assets/diff-rE8rm75J2.js +0 -3
- package/web/dist/assets/diff-stat-BKDCSVfJ.js +0 -1
- package/web/dist/assets/dropdown-menu-Ch5BYQh_.js +0 -1
- package/web/dist/assets/format-dBiNDNVe.js +0 -1
- package/web/dist/assets/git-toolbar-ClVvf5iF.js +0 -1
- package/web/dist/assets/github-BkNOyour.css +0 -1
- package/web/dist/assets/github-DeZMeMwJ.js +0 -1
- package/web/dist/assets/github-item-detail-W5F6GVjF.js +0 -1
- package/web/dist/assets/github-sidebar-model-DcMu-IK2.js +0 -1
- package/web/dist/assets/highlighter-CdHqIwFr.js +0 -3
- package/web/dist/assets/index-CatemBEL.js +0 -8
- package/web/dist/assets/index-MvfD8bZJ.css +0 -1
- package/web/dist/assets/markdown-zdKeLIYA.js +0 -2
- package/web/dist/assets/mobile-run-bar-BCfmFi8V.js +0 -1
- package/web/dist/assets/prompt-templates-CBPp39IU.js +0 -15
- package/web/dist/assets/reference-chip-D6owncJT.js +0 -1
- package/web/dist/assets/repo-git-CtdkZFey.js +0 -1
- package/web/dist/assets/run-header-BcjoDi0W.js +0 -1
- package/web/dist/assets/sheet-ChnYVrp1.js +0 -1
- package/web/dist/assets/skills-C8YKp2vr.js +0 -1
- package/web/dist/assets/task-changes-BW8YdWG8.js +0 -1
- package/web/dist/assets/task-commits-q2kB2y6L.js +0 -1
- package/web/dist/assets/task-files-pPL6_3Cr.js +0 -2
- package/web/dist/assets/task-github-item-BXF5R52U.js +0 -1
- package/web/dist/assets/task-thread-DtkFL3EC.js +0 -10
- package/web/dist/assets/textarea-DxlkE-Yd.js +0 -1
- package/web/dist/assets/token-metrics-DIAjrPlM.js +0 -1
- package/web/dist/assets/use-desktop-CrDny2uG.js +0 -1
- package/web/dist/assets/use-submit-shortcut-KWJsC906.js +0 -1
- package/web/dist/assets/workflows-TmcPEj2K.js +0 -11
- /package/web/dist/assets/{lib-BQXq3kEf2.js → lib-BQXq3kEf.js} +0 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Synthetic Node uncaught-exception diagnostic matching #499's property/footer layout.
|
|
2
|
+
// Native transports call this when a prompt arrives, optionally before its ACK.
|
|
3
|
+
import { spawn } from 'node:child_process';
|
|
4
|
+
import { writeSync } from 'node:fs';
|
|
5
|
+
export function crashWithStderr(prompt, malformedFrame) {
|
|
6
|
+
if (!prompt.includes('mock:crash-stderr')) return false;
|
|
7
|
+
if (prompt.includes('mock:crash-stderr-clean')) {
|
|
8
|
+
writeSync(2, 'harmless shutdown diagnostic\n');
|
|
9
|
+
process.removeAllListeners('SIGTERM');
|
|
10
|
+
process.on('SIGTERM', () => process.exit(143));
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
if (prompt.includes('mock:crash-stderr-single')) {
|
|
14
|
+
writeSync(2, 'authentication unavailable\n');
|
|
15
|
+
process.exit(7);
|
|
16
|
+
}
|
|
17
|
+
if (prompt.includes('mock:crash-stderr-held-pipe')) {
|
|
18
|
+
spawn(process.execPath, ['-e', `setTimeout(() => process.stderr.write('late buffered crash diagnostic\\n'), 40); setTimeout(() => {}, 5000);`], {
|
|
19
|
+
stdio: ['ignore', process.stdout, process.stderr],
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
writeSync(2, 'Error: transient connection reset; retrying\nRecovered\n');
|
|
23
|
+
if (malformedFrame) writeSync(1, malformedFrame + '\n');
|
|
24
|
+
writeSync(2, `node:events:496
|
|
25
|
+
throw er; // Unhandled 'error' event
|
|
26
|
+
^
|
|
27
|
+
|
|
28
|
+
Error: write EPIPE
|
|
29
|
+
at afterWriteDispatched (node:internal/stream_base_commons:159:15)
|
|
30
|
+
at writeGeneric (node:internal/stream_base_commons:150:3)
|
|
31
|
+
Emitted 'error' event on Socket instance at:
|
|
32
|
+
at emitErrorNT (node:internal/streams/destroy:170:8) {
|
|
33
|
+
errno: -32,
|
|
34
|
+
code: 'EPIPE',
|
|
35
|
+
syscall: 'write',
|
|
36
|
+
diagnostic: '${'x'.repeat(700)}'
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
Node.js v24.20.0
|
|
40
|
+
`);
|
|
41
|
+
process.exit(1);
|
|
42
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// Shared responses only; each caller encodes its own native runner wire (#544).
|
|
2
|
+
// Per-process latch of the session's opening scenario, as mock-autonomous.mjs keeps `cap`.
|
|
3
|
+
let opened;
|
|
4
|
+
|
|
5
|
+
export const SILENT_TAIL_OPENING = 'Filing the issue now.';
|
|
6
|
+
export const SILENT_TAIL_REASONING =
|
|
7
|
+
'Task complete. Summarize for the user. Emit CEZ:ISSUE=543, CEZ:TITLE, CEZ:DONE.CEZ:ISSUE=543';
|
|
8
|
+
export const SILENT_TAIL_DONE = 'Filed #543.\nCEZ:DONE';
|
|
9
|
+
export const TOOL_TAIL_OPENING = 'Inspecting the working tree.';
|
|
10
|
+
export const FINAL_MESSAGE_STANDING = 'Here is where things stand.';
|
|
11
|
+
export const SLOW_DONE_PREFIX = 'Working on the wrap-up.';
|
|
12
|
+
export const FINAL_MESSAGE_NUDGE_PREFIX = 'Your last turn ended without a message to the user.';
|
|
13
|
+
/** Bound in F9/F11 is 300 ms; reply after expiry. */
|
|
14
|
+
export const LATE_REPLY_MS = 500;
|
|
15
|
+
/** Bound in F10 is 300 ms; first content is immediate, turn-end after this. */
|
|
16
|
+
export const SLOW_DONE_TAIL_MS = 400;
|
|
17
|
+
/** F11: after native turn-start, hold before content longer than the test poll window. */
|
|
18
|
+
export const LATE_TURN_START_HOLD_MS = 800;
|
|
19
|
+
|
|
20
|
+
export function sleep(ms) {
|
|
21
|
+
return new Promise(resolve => {
|
|
22
|
+
const timer = setTimeout(resolve, ms);
|
|
23
|
+
timer.unref?.();
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function noteSilentTailPrompt(prompt) {
|
|
28
|
+
if (typeof prompt !== 'string' || isFinalMessageNudge(prompt)) return;
|
|
29
|
+
if (prompt.includes('mock:silent-tail-no-reply')) opened = 'silent-tail-no-reply';
|
|
30
|
+
else if (prompt.includes('mock:silent-tail-late-turn-start')) opened = 'silent-tail-late-turn-start';
|
|
31
|
+
else if (prompt.includes('mock:silent-tail-late-reply')) opened = 'silent-tail-late-reply';
|
|
32
|
+
else if (prompt.includes('mock:silent-tail-slow-done')) opened = 'silent-tail-slow-done';
|
|
33
|
+
else if (prompt.includes('mock:silent-tail-again')) opened = 'silent-tail-again';
|
|
34
|
+
else if (prompt.includes('mock:silent-tail')) opened = 'silent-tail';
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export function isSilentTailScenario(prompt) {
|
|
38
|
+
return typeof prompt === 'string' && prompt.includes('mock:silent-tail');
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export function isToolTailScenario(prompt) {
|
|
42
|
+
return typeof prompt === 'string' && prompt.includes('mock:tool-tail');
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function isFinalMessageNudge(prompt) {
|
|
46
|
+
return typeof prompt === 'string' && prompt.includes(FINAL_MESSAGE_NUDGE_PREFIX);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** `done` only for mock:silent-tail; `silent` only for mock:silent-tail-again;
|
|
50
|
+
* `ack-only` ACKs the nudge and never opens a turn (OpenCode keeps heartbeats);
|
|
51
|
+
* `late` ACKs then replies after LATE_REPLY_MS; `late-turn-start` ACKs, emits
|
|
52
|
+
* native turn-start after LATE_REPLY_MS, then holds LATE_TURN_START_HOLD_MS
|
|
53
|
+
* before content; `slow-done` starts content at once and ends after SLOW_DONE_TAIL_MS. */
|
|
54
|
+
export function finalMessageNudgeKind() {
|
|
55
|
+
if (opened === 'silent-tail-no-reply') return 'ack-only';
|
|
56
|
+
if (opened === 'silent-tail-late-turn-start') return 'late-turn-start';
|
|
57
|
+
if (opened === 'silent-tail-late-reply') return 'late';
|
|
58
|
+
if (opened === 'silent-tail-slow-done') return 'slow-done';
|
|
59
|
+
if (opened === 'silent-tail-again') return 'silent';
|
|
60
|
+
if (opened === 'silent-tail') return 'done';
|
|
61
|
+
return 'standing';
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function isAckOnlyNudge(prompt) {
|
|
65
|
+
return isFinalMessageNudge(prompt) && finalMessageNudgeKind() === 'ack-only';
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export function isLateNudge(prompt) {
|
|
69
|
+
return isFinalMessageNudge(prompt) && finalMessageNudgeKind() === 'late';
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export function isLateTurnStartNudge(prompt) {
|
|
73
|
+
return isFinalMessageNudge(prompt) && finalMessageNudgeKind() === 'late-turn-start';
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function isSlowDoneNudge(prompt) {
|
|
77
|
+
return isFinalMessageNudge(prompt) && finalMessageNudgeKind() === 'slow-done';
|
|
78
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Portable multi-message turn fixtures, spelled on each runner's native wire. */
|
|
2
|
+
export function turnMessages(prompt) {
|
|
3
|
+
const encoded = prompt.match(/mock:turn-messages:([A-Za-z0-9+/=]+)/)?.[1];
|
|
4
|
+
return encoded ? JSON.parse(Buffer.from(encoded, 'base64').toString('utf8')) : undefined;
|
|
5
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// OMP (Oh My Pi) extension: registers cezar's tools in OMP's own process (#595). Same shape as
|
|
2
|
+
// pi-ci-wait.mjs; OMP's `pi.registerTool` takes the JSON Schema `parameters` as Pi does.
|
|
3
|
+
// Resolve beside this installed script; no private workspace dependency or download.
|
|
4
|
+
import { existsSync } from 'node:fs';
|
|
5
|
+
import { fileURLToPath } from 'node:url';
|
|
6
|
+
const source = new URL('../src/ci-wait/tools.ts', import.meta.url);
|
|
7
|
+
const built = new URL('../dist/ci-wait/tools.js', import.meta.url);
|
|
8
|
+
// Unlike Pi's loader, OMP's cannot resolve the workspace contract package from a source checkout
|
|
9
|
+
// (v18.4.11), so a failed source import falls back to the built output, but only when it exists:
|
|
10
|
+
// otherwise the source error is the real cause and is rethrown, not hidden behind a missing dist.
|
|
11
|
+
const loadBuilt = (error) => {
|
|
12
|
+
if (!existsSync(fileURLToPath(built))) throw error;
|
|
13
|
+
process.stderr.write('cezar: loading built cezar tools from dist/; rebuild after changing src/ci-wait\n');
|
|
14
|
+
return import(built.href);
|
|
15
|
+
};
|
|
16
|
+
const { cezarTools } = await (existsSync(source) ? import(source.href).catch(loadBuilt) : import(built.href));
|
|
17
|
+
// #781: the shared cezar tool list, read in OMP's own process, whose env carries the opt-in.
|
|
18
|
+
// `ompTools` admits exactly these names to `--tools`: OMP exits 2 on a name nothing registered.
|
|
19
|
+
export default function ciWaitExtension(pi) {
|
|
20
|
+
for (const tool of cezarTools(process.env)) {
|
|
21
|
+
pi.registerTool({
|
|
22
|
+
name: tool.definition.name,
|
|
23
|
+
label: tool.label,
|
|
24
|
+
description: tool.definition.description,
|
|
25
|
+
parameters: tool.definition.inputSchema,
|
|
26
|
+
async execute(_toolCallId, params) { return tool.invoke(params); },
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
package/scripts/pi-ci-wait.mjs
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
// Pi 0.87.0 extension API accepts JSON Schema (TypeBox-compatible parameters).
|
|
2
2
|
// Resolve beside this installed script; no private workspace dependency or download.
|
|
3
3
|
import { existsSync } from 'node:fs';
|
|
4
|
-
const source = new URL('../src/ci-wait/
|
|
5
|
-
const {
|
|
4
|
+
const source = new URL('../src/ci-wait/tools.ts', import.meta.url);
|
|
5
|
+
const { cezarTools } = await import(existsSync(source) ? source.href : new URL('../dist/ci-wait/tools.js', import.meta.url).href);
|
|
6
|
+
// #781: the shared cezar tool list, read in Pi's own process, whose env carries the opt-in.
|
|
6
7
|
export default function ciWaitExtension(pi) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
8
|
+
for (const tool of cezarTools(process.env)) {
|
|
9
|
+
pi.registerTool({
|
|
10
|
+
name: tool.definition.name,
|
|
11
|
+
label: tool.label,
|
|
12
|
+
description: tool.definition.description,
|
|
13
|
+
parameters: tool.definition.inputSchema,
|
|
14
|
+
async execute(_toolCallId, params) { return tool.invoke(params); },
|
|
15
|
+
});
|
|
16
|
+
}
|
|
14
17
|
}
|
|
@@ -8,7 +8,7 @@ import { RunStore } from '../src/runs/store.ts';
|
|
|
8
8
|
const root = process.argv[2];
|
|
9
9
|
if (!root) throw new Error('Pass the path to an empty scratch repository');
|
|
10
10
|
const store = RunStore.open(join(root, '.ai/cezar'));
|
|
11
|
-
if (store.
|
|
11
|
+
if (store.listRunSummaries().runs.length) throw new Error('Scratch repository already contains runs');
|
|
12
12
|
|
|
13
13
|
for (let p = 0; p < 12; p++) {
|
|
14
14
|
const parent = store.createRun({
|
|
@@ -49,5 +49,5 @@ for (let i = 0; i < 200; i++) {
|
|
|
49
49
|
});
|
|
50
50
|
store.updateRun(extra.id, { status: 'review' });
|
|
51
51
|
}
|
|
52
|
-
store.
|
|
53
|
-
|
|
52
|
+
console.log(JSON.stringify({ root, runs: store.listRunSummaries().runs.length, finished: 12 }));
|
|
53
|
+
store.close();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Ct as e,E as t}from"./alert-dialog-BrpNUwMt.js";function n(){let n=t(),r=e(),i=(n.data?.profiles??[]).map(e=>({provider:e.provider,id:e.id,label:e.label,configDir:e.configDir})),a=r.data?.info?.root;return{accounts:i,repoAccount:a?n.data?.selections?.[a]:void 0}}function r(e,t){return e.filter(e=>e.provider===t).length>1}export{n,r as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{$i as r,$n as i,$r as a,$t as o,An as s,Bn as c,Br as l,Cn as u,Cr as d,Dn as f,En as p,Er as m,Fn as ee,Gi as h,Gn as te,Gr as ne,Gt as re,Hn as ie,In as ae,Ji as oe,Jn as se,Ki as ce,Kn as le,Ln as ue,Mr as de,On as fe,Or as pe,Pn as me,Qi as he,Qn as ge,Rn as _e,Rr as ve,Sa as ye,Si as be,Sr as xe,Tn as Se,Tr as Ce,Un as we,Vr as Te,Wi as Ee,Wn as De,Wt as Oe,Xi as ke,Xn as Ae,Yi as je,Yn as Me,Zi as Ne,Zn as Pe,_ as Fe,_i as Ie,_r as Le,a as Re,aa as ze,ar as Be,bi as Ve,bn as He,br as Ue,c as We,cn as Ge,cr as Ke,da as qe,di as Je,dr as Ye,ei as Xe,er as Ze,f as Qe,fi as $e,g,ga as et,gr as tt,hr as nt,i as rt,ia as it,in as at,ir as ot,jr as st,kn as ct,kr as lt,l as ut,la as dt,li as ft,ln as pt,lr as mt,m as ht,ma as gt,mr as _t,n as vt,na as yt,ni as bt,nr as xt,o as St,oi as Ct,on as wt,or as Tt,p as Et,qi as Dt,qn as Ot,rr as kt,s as At,sa as _,sn as jt,sr as Mt,ta as v,ti as Nt,tr as Pt,u as Ft,ui as It,ur as Lt,v as y,va as Rt,vi as zt,vr as Bt,w as b,wi as Vt,wn as Ht,wr as Ut,x as Wt,xr as Gt,ya as Kt,yn as qt,yr as Jt,zn as Yt}from"./button-C_rd7CPp.js";import{G as x,K as Xt,O as Zt,W as Qt,s as S,t as C}from"./utils-JsL3ZsJf.js";var $t={permission:0,error:1,waiting:2,running:3,unseen:4,none:5};function en(e){return!1}function tn(e){return!1}function nn(e){if(!e||e.role===`invalid`||!e.wait)return;if(e.wait.requestIds?.length)return e.role===`worker`?`waiting on parent reply`:`waiting on worker replies`;if(e.role!==`root`)return;let t=e.wait,n=new Set(t.outcomes?.map(e=>e.workerId)),r=t.workerIds?.filter(e=>!n.has(e)).length;return r?`waiting on ${r} worker${r===1?``:`s`}`:`waiting on workers`}function w(e,t=!1){if(en(e))return{bucket:`permission`,tone:`info`,shape:`filled`,pulse:!0,label:`needs permission`};if(e.status===`failed`&&e.autoResumeAt)return{bucket:`none`,tone:`neutral`,shape:`ring`,pulse:!1,label:`scheduled`};if(e.status===`failed`)return{bucket:`error`,tone:`danger`,shape:`filled`,pulse:!1,label:`failed`};let n=nn(e.delegation);return!t&&!e.hasPendingHumanAsk&&e.status===`waiting`&&e.delegation?.role!==`invalid`&&e.delegation?.wait?.phase===`parked`&&n?{bucket:`none`,tone:`running`,shape:e.delegation.role===`root`?`workers`:`ring`,pulse:!1,label:n}:e.status===`waiting`?{bucket:`waiting`,tone:`pending`,shape:`filled`,pulse:!0,label:`needs you`}:e.status===`review`?{bucket:`waiting`,tone:`info`,shape:`filled`,pulse:!0,label:`needs review`}:e.status===`running`&&e.activity===`monitoring`?{bucket:`running`,tone:`running`,shape:`ring`,pulse:!0,label:`monitoring`}:e.status===`running`?{bucket:`running`,tone:`running`,shape:`filled`,pulse:!0,label:`running`}:tn(e)?{bucket:`unseen`,tone:`accent`,shape:`filled`,pulse:!1,label:`unseen`}:e.status===`queued`?{bucket:`none`,tone:`neutral`,shape:`ring`,pulse:!1,label:`queued`}:e.status===`done`?{bucket:`none`,tone:`success`,shape:`filled`,pulse:!1,label:`done`}:{bucket:`none`,tone:`neutral`,shape:`filled`,pulse:!1,label:`cancelled`}}var rn=class extends it{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||an(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=ze({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),_.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function an(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var on=class extends ye{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),Rt(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&dt(t.mutationKey)!==dt(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??an();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){_.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}};function sn(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}function cn(e,t,n){let r=e.slice(0);return r[t]=n,r}var ln=class extends ye{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,_.batch(()=>{let e=this.#i,t=this.#p(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!Rt(e,n)});!o&&!s||(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(sn(e,n).forEach(e=>{e.destroy()}),sn(n,e).forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})),this.#h()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#p(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){return t.map((n,r)=>{let i=e[r];return n.defaultedQueryOptions.notifyOnChangeProps?i:n.observer.trackResult(i,e=>{t.forEach(t=>{t.observer.trackProp(e)})})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(!this.#a||this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=et(this.#a,t(e))),this.#a}return e}#f(){return this.#r?.combine!==void 0&&this.#i.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#p(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new yt(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#m(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=cn(this.#t,n,t),this.#h())}#h(){if(this.hasListeners()){let e=this.#u(this.#t,this.#l),t=this.#f(),n=this.#a,r=t?n:this.#d(e,this.#r?.combine);(t||n!==r)&&_.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},T=e(t(),1);function un({queries:e,...t},n){let i=v(n),a=r(),o=he(),s=T.useMemo(()=>e.map(e=>{let t=i.defaultQueryOptions(e);return t._optimisticResults=a?`isRestoring`:`optimistic`,t}),[e,i,a]);s.forEach(e=>{ce(e);let t=i.getQueryCache().get(e.queryHash);je(e,o,t)}),Ne(o);let[c]=T.useState(()=>new ln(i,s,t)),[l,u,d]=c.getOptimisticResult(s,t.combine),f=!a&&t.subscribed!==!1;T.useSyncExternalStore(T.useCallback(e=>f?c.subscribe(_.batchCalls(e)):gt,[c,f]),()=>c.getCurrentResult(),()=>c.getCurrentResult()),T.useEffect(()=>{c.setQueries(s,t)},[s,t,c]);let p=l.some((e,t)=>oe(s[t],e))?l.flatMap((e,t)=>{let n=s[t];return n&&oe(n,e)?Dt(n,new yt(i,n),o):[]}):[];if(p.length>0)throw Promise.all(p);let m=l.find((e,t)=>{let n=s[t];return n&&ke({result:e,errorResetBoundary:o,throwOnError:n.throwOnError,query:i.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(m?.error)throw m.error;return u(d())}function E(e,t){let n=v(t),[r]=T.useState(()=>new on(n,e));T.useEffect(()=>{r.setOptions(e)},[r,e]);let i=T.useSyncExternalStore(T.useCallback(e=>r.subscribe(_.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=T.useCallback((e,t)=>{r.mutate(e,t).catch(gt)},[r]);if(i.error&&Kt(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}var D={queries:!1,sse:!1,ws:!1};function dn(){return!D.queries&&!D.sse&&!D.ws}function fn(){typeof window>`u`||Object.getOwnPropertyDescriptor(window,`__cezIdle`)?.get||Object.defineProperty(window,"__cezIdle",{configurable:!0,enumerable:!1,get:dn})}function O(e,t){D[e]=t,fn()}function pn(e){fn();let t=()=>{O(`queries`,e.isFetching()>0)};return t(),e.getQueryCache().subscribe(t)}function mn(e){O(`sse`,!0);let t=e().filter(e=>e instanceof Promise);Promise.all(t).finally(()=>O(`sse`,!1))}var hn={draft:{label:`Draft`,hint:`the author has not marked it ready for review`,tone:`neutral`},"review-required":{label:`Waiting for review`,hint:`checks are fine, no one has reviewed it yet`,tone:`info`},"changes-requested":{label:`Changes requested`,hint:`a reviewer asked for edits before this can merge`,tone:`danger`},"checks-pending":{label:`Checks running`,hint:`CI has not finished on the latest commit`,tone:`pending`},"checks-failing":{label:`Checks failing`,hint:`CI is red on the latest commit`,tone:`danger`},ready:{label:`Ready to merge`,hint:`open, checks pass, nothing is waiting on a reviewer`,tone:`success`},merged:{label:`Merged`,hint:`this landed on its base branch`,tone:`merged`},closed:{label:`Closed`,hint:`closed without merging — the work did not land`,tone:`danger`},open:{label:`Open`,hint:`still open on the tracker`,tone:`success`},completed:{label:`Closed as completed`,hint:`the issue was resolved`,tone:`accent`},"not-planned":{label:`Closed as not planned`,hint:`the issue was declined — nothing shipped for it`,tone:`neutral`}},gn={label:`Merge conflicts`,hint:`this branch no longer merges cleanly into its base — rebase or merge the base in`,tone:`conflict`};function _n(e){return typeof e==`string`&&Object.hasOwn(hn,e)}function vn(e){return e!==void 0&&_n(e)?hn[e]:void 0}function yn(e){return $t[w(e).bucket]<=$t.waiting}var bn=[`Needs you`,`Finished`,`Working`,`Archived`],xn=[`Needs you`,`Working`,`Finished`,`Archived`],Sn={waiting:0,review:1,running:2,queued:4,done:5,failed:6,cancelled:7},Cn=3,k=e=>e.status===`failed`&&e.autoResumeAt!==void 0?Cn:Sn[e.status]??9;function wn(e){let t=e=>$t[w(e).bucket];return[...e].sort((e,n)=>t(e)-t(n)||k(e)-k(n)||(e.variant??``).localeCompare(n.variant??``))[0]}function Tn(e,t){return t===`archived`?`Archived`:w(e).bucket===`waiting`?`Needs you`:e.status===`waiting`||e.status===`running`||e.status===`queued`||e.status===`failed`&&e.autoResumeAt?`Working`:`Finished`}function En(e){let t=e.titleSummary;return t===void 0||!(e.titleOrigin===`user`||e.titleOrigin===`marker`)&&/[.!?][A-Z]/.test(t)?e.title:t}function Dn(e){let t=/^(\d{1,9}): (.+)$/.exec(e),n=t?.[1],r=t?.[2];return n===void 0||r===void 0?{ref:null,rest:e}:{ref:Number(n),rest:r}}function On(e,t){return t!==void 0&&Dn(e).ref===t}function kn(e){return e.title.replace(/ \([A-C]\)$/,``)}function An(e){let t=e.filter(e=>!e.archived&&e.status===`queued`).sort((e,t)=>e.createdAt.localeCompare(t.createdAt));return new Map(t.map((e,t)=>[e.id,t+1]))}function jn(e,t){return e.filter(e=>t===`archived`?e.archived:!e.archived).sort((e,n)=>{if(t!==`archived`){let t=Number(!!n.pinned)-Number(!!e.pinned);if(t!==0)return t}let r=k(e)-k(n);if(r!==0)return r;if(k(e)===Cn&&e.autoResumeAt&&n.autoResumeAt){let t=e.autoResumeAt.localeCompare(n.autoResumeAt);if(t!==0)return t}return e.status===`queued`&&n.status===`queued`?e.createdAt.localeCompare(n.createdAt):n.createdAt.localeCompare(e.createdAt)})}function A(e){return e.delegation?.role===`worker`}function Mn(e,t){if(e==null)return null;let n=t.find(t=>t.id===e);return!n||!A(n)?e:n.delegation?.parentRunId??e}function Nn(e,t){let n=An(e),r=jn(e,t).filter(e=>!A(e)),i=new Map,a=(e,t)=>{let n=i.get(e);n?n.push(t):i.set(e,[t])},o=new Set;for(let e of r){if(e.groupId){if(o.has(e.groupId))continue;o.add(e.groupId);let n=r.filter(t=>t.groupId===e.groupId).sort((e,t)=>(e.variant??``).localeCompare(t.variant??``));if(n.length>1){a(xn.find(e=>n.some(n=>Tn(n,t)===e)),{kind:`group`,groupId:e.groupId,title:kn(e),members:n,lead:wn(n)});continue}}a(Tn(e,t),{kind:`run`,run:e,queuePosition:n.get(e.id)??null})}return bn.filter(e=>i.has(e)).map(e=>({label:e,rows:i.get(e)}))}function Pn(e,t={}){let n=typeof t==`number`?{overall:t}:Qt(t),r={"Needs you":`needsYou`,Finished:`finished`,Working:`working`},i=[],a=n.overall===void 0?10:n.overall??1/0;for(let t of e){let e=t.label===`Archived`?1/0:n[r[t.label]]??1/0,o=t.rows.filter(n=>{let r=n.kind===`run`?n.run.pinned:n.members.some(e=>e.pinned);return t.label!==`Archived`&&r?!0:a<=0||e<=0?!1:(--a,--e,!0)});o.length&&i.push({label:t.label,rows:o})}return i}function Fn(e,t){if(t.length===0)return[...e];let n=new Set(e.map(e=>e.id)),r=new Set,i=t.filter(e=>n.has(e.id)||r.has(e.id)?!1:(r.add(e.id),!0));return[...e,...i]}function In(e){let t=0,n=0,r=0;for(let i of e)if(!A(i)){if(i.archived){n+=1;continue}t+=1,w(i).bucket===`waiting`&&(r+=1)}return{active:t,archived:n,waiting:r}}var Ln=[`done`,`failed`,`cancelled`],Rn=[`done`,`failed`];function zn(e){return e.status===`failed`&&e.autoResumeAt!==void 0}function Bn(e){return Ln.includes(e)}function Vn(e){return e.archived||zn(e)||!Rn.includes(e.status)?!1:e.finishedAt!==void 0}function j(e){let t=e.finishedAt;return t===void 0||!Vn(e)?!1:e.seenAt===void 0||e.seenAt<t}function Hn(e){return!zn(e)&&Bn(e.status)&&!j(e)}function Un(e){return e.reduce((e,t)=>A(t)||!j(t)?e:e+1,0)}function Wn(e){return e.status===`failed`?`danger`:`success`}var Gn=new Set([`running`,`waiting`]),Kn=new Set([`done`,`failed`,`review`,`cancelled`]),qn=new Set([`done`,`failed`,`cancelled`]);function M(e){return e?e>=1024**3?`${(e/1024**3).toFixed(1)} GB`:e>=1024**2?`${Math.round(e/1024**2)} MB`:`${Math.round(e/1024)} kB`:``}function Jn(e){return e===void 0?``:`$${e>=10?e.toFixed(0):e.toFixed(2)}`}function Yn(e,t=new Date){if(e.status!==`failed`||!e.autoResumeAt)return;let n=new Date(e.autoResumeAt);if(!Number.isFinite(n.getTime()))return;let r=n.toDateString()===t.toDateString(),i=new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}).format(n);return{label:r?i:`${new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`}).format(n)} ${i}`,title:`Resumes automatically at ${new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`long`}).format(n)}`}}function Xn(e){return e.steps?Zt({workflow:e.workflow,steps:e.steps}):e.workflowLabel??e.workflow}function Zn(e,t){let n=e.filter(e=>!A(e)),r=t.trim().toLowerCase();return r?n.filter(e=>[En(e),e.branch??``,e.workflow,Xn(e)].some(e=>e.toLowerCase().includes(r))):[...n]}function Qn(e,t){return e.archived||!qn.has(e.status)||zn(e)||A(e)?!1:t===`unpinned`?!e.pinned:t!==`pinned`||e.pinned===!0}function $n(e,t){return e.filter(e=>Qn(e,t)).length}function er(e){return $n(e)}function tr(e){if(!e)return;let t=e.trim().replace(/\/+$/,``),n=/^(?:https?|ssh|git|git\+ssh):\/\/(?:[^@/]+@)?([^/:]+)(?::\d+)?\/(.+)$/.exec(t),r=n?null:/^(?:[^@/:]+@)?([^:/]+):(.+)$/.exec(t),i=n??r;if(!i)return;let[,a,o]=i;if(!o||a?.toLowerCase()!==`github.com`)return;let s=o.replace(/\.git$/i,``).split(`/`).filter(Boolean),c=s[s.length-2],l=s[s.length-1];return c&&l?`https://github.com/${c}/${l}`:void 0}function nr(e){return rr(e)[0]}function rr(e){let t=[];return e.pullRequestUrl&&t.push(e.pullRequestUrl),!(e.markerRefs?.issue!==void 0&&e.markerRefs?.pr===void 0)&&e.referencedPullRequestUrl&&t.push(e.referencedPullRequestUrl),t}function ir(e,t){if(e.referencedIssueUrl)return e.referencedIssueUrl;let n=e.markerRefs?.issue??e.issueNumber;if(!(!n||!t))return`${t}/issues/${n}`}function ar(e){let t=`${e.kind}#${e.number}`;if(!e.url)return`${t}@project:${e.projectId??`default`}`;try{let n=new URL(e.url),r=n.pathname.split(`/`).filter(Boolean).slice(0,2).join(`/`);return`${t}@${n.host.toLowerCase()}/${r.toLowerCase()}`}catch{return`${t}@${e.url}`}}function N(e,t,n=e.projectId){let r=rr(e),i=e.markerRefs?.pr,a=[...i===void 0||r.some(e=>P(e)===String(i))?[]:[{kind:`PR`,number:i}],...r.map(e=>({kind:`PR`,url:e})),{kind:`PR`,number:e.prNumber},{kind:`Issue`,url:ir(e,t)},{kind:`Issue`,number:e.issueNumber}],o=new Set,s=[];for(let e of a){let r=e.url?Number(P(e.url)):e.number;if(!r||!Number.isInteger(r)||!e.url&&s.some(t=>t.url&&t.kind===e.kind&&t.number===r))continue;let i=e.url??or(e.kind,r,t),a={kind:e.kind,number:r,...i?{url:i}:n===void 0?{}:{projectId:n}},c=ar(a);o.has(c)||(o.add(c),s.push(a))}return s}function or(e,t,n){if(n)return`${n}/${e===`PR`?`pull`:`issues`}/${t}`}function sr(e){return N(e)[0]}function cr(e,t){if(!e.url)return!0;if(!t)return!1;let n=lr(t);return n!==void 0&&lr(e.url)===n}function lr(e){try{let t=new URL(e),[n,r]=t.pathname.split(`/`).filter(Boolean);return n&&r?`${t.host}/${n}/${r}`.toLowerCase():void 0}catch{return}}function ur(e,t){let n=[];for(let r of N(e,t)){if(!cr(r,t))continue;let e=r.kind===`PR`?`pr`:`issue`;n.some(t=>t.kind===e&&t.number===r.number)||n.push({kind:e,number:r.number})}return n}function dr(e,t,n,r){if(cr(n,r))return`/p/${e}/tasks/${t}/${n.kind===`PR`?`pr`:`issue`}/${n.number}`}function P(e){let t=e.split(`/`).pop()??``;return/^\d+$/.test(t)?t:null}function fr(e,t){let n=Gn.has(e.status)?t:void 0;if(n)return{cpu:{text:`${n.cpuPct.toFixed(0)}%`,kind:`live`},mem:{text:M(n.rssBytes),kind:`live`}};let r=M(e.peakRssBytes);return{cpu:{text:``,kind:`none`},mem:r?{text:`peak ${r}`,kind:`peak`,title:`peak — run finished${e.peakProcCount?` · ${e.peakProcCount} procs`:``}`}:{text:``,kind:`none`}}}function pr(e,t){let n=e.filter(e=>t===`archived`?e.archived:!e.archived),r=new Map;for(let e of n){if(!e.groupId)continue;let t=r.get(e.groupId);t?t.push(e):r.set(e.groupId,[e])}return[...r.entries()].flatMap(([e,t])=>{let n=t[0];return!n||t.length<2||!t.every(e=>Kn.has(e.status))?[]:[{groupId:e,title:kn(n),count:t.length}]})}function mr(e){let t=new Map;for(let n of e)for(let e of n.tags??[]){let n=e.toLowerCase();t.has(n)||t.set(n,e)}return[...t.values()].sort((e,t)=>e.localeCompare(t,void 0,{sensitivity:`base`}))}function hr(e,t,n,r=8){let i=n.trim().toLowerCase(),a=new Set(t.map(e=>e.toLowerCase())),o=e.filter(e=>{let t=e.toLowerCase();return a.has(t)?!1:i===``||t.includes(i)&&t!==i});return i===``?o.slice(0,r):o.sort((e,t)=>Number(t.toLowerCase().startsWith(i))-Number(e.toLowerCase().startsWith(i))||e.localeCompare(t,void 0,{sensitivity:`base`})).slice(0,r)}function gr(e){let t=new Map;for(let n of e){let e=n.trim();if(!e)continue;let r=e.toLowerCase();t.has(r)||t.set(r,e)}return[...t.values()].sort((e,t)=>e.localeCompare(t,void 0,{sensitivity:`base`}))}function _r(){return!1}function F(e){return!_r()&&e}var vr=new Set;function yr(e,t){t?vr.add(e):vr.delete(e),O(`ws`,vr.size>0)}var br=`/api/v1/ws`,xr=3e3,Sr=1e3,Cr=7e4,wr=0,Tr=1;function Er(e){let t=new Map,n=new Set,r={},i=!1,a=null,o,s,c,l=()=>{yr(r,i||n.size>0)},u=()=>{clearTimeout(c),c=setTimeout(()=>{c=void 0,a?.close()},Cr)},d=()=>e??`${location.protocol===`https:`?`wss:`:`ws:`}//${location.host}${br}`,f=e=>{a?.readyState===Tr&&a.send(JSON.stringify(e))},p=()=>{let e=globalThis.WebSocket;if(typeof e!=`function`||a&&(a.readyState===wr||a.readyState===Tr))return;let r=new e(d());a=r,i=!0,l(),r.addEventListener(`open`,()=>{if(r===a){i=!1;for(let e of t.keys())n.add(e);l(),u();for(let e of t.keys())f({type:`subscribe`,topic:e})}}),r.addEventListener(`message`,e=>{if(r!==a)return;u();let i;try{i=JSON.parse(e.data)}catch{return}if(typeof i!=`object`||!i)return;let{type:o,topic:s,data:c}=i;if(o!==`event`||typeof s!=`string`)return;let d=t.get(s);if(d){n.delete(s),l();for(let e of[...d])e(c)}}),r.addEventListener(`close`,()=>{r===a&&(a=null,i=!1,l(),clearTimeout(c),c=void 0,t.size>0&&o===void 0&&(o=setTimeout(()=>{o=void 0,t.size>0&&p()},xr)))}),r.addEventListener(`error`,()=>void 0)};return{subscribe(e,r){let i=t.get(e);i||(i=new Set,t.set(e,i));let u=i.size===0;i.add(r),u&&n.add(e),l(),clearTimeout(s),s=void 0,a?u&&f({type:`subscribe`,topic:e}):(clearTimeout(o),o=void 0,p());let d=!0;return()=>{d&&(d=!1,i.delete(r),!(i.size>0)&&(t.delete(e),n.delete(e),l(),f({type:`unsubscribe`,topic:e}),t.size===0&&s===void 0&&(s=setTimeout(()=>{s=void 0,!(t.size>0)&&(clearTimeout(o),o=void 0,clearTimeout(c),c=void 0,a?.close(),a=null)},Sr))))}}}}var Dr=null;function Or(e,t){return Dr??=Er(),Dr.subscribe(e,t)}var I={get health(){return[S(),`health`]},runs:{get all(){return[S(),`runs`]},relationships:e=>[S(),`runs`,`relationships`,e],list:(e=S())=>[e,`runs`,`list`],archived:e=>[S(),`runs`,`archived`,e],detail:(e,t=S())=>[t,`runs`,`detail`,e],diff:e=>[S(),`runs`,`diff`,e],changes:e=>[S(),`runs`,`changes`,e],file:(e,t)=>[S(),`runs`,`files`,e,t],handoff:e=>[S(),`runs`,`handoff`,e],commits:e=>[S(),`runs`,`commits`,e],commit:(e,t)=>[S(),`runs`,`commit`,e,t]},groups:{detail:e=>[S(),`groups`,e]},get todos(){return[S(),`todos`]},get workflows(){return[S(),`workflows`]},get skills(){return[S(),`skills`]},get skillsReady(){return[S(),`skills`,`ready`]},get importableSkills(){return[S(),`skills`,`importable`]},get importableSkillsReady(){return[S(),`skills`,`importable`,`ready`]},get launchKey(){return[S(),`launch-key`]},get repo(){return[S(),`repo`]},get repoChanges(){return[S(),`repo`,`changes`]},repoCommit:e=>[S(),`repo`,`commit`,e],get repoBranches(){return[S(),`repo`,`branches`]},get uiState(){return[S(),`ui-state`]},get config(){return[S(),`config`]},get agentConfig(){return[S(),`agent-config`]},agentConfigFile:e=>[S(),`agent-config`,`file`,e],get worktrees(){return[S(),`worktrees`]},github:(e={})=>[S(),`github`,e.limit??null],githubChecks:e=>[S(),`github`,`checks`,[...e].sort((e,t)=>e-t).join(`,`)],githubSearch:(e,t)=>[S(),`github`,`search`,e,t],githubRefStatus:(e,t,n)=>[e,`github`,`ref-status`,[...t].sort((e,t)=>e-t).join(`,`),[...n].sort((e,t)=>e-t).join(`,`)],githubComments:(e,t)=>[S(),`github`,`comments`,e,t],githubItem:(e,t)=>[S(),`github`,`item`,e,t],githubRefStatusOf:e=>[e,`github`,`ref-status`],githubPrChanges:e=>[S(),`github`,`pr-changes`,e],githubMergeState:e=>[S(),`github`,`merge-state`,e],get openTargets(){return[S(),`open-targets`]}},L={models:e=>[`workspace`,`models`,e],providerStatus:[`workspace`,`providers`,`status`],projects:[`workspace`,`projects`],runsIndex:[`workspace`,`runs-index`],runsSearch:e=>[`workspace`,`runs-search`,e],uiState:[`workspace`,`ui-state`],config:[`workspace`,`config`],agentProfiles:[`workspace`,`agent-profiles`],agentAccountDetails:e=>[`workspace`,`agent-profiles`,`details`,e],agentAccountStatus:e=>[`workspace`,`agent-profiles`,`status`,e],skillsUpdate:e=>[`workspace`,`skills-update`,e],fsBrowseRoot:[`workspace`,`fs-browse`],fsBrowse:(e,t=!1)=>[...L.fsBrowseRoot,e,t]};function R(e,t,n=`active`){return e.invalidateQueries({queryKey:t===void 0?[`workspace`,`models`]:L.models(t),refetchType:n})}function z(e,t=!0){let n=v();return(0,T.useEffect)(()=>{if(!t||e!==`cursor`)return;let r,i=()=>{let e=n.getQueryData(I.health)?.capabilities?.localHandoff===!0;e&&!r?r=Or(`models:cursor`,e=>{let t=Xt.safeParse(e);t.success&&t.data.runner===`cursor`&&(n.cancelQueries({queryKey:L.models(`cursor`)}),n.setQueryData(L.models(`cursor`),t.data))}):!e&&r&&(r(),r=void 0)};i();let a=n.getQueryCache().subscribe(i);return()=>{a(),r?.()}},[t,e,n]),h({queryKey:L.models(e),queryFn:({signal:t})=>x(e)?nt(e,{signal:t}):Promise.reject(Error(`${e} has no host model catalog`)),staleTime:300*1e3,enabled:t&&x(e)})}function kr(e=!0){return{claude:z(`claude`,e),codex:z(`codex`,e),opencode:z(`opencode`,e),pi:z(`pi`,e),cursor:z(`cursor`,e),omp:z(`omp`,e)}}function Ar(){let e=v();return h({queryKey:L.providerStatus,queryFn:async({signal:t})=>{let n=e.getQueryData(L.providerStatus),r=await Ze(!1,{signal:t});return Vt(n,e.getQueryData(L.providerStatus),r)},staleTime:5*6e4,refetchInterval:F(!1),refetchOnWindowFocus:!0})}function jr(){let e=v();return E({mutationFn:()=>Ze(!0),onMutate:()=>e.getQueryData(L.providerStatus),onSuccess:(t,n,r)=>{e.setQueryData(L.providerStatus,e=>Vt(r,e,t)),R(e)}})}function Mr(){let e=v();return E({mutationFn:({provider:e,authFailureId:t})=>Ct(e,t),onMutate:()=>e.getQueryData(L.providerStatus),onSuccess:(t,n,r)=>{e.setQueryData(L.providerStatus,e=>Vt(r,e,t,n.authFailureId)),x(n.provider)&&R(e,n.provider)}})}function Nr(e={}){return h({queryKey:L.projects,queryFn:({signal:e})=>i({signal:e}),...e})}function Pr(e,t=!1){return h({queryKey:L.fsBrowse(e,t),queryFn:({signal:n})=>o(e??void 0,{signal:n,showHidden:t}),retry:!1})}function Fr(){let e=v();return E({mutationFn:e=>a(e),onSuccess:()=>e.invalidateQueries({queryKey:L.projects})})}function Ir(){let e=v();return E({mutationFn:e=>Nt(e),retry:!1,onSuccess:()=>{e.invalidateQueries({queryKey:L.projects})}})}function Lr(){let e=v();return E({mutationFn:e=>{let{id:t,...n}=e;return Ve(t,n)},retry:!1,onMutate:async({id:t,...n})=>{await e.cancelQueries({queryKey:L.projects});let r=e.getQueryData(L.projects);return e.setQueryData(L.projects,e=>e===void 0?e:{...e,projects:e.projects.map(e=>e.id===t?Rr(e,n):e)}),{previous:r}},onError:(t,n,r)=>{r?.previous&&e.setQueryData(L.projects,r.previous)},onSuccess:({project:t})=>{e.setQueryData(L.projects,e=>e===void 0?e:{...e,projects:e.projects.map(e=>e.id===t.id?t:e)})},onSettled:()=>e.invalidateQueries({queryKey:L.projects})})}function Rr(e,t){let{maxParallel:n,tags:r,...i}=e,a={...i},o=`maxParallel`in t?t.maxParallel:e.maxParallel;o!=null&&(a.maxParallel=o);let s=`tags`in t&&t.tags!==void 0?t.tags:e.tags,c=s==null?[]:gr(s);if(c.length>0&&(a.tags=c),`webhook`in t&&t.webhook!==void 0)if(t.webhook===null)delete a.webhook;else{let n=t.webhook.token===void 0?e.webhook?.tokenSet??!1:t.webhook.token!==``;a.webhook={url:t.webhook.url,tokenSet:n}}return a}function zr(){return E({mutationFn:e=>Ie(e),retry:!1})}function Br(e){let t=v();return E({mutationFn:t=>st(e,t),retry:!1,onSuccess:()=>t.invalidateQueries({queryKey:I.runs.all})})}function B(e){let t=v();return E({mutationFn:e,retry:!1,onSuccess:async()=>{await Promise.all([t.invalidateQueries({queryKey:L.agentProfiles}),t.invalidateQueries({queryKey:L.projects})])}})}function Vr(){return B(e=>pt(e))}function Hr(){return B(e=>{let{id:t,...n}=e;return zt(t,n)})}function Ur(){return B(e=>Xe(e))}function Wr(){return B(e=>It(e))}function Gr(e,t){return h({queryKey:L.agentAccountDetails(e),queryFn:({signal:t})=>u(e,{signal:t}),enabled:t,staleTime:0,retry:!1})}function Kr(e,t){return h({queryKey:L.agentAccountStatus(e),queryFn:({signal:t})=>Ht(e,{signal:t}),enabled:t,staleTime:6e4,retry:!1})}function qr(){let e=v();return E({mutationFn:({provider:e,profileId:t})=>wt(e,t),retry:!1,onSuccess:async(t,{provider:n})=>{await Promise.all([e.invalidateQueries({queryKey:L.agentProfiles}),e.invalidateQueries({queryKey:L.providerStatus}),x(n)?R(e,n,`none`):Promise.resolve()])}})}function Jr(){let e=v();return E({mutationFn:e=>Ht(e,{refresh:!0}),retry:!1,onSuccess:(t,n)=>{e.setQueryData(L.agentAccountStatus(n),t),e.invalidateQueries({queryKey:L.agentProfiles}),x(t.status.provider)&&R(e,t.status.provider)}})}function Yr(){return E({mutationFn:e=>{let{routeId:t,...n}=e;return de(t,n)},retry:!1})}function Xr(){let e=v();return E({mutationFn:e=>at(e),retry:!1,onSuccess:()=>e.invalidateQueries({queryKey:L.projects})})}function Zr(){let e=v();(0,T.useEffect)(()=>{let t,n=()=>{let n=e.getQueryData(I.health)?.capabilities?.localHandoff===!0;n&&t===void 0?t=Or(`health`,t=>{e.setQueryData(I.health,t)}):!n&&t!==void 0&&(t(),t=void 0)};n();let r=e.getQueryCache().subscribe(n);return()=>{r(),t?.()}},[e])}function Qr(){return h({queryKey:I.health,queryFn:({signal:e})=>le({signal:e})})}function $r(e,t){let n=Qr().data,r=Nr(t).data?.projects,i=Oe(),a=e??i.projectId,o=a??n?.bootProject,s=o===void 0?void 0:r?.find(e=>e.id===o);return s?.repoUrl?s.repoUrl:a===null||a===n?.bootProject?tr(n?.repo?.remote):void 0}function ei(){return h({queryKey:I.openTargets,queryFn:({signal:e})=>Ae({signal:e}),staleTime:5*6e4})}function ti(){return h({queryKey:I.runs.list(),queryFn:({signal:e})=>tt({signal:e})})}function ni(e,t){return Ee({queryKey:I.runs.archived(e),enabled:t,initialPageParam:void 0,queryFn:({pageParam:t,signal:n})=>fe({before:t,limit:200,q:e},{signal:n}),getNextPageParam:e=>e.nextCursor??void 0,placeholderData:(e,t)=>t?.queryKey[0]===S()?e:void 0})}function ri(e){let t=e.trim();return h({queryKey:L.runsSearch(t),queryFn:({signal:e})=>ft(t,{signal:e}),enabled:t.length>=2,placeholderData:qe,staleTime:1e4})}function ii(e=!0,t){return h({queryKey:L.runsIndex,queryFn:({signal:e})=>Le({signal:e}),enabled:e,staleTime:3e4,...t===void 0?{}:{refetchInterval:F(t)}})}function ai(e,t=!0,n=!1){return h({queryKey:[n?`default`:e,`runs`,`list`],queryFn:({signal:t})=>ge(e,{signal:t}),enabled:t})}function oi(e){let t=v();return E({mutationFn:e=>qt(e),onSettled:()=>t.invalidateQueries({queryKey:I.runs.relationships(e)})})}function si(e,t={}){return h({queryKey:I.runs.relationships(e),queryFn:({signal:t})=>_t(e,{signal:t}),enabled:t.enabled??!0})}function ci(e){return h({queryKey:I.runs.detail(e??``),queryFn:({signal:t})=>Be(e,{signal:t}),enabled:!!e})}function li(e,t,n=!0){return h({queryKey:[e??`default`,`runs`,`detail`,t??``],queryFn:({signal:n})=>Pe(e,t,{signal:n}),enabled:n&&!!e&&!!t})}function ui(e){return h({queryKey:I.runs.diff(e??``),queryFn:({signal:t})=>mt(e,{signal:t}),enabled:!!e})}function di(e,t=!1){return h({queryKey:I.runs.changes(e??``),queryFn:({signal:t})=>Tt(e,{signal:t}),enabled:!!e,retry:!1,refetchInterval:F(t?4e3:!1),refetchOnWindowFocus:!0,staleTime:0})}function fi(e,t){return h({queryKey:I.runs.file(e??``,t??``),queryFn:({signal:n})=>Lt(e,t,{signal:n}),enabled:!!e&&t!==void 0,retry:!1})}function pi(e,t){return h({queryKey:[S(),`runs`,`file-link`,e,t],queryFn:({signal:n})=>ee(e,t,{signal:n}),enabled:t!==null,retry:!1})}function mi(e,t){return h({queryKey:[S(),`runs`,`artifact`,e,t],queryFn:({signal:n})=>ct(e,t,{signal:n}),enabled:t!==null,retry:!1})}function hi(e){return h({queryKey:[S(),`runs`,`artifacts`,e],queryFn:({signal:t})=>s(e,{signal:t}),retry:!1,staleTime:0,refetchOnWindowFocus:!0})}function gi(e){return h({queryKey:I.groups.detail(e??``),queryFn:({signal:t})=>te(e,{signal:t}),enabled:!!e})}function _i(e,t=!1){return h({queryKey:I.runs.commits(e??``),queryFn:({signal:t})=>Ke(e,{signal:t}),enabled:!!e,retry:!1,refetchInterval:F(t?5e3:!1)})}function vi(e,t){return h({queryKey:I.runs.commit(e??``,t??``),queryFn:({signal:n})=>Mt(e,t,{signal:n}),enabled:!!e&&!!t,retry:!1})}function yi(e,t=!0){return h({queryKey:I.runs.handoff(e??``),queryFn:({signal:t})=>Ye(e,{signal:t}),enabled:!!e&&t})}function bi(e=!0){return h({queryKey:I.todos,queryFn:({signal:e})=>Gt({signal:e}),enabled:e})}function xi(){return h({queryKey:I.workflows,queryFn:({signal:e})=>d({signal:e})})}function Si(e=!0){let t=v(),n=I.skills,r=n[0],i=h({queryKey:n,queryFn:({signal:e})=>Bt({signal:e}),enabled:e}),a=h({queryKey:I.skillsReady,queryFn:({signal:e})=>Ue({signal:e}),enabled:e&&i.isSuccess,staleTime:1/0,retry:!1});return(0,T.useEffect)(()=>{Array.isArray(a.data)&&t.setQueryData([r,`skills`],a.data)},[t,a.data,r]),i}function Ci(e=!0){let t=v(),n=I.importableSkills,r=n[0],i=h({queryKey:n,queryFn:({signal:e})=>Ot({signal:e}),enabled:e}),a=h({queryKey:I.importableSkillsReady,queryFn:({signal:e})=>se({signal:e}),enabled:e&&i.isSuccess,staleTime:1/0,retry:!1});return(0,T.useEffect)(()=>{Array.isArray(a.data)&&t.setQueryData([r,`skills`,`importable`],a.data)},[t,a.data,r]),i}function wi(){return h({queryKey:I.launchKey,queryFn:({signal:e})=>Me({signal:e}),staleTime:1/0})}function Ti(){return h({queryKey:I.repo,queryFn:({signal:e})=>Pt({signal:e})})}function Ei(e){return h({queryKey:[e,`repo`],queryFn:({signal:t})=>Pt({signal:t},e)})}function Di(){return h({queryKey:I.repoBranches,queryFn:({signal:e})=>xt({signal:e})})}function Oi(e){return h({queryKey:[e,`repo`,`branches`],queryFn:({signal:t})=>xt({signal:t},e)})}function ki(){return h({queryKey:I.repoChanges,queryFn:({signal:e})=>kt({signal:e}),retry:!1})}function Ai(e){return h({queryKey:I.repoCommit(e??``),queryFn:({signal:t})=>ot(e,{signal:t}),enabled:!!e,retry:!1})}function ji(){return h({queryKey:I.config,queryFn:({signal:e})=>me({signal:e})})}function Mi(){return h({queryKey:I.worktrees,queryFn:({signal:e})=>m({signal:e})})}function Ni(e){return h({queryKey:[e,`worktrees`],queryFn:({signal:t})=>m({signal:t},e),staleTime:0})}function Pi(e,t=!0,n=!1){return h({queryKey:[n?`default`:e,`ui-state`],queryFn:({signal:t})=>xe({signal:t},e),select:e=>e.sidebarLimits===void 0?e:{...e,sidebarLimits:Qt(e.sidebarLimits)},enabled:t})}function Fi(){return Pi(S())}function Ii(){return h({queryKey:I.agentConfig,queryFn:({signal:e})=>Se({signal:e})})}function Li(e){return h({queryKey:I.agentConfigFile(e??``),queryFn:({signal:t})=>p(e,{signal:t}),enabled:e!==null})}function Ri(e){let t=v(),n=I.agentConfig,r=I.agentConfigFile(e);return E({mutationFn:t=>ne(e,t),onSuccess:e=>{t.setQueryData(r,e),t.invalidateQueries({queryKey:n})}})}function zi(){return h({queryKey:L.uiState,queryFn:({signal:e})=>Ce({signal:e})})}function Bi(){return h({queryKey:L.config,queryFn:({signal:e})=>Ut({signal:e})})}function Vi(){return h({queryKey:L.agentProfiles,queryFn:({signal:e})=>f({signal:e})})}function Hi(e,t=!0){return h({queryKey:L.skillsUpdate(e),queryFn:({signal:t})=>Jt(e,{signal:t}),enabled:t,refetchInterval:F(e=>{let t=e.state.data?.status;return t===void 0||t===`idle`||t===`checking`||t===`updating`?6e4:!1})})}function Ui(e){let t=v();return E({mutationFn:t=>ve(e,t),onSuccess:()=>t.invalidateQueries({queryKey:I.runs.all})})}function Wi(e){e.invalidateQueries({queryKey:L.runsIndex})}function Gi(e,t){let n=v(),r=E({mutationFn:({id:e,projectId:t})=>pe(e,t),onMutate:async({id:e,listKey:t,detailKey:r})=>{await n.cancelQueries({queryKey:t}),await n.cancelQueries({queryKey:r});let i=n.getQueryData(t),a=n.getQueryData(r),o=new Date().toISOString();return n.setQueryData(t,t=>t?.map(t=>t.id===e?{...t,seenAt:o}:t)),n.setQueryData(r,e=>e&&{...e,seenAt:o}),{id:e,prevList:i,prevDetail:a}},onError:(e,{id:t,listKey:r,detailKey:i},a)=>{let o=(e,t)=>{let{seenAt:n,...r}=e;return t.seenAt===void 0?r:{...r,seenAt:t.seenAt}},s=a?.prevList?.find(e=>e.id===t);s&&n.setQueryData(r,e=>e?.map(e=>e.id===t?o(e,s):e));let c=a?.prevDetail;c&&n.setQueryData(i,e=>e&&o(e,c))},onSuccess:(e,{id:t,listKey:r,detailKey:i})=>{let a=n=>n.id===t?{...n,seenAt:e.seenAt}:n;n.setQueryData(r,e=>e?.map(a)),n.setQueryData(i,t=>t?a(t):e),Wi(n)}}),i=(0,T.useCallback)(n=>{let r=e??S(),i=t??r;return{id:n,projectId:r,listKey:I.runs.list(i),detailKey:I.runs.detail(n,i)}},[e,t]),a=(0,T.useCallback)(e=>({onSuccess:(t,n,r,i)=>e?.onSuccess?.(t,n.id,r,i),onError:(t,n,r,i)=>e?.onError?.(t,n.id,r,i),onSettled:(t,n,r,i,a)=>e?.onSettled?.(t,n,r.id,i,a)}),[]),{mutate:o,mutateAsync:s}=r,c=(0,T.useCallback)((e,t)=>o(i(e),a(t)),[o,i,a]),l=(0,T.useCallback)((e,t)=>s(i(e),a(t)),[s,i,a]);return{...r,variables:r.variables?.id,mutate:c,mutateAsync:l}}function Ki(){let e=v();return E({mutationFn:e=>lt(e),onMutate:async t=>{await e.cancelQueries({queryKey:I.runs.list()}),await e.cancelQueries({queryKey:I.runs.detail(t)});let n=e.getQueryData(I.runs.list()),r=e.getQueryData(I.runs.detail(t));return e.setQueryData(I.runs.list(),e=>e?.map(e=>e.id===t?qi(e):e)),e.setQueryData(I.runs.detail(t),e=>e&&qi(e)),{prevList:n,prevDetail:r,id:t}},onError:(t,n,r)=>{r?.prevList&&e.setQueryData(I.runs.list(),r.prevList),r?.prevDetail&&e.setQueryData(I.runs.detail(n),r.prevDetail)},onSuccess:t=>{let n=e=>e.id===t.id?qi(e):e;e.setQueryData(I.runs.list(),e=>e?.map(n)),e.setQueryData(I.runs.detail(t.id),e=>e?n(e):t),Wi(e)}})}function qi(e){let{seenAt:t,...n}=e;return n}function Ji(e,t){let n=v();return E({mutationFn:({id:t,pinned:n})=>e===void 0?Te(t,n):l(e,t,n),onError:e=>be(`Could not update pin. ${e.message} Please retry.`,{tone:`danger`}),onMutate:()=>({scope:t??S()}),onSuccess:(e,t,r)=>n.invalidateQueries({queryKey:[r.scope,`runs`]})})}function Yi(e,t){let n=v();return E({mutationFn:n=>t===void 0?Je(e,n):$e(t,e,n),onSuccess:()=>n.invalidateQueries({queryKey:I.runs.all}),onError:e=>{e instanceof re&&e.status===409&&n.invalidateQueries({queryKey:I.runs.all})}})}function Xi(e,t){let n=v();return E({mutationFn:(n={})=>t===void 0?Ge(e,n):jt(t,e,n),onSuccess:()=>n.invalidateQueries({queryKey:I.runs.all})})}function Zi(e){let t=v();return E({mutationFn:({msgId:t,message:n})=>He(e,t,n),onSuccess:()=>t.invalidateQueries({queryKey:I.runs.all})})}function Qi(e){let t=v();return E({mutationFn:t=>bt(e,t),onSuccess:()=>t.invalidateQueries({queryKey:I.runs.all})})}function $i(e={},t=!0){let n=v(),r=I.github(e),i=h({queryKey:I.github(e),queryFn:({signal:t})=>ae({limit:e.limit},{signal:t}),enabled:t,staleTime:6e4,refetchInterval:F(6e4),refetchIntervalInBackground:!1,refetchOnWindowFocus:!0}),a=i.data?.projectsGeneration,o=h({queryKey:[...r,`projects`,a],queryFn:({signal:e})=>ie(a,{signal:e}),enabled:t&&i.data?.projectsState===`refreshing`&&!!a,staleTime:1/0,retry:!1});return(0,T.useEffect)(()=>{!a||!o.data&&!o.error||n.setQueryData(r,e=>{if(!e||e.projectsGeneration!==a||e.projectsState!==`refreshing`)return e;let t=o.data;return t?.generation&&t.generation!==a?e:t?.state===`ready`?{...e,projectsState:`ready`,projects:t.projects,issues:e.issues.map(e=>({...e,projectIds:t.membership?.[e.number]??[]}))}:{...e,projectsState:`unavailable`,projectsReason:t?.reason??`Project boards unavailable. Refresh to try again.`}})},[n,a,o.data,o.error,r]),i}function ea(e,t={},n=!0){return h({queryKey:[e,`github`,t.limit??null],queryFn:({signal:n})=>ae({limit:t.limit,projectId:e},{signal:n}),enabled:n,staleTime:6e4,refetchOnWindowFocus:!0})}function ta(e,t,n,r=!0){return h({queryKey:[e,`github`,`search`,t,n],queryFn:({signal:r})=>De(t,n,{projectId:e},{signal:r}),enabled:r&&n.trim()!==``,staleTime:6e4})}function na(e,t=!0){return h({queryKey:I.githubChecks(e),queryFn:({signal:t})=>ue(e,{signal:t}),enabled:t&&e.length>0,staleTime:6e4})}function ra(e,t,n=!0){return h({queryKey:I.githubSearch(e,t),queryFn:({signal:n})=>De(e,t,{},{signal:n}),enabled:n&&t.trim()!==``,staleTime:6e4})}var ia=100;function aa(e){return[...e].sort((e,t)=>t-e).slice(0,ia).sort((e,t)=>e-t)}var V=new Map(ua()),oa=1e3;function H(e,t){if(V.get(e)!==t){for(V.delete(e),V.set(e,t);V.size>oa;){let e=V.keys().next().value;if(e===void 0)break;V.delete(e)}fa()}}var U=new Set(da());function sa(e,t){if(U.has(e)!==t){if(t)for(U.add(e);U.size>oa;){let e=U.values().next().value;if(e===void 0)break;U.delete(e)}else U.delete(e);fa()}}var ca=`cez.reference-statuses.v1`,la=`cez.reference-conflicts.v1`;function ua(){try{let e=globalThis.sessionStorage?.getItem(ca);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>Array.isArray(e)&&e.length===2&&typeof e[0]==`string`&&_n(e[1])):[]}catch{return[]}}function da(){try{let e=globalThis.sessionStorage?.getItem(la);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}var W;function fa(){W===void 0&&(W=setTimeout(()=>{W=void 0;try{globalThis.sessionStorage?.setItem(ca,JSON.stringify([...V])),globalThis.sessionStorage?.setItem(la,JSON.stringify([...U]))}catch{}},250))}function pa(){let e=Oe(),t=Qr();return e.projectId??t.data?.bootProject}function ma(e){for(let[t,n]of Object.entries(e)){for(let[e,r]of Object.entries(n.prs))H(G({projectId:t,kind:`PR`,number:Number(e)}),r);for(let[e,r]of Object.entries(n.issues))H(G({projectId:t,kind:`Issue`,number:Number(e)}),r)}}var ha=5*6e4;function ga(e){return e?e.recheckAfterMs:ha}var G=e=>`${e.projectId}\u0000${e.kind}#${e.number}`;function _a(e,t=!0){let n=(0,T.useMemo)(()=>{let t=new Map;for(let n of e){let e=t.get(n.projectId)??{prs:new Set,issues:new Set};e[n.kind===`PR`?`prs`:`issues`].add(n.number),t.set(n.projectId,e)}return[...t.entries()].map(([e,t])=>({projectId:e,prs:aa(t.prs),issues:aa(t.issues)}))},[e.map(G).sort().join(`|`)]),r=un({queries:n.map(e=>({queryKey:I.githubRefStatus(e.projectId,e.prs,e.issues),queryFn:({signal:t})=>we(e.projectId,{prs:e.prs,issues:e.issues},{signal:t}),enabled:t&&e.prs.length+e.issues.length>0,staleTime:e=>ga(e.state.data)??1/0,refetchInterval:F(e=>ga(e.state.data)??!1),refetchOnWindowFocus:!0}))}),i=(0,T.useMemo)(()=>{let e=new Map;return r.forEach((t,r)=>{let i=n[r];if(!i)return;let a=[...i.prs.map(e=>({projectId:i.projectId,kind:`PR`,number:e})),...i.issues.map(e=>({projectId:i.projectId,kind:`Issue`,number:e}))],o=t.data;for(let n of a){let r=G(n),i=V.get(r),a=U.has(r)?!0:void 0;if(o?.available){let t=o.prs[n.number]??o.issues[n.number];if(t){let i=o.conflicts?o.conflicts.includes(n.number):void 0;H(r,t),i!==void 0&&sa(r,i),e.set(r,{state:`ready`,status:t,...i??a?{conflicting:!0}:{}})}else e.set(r,{state:`unknown`,...i?{status:i}:{}})}else o?e.set(r,{state:`unavailable`,reason:o.reason,...i?{status:i}:{},...a?{conflicting:!0}:{}}):t.isError?e.set(r,{state:`unavailable`,reason:t.error instanceof Error?t.error.message:void 0,...i?{status:i}:{},...a?{conflicting:!0}:{}}):e.set(r,{state:`loading`,...i?{status:i}:{},...a?{conflicting:!0}:{}})}}),e},[n,r.map(e=>`${e.dataUpdatedAt}:${e.status}`).join(`,`)]);return(0,T.useCallback)(e=>{let t=G(e),n=i.get(t);if(n)return n;let r=V.get(t);return{state:`idle`,...r?{status:r}:{},...U.has(t)?{conflicting:!0}:{}}},[i])}function va(e,t,n=!0){return h({queryKey:I.githubComments(e,t),queryFn:({signal:n})=>_e(e,t,{},{signal:n}),enabled:n,staleTime:6e4})}function ya(e,t,n=!0){return h({queryKey:I.githubItem(e,t),queryFn:({signal:n})=>Yt(e,t,{},{signal:n}),enabled:n,staleTime:6e4})}function ba(e){return h({queryKey:I.githubPrChanges(e??0),queryFn:({signal:t})=>c(e,{},{signal:t}),enabled:e!==void 0,staleTime:6e4,retry:!1})}var K=n(),xa={primary:`border-accent-strong/25 bg-accent-strong/15 text-link-foreground`,neutral:`border-border bg-card text-foreground shadow-xs`,danger:`border-danger/20 bg-danger/15 text-danger`};function Sa({icon:e,tone:t=`neutral`,title:n,subtitle:r,children:i,actions:a,backdrop:o=!1,heading:s=`h1`,className:c}){return(0,K.jsxs)(`div`,{"data-slot":`centered-state`,"data-tone":t,className:C(`relative isolate flex min-h-full flex-1 flex-col items-center justify-center px-6 py-12 text-center`,c),children:[o?(0,K.jsx)(Ta,{}):null,(0,K.jsxs)(`div`,{className:`flex w-full max-w-md flex-col items-center gap-4`,children:[(0,K.jsx)(`div`,{"data-slot":`centered-state-tile`,className:C(`flex size-[72px] items-center justify-center rounded-[18px] border [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-7`,xa[t]),children:e}),(0,K.jsx)(s,{className:`text-2xl font-semibold text-balance text-foreground`,children:n}),r?(0,K.jsx)(`p`,{className:`text-sm text-pretty text-muted-foreground`,children:r}):null,i?(0,K.jsx)(`div`,{className:`w-full pt-2`,children:i}):null,a?(0,K.jsx)(`div`,{className:`flex items-center justify-center gap-3 pt-2`,children:a}):null]})]})}var Ca=[{top:`6%`,left:`14%`,size:2,tone:`accent`,opacity:.5},{top:`11%`,left:`31%`,size:3,tone:`accent`,opacity:.45},{top:`8%`,left:`52%`,size:2,tone:`pending`,opacity:.4},{top:`15%`,left:`71%`,size:2,tone:`accent`,opacity:.5},{top:`9%`,left:`86%`,size:3,tone:`primary`,opacity:.4},{top:`22%`,left:`8%`,size:2,tone:`pending`,opacity:.4},{top:`27%`,left:`24%`,size:2,tone:`primary`,opacity:.35},{top:`20%`,left:`44%`,size:3,tone:`accent`,opacity:.35},{top:`25%`,left:`62%`,size:2,tone:`accent`,opacity:.4},{top:`30%`,left:`79%`,size:2,tone:`primary`,opacity:.35},{top:`36%`,left:`12%`,size:3,tone:`accent`,opacity:.3},{top:`42%`,left:`35%`,size:2,tone:`pending`,opacity:.28},{top:`47%`,left:`58%`,size:2,tone:`primary`,opacity:.28},{top:`52%`,left:`88%`,size:2,tone:`accent`,opacity:.25},{top:`60%`,left:`29%`,size:3,tone:`accent`,opacity:.22}],wa={accent:`bg-accent-strong`,primary:`bg-action`,pending:`bg-pending`};function Ta({className:e}){return(0,K.jsx)(`div`,{"data-slot":`twinkle-backdrop`,"aria-hidden":`true`,className:C(`pointer-events-none absolute inset-0 -z-10 overflow-hidden [mask-image:linear-gradient(to_bottom,black_25%,transparent_88%)]`,e),children:Ca.map((e,t)=>(0,K.jsx)(`span`,{className:C(`absolute rounded-[1px] motion-safe:animate-pulse`,e.size===3?`size-[3px]`:`size-0.5`,wa[e.tone]),style:{top:e.top,left:e.left,opacity:e.opacity,animationDuration:`3.5s`,animationDelay:`${t%5*700}ms`}},t))})}var q=`Dialog`,[Ea,Da]=Fe(q),[Oa,J]=Ea(q),ka=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=T.useRef(null),c=T.useRef(null),[l,u]=ht({prop:r,defaultProp:i??!1,onChange:a,caller:q});return(0,K.jsx)(Oa,{scope:t,triggerRef:s,contentRef:c,contentId:Qe(),titleId:Qe(),descriptionId:Qe(),open:l,onOpenChange:u,onOpenToggle:T.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})};ka.displayName=q;var Aa=`DialogTrigger`,ja=T.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=J(Aa,n),a=b(t,i.triggerRef);return(0,K.jsx)(y.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":qa(i.open),...r,ref:a,onClick:g(e.onClick,i.onOpenToggle)})});ja.displayName=Aa;var Ma=`DialogPortal`,[Na,Pa]=Ea(Ma,{forceMount:void 0}),Fa=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=J(Ma,t);return(0,K.jsx)(Na,{scope:t,forceMount:n,children:T.Children.map(r,e=>(0,K.jsx)(Et,{present:n||a.open,children:(0,K.jsx)(At,{asChild:!0,container:i,children:e})}))})};Fa.displayName=Ma;var Y=`DialogOverlay`,Ia=T.forwardRef((e,t)=>{let n=Pa(Y,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=J(Y,e.__scopeDialog);return a.modal?(0,K.jsx)(Et,{present:r||a.open,children:(0,K.jsx)(Ra,{...i,ref:t})}):null});Ia.displayName=Y;var La=Wt(`DialogOverlay.RemoveScroll`),Ra=T.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=J(Y,n),a=b(t,Ft());return(0,K.jsx)(Re,{as:La,allowPinchZoom:!0,shards:[i.contentRef],children:(0,K.jsx)(y.div,{"data-state":qa(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})}),X=`DialogContent`,Z=T.forwardRef((e,t)=>{let n=Pa(X,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=J(X,e.__scopeDialog);return(0,K.jsx)(Et,{present:r||a.open,children:a.modal?(0,K.jsx)(za,{...i,ref:t}):(0,K.jsx)(Ba,{...i,ref:t})})});Z.displayName=X;var za=T.forwardRef((e,t)=>{let n=J(X,e.__scopeDialog),r=T.useRef(null),i=b(t,n.contentRef,r);return T.useEffect(()=>{let e=r.current;if(e)return rt(e)},[]),(0,K.jsx)(Va,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:g(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:g(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:g(e.onFocusOutside,e=>e.preventDefault())})}),Ba=T.forwardRef((e,t)=>{let n=J(X,e.__scopeDialog),r=T.useRef(!1),i=T.useRef(!1);return(0,K.jsx)(Va,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),Va=T.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=J(X,n);return St(),(0,K.jsx)(K.Fragment,{children:(0,K.jsx)(We,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,K.jsx)(ut,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":qa(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})}),Ha=`DialogTitle`,Ua=T.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=J(Ha,n);return(0,K.jsx)(y.h2,{id:i.titleId,...r,ref:t})});Ua.displayName=Ha;var Wa=`DialogDescription`,Ga=T.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=J(Wa,n);return(0,K.jsx)(y.p,{id:i.descriptionId,...r,ref:t})});Ga.displayName=Wa;var Ka=`DialogClose`,Q=T.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=J(Ka,n);return(0,K.jsx)(y.button,{type:`button`,...r,ref:t,onClick:g(e.onClick,()=>i.onOpenChange(!1))})});Q.displayName=Ka;function qa(e){return e?`open`:`closed`}var Ja=`AlertDialog`,[Ya,Xa]=Fe(Ja,[Da]),$=Da(),Za=e=>{let{__scopeAlertDialog:t,...n}=e,r=$(t);return(0,K.jsx)(ka,{...r,...n,modal:!0})};Za.displayName=Ja;var Qa=`AlertDialogTrigger`,$a=T.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=$(n);return(0,K.jsx)(ja,{...i,...r,ref:t})});$a.displayName=Qa;var eo=`AlertDialogPortal`,to=e=>{let{__scopeAlertDialog:t,...n}=e,r=$(t);return(0,K.jsx)(Fa,{...r,...n})};to.displayName=eo;var no=`AlertDialogOverlay`,ro=T.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=$(n);return(0,K.jsx)(Ia,{...i,...r,ref:t})});ro.displayName=no;var io=`AlertDialogContent`,[ao,oo]=Ya(io),so=T.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:r,...i}=e,a=$(n),o=b(t,T.useRef(null)),s=T.useRef(null);return(0,K.jsx)(ao,{scope:n,cancelRef:s,children:(0,K.jsx)(Z,{role:`alertdialog`,...a,...i,ref:o,onOpenAutoFocus:g(i.onOpenAutoFocus,e=>{e.preventDefault(),s.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:r})})});so.displayName=io;var co=`AlertDialogTitle`,lo=T.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=$(n);return(0,K.jsx)(Ua,{...i,...r,ref:t})});lo.displayName=co;var uo=`AlertDialogDescription`,fo=T.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=$(n);return(0,K.jsx)(Ga,{...i,...r,ref:t})});fo.displayName=uo;var po=`AlertDialogAction`,mo=T.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=$(n);return(0,K.jsx)(Q,{...i,...r,ref:t})});mo.displayName=po;var ho=`AlertDialogCancel`,go=T.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=oo(ho,n),a=$(n),o=b(t,i);return(0,K.jsx)(Q,{...a,...r,ref:o})});go.displayName=ho;var _o=Za,vo=to,yo=ro,bo=so,xo=mo,So=go,Co=lo,wo=fo;function To({...e}){return(0,K.jsx)(_o,{"data-slot":`alert-dialog`,...e})}function Eo({...e}){return(0,K.jsx)(vo,{"data-slot":`alert-dialog-portal`,...e})}function Do({className:e,...t}){return(0,K.jsx)(yo,{"data-slot":`alert-dialog-overlay`,className:C(`fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0 motion-reduce:data-[state=open]:animate-none motion-reduce:data-[state=closed]:animate-none`,e),...t})}function Oo({className:e,...t}){return(0,K.jsxs)(Eo,{children:[(0,K.jsx)(Do,{}),(0,K.jsx)(bo,{"data-slot":`alert-dialog-content`,className:C(`fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-card p-6 shadow-modal duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 motion-reduce:data-[state=open]:animate-none motion-reduce:data-[state=closed]:animate-none sm:max-w-md`,e),...t})]})}function ko({className:e,...t}){return(0,K.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:C(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function Ao({className:e,...t}){return(0,K.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:C(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function jo({className:e,...t}){return(0,K.jsx)(Co,{"data-slot":`alert-dialog-title`,className:C(`text-lg leading-none font-semibold`,e),...t})}function Mo({className:e,...t}){return(0,K.jsx)(wo,{"data-slot":`alert-dialog-description`,className:C(`text-sm text-muted-foreground`,e),...t})}function No({className:e,...t}){return(0,K.jsx)(xo,{"data-slot":`alert-dialog-action`,className:C(vt({variant:`contrast`}),e),...t})}function Po({className:e,...t}){return(0,K.jsx)(So,{"data-slot":`alert-dialog-cancel`,className:C(vt({variant:`outline`}),e),...t})}export{Yr as $,Mi as $t,Xr as A,Nn as An,vi as At,na as B,Dn as Bn,ri as Bt,Kr as C,Xn as Cn,Ti as Ct,ni as D,Un as Dn,Mr as Dt,Vi as E,j as En,Ai as Et,oi as F,An as Fn,si as Ft,gi as G,pn as Gn,zr as Gt,ya as H,yn as Hn,Yi as Ht,Zi as I,On as In,kr as It,Ci as J,rn as Jn,Hr as Jt,Qr as K,mn as Kn,bi as Kt,pi as L,En as Ln,z as Lt,qr as M,A as Mn,ui as Mt,Xi as N,In as Nn,fi as Nt,mi as O,Wn as On,ci as Ot,Vr as P,wn as Pn,yi as Pt,Br as Q,zi as Qt,Pr as R,Mn as Rn,ti as Rt,Gr as S,fr as Sn,Qi as St,Li as T,Hn as Tn,ki as Tt,ba as U,gn as Un,Si as Ut,va as V,Fn as Vn,Wr as Vt,ra as W,vn as Wn,Hi as Wt,Gi as X,w as Xn,xi as Xt,wi as Y,nn as Yn,Lr as Yt,Ki as Z,Bi as Zt,Sa as _,dr as _n,_a as _t,Mo as a,pr as an,Ei as at,I as b,sr as bn,Ur as bt,jo as c,Jn as cn,li as ct,Z as d,Qn as dn,Ni as dt,L as en,ei as et,Ga as f,P as fn,Nr as ft,ja as g,ir as gn,pa as gt,Ua as h,$n as hn,Jr as ht,Oo as i,Kn as in,ta as it,ji as j,kn as jn,_i as jt,hi as k,Pn as kn,di as kt,ka as l,M as ln,ai as lt,Fa as m,Yn as mn,Ri as mt,No as n,mr as nn,Ji as nt,Ao as o,Zn as on,$r as ot,Ia as p,ar as pn,Ar as pt,Zr as q,E as qn,Fi as qt,Po as r,hr as rn,ea as rt,ko as s,er as sn,Oi as st,To as t,_r as tn,Ui as tt,Q as u,tr as un,Pi as ut,Ta as v,ur as vn,jr as vt,Ii as w,Vn as wn,Di as wt,ma as x,N as xn,Ir as xt,R as y,nr as yn,Fr as yt,$i as z,jn as zn,ii as zt};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-BHp8sXmF.js";var t=e(`app-window`,[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}],[`path`,{d:`M10 4v4`,key:`pp8u80`}],[`path`,{d:`M2 8h20`,key:`d11cs7`}],[`path`,{d:`M6 4v4`,key:`1svtjw`}]]);export{t};
|