@hearsay-tools/squawk 0.0.0-stage → 0.17.0-dev.5685
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 +22 -0
- package/README.md +1846 -2
- package/dist/activity/demand.d.ts +21 -0
- package/dist/activity/demand.js +49 -0
- package/dist/activity/demand.js.map +1 -0
- package/dist/activity/publisher.d.ts +48 -0
- package/dist/activity/publisher.js +175 -0
- package/dist/activity/publisher.js.map +1 -0
- package/dist/activity/read-model.d.ts +50 -0
- package/dist/activity/read-model.js +143 -0
- package/dist/activity/read-model.js.map +1 -0
- package/dist/activity/requests.d.ts +27 -0
- package/dist/activity/requests.js +81 -0
- package/dist/activity/requests.js.map +1 -0
- package/dist/activity/text.d.ts +4 -0
- package/dist/activity/text.js +13 -0
- package/dist/activity/text.js.map +1 -0
- package/dist/activity/tool-activity.d.ts +87 -0
- package/dist/activity/tool-activity.js +250 -0
- package/dist/activity/tool-activity.js.map +1 -0
- package/dist/activity/wait.d.ts +19 -0
- package/dist/activity/wait.js +91 -0
- package/dist/activity/wait.js.map +1 -0
- package/dist/agent-config/account-identity.d.ts +28 -0
- package/dist/agent-config/account-identity.js +132 -0
- package/dist/agent-config/account-identity.js.map +1 -0
- package/dist/agent-config/catalog.d.ts +70 -0
- package/dist/agent-config/catalog.js +384 -0
- package/dist/agent-config/catalog.js.map +1 -0
- package/dist/agent-config/files.d.ts +42 -0
- package/dist/agent-config/files.js +115 -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 +2 -0
- package/dist/agent-config/model-settings/pi.js +38 -0
- package/dist/agent-config/model-settings/pi.js.map +1 -0
- package/dist/agent-config/model-settings/shared.d.ts +12 -0
- package/dist/agent-config/model-settings/shared.js +100 -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 +40 -0
- package/dist/agent-config/models.js.map +1 -0
- package/dist/agent-config/seed.d.ts +15 -0
- package/dist/agent-config/seed.js +94 -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 +73 -0
- package/dist/agent-config/service.js.map +1 -0
- package/dist/agent-config/validate.d.ts +18 -0
- package/dist/agent-config/validate.js +82 -0
- package/dist/agent-config/validate.js.map +1 -0
- package/dist/application-update/bin-recovery.d.ts +5 -0
- package/dist/application-update/bin-recovery.js +96 -0
- package/dist/application-update/bin-recovery.js.map +1 -0
- package/dist/application-update/discovery.d.ts +23 -0
- package/dist/application-update/discovery.js +131 -0
- package/dist/application-update/discovery.js.map +1 -0
- package/dist/application-update/helper.d.ts +58 -0
- package/dist/application-update/helper.js +363 -0
- package/dist/application-update/helper.js.map +1 -0
- package/dist/application-update/launcher.d.ts +12 -0
- package/dist/application-update/launcher.js +61 -0
- package/dist/application-update/launcher.js.map +1 -0
- package/dist/application-update/lock.d.ts +4 -0
- package/dist/application-update/lock.js +70 -0
- package/dist/application-update/lock.js.map +1 -0
- package/dist/application-update/npm-process.d.ts +17 -0
- package/dist/application-update/npm-process.js +156 -0
- package/dist/application-update/npm-process.js.map +1 -0
- package/dist/application-update/runtime-layout.d.ts +20 -0
- package/dist/application-update/runtime-layout.js +91 -0
- package/dist/application-update/runtime-layout.js.map +1 -0
- package/dist/application-update/scoped-recovery.d.ts +32 -0
- package/dist/application-update/scoped-recovery.js +210 -0
- package/dist/application-update/scoped-recovery.js.map +1 -0
- package/dist/application-update/service.d.ts +86 -0
- package/dist/application-update/service.js +523 -0
- package/dist/application-update/service.js.map +1 -0
- package/dist/archive-on-merge-setting.d.ts +15 -0
- package/dist/archive-on-merge-setting.js +15 -0
- package/dist/archive-on-merge-setting.js.map +1 -0
- package/dist/artifacts/cli.d.ts +1 -0
- package/dist/artifacts/cli.js +54 -0
- package/dist/artifacts/cli.js.map +1 -0
- package/dist/artifacts/lifecycle.d.ts +4 -0
- package/dist/artifacts/lifecycle.js +42 -0
- package/dist/artifacts/lifecycle.js.map +1 -0
- package/dist/artifacts/reports-index.d.ts +46 -0
- package/dist/artifacts/reports-index.js +279 -0
- package/dist/artifacts/reports-index.js.map +1 -0
- package/dist/artifacts/reports-watch.d.ts +43 -0
- package/dist/artifacts/reports-watch.js +129 -0
- package/dist/artifacts/reports-watch.js.map +1 -0
- package/dist/artifacts/resolve.d.ts +18 -0
- package/dist/artifacts/resolve.js +129 -0
- package/dist/artifacts/resolve.js.map +1 -0
- package/dist/artifacts/store.d.ts +40 -0
- package/dist/artifacts/store.js +513 -0
- package/dist/artifacts/store.js.map +1 -0
- package/dist/automations/automation-cli.d.ts +61 -0
- package/dist/automations/automation-cli.js +519 -0
- package/dist/automations/automation-cli.js.map +1 -0
- package/dist/automations/builtin-skill.d.ts +7 -0
- package/dist/automations/builtin-skill.js +14 -0
- package/dist/automations/builtin-skill.js.map +1 -0
- package/dist/automations/coordinator.d.ts +53 -0
- package/dist/automations/coordinator.js +136 -0
- package/dist/automations/coordinator.js.map +1 -0
- package/dist/automations/github-baseline.d.ts +3 -0
- package/dist/automations/github-baseline.js +17 -0
- package/dist/automations/github-baseline.js.map +1 -0
- package/dist/automations/github-poller.d.ts +93 -0
- package/dist/automations/github-poller.js +303 -0
- package/dist/automations/github-poller.js.map +1 -0
- package/dist/automations/project-files.d.ts +6 -0
- package/dist/automations/project-files.js +43 -0
- package/dist/automations/project-files.js.map +1 -0
- package/dist/automations/prompts.d.ts +12 -0
- package/dist/automations/prompts.js +162 -0
- package/dist/automations/prompts.js.map +1 -0
- package/dist/automations/schedule-runner.d.ts +153 -0
- package/dist/automations/schedule-runner.js +529 -0
- package/dist/automations/schedule-runner.js.map +1 -0
- package/dist/automations/scheduler.d.ts +95 -0
- package/dist/automations/scheduler.js +462 -0
- package/dist/automations/scheduler.js.map +1 -0
- package/dist/automations/service.d.ts +793 -0
- package/dist/automations/service.js +444 -0
- package/dist/automations/service.js.map +1 -0
- package/dist/automations/store.d.ts +168 -0
- package/dist/automations/store.js +805 -0
- package/dist/automations/store.js.map +1 -0
- package/dist/automations/task-template.d.ts +59 -0
- package/dist/automations/task-template.js +285 -0
- package/dist/automations/task-template.js.map +1 -0
- package/dist/automations/tool-adapter.d.ts +6 -0
- package/dist/automations/tool-adapter.js +115 -0
- package/dist/automations/tool-adapter.js.map +1 -0
- package/dist/automations/types.d.ts +1 -0
- package/dist/automations/types.js +2 -0
- package/dist/automations/types.js.map +1 -0
- package/dist/autosave-cleanup.d.ts +26 -0
- package/dist/autosave-cleanup.js +87 -0
- package/dist/autosave-cleanup.js.map +1 -0
- package/dist/autosave-git.d.ts +23 -0
- package/dist/autosave-git.js +211 -0
- package/dist/autosave-git.js.map +1 -0
- package/dist/autosave-group.d.ts +8 -0
- package/dist/autosave-group.js +61 -0
- package/dist/autosave-group.js.map +1 -0
- package/dist/autosave-holders.d.ts +34 -0
- package/dist/autosave-holders.js +228 -0
- package/dist/autosave-holders.js.map +1 -0
- package/dist/autosave-windows.d.ts +25 -0
- package/dist/autosave-windows.js +170 -0
- package/dist/autosave-windows.js.map +1 -0
- package/dist/cez.d.ts +2 -0
- package/dist/cez.js +3 -0
- package/dist/cez.js.map +1 -0
- package/dist/cezarion.d.ts +2 -0
- package/dist/cezarion.js +3 -0
- package/dist/cezarion.js.map +1 -0
- package/dist/ci-wait/client.d.ts +28 -0
- package/dist/ci-wait/client.js +123 -0
- package/dist/ci-wait/client.js.map +1 -0
- package/dist/ci-wait/controller.d.ts +824 -0
- package/dist/ci-wait/controller.js +305 -0
- package/dist/ci-wait/controller.js.map +1 -0
- package/dist/ci-wait/errors.d.ts +35 -0
- package/dist/ci-wait/errors.js +273 -0
- package/dist/ci-wait/errors.js.map +1 -0
- package/dist/ci-wait/github.d.ts +105 -0
- package/dist/ci-wait/github.js +324 -0
- package/dist/ci-wait/github.js.map +1 -0
- package/dist/ci-wait/injection.d.ts +3 -0
- package/dist/ci-wait/injection.js +13 -0
- package/dist/ci-wait/injection.js.map +1 -0
- package/dist/ci-wait/mcp.d.ts +3 -0
- package/dist/ci-wait/mcp.js +30 -0
- package/dist/ci-wait/mcp.js.map +1 -0
- package/dist/ci-wait/merge-progress.d.ts +84 -0
- package/dist/ci-wait/merge-progress.js +50 -0
- package/dist/ci-wait/merge-progress.js.map +1 -0
- package/dist/ci-wait/progress.d.ts +56 -0
- package/dist/ci-wait/progress.js +100 -0
- package/dist/ci-wait/progress.js.map +1 -0
- package/dist/ci-wait/resources.d.ts +9 -0
- package/dist/ci-wait/resources.js +46 -0
- package/dist/ci-wait/resources.js.map +1 -0
- package/dist/ci-wait/supervisor.d.ts +47 -0
- package/dist/ci-wait/supervisor.js +334 -0
- package/dist/ci-wait/supervisor.js.map +1 -0
- package/dist/ci-wait/text.d.ts +2 -0
- package/dist/ci-wait/text.js +5 -0
- package/dist/ci-wait/text.js.map +1 -0
- package/dist/ci-wait/tools.d.ts +845 -0
- package/dist/ci-wait/tools.js +232 -0
- package/dist/ci-wait/tools.js.map +1 -0
- package/dist/cli-dispatch.d.ts +33 -0
- package/dist/cli-dispatch.js +239 -0
- package/dist/cli-dispatch.js.map +1 -0
- package/dist/config.d.ts +117 -0
- package/dist/config.js +343 -0
- package/dist/config.js.map +1 -0
- package/dist/contract/active-provider.d.ts +12 -0
- package/dist/contract/activity.d.ts +1478 -0
- package/dist/contract/agent-config.d.ts +160 -0
- package/dist/contract/agent-profiles.d.ts +369 -0
- package/dist/contract/application-update.d.ts +32 -0
- package/dist/contract/artifacts.d.ts +100 -0
- package/dist/contract/ask-schema.d.ts +50 -0
- package/dist/contract/ask.d.ts +11 -0
- package/dist/contract/attachments.d.ts +35 -0
- package/dist/contract/attention.d.ts +99 -0
- package/dist/contract/automation-requests.d.ts +314 -0
- package/dist/contract/automation-schedule.d.ts +89 -0
- package/dist/contract/automation-storage.d.ts +518 -0
- package/dist/contract/automations.d.ts +1560 -0
- package/dist/contract/ci-wait.d.ts +281 -0
- package/dist/contract/config-requests.d.ts +36 -0
- package/dist/contract/control-locations.d.ts +10 -0
- package/dist/contract/conversations.d.ts +415 -0
- package/dist/contract/defined.d.ts +8 -0
- package/dist/contract/delegation.d.ts +2168 -0
- package/dist/contract/discovery.d.ts +228 -0
- package/dist/contract/effort.d.ts +18 -0
- package/dist/contract/events.d.ts +324 -0
- package/dist/contract/github-requests.d.ts +26 -0
- package/dist/contract/github.d.ts +732 -0
- package/dist/contract/handoff.d.ts +43 -0
- package/dist/contract/health.d.ts +128 -0
- package/dist/contract/home-recovery.d.ts +71 -0
- package/dist/contract/image-path.d.ts +6 -0
- package/dist/contract/index.d.ts +68 -0
- package/dist/contract/index.js +6709 -0
- package/dist/contract/live-coordination.d.ts +164 -0
- package/dist/contract/live-limits.d.ts +8 -0
- package/dist/contract/live.d.ts +123 -0
- package/dist/contract/pending-ask.d.ts +58 -0
- package/dist/contract/per-runner-optional-strings.d.ts +10 -0
- package/dist/contract/permissions.d.ts +54 -0
- package/dist/contract/preview.d.ts +568 -0
- package/dist/contract/project-limits.d.ts +35 -0
- package/dist/contract/projects.d.ts +716 -0
- package/dist/contract/provider-requests.d.ts +77 -0
- package/dist/contract/query-requests.d.ts +52 -0
- package/dist/contract/repo-requests.d.ts +12 -0
- package/dist/contract/repo.d.ts +515 -0
- package/dist/contract/report-title.d.ts +3 -0
- package/dist/contract/reports.d.ts +101 -0
- package/dist/contract/run-labels.d.ts +8 -0
- package/dist/contract/run-limits.d.ts +8 -0
- package/dist/contract/run-predicates.d.ts +87 -0
- package/dist/contract/run-requests.d.ts +33 -0
- package/dist/contract/run-search.d.ts +193 -0
- package/dist/contract/runs.d.ts +7108 -0
- package/dist/contract/scheduled-tasks.d.ts +188 -0
- package/dist/contract/self-update.d.ts +255 -0
- package/dist/contract/skill-sources.d.ts +125 -0
- package/dist/contract/skills.d.ts +56 -0
- package/dist/contract/task-options.d.ts +18 -0
- package/dist/contract/team-skill-ref.d.ts +10 -0
- package/dist/contract/tool-display.d.ts +25 -0
- package/dist/contract/ui-state-requests.d.ts +60 -0
- package/dist/contract/version.d.ts +3 -0
- package/dist/contract/voice.d.ts +213 -0
- package/dist/contract/waits.d.ts +1996 -0
- package/dist/contract/workflow-file.d.ts +37 -0
- package/dist/contract/workflow-requests.d.ts +7 -0
- package/dist/contract/workflows.d.ts +250 -0
- package/dist/contract/workspace-events.d.ts +410 -0
- package/dist/contract/workspace.d.ts +631 -0
- package/dist/contract/zoned-time.d.ts +26 -0
- package/dist/core/agent-env.d.ts +34 -0
- package/dist/core/agent-env.js +411 -0
- package/dist/core/agent-env.js.map +1 -0
- package/dist/core/agent-model-policy.d.ts +11 -0
- package/dist/core/agent-model-policy.js +38 -0
- package/dist/core/agent-model-policy.js.map +1 -0
- package/dist/core/agent-profiles.d.ts +50 -0
- package/dist/core/agent-profiles.js +105 -0
- package/dist/core/agent-profiles.js.map +1 -0
- package/dist/core/agent-runner.d.ts +425 -0
- package/dist/core/agent-runner.js +98 -0
- package/dist/core/agent-runner.js.map +1 -0
- package/dist/core/ask.d.ts +26 -0
- package/dist/core/ask.js +35 -0
- package/dist/core/ask.js.map +1 -0
- package/dist/core/backend-detect.d.ts +18 -0
- package/dist/core/backend-detect.js +216 -0
- package/dist/core/backend-detect.js.map +1 -0
- package/dist/core/claude-cli-runner.d.ts +85 -0
- package/dist/core/claude-cli-runner.js +899 -0
- package/dist/core/claude-cli-runner.js.map +1 -0
- package/dist/core/claude-executable.d.ts +2 -0
- package/dist/core/claude-executable.js +15 -0
- package/dist/core/claude-executable.js.map +1 -0
- package/dist/core/claude-model-catalog.d.ts +16 -0
- package/dist/core/claude-model-catalog.js +198 -0
- package/dist/core/claude-model-catalog.js.map +1 -0
- package/dist/core/claude-stream.d.ts +38 -0
- package/dist/core/claude-stream.js +77 -0
- package/dist/core/claude-stream.js.map +1 -0
- package/dist/core/claude-ui-mapper.d.ts +88 -0
- package/dist/core/claude-ui-mapper.js +851 -0
- package/dist/core/claude-ui-mapper.js.map +1 -0
- package/dist/core/codex-app-server-runner.d.ts +76 -0
- package/dist/core/codex-app-server-runner.js +1271 -0
- package/dist/core/codex-app-server-runner.js.map +1 -0
- package/dist/core/codex-app-server-transport.d.ts +52 -0
- package/dist/core/codex-app-server-transport.js +200 -0
- package/dist/core/codex-app-server-transport.js.map +1 -0
- package/dist/core/codex-approvals.d.ts +12 -0
- package/dist/core/codex-approvals.js +180 -0
- package/dist/core/codex-approvals.js.map +1 -0
- package/dist/core/codex-hook-mapper.d.ts +15 -0
- package/dist/core/codex-hook-mapper.js +73 -0
- package/dist/core/codex-hook-mapper.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-native-frames.d.ts +35 -0
- package/dist/core/codex-native-frames.js +80 -0
- package/dist/core/codex-native-frames.js.map +1 -0
- package/dist/core/codex-permissions.d.ts +6 -0
- package/dist/core/codex-permissions.js +27 -0
- package/dist/core/codex-permissions.js.map +1 -0
- package/dist/core/codex-stream-error.d.ts +2 -0
- package/dist/core/codex-stream-error.js +12 -0
- package/dist/core/codex-stream-error.js.map +1 -0
- package/dist/core/codex-turn-outcome.d.ts +10 -0
- package/dist/core/codex-turn-outcome.js +35 -0
- package/dist/core/codex-turn-outcome.js.map +1 -0
- package/dist/core/codex-ui-mapper-state.d.ts +84 -0
- package/dist/core/codex-ui-mapper-state.js +8 -0
- package/dist/core/codex-ui-mapper-state.js.map +1 -0
- package/dist/core/codex-ui-mapper.d.ts +44 -0
- package/dist/core/codex-ui-mapper.js +799 -0
- package/dist/core/codex-ui-mapper.js.map +1 -0
- package/dist/core/cursor-cli-flags.d.ts +19 -0
- package/dist/core/cursor-cli-flags.js +47 -0
- package/dist/core/cursor-cli-flags.js.map +1 -0
- package/dist/core/cursor-config-options.d.ts +18 -0
- package/dist/core/cursor-config-options.js +31 -0
- package/dist/core/cursor-config-options.js.map +1 -0
- package/dist/core/cursor-model-catalog.d.ts +50 -0
- package/dist/core/cursor-model-catalog.js +306 -0
- package/dist/core/cursor-model-catalog.js.map +1 -0
- package/dist/core/cursor-print-capabilities.d.ts +14 -0
- package/dist/core/cursor-print-capabilities.js +169 -0
- package/dist/core/cursor-print-capabilities.js.map +1 -0
- package/dist/core/cursor-print-process.d.ts +31 -0
- package/dist/core/cursor-print-process.js +117 -0
- package/dist/core/cursor-print-process.js.map +1 -0
- package/dist/core/cursor-print-runner.d.ts +43 -0
- package/dist/core/cursor-print-runner.js +574 -0
- package/dist/core/cursor-print-runner.js.map +1 -0
- package/dist/core/cursor-print-tool-catalog.d.ts +3 -0
- package/dist/core/cursor-print-tool-catalog.js +13 -0
- package/dist/core/cursor-print-tool-catalog.js.map +1 -0
- package/dist/core/cursor-print-ui-mapper.d.ts +47 -0
- package/dist/core/cursor-print-ui-mapper.js +574 -0
- package/dist/core/cursor-print-ui-mapper.js.map +1 -0
- package/dist/core/cursor-provider-error.d.ts +9 -0
- package/dist/core/cursor-provider-error.js +15 -0
- package/dist/core/cursor-provider-error.js.map +1 -0
- package/dist/core/cursor-runner.d.ts +46 -0
- package/dist/core/cursor-runner.js +144 -0
- package/dist/core/cursor-runner.js.map +1 -0
- package/dist/core/defined.d.ts +1 -0
- package/dist/core/defined.js +2 -0
- package/dist/core/defined.js.map +1 -0
- package/dist/core/disclaim-spawn.d.ts +11 -0
- package/dist/core/disclaim-spawn.js +60 -0
- package/dist/core/disclaim-spawn.js.map +1 -0
- package/dist/core/edit-write-key.d.ts +2 -0
- package/dist/core/edit-write-key.js +6 -0
- package/dist/core/edit-write-key.js.map +1 -0
- package/dist/core/hook-items.d.ts +14 -0
- package/dist/core/hook-items.js +13 -0
- package/dist/core/hook-items.js.map +1 -0
- package/dist/core/host-model-catalog.d.ts +7 -0
- package/dist/core/host-model-catalog.js +21 -0
- package/dist/core/host-model-catalog.js.map +1 -0
- package/dist/core/input-submissions.d.ts +14 -0
- package/dist/core/input-submissions.js +26 -0
- package/dist/core/input-submissions.js.map +1 -0
- package/dist/core/managed-session.d.ts +6 -0
- package/dist/core/managed-session.js +116 -0
- package/dist/core/managed-session.js.map +1 -0
- package/dist/core/model-discovery-options.d.ts +8 -0
- package/dist/core/model-discovery-options.js +2 -0
- package/dist/core/model-discovery-options.js.map +1 -0
- package/dist/core/model-identity.d.ts +108 -0
- package/dist/core/model-identity.js +137 -0
- package/dist/core/model-identity.js.map +1 -0
- package/dist/core/model-presets.d.ts +10 -0
- package/dist/core/model-presets.js +77 -0
- package/dist/core/model-presets.js.map +1 -0
- package/dist/core/model-probe-teardown.d.ts +4 -0
- package/dist/core/model-probe-teardown.js +20 -0
- package/dist/core/model-probe-teardown.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/omp-model-catalog.d.ts +39 -0
- package/dist/core/omp-model-catalog.js +183 -0
- package/dist/core/omp-model-catalog.js.map +1 -0
- package/dist/core/omp-runner.d.ts +86 -0
- package/dist/core/omp-runner.js +818 -0
- package/dist/core/omp-runner.js.map +1 -0
- package/dist/core/omp-subagent-rows.d.ts +21 -0
- package/dist/core/omp-subagent-rows.js +99 -0
- package/dist/core/omp-subagent-rows.js.map +1 -0
- package/dist/core/omp-ui-mapper.d.ts +112 -0
- package/dist/core/omp-ui-mapper.js +807 -0
- package/dist/core/omp-ui-mapper.js.map +1 -0
- package/dist/core/opencode-model-catalog.d.ts +27 -0
- package/dist/core/opencode-model-catalog.js +189 -0
- package/dist/core/opencode-model-catalog.js.map +1 -0
- package/dist/core/opencode-permissions.d.ts +52 -0
- package/dist/core/opencode-permissions.js +101 -0
- package/dist/core/opencode-permissions.js.map +1 -0
- package/dist/core/opencode-runtime-config.d.ts +9 -0
- package/dist/core/opencode-runtime-config.js +26 -0
- package/dist/core/opencode-runtime-config.js.map +1 -0
- package/dist/core/opencode-server-runner.d.ts +75 -0
- package/dist/core/opencode-server-runner.js +1690 -0
- package/dist/core/opencode-server-runner.js.map +1 -0
- package/dist/core/opencode-session-error.d.ts +19 -0
- package/dist/core/opencode-session-error.js +42 -0
- package/dist/core/opencode-session-error.js.map +1 -0
- package/dist/core/opencode-task-scope.d.ts +9 -0
- package/dist/core/opencode-task-scope.js +19 -0
- package/dist/core/opencode-task-scope.js.map +1 -0
- package/dist/core/opencode-ui-mapper-state.d.ts +82 -0
- package/dist/core/opencode-ui-mapper-state.js +7 -0
- package/dist/core/opencode-ui-mapper-state.js.map +1 -0
- package/dist/core/opencode-ui-mapper.d.ts +59 -0
- package/dist/core/opencode-ui-mapper.js +724 -0
- package/dist/core/opencode-ui-mapper.js.map +1 -0
- package/dist/core/opencode-usage.d.ts +32 -0
- package/dist/core/opencode-usage.js +105 -0
- package/dist/core/opencode-usage.js.map +1 -0
- package/dist/core/pi-model-catalog.d.ts +34 -0
- package/dist/core/pi-model-catalog.js +247 -0
- package/dist/core/pi-model-catalog.js.map +1 -0
- package/dist/core/pi-rpc-turn.d.ts +179 -0
- package/dist/core/pi-rpc-turn.js +370 -0
- package/dist/core/pi-rpc-turn.js.map +1 -0
- package/dist/core/pi-rpc-wire.d.ts +31 -0
- package/dist/core/pi-rpc-wire.js +88 -0
- package/dist/core/pi-rpc-wire.js.map +1 -0
- package/dist/core/pi-runner.d.ts +58 -0
- package/dist/core/pi-runner.js +587 -0
- package/dist/core/pi-runner.js.map +1 -0
- package/dist/core/pi-ui-mapper.d.ts +52 -0
- package/dist/core/pi-ui-mapper.js +408 -0
- package/dist/core/pi-ui-mapper.js.map +1 -0
- package/dist/core/process-usage.d.ts +74 -0
- package/dist/core/process-usage.js +219 -0
- package/dist/core/process-usage.js.map +1 -0
- package/dist/core/product-env.d.ts +21 -0
- package/dist/core/product-env.js +38 -0
- package/dist/core/product-env.js.map +1 -0
- package/dist/core/provider-auth.d.ts +168 -0
- package/dist/core/provider-auth.js +661 -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 +11 -0
- package/dist/core/runner-factory.js +36 -0
- package/dist/core/runner-factory.js.map +1 -0
- package/dist/core/runner-facts.d.ts +135 -0
- package/dist/core/runner-facts.js +59 -0
- package/dist/core/runner-facts.js.map +1 -0
- package/dist/core/runner-model-catalog.d.ts +34 -0
- package/dist/core/runner-model-catalog.js +109 -0
- package/dist/core/runner-model-catalog.js.map +1 -0
- package/dist/core/runner-runtime.d.ts +40 -0
- package/dist/core/runner-runtime.js +88 -0
- package/dist/core/runner-runtime.js.map +1 -0
- 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/runner-tool-grants.d.ts +19 -0
- package/dist/core/runner-tool-grants.js +54 -0
- package/dist/core/runner-tool-grants.js.map +1 -0
- package/dist/core/secret-redaction.d.ts +20 -0
- package/dist/core/secret-redaction.js +95 -0
- package/dist/core/secret-redaction.js.map +1 -0
- package/dist/core/session-process.d.ts +43 -0
- package/dist/core/session-process.js +363 -0
- package/dist/core/session-process.js.map +1 -0
- package/dist/core/shell-env.d.ts +17 -0
- package/dist/core/shell-env.js +51 -0
- package/dist/core/shell-env.js.map +1 -0
- package/dist/core/ui-events.d.ts +356 -0
- package/dist/core/ui-events.js +13 -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 +152 -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/data-gitignore.d.ts +6 -0
- package/dist/data-gitignore.js +80 -0
- package/dist/data-gitignore.js.map +1 -0
- package/dist/delegation/capacity.d.ts +15 -0
- package/dist/delegation/capacity.js +30 -0
- package/dist/delegation/capacity.js.map +1 -0
- package/dist/delegation/cli.d.ts +5 -0
- package/dist/delegation/cli.js +572 -0
- package/dist/delegation/cli.js.map +1 -0
- package/dist/delegation/context.d.ts +40 -0
- package/dist/delegation/context.js +398 -0
- package/dist/delegation/context.js.map +1 -0
- package/dist/delegation/conversation-send.d.ts +64 -0
- package/dist/delegation/conversation-send.js +74 -0
- package/dist/delegation/conversation-send.js.map +1 -0
- package/dist/delegation/conversations.d.ts +2186 -0
- package/dist/delegation/conversations.js +285 -0
- package/dist/delegation/conversations.js.map +1 -0
- package/dist/delegation/credentials.d.ts +21 -0
- package/dist/delegation/credentials.js +66 -0
- package/dist/delegation/credentials.js.map +1 -0
- 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/effort.d.ts +1 -0
- package/dist/delegation/effort.js +11 -0
- package/dist/delegation/effort.js.map +1 -0
- package/dist/delegation/execution-identity.d.ts +257 -0
- package/dist/delegation/execution-identity.js +253 -0
- package/dist/delegation/execution-identity.js.map +1 -0
- package/dist/delegation/execution-settings.d.ts +11 -0
- package/dist/delegation/execution-settings.js +65 -0
- package/dist/delegation/execution-settings.js.map +1 -0
- package/dist/delegation/idle-test-app.d.ts +4 -0
- package/dist/delegation/idle-test-app.js +186 -0
- package/dist/delegation/idle-test-app.js.map +1 -0
- package/dist/delegation/input.d.ts +12 -0
- package/dist/delegation/input.js +50 -0
- package/dist/delegation/input.js.map +1 -0
- package/dist/delegation/park-notice.d.ts +45 -0
- package/dist/delegation/park-notice.js +81 -0
- package/dist/delegation/park-notice.js.map +1 -0
- package/dist/delegation/policy.d.ts +27 -0
- package/dist/delegation/policy.js +110 -0
- package/dist/delegation/policy.js.map +1 -0
- package/dist/delegation/process-liveness.d.ts +98 -0
- package/dist/delegation/process-liveness.js +213 -0
- package/dist/delegation/process-liveness.js.map +1 -0
- package/dist/delegation/provision.d.ts +36 -0
- package/dist/delegation/provision.js +218 -0
- package/dist/delegation/provision.js.map +1 -0
- package/dist/delegation/questions.d.ts +24 -0
- package/dist/delegation/questions.js +56 -0
- package/dist/delegation/questions.js.map +1 -0
- package/dist/delegation/readiness.d.ts +13 -0
- package/dist/delegation/readiness.js +19 -0
- package/dist/delegation/readiness.js.map +1 -0
- package/dist/delegation/results.d.ts +13 -0
- package/dist/delegation/results.js +153 -0
- package/dist/delegation/results.js.map +1 -0
- package/dist/delegation/retry-backoff.d.ts +31 -0
- package/dist/delegation/retry-backoff.js +26 -0
- package/dist/delegation/retry-backoff.js.map +1 -0
- package/dist/delegation/routes.d.ts +1017 -0
- package/dist/delegation/routes.js +85 -0
- package/dist/delegation/routes.js.map +1 -0
- package/dist/delegation/scratch-cleanup.d.ts +33 -0
- package/dist/delegation/scratch-cleanup.js +155 -0
- package/dist/delegation/scratch-cleanup.js.map +1 -0
- package/dist/delegation/service.d.ts +264 -0
- package/dist/delegation/service.js +807 -0
- package/dist/delegation/service.js.map +1 -0
- package/dist/delegation/task-discovery.d.ts +6 -0
- package/dist/delegation/task-discovery.js +27 -0
- package/dist/delegation/task-discovery.js.map +1 -0
- package/dist/delegation/transport.d.ts +995 -0
- package/dist/delegation/transport.js +22 -0
- package/dist/delegation/transport.js.map +1 -0
- package/dist/delegation/wait.d.ts +7 -0
- package/dist/delegation/wait.js +44 -0
- package/dist/delegation/wait.js.map +1 -0
- package/dist/delegation/windows-test-app.d.ts +5 -0
- package/dist/delegation/windows-test-app.js +64 -0
- package/dist/delegation/windows-test-app.js.map +1 -0
- package/dist/delegation/windows-workspace-identity.d.ts +3 -0
- package/dist/delegation/windows-workspace-identity.js +23 -0
- package/dist/delegation/windows-workspace-identity.js.map +1 -0
- package/dist/delegation/worker-cleanup.d.ts +53 -0
- package/dist/delegation/worker-cleanup.js +330 -0
- package/dist/delegation/worker-cleanup.js.map +1 -0
- package/dist/delegation/workspace.d.ts +40 -0
- package/dist/delegation/workspace.js +592 -0
- package/dist/delegation/workspace.js.map +1 -0
- package/dist/detached-process.d.ts +134 -0
- package/dist/detached-process.js +460 -0
- package/dist/detached-process.js.map +1 -0
- package/dist/discovery/catalog.d.ts +16 -0
- package/dist/discovery/catalog.js +31 -0
- package/dist/discovery/catalog.js.map +1 -0
- package/dist/discovery/cli.d.ts +8 -0
- package/dist/discovery/cli.js +122 -0
- package/dist/discovery/cli.js.map +1 -0
- package/dist/git-command.d.ts +7 -0
- package/dist/git-command.js +8 -0
- package/dist/git-command.js.map +1 -0
- package/dist/git-diff-base.d.ts +41 -0
- package/dist/git-diff-base.js +116 -0
- package/dist/git-diff-base.js.map +1 -0
- package/dist/git-index-copy.d.ts +4 -0
- package/dist/git-index-copy.js +10 -0
- package/dist/git-index-copy.js.map +1 -0
- package/dist/git-private-index.d.ts +11 -0
- package/dist/git-private-index.js +51 -0
- package/dist/git-private-index.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-lock-helper.d.ts +7 -0
- package/dist/git-worktree-lock-helper.js +178 -0
- package/dist/git-worktree-lock-helper.js.map +1 -0
- package/dist/git-worktree-lock.d.ts +17 -0
- package/dist/git-worktree-lock.js +90 -0
- package/dist/git-worktree-lock.js.map +1 -0
- 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 +148 -0
- package/dist/git-worktree.js +858 -0
- package/dist/git-worktree.js.map +1 -0
- package/dist/handoff.d.ts +72 -0
- package/dist/handoff.js +213 -0
- package/dist/handoff.js.map +1 -0
- package/dist/headless-run.d.ts +48 -0
- package/dist/headless-run.js +158 -0
- package/dist/headless-run.js.map +1 -0
- package/dist/home/boundary.d.ts +5 -0
- package/dist/home/boundary.js +76 -0
- package/dist/home/boundary.js.map +1 -0
- package/dist/home/changes.d.ts +3 -0
- package/dist/home/changes.js +11 -0
- package/dist/home/changes.js.map +1 -0
- package/dist/home/command.d.ts +9 -0
- package/dist/home/command.js +37 -0
- package/dist/home/command.js.map +1 -0
- package/dist/home/deprecation.d.ts +9 -0
- package/dist/home/deprecation.js +17 -0
- package/dist/home/deprecation.js.map +1 -0
- package/dist/home/display.d.ts +4 -0
- package/dist/home/display.js +11 -0
- package/dist/home/display.js.map +1 -0
- package/dist/home/entry-authorization.d.ts +17 -0
- package/dist/home/entry-authorization.js +39 -0
- package/dist/home/entry-authorization.js.map +1 -0
- package/dist/home/entry.d.ts +16 -0
- package/dist/home/entry.js +96 -0
- package/dist/home/entry.js.map +1 -0
- package/dist/home/file-location.d.ts +14 -0
- package/dist/home/file-location.js +24 -0
- package/dist/home/file-location.js.map +1 -0
- package/dist/home/home.d.ts +42 -0
- package/dist/home/home.js +70 -0
- package/dist/home/home.js.map +1 -0
- package/dist/home/identity.d.ts +22 -0
- package/dist/home/identity.js +25 -0
- package/dist/home/identity.js.map +1 -0
- package/dist/home/install-marker.d.ts +27 -0
- package/dist/home/install-marker.js +78 -0
- package/dist/home/install-marker.js.map +1 -0
- package/dist/home/kind-roots.d.ts +10 -0
- package/dist/home/kind-roots.js +36 -0
- package/dist/home/kind-roots.js.map +1 -0
- package/dist/home/leases.d.ts +14 -0
- package/dist/home/leases.js +55 -0
- package/dist/home/leases.js.map +1 -0
- package/dist/home/legacy-account-paths.d.ts +4 -0
- package/dist/home/legacy-account-paths.js +41 -0
- package/dist/home/legacy-account-paths.js.map +1 -0
- package/dist/home/legacy-merge.d.ts +3 -0
- package/dist/home/legacy-merge.js +45 -0
- package/dist/home/legacy-merge.js.map +1 -0
- package/dist/home/legacy-recovery.d.ts +5 -0
- package/dist/home/legacy-recovery.js +154 -0
- package/dist/home/legacy-recovery.js.map +1 -0
- package/dist/home/legacy-source.d.ts +15 -0
- package/dist/home/legacy-source.js +57 -0
- package/dist/home/legacy-source.js.map +1 -0
- package/dist/home/migrate.d.ts +19 -0
- package/dist/home/migrate.js +322 -0
- package/dist/home/migrate.js.map +1 -0
- package/dist/home/migration-account-source.d.ts +2 -0
- package/dist/home/migration-account-source.js +17 -0
- package/dist/home/migration-account-source.js.map +1 -0
- package/dist/home/migration-accounts.d.ts +23 -0
- package/dist/home/migration-accounts.js +174 -0
- package/dist/home/migration-accounts.js.map +1 -0
- package/dist/home/migration-boot.d.ts +23 -0
- package/dist/home/migration-boot.js +84 -0
- package/dist/home/migration-boot.js.map +1 -0
- package/dist/home/migration-claim.d.ts +4 -0
- package/dist/home/migration-claim.js +69 -0
- package/dist/home/migration-claim.js.map +1 -0
- package/dist/home/migration-cli.d.ts +3 -0
- package/dist/home/migration-cli.js +64 -0
- package/dist/home/migration-cli.js.map +1 -0
- package/dist/home/migration-files.d.ts +14 -0
- package/dist/home/migration-files.js +192 -0
- package/dist/home/migration-files.js.map +1 -0
- package/dist/home/migration-guard.d.ts +2 -0
- package/dist/home/migration-guard.js +20 -0
- package/dist/home/migration-guard.js.map +1 -0
- package/dist/home/migration-plan.d.ts +20 -0
- package/dist/home/migration-plan.js +71 -0
- package/dist/home/migration-plan.js.map +1 -0
- package/dist/home/migration-record.d.ts +79 -0
- package/dist/home/migration-record.js +39 -0
- package/dist/home/migration-record.js.map +1 -0
- package/dist/home/private-files.d.ts +13 -0
- package/dist/home/private-files.js +113 -0
- package/dist/home/private-files.js.map +1 -0
- package/dist/home/process-identity.d.ts +2 -0
- package/dist/home/process-identity.js +8 -0
- package/dist/home/process-identity.js.map +1 -0
- package/dist/home/protected-roots.d.ts +25 -0
- package/dist/home/protected-roots.js +91 -0
- package/dist/home/protected-roots.js.map +1 -0
- package/dist/home/recovery-watch.d.ts +3 -0
- package/dist/home/recovery-watch.js +75 -0
- package/dist/home/recovery-watch.js.map +1 -0
- package/dist/home/recovery.d.ts +10 -0
- package/dist/home/recovery.js +94 -0
- package/dist/home/recovery.js.map +1 -0
- package/dist/home/registry-content.d.ts +2 -0
- package/dist/home/registry-content.js +17 -0
- package/dist/home/registry-content.js.map +1 -0
- package/dist/home/reset-detection.d.ts +5 -0
- package/dist/home/reset-detection.js +22 -0
- package/dist/home/reset-detection.js.map +1 -0
- package/dist/home/resolve.d.ts +10 -0
- package/dist/home/resolve.js +28 -0
- package/dist/home/resolve.js.map +1 -0
- package/dist/home/store.d.ts +48 -0
- package/dist/home/store.js +324 -0
- package/dist/home/store.js.map +1 -0
- package/dist/home/switch.d.ts +2 -0
- package/dist/home/switch.js +3 -0
- package/dist/home/switch.js.map +1 -0
- package/dist/home/version-log.d.ts +48 -0
- package/dist/home/version-log.js +216 -0
- package/dist/home/version-log.js.map +1 -0
- package/dist/home/write-lock.d.ts +6 -0
- package/dist/home/write-lock.js +96 -0
- package/dist/home/write-lock.js.map +1 -0
- package/dist/hsq.d.ts +2 -0
- package/dist/hsq.js +3 -0
- package/dist/hsq.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +123 -0
- package/dist/index.js.map +1 -0
- package/dist/install-as-command.d.ts +32 -0
- package/dist/install-as-command.js +55 -0
- package/dist/install-as-command.js.map +1 -0
- package/dist/jobs/cli.d.ts +2 -0
- package/dist/jobs/cli.js +53 -0
- package/dist/jobs/cli.js.map +1 -0
- package/dist/jobs/command.d.ts +9 -0
- package/dist/jobs/command.js +19 -0
- package/dist/jobs/command.js.map +1 -0
- package/dist/jobs/job.d.ts +77 -0
- package/dist/jobs/job.js +252 -0
- package/dist/jobs/job.js.map +1 -0
- package/dist/merge-observations.d.ts +13 -0
- package/dist/merge-observations.js +55 -0
- package/dist/merge-observations.js.map +1 -0
- package/dist/merged-streams.d.ts +13 -0
- package/dist/merged-streams.js +33 -0
- package/dist/merged-streams.js.map +1 -0
- package/dist/open-url.d.ts +2 -0
- package/dist/open-url.js +10 -0
- package/dist/open-url.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 +118 -0
- package/dist/paths.js +192 -0
- package/dist/paths.js.map +1 -0
- package/dist/planner.d.ts +30 -0
- package/dist/planner.js +270 -0
- package/dist/planner.js.map +1 -0
- package/dist/preview/agent-address.d.ts +34 -0
- package/dist/preview/agent-address.js +52 -0
- package/dist/preview/agent-address.js.map +1 -0
- package/dist/preview/agent-marker.d.ts +17 -0
- package/dist/preview/agent-marker.js +71 -0
- package/dist/preview/agent-marker.js.map +1 -0
- package/dist/preview/browser-launch.d.ts +28 -0
- package/dist/preview/browser-launch.js +64 -0
- package/dist/preview/browser-launch.js.map +1 -0
- package/dist/preview/cdp-proxy.d.ts +54 -0
- package/dist/preview/cdp-proxy.js +152 -0
- package/dist/preview/cdp-proxy.js.map +1 -0
- package/dist/preview/cdp.d.ts +49 -0
- package/dist/preview/cdp.js +167 -0
- package/dist/preview/cdp.js.map +1 -0
- package/dist/preview/chromium-launch-progress.d.ts +10 -0
- package/dist/preview/chromium-launch-progress.js +48 -0
- package/dist/preview/chromium-launch-progress.js.map +1 -0
- package/dist/preview/chromium.d.ts +91 -0
- package/dist/preview/chromium.js +500 -0
- package/dist/preview/chromium.js.map +1 -0
- package/dist/preview/density.d.ts +17 -0
- package/dist/preview/density.js +62 -0
- package/dist/preview/density.js.map +1 -0
- package/dist/preview/dev-server.d.ts +68 -0
- package/dist/preview/dev-server.js +318 -0
- package/dist/preview/dev-server.js.map +1 -0
- package/dist/preview/host.d.ts +215 -0
- package/dist/preview/host.js +954 -0
- package/dist/preview/host.js.map +1 -0
- package/dist/preview/registration.d.ts +68 -0
- package/dist/preview/registration.js +111 -0
- package/dist/preview/registration.js.map +1 -0
- package/dist/preview/run-tools.d.ts +9 -0
- package/dist/preview/run-tools.js +72 -0
- package/dist/preview/run-tools.js.map +1 -0
- package/dist/preview/session.d.ts +139 -0
- package/dist/preview/session.js +479 -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/process-wait/exit-file.d.ts +29 -0
- package/dist/process-wait/exit-file.js +67 -0
- package/dist/process-wait/exit-file.js.map +1 -0
- package/dist/process-wait/supervisor.d.ts +30 -0
- package/dist/process-wait/supervisor.js +71 -0
- package/dist/process-wait/supervisor.js.map +1 -0
- package/dist/project-commands.d.ts +14 -0
- package/dist/project-commands.js +91 -0
- package/dist/project-commands.js.map +1 -0
- package/dist/project-migration/answer.d.ts +23 -0
- package/dist/project-migration/answer.js +37 -0
- package/dist/project-migration/answer.js.map +1 -0
- package/dist/project-migration/auto.d.ts +73 -0
- package/dist/project-migration/auto.js +161 -0
- package/dist/project-migration/auto.js.map +1 -0
- package/dist/project-migration/cli.d.ts +18 -0
- package/dist/project-migration/cli.js +57 -0
- package/dist/project-migration/cli.js.map +1 -0
- package/dist/project-migration/containment.d.ts +52 -0
- package/dist/project-migration/containment.js +200 -0
- package/dist/project-migration/containment.js.map +1 -0
- package/dist/project-migration/durable.d.ts +25 -0
- package/dist/project-migration/durable.js +69 -0
- package/dist/project-migration/durable.js.map +1 -0
- package/dist/project-migration/engine.d.ts +47 -0
- package/dist/project-migration/engine.js +103 -0
- package/dist/project-migration/engine.js.map +1 -0
- package/dist/project-migration/fresh.d.ts +4 -0
- package/dist/project-migration/fresh.js +25 -0
- package/dist/project-migration/fresh.js.map +1 -0
- package/dist/project-migration/journal.d.ts +139 -0
- package/dist/project-migration/journal.js +69 -0
- package/dist/project-migration/journal.js.map +1 -0
- package/dist/project-migration/live.d.ts +48 -0
- package/dist/project-migration/live.js +148 -0
- package/dist/project-migration/live.js.map +1 -0
- package/dist/project-migration/offline.d.ts +25 -0
- package/dist/project-migration/offline.js +54 -0
- package/dist/project-migration/offline.js.map +1 -0
- package/dist/project-migration/plan.d.ts +91 -0
- package/dist/project-migration/plan.js +466 -0
- package/dist/project-migration/plan.js.map +1 -0
- package/dist/project-migration/recovery.d.ts +28 -0
- package/dist/project-migration/recovery.js +78 -0
- package/dist/project-migration/recovery.js.map +1 -0
- package/dist/project-migration/steps.d.ts +18 -0
- package/dist/project-migration/steps.js +312 -0
- package/dist/project-migration/steps.js.map +1 -0
- package/dist/project-paths.d.ts +61 -0
- package/dist/project-paths.js +185 -0
- package/dist/project-paths.js.map +1 -0
- package/dist/release/compatibility.d.ts +12 -0
- package/dist/release/compatibility.js +62 -0
- package/dist/release/compatibility.js.map +1 -0
- package/dist/release/manifests.d.ts +112 -0
- package/dist/release/manifests.js +104 -0
- package/dist/release/manifests.js.map +1 -0
- package/dist/release/publication.d.ts +3 -0
- package/dist/release/publication.js +34 -0
- package/dist/release/publication.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/remote-settings-cli.d.ts +24 -0
- package/dist/remote-settings-cli.js +156 -0
- package/dist/remote-settings-cli.js.map +1 -0
- package/dist/remote-settings.d.ts +41 -0
- package/dist/remote-settings.js +110 -0
- package/dist/remote-settings.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 +119 -0
- package/dist/runs/agent-tmpdir.js +855 -0
- package/dist/runs/agent-tmpdir.js.map +1 -0
- package/dist/runs/archive-family.d.ts +33 -0
- package/dist/runs/archive-family.js +90 -0
- package/dist/runs/archive-family.js.map +1 -0
- package/dist/runs/arm-repo-handle.d.ts +10 -0
- package/dist/runs/arm-repo-handle.js +45 -0
- package/dist/runs/arm-repo-handle.js.map +1 -0
- package/dist/runs/auto-name.d.ts +77 -0
- package/dist/runs/auto-name.js +179 -0
- package/dist/runs/auto-name.js.map +1 -0
- package/dist/runs/claim-families.d.ts +37 -0
- package/dist/runs/claim-families.js +101 -0
- package/dist/runs/claim-families.js.map +1 -0
- package/dist/runs/client-request.d.ts +11 -0
- package/dist/runs/client-request.js +26 -0
- package/dist/runs/client-request.js.map +1 -0
- package/dist/runs/cold-reads.d.ts +40 -0
- package/dist/runs/cold-reads.js +56 -0
- package/dist/runs/cold-reads.js.map +1 -0
- package/dist/runs/conversation-identity.d.ts +19 -0
- package/dist/runs/conversation-identity.js +31 -0
- package/dist/runs/conversation-identity.js.map +1 -0
- package/dist/runs/delegation-state.d.ts +409 -0
- package/dist/runs/delegation-state.js +22 -0
- package/dist/runs/delegation-state.js.map +1 -0
- package/dist/runs/event-history-agent-context.d.ts +15 -0
- package/dist/runs/event-history-agent-context.js +119 -0
- package/dist/runs/event-history-agent-context.js.map +1 -0
- package/dist/runs/event-history-context.d.ts +15 -0
- package/dist/runs/event-history-context.js +109 -0
- package/dist/runs/event-history-context.js.map +1 -0
- package/dist/runs/event-history.d.ts +53 -0
- package/dist/runs/event-history.js +563 -0
- package/dist/runs/event-history.js.map +1 -0
- package/dist/runs/exit-events.d.ts +27 -0
- package/dist/runs/exit-events.js +46 -0
- package/dist/runs/exit-events.js.map +1 -0
- 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 +464 -0
- package/dist/runs/history-file.js.map +1 -0
- package/dist/runs/history-stream.d.ts +2 -0
- package/dist/runs/history-stream.js +62 -0
- package/dist/runs/history-stream.js.map +1 -0
- package/dist/runs/legacy-index.d.ts +49 -0
- package/dist/runs/legacy-index.js +156 -0
- package/dist/runs/legacy-index.js.map +1 -0
- package/dist/runs/legacy-run-rows.d.ts +12 -0
- package/dist/runs/legacy-run-rows.js +33 -0
- package/dist/runs/legacy-run-rows.js.map +1 -0
- package/dist/runs/legacy-waits.d.ts +64 -0
- package/dist/runs/legacy-waits.js +335 -0
- package/dist/runs/legacy-waits.js.map +1 -0
- package/dist/runs/live-item-snapshots.d.ts +15 -0
- package/dist/runs/live-item-snapshots.js +95 -0
- package/dist/runs/live-item-snapshots.js.map +1 -0
- package/dist/runs/loaded-run-exits.d.ts +6 -0
- package/dist/runs/loaded-run-exits.js +32 -0
- package/dist/runs/loaded-run-exits.js.map +1 -0
- package/dist/runs/loaded-run-healing.d.ts +3 -0
- package/dist/runs/loaded-run-healing.js +17 -0
- package/dist/runs/loaded-run-healing.js.map +1 -0
- package/dist/runs/outcome-commit.d.ts +119 -0
- package/dist/runs/outcome-commit.js +155 -0
- package/dist/runs/outcome-commit.js.map +1 -0
- package/dist/runs/owned-run-create.d.ts +33 -0
- package/dist/runs/owned-run-create.js +98 -0
- package/dist/runs/owned-run-create.js.map +1 -0
- package/dist/runs/project-run-connection.d.ts +76 -0
- package/dist/runs/project-run-connection.js +287 -0
- package/dist/runs/project-run-connection.js.map +1 -0
- package/dist/runs/project-run-sources.d.ts +21 -0
- package/dist/runs/project-run-sources.js +86 -0
- package/dist/runs/project-run-sources.js.map +1 -0
- package/dist/runs/pull-requests.d.ts +14 -0
- package/dist/runs/pull-requests.js +96 -0
- package/dist/runs/pull-requests.js.map +1 -0
- package/dist/runs/raw-record.d.ts +40 -0
- package/dist/runs/raw-record.js +133 -0
- package/dist/runs/raw-record.js.map +1 -0
- package/dist/runs/record-write-rules.d.ts +129 -0
- package/dist/runs/record-write-rules.js +326 -0
- package/dist/runs/record-write-rules.js.map +1 -0
- package/dist/runs/report-rows.d.ts +36 -0
- package/dist/runs/report-rows.js +102 -0
- package/dist/runs/report-rows.js.map +1 -0
- package/dist/runs/retention.d.ts +91 -0
- package/dist/runs/retention.js +193 -0
- package/dist/runs/retention.js.map +1 -0
- package/dist/runs/review-gate.d.ts +18 -0
- package/dist/runs/review-gate.js +22 -0
- package/dist/runs/review-gate.js.map +1 -0
- package/dist/runs/run-claims.d.ts +30 -0
- package/dist/runs/run-claims.js +52 -0
- package/dist/runs/run-claims.js.map +1 -0
- package/dist/runs/run-database-peer-page.d.ts +12 -0
- package/dist/runs/run-database-peer-page.js +25 -0
- package/dist/runs/run-database-peer-page.js.map +1 -0
- package/dist/runs/run-database-row.d.ts +39 -0
- package/dist/runs/run-database-row.js +83 -0
- package/dist/runs/run-database-row.js.map +1 -0
- package/dist/runs/run-database-version.d.ts +14 -0
- package/dist/runs/run-database-version.js +19 -0
- package/dist/runs/run-database-version.js.map +1 -0
- package/dist/runs/run-database.d.ts +389 -0
- package/dist/runs/run-database.js +957 -0
- package/dist/runs/run-database.js.map +1 -0
- package/dist/runs/run-exits.d.ts +4510 -0
- package/dist/runs/run-exits.js +191 -0
- package/dist/runs/run-exits.js.map +1 -0
- package/dist/runs/run-index.d.ts +36 -0
- package/dist/runs/run-index.js +262 -0
- package/dist/runs/run-index.js.map +1 -0
- package/dist/runs/run-references.d.ts +61 -0
- package/dist/runs/run-references.js +421 -0
- package/dist/runs/run-references.js.map +1 -0
- package/dist/runs/run-row.d.ts +14 -0
- package/dist/runs/run-row.js +56 -0
- package/dist/runs/run-row.js.map +1 -0
- package/dist/runs/run-summary-page.d.ts +36 -0
- package/dist/runs/run-summary-page.js +46 -0
- package/dist/runs/run-summary-page.js.map +1 -0
- package/dist/runs/run-title.d.ts +8 -0
- package/dist/runs/run-title.js +28 -0
- package/dist/runs/run-title.js.map +1 -0
- package/dist/runs/store-open-error.d.ts +24 -0
- package/dist/runs/store-open-error.js +62 -0
- package/dist/runs/store-open-error.js.map +1 -0
- package/dist/runs/store.d.ts +3974 -0
- package/dist/runs/store.js +3516 -0
- package/dist/runs/store.js.map +1 -0
- package/dist/runs/task-markers.d.ts +29 -0
- package/dist/runs/task-markers.js +78 -0
- package/dist/runs/task-markers.js.map +1 -0
- package/dist/runs/task-refs.d.ts +39 -0
- package/dist/runs/task-refs.js +107 -0
- package/dist/runs/task-refs.js.map +1 -0
- package/dist/runs/transcript-facts-fold.d.ts +64 -0
- package/dist/runs/transcript-facts-fold.js +109 -0
- package/dist/runs/transcript-facts-fold.js.map +1 -0
- package/dist/runs/transcript-facts-load.d.ts +11 -0
- package/dist/runs/transcript-facts-load.js +66 -0
- package/dist/runs/transcript-facts-load.js.map +1 -0
- package/dist/runs/transcript-facts-queue.d.ts +30 -0
- package/dist/runs/transcript-facts-queue.js +227 -0
- package/dist/runs/transcript-facts-queue.js.map +1 -0
- package/dist/runs/transcript-facts-worker.d.ts +15 -0
- package/dist/runs/transcript-facts-worker.js +26 -0
- package/dist/runs/transcript-facts-worker.js.map +1 -0
- package/dist/runs/transcript-facts.d.ts +40 -0
- package/dist/runs/transcript-facts.js +193 -0
- package/dist/runs/transcript-facts.js.map +1 -0
- package/dist/runs/ui-event-sink.d.ts +59 -0
- package/dist/runs/ui-event-sink.js +197 -0
- package/dist/runs/ui-event-sink.js.map +1 -0
- package/dist/runs/wait-capacity.d.ts +8 -0
- package/dist/runs/wait-capacity.js +28 -0
- package/dist/runs/wait-capacity.js.map +1 -0
- package/dist/runs/wait-phases.d.ts +4 -0
- package/dist/runs/wait-phases.js +11 -0
- package/dist/runs/wait-phases.js.map +1 -0
- package/dist/runs/wait-registration-write.d.ts +5 -0
- package/dist/runs/wait-registration-write.js +35 -0
- package/dist/runs/wait-registration-write.js.map +1 -0
- package/dist/runs/webhook.d.ts +193 -0
- package/dist/runs/webhook.js +362 -0
- package/dist/runs/webhook.js.map +1 -0
- package/dist/runs/worker-deletion-proof.d.ts +13 -0
- package/dist/runs/worker-deletion-proof.js +13 -0
- package/dist/runs/worker-deletion-proof.js.map +1 -0
- 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/runs/worker-resource-holders.d.ts +17 -0
- package/dist/runs/worker-resource-holders.js +34 -0
- package/dist/runs/worker-resource-holders.js.map +1 -0
- package/dist/runs/worker-result-commit.d.ts +26 -0
- package/dist/runs/worker-result-commit.js +121 -0
- package/dist/runs/worker-result-commit.js.map +1 -0
- package/dist/self-update/checkouts.d.ts +46 -0
- package/dist/self-update/checkouts.js +284 -0
- package/dist/self-update/checkouts.js.map +1 -0
- package/dist/self-update/cli.d.ts +19 -0
- package/dist/self-update/cli.js +243 -0
- package/dist/self-update/cli.js.map +1 -0
- package/dist/self-update/installer.d.ts +24 -0
- package/dist/self-update/installer.js +139 -0
- package/dist/self-update/installer.js.map +1 -0
- package/dist/self-update/launcher.d.ts +30 -0
- package/dist/self-update/launcher.js +172 -0
- package/dist/self-update/launcher.js.map +1 -0
- package/dist/self-update/layout.d.ts +108 -0
- package/dist/self-update/layout.js +276 -0
- package/dist/self-update/layout.js.map +1 -0
- package/dist/self-update/pulls.d.ts +30 -0
- package/dist/self-update/pulls.js +128 -0
- package/dist/self-update/pulls.js.map +1 -0
- package/dist/self-update/registry.d.ts +37 -0
- package/dist/self-update/registry.js +86 -0
- package/dist/self-update/registry.js.map +1 -0
- package/dist/self-update/restart.d.ts +25 -0
- package/dist/self-update/restart.js +79 -0
- package/dist/self-update/restart.js.map +1 -0
- package/dist/self-update/semver.d.ts +19 -0
- package/dist/self-update/semver.js +79 -0
- package/dist/self-update/semver.js.map +1 -0
- package/dist/self-update/service.d.ts +115 -0
- package/dist/self-update/service.js +332 -0
- package/dist/self-update/service.js.map +1 -0
- package/dist/self-update/supervisor.d.ts +10 -0
- package/dist/self-update/supervisor.js +52 -0
- package/dist/self-update/supervisor.js.map +1 -0
- package/dist/serve-boot.d.ts +60 -0
- package/dist/serve-boot.js +142 -0
- package/dist/serve-boot.js.map +1 -0
- package/dist/serve-command.d.ts +71 -0
- package/dist/serve-command.js +168 -0
- package/dist/serve-command.js.map +1 -0
- package/dist/serve-listener.d.ts +12 -0
- package/dist/serve-listener.js +52 -0
- package/dist/serve-listener.js.map +1 -0
- package/dist/server/activity-project-topic.d.ts +44 -0
- package/dist/server/activity-project-topic.js +137 -0
- package/dist/server/activity-project-topic.js.map +1 -0
- package/dist/server/activity-routes.d.ts +317 -0
- package/dist/server/activity-routes.js +117 -0
- package/dist/server/activity-routes.js.map +1 -0
- package/dist/server/activity-sources.d.ts +26 -0
- package/dist/server/activity-sources.js +45 -0
- package/dist/server/activity-sources.js.map +1 -0
- package/dist/server/activity-topic.d.ts +33 -0
- package/dist/server/activity-topic.js +48 -0
- package/dist/server/activity-topic.js.map +1 -0
- package/dist/server/app-type.d.ts +6 -0
- package/dist/server/app-type.js +2 -0
- package/dist/server/app-type.js.map +1 -0
- package/dist/server/archive-on-merge.d.ts +45 -0
- package/dist/server/archive-on-merge.js +242 -0
- package/dist/server/archive-on-merge.js.map +1 -0
- package/dist/server/automation-log-retry.d.ts +27 -0
- package/dist/server/automation-log-retry.js +88 -0
- package/dist/server/automation-log-retry.js.map +1 -0
- package/dist/server/capabilities.d.ts +69 -0
- package/dist/server/capabilities.js +111 -0
- package/dist/server/capabilities.js.map +1 -0
- package/dist/server/checkout-progress.d.ts +10 -0
- package/dist/server/checkout-progress.js +27 -0
- package/dist/server/checkout-progress.js.map +1 -0
- package/dist/server/checkout.d.ts +153 -0
- package/dist/server/checkout.js +323 -0
- package/dist/server/checkout.js.map +1 -0
- package/dist/server/cockpit-ownership.d.ts +112 -0
- package/dist/server/cockpit-ownership.js +420 -0
- package/dist/server/cockpit-ownership.js.map +1 -0
- package/dist/server/cold-repo-handles.d.ts +17 -0
- package/dist/server/cold-repo-handles.js +82 -0
- package/dist/server/cold-repo-handles.js.map +1 -0
- package/dist/server/completion-actions.d.ts +37 -0
- package/dist/server/completion-actions.js +261 -0
- package/dist/server/completion-actions.js.map +1 -0
- package/dist/server/config-merge.d.ts +11 -0
- package/dist/server/config-merge.js +74 -0
- package/dist/server/config-merge.js.map +1 -0
- package/dist/server/create-project.d.ts +71 -0
- package/dist/server/create-project.js +467 -0
- package/dist/server/create-project.js.map +1 -0
- package/dist/server/forge/draft-pr.d.ts +8 -0
- package/dist/server/forge/draft-pr.js +123 -0
- package/dist/server/forge/draft-pr.js.map +1 -0
- package/dist/server/forge/github-filters.d.ts +22 -0
- package/dist/server/forge/github-filters.js +128 -0
- package/dist/server/forge/github-filters.js.map +1 -0
- package/dist/server/forge/github-merge-requirements.d.ts +18 -0
- package/dist/server/forge/github-merge-requirements.js +148 -0
- package/dist/server/forge/github-merge-requirements.js.map +1 -0
- package/dist/server/forge/github-merge-state.d.ts +27 -0
- package/dist/server/forge/github-merge-state.js +248 -0
- package/dist/server/forge/github-merge-state.js.map +1 -0
- package/dist/server/forge/github-timeline.d.ts +117 -0
- package/dist/server/forge/github-timeline.js +273 -0
- package/dist/server/forge/github-timeline.js.map +1 -0
- package/dist/server/forge/github.d.ts +393 -0
- package/dist/server/forge/github.js +2881 -0
- package/dist/server/forge/github.js.map +1 -0
- package/dist/server/forge/index.d.ts +47 -0
- package/dist/server/forge/index.js +81 -0
- package/dist/server/forge/index.js.map +1 -0
- package/dist/server/forge/repo-handle-discovery.d.ts +16 -0
- package/dist/server/forge/repo-handle-discovery.js +2 -0
- package/dist/server/forge/repo-handle-discovery.js.map +1 -0
- package/dist/server/forge/types.d.ts +278 -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 +82 -0
- package/dist/server/fs-browse.js +217 -0
- package/dist/server/fs-browse.js.map +1 -0
- package/dist/server/git-changes.d.ts +205 -0
- package/dist/server/git-changes.js +531 -0
- package/dist/server/git-changes.js.map +1 -0
- package/dist/server/git.d.ts +52 -0
- package/dist/server/git.js +174 -0
- package/dist/server/git.js.map +1 -0
- package/dist/server/home-recovery-routes.d.ts +171 -0
- package/dist/server/home-recovery-routes.js +56 -0
- package/dist/server/home-recovery-routes.js.map +1 -0
- package/dist/server/launch-key.d.ts +5 -0
- package/dist/server/launch-key.js +35 -0
- package/dist/server/launch-key.js.map +1 -0
- package/dist/server/live-routes.d.ts +73 -0
- package/dist/server/live-routes.js +161 -0
- package/dist/server/live-routes.js.map +1 -0
- package/dist/server/open-in-app.d.ts +57 -0
- package/dist/server/open-in-app.js +178 -0
- package/dist/server/open-in-app.js.map +1 -0
- package/dist/server/open-in-targets.d.ts +53 -0
- package/dist/server/open-in-targets.js +112 -0
- package/dist/server/open-in-targets.js.map +1 -0
- package/dist/server/open-in-terminal.d.ts +73 -0
- package/dist/server/open-in-terminal.js +160 -0
- package/dist/server/open-in-terminal.js.map +1 -0
- package/dist/server/preview-cdp-socket.d.ts +21 -0
- package/dist/server/preview-cdp-socket.js +112 -0
- package/dist/server/preview-cdp-socket.js.map +1 -0
- package/dist/server/preview-socket.d.ts +36 -0
- package/dist/server/preview-socket.js +142 -0
- package/dist/server/preview-socket.js.map +1 -0
- package/dist/server/preview-sockets.d.ts +14 -0
- package/dist/server/preview-sockets.js +18 -0
- package/dist/server/preview-sockets.js.map +1 -0
- package/dist/server/project-context.d.ts +218 -0
- package/dist/server/project-context.js +525 -0
- package/dist/server/project-context.js.map +1 -0
- package/dist/server/project-run-files.d.ts +13 -0
- package/dist/server/project-run-files.js +52 -0
- package/dist/server/project-run-files.js.map +1 -0
- package/dist/server/provider-action-gate.d.ts +5 -0
- package/dist/server/provider-action-gate.js +28 -0
- package/dist/server/provider-action-gate.js.map +1 -0
- package/dist/server/provider-auth-runtime.d.ts +34 -0
- package/dist/server/provider-auth-runtime.js +118 -0
- package/dist/server/provider-auth-runtime.js.map +1 -0
- package/dist/server/repo-branch-forge.d.ts +61 -0
- package/dist/server/repo-branch-forge.js +158 -0
- package/dist/server/repo-branch-forge.js.map +1 -0
- package/dist/server/repo-branch-sweep.d.ts +21 -0
- package/dist/server/repo-branch-sweep.js +64 -0
- package/dist/server/repo-branch-sweep.js.map +1 -0
- package/dist/server/repo-branches.d.ts +103 -0
- package/dist/server/repo-branches.js +804 -0
- package/dist/server/repo-branches.js.map +1 -0
- package/dist/server/repo-pull.d.ts +18 -0
- package/dist/server/repo-pull.js +97 -0
- package/dist/server/repo-pull.js.map +1 -0
- package/dist/server/reports-api.d.ts +90 -0
- package/dist/server/reports-api.js +21 -0
- package/dist/server/reports-api.js.map +1 -0
- package/dist/server/reports-topic.d.ts +5 -0
- package/dist/server/reports-topic.js +37 -0
- package/dist/server/reports-topic.js.map +1 -0
- package/dist/server/run-checkout.d.ts +56 -0
- package/dist/server/run-checkout.js +141 -0
- package/dist/server/run-checkout.js.map +1 -0
- package/dist/server/run-event-feed.d.ts +20 -0
- package/dist/server/run-event-feed.js +203 -0
- package/dist/server/run-event-feed.js.map +1 -0
- package/dist/server/self-update-routes.d.ts +308 -0
- package/dist/server/self-update-routes.js +80 -0
- package/dist/server/self-update-routes.js.map +1 -0
- package/dist/server/server-deps.d.ts +40 -0
- package/dist/server/server-deps.js +132 -0
- package/dist/server/server-deps.js.map +1 -0
- package/dist/server/server.d.ts +35332 -0
- package/dist/server/server.js +5046 -0
- package/dist/server/server.js.map +1 -0
- package/dist/server/skill-sources.d.ts +264 -0
- package/dist/server/skill-sources.js +130 -0
- package/dist/server/skill-sources.js.map +1 -0
- package/dist/server/start-run-options.d.ts +84 -0
- package/dist/server/start-run-options.js +114 -0
- package/dist/server/start-run-options.js.map +1 -0
- package/dist/server/static-ui.d.ts +49 -0
- package/dist/server/static-ui.js +99 -0
- package/dist/server/static-ui.js.map +1 -0
- 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 +80 -0
- package/dist/server/validators.js +85 -0
- package/dist/server/validators.js.map +1 -0
- package/dist/server/workflow-files.d.ts +9 -0
- package/dist/server/workflow-files.js +27 -0
- package/dist/server/workflow-files.js.map +1 -0
- package/dist/server/workspace-config-patch.d.ts +11 -0
- package/dist/server/workspace-config-patch.js +75 -0
- package/dist/server/workspace-config-patch.js.map +1 -0
- package/dist/server/workspace-live-routes.d.ts +222 -0
- package/dist/server/workspace-live-routes.js +8 -0
- package/dist/server/workspace-live-routes.js.map +1 -0
- package/dist/server/workspace-projects.d.ts +51 -0
- package/dist/server/workspace-projects.js +161 -0
- package/dist/server/workspace-projects.js.map +1 -0
- package/dist/server/workspace-run-feed.d.ts +66 -0
- package/dist/server/workspace-run-feed.js +171 -0
- package/dist/server/workspace-run-feed.js.map +1 -0
- package/dist/server/ws.d.ts +80 -0
- package/dist/server/ws.js +280 -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-command.d.ts +53 -0
- package/dist/server-command.js +180 -0
- package/dist/server-command.js.map +1 -0
- package/dist/server-install/engine.d.ts +51 -0
- package/dist/server-install/engine.js +358 -0
- package/dist/server-install/engine.js.map +1 -0
- package/dist/server-install/group-migrate.d.ts +26 -0
- package/dist/server-install/group-migrate.js +241 -0
- package/dist/server-install/group-migrate.js.map +1 -0
- package/dist/server-install/migrate-cli.d.ts +12 -0
- package/dist/server-install/migrate-cli.js +44 -0
- package/dist/server-install/migrate-cli.js.map +1 -0
- package/dist/server-install/migrate-journal.d.ts +15 -0
- package/dist/server-install/migrate-journal.js +48 -0
- package/dist/server-install/migrate-journal.js.map +1 -0
- package/dist/server-install/migration-report.d.ts +3 -0
- package/dist/server-install/migration-report.js +21 -0
- package/dist/server-install/migration-report.js.map +1 -0
- package/dist/server-install/npx-cache.d.ts +34 -0
- package/dist/server-install/npx-cache.js +142 -0
- package/dist/server-install/npx-cache.js.map +1 -0
- package/dist/server-install/platforms/macosx-launchd-files.d.ts +11 -0
- package/dist/server-install/platforms/macosx-launchd-files.js +60 -0
- package/dist/server-install/platforms/macosx-launchd-files.js.map +1 -0
- package/dist/server-install/platforms/macosx-migration.d.ts +17 -0
- package/dist/server-install/platforms/macosx-migration.js +239 -0
- package/dist/server-install/platforms/macosx-migration.js.map +1 -0
- package/dist/server-install/platforms/macosx-ngrok.d.ts +12 -0
- package/dist/server-install/platforms/macosx-ngrok.js +490 -0
- package/dist/server-install/platforms/macosx-ngrok.js.map +1 -0
- package/dist/server-install/platforms/service-env.d.ts +4 -0
- package/dist/server-install/platforms/service-env.js +17 -0
- package/dist/server-install/platforms/service-env.js.map +1 -0
- package/dist/server-install/platforms/ubuntu-vps-files.d.ts +18 -0
- package/dist/server-install/platforms/ubuntu-vps-files.js +43 -0
- package/dist/server-install/platforms/ubuntu-vps-files.js.map +1 -0
- package/dist/server-install/platforms/ubuntu-vps-migration.d.ts +26 -0
- package/dist/server-install/platforms/ubuntu-vps-migration.js +391 -0
- package/dist/server-install/platforms/ubuntu-vps-migration.js.map +1 -0
- package/dist/server-install/platforms/ubuntu-vps-names.d.ts +30 -0
- package/dist/server-install/platforms/ubuntu-vps-names.js +50 -0
- package/dist/server-install/platforms/ubuntu-vps-names.js.map +1 -0
- package/dist/server-install/platforms/ubuntu-vps-redeploy.d.ts +42 -0
- package/dist/server-install/platforms/ubuntu-vps-redeploy.js +127 -0
- package/dist/server-install/platforms/ubuntu-vps-redeploy.js.map +1 -0
- package/dist/server-install/platforms/ubuntu-vps.d.ts +57 -0
- package/dist/server-install/platforms/ubuntu-vps.js +945 -0
- package/dist/server-install/platforms/ubuntu-vps.js.map +1 -0
- package/dist/server-install/state.d.ts +51 -0
- package/dist/server-install/state.js +178 -0
- package/dist/server-install/state.js.map +1 -0
- package/dist/server-install/steps.d.ts +108 -0
- package/dist/server-install/steps.js +348 -0
- package/dist/server-install/steps.js.map +1 -0
- package/dist/server-install/strategies.d.ts +6 -0
- package/dist/server-install/strategies.js +24 -0
- package/dist/server-install/strategies.js.map +1 -0
- package/dist/server-install/types.d.ts +316 -0
- package/dist/server-install/types.js +118 -0
- package/dist/server-install/types.js.map +1 -0
- package/dist/server-install/ui.d.ts +36 -0
- package/dist/server-install/ui.js +131 -0
- package/dist/server-install/ui.js.map +1 -0
- package/dist/session-context.d.ts +66 -0
- package/dist/session-context.js +266 -0
- package/dist/session-context.js.map +1 -0
- package/dist/skills-provision.d.ts +64 -0
- package/dist/skills-provision.js +325 -0
- package/dist/skills-provision.js.map +1 -0
- package/dist/skills-remote.d.ts +144 -0
- package/dist/skills-remote.js +847 -0
- package/dist/skills-remote.js.map +1 -0
- package/dist/skills.d.ts +81 -0
- package/dist/skills.js +288 -0
- package/dist/skills.js.map +1 -0
- package/dist/subcommands.d.ts +12 -0
- package/dist/subcommands.js +59 -0
- package/dist/subcommands.js.map +1 -0
- package/dist/task-cli/cli.d.ts +39 -0
- package/dist/task-cli/cli.js +773 -0
- package/dist/task-cli/cli.js.map +1 -0
- package/dist/task-cli/discovery.d.ts +32 -0
- package/dist/task-cli/discovery.js +133 -0
- package/dist/task-cli/discovery.js.map +1 -0
- package/dist/task-cli/hint.d.ts +20 -0
- package/dist/task-cli/hint.js +15 -0
- package/dist/task-cli/hint.js.map +1 -0
- package/dist/task-cli/http.d.ts +42 -0
- package/dist/task-cli/http.js +110 -0
- package/dist/task-cli/http.js.map +1 -0
- package/dist/task-cli/projections.d.ts +68 -0
- package/dist/task-cli/projections.js +76 -0
- package/dist/task-cli/projections.js.map +1 -0
- package/dist/task-cli/watch.d.ts +119 -0
- package/dist/task-cli/watch.js +494 -0
- package/dist/task-cli/watch.js.map +1 -0
- package/dist/ui-state.d.ts +41 -0
- package/dist/ui-state.js +93 -0
- package/dist/ui-state.js.map +1 -0
- package/dist/update-check.d.ts +2 -0
- package/dist/update-check.js +28 -0
- package/dist/update-check.js.map +1 -0
- package/dist/use-command-notice.d.ts +1 -0
- package/dist/use-command-notice.js +6 -0
- package/dist/use-command-notice.js.map +1 -0
- package/dist/voice/decide.d.ts +35 -0
- package/dist/voice/decide.js +329 -0
- package/dist/voice/decide.js.map +1 -0
- package/dist/voice/decision-log.d.ts +48 -0
- package/dist/voice/decision-log.js +117 -0
- package/dist/voice/decision-log.js.map +1 -0
- package/dist/voice/engine.d.ts +119 -0
- package/dist/voice/engine.js +61 -0
- package/dist/voice/engine.js.map +1 -0
- package/dist/voice/fake-engine.d.ts +10 -0
- package/dist/voice/fake-engine.js +192 -0
- package/dist/voice/fake-engine.js.map +1 -0
- package/dist/voice/jev-engine.d.ts +17 -0
- package/dist/voice/jev-engine.js +110 -0
- package/dist/voice/jev-engine.js.map +1 -0
- package/dist/voice/pending-ask.d.ts +17 -0
- package/dist/voice/pending-ask.js +51 -0
- package/dist/voice/pending-ask.js.map +1 -0
- package/dist/voice/routes.d.ts +115 -0
- package/dist/voice/routes.js +92 -0
- package/dist/voice/routes.js.map +1 -0
- package/dist/voice/sentence.d.ts +21 -0
- package/dist/voice/sentence.js +61 -0
- package/dist/voice/sentence.js.map +1 -0
- package/dist/voice/thresholds.d.ts +28 -0
- package/dist/voice/thresholds.js +29 -0
- package/dist/voice/thresholds.js.map +1 -0
- package/dist/webhooks/cli.d.ts +18 -0
- package/dist/webhooks/cli.js +127 -0
- package/dist/webhooks/cli.js.map +1 -0
- package/dist/webhooks/prompt.d.ts +5 -0
- package/dist/webhooks/prompt.js +26 -0
- package/dist/webhooks/prompt.js.map +1 -0
- package/dist/workflows/active-run.d.ts +46 -0
- package/dist/workflows/active-run.js +46 -0
- package/dist/workflows/active-run.js.map +1 -0
- package/dist/workflows/attachment-path.d.ts +6 -0
- package/dist/workflows/attachment-path.js +40 -0
- package/dist/workflows/attachment-path.js.map +1 -0
- package/dist/workflows/completion-policy.d.ts +98 -0
- package/dist/workflows/completion-policy.js +77 -0
- package/dist/workflows/completion-policy.js.map +1 -0
- package/dist/workflows/continuation-admission.d.ts +1229 -0
- package/dist/workflows/continuation-admission.js +277 -0
- package/dist/workflows/continuation-admission.js.map +1 -0
- package/dist/workflows/execution-account.d.ts +13 -0
- package/dist/workflows/execution-account.js +18 -0
- package/dist/workflows/execution-account.js.map +1 -0
- package/dist/workflows/grouped-command.d.ts +31 -0
- package/dist/workflows/grouped-command.js +147 -0
- package/dist/workflows/grouped-command.js.map +1 -0
- package/dist/workflows/input-acknowledgement.d.ts +233 -0
- package/dist/workflows/input-acknowledgement.js +41 -0
- package/dist/workflows/input-acknowledgement.js.map +1 -0
- package/dist/workflows/line-order.d.ts +5 -0
- package/dist/workflows/line-order.js +25 -0
- package/dist/workflows/line-order.js.map +1 -0
- package/dist/workflows/load.d.ts +19 -0
- package/dist/workflows/load.js +74 -0
- package/dist/workflows/load.js.map +1 -0
- package/dist/workflows/outcome-batches.d.ts +32 -0
- package/dist/workflows/outcome-batches.js +55 -0
- package/dist/workflows/outcome-batches.js.map +1 -0
- package/dist/workflows/pasted-content.d.ts +60 -0
- package/dist/workflows/pasted-content.js +69 -0
- package/dist/workflows/pasted-content.js.map +1 -0
- package/dist/workflows/question-routing.d.ts +16 -0
- package/dist/workflows/question-routing.js +28 -0
- package/dist/workflows/question-routing.js.map +1 -0
- package/dist/workflows/run/attachment-writer.d.ts +34 -0
- package/dist/workflows/run/attachment-writer.js +98 -0
- package/dist/workflows/run/attachment-writer.js.map +1 -0
- package/dist/workflows/run/auto-resume.d.ts +91 -0
- package/dist/workflows/run/auto-resume.js +247 -0
- package/dist/workflows/run/auto-resume.js.map +1 -0
- package/dist/workflows/run/cezar-tools.d.ts +45 -0
- package/dist/workflows/run/cezar-tools.js +117 -0
- package/dist/workflows/run/cezar-tools.js.map +1 -0
- package/dist/workflows/run/completion-gate.d.ts +77 -0
- package/dist/workflows/run/completion-gate.js +93 -0
- package/dist/workflows/run/completion-gate.js.map +1 -0
- package/dist/workflows/run/compose.d.ts +181 -0
- package/dist/workflows/run/compose.js +413 -0
- package/dist/workflows/run/compose.js.map +1 -0
- package/dist/workflows/run/constants.d.ts +48 -0
- package/dist/workflows/run/constants.js +49 -0
- package/dist/workflows/run/constants.js.map +1 -0
- package/dist/workflows/run/continuation-acceptance.d.ts +70 -0
- package/dist/workflows/run/continuation-acceptance.js +188 -0
- package/dist/workflows/run/continuation-acceptance.js.map +1 -0
- package/dist/workflows/run/continuation-session.d.ts +130 -0
- package/dist/workflows/run/continuation-session.js +597 -0
- package/dist/workflows/run/continuation-session.js.map +1 -0
- package/dist/workflows/run/drop-active.d.ts +4 -0
- package/dist/workflows/run/drop-active.js +11 -0
- package/dist/workflows/run/drop-active.js.map +1 -0
- package/dist/workflows/run/family-reconciler.d.ts +78 -0
- package/dist/workflows/run/family-reconciler.js +308 -0
- package/dist/workflows/run/family-reconciler.js.map +1 -0
- package/dist/workflows/run/human-waits.d.ts +85 -0
- package/dist/workflows/run/human-waits.js +163 -0
- package/dist/workflows/run/human-waits.js.map +1 -0
- package/dist/workflows/run/inbox-claims.d.ts +38 -0
- package/dist/workflows/run/inbox-claims.js +108 -0
- package/dist/workflows/run/inbox-claims.js.map +1 -0
- package/dist/workflows/run/input-batch.d.ts +15 -0
- package/dist/workflows/run/input-batch.js +32 -0
- package/dist/workflows/run/input-batch.js.map +1 -0
- package/dist/workflows/run/input-delivery.d.ts +202 -0
- package/dist/workflows/run/input-delivery.js +818 -0
- package/dist/workflows/run/input-delivery.js.map +1 -0
- package/dist/workflows/run/input-receipts.d.ts +65 -0
- package/dist/workflows/run/input-receipts.js +221 -0
- package/dist/workflows/run/input-receipts.js.map +1 -0
- package/dist/workflows/run/input-timers.d.ts +10 -0
- package/dist/workflows/run/input-timers.js +32 -0
- package/dist/workflows/run/input-timers.js.map +1 -0
- package/dist/workflows/run/launch-context.d.ts +62 -0
- package/dist/workflows/run/launch-context.js +119 -0
- package/dist/workflows/run/launch-context.js.map +1 -0
- package/dist/workflows/run/launch-read-resolver.d.ts +510 -0
- package/dist/workflows/run/launch-read-resolver.js +658 -0
- package/dist/workflows/run/launch-read-resolver.js.map +1 -0
- package/dist/workflows/run/launch-settings.d.ts +10 -0
- package/dist/workflows/run/launch-settings.js +11 -0
- package/dist/workflows/run/launch-settings.js.map +1 -0
- package/dist/workflows/run/live-session-state.d.ts +49 -0
- package/dist/workflows/run/live-session-state.js +83 -0
- package/dist/workflows/run/live-session-state.js.map +1 -0
- package/dist/workflows/run/maintenance-claims.d.ts +47 -0
- package/dist/workflows/run/maintenance-claims.js +83 -0
- package/dist/workflows/run/maintenance-claims.js.map +1 -0
- package/dist/workflows/run/memory-guard.d.ts +25 -0
- package/dist/workflows/run/memory-guard.js +64 -0
- package/dist/workflows/run/memory-guard.js.map +1 -0
- package/dist/workflows/run/opening.d.ts +30 -0
- package/dist/workflows/run/opening.js +6 -0
- package/dist/workflows/run/opening.js.map +1 -0
- package/dist/workflows/run/pending-ask-facts.d.ts +10 -0
- package/dist/workflows/run/pending-ask-facts.js +19 -0
- package/dist/workflows/run/pending-ask-facts.js.map +1 -0
- package/dist/workflows/run/prompts.d.ts +74 -0
- package/dist/workflows/run/prompts.js +140 -0
- package/dist/workflows/run/prompts.js.map +1 -0
- package/dist/workflows/run/queued-input.d.ts +108 -0
- package/dist/workflows/run/queued-input.js +249 -0
- package/dist/workflows/run/queued-input.js.map +1 -0
- package/dist/workflows/run/queued-revival.d.ts +44 -0
- package/dist/workflows/run/queued-revival.js +124 -0
- package/dist/workflows/run/queued-revival.js.map +1 -0
- package/dist/workflows/run/readonly-collections.d.ts +24 -0
- package/dist/workflows/run/readonly-collections.js +33 -0
- package/dist/workflows/run/readonly-collections.js.map +1 -0
- package/dist/workflows/run/repo-root-lease.d.ts +34 -0
- package/dist/workflows/run/repo-root-lease.js +71 -0
- package/dist/workflows/run/repo-root-lease.js.map +1 -0
- package/dist/workflows/run/resolved-wait-input-batch.d.ts +7 -0
- package/dist/workflows/run/resolved-wait-input-batch.js +23 -0
- package/dist/workflows/run/resolved-wait-input-batch.js.map +1 -0
- package/dist/workflows/run/run-cancel.d.ts +36 -0
- package/dist/workflows/run/run-cancel.js +130 -0
- package/dist/workflows/run/run-cancel.js.map +1 -0
- package/dist/workflows/run/run-finish.d.ts +72 -0
- package/dist/workflows/run/run-finish.js +256 -0
- package/dist/workflows/run/run-finish.js.map +1 -0
- package/dist/workflows/run/run-guards.d.ts +15 -0
- package/dist/workflows/run/run-guards.js +39 -0
- package/dist/workflows/run/run-guards.js.map +1 -0
- package/dist/workflows/run/run-line.d.ts +187 -0
- package/dist/workflows/run/run-line.js +438 -0
- package/dist/workflows/run/run-line.js.map +1 -0
- package/dist/workflows/run/run-recovery.d.ts +116 -0
- package/dist/workflows/run/run-recovery.js +422 -0
- package/dist/workflows/run/run-recovery.js.map +1 -0
- package/dist/workflows/run/run-settlement.d.ts +177 -0
- package/dist/workflows/run/run-settlement.js +504 -0
- package/dist/workflows/run/run-settlement.js.map +1 -0
- package/dist/workflows/run/run-skills.d.ts +114 -0
- package/dist/workflows/run/run-skills.js +233 -0
- package/dist/workflows/run/run-skills.js.map +1 -0
- package/dist/workflows/run/run-start.d.ts +64 -0
- package/dist/workflows/run/run-start.js +126 -0
- package/dist/workflows/run/run-start.js.map +1 -0
- package/dist/workflows/run/run-workspace.d.ts +25 -0
- package/dist/workflows/run/run-workspace.js +66 -0
- package/dist/workflows/run/run-workspace.js.map +1 -0
- package/dist/workflows/run/session-events.d.ts +155 -0
- package/dist/workflows/run/session-events.js +282 -0
- package/dist/workflows/run/session-events.js.map +1 -0
- package/dist/workflows/run/step-decisions.d.ts +37 -0
- package/dist/workflows/run/step-decisions.js +43 -0
- package/dist/workflows/run/step-decisions.js.map +1 -0
- package/dist/workflows/run/step-loop.d.ts +143 -0
- package/dist/workflows/run/step-loop.js +488 -0
- package/dist/workflows/run/step-loop.js.map +1 -0
- package/dist/workflows/run/step-session.d.ts +65 -0
- package/dist/workflows/run/step-session.js +280 -0
- package/dist/workflows/run/step-session.js.map +1 -0
- package/dist/workflows/run/steps.d.ts +13 -0
- package/dist/workflows/run/steps.js +14 -0
- package/dist/workflows/run/steps.js.map +1 -0
- package/dist/workflows/run/subagent-waits.d.ts +138 -0
- package/dist/workflows/run/subagent-waits.js +305 -0
- package/dist/workflows/run/subagent-waits.js.map +1 -0
- package/dist/workflows/run/tracked-work.d.ts +12 -0
- package/dist/workflows/run/tracked-work.js +29 -0
- package/dist/workflows/run/tracked-work.js.map +1 -0
- package/dist/workflows/run/turn-bookkeeping.d.ts +67 -0
- package/dist/workflows/run/turn-bookkeeping.js +173 -0
- package/dist/workflows/run/turn-bookkeeping.js.map +1 -0
- package/dist/workflows/run/turn-boundary.d.ts +215 -0
- package/dist/workflows/run/turn-boundary.js +329 -0
- package/dist/workflows/run/turn-boundary.js.map +1 -0
- package/dist/workflows/run/turn-markers.d.ts +62 -0
- package/dist/workflows/run/turn-markers.js +86 -0
- package/dist/workflows/run/turn-markers.js.map +1 -0
- package/dist/workflows/run/turn-nudges.d.ts +104 -0
- package/dist/workflows/run/turn-nudges.js +244 -0
- package/dist/workflows/run/turn-nudges.js.map +1 -0
- package/dist/workflows/run/turn-settler.d.ts +161 -0
- package/dist/workflows/run/turn-settler.js +469 -0
- package/dist/workflows/run/turn-settler.js.map +1 -0
- package/dist/workflows/run/types.d.ts +293 -0
- package/dist/workflows/run/types.js +2 -0
- package/dist/workflows/run/types.js.map +1 -0
- package/dist/workflows/run/usage-accounting.d.ts +49 -0
- package/dist/workflows/run/usage-accounting.js +213 -0
- package/dist/workflows/run/usage-accounting.js.map +1 -0
- package/dist/workflows/run/wait-engine.d.ts +1210 -0
- package/dist/workflows/run/wait-engine.js +456 -0
- package/dist/workflows/run/wait-engine.js.map +1 -0
- package/dist/workflows/run/wait-kinds.d.ts +336 -0
- package/dist/workflows/run/wait-kinds.js +471 -0
- package/dist/workflows/run/wait-kinds.js.map +1 -0
- package/dist/workflows/run/wait-registration-tool.d.ts +3 -0
- package/dist/workflows/run/wait-registration-tool.js +68 -0
- package/dist/workflows/run/wait-registration-tool.js.map +1 -0
- package/dist/workflows/run/wait-registration.d.ts +7 -0
- package/dist/workflows/run/wait-registration.js +39 -0
- package/dist/workflows/run/wait-registration.js.map +1 -0
- package/dist/workflows/run/wait-registry.d.ts +120 -0
- package/dist/workflows/run/wait-registry.js +365 -0
- package/dist/workflows/run/wait-registry.js.map +1 -0
- package/dist/workflows/run/wait-watches.d.ts +13 -0
- package/dist/workflows/run/wait-watches.js +12 -0
- package/dist/workflows/run/wait-watches.js.map +1 -0
- package/dist/workflows/run/wake-admission.d.ts +150 -0
- package/dist/workflows/run/wake-admission.js +397 -0
- package/dist/workflows/run/wake-admission.js.map +1 -0
- package/dist/workflows/run/wake-ledger.d.ts +61 -0
- package/dist/workflows/run/wake-ledger.js +78 -0
- package/dist/workflows/run/wake-ledger.js.map +1 -0
- package/dist/workflows/run/wake-retries.d.ts +31 -0
- package/dist/workflows/run/wake-retries.js +93 -0
- package/dist/workflows/run/wake-retries.js.map +1 -0
- package/dist/workflows/run/worker-executions.d.ts +54 -0
- package/dist/workflows/run/worker-executions.js +149 -0
- package/dist/workflows/run/worker-executions.js.map +1 -0
- package/dist/workflows/run/worker-orphans.d.ts +91 -0
- package/dist/workflows/run/worker-orphans.js +275 -0
- package/dist/workflows/run/worker-orphans.js.map +1 -0
- package/dist/workflows/run/worker-questions.d.ts +169 -0
- package/dist/workflows/run/worker-questions.js +464 -0
- package/dist/workflows/run/worker-questions.js.map +1 -0
- package/dist/workflows/run/workflow-position.d.ts +7 -0
- package/dist/workflows/run/workflow-position.js +9 -0
- package/dist/workflows/run/workflow-position.js.map +1 -0
- package/dist/workflows/run/worktree-autosave.d.ts +48 -0
- package/dist/workflows/run/worktree-autosave.js +175 -0
- package/dist/workflows/run/worktree-autosave.js.map +1 -0
- package/dist/workflows/run-scheduling.d.ts +38 -0
- package/dist/workflows/run-scheduling.js +76 -0
- package/dist/workflows/run-scheduling.js.map +1 -0
- package/dist/workflows/run-states.d.ts +73 -0
- package/dist/workflows/run-states.js +233 -0
- package/dist/workflows/run-states.js.map +1 -0
- package/dist/workflows/run.d.ts +275 -0
- package/dist/workflows/run.js +626 -0
- package/dist/workflows/run.js.map +1 -0
- package/dist/workflows/turn-end.d.ts +119 -0
- package/dist/workflows/turn-end.js +74 -0
- package/dist/workflows/turn-end.js.map +1 -0
- package/dist/workflows/types.d.ts +83 -0
- package/dist/workflows/types.js +192 -0
- package/dist/workflows/types.js.map +1 -0
- package/dist/workflows/wait-scope.d.ts +75 -0
- package/dist/workflows/wait-scope.js +115 -0
- package/dist/workflows/wait-scope.js.map +1 -0
- package/dist/workflows/waits.d.ts +58 -0
- package/dist/workflows/waits.js +89 -0
- package/dist/workflows/waits.js.map +1 -0
- package/dist/workspace/agent-accounts.d.ts +135 -0
- package/dist/workspace/agent-accounts.js +353 -0
- package/dist/workspace/agent-accounts.js.map +1 -0
- package/dist/workspace/agent-profiles.d.ts +125 -0
- package/dist/workspace/agent-profiles.js +190 -0
- package/dist/workspace/agent-profiles.js.map +1 -0
- package/dist/workspace/backup-cli.d.ts +9 -0
- package/dist/workspace/backup-cli.js +147 -0
- package/dist/workspace/backup-cli.js.map +1 -0
- package/dist/workspace/backups.d.ts +36 -0
- package/dist/workspace/backups.js +249 -0
- package/dist/workspace/backups.js.map +1 -0
- package/dist/workspace/config.d.ts +179 -0
- package/dist/workspace/config.js +396 -0
- package/dist/workspace/config.js.map +1 -0
- package/dist/workspace/migrations.d.ts +37 -0
- package/dist/workspace/migrations.js +149 -0
- package/dist/workspace/migrations.js.map +1 -0
- package/dist/workspace/projects-cli.d.ts +27 -0
- package/dist/workspace/projects-cli.js +175 -0
- package/dist/workspace/projects-cli.js.map +1 -0
- package/dist/workspace/projects.d.ts +131 -0
- package/dist/workspace/projects.js +274 -0
- package/dist/workspace/projects.js.map +1 -0
- package/dist/workspace/root-probe-cache.d.ts +10 -0
- package/dist/workspace/root-probe-cache.js +43 -0
- package/dist/workspace/root-probe-cache.js.map +1 -0
- package/dist/workspace/semaphore.d.ts +147 -0
- package/dist/workspace/semaphore.js +196 -0
- package/dist/workspace/semaphore.js.map +1 -0
- package/dist/workspace/ui-state.d.ts +17 -0
- package/dist/workspace/ui-state.js +59 -0
- package/dist/workspace/ui-state.js.map +1 -0
- package/dist/workspace/webhooks.d.ts +40 -0
- package/dist/workspace/webhooks.js +146 -0
- package/dist/workspace/webhooks.js.map +1 -0
- package/dist/worktree-manifest.d.ts +165 -0
- package/dist/worktree-manifest.js +535 -0
- package/dist/worktree-manifest.js.map +1 -0
- package/dist/worktree-setup.d.ts +88 -0
- package/dist/worktree-setup.js +170 -0
- package/dist/worktree-setup.js.map +1 -0
- package/package.json +80 -4
- package/scripts/benchmark-family-reconcile.ts +119 -0
- package/scripts/benchmark-home.ts +32 -0
- package/scripts/benchmark-project-probes.mjs +158 -0
- package/scripts/benchmark-run-store-fixture.ts +432 -0
- package/scripts/benchmark-run-store.ts +767 -0
- package/scripts/benchmark-stuck-destroys.ts +144 -0
- package/scripts/benchmark-workspace-events.ts +339 -0
- package/scripts/check-pack.mjs +48 -0
- package/scripts/inline-contract.mjs +165 -0
- package/scripts/install-as-command.mjs +125 -0
- package/scripts/measure-transcript-facts-health.mjs +103 -0
- package/scripts/measure-transcript-facts-lag.mjs +69 -0
- package/scripts/mock-autonomous.mjs +13 -0
- package/scripts/mock-ci-tool.mjs +159 -0
- package/scripts/mock-claude-model-refusal.mjs +76 -0
- package/scripts/mock-claude-subagents.mjs +54 -0
- package/scripts/mock-claude.mjs +800 -0
- package/scripts/mock-codex-app-server.mjs +767 -0
- package/scripts/mock-codex-coalesce-steer.mjs +59 -0
- package/scripts/mock-codex-reverse-steer.mjs +143 -0
- package/scripts/mock-codex-subagents.mjs +52 -0
- package/scripts/mock-controls.d.mts +11 -0
- package/scripts/mock-controls.mjs +13 -0
- package/scripts/mock-cursor-hang-stdin-late.mjs +35 -0
- package/scripts/mock-cursor-hang-stdin.mjs +30 -0
- package/scripts/mock-cursor-print.mjs +237 -0
- package/scripts/mock-deferred-turn-start.mjs +16 -0
- package/scripts/mock-delivery-control.d.mts +23 -0
- package/scripts/mock-delivery-control.mjs +80 -0
- package/scripts/mock-env-record.mjs +11 -0
- package/scripts/mock-failure-control.d.mts +13 -0
- package/scripts/mock-failure-control.mjs +68 -0
- package/scripts/mock-lifecycle.mjs +51 -0
- package/scripts/mock-multi-pr.mjs +10 -0
- package/scripts/mock-nudge.mjs +43 -0
- package/scripts/mock-omp-rpc.mjs +536 -0
- package/scripts/mock-opencode-serve.mjs +1000 -0
- package/scripts/mock-pi-rpc.mjs +421 -0
- package/scripts/mock-publish.mjs +13 -0
- package/scripts/mock-runner-crash.mjs +64 -0
- package/scripts/mock-scenario.d.mts +71 -0
- package/scripts/mock-scenario.mjs +295 -0
- package/scripts/mock-session-context.d.mts +5 -0
- package/scripts/mock-session-context.mjs +56 -0
- package/scripts/mock-silent-tail.mjs +93 -0
- package/scripts/mock-turn-messages.mjs +5 -0
- package/scripts/mock-wire-evidence.config.mjs +12 -0
- package/scripts/mock-wire-recorder.mjs +66 -0
- package/scripts/mock-wire-tools.mjs +7 -0
- package/scripts/omp-ci-wait.mjs +29 -0
- package/scripts/opencode-task-scope.d.mts +18 -0
- package/scripts/opencode-task-scope.mjs +59 -0
- package/scripts/parity-rows.ts +160 -0
- package/scripts/pi-ci-wait.mjs +17 -0
- package/scripts/pi-default-tools.mjs +22 -0
- package/scripts/pi-project-skills.mjs +59 -0
- package/scripts/pi-retry-degraded-service.mjs +16 -0
- package/scripts/probe-cursor-print.mjs +699 -0
- package/scripts/probe-session-env.ts +8 -0
- package/scripts/product-env.mjs +6 -0
- package/scripts/product-identity.mjs +12 -0
- package/scripts/record-mock-wires.mjs +16 -0
- package/scripts/seed-archive-profile.ts +53 -0
- package/scripts/sync-readme.mjs +20 -0
- package/scripts/test-process-usage.mjs +47 -0
- package/scripts/transcript-facts-fixture.mjs +53 -0
- package/scripts/transcript-facts-timing.mjs +42 -0
- package/scripts/voice-replay.ts +50 -0
- package/scripts/windows-workspace-identity.cs +208 -0
- package/scripts/windows-workspace-identity.ps1 +10 -0
- package/web/dist/assets/activity-motion-0wHCeUs7.css +1 -0
- package/web/dist/assets/activity-motion-SGth5vR4.js +2 -0
- package/web/dist/assets/activity-route-D8otXwOA.js +1 -0
- package/web/dist/assets/agent-accounts-6EuZhy-N.js +18 -0
- package/web/dist/assets/alert-dialog-vFjLgfK4.js +1 -0
- package/web/dist/assets/app-window-CSHwDX9N.js +1 -0
- package/web/dist/assets/arrow-right-Dh_Lx3um.js +1 -0
- package/web/dist/assets/bundle-mjs-BT31bpU6.js +1 -0
- package/web/dist/assets/button-BEK7XKhS.js +3 -0
- package/web/dist/assets/centered-state-CPgI8cCO.js +1 -0
- package/web/dist/assets/cez-idle-BT0U4GN_.js +1 -0
- package/web/dist/assets/chunk-BO2N2NFS-DE6qKn3r.js +131 -0
- package/web/dist/assets/commit-diff-panel-DzyWgn1Z.js +1 -0
- package/web/dist/assets/control-locations-CexZsd3M.js +1 -0
- package/web/dist/assets/core-BCsw8oQw.js +12 -0
- package/web/dist/assets/createLucideIcon-BHp8sXmF.js +1 -0
- package/web/dist/assets/css-BsVw1vtW.js +1 -0
- package/web/dist/assets/design-icons-DmYTv2r1.js +1 -0
- package/web/dist/assets/diff-DBDiZl58.js +3 -0
- package/web/dist/assets/diff-controls-DXyB0aDl.js +1 -0
- package/web/dist/assets/diff-view-DiKAwVMH.js +11 -0
- package/web/dist/assets/diff-woXpYk--.js +1 -0
- package/web/dist/assets/dropdown-menu-DYflHa4m.js +1 -0
- package/web/dist/assets/engine-javascript-FQvzRocB.js +141 -0
- package/web/dist/assets/es2015-BO600Xfi.js +41 -0
- package/web/dist/assets/eye-B8okNWXU.js +1 -0
- package/web/dist/assets/file-preview-DTSRkmMo.js +2 -0
- package/web/dist/assets/git-toolbar-U4s46kUd.js +1 -0
- package/web/dist/assets/github-UaBp2yRF.js +1 -0
- package/web/dist/assets/github-sidebar-model-czjLsgVJ.js +1 -0
- package/web/dist/assets/global-activity-route-B2N2Nz0H.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/hourglass-B0lPAJvT.js +1 -0
- package/web/dist/assets/html-BY76lXLH.js +1 -0
- package/web/dist/assets/image-preview-XPCPclpG.js +1 -0
- package/web/dist/assets/index-B18AqW0Z.css +1 -0
- package/web/dist/assets/index-xj-3O89_.js +14 -0
- package/web/dist/assets/index.global-D3Ga_D3Y.js +1 -0
- package/web/dist/assets/info-DA1x_4bz.js +1 -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-BxQXEXDF.js +1 -0
- package/web/dist/assets/live-protocol-BDY7JJpT.js +64 -0
- package/web/dist/assets/live-refetch-C-Ony2Yr.js +1 -0
- package/web/dist/assets/live-worker-BWdeGzQX.ts +34 -0
- package/web/dist/assets/loader-circle-CZkGEdoI.js +1 -0
- package/web/dist/assets/markdown-BBDDg-4t.js +1 -0
- package/web/dist/assets/markdown-BYOwaDjH.js +1 -0
- package/web/dist/assets/markdown-UdZ_toya.js +6 -0
- package/web/dist/assets/mermaid-GHXKKRXX-C4jxqUUb.js +1 -0
- package/web/dist/assets/mermaid.min-3O9YjB2l.js +1 -0
- package/web/dist/assets/message-square-B-MD-8rD.js +1 -0
- package/web/dist/assets/nav-row-styles-BE99gD3_.js +1 -0
- package/web/dist/assets/popover-CpULuQSm.js +1 -0
- package/web/dist/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2 +0 -0
- package/web/dist/assets/poppins-devanagari-400-normal-CqVvlrh5.woff +0 -0
- package/web/dist/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2 +0 -0
- package/web/dist/assets/poppins-devanagari-500-normal-DMPDjHtT.woff +0 -0
- package/web/dist/assets/poppins-devanagari-600-normal-ClASKHrr.woff +0 -0
- package/web/dist/assets/poppins-devanagari-600-normal-STEjXBNN.woff2 +0 -0
- package/web/dist/assets/poppins-latin-400-normal-BOb3E3N0.woff +0 -0
- package/web/dist/assets/poppins-latin-400-normal-cpxAROuN.woff2 +0 -0
- package/web/dist/assets/poppins-latin-500-normal-C8OXljZJ.woff2 +0 -0
- package/web/dist/assets/poppins-latin-500-normal-DGXqpDMm.woff +0 -0
- package/web/dist/assets/poppins-latin-600-normal-BJdTmd5m.woff +0 -0
- package/web/dist/assets/poppins-latin-600-normal-zEkxB9Mr.woff2 +0 -0
- package/web/dist/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff +0 -0
- package/web/dist/assets/poppins-latin-ext-400-normal-by3JarPu.woff2 +0 -0
- package/web/dist/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2 +0 -0
- package/web/dist/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff +0 -0
- package/web/dist/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2 +0 -0
- package/web/dist/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff +0 -0
- package/web/dist/assets/preview-pane-connected-CgRK7GzB.js +3 -0
- package/web/dist/assets/project-router-CimAoN1H.js +1 -0
- package/web/dist/assets/project-scope-context-DMpvJqIm.js +4 -0
- package/web/dist/assets/python-gzcpVVnB.js +1 -0
- package/web/dist/assets/queries-BIOp8jLx.js +1 -0
- package/web/dist/assets/react-runtime-CCIEwYL0.js +9 -0
- package/web/dist/assets/repo-git-DVXNOJDT.css +1 -0
- package/web/dist/assets/repo-git-XkyTfP9G.js +1 -0
- package/web/dist/assets/report-reader-CZjYS5Aw.js +1 -0
- package/web/dist/assets/report-title-D4Mbu2Er.js +1 -0
- package/web/dist/assets/reports-B7QAzibP.css +1 -0
- package/web/dist/assets/reports-D_2sFE1y.js +1 -0
- package/web/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/web/dist/assets/run-header-BwPDVPpg.js +2 -0
- package/web/dist/assets/run-header-CC7VUTg9.css +1 -0
- package/web/dist/assets/rust-Cfkwpbl8.js +1 -0
- package/web/dist/assets/shellscript-CLZ0U2zV.js +1 -0
- package/web/dist/assets/skill-empty-hint-YDmkqgo-.js +1 -0
- package/web/dist/assets/skills-BkXe4p4q.js +1 -0
- package/web/dist/assets/skills-DFBiAuJG.js +1 -0
- package/web/dist/assets/skills-workflows-C21NystW.css +1 -0
- package/web/dist/assets/sortable.esm-zp_qkYGV.js +5 -0
- package/web/dist/assets/sql-BsFa4tDR.js +1 -0
- package/web/dist/assets/tab-link-BIweqlIZ.js +1 -0
- package/web/dist/assets/task-changes-USNHNm_T.js +1 -0
- package/web/dist/assets/task-commits-kHqlOJe_.js +1 -0
- package/web/dist/assets/task-files-wTWwLR39.js +1 -0
- package/web/dist/assets/task-github-item-GzaQjkF1.js +1 -0
- package/web/dist/assets/task-thread-BZX863UN.js +9 -0
- package/web/dist/assets/task-thread-DtQ6uGfQ.css +1 -0
- package/web/dist/assets/textarea-FAUkHz1K.js +1 -0
- package/web/dist/assets/thread-state-CBzx2hmX.js +4 -0
- package/web/dist/assets/toaster-pthKGWiE.js +1 -0
- package/web/dist/assets/toml-CcmNWLt0.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/use-hand-to-agent-state-Bav9eT3b.js +1 -0
- package/web/dist/assets/use-hand-to-agent-state-C7esPJ-N.css +1 -0
- package/web/dist/assets/useInfiniteQuery-CQI4BO4C.js +1 -0
- package/web/dist/assets/useQuery-Bkq-x4Id.js +1 -0
- package/web/dist/assets/workflows-D871Gx--.js +7 -0
- package/web/dist/assets/ws-DspW9wBH.js +1 -0
- package/web/dist/assets/yaml-rwi0_p6S.js +1 -0
- package/web/dist/assets/zoomable-image-DNc6ORaF.js +1 -0
- package/web/dist/cezarion-lockup-dark.svg +9 -0
- package/web/dist/cezarion-lockup-light.svg +9 -0
- package/web/dist/cezarion-mark-dark.svg +4 -0
- package/web/dist/cezarion-mark-light.svg +4 -0
- package/web/dist/index.html +90 -0
- package/web/dist/live-worker.js +4 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/preview-pane-connected-CgRK7GzB.js","assets/rolldown-runtime-QTnfLwEv.js","assets/button-BEK7XKhS.js","assets/react-runtime-CCIEwYL0.js","assets/bundle-mjs-BT31bpU6.js","assets/project-scope-context-DMpvJqIm.js","assets/live-protocol-BDY7JJpT.js","assets/toaster-pthKGWiE.js","assets/dropdown-menu-DYflHa4m.js","assets/es2015-BO600Xfi.js","assets/design-icons-DmYTv2r1.js","assets/loader-circle-CZkGEdoI.js","assets/createLucideIcon-BHp8sXmF.js","assets/arrow-right-Dh_Lx3um.js","assets/hourglass-B0lPAJvT.js","assets/info-DA1x_4bz.js","assets/thread-state-CBzx2hmX.js","assets/app-window-CSHwDX9N.js","assets/project-router-CimAoN1H.js","assets/report-reader-CZjYS5Aw.js","assets/queries-BIOp8jLx.js","assets/live-refetch-C-Ony2Yr.js","assets/useInfiniteQuery-CQI4BO4C.js","assets/useQuery-Bkq-x4Id.js","assets/ws-DspW9wBH.js","assets/file-preview-DTSRkmMo.js","assets/centered-state-CPgI8cCO.js","assets/markdown-UdZ_toya.js","assets/alert-dialog-vFjLgfK4.js","assets/chunk-BO2N2NFS-DE6qKn3r.js","assets/lib-BxQXEXDF.js","assets/task-thread-BZX863UN.js","assets/popover-CpULuQSm.js","assets/textarea-FAUkHz1K.js","assets/run-header-BwPDVPpg.js","assets/message-square-B-MD-8rD.js","assets/control-locations-CexZsd3M.js","assets/tab-link-BIweqlIZ.js","assets/run-header-CC7VUTg9.css","assets/eye-B8okNWXU.js","assets/agent-accounts-6EuZhy-N.js","assets/zoomable-image-DNc6ORaF.js","assets/report-title-D4Mbu2Er.js","assets/task-thread-DtQ6uGfQ.css","assets/task-changes-USNHNm_T.js","assets/git-toolbar-U4s46kUd.js","assets/diff-controls-DXyB0aDl.js","assets/markdown-BBDDg-4t.js","assets/diff-DBDiZl58.js","assets/image-preview-XPCPclpG.js","assets/task-files-wTWwLR39.js","assets/task-commits-kHqlOJe_.js","assets/commit-diff-panel-DzyWgn1Z.js","assets/task-github-item-GzaQjkF1.js","assets/use-hand-to-agent-state-Bav9eT3b.js","assets/github-sidebar-model-czjLsgVJ.js","assets/skills-DFBiAuJG.js","assets/skills-workflows-C21NystW.css","assets/use-hand-to-agent-state-C7esPJ-N.css","assets/repo-git-XkyTfP9G.js","assets/nav-row-styles-BE99gD3_.js","assets/repo-git-DVXNOJDT.css","assets/github-UaBp2yRF.js","assets/reports-D_2sFE1y.js","assets/reports-B7QAzibP.css","assets/workflows-D871Gx--.js","assets/sortable.esm-zp_qkYGV.js","assets/skill-empty-hint-YDmkqgo-.js","assets/activity-route-D8otXwOA.js","assets/activity-motion-SGth5vR4.js","assets/activity-motion-0wHCeUs7.css","assets/global-activity-route-B2N2Nz0H.js","assets/skills-BkXe4p4q.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{C as t,D as n,E as r,I as i,L as a,M as o,O as s,P as c,R as l,T as u,_ as d,a as f,b as p,c as m,f as h,g,h as _,i as v,j as y,k as b,l as x,m as S,n as C,p as w,r as T,s as E,t as D,u as O,v as k,w as A,x as j,y as M,z as ee}from"./button-BEK7XKhS.js";import{i as N,n as te,r as ne,t as re}from"./react-runtime-CCIEwYL0.js";import{i as P,n as F,r as ie,t as ae}from"./live-refetch-C-Ony2Yr.js";import{Ar as oe,Bn as se,Bt as ce,C as le,Cn as ue,Cr as de,Dt as fe,E as pe,En as me,Et as he,Fn as ge,Fr as _e,Ft as ve,G as ye,Gn as be,Hn as xe,In as Se,Ir as Ce,J as we,Jn as Te,Jr as I,K as Ee,Kn as De,Lr as Oe,Mr as ke,Nn as Ae,Nr as je,O as Me,On as Ne,Or as Pe,Ot as Fe,Pn as Ie,Pr as Le,Qn as Re,Qt as ze,Sn as Be,Sr as Ve,U as He,Wt as Ue,Xr as We,Xt as Ge,Yn as Ke,Yt as qe,Zn as Je,Zt as Ye,_ as Xe,_n as Ze,a as Qe,ar as $e,b as et,ci as tt,ct as nt,d as rt,di as it,dr as at,dt as ot,fr as st,gi as ct,hi as lt,hn as ut,hr as dt,i as ft,ii as pt,in as mt,jn as ht,li as gt,m as _t,mi as vt,mn as yt,mr as bt,n as xt,ni as St,nn as Ct,nr as wt,o as Tt,oi as Et,p as Dt,pn as Ot,q as kt,qn as At,qr as jt,r as Mt,ri as Nt,rn as Pt,s as Ft,si as It,sr as Lt,t as Rt,ti as zt,tn as Bt,tr as Vt,tt as Ht,vt as Ut,w as Wt,wn as Gt,wr as Kt,xr as qt,xt as Jt,yr as Yt,yt as Xt,zn as Zt,zt as Qt}from"./project-scope-context-DMpvJqIm.js";import{$ as $t,I as en,L as tn,M as nn,N as rn,Q as an,R as on,Y as sn,Z as cn,at as ln,b as un,dt as dn,et as L,ft as fn,it as pn,j as mn,nt as R,ot as z,q as hn,rt as B,st as gn,ut as _n}from"./live-protocol-BDY7JJpT.js";import{t as vn}from"./useInfiniteQuery-CQI4BO4C.js";import{$ as yn,$t as bn,A as xn,An as Sn,At as Cn,Bn as wn,Bt as Tn,Cn as V,Dn as En,Dt as Dn,En as On,Et as kn,F as An,Fn as jn,Ft as Mn,G as Nn,Gt as Pn,H as Fn,Hn as In,Ht as H,In as Ln,It as Rn,J as zn,Jt as Bn,K as Vn,Kt as Hn,L as Un,Lt as Wn,Mn as Gn,Mt as Kn,Nn as qn,Nt as Jn,On as Yn,Ot as Xn,P as U,Pt as Zn,Q as Qn,R as $n,Rt as er,Sn as tr,Tn as nr,Tt as rr,Un as W,V as ir,Vn as ar,W as or,Wn as sr,Wt as cr,X as lr,Xt as ur,Y as dr,Yt as fr,Z as pr,Zt as mr,_ as hr,_n as gr,a as _r,an as vr,at as yr,b as br,bn as xr,c as Sr,cn as Cr,ct as wr,dn as Tr,dt as Er,en as Dr,et as Or,fn as kr,g as Ar,gn as jr,gt as Mr,h as Nr,hn as Pr,ht as Fr,i as Ir,in as Lr,jn as Rr,jt as zr,kn as Br,kt as Vr,l as Hr,ln as Ur,lt as Wr,m as Gr,mn as Kr,n as G,nn as qr,nt as Jr,o as Yr,ot as Xr,p as Zr,pn as Qr,q as $r,qt as ei,r as ti,rt as ni,s as ri,sn as ii,st as ai,t as oi,tn as si,tt as ci,un as li,v as ui,vn as di,w as fi,wn as pi,wt as mi,xn as hi,y as gi,yn as _i,zn as vi,zt as yi}from"./queries-BIOp8jLx.js";import{t as bi}from"./useQuery-Bkq-x4Id.js";import{i as xi}from"./bundle-mjs-BT31bpU6.js";import{i as Si,r as Ci,t as wi}from"./cez-idle-BT0U4GN_.js";import{t as Ti}from"./ws-DspW9wBH.js";import{n as K,t as Ei}from"./toaster-pthKGWiE.js";import{a as Di,c as Oi,d as ki,f as Ai,h as ji,i as Mi,l as Ni,m as Pi,n as Fi,o as Ii,p as q,r as Li,t as Ri,u as zi}from"./es2015-BO600Xfi.js";import{C as Bi,_ as Vi,a as Hi,b as Ui,c as Wi,d as Gi,f as Ki,g as qi,h as Ji,i as Yi,l as Xi,m as Zi,o as Qi,p as $i,r as ea,s as ta,t as na,u as ra,v as ia,w as aa,x as oa,y as sa}from"./dropdown-menu-DYflHa4m.js";import{a as ca,c as la,d as ua,f as da,g as fa,h as pa,i as ma,l as ha,m as ga,n as _a,o as va,p as ya,r as ba,s as xa,t as Sa,u as Ca}from"./alert-dialog-vFjLgfK4.js";import{C as wa,S as Ta,a as Ea,b as Da,c as Oa,f as ka,h as Aa,i as ja,l as Ma,m as Na,n as Pa,o as Fa,r as Ia,s as La,u as Ra,v as za,w as Ba}from"./github-sidebar-model-czjLsgVJ.js";import{i as Va,n as Ha,o as Ua,r as Wa,s as Ga,t as Ka}from"./popover-CpULuQSm.js";import{$ as qa,A as Ja,B as Ya,D as Xa,E as Za,H as Qa,I as $a,J as eo,K as to,L as no,M as ro,O as io,Q as ao,R as oo,S as so,V as co,W as lo,X as uo,Z as fo,_ as po,a as mo,at as ho,b as go,c as _o,ct as vo,d as yo,et as bo,f as xo,ft as So,g as Co,ht as wo,it as To,j as Eo,k as Do,l as Oo,m as ko,mt as Ao,n as jo,nt as Mo,ot as No,pt as Po,q as Fo,r as Io,rt as Lo,s as Ro,t as zo,tt as Bo,u as Vo,ut as Ho,w as Uo,x as Wo,y as Go,z as Ko}from"./design-icons-DmYTv2r1.js";import{a as qo,c as Jo,i as Yo,n as Xo,o as Zo,r as Qo,s as $o,t as es}from"./textarea-FAUkHz1K.js";import{a as ts,i as ns,n as rs,r as is,t as as}from"./loader-circle-CZkGEdoI.js";import{t as J}from"./createLucideIcon-BHp8sXmF.js";import{_ as os,a as ss,c as cs,d as ls,f as us,g as ds,h as fs,i as ps,m as ms,o as hs,p as gs,r as _s,s as vs,u as ys,y as bs}from"./nav-row-styles-BE99gD3_.js";import{t as xs}from"./eye-B8okNWXU.js";import{a as Ss,c as Cs,i as ws,n as Ts,o as Es,t as Ds,u as Os}from"./control-locations-CexZsd3M.js";import{a as ks,c as As,i as js,l as Ms,n as Ns,o as Ps,r as Fs,s as Is,t as Y,u as Ls}from"./project-router-CimAoN1H.js";import{n as Rs,t as X}from"./centered-state-CPgI8cCO.js";import{A as zs,B as Bs,C as Vs,D as Hs,E as Us,F as Ws,H as Gs,I as Ks,L as qs,M as Js,O as Ys,P as Xs,R as Zs,S as Qs,T as $s,_ as ec,a as tc,b as nc,c as rc,d as ic,f as ac,g as oc,h as sc,i as cc,j as lc,k as uc,l as dc,m as fc,n as pc,o as mc,p as hc,r as gc,s as _c,t as vc,u as yc,v as bc,x as xc,y as Sc,z as Cc}from"./agent-accounts-6EuZhy-N.js";import{c as wc,d as Tc,f as Ec,i as Dc,n as Oc,o as kc,r as Ac,s as jc,t as Mc,u as Nc}from"./skills-DFBiAuJG.js";import{f as Pc,m as Fc,p as Ic}from"./markdown-UdZ_toya.js";import{_ as Lc,a as Rc,c as zc,d as Bc,f as Vc,g as Hc,i as Uc,l as Wc,n as Gc,o as Kc,p as qc,r as Jc,t as Yc,u as Xc,v as Zc}from"./sortable.esm-zp_qkYGV.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var Qc=class extends ct{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new sr({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=$c(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=$c(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=$c(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=$c(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){fn.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>Et(t,e))}findAll(e={}){return this.getAll().filter(t=>Et(e,t))}notify(e){fn.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return fn.batch(()=>Promise.all(e.map(e=>e.continue().catch(tt))))}};function $c(e){return e.options.scope?.id}var el=class extends ct{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??pt(r,t),a=this.get(i);return a||(a=new We({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){fn.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>It(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>It(e,t)):t}notify(e){fn.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){fn.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){fn.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},tl=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new el,this.#t=e.mutationCache||new Qc,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=lt.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=zt.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(it(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=St(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return fn.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;fn.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return fn.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=fn.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(tt).catch(tt)}invalidateQueries(e,t={}){return fn.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=fn.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(tt)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(tt)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(it(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(tt).catch(tt)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(tt).catch(tt)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return zt.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(Nt(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{gt(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(Nt(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{gt(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=pt(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===vt&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},Z=e(N(),1),nl=te(),rl=class extends EventTarget{readyState=0;release;constructor(e,t){super(),this.release=this.subscribe()}subscribe(){let e=()=>queueMicrotask(()=>{this.readyState===0&&(this.readyState=1,this.dispatchEvent(new Event(`open`)))});return ke({kind:`workspace`},{ready:e,reset:()=>{this.readyState!==2&&(this.readyState=0,e())},frame:t=>{if(`data`in t&&t.event===`reconnect`){this.readyState=0,e();return}if(`data`in t&&t.event===`disconnect`){this.readyState===1&&(this.readyState=0,this.dispatchEvent(new Event(`error`)));return}`data`in t&&t.event===`ready`&&je(),`data`in t&&this.dispatchEvent(new MessageEvent(t.event,{data:t.data}))}})}requestReady(){return this.readyState!==2&&oe()}close(){this.readyState=2,this.release()}};B({runs:L(`summary`).optional()});var il=z().min(1),al=R().int().positive(),ol=B({project:il,seq:al,run:Je,relationships:z().min(1)}),sl=B({project:il,seq:al,id:z().min(1)}),cl=B({generation:z().min(1),seq:R().int().nonnegative()}),ll=B({project:il,usage:ln(z(),At)});B({runs:cn(Ke),referenceStatuses:Te,perProjectLimit:R(),truncated:cn(z()),generation:z().min(1),eventSeq:R().int().nonnegative()});function ul(e,t){if(e===`ping`)return{project:null,event:{type:`ping`}};let n;try{n=JSON.parse(t)}catch{return null}switch(e){case`run-summary`:{let e=ol.safeParse(n);return e.success?{project:e.data.project,event:{type:`run-summary`,summary:e.data.run,seq:e.data.seq,relationships:e.data.relationships}}:null}case`run-deleted`:{let e=sl.safeParse(n);return e.success?{project:e.data.project,event:{type:`run-deleted`,id:e.data.id,seq:e.data.seq}}:null}case`usage`:{let e=ll.safeParse(n);return e.success?{project:e.data.project,event:{type:`usage`,usage:e.data.usage}}:null}case`ready`:{let e=cl.safeParse(n);return e.success?{project:null,event:{type:`ready`,generation:e.data.generation,seq:e.data.seq}}:null}default:return null}}function dl(){let e;return{ready(t){let n=e!==void 0&&t>e;return e=t,n},frame(t){let n=e!==void 0&&t!==e+1;return e=t,n},reset(){e=void 0}}}function fl(e,t){if(!e)return;let n=e.findIndex(e=>e.id===t.id);if(n>=0){let r=[...e];return r[n]=t,r}let r=e.findIndex(e=>(e.createdAt??``).localeCompare(t.createdAt)<0),i=[...e];return i.splice(r<0?e.length:r,0,t),i}function pl(e,t){if(!e)return;let n=e.filter(e=>e.id!==t);return n.length===e.length?e:n}var ml=Object.freeze({});function hl(){let e=ml,t=new Set;return{subscribe(e){return t.add(e),()=>t.delete(e)},get:()=>e,set(n){e=n;for(let e of t)e()}}}function gl(e,t){let n=e.getQueryData(t);if(n?.finishBlocked===void 0)return;let{finishBlocked:r,...i}=n;e.setQueryData(t,i)}function _l(e){let t=new Map,n=t=>e.getQueryCache().find({queryKey:t,exact:!0}),r=t=>{if(!t.owed||t.timer!==void 0)return;let i=n(t.key);if(!i){t.owed=!1;return}if(!i.isActive()){t.owed=!1,e.invalidateQueries({queryKey:t.key,exact:!0,refetchType:`none`});return}if(i.state.fetchStatus!==`idle`)return;let a=t.lastStart+400-Date.now();if(a>0){t.timer=setTimeout(()=>{t.timer=void 0,r(t)},a);return}t.owed=!1,t.lastStart=Date.now(),e.refetchQueries({queryKey:t.key,exact:!0,type:`active`},{cancelRefetch:!1})},i=e.getQueryCache().subscribe(n=>{if(n.type!==`updated`||t.size===0)return;let i=t.get(JSON.stringify(n.query.queryKey));if(i){if(n.action.type===`success`&&!n.action.manual){let t=n.query.promise;t&&i.preEvent.has(t)&&(i.preEvent.delete(t),gl(e,i.key),i.owed=!0)}n.query.state.fetchStatus===`idle`&&r(i)}});return{onEvent(i){let a=G.runs.detail(i),o=n(a);if(!o)return;let s=JSON.stringify(a),c=t.get(s);c||(c={key:a,owed:!1,lastStart:0,preEvent:new WeakSet},t.set(s,c)),o.state.fetchStatus!==`idle`&&o.promise&&c.preEvent.add(o.promise),gl(e,a),c.owed=!0,r(c)},forget(e){let n=JSON.stringify(G.runs.detail(e));clearTimeout(t.get(n)?.timer),t.delete(n)},cancel(){i();for(let e of t.values())clearTimeout(e.timer);t.clear()}}}function vl(e){let t=new Map;return{refresh(n){let r=G.runs.detail(n);if(!e.getQueryState(r))return;let i=JSON.stringify(r);clearTimeout(t.get(i)),e.cancelQueries({queryKey:r}),t.set(i,setTimeout(()=>{t.delete(i),e.invalidateQueries({queryKey:r})},400))},cancel(){for(let e of t.values())clearTimeout(e);t.clear()}}}var Q=re(),yl=b(`/workspace/events?runs=summary`),bl=2,xl=3e3,Sl=[`run-summary`,`run-deleted`,`usage`,`ping`,`ready`],Cl=[`project-added`,`project-removed`,`checkout-progress`,`automation-change`,`project-ready`],wl=new Set;function Tl(e){return wl.add(e),()=>{wl.delete(e)}}function El(e){return e[1]===`runs`&&e[2]===`list`}function Dl(e,t){return e.cancelQueries({queryKey:t}).then(()=>e.invalidateQueries({queryKey:t}))}function Ol(e){return e.invalidateQueries({predicate:e=>El(e.queryKey),refetchType:`none`}),e.getQueryCache().findAll({predicate:e=>El(e.queryKey)&&(e.state.data!==void 0||e.state.fetchStatus!==`idle`)}).map(t=>Dl(e,t.queryKey))}var kl=1e3,Al=new WeakMap;function jl(e){let t=G.repoBranches,n=Al.get(e);if(n){n.set(JSON.stringify(t),t);return}Al.set(e,new Map([[JSON.stringify(t),t]])),setTimeout(()=>{let t=Al.get(e);Al.delete(e);for(let n of t?.values()??[])e.invalidateQueries({queryKey:n})},kl)}function Ml(e,t,n=!1){if(t?.aborted)return Promise.resolve();let r=[G.runs.all,H.runsIndex,H.projects,G.health,G.worktrees,G.repoBranches,H.providerStatus,H.models(`cursor`)],i=()=>{for(let t of r)e.cancelQueries({queryKey:t})};return t?.addEventListener(`abort`,i,{once:!0}),Si(()=>{for(let t of e.getQueryCache().findAll({predicate:e=>El(e.queryKey)}))t.state.data===void 0&&t.state.fetchStatus!==`idle`&&e.cancelQueries({queryKey:t.queryKey,exact:!0});return[e.invalidateQueries({queryKey:G.runs.all,...n?{predicate:e=>[`list`,`detail`,`relationships`,`archived`].includes(String(e.queryKey[2]))}:{}}),e.invalidateQueries({predicate:e=>El(e.queryKey)}),vi(e).reconcile(),e.invalidateQueries({queryKey:H.projects}),Dl(e,G.health),e.invalidateQueries({queryKey:G.worktrees}),e.invalidateQueries({queryKey:G.repoBranches}),e.invalidateQueries({queryKey:H.providerStatus}),Dl(e,H.models(`cursor`)),n?void 0:e.invalidateQueries({predicate:({queryKey:e})=>e.length===3&&e[1]===`github`&&(e[2]===null||typeof e[2]==`number`)})]}).finally(()=>t?.removeEventListener(`abort`,i))}function Nl(e){return y()??Pl(e)}function Pl(e){let t=e.getQueryData(H.projects)?.bootProject;return typeof t==`string`&&t!==``?t:e.getQueryData(G.health)?.bootProject??e.getQueryData([`default`,`health`])?.bootProject}function Fl(e,t){return[ar({projectId:e,boot:e===t}).cacheScope,`runs`,`list`]}function Il(e){let t=new Map,n=new Map,r=t=>{let r=n.get(JSON.stringify(t));if(!r)return;let i=e.getQueryCache().find({queryKey:t,exact:!0}),a=i?.promise;r.phase=`awaiting-fetch`,r.dirty=!1,e.invalidateQueries({queryKey:t,exact:!0}),i?.promise&&i.promise!==a&&(r.phase=`fetching`)},i=e.getQueryCache().subscribe(t=>{if(!n.size||t.type!==`updated`)return;let i=JSON.stringify(t.query.queryKey),a=n.get(i);if(a){if(t.action.type===`setState`){t.query.state.isInvalidated||e.invalidateQueries({queryKey:a.key,exact:!0,refetchType:`none`});return}if(t.action.type===`fetch`){a.phase===`awaiting-fetch`&&(a.phase=`fetching`),a.dirty=!1;return}if(t.action.type===`success`){if(!t.action.manual){a.phase===`fetching`&&!a.dirty?n.delete(i):r(a.key);return}a.phase!==`needs-start`&&(a.phase===`fetching`&&(a.dirty=!0),e.invalidateQueries({queryKey:a.key,exact:!0},{cancelRefetch:!1}))}}}),a=(t,r)=>{let i=JSON.stringify(t),a=e.getQueryCache().find({queryKey:t,exact:!0});if(!a)return;let o=n.get(i);!o&&(a.state.fetchStatus!==`idle`||a.state.isInvalidated)||o&&a.state.fetchStatus===`idle`?(n.set(i,{key:t,phase:`needs-start`,dirty:!1}),a.state.fetchStatus!==`idle`&&e.cancelQueries({queryKey:t,exact:!0}),r.some(e=>JSON.stringify(e)===i)||r.push(t)):o?.phase===`fetching`&&(o.dirty=!0)},o,s,c=(i=!1)=>{s!==void 0&&clearTimeout(s),s=void 0,o!==void 0&&cancelAnimationFrame(o),o=void 0;let c=[];for(let{key:r,baseList:i,baseQuery:o,baseUpdateCount:s,runs:l}of t.values()){let t=e.getQueryCache().find({queryKey:r,exact:!0});if(t!==o||t?.state.dataUpdateCount!==s||t?.state.data!==i){c.push(r),n.set(JSON.stringify(r),{key:r,phase:`needs-start`,dirty:!1}),e.cancelQueries({queryKey:r,exact:!0});continue}a(r,c),e.setQueryData(r,e=>{let t=e;for(let e of l.values())t=fl(t,e);return t})}if(t.clear(),!i)for(let e of c)r(e);return c},l=t=>{let n=[Fl(t,Pl(e))],r=[t,`runs`,`list`];return(t===Nl(e)||e.getQueryState(r))&&n.push(r),t===Nl(e)&&n.push(G.runs.list()),[...new Map(n.map(e=>[JSON.stringify(e),e])).values()]};return{onEvent(i,u){let d=l(i);if(u.type===`run-summary`&&u.summary.archived&&d.every(t=>!e.getQueryData(t)?.find(e=>e.id===u.summary.id)?.archived)&&u.type===`run-summary`){for(let r of d){let i=JSON.stringify(r),a=n.get(i);a?.phase===`fetching`&&(a.dirty=!0);let o=t.get(i);if(!o){let n=e.getQueryCache().find({queryKey:r,exact:!0});o={key:r,baseList:n?.state.data,baseQuery:n,baseUpdateCount:n?.state.dataUpdateCount,runs:new Map},t.set(i,o)}o.runs.set(u.summary.id,u.summary)}s===void 0&&(s=setTimeout(()=>{c()},50),typeof requestAnimationFrame==`function`&&(o=requestAnimationFrame(()=>{c()})));return}let f=c(!0);for(let t of d)a(t,f),u.type===`run-summary`?e.setQueryData(t,e=>fl(e,u.summary)):e.setQueryData(t,e=>pl(e,u.id));for(let e of f)r(e)},flush:c,cancel(){i(),n.clear()}}}var Ll=400;function Rl(e){let t=new Map,n=new Map,r=(t,r)=>{if(r&&!e.getQueryState(t))return;let i=JSON.stringify(t);n.has(i)||n.set(i,setTimeout(()=>{n.delete(i),e.invalidateQueries({queryKey:t})},Ll))};return{onSummary(e,n){let i=e.delegation?.role===`worker`?e.delegation.parentRunId:void 0,a=t.get(e.id);t.set(e.id,i===void 0?{shape:n}:{shape:n,parentRunId:i}),a?.shape!==n&&(r(G.runs.relationships(e.id),!0),i!==void 0&&r(G.runs.relationships(i),!0))},onDeleted(n){let i=t.get(n);t.delete(n),e.removeQueries({queryKey:G.runs.relationships(n)}),i?.parentRunId===void 0?r([...G.runs.all,`relationships`],!1):r(G.runs.relationships(i.parentRunId),!0)},cancel(){for(let e of n.values())clearTimeout(e);n.clear(),t.clear()}}}var zl={predicate:e=>e.queryKey[1]===`runs`&&e.queryKey[2]===`archived`};function Bl(e,t){if(t.delegation?.role===`worker`)return;let n=!1;for(let r of e.getQueryCache().findAll(zl)){let i=r.state.data;i&&(i.pages.some(e=>e.runs.some(e=>e.id===t.id))?(e.setQueryData(r.queryKey,{...i,pages:i.pages.map(e=>({...e,runs:e.runs.map(e=>e.id===t.id?t:e)}))}),(!t.archived||r.queryKey[3]!==``)&&(n=!0)):t.archived&&(n=!0))}n&&e.invalidateQueries(zl)}function Vl(e,t,n,r,i){switch(n.type){case`run-summary`:{let t=n.summary;if(Bl(e,t),i.onSummary(t,n.relationships),r.fetcher.onEvent(t.id),t.delegation?.role===`worker`){let n=t.delegation.parentRunId;gl(e,G.runs.detail(n)),r.refreshParent(n)}let a=G.runs.changes(t.id);e.getQueryData(a)!==void 0&&e.invalidateQueries({queryKey:a}),e.invalidateQueries({queryKey:G.worktrees}),jl(e);return}case`run-deleted`:i.onDeleted(n.id),r.fetcher.forget(n.id),e.removeQueries({queryKey:G.runs.detail(n.id)}),e.removeQueries({queryKey:G.runs.diff(n.id)}),e.setQueriesData(zl,e=>e&&e.pages.some(e=>e.runs.some(e=>e.id===n.id))?{...e,pages:e.pages.map(e=>({...e,runs:e.runs.filter(e=>e.id!==n.id)}))}:e),e.invalidateQueries(zl),e.invalidateQueries({queryKey:G.worktrees}),jl(e);return;case`usage`:t.set(n.usage);return;case`ping`:case`ready`:return}}function Hl(e,t=yl){let n=I();(0,Z.useEffect)(()=>{let r=rl;if(typeof r!=`function`)return;let i=null,a=vi(n);a.setUnknownGenerationHandler(()=>{let e=i?.requestReady;return typeof e==`function`&&e.call(i)});let o=vl(n),s=_l(n),c={fetcher:s,refreshParent:o.refresh},l=dl(),u=Il(n),d=Rl(n),f=!1,p,m=!1,h=!1,g=!1,_=!1,v=()=>{g=!0,_=!1;let e=H.providerStatus;n.cancelQueries({queryKey:e,exact:!0}).then(()=>n.invalidateQueries({queryKey:e,exact:!0,refetchType:`active`})).finally(()=>{if(h||!_){g=!1;return}v()})},y=()=>{h||p!==void 0||(p=setTimeout(()=>{p=void 0,h||b()},xl))},b=()=>{i?.close(),i=new r(t,{withCredentials:!0}),i.addEventListener(`open`,()=>{if(f=!0,l.reset(),a.detach(),Ci(!1),m&&(u.flush(),Ml(n)),!m){Si(()=>Ol(n));for(let e of[G.health,H.models(`cursor`)])n.cancelQueries({queryKey:e}).then(()=>{h||n.invalidateQueries({queryKey:e})});a.reconcile()}m=!0});for(let t of Sl)i.addEventListener(t,r=>{let i=ul(t,r.data);if(!i)return;if(i.event.type===`ready`){let e=l.ready(i.event.seq);a.ready(i.event.generation,i.event.seq),e&&(u.flush(),Ml(n));return}let o=(i.event.type===`run-summary`||i.event.type===`run-deleted`)&&l.frame(i.event.seq);i.event.type===`ping`&&f&&(f=!1,Si(()=>Ol(n)),Ci(!0)),i.project!==null&&(i.event.type===`run-summary`||i.event.type===`run-deleted`?a.run(i.project,i.event,o):i.event.type===`usage`&&a.usage(i.project,i.event.usage)),i.project!==null&&(i.event.type===`run-summary`||i.event.type===`run-deleted`)&&u.onEvent(i.project,i.event),(i.project===null||i.project===Nl(n))&&Vl(n,e,i.event,c,d),o&&(u.flush(),Ml(n))});for(let e of Cl)i.addEventListener(e,t=>{let r;try{r=JSON.parse(t.data)}catch{return}if(e===`project-ready`?a.reconcile({hold:!0}):e!==`checkout-progress`&&e!==`automation-change`&&n.invalidateQueries({queryKey:H.projects}),e===`project-added`){let e=r?.project?.id;typeof e==`string`&&e!==``&&a.restoreProject(e),a.reconcile({hold:!0})}if(e===`project-removed`){let e=r?.id;typeof e==`string`&&e!==``&&a.dropProject(e)}for(let t of[...wl])t(e,r)});i.addEventListener(`health`,e=>{let t;try{t=JSON.parse(e.data)}catch{return}let r=Oe.safeParse(t);r.success&&(n.cancelQueries({queryKey:G.health}),n.setQueryData(G.health,r.data))}),i.addEventListener(`model-catalog`,e=>{let t;try{t=JSON.parse(e.data)}catch{return}let r=tn.safeParse(t);if(!r.success||r.data.runner!==`cursor`)return;let i=H.models(`cursor`);n.cancelQueries({queryKey:i}),n.setQueryData(i,r.data)}),i.addEventListener(`provider-status`,e=>{let t;try{t=JSON.parse(e.data)}catch{return}let r=qt(t);if(!r)return;let i=H.providerStatus,a=Yt(n.getQueryData(i),r);if(a!==void 0){n.setQueryData(i,a);return}if(g){_=!0;return}v()}),i.addEventListener(`error`,()=>{Ci(!1),a.detach(),i?.readyState===bl&&y()})},x=()=>{document.visibilityState===`visible`&&(u.flush(),a.flush(),(!i||i.readyState===bl)&&(clearTimeout(p),p=void 0,b()))},S=()=>{clearTimeout(p),p=void 0,u.flush()};document.addEventListener(`visibilitychange`,x),window.addEventListener(`pagehide`,S);let C=Pe((e,t)=>(u.flush(),Ml(n,e,t)));return b(),()=>{C(),h=!0,Ci(!1),clearTimeout(p),u.flush(),u.cancel(),a.stop(),o.cancel(),s.cancel(),a.setUnknownGenerationHandler(void 0),d.cancel(),document.removeEventListener(`visibilitychange`,x),window.removeEventListener(`pagehide`,S),i?.close(),i=null}},[n,e,t])}var Ul=(0,Z.createContext)(null);function Wl({children:e}){let[t]=(0,Z.useState)(hl);return Hl(t),An(),(0,Q.jsx)(Ul.Provider,{value:t,children:e})}function Gl(e){let t=(0,Z.useContext)(Ul),n=t?t.get:ql;return(0,Z.useSyncExternalStore)(t?t.subscribe:Kl,()=>e?n()[e]:void 0,()=>void 0)}var Kl=()=>()=>void 0,ql=()=>ml,Jl=z().regex(/^(?:(?:config\.json(?:\.bak)?|agent-accounts\.json|ui-state\.json|server\.json|server\.install\.lock)|(?:remote-settings|server-instances)\/[a-zA-Z0-9-]+\.(?:json|install\.lock))$/),Yl=B({file:Jl,detectedAt:dn(),canRestore:an()}),Xl=[`reset`,`outside-write`,`legacy-change`],Zl=B({files:cn($t(`reason`,[Yl.extend({reason:L(`reset`)}),Yl.extend({reason:L(`outside-write`)}),Yl.extend({reason:L(`legacy-change`),canImport:an()})]))});function Ql(e,t){return!e||typeof e!=`object`||!(`files`in e)||!Array.isArray(e.files)?e:{...e,files:e.files.filter(e=>!(e&&typeof e==`object`&&`reason`in e&&typeof e.reason==`string`&&!t.includes(e.reason)))}}var $l=pn(e=>Ql(e,Xl),Zl);B({file:Jl,detectedAt:dn()}).strict();var eu=[`workspace`,`home-recovery`];function tu(e){let t=$l.safeParse(e);if(!t.success)throw new ft(200,`the ${a(`cezar`)} server answered /home/recovery with an unexpected body`);return t.data}async function nu(e){return tu(await me(await Dt.api.v1.home.recovery.$get({},Qt(e)),`/home/recovery`))}function ru(){return bi({queryKey:eu,queryFn:({signal:e})=>nu({signal:e}),enabled:Ce(),staleTime:1/0,retry:!1})}function iu(){let e=I();(0,Z.useEffect)(()=>{let t=!0,n=new AbortController,r,i=async t=>{Le()&&await e.fetchQuery({queryKey:eu,queryFn:({signal:e})=>nu({signal:AbortSignal.any([e,n.signal,...t?[t]:[]])}),staleTime:0,retry:!1})},a=n=>{let r;try{r=tu(n)}catch{i().catch(()=>{});return}e.cancelQueries({queryKey:eu,exact:!0}).then(()=>{t&&Le()&&e.setQueryData(eu,r)})},o=()=>{let t=e.getQueryData(G.health)?.capabilities?.localHandoff===!0;t&&Le()&&!r?r=Ti(`home:recovery`,a):(!t||!Le())&&r&&(r(),r=void 0)};o();let s=e.getQueryCache().subscribe(o),c=_e(t=>{o(),t?i().catch(()=>{}):e.cancelQueries({queryKey:eu,exact:!0})}),l=Pe(e=>i(e));return()=>{t=!1,n.abort(),l(),c(),s(),r?.()}},[e])}function au(e,t){let n=t===`config.json`?[H.projects,H.config,H.runsIndex]:t===`agent-accounts.json`?[H.agentProfiles,H.providerStatus]:t===`ui-state.json`?[H.uiState]:[];for(let t of n)e.invalidateQueries({queryKey:t})}function ou(e){let t=I();return W({mutationFn:async t=>tu(await me(await Dt.api.v1.home.recovery[e].$post({json:t}),`/home/recovery/${e}`)),onSuccess:async(e,n)=>{await t.cancelQueries({queryKey:eu,exact:!0}),t.setQueryData(eu,e),au(t,n.file)}})}var su=()=>ou(`restore`),cu=()=>ou(`accept`),lu=()=>ou(`import`);function uu(){return iu(),null}function du(){return new tl({defaultOptions:{queries:{refetchInterval:!1,staleTime:5*6e4,gcTime:30*6e4,refetchOnWindowFocus:!1,refetchOnReconnect:!1,retry:(e,t)=>t instanceof ft&&t.status>=400&&t.status<500?!1:e<1},mutations:{retry:!1}}})}var fu=class extends Z.Component{state={error:null};static getDerivedStateFromError(e){return{error:e instanceof Error?e:Error(String(e))}}componentDidCatch(e,t){console.error(`${a(`cezar`)} cockpit: uncaught render error`,e,t.componentStack)}render(){let{error:e}=this.state;return e?(0,Q.jsxs)(`div`,{"data-slot":`app-error`,role:`alert`,style:{display:`flex`,minHeight:`100dvh`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:`12px`,padding:`24px`,textAlign:`center`,font:`14px/1.5 system-ui, sans-serif`},children:[(0,Q.jsx)(`h1`,{style:{fontSize:`20px`,fontWeight:600,margin:0},children:`The cockpit hit an error`}),(0,Q.jsxs)(`p`,{style:{margin:0,maxWidth:`52ch`},children:[`Reload to carry on. Nothing on disk changed — `,a(`cezar`),`’s state lives in`,` `,(0,Q.jsx)(`code`,{children:`.ai/cezar/`}),`, and this page never wrote to it.`]}),(0,Q.jsx)(`pre`,{"data-slot":`app-error-detail`,style:{margin:0,maxWidth:`100%`,overflowX:`auto`,textAlign:`left`,opacity:.75},children:e.message}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>location.reload(),style:{padding:`6px 14px`,cursor:`pointer`},children:`Reload`})]}):this.props.children}};async function pu(e){return me(await Dt.api.v1.workspace[`self-update`].$get({},Qt(e)),`/workspace/self-update`)}async function mu(){return me(await Dt.api.v1.workspace[`self-update`].refresh.$post({}),`/workspace/self-update/refresh`)}async function hu(e){return me(await Dt.api.v1.workspace[`self-update`].development.$get({query:e?.refresh?{refresh:`1`}:{}},Qt(e)),`/workspace/self-update/development`)}async function gu(e){return me(await Dt.api.v1.workspace[`self-update`].channel.$put({json:{channel:e}}),`/workspace/self-update/channel`)}async function _u(e){return me(await Dt.api.v1.workspace[`self-update`].apply.$post({json:{version:e}}),`/workspace/self-update/apply`)}var vu={status:[`workspace`,`self-update`],development:[`workspace`,`self-update`,`development`]};function yu(e=!0){return bi({queryKey:vu.status,queryFn:({signal:e})=>pu({signal:e}),enabled:e,refetchInterval:ae(e=>e.state.data?.job?.status===`running`&&1e3)})}function bu(e=!0){return bi({queryKey:vu.development,queryFn:({signal:e})=>hu({signal:e}),enabled:e,staleTime:3e4})}function xu(){let e=I();return W({mutationFn:()=>hu({refresh:!0}),onSuccess:t=>e.setQueryData(vu.development,t)})}function Su(){let e=I();return W({mutationFn:()=>mu(),onSuccess:t=>e.setQueryData(vu.status,t)})}function Cu(){let e=I();return W({mutationFn:e=>gu(e),onSuccess:t=>e.setQueryData(vu.status,t)})}function wu(){let e=I();return W({mutationFn:e=>_u(e),onSuccess:t=>e.setQueryData(vu.status,t)})}var Tu=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),Eu=`VisuallyHidden`,Du=Z.forwardRef((e,t)=>(0,Q.jsx)(ji.span,{...e,ref:t,style:{...Tu,...e.style}}));Du.displayName=Eu;var Ou=Du,ku=`Collapsible`,[Au,ju]=Pi(ku),[Mu,Nu]=Au(ku),Pu=Z.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:r,defaultOpen:i,disabled:a,onOpenChange:o,...s}=e,[c,l]=ki({prop:r,defaultProp:i??!1,onChange:o,caller:ku});return(0,Q.jsx)(Mu,{scope:n,disabled:a,contentId:Ni(),open:c,onOpenToggle:Z.useCallback(()=>l(e=>!e),[l]),children:(0,Q.jsx)(ji.div,{"data-state":Bu(c),"data-disabled":a?``:void 0,...s,ref:t})})});Pu.displayName=ku;var Fu=`CollapsibleTrigger`,Iu=Z.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,i=Nu(Fu,n);return(0,Q.jsx)(ji.button,{type:`button`,"aria-controls":i.open?i.contentId:void 0,"aria-expanded":i.open||!1,"data-state":Bu(i.open),"data-disabled":i.disabled?``:void 0,disabled:i.disabled,...r,ref:t,onClick:q(e.onClick,i.onOpenToggle)})});Iu.displayName=Fu;var Lu=`CollapsibleContent`,Ru=Z.forwardRef((e,t)=>{let{forceMount:n,...r}=e,i=Nu(Lu,e.__scopeCollapsible);return(0,Q.jsx)(zi,{present:n||i.open,children:({present:e})=>(0,Q.jsx)(zu,{...r,ref:t,present:e})})});Ru.displayName=Lu;var zu=Z.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:r,children:i,...a}=e,o=Nu(Lu,n),[s,c]=Z.useState(r),l=Z.useRef(null),u=E(t,l),d=Z.useRef(0),f=d.current,p=Z.useRef(0),m=p.current,h=o.open||s,g=Z.useRef(h),_=Z.useRef(void 0);return Z.useEffect(()=>{let e=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(e)},[]),Ai(()=>{let e=l.current;if(e){_.current=_.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();d.current=t.height,p.current=t.width,g.current||(e.style.transitionDuration=_.current.transitionDuration,e.style.animationName=_.current.animationName),c(r)}},[o.open,r]),(0,Q.jsx)(ji.div,{"data-state":Bu(o.open),"data-disabled":o.disabled?``:void 0,id:o.contentId,hidden:!h,...a,ref:u,style:{"--radix-collapsible-content-height":f?`${f}px`:void 0,"--radix-collapsible-content-width":m?`${m}px`:void 0,...e.style},children:h&&i})});function Bu(e){return e?`open`:`closed`}var Vu=Pu,Hu=`Label`,Uu=Z.forwardRef((e,t)=>(0,Q.jsx)(ji.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));Uu.displayName=Hu;var Wu=Uu;function Gu(e,[t,n]){return Math.min(n,Math.max(t,e))}var Ku=e(ne(),1),qu=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Ju=[` `,`Enter`],Yu=`Select`,[Xu,Zu,Qu]=aa(Yu),[$u,ed]=Pi(Yu,[Qu,oa]),td=oa(),[nd,rd]=$u(Yu),[id,ad]=$u(Yu),od=`SelectProvider`;function sd(e){let{__scopeSelect:t,children:n,open:r,defaultOpen:i,onOpenChange:a,value:o,defaultValue:s,onValueChange:c,dir:l,name:u,autoComplete:d,disabled:f,required:p,form:m,internal_do_not_use_render:h}=e,g=td(t),[_,v]=Z.useState(null),[y,b]=Z.useState(null),[x,S]=Z.useState(!1),C=Bi(l),[w,T]=ki({prop:r,defaultProp:i??!1,onChange:a,caller:Yu}),[E,D]=ki({prop:o,defaultProp:s,onChange:c,caller:Yu}),O=Z.useRef(null),k=Z.useRef(E);Z.useEffect(()=>{let e=m?_?.ownerDocument.getElementById(m):_?.form;if(e instanceof HTMLFormElement){let t=()=>D(k.current);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[m,_,D]);let A=!_||!!m||!!_.closest(`form`),[j,M]=Z.useState(new Set),ee=Ni(),N=Array.from(j).map(e=>e.props.value).join(`;`),te=Z.useCallback(e=>{M(t=>new Set(t).add(e))},[]),ne=Z.useCallback(e=>{M(t=>{let n=new Set(t);return n.delete(e),n})},[]),re={required:p,trigger:_,onTriggerChange:v,valueNode:y,onValueNodeChange:b,valueNodeHasChildren:x,onValueNodeHasChildrenChange:S,contentId:ee,value:E,onValueChange:D,open:w,onOpenChange:T,dir:C,triggerPointerDownPosRef:O,disabled:f,name:u,autoComplete:d,form:m,nativeOptions:j,nativeSelectKey:N,isFormControl:A};return(0,Q.jsx)(Ui,{...g,children:(0,Q.jsx)(nd,{scope:t,...re,children:(0,Q.jsx)(Xu.Provider,{scope:t,children:(0,Q.jsx)(id,{scope:t,onNativeOptionAdd:te,onNativeOptionRemove:ne,children:cf(h)?h(re):n})})})})}sd.displayName=od;var cd=e=>{let{__scopeSelect:t,children:n,...r}=e;return(0,Q.jsx)(sd,{__scopeSelect:t,...r,internal_do_not_use_render:({isFormControl:e})=>(0,Q.jsxs)(Q.Fragment,{children:[n,e?(0,Q.jsx)(sf,{__scopeSelect:t}):null]})})};cd.displayName=Yu;var ld=`SelectTrigger`,ud=Z.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...i}=e,a=td(n),o=rd(ld,n),s=o.disabled||r,c=E(t,o.onTriggerChange),l=Zu(n),u=Z.useRef(`touch`),[d,f,p]=uf(e=>{let t=l().filter(e=>!e.disabled),n=df(t,e,t.find(e=>e.value===o.value));n!==void 0&&o.onValueChange(n.value)}),m=e=>{s||(o.onOpenChange(!0),p()),e&&(o.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,Q.jsx)(Vi,{asChild:!0,...a,children:(0,Q.jsx)(ji.button,{type:`button`,role:`combobox`,"aria-controls":o.open?o.contentId:void 0,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":`none`,dir:o.dir,"data-state":o.open?`open`:`closed`,disabled:s,"data-disabled":s?``:void 0,"data-placeholder":lf(o.value)?``:void 0,...i,ref:c,onClick:q(i.onClick,e=>{e.currentTarget.focus(),u.current!==`mouse`&&m(e)}),onPointerDown:q(i.onPointerDown,e=>{u.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&e.pointerType===`mouse`&&(m(e),e.preventDefault())}),onKeyDown:q(i.onKeyDown,e=>{let t=d.current!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&f(e.key),!(t&&e.key===` `)&&qu.includes(e.key)&&(m(),e.preventDefault())})})})});ud.displayName=ld;var dd=`SelectValue`,fd=Z.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,children:a,placeholder:o=``,...s}=e,c=rd(dd,n),{onValueNodeHasChildrenChange:l}=c,u=a!==void 0,d=E(t,c.onValueNodeChange);Ai(()=>{l(u)},[l,u]);let f=lf(c.value);return(0,Q.jsx)(ji.span,{...s,asChild:!f&&s.asChild,ref:d,style:{pointerEvents:`none`},children:(0,Q.jsx)(Z.Fragment,{children:f?o:a},f?`placeholder`:`value`)})});fd.displayName=dd;var pd=`SelectIcon`,md=Z.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...i}=e;return(0,Q.jsx)(ji.span,{"aria-hidden":!0,...i,ref:t,children:r||`▼`})});md.displayName=pd;var hd=`SelectPortal`,[gd,_d]=$u(hd,{forceMount:void 0}),vd=e=>{let{__scopeSelect:t,forceMount:n,...r}=e;return(0,Q.jsx)(gd,{scope:e.__scopeSelect,forceMount:n,children:(0,Q.jsx)(Mi,{asChild:!0,...r})})};vd.displayName=hd;var yd=`SelectContent`,bd=Z.forwardRef((e,t)=>{let n=_d(yd,e.__scopeSelect),{forceMount:r=n.forceMount,...i}=e,a=rd(yd,e.__scopeSelect),[o,s]=Z.useState();return Ai(()=>{s(new DocumentFragment)},[]),(0,Q.jsx)(zi,{present:r||a.open,children:({present:e})=>e?(0,Q.jsx)(Dd,{...i,ref:t}):(0,Q.jsx)(xd,{...i,fragment:o})})});bd.displayName=yd;var xd=Z.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,fragment:i}=e;return i?Ku.createPortal((0,Q.jsx)(Cd,{scope:n,children:(0,Q.jsx)(Xu.Slot,{scope:n,children:(0,Q.jsx)(`div`,{ref:t,children:r})})}),i):null});xd.displayName=`SelectContentFragment`;var Sd=10,[Cd,wd]=$u(yd),Td=`SelectContentImpl`,Ed=v(`SelectContent.RemoveScroll`),Dd=Z.forwardRef((e,t)=>{let{__scopeSelect:n}=e,{position:r=`item-aligned`,onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:o,side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g,..._}=e,v=rd(yd,n),[y,b]=Z.useState(null),[x,S]=Z.useState(null),C=E(t,b),[w,T]=Z.useState(null),[D,O]=Z.useState(null),k=Zu(n),[A,j]=Z.useState(!1),M=Z.useRef(!1);Z.useEffect(()=>{if(y)return Ri(y)},[y]),Li();let ee=Z.useCallback(e=>{let[t,...n]=k().map(e=>e.ref.current),[r]=n.slice(-1),i=document.activeElement;for(let n of e)if(n===i||(n?.scrollIntoView({block:`nearest`}),n===t&&x&&(x.scrollTop=0),n===r&&x&&(x.scrollTop=x.scrollHeight),n?.focus(),document.activeElement!==i))return},[k,x]),N=Z.useCallback(()=>ee([w,y]),[ee,w,y]);Z.useEffect(()=>{A&&N()},[A,N]);let{onOpenChange:te,triggerPointerDownPosRef:ne}=v;Z.useEffect(()=>{if(y){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(ne.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(ne.current?.y??0))}},n=n=>{e.x<=10&&e.y<=10?n.preventDefault():n.composedPath().includes(y)||te(!1),document.removeEventListener(`pointermove`,t),ne.current=null};return ne.current!==null&&(document.addEventListener(`pointermove`,t),document.addEventListener(`pointerup`,n,{capture:!0,once:!0})),()=>{document.removeEventListener(`pointermove`,t),document.removeEventListener(`pointerup`,n,{capture:!0})}}},[y,te,ne]),Z.useEffect(()=>{let e=()=>te(!1);return window.addEventListener(`blur`,e),window.addEventListener(`resize`,e),()=>{window.removeEventListener(`blur`,e),window.removeEventListener(`resize`,e)}},[te]);let[re,P]=uf(e=>{let t=k().filter(e=>!e.disabled),n=df(t,e,t.find(e=>e.ref.current===document.activeElement));n&&setTimeout(()=>n.ref.current?.focus())}),F=Z.useCallback((e,t,n)=>{let r=!M.current&&!n;(v.value!==void 0&&v.value===t||r)&&(T(e),r&&(M.current=!0))},[v.value]),ie=Z.useCallback(()=>y?.focus(),[y]),ae=Z.useCallback((e,t,n)=>{let r=!M.current&&!n;(v.value!==void 0&&v.value===t||r)&&O(e)},[v.value]),oe=r===`popper`?jd:kd,se=oe===jd?{side:s,sideOffset:c,align:l,alignOffset:u,arrowPadding:d,collisionBoundary:f,collisionPadding:p,sticky:m,hideWhenDetached:h,avoidCollisions:g}:{};return(0,Q.jsx)(Cd,{scope:n,content:y,viewport:x,onViewportChange:S,itemRefCallback:F,selectedItem:w,onItemLeave:ie,itemTextRefCallback:ae,focusSelectedItem:N,selectedItemText:D,position:r,isPositioned:A,searchRef:re,children:(0,Q.jsx)(Fi,{as:Ed,allowPinchZoom:!0,children:(0,Q.jsx)(Di,{asChild:!0,trapped:v.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:q(i,e=>{v.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,Q.jsx)(Ii,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>v.onOpenChange(!1),children:(0,Q.jsx)(oe,{role:`listbox`,id:v.contentId,"data-state":v.open?`open`:`closed`,dir:v.dir,onContextMenu:e=>e.preventDefault(),..._,...se,onPlaced:()=>j(!0),ref:C,style:{display:`flex`,flexDirection:`column`,outline:`none`,..._.style},onKeyDown:q(_.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&P(e.key),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=k().filter(e=>!e.disabled).map(e=>e.ref.current);if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>ee(t)),e.preventDefault()}})})})})})})});Dd.displayName=Td;var Od=`SelectItemAlignedPosition`,kd=Z.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...i}=e,a=rd(yd,n),o=wd(yd,n),[s,c]=Z.useState(null),[l,u]=Z.useState(null),d=E(t,u),f=Zu(n),p=Z.useRef(!1),m=Z.useRef(!0),{viewport:h,selectedItem:g,selectedItemText:_,focusSelectedItem:v}=o,y=Z.useCallback(()=>{if(a.trigger&&a.valueNode&&s&&l&&h&&g&&_){let e=a.trigger.getBoundingClientRect(),t=l.getBoundingClientRect(),n=a.valueNode.getBoundingClientRect(),i=_.getBoundingClientRect();if(a.dir!==`rtl`){let r=i.left-t.left,a=n.left-r,o=e.left-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Sd,d=Gu(a,[Sd,Math.max(Sd,u-l)]);s.style.minWidth=c+`px`,s.style.left=d+`px`}else{let r=t.right-i.right,a=window.innerWidth-n.right-r,o=window.innerWidth-e.right-a,c=e.width+o,l=Math.max(c,t.width),u=window.innerWidth-Sd,d=Gu(a,[Sd,Math.max(Sd,u-l)]);s.style.minWidth=c+`px`,s.style.right=d+`px`}let o=f(),c=window.innerHeight-Sd*2,u=h.scrollHeight,d=window.getComputedStyle(l),m=parseInt(d.borderTopWidth,10),v=parseInt(d.paddingTop,10),y=parseInt(d.borderBottomWidth,10),b=parseInt(d.paddingBottom,10),x=m+v+u+b+y,S=Math.min(g.offsetHeight*5,x),C=window.getComputedStyle(h),w=parseInt(C.paddingTop,10),T=parseInt(C.paddingBottom,10),E=e.top+e.height/2-Sd,D=c-E,O=g.offsetHeight/2,k=g.offsetTop+O,A=m+v+k,j=x-A;if(A<=E){let e=o.length>0&&g===o[o.length-1].ref.current;s.style.bottom=`0px`;let t=l.clientHeight-h.offsetTop-h.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+y);s.style.height=n+`px`}else{let e=o.length>0&&g===o[0].ref.current;s.style.top=`0px`;let t=Math.max(E,m+h.offsetTop+(e?w:0)+O)+j;s.style.height=t+`px`,h.scrollTop=A-E+h.offsetTop}s.style.margin=`${Sd}px 0`,s.style.minHeight=S+`px`,s.style.maxHeight=c+`px`,r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,s,l,h,g,_,a.dir,r]);Ai(()=>y(),[y]);let[b,x]=Z.useState();return Ai(()=>{l&&x(window.getComputedStyle(l).zIndex)},[l]),(0,Q.jsx)(Md,{scope:n,contentWrapper:s,shouldExpandOnScrollRef:p,onScrollButtonChange:Z.useCallback(e=>{e&&m.current===!0&&(y(),v?.(),m.current=!1)},[y,v]),children:(0,Q.jsx)(`div`,{ref:c,style:{display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:b},children:(0,Q.jsx)(ji.div,{...i,ref:d,style:{boxSizing:`border-box`,maxHeight:`100%`,...i.style}})})})});kd.displayName=Od;var Ad=`SelectPopperPosition`,jd=Z.forwardRef((e,t)=>{let{__scopeSelect:n,align:r=`start`,collisionPadding:i=Sd,...a}=e,o=td(n);return(0,Q.jsx)(sa,{...o,...a,ref:t,align:r,collisionPadding:i,style:{boxSizing:`border-box`,...a.style,"--radix-select-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-select-content-available-width":`var(--radix-popper-available-width)`,"--radix-select-content-available-height":`var(--radix-popper-available-height)`,"--radix-select-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-select-trigger-height":`var(--radix-popper-anchor-height)`}})});jd.displayName=Ad;var[Md,Nd]=$u(yd,{}),Pd=`SelectViewport`,Fd=Z.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...i}=e,a=wd(Pd,n),o=Nd(Pd,n),s=E(t,a.onViewportChange),c=Z.useRef(0);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`style`,{dangerouslySetInnerHTML:{__html:`[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}`},nonce:r}),(0,Q.jsx)(Xu.Slot,{scope:n,children:(0,Q.jsx)(ji.div,{"data-radix-select-viewport":``,role:`presentation`,...i,ref:s,style:{position:`relative`,flex:1,overflow:`hidden auto`,...i.style},onScroll:q(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:n,shouldExpandOnScrollRef:r}=o;if(r?.current&&n){let e=Math.abs(c.current-t.scrollTop);if(e>0){let r=window.innerHeight-Sd*2,i=parseFloat(n.style.minHeight),a=parseFloat(n.style.height),o=Math.max(i,a);if(o<r){let i=o+e,a=Math.min(r,i),s=i-a;n.style.height=a+`px`,n.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,n.style.justifyContent=`flex-end`)}}}c.current=t.scrollTop})})})]})});Fd.displayName=Pd;var Id=`SelectGroup`,[Ld,Rd]=$u(Id),zd=Z.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Ni();return(0,Q.jsx)(Ld,{scope:n,id:i,children:(0,Q.jsx)(ji.div,{role:`group`,"aria-labelledby":i,...r,ref:t})})});zd.displayName=Id;var Bd=`SelectLabel`,Vd=Z.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=Rd(Bd,n);return(0,Q.jsx)(ji.div,{id:i.id,...r,ref:t})});Vd.displayName=Bd;var Hd=`SelectItem`,[Ud,Wd]=$u(Hd),Gd=Z.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:i=!1,textValue:a,...o}=e,s=rd(Hd,n),c=wd(Hd,n),l=s.value===r,[u,d]=Z.useState(a??``),[f,p]=Z.useState(!1),m=E(t,Oi(e=>c.itemRefCallback?.(e,r,i))),h=Ni(),g=Z.useRef(`touch`),_=()=>{i||(s.onValueChange(r),s.onOpenChange(!1))};return(0,Q.jsx)(Ud,{scope:n,value:r,disabled:i,textId:h,isSelected:l,onItemTextChange:Z.useCallback(e=>{d(t=>t||(e?.textContent??``).trim())},[]),children:(0,Q.jsx)(Xu.ItemSlot,{scope:n,value:r,disabled:i,textValue:u,children:(0,Q.jsx)(ji.div,{role:`option`,"aria-labelledby":h,"data-highlighted":f?``:void 0,"aria-selected":l&&f,"data-state":l?`checked`:`unchecked`,"aria-disabled":i||void 0,"data-disabled":i?``:void 0,tabIndex:i?void 0:-1,...o,ref:m,onFocus:q(o.onFocus,()=>p(!0)),onBlur:q(o.onBlur,()=>p(!1)),onClick:q(o.onClick,()=>{g.current!==`mouse`&&_()}),onPointerUp:q(o.onPointerUp,()=>{g.current===`mouse`&&_()}),onPointerDown:q(o.onPointerDown,e=>{g.current=e.pointerType}),onPointerMove:q(o.onPointerMove,e=>{g.current=e.pointerType,i?c.onItemLeave?.():g.current===`mouse`&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:q(o.onPointerLeave,e=>{e.currentTarget===document.activeElement&&c.onItemLeave?.()}),onKeyDown:q(o.onKeyDown,e=>{i||e.target!==e.currentTarget||c.searchRef?.current!==``&&e.key===` `||(Ju.includes(e.key)&&_(),e.key===` `&&e.preventDefault())})})})})});Gd.displayName=Hd;var Kd=`SelectItemText`,qd=Z.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:i,...a}=e,o=rd(Kd,n),s=wd(Kd,n),c=Wd(Kd,n),l=ad(Kd,n),[u,d]=Z.useState(null),f=Oi(e=>s.itemTextRefCallback?.(e,c.value,c.disabled)),p=E(t,d,c.onItemTextChange,f),m=u?.textContent,h=Z.useMemo(()=>(0,Q.jsx)(`option`,{value:c.value,disabled:c.disabled,children:m},c.value),[c.disabled,c.value,m]),{onNativeOptionAdd:g,onNativeOptionRemove:_}=l;return Ai(()=>(g(h),()=>_(h)),[g,_,h]),(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ji.span,{id:c.textId,...a,ref:p}),c.isSelected&&o.valueNode&&!o.valueNodeHasChildren&&!lf(o.value)?Ku.createPortal(a.children,o.valueNode):null]})});qd.displayName=Kd;var Jd=`SelectItemIndicator`,Yd=Z.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return Wd(Jd,n).isSelected?(0,Q.jsx)(ji.span,{"aria-hidden":!0,...r,ref:t}):null});Yd.displayName=Jd;var Xd=`SelectScrollUpButton`,Zd=Z.forwardRef((e,t)=>{let n=wd(Xd,e.__scopeSelect),r=Nd(Xd,e.__scopeSelect),[i,a]=Z.useState(!1),o=E(t,r.onScrollButtonChange);return Ai(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollTop>0;a(e)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,Q.jsx)(ef,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop-=t.offsetHeight)}}):null});Zd.displayName=Xd;var Qd=`SelectScrollDownButton`,$d=Z.forwardRef((e,t)=>{let n=wd(Qd,e.__scopeSelect),r=Nd(Qd,e.__scopeSelect),[i,a]=Z.useState(!1),o=E(t,r.onScrollButtonChange);return Ai(()=>{if(n.viewport&&n.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight,n=Math.ceil(t.scrollTop)<e;a(n)},t=n.viewport;return e(),t.addEventListener(`scroll`,e),()=>t.removeEventListener(`scroll`,e)}},[n.viewport,n.isPositioned]),i?(0,Q.jsx)(ef,{...e,ref:o,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=n;e&&t&&(e.scrollTop+=t.offsetHeight)}}):null});$d.displayName=Qd;var ef=Z.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...i}=e,a=wd(`SelectScrollButton`,n),o=Z.useRef(null),s=Zu(n),c=Z.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return Z.useEffect(()=>()=>c(),[c]),Ai(()=>{s().find(e=>e.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:`nearest`})},[s]),(0,Q.jsx)(ji.div,{"aria-hidden":!0,...i,ref:t,style:{flexShrink:0,...i.style},onPointerDown:q(i.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:q(i.onPointerMove,()=>{a.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:q(i.onPointerLeave,()=>{c()})})}),tf=`SelectSeparator`,nf=Z.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,Q.jsx)(ji.div,{"aria-hidden":!0,...r,ref:t})});nf.displayName=tf;var rf=`SelectArrow`,af=Z.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,i=td(n);return wd(rf,n).position===`popper`?(0,Q.jsx)(ia,{...i,...r,ref:t}):null});af.displayName=rf;var of=`SelectBubbleInput`,sf=Z.forwardRef(({__scopeSelect:e,...t},n)=>{let r=rd(of,e),{value:i,onValueChange:a,required:o,disabled:s,name:c,autoComplete:l,form:u}=r,{nativeOptions:d,nativeSelectKey:f}=r,p=Z.useRef(null),m=E(n,p),h=i??``,g=Ba(h),_=Array.from(d).some(e=>(e.props.value??``)===``);return Z.useEffect(()=>{let e=p.current;if(!e)return;let t=window.HTMLSelectElement.prototype,n=Object.getOwnPropertyDescriptor(t,`value`).set;if(g!==h&&n){let t=new Event(`change`,{bubbles:!0});n.call(e,h),e.dispatchEvent(t)}},[g,h]),(0,Q.jsxs)(ji.select,{"aria-hidden":!0,required:o,tabIndex:-1,name:c,autoComplete:l,disabled:s,form:u,onChange:e=>a(e.target.value),...t,style:{...Tu,...t.style},ref:m,defaultValue:h,children:[lf(i)&&!_?(0,Q.jsx)(`option`,{value:``}):null,Array.from(d)]},f)});sf.displayName=of;function cf(e){return typeof e==`function`}function lf(e){return e===``||e===void 0}function uf(e){let t=Oi(e),n=Z.useRef(``),r=Z.useRef(0),i=Z.useCallback(e=>{let i=n.current+e;t(i),(function e(t){n.current=t,window.clearTimeout(r.current),t!==``&&(r.current=window.setTimeout(()=>e(``),1e3))})(i)},[t]),a=Z.useCallback(()=>{n.current=``,window.clearTimeout(r.current)},[]);return Z.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,i,a]}function df(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=ff(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.textValue.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}function ff(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var pf=`Tabs`,[mf,hf]=Pi(pf,[qi]),gf=qi(),[_f,vf]=mf(pf),yf=Z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=Bi(s),[d,f]=ki({prop:r,onChange:i,defaultProp:a??``,caller:pf});return(0,Q.jsx)(_f,{scope:n,baseId:Ni(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,Q.jsx)(ji.div,{dir:u,"data-orientation":o,...l,ref:t})})});yf.displayName=pf;var bf=`TabsList`,xf=Z.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...i}=e,a=vf(bf,n),o=gf(n);return(0,Q.jsx)(Ji,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,Q.jsx)(ji.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})});xf.displayName=bf;var Sf=`TabsTrigger`,Cf=Z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=vf(Sf,n),s=gf(n),c=Ef(o.baseId,r),l=Df(o.baseId,r),u=r===o.value;return(0,Q.jsx)(Zi,{asChild:!0,...s,focusable:!i,active:u,children:(0,Q.jsx)(ji.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:q(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:q(e.onKeyDown,e=>{i||e.target!==e.currentTarget||[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:q(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})});Cf.displayName=Sf;var wf=`TabsContent`,Tf=Z.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=vf(wf,n),c=Ef(s.baseId,r),l=Df(s.baseId,r),u=r===s.value,d=Z.useRef(u);return Z.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,Q.jsx)(zi,{present:i||u,children:({present:n})=>(0,Q.jsx)(ji.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})});Tf.displayName=wf;function Ef(e,t){return`${e}-trigger-${t}`}function Df(e,t){return`${e}-content-${t}`}var Of=yf,kf=xf,Af=Cf,jf=Tf,[Mf,Nf]=Pi(`Tooltip`,[oa]),Pf=oa(),Ff=`TooltipProvider`,If=700,Lf=`tooltip.open`,[Rf,zf]=Mf(Ff),Bf=e=>{let{__scopeTooltip:t,delayDuration:n=If,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=Z.useRef(!0),s=Z.useRef(!1),c=Z.useRef(0);return Z.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,Q.jsx)(Rf,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:Z.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:Z.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:Z.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};Bf.displayName=Ff;var Vf=`Tooltip`,[Hf,Uf]=Mf(Vf),Wf=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=zf(Vf,e.__scopeTooltip),l=Pf(t),[u,d]=Z.useState(null),f=Ni(),p=Z.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=Z.useRef(!1),[_,v]=ki({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Lf))):c.onClose(),a?.(e)},caller:Vf}),y=Z.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=Z.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=Z.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),S=Z.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return Z.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,Q.jsx)(Ui,{...l,children:(0,Q.jsx)(Hf,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:Z.useCallback(()=>{c.isOpenDelayedRef.current?S():b()},[c.isOpenDelayedRef,S,b]),onTriggerLeave:Z.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};Wf.displayName=Vf;var Gf=`TooltipTrigger`,Kf=Z.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Uf(Gf,n),a=zf(Gf,n),o=Pf(n),s=E(t,Z.useRef(null),i.onTriggerChange),c=Z.useRef(!1),l=Z.useRef(!1),u=Z.useCallback(()=>c.current=!1,[]);return Z.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,Q.jsx)(Vi,{asChild:!0,...o,children:(0,Q.jsx)(ji.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:q(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:q(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:q(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:q(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:q(e.onBlur,i.onClose),onClick:q(e.onClick,i.onClose)})})});Kf.displayName=Gf;var qf=`TooltipPortal`,[Jf,Yf]=Mf(qf,{forceMount:void 0}),Xf=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Uf(qf,t);return(0,Q.jsx)(Jf,{scope:t,forceMount:n,children:(0,Q.jsx)(zi,{present:n||a.open,children:(0,Q.jsx)(Mi,{asChild:!0,container:i,children:r})})})};Xf.displayName=qf;var Zf=`TooltipContent`,Qf=Z.forwardRef((e,t)=>{let n=Yf(Zf,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Uf(Zf,e.__scopeTooltip);return(0,Q.jsx)(zi,{present:r||o.open,children:o.disableHoverableContent?(0,Q.jsx)(rp,{side:i,...a,ref:t}):(0,Q.jsx)($f,{side:i,...a,ref:t})})}),$f=Z.forwardRef((e,t)=>{let n=Uf(Zf,e.__scopeTooltip),r=zf(Zf,e.__scopeTooltip),i=Z.useRef(null),a=E(t,i),[o,s]=Z.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=Z.useCallback(()=>{s(null),d(!1)},[d]),p=Z.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=sp(r,op(r,n.getBoundingClientRect())),a=cp(t.getBoundingClientRect()),o=up([...i,...a]);s(o),d(!0)},[d]);return Z.useEffect(()=>()=>f(),[f]),Z.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),Z.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!lp(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,Q.jsx)(rp,{...e,ref:a})}),[ep,tp]=Mf(Vf,{isInside:!1}),np=f(`TooltipContent`),rp=Z.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=Uf(Zf,n),l=Pf(n),{onClose:u}=c;return Z.useEffect(()=>(document.addEventListener(Lf,u),()=>document.removeEventListener(Lf,u)),[u]),Z.useEffect(()=>{if(c.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,Q.jsx)(Ii,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,Q.jsxs)(sa,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,Q.jsx)(np,{children:r}),(0,Q.jsx)(ep,{scope:n,isInside:!0,children:(0,Q.jsx)(Ou,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Qf.displayName=Zf;var ip=`TooltipArrow`,ap=Z.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=Pf(n);return tp(ip,n).isInside?null:(0,Q.jsx)(ia,{...i,...r,ref:t})});ap.displayName=ip;function op(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function sp(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function cp(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function lp(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function up(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),dp(t)}function dp(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var fp=Bf,pp=Wf,mp=Kf,hp=Xf,gp=Qf,_p=ap,vp=m(`inline-flex w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-full border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 [&>svg]:pointer-events-none [&>svg]:size-3`,{variants:{variant:{default:`bg-accent-strong text-accent-strong-foreground [a&]:hover:bg-accent-strong/90`,secondary:`bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`bg-destructive text-destructive-foreground focus-visible:ring-destructive/20 [a&]:hover:bg-destructive/90`,outline:`border-border text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,ghost:`[a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,link:`text-link-foreground underline-offset-4 [a&]:hover:underline`}},defaultVariants:{variant:`default`}});function yp({className:e,variant:t=`default`,asChild:n=!1,...r}){return(0,Q.jsx)(n?T:`span`,{"data-slot":`badge`,"data-variant":t,className:O(vp({variant:t}),e),...r})}function bp({...e}){return(0,Q.jsx)(cd,{"data-slot":`select`,...e})}function xp({...e}){return(0,Q.jsx)(fd,{"data-slot":`select-value`,...e})}function Sp({className:e,size:t=`default`,children:n,...r}){return(0,Q.jsxs)(ud,{"data-slot":`select-trigger`,"data-size":t,className:O(`flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-[var(--task-brand-bg)] px-3 py-2 text-sm whitespace-nowrap shadow-none transition-[color,box-shadow] outline-hidden focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-11 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 pointer-hover:bg-muted [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,Q.jsx)(md,{asChild:!0,children:(0,Q.jsx)(Vo,{className:`size-4 opacity-50`})})]})}function Cp({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,Q.jsx)(vd,{children:(0,Q.jsxs)(bd,{"data-slot":`select-content`,className:O(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md motion-safe:data-[side=bottom]:slide-in-from-top-2 motion-safe:data-[side=left]:slide-in-from-right-2 motion-safe:data-[side=right]:slide-in-from-left-2 motion-safe:data-[side=top]:slide-in-from-bottom-2 motion-safe:data-[state=closed]:animate-out data-[state=closed]:fade-out-0 motion-safe:data-[state=closed]:zoom-out-95 motion-safe:data-[state=open]:animate-in data-[state=open]:fade-in-0 motion-safe:data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,Q.jsx)(Tp,{}),(0,Q.jsx)(Fd,{className:O(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,Q.jsx)(Ep,{})]})})}function wp({className:e,children:t,...n}){return(0,Q.jsxs)(Gd,{"data-slot":`select-item`,className:O(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pe-8 ps-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,Q.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute end-2 flex size-3.5 items-center justify-center`,children:(0,Q.jsx)(Yd,{children:(0,Q.jsx)(Oo,{className:`size-4`})})}),(0,Q.jsx)(qd,{children:t})]})}function Tp({className:e,...t}){return(0,Q.jsx)(Zd,{"data-slot":`select-scroll-up-button`,className:O(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,Q.jsx)(xo,{className:`size-4`})})}function Ep({className:e,...t}){return(0,Q.jsx)($d,{"data-slot":`select-scroll-down-button`,className:O(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,Q.jsx)(Vo,{className:`size-4`})})}function Dp({className:e,type:t,...n}){return(0,Q.jsx)(`input`,{type:t,"data-slot":`input`,className:O(`h-11 w-full min-w-0 rounded-md border border-control-border bg-[var(--task-brand-bg)] px-3 py-1 text-base shadow-none transition-[color,box-shadow] outline-hidden selection:bg-accent-strong selection:text-accent-strong-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-soft-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`,`aria-invalid:border-destructive aria-invalid:ring-destructive/20`,e),...n})}function Op(e){let t=/-pr(\d+)\./.exec(e);return t?Number(t[1]):null}function kp(e,t){return!t||[e.branch,e.task?.title,e.task?.id,e.commit?.subject,e.worktree,e.pr?`#${e.pr}`:``].filter(Boolean).some(e=>e.toLowerCase().includes(t))}function Ap(e,t,n){return!e.version&&!n?!1:!t||[`#${e.number}`,String(e.number),e.title,e.branch,e.author??``].some(e=>e.toLowerCase().includes(t))}function jp(e,t){return e.pull&&!e.pull.installed?`Install & restart`:e.needsBuild?`${e.checkout.built?`Rebuild`:`Build`} & ${e.checkout.id===t?`restart`:`switch`}`:`Switch & restart`}function Mp(e,t){return e.checkout?e.needsBuild?`${e.checkout.built?`Needs rebuild`:`Not built yet`} — runs npm run build in ${e.checkout.worktree} first (about a minute).`:e.checkout.worktree:e.pull?`Installs ${e.pull.version} from npm.`:t===`worktrees`?`Linked, not copied: a worktree with uncommitted changes, a missing build, or a build older than its last commit is built before the switch.`:`Preview builds CI publishes for green same-repo pull requests.`}function Np(e,t,n,r){let i=e===`worktrees`?t.find(e=>e.id===r):void 0;return{checkout:i,pull:e===`pulls`?n?.items.find(e=>e.version&&e.version===r):void 0,needsBuild:!!i&&(!i.built||i.stale)}}function Pp(e,{chosenTab:t,needle:n,picked:r,showUnbuilt:i}){let a=(0,Z.useMemo)(()=>e?.checkouts??[],[e]),o=e?.pulls,s=(0,Z.useMemo)(()=>o?.items??[],[o]),c=!e||a.length>0,l=c?t:`pulls`,u=(0,Z.useMemo)(()=>a.filter(e=>kp(e,n)),[a,n]),d=(0,Z.useMemo)(()=>s.filter(e=>Ap(e,n,i)),[s,n,i]),f=s.filter(e=>!e.version).length;return{pulls:o,tab:l,tabs:[...c?[{value:`worktrees`,label:`Worktrees`,count:a.length}]:[],{value:`pulls`,label:`Pull requests`,count:s.length-f}],shownCheckouts:u,shownPulls:d,unbuilt:f,pick:Np(l,a,o,r)}}function Fp({data:e,onApply:t,applying:n}){let r=bu(),i=xu(),[a,o]=(0,Z.useState)(`worktrees`),[s,c]=(0,Z.useState)(``),[l,u]=(0,Z.useState)(null),[d,f]=(0,Z.useState)(!1),p=s.trim().toLowerCase(),m=Pp(r.data,{chosenTab:a,needle:p,picked:l,showUnbuilt:d}),{tab:h,pick:g}=m,_=e.installed.find(e=>e.active)?.id;return(0,Q.jsxs)(`div`,{"data-slot":`self-update-development`,className:`flex min-w-0 flex-col gap-2`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,Q.jsx)(Lp,{tabs:m.tabs,tab:h,showCounts:!!r.data,onTab:e=>{o(e),u(null)}}),(0,Q.jsx)(D,{variant:`ghost`,size:`sm`,onClick:()=>i.mutate(),disabled:i.isPending||r.isFetching,children:i.isPending?`Refreshing…`:`Refresh`})]}),(0,Q.jsx)(Dp,{"aria-label":`Filter`,value:s,onChange:e=>c(e.target.value),placeholder:h===`worktrees`?`Filter by task, branch, commit or #PR`:`Filter by #number, title, branch or author`,className:`h-8 text-[13px]`}),(0,Q.jsx)(`div`,{className:`max-h-72 min-h-24 overflow-y-auto rounded-md border border-border`,children:r.isPending?(0,Q.jsx)(`p`,{className:`px-3 py-3 text-[12.5px] text-muted-foreground`,children:`Looking for worktrees and pull requests…`}):r.error?(0,Q.jsx)(`p`,{className:`px-3 py-3 text-[12.5px] text-danger`,children:r.error.message}):h===`worktrees`?(0,Q.jsx)(Rp,{checkouts:m.shownCheckouts,activeId:_,picked:l,onPick:u}):(0,Q.jsx)(Bp,{pulls:m.pulls,shown:m.shownPulls,filtered:!!p,unbuilt:m.unbuilt,showUnbuilt:d,onToggleUnbuilt:()=>f(e=>!e),activeId:_,picked:l,onPick:u})}),(0,Q.jsx)(Ip,{data:e,pick:g,tab:h,activeId:_,applying:n,onApply:t})]})}function Ip({data:e,pick:t,tab:n,activeId:r,applying:i,onApply:a}){let o=e.job?.status===`running`||e.job?.status===`restarting`,s=t.checkout?.id??t.pull?.version??null,c=!!s&&s===r&&!t.needsBuild;return(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center justify-between gap-2`,children:[(0,Q.jsx)(`p`,{className:`min-w-0 truncate text-[11.5px] text-muted-foreground`,title:t.checkout?.worktree,children:Mp(t,n)}),(0,Q.jsx)(D,{size:`sm`,variant:`contrast`,onClick:()=>s&&a(s),disabled:!s||c||!e.canSelfUpdate||i||o,children:jp(t,r)})]})}function Lp({tabs:e,tab:t,showCounts:n,onTab:r}){return(0,Q.jsx)(`div`,{role:`tablist`,"aria-label":`Development builds`,className:`flex rounded-md border border-border bg-muted/40 p-0.5`,children:e.map(e=>(0,Q.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":t===e.value,onClick:()=>r(e.value),className:O(`rounded-[5px] px-3 py-1 text-[12.5px] font-semibold transition-colors`,t===e.value?`bg-card text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:[e.label,n?(0,Q.jsx)(`span`,{className:`ml-1.5 font-normal text-muted-foreground`,children:e.count}):null]},e.value))})}function Rp({checkouts:e,activeId:t,picked:n,onPick:r}){return(0,Q.jsxs)(Q.Fragment,{children:[e.length===0?(0,Q.jsx)(`p`,{className:`px-3 py-3 text-[12.5px] text-muted-foreground`,children:`Nothing matches.`}):null,(0,Q.jsx)(`div`,{role:`listbox`,"aria-label":`Worktrees`,children:e.map(e=>(0,Q.jsx)(Hp,{checkout:e,active:e.id===t,selected:n===e.id,onSelect:()=>r(e.id)},e.worktree))})]})}function zp(e,t){return e.items.length===0?`No open pull requests on ${e.repo}.`:t?`Nothing matches.`:`No open pull request has a preview build.`}function Bp({pulls:e,shown:t,filtered:n,unbuilt:r,showUnbuilt:i,onToggleUnbuilt:a,activeId:o,picked:s,onPick:c}){return(0,Q.jsxs)(Q.Fragment,{children:[e&&!e.available?(0,Q.jsx)(`p`,{className:`px-3 py-2 text-[12px] text-muted-foreground`,children:e.reason}):null,e?.available&&t.length===0?(0,Q.jsx)(`p`,{className:`px-3 py-3 text-[12.5px] text-muted-foreground`,children:zp(e,n)}):null,(0,Q.jsx)(`div`,{role:`listbox`,"aria-label":`Pull requests`,children:t.map(e=>(0,Q.jsx)(Up,{pull:e,active:!!e.version&&e.version===o,selected:!!e.version&&s===e.version,onSelect:()=>e.version&&c(e.version)},e.number))}),r>0?(0,Q.jsx)(`button`,{type:`button`,onClick:a,className:`w-full border-t border-border px-3 py-2 text-left text-[12px] text-muted-foreground hover:text-foreground`,children:i?`Hide the ${r} without a preview build`:`${r} more without a preview build (forks, CI not green yet) — show`}):null]})}function Vp({selected:e,disabled:t,onSelect:n,title:r,children:i}){return(0,Q.jsx)(`div`,{role:`option`,"aria-selected":e,"aria-disabled":t,tabIndex:t?-1:0,title:r,onClick:()=>!t&&n(),onKeyDown:e=>{!t&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},className:O(`flex min-w-0 flex-col gap-0.5 border-b border-border px-3 py-2 last:border-b-0 outline-none`,t?`cursor-not-allowed opacity-55`:`cursor-pointer hover:bg-muted/50 focus-visible:bg-muted/60`,e&&`bg-accent-strong/10 hover:bg-accent-strong/10`),children:i})}function Hp({checkout:e,active:t,selected:n,onSelect:r}){let i=e.task?.title??e.commit?.subject??e.branch;return(0,Q.jsxs)(Vp,{selected:n,disabled:!e.id,onSelect:r,title:e.worktree,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] font-medium`,children:i}),e.pr?(0,Q.jsxs)(yp,{variant:`outline`,children:[`#`,e.pr]}):null,t?(0,Q.jsx)(yp,{variant:`secondary`,children:`current`}):null,e.built?e.stale?(0,Q.jsx)(yp,{variant:`outline`,children:`needs rebuild`}):null:(0,Q.jsx)(yp,{variant:`outline`,children:`not built`})]}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[11.5px] text-muted-foreground`,children:[(0,Q.jsx)(`span`,{className:`shrink-0 font-mono`,children:e.branch}),e.task?(0,Q.jsxs)(`span`,{className:`shrink-0`,children:[`· `,e.task.status]}):null,e.commit?(0,Q.jsxs)(`span`,{className:`min-w-0 truncate`,children:[`· `,e.commit.sha,` `,e.task?e.commit.subject:``,` · `,ts(e.commit.at),` ago`]}):null,e.builtAt?(0,Q.jsxs)(`span`,{className:`shrink-0`,children:[`· built `,ts(e.builtAt),` ago`]}):null]})]})}function Up({pull:e,active:t,selected:n,onSelect:r}){return(0,Q.jsxs)(Vp,{selected:n,disabled:!e.version,onSelect:r,title:e.url,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsxs)(`span`,{className:`shrink-0 text-[13px] text-muted-foreground`,children:[`#`,e.number]}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] font-medium`,children:e.title}),e.draft?(0,Q.jsx)(yp,{variant:`outline`,children:`draft`}):null,t?(0,Q.jsx)(yp,{variant:`secondary`,children:`current`}):e.version?e.installed?(0,Q.jsx)(yp,{variant:`outline`,children:`installed`}):null:(0,Q.jsx)(yp,{variant:`outline`,children:`no build`})]}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 text-[11.5px] text-muted-foreground`,children:[e.author?(0,Q.jsx)(`span`,{className:`shrink-0`,children:e.author}):null,(0,Q.jsxs)(`span`,{className:`min-w-0 truncate font-mono`,children:[`· `,e.branch]}),(0,Q.jsxs)(`span`,{className:`shrink-0`,children:[`· updated `,ts(e.updatedAt),` ago`]}),e.version?(0,Q.jsxs)(`span`,{className:`shrink-0`,children:[`· build `,e.publishedAt?`${ts(e.publishedAt)} ago`:e.version]}):null]})]})}function Wp({open:e,onOpenChange:t,autoApply:n}){let r=yu(e),i=Su(),o=Cu(),s=wu(),[c,l]=(0,Z.useState)(``),u=r.data,d=(0,Z.useRef)(null),f=(0,Z.useRef)(!1);return(0,Z.useEffect)(()=>{!n||f.current||!u||!u.canSelfUpdate||u.job||(f.current=!0,!(u.activeRuns>0)&&s.mutate(n))},[n,u,s]),(0,Q.jsx)(Xo,{open:e,onOpenChange:e=>{!e&&(s.isPending||u?.job?.status===`running`||u?.job?.status===`restarting`)||t(e)},children:(0,Q.jsxs)(Yo,{"data-slot":`self-update-dialog`,className:`sm:max-w-xl`,ref:d,onOpenAutoFocus:e=>{e.preventDefault(),d.current?.focus()},children:[(0,Q.jsxs)($o,{children:[(0,Q.jsxs)(Jo,{className:`flex items-center gap-2`,children:[(0,Q.jsxs)(`span`,{children:[a(`cezar`),` `,u?`v${u.version}`:``]}),(0,Q.jsx)(nm,{data:u})]}),(0,Q.jsxs)(qo,{className:`sr-only`,children:[`Update `,a(`cezar`),`, pick a release channel or switch versions.`]})]}),u?(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-5`,children:[(0,Q.jsx)(qp,{data:u,busy:o.isPending,onChange:e=>{l(``),o.mutate(e)}}),(0,Q.jsx)(Yp,{data:u,checking:i.isPending,onCheck:()=>i.mutate(),onApply:e=>s.mutate(e),applying:s.isPending}),u.channel===`development`?(0,Q.jsx)(Fp,{data:u,onApply:e=>s.mutate(e),applying:s.isPending}):(0,Q.jsx)(tm,{data:u,picked:c,onPick:l,onApply:e=>s.mutate(e),applying:s.isPending}),u.canSelfUpdate?null:(0,Q.jsx)(rm,{data:u}),u.activeRuns>0&&u.canSelfUpdate?(0,Q.jsxs)(`p`,{className:`rounded-md border border-pending/50 bg-pending/10 px-3 py-2 text-[12.5px] text-foreground`,children:[u.activeRuns,` task`,u.activeRuns===1?` is`:`s are`,` running. A restart interrupts them; `,a(`cezar`),` re-queues or resumes them on the way back up.`]}):null,o.error?(0,Q.jsxs)(`p`,{className:`text-[12.5px] text-danger`,children:[`Could not switch the channel: `,o.error.message,o.variables===`development`?` The running ${a(`cezar`)} server predates the Development channel — restart ${a(`cezar`)} to load it.`:null]}):null,s.error?(0,Q.jsx)(`p`,{className:`text-[12.5px] text-danger`,children:s.error.message}):null,u.job?(0,Q.jsx)(im,{data:u}):null]}):r.error?(0,Q.jsx)(`p`,{className:`text-[13px] text-danger`,children:r.error.message}):null]})})}var Gp=[{value:`stable`,label:`Stable`},{value:`nightly`,label:`Nightly`},{value:`development`,label:`Development`}],Kp={stable:`Tagged releases.`,nightly:`A fresh build of main every night.`,development:`A ${a(`cezar`)} worktree or an open pull request. Never updates on its own.`};function qp({data:e,busy:t,onChange:n}){return(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsx)(`div`,{className:`text-[13px] font-semibold`,children:`Release channel`}),(0,Q.jsx)(`div`,{className:`text-[12px] text-muted-foreground`,children:Kp[e.channel]})]}),(0,Q.jsx)(`div`,{role:`radiogroup`,"aria-label":`Release channel`,"data-slot":`channel-toggle`,className:`flex shrink-0 rounded-md border border-border bg-muted/40 p-0.5`,children:Gp.map(r=>{let i=e.channel===r.value;return(0,Q.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":i,disabled:t,onClick:()=>!i&&n(r.value),className:O(`rounded-[5px] px-3 py-1 text-[12.5px] font-semibold transition-colors`,i?`bg-card text-foreground shadow-sm`:`text-muted-foreground hover:text-foreground`),children:r.label},r.value)})})]})}var Jp=e=>e.job?.status===`running`||e.job?.status===`restarting`;function Yp(e){let{data:t}=e,n=t.installed.find(e=>e.active),r=n?.source===`registry`?Op(n.version):null,i=n&&(n.source===`link`||n.source===`local`||r!==null)?n:null;return i||t.channel===`development`?(0,Q.jsx)(Xp,{...e,dev:i,pr:r}):(0,Q.jsx)($p,{...e})}function Xp({data:e,checking:t,onCheck:n,onApply:r,applying:i,dev:a,pr:o}){let s=Jp(e),c=e.channel===`development`?null:e.latest[e.channel],l=c!==null&&e.installed.some(e=>e.source===`registry`&&e.id===c);return(0,Q.jsxs)(`div`,{"data-slot":`self-update-latest`,className:`flex flex-col gap-2 rounded-md border border-border bg-card px-3 py-2.5`,children:[(0,Q.jsx)(`div`,{className:`min-w-0 text-[13px] break-words`,children:(0,Q.jsx)(Zp,{data:e,dev:a,pr:o})}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-3 gap-y-2`,children:[(0,Q.jsx)(`div`,{className:`min-w-0 text-[11.5px] break-words text-muted-foreground`,children:(0,Q.jsx)(Qp,{data:e,release:c})}),e.channel===`development`?null:(0,Q.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-2`,children:[(0,Q.jsx)(D,{variant:`ghost`,size:`sm`,onClick:n,disabled:t||s,children:t?`Checking…`:`Check again`}),c?(0,Q.jsx)(D,{size:`sm`,"aria-label":l?`Back to v${c}`:`Install v${c} & restart`,onClick:()=>r(c),disabled:!e.canSelfUpdate||i||s,children:l?`Switch back`:`Install & restart`}):null]})]})]})}function Zp({data:e,dev:t,pr:n}){return t?.source===`link`?(0,Q.jsxs)(Q.Fragment,{children:[`Running worktree `,(0,Q.jsx)(`span`,{className:`font-mono text-[12.5px] font-semibold`,children:t.branch??t.id}),`, not a release.`]}):t?.source===`local`?(0,Q.jsx)(Q.Fragment,{children:`Running a local build, not a release.`}):n===null?(0,Q.jsxs)(Q.Fragment,{children:[`Running `,(0,Q.jsxs)(`span`,{className:`font-semibold`,children:[`v`,e.version]}),`. Pick a worktree or a pull request below.`]}):(0,Q.jsxs)(Q.Fragment,{children:[`Running the preview build of `,(0,Q.jsxs)(`span`,{className:`font-semibold`,children:[`PR #`,n]}),`, not a release.`]})}function Qp({data:e,release:t}){return e.channel===`development`?(0,Q.jsx)(Q.Fragment,{children:`Switch the channel back to Stable or Nightly to follow releases again.`}):e.checkedAt?(0,Q.jsxs)(Q.Fragment,{children:[t?(0,Q.jsxs)(Q.Fragment,{children:[`Newest `,e.channel,`: `,(0,Q.jsxs)(`span`,{className:`font-mono text-foreground`,children:[`v`,t]}),` ·`,` `]}):null,`checked `,new Date(e.checkedAt).toLocaleTimeString()]}):(0,Q.jsx)(Q.Fragment,{children:`The npm registry has not answered yet.`})}function $p({data:e,checking:t,onCheck:n,onApply:r,applying:i}){let a=Jp(e),o=e.updateAvailable;return(0,Q.jsxs)(`div`,{"data-slot":`self-update-latest`,className:O(`flex items-center justify-between gap-3 rounded-md border px-3 py-2.5`,o?`border-accent-strong/40 bg-accent-strong/5`:`border-border bg-card`),children:[(0,Q.jsxs)(`div`,{className:`min-w-0 text-[13px]`,children:[(0,Q.jsx)(em,{data:e,target:o}),e.checkedAt?(0,Q.jsxs)(`div`,{className:`text-[11.5px] text-muted-foreground`,children:[`checked `,new Date(e.checkedAt).toLocaleTimeString()]}):null]}),(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2`,children:[(0,Q.jsx)(D,{variant:`ghost`,size:`sm`,onClick:n,disabled:t||a,children:t?`Checking…`:`Check again`}),o?(0,Q.jsx)(D,{size:`sm`,onClick:()=>r(o),disabled:!e.canSelfUpdate||i||a,children:`Update & restart`}):null]})]})}function em({data:e,target:t}){return e.checkedAt?t?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`span`,{className:`font-semibold`,children:[`v`,t]}),` is available on `,e.channel,`.`]}):(0,Q.jsxs)(Q.Fragment,{children:[`You are on the newest `,e.channel,` version`,e.channel===`nightly`&&e.latest.nightly?` (v${e.latest.nightly})`:``,`.`]}):(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`The npm registry has not answered yet.`})}function tm({data:e,picked:t,onPick:n,onApply:r,applying:i}){let a=e.job?.status===`running`||e.job?.status===`restarting`,o=(0,Z.useMemo)(()=>{let t=e.channel===`stable`?e.installed.filter(e=>e.source===`local`).map(e=>({value:e.id,label:`v${e.version} · local build`,installed:!0,active:e.active})):[],n=e.available.filter(t=>t.channel===e.channel).map(t=>({value:t.version,label:`v${t.version}${t.publishedAt?` · ${t.publishedAt.slice(0,10)}`:``}`,installed:t.installed,active:e.installed.some(e=>e.active&&e.id===t.version)}));return[...t,...n]},[e]),s=o.find(e=>e.value===t);return(0,Q.jsxs)(`div`,{"data-slot":`self-update-picker`,className:`flex min-w-0 flex-col gap-2`,children:[(0,Q.jsxs)(`div`,{className:`text-[13px] font-semibold`,children:[`Pick a version `,(0,Q.jsxs)(`span`,{className:`font-normal text-muted-foreground`,children:[`· `,e.channel]})]}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-2`,children:[(0,Q.jsxs)(bp,{value:t,onValueChange:n,disabled:o.length===0||a,children:[(0,Q.jsx)(Sp,{size:`sm`,"aria-label":`Version`,className:`w-0 min-w-0 flex-1 text-[13px]`,children:(0,Q.jsx)(xp,{placeholder:o.length===0?`No versions known`:`Choose a version to install`})}),(0,Q.jsx)(Cp,{className:`max-h-72`,children:o.map(e=>(0,Q.jsx)(wp,{value:e.value,children:(0,Q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[e.label,e.active?(0,Q.jsx)(yp,{variant:`secondary`,children:`current`}):e.installed?(0,Q.jsx)(yp,{variant:`outline`,children:`installed`}):null]})},e.value))})]}),(0,Q.jsx)(D,{size:`sm`,variant:`contrast`,onClick:()=>s&&r(s.value),disabled:!s||s.active||!e.canSelfUpdate||i||a,children:s?.installed?`Switch & restart`:`Install & restart`})]}),(0,Q.jsx)(`p`,{className:`text-[11.5px] text-muted-foreground`,children:`Any version, older ones included. Installed versions stay on disk, so switching back is instant.`})]})}function nm({data:e}){let t=e?.installed.find(e=>e.active);if(t?.source===`local`)return(0,Q.jsx)(yp,{variant:`outline`,children:`local build`});if(t?.source===`link`)return(0,Q.jsxs)(yp,{variant:`outline`,children:[`worktree · `,t.branch??t.id]});let n=t?Op(t.version):null;return n===null?null:(0,Q.jsxs)(yp,{variant:`outline`,children:[`PR #`,n,` build`]})}function rm({data:e}){let t=e.installKind===`checkout`?`node packages/cezar/dist/index.js install`:e.installKind===`global-npm`?`${i()} install`:`npx ${ee()} install`;return(0,Q.jsxs)(`div`,{"data-slot":`self-update-install-hint`,className:`rounded-md border border-border bg-muted/40 px-3 py-2.5 text-[12.5px]`,children:[(0,Q.jsx)(`p`,{children:e.reason}),(0,Q.jsxs)(`p`,{className:`mt-1.5 text-muted-foreground`,children:[`Run this once, then start `,a(`cezar`),` with the plain command:`]}),(0,Q.jsx)(`pre`,{className:`mt-1.5 overflow-x-auto rounded bg-background px-2 py-1.5 font-mono text-[12px]`,children:t})]})}function im({data:e}){let t=e.job,n=I(),r=(0,Z.useRef)(null),[i,a]=(0,Z.useState)(`waiting`);return(0,Z.useEffect)(()=>{r.current?.scrollTo({top:r.current.scrollHeight})},[t.log.length]),(0,Z.useEffect)(()=>{if(t.status!==`restarting`)return;let r=!1,i=Date.now(),o=()=>{a(`back`),n.removeQueries({queryKey:vu.status}),window.setTimeout(()=>window.location.reload(),400)},s=async()=>{if(!r){try{if((await nt()).version!==e.version)return o();let t=await pu().catch(()=>null);if(t&&!t.job)return o()}catch{}if(Date.now()-i>9e4){a(`timeout`);return}window.setTimeout(s,1e3)}};return window.setTimeout(s,1500),()=>{r=!0}},[t.status,e.version,n]),(0,Q.jsxs)(`div`,{"data-slot":`self-update-job`,className:`flex min-w-0 flex-col gap-1.5`,children:[(0,Q.jsx)(`div`,{className:`flex items-center justify-between text-[12.5px]`,children:(0,Q.jsx)(`span`,{className:`font-semibold`,children:t.status===`running`?`Installing ${t.target}…`:t.status===`failed`?`Install of ${t.target} failed`:i===`back`?`Back — reloading`:i===`timeout`?`Restart took too long — reload the page by hand`:`Restarting into ${t.target}…`})}),(0,Q.jsx)(`pre`,{ref:r,className:`max-h-40 min-w-0 overflow-y-auto rounded-md border border-border bg-background px-2 py-1.5 font-mono text-[11px] leading-[1.5] break-all whitespace-pre-wrap text-muted-foreground`,children:t.log.join(`
|
|
3
|
+
`)}),t.error?(0,Q.jsx)(`p`,{className:`text-[12.5px] text-danger`,children:t.error}):null]})}function am(){return typeof window<`u`&&`__CEZ_DESKTOP__`in window}function om(){let[e,t]=(0,Z.useState)(!1);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{"data-slot":`desktop-titlebar`,"data-tauri-drag-region":!0,className:`fixed inset-x-0 top-0 z-50 flex h-7 items-center gap-4 border-b border-border bg-background pl-20 text-[11px]`,children:[(0,Q.jsxs)(`span`,{"data-tauri-drag-region":!0,children:[a(`Cezarion`),` · Local`]}),(0,Q.jsx)(`button`,{type:`button`,className:`rounded px-2 hover:bg-muted`,onClick:()=>t(!0),children:`Versions & updates`})]}),e?(0,Q.jsx)(Wp,{open:e,onOpenChange:t}):null]})}var sm=J(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),cm=J(`archive-restore`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`,key:`tvwodi`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`,key:`1gkqxj`}],[`path`,{d:`m9 15 3-3 3 3`,key:`1pd0qc`}],[`path`,{d:`M12 12v9`,key:`192myk`}]]),lm=J(`bookmark`,[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`,key:`oz39mx`}]]),um=J(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),dm=J(`boxes`,[[`path`,{d:`M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z`,key:`lc1i9w`}],[`path`,{d:`m7 16.5-4.74-2.85`,key:`1o9zyk`}],[`path`,{d:`m7 16.5 5-3`,key:`va8pkn`}],[`path`,{d:`M7 16.5v5.17`,key:`jnp8gn`}],[`path`,{d:`M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z`,key:`8zsnat`}],[`path`,{d:`m17 16.5-5-3`,key:`8arw3v`}],[`path`,{d:`m17 16.5 4.74-2.85`,key:`8rfmw`}],[`path`,{d:`M17 16.5v5.17`,key:`k6z78m`}],[`path`,{d:`M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z`,key:`1xygjf`}],[`path`,{d:`M12 8 7.26 5.15`,key:`1vbdud`}],[`path`,{d:`m12 8 4.74-2.85`,key:`3rx089`}],[`path`,{d:`M12 13.5V8`,key:`1io7kd`}]]),fm=J(`braces`,[[`path`,{d:`M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1`,key:`ezmyqa`}],[`path`,{d:`M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1`,key:`e1hn23`}]]),pm=J(`brush`,[[`path`,{d:`m11 10 3 3`,key:`fzmg1i`}],[`path`,{d:`M6.5 21A3.5 3.5 0 1 0 3 17.5a2.62 2.62 0 0 1-.708 1.792A1 1 0 0 0 3 21z`,key:`p4q2r7`}],[`path`,{d:`M9.969 17.031 21.378 5.624a1 1 0 0 0-3.002-3.002L6.967 14.031`,key:`wy6l02`}]]),mm=J(`check-check`,[[`path`,{d:`M18 6 7 17l-5-5`,key:`116fxf`}],[`path`,{d:`m22 10-7.5 7.5L13 16`,key:`ke71qq`}]]),hm=J(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),gm=J(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),_m=J(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),vm=J(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),ym=J(`chevrons-left`,[[`path`,{d:`m11 17-5-5 5-5`,key:`13zhaf`}],[`path`,{d:`m18 17-5-5 5-5`,key:`h8a8et`}]]),bm=J(`chevrons-right`,[[`path`,{d:`m6 17 5-5-5-5`,key:`xnjwq`}],[`path`,{d:`m13 17 5-5-5-5`,key:`17xmmf`}]]),xm=J(`clock-3`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6h4`,key:`135r8i`}]]),Sm=J(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]),Cm=J(`coins`,[[`path`,{d:`M13.744 17.736a6 6 0 1 1-7.48-7.48`,key:`bq4yh3`}],[`path`,{d:`M15 6h1v4`,key:`11y1tn`}],[`path`,{d:`m6.134 14.768.866-.5 2 3.464`,key:`17snzx`}],[`circle`,{cx:`16`,cy:`8`,r:`6`,key:`14bfc9`}]]),wm=J(`compass`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16.24 7.76-1.804 5.411a2 2 0 0 1-1.265 1.265L7.76 16.24l1.804-5.411a2 2 0 0 1 1.265-1.265z`,key:`9ktpf1`}]]),Tm=J(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Em=J(`corner-left-up`,[[`path`,{d:`M14 9 9 4 4 9`,key:`1af5af`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`,key:`1blwi3`}]]),Dm=J(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),Om=J(`diamond`,[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z`,key:`1f1r0c`}]]),km=J(`dollar-sign`,[[`line`,{x1:`12`,x2:`12`,y1:`2`,y2:`22`,key:`7eqyqh`}],[`path`,{d:`M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6`,key:`1b0p4s`}]]),Am=J(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),jm=J(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Mm=J(`feather`,[[`path`,{d:`M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z`,key:`18jl4k`}],[`path`,{d:`M16 8 2 22`,key:`vp34q`}],[`path`,{d:`M17.5 15H9`,key:`1oz8nu`}]]),Nm=J(`file-cog`,[[`path`,{d:`M15 8a1 1 0 0 1-1-1V2a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8z`,key:`1ckgky`}],[`path`,{d:`M20 8v12a2 2 0 0 1-2 2h-4.182`,key:`1726p0`}],[`path`,{d:`m3.305 19.53.923-.382`,key:`ao1pio`}],[`path`,{d:`M4 10.592V4a2 2 0 0 1 2-2h8`,key:`1foop0`}],[`path`,{d:`m4.228 16.852-.924-.383`,key:`1fv9zy`}],[`path`,{d:`m5.852 15.228-.383-.923`,key:`1a9hc2`}],[`path`,{d:`m5.852 20.772-.383.924`,key:`1sh9ke`}],[`path`,{d:`m8.148 15.228.383-.923`,key:`4yu6lf`}],[`path`,{d:`m8.53 21.696-.382-.924`,key:`18b0s9`}],[`path`,{d:`m9.773 16.852.922-.383`,key:`ti6xop`}],[`path`,{d:`m9.773 19.148.922.383`,key:`rws47d`}],[`circle`,{cx:`7`,cy:`18`,r:`3`,key:`lvkj7j`}]]),Pm=J(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),Fm=J(`folder-git-2`,[[`path`,{d:`M18 19a5 5 0 0 1-5-5v8`,key:`sz5oeg`}],[`path`,{d:`M9 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v5`,key:`1w6njk`}],[`circle`,{cx:`13`,cy:`12`,r:`2`,key:`1j92g6`}],[`circle`,{cx:`20`,cy:`19`,r:`2`,key:`1obnsp`}]]),Im=J(`folder-search`,[[`path`,{d:`M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1`,key:`1bw5m7`}],[`path`,{d:`m21 21-1.9-1.9`,key:`1g2n9r`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}]]),Lm=J(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Rm=J(`gem`,[[`path`,{d:`M10.5 3 8 9l4 13 4-13-2.5-6`,key:`b3dvk1`}],[`path`,{d:`M17 3a2 2 0 0 1 1.6.8l3 4a2 2 0 0 1 .013 2.382l-7.99 10.986a2 2 0 0 1-3.247 0l-7.99-10.986A2 2 0 0 1 2.4 7.8l2.998-3.997A2 2 0 0 1 7 3z`,key:`7w4byz`}],[`path`,{d:`M2 9h20`,key:`16fsjt`}]]),zm=J(`git-pull-request-arrow`,[[`circle`,{cx:`5`,cy:`6`,r:`3`,key:`1qnov2`}],[`path`,{d:`M5 9v12`,key:`ih889a`}],[`circle`,{cx:`19`,cy:`18`,r:`3`,key:`1qljk2`}],[`path`,{d:`m15 9-3-3 3-3`,key:`1lwv8l`}],[`path`,{d:`M12 6h5a2 2 0 0 1 2 2v7`,key:`1yj91y`}]]),Bm=J(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),Vm=J(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),Hm=J(`hammer`,[[`path`,{d:`m15 12-9.373 9.373a1 1 0 0 1-3.001-3L12 9`,key:`1hayfq`}],[`path`,{d:`m18 15 4-4`,key:`16gjal`}],[`path`,{d:`m21.5 11.5-1.914-1.914A2 2 0 0 1 19 8.172v-.344a2 2 0 0 0-.586-1.414l-1.657-1.657A6 6 0 0 0 12.516 3H9l1.243 1.243A6 6 0 0 1 12 8.485V10l2 2h1.172a2 2 0 0 1 1.414.586L18.5 14.5`,key:`15ts47`}]]),Um=J(`hexagon`,[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`,key:`yt0hxn`}]]),Wm=J(`id-card`,[[`path`,{d:`M16 10h2`,key:`8sgtl7`}],[`path`,{d:`M16 14h2`,key:`epxaof`}],[`path`,{d:`M6.17 15a3 3 0 0 1 5.66 0`,key:`n6f512`}],[`circle`,{cx:`9`,cy:`11`,r:`2`,key:`yxgjnd`}],[`rect`,{x:`2`,y:`5`,width:`20`,height:`14`,rx:`2`,key:`qneu4z`}]]),Gm=J(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),Km=J(`link`,[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]),qm=J(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),Jm=J(`memory-stick`,[[`path`,{d:`M12 12v-2`,key:`fwoke6`}],[`path`,{d:`M12 18v-2`,key:`qj6yno`}],[`path`,{d:`M16 12v-2`,key:`heuere`}],[`path`,{d:`M16 18v-2`,key:`s1ct0w`}],[`path`,{d:`M2 11h1.5`,key:`15p63e`}],[`path`,{d:`M20 18v-2`,key:`12ehxp`}],[`path`,{d:`M20.5 11H22`,key:`khsy7a`}],[`path`,{d:`M4 18v-2`,key:`1c3oqr`}],[`path`,{d:`M8 12v-2`,key:`1mwtfd`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`rect`,{x:`2`,y:`6`,width:`20`,height:`10`,rx:`2`,key:`1qcswk`}]]),Ym=J(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),Xm=J(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),Zm=J(`mouse-pointer-2`,[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`,key:`edeuup`}]]),Qm=J(`panel-left-close`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m16 15-3-3 3-3`,key:`14y99z`}]]),$m=J(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),eh=J(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),th=J(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),nh=J(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),rh=J(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),ih=J(`rocket`,[[`path`,{d:`M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5`,key:`qeys4`}],[`path`,{d:`M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09`,key:`u4xsad`}],[`path`,{d:`M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z`,key:`676m9`}],[`path`,{d:`M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05`,key:`92ym6u`}]]),ah=J(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),oh=J(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),sh=J(`shapes`,[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`,key:`1bo67w`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`,key:`w3z12y`}]]),ch=J(`smartphone`,[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`,key:`1yt0o3`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}]]),lh=J(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),uh=J(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),dh=J(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),fh=J(`waves-horizontal`,[[`path`,{d:`M2 12q2.5 2 5 0t5 0 5 0 5 0`,key:`8ddzzs`}],[`path`,{d:`M2 19q2.5 2 5 0t5 0 5 0 5 0`,key:`1wj4st`}],[`path`,{d:`M2 5q2.5 2 5 0t5 0 5 0 5 0`,key:`69x50u`}]]),ph=J(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),mh=J(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),hh=`cez-last-location`;function gh(){try{let e=localStorage.getItem(hh);return e===null?null:JSON.parse(e)}catch{return null}}function _h(e){try{localStorage.setItem(hh,JSON.stringify(e))}catch{}}var vh=new Set([`projectId`,`pathname`,`search`,`hash`]);function yh(e){return typeof e!=`string`||e.length<1||e.length>64?null:e}function bh(e){return typeof e!=`string`||e.length<1||e.length>2048||!e.startsWith(`/p/`)?null:e}function xh(e){return e!==void 0&&(typeof e!=`string`||e.length>4096||!e.startsWith(`?`))?null:e}function Sh(e){return e!==void 0&&(typeof e!=`string`||e.length>2048||!e.startsWith(`#`))?null:e}function Ch(e){if(typeof e!=`object`||!e||Array.isArray(e))return null;let t=e;if(Object.keys(t).some(e=>!vh.has(e)))return null;let n=yh(t.projectId);if(n===null)return null;let r=bh(t.pathname);if(r===null)return null;let i=xh(t.search);if(i===null)return null;let a=Sh(t.hash);if(a===null)return null;try{if(js(r)!==n)return null}catch{return null}return{projectId:n,pathname:r,...i===void 0?{}:{search:i},...a===void 0?{}:{hash:a}}}function wh(e,t){let n=t.projects.find(t=>t.id===e);return n!==void 0&&n.status!==`missing`}function Th(e,t){if(t===void 0)return null;let n;try{n=js(e.pathname)}catch{return null}return n===null||!wh(n,t)?null:Ch({projectId:n,pathname:e.pathname,...e.search===``?{}:{search:e.search},...e.hash===``?{}:{hash:e.hash}})}function Eh(e,t,n){let r=Ch(e);return r===null||!(t===void 0?n!==void 0&&r.projectId===n:wh(r.projectId,t))?null:`${r.pathname}${r.search??``}${r.hash??``}`}function Dh(e,t){let n=Ch(e);return n!==null&&n.projectId===t.projectId&&n.pathname===t.pathname&&(n.search??``)===(t.search??``)&&(n.hash??``)===(t.hash??``)}var Oh=`cez-project-locations`;function kh(){try{let e=localStorage.getItem(Oh),t=e===null?null:JSON.parse(e);return typeof t==`object`&&t&&!Array.isArray(t)?t:{}}catch{return{}}}function Ah(e){let t=kh()[e];return t===void 0?null:t}function jh(e){try{localStorage.setItem(Oh,JSON.stringify({...kh(),[e.projectId]:e}))}catch{}}function Mh(e,t,n){let r=Ch(t);return r===null||r.projectId!==e||n===void 0||!wh(e,n)?null:`${r.pathname}${r.search??``}${r.hash??``}`}function Nh(){return(0,Q.jsxs)(`div`,{"data-route":`activity`,"aria-busy":`true`,className:`min-h-full w-full px-[18px] py-6 md:px-7`,children:[(0,Q.jsx)(`h1`,{className:`text-[18px] font-semibold`,children:`Activity`}),(0,Q.jsx)(`p`,{"data-slot":`activity-loading`,role:`status`,className:`mt-4 text-xs text-muted-foreground`,children:`Loading activity…`})]})}function Ph(){return(0,Q.jsx)(`div`,{"data-route":`github`,className:`flex min-h-full flex-col`,children:(0,Q.jsx)(X,{icon:(0,Q.jsx)(as,{className:`motion-safe:animate-spin`}),tone:`neutral`,title:`Loading GitHub…`,subtitle:`Fetching open issues and pull requests.`})})}function Fh(){return(0,Q.jsxs)(`div`,{"data-route":`inbox`,className:`task-flow-page flex min-h-full flex-col gap-5`,children:[(0,Q.jsx)(`h1`,{className:`text-[28px] font-medium`,children:`Inbox has been removed`}),(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Agents no longer generate inbox suggestions. Create an ordinary task for work you want to run.`}),(0,Q.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[`Existing entries stay in `,(0,Q.jsx)(`code`,{children:`.ai/cezar/todos.json`}),` in the original project. To export them, run this command from that project:`]}),(0,Q.jsx)(`pre`,{className:`overflow-x-auto rounded-xl border border-border bg-card p-4 text-sm`,children:(0,Q.jsx)(`code`,{children:`cp .ai/cezar/todos.json ./cezar-followups-export.json`})}),(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`If the file is absent, there is nothing to export. Task Notes and Continue still work.`}),(0,Q.jsx)(Y,{to:`/new`,className:C({className:`min-h-11 self-start`}),children:`New task`})]})}function Ih(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||t===`SELECT`||e.isContentEditable?!0:e.closest(`[contenteditable=""], [contenteditable="true"]`)!==null}function Lh(e){return e instanceof HTMLElement&&e.closest(`[cmdk-input]`)!==null}function Rh(e,t){return!(typeof e.key!=`string`||e.key.toLowerCase()!==t.toLowerCase()||!e.metaKey&&!e.ctrlKey||e.altKey||e.shiftKey||e.repeat||Ih(e.target)&&!Lh(e.target))}function zh(e,t){let n=Z.useRef(t);Z.useLayoutEffect(()=>{n.current=t}),Z.useEffect(()=>{let t=t=>{Rh(t,e)&&(t.preventDefault(),n.current(t))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e])}function Bh(e,t){return!(typeof e.key!=`string`||e.key.toLowerCase()!==t.toLowerCase()||e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||e.repeat||Ih(e.target))}function Vh(e,t=typeof navigator>`u`?``:navigator.platform){let n=e.toUpperCase();return/mac|iphone|ipad|ipod/i.test(t)?`⌘${n}`:`Ctrl+${n}`}function Hh(e,t){let n=Z.useRef(t);Z.useLayoutEffect(()=>{n.current=t}),Z.useEffect(()=>{let t=t=>{Bh(t,e)&&n.current(t)};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e])}var Uh=`(hover: none) and (pointer: coarse)`;function Wh(){return typeof globalThis.matchMedia==`function`&&globalThis.matchMedia(Uh).matches}function Gh(e){return e.key!==`Enter`||e.shiftKey||e.altKey||e.repeat||e.isComposing?!1:e.metaKey||e.ctrlKey?!0:!Wh()}function Kh(e=typeof navigator>`u`?``:navigator.platform){return/mac|iphone|ipad|ipod/i.test(e)?`⌘↵`:`Ctrl+↵`}var qh={png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,svg:`image/svg+xml`,bmp:`image/bmp`,avif:`image/avif`,md:`text/markdown`,markdown:`text/markdown`,txt:`text/plain`,log:`text/plain`,pdf:`application/pdf`};function Jh(e){return st(e.type)?e.type:qh[e.name.split(`.`).pop()?.toLowerCase()??``]??null}async function Yh(e){let t=new Uint8Array(await e.arrayBuffer()),n=``;for(let e=0;e<t.length;e+=32768)n+=String.fromCharCode(...t.subarray(e,e+32768));let r=btoa(n),i=Jh(e)??`application/octet-stream`,a=bt(i);return{mediaType:i,data:r,...a?{preview:`data:${i};base64,${r}`}:{},name:e.name||(a?`pasted image`:`pasted.${at(i)}`),isImage:a}}function Xh(e,t){let n=[],r=[],i=t;for(let t of e){let e=t.name||`attachment`;if(Jh(t)===null){r.push(`${e} is not a supported attachment (images, PDF and plain-text files such as TXT or MD)`);continue}if(t.size>5242880){r.push(`${e} is too large (max 5 MB)`);continue}if(i>=4){r.push(`${e} skipped — max 4 attachments per message`);continue}n.push(t),i+=1}return{accepted:n,rejected:r}}var Zh=new Set([`/`,`@`]);function Qh(e,t){for(let n=t-1;n>=0;--n){let r=e[n];if(/\s/.test(r))return null;if(Zh.has(r))return n>0&&!/\s/.test(e[n-1])?null:{trigger:r,start:n,query:e.slice(n+1,t)}}return null}function $h(e,t,n,r){let i=`${t.trigger}${r} `;return{text:e.slice(0,t.start)+i+e.slice(n),caret:t.start+i.length}}function eg(){let e=window;return e.SpeechRecognition??e.webkitSpeechRecognition}function tg(e,t){let n=e,r=``;for(let e=t.resultIndex;e<t.results.length;e+=1){let i=t.results[e],a=i[0]?.transcript??``;i.isFinal?n+=a:r+=a}return{finalText:n,interim:r}}function ng(e,t){switch(e){case`aborted`:return null;case`network`:case`service-not-allowed`:return{message:`Dictation couldn't reach this browser's speech service. Some Chromium builds, such as Helium, block it. Use your system dictation instead (macOS: press Fn/Globe twice), or open the cockpit in Chrome or Safari.`,retryable:e===`network`};case`not-allowed`:return{message:`Microphone access is blocked. Allow it in this site's browser settings, then try again.`,retryable:!0};case`audio-capture`:return{message:`No microphone was found. Connect one, then try again.`,retryable:!0};case`language-not-supported`:return{message:`This browser can't recognize speech in ${t}. Use your system dictation instead (macOS: press Fn/Globe twice).`,retryable:!1};case`no-speech`:return{message:`No speech was heard. Check the microphone, then try again.`,retryable:!0};default:return{message:`Dictation failed${e?` — ${e}`:``}`,retryable:!0}}}function rg(e){let[t,n]=Z.useState(null),r=Z.useRef(null),i=Z.useRef(``),a=Z.useRef(!1),o=Z.useRef(()=>{}),[s]=Z.useState(()=>eg()!==void 0),c=Z.useCallback(()=>{let e=r.current;r.current=null,i.current=``,n(null),e&&(e.onresult=null,e.onerror=null,e.onend=null,e.abort())},[]);Z.useEffect(()=>(a.current=!0,()=>{a.current=!1,c()}),[c]);let l=Z.useCallback(()=>o.current(),[]),u=Z.useCallback(()=>{if(!a.current||r.current)return;let t=eg();if(!t)return;let o;try{o=new t,o.lang=navigator.language||`en-US`,o.continuous=!0,o.interimResults=!0;let a=Date.now();o.onresult=e=>{let t=tg(i.current,e);i.current=t.finalText,n({transcript:t.finalText+t.interim,startedAt:a})},o.onerror=t=>{console.warn(`[dictation] recognition error`,t.error,t.message);let n=ng(t.error,o.lang);c(),n&&e(n.message,n.retryable?l:void 0)},o.start(),r.current=o,n({transcript:``,startedAt:a})}catch{e(`Dictation failed — the microphone could not be started`,l),c()}},[e,l,c]);return o.current=u,{supported:s,recording:t,start:u,cancel:Z.useCallback(()=>c(),[c]),finish:Z.useCallback(()=>{let e=r.current,a=(i.current+``).trim()===``?``:i.current,o=t?.transcript??a;return e&&(e.onresult=null,e.onerror=null,e.onend=null,e.stop()),r.current=null,i.current=``,n(null),o.trim()},[t])}}function ig(e,t){let n=Math.max(0,Math.floor((t-e)/1e3));return`${Math.floor(n/60)}:${String(n%60).padStart(2,`0`)}`}function ag(e){let[t,n]=Z.useState(()=>Date.now());return Z.useEffect(()=>{if(ie())return;let t=setInterval(()=>n(Date.now()),e);return()=>clearInterval(t)},[e]),t}function og(e,t){return e.trim()!==``||t>0}function sg(e,t,n,r){return!e&&(t!==void 0&&n||r)}function cg(e,t,n){return!e&&!t&&n!==void 0}function lg(e,t,n,r){return e||t||!n&&r!==void 0}function ug(e,t,n){return!e&&t?t:n}function dg(e,t,n){return e||t&&n}function fg(e,t,n){return e||t&&n}function pg(e,t,n,r,i,a){return e||t||n||i.trim()===``&&a===0&&!r}function mg(e,t){return e&&!t}function hg(e){return e??`default`}function gg(e,t){return e.get(t)??!1}function _g(e){return e instanceof Error?e.message:String(e)}function vg(e,t){return e===``?t:`${t}\n${e}`}function yg(e){return`${e||`Attachment`} could not be read — try attaching it again`}function bg(e){return[...e??[]].filter(e=>e.kind===`file`).map(e=>e.getAsFile()).filter(e=>e!==null)}function xg(e){return[...e??[]]}function Sg(e,t){return e.trim()===``?t:`${e.replace(/\s*$/,``)} ${t}`}function Cg(e,t,n,r,i){return e||t||n&&(r||i)}function wg(e,t,n){return e===``?`empty`:t||e!==n?`blocked`:`clear`}function Tg(e,t,n){return!e||t||n}function Eg(e,t,n){return(e+t+n)%n}function Dg(e,t){return e??t}function Og(){return typeof CSS<`u`&&CSS.supports(`field-sizing`,`content`)}function kg(e,t){return e!==t}function Ag(e){return e||void 0}function jg(e,t){return e&&!t||void 0}function Mg(e,t,n){return e?t??``:n}function Ng(e,t){return e?`${t}-submission`:void 0}function Pg(e,t,n){return e?`${t} ${n}`:t}function Fg(e,t,n,r){return e||t||n!==null||r!=null}function Ig(e,t,n){return e||!!t||n}function Lg(e,t){return!!e||t}function Rg(e,t){return!e&&!t}function zg(e,t){return!!e||!!t}function Bg(e,t){return e===`@`?`No files seen in this session yet — full file search arrives with the Files tab.`:t?`Loading skills…`:`No matching skills.`}function Vg(e,t){return O(`shrink-0 truncate`,e&&`font-semibold`,t&&`font-mono text-xs`)}function Hg(e,t,n){return O(e&&`new-task-composer`,t&&`session-composer`,n&&`opacity-80`)}function Ug(e){return O(`rounded-xl border border-[var(--composer-border)] bg-card shadow-none transition-[border-color,box-shadow] focus-within:border-ring focus-within:ring-[3px] focus-within:ring-ring/15`,e&&`new-task-editor`)}function Wg(e){return O(`group relative shrink-0 overflow-hidden rounded-md border border-border`,e?`size-12`:`flex h-12 min-w-11 max-w-[200px] items-center gap-1.5 bg-muted/40 px-2.5 text-xs text-muted-foreground`)}function Gg(e,t){return O(`block field-sizing-content min-h-11 w-full overflow-y-auto resize-none bg-transparent px-3 pbs-2.5 pbe-1 text-base leading-normal outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed md:min-h-[54px] md:px-4 md:pbs-3 md:text-sm`,e?`max-h-11 md:max-h-[220px]`:`max-h-[220px]`,t&&`md:text-base`)}function Kg(e,t){return e?`Task description`:t}function qg(e){return e?`hidden px-5 pbs-5 text-xs text-muted-foreground md:block`:`sr-only`}function Jg(e){return O(`ms-auto flex min-w-0 flex-wrap items-center justify-end gap-1 md:flex-nowrap`,e&&`new-task-submission`)}function Yg(e){return O(`min-w-0 flex-wrap items-center gap-1.5 md:flex-nowrap`,e.executionOptions&&`me-auto`,e.mobileCollapsible&&`max-md:[&_button]:min-h-11 max-md:[&_button]:min-w-11`,e.mobileCompact?`hidden md:flex`:`flex`)}function Xg(e,t){return O(e.executionOptions?`h-12 w-full gap-2 px-6`:e.sessionControls?`h-11 w-auto gap-2 px-5`:`size-11`,!e.hasContent&&t&&`w-auto px-3`,`active:opacity-80`)}function Zg(e,t){return O(`overflow-y-auto text-xs leading-5 text-muted-foreground`,e&&!t?`h-0`:`px-3 pbe-2 md:px-4`,e?t&&`min-h-6`:`h-24 md:h-20`)}function Qg(e){return O(`h-11 min-w-11 active:opacity-80`,e?`w-auto px-3`:`w-11`)}function $g(e){return O(`flex min-w-0 flex-wrap items-center gap-1`,e&&`w-full`)}function e_(e){return O(`transition-transform motion-reduce:transition-none`,!e&&`rotate-180`)}function t_(e){return O(`h-11 gap-1.5 px-2.5 text-xs font-medium text-muted-foreground md:h-8`,e&&`hidden md:inline-flex`)}function n_(e){return e.disabled||e.busy||e.stopPending||!e.hasContent&&!e.allowEmptySubmit}function r_(e,t){return!e.sessionControls&&!e.hasContent&&!!t}function i_(e,t){return e.executionOptions||e.sessionControls||!e.hasContent&&!!t}function a_(e,t){return e.sessionControls||e.hasContent||!t}function o_(e){return e?`Finishing…`:`Finish`}function s_({mode:e,onStart:t}){return(0,Q.jsxs)(D,{type:`button`,variant:`ghost`,size:`sm`,disabled:e.disabled||e.readOnly,"aria-label":`Start dictation`,title:`Dictation`,className:t_(e.mobileCompact),onClick:t,children:[(0,Q.jsx)(lo,{"aria-hidden":`true`,className:`size-3.5`}),zg(e.executionOptions,e.sessionControls)?null:`Dictation`]})}function c_({mode:e,onFinish:t}){return(0,Q.jsxs)(D,{type:`button`,"data-slot":`composer-finish`,"aria-label":e.finishLabel,"aria-busy":e.finishing||void 0,title:e.finishTitle,disabled:e.busy||e.stopPending||e.finishing,className:`h-11 w-auto gap-[7px] px-5 active:opacity-80`,onClick:t,children:[(0,Q.jsx)(Oo,{"aria-hidden":`true`}),e.finishLabel]})}function l_({mode:e,onStop:t}){return(0,Q.jsxs)(D,{type:`button`,variant:`outline`,size:`icon-sm`,"aria-label":e.stopPending?`Stopping…`:`Stop`,"aria-busy":e.stopPending||void 0,title:e.stopPending?`Waiting for execution to stop`:`Stop execution; keep existing work`,disabled:e.busy||e.stopPending,className:Qg(e.labelledStop),onClick:t,children:[(0,Q.jsx)(To,{"aria-hidden":`true`,className:`size-3 fill-current`}),e.labelledStop?e.stopPending?`Stopping…`:`Stop`:null]})}function u_({shown:e,compactFeedback:t,hasCompactFeedback:n,textareaId:r,submissionError:i,stopPending:a,busy:o,pendingLabel:s,failureHint:c,idleFeedback:l}){return e?(0,Q.jsx)(`div`,{className:Zg(t,n),children:(0,Q.jsx)(`div`,{id:`${r}-submission`,role:i===null?`status`:`alert`,"aria-atomic":`true`,tabIndex:i===null?void 0:0,className:`break-words`,children:a?`Stopping execution. Your draft is kept.`:o?s:i===null?l??null:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`p`,{className:`font-medium text-foreground`,children:i}),(0,Q.jsx)(`p`,{children:c})]})})}):null}function d_({mode:e,emptySubmitLabel:t,optionsId:n,dictationButton:r,footerEnd:i,stopControl:a,secondaryAction:o,finishControl:s,onSubmit:c}){return(0,Q.jsxs)(`div`,{"data-slot":`composer-submit-row`,className:Jg(e.executionOptions),children:[zg(e.executionOptions,e.sessionControls)?null:r,i?(0,Q.jsx)(`div`,{id:n,"data-slot":`composer-footer-end`,className:Yg(e),children:(0,Q.jsx)(`div`,{className:`contents`,inert:Ag(e.readOnly),children:i})}):null,(0,Q.jsxs)(`div`,{className:`flex min-w-[100px] items-center justify-end gap-1`,"data-slot":`composer-actions`,children:[a??o,s,Rg(e.primaryStop,e.primaryFinish)?(0,Q.jsxs)(D,{type:`button`,size:`icon-sm`,"aria-label":e.submitLabel,"aria-busy":jg(e.busy,e.stopPending),disabled:n_(e),className:Xg(e,t),onClick:c,children:[r_(e,t)?(0,Q.jsx)(nh,{"aria-hidden":`true`}):null,i_(e,t)?e.submitLabel:null,a_(e,t)?(0,Q.jsx)(mo,{"aria-hidden":`true`}):null]}):null]})]})}function f_({images:e,readOnly:t,onRemove:n}){return e.length===0?null:(0,Q.jsx)(`div`,{"data-slot":`composer-thumbs`,className:`flex flex-nowrap items-center gap-2 overflow-x-auto px-4 pbs-3 md:flex-wrap md:overflow-visible`,children:e.map((e,r)=>(0,Q.jsxs)(`button`,{type:`button`,"aria-label":`Remove ${e.name}`,title:t?`Attachment submitted`:`Click to remove`,disabled:t,className:Wg(e.isImage),onClick:()=>n(r),children:[e.isImage?(0,Q.jsx)(`img`,{src:e.preview,alt:``,className:`size-full object-cover`}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(eo,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.name})]}),(0,Q.jsx)(`span`,{className:`absolute inset-0 hidden items-center justify-center bg-background/70 group-hover:flex group-focus-visible:flex`,children:(0,Q.jsx)(Ao,{"aria-hidden":`true`,className:`size-4`})})]},`${e.name}-${r}`))})}function p_({menuListRef:e,trigger:t,activeValue:n,skillsPending:r,candidates:i,onValueChange:a,onPick:o}){return(0,Q.jsx)(Us,{shouldFilter:!1,value:n??``,onValueChange:a,children:(0,Q.jsx)(Js,{ref:e,"data-slot":`composer-menu`,"data-trigger":t,className:`max-h-[min(16rem,var(--radix-popover-content-available-height))] p-1`,children:i.length===0?(0,Q.jsx)(`p`,{className:`px-3 py-4 text-center text-xs text-muted-foreground`,children:Bg(t,r)}):i.map(e=>(0,Q.jsxs)(lc,{value:e.value,"data-slot":`composer-menu-item`,"data-emphasized":e.emphasized||void 0,onSelect:()=>o(e),children:[(0,Q.jsx)(`span`,{className:Vg(e.emphasized,t===`@`),children:e.label}),e.description?(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-soft-foreground`,children:e.description}):null]},e.value))})})}function m_({recording:e,insertionDisabled:t,onCancel:n,onInsert:r,onInsertAndSend:i,now:a}){return(0,Q.jsxs)(`div`,{"data-slot":`dictation-overlay`,role:`status`,"aria-label":`Dictation in progress`,className:`flex items-center gap-2.5 rounded-b-xl border-bs border-border bg-muted/60 px-3 py-2`,children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`size-2 flex-none animate-pulse rounded-full bg-danger motion-reduce:animate-none`}),(0,Q.jsx)(`span`,{"data-slot":`dictation-timer`,className:`text-xs font-medium text-muted-foreground tabular-nums`,children:ig(e.startedAt,a)}),(0,Q.jsx)(`span`,{"data-slot":`dictation-transcript`,"aria-live":`polite`,className:`min-w-0 flex-1 truncate text-sm text-foreground`,children:e.transcript===``?(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`Listening…`}):e.transcript}),(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":`Cancel dictation`,className:`size-11 text-muted-foreground md:size-8`,onClick:n,children:(0,Q.jsx)(Ao,{"aria-hidden":`true`})}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`icon-sm`,disabled:t,"aria-label":`Insert transcription`,className:`size-11 md:size-8`,onClick:r,children:(0,Q.jsx)(Oo,{"aria-hidden":`true`})}),(0,Q.jsx)(D,{type:`button`,size:`icon-sm`,disabled:t,"aria-label":`Insert transcription and send`,className:`size-11 md:size-8`,onClick:i,children:(0,Q.jsx)(mo,{"aria-hidden":`true`})})]})}function h_({mobileOpen:e,controls:t,onToggle:n}){return(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`size-11 md:hidden`,"aria-label":e?`Collapse composer`:`Expand composer`,"aria-expanded":e,"aria-controls":t,onClick:n,children:(0,Q.jsx)(Vo,{"aria-hidden":`true`,className:e_(e)})})}function g_(){return(0,Q.jsxs)(`p`,{"data-slot":`composer-skill-hint`,className:`flex items-center gap-2 px-5 pbs-3 pbe-2 text-xs text-muted-foreground`,children:[(0,Q.jsx)(No,{"aria-hidden":`true`,className:`size-[15px] shrink-0`}),`Type / for a skill or workflow`]})}function __({disabled:e,onFiles:t,inputRef:n}){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":`Attach files`,title:`Attach an image, PDF, TXT or MD file (or paste a screenshot)`,disabled:e,className:`size-11 text-muted-foreground`,onClick:()=>n.current?.click(),children:(0,Q.jsx)(eo,{"aria-hidden":`true`,className:`size-[15px]`})}),(0,Q.jsx)(`input`,{ref:n,type:`file`,accept:`image/*,application/pdf,text/plain,text/markdown,.pdf,.txt,.md,.markdown,.log`,multiple:!0,className:`hidden`,"aria-hidden":`true`,tabIndex:-1,onChange:e=>{t([...e.target.files??[]]),e.target.value=``}})]})}function v_({mode:e,executionOptions:t,sessionControls:n,images:r,onRemoveImage:i,textareaId:a,textareaRef:o,text:s,disabled:c,retainDraftUntilSuccess:l,ariaLabel:u,disabledReason:d,placeholder:f,onTextChange:p,onKeyDown:m,onSelect:h,onPaste:g,recording:_,onCancelDictation:v,onInsertTranscript:y,onInsertAndSend:b,stopControl:x,mobileCollapsible:S,mobileOpen:C,optionsId:w,footerEnd:T,onToggleMobile:E,footerStart:D,attachInputRef:O,addFiles:k,dictationButton:A,submissionControls:j,feedback:M,agentOptions:ee}){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{"data-slot":`composer-editor`,className:Ug(t),children:[(0,Q.jsx)(f_,{images:r,readOnly:e.readOnly,onRemove:i}),(0,Q.jsx)(`label`,{htmlFor:a,className:qg(t),children:Kg(t,u)}),(0,Q.jsx)(`textarea`,{ref:o,id:a,autoComplete:`off`,rows:1,value:s,disabled:c,readOnly:e.readOnly,"aria-busy":e.readOnly||void 0,"aria-describedby":Ng(l,a),"aria-label":u,placeholder:Mg(c,d,f),className:Gg(e.mobileCompact,t),onChange:e=>p(e.target.value),onKeyDown:m,onSelect:h,onPaste:g}),t?(0,Q.jsx)(g_,{}):null,n&&_?(0,Q.jsx)(`div`,{"data-slot":`session-controls`,inert:Ag(e.readOnly),children:n}):null,_?(0,Q.jsx)(y_,{recording:_,mode:e,onCancel:v,onInsert:y,onInsertAndSend:b,stopControl:x}):(0,Q.jsx)(b_,{mode:e,sessionControls:n,executionOptions:t,mobileCollapsible:S,mobileOpen:C,optionsId:w,textareaId:a,footerEnd:T,onToggleMobile:E,footerStart:D,attachInputRef:O,addFiles:k,disabled:c,dictationButton:A,submissionControls:j}),t?null:M]}),t?(0,Q.jsx)(x_,{mode:e,agentOptions:ee,executionOptions:t,submissionControls:j,feedback:M}):null]})}function y_({recording:e,mode:t,onCancel:n,onInsert:r,onInsertAndSend:i,stopControl:a}){let o=ag(1e3);return(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(m_,{recording:e,insertionDisabled:t.readOnly,onCancel:n,onInsert:r,onInsertAndSend:i,now:o}),a?(0,Q.jsx)(`div`,{className:`flex justify-end px-2 pbe-2`,children:a}):null]})}function b_(e){return(0,Q.jsxs)(`div`,{"data-slot":`composer-toolbar`,className:`flex flex-wrap items-center gap-1 gap-y-1 px-1.5 pbs-1 pbe-1.5 md:gap-y-1.5 md:px-2 md:pbs-1.5 md:pbe-2`,children:[e.sessionControls?(0,Q.jsx)(`div`,{"data-slot":`session-controls`,inert:Ag(e.mode.readOnly),children:e.sessionControls}):null,(0,Q.jsxs)(`div`,{"data-slot":`composer-footer-start`,className:$g(e.executionOptions),children:[(0,Q.jsx)(__,{disabled:e.disabled||e.mode.readOnly,onFiles:e.addFiles,inputRef:e.attachInputRef}),e.mobileCollapsible?(0,Q.jsx)(h_,{mobileOpen:e.mobileOpen,controls:Pg(!!e.footerEnd,e.textareaId,e.optionsId),onToggle:e.onToggleMobile}):null,(0,Q.jsx)(`div`,{className:`contents`,inert:Ag(e.mode.readOnly),children:e.footerStart}),zg(e.executionOptions,e.sessionControls)?(0,Q.jsx)(`div`,{children:e.dictationButton}):null]}),e.executionOptions?null:e.submissionControls]})}function x_({mode:e,agentOptions:t,executionOptions:n,submissionControls:r,feedback:i}){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{"data-slot":`composer-agent-options`,inert:Ag(e.readOnly),children:t}),(0,Q.jsx)(`div`,{"data-slot":`composer-execution-panel`,inert:Ag(e.readOnly),children:n}),r,(0,Q.jsx)(`div`,{"data-slot":`composer-feedback`,children:i})]})}function S_({open:e,onClose:t,rootRef:n,disabled:r,voiceProposal:i,onDrop:a,className:o,children:s,menu:c}){return(0,Q.jsxs)(Ka,{open:e,onOpenChange:e=>e?void 0:t(),children:[(0,Q.jsx)(Ha,{asChild:!0,children:(0,Q.jsx)(`div`,{ref:n,"data-slot":`composer`,"data-disabled":r||void 0,"data-voice-proposal":i||void 0,onDrop:a,onDragOver:e=>e.preventDefault(),className:o,children:s})}),(0,Q.jsx)(Wa,{side:`top`,align:`start`,sideOffset:8,className:`w-80 max-w-[calc(100vw-2rem)] p-0`,onOpenAutoFocus:e=>e.preventDefault(),onInteractOutside:e=>{n.current?.contains(e.target)&&e.preventDefault()},children:c})]})}var C_=new Map,w_={KeyA:`Yes, approved.`,KeyC:`Continue.`},T_={retainDraftUntilSuccess:!1,finishing:!1,stopOnEmpty:!1,stopping:!1,compactFeedback:!1,pendingLabel:`Starting task…`,failureHint:`Could not confirm submission. Check Tasks before you retry. Your draft is kept.`,clearOnSuccess:!0,autoFocus:!1,mobileCollapsible:!1,sendAriaLabel:`Send`,disabled:!1,disabledReason:`Session closed — Continue to reopen.`,allowEmptySubmit:!1,placeholder:`Reply — / for skills, @ for files…`,ariaLabel:`Reply to the agent`,autocompleteSkills:!0,quickReplies:!1,voiceProposal:!1};function E_(e,t){return e===void 0?t:e}function D_(e){return{...e,retainDraftUntilSuccess:E_(e.retainDraftUntilSuccess,T_.retainDraftUntilSuccess),finishing:E_(e.finishing,T_.finishing),stopOnEmpty:E_(e.stopOnEmpty,T_.stopOnEmpty),stopping:E_(e.stopping,T_.stopping),compactFeedback:E_(e.compactFeedback,T_.compactFeedback),pendingLabel:E_(e.pendingLabel,T_.pendingLabel),failureHint:E_(e.failureHint,T_.failureHint),clearOnSuccess:E_(e.clearOnSuccess,T_.clearOnSuccess),autoFocus:E_(e.autoFocus,T_.autoFocus),mobileCollapsible:E_(e.mobileCollapsible,T_.mobileCollapsible),sendAriaLabel:E_(e.sendAriaLabel,T_.sendAriaLabel),disabled:E_(e.disabled,T_.disabled),disabledReason:E_(e.disabledReason,T_.disabledReason),allowEmptySubmit:E_(e.allowEmptySubmit,T_.allowEmptySubmit),placeholder:E_(e.placeholder,T_.placeholder),ariaLabel:E_(e.ariaLabel,T_.ariaLabel),autocompleteSkills:E_(e.autocompleteSkills,T_.autocompleteSkills),quickReplies:E_(e.quickReplies,T_.quickReplies),voiceProposal:E_(e.voiceProposal,T_.voiceProposal)}}function O_(e,t,n,r){return e===null?[]:e.trigger===`/`?Oc(t,e.query,n).map(e=>({value:`${e.name} ${e.path}`,insert:e.name,label:e.name,description:e.description,emphasized:Dc(e)})):(r?.()??[]).filter(t=>Ac(t,e.query)).map(e=>({value:e,insert:e,label:e,emphasized:!1}))}function k_(e,t){return e.some(e=>e.value===t)?t:e[0]?.value}function A_(e,t,n,r,i,a,o){!e||!t||!n||(r&&a(),i&&o())}function j_(e,t,n,r,i,a,o,s){if(e){a(n);return}K(n,{tone:`danger`}),t&&(o(e=>vg(e,r)),s(e=>[...i,...e].slice(0,4)))}function M_(e,t){let[n,r]=(0,Z.useState)(``),i=e??n,a=(0,Z.useRef)(i);a.current=i;let o=(0,Z.useRef)(t);return o.current=t,{text:i,textRef:a,setText:(0,Z.useCallback)(e=>{let t=typeof e==`function`?e(a.current):e;r(t),o.current?.(t)},[])}}function N_(e){let{onSubmit:t,retainDraftUntilSuccess:n,onStop:r,onFinish:i,finishing:a,secondaryAction:o,stopOnEmpty:s,stopping:c,emptySubmitLabel:l,compactFeedback:u,idleFeedback:d,pendingLabel:f,failureHint:p,clearOnSuccess:m,onPendingChange:h,value:g,onValueChange:_,autoFocus:v,mobileCollapsible:y,mobileDisclosureKey:b,footerStart:x,footerEnd:S,sessionControls:C,executionOptions:w,agentOptions:T,sendAriaLabel:E,disabled:D,disabledReason:O,allowEmptySubmit:k,placeholder:A,ariaLabel:j,autocompleteSkills:M,quickReplies:ee,getMentionCandidates:N,voiceProposal:te,ref:ne}=D_(e),{text:re,textRef:P,setText:F}=M_(g,_),[ie,ae]=(0,Z.useState)([]),oe=(0,Z.useRef)(ie);oe.current=ie;let[se,ce]=(0,Z.useState)(!1),le=c||se,ue=(0,Z.useRef)(le);ue.current=le;let[de,fe]=(0,Z.useState)(!1),pe=(0,Z.useRef)(!1),me=(0,Z.useRef)(0),he=(0,Z.useRef)(!0);(0,Z.useEffect)(()=>(he.current=!0,()=>{he.current=!1}),[]);let[ge,_e]=(0,Z.useState)(null),ve=()=>fg(ue.current,n,pe.current),[ye,be]=(0,Z.useState)(null),[xe,Se]=(0,Z.useState)(``),[Ce,we]=(0,Z.useState)(!1),Te=(0,Z.useRef)(null),Ee=(0,Z.useId)(),De=(0,Z.useId)(),Oe=(0,Z.useRef)(null),ke=(0,Z.useRef)(new Map),Ae=b===void 0?ke.current:C_,je=hg(b),[,Me]=(0,Z.useReducer)(e=>e+1,0),Ne=gg(Ae,je),Pe=(0,Z.useRef)(null),Fe=(0,Z.useRef)(null),Ie=(0,Z.useRef)(null),Le=zr(M&&Ce),Re=Zn(),ze=I(),Be=(0,Z.useRef)(D);Be.current=D;let Ve=rg((e,t)=>K(e,{tone:`danger`,...t?{action:{label:`Try again`,onAction:()=>{!Be.current&&!ve()&&t()}}}:{}}));(0,Z.useEffect)(()=>{v&&Te.current?.focus()},[]);let He=(0,Z.useCallback)(()=>{let e=Te.current;if(!e||D||ve()){be(null);return}let t=Qh(e.value,Dg(e.selectionStart,e.value.length));if(t?.trigger===`/`&&!M||t?.trigger===`@`&&N===void 0)return be(null);t?.trigger===`/`&&we(!0),be(t)},[M,D,N,n]),Ue=(0,Z.useMemo)(()=>O_(ye,Le.data??[],Re.data?.skillUsage,N),[N,Le.data,ye,Re.data?.skillUsage]),We=k_(Ue,xe),Ge=ye!==null;(0,Z.useLayoutEffect)(()=>{!Ge||!We||[...Fe.current?.querySelectorAll(`[data-slot="composer-menu-item"]`)??[]].find(e=>e.getAttribute(`data-value`)===We)?.scrollIntoView({block:`nearest`})},[We,Ge]);let Ke=(0,Z.useCallback)(()=>be(null),[]),qe=e=>{let t=Te.current;if(!t||ye===null||ve())return;let n=Dg(t.selectionStart,t.value.length),r=$h(t.value,ye,n,e.insert);ye.trigger===`/`&&Re.data!==void 0&&Ct({skillUsage:Mc(Re.data.skillUsage,e.insert)}).then(()=>ze.invalidateQueries({queryKey:G.uiState})).catch(()=>{}),F(r.text),Ie.current=r.caret,be(null),t.focus()};(0,Z.useLayoutEffect)(()=>{let e=Ie.current,t=Te.current;e!==null&&t&&(t.setSelectionRange(e,e),Ie.current=null)},[re]),(0,Z.useLayoutEffect)(()=>{let e=Te.current;if(!e||Og())return;let t=()=>{e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,220)}px`};t();let n=e.clientWidth,r=typeof ResizeObserver>`u`?null:new ResizeObserver(()=>{kg(e.clientWidth,n)&&(n=e.clientWidth,t())});r?.observe(e);let i=!1;return document.fonts?.ready.then(()=>{i||t()}),()=>{i=!0,r?.disconnect()}},[re,Ne]);let Je=(0,Z.useCallback)(e=>{if(D||ve())return;let t=me.current,r=Xh(e,oe.current.length);for(let e of r.rejected)K(e,{tone:`danger`});for(let e of r.accepted)Yh(e).then(e=>{!he.current||n&&pe.current&&!ue.current||t!==me.current||ae(t=>t.length>=4?t:[...t,e])},()=>K(yg(e.name),{tone:`danger`}))},[D,n]),Ye=e=>{let t=xg(e.dataTransfer?.files);t.length!==0&&(e.preventDefault(),Je(t))},Xe=(0,Z.useCallback)((e,t)=>pg(D,c,pe.current,k,e,t.length),[D,c,k]),Ze=(0,Z.useCallback)(async(e,r,i)=>{let a=e.trim();if(!Xe(e,r)){pe.current=!0,n&&(me.current+=1),fe(!0),_e(null),h?.(!0),be(null),i&&!n&&(F(``),ae([]));try{await t(a,r.map(({mediaType:e,data:t})=>({mediaType:e,data:t}))),A_(he.current,n,m,P.current===e,oe.current===r,()=>F(``),()=>ae([]))}catch(t){if(!he.current&&n)return;j_(n,i,_g(t),e,r,_e,F,ae)}finally{pe.current=!1,he.current&&(h?.(!1),fe(!1))}}},[Xe,t,n,m,h,F]),Qe=(0,Z.useCallback)(()=>Xe(P.current,oe.current)?!1:(Ze(P.current,oe.current,!0),!0),[Xe,Ze]);(0,Z.useImperativeHandle)(ne,()=>({insertAtCaret:e=>{if(ve())return;let t=Te.current,n=Dg(t?.selectionStart??null,P.current.length),r=qs(P.current,n,e);F(r.text),Ie.current=r.caret,t?.focus()},getDraft:()=>P.current,setDraft:e=>ve()?!1:(F(e),!0),clearVoiceDraft:e=>{let t=wg(P.current,pe.current,e);return t===`empty`?!0:t===`blocked`?!1:(F(``),!0)},submit:Qe}),[F,n,Qe]);let $e=async()=>{if(!Tg(r,c,pe.current)){pe.current=!0,fe(!0),ce(!0),_e(null);try{await r?.()}catch(e){he.current&&_e(_g(e))}finally{pe.current=!1,he.current&&(fe(!1),ce(!1))}}},et=e=>{Ge&&tt(e)||Gh({key:e.key,shiftKey:e.shiftKey,metaKey:e.metaKey,ctrlKey:e.ctrlKey,altKey:e.altKey,repeat:e.repeat,isComposing:e.nativeEvent.isComposing})&&(e.preventDefault(),Qe())},tt=e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(e.preventDefault(),Ue.length===0)return!0;let t=Ue.findIndex(e=>e.value===We),n=e.key===`ArrowDown`?1:-1,r=Ue[Eg(t,n,Ue.length)];return Se(r.value),!0}if(e.key===`Escape`)return e.preventDefault(),Ke(),!0;if((e.key===`Enter`||e.key===`Tab`)&&!e.shiftKey){let t=Ue.find(e=>e.value===We);if(t)return e.preventDefault(),qe(t),!0;Ke()}return!1};(0,Z.useEffect)(()=>{if(!ee||D)return;let e=e=>{if(!e.altKey||e.metaKey||e.ctrlKey||e.repeat||Ih(e.target))return;let t=w_[e.code];t!==void 0&&(e.preventDefault(),Ze(t,[],!1))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[D,ee,Ze]);let nt=e=>{if(Cg(D,ue.current,pe.current,e,n))return;let t=Ve.finish();if(t===``)return;let r=Sg(re,t);if(e){n&&F(r),Ze(r,ie,!0);return}F(r),Ie.current=r.length,Te.current?.focus()},rt=og(re,ie.length),it=sg(rt,r,s,le),at=cg(rt,it,i),ot={hasContent:rt,primaryStop:it,primaryFinish:at,labelledStop:lg(it,at,rt,l),submitLabel:ug(rt,l,E),busy:de,stopPending:le,finishing:a,finishLabel:o_(a),finishTitle:`Close the session and mark this task done`,disabled:D,allowEmptySubmit:k,readOnly:dg(le,n,de),mobileCompact:mg(y,Ne),mobileCollapsible:y,executionOptions:!!w,sessionControls:!!C,showStop:Lg(r,le)},st=Ve.recording,ct=Ve.supported?(0,Q.jsx)(s_,{mode:ot,onStart:()=>{ve()||Ve.start()}}):null,lt=ot.primaryFinish?(0,Q.jsx)(c_,{mode:ot,onFinish:()=>void i?.()}):null,ut=ot.showStop?(0,Q.jsx)(l_,{mode:ot,onStop:()=>void $e()}):null,dt=(0,Q.jsx)(u_,{shown:Ig(n,r,c),compactFeedback:u,hasCompactFeedback:Fg(le,de,ge,d),textareaId:Ee,submissionError:ge,stopPending:le,busy:de,pendingLabel:f,failureHint:p,idleFeedback:d}),ft=(0,Q.jsx)(d_,{mode:ot,emptySubmitLabel:l,optionsId:De,dictationButton:ct,footerEnd:S,stopControl:ut,secondaryAction:o,finishControl:lt,onSubmit:Qe});return(0,Q.jsx)(S_,{open:Ge,onClose:Ke,rootRef:Pe,disabled:D,voiceProposal:te,onDrop:Ye,className:Hg(w,C,D),menu:(0,Q.jsx)(p_,{menuListRef:Fe,trigger:ye?.trigger,activeValue:We,skillsPending:Le.isPending,candidates:Ue,onValueChange:Se,onPick:qe}),children:(0,Q.jsx)(v_,{mode:ot,executionOptions:w,sessionControls:C,images:ie,onRemoveImage:e=>{ve()||ae(t=>t.filter((t,n)=>n!==e))},textareaId:Ee,textareaRef:Te,text:re,disabled:D,retainDraftUntilSuccess:n,ariaLabel:j,disabledReason:O,placeholder:A,onTextChange:e=>{ve()||(F(e),He())},onKeyDown:et,onSelect:He,onPaste:e=>{let t=bg(e.clipboardData?.items);t.length!==0&&(e.preventDefault(),Je(t))},recording:st,onCancelDictation:Ve.cancel,onInsertTranscript:()=>nt(!1),onInsertAndSend:()=>nt(!0),stopControl:ut,mobileCollapsible:y,mobileOpen:Ne,optionsId:De,footerEnd:S,onToggleMobile:()=>{Ae.set(je,!Ne),Me()},footerStart:x,attachInputRef:Oe,addFiles:Je,dictationButton:ct,submissionControls:ft,feedback:dt,agentOptions:T})})}function P_(e){try{let t=new URL(e),n=t.pathname===`/`?``:t.pathname.replace(/\/$/,``);return`${t.host}${n}`||e}catch{return e}}function F_(e){return e?e.webhooks?e.webhooks.filter(e=>e.tasks).map(({id:e,name:t,url:n})=>({id:e,name:t,url:n})):e.webhook?[{id:`task-webhook`,name:`Task webhook`,url:e.webhook.url}]:[]:[]}function I_(e){let t=e.map(e=>e.name);return t.length<=2?t.join(` and `):t.length===3?`${t[0]}, ${t[1]} and ${t[2]}`:`${t[0]}, ${t[1]} and ${t.length-2} more`}function L_(e,t,n){let r=e.skill===``?{source:`workflow`,ref:`quick-task`}:{source:`skill`,ref:e.skill};return ic({task:e.ref,source:r,model:``,runner:t,defaultRunner:n,images:[]})}function R_(e,t){return e.kind===`failed`?{message:`Auto-start failed: ${e.message} — review and press Start`,tone:`danger`}:e.kind===`blocked`?{message:`Auto-start blocked (bad key) — review and press Start`,tone:`danger`}:t===``?{message:`Prefilled from link — review and press Start`,tone:`default`}:{message:`Unknown skill "${t}" — prefilled for quick-task; review and press Start`,tone:`danger`}}function z_(e,t){return`Use the "${e}" skill on: ${t}`}function B_(e){let t=e.configuredAutonomous===`source-dependent`?e.source===`skill`:e.configuredAutonomous,n=e.interactive!==!0&&void 0;return{autonomous:e.planFirst?!1:e.explicitAutonomous??n??t,worktree:e.hasGit?e.explicitWorktree??n??e.configuredWorktree:!1}}function V_(e){return e.worktree?`Runs in an isolated worktree — review everything before it lands.`:e.hasGit?`Runs in the repo working tree — your checkout is modified directly.`:`Runs in place — no git repository detected, so there is no worktree to isolate in.`}var H_={text:``,source:null,runner:null,agentProfile:null,model:null,effort:null,retiredVariants:!1,planFirst:!1,worktree:null,autonomous:null,archiveWhenDone:!1,autoMergePr:!1,allowWorkers:!0,allowMessaging:!0},U_=`cez-new-task-draft`;function W_(e){return e===null?U_:`${U_}:${e}`}function G_(e){let t=e&&typeof e==`object`?e:{};return{text:typeof t.text==`string`?t.text:``,source:K_(t.source)?t.source:null,runner:typeof t.runner==`string`?t.runner:null,agentProfile:typeof t.agentProfile==`string`?t.agentProfile:null,model:typeof t.model==`string`?t.model:null,effort:typeof t.effort==`string`?t.effort:null,retiredVariants:t.retiredVariants===!0||t.variants!==void 0&&t.variants!==1,planFirst:t.planFirst===!0,worktree:typeof t.worktree==`boolean`?t.worktree:null,autonomous:typeof t.autonomous==`boolean`?t.autonomous:null,archiveWhenDone:t.archiveWhenDone===!0,autoMergePr:t.autoMergePr===!0,allowWorkers:t.allowWorkers!==!1,allowMessaging:t.allowMessaging!==!1}}function K_(e){return!!e&&typeof e==`object`&&(e.source===`skill`||e.source===`workflow`)&&typeof e.ref==`string`}var q_=new Map,J_=new Map;function Y_(e=null){return J_.get(W_(e))??0}function X_(e=null){let t=W_(e),n=q_.get(t);if(n)return{...n};let r;try{let e=localStorage.getItem(t);r=e?G_(JSON.parse(e)):{...H_}}catch{r={...H_}}return q_.set(t,r),{...r}}function Z_(e,t=null){let n=W_(t);J_.set(n,Y_(t)+1),q_.set(n,{...e});try{localStorage.setItem(n,JSON.stringify(e))}catch{}}function Q_(e=null,t){t!==void 0&&Y_(e)!==t||Z_({...X_(e),text:``,source:null},e)}function $_(e,t,n){return{task:e,steps:[...n.steps],rationale:n.rationale,fallback:n.fallback,images:[...t]}}function ev(e,t){return!Number.isInteger(t)||t<0||t>=e.length?[...e]:e.filter((e,n)=>n!==t)}function tv(e,t,n){let r=[...e];if(!Number.isInteger(t)||t<0||t>=r.length)return r;let i=Math.max(0,Math.min(r.length-1,n));if(i===t)return r;let[a]=r.splice(t,1);return r.splice(i,0,a),r}function nv(e){return e.command??e.prompt??``}function rv(e,t=120){let n=e.split(`
|
|
4
|
+
`)[0]??``;return n.length>t?`${n.slice(0,t-1)}…`:n}function iv(e){let{task:t,steps:n,model:r,modelsLocked:i,effort:a,runner:o,runnerExplicit:s,defaultRunner:c,images:l,archiveWhenDone:u,autoMergePr:d,allowWorkers:f,allowMessaging:p}=e;return{task:t,steps:[...n],model:i?void 0:r||void 0,effort:i?void 0:a||void 0,runner:nc(o,c,s),images:l.length>0?[...l]:void 0,...Qs({archiveWhenDone:u,autoMergePr:d,allowWorkers:f,allowMessaging:p})}}function av(e,t){return{...X_(e),...t.ref===``?{}:{text:t.ref},...t.skill===``?{}:{source:{source:`skill`,ref:t.skill}}}}function ov(e,t){let[n,r]=(0,Z.useState)(()=>av(e,t)),i=(0,Z.useRef)(n);(0,Z.useEffect)(()=>{Z_(i.current,e)},[e]);let a=(0,Z.useRef)(!1),o=(0,Z.useRef)(!0);return(0,Z.useEffect)(()=>(o.current=!0,()=>{o.current=!1}),[]),{draft:n,update:t=>{if(!o.current||a.current)return;let n={...i.current,...t};i.current=n,Z_(n,e),r(n)},clearStarted:t=>{if(Y_(e)!==t)return;Q_(e,t);let n=X_(e);i.current=n,o.current&&r(n)},submissionPending:a,mounted:o}}function sv(e,t){let n=er(),r=zr(),i=r.data,a=t.data?.skillUsage,o=(0,Z.useMemo)(()=>jc(i??[],a),[i,a]),s=n.data?.workflows??[],c=r.data!==void 0&&n.data!==void 0&&!t.isPending,l=Sc(e,o,s);return{skillList:o,skillUsage:a,workflowList:s,sourcesReady:c,source:l,selectedSkill:l?.source===`skill`?o.find(e=>e.name===l.ref):void 0}}function cv(e){let{uiState:t,source:n,sourcesReady:r,draftText:i,submissionPending:a,update:o}=e,s=U().data?.capabilities.automations===!0,c=t.data?.promptTemplates,l=(0,Z.useMemo)(()=>Gs(Cc(c),{automations:s}),[c,s]),u=Ks(l,n?.source===`skill`?[n.ref]:[]),d=(0,Z.useRef)(i);d.current=i;let f=(0,Z.useRef)(``);return(0,Z.useEffect)(()=>{if(!r||a.current)return;let e=Bs(d.current,f.current,u);f.current=e.applied,e.text!==d.current&&o({text:e.text})},[u,r]),l}function lv(e,t){let n=Or(),r=Kt(n.data),i=t.data?.defaultRunner,a=i??`claude`,o=r.length>0?bc(e.runner,r,a):null,s=o??a,c=n.isSuccess&&r.length>0,l=rr(s),u=t.data?.modelsLocked===!0,d=t.data?.defaultModels,f=o===null?[]:fc(o,l.data,[e.model,d?.[o]]),p=o===null?``:ec(u?null:e.model,o,d,l.data),m=ac(s,p,l.data);return{providers:n,runners:r,defaultRunner:i,runner:o,displayRunner:s,providersReady:c,catalog:l,modelsLocked:u,models:f,model:p,effortOptions:m,effort:u?``:oc(e.effort,m)}}function uv(e,t){let{accounts:n,repoAccount:r}=pc();return{accountChoices:n,repoAccount:r,agentProfile:n.some(n=>n.provider===e&&n.id===t)?t:null}}function dv(e){let t=(0,Z.useRef)(!1),n=(0,Z.useRef)(void 0);(0,Z.useEffect)(()=>{n.current===void 0&&(n.current=document.activeElement);let r=e&&!t.current;t.current=e,r&&(document.activeElement===document.body||document.activeElement===n.current)&&document.querySelector(`textarea[aria-label="Describe a task for the agent"]`)?.focus()},[e])}function fv(e){let t=e.workspaceConfig.data?.composerDefaults;return B_({hasGit:e.hasGit,planFirst:e.draft.planFirst,explicitAutonomous:e.draft.autonomous,explicitWorktree:e.draft.worktree,interactive:e.selectedSkill?.interactive,configuredAutonomous:t?.autonomous??t?.inheritedAutonomous??`source-dependent`,configuredWorktree:t?.worktree??t?.inheritedWorktree??!0,source:e.source?.source??`workflow`})}function pv(e){let t=yn(),n=t.data?.projects??[],r=e??t.data?.bootProject,i=F_(n.find(e=>e.id===r)),[a,o]=(0,Z.useState)(!1);return{projectList:n,webhookTargets:i,notifyOn:i.length>0&&a,setNotifyChoice:o}}function mv(e,t){let[n,r]=(0,Z.useState)(()=>typeof window<`u`&&window.innerWidth<=767);return(0,Z.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=()=>r(window.innerWidth<=767||t.getBoundingClientRect().width<550);n();let i=typeof ResizeObserver>`u`?null:new ResizeObserver(n);return i?.observe(t),window.addEventListener(`resize`,n),()=>{i?.disconnect(),window.removeEventListener(`resize`,n)}},[t]),n}async function hv(e){let t=Y_(e.draftProjectId),n=``;try{n=(await ot()).key}catch{}if(n===``||e.deepLink.key!==n)return{kind:`blocked`};try{let n=await Wt(L_(e.deepLink,e.runner,e.defaultRunner));return e.clearStarted(t),e.queryClient.invalidateQueries({queryKey:G.runs.all}),e.mounted.current&&e.navigate(xc(n)),null}catch(e){return{kind:`failed`,message:e instanceof Error?e.message:String(e)}}}function gv(e){let{deepLink:t}=e,n=As(),r=I(),[i,a]=(0,Z.useState)(()=>t.auto&&t.ref!==``),[o,s]=(0,Z.useState)(()=>!t.auto&&t.ref!==``?{kind:`prefill`}:null);_v(e.search,n);let{providers:c,providersReady:l,runner:u,defaultRunner:d}=e.engine,f=(0,Z.useRef)(!1);return(0,Z.useEffect)(()=>{if(f.current||!t.auto||t.ref===``||c.isPending)return;let i=!l||u===null;if(!(!i&&e.config.isPending)){if(f.current=!0,i||d===void 0){s({kind:`prefill`}),a(!1);return}hv({deepLink:t,runner:u,defaultRunner:d,draftProjectId:e.draftProjectId,queryClient:r,navigate:n,mounted:e.mounted,clearStarted:e.clearStarted}).then(e=>{e!==null&&(s(e),a(!1))})}},[e.config.isPending,d,c.isPending,l,u]),vv({notice:o,setNotice:s,deepLink:t,sourcesReady:e.sourcesReady,skillList:e.skillList,update:e.update}),i}function _v(e,t){let n=(0,Z.useRef)(!1);(0,Z.useEffect)(()=>{n.current||(n.current=!0,e.toString()!==``&&t(`/new`,{replace:!0}))},[])}function vv(e){let{notice:t,sourcesReady:n,deepLink:r}=e;(0,Z.useEffect)(()=>{if(t===null||!n)return;e.setNotice(null);let i=r.skill!==``&&!e.skillList.some(e=>e.name===r.skill)?r.skill:``;i!==``&&e.update({text:z_(r.skill,r.ref),source:null});let{message:a,tone:o}=R_(t,i);K(a,{tone:o}),document.querySelector(`[data-slot="composer"] button[aria-label="Start task"], [data-slot="composer"] button[aria-label="Plan task"]`)?.focus()},[t,n])}function yv(e){return e.isPending?`Checking agent providers…`:e.isError?`Provider authentication could not be verified.`:`Connect an agent provider before starting a task.`}function bv(e,t,n){Ct({lastTask:e,...e?{recentSources:sc(t.data?.recentSources,e)}:{},...e?.source===`skill`&&t.data!==void 0?{skillUsage:Mc(t.data.skillUsage,e.ref)}:{}}).then(()=>n.invalidateQueries({queryKey:G.uiState})).catch(()=>{})}function xv(e){let t=As(),n=I(),[r,i]=(0,Z.useState)(null),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(!1),{draft:l,draftProjectId:u,engine:d,mounted:f}=e,{providers:p,providersReady:m,runner:h}=d,g=(r,i)=>{e.clearStarted(i),n.invalidateQueries({queryKey:G.runs.all}),f.current&&t(xc(r))};return{plan:r,setPlan:i,planning:a,starting:s,submit:async(t,r)=>{let a=Y_(u);if(l.retiredVariants)throw Error(`Parallel variants are removed. Choose Use one task before starting this saved draft.`);if(!m||h===null)throw Error(yv(p));if(!e.sourcesReady)throw Error(`Still loading workflows and skills — try again in a second.`);if(l.planFirst){o(!0);try{let e=await Ye(t);f.current&&i($_(t,r,e))}finally{o(!1)}return}let s=await Wt(Vs(ic({task:t,source:e.source,model:d.model,modelsLocked:d.modelsLocked,effort:d.effort,runner:h,runnerExplicit:l.runner!==null,agentProfile:e.agentProfile,defaultRunner:d.defaultRunner,images:r,worktree:e.runMode.worktree,autonomous:e.runMode.autonomous,archiveWhenDone:l.archiveWhenDone,autoMergePr:l.autoMergePr,allowWorkers:l.allowWorkers,allowMessaging:l.allowMessaging}),e.notifyOn));bv(e.source,e.uiState,n),g(s,a)},startPlanned:async()=>{if(r===null||r.steps.length===0||s||!m||h===null)return;let t=Y_(u);c(!0);try{let n=await Wt(Vs(iv({task:r.task,steps:r.steps,model:d.model,modelsLocked:d.modelsLocked,effort:d.effort,runner:h,runnerExplicit:l.runner!==null,defaultRunner:d.defaultRunner,images:r.images,archiveWhenDone:l.archiveWhenDone,autoMergePr:l.autoMergePr,allowWorkers:l.allowWorkers,allowMessaging:l.allowMessaging}),e.notifyOn));i(null),g(n,t)}catch(e){K(e instanceof Error?e.message:String(e),{tone:`danger`})}finally{c(!1)}}}}function Sv(e){let t=typeof e==`string`?new URLSearchParams(e):e;return{skill:(t.get(`skill`)??``).trim(),ref:(t.get(`ref`)??t.get(`task`)??``).trim(),auto:t.get(`auto`)===`1`,key:t.get(`key`)??``}}function Cv({archiveWhenDone:e,autoMergePr:t,onChange:n,disabled:r=!1,embedded:i=!1}){let a=(0,Z.useId)();return(0,Q.jsxs)(`fieldset`,{"data-slot":`completion-controls`,"data-embedded":i||void 0,className:`grid min-w-0 gap-3`,children:[(0,Q.jsx)(`legend`,{className:i?`sr-only`:`text-sm font-medium [margin-block-end:0.5rem]`,children:`After Done`}),(0,Q.jsxs)(`label`,{htmlFor:`${a}-archive`,className:`completion-control flex min-h-11 min-w-0 items-center justify-between gap-3 rounded-md text-sm`,children:[(0,Q.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,Q.jsx)(`span`,{id:`${a}-archive-label`,children:`Archive when Done`}),i?(0,Q.jsx)(`span`,{id:`${a}-archive-help`,className:`completion-control-help`,children:`Move to Archived after Done, even without a PR. You can restore it later.`}):null]}),(0,Q.jsx)(Ta,{id:`${a}-archive`,className:`completion-switch`,checked:e,disabled:r,"aria-labelledby":`${a}-archive-label`,"aria-describedby":`${a}-archive-help`,onCheckedChange:e=>n({archiveWhenDone:e})})]}),i?null:(0,Q.jsx)(`p`,{id:`${a}-archive-help`,className:`text-xs break-words text-muted-foreground`,children:`Move the task to Archived after it reaches Done. You can restore it later.`}),(0,Q.jsxs)(`label`,{htmlFor:`${a}-merge`,className:`completion-control flex min-h-11 min-w-0 items-center justify-between gap-3 rounded-md text-sm`,children:[(0,Q.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,Q.jsx)(`span`,{id:`${a}-merge-label`,children:`Auto-merge PR`}),i?(0,Q.jsx)(`span`,{id:`${a}-merge-help`,className:`completion-control-help`,children:`After Done, mark the PR ready and merge when current-head CI and GitHub rules allow.`}):null]}),(0,Q.jsx)(Ta,{id:`${a}-merge`,className:`completion-switch`,checked:t,disabled:r,"aria-labelledby":`${a}-merge-label`,"aria-describedby":`${a}-merge-help`,onCheckedChange:e=>n({autoMergePr:e})})]}),i?null:(0,Q.jsx)(`p`,{id:`${a}-merge-help`,className:`text-xs break-words text-muted-foreground`,children:`After Done, mark a draft PR ready and merge when current-head CI and GitHub rules allow it.`}),!i||e&&t?(0,Q.jsx)(`p`,{className:`completion-order-note text-xs break-words text-muted-foreground`,children:i?`Merge runs before archive when both are on.`:`When both are on, merge comes before archive. Without a PR, Archive when Done still archives the task.`}):null]})}var wv=[{key:`allowWorkers`,slot:`workers`,label:`Allow ${a(`cezar`)} workers`,help:`Agents in this task can start ${a(`Cezar`)} workers. Each worker is a separate paid agent session. Worker limits cap resources, not spending.`},{key:`allowMessaging`,slot:`messaging`,label:`Allow task messaging`,help:`Agents in this task can message other tasks in this project.`}];function Tv({allowWorkers:e,allowMessaging:t,onChange:n,disabled:r=!1,embedded:i=!1}){let a=(0,Z.useId)(),o={allowWorkers:e,allowMessaging:t};return(0,Q.jsxs)(`fieldset`,{"data-slot":`task-access-controls`,"data-embedded":i||void 0,className:`grid min-w-0 gap-3`,children:[(0,Q.jsx)(`legend`,{className:i?`sr-only`:`text-sm font-medium [margin-block-end:0.5rem]`,children:`Task access`}),wv.map(e=>(0,Q.jsxs)(Z.Fragment,{children:[(0,Q.jsxs)(`label`,{htmlFor:`${a}-${e.slot}`,"data-slot":`task-access-${e.slot}`,className:`completion-control flex min-h-11 min-w-0 items-center justify-between gap-3 rounded-md text-sm`,children:[(0,Q.jsxs)(`span`,{className:`min-w-0 break-words`,children:[(0,Q.jsx)(`span`,{id:`${a}-${e.slot}-label`,children:e.label}),i?(0,Q.jsx)(`span`,{id:`${a}-${e.slot}-help`,className:`completion-control-help`,children:e.help}):null]}),(0,Q.jsx)(Ta,{id:`${a}-${e.slot}`,className:`completion-switch shrink-0`,checked:o[e.key],disabled:r,"aria-labelledby":`${a}-${e.slot}-label`,"aria-describedby":`${a}-${e.slot}-help`,onCheckedChange:t=>n({[e.key]:t})})]}),i?null:(0,Q.jsx)(`p`,{id:`${a}-${e.slot}-help`,className:`text-xs break-words text-muted-foreground`,children:e.help})]},e.key))]})}function Ev(){return(0,Q.jsxs)(`div`,{"data-route":`new`,className:`relative isolate flex min-h-full flex-col items-center justify-center overflow-x-clip px-6`,children:[(0,Q.jsx)(Rs,{}),(0,Q.jsxs)(`div`,{"data-slot":`auto-starting`,role:`status`,className:`text-center`,children:[(0,Q.jsx)(`h1`,{className:`animate-pulse text-lg font-semibold tracking-tight`,children:`Starting task…`}),(0,Q.jsx)(`p`,{className:`mt-1.5 text-[14px] text-muted-foreground`,children:`Launched from a bookmarklet — taking you to the run.`})]})]})}function Dv(){return(0,Q.jsxs)(`header`,{className:`mb-7 max-md:mb-5`,children:[(0,Q.jsx)(`p`,{"data-slot":`page-eyebrow`,className:`mb-2 text-[11px] font-semibold tracking-[0.16em] text-[var(--accent-text)] uppercase`,children:`NEW TASK`}),(0,Q.jsx)(`h1`,{className:`text-[30px] leading-[normal] font-semibold tracking-[-0.9px] max-md:text-[22px] max-md:leading-[29px] max-md:tracking-[-0.6px]`,children:`What should the agent work on?`}),(0,Q.jsx)(`p`,{"data-slot":`page-description`,className:`mt-2 hidden text-[13px] text-muted-foreground md:block`,children:`Describe the outcome. Configure the run. Review everything before it lands.`})]})}function Ov({onUseOneTask:e}){return(0,Q.jsxs)(`section`,{role:`alert`,className:`flex flex-col items-start gap-3 rounded-xl border border-border bg-card p-4`,children:[(0,Q.jsx)(`p`,{children:`Parallel variants are removed. This saved draft requested multiple candidates. Use owned workers to compare approaches, or start one task.`}),(0,Q.jsx)(D,{variant:`outline`,className:`min-h-11`,onClick:e,children:`Use one task`})]})}function kv({groupRef:e,compact:t,engine:n,accounts:r,draftEffort:i,update:a}){let o=n.runners.length>1||n.runners.some(e=>vc(r.accountChoices,e))?(0,Q.jsx)(Av,{engine:n,accounts:r,update:a},`runner`):null,s=(0,Q.jsx)(jv,{engine:n,draftEffort:i,update:a},`model`),c=(0,Q.jsx)(Mv,{engine:n,update:a},`effort`);return(0,Q.jsx)(`div`,{ref:e,"data-slot":`agent-options`,role:`group`,"aria-label":`Agent settings`,className:`new-task-agent-options`,children:(0,Q.jsx)(cc,{children:t?[o,c,s]:[o,s,c]})})}function Av({engine:e,accounts:t,update:n}){return(0,Q.jsx)(tc,{icon:(0,Q.jsx)(No,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),fieldLabel:!0,runners:e.runners,value:e.displayRunner,accounts:t.accountChoices,account:t.agentProfile,repoAccount:t.repoAccount,onPick:(t,r)=>n({runner:t,agentProfile:r,...t===e.displayRunner?{}:{model:null}}),disabled:!e.providersReady})}function jv({engine:e,draftEffort:t,update:n}){let{catalog:r,displayRunner:i}=e;return(0,Q.jsx)(gc,{icon:(0,Q.jsx)(go,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),fieldLabel:!0,slot:`model-pill`,ariaLabel:`Model`,label:e.models.find(t=>t.id===e.model)?.label??`auto`,value:e.model,disabled:!e.providersReady,readOnly:e.modelsLocked,disabledHint:e.modelsLocked?`Model selection is locked to native coding-agent settings.`:void 0,onPick:e=>{let a=ac(i,e,r.data);n({model:e,effort:t===null?null:oc(t,a)})},options:e.models.map(e=>({value:e.id,label:e.label,desc:e.desc})),status:hc(i,r.data,r.isError,r.isFetching)})}function Mv({engine:e,update:t}){return(0,Q.jsx)(gc,{icon:(0,Q.jsx)(Ja,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),fieldLabel:!0,slot:`effort-pill`,ariaLabel:`Effort`,label:e.effortOptions.find(t=>t.value===e.effort)?.label??`auto`,value:e.effort,disabled:!e.providersReady,readOnly:e.modelsLocked,disabledHint:e.modelsLocked?`Effort selection is locked to native coding-agent settings.`:void 0,onPick:e=>t({effort:e}),options:e.effortOptions.map(e=>({value:e.value,label:e.label,desc:e.desc}))})}function Nv({engine:e,draft:t,update:n,repo:r,hasGit:i,runMode:a,webhook:o,interactiveSkill:s,completionDisabled:c}){let{displayRunner:l}=e;return(0,Q.jsxs)(`details`,{"data-slot":`execution-options`,open:!0,className:`group rounded-xl border border-border bg-card xl:self-start`,children:[(0,Q.jsxs)(`summary`,{className:`flex min-h-[44px] cursor-pointer list-none flex-wrap items-center gap-x-2 gap-y-1 px-3 py-2 text-xs text-muted-foreground pointer-hover:bg-muted/50 active:bg-muted/50 focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-foreground [&::-webkit-details-marker]:hidden`,children:[(0,Q.jsx)(Mo,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`}),(0,Q.jsx)(`span`,{className:`font-medium text-foreground`,children:`Execution settings`}),(0,Q.jsxs)(`span`,{"data-slot":`execution-summary`,hidden:!0,className:`min-w-0 basis-full truncate pl-5 xl:ml-auto xl:basis-auto xl:pl-0`,children:[dc.find(e=>e.id===l)?.label??l,` · `,e.models.find(t=>t.id===e.model)?.label??`auto`]}),(0,Q.jsx)(Vo,{"aria-hidden":`true`,className:`new-task-settings-chevron size-4 shrink-0`})]}),(0,Q.jsxs)(`div`,{className:`new-task-settings-body`,children:[(0,Q.jsx)(`p`,{className:`new-task-settings-description`,children:`Control this run and what happens after Done.`}),(0,Q.jsxs)(`div`,{role:`group`,"aria-label":`Run settings`,className:`new-task-run-settings`,children:[i?(0,Q.jsx)(Fv,{on:a.worktree,onChange:e=>n({worktree:e})}):null,(0,Q.jsx)(Rv,{repo:r}),(0,Q.jsx)(Iv,{on:a.autonomous,disabled:t.planFirst,onChange:e=>n({autonomous:e})}),o.targets.length>0?(0,Q.jsx)(Lv,{on:o.on,targets:o.targets,onChange:o.onChange}):null,s&&(t.autonomous===null||t.worktree===null)?(0,Q.jsx)(`p`,{className:`basis-full text-xs text-muted-foreground`,"data-slot":`interactive-skill-hint`,children:`This skill recommends an interactive run in the current checkout. You can change either setting.`}):null]}),(0,Q.jsx)(Cv,{embedded:!0,archiveWhenDone:t.archiveWhenDone,autoMergePr:t.autoMergePr,onChange:n,disabled:c}),(0,Q.jsx)(Tv,{embedded:!0,allowWorkers:t.allowWorkers,allowMessaging:t.allowMessaging,onChange:n,disabled:c})]})]})}function Pv({showConfigureProviders:e,planFirst:t,planning:n,onModeChange:r}){return(0,Q.jsxs)(Q.Fragment,{children:[e?(0,Q.jsx)(Y,{to:`/settings/agents#providers`,className:`text-xs font-medium text-foreground underline underline-offset-4`,children:`Configure providers`}):null,(0,Q.jsx)(Bv,{planFirst:t,planning:n,onModeChange:r}),(0,Q.jsx)(`kbd`,{"aria-hidden":`true`,className:`hidden rounded-[5px] border border-b-2 border-border bg-card px-[5px] py-px font-mono text-[11px] font-medium text-muted-foreground md:inline`,children:Kh()})]})}function Fv({on:e,disabled:t,disabledReason:n,onChange:r}){return(0,Q.jsxs)(`button`,{type:`button`,role:`checkbox`,"aria-checked":e,disabled:t,"aria-label":`Worktree`,"data-slot":`worktree-toggle`,onClick:()=>r(!e),title:t?n:e?`Runs in an isolated worktree — uncheck to run in the repo working tree`:`Runs in the repo working tree — check to isolate in a worktree`,className:`flex items-center justify-between gap-3 px-0 py-3 text-left`,children:[(0,Q.jsxs)(`span`,{children:[(0,Q.jsx)(`span`,{className:`block text-[13px] font-medium`,children:`Worktree`}),(0,Q.jsx)(`span`,{className:`block text-[12px] text-muted-foreground`,children:e?`Changes stay in a separate working copy.`:`Changes are made in the current working directory.`})]}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:O(`flex h-6 w-10 shrink-0 items-center rounded-full border p-0.5`,e?`border-accent-strong bg-accent-strong`:`border-muted-foreground bg-muted`),children:(0,Q.jsx)(`span`,{className:O(`size-[18px] rounded-full`,e?`ml-auto bg-accent-strong-foreground`:`bg-foreground`)})})]})}function Iv({on:e,disabled:t,onChange:n}){return(0,Q.jsxs)(`button`,{type:`button`,role:`checkbox`,"aria-checked":e,disabled:t,"aria-label":`Autonomous`,"data-slot":`autonomous-toggle`,onClick:()=>n(!e),title:t?`Plan-first runs are interactive — autonomous is unavailable`:e?`Autonomous — the agent runs to completion without pausing for you`:`Runs interactively — check to let the agent finish without pausing for you`,className:`flex items-center justify-between gap-3 px-0 py-3 text-left disabled:opacity-50`,children:[(0,Q.jsxs)(`span`,{children:[(0,Q.jsx)(`span`,{className:`block text-[13px] font-medium`,children:`Autonomous`}),(0,Q.jsx)(`span`,{className:`block text-[12px] text-muted-foreground`,children:`Let the agent proceed without prompts`})]}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:O(`flex h-6 w-10 shrink-0 items-center rounded-full border p-0.5`,e?`border-accent-strong bg-accent-strong`:`border-muted-foreground bg-muted`),children:(0,Q.jsx)(`span`,{className:O(`size-[18px] rounded-full`,e?`ml-auto bg-accent-strong-foreground`:`bg-foreground`)})})]})}function Lv({on:e,targets:t,onChange:n}){return(0,Q.jsxs)(`button`,{type:`button`,role:`checkbox`,"aria-checked":e,"aria-label":`Notify webhook`,"data-slot":`notify-webhook-toggle`,onClick:()=>n(!e),title:`${e?`Status changes go to`:`Check to send this task's status changes to`} ${I_(t)} (${t.map(e=>P_(e.url)).join(`, `)})`,className:`flex min-h-11 items-center justify-between gap-3 px-0 py-3 text-left`,children:[(0,Q.jsxs)(`span`,{className:`min-w-0`,children:[(0,Q.jsx)(`span`,{className:`block text-[13px] font-medium`,children:`Notify webhook`}),(0,Q.jsx)(`span`,{"data-slot":`notify-webhook-subtitle`,className:`block truncate text-[12px] text-muted-foreground`,children:`Send status changes`})]}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:O(`flex h-6 w-10 shrink-0 items-center rounded-full border p-0.5`,e?`border-accent-strong bg-accent-strong`:`border-muted-foreground bg-muted`),children:(0,Q.jsx)(`span`,{className:O(`size-[18px] rounded-full`,e?`ml-auto bg-accent-strong-foreground`:`bg-foreground`)})})]})}function Rv({repo:e}){return(0,Q.jsxs)(`div`,{"data-slot":`base-branch-row`,className:`new-task-base-branch flex items-center justify-between gap-2 text-xs text-muted-foreground`,children:[(0,Q.jsx)(`span`,{children:`Base branch`}),e?(0,Q.jsx)(zv,{repo:e}):null]})}function zv({repo:e}){let t=I(),n=W({mutationFn:e=>Bt({baseBranch:e}),onSuccess:e=>{t.invalidateQueries({queryKey:G.repo}),K(e.baseBranch?`New tasks will branch off "${e.baseBranch}" (PRs target it too).`:`Base branch cleared — new tasks fork from the checked-out branch.`)},onError:e=>K(e.message,{tone:`danger`})});return e.info?(0,Q.jsx)(gc,{searchPlaceholder:`Search branches…`,slot:`base-pill`,ariaLabel:`Base branch`,label:(0,Q.jsx)(`span`,{className:`text-[11px]`,children:e.baseBranch??e.info.branch}),value:e.baseBranch??``,onPick:e=>n.mutate(e===``?null:e),options:[{value:``,label:`follow checked-out branch (${e.info.branch})`,desc:`New task worktrees fork from whatever branch is checked out`},...e.branches.map(e=>({value:e,label:e}))]}):null}function Bv({planFirst:e,planning:t,onModeChange:n}){return(0,Q.jsxs)(`div`,{"data-slot":`mode-seg`,role:`radiogroup`,"aria-label":`Run mode`,className:`inline-flex items-center gap-0.5 rounded-lg bg-muted p-[3px]`,children:[(0,Q.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":!e,onClick:()=>n(!1),className:O(`h-6 rounded-md px-2 text-xs transition-colors`,e?`font-medium text-muted-foreground hover:text-foreground`:`bg-card font-semibold text-foreground shadow-xs`),children:[e?null:(0,Q.jsx)(Oo,{"aria-hidden":`true`,className:`size-3.5`}),`Start`]}),(0,Q.jsx)(`button`,{type:`button`,role:`radio`,"aria-checked":e,"aria-busy":t||void 0,"data-slot":`mode-plan`,onClick:()=>n(!0),className:O(`h-6 rounded-md px-2 text-xs transition-colors`,e?`bg-contrast font-semibold text-contrast-foreground ring-2 ring-ring/55`:`font-medium text-muted-foreground hover:text-foreground`,t&&`animate-pulse`),children:t?`Planning…`:`Plan first`})]})}function Vv({plan:e,starting:t,startAvailable:n,startUnavailableReason:r,startUnavailableAction:i,onStepsChange:a,onStart:o,onDiscard:s}){let[c,l]=(0,Z.useState)(null),[u,d]=(0,Z.useState)(null),f=(0,Z.useRef)(null),p=(0,Z.useId)();(0,Z.useEffect)(()=>{f.current?.focus({preventScroll:!0});let e=f.current?.closest(`[data-slot="main"]`);e&&(e.scrollTop=0)},[]);let m=()=>{l(null),d(null)},h=(t,n)=>{t.preventDefault(),c!==null&&c!==n&&a(tv(e.steps,c,n)),m()},g=e.steps.length===0;return(0,Q.jsxs)(`div`,{"data-slot":`plan-page`,children:[(0,Q.jsxs)(`header`,{"data-slot":`plan-page-header`,children:[(0,Q.jsx)(`h1`,{children:`New task / Plan first`}),(0,Q.jsx)(`p`,{children:`Review the proposed chain before launching.`})]}),(0,Q.jsx)(`div`,{"data-slot":`plan-canvas`,children:(0,Q.jsxs)(`section`,{ref:f,tabIndex:-1,"aria-labelledby":p,"data-slot":`plan-review`,className:`flex flex-col outline-none`,onKeyDown:e=>{e.key!==`Escape`||e.defaultPrevented||e.target.closest(`[role="dialog"], [role="alertdialog"]`)||(e.preventDefault(),s())},children:[(0,Q.jsxs)(`header`,{"data-slot":`dialog-header`,className:`flex flex-col gap-1 px-5 pt-4 pb-3.5 text-left`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,Q.jsx)(`h2`,{id:p,"data-slot":`dialog-title`,className:`text-[11px] font-semibold tracking-[0.08em] text-muted-foreground uppercase`,children:`Proposed chain`}),(0,Q.jsx)(`button`,{type:`button`,onClick:s,"aria-label":`Discard the plan`,className:`-mt-1 -mr-1 rounded-md p-1 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,children:(0,Q.jsx)(Ao,{"aria-hidden":`true`,className:`size-4`})})]}),(0,Q.jsx)(`p`,{"data-slot":`plan-task`,title:e.task,className:`text-[18px] font-medium text-foreground`,children:rv(e.task)}),e.fallback?(0,Q.jsx)(`p`,{"data-slot":`plan-fallback`,className:`text-xs text-soft-foreground italic`,children:`planner unavailable — single-step plan`}):e.rationale===``?null:(0,Q.jsx)(`p`,{"data-slot":`plan-rationale`,className:`text-xs text-muted-foreground`,children:e.rationale})]}),(0,Q.jsx)(`ol`,{"data-slot":`plan-steps`,className:`flex-1 space-y-2 overflow-y-auto px-5 py-4`,children:g?(0,Q.jsx)(`li`,{className:`py-6 text-center text-sm text-muted-foreground`,children:`(no steps left — discard and plan again)`}):e.steps.map((t,n)=>(0,Q.jsxs)(`li`,{"data-slot":`plan-step`,"data-step-id":t.id,draggable:!0,onDragStart:()=>l(n),onDragOver:e=>{e.preventDefault(),d(n)},onDragLeave:()=>d(e=>e===n?null:e),onDrop:e=>h(e,n),onDragEnd:m,className:O(`flex items-center gap-2.5 rounded-lg border border-border bg-card-2 px-3 py-2.5`,c===n&&`opacity-50`,u===n&&c!==null&&c!==n&&`border-ring`),children:[(0,Q.jsx)(oo,{"aria-hidden":`true`,className:`size-3.5 shrink-0 cursor-grab text-soft-foreground`}),(0,Q.jsx)(`span`,{className:`w-5 shrink-0 font-mono text-[11px] text-soft-foreground tabular-nums`,children:String(n+1).padStart(2,`0`)}),(0,Q.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`text-[13px] font-medium`,children:t.name??t.id}),t.skill?(0,Q.jsx)(`span`,{"data-slot":`plan-badge-skill`,title:`skill`,className:`shrink-0 rounded-full bg-accent-strong/15 px-1.5 py-px font-mono text-[11px] font-medium text-accent-text`,children:t.skill}):null,t.command?(0,Q.jsx)(`span`,{"data-slot":`plan-badge-check`,className:`shrink-0 rounded-full bg-muted px-1.5 py-px text-[11px] font-medium text-muted-foreground`,children:`check`}):null]}),(0,Q.jsx)(`p`,{className:`mt-3 whitespace-pre-wrap break-words font-mono text-[11px] text-muted-foreground`,children:nv(t)})]}),(0,Q.jsxs)(`span`,{"data-slot":`plan-step-actions`,className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`icon-sm`,"data-slot":`plan-step-up`,"aria-label":`Move step ${n+1} up`,disabled:n===0,className:`size-7 text-muted-foreground`,onClick:()=>a(tv(e.steps,n,n-1)),children:`Move up`}),(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`icon-sm`,"data-slot":`plan-step-down`,"aria-label":`Move step ${n+1} down`,disabled:n===e.steps.length-1,className:`size-7 text-muted-foreground`,onClick:()=>a(tv(e.steps,n,n+1)),children:`Move down`}),(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`icon-sm`,"data-slot":`plan-step-remove`,"aria-label":`Remove step ${n+1}`,className:`size-7 text-muted-foreground hover:text-danger`,onClick:()=>a(ev(e.steps,n)),children:`Remove`})]})]},t.id))}),!n&&r?(0,Q.jsxs)(`p`,{id:`plan-start-guidance`,className:`flex flex-wrap items-center gap-1.5 border-t border-border px-5 pt-3 text-xs text-muted-foreground`,children:[(0,Q.jsx)(`span`,{children:r}),i]}):null,(0,Q.jsxs)(`div`,{"data-slot":`plan-actions`,className:`flex flex-wrap items-center gap-3 px-6 pt-3 pb-6`,children:[(0,Q.jsxs)(D,{type:`button`,"data-slot":`plan-start`,disabled:g||t||!n,title:n?void 0:r,"aria-describedby":!n&&r?`plan-start-guidance`:void 0,onClick:o,children:[(0,Q.jsx)(nh,{"aria-hidden":`true`,className:`size-3.5`}),t?`Starting…`:`Start`]}),(0,Q.jsx)(Hv,{steps:e.steps,disabled:g}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,onClick:s,children:`Discard`})]}),(0,Q.jsx)(`p`,{className:`px-6 pb-6 text-xs text-muted-foreground`,children:`No steps left? Start is disabled. A planner failure shows a single-step fallback.`})]})})]})}function Hv({steps:e,disabled:t}){let n=I(),[r,i]=(0,Z.useState)(!1),[a,o]=(0,Z.useState)(``),[s,c]=(0,Z.useState)(!1),[l,u]=(0,Z.useState)(!1),d=async t=>{let r=a.trim();if(!(r===``||l)){u(!0);try{let a=await pe({name:r,steps:e,...t?{overwrite:!0}:{}});K(`Saved — ${a.path.split(`/`).pop()??a.path}`),n.invalidateQueries({queryKey:G.workflows}),c(!1),i(!1),o(``)}catch(e){e instanceof ft&&e.exists===!0?c(!0):K(e instanceof Error?e.message:String(e),{tone:`danger`})}finally{u(!1)}}};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(D,{type:`button`,variant:`outline`,"data-slot":`plan-save`,disabled:t,onClick:()=>i(!0),children:`Save as chain`}),(0,Q.jsx)(Xo,{open:r,onOpenChange:e=>i(!!e),children:(0,Q.jsxs)(Yo,{"data-slot":`plan-save-dialog`,className:`sm:max-w-sm`,showCloseButton:!1,children:[(0,Q.jsxs)($o,{children:[(0,Q.jsx)(Jo,{children:`Save as chain`}),(0,Q.jsx)(qo,{children:`Saves these steps as a reusable workflow — it joins the picker like any other chain.`})]}),(0,Q.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),d(!1)},children:[(0,Q.jsx)(`label`,{htmlFor:`plan-chain-name`,className:`mb-2 block text-[11px] text-muted-foreground`,children:`Chain name`}),(0,Q.jsx)(Dp,{id:`plan-chain-name`,value:a,onChange:e=>o(e.target.value),"aria-label":`Chain name`,placeholder:`e.g. fix-and-verify-v2`,maxLength:80,autoFocus:!0}),(0,Q.jsxs)(Zo,{className:`mt-4`,children:[(0,Q.jsx)(D,{type:`button`,variant:`outline`,onClick:()=>i(!1),children:`Cancel`}),(0,Q.jsx)(D,{type:`submit`,disabled:a.trim()===``||l,children:l?`Saving…`:`Save chain`})]})]})]})}),(0,Q.jsx)(Sa,{open:s,onOpenChange:e=>e?void 0:c(!1),children:(0,Q.jsxs)(ma,{"data-slot":`plan-overwrite-dialog`,children:[(0,Q.jsxs)(xa,{children:[(0,Q.jsxs)(la,{children:[`Overwrite “`,a.trim(),`”?`]}),(0,Q.jsx)(ca,{children:`A chain with this name already exists. Overwriting replaces its steps with this plan.`})]}),(0,Q.jsxs)(va,{children:[(0,Q.jsx)(ba,{children:`Cancel`}),(0,Q.jsx)(_a,{onClick:()=>void d(!0),children:`Overwrite chain`})]})]})})]})}var Uv={start:{note:`Start immediately with the selected configuration.`,pendingLabel:`Starting task…`,failureHint:void 0,clearOnSuccess:!0,sendAriaLabel:`Start task`},plan:{note:`Review the plan before starting the task.`,pendingLabel:`Planning task…`,failureHint:`Could not create the plan. Your draft is kept. Please retry.`,clearOnSuccess:!1,sendAriaLabel:`Plan task`}};function Wv(){let[e]=n(),t=(0,Z.useRef)(null),i=(0,Z.useRef)(null),a=(0,Z.useRef)(null),{projectId:o}=r(),s=Mt().projectId,[c]=(0,Z.useState)(()=>Sv(e)),l=Er(),u=Zn(),d=Nr(),f=yi(),{draft:p,update:m,clearStarted:h,submissionPending:g,mounted:_}=ov(s,c),v=sv(p.source,u),{source:y,sourcesReady:b,skillList:x}=v,S=pv(o),C=cv({uiState:u,source:y,sourcesReady:b,draftText:p.text,submissionPending:g,update:m}),w=lv(p,d),T=uv(w.displayRunner,p.agentProfile);dv(w.providersReady);let E=l.data===void 0||l.data.info!==null,D=fv({hasGit:E,draft:p,selectedSkill:v.selectedSkill,workspaceConfig:f,source:y}),{plan:O,setPlan:k,planning:A,starting:j,submit:M,startPlanned:ee}=xv({draft:p,draftProjectId:s,engine:w,agentProfile:T.agentProfile,sourcesReady:b,source:y,runMode:D,notifyOn:S.notifyOn,uiState:u,mounted:_,clearStarted:h}),N=gv({deepLink:c,search:e,engine:w,config:d,draftProjectId:s,mounted:_,clearStarted:h,sourcesReady:b,skillList:x,update:m}),te=mv(t,N);if(N)return(0,Q.jsx)(Ev,{});let{providers:ne,providersReady:re}=w,P=p.planFirst?Uv.plan:Uv.start,F=yv(ne);return(0,Q.jsxs)(`div`,{"data-route":`new`,"data-plan-review":O===null?void 0:`true`,className:`relative isolate flex min-h-full flex-col overflow-x-clip pb-16`,children:[(0,Q.jsxs)(`div`,{"data-slot":`new-task-layout`,ref:a,style:O===null?void 0:{display:`none`},className:`relative z-[1] mx-auto w-full max-w-none px-11 pt-12 max-md:px-[18px] max-md:pt-[22px]`,children:[(0,Q.jsx)(Dv,{}),p.retiredVariants?(0,Q.jsx)(Ov,{onUseOneTask:()=>m({retiredVariants:!1})}):null,(0,Q.jsx)(N_,{ref:i,onSubmit:M,retainDraftUntilSuccess:!0,idleFeedback:(0,Q.jsxs)(`div`,{"data-slot":`new-task-mode-note`,className:`flex items-center justify-between gap-3 text-[11px] text-muted-foreground`,children:[(0,Q.jsx)(`span`,{children:P.note}),(0,Q.jsx)(`kbd`,{className:`hidden font-sans md:inline`,children:Kh()})]}),pendingLabel:P.pendingLabel,failureHint:P.failureHint,clearOnSuccess:P.clearOnSuccess,onPendingChange:e=>{g.current=e},value:p.text,onValueChange:e=>m({text:e}),autoFocus:!0,placeholder:`Describe a task for the agent — / for skills…`,ariaLabel:`Describe a task for the agent`,sendAriaLabel:P.sendAriaLabel,disabled:!re||j,disabledReason:F,autocompleteSkills:!0,footerStart:(0,Q.jsx)(Gv,{projects:S.projectList,urlProjectId:o,templates:C,onInsertTemplate:e=>i.current?.insertAtCaret(e),sources:v,onPickSource:e=>m({source:e})}),agentOptions:(0,Q.jsx)(kv,{groupRef:t,compact:te,engine:w,accounts:T,draftEffort:p.effort,update:m}),executionOptions:(0,Q.jsx)(Nv,{engine:w,draft:p,update:m,repo:l.data,hasGit:E,runMode:D,webhook:{targets:S.webhookTargets,on:S.notifyOn,onChange:S.setNotifyChoice},interactiveSkill:v.selectedSkill?.interactive===!0,completionDisabled:j||A}),footerEnd:(0,Q.jsx)(Pv,{showConfigureProviders:!re&&!ne.isPending,planFirst:p.planFirst,planning:A,onModeChange:e=>m({planFirst:e})})}),(0,Q.jsx)(`p`,{"data-slot":`run-mode-note`,className:`mt-2.5 text-[13px] text-muted-foreground`,children:V_({worktree:D.worktree,hasGit:E})})]}),O===null?null:(0,Q.jsx)(Vv,{plan:O,starting:j,startAvailable:re,startUnavailableReason:F,startUnavailableAction:ne.isPending?void 0:(0,Q.jsx)(Y,{to:`/settings/agents#providers`,children:`Configure providers`}),onStepsChange:e=>k(t=>t&&{...t,steps:e}),onStart:()=>void ee(),onDiscard:()=>{k(null),requestAnimationFrame(()=>a.current?.querySelector(`textarea`)?.focus())}})]})}function Gv({projects:e,urlProjectId:t,templates:n,onInsertTemplate:r,sources:i,onPickSource:a}){let o=As();return(0,Q.jsxs)(Q.Fragment,{children:[e.length>1&&t!==void 0?(0,Q.jsx)(qv,{projects:e,projectId:t,onPick:e=>o(`/p/${encodeURIComponent(e)}/new`,{replace:!0})}):null,(0,Q.jsx)(wa,{label:`Template`,templates:n,onInsert:r}),(0,Q.jsx)(ty,{source:i.source,ready:i.sourcesReady,skills:i.skillList,skillUsage:i.skillUsage,workflows:i.workflowList,onPick:a})]})}function Kv(e,t){let n=t.trim().toLowerCase();if(n===``)return[...e];let r=e=>{let t=e.name.toLowerCase(),r=e.id.toLowerCase();return t.startsWith(n)||r.startsWith(n)?0:t.includes(n)||r.includes(n)?1:2};return e.map((e,t)=>({project:e,rank:r(e),index:t})).filter(e=>e.rank<2).sort((e,t)=>e.rank-t.rank||e.index-t.index).map(e=>e.project)}function qv({projects:e,projectId:t,onPick:n}){let[r,i]=(0,Z.useState)(!1),[a,o]=(0,Z.useState)(``),s=e.find(e=>e.id===t),c=Kv(e,a);return(0,Q.jsxs)(Ka,{open:r,onOpenChange:e=>{i(e),e||o(``)},children:[(0,Q.jsx)(Va,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`project-pill`,"aria-label":`Project`,title:`Which project this task runs in — its skills, workflows, settings and draft`,className:O(_c,`border-foreground/60 font-semibold text-foreground`),children:[(0,Q.jsx)(Xa,{"aria-hidden":`true`,className:`size-3 shrink-0 text-soft-foreground`}),(0,Q.jsx)(`span`,{className:`max-w-40 truncate`,children:s?.name??t}),mc]})}),(0,Q.jsx)(Wa,{align:`start`,sideOffset:8,className:`w-[300px] max-w-[calc(100vw-2rem)] p-0`,children:(0,Q.jsxs)(Us,{shouldFilter:!1,children:[(0,Q.jsx)(zs,{placeholder:`search projects…`,value:a,onValueChange:o}),(0,Q.jsxs)(Js,{"data-slot":`project-menu`,className:`max-h-[min(18rem,calc(var(--radix-popover-content-available-height)-3rem))]`,children:[c.length===0?(0,Q.jsx)(Ys,{children:`Nothing matches.`}):null,c.map(e=>(0,Q.jsxs)(lc,{value:e.id,keywords:[e.name],"data-slot":`project-option`,"data-project-id":e.id,disabled:e.status===`missing`,onSelect:()=>{n(e.id),i(!1)},children:[(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs font-medium`,children:e.name}),e.status===`missing`?(0,Q.jsx)(`span`,{className:`shrink-0 text-[11px] text-soft-foreground`,children:`folder not found`}):e.branch===void 0?null:(0,Q.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-soft-foreground`,children:e.branch}),e.id===t?(0,Q.jsx)(Oo,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-link-foreground`}):null]},e.id))]}),(0,Q.jsx)(`p`,{className:`border-t border-border px-3 py-2 text-[11px] leading-snug text-soft-foreground`,children:`Skills, workflows, settings and the draft re-resolve against the selected project.`})]})})]})}function Jv(e,t,n){return!e&&(t.ranked?t.ranked.length===0:t.mostUsed.length===0&&t.project.length===0&&t.global.length===0)&&n.length===0}function Yv(e,t){return wc(`no skill`,`none plain ${rc} ${e?.description??``}`,t)>0}function Xv({source:e,ready:t,offersWorkflows:n,onPick:r}){let i=e===null||e.source===`skill`?Lo:So;return(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`source-pill`,"data-source-kind":e?.source??`none`,"aria-label":`Choose a skill or workflow`,title:e===null?`No skill — the task runs as one plain agent step. Pick a skill or workflow to change that.`:`Runs the ${e.source} "${e.ref}" — pick it again, or press ✕, to run without it`,disabled:!t,onKeyDown:t=>{e===null||t.metaKey||t.ctrlKey||t.altKey||t.key!==`Backspace`&&t.key!==`Delete`||(t.preventDefault(),r(null))},className:O(_c,`font-mono text-[11px]`,e===null?`text-muted-foreground`:`rounded-r-none border-r-0 border-foreground/60 pr-1.5 font-semibold text-foreground`),children:[(0,Q.jsx)(i,{"aria-hidden":`true`,className:O(`size-3 shrink-0`,e===null?`text-muted-foreground`:`text-accent-icon`)}),(0,Q.jsx)(`span`,{className:`max-w-44 truncate`,children:t?e?.ref??(n?`Skill or workflow`:`Skill`):`…`}),mc]})}function Zv({source:e,quickTask:t,onPick:n}){return(0,Q.jsx)(uc,{children:(0,Q.jsxs)(lc,{value:`none no-skill`,keywords:[`none`,`plain`,...Ec(rc)],"data-slot":`source-option`,"data-source-kind":`none`,onSelect:()=>n(null),children:[(0,Q.jsx)(Co,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-soft-foreground`}),(0,Q.jsx)(`span`,{className:`shrink-0 text-xs font-medium`,children:`No skill`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-soft-foreground`,children:t?.description??`One agent run on your task — no ceremony.`}),e===null?(0,Q.jsx)(Oo,{"aria-hidden":`true`,className:`ml-auto size-3.5 shrink-0 text-link-foreground`}):null]})})}function Qv({ranked:e,mostUsed:t,project:n,skillItem:r}){return(0,Q.jsx)(Q.Fragment,{children:e?e.length>0?(0,Q.jsx)(uc,{children:e.map(e=>r(e,Dc(e)))}):null:(0,Q.jsxs)(Q.Fragment,{children:[t.length>0?(0,Q.jsx)(uc,{heading:`Most used`,children:t.map(e=>r(e,Dc(e)))}):null,n.length>0?(0,Q.jsx)(uc,{heading:`Project skills`,children:n.map(e=>r(e,!0))}):null]})})}function $v({source:e,matchedWorkflows:t,toggle:n}){return t.length>0?(0,Q.jsx)(uc,{heading:`Workflows`,children:t.map(t=>{let r=e?.source===`workflow`&&e.ref===t.name;return(0,Q.jsxs)(lc,{value:`workflow ${t.name}`,keywords:Ec(t.name,t.description),"data-slot":`source-option`,"data-source-kind":`workflow`,"data-source-ref":t.name,onSelect:()=>n({source:`workflow`,ref:t.name}),children:[(0,Q.jsx)(`span`,{className:`shrink-0 font-mono text-xs`,children:t.name}),t.description?(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-soft-foreground`,children:t.description}):null,r?(0,Q.jsx)(Oo,{"aria-hidden":`true`,className:`ml-auto size-3.5 shrink-0 text-link-foreground`}):null]},t.name)})}):null}function ey({global:e,skillItem:t}){return e.length>0?(0,Q.jsx)(uc,{heading:`Global`,children:e.map(e=>t(e,!1))}):null}function ty({source:e,ready:t,skills:n,skillUsage:r,workflows:i,onPick:a}){let[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(``),[u,d]=(0,Z.useState)(null),f=(0,Z.useRef)(null),{mostUsed:p,project:m,global:h,ranked:g}=Nc(n,c,r),_=i.find(e=>e.name===rc),v=Tc(i,c).filter(e=>e.name!==rc),y=i.some(e=>e.name!==rc),b=Yv(_,c),x=Jv(b,{ranked:g,mostUsed:p,project:m,global:h},v),S=e=>{a(e),s(!1)},C=t=>S(e?.source===t.source&&e.ref===t.ref?null:t),w=(t,n)=>{let r=e?.source===`skill`&&e.ref===t.name;return(0,Q.jsxs)(lc,{value:`skill ${t.name} ${t.path}`,keywords:Ec(t.name,t.description),"data-slot":`source-option`,"data-source-kind":`skill`,"data-source-ref":t.name,onSelect:()=>C({source:`skill`,ref:t.name}),children:[(0,Q.jsx)(`span`,{className:O(`shrink-0 font-mono text-xs`,n&&`font-semibold`),children:t.name}),t.description?(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-soft-foreground`,children:t.description}):null,(0,Q.jsx)(`button`,{type:`button`,"data-slot":`source-skill-view`,"aria-label":`View skill ${t.name}`,title:`View skill`,onClick:e=>{e.preventDefault(),e.stopPropagation(),d(t)},className:`ml-auto shrink-0 rounded-sm p-0.5 text-soft-foreground transition-colors hover:text-foreground`,children:(0,Q.jsx)(xs,{"aria-hidden":`true`,className:`size-3.5`})}),r?(0,Q.jsx)(Oo,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-link-foreground`}):null]},t.path)},T=Xv({source:e,ready:t,offersWorkflows:y,onPick:a});return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Da,{skill:u,onClose:()=>d(null)}),(0,Q.jsxs)(Ka,{open:o,onOpenChange:e=>{s(e),e||l(``)},children:[(0,Q.jsxs)(`span`,{className:`inline-flex items-center`,children:[(0,Q.jsx)(Va,{asChild:!0,children:T}),e!==null&&t?(0,Q.jsx)(`button`,{type:`button`,"data-slot":`source-pill-clear`,"aria-label":`Clear the ${e.source} ${e.ref}`,title:`Run without it`,onClick:()=>a(null),className:O(_c,`rounded-l-none border-foreground/60 pl-1.5 pr-2 text-soft-foreground hover:text-foreground`),children:(0,Q.jsx)(Ao,{"aria-hidden":`true`,className:`size-3`})}):null]}),(0,Q.jsx)(Wa,{align:`start`,sideOffset:8,className:`w-[336px] max-w-[calc(100vw-2rem)] p-0`,children:(0,Q.jsxs)(Us,{shouldFilter:!1,children:[(0,Q.jsx)(zs,{placeholder:`search skills & workflows…`,value:c,onValueChange:l,onInput:()=>f.current?.scrollTo(0,0)}),(0,Q.jsxs)(Js,{ref:f,"data-slot":`source-menu`,className:`max-h-[min(18rem,calc(var(--radix-popover-content-available-height)-3rem))]`,children:[x?(0,Q.jsx)(Ys,{children:`Nothing matches.`}):null,b?(0,Q.jsx)(Zv,{source:e,quickTask:_,onPick:S}):null,(0,Q.jsx)(Qv,{ranked:g,mostUsed:p,project:m,skillItem:w}),(0,Q.jsx)($v,{source:e,matchedWorkflows:v,toggle:C}),(0,Q.jsx)(ey,{global:h,skillItem:w})]})]})})]})]})}function ny(){return(0,Q.jsx)(`div`,{"data-route":`not-found`,className:`flex min-h-full flex-col`,children:(0,Q.jsx)(X,{icon:(0,Q.jsx)(wm,{}),tone:`neutral`,title:`Page not found`,subtitle:`Nothing lives at this address. The link may be mistyped, or it points at something that is gone.`,actions:(0,Q.jsx)(D,{asChild:!0,variant:`outline`,children:(0,Q.jsx)(Y,{to:`/`,children:`Back to tasks`})})})})}function ry(){return(0,Q.jsx)(`div`,{className:`px-[18px] pt-2 md:hidden`,children:(0,Q.jsxs)(Y,{to:`/git`,"data-slot":`git-back`,className:`inline-flex min-h-11 items-center gap-1.5 text-xs font-medium text-muted-foreground hover:text-foreground`,children:[(0,Q.jsx)(Io,{size:16,"aria-hidden":`true`,className:`size-3.5`}),`Back to Git`]})})}function iy(){let{pathname:e,search:n}=t();return(0,Q.jsxs)(`div`,{"data-route":`repo-git`,className:`flex min-h-full flex-col`,children:[Ps(e)!==`/git`||new URLSearchParams(n).get(`view`)===`repo`?(0,Q.jsx)(ry,{}):null,(0,Q.jsx)(X,{icon:(0,Q.jsx)(as,{className:`motion-safe:animate-spin`}),tone:`neutral`,title:`Loading repository…`,subtitle:`Fetching the repo's git state.`})]})}function ay(){return(0,Q.jsxs)(`div`,{"data-route":`skills`,"aria-busy":`true`,className:`mx-auto min-h-full w-full px-[18px] py-6 md:p-9`,children:[(0,Q.jsx)(`h1`,{className:`text-[30px] font-semibold tracking-tight`,children:`Skills`}),(0,Q.jsx)(`p`,{className:`mt-1 text-[13px] text-muted-foreground`,children:`Markdown playbooks your agents can follow.`}),(0,Q.jsx)(`p`,{"data-slot":`skills-loading`,role:`status`,className:`mt-6 text-xs text-muted-foreground`,children:`Loading skills…`}),(0,Q.jsxs)(`div`,{"aria-hidden":`true`,className:`mt-4 flex flex-col gap-[22px] motion-safe:animate-pulse`,children:[(0,Q.jsx)(`div`,{className:`h-11 rounded-lg border border-border bg-card`}),(0,Q.jsx)(`div`,{className:`h-80 rounded-xl border border-border bg-card`})]})]})}function oy({projectId:e,registry:t}){let n=t.projects.length?t.projects:[{id:t.bootProject,name:t.bootProject}];return(0,Q.jsx)(`div`,{"data-route":`unknown-project`,className:`flex min-h-full flex-col`,children:(0,Q.jsx)(X,{icon:(0,Q.jsx)(Im,{}),tone:`neutral`,title:`“${e}” isn’t registered here`,subtitle:`This ${a(`cezar`)} doesn’t serve a project by that id. The link may come from another machine’s workspace — these are the projects registered on this one:`,children:(0,Q.jsx)(`ul`,{"data-slot":`registered-projects`,className:`mx-auto flex w-full max-w-xs flex-col gap-1.5 text-left`,children:n.map(e=>(0,Q.jsx)(`li`,{children:(0,Q.jsxs)(w,{to:`/p/${encodeURIComponent(e.id)}/`,className:`flex items-baseline gap-2 rounded-md border border-border bg-card px-3 py-2 text-sm font-medium text-foreground shadow-xs transition-colors hover:bg-card-2`,children:[e.name||e.id,(0,Q.jsxs)(`span`,{className:`font-mono text-[11px] font-normal text-soft-foreground`,children:[`/p/`,e.id]})]})},e.id))})})})}function sy(){return(0,Q.jsxs)(`div`,{"data-route":`workflows`,"aria-busy":`true`,className:`mx-auto min-h-full w-full px-[18px] py-6 md:p-9`,children:[(0,Q.jsx)(`h1`,{className:`text-[30px] font-semibold tracking-tight`,children:`Workflows`}),(0,Q.jsx)(`p`,{className:`mt-1 text-[13px] text-muted-foreground`,children:`Portable skill chains. Steps run from top to bottom.`}),(0,Q.jsx)(`p`,{"data-slot":`workflows-loading`,role:`status`,className:`mt-6 text-xs text-muted-foreground`,children:`Loading workflows…`}),(0,Q.jsxs)(`div`,{"aria-hidden":`true`,className:`mt-4 flex flex-col gap-[22px] motion-safe:animate-pulse`,children:[(0,Q.jsx)(`div`,{className:`h-11 rounded-lg border border-border bg-card`}),(0,Q.jsx)(`div`,{className:`h-80 rounded-xl border border-border bg-card`})]})]})}function cy({tab:e}){return(0,Q.jsx)(`div`,{"data-route":`task-${e}`,className:`flex min-h-full flex-col`,children:(0,Q.jsx)(X,{icon:(0,Q.jsx)(as,{className:`motion-safe:animate-spin`}),tone:`neutral`,title:e===`changes`?`Loading changes…`:`Loading files…`,subtitle:`Fetching the run record.`})})}function ly({tab:e,error:t}){let n=t instanceof ft&&t.status===404;return(0,Q.jsx)(`div`,{"data-route":`task-${e}`,className:`flex min-h-full flex-col`,children:(0,Q.jsx)(X,{icon:n?(0,Q.jsx)(Os,{}):(0,Q.jsx)(vo,{size:16}),tone:n?`neutral`:`danger`,title:n?`Task not found`:`Could not load this task`,subtitle:n?`No run has this id. It may have been deleted, or the link is from another machine.`:t.message,actions:(0,Q.jsx)(D,{asChild:!0,variant:`outline`,children:(0,Q.jsx)(Y,{to:`/`,children:`Back to tasks`})})})})}var uy={issue:`issue`,pr:`pull request`};function dy({kind:e,number:t,heading:n=`h1`}){let r=(0,Q.jsx)(`div`,{"data-slot":`task-github-loading`,className:`flex min-h-full flex-1 flex-col`,children:(0,Q.jsx)(X,{icon:(0,Q.jsx)(as,{className:`motion-safe:animate-spin`}),tone:`neutral`,heading:n,title:`Loading ${uy[e]}${t===void 0?``:` #${t}`}…`,subtitle:t===void 0?`Fetching the run record.`:`Asking GitHub.`})});return n===`h2`?r:(0,Q.jsx)(`div`,{"data-route":`task-github-item`,className:`flex min-h-full flex-col`,children:r})}function fy(){return(0,Q.jsx)(`div`,{"data-route":`task-thread`,className:`flex min-h-full flex-col`,children:(0,Q.jsx)(X,{icon:(0,Q.jsx)(as,{className:`motion-safe:animate-spin`}),tone:`neutral`,title:`Loading task…`,subtitle:`Fetching the run and its session transcript.`})})}async function py(e,t,n,r,i){try{return await e.fetchQuery({queryKey:[t,`runs`,`artifact-metadata`,n,r],queryFn:()=>He(n,r,{signal:i}),retry:!1}),!0}catch(e){if(e instanceof ft&&e.status===404)return!1;throw e}}async function my(e,t,n,r,i,a){if(await py(e,t,n,r,i))return n;i.throwIfAborted();let o=await e.fetchQuery({queryKey:[t,`runs`,`relationships`,n],queryFn:()=>Fe(n,{signal:i}),retry:!1}),s=new Set(o.workers.map(e=>e.workerId));a&&s.add(a),s.delete(n);for(let n of s){if(i.aborted)throw i.reason;if(await py(e,t,n,r,i))return n}throw new ft(404,`Report missing or deleted`)}function hy(e,t,n){let r=I(),i=o();return bi({queryKey:[i,`runs`,`report-source`,e,t,n],queryFn:({signal:a})=>my(r,i,e,t,a,n),enabled:!!(e&&t),retry:!1})}function gy(){let[e]=n(),r=t(),i=A(),a=u(),o=Z.useRef(Math.random()),s=Z.useRef({renderedKey:``,next:e,seq:0,latestSeq:0});return Z.useLayoutEffect(()=>{if(s.current.renderedKey===r.key)return;let t=r.state,n=t?.__writerSession===o.current?t.__writerSeq:void 0;a===`REPLACE`&&n!==void 0&&n<=s.current.latestSeq?(s.current.renderedKey=r.key,n===s.current.latestSeq&&(s.current.next=e)):s.current={renderedKey:r.key,next:e,seq:s.current.seq,latestSeq:0}},[e,r,a]),[e,Z.useCallback(e=>{let t=e(new URLSearchParams(s.current.next));if(t.toString()===s.current.next.toString())return;let n=s.current.seq+1;s.current={...s.current,next:t,seq:n,latestSeq:n},i({search:`?${t}`},{replace:!0,state:{__writerSession:o.current,__writerSeq:n}})},[i])]}var _y=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function vy(e){let t=e.get(`report`);return!t||!_y.test(t)||e.getAll(`report`).length!==1||e.getAll(`card`).length>1?null:{artifactId:t,card:e.get(`card`)||null}}var yy=(0,Z.createContext)(null);function by(e){let n=t(),r=A(),[i,a]=gy(),o=vy(i),[s,c]=(0,Z.useState)(()=>({runId:e,entries:new Map}));s.runId!==e&&c({runId:e,entries:new Map});let l=(0,Z.useCallback)((t,n)=>(c(r=>{if(r.runId===e&&r.entries.get(t)===n)return r;let i=new Map(r.runId===e?r.entries:[]);return i.set(t,n),{runId:e,entries:i}}),()=>void 0),[e]),u=(0,Z.useRef)({runId:e,callbacks:new Map});u.current.runId!==e&&(u.current={runId:e,callbacks:new Map});let d=(0,Z.useCallback)((e,t)=>(u.current.callbacks.set(e,t),()=>{u.current.callbacks.get(e)===t&&u.current.callbacks.delete(e)}),[]),f=(0,Z.useMemo)(()=>({register:l,registerOpener:d}),[l,d]),p=(0,Z.useRef)(null);return(0,Z.useEffect)(()=>{i.has(`report`)&&!o&&a(e=>(e.delete(`report`),e.delete(`card`),e))},[i,o,a]),(0,Z.useEffect)(()=>{let t=p.current;!o&&t&&t.runId===e&&t.card&&u.current.callbacks.get(t.card)?.(t.artifactId,t.scrollTop),p.current=o?{...o,runId:e,scrollTop:n.state?.reportScrollTop}:null},[e,o,n.state]),{selection:o,sourceRunId:s.runId===e&&o?s.entries.get(o.artifactId)??(o.card?void 0:e):void 0,registry:f,close:()=>{let e=n.state,t=window.navigation;if(e?.reportReturnKey&&t){t.traverseTo(e.reportReturnKey);return}if(e?.reportReturnTo){r(e.reportReturnTo,{replace:!0});return}a(e=>(e.delete(`report`),e.delete(`card`),e))}}}var xy=class extends Z.Component{state={failed:!1};static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(e,t){console.error(`${a(`cezar`)} cockpit: the preview pane crashed`,e,t.componentStack)}render(){return this.state.failed?(0,Q.jsxs)(`div`,{"data-slot":`preview-pane-error`,role:`alert`,className:`flex h-full flex-col items-center justify-center gap-3 p-6 text-center`,children:[(0,Q.jsx)(`p`,{className:`text-sm font-semibold text-foreground`,children:`The preview hit an error`}),(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`The task is unaffected. Close the preview and open it again.`}),(0,Q.jsx)(D,{variant:`outline`,onClick:this.props.onClose,children:`Close preview`})]}):this.props.children}},Sy=`cez-preview-tasks`,Cy=`cez.preview.pane-width`,wy=e=>Math.min(75,Math.max(30,Math.round(e)));function Ty(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ey(e){if(!Ty(e))return;let{port:t,agent:n,url:r}=e;if(typeof t==`number`&&Number.isInteger(t)&&t>=1&&t<=65535)return{port:t};if(n===!0)return{agent:!0};if(typeof r==`string`&&/^https?:\/\//i.test(r))return{url:r}}function Dy(e){if(!Ty(e))return;let t=Ey(e.target),n=typeof e.percent==`number`&&Number.isFinite(e.percent)?e.percent:void 0;return{open:e.open===!0,...t?{target:t}:{},...n===void 0?{}:{percent:n},at:typeof e.at==`number`?e.at:0}}function Oy(){try{let e=localStorage.getItem(Sy),t=e===null?null:JSON.parse(e);return Ty(t)?t:{}}catch{return{}}}function ky(e){let t=Dy(Oy()[e]);if(!t)return;let{at:n,...r}=t;return r}function Ay(e,t,n=Date.now()){let r=Oy(),i={open:!1,...Dy(r[e]),...t,at:n};for(let e of Object.keys(i))i[e]===void 0&&delete i[e];r[e]=i;let a=Object.keys(r);if(a.length>100){let e=e=>Dy(r[e])?.at??0;for(let t of a.sort((t,n)=>e(t)-e(n)).slice(0,a.length-100))delete r[t]}try{localStorage.setItem(Sy,JSON.stringify(r))}catch{}}function jy(){try{let e=Number(localStorage.getItem(Cy));return e>0?e:void 0}catch{return}}function My(e){let t=(e===void 0?void 0:ky(e)?.percent)??jy();return t===void 0?58:wy(t)}function Ny(e,t){try{localStorage.setItem(Cy,String(t))}catch{}e!==void 0&&Ay(e,{percent:t})}var Py=`(min-width: 1180px)`,Fy=`(max-width: 767px)`;function Iy(e,t){let[n,r]=(0,Z.useState)(()=>window.matchMedia?.(e).matches??t);return(0,Z.useEffect)(()=>{let t=window.matchMedia?.(e);if(!t)return;let n=()=>r(t.matches);return n(),t.addEventListener(`change`,n),()=>t.removeEventListener(`change`,n)},[e]),n}var Ly=(0,Z.lazy)(()=>xi(()=>import(`./preview-pane-connected-CgRK7GzB.js`).then(e=>({default:e.ConnectedPreviewPane})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))),Ry=2;function zy(e){let[t,n]=(0,Z.useState)(void 0);return(0,Z.useEffect)(()=>{let t=e.current?.closest(`[data-slot="main"]`);if(!t)return;let r=()=>n(t.clientHeight||void 0);if(r(),typeof ResizeObserver>`u`)return;let i=new ResizeObserver(r);return i.observe(t),()=>i.disconnect()},[e]),t}function By({run:e,state:t,children:n,report:r}){let i=Iy(Py,!0),a=Iy(Fy,!1),o=(0,Z.useRef)(null),s=zy(o),{percent:c,setPercent:l}=t,u=!!r||t.open&&e!==void 0,d=u&&!i,f=!r&&t.session,p=d&&!f,m=d&&f,h=e=>{let t=o.current?.getBoundingClientRect();!t||t.width===0||l(wy((t.right-e)/t.width*100))},g=e=>{e.currentTarget.setPointerCapture?.(e.pointerId)},_=e=>{e.currentTarget.hasPointerCapture?.(e.pointerId)&&h(e.clientX)},v=e=>{if(e.key===`ArrowLeft`)l(wy(c+Ry));else if(e.key===`ArrowRight`)l(wy(c-Ry));else return;e.preventDefault()},y={"--preview-pane":`${c}%`,...s===void 0?{}:{"--preview-h":`${s}px`}};return(0,Q.jsxs)(`div`,{ref:o,"data-slot":`task-split`,"data-pane":u?`open`:`closed`,"data-takeover":p?``:void 0,className:`preview-split flex min-h-full`,style:y,children:[(0,Q.jsx)(`div`,{"data-slot":`task-main`,hidden:p&&a,"data-collapsed":p&&!a?``:void 0,className:`min-w-0 flex-1`,children:n}),u?(0,Q.jsxs)(Q.Fragment,{children:[i?(0,Q.jsx)(`div`,{role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize preview`,"aria-valuemin":30,"aria-valuemax":75,"aria-valuenow":c,tabIndex:0,"data-slot":`preview-divider`,className:`preview-divider`,onPointerDown:g,onPointerMove:_,onKeyDown:v}):null,(0,Q.jsxs)(`aside`,{"data-slot":`preview-pane`,"data-phone":a?``:void 0,hidden:m,className:`preview-pane`,children:[r,(0,Q.jsx)(`div`,{hidden:!!r,className:`h-full`,children:t.open&&e?(0,Q.jsx)(xy,{onClose:t.closePane,children:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(`p`,{role:`status`,className:`p-6 text-sm text-muted-foreground`,children:`Opening the preview…`}),children:(0,Q.jsx)(Ly,{run:e,servers:e.previewServers??[],request:t.request,onSession:p?t.showSession:void 0,onTarget:t.setTarget,onLive:t.setLive,onClose:t.closePane},e.id)})}):null})]})]}):null]})}function Vy(e){if(!e.worktreePath||e.worktreeReclaimedAt)return!0;let t=e.delegation?.role===`worker`?e.delegation.destroy:void 0;return t!==void 0&&!t.remaining.includes(`worktree`)}function Hy(e){let{state:t,server:n}=e,r=ts(e.stateAt);switch(t){case`registered`:return n.answeredAtRegistration?{tone:`neutral`,ring:!1,pulse:!1,text:`was running when registered`}:{tone:`neutral`,ring:!0,pulse:!1,text:`registered · not started`};case`adopted`:return{tone:`neutral`,ring:!1,pulse:!1,text:`was running when registered`};case`starting`:return{tone:`pending`,ring:!1,pulse:!0,text:`starting`};case`up`:return{tone:`success`,ring:!1,pulse:!1,text:r?`up · ${r}`:`up`};case`stalled`:return{tone:`pending`,ring:!1,pulse:!1,text:`stalled · port silent 2 min`};case`exited`:return{tone:`danger`,ring:!1,pulse:!1,text:e.exitCode===void 0?`exited`:`exited · code ${e.exitCode}`};case`stopped`:return{tone:`neutral`,ring:!0,pulse:!1,text:e.reason===`idle`?`stopped after 15 min idle`:`stopped`};case`unavailable`:return{tone:`neutral`,ring:!0,pulse:!1,text:`unavailable`}}}function Uy(e){return{kind:`preview-server`,id:`preview-server:${e.port}`,server:e,state:`registered`,stateAt:e.registeredAt}}function Wy(e,t){return t?.get(e.port)??Uy(e)}function Gy(e){return e.state===`registered`?e.server.answeredAtRegistration:e.state===`up`||e.state===`starting`||e.state===`adopted`}function Ky(e){return e.split(` -- `)[0].trim()}var qy=(0,Z.createContext)(null);function Jy(){return(0,Z.useContext)(qy)}var Yy=e=>e&&`port`in e?e.port:void 0;function Xy(){return typeof window.matchMedia!=`function`||window.matchMedia(`(min-width: 1180px)`).matches}function Zy(e){let t=e===void 0?void 0:ky(e),n=t?.open===!0,r=n?t.target:void 0;return{open:n,target:r,request:n?{...r,restored:!0}:void 0,session:n&&!Xy(),percent:My(e)}}function Qy(e,t=!1){let[n]=(0,Z.useState)(()=>Zy(e)),[r,i]=(0,Z.useState)(n.open),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(n.target),[l,u]=(0,Z.useState)(n.session),[d,f]=(0,Z.useState)(n.request),[p,m]=(0,Z.useState)(n.percent),[h,g]=(0,Z.useState)(e),_=(0,Z.useRef)(r);if(_.current=r,h!==e){let t=Zy(e);g(e),i(t.open),o(!1),c(t.target),u(t.session),f(t.request),m(t.percent)}t&&r&&d?.restored&&(i(!1),c(void 0),f(void 0),u(!1));let v=(0,Z.useCallback)(t=>{e!==void 0&&Ay(e,t)},[e]),y=(0,Z.useCallback)(e=>{f({...e});let t=e.port===void 0?e.agent?{agent:!0}:void 0:{port:e.port};u(!1),i(!0),t?(c(t),v({open:!0,target:t})):_.current?v({open:!0}):(c(void 0),v({open:!0,target:void 0}))},[v]),b=(0,Z.useCallback)(()=>{i(!1),o(!1),u(!1),c(void 0),v({open:!1})},[v]),x=(0,Z.useCallback)(e=>{c(e),v({target:e})},[v]),S=(0,Z.useCallback)(t=>{m(t),Ny(e,t)},[e]),C=(0,Z.useCallback)(()=>u(!0),[]),w=Yy(s);return(0,Z.useMemo)(()=>({open:r,live:a,port:w,target:s,percent:p,request:d,session:l,openPane:y,closePane:b,showSession:C,setLive:o,setTarget:x,setPercent:S}),[r,a,w,s,p,d,l,y,b,C,x,S])}function $y(e,t={}){let[n,r]=(0,Z.useState)([]),{cursor:i,afterSeq:a=0,maxEvents:s,compactAt:c,onCompact:l,onReset:u}=t;return(0,Z.useEffect)(()=>{if(r([]),!e)return;let t=a,n=!1,d=!1,f=o(),p=[],m,h,g=()=>{if(m!==void 0&&globalThis.cancelAnimationFrame?.(m),clearTimeout(h),m=void 0,h=void 0,n||p.length===0)return;let e=p;p=[],r(t=>{let r=[...t,...e];return!d&&c!==void 0&&r.length>=c&&(d=!0,queueMicrotask(()=>{n||l?.()})),s===void 0||r.length<=s?r:r.slice(-s)})},_=()=>{h===void 0&&(h=setTimeout(g,50),typeof globalThis.requestAnimationFrame==`function`&&(m=globalThis.requestAnimationFrame(g)))},v=ke({kind:`run`,projectId:f,runId:e,afterSeq:a,...i?{cursor:i}:{}},{frame:e=>{!(`type`in e)||e.type!==`event`||e.event.seq<=t||(t=e.event.seq,p.push(e.event),_())},reset:async(e,n)=>{g();let r=await u?.(e,n);return r&&(t=Math.max(t,r.afterSeq)),r}});return()=>{n=!0,m!==void 0&&globalThis.cancelAnimationFrame?.(m),clearTimeout(h),v()}},[e,i,a,s,c,l,u]),n}var eb=5,tb=200,nb=5e3;function rb(...e){let t=new Map;for(let n of e)for(let e of n)t.set(e.seq,e);return[...t.values()].sort((e,t)=>e.seq-t.seq)}function ib(e,t,n){e.setQueryData(t,e=>{if(!e)return{pages:[n],pageParams:[void 0]};let t=[...e.pages],r=[...e.pageParams],i=-1;for(let e=0;e<t.length;e+=1)(i===-1||t[e].asOfSeq>t[i].asOfSeq)&&(i=e);if(i>=0&&t[i].asOfSeq>n.asOfSeq)return e;for(i>=0&&t[i].newerCursor===void 0?(t[i]=n,r[i]=void 0):(t.push(n),r.push(void 0));t.length>eb;)t.shift(),r.shift();return{pages:t,pageParams:r}})}function ab(e,t){return e!==void 0&&(t===void 0||e.asOfSeq>=t.asOfSeq)}function ob(e,t,n,r){let i=(0,Z.useRef)(void 0),a=r&&t.data!==void 0&&!t.isFetching&&!ab(t.data,n),o=e===void 0||n===void 0?void 0:`${e}:${n.asOfSeq}`;(0,Z.useEffect)(()=>{!a||o===void 0||i.current===o||(i.current=o,t.refetch())},[a,t,o])}function sb(e,t){return e!==void 0&&e.asOfSeq>t.asOfSeq?e:t}function cb(e){let t=o(),n=I(),r=[`run-history`,t,e],i=[`run-history-context`,t,e],a=vn({queryKey:r,enabled:e!==void 0,initialPageParam:void 0,queryFn:({pageParam:t,signal:n})=>he(e,t,{signal:n}),getPreviousPageParam:e=>e.olderCursor,getNextPageParam:e=>e.newerCursor,maxPages:eb,staleTime:1/0,retry:1}),s=bi({queryKey:i,enabled:e!==void 0,queryFn:async({signal:t})=>{let r=await fe(e,{signal:t});return sb(n.getQueryData(i),r)},retry:1}),c=(0,Z.useCallback)(async r=>{let i=r?{signal:r}:void 0,a=await he(e,void 0,i),o=await fe(e,i);return r?.throwIfAborted(),ib(n,[`run-history`,t,e],a),n.setQueryData([`run-history-context`,t,e],e=>sb(e,o)),a},[n,e,t]),l=(0,Z.useCallback)(async(t,n)=>{if(e===void 0)return;let r=await c(n);return{cursor:r.liveCursor,afterSeq:r.asOfSeq}},[c,e]),u=a.isError||s.isError,d=$y(u?e:void 0,{onReset:l}),f=a.data?.pages??[],p=f.reduce((e,t)=>t.newerCursor===void 0?t:e??t,void 0),m=(0,Z.useRef)(!1),h=(0,Z.useCallback)(()=>{e===void 0||m.current||(m.current=!0,c().catch(()=>{}).finally(()=>{m.current=!1}))},[c,e]),g=e=>e!==void 0&&n.getQueryData([`run-history`,t,e])!==void 0,[_,v]=(0,Z.useState)(()=>({runId:e,pending:g(e)})),y=_.pending;_.runId!==e&&(y=g(e),v({runId:e,pending:y})),(0,Z.useEffect)(()=>{if(!y||e===void 0)return;let t=!1,n=new AbortController;return c(n.signal).catch(()=>{}).finally(()=>{t||v({runId:e,pending:!1})}),()=>{t=!0,n.abort()}},[c,y,e]);let b=$y(!u&&p&&!y?e:void 0,{cursor:p?.liveCursor,afterSeq:p?.asOfSeq,maxEvents:nb,compactAt:tb,onCompact:h,onReset:l}),x=(0,Z.useRef)(0);x.current=b.length,(0,Z.useEffect)(()=>()=>{x.current>0&&h()},[h]);let S=(0,Z.useMemo)(()=>rb(...f.map(e=>e.events)),[f]),C=(0,Z.useMemo)(()=>u?d:rb(S,b),[u,d,S,b]);ob(e,s,p,!u);let w=u||ab(s.data,p),T=(0,Z.useMemo)(()=>{if(u)return d;let e=s.data?.contextEvents??[],t=s.data?.asOfSeq??0;return rb(e,C.filter(({seq:e})=>e>t))},[s.data,u,d,C]),E=(0,Z.useCallback)(async()=>{await a.fetchPreviousPage()},[a.fetchPreviousPage]),D=(0,Z.useCallback)(async()=>{u||(await n.resetQueries({queryKey:[`run-history`,t,e],exact:!0}),n.invalidateQueries({queryKey:[`run-history-context`,t,e],exact:!0}))},[u,n,e,t]);return{visibleEvents:C,currentEvents:T,currentComplete:w,isPending:!u&&a.isPending,contextPending:!u&&s.isPending,fallback:u,hasOlder:!u&&!!a.hasPreviousPage,isFetchingOlder:a.isFetchingPreviousPage,olderError:a.isFetchPreviousPageError?a.error instanceof Error?a.error.message:`Could not load earlier items`:void 0,loadOlder:E,jumpToLatest:D,retainedPages:f.length}}function lb(e){for(let t=e.length-1;t>=0;--t){let n=dt.safeParse(e[t]);if(n.success)return n.data.state===`connected`}return!1}function ub(e){let{currentEvents:t}=cb(e);return(0,Z.useMemo)(()=>lb(t),[t])}var db=(0,Z.lazy)(()=>xi(()=>import(`./report-reader-CZjYS5Aw.js`).then(e=>({default:e.ReportReader})),__vite__mapDeps([19,1,2,3,4,5,6,20,21,22,23,24,7,10,25,12,26,27,28,9,29,30])));function fb(){let{id:e}=r(),n=Mr(e),i=t(),a=U().data?.capabilities?.preview===!0,o=n.data?Vy(n.data):!1,s=Qy(e,o),c=by(e),l=hy(e,c.selection?.artifactId,c.sourceRunId),u=c.selection?(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(`p`,{role:`status`,children:`Loading report…`}),children:(0,Q.jsx)(db,{runId:l.data??e??``,selection:{artifactId:c.selection.artifactId},fragment:i.hash,onBack:c.close,variant:`pane`,sourceLookup:l},`${e}:${c.selection.artifactId}`)}):void 0,d=a?(0,Q.jsx)(pb,{id:e,run:n.data,pane:s,removed:o,report:u,children:(0,Q.jsx)(g,{})}):(0,Q.jsx)(By,{run:n.data,state:{...s,open:!1},report:u,children:(0,Q.jsx)(g,{})});return(0,Q.jsx)(yy.Provider,{value:c.registry,children:d})}function pb({id:e,run:t,pane:n,removed:r,children:i,report:a}){let o=ub(e),s=(0,Z.useMemo)(()=>({...n,worktreeRemoved:r,agentLive:o}),[n,r,o]);return(0,Q.jsx)(qy.Provider,{value:s,children:(0,Q.jsx)(By,{run:t,state:n,report:a,children:i})})}function mb(){let e=Nr();return e.isPending?(0,Q.jsx)(`p`,{role:`status`,children:`Loading task settings…`}):e.isError?(0,Q.jsxs)(`p`,{role:`alert`,className:`text-sm text-danger`,children:[`Task settings did not load: `,e.error.message]}):(0,Q.jsx)(gb,{config:e.data,scope:`project`})}function hb(){let e=yi();return e.isPending?(0,Q.jsx)(`p`,{role:`status`,className:`p-4 text-sm`,children:`Loading task settings…`}):e.isError?(0,Q.jsxs)(`p`,{role:`alert`,className:`p-4 text-sm text-danger`,children:[`Task settings did not load: `,e.error.message]}):(0,Q.jsx)(`div`,{className:`mx-auto flex w-full max-w-2xl flex-col gap-4 p-4 md:p-6`,children:(0,Q.jsx)(gb,{config:e.data,scope:`global`})})}function gb({config:e,scope:t}){let n=(0,Z.useId)(),r=I(),i=W({mutationFn:async({archiveOnMerge:e,projectKey:n})=>t===`project`?Bt({archiveOnMerge:e},n[0]):Pt({archiveOnMerge:e}),onSuccess:(e,{projectKey:n})=>{t===`project`?r.setQueryData(n,e):(r.setQueryData(H.config,e),r.invalidateQueries({predicate:e=>e.queryKey.at(-1)===`config`&&e.queryKey!==H.config}))}});return(0,Q.jsxs)(`section`,{"data-slot":`archive-on-merge-field`,className:`flex min-w-0 flex-col gap-3`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsx)(`label`,{htmlFor:n,className:`text-sm font-semibold text-foreground`,children:`Archive tasks after PRs merge`}),(0,Q.jsx)(`p`,{id:`${n}-hint`,className:`text-[13px] text-muted-foreground`,children:`Automatically archive a settled task and its workers once all their associated pull requests merge. History stays available in Archived.`})]}),(0,Q.jsxs)(`select`,{id:n,"aria-describedby":`${n}-hint ${n}-effective`,className:`min-h-11 w-full rounded-md border border-input bg-background px-3 py-2 text-sm focus-visible:outline-2 focus-visible:outline-ring active:bg-muted disabled:opacity-50`,value:e.archiveOnMerge===null?`inherit`:e.archiveOnMerge?`enabled`:`disabled`,disabled:i.isPending,onChange:e=>i.mutate({archiveOnMerge:e.target.value===`inherit`?null:e.target.value===`enabled`,projectKey:G.config}),children:[(0,Q.jsx)(`option`,{value:`inherit`,children:t===`project`?`Inherit global setting`:`Use default`}),(0,Q.jsx)(`option`,{value:`enabled`,children:`Enabled`}),(0,Q.jsx)(`option`,{value:`disabled`,children:`Disabled`})]}),(0,Q.jsxs)(`p`,{id:`${n}-effective`,className:`text-[13px] text-muted-foreground`,children:[`Currently `,e.effectiveArchiveOnMerge?`enabled`:`disabled`,` · `,e.archiveOnMergeSource,` setting.`]}),(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`Unarchive restores the task. It stays visible until a later associated PR merges.`}),i.isPending?(0,Q.jsx)(`p`,{role:`status`,className:`text-sm text-muted-foreground`,children:`Saving…`}):null,i.isError?(0,Q.jsxs)(`p`,{role:`alert`,className:`text-sm text-danger`,children:[`Could not save: `,i.error.message]}):null]})}var _b=m(`inline-block shrink-0`,{variants:{tone:{success:``,pending:``,danger:``,accent:``,info:``,running:``,neutral:``},shape:{filled:`size-[7px] rounded-full`,ring:`size-[7px] rounded-full border-[1.5px] bg-transparent`,workers:`inline-flex size-[12px] items-center justify-center`},pulse:{true:`animate-pulse motion-reduce:animate-none`,false:``}},compoundVariants:[{shape:`filled`,tone:`success`,className:`bg-success`},{shape:`filled`,tone:`pending`,className:`bg-pending-strong`},{shape:`filled`,tone:`danger`,className:`bg-danger`},{shape:`filled`,tone:`accent`,className:`bg-accent-strong`},{shape:`filled`,tone:`info`,className:`bg-info`},{shape:`filled`,tone:`running`,className:`bg-status-running`},{shape:`filled`,tone:`neutral`,className:`bg-soft-foreground`},{shape:`ring`,tone:`success`,className:`border-success`},{shape:`ring`,tone:`pending`,className:`border-pending-strong`},{shape:`ring`,tone:`danger`,className:`border-danger`},{shape:`ring`,tone:`accent`,className:`border-accent-strong`},{shape:`ring`,tone:`info`,className:`border-info`},{shape:`ring`,tone:`running`,className:`border-status-running`},{shape:`ring`,tone:`neutral`,className:`border-soft-foreground`},{shape:`workers`,tone:`success`,className:`text-success`},{shape:`workers`,tone:`pending`,className:`text-pending-strong`},{shape:`workers`,tone:`danger`,className:`text-danger`},{shape:`workers`,tone:`accent`,className:`text-accent-icon`},{shape:`workers`,tone:`info`,className:`text-info`},{shape:`workers`,tone:`running`,className:`text-status-running`},{shape:`workers`,tone:`neutral`,className:`text-soft-foreground`}],defaultVariants:{tone:`neutral`,shape:`filled`,pulse:!1}});function vb({className:e,tone:t=`neutral`,shape:n=`filled`,pulse:r=!1,...i}){return(0,Q.jsx)(`span`,{"data-slot":`status-dot`,"data-tone":t,"data-shape":n,className:O(_b({tone:t,shape:n,pulse:r,className:e})),...i,children:n===`workers`?(0,Q.jsx)(um,{className:`size-[12px]`,"aria-hidden":`true`}):null})}function yb({className:e,orientation:t=`horizontal`,...n}){return(0,Q.jsx)(Of,{"data-slot":`tabs`,"data-orientation":t,orientation:t,className:O(`group/tabs flex gap-2 data-[orientation=horizontal]:flex-col`,e),...n})}var bb=m(`group/tabs-list inline-flex w-fit items-center justify-center rounded-md p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function xb({className:e,variant:t=`default`,...n}){return(0,Q.jsx)(kf,{"data-slot":`tabs-list`,"data-variant":t,className:O(bb({variant:t}),e),...n})}function Sb({className:e,...t}){return(0,Q.jsx)(Af,{"data-slot":`tabs-trigger`,className:O(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-sm border border-transparent px-3 py-1 text-[13px] font-medium whitespace-nowrap text-muted-foreground transition-[color,background-color,border-color,box-shadow] group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start pointer-hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-xs group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent`,`data-[state=active]:bg-card data-[state=active]:font-semibold data-[state=active]:text-foreground`,`after:absolute after:bg-accent-strong after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:inset-be-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100`,e),...t})}function Cb({className:e,...t}){return(0,Q.jsx)(jf,{"data-slot":`tabs-content`,className:O(`flex-1 outline-hidden`,e),...t})}var wb={folder:Lm,terminal:uh,vscode:Sm,cursor:Zm,zed:mh,windsurf:fh,sublime:Mm,idea:Om,pycharm:Um,webstorm:Bm,goland:sh,rubymine:Rm,phpstorm:fm,clion:Dm,rider:dm,"android-studio":ch,xcode:Hm,warp:ih,claude:um,codex:lh,opencode:um,pi:um,omp:um};function Tb(e){return e.icon&&wb[e.icon]||Ga}function Eb(e){let t=/^cli:(claude|codex|opencode|pi|cursor|omp)$/.exec(e);return t?t[1]:void 0}function Db({choices:e,onPick:t,label:n=`Open in…`,title:r,triggerVariant:i=`ghost`,disabled:a=!1,leading:o,trailing:s,slot:c,className:l}){return(0,Q.jsxs)(na,{children:[(0,Q.jsx)($i,{asChild:!0,children:(0,Q.jsxs)(D,{variant:i,size:`sm`,title:r,disabled:a,"data-slot":c,className:l,children:[(0,Q.jsx)(Ga,{"aria-hidden":`true`}),n]})}),(0,Q.jsxs)(ea,{align:`end`,children:[o,o&&e.length>0?(0,Q.jsx)(Xi,{}):null,e.map(({target:e,suffix:n,title:r})=>{let i=Tb(e);return(0,Q.jsxs)(Yi,{"data-target":e.id,title:r,onSelect:()=>t(e.id),children:[(0,Q.jsx)(i,{"aria-hidden":`true`}),e.label,n??``]},e.id)}),s]})]})}function Ob(e){return dc.flatMap(t=>{let n=e.filter(e=>e.provider===t.id);return n.length<2?[{runner:t,account:null,label:t.label,desc:t.desc,missing:!1}]:n.map(e=>({runner:t,account:e.isDefault?null:e.id,label:`${t.label} · ${e.label}`,desc:e.exists?e.configDir:`${e.configDir} — folder not created yet`,missing:!e.exists}))})}var kb=e=>e.length>dc.length;function Ab({rows:e,runner:t,accountFor:n,providerStatus:r,disabled:i=!1,accountDisabled:a=!1,onPick:o}){let s=kb(e);return(0,Q.jsx)(`div`,{role:`radiogroup`,"aria-label":`Default runner`,"data-slot":`agents-runner`,className:O(`gap-0.5 rounded-md border border-border bg-card p-0.5`,s?`flex max-w-md flex-col`:`inline-flex w-fit`),children:e.map(c=>{let l=de(r.data,c.runner.id),u=!r.isPending&&!r.isError&&l?.enabled===!0&&l.status===`connected`,d=r.isPending?`Checking provider authentication…`:r.isError?`Provider authentication could not be verified.`:l?.enabled===!1?`This provider is disabled. Enable it above or choose another provider.`:u?void 0:`Connect this provider before selecting it.`,f=e.filter(e=>e.runner.id===c.runner.id).length>1,p=c.runner.id===t&&c.account===n(c.runner.id);return(0,Q.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":p,"data-value":c.runner.id,"data-account":c.account??``,title:d??c.desc,disabled:i||!u||f&&a,onClick:()=>o(c.runner.id,c.account,f),className:O(`rounded-sm px-3 py-1.5 text-left font-mono text-[13px] font-medium transition-colors disabled:opacity-50`,p?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`),children:[c.label,s?(0,Q.jsx)(`span`,{"data-slot":c.missing?`agents-account-missing`:`agents-account-dir`,"data-runner":c.runner.id,className:`ml-2 font-sans text-[11px] text-soft-foreground`,children:c.desc}):null]},`${c.runner.id}:${c.account??``}`)})})}var jb=`x-apple.systempreferences:com.apple.preference.security?Privacy_FilesAndFolders`,Mb=`inline-flex items-center gap-1 rounded-md border border-border px-2 py-1 text-foreground hover:bg-muted`;function Nb(e){let t=e.replace(/[\\/]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n<0?null:n===0?t.slice(0,1):t.slice(0,n)}function Pb({path:e,selected:t,onSelect:n,onEnter:r,decorate:i,emptyHint:a,showHidden:o=!1}){let s=fi(e,o),c=s.data?.parent??null;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`p`,{"data-slot":`fs-breadcrumb`,className:`truncate font-mono text-[11px] text-soft-foreground`,title:s.data?.path??void 0,children:s.data?.path??(s.isError?``:`Loading…`)}),s.isError?(0,Q.jsx)(Fb,{error:s.error,path:e,onEnter:r,onRetry:()=>void s.refetch()}):(0,Q.jsxs)(`ul`,{"data-slot":`fs-listing`,className:`max-h-64 divide-y divide-border/60 overflow-y-auto overscroll-contain rounded-md border border-border`,children:[c===null?null:(0,Q.jsx)(`li`,{className:`flex`,children:(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`fs-up`,onClick:()=>r(c),className:`flex flex-1 items-center gap-2 px-3 py-2 text-left text-[13px] hover:bg-muted`,children:[(0,Q.jsx)(Em,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),`Up one level`]})}),(s.data?.dirs??[]).map(e=>(0,Q.jsxs)(`li`,{className:`flex items-stretch`,children:[(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`fs-dir`,"aria-pressed":t?.path===e.path,onClick:()=>n(e),onDoubleClick:()=>r(e.path),className:O(`flex min-w-0 flex-1 items-center gap-2 px-3 py-2 text-left text-[13px] hover:bg-muted`,t?.path===e.path&&`bg-muted`),children:[(0,Q.jsx)(Lm,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.name}),i?.(e)]}),(0,Q.jsx)(`button`,{type:`button`,"data-slot":`fs-enter`,"aria-label":`Open ${e.name}`,onClick:()=>r(e.path),className:`flex shrink-0 items-center px-2.5 text-muted-foreground hover:bg-muted hover:text-foreground`,children:(0,Q.jsx)(vm,{className:`size-3.5`,"aria-hidden":`true`})})]},e.path)),s.data&&s.data.dirs.length===0?(0,Q.jsx)(`li`,{className:`px-3 py-2 text-[13px] text-muted-foreground`,children:a}):null]}),s.data?.truncated?(0,Q.jsx)(`p`,{"data-slot":`fs-truncated`,className:`text-[11px] text-muted-foreground`,children:`Too many folders to list — only the first ones are shown.`}):null]})}function Fb({error:e,path:t,onEnter:n,onRetry:r}){let i=e instanceof ft&&e.status===403,a=t===null?null:Nb(t);return(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-col gap-2`,children:[(0,Q.jsx)(`p`,{"data-slot":`fs-error`,className:`min-w-0 break-words text-[13px] text-danger`,children:e instanceof Error?e.message:`could not list that folder`}),i?(0,Q.jsx)(`p`,{"data-slot":`fs-privacy-hint`,className:`text-[12.5px] text-soft-foreground`,children:`Allow it under Privacy & Security ▸ Files & Folders, then try again.`}):null,(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2 text-[12.5px]`,children:[a===null?null:(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`fs-error-back`,onClick:()=>n(a),className:Mb,children:[(0,Q.jsx)(Em,{className:`size-3.5`,"aria-hidden":!0}),`Back`]}),i?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`a`,{"data-slot":`fs-privacy-settings`,href:jb,target:`_blank`,rel:`noreferrer`,className:Mb,children:`Open Privacy Settings`}),(0,Q.jsx)(`button`,{type:`button`,"data-slot":`fs-retry`,onClick:r,className:Mb,children:`Try again`})]}):null]})]})}function Ib(e,t,n=!1){let r=fi(e,n);return t?.path??r.data?.path??null}var Lb={claude:`~/.claude-second`,codex:`~/.codex-second`,pi:`~/.pi-second/agent`,omp:`~/.omp/profiles/second`};function Rb({open:e,onOpenChange:t,providers:n,initialProvider:r}){let[i,a]=(0,Z.useState)(null),[o,s]=(0,Z.useState)(null),[c,l]=(0,Z.useState)(r??n[0]??`claude`),[u,d]=(0,Z.useState)(``),[f,p]=(0,Z.useState)(``),[m,h]=(0,Z.useState)(!1),g=ui(),_=f.trim();return(0,Q.jsx)(Xo,{open:e,onOpenChange:t,children:(0,Q.jsxs)(Yo,{"data-slot":`add-account-dialog`,className:`sm:max-w-lg`,children:[(0,Q.jsxs)($o,{children:[(0,Q.jsx)(Jo,{children:`Add agent account`}),(0,Q.jsx)(qo,{children:`The config folder this account uses. It does not have to exist yet — Connect signs in and the CLI creates it.`})]}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsxs)(`label`,{className:`flex items-center gap-2 text-[13px]`,children:[(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`Agent`}),(0,Q.jsx)(`select`,{"aria-label":`Agent`,"data-slot":`add-account-provider`,value:c,onChange:e=>l(e.target.value),className:`rounded-md border border-input bg-card px-2 py-1 text-[13px] outline-none focus-visible:border-ring`,children:n.map(e=>(0,Q.jsx)(`option`,{value:e,children:e},e))})]}),(0,Q.jsxs)(`label`,{className:`flex min-w-0 flex-1 items-center gap-2 text-[13px]`,children:[(0,Q.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:`Name`}),(0,Q.jsx)(`input`,{type:`text`,"aria-label":`Account name`,"data-slot":`add-account-label`,value:u,placeholder:`Work`,onChange:e=>d(e.target.value),className:`min-w-0 flex-1 rounded-md border border-input bg-card px-2 py-1 text-[13px] outline-none focus-visible:border-ring`})]})]}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,Q.jsxs)(`label`,{className:`flex min-w-0 items-center gap-2 text-[13px]`,children:[(0,Q.jsx)(`span`,{className:`shrink-0 text-muted-foreground`,children:`Folder`}),(0,Q.jsx)(`input`,{type:`text`,spellCheck:!1,autoComplete:`off`,"aria-label":`Config folder`,"data-slot":`add-account-dir`,value:f,placeholder:Lb[c]??`~/.claude-second`,onChange:e=>{p(e.target.value),s(null),g.reset()},className:`min-w-0 flex-1 rounded-md border border-input bg-card px-2 py-1 font-mono text-[13px] outline-none focus-visible:border-ring`}),(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`sm`,"data-action":`add-account-browse`,"aria-expanded":m,onClick:()=>h(e=>!e),children:m?`Hide folders`:`Browse…`})]}),(0,Q.jsxs)(`p`,{className:`text-[11px] text-soft-foreground`,children:[`A `,(0,Q.jsx)(`code`,{children:`~`}),` is kept as written and expanded when the agent runs.`]}),c===`omp`?(0,Q.jsxs)(`p`,{"data-slot":`add-account-omp-hint`,className:`text-[11px] text-soft-foreground`,children:[`An omp account is an omp profile: use `,(0,Q.jsx)(`code`,{children:`~/.omp/profiles/<name>`}),`, with a lowercase name. The profile folder may link to a folder elsewhere.`]}):null]}),m?(0,Q.jsx)(Pb,{path:i,selected:o,onSelect:e=>{s(e),p(e.path),g.reset()},onEnter:e=>{a(e),s(null),g.reset()},showHidden:!0,emptyHint:`No subfolders here — pick this folder by typing its path above.`}):null,g.isError?(0,Q.jsx)(`p`,{"data-slot":`add-account-error`,className:`min-w-0 break-words text-[13px] text-danger`,children:g.error instanceof Error?g.error.message:`could not add that folder`}):null,(0,Q.jsxs)(Zo,{className:`min-w-0 sm:items-center sm:justify-end`,children:[(0,Q.jsx)(D,{variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,Q.jsx)(D,{"data-slot":`add-account-confirm`,disabled:_===``||g.isPending,onClick:()=>{_===``||g.isPending||g.mutate({provider:c,configDir:_,...u.trim()?{label:u.trim()}:{}},{onSuccess:()=>{t(!1),d(``),p(``),s(null),h(!1),K(`Account added — use Connect to sign in`)}})},children:g.isPending?`Adding…`:`Add account`})]})]})})}function zb(e){let t=(0,Z.useRef)(null),n=e.rows.find(t=>t.runner.id===e.runner&&t.account===e.accountFor(t.runner.id));return(0,Q.jsxs)(`details`,{ref:t,className:`settings-agent-picker`,children:[(0,Q.jsxs)(`summary`,{children:[(0,Q.jsx)(No,{"aria-hidden":`true`,className:`size-4 text-accent-text`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1`,children:(n?.label??e.runner).replace(/^codex/,`Codex`).replace(/^claude/,`Claude Code`)}),(0,Q.jsx)(Vo,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`})]}),(0,Q.jsx)(Ab,{...e,onPick:(...n)=>{e.onPick(...n),t.current&&(t.current.open=!1)}})]})}var Bb={claude:`Claude Code`,codex:`Codex`,opencode:`OpenCode`,pi:`pi`,cursor:`Cursor`,omp:`OMP`},Vb={claude:`npm i -g @anthropic-ai/claude-code`,codex:`npm i -g @openai/codex`,opencode:`https://opencode.ai`,pi:`https://github.com/badlogic/pi-mono`,cursor:`https://cursor.com/docs/cli/installation`,omp:`https://omp.sh`},Hb={connected:{label:`Connected`,tone:`success`},disconnected:{label:`Not connected`,tone:`pending`},"not-installed":{label:`Not installed`,tone:`neutral`},unknown:{label:`Could not verify`,tone:`danger`}};function Ub(){let e=Sr();return e.isPending?(0,Q.jsx)(`p`,{"data-slot":`accounts-loading`,className:`p-4 text-[13px] text-soft-foreground md:p-6`,children:`Loading agent accounts…`}):e.isError?(0,Q.jsx)(X,{icon:(0,Q.jsx)(Wm,{}),tone:`danger`,title:`Agent accounts did not load`,subtitle:e.error.message,heading:`h2`}):(0,Q.jsx)(Wb,{data:e.data})}function Wb({data:e}){let t=U(),[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(null),o=ai(),s=hn.options;return e.editable?(0,Q.jsxs)(`div`,{"data-slot":`accounts-section`,className:`mx-auto flex w-full max-w-2xl flex-col gap-5 p-4 pb-[calc(90px+env(safe-area-inset-bottom))] md:p-6 md:pb-6`,children:[(0,Q.jsx)(`div`,{children:(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`Manage runner installations, logins and defaults for new projects.`})}),(0,Q.jsxs)(yb,{defaultValue:`claude`,children:[(0,Q.jsx)(xb,{variant:`line`,"data-slot":`accounts-tabs`,children:s.map(e=>(0,Q.jsx)(Sb,{value:e,"data-provider":e,children:Bb[e]},e))}),s.map(n=>(0,Q.jsx)(Cb,{value:n,className:`pt-4`,children:(0,Q.jsx)(Gb,{provider:n,check:t.data?.checks?.find(e=>e.name===n),accounts:e.profiles.filter(e=>e.provider===n),canCarryAccounts:e.profileCapableProviders.includes(n),defaultAccountId:e.defaults[n]??null,onAdd:()=>r(n),onRemove:a})},n))]}),(0,Q.jsx)(Kb,{profiles:e}),n===null?null:(0,Q.jsx)(Rb,{open:!0,onOpenChange:e=>!e&&r(null),providers:e.profileCapableProviders,initialProvider:n},n),(0,Q.jsx)(Sa,{open:i!==null,onOpenChange:e=>!e&&a(null),children:(0,Q.jsxs)(ma,{"data-slot":`accounts-remove-confirm`,children:[(0,Q.jsxs)(xa,{children:[(0,Q.jsxs)(la,{children:[`Remove “`,i?.label,`”?`]}),(0,Q.jsxs)(ca,{children:[`This only forgets the account. Nothing in `,i?.configDir,` is deleted — not your login, not your sessions. Projects using it fall back to the default account, and tasks that ran under it can no longer be resumed from here.`]})]}),(0,Q.jsxs)(va,{children:[(0,Q.jsx)(ba,{children:`Cancel`}),(0,Q.jsx)(_a,{"data-action":`accounts-remove-confirm`,disabled:o.isPending,onClick:()=>{let e=i;e&&o.mutate(e.id,{onSuccess:()=>{a(null),K(`Removed ${e.label}`)},onError:e=>K(e.message,{tone:`danger`})})},children:`Remove`})]})]})})]}):(0,Q.jsx)(`div`,{"data-slot":`accounts-section`,className:`mx-auto flex w-full max-w-2xl flex-col gap-4 p-4 md:p-6`,children:(0,Q.jsx)(`p`,{"data-slot":`accounts-hosted`,className:`text-[13px] text-soft-foreground`,children:`Agent accounts are managed from the machine that owns the checkout — this cockpit runs in hosted mode.`})})}function Gb({provider:e,check:t,accounts:n,canCarryAccounts:r,defaultAccountId:i,onAdd:a,onRemove:o}){let s=t?.available===!0,c=n.filter(e=>e.isDefault).length;return(0,Q.jsxs)(`div`,{"data-slot":`accounts-provider`,"data-provider":e,className:`flex flex-col gap-4`,children:[(0,Q.jsx)(`h3`,{className:`settings-account-provider-title`,children:Bb[e]}),(0,Q.jsxs)(`div`,{className:`settings-account-installation settings-readout`,children:[t===void 0?(0,Q.jsx)(`span`,{children:`Checking…`}):s?(0,Q.jsx)(`span`,{"data-slot":`agent-installed`,children:`Installed`}):(0,Q.jsxs)(`span`,{"data-slot":`agent-installed`,children:[`Not installed — `,(0,Q.jsx)(`code`,{children:Vb[e]})]}),s&&t?.version?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:` · `}),(0,Q.jsx)(`span`,{"data-slot":`agent-version`,children:t.version})]}):null,(0,Q.jsxs)(`span`,{className:`settings-account-count`,children:[n.length,` `,n.length===1?`account`:`accounts`,` (`,c,` discovered, `,n.length-c,` added)`]})]}),(0,Q.jsx)(`ul`,{className:`bg-card`,children:[...n].sort((e,t)=>Number(t.id===i)-Number(e.id===i)).map(e=>(0,Q.jsx)(qb,{account:e,isMachineDefault:i===e.id||i===null&&e.isDefault,onRemove:()=>o(e)},e.id))}),r?(0,Q.jsx)(`div`,{className:`settings-account-add-row`,children:(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,"data-action":`accounts-add`,"data-provider":e,onClick:a,children:`Add account`})}):null,r?null:(0,Q.jsxs)(`p`,{"data-slot":`accounts-single-only`,className:`text-[11px] text-soft-foreground`,children:[Bb[e],` can only hold one account here: it keeps its credentials outside its config folder, so a second folder would change settings without changing the login — which would say “work account” while billing the other one.`]})]})}function Kb({profiles:e}){let[t,n]=(0,Z.useState)(null),r=I(),i=yi(),a=Or(),o=mi(),s=Vr(),c=W({mutationFn:e=>Pt(e),onSuccess:e=>r.setQueryData(H.config,e),onError:e=>K(e.message,{tone:`danger`})});if(i.data===void 0)return null;let l=Ob(e.profiles),u=i.data.agentDefaults.runner??`claude`,d=i.data.agentDefaults.models??{};return(0,Q.jsxs)(`section`,{"data-slot":`accounts-defaults`,className:`flex flex-col gap-3 rounded-lg border border-border bg-card/40 p-3.5`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h3`,{className:`text-[13px] font-semibold text-foreground`,children:`Defaults for new projects`}),(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`What a project runs when it has not chosen for itself — set once instead of per repository. A project that has chosen keeps its own.`})]}),(0,Q.jsx)(zb,{rows:l,runner:u,accountFor:t=>e.defaults[t]??null,providerStatus:a,disabled:c.isPending,accountDisabled:s.isPending,onPick:(e,t,n)=>{e!==u&&c.mutate({agentDefaults:{runner:e}}),n&&s.mutate({projectId:null,provider:e,profileId:t},{onError:e=>K(e.message,{tone:`danger`})})}}),(0,Q.jsxs)(`div`,{className:`settings-account-models flex flex-col gap-2`,children:[(0,Q.jsxs)(`label`,{className:`settings-model-agent-choice`,children:[(0,Q.jsx)(`span`,{children:`Default model for`}),(0,Q.jsx)(`select`,{"aria-label":`Model agent`,value:t??u,onChange:e=>n(e.target.value),children:dc.map(e=>(0,Q.jsx)(`option`,{value:e.id,children:Bb[e.id]},e.id))})]}),dc.filter(e=>e.id===(t??u)).map(e=>(0,Q.jsxs)(`label`,{className:`settings-account-model flex items-center gap-3`,children:[(0,Q.jsx)(go,{className:`size-4 text-accent-icon shrink-0`}),(0,Q.jsx)(`span`,{className:`w-24 shrink-0 text-xs text-muted-foreground`,children:Bb[e.id]}),(0,Q.jsxs)(`select`,{"aria-label":`Default model for ${e.label}`,"data-slot":`accounts-default-model`,"data-runner":e.id,value:d[e.id]??``,disabled:c.isPending,onChange:t=>c.mutate({agentDefaults:{models:{[e.id]:t.target.value||null}}}),className:`block w-full max-w-xs rounded-md border border-input bg-card px-3 py-1.5 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:opacity-50`,children:[fc(e.id,o[e.id].data,[d[e.id]]).map(e=>(0,Q.jsx)(`option`,{value:e.id,children:e.id===``?`Native default`:e.label},e.id)),hc(e.id,o[e.id].data,o[e.id].isError,o[e.id].isFetching)?(0,Q.jsx)(`option`,{disabled:!0,children:hc(e.id,o[e.id].data,o[e.id].isError,o[e.id].isFetching)}):null]})]},e.id))]})]})}function qb({account:e,isMachineDefault:t,onRemove:n}){let[r,i]=(0,Z.useState)(!1),a=$s(e),o=Ar(),s=Jr(),c=_r(a,e.status===void 0),l=e.status??c.data?.status,u=l?Hb[l.status]:void 0;return(0,Q.jsxs)(`li`,{"data-slot":`account-row`,"data-account":e.id,className:`flex flex-col gap-2 px-3.5 py-3`,children:[(0,Q.jsxs)(`div`,{className:`settings-account-card`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`text-[13px] font-medium text-foreground`,children:e.label}),e.isDefault?(0,Q.jsx)(yp,{variant:`ghost`,className:`shrink-0 text-[12px] text-muted-foreground`,children:`discovered`}):null]}),t&&(0,Q.jsx)(`p`,{className:`settings-account-default-note`,children:`Default account for new projects. Credentials are not displayed.`}),(0,Q.jsxs)(`div`,{className:`settings-account-readout settings-readout`,children:[(0,Q.jsx)(`p`,{"data-slot":`account-path`,className:`mt-0.5 truncate font-mono text-[11px] text-soft-foreground`,title:e.path,children:e.configDir}),(0,Q.jsxs)(`div`,{className:`mt-1 flex flex-wrap items-center gap-2 text-xs text-muted-foreground`,children:[(0,Q.jsx)(vb,{tone:u?.tone??`neutral`,pulse:u===void 0}),(0,Q.jsx)(`span`,{"data-slot":`account-status`,children:u?.label??`Checking…`}),e.exists?e.looksValid?null:(0,Q.jsxs)(`span`,{"data-slot":`account-unrecognised`,children:[`— this folder does not look like `,Bb[e.provider],` config yet`]}):(0,Q.jsx)(`span`,{"data-slot":`account-missing`,children:`— folder not created yet; Connect will make it`})]})]})]}),(0,Q.jsxs)(`div`,{className:`settings-account-actions`,children:[l?.status===`connected`?null:(0,Q.jsx)(D,{type:`button`,size:`sm`,"data-action":`account-connect`,disabled:o.isPending,onClick:()=>o.mutate({provider:e.provider,...e.isDefault?{}:{profileId:e.id}},{onSuccess:e=>K(e.opened?`Finish signing in in the terminal, then Check again.`:`This account is already connected.`),onError:e=>K(e instanceof ft&&e.command?`${e.message} — run: ${e.command}`:e.message,{tone:`danger`})}),children:`Connect`}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,"data-action":`account-recheck`,disabled:s.isPending,title:`Re-probe this account's login now, instead of waiting for the cached answer`,onClick:()=>s.mutate(a,{onError:e=>K(e.message,{tone:`danger`})}),children:`Check again`}),(0,Q.jsx)(Yb,{account:e,onRemove:n}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,"data-action":`account-details-toggle`,"aria-expanded":r,onClick:()=>i(e=>!e),children:r?`Hide details`:`Show details`})]})]}),r?(0,Q.jsx)(Jb,{account:e,routeId:a}):null]})}function Jb({account:e,routeId:t}){let n=Ir(t,!0),r=ir(),i=Fn().data?.targets??[],a=i.filter(e=>Eb(e.id)===void 0&&e.id!==`terminal`&&e.id!==`finder`).map(e=>({target:e})),o=i.filter(e=>Eb(e.id)===void 0).map(e=>({target:e})),s=(e,n,i)=>r.mutate({routeId:t,file:e,...i?{target:i}:{}},{onError:e=>K(e.message,{tone:`danger`}),onSuccess:()=>K(`Opened ${n}`)});return(0,Q.jsxs)(`div`,{"data-slot":`account-details`,className:`rounded-md border border-border/60 bg-muted/30 p-3`,children:[n.isPending?(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Reading account details…`}):n.isError?(0,Q.jsx)(`p`,{"data-slot":`account-details-error`,className:`text-xs text-danger`,children:n.error.message}):n.data.available?(0,Q.jsx)(`dl`,{"data-slot":`account-identity`,className:`grid grid-cols-[7rem_minmax(0,1fr)] gap-x-3 gap-y-1 text-xs`,children:n.data.fields.map(e=>(0,Q.jsxs)(Z.Fragment,{children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:e.label}),(0,Q.jsx)(`dd`,{className:`min-w-0 truncate text-foreground`,title:e.value,children:e.value})]},e.label))}):(0,Q.jsx)(`p`,{"data-slot":`account-identity-unavailable`,className:`text-xs text-muted-foreground`,children:n.data.reason??`No account details to show.`}),(0,Q.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-1.5 border-t border-border/60 pt-2.5`,children:[(0,Q.jsx)(`span`,{className:`mr-1 text-xs text-muted-foreground`,children:`Config files`}),e.files.map(e=>(0,Q.jsx)(Db,{slot:`account-open-file`,label:e.label,triggerVariant:`outline`,disabled:r.isPending,title:e.exists?e.path:`${e.path} — not created yet`,choices:a,onPick:t=>s(e.id,e.label,t),leading:(0,Q.jsxs)(Yi,{"data-target":`system`,onSelect:()=>s(e.id,e.label),children:[(0,Q.jsx)(Ga,{"aria-hidden":`true`}),`System default`]})},e.id)),(0,Q.jsx)(Db,{slot:`account-open-folder`,label:`Folder`,disabled:r.isPending,title:e.path,choices:o,onPick:e=>s(`folder`,`folder`,e),leading:(0,Q.jsxs)(Yi,{"data-target":`system`,onSelect:()=>s(`folder`,`folder`),children:[(0,Q.jsx)(Ga,{"aria-hidden":`true`}),`System default`]})})]})]})}function Yb({account:e,onRemove:t}){let[n,r]=(0,Z.useState)(!1),[i,o]=(0,Z.useState)(e.label),s=Mn();return(0,Q.jsx)(Q.Fragment,{children:e.isDefault?null:(0,Q.jsx)(`div`,{"data-slot":`account-manage`,className:`settings-account-management`,children:n?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`input`,{type:`text`,autoFocus:!0,"aria-label":`Name for ${e.label}`,"data-slot":`account-rename-input`,value:i,onChange:e=>o(e.target.value),className:`w-48 rounded-md border border-input bg-card px-2 py-1 text-xs outline-none focus-visible:border-ring`}),(0,Q.jsx)(D,{type:`button`,size:`sm`,"data-action":`account-rename-save`,disabled:s.isPending||i.trim()===``||i.trim()===e.label,onClick:()=>s.mutate({id:e.id,label:i.trim()},{onSuccess:()=>r(!1),onError:e=>K(e.message,{tone:`danger`})}),children:`Save`}),(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`sm`,onClick:()=>{o(e.label),r(!1)},children:`Cancel`})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,"data-action":`account-rename`,onClick:()=>r(!0),children:`Rename`}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,"data-action":`account-remove`,onClick:t,children:`Remove account`}),(0,Q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`Renaming changes what `,a(`cezar`),` calls this account, not its folder.`]})]})})})}var Xb=1500;function Zb(e,t){let n=(0,Z.useMemo)(()=>e.split(`
|
|
5
|
+
`).map(e=>[{content:e}]),[e]),r=(0,Z.useMemo)(()=>Pc(t),[t]),i=n.length>Xb,[a,o]=(0,Z.useState)(null);return(0,Z.useEffect)(()=>{if(r===null||i)return;let t=!1;return Ic(e,r).then(n=>{t||o({key:e,tokens:n.tokens})}),()=>{t=!0}},[e,r,i]),r===null||i?n:a?.key===e?a.tokens:Fc(e,r)?.tokens??n}var Qb=`code-editor-surface m-0 min-h-full w-full whitespace-pre font-mono text-xs leading-[1.7] px-3 py-2 [tab-size:2]`;function $b({value:e,onChange:t,language:n,readOnly:r,className:i,...a}){let o=Zb(e,n),s=(0,Z.useRef)(null),c=(0,Z.useRef)(null),l=()=>{let e=c.current,t=s.current;!e||!t||(t.scrollTop=e.scrollTop,t.scrollLeft=e.scrollLeft)};return(0,Z.useLayoutEffect)(l,[e]),(0,Q.jsxs)(`div`,{"data-slot":`code-editor`,className:O(`relative overflow-hidden rounded-md border border-input bg-card`,i),children:[(0,Q.jsx)(`pre`,{ref:s,"aria-hidden":`true`,className:O(Qb,`pointer-events-none absolute inset-0 overflow-auto text-soft-foreground`),children:o.map((e,t)=>(0,Q.jsx)(`span`,{className:`block`,children:e.length===0?`
|
|
6
|
+
`:(0,Q.jsxs)(Q.Fragment,{children:[e.map((e,t)=>(0,Q.jsx)(`span`,{style:e.color===void 0?void 0:{color:e.color},children:e.content},t)),`
|
|
7
|
+
`]})},t))}),(0,Q.jsx)(`textarea`,{ref:c,"data-slot":`code-editor-input`,value:e,readOnly:r,onChange:e=>t?.(e.target.value),onScroll:l,spellCheck:!1,autoCorrect:`off`,autoCapitalize:`off`,autoComplete:`off`,wrap:`off`,className:O(Qb,`relative block resize-none overflow-auto bg-transparent text-transparent caret-foreground outline-hidden`,`selection:bg-accent-strong/30 focus-visible:ring-0`,r&&`cursor-default`),...a})]})}var ex=`An editor-plus-commit: a saved change reaches a run after you commit it to the base branch.`;function tx(e){return t=>t.runners.includes(e)}function nx(e,t,n,r,i){let a=tx(e),o=t===`mcp`?e=>a(e)&&(e.holdsMcp===!0||e.kind===`mcp`):e=>a(e)&&e.kind===t;return{id:t,label:n,note:r,...i?{empty:i}:{},files:o}}var rx=[{id:`claude`,label:`Claude`,groups:[nx(`claude`,`settings`,`Settings`),nx(`claude`,`mcp`,`MCP`,`A dedicated .mcp.json (key: mcpServers), shared via version control.`),nx(`claude`,`memory`,`Memory & instructions`)]},{id:`codex`,label:`Codex`,note:ex,groups:[nx(`codex`,`settings`,`Settings`),nx(`codex`,`mcp`,`MCP`,`Inside config.toml under [mcp_servers.<id>] — the same file as Codex’s settings.`),nx(`codex`,`memory`,`Memory & instructions`)]},{id:`opencode`,label:`OpenCode`,note:ex,groups:[nx(`opencode`,`settings`,`Settings`),nx(`opencode`,`mcp`,`MCP`,`Under the "mcp" key in opencode.json — the same file as OpenCode’s settings.`),nx(`opencode`,`memory`,`Memory & instructions`)]},{id:`pi`,label:`Pi`,note:ex,groups:[nx(`pi`,`settings`,`Settings`),nx(`pi`,`mcp`,`MCP`,`Pi ships no MCP client, so it has no MCP file to edit.`,`Nothing to list: Pi’s README says "No MCP." Give Pi tools as CLI programs with a README (Pi skills), or install a Pi extension that adds MCP support and configure servers there.`),nx(`pi`,`memory`,`Memory & instructions`)]},{id:`cursor`,label:`Cursor`,note:ex,groups:[nx(`cursor`,`settings`,`Settings`),nx(`cursor`,`mcp`,`MCP`,`Cursor CLI uses the editor’s MCP configuration.`),nx(`cursor`,`memory`,`Memory & instructions`,`Cursor also reads CLAUDE.md and .cursor/rules.`)]},{id:`omp`,label:`OMP`,note:ex,groups:[nx(`omp`,`settings`,`Settings`),nx(`omp`,`mcp`,`MCP`,`A dedicated mcp.json (key: mcpServers) at ~/.omp/agent and in the project’s .omp/ folder.`),nx(`omp`,`memory`,`Memory & instructions`)]}];function ix(e){let t=rx.find(t=>t.id===e);if(!t)throw Error(`no agent descriptor for ${e}`);return t}function ax(){let e=I(),t=(0,Z.useCallback)(async()=>{await Promise.all([e.invalidateQueries({queryKey:G.health}),e.invalidateQueries({queryKey:G.agentConfig,exact:!0})])},[e]);return(0,Z.useEffect)(()=>{t()},[t]),t}var ox=`${i()} remote-settings enable`;function sx({risk:e}){return U().data?.capabilities?.remoteSettingsAdmin===!0?(0,Q.jsxs)(`p`,{role:`note`,"data-slot":`remote-settings-notice`,className:`rounded-md border border-warning/40 bg-warning/10 px-3 py-2 text-[13px] text-foreground`,children:[`Remote settings administration is on. `,e,`, and anyone who can open this cockpit can change them. The host operator turns this off with`,` `,(0,Q.jsxs)(`code`,{children:[i(),` remote-settings disable`]}),`.`]}):null}function cx(e){return e.seeded?`Copied into each run’s worktree — takes effect on your next run.`:e.tracked===`tracked`?`Runs read the committed copy — this edit applies after you commit it.`:e.tracked===`outside-repo`?`Applies to every session on this machine.`:`Personal, git-ignored.`}function lx(){let e=Yr();ax();let t=U(),n=(0,Z.useMemo)(()=>t.data?yc(t.data.checks):rx.map(e=>e.id),[t.data]);return e.isPending?(0,Q.jsx)(`p`,{"data-slot":`agent-config-loading`,className:`p-4 text-[13px] text-soft-foreground md:p-6`,children:`Loading agent config…`}):e.isError?(0,Q.jsx)(X,{icon:(0,Q.jsx)(Nm,{}),tone:`danger`,title:`Agent config did not load`,subtitle:e.error.message,heading:`h2`}):(0,Q.jsx)(ux,{listing:e.data,installed:n})}function ux({listing:e,installed:t}){let[n,r]=(0,Z.useState)(`claude`),[i,o]=(0,Z.useState)(null),s=ix(n),c=e.files.find(e=>e.id===i)??null,l=e=>{r(e),o(null)};return(0,Q.jsxs)(`div`,{"data-slot":`agent-config`,className:`flex flex-col gap-5 p-4 md:p-6`,children:[(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`Edit agent instructions and MCP configuration for this project.`}),!e.editable&&(0,Q.jsxs)(`div`,{"data-slot":`agent-config-readonly`,className:`rounded-md border border-border bg-muted/40 px-3 py-2 text-[13px] text-soft-foreground`,children:[`Read-only: this remote cockpit cannot edit agent config. You can still see every file and which one wins. To edit here, the host operator runs `,(0,Q.jsx)(`code`,{children:ox}),`.`]}),(0,Q.jsx)(sx,{risk:`Agent config can define hooks and MCP servers that run commands on the machine running ${a(`Cezarion`)}`}),(0,Q.jsx)(`div`,{"data-slot":`agent-config-agents`,role:`tablist`,className:`flex flex-wrap gap-1`,children:rx.map(e=>(0,Q.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":e.id===s.id,"data-slot":`agent-config-agent`,"data-agent":e.id,"data-selected":e.id===s.id,onClick:()=>l(e.id),className:O(`flex min-w-11 items-center justify-center gap-2 rounded-md px-3 py-1.5 text-[13px] transition-colors`,e.id===s.id?`bg-background font-semibold shadow-sm`:`hover:bg-muted/60`),children:[e.label,!t.includes(e.id)&&(0,Q.jsx)(yp,{variant:`outline`,className:`text-[12px] text-soft-foreground`,children:`not installed`})]},e.id))}),s.note&&(0,Q.jsx)(`p`,{"data-slot":`agent-config-agent-note`,className:`text-[12px] text-soft-foreground`,children:s.note}),(0,Q.jsxs)(`div`,{className:`grid min-w-0 gap-6 lg:grid-cols-[minmax(0,20rem)_minmax(0,1fr)]`,children:[(0,Q.jsx)(`nav`,{"data-slot":`agent-config-nav`,className:`flex min-w-0 flex-col gap-5`,children:(0,Q.jsx)(dx,{agent:s,listing:e,selectedId:i,onSelect:o})}),(0,Q.jsx)(`div`,{"data-slot":`agent-config-editor-pane`,className:`min-w-0`,children:c?(0,Q.jsx)(px,{file:c},c.id):(0,Q.jsx)(`div`,{className:`flex h-full min-h-40 items-center justify-center rounded-md border border-dashed border-border text-[13px] text-soft-foreground`,children:`Select a config file to view or edit it.`})})]})]})}function dx({agent:e,listing:t,selectedId:n,onSelect:r}){return(0,Q.jsx)(Q.Fragment,{children:e.groups.map(i=>{let a=t.files.filter(i.files),o=e.id===`claude`&&i.id===`mcp`;return a.length===0&&!(o&&t.userMcp)&&!i.empty?null:(0,Q.jsxs)(`section`,{"data-slot":`agent-config-group`,"data-group":i.id,"data-agent":e.id,children:[(0,Q.jsx)(`p`,{className:`mb-1 text-[11px] font-medium uppercase tracking-wide text-soft-foreground`,children:i.label}),i.note&&(0,Q.jsx)(`p`,{className:`mb-2 text-[12px] text-soft-foreground`,children:i.note}),a.length===0&&i.empty&&(0,Q.jsx)(`p`,{"data-slot":`agent-config-group-empty`,className:`rounded-md border border-dashed border-border px-3 py-2 text-[12px] text-soft-foreground`,children:i.empty}),(0,Q.jsx)(`ul`,{className:`flex flex-col gap-1`,children:a.map(e=>(0,Q.jsx)(`li`,{children:(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`agent-config-file`,"data-selected":e.id===n,onClick:()=>r(e.id),className:O(`flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-left text-[13px] transition-colors`,e.id===n?`bg-accent-strong/15 text-foreground`:`hover:bg-muted/60`),children:[(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate font-mono text-[12px]`,children:e.label}),e.seeded&&(0,Q.jsx)(yp,{variant:`outline`,className:`shrink-0 text-[12px]`,children:`seeded`}),!e.exists&&(0,Q.jsx)(`span`,{className:`shrink-0 text-[11px] text-soft-foreground`,children:`absent`})]})},e.id))}),o&&t.userMcp&&(0,Q.jsx)(fx,{userMcp:t.userMcp})]},i.id)})})}function fx({userMcp:e}){return(0,Q.jsxs)(`div`,{"data-slot":`agent-config-user-mcp`,className:`mt-3`,children:[(0,Q.jsx)(`h4`,{className:`mb-1 text-[12px] font-semibold`,children:`User & local scopes`}),(0,Q.jsxs)(`p`,{className:`mb-2 text-[12px] text-soft-foreground`,children:[`Managed by `,(0,Q.jsx)(`code`,{className:`font-mono`,children:`claude mcp add`}),` in `,e.path,` — `,a(`cezar`),` does not edit Claude’s state file.`]}),e.readable?e.servers.length>0?(0,Q.jsx)(`ul`,{className:`flex flex-wrap gap-1`,children:e.servers.map(e=>(0,Q.jsx)(`li`,{children:(0,Q.jsx)(yp,{variant:`outline`,className:`font-mono text-[11px]`,children:e})},e))}):(0,Q.jsx)(`p`,{className:`text-[12px] text-soft-foreground`,children:`No user-scoped MCP servers.`}):(0,Q.jsx)(`p`,{className:`text-[12px] text-soft-foreground`,children:`Could not read the file.`})]})}function px({file:e}){let t=ri(e.id),[n,r]=(0,Z.useState)(null),[i,a]=(0,Z.useState)(!1),[o,s]=(0,Z.useState)(null),c=t.data?.version??null,l=n??t.data?.content??``,u=t.data?l!==t.data.content:!1,d=e.writable,{save:f,isSaving:p}=gx({file:e,content:l,loadedVersion:c,setDraft:r,setConflict:a,setFormatError:s});return(0,Z.useEffect)(()=>{t.data&&(r(t.data.content),a(!1),s(null))},[t.data?.version,t.data]),(0,Q.jsxs)(`div`,{"data-slot":`settings-config-editor`,className:`flex flex-col gap-3`,children:[(0,Q.jsx)(`h3`,{className:`text-sm`,children:`Configuration file`}),(0,Q.jsxs)(`p`,{"data-slot":`agent-config-scope`,title:e.path,className:`text-[12px] text-muted-foreground break-words`,children:[e.scope.charAt(0).toUpperCase()+e.scope.slice(1),` scope · `,e.path]}),(0,Q.jsxs)(`div`,{className:`settings-readout flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`font-mono text-[13px]`,children:e.label}),(0,Q.jsx)(yp,{variant:`outline`,className:`text-[12px] uppercase`,children:e.format}),(0,Q.jsx)(`a`,{href:e.docsUrl,target:`_blank`,rel:`noreferrer`,className:`text-[12px] text-soft-foreground underline hover:text-foreground`,children:`docs`})]}),(0,Q.jsxs)(`div`,{className:`settings-config-content-heading`,children:[(0,Q.jsx)(`h3`,{children:e.kind===`mcp`||e.holdsMcp?`MCP configuration`:`File contents`}),(e.kind===`mcp`||e.holdsMcp)&&(0,Q.jsx)(`p`,{children:`Review server commands before saving. MCP servers execute locally.`})]}),t.isPending?(0,Q.jsx)(`p`,{className:`text-[13px] text-soft-foreground`,children:`Loading file…`}):t.isError?(0,Q.jsx)(`p`,{className:`text-[13px] text-destructive`,children:t.error.message}):(0,Q.jsx)($b,{value:l,language:e.format,readOnly:!d,onChange:r,"aria-label":`${e.label} contents`,className:`h-[210px]`}),(0,Q.jsx)(mx,{formatError:o,conflict:i,onReload:()=>void t.refetch()}),d&&(0,Q.jsxs)(`div`,{className:`settings-form-actions`,children:[(0,Q.jsx)(D,{size:`sm`,onClick:f,disabled:!u||p,children:e.exists?`Save file`:`Create file`}),(0,Q.jsx)(D,{size:`sm`,variant:`outline`,onClick:()=>r(null),disabled:!u||p,children:`Reset`}),u&&(0,Q.jsx)(`span`,{className:`text-[12px] text-soft-foreground`,children:`Unsaved changes`})]}),(0,Q.jsxs)(`div`,{className:`settings-config-save-help`,children:[(0,Q.jsx)(`p`,{"data-slot":`agent-config-precedence`,className:`text-[12px] text-soft-foreground`,children:e.precedence}),(0,Q.jsxs)(`p`,{"data-slot":`agent-config-effect`,className:`text-[12px] text-foreground/80`,children:[cx(e),e.hotReload?` ${e.hotReload}`:``]}),(0,Q.jsx)(hx,{reason:e.readOnlyReason})]})]})}function mx({formatError:e,conflict:t,onReload:n}){return(0,Q.jsxs)(Q.Fragment,{children:[e&&(0,Q.jsx)(`p`,{"data-slot":`agent-config-format-error`,className:`text-[12px] text-destructive`,children:e}),t&&(0,Q.jsxs)(`div`,{"data-slot":`agent-config-conflict`,className:`flex items-center justify-between gap-2 rounded-md border border-destructive/40 bg-destructive/10 px-3 py-2 text-[12px]`,children:[(0,Q.jsx)(`span`,{children:`The file changed on disk since you opened it.`}),(0,Q.jsx)(D,{size:`sm`,variant:`outline`,onClick:n,children:`Reload from disk`})]})]})}function hx({reason:e}){return e&&(0,Q.jsx)(`p`,{children:e})}function gx({file:e,content:t,loadedVersion:n,setDraft:r,setConflict:i,setFormatError:a}){let o=ci(e.id),s=I(),c=ax();return{save:()=>{a(null),i(!1),o.mutate({content:t,version:n},{onSuccess:()=>{r(null),K(`${e.exists?`Saved`:`Created`} ${e.label}`)},onError:e=>{e instanceof ft&&e.status===409?c().then(()=>{s.getQueryData(G.health)?.capabilities.settingsAdmin===!1?K(e.message,{tone:`danger`}):i(!0)}):e instanceof ft&&e.status===400?a(e.message):K(e.message,{tone:`danger`})}})},isSaving:o.isPending}}var _x=[{id:`claude`,label:`Claude Code`,login:`claude auth login`},{id:`codex`,label:`Codex`,login:`codex login`},{id:`opencode`,label:`OpenCode`,login:`opencode auth login`},{id:`pi`,label:`pi`,login:`pi /login`},{id:`cursor`,label:`Cursor`,login:`agent login`},{id:`omp`,label:`OMP`,login:`omp login`}],vx=e=>({claude:e,codex:e,opencode:e,pi:e,cursor:e,omp:e}),yx={connected:{label:`Credentials found`,tone:`success`},disconnected:{label:`Not connected`,tone:`pending`},"not-installed":{label:`Not installed`,tone:`neutral`},unknown:{label:`Could not verify`,tone:`danger`}};function bx(e,t,n){return{providers:e.providers.map(e=>e.provider===t?{...e,enabled:n}:e)}}function xx(e,t){return e?yx[e]:t?{label:`Checking…`,tone:`neutral`}:yx.unknown}function Sx(e,t){return e===`unknown`||t&&!e}function Cx({provider:e,state:t,current:n,statusIsError:r}){return t===`not-installed`?(0,Q.jsxs)(`p`,{className:`mt-1.5 text-xs text-soft-foreground`,children:[`Install `,e.label,`, then run `,(0,Q.jsx)(`code`,{children:e.login}),`.`]}):Sx(t,r)?(0,Q.jsx)(`p`,{className:`mt-1.5 text-xs text-soft-foreground`,children:`Verification failed. Check again when the provider is available.`}):n?.hint?(0,Q.jsx)(`p`,{className:`mt-1.5 text-xs text-soft-foreground`,children:n.hint}):null}function wx({provider:e,state:t,current:n,isConnecting:r,incidentId:i,refresh:a,connect:o,retry:s,queueToggle:c}){let l=t===`disconnected`||t===`unknown`;return(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[t===`not-installed`?null:(0,Q.jsx)(Ta,{checked:n?.enabled??!0,"aria-label":`Use ${e.label}`,onCheckedChange:t=>c(e.id,t)}),l?(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`sm`,disabled:a.isPending,onClick:()=>a.mutate(void 0,{onError:e=>K(e.message,{tone:`danger`})}),children:`Check again`}):null,t===`disconnected`?(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,disabled:o.isPending,onClick:()=>o.mutate(e.id),children:r?`Opening…`:`Connect`}):null,i===void 0?null:(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,disabled:s.isPending,onClick:()=>s.mutate({provider:e.id,authFailureId:i},{onSuccess:()=>K(`${e.label} can be tried again.`),onError:e=>K(e.message,{tone:`danger`})}),children:`Try again`})]})}function Tx({manual:e,provider:t,connected:n,onCopy:r}){return e===null||e.provider!==t||n?null:(0,Q.jsxs)(`div`,{role:`region`,"aria-label":`${e.label} manual sign-in`,className:`rounded-md border border-pending/40 bg-pending/5 px-3.5 py-3`,children:[(0,Q.jsx)(`p`,{className:`text-[13px] text-foreground`,children:e.message}),(0,Q.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`code`,{className:`min-w-0 flex-1 overflow-x-auto rounded-sm bg-muted px-2 py-1.5 text-xs`,children:e.command}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>void r(e.command),children:`Copy command`})]})]})}function Ex(){let e=Or(),t=yr(),n=Fr(),r=I(),[i,o]=(0,Z.useState)(null),s=(0,Z.useRef)(Promise.resolve()),c=(0,Z.useRef)(vx(0)),l=(0,Z.useRef)(vx(0)),u=(0,Z.useRef)(e.data);(0,Z.useEffect)(()=>{i&&de(e.data,i.provider)?.status===`connected`&&o(null)},[i,e.data]),(0,Z.useEffect)(()=>{if(e.data){if(Object.values(l.current).every(e=>e===0)||!u.current){u.current=e.data;return}u.current={providers:e.data.providers.map(e=>({...e,enabled:l.current[e.provider]>0?de(u.current,e.provider)?.enabled??e.enabled:e.enabled}))}}},[e.data]);let d=(0,Z.useCallback)((e,t)=>{let n=H.providerStatus,i=r.getQueryData(n);if(!i)return;u.current||=i;let a=bx(i,e,t);l.current[e]+=1,r.setQueryData(n,a);let o=++c.current[e];s.current=s.current.then(async()=>{try{let i=await ue(e,t),a=de(i,e)?.enabled;if(a===void 0)return;if(u.current=bx(u.current??i,e,a),o===c.current[e]){let t=r.getQueryData(n);r.setQueryData(n,t?bx(t,e,a):i)}}catch(t){if(o===c.current[e]){let i=de(u.current,e)?.enabled,a=r.getQueryData(n);a&&i!==void 0?r.setQueryData(n,bx(a,e,i)):u.current?r.setQueryData(n,u.current):r.removeQueries({queryKey:n,exact:!0}),K(t instanceof Error?t.message:String(t),{tone:`danger`})}}finally{--l.current[e]}})},[r]),f=W({mutationFn:e=>Xe(e),onSuccess:async(e,t)=>{o(null),K(e.opened?`Finish signing in in the terminal, then check again.`:`Provider is already connected.`),await r.invalidateQueries({queryKey:H.providerStatus}),en(t)&&await oi(r,t,`none`)},onError:(e,t)=>{if(e instanceof ft&&e.command){let n=_x.find(e=>e.id===t)?.label??t;o({provider:t,label:n,message:e.message,command:e.command});return}K(e.message,{tone:`danger`})}}),p=async e=>{try{await navigator.clipboard.writeText(e),K(`Command copied`)}catch{K(`Could not copy the command`,{tone:`danger`})}};return(0,Q.jsxs)(`section`,{id:`providers`,"data-slot":`provider-settings`,className:`scroll-mt-20`,children:[(0,Q.jsxs)(`div`,{className:`mb-2`,children:[(0,Q.jsx)(`h2`,{className:`text-sm font-semibold text-foreground`,children:`Providers`}),(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`Connect the coding agents available on this computer.`})]}),e.isError?(0,Q.jsxs)(`div`,{role:`alert`,className:`mb-3 flex flex-wrap items-center justify-between gap-2 rounded-md border border-danger/30 bg-danger/5 px-3 py-2.5`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`text-[13px] font-medium text-foreground`,children:`Provider status could not be loaded`}),(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:e.error.message})]}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,disabled:e.isFetching,onClick:()=>void e.refetch(),children:`Retry`})]}):null,(0,Q.jsx)(`div`,{className:`flex flex-col gap-2`,children:_x.map(r=>{let o=de(e.data,r.id),s=o?.status,c=xx(s,e.isPending),l=f.isPending&&f.variables===r.id,u=o?.authFailureId;return(0,Q.jsxs)(Z.Fragment,{children:[(0,Q.jsxs)(`div`,{"data-slot":`provider-card`,"data-provider":r.id,className:`rounded-md border border-border bg-card px-3.5 py-3`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsx)(`h3`,{className:`text-[13px] font-semibold text-foreground`,children:r.label}),(0,Q.jsxs)(`div`,{className:`mt-1 flex items-center gap-2 text-xs text-muted-foreground`,children:[(0,Q.jsx)(vb,{tone:c.tone,pulse:e.isPending}),(0,Q.jsx)(`span`,{children:c.label}),o?.enabled===!1?(0,Q.jsx)(`span`,{children:`Disabled`}):null]}),(0,Q.jsx)(Cx,{provider:r,state:s,current:o,statusIsError:e.isError})]}),(0,Q.jsx)(wx,{provider:r,state:s,current:o,isConnecting:l,incidentId:u,refresh:t,connect:f,retry:n,queueToggle:d})]}),u===void 0?null:(0,Q.jsxs)(`p`,{className:`mt-2 text-xs text-soft-foreground`,children:[`Use this after completing the provider sign-in flow. `,a(`cezar`),` cannot validate the credential without a task/model request; it will verify it on the next task.`]})]}),(0,Q.jsx)(Tx,{manual:i,provider:r.id,connected:s===`connected`,onCopy:p})]},r.id)})})]})}var Dx=2e4;function Ox(){let e=Nr(),t=mi(),n=Or();return e.isPending?(0,Q.jsx)(`p`,{"data-slot":`agents-loading`,className:`p-4 text-[13px] text-soft-foreground md:p-6`,children:`Loading agent settings…`}):e.isError?(0,Q.jsx)(X,{icon:(0,Q.jsx)(_o,{}),tone:`danger`,title:`Agent settings did not load`,subtitle:e.error.message,heading:`h2`}):(0,Q.jsx)(kx,{config:e.data,catalogs:t,providerStatus:n})}function kx({config:e,catalogs:t,providerStatus:n}){let r=Er(),i=I(),a=W({mutationFn:e=>Bt(e),onSuccess:e=>{i.setQueryData(G.config,e),i.invalidateQueries({queryKey:G.health}),i.invalidateQueries({queryKey:G.repo})},onError:e=>K(e.message,{tone:`danger`})}),[o,s]=(0,Z.useState)(e.systemPrompt??``),c=o.trim(),l=c===(e.systemPrompt??``),u=c.length>Dx;return(0,Q.jsxs)(`div`,{"data-slot":`agents-section`,className:`mx-auto flex w-full max-w-2xl flex-col gap-7 p-4 pb-[calc(90px+env(safe-area-inset-bottom))] md:p-6 md:pb-6`,children:[(0,Q.jsx)(Ax,{defaultRunner:e.defaultRunner,providerStatus:n,saving:a.isPending,onPick:e=>a.mutate({defaultRunner:e})}),(0,Q.jsx)(jx,{title:`Default model`,hint:e.modelsLocked?`Models are locked to the defaults configured in the native coding-agent settings.`:`The model preselected in the composer for each runner. Auto lets the runner decide per task.`,children:(0,Q.jsx)(`div`,{className:`flex flex-col gap-4`,children:dc.map(r=>{let i=de(n.data,r.id),o=!n.isPending&&!n.isError&&i?.enabled===!0&&i.status===`connected`,s=n.isPending?`Checking provider authentication…`:n.isError?`Provider authentication could not be verified.`:i?.enabled===!1?`This provider is disabled. Enable it above or choose another provider.`:o?void 0:`Connect this provider before selecting it.`,c=t[r.id],l=hc(r.id,c.data,c.isError,c.isFetching),u=fc(r.id,c.data,[e.defaultModels[r.id]]),d=e.defaultModels[r.id]??``,f=u.find(e=>e.id===d)?.label??d??`auto (default)`;return(0,Q.jsxs)(`label`,{className:`settings-option-row`,children:[(0,Q.jsx)(`div`,{children:(0,Q.jsx)(`h3`,{children:r.label})}),e.modelsLocked?(0,Q.jsx)(`output`,{"aria-label":`Default model for ${r.label}`,"data-slot":`agents-model`,"data-runner":r.id,title:`Model selection is locked to native coding-agent settings.`,className:`block rounded-md border border-input bg-card px-3 py-1.5 text-sm shadow-xs`,children:f}):(0,Q.jsxs)(`select`,{"aria-label":`Default model for ${r.label}`,"data-slot":`agents-model`,"data-runner":r.id,value:d,title:s??r.desc,disabled:a.isPending||!o,onChange:e=>a.mutate({defaultModels:{[r.id]:e.target.value||null}}),className:`block rounded-md border border-input bg-card px-3 py-1.5 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:opacity-50`,children:[u.map(e=>(0,Q.jsx)(`option`,{value:e.id,children:e.id===``?`Native agent default`:e.label},e.id)),l?(0,Q.jsx)(`option`,{disabled:!0,children:l}):null]})]},r.id)})})}),(0,Q.jsxs)(jx,{title:`System prompt`,hint:`Extra instructions for every run in this project.`,children:[(0,Q.jsx)(es,{"aria-label":`System prompt`,"data-slot":`agents-system-prompt`,value:o,onChange:e=>s(e.target.value),placeholder:`Extra rules for every agent run — conventions, tone, review requirements…`,className:`min-h-48 w-full`}),(0,Q.jsxs)(`div`,{className:`settings-form-actions`,children:[(0,Q.jsx)(D,{type:`button`,variant:`primary`,size:`sm`,"data-action":`agents-save-prompt`,disabled:l||u||a.isPending,onClick:()=>a.mutate({systemPrompt:c===``?null:c},{onSuccess:()=>K(c===``?`System prompt cleared`:`System prompt saved`)}),children:`Save prompt`}),u?(0,Q.jsxs)(`p`,{"data-slot":`agents-prompt-limit`,className:`text-[11px] text-danger`,children:[c.length.toLocaleString(),` characters — the limit is`,` `,Dx.toLocaleString(),`.`]}):(0,Q.jsx)(`p`,{className:`text-[11px] text-soft-foreground`,children:`Leave empty and save to clear. Applied to new runs only.`})]})]}),(0,Q.jsxs)(`section`,{"data-slot":`agents-task-runs`,className:`settings-field flex flex-col gap-5`,children:[(0,Q.jsx)(`h2`,{className:`text-sm font-semibold text-foreground`,children:`Task runs`}),(0,Q.jsx)(Mx,{title:`Live title updates`,hint:`Refresh a task's short title through the namer model as the run progresses. A manual rename always wins and stops updates for that task.`,children:(0,Q.jsxs)(`label`,{className:`flex w-fit items-center gap-3`,children:[(0,Q.jsx)(Ta,{"aria-label":`Live title updates`,"data-slot":`agents-live-title-updates`,checked:e.liveTitleUpdates??!0,disabled:a.isPending,onCheckedChange:e=>a.mutate({liveTitleUpdates:e},{onSuccess:()=>K(e?`Live title updates on`:`Live title updates off`)})}),(0,Q.jsxs)(`span`,{className:`text-[13px] text-muted-foreground`,children:[e.liveTitleUpdates??!0?`On`:`Off`,e.liveTitleUpdates===null&&` (default)`]})]})}),(0,Q.jsx)(Mx,{title:`Review changes before finishing`,hint:`When on, a task with changes pauses so you can Accept, Send back, or open a Draft PR. Autonomous tasks always skip this and finish on their own. Default: off — tasks finish without asking.`,children:(0,Q.jsxs)(`label`,{className:`flex w-fit items-center gap-3`,children:[(0,Q.jsx)(Ta,{"aria-label":`Review changes before finishing`,"data-slot":`agents-review-gate`,checked:e.reviewGate??!1,disabled:a.isPending,onCheckedChange:e=>a.mutate({reviewGate:e},{onSuccess:()=>K(e?`Review gate on`:`Review gate off`)})}),(0,Q.jsxs)(`span`,{className:`text-[13px] text-muted-foreground`,children:[e.reviewGate??!1?`On`:`Off`,e.reviewGate===null&&` (default)`]})]})}),(0,Q.jsx)(Mx,{title:`Base branch`,hint:`New task worktrees branch from this and draft PRs target it. Also settable from the Git view.`,children:r.data?.info?(0,Q.jsxs)(`select`,{"aria-label":`Base branch`,"data-slot":`agents-base-branch`,value:e.baseBranch??``,disabled:a.isPending,onChange:e=>a.mutate({baseBranch:e.target.value||null}),className:`block rounded-md border border-input bg-card px-3 py-1.5 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:opacity-50`,children:[(0,Q.jsx)(`option`,{value:``,children:`follow checked-out branch (default)`}),r.data.branches.map(e=>(0,Q.jsx)(`option`,{value:e,children:e},e))]}):(0,Q.jsx)(`p`,{"data-slot":`agents-base-branch-unavailable`,className:`text-[13px] text-soft-foreground`,children:r.isPending?`Loading branches…`:`Not a git repository — tasks run in place, no branching.`})})]}),(0,Q.jsxs)(`details`,{className:`settings-disclosure`,children:[(0,Q.jsx)(`summary`,{children:`Provider connections`}),(0,Q.jsx)(Ex,{})]})]})}function Ax({defaultRunner:e,providerStatus:t,saving:n,onPick:r}){let i=Sr(),a=yn(),o=Mt(),s=Er(),c=Vr(),l=o.projectId??`default`,u=s.data?.info?.root,d=u?i.data?.selections[u]:void 0,f=i.data?.defaults,p=Ob(i.data?.profiles??[]),m=kb(p);return(0,Q.jsxs)(jx,{title:`Default runner`,hint:`Project defaults. A task can override these choices.`,children:[(0,Q.jsx)(zb,{rows:p,runner:e,accountFor:e=>d?.[e]??f?.[e]??null,providerStatus:t,disabled:n,accountDisabled:c.isPending||a.data===void 0,onPick:(t,n,i)=>{t!==e&&r(t),i&&c.mutate({projectId:l,provider:t,profileId:n},{onError:e=>K(e.message,{tone:`danger`})})}}),!t.isPending&&!t.isError&&de(t.data,e)?.enabled===!1?(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`This provider is disabled. Enable it above or choose another provider.`}):null,m?(0,Q.jsx)(`p`,{className:`max-w-md text-[13px] text-muted-foreground`,children:`The account is personal and never committed. Tasks already started under another account can’t be resumed here — their sessions live in that account’s folder.`}):null]})}function jx({title:e,hint:t,children:n}){return(0,Q.jsxs)(`section`,{className:`settings-field flex flex-col gap-2`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{className:`text-sm font-semibold text-foreground`,children:e}),(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t})]}),n]})}function Mx({title:e,hint:t,children:n}){return(0,Q.jsxs)(`section`,{className:`settings-option-row`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h3`,{children:e}),(0,Q.jsx)(`p`,{children:t})]}),n]})}var Nx=`cez-accent`,Px=`cez-density`,Fx=`cez-width`,Ix=`cezarion`,Lx=`comfortable`,Rx=`narrow`;function zx(e){return Ix}function Bx(e){return e===`comfortable`||e===`compact`||e===`ultra`?e:Lx}function Vx(e){return e===`narrow`||e===`wide`?e:Rx}function Hx(e){let t=e&&typeof e==`object`?e:{};return{accent:zx(t.accent),density:Bx(t.density),width:Vx(t.width)}}function Ux(){try{return{accent:zx(localStorage.getItem(Nx)),density:Bx(localStorage.getItem(Px)),width:Vx(localStorage.getItem(Fx))}}catch{return{accent:Ix,density:Lx,width:Rx}}}function Wx(e){try{localStorage.setItem(Nx,e.accent),localStorage.setItem(Px,e.density),localStorage.setItem(Fx,e.width)}catch{}}function Gx(e,t){t.accent===`cezarion`?delete e.dataset.accent:e.dataset.accent=t.accent,t.density===`comfortable`?delete e.dataset.density:e.dataset.density=t.density,t.width===`narrow`?delete e.dataset.width:e.dataset.width=t.width}var Kx=Z.createContext(null);function qx({children:e}){let t=I(),n=Tn(),[r,i]=Z.useState(Ux),a=n.data;Z.useEffect(()=>{if(a===void 0)return;let e=Hx(a.appearance);i(e),Wx(e)},[a]),Z.useLayoutEffect(()=>{Gx(document.documentElement,r)},[r]);let o=Z.useCallback(e=>{i(e),Wx(e),mt({appearance:e}).then(e=>t.setQueryData(H.uiState,e)).catch(e=>{K(e instanceof Error?e.message:String(e),{tone:`danger`}),t.invalidateQueries({queryKey:H.uiState})})},[t]),s=Z.useCallback(e=>o({...r,accent:e}),[o,r]),c=Z.useCallback(e=>o({...r,density:e}),[o,r]),l=Z.useCallback(e=>o({...r,width:e}),[o,r]),u=Z.useMemo(()=>({accent:r.accent,density:r.density,width:r.width,setAccent:s,setDensity:c,setWidth:l}),[r,s,c,l]);return(0,Q.jsx)(Kx.Provider,{value:u,children:e})}function Jx(){let e=Z.useContext(Kx);if(!e)throw Error(`${a(`cezar`)}: useAppearance() must be called inside <AppearanceProvider>`);return e}var Yx=`cez-theme`,Xx=`(prefers-color-scheme: light)`,Zx=`dark`;function Qx(e){return e===`light`||e===`dark`||e===`system`?e:Zx}function $x(e,t){return e===`light`||e===`system`&&t?`light`:`dark`}function eS(){try{return Qx(localStorage.getItem(Yx))}catch{return Zx}}function tS(e){try{localStorage.setItem(Yx,e)}catch{}}function nS(){return typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(Xx).matches}function rS(e,t){e.classList.toggle(`light`,t===`light`),e.style.colorScheme=t}function iS(e){return`/cezarion-mark-${e}.svg`}function aS(e){let t=document.querySelector(`link[rel="icon"]`);t&&(t.href=iS(e))}var oS=Z.createContext(null);function sS({children:e}){let[t,n]=Z.useState(eS),[r,i]=Z.useState(nS);Z.useEffect(()=>{let e=window.matchMedia?.(Xx);if(!e)return;i(e.matches);let t=e=>i(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let a=$x(t,r);Z.useLayoutEffect(()=>{rS(document.documentElement,a),aS(a)},[a]);let o=Z.useCallback(e=>{n(e),tS(e)},[]),s=Z.useMemo(()=>({theme:t,resolvedTheme:a,setTheme:o}),[t,a,o]);return(0,Q.jsx)(oS.Provider,{value:s,children:e})}function cS(){let e=Z.useContext(oS);if(!e)throw Error(`${a(`cezar`)}: useTheme() must be called inside <ThemeProvider>`);return e}function lS(e){return e<=200}function uS(e){if(!Array.isArray(e))return[];let t=new Set;for(let n of e){if(typeof n!=`string`)continue;let e=n.trim();if(!(e===``||t.has(e))&&(t.add(e),t.size>=200))break}return[...t]}function dS(e,t){let n=uS(t);if(n.length===0)return[...e];let r=new Map(n.map((e,t)=>[e,t])),i=[],a=[];for(let t of e)r.has(t.id)?i.push(t):a.push(t);return i.sort((e,t)=>r.get(e.id)-r.get(t.id)),[...a,...i]}function fS(e,t,n){return t===n||t<0||n<0||t>=e.length||n>=e.length?[...e]:Gc([...e],t,n)}function pS(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function mS(){let e=I(),t=Tn(),n=Z.useRef(0),r=Z.useRef(Promise.resolve()),i=Z.useMemo(()=>uS(t.data?.sidebar?.projectOrder),[t.data?.sidebar?.projectOrder]),a=Z.useCallback(t=>{let i=e.getQueryData(H.uiState);if(i===void 0)return;let{projectOrder:a,...o}=pS(i.sidebar),s=t===null?o:{...o,projectOrder:t};e.setQueryData(H.uiState,{...i,sidebar:s});let c=++n.current,l=r.current.then(async()=>{let t=await mt({sidebar:s},{keepalive:!0});c===n.current&&e.setQueryData(H.uiState,t)});r.current=l.catch(t=>{K(t instanceof Error?t.message:String(t),{tone:`danger`}),c===n.current&&e.invalidateQueries({queryKey:H.uiState})})},[e]),o=Z.useCallback(e=>{let t=uS(e);t.length===0||!lS(e.length)||a(t)},[a]),s=Z.useCallback(()=>a(null),[a]);return{order:i,canReorder:t.data!==void 0,setOrder:o,reset:s}}var hS=[{value:`system`,label:`System`,icon:Ym},{value:`light`,label:`Light`,icon:dh},{value:`dark`,label:`Dark`,icon:Xm}],gS=[{value:`cezarion`,label:a(`Cezarion`),swatch:`var(--accent-strong)`}],_S=[{value:`comfortable`,label:`Comfortable`},{value:`compact`,label:`Compact`},{value:`ultra`,label:`Compact for real`}],vS=[{value:`narrow`,label:`Narrow`},{value:`wide`,label:`Wide`}];function yS({slot:e,label:t,value:n,options:r,onChange:i}){return(0,Q.jsx)(`div`,{role:`radiogroup`,"aria-label":t,"data-slot":e,className:`inline-flex w-fit gap-0.5 rounded-md border border-border bg-card p-0.5 max-md:max-w-full max-md:flex-wrap`,children:r.map(e=>{let t=e.value===n;return(0,Q.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":t,"data-value":e.value,onClick:()=>i(e.value),className:O(`flex min-h-11 items-center gap-2 rounded-sm px-3 py-1.5 text-[13px] font-medium transition-colors`,t?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`),children:[e.icon?(0,Q.jsx)(e.icon,{"aria-hidden":`true`,className:`size-3.5`}):null,e.swatch?(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`size-3 rounded-full border border-border`,style:{background:e.swatch}}):null,e.label]},e.value)})})}function bS({title:e,hint:t,children:n}){return(0,Q.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{className:`text-sm font-semibold text-foreground`,children:e}),(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t})]}),n]})}function xS(){let e=yn(),{order:t,canReorder:n,reset:r}=mS();return!((e.data?.projects.length??0)>1)||t.length===0?null:(0,Q.jsx)(bS,{title:`Project order`,hint:`The project rail is in the order you dragged it into. Reset puts it back in the order the projects were added. Saved with your workspace, so every browser sees it.`,children:(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,"data-slot":`appearance-project-order-reset`,disabled:!n,onClick:r,className:`w-fit`,children:`Reset order`})})}function SS(){let{theme:e,setTheme:t}=cS(),{accent:n,density:r,width:i,setAccent:o,setDensity:s,setWidth:c}=Jx();return(0,Q.jsxs)(`div`,{"data-slot":`appearance-section`,className:`flex w-full flex-col gap-7 rounded-lg border border-border bg-card p-5`,children:[(0,Q.jsx)(bS,{title:`Theme`,hint:`System follows your OS preference. Applies to this browser.`,children:(0,Q.jsx)(yS,{slot:`appearance-theme`,label:`Theme`,value:e,options:hS,onChange:t})}),gS.length>1?(0,Q.jsx)(bS,{title:`Accent`,hint:`The cockpit brand accent. Saved with your workspace appearance.`,children:(0,Q.jsx)(yS,{slot:`appearance-accent`,label:`Accent`,value:n,options:gS,onChange:o})}):null,(0,Q.jsx)(bS,{title:`Density`,hint:`Compact tightens spacing across the cockpit — text stays the same size.`,children:(0,Q.jsx)(yS,{slot:`appearance-density`,label:`Density`,value:r,options:_S,onChange:s})}),(0,Q.jsx)(bS,{title:`Reading width`,hint:`Wide lets a task's session and commits use more of the screen. Narrow keeps a comfortable reading column. The Changes tab is always full-width.`,children:(0,Q.jsx)(yS,{slot:`appearance-width`,label:`Reading width`,value:i,options:vS,onChange:c})}),(0,Q.jsx)(xS,{}),(0,Q.jsxs)(`div`,{className:`settings-appearance-preview settings-readout`,children:[(0,Q.jsx)(`span`,{className:`text-[12px] text-soft-foreground`,children:`PREVIEW`}),(0,Q.jsx)(`p`,{className:`mt-3 text-base`,children:`Review finalization retries`}),(0,Q.jsxs)(`p`,{className:`mt-3 text-xs text-muted-foreground`,children:[`Needs you · `,a(`cezar`),` · Task `,`#`,`227`]}),(0,Q.jsx)(`span`,{className:`mt-3 inline-flex rounded-md border border-accent-strong/30 bg-accent-strong/10 px-4 py-3 text-xs text-accent-text`,children:`Open task`})]}),(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-muted-foreground`,children:`Changes apply immediately. Theme is browser-local; density and reading width are saved with your workspace.`})]})}var CS=`http://localhost:4321`;function wS(e,t,n,r=CS,i=null){let a=e=>encodeURIComponent(e).replaceAll(`'`,`%27`),o=`(()=>{const m=location.href.match(/^https:\\/\\/github\\.com\\/([^\\/]+)\\/([^\\/]+)\\/(pull|issues)\\/\\d+/);if(!m){alert('Open a GitHub PR or issue first');return;}const q='${`${e?`skill=${a(e)}&`:``}auto=${t?`1`:`0`}&key=${a(n)}&ref=`}'+encodeURIComponent(location.href);open('${r.replaceAll(`'`,`%27`)}${i===null||i===``?`/new`:`/p/${a(i)}/new`}?'+q,'_blank');})();`;return`javascript:${encodeURIComponent(o)}`}function TS(){let e=zr();return e.isPending?(0,Q.jsx)(`p`,{"data-slot":`bookmarklets-loading`,className:`p-4 text-[13px] text-soft-foreground md:p-6`,children:`Loading bookmarklets…`}):e.isError?(0,Q.jsx)(X,{icon:(0,Q.jsx)(vo,{}),tone:`danger`,heading:`h2`,title:`Could not load bookmarklets`,subtitle:e.error.message}):(0,Q.jsx)(`div`,{className:`flex min-h-full flex-1 overflow-y-auto`,children:(0,Q.jsx)(ES,{skills:kc(e.data??[])})})}function ES({skills:e}){let t=Un(),n=U(),r=yn(),[i,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(``),u=t.isError?``:t.data?.key||null,d=window.location.origin,f=Is()??n.data?.bootProject??null,p=r.data?.projects.find(e=>e.id===f)?.name??_z(n.data)?.name??null,m=s.trim().toLowerCase(),h=e.filter(e=>e.name.toLowerCase().includes(m));return(0,Q.jsxs)(`div`,{"data-slot":`bookmarklet-panel`,className:`flex w-full min-w-0 flex-col gap-[18px] p-5`,children:[(0,Q.jsx)(`h2`,{className:`text-xl font-semibold`,children:`Run from GitHub`}),(0,Q.jsxs)(`p`,{className:`text-[13px] leading-relaxed text-muted-foreground`,children:[`Drag a launcher to your browser's bookmarks bar. Then open a GitHub PR or issue and click that bookmark. `,a(`Cezar`),` must be running: `,(0,Q.jsxs)(`span`,{className:`font-mono`,children:[`npx `,l()]}),`.`]}),(0,Q.jsxs)(`div`,{className:`settings-bookmarklet-project rounded-lg bg-background p-3.5`,children:[(0,Q.jsxs)(`p`,{className:`text-[13px]`,children:[`Project`,p?` · ${p}`:``]}),(0,Q.jsxs)(`p`,{className:`mt-2 text-xs text-muted-foreground`,children:[`Launchers target this cockpit and this project. Keep `,a(`Cezarion`),` running.`]})]}),(0,Q.jsxs)(`label`,{className:`flex min-h-11 items-center gap-2.5 text-[13px] font-medium`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,"data-slot":`bm-auto`,checked:i,onChange:e=>o(e.target.checked),className:`size-[18px] shrink-0`}),`One-click launch (auto-submit)`]}),(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-soft-foreground`,children:`Off by default. Re-drag the launchers after changing this option.`}),(0,Q.jsx)(OS,{launchKey:t,hasKey:u!==null}),(0,Q.jsx)(`div`,{"data-slot":`bm-generic`,className:`rounded-lg border border-border bg-muted/30 p-3.5`,children:(0,Q.jsx)(AS,{label:p?`${a(`cezar`)} (${p}): this PR/issue`:`${a(`cezar`)}: this PR/issue`,url:u===null?null:wS(``,!1,u,d,f),generic:!0,hint:`Prefills the form only—never auto-starts, even when auto-submit is on.`})}),(0,Q.jsx)(Dp,{"data-slot":`bm-filter`,placeholder:`Filter bookmarklet skills…`,"aria-label":`Filter bookmarklet skills`,value:s,onChange:e=>c(e.target.value),className:`h-11 text-[13px]`}),(0,Q.jsx)(`div`,{"data-slot":`bm-list`,className:`flex flex-col divide-y divide-border [&>[data-slot=bm-row]]:py-3.5`,children:(0,Q.jsx)(kS,{skills:e,shown:h,repoName:p,auto:i,keyValue:u,origin:d,projectId:f})}),(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-soft-foreground`,children:`These are bookmarklet drag sources, not run buttons. Clicking one here explains installation; it does not start a task.`}),(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-soft-foreground md:hidden`,children:`No drag-and-drop? Copy the URL for manual bookmark setup where your browser allows it, or install using a desktop browser.`})]})}function DS(e){return e?{role:`alert`,className:`text-xs leading-relaxed text-destructive`}:{role:`status`,className:`text-xs leading-relaxed text-soft-foreground`}}function OS({launchKey:e,hasKey:t}){if(t&&!e.isError)return null;let n=DS(e.isError);return(0,Q.jsx)(`p`,{"data-slot":`bm-key-state`,role:n.role,className:n.className,children:e.isError?`Could not load this project's launch key, so these launchers only prefill the form and auto-start cannot arm: ${e.error.message}`:`Loading this project's launch key…`})}function kS({skills:e,shown:t,repoName:n,auto:r,keyValue:i,origin:a,projectId:o}){return t.length===0?(0,Q.jsx)(`p`,{className:`text-xs text-soft-foreground`,children:e.length>0?`(no skills match)`:`(no skills yet — the generic launcher above still works)`}):(0,Q.jsx)(Q.Fragment,{children:t.map(e=>(0,Q.jsx)(AS,{label:n?`/${e.name} (${n})`:`/${e.name}`,url:i===null?null:wS(e.name,r,i,a,o)},e.path))})}function AS({label:e,url:t,hint:n,generic:r=!1}){let i=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{t===null?i.current?.removeAttribute(`href`):i.current?.setAttribute(`href`,t)},[t]);let a=t!==null,o=async()=>{if(t!==null)try{await navigator.clipboard.writeText(t),K(`Bookmarklet URL copied.`)}catch{K(`Copy failed — drag the button instead.`,{tone:`danger`})}};return(0,Q.jsxs)(`div`,{"data-slot":`bm-row`,className:`flex min-w-0 flex-col gap-2.5`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`a`,{ref:i,draggable:a,"data-slot":`bm-link`,"data-ready":a,"aria-disabled":!a||void 0,title:a?`Drag me to your bookmarks bar`:`Waiting for the launch key`,"aria-label":`${r?`Drag to bookmarks`:`Drag launcher`}: ${e}`,onClick:e=>{e.preventDefault(),K(a?`Drag me to your bookmarks bar`:`This launcher is not ready: it has no launch key yet.`)},className:`inline-flex aria-disabled:cursor-not-allowed aria-disabled:opacity-60 min-h-11 min-w-0 items-center rounded-md border border-border px-3 text-xs font-medium transition-colors hover:bg-muted ${r?`bg-accent-strong/10 text-accent-text`:`bg-card text-foreground`}`,children:(0,Q.jsx)(`span`,{className:`break-words`,children:e})}),(0,Q.jsx)(`button`,{type:`button`,"data-slot":`bm-copy`,title:`Copy the bookmarklet URL`,disabled:!a,onClick:()=>void o(),className:`min-h-11 disabled:cursor-not-allowed disabled:opacity-60 shrink-0 rounded-md border border-border px-3 text-xs font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,children:`Copy URL`})]}),n?(0,Q.jsx)(`p`,{className:`text-xs leading-relaxed text-soft-foreground`,children:n}):null]})}function jS(e){return{enabled:(e&&typeof e==`object`?e:{}).enabled===!0}}function MS(){let e=globalThis.Notification;if(typeof e!=`function`)return`unsupported`;let t=e.permission;return t===`granted`||t===`denied`?t:`default`}function NS(e,t){let n=new Map,r=[];for(let i of t??[]){let t={status:i.status,wantsAttention:F(i)};n.set(i.id,t);let a=e.get(i.id);a!==void 0&&(a.status===t.status&&a.wantsAttention===t.wantsAttention||t.wantsAttention&&r.push(i))}return{entering:r,statuses:n}}function PS(e){return e.enabled&&e.hidden&&e.permission===`granted`}function FS(e){let t=xe(e).label;return{title:e.titleSummary??e.title,body:`Task ${t}`,tag:`cezar-run-${e.id}`}}function IS(){let e=I(),t=Tn(),[n,r]=Z.useState(!1),[i,a]=Z.useState(MS),o=t.data;Z.useEffect(()=>{o!==void 0&&r(jS(o.notifications).enabled)},[o]);let s=Z.useCallback(t=>{r(t),mt({notifications:{enabled:t}}).then(t=>e.setQueryData(H.uiState,t)).catch(t=>{K(t instanceof Error?t.message:String(t),{tone:`danger`}),e.invalidateQueries({queryKey:H.uiState})})},[e]),c=Z.useCallback(e=>{if(!e){s(!1);return}if(MS()!=="default"){s(!0);return}s(!0),Notification.requestPermission().then(e=>a(e)).catch(()=>a(MS()))},[s]),l=i===`unsupported`;return(0,Q.jsx)(`div`,{"data-slot":`notifications-section`,className:`mx-auto flex w-full max-w-2xl flex-col gap-7 p-4 pb-[calc(90px+env(safe-area-inset-bottom))] md:p-6 md:pb-6`,children:(0,Q.jsxs)(`section`,{className:`flex flex-col gap-2`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start justify-between gap-4`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{className:`text-sm font-semibold text-foreground`,children:(0,Q.jsx)(`label`,{htmlFor:`notifications-enabled`,children:`Notify when an agent needs you`})}),(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`A browser notification when a task starts waiting, asks for review, or fails — only while this tab is in the background. Off by default.`})]}),(0,Q.jsx)(Ta,{id:`notifications-enabled`,"data-slot":`notifications-toggle`,checked:n,disabled:l,onCheckedChange:c})]}),l?null:(0,Q.jsxs)(`p`,{"data-slot":`notifications-permission`,"data-permission":i,className:`mt-4 text-[13px] text-muted-foreground`,children:[`Browser permission · `,i===`granted`?`Allowed`:i===`denied`?`Blocked`:`Not requested`]}),(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`Permission is requested only when you enable notifications.`}),l?(0,Q.jsx)(`p`,{"data-slot":`notifications-unsupported`,className:`text-[13px] text-muted-foreground`,children:`This browser does not support notifications, so the toggle is unavailable here.`}):null,!l&&n&&i===`denied`?(0,Q.jsxs)(`div`,{"data-slot":`notifications-denied`,className:`mt-5 flex flex-col gap-2`,children:[(0,Q.jsx)(`h3`,{className:`text-sm`,children:`Allow notifications in your browser`}),(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:`This browser is blocking notifications. Your preference is saved. Allow notifications in the browser’s site settings to receive them.`}),(0,Q.jsx)(`p`,{className:`settings-readout`,children:`Notifications are blocked for this site.`})]}):null]})})}function LS({open:e,onOpenChange:t}){let[n,r]=(0,Z.useState)(null),[i,o]=(0,Z.useState)(null),s=yn(),c=Xr(),l=A(),u=new Set((s.data?.projects??[]).map(e=>e.root)),d=e=>{r(e),o(null),c.reset()},f=Ib(n,i);return(0,Q.jsx)(Xo,{open:e,onOpenChange:t,children:(0,Q.jsxs)(Yo,{"data-slot":`add-project-dialog`,className:`sm:max-w-lg`,children:[(0,Q.jsxs)($o,{children:[(0,Q.jsx)(Jo,{children:`Open local folder`}),(0,Q.jsxs)(qo,{children:[`Pick the folder `,a(`cezar`),` should run in. Git repos are marked; any folder works.`]})]}),(0,Q.jsxs)(Qo,{className:`space-y-4`,children:[(0,Q.jsx)(Pb,{path:n,selected:i,onSelect:o,onEnter:d,emptyHint:`No subfolders here — “Add project” registers this folder.`,decorate:e=>(0,Q.jsxs)(Q.Fragment,{children:[e.isRepo?(0,Q.jsx)(yp,{variant:`outline`,className:`shrink-0 text-[12px]`,children:`git`}):null,u.has(e.path)?(0,Q.jsx)(yp,{variant:`ghost`,className:`shrink-0 text-[12px] text-muted-foreground`,children:`already added`}):null]})}),c.isError?(0,Q.jsx)(`p`,{"data-slot":`add-project-error`,className:`min-w-0 break-words text-[13px] text-danger`,children:c.error instanceof Error?c.error.message:`could not add that folder`}):null]}),(0,Q.jsxs)(Zo,{className:`min-w-0 sm:items-center sm:justify-between`,children:[(0,Q.jsx)(`span`,{"data-slot":`add-project-target`,className:`min-w-0 truncate font-mono text-[11px] text-muted-foreground`,title:f??void 0,children:f??``}),(0,Q.jsxs)(`span`,{className:`flex shrink-0 gap-2`,children:[(0,Q.jsx)(D,{variant:`outline`,onClick:()=>t(!1),children:`Cancel`}),(0,Q.jsx)(D,{"data-slot":`add-project-confirm`,disabled:f===null||c.isPending,onClick:()=>{f===null||c.isPending||c.mutate(f,{onSuccess:({project:e})=>{t(!1),l(`/p/${encodeURIComponent(e.id)}/`)}})},children:c.isPending?`Adding…`:`Add project`})]})]})]})})}function RS(){let e=wr();return{isPending:e.isPending,confirm:(t,n)=>e.mutate(t.id,{onSuccess:()=>{K(`${t.name} removed from the workspace — its files are untouched`),n?.()},onError:e=>K(e.message,{tone:`danger`})})}}function zS({project:e,onOpenChange:t,onConfirm:n}){return(0,Q.jsx)(Sa,{open:e!==null,onOpenChange:t,children:(0,Q.jsxs)(ma,{children:[(0,Q.jsxs)(xa,{children:[(0,Q.jsxs)(la,{children:[`Remove `,e?.name,` from the workspace?`]}),(0,Q.jsxs)(ca,{children:[`This only unregisters the project — `,(0,Q.jsx)(`strong`,{children:`nothing on disk is deleted`}),`. The folder, its git history and its task history all stay exactly where they are, and opening it again re-registers it with everything intact.`,(0,Q.jsx)(`span`,{className:`mt-1 block truncate font-mono text-[11px] text-foreground`,title:e?.root,children:e?.root})]})]}),(0,Q.jsxs)(va,{children:[(0,Q.jsx)(ba,{children:`Keep it`}),(0,Q.jsx)(_a,{"data-action":`projects-confirm-remove`,className:`bg-danger text-danger-foreground hover:brightness-[0.96]`,onClick:n,children:`Remove from list`})]})]})})}function BS({title:e,hint:t,children:n}){return(0,Q.jsxs)(`section`,{className:`settings-field flex flex-col gap-2`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{className:`text-sm font-semibold text-foreground`,children:e}),(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t})]}),n]})}var VS=1,HS={ok:`ok`,"not-git":`no git repo`,missing:`folder not found`};function US(e){let t=new Date(e);return Number.isNaN(t.getTime())?`—`:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}function WS(){let e=yi(),t=yn();return e.isPending||t.isPending?(0,Q.jsx)(`p`,{"data-slot":`projects-loading`,className:`p-4 text-[13px] text-soft-foreground md:p-6`,children:`Loading projects…`}):e.isError||t.isError?(0,Q.jsx)(X,{icon:(0,Q.jsx)(Do,{}),tone:`danger`,title:`Project settings did not load`,subtitle:(e.error??t.error)?.message,heading:`h2`}):(0,Q.jsx)(GS,{config:e.data,registry:t.data})}function GS({config:e,registry:t}){let[n,r]=(0,Z.useState)(!1);return(0,Q.jsxs)(`div`,{"data-slot":`projects-section`,className:`mx-auto flex w-full max-w-4xl flex-col gap-7 p-4 pb-[calc(90px+env(safe-area-inset-bottom))] md:p-6 md:pb-6`,children:[(0,Q.jsx)(KS,{configKey:`browseRoot`,value:e.browseRoot,title:`Default browse folder`,hint:`Where “Open local folder…” starts. The picker cannot navigate above this folder.`,placeholder:`~/`,slot:`browse`,savedLabel:`Browse folder`,footer:`Only affects folder browsing; GitHub checkouts use the separate checkout folder.`}),(0,Q.jsx)(KS,{configKey:`projectsDir`,value:e.projectsDir,title:`Default checkout folder`,hint:`Where “Clone from GitHub” puts new projects: <folder>/<project name>.`,placeholder:`~/cezar/projects`,slot:`checkout`,savedLabel:`Checkout folder`,footer:`Only affects new checkouts; projects already registered keep their location.`,refreshProjects:!0}),(0,Q.jsx)(qS,{registry:t,workspaceMax:e.resources.maxParallel}),(0,Q.jsx)(D,{className:`self-start`,onClick:()=>r(!0),children:`Add project`}),n?(0,Q.jsx)(LS,{open:!0,onOpenChange:r}):null]})}function KS({configKey:e,value:t,title:n,hint:r,placeholder:i,slot:a,savedLabel:o,footer:s,refreshProjects:c=!1}){let l=I(),u=W({mutationFn:t=>Pt(e===`browseRoot`?{browseRoot:t}:{projectsDir:t}),onSuccess:t=>{l.setQueryData(H.config,t),e===`browseRoot`?l.invalidateQueries({queryKey:H.fsBrowseRoot}):c&&l.invalidateQueries({queryKey:H.projects})}}),[d,f]=(0,Z.useState)(t),p=d.trim(),m=p===t,h=u.isError?u.error.message:null;return(0,Q.jsxs)(BS,{title:n,hint:`${r} ${e===`browseRoot`?`Choose an existing folder; it is verified writable before saving.`:`The folder is created recursively if needed, then verified writable before saving.`}`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`input`,{type:`text`,spellCheck:!1,"aria-label":n,"aria-invalid":h!==null,"data-slot":`projects-${a}-root`,value:d,disabled:u.isPending,placeholder:i,onChange:e=>{f(e.target.value),u.isError&&u.reset()},className:`block w-full max-w-sm rounded-md border border-input bg-card px-3 py-1.5 font-mono text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-danger disabled:opacity-50`}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,"data-action":`projects-save-${a}-root`,disabled:m||p===``||u.isPending,onClick:()=>u.mutate(p,{onSuccess:()=>K(`${o} set to ${p}`)}),children:`Save`})]}),h===null?(0,Q.jsx)(`p`,{className:`text-[11px] text-soft-foreground`,children:s}):(0,Q.jsxs)(`p`,{"data-slot":`projects-${a}-root-error`,role:`alert`,className:`text-[11px] text-danger`,children:[h,` — setting unchanged`]})]})}function qS({registry:e,workspaceMax:t}){let[n,r]=(0,Z.useState)(null),i=RS(),a=(0,Z.useMemo)(()=>cr(e.projects),[e.projects]);return(0,Q.jsxs)(BS,{title:`Registered projects`,hint:`Connected repositories. Removing a project only unregisters it — no files on disk are deleted.`,children:[e.projects.length===0?(0,Q.jsx)(`p`,{"data-slot":`projects-empty`,className:`text-[13px] text-soft-foreground`,children:`No projects registered yet.`}):(0,Q.jsx)(`div`,{className:`overflow-x-auto rounded-md border border-border`,children:(0,Q.jsxs)(`table`,{className:`w-full border-collapse text-sm`,children:[(0,Q.jsx)(`caption`,{className:`sr-only`,children:`Projects registered in this workspace`}),(0,Q.jsxs)(`colgroup`,{children:[(0,Q.jsx)(`col`,{}),(0,Q.jsx)(`col`,{style:{width:`104px`}}),(0,Q.jsx)(`col`,{style:{width:`260px`}}),(0,Q.jsx)(`col`,{style:{width:`150px`}}),(0,Q.jsx)(`col`,{style:{width:`72px`}}),(0,Q.jsx)(`col`,{style:{width:`92px`}})]}),(0,Q.jsx)(`thead`,{children:(0,Q.jsxs)(`tr`,{className:`border-b border-border text-left text-[12px] text-soft-foreground`,children:[(0,Q.jsx)(`th`,{scope:`col`,className:`px-3 py-2 font-medium`,children:`Project`}),(0,Q.jsx)(`th`,{scope:`col`,className:`px-3 py-2 font-medium`,children:`Status`}),(0,Q.jsx)(`th`,{scope:`col`,className:`px-3 py-2 font-medium`,children:`Tags`}),(0,Q.jsx)(`th`,{scope:`col`,className:`px-3 py-2 font-medium`,children:`Max parallel`}),(0,Q.jsx)(`th`,{scope:`col`,className:`px-3 py-2 font-medium`,children:`Added`}),(0,Q.jsx)(`th`,{scope:`col`,className:`px-3 py-2 font-medium text-right`,children:`Actions`})]})}),(0,Q.jsx)(`tbody`,{children:e.projects.map(n=>(0,Q.jsx)(JS,{project:n,isBoot:n.id===e.bootProject,workspaceMax:t,vocabulary:a,disabled:i.isPending,onRemove:()=>r(n)},n.id))})]})}),(0,Q.jsx)(zS,{project:n,onOpenChange:e=>!e&&r(null),onConfirm:()=>{if(!n)return;let e=n;r(null),i.confirm(e)}})]})}function JS({project:e,isBoot:t,workspaceMax:n,vocabulary:r,disabled:i,onRemove:o}){return(0,Q.jsxs)(`tr`,{"data-slot":`project-row`,"data-project":e.id,className:`border-b border-border last:border-0`,children:[(0,Q.jsxs)(`th`,{scope:`row`,className:`max-w-0 px-3 py-2 text-left font-normal`,children:[(0,Q.jsx)(`span`,{className:`block truncate text-foreground`,children:e.name}),(0,Q.jsx)(`span`,{className:`block truncate font-mono text-[11px] text-soft-foreground`,title:e.root,children:e.root})]}),(0,Q.jsxs)(`td`,{className:`px-3 py-2`,children:[(0,Q.jsx)(`span`,{"data-slot":`project-status`,className:e.status===`missing`?`text-[12px] text-danger`:`text-[12px] text-soft-foreground`,children:HS[e.status]}),e.status===`missing`?null:(0,Q.jsxs)(`span`,{className:`ml-1 text-[11px] text-soft-foreground`,children:[`· `,e.source]})]}),(0,Q.jsx)(`td`,{className:`px-3 py-2`,children:(0,Q.jsx)(YS,{project:e,vocabulary:r})}),(0,Q.jsx)(`td`,{className:`px-3 py-2`,children:(0,Q.jsx)(XS,{project:e,workspaceMax:n})}),(0,Q.jsx)(`td`,{className:`px-3 py-2 tabular-nums text-soft-foreground`,children:US(e.addedAt)}),(0,Q.jsxs)(`td`,{className:`px-3 py-2 text-right`,children:[e.status===`missing`?null:(0,Q.jsx)(D,{asChild:!0,variant:`outline`,className:`mr-2`,children:(0,Q.jsx)(w,{to:`/p/${encodeURIComponent(e.id)}`,children:`Open`})}),(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`sm`,"data-action":`project-remove`,"aria-label":`Remove ${e.name} from the workspace — unregisters it, no files are deleted`,title:t?`${a(`cezar`)} is serving this project — it re-registers itself at every start`:void 0,disabled:i||t,onClick:o,children:`Remove`})]})]})}function YS({project:e,vocabulary:t}){let n=Rn(),[r,i]=(0,Z.useState)(``),[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(-1),l=(0,Z.useRef)(null),u=e.tags??[],d=Pn(t,u,r),f=a&&d.length>0,p=(t,r)=>{n.mutate({id:e.id,tags:t},{onSuccess:()=>K(r),onError:e=>K(e.message,{tone:`danger`})})},m=t=>{let n=t.trim().slice(0,32);if(c(-1),n){if(u.some(e=>e.toLowerCase()===n.toLowerCase())){i(``);return}if(u.length>=20){K(`${e.name} already has the maximum of 20 tags`,{tone:`danger`});return}i(``),p([...u,n],`${e.name} tagged \u201c${n}\u201d`)}},h=t=>{p(u.filter(e=>e!==t),`\u201c${t}\u201d removed from ${e.name}`)},g=`project-tag-suggestions-${e.id}`;return(0,Q.jsxs)(`div`,{"data-slot":`project-tags`,className:`flex flex-wrap items-center gap-1`,children:[u.map(t=>(0,Q.jsxs)(`span`,{"data-slot":`project-tag`,className:`inline-flex max-w-full items-center gap-1 rounded-full bg-accent-strong/15 py-px pr-1 pl-2 text-[11px] font-medium whitespace-nowrap text-accent-text`,children:[t,(0,Q.jsx)(`button`,{type:`button`,"data-action":`project-tag-remove`,"aria-label":`Remove tag ${t} from ${e.name}`,disabled:n.isPending,onClick:()=>h(t),className:`rounded-full p-0.5 hover:bg-accent-strong/25 disabled:opacity-50`,children:(0,Q.jsx)(Ao,{className:`size-3`,"aria-hidden":`true`})})]},t)),(0,Q.jsxs)(Ka,{open:f,onOpenChange:o,children:[(0,Q.jsx)(Ha,{asChild:!0,children:(0,Q.jsx)(`input`,{ref:l,type:`text`,"data-slot":`project-tag-input`,"aria-label":`Add a tag to ${e.name}`,role:`combobox`,"aria-expanded":f,"aria-controls":f?g:void 0,"aria-autocomplete":`list`,"aria-activedescendant":f&&s>=0?`${g}-${s}`:void 0,placeholder:u.length===0?`Add tag…`:`+`,value:r,maxLength:32,disabled:n.isPending,onFocus:()=>o(!0),onBlur:()=>o(!1),onChange:e=>{if(o(!0),c(-1),e.target.value.includes(`,`)){i(e.target.value.replace(/,/g,``));return}i(e.target.value)},onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(d.length===0)return;e.preventDefault(),o(!0);let t=e.key===`ArrowDown`?1:-1,n=s+t;c(n>=d.length?-1:n<-1?d.length-1:n);return}if(e.key===`Escape`&&f){e.preventDefault(),o(!1),c(-1);return}if(e.key===`Enter`||e.key===`,`){e.preventDefault(),m(s>=0?d[s]??r:r);return}if(e.key===`Tab`){o(!1);return}if(e.key===`Backspace`&&r===``&&u.length>0){e.preventDefault();let t=u[u.length-1];t!==void 0&&h(t)}},className:`h-6 w-16 min-w-0 flex-1 rounded-md border border-input bg-card px-1.5 text-[12px] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:opacity-50`})}),(0,Q.jsxs)(Wa,{align:`start`,sideOffset:4,id:g,role:`listbox`,"data-slot":`project-tag-suggestions`,className:`w-56 p-1`,onOpenAutoFocus:e=>e.preventDefault(),onCloseAutoFocus:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,Q.jsx)(`p`,{className:`px-2 pt-1 pb-1.5 text-[11px] text-soft-foreground`,children:`Tags used in this workspace`}),d.map((e,t)=>(0,Q.jsx)(`button`,{type:`button`,id:`${g}-${t}`,role:`option`,"aria-selected":t===s,"data-slot":`project-tag-suggestion`,onMouseDown:e=>e.preventDefault(),onClick:()=>{m(e),l.current?.focus()},onMouseEnter:()=>c(t),className:O(`flex w-full items-center rounded-sm px-2 py-1 text-left text-[12px] font-medium text-accent-text`,t===s&&`bg-muted`),children:e},e))]})]})]})}function XS({project:e,workspaceMax:t}){let n=Rn(),r=e.maxParallel===void 0?``:String(e.maxParallel);return(0,Q.jsxs)(`select`,{"aria-label":`Max parallel tasks for ${e.name}`,"data-slot":`project-max-parallel`,value:r,disabled:n.isPending,onChange:r=>{let i=r.target.value,a=i===``?null:Number(i);n.mutate({id:e.id,maxParallel:a},{onSuccess:()=>K(a===null?`${e.name} inherits the workspace limit (${t})`:`${e.name} runs at most ${a} task${a===1?``:`s`} at a time`),onError:e=>K(e.message,{tone:`danger`})})},className:`block w-44 rounded-md border border-input bg-card px-2 py-1.5 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:opacity-50`,children:[(0,Q.jsxs)(`option`,{value:``,children:[`Inherit workspace (`,t,`)`]}),Array.from({length:16},(e,t)=>t+VS).map(e=>(0,Q.jsx)(`option`,{value:e,children:e},e))]})}function ZS(){let e=Zn();return e.isPending?(0,Q.jsx)(`p`,{"data-slot":`prompt-templates-loading`,className:`p-4 text-[13px] text-soft-foreground md:p-6`,children:`Loading prompt templates…`}):e.isError?(0,Q.jsx)(X,{icon:(0,Q.jsx)(to,{}),tone:`danger`,title:`Prompt templates did not load`,subtitle:e.error.message,heading:`h2`}):(0,Q.jsx)(QS,{initial:Cc(e.data.promptTemplates)})}function QS({initial:e}){let t=I(),n=zr(),r=Zn(),[i,a]=(0,Z.useState)(e),[o,s]=(0,Z.useState)(``),[c,l]=(0,Z.useState)(``),u=W({mutationFn:e=>Ct({promptTemplates:e}),onSuccess:e=>{t.setQueryData(G.uiState,e),K(`Prompt templates saved`)},onError:e=>K(e.message,{tone:`danger`})}),d=JSON.stringify(i)!==JSON.stringify(e),f=i.some(e=>e.label.trim()===``||e.text.trim()===``),p=(e,t)=>a(n=>n.map(n=>n.id===e?{...n,...t}:n)),m=(e,t)=>a(n=>n.map(n=>{if(n.id!==e)return n;let r=n.skills??[],i=r.includes(t)?r.filter(e=>e!==t):[...r,t],{skills:a,...o}=n;return i.length>0?{...o,skills:i}:o})),h=e=>a(t=>t.filter(t=>t.id!==e));return(0,Q.jsx)(`div`,{"data-slot":`prompt-templates-section`,className:`mx-auto flex w-full max-w-2xl flex-col gap-7 p-4 pb-[calc(90px+env(safe-area-inset-bottom))] md:p-6 md:pb-6`,children:(0,Q.jsxs)(eC,{title:`Reusable instructions`,hint:`Insert templates from task composers, or apply them automatically with selected skills when the prompt is empty.`,children:[(0,Q.jsx)(`div`,{"data-slot":`prompt-template-list`,className:`flex flex-col gap-3`,children:i.length===0?(0,Q.jsx)(`p`,{"data-slot":`prompt-templates-empty`,className:`text-[13px] text-soft-foreground`,children:`No templates. Add one below, or reset to the built-ins.`}):i.map(e=>(0,Q.jsxs)(`div`,{"data-slot":`prompt-template-row`,"data-template":e.id,className:`flex flex-col gap-1.5 rounded-md border border-border bg-card p-3`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(`label`,{htmlFor:`template-label-${e.id}`,className:`text-sm`,children:`Template label`}),(0,Q.jsx)(Dp,{id:`template-label-${e.id}`,"aria-label":`Label for ${e.label||`this template`}`,"data-slot":`prompt-template-label-input`,value:e.label,maxLength:80,onChange:t=>p(e.id,{label:t.target.value}),className:`flex-1`})]}),(0,Q.jsx)(`label`,{htmlFor:`template-text-${e.id}`,className:`text-sm`,children:`Instructions`}),(0,Q.jsx)(es,{id:`template-text-${e.id}`,"aria-label":`Text for ${e.label||`this template`}`,"data-slot":`prompt-template-text-input`,value:e.text,maxLength:2e3,onChange:t=>p(e.id,{text:t.target.value}),className:`min-h-14 text-[13px]`}),(0,Q.jsx)(`p`,{className:`mt-3 text-sm`,children:`Apply automatically with skills`}),(0,Q.jsxs)(`div`,{className:`mt-0.5 flex flex-wrap items-center gap-1.5`,children:[(0,Q.jsx)($S,{label:e.label,skills:n.data??[],skillUsage:r.data?.skillUsage,selected:e.skills??[],onToggle:t=>m(e.id,t)}),(e.skills??[]).map(t=>(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`prompt-template-skill-chip`,"data-skill":t,title:`Stop applying “${e.label}” automatically with ${t}`,onClick:()=>m(e.id,t),className:`inline-flex items-center gap-1 rounded-full border border-border bg-muted px-2 py-px font-mono text-[11px] font-medium text-foreground transition-colors hover:bg-danger/10 hover:text-danger`,children:[t,(0,Q.jsx)(Ao,{"aria-hidden":`true`,className:`size-3`})]},t))]}),(0,Q.jsx)(D,{type:`button`,className:`self-start`,variant:`outline`,size:`sm`,"data-action":`prompt-template-remove`,title:`Remove this template`,onClick:()=>h(e.id),children:`Delete template`})]},e.id))}),(0,Q.jsxs)(`div`,{"data-slot":`prompt-template-new`,className:`flex flex-col gap-1.5 rounded-md border border-dashed border-border p-3`,children:[(0,Q.jsx)(`h3`,{className:`text-lg`,children:`New template`}),(0,Q.jsx)(`label`,{htmlFor:`new-template-label`,className:`text-sm`,children:`Label`}),(0,Q.jsx)(Dp,{id:`new-template-label`,"aria-label":`New template label`,"data-slot":`prompt-template-new-label`,placeholder:`e.g. Review security`,value:o,maxLength:80,onChange:e=>s(e.target.value)}),(0,Q.jsx)(`label`,{htmlFor:`new-template-text`,className:`text-sm`,children:`Instructions to insert`}),(0,Q.jsx)(es,{id:`new-template-text`,"aria-label":`New template text`,"data-slot":`prompt-template-new-text`,placeholder:`Enter reusable instructions…`,value:c,maxLength:2e3,onChange:e=>l(e.target.value),className:`min-h-14 text-[13px]`}),(0,Q.jsxs)(D,{type:`button`,variant:`outline`,size:`sm`,"data-action":`prompt-template-add`,disabled:!o.trim()||!c.trim(),onClick:()=>{let e=o.trim(),t=c.trim();!e||!t||(a(n=>[...n,{id:Zs(),label:e,text:t}]),s(``),l(``))},className:`self-start`,children:[(0,Q.jsx)(uo,{"aria-hidden":`true`,className:`size-3.5`}),`Add template`]})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsx)(D,{type:`button`,variant:`primary`,size:`sm`,"data-action":`prompt-templates-save`,disabled:!d||f||u.isPending,onClick:()=>u.mutate(i),children:`Save`}),(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`sm`,"data-action":`prompt-templates-reset`,disabled:u.isPending,onClick:()=>a(Ws.map(e=>({...e}))),children:`Reset to defaults`}),f?(0,Q.jsx)(`p`,{"data-slot":`prompt-templates-invalid`,className:`text-[11px] text-danger`,children:`Every template needs both a label and text.`}):null]})]})})}function $S({label:e,skills:t,skillUsage:n,selected:r,onToggle:i}){let[a,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(``),l=(0,Z.useRef)(null),{mostUsed:u,project:d,global:f,ranked:p}=Nc(t,s,n),m=(e,t)=>{let n=r.includes(e.name);return(0,Q.jsxs)(lc,{value:`skill ${e.name} ${e.path}`,keywords:Ec(e.name,e.description),"data-slot":`prompt-template-skill-option`,"data-skill":e.name,"data-selected":n?`true`:void 0,onSelect:()=>i(e.name),children:[(0,Q.jsx)(`span`,{className:O(`shrink-0 font-mono text-xs`,t&&`font-semibold`),children:e.name}),e.description?(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-soft-foreground`,children:e.description}):null,n?(0,Q.jsx)(Oo,{"aria-hidden":`true`,className:`ml-auto size-3.5 shrink-0 text-link-foreground`}):null]},e.path)};return(0,Q.jsxs)(Ka,{open:a,onOpenChange:e=>{o(e),e||c(``)},children:[(0,Q.jsx)(Va,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`prompt-template-skills-trigger`,"aria-label":`Apply ${e||`this template`} automatically with a skill`,title:`Pick the skills this template applies itself to`,disabled:t.length===0,className:O(`inline-flex h-[26px] items-center gap-1.5 rounded-full border border-border bg-card px-2.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground disabled:pointer-events-none disabled:opacity-50`,r.length>0&&`border-foreground/60 font-semibold text-foreground`),children:[(0,Q.jsx)(Lo,{"aria-hidden":`true`,className:`size-3 shrink-0 text-accent-icon`}),t.length===0?`no skills found`:`apply with…`,(0,Q.jsx)(Vo,{"aria-hidden":`true`,className:`size-2.5 shrink-0 text-soft-foreground`})]})}),(0,Q.jsx)(Wa,{align:`start`,sideOffset:8,className:`w-[336px] max-w-[calc(100vw-2rem)] p-0`,children:(0,Q.jsxs)(Us,{shouldFilter:!1,children:[(0,Q.jsx)(zs,{placeholder:`search skills…`,value:s,onValueChange:c,onInput:()=>l.current?.scrollTo(0,0)}),(0,Q.jsxs)(Js,{ref:l,"data-slot":`prompt-template-skill-menu`,className:`max-h-[min(16rem,calc(var(--radix-popover-content-available-height)-3rem))]`,children:[(p?p.length===0:u.length===0&&d.length===0&&f.length===0)?(0,Q.jsx)(Ys,{children:`Nothing matches.`}):null,p?p.length>0?(0,Q.jsx)(uc,{children:p.map(e=>m(e,Dc(e)))}):null:(0,Q.jsxs)(Q.Fragment,{children:[u.length>0?(0,Q.jsx)(uc,{heading:`Most used`,children:u.map(e=>m(e,Dc(e)))}):null,d.length>0?(0,Q.jsx)(uc,{heading:`Project skills`,children:d.map(e=>m(e,!0))}):null,f.length>0?(0,Q.jsx)(uc,{heading:`Global`,children:f.map(e=>m(e,!1))}):null]})]})]})})]})}function eC({title:e,hint:t,children:n}){return(0,Q.jsxs)(`section`,{className:`settings-field flex flex-col gap-2`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`h2`,{className:`text-sm font-semibold text-foreground`,children:e}),(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:t})]}),n]})}var tC=1,nC=1,rC=60,iC=256;function aC(){let e=yi();return e.isPending?(0,Q.jsx)(`p`,{"data-slot":`resources-loading`,className:`p-4 text-[13px] text-soft-foreground md:p-6`,children:`Loading resource settings…`}):e.isError?(0,Q.jsx)(X,{icon:(0,Q.jsx)(Ja,{}),tone:`danger`,title:`Resource settings did not load`,subtitle:e.error.message,heading:`h2`}):(0,Q.jsx)(oC,{config:e.data})}function oC({config:e}){let t=I(),n=W({mutationFn:e=>Pt(e),onSuccess:e=>t.setQueryData(H.config,e),onError:e=>K(e.message,{tone:`danger`})}),[r,i]=(0,Z.useState)(e.resources.memoryLimitMb?String(e.resources.memoryLimitMb):``),a=e.resources.monitoringWakeIntervalMinutes??null,[o,s]=(0,Z.useState)(a===null?`park`:`interval`),[c,l]=(0,Z.useState)(String(a??5)),u=Number(c),d=!Number.isInteger(u)||u<nC||u>rC,f=o===`park`?a===null:!d&&a===u,p=o===`interval`&&d,m=()=>n.mutate({resources:{monitoringWakeIntervalMinutes:o===`park`?null:u}},{onSuccess:()=>K(o===`park`?`Monitoring will stay parked`:`Monitoring will re-check every ${u} minutes`)}),h=e.resources.autoResumeOnUsageLimit??!0,g=e=>n.mutate({resources:{autoResumeOnUsageLimit:e}},{onSuccess:()=>K(e?`Tasks stopped by a usage limit will resume themselves`:`Tasks stopped by a usage limit will stay failed`)}),_=r.trim()===``?0:Number(r),v=r.trim()!==``&&(!Number.isInteger(_)||_<iC),y=(e.resources.memoryLimitMb??0)===(v?-1:_),b=()=>n.mutate({resources:{memoryLimitMb:_===0?null:_}},{onSuccess:()=>K(_===0?`Memory limit cleared`:`Memory limit set to ${_} MiB`)}),x=e.composerDefaults??{autonomous:null,worktree:null,inheritedAutonomous:`source-dependent`,inheritedWorktree:!0};return(0,Q.jsxs)(`div`,{"data-slot":`resources-section`,className:`mx-auto flex w-full max-w-2xl flex-col gap-7 p-4 pb-[calc(90px+env(safe-area-inset-bottom))] md:p-6 md:pb-6`,children:[(0,Q.jsx)(sC,{maxParallel:e.resources.maxParallel,onSelect:e=>n.mutate({resources:{maxParallel:e}}),disabled:n.isPending}),(0,Q.jsx)(cC,{maxParallel:e.resources.maxParallel,maxMonitoringSessions:e.resources.maxMonitoringSessions,onSelect:e=>n.mutate({resources:{maxMonitoringSessions:e}}),disabled:n.isPending}),(0,Q.jsx)(lC,{wakeMode:o,setWakeMode:s,wakeInterval:c,setWakeInterval:l,showInvalid:p,wakeSaved:f,saveWake:m,saveIsPending:n.isPending}),(0,Q.jsxs)(BS,{title:`Auto-resume after a usage limit`,hint:`Resume eligible tasks once the provider usage limit resets.`,children:[(0,Q.jsx)(Ta,{"aria-label":`Auto-resume after a usage limit`,"data-slot":`resources-auto-resume`,checked:h,disabled:n.isPending,onCheckedChange:g}),(0,Q.jsx)(`p`,{className:`text-[11px] text-soft-foreground`,children:`Applies to Claude, Codex and OpenCode — whenever the provider says when the limit lifts.`})]}),(0,Q.jsx)(uC,{memory:r,setMemory:i,memoryInvalid:v,memorySaved:y,saveMemory:b,saveIsPending:n.isPending}),(0,Q.jsx)(fC,{composerDefaults:x,saveComposerDefault:(e,t)=>n.mutate({composerDefaults:{[e]:t===`inherit`?null:t===`on`}}),saveIsPending:n.isPending})]})}function sC({maxParallel:e,onSelect:t,disabled:n}){return(0,Q.jsxs)(BS,{title:`Max parallel tasks`,hint:`Limit simultaneously running tasks.`,children:[(0,Q.jsx)(`select`,{"aria-label":`Max parallel tasks`,"data-slot":`resources-max-parallel`,value:e,disabled:n,onChange:e=>t(Number(e.target.value)),className:`block w-28 rounded-md border border-input bg-card px-3 py-1.5 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:opacity-50`,children:Array.from({length:16},(e,t)=>t+tC).map(e=>(0,Q.jsx)(`option`,{value:e,children:e},e))}),(0,Q.jsxs)(`p`,{className:`text-[11px] text-soft-foreground`,children:[`Need a different limit for one project?`,` `,(0,Q.jsx)(w,{to:`/settings/global/projects`,"data-slot":`resources-project-limits-link`,className:`font-medium text-foreground underline decoration-border underline-offset-2 hover:decoration-foreground`,children:`Configure per-project limits`}),`.`]})]})}function cC({maxParallel:e,maxMonitoringSessions:t,onSelect:n,disabled:r}){return(0,Q.jsxs)(BS,{title:`Extra monitoring sessions`,hint:`Additional capacity reserved for monitoring.`,children:[(0,Q.jsx)(`select`,{"aria-label":`Extra monitoring sessions`,"data-slot":`resources-max-monitoring`,value:t??2,disabled:r,onChange:e=>n(Number(e.target.value)),className:`block w-28 rounded-md border border-input bg-card px-3 py-1.5 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:opacity-50`,children:Array.from({length:17},(e,t)=>(0,Q.jsx)(`option`,{value:t,children:t},t))}),(0,Q.jsxs)(`p`,{className:`text-[11px] text-soft-foreground`,children:[`Capacity: `,e,` active + `,t??2,` monitoring. Set 0 to make monitoring share active slots.`]})]})}function lC({wakeMode:e,setWakeMode:t,wakeInterval:n,setWakeInterval:r,showInvalid:i,wakeSaved:a,saveWake:o,saveIsPending:s}){return(0,Q.jsxs)(BS,{title:`Monitoring wake-up`,hint:`Wake monitoring sessions periodically.`,children:[(0,Q.jsxs)(`div`,{className:`settings-resource-controls flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(Ta,{"aria-label":`Monitoring wake-up`,"data-slot":`resources-monitoring-wake-mode`,checked:e===`interval`,disabled:s,onCheckedChange:e=>t(e?`interval`:`park`)}),e===`interval`?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`label`,{htmlFor:`monitoring-wake-interval`,className:`w-full text-sm`,children:`Wake interval`}),(0,Q.jsx)(`input`,{id:`monitoring-wake-interval`,type:`number`,min:nC,max:rC,"aria-label":`Wake interval in minutes`,"data-slot":`resources-monitoring-wake-interval`,value:n,disabled:s,onChange:e=>r(e.target.value),className:`block w-24 rounded-md border border-input bg-card px-3 py-1.5 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:opacity-50`}),(0,Q.jsx)(`span`,{className:`text-xs text-soft-foreground`,children:`minutes`})]}):null,(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,"data-action":`resources-save-monitoring-wake`,disabled:a||i||s,onClick:o,children:`Save`})]}),i?(0,Q.jsx)(`p`,{"data-slot":`resources-monitoring-wake-invalid`,className:`text-[11px] text-danger`,children:`Enter a whole number from 1 to 60 minutes.`}):(0,Q.jsx)(`p`,{className:`text-[11px] text-soft-foreground`,children:`Applied consistently to Claude, Codex and OpenCode.`})]})}function uC({memory:e,setMemory:t,memoryInvalid:n,memorySaved:r,saveMemory:i,saveIsPending:a}){return(0,Q.jsxs)(BS,{title:`Per-task memory limit`,hint:`Leave blank for no limit.`,children:[(0,Q.jsxs)(`div`,{className:`settings-resource-controls flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`input`,{type:`number`,inputMode:`numeric`,min:iC,step:256,"aria-label":`Per-task memory limit in MiB`,"data-slot":`resources-memory-limit`,value:e,disabled:a,placeholder:`no limit`,onChange:e=>t(e.target.value),className:`block w-32 rounded-md border border-input bg-card px-3 py-1.5 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:opacity-50`}),(0,Q.jsx)(`span`,{className:`text-xs text-soft-foreground`,children:`MiB`}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,size:`sm`,"data-action":`resources-save-memory`,disabled:r||n||a,onClick:i,children:`Save`})]}),n?(0,Q.jsxs)(`p`,{"data-slot":`resources-memory-invalid`,className:`text-[11px] text-danger`,children:[`Enter a whole number of at least `,iC,` MiB, or leave empty for no limit.`]}):(0,Q.jsx)(`p`,{className:`text-[11px] text-soft-foreground`,children:`Applies to newly started tasks.`})]})}function dC(e){return e===null?`inherit`:e?`on`:`off`}function fC({composerDefaults:e,saveComposerDefault:t,saveIsPending:n}){return(0,Q.jsxs)(BS,{title:`New task defaults`,hint:`Apply to new tasks unless overridden.`,children:[(0,Q.jsxs)(`div`,{className:`grid gap-4 sm:grid-cols-2`,"data-slot":`resources-composer-defaults`,children:[(0,Q.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,Q.jsx)(`span`,{className:`font-medium`,children:`Autonomous by default`}),(0,Q.jsxs)(`select`,{"aria-label":`Autonomous by default`,value:dC(e.autonomous),disabled:n,onChange:e=>t(`autonomous`,e.target.value),className:`rounded-md border border-input bg-card px-3 py-1.5 shadow-xs outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:[(0,Q.jsx)(`option`,{value:`inherit`,children:`Inherit environment`}),(0,Q.jsx)(`option`,{value:`on`,children:`On`}),(0,Q.jsx)(`option`,{value:`off`,children:`Off`})]}),(0,Q.jsxs)(`span`,{className:`text-[11px] text-soft-foreground`,children:[`Inherited: `,e.inheritedAutonomous===`source-dependent`?`Source-dependent — skills on, workflows off`:e.inheritedAutonomous?`On`:`Off`]})]}),(0,Q.jsxs)(`label`,{className:`grid gap-1.5 text-sm`,children:[(0,Q.jsx)(`span`,{className:`font-medium`,children:`Use a worktree by default`}),(0,Q.jsxs)(`select`,{"aria-label":`Use a worktree by default`,value:dC(e.worktree),disabled:n,onChange:e=>t(`worktree`,e.target.value),className:`rounded-md border border-input bg-card px-3 py-1.5 shadow-xs outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50`,children:[(0,Q.jsx)(`option`,{value:`inherit`,children:`Inherit environment`}),(0,Q.jsx)(`option`,{value:`on`,children:`On`}),(0,Q.jsx)(`option`,{value:`off`,children:`Off`})]}),(0,Q.jsxs)(`span`,{className:`text-[11px] text-soft-foreground`,children:[`Inherited: `,e.inheritedWorktree?`On`:`Off`]})]})]}),(0,Q.jsx)(`p`,{className:`text-[11px] text-soft-foreground`,children:`Interactive skills may recommend both off. Multi-step and parallel runs remain isolated.`})]})}var pC=[[`overall`,`Overall`],[`needsYou`,`Needs You`],[`finished`,`Finished`],[`working`,`Working`]];function mC(){let e=o(),t=pr(e);return t.isPending?(0,Q.jsx)(`p`,{role:`status`,className:`p-4 text-sm text-muted-foreground`,children:`Loading sidebar settings…`}):t.isError?(0,Q.jsxs)(`div`,{className:`space-y-3 p-4`,children:[(0,Q.jsxs)(`p`,{role:`alert`,children:[`Sidebar settings did not load: `,t.error.message]}),(0,Q.jsx)(D,{className:`min-h-[44px]`,onClick:()=>void t.refetch(),children:`Retry`})]}):(0,Q.jsx)(hC,{scope:e,initial:t.data.sidebarLimits??{}},e)}function hC({scope:e,initial:t}){let n=I(),r=rn(void 0),i=gC(t),[a,o]=(0,Z.useState)(()=>({values:i,saved:i,received:i})),{values:s,saved:c}=a,l=e=>o(t=>({...t,values:e})),u=on.safeParse(Object.fromEntries(pC.map(([e])=>[e,s[e]===null?null:Number(s[e])]))),d=e=>s[e]!==null&&(s[e].trim()===``||!Number.isSafeInteger(Number(s[e]))||Number(s[e])<=0),f=pC.some(([e])=>s[e]!==c[e]),p=W({onMutate:()=>n.cancelQueries({queryKey:[e,`ui-state`],exact:!0}),mutationFn:t=>Ct({sidebarLimits:t},e),onSuccess:async t=>{await n.cancelQueries({queryKey:[e,`ui-state`],exact:!0}),n.setQueryData([e,`ui-state`],t);let r=gC(t.sidebarLimits);o({values:r,saved:r,received:r})}});return!p.isPending&&!_C(a.received,i)&&o({values:f?s:i,saved:i,received:i}),(0,Q.jsxs)(`form`,{"data-slot":`sidebar-settings`,className:`flex w-full max-w-2xl flex-col gap-5 p-4 pb-[calc(90px+env(safe-area-inset-bottom))] md:p-6`,onSubmit:e=>{e.preventDefault(),u.success&&!pC.some(([e])=>d(e))&&!p.isPending&&p.mutate(u.data)},children:[(0,Q.jsx)(`p`,{id:`sidebar-limits-help`,className:`text-sm text-muted-foreground`,children:`Limits apply to this project on desktop and mobile. The overall budget is shared in section order: Needs You, Finished, then Working. Each section also respects its own limit. Unlimited removes only that constraint.`}),(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Pinned tasks and groups containing a pin bypass both limits. A task group counts as one row. Archived uses only the overall limit; archived pins are not exempt.`}),pC.map(([e,t])=>(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsx)(`label`,{htmlFor:`sidebar-${e}`,className:`text-sm font-medium`,children:t}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3`,children:[(0,Q.jsx)(`input`,{id:`sidebar-${e}`,type:`number`,inputMode:`numeric`,min:`1`,step:`1`,value:s[e]??``,disabled:s[e]===null||p.isPending,"aria-invalid":d(e),"aria-describedby":d(e)?`sidebar-${e}-error sidebar-limits-help`:`sidebar-limits-help`,onChange:t=>l({...s,[e]:t.target.value}),className:`min-h-[44px] w-28 rounded-md border border-input bg-card px-3 text-sm outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:opacity-50`}),(0,Q.jsxs)(`label`,{className:`flex min-h-[44px] cursor-pointer items-center gap-2 text-sm`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,"aria-label":`${t} Unlimited`,checked:s[e]===null,disabled:p.isPending,onChange:t=>l({...s,[e]:t.target.checked?null:String(r[e]??10)}),className:`size-4 accent-[var(--accent-strong)]`}),`Unlimited`]})]}),d(e)&&(0,Q.jsx)(`p`,{id:`sidebar-${e}-error`,className:`text-sm text-danger`,children:`Enter a positive whole number or choose Unlimited.`})]},e)),(0,Q.jsx)(D,{type:`submit`,className:`min-h-[44px] self-start`,variant:`primary`,disabled:!f||!u.success||pC.some(([e])=>d(e))||p.isPending,children:p.isPending?`Saving…`:`Save sidebar limits`}),p.isError&&(0,Q.jsxs)(`p`,{role:`alert`,className:`text-sm text-danger`,children:[`Could not save sidebar limits: `,p.error.message]}),p.isSuccess&&!f&&(0,Q.jsx)(`p`,{role:`status`,className:`text-sm text-muted-foreground`,children:`Sidebar limits saved.`})]})}function gC(e){let t=rn(e);return Object.fromEntries(pC.map(([e])=>[e,t[e]===null?null:String(t[e])]))}function _C(e,t){return pC.every(([n])=>e[n]===t[n])}function vC({savedCommandCount:e,settingsAdmin:t,configPath:n,issue:r,invalid:i,children:o}){return(0,Q.jsxs)(Q.Fragment,{children:[e===0&&r===null?(0,Q.jsx)(`p`,{"data-slot":`worktree-setup-empty`,className:`text-sm text-foreground`,children:`No setup commands configured. No commands will run in new worktrees.`}):null,o,t===!1?(0,Q.jsxs)(`p`,{"data-slot":`worktree-setup-readonly`,className:`text-xs text-foreground`,children:[`Edit `,(0,Q.jsx)(`code`,{children:`worktreeSetup.commands`}),` in`,` `,n===null?(0,Q.jsxs)(Q.Fragment,{children:[`the project’s `,(0,Q.jsx)(`code`,{children:`.ai/cezar/config.json`})]}):(0,Q.jsx)(`code`,{className:`break-all`,children:n}),` `,`on the machine running `,a(`Cezarion`),`. Valid file edits apply to new worktrees; no restart is needed. To edit here, the host operator runs `,(0,Q.jsx)(`code`,{children:ox}),`.`]}):null,r===null?null:(0,Q.jsxs)(`p`,{"data-slot":`worktree-setup-issue`,className:`text-[11px] text-danger`,children:[`config.json has an invalid worktreeSetup (`,r,`) — saving replaces it.`]}),i===null?null:(0,Q.jsx)(`p`,{"data-slot":`worktree-setup-invalid`,className:`text-[11px] text-danger`,children:i})]})}function yC(e,t){let n=e.split(`
|
|
8
|
+
`).map(e=>e.trim()).filter(e=>e!==``),r=Number(t);return{commands:n,timeoutSeconds:r,invalid:n.length>20?`Enter at most 20 commands.`:n.some(e=>e.length>4e3)?`Keep each command under ${mn.toLocaleString(`en-US`)} characters.`:t.trim()===``||!Number.isInteger(r)||r<1||r>7200?`Enter a whole number of seconds from 1 to ${nn}.`:null}}function bC(){let e=Is(),t=yn().data;return e===null?null:t?.projects.find(t=>t.id===e)?.root??null}function xC(e){navigator.clipboard.writeText(e).then(()=>K(`Project folder copied`)).catch(()=>K(e))}function SC(){let e=bC();return e===null?null:(0,Q.jsx)(BS,{title:`Project folder`,hint:`Where this project lives on disk. Every task worktree, git command and agent run resolves against it.`,children:(0,Q.jsxs)(`div`,{"data-slot":`project-location`,"data-variant":`field`,className:`flex flex-col gap-3`,children:[(0,Q.jsx)(`span`,{"data-slot":`project-location-path`,className:`w-full min-w-0 rounded-md border border-border bg-background p-3 text-[13px] break-all text-foreground`,children:e}),(0,Q.jsxs)(`div`,{className:`flex w-full flex-wrap items-center gap-2 border-t border-border pt-4`,children:[(0,Q.jsxs)(`button`,{type:`button`,"data-action":`project-location-copy`,title:`Copy the project folder path`,onClick:()=>xC(e),className:`inline-flex min-h-11 items-center gap-2 rounded-md border border-border bg-card px-3 text-xs text-foreground transition-colors hover:bg-muted`,children:[(0,Q.jsx)(Go,{"aria-hidden":`true`,className:`size-4`}),`Copy path`]}),(0,Q.jsx)(CC,{root:e})]})]})})}function CC({root:e}){let t=Fn(),n=W({mutationFn:e=>Ue(e),onError:e=>K(e.message,{tone:`danger`})}),r=(t.data?.targets??[]).filter(e=>Eb(e.id)===void 0).map(e=>({target:e}));return r.length===0?null:(0,Q.jsx)(Db,{slot:`project-location-open`,label:`Open with`,triggerVariant:`outline`,title:e,disabled:n.isPending,choices:r,onPick:e=>n.mutate(e,{onSuccess:()=>K(`Opening the project folder in ${r.find(t=>t.target.id===e)?.target.label??e}`)})})}function wC({config:e}){let t=I(),n=U(),r=ax(),i=bC(),o=i===null?null:`${i.replace(/\/$/,``)}/.ai/cezar/config.json`,s=n.data?.capabilities?.settingsAdmin===!0,c=e.worktreeSetup?.commands??[],l=e.worktreeSetup?.timeoutSeconds??900,[u,d]=(0,Z.useState)(c.join(`
|
|
9
|
+
`)),[f,p]=(0,Z.useState)(String(l)),{commands:m,timeoutSeconds:h,invalid:g}=yC(u,f),_=e.worktreeSetupIssue===null&&m.length===c.length&&m.every((e,t)=>e===c[t])&&(m.length===0||h===l),v=W({mutationFn:e=>Bt(e),onSuccess:e=>{t.setQueryData(G.config,e),d(m.join(`
|
|
10
|
+
`)),K(m.length===0?`Worktree setup cleared`:`Worktree setup saved`)},onError:e=>{K(e.message,{tone:`danger`}),e instanceof ft&&e.status===409&&r()}}),y=()=>v.mutate({worktreeSetup:m.length===0?null:{commands:m,...h===900?{}:{timeoutSeconds:h}}}),b=`block rounded-md border border-input bg-card px-3 py-1.5 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:opacity-50 read-only:bg-muted read-only:text-muted-foreground`;return(0,Q.jsxs)(BS,{title:`Prepare new worktrees`,hint:`Runs in every new task and worker worktree before the agent starts, in order, stopping at the first failure. Leave commands empty to skip setup.`,children:[(0,Q.jsx)(sx,{risk:`These commands run on the machine running ${a(`Cezarion`)}`}),(0,Q.jsxs)(vC,{savedCommandCount:c.length,settingsAdmin:n.data?.capabilities?.settingsAdmin,configPath:o,issue:e.worktreeSetupIssue,invalid:g,children:[(0,Q.jsx)(`textarea`,{"data-slot":`worktree-setup-commands`,"aria-label":`Worktree setup commands, one per line`,rows:4,spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,value:u,readOnly:!s,disabled:v.isPending,onChange:e=>d(e.target.value),className:`${b} min-h-24 w-full resize-y font-mono text-[13px] leading-relaxed`}),(0,Q.jsxs)(`p`,{className:`text-xs text-soft-foreground`,children:[`Example only: `,(0,Q.jsx)(`code`,{children:`npm ci`}),`. Commands run only after they are saved.`]}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs text-soft-foreground`,children:[(0,Q.jsx)(`span`,{children:`Timeout per command`}),(0,Q.jsx)(`input`,{type:`number`,inputMode:`numeric`,min:1,max:nn,step:1,"data-slot":`worktree-setup-timeout`,value:f,readOnly:!s,disabled:v.isPending,onChange:e=>p(e.target.value),className:`${b} min-h-11 w-28 md:min-h-0`}),(0,Q.jsx)(`span`,{children:`seconds`})]}),(0,Q.jsx)(D,{type:`button`,variant:`primary`,size:`sm`,className:`min-h-11 self-start md:min-h-0`,"data-action":`worktree-setup-save`,disabled:!s||_||g!==null||v.isPending,onClick:y,children:`Save setup`})]})]})]})}var TC=0,EC=1e3;function DC(){let e=Nr();return e.isPending?(0,Q.jsx)(`p`,{"data-slot":`worktrees-loading`,className:`p-4 text-[13px] text-soft-foreground md:p-6`,children:`Loading worktree settings…`}):e.isError?(0,Q.jsx)(X,{icon:(0,Q.jsx)(Fm,{}),tone:`danger`,title:`Worktree settings did not load`,subtitle:e.error.message,heading:`h2`}):(0,Q.jsx)(OC,{config:e.data})}function OC({config:e}){let t=I(),n=W({mutationFn:e=>Bt(e),onSuccess:e=>t.setQueryData(G.config,e),onError:e=>K(e.message,{tone:`danger`})}),[r,i]=(0,Z.useState)(String(e.worktreeRetention)),a=Number(r),o=r.trim()===``||!Number.isInteger(a)||a<TC||a>EC,s=e.worktreeRetention===(o?-1:a);return(0,Q.jsxs)(`div`,{"data-slot":`worktrees-section`,className:`mx-auto flex w-full max-w-2xl flex-col gap-7 p-4 pb-[calc(90px+env(safe-area-inset-bottom))] md:p-6 md:pb-6`,children:[(0,Q.jsxs)(BS,{title:`Keep N finished worktrees`,hint:`Older finished worktrees are reclaimed to free disk; their branch is kept so the work stays recoverable. 0 = unlimited. In-review and running tasks are never reclaimed, so the count on disk can exceed this.`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(`input`,{type:`number`,inputMode:`numeric`,min:TC,max:EC,step:1,"aria-label":`Keep last N finished worktrees`,"data-slot":`resources-worktree-retention`,value:r,disabled:n.isPending,onChange:e=>i(e.target.value),className:`block w-32 rounded-md border border-input bg-card px-3 py-1.5 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:opacity-50`}),(0,Q.jsx)(`span`,{className:`text-xs text-soft-foreground`,children:`worktrees`}),(0,Q.jsx)(D,{type:`button`,variant:`primary`,size:`sm`,className:`self-start`,"data-action":`resources-save-retention`,disabled:s||o||n.isPending,onClick:()=>n.mutate({worktreeRetention:a},{onSuccess:()=>{t.invalidateQueries({queryKey:G.worktrees}),K(a===0?`Keeping all worktrees (unlimited)`:`Keeping the last ${a} finished worktree${a===1?``:`s`}`)}}),children:`Save retention`})]}),o?(0,Q.jsxs)(`p`,{"data-slot":`resources-retention-invalid`,className:`text-[11px] text-danger`,children:[`Enter a whole number from `,TC,` to `,EC,` (0 = unlimited).`]}):(0,Q.jsx)(`p`,{className:`text-[11px] text-soft-foreground`,children:a===0?`Keeping every finished worktree.`:`Keeping the last ${a} finished worktree${a===1?``:`s`} on disk.`})]}),(0,Q.jsx)(wC,{config:e}),(0,Q.jsxs)(Y,{to:`/git/cleanup`,"data-slot":`worktrees-manage-link`,className:`inline-flex min-h-11 items-center gap-1 self-start text-[13px] font-medium text-link-foreground hover:underline focus-visible:outline-2 focus-visible:outline-ring md:min-h-0`,children:[`Manage worktrees on Git`,(0,Q.jsx)(yo,{"aria-hidden":`true`,className:`size-[14px]`})]})]})}function kC(e,t){return function(){return(0,Q.jsx)(X,{icon:(0,Q.jsx)(t,{}),tone:`neutral`,title:e,subtitle:`This section arrives in a later phase of the redesign.`,heading:`h2`})}}var AC=[{id:`sidebar`,title:`Sidebar`,description:`Overall and per-section task limits for this project.`,icon:Ja,component:mC,scope:`project`},{id:`agents`,title:`Agents`,description:`Default runner, models and system prompt.`,icon:_o,component:Ox,scope:`project`},{id:`agent-config`,title:`Agent config`,description:`Edit the coding agents’ own config files, per scope.`,icon:Nm,component:lx,scope:`project`},{id:`worktrees`,title:`Worktrees`,description:`How many finished task worktrees this project keeps on disk.`,icon:Fm,component:DC,scope:`project`},{id:`bookmarklets`,title:`Bookmarklets`,description:`Launch skills from a GitHub PR or issue.`,icon:lm,component:TS,scope:`project`},{id:`prompt-templates`,title:`Prompt templates`,description:`Reusable snippets for follow-up instructions.`,icon:Pm,component:ZS,scope:`project`},{id:`appearance`,title:`Appearance`,description:`Theme, accent and density.`,icon:Fo,component:SS,scope:`global`},{id:`notifications`,title:`Notifications`,description:`Browser notifications when an agent needs you.`,icon:Ro,component:IS,scope:`global`},{id:`resources`,title:`Resources`,description:`Parallel tasks and per-task memory limit, across every project.`,icon:Ja,component:aC,scope:`global`},{id:`tasks`,title:`Tasks`,description:`Automatic task archiving after pull requests merge.`,icon:Fm,component:hb,scope:`global`},{id:`accounts`,title:`Agent accounts`,description:`Second logins, and the agent and models a project uses when it has chosen none.`,icon:Ko,component:Ub,scope:`global`},{id:`projects`,title:`Projects`,description:`The workspace registry and where GitHub checkouts land.`,icon:Do,component:WS,scope:`global`},{id:`keyboard`,title:`Keyboard`,description:`Shortcuts.`,icon:Gm,component:kC(`Keyboard`,Gm),scope:`global`,hidden:!0}];function jC(e,t){return AC.filter(n=>!n.hidden&&n.scope===e&&!(t?.singleProject===!0&&n.id===`projects`))}var MC=[`done`,`failed`,`cancelled`];function NC(e){return MC.includes(e)}function PC(e){return!$e(e)&&NC(e.status)&&!Ln(e)}function FC(e){return e.reduce((e,t)=>gr(t)||!Ln(t)?e:e+1,0)}function IC(e){return e.status===`failed`?`danger`:`success`}var LC={needsYou:0,failedUnread:0,inMotion:0,finishedUnread:0};function RC(e){let t={...LC};for(let n of e){if(n.archived||gr(n))continue;let e=xe(n);e.bucket===`waiting`?t.needsYou+=1:e.tone===`running`?t.inMotion+=1:Ln(n)&&(n.status===`failed`?t.failedUnread+=1:n.status===`done`&&(t.finishedUnread+=1))}return t}function zC(e){let t=new Map;for(let n of e){let e=t.get(n.projectId);e?e.push(n):t.set(n.projectId,[n])}return new Map([...t].map(([e,t])=>[e,RC(t)]))}function BC(e,t,n={}){if(n.unknown)return`${e} · activity unknown`;let r=VC(t).map(e=>e.text);return[e,r.length>0?r.join(` · `):`idle`].join(` · `)}function VC(e){let{needsYou:t,failedUnread:n,inMotion:r,finishedUnread:i}=e??LC,a=[];return t>0&&a.push({tone:`amber`,text:`${t} needs you`}),n>0&&a.push({tone:`red`,text:`${n} failed`}),r>0&&a.push({tone:`violet`,text:`${r} working`}),i>0&&a.push({tone:`green`,text:`${i} finished`}),a}function HC(e){let t={...LC};for(let n of e)n&&(t.needsYou+=n.needsYou,t.failedUnread+=n.failedUnread,t.inMotion+=n.inMotion,t.finishedUnread+=n.finishedUnread);return t}function UC(e){let t=e.split(/[-_ .]+/).filter(e=>e!==``);return(t.length>=2?[t[0],t[1]].map(e=>[...e][0]):[...t[0]??``].slice(0,2)).join(``).toLowerCase()}var WC=`w-[228px] rounded-[10px] border-border bg-sidebar p-[5px] text-foreground shadow-[0_10px_28px_#00000047] motion-reduce:animate-none`,GC=`h-8 gap-2.5 rounded-[6px] px-[9px] py-0 text-[13px] focus:bg-sidebar-row-hover focus:text-foreground [&_svg]:size-[15px] [&_svg]:text-soft-foreground focus:[&_svg]:text-foreground max-md:min-h-11`;function KC(){let e=Is(),t=U(),n=yn(),r=n.data?.bootProject??t.data?.bootProject,i=e??r??null,a=n.data?.projects.find(e=>e.id===i),o=i===r?t.data?.repo:void 0,s=a?.root??o?.root;return{health:t,registry:n,projectId:i,project:a,root:s,name:a?.name??s?.split(/[\\/]/).filter(Boolean).at(-1),branch:o?.branch??a?.branch}}function qC({onNavigate:e}={}){let t=(0,Z.useRef)(null),n=(0,Z.useRef)(null),[r,i]=(0,Z.useState)(0),{health:a,registry:o,projectId:s,root:c,name:l,branch:u}=KC(),d=a.data?.capabilities.localHandoff===!0,f=l??(o.isPending?`Loading project…`:`Project unavailable`),p=[d?c:void 0,u].filter(Boolean).join(` · `);return(0,Q.jsxs)(`div`,{"data-slot":`project-header`,className:`flex min-w-0 items-center gap-2.5 px-[14px] pt-[14px] pb-2.5`,children:[(0,Q.jsx)(`span`,{ref:t,"aria-hidden":`true`,"data-slot":`project-header-mark`,className:`flex size-7 shrink-0 items-center justify-center rounded-[7px] border border-soft-foreground bg-sidebar-row-selected text-[11px] leading-none font-semibold text-foreground`,children:l?UC(l):`…`}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-px`,children:[(0,Q.jsx)(`div`,{"data-slot":`project-header-name`,className:`truncate text-[14px] font-semibold text-foreground`,title:f,children:f}),(0,Q.jsx)(`div`,{"data-slot":`project-header-detail`,dir:`rtl`,className:`truncate text-left font-mono text-[10.5px] text-soft-foreground`,title:p||void 0,children:(0,Q.jsx)(`bdi`,{dir:`ltr`,children:p||(o.isPending?`Loading…`:`Branch unavailable`)})})]}),(0,Q.jsx)(QC,{projectId:s,onNavigate:e,triggerRef:n,triggerClassName:`size-7 max-md:size-11`,align:`start`,alignOffset:r,onOpenChange:e=>{e&&t.current&&n.current&&i(t.current.getBoundingClientRect().left-n.current.getBoundingClientRect().left)}})]})}function JC(e,t,n){let r=e.data?.bootProject??t.data?.bootProject,i=e.data?.projects.find(e=>e.id===n),a=n===r?t.data?.repo:void 0;return{bootId:r,project:i,root:i?.root??a?.root}}function YC({marking:e,runs:t,unread:n,projectId:r}){return e||t.isError||t.data===void 0||n.length===0||r===null}function XC({marking:e,runs:t,unread:n}){return e?`Marking…`:t.isError?`Unavailable`:t.data===void 0?`Loading…`:`${n.length} unread`}function ZC(e,t){return!e||t?.status===`missing`}function QC({projectId:e,onNavigate:t,triggerRef:n,triggerClassName:r,align:i=`start`,alignOffset:a,side:o,onOpenChange:s}){let c=_I(),l=U(),u=yn(),[d,f]=(0,Z.useState)(!1),{bootId:p,project:m,root:h}=JC(u,l,e),g=lr(e??`default`,e!==null,e===p),_=$n(ar({projectId:e??`default`,boot:e===p})),v=(0,Z.useRef)(e);v.current=e;let y=l.data?.capabilities.localHandoff===!0,b=(g.data??[]).filter(e=>!gr(e)&&Ln(e));async function S(){f(!0);let t=0;try{for(let n of b){if(v.current!==e)break;try{await _.mutateAsync(n.id)}catch{t+=1}}t>0&&K(`Could not mark ${t} task${t===1?``:`s`} read. Try again.`,{tone:`danger`})}finally{f(!1)}}async function C(){if(h)try{await navigator.clipboard.writeText(h),K(`Project folder copied`)}catch{K(`Could not copy path: ${h}`,{tone:`danger`})}}return(0,Q.jsxs)(na,{...x({onOpenChange:s}),children:[(0,Q.jsx)($i,{asChild:!0,children:(0,Q.jsx)(`button`,{"data-slot":`project-menu-trigger`,ref:n,type:`button`,"aria-label":`Project menu`,className:O(`flex shrink-0 items-center justify-center rounded-[6px] text-soft-foreground hover:bg-sidebar-row-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring data-[state=open]:bg-sidebar-row-selected data-[state=open]:text-foreground`,r),children:(0,Q.jsx)(Am,{"aria-hidden":`true`,className:`size-[15px]`})})}),(0,Q.jsxs)(ea,{align:i,...x({alignOffset:a,side:o}),sideOffset:4,className:WC,children:[(0,Q.jsxs)(Yi,{className:GC,disabled:YC({marking:d,runs:g,unread:b,projectId:e}),onSelect:()=>{S()},children:[(0,Q.jsx)(mm,{"aria-hidden":`true`}),` Mark all read`,(0,Q.jsx)(`span`,{className:`ml-auto text-[11.5px] text-soft-foreground`,children:XC({marking:d,runs:g,unread:b})})]}),(0,Q.jsx)(Xi,{className:`mx-0`}),y&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)($C,{projectId:e??`default`,disabled:ZC(h,m)}),(0,Q.jsxs)(Yi,{className:GC,disabled:!h,onSelect:()=>{C()},children:[(0,Q.jsx)(Tm,{"aria-hidden":`true`}),` Copy path`]}),(0,Q.jsx)(Xi,{className:`mx-0`})]}),(0,Q.jsx)(Yi,{asChild:!0,className:GC,children:(0,Q.jsxs)(Y,{to:`/settings`,onClick:t??c,children:[(0,Q.jsx)(oh,{"aria-hidden":`true`}),` Project settings`]})})]})]})}function $C({disabled:e,projectId:t}){let n=Fn(),r=W({mutationFn:e=>Ue(e,t),onError:e=>K(e.message,{tone:`danger`}),onSuccess:()=>K(`Opening project folder`)}),i=(n.data?.targets??[]).filter(e=>Eb(e.id)===void 0);return(0,Q.jsxs)(ra,{children:[(0,Q.jsxs)(Ki,{className:GC,disabled:e||r.isPending,children:[(0,Q.jsx)(Ga,{"aria-hidden":`true`}),` Open in`]}),(0,Q.jsx)(Qi,{children:(0,Q.jsxs)(Gi,{className:WC,children:[i.map(e=>{let t=Tb(e);return(0,Q.jsxs)(Yi,{className:GC,"data-target":e.id,onSelect:()=>r.mutate(e.id),children:[(0,Q.jsx)(t,{"aria-hidden":`true`}),e.label]},e.id)}),i.length===0&&(0,Q.jsx)(Yi,{className:GC,disabled:!0,children:n.isError?`Apps unavailable`:n.isPending?`Loading apps…`:`No apps available`})]})})]})}function ew({...e}){return(0,Q.jsx)(Vu,{"data-slot":`collapsible`,...e})}function tw({...e}){return(0,Q.jsx)(Iu,{"data-slot":`collapsible-trigger`,...e})}function nw({...e}){return(0,Q.jsx)(Ru,{"data-slot":`collapsible-content`,...e})}var rw={"needs-you":{label:`Needs you`,hint:`Asks a question, asks for permission, or waits for review`},failed:{label:`Failed`,hint:`Failed, with no scheduled resume`},done:{label:`Done`,hint:`Finished`},cancelled:{label:`Cancelled`,hint:`Was cancelled`},running:{label:`Running`,hint:`Runs an agent turn`},"waiting-workers":{label:`Waiting for agents`,hint:`Waits on its workers or their replies`},"waiting-ci":{label:`Waiting on CI`,hint:`Waits on a pull request's checks`},"waiting-timer":{label:`Waiting`,hint:`Waits on a timer`},"waiting-other":{label:`Any other wait`,hint:`Waits on anything else, including wait types added later`}},iw=(e,t)=>e.length===t.length&&e.every(e=>t.includes(e)),aw={name:``,description:``,url:``,token:``,tasks:!0,triggers:Zt,agent:!1};function ow(e){return{name:e.name,description:e.description??``,url:e.url,token:``,tasks:e.tasks,triggers:e.triggers??Zt,agent:e.agent}}var sw=e=>se.filter(t=>e.includes(t));function cw(e){let t=e.description.trim();return{name:e.name.trim(),url:e.url.trim(),...t?{description:t}:{},...e.token?{token:e.token}:{},tasks:e.tasks,...iw(e.triggers,Zt)?{}:{triggers:sw(e.triggers)},agent:e.agent}}function lw(e,t){let n={},r=e.name.trim(),i=e.description.trim(),a=e.url.trim();return r!==t.name&&(n.name=r),i!==(t.description??``)&&(n.description=i),a!==t.url&&(n.url=a),e.token&&(n.token=e.token),e.tasks!==t.tasks&&(n.tasks=e.tasks),iw(e.triggers,t.triggers??Zt)||(n.triggers=sw(e.triggers)),e.agent!==t.agent&&(n.agent=e.agent),n}var uw=`flex flex-col gap-1 text-[13px]`,dw=`text-[11px] text-muted-foreground`;function fw({draft:e,onChange:t,tokenSet:n}){let r=(0,Z.useId)(),i=(0,Z.useId)(),a=(0,Z.useId)(),o=(0,Z.useId)(),s=(0,Z.useId)(),c=(0,Z.useId)(),l=(0,Z.useId)(),u=(0,Z.useId)(),d=(0,Z.useId)(),f=(0,Z.useId)();return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`grid grid-cols-[repeat(auto-fit,minmax(min(100%,14rem),1fr))] gap-3`,children:[(0,Q.jsxs)(`div`,{className:uw,children:[(0,Q.jsx)(`label`,{htmlFor:r,className:dw,children:`Name`}),(0,Q.jsx)(Dp,{id:r,"data-slot":`webhook-name`,autoComplete:`off`,maxLength:80,placeholder:`e.g. Team bot`,value:e.name,onChange:e=>t({name:e.target.value})})]}),(0,Q.jsxs)(`div`,{className:uw,children:[(0,Q.jsx)(`label`,{htmlFor:o,className:dw,children:`URL`}),(0,Q.jsx)(Dp,{id:o,"data-slot":`webhook-url`,type:`url`,inputMode:`url`,autoComplete:`off`,spellCheck:!1,maxLength:Se,placeholder:`https://bot.example/hooks/cez`,value:e.url,onChange:e=>t({url:e.target.value})})]})]}),(0,Q.jsxs)(`div`,{className:uw,children:[(0,Q.jsx)(`label`,{htmlFor:i,className:dw,children:`Description`}),(0,Q.jsx)(es,{id:i,"data-slot":`webhook-description`,"aria-describedby":a,rows:2,maxLength:Ie,placeholder:`e.g. Posts to the #releases channel. Use it for release notes.`,value:e.description,onChange:e=>t({description:e.target.value})}),(0,Q.jsx)(`span`,{id:a,className:`text-[11px] text-soft-foreground`,children:`Agents read the name and description to decide when to use this webhook.`})]}),(0,Q.jsxs)(`div`,{className:uw,children:[(0,Q.jsx)(`label`,{htmlFor:s,className:dw,children:`Token`}),(0,Q.jsx)(Dp,{id:s,"data-slot":`webhook-token`,type:`password`,autoComplete:`new-password`,spellCheck:!1,maxLength:ge,"aria-describedby":c,placeholder:n?`Token set — type to replace`:`Optional Bearer token`,value:e.token,onChange:e=>t({token:e.target.value})}),(0,Q.jsx)(`span`,{id:c,className:`text-[11px] text-soft-foreground`,children:n?`The token is stored in ~/.cezar and never shown again. Leave it empty to keep it.`:`The token is stored in ~/.cezar, never in the repo. It is sent as a Bearer header.`})]}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,Q.jsxs)(`div`,{className:`flex min-h-11 items-center gap-3`,children:[(0,Q.jsx)(Ta,{id:l,"aria-describedby":u,"data-slot":`webhook-tasks`,checked:e.tasks,onCheckedChange:e=>t({tasks:e})}),(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-col text-[13px]`,children:[(0,Q.jsx)(`label`,{htmlFor:l,className:`font-medium`,children:`Task notifications`}),(0,Q.jsx)(`span`,{id:u,className:`text-[11px] text-soft-foreground`,children:`Tasks you hand off, or start with notify on, send their status here.`})]})]}),e.tasks?(0,Q.jsxs)(`fieldset`,{"data-slot":`webhook-triggers`,className:`flex flex-col gap-1 sm:ps-[3.25rem]`,children:[(0,Q.jsx)(`legend`,{className:`pbe-1 text-[11px] text-muted-foreground`,children:`Send a delivery when a task enters`}),(0,Q.jsx)(`div`,{className:`grid grid-cols-[repeat(auto-fill,minmax(min(100%,15rem),1fr))] gap-x-3`,children:se.map(n=>(0,Q.jsxs)(`label`,{className:`flex min-h-11 items-start gap-2.5 pbs-2 text-[13px]`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,"data-trigger":n,checked:e.triggers.includes(n),onChange:r=>t({triggers:r.target.checked?[...e.triggers,n]:e.triggers.filter(e=>e!==n)}),className:`mbs-0.5 size-[18px] shrink-0`}),(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,Q.jsx)(`span`,{className:`font-medium`,children:rw[n].label}),(0,Q.jsx)(`span`,{className:`text-[11px] text-soft-foreground`,children:rw[n].hint})]})]},n))}),(0,Q.jsx)(`p`,{className:`text-[11px] text-soft-foreground`,children:`Handing a task off and Send test always deliver.`})]}):null]}),(0,Q.jsxs)(`div`,{className:`flex min-h-11 items-center gap-3`,children:[(0,Q.jsx)(Ta,{id:d,"aria-describedby":f,"data-slot":`webhook-agent`,checked:e.agent,onCheckedChange:e=>t({agent:e})}),(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-col text-[13px]`,children:[(0,Q.jsx)(`label`,{htmlFor:d,className:`font-medium`,children:`Let agents send reports`}),(0,Q.jsx)(`span`,{id:f,className:`text-[11px] text-soft-foreground`,children:`Agents in this project may post a report here when the task calls for it.`})]})]})]})}var pw=`max-sm:h-11`,mw=(e,t)=>({tone:`alert`,text:`Not saved: ${e.message}. Fix the field and select ${t} again.`}),hw=e=>e.dryRun?{tone:`ok`,text:`Dry run: nothing was sent.`}:e.ok?{tone:`ok`,text:`Delivered (HTTP ${e.status??200}).`}:{tone:`danger`,text:`Not delivered: ${e.error??`unknown error`}.`};function gw({feedback:e}){return e?(0,Q.jsx)(`p`,{"data-slot":e.tone===`alert`?`webhook-error`:`webhook-result`,role:e.tone===`alert`?`alert`:`status`,className:e.tone===`ok`?`text-[13px] text-muted-foreground`:`text-[13px] text-danger`,children:e.text}):null}var _w=`rounded-md border border-border bg-background`,vw=`flex flex-col gap-3 border-bs border-border p-3`;function yw({projectId:e,webhook:t,defaultOpen:n=!1}){let r=Wn(),i=Wr(),a=Jn(),[o,s]=(0,Z.useState)(n),[c,l]=(0,Z.useState)(()=>ow(t)),[u,d]=(0,Z.useState)(null),f=lw(c,t),p=Object.keys(f).length>0,m=c.name.trim()!==``&&c.url.trim()!==``,h=r.isPending||i.isPending||a.isPending,g={projectId:e,webhookId:t.id},_=e=>r.mutate({...g,...f},{onSuccess:()=>{l(e=>({...e,token:``})),e?e():K(`${c.name.trim()} saved`)},onError:e=>d(mw(e,`Save`))}),v=()=>a.mutate(g,{onSuccess:e=>d(hw(e)),onError:e=>d({tone:`danger`,text:e.message})});return(0,Q.jsx)(`li`,{"data-slot":`webhook-card`,"data-webhook-id":t.id,className:_w,children:(0,Q.jsxs)(ew,{open:o,onOpenChange:s,children:[(0,Q.jsx)(tw,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,"data-action":`webhook-toggle`,className:`group flex min-h-11 w-full items-center gap-3 rounded-md p-3 text-start focus-visible:outline-2 focus-visible:outline-offset-[-2px] focus-visible:outline-foreground pointer-hover:bg-muted/50 active:bg-muted/50`,children:[(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Q.jsxs)(`span`,{className:`flex flex-wrap items-center gap-x-2 gap-y-1`,children:[(0,Q.jsx)(`span`,{"data-slot":`webhook-card-name`,className:`min-w-0 break-words text-[13px] font-medium`,children:t.name}),t.tasks?(0,Q.jsx)(yp,{variant:`secondary`,"data-badge":`tasks`,children:`Task notifications`}):null,t.agent?(0,Q.jsx)(yp,{variant:`secondary`,"data-badge":`agent`,children:`Agents`}):null]}),(0,Q.jsx)(`span`,{"data-slot":`webhook-card-url`,className:`truncate text-[12px] text-muted-foreground`,children:P_(t.url)})]}),(0,Q.jsx)(Vo,{"aria-hidden":`true`,className:`size-4 shrink-0 text-muted-foreground group-data-[state=open]:rotate-180`})]})}),(0,Q.jsx)(nw,{children:(0,Q.jsxs)(`form`,{"data-slot":`webhook-form`,className:vw,onSubmit:e=>{e.preventDefault(),d(null),m&&p&&_()},children:[(0,Q.jsx)(fw,{draft:c,tokenSet:t.tokenSet,onChange:e=>l(t=>({...t,...e}))}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(D,{type:`submit`,size:`sm`,className:pw,"data-action":`webhook-save`,disabled:h||!m||!p,children:`Save`}),(0,Q.jsx)(D,{type:`button`,size:`sm`,className:pw,variant:`outline`,"data-action":`webhook-test`,disabled:h||!m,onClick:()=>{d(null),p?_(v):v()},children:`Send test`}),t.tokenSet?(0,Q.jsx)(D,{type:`button`,size:`sm`,className:pw,variant:`ghost`,"data-action":`webhook-clear-token`,disabled:h,onClick:()=>r.mutate({...g,token:``},{onSuccess:()=>K(`Webhook token cleared`),onError:e=>d({tone:`danger`,text:`Token not cleared: ${e.message}.`})}),children:`Clear token`}):null,(0,Q.jsx)(D,{type:`button`,size:`sm`,className:pw,variant:`danger-ghost`,"data-action":`webhook-remove`,"aria-label":`Remove ${t.name}`,disabled:h,onClick:()=>i.mutate(g,{onSuccess:()=>K(`${t.name} removed`),onError:e=>d({tone:`danger`,text:`Not removed: ${e.message}.`})}),children:`Remove`})]}),(0,Q.jsx)(gw,{feedback:u})]})})]})})}function bw({projectId:e,onCreated:t,onCancel:n}){let r=br(),[i,a]=(0,Z.useState)(aw),[o,s]=(0,Z.useState)(null),c=i.name.trim()!==``&&i.url.trim()!==``;return(0,Q.jsxs)(`li`,{"data-slot":`webhook-card`,"data-draft":``,className:_w,children:[(0,Q.jsx)(`p`,{className:`p-3 text-[13px] font-medium`,children:`New webhook`}),(0,Q.jsxs)(`form`,{"data-slot":`webhook-form`,"aria-label":`New webhook`,className:vw,onSubmit:n=>{n.preventDefault(),s(null),c&&r.mutate({projectId:e,...cw(i)},{onSuccess:({webhook:e})=>{K(`${e.name} created`),t(e)},onError:e=>s(mw(e,`Create`))})},children:[(0,Q.jsx)(fw,{draft:i,tokenSet:!1,onChange:e=>a(t=>({...t,...e}))}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(D,{type:`submit`,size:`sm`,className:pw,"data-action":`webhook-create`,disabled:r.isPending||!c,children:`Create`}),(0,Q.jsx)(D,{type:`button`,size:`sm`,className:pw,variant:`ghost`,"data-action":`webhook-cancel`,disabled:r.isPending,onClick:n,children:`Cancel`})]}),(0,Q.jsx)(gw,{feedback:o})]})]})}function xw({project:e}){let t=e.webhooks??[],[n,r]=(0,Z.useState)(!1),[i,o]=(0,Z.useState)(null),s=t.length>=16;return(0,Q.jsx)(BS,{title:`Webhooks`,hint:`A webhook gets a POST from ${a(`cezar`)}. Tasks can send their status to it, and agents can send it reports.`,children:(0,Q.jsxs)(`div`,{"data-slot":`project-webhooks`,className:`flex flex-col gap-3`,children:[t.length===0&&!n?(0,Q.jsx)(`p`,{"data-slot":`webhooks-empty`,className:`text-[13px] text-soft-foreground`,children:`No webhooks yet. Add one to send task updates to a bot, or to let agents post reports.`}):null,t.length>0||n?(0,Q.jsxs)(`ul`,{className:`flex flex-col gap-2`,children:[t.map(t=>(0,Q.jsx)(yw,{projectId:e.id,webhook:t,defaultOpen:t.id===i},t.id)),n?(0,Q.jsx)(bw,{projectId:e.id,onCancel:()=>r(!1),onCreated:e=>{o(e.id),r(!1)}}):null]}):null,n?null:(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsxs)(D,{type:`button`,size:`sm`,variant:`outline`,className:`max-sm:h-11`,"data-action":`webhook-add`,disabled:s,onClick:()=>r(!0),children:[(0,Q.jsx)(rh,{"aria-hidden":`true`}),`Add webhook`]}),s?(0,Q.jsxs)(`span`,{className:`text-[11px] text-soft-foreground`,children:[`A project holds at most `,16,` webhooks.`]}):null]})]})})}function Sw(e){let t=new Date(e);return Number.isNaN(t.getTime())?`—`:t.toLocaleDateString(void 0,{year:`numeric`,month:`short`,day:`numeric`})}function Cw({capabilities:e}){let t=Is(),n=yn(),r=yi();if(n.isPending)return(0,Q.jsx)(`p`,{"data-slot":`project-general-loading`,className:`text-[13px] text-soft-foreground`,children:`Loading project…`});if(n.isError)return(0,Q.jsxs)(`p`,{"data-slot":`project-general-error`,className:`text-[13px] text-danger`,children:[`Could not read the project registry — `,n.error.message]});let i=n.data,a=i?.projects.find(e=>e.id===t);if(!i||!a)return null;let o=e?.singleProject!==!0;return(0,Q.jsxs)(`div`,{"data-slot":`project-general`,className:`flex w-full flex-col gap-5`,children:[(0,Q.jsxs)(`section`,{className:`flex flex-col gap-5 rounded-lg border border-border bg-card p-5 [&_select]:min-h-11 [&_select]:w-full`,children:[(0,Q.jsx)(`h2`,{className:`text-lg font-semibold`,children:`General`}),(0,Q.jsx)(SC,{}),(0,Q.jsx)(ww,{project:a,canRemove:o}),o?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(BS,{title:`Max parallel tasks`,hint:r.data?`The workspace limit (${r.data.resources.maxParallel}) still applies as an overall ceiling.`:`How many of this project's tasks may run at once. The workspace limit still applies as an overall ceiling.`,children:r.data?(0,Q.jsx)(XS,{project:a,workspaceMax:r.data.resources.maxParallel}):(0,Q.jsx)(`p`,{className:`text-[13px] text-soft-foreground`,children:`Loading the workspace limit…`})}),(0,Q.jsx)(xw,{project:a},a.id)]}):null]}),o?(0,Q.jsx)(`section`,{className:`rounded-lg border border-border bg-card p-5`,children:(0,Q.jsx)(Tw,{project:a,bootProject:i.bootProject})}):null]})}function ww({project:e,canRemove:t}){return(0,Q.jsxs)(`dl`,{"data-slot":`project-facts`,className:`grid grid-cols-1 gap-4 text-[13px] sm:grid-cols-3`,children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-[11px] text-muted-foreground`,children:`Project`}),(0,Q.jsx)(`dd`,{className:`mt-1 font-medium`,children:e.name})]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-[11px] text-muted-foreground`,children:`Branch`}),(0,Q.jsx)(`dd`,{className:`mt-1 break-all`,children:e.branch??`—`})]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-[11px] text-muted-foreground`,children:`Status`}),(0,Q.jsxs)(`dd`,{"data-slot":`project-general-status`,className:e.status===`missing`?`mt-1 text-danger`:`mt-1`,children:[HS[e.status],e.status===`missing`?t?` — remove it below, or restore the folder`:` — restore the folder at the path above`:null]})]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-[11px] text-muted-foreground`,children:`Added`}),(0,Q.jsxs)(`dd`,{className:`mt-1`,children:[Sw(e.addedAt),(0,Q.jsx)(`span`,{className:`text-soft-foreground`,children:e.source===`checkout`?` · cloned from GitHub`:` · opened locally`})]})]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-[11px] text-muted-foreground`,children:`Last opened`}),(0,Q.jsx)(`dd`,{className:`mt-1`,children:Sw(e.lastOpenedAt)})]})]})}function Tw({project:e,bootProject:t}){let[n,r]=(0,Z.useState)(null),i=RS(),o=A(),s=e.id===t;return(0,Q.jsxs)(BS,{title:`Remove from workspace`,hint:`Unregisters this project so it leaves the sidebar and the project list. Nothing on disk is deleted — the folder, its git history and its task history all stay, and opening it again re-registers it.`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,Q.jsxs)(D,{type:`button`,variant:`outline`,size:`sm`,"data-action":`project-general-remove`,"aria-label":`Remove ${e.name} from the workspace — unregisters it, no files are deleted`,title:s?`${a(`cezar`)} is serving this project — it re-registers itself at every start`:void 0,disabled:s||i.isPending,onClick:()=>r(e),className:`text-danger`,children:[`Remove `,e.name]}),s?(0,Q.jsxs)(`span`,{"data-slot":`project-general-remove-boot`,className:`text-[11px] text-soft-foreground`,children:[a(`cezar`),` is serving this project — it re-registers itself at every start.`]}):null]}),(0,Q.jsx)(zS,{project:n,onOpenChange:e=>!e&&r(null),onConfirm:()=>{r(null),i.confirm(e,()=>void o(`/p/${encodeURIComponent(t)}`))}})]})}function Ew(e,t){return e===`global`?`/settings/global/${t}`:`/settings/${t}`}var Dw=Ew(`global`,`appearance`);function Ow(e){return e===`global`?{Link:w,NavLink:S}:{Link:Y,NavLink:Ns}}function kw({scope:e,title:t,mobileTitle:n}){let r=KC().name;return(0,Q.jsxs)(`header`,{"data-slot":`settings-main-header`,className:`settings-route-header flex shrink-0 flex-col gap-2`,children:[(0,Q.jsxs)(`h1`,{className:`text-[15px] font-semibold tracking-normal max-md:text-[24px] max-md:font-normal`,children:[(0,Q.jsx)(`span`,{className:`md:hidden`,children:n}),(0,Q.jsxs)(`span`,{className:`max-md:hidden`,children:[t,` · `,e===`global`?`every project`:r??`this project`]})]}),e===`global`?(0,Q.jsx)(`span`,{"data-slot":`settings-scope-chip`,className:`sr-only`,children:`Global settings`}):null]})}function Aw({scope:e,activeId:t,capabilities:n}){let{NavLink:r}=Ow(e),i=jC(e,n);return(0,Q.jsxs)(`details`,{className:`settings-section-picker md:hidden`,children:[(0,Q.jsxs)(`summary`,{children:[i.find(e=>e.id===t)?.title??`General`,(0,Q.jsx)(Vo,{"aria-hidden":`true`,className:`size-5 text-muted-foreground`})]}),(0,Q.jsxs)(`nav`,{"aria-label":`Settings sections`,"data-slot":`settings-nav-mobile`,"data-scope":e,children:[e===`project`?(0,Q.jsx)(r,{to:`/settings`,end:!0,"data-slot":`settings-nav-index`,children:`General`}):null,i.map(t=>(0,Q.jsx)(r,{to:Ew(e,t.id),"data-section":t.id,children:t.title},t.id))]})]},`${e}-${t}`)}function jw({section:e,scope:t,capabilities:n}){let r=e.component;return(0,Q.jsxs)(`div`,{"data-route":t===`global`?`settings-global-${e.id}`:`settings-${e.id}`,className:`settings-route mx-auto flex min-h-full w-full flex-col`,children:[(0,Q.jsx)(kw,{scope:t,title:e.title,mobileTitle:t===`global`?`Global settings`:`Project settings`}),(0,Q.jsxs)(`div`,{className:`settings-route-body flex min-w-0 flex-1 flex-col md:flex-row`,children:[(0,Q.jsx)(Aw,{scope:t,activeId:e.id,capabilities:n}),(0,Q.jsxs)(`section`,{className:`settings-panel min-w-0 self-start md:flex-1`,"aria-label":e.title,children:[(0,Q.jsx)(`h2`,{className:`settings-panel-title`,children:e.title}),(0,Q.jsx)(r,{})]})]})]})}function Mw({capabilities:e}){return(0,Q.jsxs)(`div`,{"data-route":`settings`,className:`settings-route mx-auto flex min-h-full w-full flex-col`,children:[(0,Q.jsx)(kw,{scope:`project`,title:`General`,mobileTitle:`Project settings`}),(0,Q.jsxs)(`div`,{className:`settings-route-body flex min-w-0 flex-1 flex-col md:flex-row`,children:[(0,Q.jsx)(Aw,{scope:`project`,activeId:null,capabilities:e}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-5`,children:[(0,Q.jsx)(Cw,{capabilities:e}),(0,Q.jsx)(`section`,{className:`rounded-lg border border-border bg-card p-5`,children:(0,Q.jsx)(mb,{})}),(0,Q.jsx)(`h2`,{className:`settings-other-title mt-6 rounded-t-lg border border-b-0 border-border bg-card px-5 pt-5 text-base font-semibold md:hidden`,children:`Other project settings`}),(0,Q.jsx)(`ul`,{"data-slot":`settings-index`,className:`mt-7 flex w-full flex-col gap-5 md:hidden`,children:jC(`project`,e).map(e=>(0,Q.jsx)(`li`,{children:(0,Q.jsxs)(Y,{to:Ew(`project`,e.id),"data-section":e.id,className:`flex items-center gap-3.5 rounded-lg border border-border bg-card p-4 transition-colors hover:bg-card-2`,children:[(0,Q.jsx)(`span`,{className:`flex size-9 shrink-0 items-center justify-center text-accent-text`,children:(0,Q.jsx)(e.icon,{"aria-hidden":`true`,className:`size-4`})}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,Q.jsx)(`span`,{className:`block text-sm font-medium text-foreground`,children:e.title}),(0,Q.jsx)(`span`,{className:`block text-xs text-soft-foreground`,children:e.description})]}),(0,Q.jsx)(yo,{"aria-hidden":`true`,className:`size-4 shrink-0 text-soft-foreground`})]})},e.id))}),(0,Q.jsxs)(`p`,{className:`mt-5 w-full text-[12px] text-soft-foreground`,children:[`Appearance, notifications, host resources and the project registry live in`,` `,(0,Q.jsx)(w,{to:Dw,"data-slot":`settings-global-link`,className:`underline underline-offset-2 hover:text-foreground`,children:`Global settings`}),`.`]})]})]})]})}function Nw(){let[e,t]=(0,Z.useState)(()=>new Set);return{expandedRuns:e,toggleExpandedRun:(0,Z.useCallback)(e=>t(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),[])}}var Pw=[{id:`status`,label:`Status`,canFold:!1,defaultExpanded:!0,align:`left`,width:`120px`},{id:`task`,label:`Task`,canFold:!1,defaultExpanded:!0,align:`left`,width:`320px`},{id:`workflow`,label:`Workflow`,canFold:!0,defaultExpanded:!0,align:`left`,width:`84px`,icon:`workflow`},{id:`branch`,label:`Branch`,canFold:!0,defaultExpanded:!1,align:`left`,width:`120px`,icon:`branch`},{id:`diff`,label:`±`,canFold:!0,defaultExpanded:!0,align:`left`,width:`84px`,icon:`diff`},{id:`reference`,label:`Ref`,canFold:!0,defaultExpanded:!0,align:`left`,width:`104px`,icon:`reference`},{id:`tokens`,label:`IN / OUT`,canFold:!0,defaultExpanded:!0,align:`right`,width:`112px`,icon:`tokens`,capability:`tokens`},{id:`cost`,label:`Cost`,canFold:!0,defaultExpanded:!0,align:`right`,width:`64px`,icon:`cost`,capability:`cost`},{id:`cpu`,label:`CPU`,canFold:!0,defaultExpanded:!0,align:`right`,width:`60px`,icon:`cpu`},{id:`memory`,label:`Mem`,canFold:!0,defaultExpanded:!0,align:`right`,width:`80px`,icon:`memory`},{id:`started`,label:`Started`,canFold:!0,defaultExpanded:!0,align:`right`,width:`68px`,icon:`started`}],Fw=new Map(Pw.map(e=>[e.id,e]));function Iw(e){return typeof e!=`object`||!e||Array.isArray(e)?{}:Object.fromEntries(Object.entries(e).filter(e=>typeof e[1]==`boolean`))}function Lw(e){let t={};for(let[n,r]of Object.entries(Iw(e))){let e=Fw.get(n);e?.canFold&&(t[e.id]=r)}return t}function Rw(e,t){let n=Fw.get(e);return!n||!n.canFold?!0:t[e]??n.defaultExpanded}function zw(e,t){let n=Iw(e);return Fw.get(t)?.canFold?{...n,[t]:!Rw(t,Lw(e))}:n}function Bw(e){return Pw.filter(t=>t.capability===void 0||e[t.capability])}function Vw(e,t){return t===`flat`?!1:t===`virtual`||e>=100}function Hw(e,t){let n=t===null?-1:e.indexOf(t);return n<0?[]:[n-1,n,n+1].filter(t=>t>=0&&t<e.length)}function Uw(e,t){let n=e.map(e=>Rw(e.id,t)?e.id===`workflow`||e.id===`memory`?120:Number.parseFloat(e.width??`100`):42);return{"--task-columns":e.map((e,t)=>e.id===`task`?`minmax(${n[t]}px, 1fr)`:`${n[t]}px`).join(` `),minInlineSize:Math.max(1240,n.reduce((e,t)=>e+t,0))}}function Ww(e,t){let n=2;return{indexes:e.map(e=>{let r=n;return n+=t.has(e)?2:1,r}),rowCount:n-1}}var Gw=null,{min:Kw,max:qw,abs:Jw,floor:Yw}=Math,Xw=(e,t,n)=>Kw(n,qw(t,e)),Zw=e=>[...e].sort((e,t)=>e-t),Qw=typeof queueMicrotask==`function`?queueMicrotask:e=>{Promise.resolve().then(e)},$w=()=>{let e;return[new Promise(t=>{e=t}),e]},eT=e=>{let t;return()=>(e&&=(t=e(),void 0),t)},tT=(e,t,n)=>{let r=n?`unshift`:`push`;for(let n=0;n<t;n++)e[r](-1);return e},nT=(e,t)=>{let n=e.t[t];return n===-1?e.o:n},rT=(e,t,n)=>{let r=e.t[t]===-1;return e.t[t]=n,e.i=Kw(t,e.i),r},iT=(e,t)=>{if(!e.l)return 0;if(e.i>=t)return e.u[t];e.i<0&&(e.u[0]=0,e.i=0);let n=e.i,r=e.u[n];for(;n<t;)r+=nT(e,n),e.u[++n]=r;return e.i=t,r},aT=(e,t,n=0,r=e.l-1)=>{let i=n;for(;n<=r;){let a=Yw((n+r)/2);iT(e,a)<=t?(i=a,n=a+1):r=a-1}return Xw(i,0,e.l-1)},oT=(e,t,n)=>{let r=t-e.l;return e.i=n?-1:Kw(t-1,e.i),e.l=t,r>0?(tT(e.u,r),tT(e.t,r,n),e.o*r):(e.u.splice(r),(n?e.t.splice(0,-r):e.t.splice(r)).reduce((t,n)=>t-(n===-1?e.o:n),0))},sT=typeof window<`u`,cT=e=>e.documentElement,lT=e=>e.ownerDocument,uT=e=>e.defaultView,dT=eT(()=>!!/iP(hone|od|ad)/.test(navigator.userAgent)||navigator.platform===`MacIntel`&&navigator.maxTouchPoints>0),fT=eT(()=>`scrollBehavior`in cT(document).style),pT=e=>qw(e.h(),e.p()),mT=(e,t=40,n=0,r,i=!1)=>{let a=!!n,o=1,s=0,c=0,l=0,u=0,d=0,f=0,p=0,m=0,h=Gw,g=[0,a?qw(n-1,0):-1],_=0,v=!1,y=((e,t,n)=>({o:t,t:n?tT(n.slice(0,Kw(e,n.length)),qw(0,e-n.length)):tT([],e),l:e,i:-1,u:tT([],e+1)}))(e,r?r[1]:t,r&&r[0]),b=new Set,x=()=>l-c,S=()=>x()+d+u,C=(e,t)=>((e,t,n,r)=>{if(r=Kw(r,e.l-1),iT(e,r)<=t){let i=aT(e,n,r);return[aT(e,t,r,i),i]}{let i=aT(e,t,void 0,r);return[i,aT(e,n,i)]}})(y,e,t,g[0]),w=()=>iT(y,y.l),T=(e,t)=>{let n=iT(y,e)-d;return t?w()-n-E(e):n},E=e=>nT(y,e),D=(e,t=-1)=>y.t[e]===t,O=e=>{e&&(dT()&&p!==0||h&&m===1?d+=e:u+=e)};return{v:()=>{b.clear()},m:()=>o,_:()=>(e=>[e.t.slice(),e.o])(y),S:(e=200)=>{if(!v||a)return g;let t,n;if(f)[t,n]=g;else{let r=qw(0,S()),a=r+s;i||(e=qw(0,e),p!==1&&(r-=e),p!==2&&(a+=e)),[t,n]=g=C(qw(0,r),qw(0,a)),h&&(t=Kw(t,h[0]),n=qw(n,h[1]))}return[qw(t,0),Kw(n,y.l-1)]},$:e=>aT(y,e-c),I:D,k:T,R:E,T:()=>y.l,C:()=>l,M:()=>p!==0,p:()=>s,O:()=>c,h:w,H:()=>(f=u,u=0,[f,m===2]),W:(e,t)=>{let n=[e,t];return b.add(n),()=>{b.delete(n)}},B:(e,t)=>{let n,r,g=0;switch(e){case 1:{if(t===l&&m===0)break;let e=f;f=0;let n=t-l,i=Jw(n);e&&i<Jw(e)+1||m!==0||(p=n<0?2:1),a&&=!1,l=t,g=4;let o=x();o>=-s&&o<=w()&&(g+=1,r=i>s);break}case 2:g=8,p!==0&&(n=!0,g+=1),p=0,m=0,h=Gw;break;case 3:{let e=t.filter(([e,t])=>!D(e,t));if(!e.length)break;O(e.reduce((e,[t,n])=>{let r;if(m===2)r=!0;else if(h&&m===1)r=t<h[0];else{let e=x(),n=T(t),i=E(t);r=p!==1&&m===0?n+i<=e:n<e&&n+i<e+s}return r&&(e+=n-E(t)),e},0));for(let[t,n]of e){let e=E(t),r=rT(y,t,n);i&&(_+=r?n:n-e)}i&&s&&_>s&&(O(((e,t)=>{let n=0,r=[];e.t.forEach((e,i)=>{e!==-1&&(r.push(e),i<t&&n++)}),e.i=-1;let i=Zw(r),a=i.length,o=a/2|0,s=a%2==0?(i[o-1]+i[o])/2:i[o],c=e.o;return((e.o=s)-c)*qw(t-n,0)})(y,aT(y,S()))),i=!1),g=3,r=!0;break}case 4:s!==t&&(s||(v=r=!0),s=t,g=3);break;case 5:t[1]?(O(oT(y,t[0],!0)),m=2,g=1):(oT(y,t[0]),g=1);break;case 6:c=t;break;case 7:m=1;break;case 8:h=C(t,t+s),g=1}g&&(o=1+(2147483647&o),n&&d&&(u+=d,d=0),b.forEach(([e,t])=>{g&e&&t(r)}))}}},hT=setTimeout,gT=(e,t)=>t?-e:e,_T=(e,t,n,r,i,a)=>{let o=Date.now,s=0,c=!1,l=!1,u=!1,d=!1,f=(()=>{let t,n=()=>{t!=Gw&&clearTimeout(t)},r=()=>{n(),t=hT(()=>{t=Gw,(()=>{if(c||l)return c=!1,void f();u=!1,e.B(2)})()},150)};return r.J=n,r})(),p=()=>{s=o(),u&&(d=!0),a&&e.B(6,a()),e.B(1,r()),f()},m=t=>{if(c||!e.M()||t.ctrlKey)return;let r=o()-s;150>r&&50<r&&(n?t.deltaX:t.deltaY)&&(c=!0)},h=()=>{l=!0,u=d=!1},g=()=>{l=!1,dT()&&(u=!0)};return t.addEventListener(`scroll`,p),t.addEventListener(`wheel`,m,{passive:!0}),t.addEventListener(`touchstart`,h,{passive:!0}),t.addEventListener(`touchend`,g,{passive:!0}),{A:()=>{t.removeEventListener(`scroll`,p),t.removeEventListener(`wheel`,m),t.removeEventListener(`touchstart`,h),t.removeEventListener(`touchend`,g),f.J()},L:()=>{let[t,n]=e.H();t&&(i(t,n,d),d=!1,n&&e.p()>e.h()&&e.B(1,r()))}}},vT=(e,t,n)=>{let r;return[async(i,a)=>{if(!await t())return;r&&r();let o=()=>{let[t,n]=$w();return r=()=>{n(!1)},e.p()&&hT(r,150),[t,e.W(2,()=>{n(!0)})]};if(a&&fT())e.B(8,i()),Qw(async()=>{for(;;){let t=!0;for(let[n,r]=e.S();n<=r;n++)if(e.I(n)){t=!1;break}if(t)break;let[n,r]=o();try{if(!await n)return}finally{r()}}e.B(7),n(i(),a)});else for(;;){let[t,r]=o();try{if(e.B(7),n(i()),!await t)return}finally{r()}}},()=>{r&&r()}]},yT=(e,t)=>{let n,r,i=$w(),a=!1,o=t?`scrollLeft`:`scrollTop`,s=t?`overflowX`:`overflowY`,[c,l]=vT(e,()=>i[0],(e,r)=>{e=gT(e,a),r?n.scrollTo({[t?`left`:`top`]:e,behavior:`smooth`}):n[o]=e});return{N(c,u){n=u,t&&(a=getComputedStyle(u).direction===`rtl`),r=_T(e,u,t,()=>gT(u[o],a),(t,n,r)=>{if(r){let e=u.style,t=e[s];e[s]=`hidden`,hT(()=>{e[s]=t})}u[o]=gT(e.C()+t,a),n&&l()}),i[1](!0)},v(){r&&r.A(),i[1](!1),i=$w()},P:()=>a,V(e){c(()=>e)},X(t){t+=e.C(),c(()=>t)},Y(t,{align:n,smooth:r,offset:i=0}={}){if(t=Xw(t,0,e.T()-1),n===`nearest`){let r=e.k(t),i=e.C();if(r<i)n=`start`;else{if(!(r+e.R(t)>i+e.p()))return;n=`end`}}c(()=>i+e.O()+e.k(t)+(n===`end`?e.R(t)-e.p():n===`center`?(e.R(t)-e.p())/2:0),r)},q:()=>{r&&r.L()}}},bT=e=>{let t;return{j(n){(t||=new(uT(lT(n))).ResizeObserver(e)).observe(n)},D(e){t.unobserve(e)},A(){t&&t.disconnect()}}},xT=(e,t)=>{let n,r=t?`width`:`height`,i=new WeakMap,a=bT(t=>{let a=[];for(let{target:o,contentRect:s}of t)if(o.offsetParent)if(o===n)e.B(4,s[r]);else{let e=i.get(o);e!=Gw&&a.push([e,s[r]])}a.length&&e.B(3,a)});return{G(e){a.j(n=e)},U:(e,t)=>(i.set(e,t),a.j(e),()=>{i.delete(e),a.D(e)}),v:a.A}},ST=sT?Z.useLayoutEffect:Z.useEffect,CT=`current`,wT=(e,t)=>{if(Array.isArray(e))for(let n of e)wT(n,t);else e==null||typeof e==`boolean`||t.push(e)},TT=(e,t)=>e.key??`_`+t,ET=e=>{let t=(0,Z.useRef)(null);return t[CT]||(t[CT]=e())},DT=e=>{let t=(0,Z.useRef)(e);return ST(()=>{t[CT]=e},[e]),t},OT=(0,Z.memo)(({Z:e,ee:t,te:n,oe:r,ne:i,re:a,se:o,ie:s})=>{let c=(0,Z.useRef)(null);ST(()=>t(c[CT],n),[n]);let l=(0,Z.useMemo)(()=>{let e={contain:`layout style`,position:i&&s?void 0:`absolute`,[o?`height`:`width`]:`100%`,[o?`top`:`left`]:0,[o?`left`:`top`]:r,visibility:!i||s?void 0:`hidden`};return o&&(e.display=`inline-flex`),e},[r,i,s,o]);return(0,Q.jsx)(a,typeof a==`string`?{ref:c,style:l,children:e}:{ref:c,style:l,index:n,children:e})}),kT=(e,t)=>(0,Z.useMemo)(()=>{if(typeof e==`function`)return[n=>e(t[n],n),t.length];let n=(e=>{let t=[];return wT(e,t),t})(e);return[e=>n[e],n.length]},[e,t]),AT=(0,Z.forwardRef)(({children:e,data:t,bufferSize:n,itemSize:r,shift:i,horizontal:a,keepMounted:o,cache:s,startMargin:c=0,ssrCount:l,as:u=`div`,item:d=`div`,scrollRef:f,onScroll:p,onScrollEnd:m},h)=>{let[g,_]=kT(e,t),v=(0,Z.useRef)(null),y=(0,Z.useRef)(!!l),b=DT(p),x=DT(m),[S,C,w,T]=ET(()=>{let e=!!a,t=mT(_,r,l,s,!r);return[t,xT(t,e),yT(t,e),e]});_!==S.T()&&S.B(5,[_,i]),c!==S.O()&&S.B(6,c);let[E,D]=(0,Z.useReducer)(S.m,void 0,S.m),O=S.M(),k=S.h(),A=w.P(),j=[],M=e=>{let t=g(e);return(0,Q.jsx)(OT,{ee:C.U,te:e,oe:S.k(e,A),ne:S.I(e),re:d,Z:t,se:T,ie:y[CT]},TT(t,e))};if(ST(()=>{y[CT]=!1,S.W(1,e=>{e?(0,Ku.flushSync)(D):D()}),S.W(4,()=>{b[CT]&&b[CT](S.C())}),S.W(8,()=>{x[CT]&&x[CT]()});let e=v[CT],t=t=>{C.G(t),w.N(e,t)};return f?Qw(()=>{f[CT]&&t(f[CT])}):t(e.parentElement),()=>{S.v(),C.v(),w.v()}},[]),ST(()=>{w.q()},[E]),(0,Z.useImperativeHandle)(h,()=>({get cache(){return S._()},get scrollOffset(){return S.C()},get scrollSize(){return pT(S)},get viewportSize(){return S.p()},findItemIndex:S.$,getItemOffset:S.k,getItemSize:S.R,scrollToIndex:w.Y,scrollTo:w.V,scrollBy:w.X}),[]),o){let e=new Set(o);for(let[t,r]=S.S(n);t<=r;t++)e.add(t);Zw([...e]).forEach(e=>{j.push(M(e))})}else for(let[e,t]=S.S(n);e<=t;e++)j.push(M(e));return(0,Q.jsx)(u,{ref:v,style:{contain:`size style`,overflowAnchor:`none`,flex:`none`,position:`relative`,width:T?k:`100%`,height:T?`100%`:k,pointerEvents:O?`none`:void 0},children:j})});function jT(e,t){let[n,r]=(0,Z.useState)(!1),[i,a]=(0,Z.useState)(``),o=(0,Z.useRef)(!1);return{editing:n,draft:i,setDraft:a,begin:()=>{a(e),o.current=!1,r(!0)},commit:()=>{if(o.current)return;o.current=!0,r(!1);let n=i.trim();n.length===0||n===e||t(n)},cancel:()=>{o.current=!0,r(!1)}}}function MT({editor:e,className:t}){return(0,Q.jsx)(`input`,{"data-slot":`title-input`,"aria-label":`Task title`,autoFocus:!0,value:e.draft,onChange:t=>e.setDraft(t.target.value),onBlur:e.commit,onKeyDown:t=>{t.key===`Enter`?(t.preventDefault(),e.commit()):t.key===`Escape`&&(t.preventDefault(),e.cancel())},className:O(`w-full min-w-0 rounded-sm border border-border bg-card px-1.5 py-0.5 outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50`,t)})}function NT(e){let t=new Map,n=new Set,r;return{begin:e,editingId:()=>r?.id??null,subscribeSelection(e){return n.add(e),()=>{n.delete(e)}},snapshot:e=>r?.id===e?r.editor:null,subscribe(e,n){let r=t.get(e);return r||(r=new Set,t.set(e,r)),r.add(n),()=>{r.delete(n),r.size||t.delete(e)}},publish(e,i){let a=r?.id;if(r=e&&i.editing?{id:e,editor:i}:void 0,a!==r?.id)for(let e of n)e();for(let e of new Set([a,r?.id]))if(e)for(let n of t.get(e)??[])n()}}}var PT=(0,Z.createContext)(null),FT={editing:!1,draft:``,begin(){},setDraft(){},commit(){},cancel(){}};function IT({children:e,runs:t,onRename:n}){let[r,i]=(0,Z.useState)(),[a]=(0,Z.useState)(()=>NT(e=>i({run:e}))),o=t.find(e=>e.id===r?.run.id),s=jT(o?V(o):``,e=>{o&&n(o.id,e)});return(0,Z.useEffect)(()=>{r&&s.begin()},[r]),(0,Z.useEffect)(()=>{r&&!o&&(s.cancel(),i(void 0))},[r,o,s]),(0,Z.useLayoutEffect)(()=>{a.publish(o?.id,s)},[a,o?.id,s]),(0,Q.jsx)(PT,{value:a,children:e})}function LT(e){let t=(0,Z.useContext)(PT);if(!t)throw Error(`Task title editor needs its page provider`);return{...(0,Z.useSyncExternalStore)((0,Z.useCallback)(n=>t.subscribe(e.id,n),[t,e.id]),(0,Z.useCallback)(()=>t.snapshot(e.id),[t,e.id]))??FT,begin:()=>t.begin(e)}}var RT=()=>null;function zT(){return BT}function BT(){}function VT(){let e=(0,Z.useContext)(PT);return(0,Z.useSyncExternalStore)(e?.subscribeSelection??zT,e?.editingId??RT)}var HT=(0,Z.createContext)(null);function UT(e,t,n=!1){let[r,i]=(0,Z.useState)(null),a=(0,Z.useRef)(new Map),o=(0,Z.useCallback)((e,t)=>{t?a.current.set(e,t):a.current.delete(e)},[]),s=(0,Z.useCallback)(e=>[...a.current.values()].some(t=>t.includes(e)),[]);return{props:WT(e,t,i,n?s:void 0),value:(0,Z.useMemo)(()=>({focused:r,revision:t,registerList:n?o:void 0}),[r,t,o,n])}}function WT(e,t,n,r){let i=(0,Z.useRef)(r);(0,Z.useLayoutEffect)(()=>{i.current=r});let a=(0,Z.useRef)(null),o=(0,Z.useRef)(null);return(0,Z.useLayoutEffect)(()=>{let e=o.current;if(!e||e.element.isConnected||document.activeElement!==document.body)return;let t=()=>{o.current===e&&(o.current=null,n?.(null))},r=()=>{let n=e.project?`${e.project}/${e.runId}`:e.runId;if(i.current&&!i.current(n)||document.activeElement!==document.body||e.element.isConnected)return t(),!0;let r=[...a.current?.querySelectorAll(`[data-run-id]`)??[]].filter(t=>t.dataset.runId===e.runId&&t.dataset.project===e.project).flatMap(e=>[...e.querySelectorAll(`a,button,input`)]),o=r.find(t=>e.control?t.dataset.taskControl===e.control:t.tagName===e.tag&&t.getAttribute(`aria-label`)===e.label)??r.find(e=>e.tagName===`A`);return o?.focus({preventScroll:!0}),!!o&&document.activeElement===o};if(r()||!a.current)return;let s=()=>{l.disconnect(),document.removeEventListener(`pointerdown`,c,!0),document.removeEventListener(`keydown`,c,!0)},c=()=>{t(),s()},l=new MutationObserver(()=>{r()&&s()});return document.addEventListener(`pointerdown`,c,!0),document.addEventListener(`keydown`,c,!0),l.observe(a.current,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`style`]}),s},[e,t]),{ref:a,onFocusCapture:e=>{let t=e.target,r=t.closest(`[data-run-id]`);o.current=r?{element:t,runId:r.dataset.runId,project:r.dataset.project,control:t.dataset.taskControl??null,label:t.getAttribute(`aria-label`),tag:t.tagName}:null,n?.(r?r.dataset.project?`${r.dataset.project}/${r.dataset.runId}`:r.dataset.runId:null)},onBlurCapture:e=>{let t=e.target,r=e.currentTarget;queueMicrotask(()=>{o.current?.element===t&&t.isConnected&&!r.contains(document.activeElement)&&(o.current=null,n?.(null))})}}}var GT=new WeakMap;function KT({items:e,itemKey:t,children:r,itemSize:i}){let[a]=n(),o=(0,Z.useRef)(null),s=(0,Z.useRef)(null),[c,l]=(0,Z.useState)({available:null,margin:0}),[u,d]=(0,Z.useState)(null),f=VT(),p=(0,Z.useContext)(HT),m=e.map(t),h=Vw(e.length,a.get(`tasks`)),g=c.available===!0&&h,_=(0,Z.useRef)(Symbol(`task-list`)),v=(0,Z.useRef)(()=>{});(0,Z.useLayoutEffect)(()=>{p?.registerList?.(_.current,m);let e=b.current;return e&>.set(e,{keys:m,handle:s,measure:()=>v.current()}),()=>{p?.registerList?.(_.current,null),e&>.delete(e)}});let y=WT(String(g),void 0,void 0,e=>m.includes(e)),b=y.ref;return(0,Z.useLayoutEffect)(()=>{let e=b.current,t=e?.closest(`[data-slot="main"]`);if(o.current=t??null,!e||!t){l(e=>e.available===!1?e:{available:!1,margin:0});return}let n=null,r=()=>{let r=Math.max(0,e.getBoundingClientRect().top-t.getBoundingClientRect().top+t.scrollTop);r!==n&&(n=r,l(e=>e.available===!0&&e.margin===r?e:{available:!0,margin:r}))};r(),v.current=r;let i=new ResizeObserver(r);for(let n=e;n&&n!==t;n=n.parentElement){i.observe(n);for(let e of n.parentElement?.children??[])i.observe(e)}return i.observe(t),()=>i.disconnect()},[]),(0,Q.jsx)(`div`,{ref:b,"data-slot":`task-list-items`,"data-virtualized":g,onFocusCapture:e=>{y.onFocusCapture(e),d(e.target.closest(`[data-task-item]`)?.dataset.taskItem??null)},onBlurCapture:e=>{y.onBlurCapture(e),e.relatedTarget&&!e.currentTarget.contains(e.relatedTarget)&&d(null)},children:g?(0,Q.jsx)(JT,{itemSize:i,items:e,keys:m,handle:s,scroll:o,margin:c.margin,focused:p?.focused??u,editing:f,children:r}):(c.available===null&&h?[]:e).map((t,n)=>(0,Q.jsx)(`div`,{"data-task-item":m[n],"data-first":n===0,"data-last":n===e.length-1,className:`task-list-flat-item`,children:r(t,n)},m[n]))})}function qT({layout:e,revision:t,visibilityRevision:n=``,children:r,...i}){let a=UT(e,t,!0);return(0,Q.jsx)(HT,{value:a.value,children:(0,Q.jsx)(YT,{revision:t,visibilityRevision:`${e}:${n}`,children:(0,Q.jsx)(`div`,{...i,...a.props,children:r})})})}function JT({items:e,keys:t,handle:n,scroll:r,margin:i,focused:a,editing:o,children:s,itemSize:c}){let[l,u]=(0,Z.useState)(!1);return(0,Z.useLayoutEffect)(()=>{let e=r.current;if(!e)return;let t=new ResizeObserver(e=>{e.some(e=>e.contentRect.height>0)&&(u(!0),t.disconnect())});return t.observe(e),()=>t.disconnect()},[r]),(0,Q.jsx)(AT,{ref:n,...c===void 0?{}:{itemSize:c},scrollRef:r,startMargin:i,keepMounted:[...new Set([...!l&&e.length?[0]:[],...Hw(t,a),...Hw(t,o)])],data:e,children:(n,r)=>(0,Q.jsx)(`div`,{"data-task-item":t[r],"data-first":r===0,"data-last":r===e.length-1,children:s(n,r)},t[r])})}var YT=class extends Z.Component{root={current:null};owner(){return this.root.current?.closest(`[data-slot="main"]`)??null}getSnapshotBeforeUpdate(e){if(e.revision===this.props.revision&&e.visibilityRevision===this.props.visibilityRevision)return null;let t=this.owner();if(!t||!this.root.current)return null;let n=t.getBoundingClientRect();for(let e of this.root.current.querySelectorAll(`[data-task-item]`)){let r=e.getBoundingClientRect();if(r.bottom>n.top&&r.top<n.bottom)return{key:e.dataset.taskItem,top:r.top,scrollTop:t.scrollTop}}return{key:null,top:0,scrollTop:t.scrollTop}}componentDidUpdate(e,t,n){let r=this.owner();if(!n||!r)return;let i=n.key===null?null:this.currentTop(n.key);i!==null&&Math.abs(i-n.top)>.5&&(r.scrollTop+=i-n.top),queueMicrotask(()=>{r.isConnected&&(0,Ku.flushSync)(()=>{for(let e of this.root.current?.querySelectorAll(`[data-slot="task-list-items"]`)??[])GT.get(e)?.measure();r.scrollTop!==n.scrollTop&&r.dispatchEvent(new Event(`scroll`))})})}currentTop(e){for(let t of this.root.current?.querySelectorAll(`[data-task-item]`)??[])if(t.dataset.taskItem===e)return t.getBoundingClientRect().top;for(let t of this.root.current?.querySelectorAll(`[data-slot="task-list-items"]`)??[]){let n=GT.get(t),r=n?.keys.indexOf(e)??-1,i=n?.handle.current;if(r>=0&&i)return t.getBoundingClientRect().top+i.getItemOffset(r)}return null}render(){return(0,Q.jsx)(`div`,{ref:this.root,style:{display:`contents`},children:this.props.children})}},XT=`(min-width: 48rem)`;function ZT(){let[e,t]=(0,Z.useState)(()=>typeof window.matchMedia!=`function`||window.matchMedia(`(min-width: 48rem)`).matches);return(0,Z.useEffect)(()=>{if(typeof window.matchMedia!=`function`)return;let e=window.matchMedia(XT),n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}function QT(e){if(e<1e3)return String(e);let t=[`k`,`M`,`B`,`T`],n=Math.floor(Math.log10(e)/3);return n>t.length?e.toExponential(0).replace(`+`,``):`${Math.floor(e/1e3**n)}${t[n-1]}`}function $T({stat:e,className:t,compact:n=!1}){let r=`+${e.adds} −${e.dels} across ${e.files} ${e.files===1?`file`:`files`}`,i=e.repointed?`${r} — measured against another branch checked out in this task's worktree, as this task found it`:void 0;return(0,Q.jsxs)(`span`,{"data-slot":`diff-stat`,...i?{"data-repointed":`true`,"aria-label":i}:{},...n&&!i?{"aria-label":r}:{},title:i??r,className:O(`font-mono text-xs font-semibold tabular-nums`,e.repointed&&`cursor-help underline decoration-dotted underline-offset-2`,t),children:[(0,Q.jsxs)(`span`,{className:`text-success`,children:[`+`,n?QT(e.adds):e.adds.toLocaleString(`en-US`)]}),` `,(0,Q.jsxs)(`span`,{className:`text-danger`,children:[`−`,n?QT(e.dels):e.dels.toLocaleString(`en-US`)]})]})}function eE(e){return e===void 0?`unknown`:new Intl.NumberFormat().format(e)}function tE(e,t){return`Input tokens: ${eE(e)}; output tokens: ${eE(t)}`}function nE(e,t,n=`compact`){let r=e===void 0?`—`:is(e),i=t===void 0?`—`:is(t);return n===`table`?`${r} / ${i}`:`IN ${r} · OUT ${i}`}function rE({inputTokens:e,outputTokens:t,variant:n=`compact`,omitWhenUnknown:r=!0,className:i,title:a}){return r&&e===void 0&&t===void 0?null:(0,Q.jsx)(`span`,{"data-slot":`directional-usage`,"aria-label":tE(e,t),title:a,className:O(`font-mono tabular-nums`,i),children:nE(e,t,n)})}function iE({className:e,dot:t,shape:n=`filled`,pulse:r=!1,children:i,...a}){return(0,Q.jsxs)(`span`,{"data-slot":`pill`,className:O(`inline-flex items-center gap-1.5 rounded-full bg-muted px-2.5 py-[3px] text-xs font-medium whitespace-nowrap text-muted-foreground`,e),...a,children:[t?(0,Q.jsx)(vb,{tone:t,shape:n,pulse:r}):null,i]})}function aE({pinned:e,onToggle:t,className:n}){return(0,Q.jsx)(`button`,{type:`button`,"data-slot":`pin-toggle`,"data-pinned":e?`true`:void 0,"aria-pressed":e,"aria-label":e?`Unpin task`:`Pin task`,title:e?`Unpin from the top of the list`:`Pin to the top of the list`,onClick:n=>{n.stopPropagation(),t(!e)},className:O(`inline-flex size-5 shrink-0 items-center justify-center rounded-sm text-soft-foreground transition-colors motion-reduce:transition-none hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,n,`max-md:min-h-11 max-md:min-w-11 no-hover:min-h-11 no-hover:min-w-11`),children:(0,Q.jsx)(th,{"data-slot":`pin-icon`,className:`size-[12px]`,fill:e?`currentColor`:`none`,"aria-hidden":`true`})})}function oE(e){let t=e.currentStepId?e.steps.find(t=>t.id===e.currentStepId):void 0;if(t?.backend)return t.backend;if(e.runner)return e.runner;for(let t=e.steps.length-1;t>=0;--t){let n=e.steps[t]?.backend;if(n)return n}return`claude`}var sE={claude:`Claude Code`,codex:`Codex`,opencode:`OpenCode`,pi:`pi`,cursor:`Cursor`,omp:`OMP`};function cE(e){return e.runner??`claude`}function lE(e,t){let n=de(t,e);return n?.enabled===!1?{provider:e,usable:!1,reason:`${sE[e]} is disabled. Enable it in ${Ds(`providers`)}.`}:n?.status===`connected`?{provider:e,usable:!0}:{provider:e,usable:!1,reason:`${sE[e]} credentials are unavailable. Authorize it in ${Ds(`providers`)}.`}}function uE(e,t){return lE(oE(e),t)}function dE(e,t){return lE(cE(e),t)}function fE(e){let t=Or(),n=oE(e);return t.isSuccess&&t.data?uE(e,t.data):{provider:n,usable:!0}}function pE(e){let t=Or(),n=cE(e);return t.isSuccess&&t.data?dE(e,t.data):t.isError?{provider:n,usable:!1,reason:`Provider authentication could not be verified.`}:{provider:n,usable:!1,reason:`Checking agent providers…`}}function mE(e){return[...e.steps].reverse().find(e=>e.sessionId)?.sessionId}function hE(e){return[...e.steps].reverse().find(e=>e.sessionId)?.backend??e.runner??`claude`}var gE=/^[A-Za-z0-9._][A-Za-z0-9._-]{0,199}$/;function _E(e,t){if(gE.test(t))switch(e){case`codex`:return`codex resume ${t}`;case`cursor`:return;case`opencode`:return`opencode --session ${t}`;case`pi`:return`pi --session ${t}`;case`omp`:return;default:return`claude --resume ${t}`}}function vE(e){if(qn(e))return;let t=mE(e);if(t===void 0||!gE.test(t))return;let n=hE(e),r=n===`cursor`||n===`omp`?e.cliResumeCommand:_E(n,t);if(r!==void 0)return e.worktreePath?`cd ${e.worktreePath} && ${r}`:r}function yE(e,t){let n=Eb(t);return!n||qn(e)?!1:n===hE(e)&&mE(e)!==void 0}function bE(e){return(e.status===`failed`||$e(e))&&(e.waits?.length??0)>0}function xE(e){return e.status===`cancelled`&&e.startedAt===void 0&&e.workflowDef!==void 0&&e.steps.every(e=>e.status===`pending`&&e.startedAt===void 0&&!e.sessionId)}function SE(e){let t=qn(e),n=mE(e)!==void 0;return{finish:e.status===`waiting`&&t||e.status===`review`,continueRun:!t&&!e.stopping&&e.delegation?.role!==`invalid`&&!(e.delegation?.role===`worker`&&e.delegation.destroy)&&(n||xE(e)),terminal:!t&&n,notes:!0,archive:!t,pin:!e.archived&&!gr(e),markUnread:Gn(e)&&!Ln(e),cancel:t||bE(e),deleteRun:!t}}function CE(e){let t=SE(e);return t.archive&&!t.cancel&&!e.archiveBlocker}function wE(e){return e.status===`waiting`&&e.finishBlocked===null&&xe(e).bucket===`waiting`}function TE(e){return`Merge head branch and resolve conflicts in ${e?`PR number ${e}`:`this pull request`}`}function EE(e){return e===`review`?`Accept the changes without a PR`:`Close the session`}function DE(e,t){let n=e.filter(e=>!e.archived&&e.status===`queued`).sort((e,t)=>e.createdAt.localeCompare(t.createdAt)).findIndex(e=>e.id===t);return n>=0?n+1:void 0}var OE=[50,100,200,400,800,1e3,1e3,1e3,1e3],kE=e=>new Promise(t=>setTimeout(t,e));function AE(e){return e instanceof ft&&e.status===409&&e.message===`run is still active`}async function jE(e,t=kE){for(let n=0;;n+=1)try{return await e()}catch(e){let r=OE[n];if(!AE(e)||r===void 0)throw e;await t(r)}}function ME(e){return qn(e)?`live`:SE(e).continueRun?`resume`:`unavailable`}function NE(e,t){let n=Cn(e.id,t),r=hr(e.id,t),i=fE(e),a=pE(e),[o,s]=(0,Z.useState)(void 0),[c,l]=(0,Z.useState)(!1),u=(0,Z.useRef)(!1),d=ME(e),f=d===`resume`?!a.usable:d===`live`&&!i.usable,p=d===`unavailable`?`no-session`:f?`provider`:void 0,m=p===`no-session`?`This session has ended and no agent session was recorded, so the answer cannot be delivered.`:p===`provider`?d===`resume`?a.reason:i.reason:void 0,h=(e,t)=>a.usable?r.mutateAsync({text:e,...t===void 0?{}:{images:t}}):Promise.reject(Error(a.reason??`The run provider is unavailable.`));return{mode:d,blockedBy:p,reason:m,isPending:c||n.isPending||r.isPending,error:o,send:async(t,r)=>{if(p||u.current)return m;u.current=!0,l(!0),s(void 0);try{if(d===`resume`){await jE(()=>h(t,r));return}try{await n.mutateAsync({text:t,...r===void 0?{}:{images:r}})}catch(n){if(n instanceof ft&&n.status===409&&mE(e)!==void 0){try{await jE(()=>h(t,r))}catch(e){let t=e instanceof Error?e.message:String(e);throw Error(`Session closed. Retry to reopen the session. ${t}`)}return}throw n}return}catch(e){let t=e instanceof Error?e.message:String(e);return s(t),t}finally{u.current=!1,l(!1)}}}}function PE({run:e,projectId:t,prNumber:n}){let r=NE(e,t),i=ws(),[a,o]=(0,Z.useState)(!1),s=a||r.isPending,c=!!r.blockedBy,l=async()=>{if(s||c)return;let e=r.mode===`resume`;o(!0);try{let t=await r.send(TE(n));t?K(t,{tone:`danger`}):(K(`${e?`Task reopened`:`Sent to the task`} — resolving conflicts${n?` in PR #${n}`:``}`),i())}finally{o(!1)}};return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(D,{type:`button`,size:`sm`,"data-slot":`reference-conflict-action`,disabled:c||s,onClick:()=>void l(),className:`h-7 w-full text-xs`,children:s?`Sending…`:`Resolve conflicts`}),c&&r.reason?(0,Q.jsx)(`span`,{className:`block opacity-70`,children:r.reason}):null]})}function FE({projectId:e,runId:t,prNumber:n}){let r=dr(e,t);return r.data?(0,Q.jsx)(PE,{run:r.data,projectId:e,prNumber:n}):(0,Q.jsx)(D,{type:`button`,size:`sm`,disabled:!0,className:`h-7 w-full text-xs`,children:r.isError?`Unavailable`:`Loading…`})}function IE({runId:e,prNumber:t}){let{projectId:n}=Cs();return n===void 0?(0,Q.jsx)(LE,{runId:e,prNumber:t}):(0,Q.jsx)(FE,{projectId:n,runId:e,prNumber:t})}function LE({runId:e,prNumber:t}){let n=Mr(e);return n.data?(0,Q.jsx)(PE,{run:n.data,prNumber:t}):(0,Q.jsx)(D,{type:`button`,size:`sm`,disabled:!0,className:`h-7 w-full text-xs`,children:n.isError?`Unavailable`:`Loading…`})}function RE({run:e,reference:t,className:n,compact:r=!1,plain:i=!1,inert:a=!1}){let{projectId:o,repoBase:s}=Cs(),c=o!==void 0&&t.number!==void 0?Lr(o,e.id,{kind:t.kind,number:t.number,url:t.url},s):void 0;return(0,Q.jsx)(Ts,{reference:t,taskTitle:V(e),to:c,conflictAction:mr({...t,number:t.number??0},s)?(0,Q.jsx)(IE,{runId:e.id,prNumber:t.number}):void 0,className:n,compact:r,plain:i,inert:a})}var zE=[{value:`all`,label:`All`},{value:`direct`,label:`Direct tasks`},{value:`automations`,label:`Automations`}];function BE(e){return e===`direct`||e===`automations`?e:`all`}function VE(e,t){return t===`all`||De(e)===(t===`automations`)}function HE(e){return e===`all`?void 0:e===`automations`}function UE(e,t){let n={all:0,direct:0,automations:0};for(let r of e)gr(r)||r.archived!==(t===`archived`)||(n.all+=1,De(r)?n.automations+=1:n.direct+=1);return n}function WE(e){return e.rows.map(e=>e.run)}function GE(e,t){switch(e){case`Needs you`:return`pending`;case`Working`:return`running`;case`Archived`:return`neutral`;case`Finished`:return t.some(e=>xe(e).bucket===`error`)?`danger`:`success`}}function KE(e,t,n){return jr(e,t,hi(n))}var qE=(e,t)=>JSON.stringify([e,t]);function JE(e,t,n){let r=new Map,i=e.map(e=>{let{run:t}=e,n=qE(t.projectId,t.id);r.set(n,e);let i=t.delegation;return{...t,id:n,...i&&`parentRunId`in i?{delegation:{...i,parentRunId:qE(t.projectId,i.parentRunId)}}:{}}}),a=new Map;for(let e of n){let t=a.get(e.projectId);t?t.push(e):a.set(e.projectId,[e])}let o=new Map;for(let[e,t]of a)for(let[n,r]of hi(t))o.set(qE(e,n),r);let s=e=>r.get(e.id);return jr(i,t,o).map(e=>({label:e.label,rows:e.rows.map(e=>({kind:`run`,run:s(e.run),queuePosition:e.queuePosition}))}))}function YE(e){return[e.run]}var XE=/^- \S+ — (?:(?:turn complete|step ".*" complete|step ".*" ended without done|session idle-closed) — |worktree setup (?:done in|failed —|skipped —) )/;function ZE(e,t=3){let n=Vt(e,`## Progress log`);if(n<0)return[];let r=[];for(let i of e.slice(wt(e,n)).split(`
|
|
11
|
+
`)){if(r.length>=t||i.startsWith(`## `))break;let e=i.trim();!e||XE.test(e)||r.push(e.replace(/^[-*] /,``))}return r}function QE({origin:e,counts:t,onChange:n}){return(0,Q.jsx)(`div`,{role:`group`,"aria-label":`Task origin`,"data-slot":`origin-filter`,className:`flex flex-wrap items-center gap-1.5`,children:zE.map(r=>{let i=r.value===e;return(0,Q.jsxs)(`button`,{type:`button`,"data-origin":r.value,"aria-pressed":i,onClick:()=>n(r.value),className:O(`inline-flex min-h-11 items-center gap-1.5 rounded-full border border-border px-3 text-[13px] font-medium text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-link-foreground`,i&&`border-accent-strong bg-accent-strong/10 text-accent-text`),children:[r.label,` `,(0,Q.jsx)(`span`,{className:`tabular-nums`,children:t[r.value]})]},r.value)})})}function $E({onExpand:e,onCollapse:t}){return(0,Q.jsxs)(`div`,{"data-slot":`group-fold-controls`,className:`hidden flex-wrap items-center gap-2 md:ml-auto md:flex`,children:[(0,Q.jsx)(D,{type:`button`,variant:`ghost`,className:`min-h-11`,"data-action":`expand-groups`,onClick:e,children:`Expand groups`}),(0,Q.jsx)(D,{type:`button`,variant:`ghost`,className:`min-h-11`,"data-action":`collapse-groups`,onClick:t,children:`Collapse groups`})]})}function eD({origin:e,counts:t,onChange:n,labels:r,onSetAll:i}){return(0,Q.jsxs)(`div`,{"data-slot":`task-origin-row`,className:`flex flex-wrap items-center gap-2.5`,children:[(0,Q.jsx)(QE,{origin:e,counts:t,onChange:n}),r.length>0?(0,Q.jsx)($E,{onExpand:()=>i(r,!1),onCollapse:()=>i(r,!0)}):null]})}var tD={pending:`needs you`,running:`working`,success:`finished`,danger:`contains failed tasks`,neutral:`archived`};function nD({id:e,label:t,count:n,tone:r,folded:i,collapsed:a,onToggle:o,children:s}){let c=a?yo:Vo;return(0,Q.jsxs)(`section`,{"data-slot":`task-status-group`,"data-bucket":t,"data-folded":i,"data-tone":r,"aria-labelledby":`${e}-heading`,className:`flex flex-col gap-2.5`,children:[(0,Q.jsx)(`h2`,{id:`${e}-heading`,className:`text-[13px] font-semibold text-foreground`,children:(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`status-group-toggle`,"aria-expanded":!a,"aria-controls":`${e}-rows`,"aria-label":`${t} ${n}${r===`danger`?`, contains failed tasks`:``}`,onClick:o,className:`inline-flex min-h-11 items-center gap-2 rounded-md pr-2 hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-link-foreground`,children:[(0,Q.jsx)(c,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),(0,Q.jsx)(vb,{tone:r,role:`img`,"aria-label":tD[r],title:tD[r]}),(0,Q.jsx)(`span`,{children:t}),` `,(0,Q.jsx)(`span`,{className:`font-normal tabular-nums text-muted-foreground`,children:n})]})}),(0,Q.jsx)(`div`,{id:`${e}-rows`,hidden:a,children:a?null:s})]})}function rD({automationId:e,automationName:t,project:n}){let r=e===void 0?`Direct task`:t??e;return(0,Q.jsxs)(`span`,{"data-slot":`task-origin`,"data-origin":e===void 0?`direct`:`automation`,className:`flex min-w-0 flex-wrap items-center gap-x-1.5 text-xs text-muted-foreground`,children:[n?(0,Q.jsxs)(Q.Fragment,{children:[n,(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`})]}):null,(0,Q.jsx)(`span`,{className:`min-w-0 break-words`,title:e===void 0?void 0:`Automation ${e}`,children:r})]})}function iD({projectId:e,runId:t,status:n,error:r,open:i}){let a=Kn(e,t,!0),o=a.data===void 0?[]:ZE(a.data);return(0,Q.jsxs)(`div`,{"data-slot":`task-preview`,className:`flex flex-col gap-3 rounded-md bg-muted/50 p-4 text-xs`,children:[(0,Q.jsx)(`p`,{className:`font-medium text-foreground first-letter:uppercase`,children:n}),r?(0,Q.jsx)(`p`,{"data-slot":`task-preview-error`,className:`break-words text-danger`,children:r}):null,a.isPending?(0,Q.jsx)(`p`,{role:`status`,className:`text-muted-foreground`,children:`Loading latest progress…`}):a.isError?(0,Q.jsx)(`p`,{"data-slot":`task-preview-unavailable`,className:`text-muted-foreground`,children:`Latest progress is unavailable.`}):o.length===0?(0,Q.jsx)(`p`,{className:`text-muted-foreground`,children:`No progress recorded yet.`}):(0,Q.jsx)(`ul`,{"aria-label":`Latest progress`,className:`flex flex-col gap-1 text-muted-foreground`,children:o.map((e,t)=>(0,Q.jsx)(`li`,{className:`break-words`,children:e},t))}),(0,Q.jsx)(`div`,{children:i})]})}function aD({delayDuration:e=0,...t}){return(0,Q.jsx)(fp,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function oD({...e}){return(0,Q.jsx)(pp,{"data-slot":`tooltip`,...e})}function sD({...e}){return(0,Q.jsx)(mp,{"data-slot":`tooltip-trigger`,...e})}function cD({className:e,sideOffset:t=0,children:n,...r}){return(0,Q.jsx)(hp,{children:(0,Q.jsxs)(gp,{"data-slot":`tooltip-content`,sideOffset:t,className:O(`z-50 w-fit origin-(--radix-tooltip-content-transform-origin) motion-safe:animate-in rounded-md bg-contrast px-3 py-1.5 text-xs text-balance text-contrast-foreground fade-in-0 motion-safe:zoom-in-95 motion-safe:data-[side=bottom]:slide-in-from-top-2 motion-safe:data-[side=left]:slide-in-from-right-2 motion-safe:data-[side=right]:slide-in-from-left-2 motion-safe:data-[side=top]:slide-in-from-bottom-2 motion-safe:data-[state=closed]:animate-out data-[state=closed]:fade-out-0 motion-safe:data-[state=closed]:zoom-out-95`,e),...r,children:[n,(0,Q.jsx)(_p,{className:`z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-contrast fill-contrast`})]})})}var lD=`cez-sidebar-collapsed`,uD=`cez-sidebar-sections-collapsed`;function dD(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e))typeof r==`boolean`&&(t[n]=r);return t}function fD(e=lD){try{let t=localStorage.getItem(e);return t===null?{}:dD(JSON.parse(t))}catch{return{}}}function pD(e,t=lD){try{localStorage.setItem(t,JSON.stringify(e))}catch{}}var mD=`cez-task-list-folds`,hD=`cez-task-list-folds-changed`;function gD(e,t,n=new Set){let[r,i]=(0,Z.useState)(()=>fD(mD));(0,Z.useEffect)(()=>{let e=e=>{e instanceof StorageEvent&&e.key!==null&&e.key!==`cez-task-list-folds`||i(e instanceof CustomEvent?e.detail:fD(mD))};return window.addEventListener(`storage`,e),window.addEventListener(hD,e),()=>{window.removeEventListener(`storage`,e),window.removeEventListener(hD,e)}},[]);let a=(0,Z.useCallback)(n=>JSON.stringify([e,t,n]),[e,t]),o=(0,Z.useCallback)(e=>{i(t=>{let n=e(t);return pD(n,mD),queueMicrotask(()=>window.dispatchEvent(new CustomEvent(hD,{detail:n}))),n})},[]),s=e=>r[a(e)]===!0;return{isFolded:s,isCollapsed:e=>s(e)&&!n.has(e),toggle:e=>o(t=>({...t,[a(e)]:t[a(e)]!==!0})),setAll:(e,t)=>o(n=>({...n,...Object.fromEntries(e.map(e=>[a(e),t]))})),only:(0,Z.useCallback)((e,t)=>o(n=>({...n,...Object.fromEntries(t.map(t=>[a(t),t!==e]))})),[o,a])}}function _D(e,t,n,r){let i=gD(e,t,n),a=(0,Z.useRef)(r);a.current=r;let[o,s]=gy(),c=t===`active`?xr(o.get(kr)):null,{only:l}=i;return(0,Z.useEffect)(()=>{c!==null&&(l(c,Qr),a.current?.(),s(e=>(e.delete(kr),e)))},[c,l,s]),i}function vD(e){let t=e?.capabilities,n=t?.tokenMetrics!==!1;return{tokens:t?.tokenUsageMetrics??n,cost:t?.costMetrics??n}}function yD(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function bD(){let e=I(),t=Tn(),n=Z.useRef(0),r=Z.useRef(0),i=Z.useRef(Promise.resolve()),a=Z.useMemo(()=>Lw(t.data?.taskTable?.expandedColumns),[t.data?.taskTable?.expandedColumns]),o=Z.useCallback(t=>{if(!Pw.find(e=>e.id===t)?.canFold)return;let a=e.getQueryData(H.uiState);if(a===void 0)return;let o=yD(a?.taskTable),s={...o,expandedColumns:zw(o.expandedColumns,t)};e.setQueryData(H.uiState,{...a,taskTable:s});let c=++n.current;r.current=c;let l=i.current.then(async()=>{let t=await mt({taskTable:s},{keepalive:!0});c===r.current&&e.setQueryData(H.uiState,t)});i.current=l.catch(t=>{K(t instanceof Error?t.message:String(t),{tone:`danger`}),c===r.current&&e.invalidateQueries({queryKey:H.uiState})})},[e]);return{expandedColumns:a,isExpanded:Z.useCallback(e=>Rw(e,a),[a]),toggleColumn:o,isPending:t.isPending}}var xD=()=>void 0;function SD({runs:e,view:t,onViewChange:n,onArchiveFinished:r,archivePending:i=!1,onMarkAllRead:a,onRename:o,onTogglePin:s,now:c=Date.now(),showTokens:l=!0,showCost:u=!0,expandedColumns:d=Lw(void 0),onToggleColumn:f=()=>void 0,columnsPending:p=!1,projectName:m,error:h,onRetry:g,archivedPages:_,archivedTotal:v,onArchivedSearch:y,origin:b,onOriginChange:x,urlQuery:S=``,onQueryChange:C,foldScope:w=`project`,automationName:T=xD}){let[E,O]=CD(S,C);Z.useEffect(()=>{y?.(E.trim())},[y,E]);let[k,A]=TD(b,x),[j,M]=Z.useState(!1),ee=ZT(),{expandedRuns:N,toggleExpandedRun:te}=Nw(),ne=Z.useRef(null),re=Z.useMemo(()=>e??[],[e]),P=Z.useMemo(()=>ED({all:re,view:t,query:E,origin:k,archivedPages:_,archivedTotal:v,automationName:T}),[re,t,E,k,_,v,T]),{groups:F,needle:ie}=P,ae=Z.useMemo(()=>Bw({tokens:l,cost:u}),[l,u]),oe=_D(w,t,new Set(ie?F.map(e=>e.label):[]),()=>O(``)),se=t===`archived`?void 0:s;return(0,Q.jsx)(IT,{runs:_?[...re,..._.runs]:re,onRename:o,children:(0,Q.jsxs)(qT,{layout:`${ee}:${j}`,revision:F,visibilityRevision:JSON.stringify([Tr.map(oe.isCollapsed),[...N].sort(),t,d]),"data-route":`tasks`,"data-presentation":j?`resources`:`summary`,className:`flex min-h-full flex-col gap-[22px] px-[18px] pt-6 pb-[calc(90px+env(safe-area-inset-bottom))] md:p-9`,children:[(0,Q.jsxs)(`header`,{ref:ne,className:`flex shrink-0 flex-col gap-[22px]`,children:[(0,Q.jsx)(wD,{projectName:m,detailedTable:j}),(0,Q.jsxs)(`div`,{className:`flex gap-6 border-b border-border`,children:[(0,Q.jsx)(zD,{view:`active`,current:t,onSelect:n,count:P.activeCount,children:`Active`}),(0,Q.jsx)(zD,{view:`archived`,current:t,onSelect:n,count:P.archivedCount,children:`Archived`})]}),(0,Q.jsxs)(`div`,{"data-slot":`tasks-toolbar`,className:`flex flex-wrap items-center gap-2.5`,children:[(0,Q.jsx)(kD,{view:t,unread:P.unread,finished:P.finished,archivePending:i,headerRef:ne,onMarkAllRead:()=>a(HE(k)),onArchiveFinished:()=>r(HE(k))}),(0,Q.jsxs)(`div`,{className:`relative order-first w-full md:w-auto md:flex-1`,children:[(0,Q.jsx)(ao,{className:`pointer-events-none absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-soft-foreground`,"aria-hidden":`true`}),(0,Q.jsx)(`input`,{type:`text`,value:E,onChange:e=>O(e.target.value),placeholder:`Search tasks or automations…`,"aria-label":`Search tasks`,className:`h-11 w-full rounded-md border border-input bg-card pr-3 pl-8 text-[13px] text-foreground outline-none placeholder:text-soft-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`})]}),(0,Q.jsx)(AD,{columns:ae,expandedColumns:d,columnsPending:p,onToggleColumn:f,detailedTable:j,onToggleDetailed:()=>M(e=>!e)}),(0,Q.jsx)(D,{asChild:!0,"data-slot":`new-task-inline`,className:`min-h-11 inline-flex max-md:hidden`,children:(0,Q.jsxs)(Y,{to:`/new`,children:[(0,Q.jsx)(uo,{"aria-hidden":`true`}),`New task`]})})]}),(0,Q.jsx)(eD,{origin:k,counts:P.originTotals,onChange:A,labels:F.map(e=>e.label),onSetAll:oe.setAll})]}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[e===void 0?(0,Q.jsx)(MD,{error:h,onRetry:g}):(0,Q.jsx)(jD,{view:t,query:E,origin:k,onShowAll:()=>{O(``),A(`all`)},caption:OD(P.visibleCount,P.incomplete,ie),captionOnPhones:ie!==``||P.incomplete,groups:F,folds:oe,grouped:{desktop:ee,expandedRuns:N,toggleExpandedRun:te,detailedTable:j,columns:ae,expandedColumns:d,onToggleColumn:f,columnsPending:p,onRename:o,onTogglePin:se,now:c,showTokens:l,showCost:u,automationName:T}}),t===`archived`&&_?(0,Q.jsx)(ND,{pages:_}):null]})]})})}function CD(e,t){let[n,r]=Z.useState(e),i=Z.useRef(e),a=Z.useRef(e),o=Z.useRef([]);return Z.useEffect(()=>{if(e===i.current)return;i.current=e;let t=o.current.indexOf(e);o.current=t===-1?[]:o.current.slice(t+1),t===-1&&e!==a.current&&r(e)},[e]),Z.useEffect(()=>{a.current=n.trim(),t?.(n,e=>{o.current.push(e)})},[t,n]),[n,r]}function wD({projectName:e,detailedTable:t}){return(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(`h1`,{className:`text-[30px] font-semibold tracking-tight`,children:`Project tasks`}),(0,Q.jsxs)(`p`,{className:`text-[13px] text-muted-foreground`,children:[e?`${e} · `:``,t?`Every resource column shown. Fold columns without losing the saved view.`:`Review runs, pull requests and resource usage.`]})]})}function TD(e,t){let[n,r]=Z.useState(`all`);return[e??n,t??r]}function ED({all:e,view:t,query:n,origin:r,archivedPages:i,archivedTotal:a,automationName:o}){let s=n.trim(),c=e=>e.automationId===void 0?``:o(e.automationId)??e.automationId,l=i?.query===s,u=new Set(l?i.runs.map(e=>e.id):[]),d=Sn(e,l||s===``?i?.runs??[]:[]).slice(e.length),f=Hn(e,n,c),p=new Set(f.map(e=>e.id)),m=Hn(e.filter(e=>u.has(e.id)&&!p.has(e.id)),``),h=e=>VE(e,r),g=KE([...f,...m,...Hn(d,``)].filter(h),t,e),_=Sn(e,i?.query===``?i.runs:[]),v=di(e).archived>=200,y=e.filter(h);return{groups:g,needle:s,visibleCount:g.reduce((e,t)=>e+WE(t).length,0),originTotals:UE(_,t),activeCount:UE(e,`active`)[r],archivedCount:DD(e,_,r,i,a),incomplete:t===`archived`&&v&&i?.hasMore!==!1,finished:ei(y),unread:FC(y)}}function DD(e,t,n,r,i){let a=di(e).archived,o=a>=200;if(n===`all`)return i??(o?`200+`:a);let s=UE(t,`archived`)[n];return o&&r?.plainHasMore!==!1?`${s}+`:s}function OD(e,t,n){return`${e} ${e===1?`task`:`tasks`}${t?` loaded`:``}${n?` matching “${n}”`:``}`}function kD({view:e,unread:t,finished:n,archivePending:r,headerRef:i,onMarkAllRead:a,onArchiveFinished:o}){let s=Z.useRef(!1),[c,l]=Z.useState(!1),u=n>0||r;return Z.useEffect(()=>{let e=window.matchMedia?.(XT);if(!e)return;let t=()=>{e.matches&&l(!1)};return t(),e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]),(0,Q.jsxs)(Q.Fragment,{children:[t>0?(0,Q.jsxs)(D,{type:`button`,variant:`ghost`,size:`sm`,"data-slot":`mark-all-read`,className:`hidden md:inline-flex`,onClick:a,children:[(0,Q.jsx)(mm,{className:`size-3.5`,"aria-hidden":`true`}),`Mark all read`,` `,(0,Q.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:t})]}):null,e===`active`&&n>0?(0,Q.jsxs)(D,{type:`button`,variant:`ghost`,size:`sm`,"data-slot":`archive-finished`,className:`inline-flex`,disabled:r,"aria-busy":r,onClick:o,children:[(0,Q.jsx)(zo,{className:`size-3.5`,"aria-hidden":`true`}),`Archive finished`,` `,(0,Q.jsx)(`span`,{className:`tabular-nums text-muted-foreground`,children:n})]}):null,e===`active`&&(u||t>0)?(0,Q.jsxs)(na,{open:c,onOpenChange:l,children:[(0,Q.jsx)($i,{asChild:!0,children:(0,Q.jsx)(D,{type:`button`,variant:`ghost`,size:`icon`,className:`md:hidden`,"aria-label":`Task actions`,"aria-busy":r,children:(0,Q.jsx)(Am,{"aria-hidden":`true`})})}),(0,Q.jsxs)(ea,{align:`end`,className:`md:hidden`,onCloseAutoFocus:e=>{(s.current||window.matchMedia?.(`(min-width: 48rem)`).matches)&&(e.preventDefault(),s.current=!1,i.current?.querySelector(`[data-view="active"]`)?.focus())},children:[u?(0,Q.jsxs)(Yi,{disabled:r||n===0,onSelect:()=>{s.current=!0,o()},children:[(0,Q.jsx)(zo,{"aria-hidden":`true`}),r?`Archiving…`:`Archive finished (${n})`]}):null,t>0?(0,Q.jsxs)(Yi,{onSelect:a,children:[(0,Q.jsx)(mm,{"aria-hidden":`true`}),`Mark all read (${t})`]}):null]})]}):null]})}function AD({columns:e,expandedColumns:t,columnsPending:n,onToggleColumn:r,detailedTable:i,onToggleDetailed:a}){return(0,Q.jsxs)(Ka,{children:[(0,Q.jsx)(Va,{asChild:!0,children:(0,Q.jsx)(D,{"data-slot":`task-columns-trigger`,variant:`outline`,className:`hidden min-h-11 md:inline-flex`,children:`Columns`})}),(0,Q.jsxs)(Wa,{align:`end`,className:`w-72`,children:[(0,Q.jsx)(`h2`,{className:`mb-2 text-base font-medium`,children:`Visible columns`}),(0,Q.jsx)(`p`,{className:`mb-4 text-xs text-muted-foreground`,children:`Status and Task · Always visible`}),(0,Q.jsx)(`div`,{className:`grid grid-cols-2 gap-3`,children:e.filter(e=>e.canFold).map(e=>(0,Q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,Q.jsx)(`input`,{"data-column-toggle":e.id,type:`checkbox`,checked:Rw(e.id,t),disabled:n,onChange:()=>r(e.id)}),e.id===`diff`?`Diff`:e.id===`reference`?`Reference`:e.id===`memory`?`Memory`:e.label]},e.id))}),(0,Q.jsx)(`p`,{className:`mt-4 text-xs text-muted-foreground`,children:`Saved automatically. Tokens and cost appear only when supported.`}),(0,Q.jsx)(D,{variant:`outline`,className:`mt-4`,onClick:a,children:i?`Summary view`:`Resource columns`})]})]})}function jD({view:e,query:t,origin:n,onShowAll:r,caption:i,captionOnPhones:a,groups:o,folds:s,grouped:c}){return o.length===0?(0,Q.jsx)(PD,{view:e,query:t,origin:n,onShowAll:r}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`p`,{"data-slot":`tasks-result-count`,className:O(`mb-3 text-[12px] text-muted-foreground tabular-nums`,!a&&`max-md:hidden`),children:i}),(0,Q.jsx)(`div`,{className:`flex flex-col gap-[22px]`,children:o.map(t=>{let n=WE(t);return(0,Q.jsx)(nD,{id:`tasks-group-${e}-${t.label.replaceAll(` `,`-`)}`,label:t.label,count:n.length,tone:GE(t.label,n),folded:s.isFolded(t.label),collapsed:s.isCollapsed(t.label),onToggle:()=>s.toggle(t.label),children:(0,Q.jsx)(LD,{group:t,...c})},t.label)})}),(0,Q.jsx)(`p`,{className:`mt-[22px] text-[11px] text-muted-foreground`,children:`Resource details—including tokens, cost, CPU and peak memory—are available when a task row is expanded.`})]})}function MD({error:e,onRetry:t}){return e?(0,Q.jsxs)(`div`,{role:`alert`,className:`rounded-xl border border-border bg-card p-6`,children:[(0,Q.jsx)(`h2`,{className:`text-lg`,children:`Could not load tasks`}),(0,Q.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:e}),(0,Q.jsx)(D,{variant:`outline`,className:`mt-4`,onClick:t,children:`Retry`})]}):(0,Q.jsx)(`div`,{role:`status`,"aria-label":`Loading tasks`,className:`rounded-xl border border-border bg-card p-6 text-sm text-muted-foreground`,children:`Loading tasks…`})}function ND({pages:e}){return e.failed?(0,Q.jsxs)(`p`,{role:`alert`,"data-slot":`archived-older-error`,className:`mt-3.5 flex items-center justify-center gap-2.5 text-[13px] text-muted-foreground`,children:[`Could not load older archived tasks.`,(0,Q.jsx)(D,{variant:`outline`,className:`min-h-11`,onClick:e.onLoadMore,children:`Retry`})]}):e.hasMore?(0,Q.jsx)(D,{"data-slot":`archived-older`,variant:`outline`,className:`mt-3.5 min-h-11 self-center`,disabled:e.loading,onClick:e.onLoadMore,children:e.loading?`Loading older archived…`:`Show older archived`}):null}function PD({view:e,query:t,origin:n=`all`,onShowAll:r}){let i=t.trim(),a=i||n!==`all`?`search-miss`:e===`archived`?`archive`:`no-tasks`;return(0,Q.jsx)(`div`,{"data-slot":`tasks-empty`,"data-empty-kind":a,className:`flex flex-1 flex-col`,children:a===`search-miss`?(0,Q.jsx)(X,{heading:`h2`,icon:(0,Q.jsx)(Os,{}),tone:`neutral`,title:`No matching tasks`,subtitle:i?`No tasks match “${i}”.`:n===`automations`?`No automation started a task here.`:`No task here was started directly.`,actions:r?(0,Q.jsx)(D,{variant:`outline`,className:`min-h-11`,"data-action":`clear-task-filters`,onClick:r,children:`Show all tasks`}):void 0}):a===`archive`?(0,Q.jsx)(X,{heading:`h2`,icon:(0,Q.jsx)(zo,{}),tone:`neutral`,title:`Nothing archived yet`,subtitle:`Finished tasks you archive land here.`}):(0,Q.jsx)(X,{heading:`h2`,icon:(0,Q.jsx)(qm,{}),tone:`primary`,backdrop:!0,title:`No tasks yet`,subtitle:`Describe a task to get started.`,actions:(0,Q.jsx)(D,{asChild:!0,children:(0,Q.jsxs)(Y,{to:`/new`,children:[(0,Q.jsx)(uo,{"aria-hidden":`true`}),`New task`]})})})})}function FD({rows:e,onRename:t,onTogglePin:n,now:r,showTokens:i,showCost:a,automationName:o,expandedRuns:s,toggleExpandedRun:c}){let l=Ww(e.map(({run:e})=>e.id),s);return(0,Q.jsx)(`div`,{"data-slot":`tasks-summary`,children:(0,Q.jsxs)(`div`,{className:`rounded-lg border border-border bg-card p-5`,role:`table`,"aria-rowcount":l.rowCount,children:[(0,Q.jsx)(`div`,{role:`row`,"aria-rowindex":1,className:`task-summary-grid`,children:[`Task`,`Workflow`,`Changes`,`Pull request`,`Started`].map(e=>(0,Q.jsx)(`div`,{role:`columnheader`,className:`h-8 border-b border-border text-start text-[12px] font-medium uppercase text-muted-foreground`,children:e},e))}),(0,Q.jsx)(KT,{itemSize:103,items:e,itemKey:({run:e})=>e.id,children:({run:e,queuePosition:u},d)=>(0,Q.jsx)(ID,{run:e,queuePosition:u,rowIndex:l.indexes[d],onRename:t,onTogglePin:n,now:r,showTokens:i,showCost:a,automationName:o,open:s.has(e.id),toggleExpandedRun:c})})]})})}var ID=Z.memo(function({run:e,queuePosition:t,rowIndex:n,onRename:r,onTogglePin:i,now:a,showTokens:o,showCost:s,automationName:c,open:l,toggleExpandedRun:u}){let d=xe(e),f=Dr(e),p=ii(e),m=`task-resources-${e.id}`;return(0,Q.jsxs)(`div`,{role:`rowgroup`,children:[(0,Q.jsxs)(`div`,{role:`row`,"aria-rowindex":n,"data-status":e.status,"data-slot":`task-summary-row`,"data-run-id":e.id,className:`task-summary-grid group/row`,children:[(0,Q.jsxs)(`div`,{role:`cell`,className:`py-5 pr-4 align-top`,children:[(0,Q.jsx)(JD,{run:e,to:`/tasks/${e.id}`,onRename:r,onTogglePin:i}),(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(KD,{run:e,automationName:c})}),(0,Q.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`button`,{type:`button`,"data-task-control":`resources`,"aria-label":`${l?`Hide`:`Show`} resources for ${V(e)}`,"aria-expanded":l,"aria-controls":m,"aria-describedby":`summary-status-${e.id}`,onClick:()=>u(e.id),className:`inline-flex min-h-[26px] items-center gap-1 rounded-md p-0 text-[11px] text-muted-foreground hover:bg-muted focus-visible:outline-2 focus-visible:outline-ring`,children:(0,Q.jsxs)(iE,{id:`summary-status-${e.id}`,dot:d.tone,shape:d.shape,pulse:d.pulse,children:[d.label,f?` ${f.label}`:``]})}),e.status===`queued`&&t!==null?(0,Q.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`#`,t,` in queue`]}):null]})]}),(0,Q.jsx)(`div`,{role:`cell`,className:`truncate pr-3 text-xs text-muted-foreground`,title:li(e),children:li(e)}),(0,Q.jsx)(`div`,{role:`cell`,className:`pr-2 text-xs`,children:e.diffStat?(0,Q.jsx)($T,{stat:e.diffStat}):(0,Q.jsx)(eO,{})}),(0,Q.jsx)(`div`,{role:`cell`,className:`pr-2`,children:p?(0,Q.jsx)(RE,{run:e,reference:p,compact:!0}):(0,Q.jsx)(eO,{})}),(0,Q.jsx)(`div`,{role:`cell`,className:`text-xs text-muted-foreground`,children:ts(e.startedAt??e.createdAt,a)})]}),l?(0,Q.jsx)(`div`,{role:`row`,"aria-rowindex":n+1,"data-run-id":e.id,children:(0,Q.jsx)(`div`,{role:`cell`,"aria-colspan":5,className:`border-b border-border pb-5`,children:(0,Q.jsxs)(`div`,{id:m,className:`flex flex-col gap-3`,children:[(0,Q.jsx)(iD,{runId:e.id,status:d.label,error:e.error,open:(0,Q.jsx)(D,{asChild:!0,variant:`outline`,className:`min-h-11`,children:(0,Q.jsxs)(Y,{"data-task-control":`open`,to:`/tasks/${e.id}`,children:[`Open task`,(0,Q.jsxs)(`span`,{className:`sr-only`,children:[`: `,V(e)]})]})})}),(0,Q.jsx)(`div`,{className:`rounded-md bg-muted/50 p-4`,children:(0,Q.jsx)(RD,{run:e,showTokens:o,showCost:s})})]})})}):null]})});function LD({desktop:e,expandedRuns:t,toggleExpandedRun:n,group:r,detailedTable:i,columns:a,expandedColumns:o,onToggleColumn:s,columnsPending:c,onRename:l,onTogglePin:u,now:d,showTokens:f,showCost:p,automationName:m}){let h=r.rows.flatMap(e=>YE(e).map(t=>({run:t,queuePosition:t.status===`queued`?e.queuePosition:null})));return(0,Q.jsxs)(Q.Fragment,{children:[e&&!i?(0,Q.jsx)(FD,{expandedRuns:t,toggleExpandedRun:n,rows:h,onRename:l,onTogglePin:u,now:d,showTokens:f,showCost:p,automationName:m}):null,e&&i?(0,Q.jsx)(`div`,{"data-slot":`tasks-table`,className:`overflow-x-auto rounded-lg border border-border bg-card`,children:(0,Q.jsx)(aD,{children:(0,Q.jsxs)(`div`,{role:`table`,"aria-rowcount":h.length+1,className:`task-resource-grid`,style:Uw(a,o),children:[(0,Q.jsx)(`div`,{role:`row`,"aria-rowindex":1,className:`task-resource-row`,children:a.map(e=>(0,Q.jsx)(VD,{column:e,expanded:Rw(e.id,o),onToggle:s,disabled:c},e.id))}),(0,Q.jsx)(KT,{itemSize:50,items:h,itemKey:({run:e})=>e.id,children:({run:e,queuePosition:t},n)=>(0,Q.jsx)(WD,{rowIndex:n+2,run:e,queuePosition:t,onRename:l,onTogglePin:u,now:d,columns:a,expandedColumns:o,automationName:m})})]})})}):null,e?null:(0,Q.jsx)(`div`,{"data-slot":`task-cards`,className:`flex flex-col rounded-lg border border-border bg-card p-5`,children:(0,Q.jsx)(KT,{itemSize:178,items:h,itemKey:({run:e})=>e.id,children:({run:e,queuePosition:r})=>(0,Q.jsx)(QD,{resourcesOpen:t.has(e.id),onToggleResources:n,run:e,queuePosition:r,now:d,showTokens:f,showCost:p,onTogglePin:u,automationName:m},e.id)})})]})}function RD({run:e,showTokens:t,showCost:n}){let r=Ur(e,Gl(e.id));return(0,Q.jsxs)(`dl`,{className:`grid grid-cols-2 gap-4 text-xs md:grid-cols-4`,children:[t?(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Tokens in / out`}),(0,Q.jsx)(`dd`,{className:`mt-1`,children:(0,Q.jsx)(rE,{inputTokens:e.inputTokens,outputTokens:e.outputTokens,omitWhenUnknown:!1})})]}):null,n?(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Cost`}),(0,Q.jsx)(`dd`,{className:`mt-1`,children:Bn(e.costUsd)||`—`})]}):null,(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`CPU`}),(0,Q.jsx)(`dd`,{className:`mt-1`,title:r.cpu.title,children:r.cpu.text||`—`})]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Memory`}),(0,Q.jsx)(`dd`,{className:`mt-1`,title:r.mem.title,children:r.mem.text||`—`})]}),e.branch?(0,Q.jsxs)(`div`,{className:`col-span-2`,children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Branch`}),(0,Q.jsx)(`dd`,{className:`mt-1 break-all`,children:e.branch})]}):null]})}function zD({view:e,current:t,onSelect:n,count:r,children:i}){let a=e===t;return(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`overview-tab`,"data-view":e,"aria-pressed":a,onClick:()=>n(e),className:O(`flex min-h-11 items-center justify-center gap-1.5 border-b-2 border-transparent text-[13px] font-medium text-muted-foreground`,a&&`border-accent-strong font-semibold text-accent-text`),children:[i,r===0?null:(0,Q.jsxs)(`span`,{className:`tabular-nums`,children:[` · `,r]})]})}function BD({children:e,right:t=!1,columnId:n,folded:r=!1}){return(0,Q.jsx)(`div`,{role:`columnheader`,"data-column-id":n,"data-folded":r||void 0,className:O(`h-[38px] border-b border-border px-2.5 text-left text-[11px] font-semibold tracking-[0.05em] whitespace-nowrap text-supporting-foreground uppercase first:pl-4 last:pr-4`,t&&`text-right`,r&&`px-0 first:pl-0 last:pr-0`),children:e})}function VD({column:e,expanded:t,onToggle:n,disabled:r}){if(!e.canFold)return(0,Q.jsx)(BD,{columnId:e.id,right:e.align===`right`,children:e.label});let i=t?`Fold`:`Expand`;return(0,Q.jsx)(BD,{columnId:e.id,right:e.align===`right`,folded:!t,children:(0,Q.jsxs)(oD,{children:[(0,Q.jsx)(sD,{asChild:!0,children:(0,Q.jsx)(`button`,{type:`button`,"aria-label":`${i} ${e.label} column`,"aria-pressed":t,disabled:r,onClick:()=>n(e.id),className:O(`inline-flex h-8 w-full items-center gap-1 rounded-sm px-0.5 text-inherit outline-none hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-wait disabled:opacity-60`,e.align===`right`?`justify-end`:`justify-start`,!t&&`justify-center px-0`),children:t?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{children:e.label}),(0,Q.jsx)(ym,{className:`size-3 opacity-55`,"aria-hidden":`true`})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(HD,{icon:e.icon}),(0,Q.jsx)(bm,{className:`size-3 opacity-70`,"aria-hidden":`true`})]})})}),(0,Q.jsxs)(cD,{side:`top`,children:[e.label,` · `,i,` column`]})]})})}function HD({icon:e}){let t=`size-3.5`;switch(e){case`workflow`:return(0,Q.jsx)(So,{className:t,"aria-hidden":`true`});case`branch`:return(0,Q.jsx)(Eo,{className:t,"aria-hidden":`true`});case`diff`:return(0,Q.jsx)(Uo,{className:t,"aria-hidden":`true`});case`reference`:return(0,Q.jsx)(Km,{className:t,"aria-hidden":`true`});case`tokens`:return(0,Q.jsx)(Cm,{className:t,"aria-hidden":`true`});case`cost`:return(0,Q.jsx)(km,{className:t,"aria-hidden":`true`});case`cpu`:return(0,Q.jsx)(go,{className:t,"aria-hidden":`true`});case`memory`:return(0,Q.jsx)(Jm,{className:t,"aria-hidden":`true`});case`started`:return(0,Q.jsx)(xm,{className:t,"aria-hidden":`true`});default:return null}}var UD=`h-[88px] border-b border-border px-2.5 whitespace-nowrap first:pl-4 last:pr-4`,WD=Z.memo(function({rowIndex:e,run:t,queuePosition:n,onRename:r,onTogglePin:i,now:a,columns:o,expandedColumns:s,automationName:c}){let l=As(),u=xe(t),d=Dr(t),f=`/tasks/${t.id}`,p=Bn(t.costUsd),m=ii(t);return(0,Q.jsx)(`div`,{role:`row`,"aria-rowindex":e,"data-slot":`task-table-row`,"data-run-id":t.id,onClick:e=>{e.target.closest(`a, button, input`)||l(f)},className:`task-resource-row group/row cursor-pointer hover:bg-muted`,children:o.map(e=>{if(e.id===`memory`)return null;if(e.id===`cpu`){let r=Rw(`cpu`,s),i=Rw(`memory`,s);return n!==null&&(r||i)?(0,Q.jsxs)(`div`,{role:`cell`,"data-slot":`queue-note`,"data-column-id":`cpu-memory`,"aria-colspan":2,style:{gridColumn:`span 2`},className:O(UD,`text-right font-mono text-[11px] text-supporting-foreground`),children:[`#`,n,` in queue`]},e.id):(0,Q.jsx)(YD,{run:t,cpuExpanded:r,memoryExpanded:i},e.id)}return(0,Q.jsx)(GD,{column:e,expanded:Rw(e.id,s),run:t,attention:u,scheduled:d,reference:m,cost:p,to:f,onRename:r,onTogglePin:i,now:a,automationName:c},e.id)})})});function GD({column:e,expanded:t,run:n,attention:r,scheduled:i,reference:a,cost:o,to:s,onRename:c,onTogglePin:l,now:u,automationName:d}){if(!t)return(0,Q.jsx)(qD,{column:e.id});switch(e.id){case`status`:return(0,Q.jsx)(`div`,{role:`cell`,"data-column-id":e.id,className:O(UD,`overflow-hidden`),children:(0,Q.jsx)(iE,{dot:r.tone,shape:r.shape,pulse:r.pulse,title:i?.title??r.label,className:`w-full max-w-full overflow-hidden`,children:(0,Q.jsxs)(`span`,{className:`min-w-0 truncate`,children:[r.label,i?(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(`span`,{className:`tabular-nums`,children:i.label})]}):null]})})});case`task`:return(0,Q.jsxs)(`div`,{role:`cell`,"data-column-id":e.id,className:O(UD,`min-w-[320px] max-w-0 whitespace-normal`),children:[(0,Q.jsx)(JD,{run:n,to:s,onRename:c,onTogglePin:l}),(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(KD,{run:n,automationName:d})})]});case`workflow`:return(0,Q.jsx)(`div`,{role:`cell`,"data-column-id":e.id,className:O(UD,`max-w-0 truncate text-[13px] text-muted-foreground`),children:li(n)});case`branch`:return(0,Q.jsx)(`div`,{role:`cell`,"data-column-id":e.id,className:O(UD,`max-w-0 overflow-hidden`),children:n.branch?(0,Q.jsx)(tO,{branch:n.branch}):(0,Q.jsx)(eO,{})});case`diff`:return(0,Q.jsx)(`div`,{role:`cell`,"data-column-id":e.id,className:O(UD,`overflow-hidden`),children:n.diffStat?(0,Q.jsx)($T,{stat:n.diffStat,compact:!0,className:`block max-w-full`}):(0,Q.jsx)(eO,{})});case`reference`:return(0,Q.jsx)(`div`,{role:`cell`,"data-column-id":e.id,className:O(UD,`overflow-hidden`),children:a?(0,Q.jsx)(RE,{run:n,reference:a,compact:!0,className:`max-w-full overflow-hidden`}):(0,Q.jsx)(eO,{})});case`tokens`:let t=tE(n.inputTokens,n.outputTokens);return(0,Q.jsx)(`div`,{role:`cell`,"data-column-id":e.id,className:O(UD,`text-right text-xs text-muted-foreground`),children:(0,Q.jsx)(rE,{inputTokens:n.inputTokens,outputTokens:n.outputTokens,variant:`table`,omitWhenUnknown:!1,title:t,className:`block max-w-full overflow-hidden text-ellipsis`})});case`cost`:return(0,Q.jsx)(`div`,{role:`cell`,"data-column-id":e.id,className:O(UD,`text-right font-mono text-xs text-muted-foreground tabular-nums`),children:o?(0,Q.jsx)(ZD,{text:o,accessibleText:`$${n.costUsd}`}):(0,Q.jsx)(eO,{})});case`started`:return(0,Q.jsx)(`div`,{role:`cell`,"data-column-id":e.id,className:O(UD,`text-right text-xs text-supporting-foreground tabular-nums`),children:ts(n.startedAt??n.createdAt,u)});default:return null}}function KD({run:e,automationName:t}){return(0,Q.jsx)(rD,{automationId:e.automationId,automationName:e.automationId===void 0?void 0:t(e.automationId)})}function qD({column:e}){return(0,Q.jsx)(`div`,{role:`cell`,"aria-hidden":`true`,"data-column-id":e,"data-folded":`true`,className:O(UD,`px-0 first:pl-0 last:pr-0`)})}function JD({run:e,to:t,onTogglePin:n}){let r=V(e),i=LT(e),a=Ln(e),o=PC(e);return i.editing?(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,"data-slot":`table-title-editor`,children:[(0,Q.jsx)(MT,{editor:i,className:`basis-full text-[13px] font-medium`}),(0,Q.jsx)(D,{size:`sm`,"aria-label":`Save title`,onMouseDown:e=>e.preventDefault(),onClick:i.commit,children:`Save`}),(0,Q.jsx)(D,{size:`sm`,variant:`outline`,"aria-label":`Cancel rename`,onMouseDown:e=>e.preventDefault(),onClick:i.cancel,children:`Cancel`})]}):(0,Q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[e.delegation?.role===`worker`?(0,Q.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:`Worker`}):null,(0,Q.jsx)(Y,{"data-task-control":`title`,to:t,title:r,className:O(`line-clamp-2 min-w-0 flex-1 whitespace-normal rounded-sm text-[13px] leading-[18px] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-link-foreground`,a?`font-semibold text-foreground`:o?`font-normal text-foreground`:`font-medium`),children:r}),a?(0,Q.jsx)(vb,{tone:IC(e),role:`img`,"aria-label":`unread`,title:`Unread — not opened since it finished`,className:`shrink-0`}):null,(0,Q.jsx)(`button`,{type:`button`,"data-slot":`row-rename`,"aria-label":`Rename task`,onClick:i.begin,className:`shrink-0 rounded-sm p-0.5 text-soft-foreground opacity-0 transition-opacity group-hover/row:opacity-100 hover:text-foreground focus-visible:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:(0,Q.jsx)(eh,{className:`size-3`,"aria-hidden":`true`})}),n?(0,Q.jsx)(aE,{pinned:!!e.pinned,onToggle:t=>n(e,t),className:`size-[19px] opacity-0 group-hover/row:opacity-100 focus-visible:opacity-100 no-hover:opacity-100 data-[pinned=true]:opacity-100`}):null]})}function YD({run:e,cpuExpanded:t,memoryExpanded:n}){let r=Ur(e,Gl(e.id));return(0,Q.jsxs)(Q.Fragment,{children:[t?(0,Q.jsx)(XD,{column:`cpu`,cell:r.cpu}):(0,Q.jsx)(qD,{column:`cpu`}),n?(0,Q.jsx)(XD,{column:`memory`,cell:r.mem}):(0,Q.jsx)(qD,{column:`memory`})]})}function XD({column:e,cell:t}){let n=t.text&&t.title?`${t.text}; ${t.title}`:t.text;return(0,Q.jsx)(`div`,{role:`cell`,"data-usage":e===`memory`?`mem`:e,"data-column-id":e,"data-usage-kind":t.kind,className:O(UD,`overflow-hidden`,`text-right font-mono tabular-nums`,t.kind===`live`&&`bg-accent-strong/5 text-xs font-medium text-foreground`,t.kind===`peak`&&`text-[11px] text-supporting-foreground`,t.kind===`none`&&`text-xs text-soft-foreground`),children:(0,Q.jsx)(ZD,{text:t.text||`—`,accessibleText:n||void 0})})}function ZD({text:e,accessibleText:t}){return(0,Q.jsx)(`span`,{"data-slot":`bounded-metric`,...t?{"aria-label":t,title:t}:{},className:`block max-w-full overflow-hidden text-ellipsis`,children:e})}var QD=Z.memo(function({resourcesOpen:e,onToggleResources:t,run:n,queuePosition:r,now:i,showTokens:a,showCost:o,onTogglePin:s,automationName:c}){let l=As(),u=xe(n),d=Dr(n),f=`/tasks/${n.id}`,p=ii(n),m=Ln(n),h=PC(n);return(0,Q.jsxs)(`div`,{"data-slot":`task-card`,"data-status":n.status,"data-run-id":n.id,onClick:e=>{e.target.closest(`a, button`)||l(f)},className:`cursor-pointer border-b border-border py-5`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-start gap-2.5`,children:[(0,Q.jsx)(`button`,{"data-slot":`mobile-resources-toggle`,"data-task-control":`resources`,type:`button`,"aria-controls":`mobile-resources-${n.id}`,"aria-describedby":`mobile-status-${n.id}`,"aria-label":e?`Hide resources`:`Show resources`,title:e?`Hide resources`:`Show resources`,"aria-expanded":e,onClick:()=>t(n.id),children:(0,Q.jsxs)(iE,{id:`mobile-status-${n.id}`,dot:u.tone,shape:u.shape,pulse:u.pulse,className:`mt-px shrink-0`,title:d?.title,children:[u.label,d?(0,Q.jsx)(`span`,{className:`tabular-nums`,children:d.label}):null]})}),(0,Q.jsxs)(Y,{"data-task-control":`title`,to:f,className:O(`order-first w-full min-w-0 rounded-sm text-[14px] leading-[1.35] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-link-foreground`,m?`font-semibold text-foreground`:h?`font-normal text-foreground`:`font-medium`),children:[n.delegation?.role===`worker`?(0,Q.jsx)(`span`,{className:`mr-2 text-xs text-muted-foreground`,children:`Worker`}):null,V(n)]}),m?(0,Q.jsx)(vb,{tone:IC(n),role:`img`,"aria-label":`unread`,title:`Unread — not opened since it finished`,className:`mt-1.5 shrink-0`}):null,(0,Q.jsx)(`div`,{className:`order-first w-full`,children:(0,Q.jsx)(KD,{run:n,automationName:c})}),s?(0,Q.jsx)(aE,{pinned:!!n.pinned,onToggle:e=>s(n,e),className:`mt-px`}):null]}),(0,Q.jsxs)(`div`,{"data-slot":`mobile-task-meta`,className:`mt-4 grid grid-cols-[minmax(0,1fr)_auto_auto] items-center gap-3 text-xs text-muted-foreground`,children:[(0,Q.jsx)(`span`,{children:li(n)}),r===null?n.diffStat?(0,Q.jsx)($T,{stat:n.diffStat}):(0,Q.jsx)(eO,{}):(0,Q.jsxs)(`span`,{"data-slot":`queue-note`,children:[`#`,r,` in queue`]}),(0,Q.jsx)(`span`,{children:ts(n.startedAt??n.createdAt,i)})]}),p?(0,Q.jsx)(`div`,{className:`mt-3`,children:(0,Q.jsx)(RE,{run:n,reference:p})}):null,e?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`mt-3`,children:(0,Q.jsx)(iD,{runId:n.id,status:u.label,error:n.error,open:(0,Q.jsx)(D,{asChild:!0,variant:`outline`,className:`min-h-11`,children:(0,Q.jsxs)(Y,{"data-task-control":`open`,to:f,children:[`Open task`,(0,Q.jsxs)(`span`,{className:`sr-only`,children:[`: `,V(n)]})]})})})}),(0,Q.jsx)($D,{run:n,showTokens:a,showCost:o})]}):null]})});function $D({run:e,showTokens:t,showCost:n}){let r=Ur(e,Gl(e.id));return(0,Q.jsxs)(`dl`,{id:`mobile-resources-${e.id}`,className:`mt-3 grid grid-cols-2 gap-3 rounded-md bg-muted p-3 text-xs`,children:[e.branch?(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{children:`Branch`}),(0,Q.jsx)(`dd`,{children:e.branch})]}):null,(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{children:`CPU`}),(0,Q.jsx)(`dd`,{children:r.cpu.text||`—`})]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{children:`Memory`}),(0,Q.jsx)(`dd`,{children:r.mem.text||`—`})]}),t?(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{children:`IN / OUT`}),(0,Q.jsx)(`dd`,{children:(0,Q.jsx)(rE,{inputTokens:e.inputTokens,outputTokens:e.outputTokens})})]}):null,n?(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{children:`Cost`}),(0,Q.jsx)(`dd`,{children:Bn(e.costUsd)||`—`})]}):null]})}function eO(){return(0,Q.jsx)(`span`,{className:`text-xs text-soft-foreground`,children:`—`})}function tO({branch:e}){return(0,Q.jsx)(`span`,{title:e,className:`block truncate rounded-[6px] bg-muted px-1.5 py-0.5 font-mono text-[11px] font-medium text-muted-foreground`,children:e})}function nO(){let e=kn(),t=U(),n=vD(t.data),{view:r,setView:i,origin:a,setOrigin:o,urlQuery:s,writeQuery:c}=iO(),l=wn(),u=I(),d=sO(e.data,r),f=W({mutationFn:e=>Tt(ar(),void 0,e),onSuccess:()=>l.invalidateAfter(`runs`,()=>ar()),onError:e=>K(e.message,{tone:`danger`})}),p=W({mutationFn:e=>ce(e),onSuccess:()=>u.invalidateQueries({queryKey:G.runs.all}),onError:e=>K(e.message,{tone:`danger`})}),m=W({mutationFn:({id:e,title:t})=>qe(e,{title:t}),onSuccess:()=>u.invalidateQueries({queryKey:G.runs.all}),onError:e=>K(e.message,{tone:`danger`})}),h=or(),g=ag(3e4),_=bD(),v=ni(),y=zn(void 0,{retryOnMount:!1}),b=yn({retryOnMount:!1}).data?.projects?.find(e=>e.id===v)?.name,x=[...e.data??[],...d.pages?.runs??[]].some(e=>e.automationId!==void 0),S=Zr([void 0],t.data?.capabilities?.automations===!0&&x),C=Z.useCallback(e=>S(void 0,e),[S]),w=Z.useMemo(()=>v===void 0?[]:(e.data??[]).flatMap(e=>{let t=ii(e);return t?[{projectId:v,kind:t.kind,number:t.number}]:[]}),[e.data,v]),T=Z.useCallback((e,t)=>m.mutate({id:e,title:t}),[m.mutate]),E=Z.useCallback((e,t)=>h.mutate({id:e.id,pinned:t}),[h.mutate]);return(0,Q.jsx)(Ss,{projectId:v,repoBase:y,requests:w,children:(0,Q.jsx)(SD,{runs:e.data,projectName:b,error:e.error?.message,onRetry:()=>void e.refetch(),view:r,onViewChange:i,origin:a,onOriginChange:o,urlQuery:s,onQueryChange:c,foldScope:`project:${v??`default`}`,automationName:C,onArchiveFinished:e=>{f.isPending||f.mutate(e)},archivePending:f.isPending,onMarkAllRead:e=>p.mutate(e),onRename:T,onTogglePin:E,now:g,showTokens:n.tokens,showCost:n.cost,expandedColumns:_.expandedColumns,onToggleColumn:_.toggleColumn,columnsPending:_.isPending,archivedPages:d.pages,archivedTotal:d.total,onArchivedSearch:d.search})})}function rO(e,t){return n=>(t===null?n.delete(e):n.set(e,t),n)}function iO(){let[e,t]=gy(),n=e.get(`archived`)===`1`?`archived`:`active`,r=BE(e.get(`origin`)),[i,a]=Z.useState(n),[o,s]=Z.useState(r);Z.useEffect(()=>a(n),[n]),Z.useEffect(()=>s(r),[r]);let c=e.get(`q`)??``,l=Z.useRef(void 0);return Z.useEffect(()=>{let e=l;return()=>clearTimeout(e.current)},[]),{view:i,setView:e=>{a(e),t(rO(`archived`,e===`archived`?`1`:null))},origin:o,setOrigin:e=>{s(e),t(rO(`origin`,e===`all`?null:e))},urlQuery:c,writeQuery:Z.useCallback((e,n)=>{clearTimeout(l.current);let r=e.trim();l.current=setTimeout(()=>t(e=>{let t=e.get(`q`),i=rO(`q`,r===``?null:r)(e);return i.get(`q`)!==t&&n(r),i}),aO)},[t])}}var aO=250,oO=150;function sO(e,t){wn();let n=I(),[r,i]=Z.useState(``),[a,o]=Z.useState(``);Z.useEffect(()=>{let e=setTimeout(()=>o(r),oO);return()=>clearTimeout(e)},[r]);let s=e!==void 0&&di(e).archived>=200,{data:c,isError:l,isPlaceholderData:u,hasNextPage:d,isFetchingNextPage:f,fetchNextPage:p,refetch:m}=Hr(a,t===`archived`&&(a!==``||s)),h=c?.pages,g=Z.useMemo(()=>h||l?{runs:(h??[]).flatMap(e=>e.runs),query:u?null:a,hasMore:d,loading:f,onLoadMore:()=>void(h?p():m()),failed:l}:void 0,[h,l,u,a,d,f,p,m]),_=a===``?h:n.getQueryData(G.runs.archived(``))?.pages,v=_===void 0?void 0:_.at(-1)?.nextCursor!=null;return{pages:Z.useMemo(()=>g&&{...g,plainHasMore:v},[g,v]),total:_?.[0]?.total,search:i}}function cO({projects:e,perProjectLimit:t}){return e.length===0?null:(0,Q.jsxs)(`p`,{"data-slot":`global-tasks-truncated`,className:`text-[11px] text-soft-foreground`,children:[`Showing every active task and the newest `,t,` archived tasks per project — older archived tasks in`,` `,e.join(`, `),` are in that project’s own Tasks page.`]})}function lO({registry:e}){return e.length<=1?null:(0,Q.jsxs)(`section`,{"data-slot":`other-projects`,className:`rounded-lg border border-border bg-card p-5`,children:[(0,Q.jsx)(`h2`,{className:`text-base font-semibold`,children:`Other projects`}),(0,Q.jsx)(`div`,{className:`mt-3 flex flex-col divide-y divide-border`,children:e.map(e=>(0,Q.jsxs)(`div`,{className:`flex min-h-14 items-center justify-between gap-3`,children:[(0,Q.jsx)(`span`,{className:`min-w-0 truncate text-[13px]`,children:e.name}),(0,Q.jsxs)(w,{to:ks(e.id,`/`),className:`inline-flex min-h-11 shrink-0 items-center rounded-md px-3 text-xs text-accent-text hover:bg-accent-strong/10`,children:[`View tasks`,(0,Q.jsxs)(`span`,{className:`sr-only`,children:[` for `,e.name]})]})]},e.id))})]})}function uO({view:e,filtered:t}){return t?(0,Q.jsx)(X,{heading:`h2`,icon:(0,Q.jsx)(Os,{}),tone:`neutral`,title:`No matching tasks`,subtitle:`No task in any project matches these filters.`}):e===`archived`?(0,Q.jsx)(X,{heading:`h2`,icon:(0,Q.jsx)(zo,{}),tone:`neutral`,title:`Nothing archived yet`,subtitle:`Finished tasks you archive land here, from every project.`}):(0,Q.jsx)(X,{heading:`h2`,icon:(0,Q.jsx)(qm,{}),tone:`neutral`,title:`No tasks yet`,subtitle:`Start a task in any project and it shows up here.`})}function dO({groupBy:e,filterDetailsOpen:t,message:n,onRetry:r}){return(0,Q.jsx)(`div`,{"data-route":`global-tasks`,"data-presentation":e===`none`?`summary`:`cards`,"data-filter-details":t,className:`flex min-h-full flex-col gap-[22px] px-[18px] pt-6 pb-[calc(90px+env(safe-area-inset-bottom))] md:p-9`,children:(0,Q.jsx)(X,{icon:(0,Q.jsx)(Ya,{}),tone:`danger`,title:`Tasks across projects did not load`,subtitle:n,actions:(0,Q.jsx)(D,{variant:`outline`,onClick:r,children:`Retry`})})})}function fO({slot:e,label:t,options:n,selected:r,onToggle:i,onClear:a,searchPlaceholder:o,emptyLabel:s=`Nothing to filter by`}){let[c,l]=Z.useState(!1),u=r.length>0,d=r.length===1?n.find(e=>e.value===r[0])?.label??r[0]:`${r.length} selected`;return(0,Q.jsxs)(Ka,{open:c,onOpenChange:l,children:[(0,Q.jsx)(Va,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`facet-${e}`,"data-active":u?`true`:void 0,"aria-label":`Filter by ${t.toLowerCase()}`,className:O(`inline-flex h-7 items-center gap-1.5 rounded-full border border-border bg-card px-2.5 text-xs font-medium text-muted-foreground transition-colors hover:bg-muted hover:text-foreground`,u&&`border-accent-strong/40 bg-accent-strong/10 text-foreground`),children:[(0,Q.jsx)(`span`,{className:O(u&&`text-soft-foreground`),children:t}),u?(0,Q.jsx)(`span`,{className:`max-w-[140px] truncate font-semibold`,children:d}):null,(0,Q.jsx)(_m,{"aria-hidden":`true`,className:`size-2.5 shrink-0 text-soft-foreground`})]})}),(0,Q.jsxs)(Wa,{align:`start`,className:`w-64 p-0`,"data-testid":`facet-${e}-menu`,children:[(0,Q.jsxs)(Us,{children:[(0,Q.jsx)(zs,{placeholder:o??`Search ${t.toLowerCase()}…`}),(0,Q.jsxs)(Js,{children:[(0,Q.jsx)(Ys,{children:s}),(0,Q.jsx)(uc,{children:n.map(e=>{let t=r.includes(e.value);return(0,Q.jsxs)(lc,{value:e.label,onSelect:()=>i(e.value),"data-slot":`facet-option`,"data-value":e.value,"aria-checked":t,role:`option`,children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:O(`flex size-4 shrink-0 items-center justify-center rounded-[4px] border`,t?`border-accent-strong bg-accent-strong text-accent-strong-foreground`:`border-input`),children:t?(0,Q.jsx)(hm,{className:`size-3`}):null}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.label}),e.count===void 0?null:(0,Q.jsx)(`span`,{className:`shrink-0 font-mono text-[11px] text-soft-foreground tabular-nums`,children:e.count})]},e.value)})})]})]}),u?(0,Q.jsx)(`div`,{className:`border-t border-border p-1`,children:(0,Q.jsxs)(`button`,{type:`button`,"data-action":`facet-${e}-clear`,onClick:()=>a(),className:`w-full rounded-sm px-2 py-1.5 text-left text-xs font-medium text-muted-foreground hover:bg-muted hover:text-foreground`,children:[`Clear `,t.toLowerCase()]})}):null]})]})}function pO({label:e,count:t,selected:n,onToggle:r,slot:i,tone:a=`neutral`}){return(0,Q.jsxs)(`button`,{type:`button`,"data-slot":i,"data-selected":n?`true`:void 0,"aria-pressed":n,onClick:r,className:O(`inline-flex h-7 items-center gap-1.5 rounded-full border px-2.5 text-xs font-medium transition-colors`,a===`tag`?`border-accent-strong/25 bg-accent-strong/10 text-accent-text hover:bg-accent-strong/20`:`border-border bg-card text-muted-foreground hover:bg-muted hover:text-foreground`,n&&`border-accent-strong bg-accent-strong text-accent-strong-foreground hover:bg-accent-strong`),children:[e,t===void 0?null:(0,Q.jsx)(`span`,{className:O(`font-mono text-[11px] tabular-nums`,!n&&`text-soft-foreground`),children:t})]})}function mO({slot:e,label:t,value:n,options:r,onChange:i,size:a=`compact`}){return(0,Q.jsx)(`div`,{"data-slot":e,role:`group`,"aria-label":t,className:`inline-flex gap-0.5 rounded-md bg-muted p-[3px]`,children:r.map(e=>{let t=e.value===n;return(0,Q.jsx)(`button`,{type:`button`,"data-value":e.value,"aria-pressed":t,disabled:e.disabled,title:e.title,onClick:()=>i(e.value),className:O(`flex h-6 items-center justify-center rounded-[6px] px-2.5 text-[12px] font-medium text-muted-foreground transition-colors hover:text-foreground disabled:pointer-events-none disabled:opacity-50`,a===`touch`&&`h-11 px-4 text-[13px]`,t&&`bg-card font-semibold text-foreground shadow-xs`),children:e.label},e.value)})})}var hO=220;function gO({references:e,taskTitle:t,visibleCount:n,plain:r=!1,projectId:i,runId:a,repoBase:o}){let[s,c]=Z.useState(!1),l=Z.useRef(!1),u=Z.useRef(!1),d=Z.useRef(null),f=Z.useRef(void 0);Z.useEffect(()=>()=>clearTimeout(f.current),[]);let p=e=>e.pointerType!==`touch`,m=()=>clearTimeout(f.current),h=e=>{p(e)&&(m(),s||(l.current=!0),c(!0))},g=e=>{p(e)&&(m(),f.current=setTimeout(()=>c(!1),hO))},_=e.length-n,v=e.slice(n).map(t=>{let n=e.some(e=>e!==t&&e.kind===t.kind&&e.number===t.number)&&t.url?new URL(t.url).pathname.split(`/`).slice(1,3).join(`/`):``;return`${t.kind} #${t.number}${n?` (${n})`:``}`}).join(`, `);return _<=0?null:(0,Q.jsxs)(Ka,{open:s,onOpenChange:c,children:[(0,Q.jsx)(Va,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`reference-overflow`,title:v,"aria-label":`Show all ${e.length} references for ${t}`,onPointerEnter:h,onPointerLeave:g,onPointerDown:e=>{e.stopPropagation(),u.current=s&&l.current,l.current=!1},onClick:e=>{e.stopPropagation(),s&&(u.current||l.current)&&(e.preventDefault(),m(),d.current?.focus()),u.current=!1,l.current=!1},className:`no-hover:min-h-[44px] no-hover:min-w-[44px] max-md:min-h-[44px] max-md:min-w-[44px] shrink-0 rounded-full px-1 text-[11px] font-medium text-soft-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none`,children:[`+`,_]})}),(0,Q.jsxs)(Wa,{ref:d,align:`start`,collisionPadding:8,className:`w-auto min-w-40 max-h-(--radix-popover-content-available-height) overflow-y-auto overscroll-contain p-1.5`,"data-slot":`reference-overflow-list`,onClick:e=>e.stopPropagation(),onPointerDown:e=>e.stopPropagation(),onPointerEnter:h,onPointerLeave:g,onOpenAutoFocus:e=>{e.preventDefault(),!l.current&&e.target instanceof HTMLElement&&e.target.focus()},onKeyDownCapture:e=>{e.key===`Escape`&&(e.preventDefault(),l.current=!1,c(!1))},onCloseAutoFocus:e=>{l.current&&e.preventDefault()},children:[(0,Q.jsx)(`p`,{className:`px-1 pb-1.5 text-[11px] text-soft-foreground`,children:`References`}),(0,Q.jsx)(`span`,{className:`flex flex-col items-start gap-1`,children:e.map(e=>(0,Q.jsx)(Ts,{reference:e,taskTitle:t,projectId:i,repoBase:o,to:i===void 0?void 0:Lr(i,a,e,o),plain:r,className:`no-hover:min-h-[44px] max-md:min-h-[44px]`,conflictAction:i&&mr(e,o)?(0,Q.jsx)(FE,{projectId:i,runId:a,prNumber:e.number}):void 0},bn(e)))})]})]})}function _O({references:e,maxVisible:t,taskTitle:n,projectId:r,runId:i,repoBase:a,plain:o=!1,compact:s=!1,inertInline:c=!1,fitContainer:l=!1,overflowContainer:u}){let d=Z.useRef(null),[f,p]=Z.useState(t),m=Z.useRef(new Map),h=e.map(bn).join(`|`);Z.useLayoutEffect(()=>{let n=d.current;if(!l||!n?.parentElement){p(t);return}let r=n.parentElement,i=()=>{[...n.querySelectorAll(`:scope > [data-slot="pr-chip"], :scope > [data-slot="issue-chip"]`)].forEach((t,n)=>{let r=t.getBoundingClientRect().width;r&&m.current.set(bn(e[n]),r)});let i=r.getBoundingClientRect();if(!i.width)return;let a=Math.min(t,e.length);n.dataset.referenceWidth=String(e.slice(0,a).reduce((e,t)=>e+(m.current.get(bn(t))??48),0)+Math.max(0,a-1)*4);let o=0;for(let e=n.nextElementSibling;e;e=e.nextElementSibling){if(e.getAttribute(`data-slot`)===`task-row-age`||e.getAttribute(`aria-hidden`)===`true`&&e.nextElementSibling?.getAttribute(`data-slot`)===`task-row-age`)continue;let t=getComputedStyle(e);o+=e.getBoundingClientRect().width+(parseFloat(t.marginLeft)||0)+(parseFloat(t.marginRight)||0)}let s=i.right-n.getBoundingClientRect().left-o,l=n.querySelector(`[data-slot="reference-overflow"]`)?.getBoundingClientRect().width||(c?44:26),d=Math.min(t,e.length);for(;d>0&&!(e.slice(0,d).reduce((e,t)=>e+(m.current.get(bn(t))??48)+4,0)+(u===void 0&&d<e.length?l:0)<=s+(d===e.length?u?.getBoundingClientRect().width??0:0));)d--;p(d)};if(i(),typeof ResizeObserver>`u`)return;let a=new ResizeObserver(i);return a.observe(r),a.observe(n),()=>a.disconnect()},[l,t,h,c,e,u]);let g=Math.min(f,t,e.length),_=(0,Q.jsx)(gO,{references:e,visibleCount:g,taskTitle:n,projectId:r,runId:i,repoBase:a,plain:o});return(0,Q.jsxs)(`span`,{ref:d,"data-slot":`reference-list`,className:`inline-flex max-w-full flex-nowrap items-center gap-1 align-middle`,children:[e.slice(0,g).map(e=>(0,Q.jsx)(Ts,{reference:e,taskTitle:n,projectId:r,repoBase:a,to:r===void 0?void 0:Lr(r,i,e,a),plain:o,compact:s,inert:c,className:`shrink-0`,conflictAction:r&&mr(e,a)?(0,Q.jsx)(FE,{projectId:r,runId:i,prNumber:e.number}):void 0},bn(e))),u===void 0?_:u?(0,Ku.createPortal)(_,u):null]})}var vO=` untagged`,yO=[{value:`project`,label:`Project`},{value:`tag`,label:`Tag`},{value:`status`,label:`Status`},{value:`workflow`,label:`Workflow`}];function bO(e,t){return e===t?`none`:t}var xO={query:``,tags:[],statuses:[],workflows:[]};function SO(e,t){let{origin:n,...r}=e;return t===`all`?r:{...r,origin:t}}function CO(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function wO(e){return(e.projects?.length??0)+e.tags.length+e.statuses.length+e.workflows.length+(e.origin===void 0||e.origin===`all`?0:1)}function TO(e){return e.query.trim()!==``||wO(e)>0}function EO(e){return wO(e.filters)+(e.filters.query.trim()===``?0:1)+(e.groupBy===`none`?0:1)}function DO(e){return EO(e)>0}function OO(e,t){let n=new Map(t.map(e=>[e.id,e]));return e.filter(e=>!gr(e)).map(e=>{let t=n.get(e.projectId);return{run:e,project:t,projectName:t?.name||e.projectId,tags:t?.tags??[]}})}function kO(e){let t=new Set;for(let n of e)t.add(n.run.workflow);return[...t].sort((e,t)=>e.localeCompare(t))}function AO(e){let t=new Set;for(let n of e)t.add(n.run.status);return[...t].sort((e,t)=>e.localeCompare(t))}function jO(e,t){let n=new Map;for(let r of e)for(let e of t(r))n.set(e,(n.get(e)??0)+1);return n}var MO=e=>e.tags.length===0?[vO]:e.tags,NO=(e,t)=>e.length===0||t.some(t=>e.includes(t)),PO=(e,t)=>{if(t.length===0)return!0;let n=MO(e).map(e=>e.toLowerCase());return t.some(e=>n.includes(e.toLowerCase()))};function FO(e,t){return{displayTitle:V(e.run),projectName:e.projectName,tags:e.tags,automation:e.run.automationId===void 0?void 0:t(e)??e.run.automationId,references:()=>si(e.run)}}function IO(e,t,n,r=()=>void 0){let i=t.query.trim()!==``;return e.filter(e=>(n===`archived`?!e.run.archived:e.run.archived)||!VE(e.run,t.origin??`all`)||!NO(t.projects??[],[e.run.projectId])||!NO(t.statuses,[e.run.status])||!NO(t.workflows,[e.run.workflow])||!PO(e,t.tags)?!1:!i||Rr(e.run,t.query,{scope:`shown`,omit:[`workflowLabel`],extras:FO(e,r)}))}function LO(e,t,n,r,i){return IO(e,r===`origin`?{...t,origin:`all`}:{...t,[r]:[]},n,i)}function RO(e,t){if(t===`none`)return[{key:`all`,label:``,tasks:[...e]}];let n=new Map,r=(e,t,r)=>{let i=n.get(e);i?i.tasks.push(r):n.set(e,{key:e,label:t,tasks:[r]})};for(let n of e)if(t===`project`)r(n.run.projectId,n.projectName,n);else if(t===`status`)r(n.run.status,n.run.status,n);else if(t===`workflow`)r(n.run.workflow,n.run.workflow,n);else if(n.tags.length===0)r(vO,`Untagged`,n);else for(let e of n.tags)r(e.toLowerCase(),e,n);return[...n.values()].sort((e,t)=>e.key===` untagged`?1:t.key===` untagged`?-1:t.tasks.length-e.tasks.length||e.label.localeCompare(t.label))}function zO(e,t){let n=new Map(t.map(e=>[e.id,e.name]));return e.map(e=>n.get(e)||e)}var BO={query:`q`,project:`project`,tag:`tag`,untagged:`untagged`,status:`status`,workflow:`workflow`,groupBy:`group`,archived:`archived`,origin:`origin`},VO=new Set(yO.map(e=>e.value));function HO(e){let t=new URLSearchParams,n=e.filters.query.trim();n!==``&&t.set(BO.query,n);for(let n of e.filters.tags)n===` untagged`?t.set(BO.untagged,`1`):t.append(BO.tag,n);for(let n of e.filters.projects??[])t.append(BO.project,n);for(let n of e.filters.statuses)t.append(BO.status,n);for(let n of e.filters.workflows)t.append(BO.workflow,n);return e.groupBy!==`none`&&t.set(BO.groupBy,e.groupBy),e.view===`archived`&&t.set(BO.archived,`1`),e.filters.origin!==void 0&&e.filters.origin!==`all`&&t.set(BO.origin,e.filters.origin),t}function UO(e){let t=e.getAll(BO.tag).filter(e=>e!==``);e.get(BO.untagged)===`1`&&t.push(vO);let n=e.get(BO.groupBy)??``,r=BE(e.get(BO.origin));return{filters:{query:e.get(BO.query)??``,...e.has(BO.project)?{projects:e.getAll(BO.project).filter(Boolean)}:{},tags:t,statuses:e.getAll(BO.status).filter(e=>e!==``),workflows:e.getAll(BO.workflow).filter(e=>e!==``),...r===`all`?{}:{origin:r}},groupBy:VO.has(n)?n:`none`,view:e.get(BO.archived)===`1`?`archived`:`active`}}var WO=15e3,GO=250,KO=1,qO=new Set([`done`,`failed`,`cancelled`]);function JO(){return XO({request:({task:e,archived:t})=>Ft(In(e.run.id,{projectId:e.run.projectId}),t),patch:({archived:e})=>t=>({...t,archived:e})})}function YO(){return XO({request:({task:e,read:t})=>Gt(In(e.run.id,{projectId:e.run.projectId}),t),patch:({read:e})=>t=>{if(e)return{...t,seenAt:new Date().toISOString()};let{seenAt:n,...r}=t;return r}})}function XO({request:e,patch:t}){let n=wn();return W({mutationFn:e,onMutate:e=>n.patchIndex(In(e.task.run.id,{projectId:e.task.run.projectId}),()=>t(e)),onError:(e,t,n)=>{n?.rollback(),K(e.message,{tone:`danger`})},onSettled:(e,t,{task:r},i)=>{i?i.settle():n.invalidateAfter(`indexed`,In(r.run.id,{projectId:r.run.projectId}))}})}function ZO(){let{expandedRuns:e,toggleExpandedRun:t}=Nw(),n=yn(),r=U(),i=vD(r.data),a=Dn(!0,WO),[o,s]=gy(),{filters:c,groupBy:l,view:u}=Z.useMemo(()=>UO(o),[o]),d=ag(3e4),f=e=>s(t=>{let n=HO(e(UO(t))),r=t.get(`tasks`);return(r===`flat`||r===`virtual`)&&n.set(`tasks`,r),n}),p=e=>f(t=>({...t,filters:e(t.filters)})),m=e=>f(t=>({...t,groupBy:e})),h=e=>f(t=>({...t,view:e})),[g,_]=Z.useState(l!==`none`||c.tags.length>0),[v,y]=ek(c.query,e=>p(t=>({...t,query:e}))),b=a.data?.referenceStatuses;Z.useEffect(()=>{b&&ti(b)},[b]);let x=Z.useMemo(()=>n.data?.projects??[],[n.data]),S=Z.useMemo(()=>a.data?.runs??[],[a.data]),C=Z.useMemo(()=>OO(S,x),[S,x]),{nameOf:T,visible:E,originTotals:O,statusGroups:k,folds:A}=tk({tasks:C,filters:c,view:u,groupBy:l,index:S,automationsOn:r.data?.capabilities?.automations===!0}),j=Z.useMemo(()=>RO(E,l),[E,l]),M=c.origin??`all`,ee=e=>p(t=>SO(t,e)),N=Z.useMemo(()=>E.flatMap(e=>Cr(e.run,e.project?.repoUrl).filter(t=>mr(t,e.project?.repoUrl)).map(t=>({projectId:e.run.projectId,kind:t.kind,number:t.number}))),[E]),te=zO(a.data?.truncated??[],x),ne=(e,t)=>p(n=>({...n,[e]:CO(n[e]??[],t)})),re=e=>p(t=>({...t,[e]:[]})),P=JO(),F=YO(),ie=Z.useCallback((e,t)=>P.mutate({task:e,archived:t}),[P.mutate]),ae=Z.useCallback((e,t)=>F.mutate({task:e,read:t}),[F.mutate]),oe=a.error??n.error;if(oe)return(0,Q.jsx)(dO,{groupBy:l,filterDetailsOpen:g,message:oe.message,onRetry:()=>{a.refetch(),n.refetch()}});let se=(0,Q.jsxs)(`div`,{className:`relative w-full`,children:[(0,Q.jsx)(ao,{className:`pointer-events-none absolute top-1/2 left-2.5 size-3.5 -translate-y-1/2 text-soft-foreground`,"aria-hidden":`true`}),(0,Q.jsx)(`input`,{type:`text`,value:v,onChange:e=>y(e.target.value),placeholder:`Search every project…`,"aria-label":`Search tasks across projects`,className:`h-11 w-full rounded-md border border-input bg-card pr-3 pl-8 text-[13px] text-foreground outline-none placeholder:text-soft-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50`})]});return(0,Q.jsxs)(qT,{layout:l,revision:j,visibilityRevision:JSON.stringify([Tr.map(A.isCollapsed),[...e].sort(),u,g]),"data-route":`global-tasks`,"data-presentation":l===`none`?`summary`:`cards`,"data-filter-details":g,className:`flex min-h-full flex-col gap-[22px] px-[18px] pt-6 pb-[calc(90px+env(safe-area-inset-bottom))] md:p-9`,children:[(0,Q.jsxs)(`header`,{className:`flex shrink-0 flex-col gap-[22px]`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Q.jsx)(`h1`,{className:`text-[30px] font-semibold tracking-tight`,children:`All tasks`}),(0,Q.jsx)(`p`,{className:`text-[13px] text-muted-foreground`,children:l===`none`?`Every project. One place to review what your agents have shipped.`:`Filter across projects and act on each run without opening the session.`})]}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-6 border-b border-border`,children:[(0,Q.jsx)(nk,{view:`active`,current:u,onSelect:h,children:`Active`}),(0,Q.jsx)(nk,{view:`archived`,current:u,onSelect:h,children:`Archived`}),(0,Q.jsxs)(`span`,{"data-slot":`global-tasks-count`,className:`ml-auto text-[13px] text-soft-foreground tabular-nums`,children:[E.length,` of `,C.length,te.length>0?` loaded`:``]})]}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2.5`,children:[(0,Q.jsx)(`div`,{className:`min-w-0 basis-full md:flex-1 md:basis-auto`,children:se}),(0,Q.jsxs)(D,{variant:`outline`,"aria-expanded":g,onClick:()=>_(e=>!e),children:[(0,Q.jsx)(Mo,{"aria-hidden":`true`}),`Filters`]}),(0,Q.jsx)(D,{asChild:!0,className:`min-h-11`,children:(0,Q.jsxs)(w,{to:ks(n.data?.bootProject??`default`,`/new`),children:[(0,Q.jsx)(uo,{"aria-hidden":`true`}),`New task`]})})]}),(0,Q.jsx)(eD,{origin:M,counts:O,onChange:ee,labels:k.map(e=>e.label),onSetAll:A.setAll})]}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-[22px]`,children:[(0,Q.jsx)(rk,{filters:c,onToggle:ne,onClearFacet:re,onClearAll:()=>{y(``),f(e=>({...e,filters:xO,groupBy:`none`}))},groupBy:l,onGroupByChange:m,projects:x,tasks:C,view:u,automationName:T}),(0,Q.jsx)(cO,{projects:te,perProjectLimit:a.data?.perProjectLimit}),a.data===void 0?(0,Q.jsx)(`div`,{role:`status`,className:`rounded-xl border border-border bg-card p-6 text-sm text-muted-foreground`,children:`Loading tasks…`}):(0,Q.jsx)(QO,{view:u,filtered:TO(c),visibleCount:E.length,referenceRequests:N,lists:{groupBy:l,view:u,statusGroups:k,groups:j,folds:A,row:{now:d,onArchive:ie,expandedRuns:e,toggleExpandedRun:t,onSetRead:ae,busy:P.isPending||F.isPending,showCost:i.cost,automationName:T}}}),(0,Q.jsx)(lO,{registry:x})]})]})}function QO({view:e,filtered:t,visibleCount:n,referenceRequests:r,lists:i}){return n===0?(0,Q.jsx)(uO,{view:e,filtered:t}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Ss,{requests:r,children:(0,Q.jsx)($O,{...i})}),i.groupBy===`none`?(0,Q.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Resource details—including tokens, cost, CPU and peak memory—are available when a task row is expanded.`}):null]})}function $O({groupBy:e,view:t,statusGroups:n,groups:r,folds:i,row:a}){return(0,Q.jsx)(Q.Fragment,{children:e===`none`?n.map(e=>{let n=WE(e);return(0,Q.jsx)(nD,{id:`global-group-${t}-${e.label.replaceAll(` `,`-`)}`,label:e.label,count:n.length,tone:GE(e.label,n.map(e=>e.run)),folded:i.isFolded(e.label),collapsed:i.isCollapsed(e.label),onToggle:()=>i.toggle(e.label),children:(0,Q.jsx)(ik,{summary:!0,tasks:e.rows.flatMap(YE),showProject:!0,...a})},e.label)}):r.map(t=>(0,Q.jsxs)(`section`,{"data-slot":`task-group`,"data-group-key":t.key,children:[(0,Q.jsxs)(`h2`,{className:`mb-1.5 flex items-center gap-2 text-[12px] font-semibold tracking-[0.04em] text-soft-foreground uppercase`,children:[e===`project`?(0,Q.jsx)(w,{to:ks(t.key,`/`),"data-slot":`group-project-link`,className:`hover:text-foreground hover:underline`,children:t.label}):t.label,(0,Q.jsx)(`span`,{className:`font-mono text-[11px] font-medium tabular-nums`,children:t.tasks.length})]}),(0,Q.jsx)(ik,{tasks:t.tasks,showProject:e!==`project`,...a})]},t.key))})}function ek(e,t){let[n,r]=Z.useState(e),i=Z.useRef(e);return Z.useEffect(()=>{e!==i.current&&r(e),i.current=e},[e]),Z.useEffect(()=>{if(n===i.current)return;let e=setTimeout(()=>{i.current=n,t(n)},GO);return()=>clearTimeout(e)},[n]),[n,r]}function tk({tasks:e,filters:t,view:n,groupBy:r,index:i,automationsOn:a}){let o=Z.useMemo(()=>[...new Set(e.filter(e=>e.run.automationId!==void 0).map(e=>e.run.projectId))],[e]),s=Zr(o,a&&o.length>0),c=Z.useCallback(e=>e.run.automationId===void 0?void 0:s(e.run.projectId,e.run.automationId),[s]),l=Z.useMemo(()=>IO(e,t,n,c),[e,t,n,c]),u=UE(LO(e,t,n,`origin`,c).map(e=>e.run),n),d=r===`none`?JE(l,n,i):[];return{nameOf:c,visible:l,originTotals:u,statusGroups:d,folds:gD(`global`,n,new Set(t.query.trim()===``?[]:d.map(e=>e.label)))}}function nk({view:e,current:t,onSelect:n,children:r}){let i=e===t;return(0,Q.jsx)(`button`,{type:`button`,"data-slot":`overview-tab`,"data-view":e,"aria-pressed":i,onClick:()=>n(e),className:O(`flex min-h-11 items-center justify-center border-b-2 border-transparent text-[13px] font-medium text-muted-foreground`,i&&`border-accent-strong font-semibold text-accent-text`),children:r})}function rk({filters:e,onToggle:t,onClearFacet:n,onClearAll:r,groupBy:i,onGroupByChange:a,projects:o,tasks:s,view:c,automationName:l}){let u=Z.useMemo(()=>cr(o),[o]),d=Z.useMemo(()=>{let t=(t,n)=>jO(LO(s,e,c,t,l),n);return{projects:t(`projects`,e=>[e.run.projectId]),tags:t(`tags`,MO),statuses:t(`statuses`,e=>[e.run.status]),workflows:t(`workflows`,e=>[e.run.workflow])}},[s,e,c,l]),f=e=>t=>({...t,count:e.get(t.value)??0});return(0,Q.jsxs)(`div`,{"data-slot":`global-tasks-filters`,className:`flex flex-col gap-2`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1.5`,children:[(0,Q.jsx)(fO,{slot:`project`,label:`Project`,selected:e.projects??[],onToggle:e=>t(`projects`,e),onClear:()=>n(`projects`),options:[...new Map(s.map(e=>[e.run.projectId,e.projectName])).entries()].map(([e,t])=>({value:e,label:t})).map(f(d.projects)),emptyLabel:`No tasks to filter`}),(0,Q.jsx)(fO,{slot:`status`,label:`Status`,selected:e.statuses,onToggle:e=>t(`statuses`,e),onClear:()=>n(`statuses`),options:AO(s).map(e=>({value:e,label:e})).map(f(d.statuses)),emptyLabel:`No tasks to filter`}),(0,Q.jsx)(fO,{slot:`workflow`,label:`Workflow`,selected:e.workflows,onToggle:e=>t(`workflows`,e),onClear:()=>n(`workflows`),options:kO(s).map(e=>({value:e,label:e})).map(f(d.workflows)),emptyLabel:`No tasks to filter`}),(0,Q.jsxs)(`div`,{"data-slot":`group-controls`,className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`mx-1 h-5 w-px bg-border`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`text-[11px] font-medium text-soft-foreground`,children:`Group by`}),(0,Q.jsx)(mO,{slot:`group-by`,label:`Group tasks by`,value:i,options:yO,onChange:e=>a(bO(i,e))})]}),DO({filters:e,groupBy:i})?(0,Q.jsxs)(`button`,{type:`button`,"data-action":`clear-filters`,onClick:r,className:`ml-auto inline-flex h-7 items-center gap-1 rounded-full px-2 text-xs font-medium text-muted-foreground hover:bg-muted hover:text-foreground`,children:[(0,Q.jsx)(Ao,{className:`size-3`,"aria-hidden":`true`}),`Clear`,` (${EO({filters:e,groupBy:i})})`]}):null]}),u.length>0?(0,Q.jsxs)(`div`,{"data-slot":`tag-filters`,className:`flex flex-wrap items-center gap-1.5`,children:[(0,Q.jsx)(`span`,{className:`text-[11px] font-medium text-soft-foreground`,children:`Tags`}),u.map(n=>(0,Q.jsx)(pO,{slot:`tag-filter`,tone:`tag`,label:n,count:d.tags.get(n)??0,selected:e.tags.some(e=>e.toLowerCase()===n.toLowerCase()),onToggle:()=>t(`tags`,n)},n)),(0,Q.jsx)(pO,{slot:`tag-filter`,label:`Untagged`,count:d.tags.get(` untagged`)??0,selected:e.tags.includes(vO),onToggle:()=>t(`tags`,vO)})]}):(0,Q.jsxs)(`p`,{"data-slot":`no-tags-hint`,className:`text-[11px] text-soft-foreground`,children:[`Tag connected repositories in`,` `,(0,Q.jsx)(w,{to:`/settings/global/projects`,className:`font-medium text-accent-text hover:underline`,children:Ds(`projects`)}),` `,`to group their tasks together here.`]})]})}function ik({summary:e=!1,expandedRuns:t,toggleExpandedRun:n,tasks:r,now:i,showProject:a,onArchive:o,onSetRead:s,busy:c,showCost:l,automationName:u}){let d=Ww(r.map(e=>`${e.run.projectId}/${e.run.id}`),t),f=ZT();return(0,Q.jsxs)(`div`,{role:e?`table`:void 0,"aria-rowcount":e?d.rowCount:void 0,"data-slot":`global-tasks-table`,className:`overflow-x-auto rounded-lg border border-border bg-card p-5`,children:[(0,Q.jsx)(`div`,{"data-slot":`global-summary-head`,className:`text-[12px]`,role:`row`,"aria-rowindex":1,children:[`Task`,`Workflow`,`Changes`,`Pull request`,`Started`].map(e=>(0,Q.jsx)(`span`,{role:`columnheader`,children:e},e))}),(0,Q.jsx)(aD,{children:(0,Q.jsx)(KT,{...e?{itemSize:f?115:218}:{},items:r,itemKey:e=>`${e.run.projectId}/${e.run.id}`,children:(r,f)=>(0,Q.jsx)(ak,{task:r,summary:e,rowIndex:d.indexes[f],resourcesOpen:t.has(`${r.run.projectId}/${r.run.id}`),toggleExpandedRun:n,now:i,showProject:a,onArchive:o,onSetRead:s,busy:c,showCost:l,automationName:u(r)},`${r.run.projectId}/${r.run.id}`)})})]})}var ak=Z.memo(function({rowIndex:e,resourcesOpen:t,toggleExpandedRun:n,summary:r,task:i,now:a,showProject:o,onArchive:s,onSetRead:c,busy:l,showCost:u,automationName:d}){let f=r?`row`:void 0,p=r?`cell`:void 0,{run:m}=i,h=xe(m),g=ks(m.projectId,`/tasks/${m.id}`),_=Cr(m,i.project?.repoUrl),v=Ur(m,m.usage);return(0,Q.jsxs)(`article`,{role:r?`rowgroup`:void 0,"data-status":m.status,"data-expanded":t,"data-slot":`global-task-row`,"data-run-id":m.id,"data-project":m.projectId,className:`hover:bg-muted max-md:flex max-md:flex-wrap max-md:items-center max-md:gap-x-3 max-md:gap-y-2 max-md:border-b max-md:border-border max-md:py-5 `,children:[(0,Q.jsxs)(`div`,{"data-slot":`global-task-cells`,className:`contents`,role:f,"aria-rowindex":r?e:void 0,children:[(0,Q.jsx)(ok,{summary:r,task:i,showProject:o,automationName:d,resourcesOpen:t,toggleExpandedRun:n}),(0,Q.jsx)(`div`,{role:p,"data-slot":`global-task-workflow`,className:`text-[13px] text-muted-foreground`,children:m.workflow}),(0,Q.jsx)(`div`,{role:p,"data-slot":`global-task-diff`,className:`text-xs text-muted-foreground`,children:(0,Q.jsx)(`span`,{title:`Change totals are available in the project task list`,children:`—`})}),(0,Q.jsx)(`div`,{role:p,"data-slot":`global-task-references`,children:_.length>0?(0,Q.jsx)(lk,{references:_,run:m,repoBase:i.project?.repoUrl}):(0,Q.jsx)(dk,{})}),(0,Q.jsx)(`div`,{role:p,"data-slot":`global-task-age`,className:`text-right text-xs text-soft-foreground tabular-nums`,children:ts(m.startedAt??m.createdAt,a)})]}),!r||t?(0,Q.jsx)(`div`,{className:`contents`,role:f,"aria-rowindex":r?e+1:void 0,children:(0,Q.jsxs)(`div`,{"data-slot":`global-task-detail-cell`,role:p,"aria-colspan":r?5:void 0,className:r?`col-span-full flex flex-col gap-3`:`contents`,children:[(0,Q.jsx)(`div`,{"data-slot":`global-task-actions`,children:(0,Q.jsxs)(`span`,{className:`inline-flex items-center gap-0.5`,children:[(0,Q.jsx)(sk,{task:i,busy:l,onSetRead:c}),(0,Q.jsx)(ck,{task:i,busy:l,onArchive:s}),(0,Q.jsx)(D,{asChild:!0,variant:`outline`,children:(0,Q.jsx)(w,{to:g,children:`Open task`})})]})}),t?(0,Q.jsxs)(`div`,{"data-slot":`global-task-resources`,className:`col-span-full flex flex-col gap-3`,children:[(0,Q.jsx)(iD,{projectId:m.projectId,runId:m.id,status:h.label,error:m.error,open:(0,Q.jsx)(D,{asChild:!0,variant:`outline`,className:`min-h-11`,children:(0,Q.jsxs)(w,{to:g,children:[`Open task`,(0,Q.jsxs)(`span`,{className:`sr-only`,children:[`: `,V(m)]})]})})}),(0,Q.jsxs)(`dl`,{className:`grid grid-cols-2 gap-4 rounded-md bg-muted/50 p-4 text-xs md:grid-cols-3`,children:[u?(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Cost`}),(0,Q.jsx)(`dd`,{className:`mt-1`,children:Bn(m.costUsd)||`—`})]}):null,(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`CPU`}),(0,Q.jsx)(`dd`,{"data-usage":`cpu`,"data-usage-kind":v.cpu.kind,title:v.cpu.title,className:`mt-1`,children:v.cpu.text||`—`})]}),(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Memory`}),(0,Q.jsx)(`dd`,{"data-usage":`mem`,"data-usage-kind":v.mem.kind,title:v.mem.title,className:`mt-1`,children:v.mem.text||`—`})]})]})]}):null]})}):null]})},(e,t)=>{let{task:n,...r}=e,{task:i,...a}=t;return n.run===i.run&&n.project===i.project&&n.projectName===i.projectName&&n.tags.length===i.tags.length&&n.tags.every((e,t)=>e===i.tags[t])&&Object.keys(r).every(e=>r[e]===a[e])});function ok({summary:e,task:t,showProject:n,automationName:r,resourcesOpen:i,toggleExpandedRun:a}){let{run:o}=t,s=xe(o),c=ks(o.projectId,`/tasks/${o.id}`),l=Ln(o),u=PC(o);return(0,Q.jsxs)(`div`,{role:e?`cell`:void 0,"data-slot":`global-task-title`,children:[(0,Q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-1.5`,children:[o.delegation?.role===`worker`?(0,Q.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:`Worker`}):null,(0,Q.jsx)(w,{to:c,title:V(o),"data-task-control":`title`,className:O(`min-w-0 truncate text-[14px] md:text-[13px]`,l?`font-semibold text-foreground`:u?`font-medium text-muted-foreground`:`font-medium`),children:V(o)}),l?(0,Q.jsx)(vb,{tone:IC(o),role:`img`,"aria-label":`unread`,title:`Unread — not opened since it finished`,className:`shrink-0`}):null]}),(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(rD,{automationId:o.automationId,automationName:r,project:n?(0,Q.jsx)(w,{to:ks(o.projectId,`/`),"data-slot":`task-project`,className:`truncate hover:text-foreground`,children:t.projectName}):void 0})}),(0,Q.jsxs)(`div`,{className:`mt-2 flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`button`,{type:`button`,"data-task-control":`resources`,"aria-expanded":i,"aria-label":`${i?`Hide`:`Show`} resources for ${V(o)}`,onClick:()=>a(`${o.projectId}/${o.id}`),"aria-describedby":`global-status-${o.projectId}-${o.id}`,title:`Resources and actions`,className:`min-h-[26px] rounded-md p-0 text-[11px] text-muted-foreground hover:bg-muted`,children:(0,Q.jsx)(iE,{id:`global-status-${o.projectId}-${o.id}`,dot:s.tone,shape:s.shape,pulse:s.pulse,children:s.label})}),(0,Q.jsx)(`span`,{children:t.tags.length>0?(0,Q.jsx)(`span`,{className:`flex flex-wrap items-center gap-1`,children:t.tags.map(e=>(0,Q.jsx)(uk,{tag:e},e))}):null})]})]})}function sk({task:e,busy:t,onSetRead:n}){if(!Gn(e.run))return null;let r=Ln(e.run),i=V(e.run),a=r?`Mark ${i} read`:`Mark ${i} unread`,o=r?xs:jm;return(0,Q.jsxs)(oD,{children:[(0,Q.jsx)(sD,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,"data-action":r?`mark-read`:`mark-unread`,"aria-label":a,disabled:t,onClick:()=>n(e,r),className:O(`inline-flex size-11 items-center justify-center md:size-8 rounded-md transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none disabled:cursor-wait disabled:opacity-50`,r?`text-accent-icon`:`text-soft-foreground`),children:[(0,Q.jsx)(o,{className:`size-3.5`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{children:r?`Mark read`:`Mark unread`})]})}),(0,Q.jsx)(cD,{side:`left`,children:r?`Mark read`:`Mark unread`})]})}function ck({task:e,busy:t,onArchive:n}){let r=e.run.archived;if(!r&&!qO.has(e.run.status))return null;let i=r?`Restore ${V(e.run)} to the active list`:`Archive ${V(e.run)}`;return(0,Q.jsxs)(oD,{children:[(0,Q.jsx)(sD,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,"data-action":r?`unarchive-run`:`archive-run`,"aria-label":i,disabled:t,onClick:()=>n(e,!r),className:`inline-flex size-11 items-center justify-center md:size-8 rounded-md text-soft-foreground transition-colors hover:bg-muted hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none disabled:cursor-wait disabled:opacity-50`,children:[(0,Q.jsx)(r?cm:zo,{className:`size-3.5`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{children:r?`Unarchive`:`Archive`})]})}),(0,Q.jsx)(cD,{side:`left`,children:r?`Restore`:`Archive`})]})}function lk({references:e,run:t,repoBase:n}){return(0,Q.jsx)(_O,{references:e,maxVisible:KO,taskTitle:V(t),projectId:t.projectId,runId:t.id,repoBase:n})}function uk({tag:e,className:t}){return(0,Q.jsx)(`span`,{"data-slot":`project-tag`,className:O(`inline-flex max-w-full items-center truncate rounded-full bg-muted px-1.5 py-px text-[11px] font-medium text-muted-foreground`,t),children:e})}function dk(){return(0,Q.jsx)(`span`,{className:`text-xs text-soft-foreground`,children:`—`})}var fk=new Map;function pk(e){let t=fk.get(e);return t||(t=new Intl.DateTimeFormat(`en-CA`,{timeZone:e,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`}),fk.set(e,t)),t}function mk(e,t){try{let n=pk(t).formatToParts(new Date(e)),r=e=>Number(n.find(t=>t.type===e)?.value),i=r(`year`),a=r(`month`),o=r(`day`);return{year:i,month:a,day:o,hour:r(`hour`)%24,minute:r(`minute`),second:r(`second`),weekday:hk(i,a,o)}}catch{return null}}function hk(e,t,n){return(new Date(Date.UTC(e,t-1,n)).getUTCDay()+6)%7+1}function gk(e,t){let n=mk(t,e);return n?Date.UTC(n.year,n.month-1,n.day,n.hour,n.minute,n.second)-t:null}function _k(e,t,n,r,i,a){let o=Date.UTC(e,t-1,n,r,i,0,0),s=o;for(let e=0;e<3;e+=1){let e=gk(a,s);if(e===null)return null;let t=o-e;if(Math.abs(t-s)<1e3)return t;s=t}return s}function vk(e){if(!e)return!1;try{return pk(e).format(new Date(0)),!0}catch{return!1}}var yk=[`daily`,`weekdays`,`weekly`,`hours`,`once`],bk=[1,2,3,4,6,8,12],xk=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],Sk=[`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`,`Sunday`],Ck=43200,wk=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})$/,Tk=[`hour`,`minute`,`day`,`every`],Ek=[`at`,`timeZone`,`latestStartMinutes`],Dk=`the due time has passed; choose a later time or use Run now`;function Ok(e){return`unknown time zone "${e}"; use an IANA name such as Europe/Warsaw`}var kk=B({type:sn(yk),hour:R().int().min(0).max(23).optional(),minute:R().int().min(0).max(59).optional(),day:R().int().min(1).max(7).optional(),every:gn([L(1),L(2),L(3),L(4),L(6),L(8),L(12)]).optional(),at:z().regex(wk,`at must be YYYY-MM-DDTHH:MM`).optional(),timeZone:z().optional(),latestStartMinutes:R().int().min(10).max(Ck).optional()}).superRefine((e,t)=>{let n=t=>e[t]!==void 0,r=(e,n)=>t.addIssue({code:`custom`,path:[e],message:n});if(e.type!==`once`){for(let e of Ek)n(e)&&r(e,`${e} applies only to a once schedule`);return}for(let e of Tk)n(e)&&r(e,`${e} does not apply to a once schedule`);e.at===void 0?r(`at`,`a once schedule needs at (YYYY-MM-DDTHH:MM)`):wk.test(e.at)&&!Nk(e.at)&&r(`at`,`at is not a real date and time`),e.timeZone===void 0?r(`timeZone`,`a once schedule needs a timeZone`):vk(e.timeZone)||r(`timeZone`,Ok(e.timeZone))});function Ak(e){return{type:e.type,hour:e.hour??4,minute:e.minute??0,day:e.day??1,every:e.every??6,...e.at===void 0?{}:{at:e.at},...e.timeZone===void 0?{}:{timeZone:e.timeZone},...e.latestStartMinutes===void 0?{}:{latestStartMinutes:e.latestStartMinutes}}}function jk(e){if(e.type!==`once`||!e.at||!e.timeZone)return null;let t=Mk(e.at);return t&&_k(t.year,t.month,t.day,t.hour,t.minute,e.timeZone)}function Mk(e){let t=wk.exec(e);if(!t)return null;let[n,r,i,a,o]=t.slice(1).map(Number),s=new Date(Date.UTC(n,r,0)).getUTCDate();return r<1||r>12||i<1||i>s||a>23||o>59?null:{year:n,month:r,day:i,hour:a,minute:o}}var Nk=e=>Mk(e)!==null,Pk=e=>String(e).padStart(2,`0`);function Fk(e,t=0){return`${Pk(e)}:${Pk(t)}`}function Ik(e){let t=Ak(e);switch(t.type){case`once`:return Lk(t);case`daily`:return`every day at ${Fk(t.hour,t.minute)}`;case`weekdays`:return`weekdays at ${Fk(t.hour,t.minute)}`;case`hours`:return t.every===1?`every hour`:`every ${t.every} hours`;case`weekly`:return`${Sk[t.day-1]}s at ${Fk(t.hour,t.minute)}`}}function Lk(e){let t=e.at?Mk(e.at):null;if(!t)return`once`;let{year:n,month:r,day:i,hour:a,minute:o}=t;return`once on ${xk[hk(n,r,i)-1]} ${i} ${Rk[r-1]} ${n} at ${Fk(a,o)} (${e.timeZone??`UTC`})`}var Rk=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function zk(e){let t=Ak(e);switch(t.type){case`once`:throw Error(`a once schedule has no cron form`);case`daily`:return`${t.minute} ${t.hour} * * *`;case`weekdays`:return`${t.minute} ${t.hour} * * 1-5`;case`hours`:return`0 */${t.every} * * *`;case`weekly`:return`${t.minute} ${t.hour} * * ${t.day%7}`}}function Bk(e,t){switch(e.type){case`once`:return[];case`daily`:return[[e.hour,e.minute]];case`weekdays`:return t<=5?[[e.hour,e.minute]]:[];case`weekly`:return t===e.day?[[e.hour,e.minute]]:[];case`hours`:{let t=[];for(let n=0;n<24;n+=e.every)t.push([n,0]);return t}}}function Vk(e,t,n,r,i=1e3){if(e.type===`once`){let r=jk(e);return r!==null&&r>=t&&r<n&&i>0?[r]:[]}let a=Ak(e),o=mk(t,r);if(!o||n<=t)return[];let s=[],c=Math.ceil((n-t)/864e5)+2;for(let e=-1;e<=c;e+=1){let c=new Date(Date.UTC(o.year,o.month-1,o.day+e)),l=c.getUTCFullYear(),u=c.getUTCMonth()+1,d=c.getUTCDate();for(let[e,o]of Bk(a,hk(l,u,d))){let a=_k(l,u,d,e,o,r);if(a===null||a!==s.at(-1)&&a>=t&&a<n&&(s.push(a),s.length>=i))return s}}return s}function Hk(e,t){let n=t-e;if(n<=0)return`now`;let r=Math.floor(n/6e4);if(r<1)return`in <1m`;if(r<60)return`in ${r}m`;let i=Math.floor(r/60);return i<24?`in ${i}h`:`in ${Math.floor(i/24)}d`}var Uk=new Map;function Wk(e,t){if(!Number.isFinite(e))return null;let n=Uk.get(t);try{n??=new Intl.DateTimeFormat(`en-GB`,{timeZone:t,weekday:`short`,year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`})}catch{return null}Uk.set(t,n);let r={};for(let t of n.formatToParts(e))r[t.type]=t.value;let i=new Date(`${r.month} 1, ${r.year} UTC`).getUTCMonth();return{weekday:r.weekday,day:r.day,month:r.month,hour:r.hour,minute:r.minute,key:`${r.year}-${i}-${r.day}`,dayNumber:Math.floor(Date.UTC(Number(r.year),i,Number(r.day))/864e5)}}function Gk(e,t){let n=Wk(Date.parse(e),t);return n?`${n.weekday} ${n.hour}:${n.minute}`:e}function Kk(e,t,n){let r=Wk(Date.parse(e),t),i=Wk(n,t);if(!r||!i)return e;let a=`${r.hour}:${r.minute}`,o=i.dayNumber-r.dayNumber;return o===0?`Today ${a}`:o===1?`Yesterday ${a}`:o>1&&o<7?`${r.weekday} ${a}`:`${r.day} ${r.month} ${a}`}var qk=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Jk=e=>String(e).padStart(2,`0`);function Yk(e){let t=e?Mk(e):null;if(!t)return null;let{year:n,month:r,day:i,hour:a,minute:o}=t;return{date:`${xk[hk(n,r,i)-1]} ${i} ${qk[r-1]} ${n}`,time:`${Jk(a)}:${Jk(o)}`}}var Xk=36e5;function Zk(e){let t=jk(e),n=e.timeZone,r=Yk(e.at),i=t===null||!n?null:mk(t,n);if(t===null||!n||!r||!i)return null;let a={date:`${xk[hk(i.year,i.month,i.day)-1]} ${i.day} ${qk[i.month-1]} ${i.year}`,time:`${Jk(i.hour)}:${Jk(i.minute)}`};if(a.date!==r.date||a.time!==r.time)return{...a,note:`${r.time} does not exist on ${r.date} in ${n}.`};let o=e=>{let t=mk(e,n);return!!t&&t.day===i.day&&t.hour===i.hour&&t.minute===i.minute},s=(gk(n,t-12*Xk)??0)-(gk(n,t+12*Xk)??0);if(s<=0)return a;let c=o(t+s);if(!c&&!o(t-s))return a;let l=(gk(n,t)??0)/6e4,u=`UTC${l<0?`-`:`+`}${Jk(Math.floor(Math.abs(l)/60))}:${Jk(Math.abs(l)%60)}`;return{...a,note:`${r.time} happens twice that day; it runs at ${c?`the first`:`the second`} (${u}).`}}var Qk=sn([`pull_request.opened`,`issue.opened`,`issue.labeled`,`issue.unlabeled`]),$k=B({includeExisting:an().optional(),authors:cn(z()).optional(),assignees:cn(z()).optional(),requireCurrentLabels:an().optional(),allLabels:cn(z()).optional(),anyLabels:cn(z()).optional(),excludeLabels:cn(z()).optional(),changedLabels:cn(z()).optional(),lookbackDays:R(),maxRecords:R()}),eA=sn([`github`,`schedule`]),tA=be.omit({task:!0,images:!0,systemPrompt:!0}).extend({prompt:z(),variants:gn([L(1),L(2),L(3)]).optional(),systemPrompt:z().optional()}),nA=B({at:z(),outcome:sn([`launched`,`cancelled`]),runId:z().optional(),receiptId:z().optional(),trigger:sn([`schedule`,`late`,`manual`,`retry`]).optional()}),rA=sn([`paused`,`waiting`,`failed`,`missed`,`archived`]),iA=B({id:z(),revision:R(),name:z(),description:z().optional(),enabled:an(),kind:eA,events:cn(Qk).optional(),intervalSeconds:R().optional(),filters:$k.optional(),schedule:kk.optional(),task:tA,archived:nA.optional(),createdAt:z(),updatedAt:z()}),aA=B({timestamp:z(),tieBreaker:z().optional()}),oA=B({since:z().datetime(),until:z().datetime(),source:R().int().min(0).max(2),page:R().int().min(1).max(10),item:R().int().min(0).max(100),event:R().int().min(0).max(1e3),cursor:aA.optional()}),sA=B({revision:R().optional(),baselineAt:z().optional(),armedAt:z().optional(),historyScan:oA.optional(),cursor:aA.optional(),frozenHighWatermark:aA.extend({tieBreaker:z()}).optional(),backlogAfter:aA.extend({tieBreaker:z()}).optional(),nextCheckAt:z().optional(),lastSuccessAt:z().optional(),nextRunAt:z().optional(),lastRunAt:z().optional(),etags:ln(z(),z()).optional(),backoffUntil:z().optional(),consecutiveFailures:R().optional(),onceOutcome:sn([`failed`,`missed`]).optional()}),cA=sn([`launched`,`no-match`,`duplicate`,`rate-limited`,`error`,`baseline`,`preview`,`skipped`,`manual`,`catch-up`,`failed`,`missed`]),lA=B({seq:R(),ts:z(),automationId:z(),revision:R(),event:Qk.optional(),result:cA,reason:z().optional(),durationMs:R().optional(),receiptId:z().optional(),runId:z().optional(),githubNumber:R().optional(),githubTitle:z().optional(),githubUrl:z().optional(),rateLimit:B({bucket:sn([`core`,`search`]),remaining:R().optional(),resetAt:z().optional()}).optional()}),uA=B({matches:R(),launched:R(),duplicates:R(),errors:R()}),dA=iA.extend({state:sA.optional(),latestLog:lA.optional(),counts:uA,nextRunAt:z().optional(),onceStatus:rA.optional()});B({available:an(),reason:z().optional(),timeZone:z(),scheduler:B({state:sn([`scheduled`,`idle`]),nextDue:z().optional()}),automations:cn(dA)}),B({automation:iA}).extend({once:B({dueAt:z(),timeZone:z(),resolvedInstant:z(),note:z()}).optional()}),B({automation:iA,state:sA.optional(),latestLog:lA.optional(),onceStatus:rA.optional()}),B({id:z(),automationId:z(),mode:sn([`preview`,`execute`]),status:sn([`queued`,`running`,`complete`,`error`]),createdAt:z(),completedAt:z().optional(),matches:R().optional(),truncated:an().optional(),error:z().optional()}),B({checkId:z()}),B({records:cn(lA)}),B({receiptId:z(),runId:z()}),B({runId:z()}),iA.omit({id:!0,revision:!0,createdAt:!0,updatedAt:!0,enabled:!0,kind:!0,archived:!0}).extend({kind:eA.optional(),task:tA.extend({variants:Re}),enable:an().optional()}).omit({enable:!0}).extend({enabled:an().optional(),expectedRevision:R()}),B({archived:sn([`include`,`only`]).optional()}),B({mode:sn([`preview`,`execute`])});function fA({title:e,subtitle:t,action:n,children:r}){return(0,Q.jsxs)(`main`,{"data-route":`automations`,className:`task-flow-page w-full max-w-full min-w-0 max-md:p-4!`,children:[(0,Q.jsxs)(`header`,{className:`mb-6 flex flex-col items-start gap-5 max-md:mb-4 max-md:gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsx)(`h1`,{className:`mb-2 text-[28px] font-medium max-md:text-[22px]`,children:e}),(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:t})]}),n]}),r]})}function pA({text:e}){return(0,Q.jsx)(`div`,{role:`status`,className:`rounded-xl border bg-card p-6 text-sm text-muted-foreground`,children:e})}var mA={launched:`success`,manual:`success`,"catch-up":`success`,skipped:`neutral`,missed:`neutral`,"no-match":`neutral`,preview:`neutral`,baseline:`neutral`,duplicate:`neutral`,failed:`danger`,error:`danger`,"rate-limited":`danger`},hA={launched:`Launched`,manual:`Manual`,"catch-up":`Catch up`,skipped:`Skipped`,missed:`Missed`,"no-match":`No match`,preview:`Preview`,baseline:`Baseline`,duplicate:`Duplicate`,failed:`Failed`,error:`Error`,"rate-limited":`Rate limited`};function gA(e){let[t,n]=(0,Z.useState)(),[r,i]=(0,Z.useState)(``),a=(0,Z.useCallback)(t=>Ee(e,{signal:t}).then(({records:e})=>{t?.aborted||(n(e),i(``))}).catch(e=>{t?.aborted||i(String(e))}),[e]);return(0,Z.useEffect)(()=>{a()},[a]),(0,Z.useEffect)(()=>Pe(a),[a]),(0,Z.useEffect)(()=>Tl((t,n)=>{t===`automation-change`&&n.automationId===e&&a()}),[e,a]),{records:t,error:r,refresh:a}}function _A(e,t){return e.result!==`failed`&&e.result!==`error`||!e.receiptId||e.runId?!1:!t.some(t=>t.receiptId===e.receiptId&&(t.runId||t.seq>e.seq))}function vA({records:e,all:t,timeZone:n,onRetried:r,readOnly:i=!1}){let a=e=>!i&&_A(e,t),[o,s]=(0,Z.useState)(),[c,l]=(0,Z.useState)(),u=Date.now(),d=async e=>{s(e),l(void 0);try{await ut(e),r()}catch(t){l({receiptId:e,message:t instanceof Error?t.message:String(t)})}finally{s(void 0)}};return(0,Q.jsx)(`ol`,{className:`grid gap-3`,"aria-label":`Automation execution log`,children:e.map(e=>(0,Q.jsxs)(`li`,{className:`min-w-0 rounded-xl border bg-card p-4`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[(0,Q.jsx)(iE,{dot:mA[e.result],children:hA[e.result]}),(0,Q.jsx)(`time`,{className:`text-xs text-muted-foreground`,dateTime:e.ts,title:e.ts,children:Kk(e.ts,n,u)})]}),e.reason?(0,Q.jsx)(`p`,{className:`mt-2 text-sm break-words text-muted-foreground`,children:e.reason}):null,e.githubUrl||e.runId||a(e)?(0,Q.jsxs)(`div`,{className:`mt-3 flex flex-wrap items-center gap-x-4 gap-y-2 text-sm`,children:[e.githubUrl?(0,Q.jsx)(`a`,{className:`inline-flex min-h-11 items-center underline underline-offset-4 break-all`,href:e.githubUrl,target:`_blank`,rel:`noreferrer`,children:e.githubTitle??`GitHub #${e.githubNumber??``}`}):null,e.runId?(0,Q.jsx)(Y,{className:`inline-flex min-h-11 items-center underline underline-offset-4`,to:`/tasks/${e.runId}`,children:`Open task`}):null,a(e)?(0,Q.jsx)(D,{variant:`outline`,disabled:o===e.receiptId,onClick:()=>void d(e.receiptId),children:`Retry task`}):null]}):null,c&&c.receiptId===e.receiptId?(0,Q.jsx)(`p`,{role:`alert`,className:`mt-2 text-sm break-words text-destructive`,children:c.message}):null]},e.seq))})}var yA=`all`;function bA({label:e,value:t,onChange:n,options:r}){return(0,Q.jsxs)(bp,{value:t,onValueChange:n,children:[(0,Q.jsx)(Sp,{"aria-label":e,className:`w-full sm:w-52`,children:(0,Q.jsx)(xp,{})}),(0,Q.jsx)(Cp,{children:r.map(e=>(0,Q.jsx)(wp,{value:e.value,children:e.label},e.value))})]})}function xA({automationId:e,automationName:t,timeZone:n,readOnly:r=!1}){let{records:i,error:a,refresh:o}=gA(e),[s,c]=(0,Z.useState)(yA),[l,u]=(0,Z.useState)(yA),d=(0,Z.useMemo)(()=>(i??[]).filter(e=>(s===yA||e.result===s)&&(l===yA||e.event===l)),[i,s,l]),f=(i??[]).some(e=>e.event);return(0,Q.jsx)(fA,{title:`Execution log`,subtitle:t??`Automation activity`,action:(0,Q.jsx)(D,{variant:`outline`,asChild:!0,children:(0,Q.jsx)(Y,{to:`/automations`,children:`Back to automations`})}),children:a&&!i?(0,Q.jsxs)(`div`,{className:`grid justify-items-start gap-3`,children:[(0,Q.jsx)(pA,{text:a}),(0,Q.jsx)(D,{variant:`outline`,onClick:()=>void o(),children:`Retry`})]}):i?i.length===0?(0,Q.jsx)(pA,{text:`Nothing has run yet.`}):(0,Q.jsxs)(`div`,{className:`grid gap-4`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Q.jsx)(bA,{label:`Result`,value:s,onChange:c,options:[{value:yA,label:`All results`},...cA.options.map(e=>({value:e,label:hA[e]}))]}),f?(0,Q.jsx)(bA,{label:`Event`,value:l,onChange:u,options:[{value:yA,label:`All events`},...Qk.options.map(e=>({value:e,label:e}))]}):null]}),d.length===0?(0,Q.jsx)(pA,{text:`No rows match these filters.`}):(0,Q.jsx)(vA,{records:d,all:i,timeZone:n,onRetried:()=>void o(),readOnly:r})]}):(0,Q.jsx)(pA,{text:`Loading execution log…`})})}function SA({automationId:e,automationName:t,timeZone:n,showName:r=!1,readOnly:i=!1}){let{records:a,error:o,refresh:s}=gA(e);return(0,Q.jsxs)(`section`,{"data-slot":`automation-inline-log`,className:`mt-4 min-w-0 border-t pt-4`,children:[(0,Q.jsxs)(`h3`,{className:`mb-3 text-sm font-medium`,children:[`Recent activity`,r&&t?` · ${t}`:``]}),o&&!a?(0,Q.jsxs)(`div`,{className:`grid justify-items-start gap-2`,children:[(0,Q.jsx)(pA,{text:o}),(0,Q.jsx)(D,{variant:`outline`,onClick:()=>void s(),children:`Retry`})]}):a?a.length===0?(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Nothing has run yet.`}):(0,Q.jsx)(vA,{records:a.slice(0,5),all:a,timeZone:n,onRetried:()=>void s(),readOnly:i}):(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Loading activity…`})]})}function CA({automation:e,timeZone:t,onDeleted:n}){let r=e.archived,i=e.schedule,a=i?Zk(i):null,[o,s]=(0,Z.useState)(!1),[c,l]=(0,Z.useState)(!1),[u,d]=(0,Z.useState)(``),f=(0,Z.useRef)(null),p=(0,Z.useRef)(null),m=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{let e=m.current===`keep`?p.current:m.current===`delete`?f.current:null;m.current=null,e?.focus()},[o]);let h=async()=>{l(!0);try{await Me(e.id),n()}catch(e){d(e instanceof Error?e.message:String(e)),l(!1)}},g=[[`Workflow`,e.task.workflow],[`Runner`,e.task.runner],[`Model`,e.task.model],[`Effort`,e.task.effort]];return(0,Q.jsx)(fA,{title:e.name,subtitle:`Archived one-time schedule. It cannot change; delete it when you no longer need the record.`,children:(0,Q.jsxs)(`div`,{className:`grid min-w-0 max-w-3xl gap-5`,children:[(0,Q.jsxs)(`section`,{className:`min-w-0 rounded-xl border bg-card p-4`,children:[(0,Q.jsxs)(`p`,{className:`text-sm break-words`,children:[(0,Q.jsx)(`span`,{children:r.outcome===`launched`?`Started its task.`:`Cancelled — no task was started.`}),r.runId?(0,Q.jsxs)(Q.Fragment,{children:[` · `,(0,Q.jsx)(Y,{className:`inline-flex min-h-11 items-center underline underline-offset-4`,to:`/tasks/${r.runId}`,children:`Open task`})]}):null]}),(0,Q.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Archived ${Gk(r.at,t)} (${t}).`}),a&&i?.timeZone?(0,Q.jsx)(`p`,{className:`mt-1 text-sm text-muted-foreground`,children:`Was due ${a.date} ${a.time} (${i.timeZone}).`}):null]}),(0,Q.jsxs)(`section`,{"aria-labelledby":`archived-inputs`,className:`min-w-0 rounded-xl border bg-card p-4`,children:[(0,Q.jsx)(`h2`,{id:`archived-inputs`,className:`mb-3 text-[15px] font-medium`,children:`What it ran with`}),(0,Q.jsxs)(`dl`,{className:`grid gap-3 text-sm`,children:[(0,Q.jsxs)(`div`,{className:`grid gap-1`,children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:`Prompt`}),(0,Q.jsx)(`dd`,{className:`break-words whitespace-pre-wrap`,children:e.task.prompt})]}),g.filter(([,e])=>e).map(([e,t])=>(0,Q.jsxs)(`div`,{className:`grid gap-1`,children:[(0,Q.jsx)(`dt`,{className:`text-muted-foreground`,children:e}),(0,Q.jsx)(`dd`,{className:`break-words`,children:t})]},e))]})]}),(0,Q.jsxs)(`section`,{className:`min-w-0`,children:[(0,Q.jsx)(SA,{automationId:e.id,automationName:e.name,timeZone:t,readOnly:!0}),(0,Q.jsx)(D,{variant:`outline`,asChild:!0,className:`mt-3`,children:(0,Q.jsx)(Y,{to:`/automations/${e.id}/log`,children:`Execution log`})})]}),(0,Q.jsxs)(`div`,{className:`grid justify-items-start gap-2`,children:[o?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`p`,{className:`text-sm break-words`,children:`Delete “${e.name}”? Its record and log are removed; the task stays.`}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Q.jsx)(D,{variant:`danger-ghost`,"data-action":`automation-delete-confirm`,disabled:c,onClick:()=>void h(),children:`Delete schedule`}),(0,Q.jsx)(D,{ref:p,variant:`outline`,disabled:c,onClick:()=>{m.current=`delete`,s(!1)},children:`Keep`})]})]}):(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Q.jsx)(D,{ref:f,variant:`outline`,"data-action":`automation-delete`,onClick:()=>{m.current=`keep`,s(!0)},children:`Delete`}),(0,Q.jsx)(D,{variant:`outline`,asChild:!0,children:(0,Q.jsx)(Y,{to:`/automations`,children:`Back to automations`})})]}),u?(0,Q.jsx)(`p`,{role:`alert`,className:`text-sm break-words text-destructive`,children:u}):null]})]})})}function wA({className:e,...t}){return(0,Q.jsx)(Wu,{"data-slot":`label`,className:O(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}var TA=`quick-task`;function EA(e={}){let{prompt:t,workflow:n,runner:r,model:i,autonomous:a,archiveWhenDone:o,autoMergePr:s,allowWorkers:c,allowMessaging:l,variants:u,...d}=e.task??{prompt:``},f=e.task===void 0;return{retiredVariants:u!==void 0&&u!==1,name:e.name??``,description:e.description??``,kind:e.kind??`schedule`,schedule:Ak(e.schedule??{type:`daily`}),events:e.events??[`issue.opened`],intervalSeconds:e.intervalSeconds??300,filters:e.filters??{lookbackDays:7,maxRecords:25},prompt:t,...n===void 0?f?{workflow:TA}:{}:{workflow:n},...r===void 0?{}:{runner:r},...i===void 0?{}:{model:i},autonomous:a??!0,archiveWhenDone:o??!1,autoMergePr:s??!1,allowWorkers:c!==!1,allowMessaging:l!==!1,enabled:e.enabled??e.enable??!1,taskExtra:d}}function DA(e){switch(e.type){case`daily`:case`weekdays`:return{type:e.type,hour:e.hour,minute:e.minute};case`weekly`:return{type:`weekly`,hour:e.hour,minute:e.minute,day:e.day};case`hours`:return{type:`hours`,every:e.every};case`once`:return{type:`once`,at:e.at??``,timeZone:e.timeZone??``,...e.latestStartMinutes===void 0?{}:{latestStartMinutes:e.latestStartMinutes}}}}function OA(e){if(e.retiredVariants)throw Error(`Parallel variants are removed. Choose Use one task before saving this automation.`);return{...e.taskExtra,prompt:e.prompt,...e.workflow?{workflow:e.workflow}:{},...e.runner?{runner:e.runner}:{},...e.model?{model:e.model}:{},autonomous:e.autonomous,...e.archiveWhenDone?{archiveWhenDone:!0}:{},...e.autoMergePr?{autoMergePr:!0}:{},...e.allowWorkers?{}:{allowWorkers:!1},...e.allowMessaging?{}:{allowMessaging:!1}}}function kA(e){return{name:e.name.trim(),...e.description.trim()?{description:e.description.trim()}:{},kind:e.kind,...e.kind===`schedule`?{schedule:DA(e.schedule)}:{events:e.events,intervalSeconds:e.intervalSeconds,filters:e.filters},task:OA(e)}}function AA(e){return{...kA(e),enable:e.enabled}}function jA(e,t){return{...kA(e),task:{...OA(e),archiveWhenDone:e.archiveWhenDone,autoMergePr:e.autoMergePr,allowWorkers:e.allowWorkers,allowMessaging:e.allowMessaging},enabled:e.enabled,expectedRevision:t}}function MA(e){return`'${e.replace(/'/g,`'\\''`)}'`}var NA=new Set([`prompt`,`workflow`,`runner`,`model`,`autonomous`,`worktree`,`archiveWhenDone`,`autoMergePr`,`allowWorkers`,`allowMessaging`]),PA=new Set([`anyLabels`,`authors`,`changedLabels`]);function FA(e){if(e.description!==void 0||!e.name.trim()||!e.task.prompt.trim())return!1;let t=e.task;if(Object.keys(t).some(e=>!NA.has(e))||t.archiveWhenDone===!1||t.autoMergePr===!1||t.allowWorkers===!0||t.allowMessaging===!0||t.worktree!==!0)return!1;if(e.kind===`schedule`)return e.schedule!==void 0;let{events:n,filters:r}=e;return!n?.length||n.some(e=>e.includes(`,`))||!r||r.lookbackDays!==7||r.maxRecords!==25?!1:Object.entries(r).every(([e,t])=>e===`lookbackDays`||e===`maxRecords`||e===`includeExisting`&&t===!0||PA.has(e)&&Array.isArray(t)&&t.length>0)}function IA(e){return e%3600==0?`${e/3600}h`:e%60==0?`${e/60}m`:`${e}s`}function LA(e){return e%1440==0?`${e/1440}d`:e%60==0?`${e/60}h`:`${e}m`}function RA(e,t){return t.startsWith(`-`)?`--${e}=${MA(t)}`:`--${e} ${MA(t)}`}function zA(e){let t=[`${i()} automation add`,RA(`name`,e.name)];if(e.schedule?.type===`once`)t.push(RA(`at`,e.schedule.at),RA(`tz`,e.schedule.timeZone)),e.schedule.latestStartMinutes!==void 0&&t.push(RA(`latest-start`,LA(e.schedule.latestStartMinutes)));else if(e.kind===`schedule`)t.push(RA(`cron`,zk(e.schedule)));else{t.push(RA(`on`,e.events.join(`,`)),`--every ${IA(e.intervalSeconds??300)}`),e.filters?.includeExisting&&t.push(`--include-existing`);for(let n of e.filters?.anyLabels??[])t.push(RA(`label`,n));for(let n of e.filters?.authors??[])t.push(RA(`author`,n));for(let n of e.filters?.changedLabels??[])t.push(RA(`changed-label`,n))}return t.push(...BA(e.task)),e.enable===!0&&t.push(`--enable`),t.push(RA(`prompt`,e.task.prompt)),t.join(` `)}function BA(e){let t=[];return e.workflow&&t.push(RA(`workflow`,e.workflow)),e.runner&&t.push(RA(`runner`,e.runner)),e.model&&t.push(RA(`model`,e.model)),e.autonomous===!1&&t.push(`--no-autonomous`),e.archiveWhenDone&&t.push(`--archive-when-done`),e.autoMergePr&&t.push(`--auto-merge-pr`),e.allowWorkers===!1&&t.push(`--no-workers`),e.allowMessaging===!1&&t.push(`--no-messaging`),t}function VA(e,t){let n=AA(e),r=FA(n)?zA(n):`${i()} automation create --json ${MA(JSON.stringify(n))}`;return t?`CEZ_COCKPIT_URL=${MA(t.origin)} CEZ_PROJECT_ID=${MA(t.projectId)} HSQ_COCKPIT_URL=${MA(t.origin)} HSQ_PROJECT_ID=${MA(t.projectId)} ${r}`:r}function HA({draft:e}){let t=Is(),n=window.location.origin,r=(0,Z.useMemo)(()=>VA(e,t?{origin:n,projectId:t}:void 0),[e,n,t]),[a,o]=(0,Z.useState)(`idle`),s=(0,Z.useRef)(void 0);(0,Z.useEffect)(()=>()=>clearTimeout(s.current),[]),(0,Z.useEffect)(()=>o(`idle`),[r]);let c=async()=>{clearTimeout(s.current);try{await navigator.clipboard.writeText(r),o(`copied`),s.current=setTimeout(()=>o(`idle`),1600)}catch{o(`failed`)}};return(0,Q.jsxs)(`section`,{"aria-labelledby":`copy-as-cli-heading`,"data-slot":`copy-as-cli`,className:`mbs-4 rounded-xl border bg-card p-4`,children:[(0,Q.jsxs)(`div`,{className:`mbe-2 flex items-center gap-2`,children:[(0,Q.jsx)(`h2`,{id:`copy-as-cli-heading`,className:`text-[15px] font-medium`,children:`Copy as CLI`}),(0,Q.jsxs)(D,{type:`button`,variant:`ghost`,size:`sm`,className:`ms-auto`,onClick:()=>void c(),children:[a===`copied`?(0,Q.jsx)(hm,{"aria-hidden":`true`}):(0,Q.jsx)(Tm,{"aria-hidden":`true`}),a===`copied`?`Copied`:`Copy`]})]}),(0,Q.jsx)(`pre`,{className:`m-0 rounded-lg border bg-muted px-2.5 py-2 font-mono text-xs/relaxed break-words whitespace-pre-wrap text-muted-foreground`,children:r}),(0,Q.jsx)(`p`,{role:`status`,className:`mbs-2 text-xs break-words text-muted-foreground`,children:a===`failed`?`Could not copy — select the line and copy it by hand.`:(0,Q.jsxs)(Q.Fragment,{children:[`The definition Save would create. `,(0,Q.jsxs)(`code`,{children:[i(),` automation schema`]}),` prints its shape.`]})})]})}function UA({pressed:e,onClick:t,disabled:n,children:r}){return(0,Q.jsx)(`button`,{type:`button`,"aria-pressed":e,disabled:n,onClick:t,className:O(_c,`h-11 px-4 text-[13px]`,e&&`border-transparent bg-accent-strong text-accent-strong-foreground hover:bg-accent-strong hover:text-accent-strong-foreground`),children:r})}var WA=Qk.options,GA=[{seconds:60,label:`1 minute`},{seconds:300,label:`5 minutes`},{seconds:900,label:`15 minutes`},{seconds:1800,label:`30 minutes`},{seconds:3600,label:`1 hour`}],KA=[{key:`authors`,label:`Authors`},{key:`assignees`,label:`Assignees`},{key:`allLabels`,label:`Has all labels`},{key:`anyLabels`,label:`Has any label`},{key:`excludeLabels`,label:`Excludes labels`},{key:`changedLabels`,label:`Changed labels`,hint:`Required for the two label events.`}],qA=e=>(e??[]).join(`, `),JA=e=>e.split(`,`).map(e=>e.trim()).filter(Boolean);function YA(e){return e?`Existing matches within the lookback are eligible on the next check. Previously processed matches will not run again.`:`Enabling starts from a current-time baseline. Existing matches will not launch tasks.`}function XA(e){let t=Math.max(1,Math.round(e.intervalSeconds/60));return`Polls GitHub every ${t} minute${t===1?``:`s`} for ${e.events.join(`, `)||`no events`}. ${YA(e.filters.includeExisting)}`}function ZA({draft:e,onChange:t,disabledReason:n}){let r=n=>{t({events:e.events.includes(n)?e.events.filter(e=>e!==n):[...e.events,n]})},i=n=>t({filters:{...e.filters,...n}}),a=(n,r)=>{let i=JA(r),{[n]:a,...o}=e.filters;t({filters:i.length?{...o,[n]:i}:o})},o=GA.some(t=>t.seconds===e.intervalSeconds)?GA:[...GA,{seconds:e.intervalSeconds,label:`${Math.round(e.intervalSeconds/60)} minutes`}].sort((e,t)=>e.seconds-t.seconds);return(0,Q.jsxs)(`div`,{className:`grid gap-4`,children:[n?(0,Q.jsx)(`p`,{className:`text-xs text-pending-strong`,children:`GitHub unavailable · ${n}`}):null,(0,Q.jsx)(`div`,{role:`group`,"aria-label":`GitHub events`,className:`flex flex-wrap gap-2`,children:WA.map(t=>(0,Q.jsx)(UA,{pressed:e.events.includes(t),onClick:()=>r(t),children:t},t))}),(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Q.jsx)(wA,{htmlFor:`automation-interval`,children:`Check every`}),(0,Q.jsxs)(bp,{value:String(e.intervalSeconds),onValueChange:e=>t({intervalSeconds:Number(e)}),children:[(0,Q.jsx)(Sp,{id:`automation-interval`,className:`w-full sm:w-48`,"aria-label":`Check every`,children:(0,Q.jsx)(xp,{})}),(0,Q.jsx)(Cp,{children:o.map(e=>(0,Q.jsx)(wp,{value:String(e.seconds),children:e.label},e.seconds))})]})]}),(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Q.jsxs)(`label`,{className:`flex min-h-11 items-center gap-3 text-sm`,children:[(0,Q.jsx)(Ta,{"aria-label":`Include existing items`,"aria-describedby":`automation-history-hint`,checked:e.filters.includeExisting??!1,onCheckedChange:e=>i({includeExisting:e})}),(0,Q.jsx)(`span`,{children:`Include existing items`})]}),(0,Q.jsx)(`p`,{id:`automation-history-hint`,className:`text-xs text-muted-foreground`,children:YA(e.filters.includeExisting)})]}),(0,Q.jsxs)(ew,{children:[(0,Q.jsxs)(tw,{className:`group flex min-h-11 items-center gap-2 text-sm font-medium`,children:[`Filters`,(0,Q.jsx)(Vo,{"aria-hidden":`true`,className:`size-4 text-soft-foreground transition-transform motion-reduce:transition-none group-data-[state=open]:rotate-180`})]}),(0,Q.jsx)(nw,{children:(0,Q.jsxs)(`div`,{className:`grid gap-4 pt-2 sm:grid-cols-2`,children:[KA.map(t=>(0,Q.jsxs)(`div`,{className:`grid min-w-0 gap-2`,children:[(0,Q.jsx)(wA,{htmlFor:`automation-filter-${t.key}`,children:t.label}),(0,Q.jsx)(Dp,{id:`automation-filter-${t.key}`,placeholder:`comma separated`,value:qA(e.filters[t.key]),onChange:e=>a(t.key,e.target.value)}),t.hint?(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:t.hint}):null]},t.key)),(0,Q.jsxs)(`div`,{className:`grid min-w-0 gap-2`,children:[(0,Q.jsx)(wA,{htmlFor:`automation-filter-lookback`,children:`Look back (days)`}),(0,Q.jsx)(Dp,{id:`automation-filter-lookback`,type:`number`,min:1,value:e.filters.lookbackDays,onChange:e=>i({lookbackDays:Math.max(1,Number(e.target.value)||1)})})]}),(0,Q.jsxs)(`div`,{className:`grid min-w-0 gap-2`,children:[(0,Q.jsx)(wA,{htmlFor:`automation-filter-max`,children:`Max records per check`}),(0,Q.jsx)(Dp,{id:`automation-filter-max`,type:`number`,min:1,value:e.filters.maxRecords,onChange:e=>i({maxRecords:Math.max(1,Number(e.target.value)||1)})})]})]})})]})]})}var QA=[{minutes:void 0,label:`No limit`},{minutes:30,label:`30 minutes`},{minutes:120,label:`2 hours`},{minutes:360,label:`6 hours`},{minutes:1440,label:`1 day`},{minutes:10080,label:`7 days`}],$A=`none`,ej=e=>String(e).padStart(2,`0`);function tj(e,t=Date.now()){let n=mk(t,e)??mk(t,`UTC`),r=new Date(Date.UTC(n.year,n.month-1,n.day+1));return`${r.getUTCFullYear()}-${ej(r.getUTCMonth()+1)}-${ej(r.getUTCDate())}T09:00`}function nj(){let e=typeof Intl.supportedValuesOf==`function`?Intl.supportedValuesOf(`timeZone`):[];return e.includes(`UTC`)?e:[`UTC`,...e]}function rj({value:e,stored:t,onChange:n}){let r=t=>n({...e,...t}),i=e.at?Mk(e.at):null,o=e.at?.slice(0,10)??``,s=i?.hour??9,c=i?.minute??0,l=(e,t,n)=>r({at:`${e}T${ej(t)}:${ej(n)}`}),u=(0,Z.useRef)(null),d=(0,Z.useId)(),f=jk(e),p=!(t?.type===`once`&&t.at===e.at&&t.timeZone===e.timeZone)&&f!==null&&f<=Date.now();(0,Z.useEffect)(()=>{u.current?.setCustomValidity(p?Dk:``)},[p]);let m=Zk(e);return(0,Q.jsxs)(`div`,{className:`grid gap-4`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-end gap-x-4 gap-y-3`,children:[(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Q.jsx)(wA,{htmlFor:`automation-once-date`,children:`Date`}),(0,Q.jsx)(Dp,{ref:u,id:`automation-once-date`,type:`date`,className:`w-44 max-w-full`,value:o,"aria-invalid":p||void 0,"aria-describedby":p?d:void 0,onChange:e=>{/^\d{4}-\d{2}-\d{2}$/.test(e.target.value)&&l(e.target.value,s,c)},required:!0})]}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`at`}),(0,Q.jsx)(lj,{label:`Hour`,value:s,max:23,onCommit:e=>l(o,e,c)}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`:`}),(0,Q.jsx)(lj,{label:`Minute`,value:c,max:59,onCommit:e=>l(o,s,e)})]})]}),p?(0,Q.jsx)(`p`,{id:d,className:`text-xs text-destructive`,children:Dk}):null,(0,Q.jsx)(aj,{value:e.timeZone??``,onCommit:e=>r({timeZone:e})}),(0,Q.jsx)(oj,{value:e.latestStartMinutes,onChange:t=>n(ij(e,t))}),m?(0,Q.jsx)(`p`,{className:`text-sm break-words`,children:`Runs once at ${m.time} on ${m.date} (${e.timeZone}). ${m.note?`${m.note} `:``}${a(`Cezarion`)} must be running then.`}):null]})}function ij(e,t){let{latestStartMinutes:n,...r}=e;return t===void 0?r:{...r,latestStartMinutes:t}}function aj({value:e,onCommit:t}){let[n,r]=(0,Z.useState)(e),i=(0,Z.useRef)(null),a=(0,Z.useId)(),o=(0,Z.useId)(),[s]=(0,Z.useState)(nj),c=n!==e||!vk(n),l=Ok(n);return(0,Z.useEffect)(()=>{i.current?.setCustomValidity(c?l:``)},[c,l]),(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Q.jsx)(wA,{htmlFor:`automation-once-zone`,children:`Time zone`}),(0,Q.jsx)(Dp,{ref:i,id:`automation-once-zone`,list:a,autoComplete:`off`,spellCheck:!1,className:`w-full sm:w-72`,value:n,"aria-invalid":c||void 0,"aria-describedby":c?o:void 0,onChange:e=>{r(e.target.value),vk(e.target.value)&&t(e.target.value)}}),(0,Q.jsx)(`datalist`,{id:a,children:s.map(e=>(0,Q.jsx)(`option`,{value:e},e))}),c?(0,Q.jsx)(`p`,{id:o,className:`text-xs break-words text-destructive`,children:l}):null]})}function oj({value:e,onChange:t}){let n=QA.some(t=>t.minutes===e)||e===void 0?QA:[...QA,{minutes:e,label:`${e} minutes`}];return(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Q.jsx)(wA,{htmlFor:`automation-once-latest`,children:`Latest start`}),(0,Q.jsxs)(bp,{value:e===void 0?$A:String(e),onValueChange:e=>t(e===$A?void 0:Number(e)),children:[(0,Q.jsx)(Sp,{id:`automation-once-latest`,className:`w-full sm:w-48`,"aria-label":`Latest start`,children:(0,Q.jsx)(xp,{})}),(0,Q.jsx)(Cp,{children:n.map(e=>(0,Q.jsx)(wp,{value:e.minutes===void 0?$A:String(e.minutes),children:e.label},e.label))})]}),(0,Q.jsxs)(`p`,{className:`text-xs break-words text-muted-foreground`,children:[`If `,a(`Cezarion`),` was not running at the time, it still starts the task this long afterwards; later, the schedule is marked missed.`]})]})}var sj=[{type:`daily`,label:`Every day`},{type:`weekdays`,label:`Weekdays`},{type:`weekly`,label:`Weekly`},{type:`hours`,label:`Every N hours`},{type:`once`,label:`Once`}],cj=e=>String(e).padStart(2,`0`);function lj({label:e,value:t,max:n,onCommit:r}){let[i,a]=(0,Z.useState)(cj(t)),o=(0,Z.useRef)(null),s=!(/^\d{1,2}$/.test(i)&&Number(i)===t),c=`${e} must be 00–${cj(n)}.`,l=(0,Z.useId)();return(0,Z.useEffect)(()=>{o.current?.setCustomValidity(s?c:``)},[s,c]),(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Dp,{ref:o,"aria-label":e,"aria-invalid":s||void 0,"aria-describedby":s?l:void 0,inputMode:`numeric`,maxLength:2,className:`w-20 text-center tabular-nums`,value:i,onChange:e=>{a(e.target.value),/^\d{1,2}$/.test(e.target.value)&&Number(e.target.value)<=n&&r(Number(e.target.value))},onBlur:()=>a(cj(t))}),s?(0,Q.jsx)(`p`,{id:l,className:`order-last basis-full text-xs text-destructive`,children:c}):null]})}function uj({value:e,stored:t,onChange:n,timeZone:r}){let i=t=>n({...e,...t}),a=t=>i(t===`once`?{type:t,at:e.at??tj(r),timeZone:e.timeZone??r}:{type:t});return(0,Q.jsxs)(`div`,{className:`grid gap-4`,children:[(0,Q.jsx)(`div`,{role:`group`,"aria-label":`Repeat`,className:`flex flex-wrap gap-2`,children:sj.map(t=>(0,Q.jsx)(UA,{pressed:e.type===t.type,onClick:()=>a(t.type),children:t.label},t.type))}),e.type===`once`?(0,Q.jsx)(rj,{value:e,stored:t,onChange:n}):null,e.type===`weekly`?(0,Q.jsx)(`div`,{role:`group`,"aria-label":`Day of the week`,className:`flex flex-wrap gap-2`,children:xk.map((t,n)=>(0,Q.jsx)(UA,{pressed:e.day===n+1,onClick:()=>i({day:n+1}),children:t},t))}):null,e.type===`once`?null:e.type===`hours`?(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Q.jsx)(wA,{htmlFor:`automation-every`,children:`Run every`}),(0,Q.jsxs)(bp,{value:String(e.every),onValueChange:e=>i({every:Number(e)}),children:[(0,Q.jsx)(Sp,{id:`automation-every`,className:`w-full sm:w-48`,"aria-label":`Run every`,children:(0,Q.jsx)(xp,{})}),(0,Q.jsx)(Cp,{children:bk.map(e=>(0,Q.jsx)(wp,{value:String(e),children:e===1?`hour`:`${e} hours`},e))})]}),(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Counted from midnight, so “every 6 hours” runs at 00:00, 06:00, 12:00 and 18:00.`})]}):(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,Q.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`at`}),(0,Q.jsx)(lj,{label:`Hour`,value:e.hour,max:23,onCommit:e=>i({hour:e})}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`:`}),(0,Q.jsx)(lj,{label:`Minute`,value:e.minute,max:59,onCommit:e=>i({minute:e})}),(0,Q.jsx)(`span`,{className:`text-sm break-all text-muted-foreground`,children:r})]}),e.type===`once`?null:(0,Q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Cron: `,(0,Q.jsx)(`code`,{className:`font-mono text-foreground`,children:zk(e)})]})]})}var dj=40*864e5,fj=5;function pj({schedule:e,timeZone:t,now:n=Date.now()}){if(e.type===`once`)return(0,Q.jsx)(mj,{schedule:e,now:n});let r=Vk(e,n+1,n+dj,t,fj);return(0,Q.jsxs)(`section`,{"aria-labelledby":`next-runs-heading`,className:`rounded-xl border bg-card p-4`,children:[(0,Q.jsx)(`h2`,{id:`next-runs-heading`,className:`mb-3 text-[15px] font-medium`,children:`Next 5 runs`}),r.length===0?(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No runs in the next 40 days.`}):(0,Q.jsx)(`ol`,{"aria-label":`Next 5 runs`,className:`grid gap-1.5 text-sm`,children:r.map(e=>(0,Q.jsxs)(`li`,{className:`flex items-baseline justify-between gap-3`,children:[(0,Q.jsx)(`span`,{className:`font-medium tabular-nums`,children:Gk(new Date(e).toISOString(),t)}),(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:Hk(n,e)})]},e))}),(0,Q.jsxs)(`p`,{className:`mt-3 text-xs text-muted-foreground`,children:[`Times are in `,t,`, the zone this `,a(`cezar`),` runs in.`]})]})}function mj({schedule:e,now:t}){let n=jk(e),r=Zk(e);return(0,Q.jsxs)(`section`,{"aria-labelledby":`next-runs-heading`,className:`rounded-xl border bg-card p-4`,children:[(0,Q.jsx)(`h2`,{id:`next-runs-heading`,className:`mb-3 text-[15px] font-medium`,children:`Runs once`}),n===null||!r?(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`Pick a date, a time and a time zone.`}):(0,Q.jsxs)(`p`,{className:`flex flex-wrap items-baseline justify-between gap-x-3 text-sm`,children:[(0,Q.jsx)(`span`,{className:`font-medium tabular-nums`,children:`${r.date} ${r.time}`}),n>t?(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:Hk(t,n)}):null]}),r?.note?(0,Q.jsx)(`p`,{className:`mt-2 text-sm break-words`,children:r.note}):null,n!==null&&n<=t?(0,Q.jsx)(`p`,{className:`mt-2 text-sm text-destructive`,children:`The due time has passed.`}):null,(0,Q.jsx)(`p`,{className:`mt-3 text-xs break-words text-muted-foreground`,children:`Times are in ${e.timeZone??`UTC`}. ${a(`Cezarion`)} must be running then; afterwards the schedule is archived with its task.`})]})}var hj={schedule:`On a schedule`,github:`When GitHub changes`};function gj(e){return/time zone|due time/i.test(e)?`when`:/placeholder|prompt|workflow|runner|model|task|autonomous/i.test(e)?`run`:/\bname\b/i.test(e)?`name`:/schedule|github|event|filter|label|interval|remote|forge|lookback|records?|hour|minute|poll|kind|archived/i.test(e)?`when`:`form`}function _j({title:e,failure:t,section:n,children:r}){return(0,Q.jsxs)(`fieldset`,{className:`grid min-w-0 gap-4 rounded-xl border p-5 max-md:p-4!`,children:[(0,Q.jsx)(`legend`,{className:`px-0`,children:e}),r,t?.section===n&&!t.conflict?(0,Q.jsx)(`p`,{role:`alert`,className:`text-sm break-words text-destructive`,children:t.message}):null]})}function vj({draft:e,patch:t,forge:n,automation:r}){return(0,Q.jsx)(Q.Fragment,{children:r?(0,Q.jsxs)(`p`,{className:`text-sm`,children:[(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`Trigger · `}),hj[e.kind]]}):(0,Q.jsxs)(`div`,{className:`grid justify-items-start gap-2`,children:[(0,Q.jsx)(mO,{slot:`automation-kind`,label:`Trigger`,size:`touch`,value:e.kind,onChange:e=>t({kind:e}),options:[{value:`schedule`,label:hj.schedule},{value:`github`,label:hj.github,disabled:!n.available,...n.available?{}:{title:n.reason??`GitHub is unavailable`}}]}),n.available?null:(0,Q.jsx)(`p`,{className:`text-xs break-words text-muted-foreground`,children:`GitHub unavailable · ${n.reason??`no GitHub access`}`})]})})}function yj({draft:e,patch:t,forge:n,timeZone:r,automation:i}){return e.kind===`schedule`?(0,Q.jsx)(uj,{value:e.schedule,stored:i?.schedule,onChange:e=>t({schedule:e}),timeZone:r}):(0,Q.jsx)(ZA,{draft:e,onChange:t,...n.available?{}:{disabledReason:n.reason??`no GitHub access`}})}function bj({draft:e,patch:t,saving:n,automation:r}){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Q.jsx)(wA,{htmlFor:`automation-prompt`,children:`Prompt`}),(0,Q.jsx)(es,{id:`automation-prompt`,value:e.prompt,onChange:e=>t({prompt:e.target.value}),rows:4,required:!0}),(0,Q.jsx)(`p`,{className:`text-xs break-words text-muted-foreground`,children:e.kind===`schedule`?(0,Q.jsxs)(Q.Fragment,{children:[`Available: `,`{{date}}`,` `,`{{time}}`,` `,`{{project}}`,` `,`{{automation}}`,`. A run-context block is appended automatically.`]}):(0,Q.jsxs)(Q.Fragment,{children:[`Available: `,`{{github.number}}`,` `,`{{github.title}}`,` `,`{{github.url}}`,` `,`{{github.labels}}`,`. GitHub content is appended as untrusted context.`]})})]}),(0,Q.jsx)(Cj,{draft:e,patch:t}),(0,Q.jsxs)(`label`,{className:`flex min-h-11 items-center gap-3 text-sm`,children:[(0,Q.jsx)(Ta,{"aria-label":`Autonomous`,checked:e.autonomous,onCheckedChange:e=>t({autonomous:e})}),(0,Q.jsxs)(`span`,{children:[`Autonomous `,(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`· runs without waiting for answers`})]})]}),(0,Q.jsx)(`p`,{className:`text-xs break-words text-muted-foreground`,children:`Each run is an ordinary task in its own worktree, queued behind the parallel cap.`}),(0,Q.jsx)(Cv,{archiveWhenDone:e.archiveWhenDone,autoMergePr:e.autoMergePr,onChange:t,disabled:n}),(0,Q.jsx)(Tv,{allowWorkers:e.allowWorkers,allowMessaging:e.allowMessaging,onChange:t,disabled:n}),r?(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`These settings apply to future tasks. Existing tasks keep their settings.`}):null]})}function xj({draft:e,patch:t,automation:n}){let r=e.kind===`schedule`;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`label`,{className:`flex min-h-11 items-center gap-3 text-sm`,children:[(0,Q.jsx)(Ta,{"aria-label":n?`Enabled`:`Enable after saving`,checked:e.enabled,onCheckedChange:e=>t({enabled:e})}),(0,Q.jsx)(`span`,{children:n?`Enabled`:`Enable after saving`})]}),(0,Q.jsx)(`p`,{className:`text-xs break-words text-muted-foreground`,children:r&&e.schedule.type===`once`?`It runs once at the time set above, then moves to Archived with its task.`:r?`The first run is the next occurrence shown beside the schedule.`:YA(e.filters.includeExisting)})]})}function Sj({automation:e,forge:t,timeZone:n,onSaved:r,onReload:i}){let[a,o]=(0,Z.useState)(()=>EA(e)),[s,c]=(0,Z.useState)(e?.revision),[l,u]=(0,Z.useState)(),[d,f]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(!1),[h,g]=(0,Z.useState)(!1),[_,v]=(0,Z.useState)(``),y=e=>o(t=>({...t,...e})),b=async t=>{if(t.preventDefault(),d)return;let n=t.currentTarget;if(n instanceof HTMLFormElement&&!n.checkValidity()){n.reportValidity();return}f(!0),u(void 0);let i=`save`;try{if(e&&s!==void 0){let{automation:t}=await Ne(e.id,jA({...a,enabled:e.enabled},s));c(t.revision),a.enabled!==e.enabled&&(i=`enable`,await Be(e.id,a.enabled))}else await et(AA(a));r()}catch(t){let n=t instanceof Error?t.message:String(t);i===`save`&&e&&t instanceof ft&&t.status===409&&/revision conflict/i.test(n)?u({section:`form`,message:`Edited elsewhere — reload to see the latest version`,conflict:!0}):u({section:i===`enable`?`enable`:gj(n),message:n})}finally{f(!1)}},x=async()=>{if(!(!e||h)){g(!0),v(``);try{await Me(e.id),r()}catch(e){v(e instanceof Error?e.message:String(e))}finally{g(!1)}}},S=e?`Save changes`:a.enabled?`Save and enable`:`Save paused`,C=a.kind===`schedule`;return(0,Q.jsx)(fA,{title:e?`Edit automation`:`New automation`,subtitle:`Define when it runs and the ordinary task it launches.`,children:(0,Q.jsxs)(`form`,{className:`automation-editor grid min-w-0 gap-5 md:grid-cols-[minmax(0,1fr)_320px] md:items-start`,onSubmit:b,children:[(0,Q.jsxs)(`div`,{className:`grid min-w-0 gap-5`,children:[a.retiredVariants?(0,Q.jsxs)(`section`,{role:`alert`,className:`flex flex-col items-start gap-3 rounded-xl border border-border bg-card p-4`,children:[(0,Q.jsx)(`p`,{children:`Parallel variants are removed. This automation requests multiple candidates and cannot launch. Use one task, or ask that task to compare approaches with owned workers.`}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,className:`min-h-11`,onClick:()=>y({retiredVariants:!1}),children:`Use one task`})]}):null,(0,Q.jsx)(_j,{title:`Name`,section:`name`,failure:l,children:(0,Q.jsxs)(`div`,{className:`grid gap-2`,children:[(0,Q.jsx)(wA,{htmlFor:`automation-name`,children:`Name`}),(0,Q.jsx)(Dp,{id:`automation-name`,value:a.name,onChange:e=>y({name:e.target.value}),required:!0})]})}),(0,Q.jsxs)(_j,{title:`When`,section:`when`,failure:l,children:[(0,Q.jsx)(vj,{draft:a,patch:y,forge:t,automation:e}),(0,Q.jsx)(yj,{draft:a,patch:y,forge:t,timeZone:n,automation:e})]}),(0,Q.jsx)(_j,{title:`What to run`,section:`run`,failure:l,children:(0,Q.jsx)(bj,{draft:a,patch:y,saving:d,automation:e})}),(0,Q.jsx)(_j,{title:`Enable`,section:`enable`,failure:l,children:(0,Q.jsx)(xj,{draft:a,patch:y,automation:e})}),l?.section===`form`?(0,Q.jsxs)(`div`,{role:`alert`,className:`flex flex-wrap items-center gap-3 text-sm text-destructive`,children:[(0,Q.jsx)(`span`,{className:`break-words`,children:l.message}),l.conflict&&i?(0,Q.jsx)(D,{type:`button`,variant:`outline`,onClick:i,children:`Reload`}):null]}):null,(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Q.jsx)(D,{type:`submit`,disabled:d,children:d?`Saving…`:S}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,asChild:!0,children:(0,Q.jsx)(Y,{to:`/automations`,children:`Cancel`})})]}),e?(0,Q.jsxs)(`div`,{className:`grid justify-items-start gap-2 border-t pt-4`,children:[p?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`p`,{className:`text-sm break-words`,children:`Delete “${e.name}”? It will stop running and cannot be restored.`}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Q.jsx)(D,{type:`button`,variant:`danger-ghost`,"data-action":`automation-delete-confirm`,disabled:h,onClick:()=>void x(),children:`Delete automation`}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,disabled:h,onClick:()=>{m(!1),v(``)},children:`Keep`})]})]}):(0,Q.jsx)(D,{type:`button`,variant:`outline`,"data-action":`automation-delete`,onClick:()=>m(!0),children:`Delete`}),_?(0,Q.jsx)(`p`,{role:`alert`,className:`text-sm break-words text-destructive`,children:_}):null]}):null]}),(0,Q.jsxs)(`aside`,{className:`min-w-0 md:sticky md:top-4`,children:[C?(0,Q.jsx)(pj,{schedule:a.schedule,timeZone:n}):(0,Q.jsxs)(`section`,{className:`rounded-xl border bg-card p-4`,children:[(0,Q.jsx)(`h2`,{className:`mb-2 text-[15px] font-medium`,children:`How it polls`}),(0,Q.jsx)(`p`,{className:`text-sm break-words text-muted-foreground`,children:XA(a)})]}),a.retiredVariants?null:(0,Q.jsx)(HA,{draft:a})]})]})})}function Cj({draft:e,patch:t}){let n=er(),r=Or(),i=Nr(),a=e.runner??i.data?.defaultRunner??`claude`,o=rr(a),s=[...new Set([...(n.data?.workflows??[]).map(e=>e.name),...e.workflow?[e.workflow]:[]])],c=[...new Set([...Kt(r.data),...e.runner?[e.runner]:[]])],l=fc(a,o.data,[e.model]),u=l.find(t=>t.id===(e.model??``))?.label??e.model??`auto`,d=e=>(0,Q.jsx)(e,{"aria-hidden":`true`,className:`size-[18px] shrink-0 text-accent-text`});return(0,Q.jsx)(cc,{children:(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Q.jsx)(gc,{slot:`automation-workflow-pill`,icon:d(So),fieldLabel:!0,ariaLabel:`Workflow`,label:e.workflow??`inline steps`,value:e.workflow??``,disabled:e.workflow===void 0,disabledHint:`This automation carries its own steps.`,options:s.map(e=>({value:e,label:e})),onPick:e=>t({workflow:e})}),(0,Q.jsx)(gc,{slot:`automation-runner-pill`,icon:d(No),fieldLabel:!0,ariaLabel:`Runner`,label:e.runner??`default`,value:e.runner??``,options:[{value:``,label:`default`,desc:`The project’s default runner`},...c.map(e=>({value:e,label:dc.find(t=>t.id===e)?.label??e}))],onPick:e=>{t({runner:e||void 0,model:void 0})}}),(0,Q.jsx)(gc,{slot:`automation-model-pill`,icon:d(go),fieldLabel:!0,ariaLabel:`Model`,label:u,value:e.model??``,options:l.map(e=>({value:e.id,label:e.label,desc:e.desc})),onPick:e=>t({model:e||void 0})})]})})}function wj({data:e,error:t,refresh:n,archived:r=!1,onArchivedChange:i}){let[o,s]=(0,Z.useState)({}),[c,l]=(0,Z.useState)({}),u=(e,t)=>s(n=>{let{[e]:r,...i}=n;return t?{...i,[e]:t}:i}),d=async(e,t)=>{l(t=>({...t,[e]:!0}));try{await t()}catch(t){u(e,{text:t instanceof Error?t.message:String(t),tone:`error`})}finally{l(t=>({...t,[e]:!1}))}},f=e=>d(e.id,async()=>{u(e.id,{text:`Starting…`,tone:`info`});let{runId:t}=await Ze(e.id);u(e.id,{text:`Started task`,tone:`info`,runId:t}),n()}),p=e=>d(e.id,async()=>{u(e.id,void 0),await Be(e.id,!e.enabled),await n()}),m=e=>d(e.id,async()=>{u(e.id,void 0),await rt(e.id),await n()}),h=e=>d(e.id,async()=>{u(e.id,{text:`Checking…`,tone:`info`});let{checkId:t}=await _t(e.id,`preview`);for(let r=0;r<60;r+=1){let r=await ye(t);if(r.status===`complete`){u(e.id,{text:`${r.matches??0} filter match${r.matches===1?``:`es`} found; no tasks launched. Counts can include closed items and previously processed events.`,tone:`info`}),n();return}if(r.status===`error`)throw Error(r.error??`Preview failed`);await new Promise(e=>setTimeout(e,500))}throw Error(`Preview is still running`)});return(0,Q.jsx)(fA,{title:`Automations`,subtitle:`Schedules and GitHub checks run while ${a(`Cezarion`)} is open.`,action:(0,Q.jsx)(D,{asChild:!0,children:(0,Q.jsx)(Y,{to:`/automations/new`,children:`New automation`})}),children:t&&!e?(0,Q.jsxs)(`div`,{className:`grid justify-items-start gap-3`,children:[(0,Q.jsx)(pA,{text:t}),(0,Q.jsx)(D,{variant:`outline`,onClick:()=>void n(),children:`Retry`})]}):e?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Tj,{data:e}),i?(0,Q.jsx)(`div`,{className:`mb-4 flex flex-wrap gap-2`,children:(0,Q.jsx)(UA,{pressed:r,onClick:()=>i(!r),children:`Archived`})}):null,r&&e.automations.length===0?(0,Q.jsx)(pA,{text:`No archived one-time schedules.`}):e.automations.length===0?(0,Q.jsx)(X,{icon:(0,Q.jsx)(wo,{}),tone:`neutral`,title:`No automations yet`,subtitle:`Create one paused, preview it, then enable it.`,heading:`h2`,actions:(0,Q.jsx)(D,{asChild:!0,children:(0,Q.jsx)(Y,{to:`/automations/new`,children:`New automation`})})}):(0,Q.jsx)(`ul`,{className:`grid gap-3`,"aria-label":`Automations`,children:e.automations.map(t=>(0,Q.jsx)(Fj,{automation:t,timeZone:e.timeZone,note:o[t.id],busy:c[t.id]===!0,onRun:()=>void f(t),onToggle:()=>void p(t),onPreview:()=>void h(t),onCancel:()=>void m(t)},t.id))})]}):(0,Q.jsx)(pA,{text:`Loading automations…`})})}function Tj({data:e}){return(0,Q.jsx)(`p`,{"data-slot":`automation-scheduler`,className:O(`mb-4 text-xs break-words`,e.scheduler.state===`scheduled`?`text-success`:`text-muted-foreground`),children:`Scheduler ${e.scheduler.state===`scheduled`?`running`:`idle`} · GitHub ${e.available?`available`:`unavailable`}${e.reason?` · ${e.reason}`:``} · ${e.timeZone}`})}function Ej(e){return e.kind===`schedule`&&e.schedule?Ik(e.schedule):`on ${(e.events??[]).join(`, `)} · every ${Math.round((e.intervalSeconds??300)/60)} min`}var Dj={waiting:{label:`Waiting`,dot:`success`},paused:{label:`Paused`,dot:`neutral`},failed:{label:`Failed`,dot:`danger`},missed:{label:`Missed`,dot:`pending`},archived:{label:`Archived`,dot:`neutral`}};function Oj(e){if(e.schedule?.type===`once`)return Dj[e.onceStatus??(e.enabled?`waiting`:`paused`)]}function kj({automation:e,badge:t}){return(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsxs)(`h2`,{className:`flex items-center gap-2 font-semibold break-words`,children:[(0,Q.jsx)(e.kind===`schedule`?fo:no,{"aria-hidden":`true`,className:`size-4 shrink-0 text-muted-foreground`}),e.name]}),(0,Q.jsx)(`p`,{className:`mt-1.5 text-[13px] break-words text-muted-foreground`,children:Ej(e)})]}),t?(0,Q.jsx)(iE,{dot:t.dot,children:t.label}):(0,Q.jsx)(iE,{dot:e.enabled?`success`:`neutral`,children:e.enabled?`Enabled`:`Paused`})]})}function Aj({automation:e,archive:t}){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`p`,{className:`mt-3 text-sm break-words`,children:[t.outcome===`launched`?`Started its task.`:`Cancelled — no task was started.`,t.runId?(0,Q.jsxs)(Q.Fragment,{children:[` · `,(0,Q.jsx)(Y,{className:`inline-flex min-h-11 items-center underline underline-offset-4`,to:`/tasks/${t.runId}`,children:`Open task`})]}):null]}),(0,Q.jsx)(`div`,{className:`mt-4 flex flex-wrap gap-2`,children:(0,Q.jsx)(D,{variant:`outline`,asChild:!0,children:(0,Q.jsx)(Y,{to:`/automations/${e.id}`,children:`Details`})})})]})}function jj({automation:e,timeZone:t}){let n=e.kind===`schedule`,r=e.enabled&&n?e.nextRunAt:void 0;return(0,Q.jsx)(`p`,{className:`mt-3 text-sm`,children:!n&&e.enabled?(0,Q.jsx)(`span`,{children:`continuous`}):r?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{children:`Next run: ${Gk(r,t)}`}),(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:` · ${Hk(Date.now(),Date.parse(r))}`})]}):(0,Q.jsx)(`span`,{children:`Next run: —`})})}function Mj({automation:e,busy:t,confirmingCancel:n,cancelRef:r,onToggle:i,onRun:a,onPreview:o,onOpenCancel:s}){let c=e.kind===`schedule`,l=e.schedule?.type===`once`;return(0,Q.jsxs)(`div`,{className:`mt-4 flex flex-wrap gap-2`,children:[(0,Q.jsx)(D,{variant:`outline`,asChild:!0,children:(0,Q.jsx)(Y,{to:`/automations/${e.id}`,children:`Edit`})}),(0,Q.jsx)(D,{variant:`outline`,asChild:!0,children:(0,Q.jsx)(Y,{to:`/automations/${e.id}/log`,children:`Execution log`})}),(0,Q.jsx)(D,{variant:`outline`,"data-action":`automation-toggle`,disabled:t,onClick:i,children:e.enabled?`Pause`:`Enable`}),c?(0,Q.jsx)(D,{variant:`outline`,"data-action":`automation-run`,disabled:t,onClick:a,children:`Run now`}):(0,Q.jsx)(D,{variant:`outline`,"data-action":`automation-preview`,disabled:t,onClick:o,children:`Test filter`}),l&&!n?(0,Q.jsx)(D,{variant:`outline`,ref:r,"data-action":`automation-cancel`,disabled:t,onClick:s,children:`Cancel`}):null]})}function Nj({automation:e,busy:t,keepRef:n,onConfirm:r,onKeep:i}){return(0,Q.jsxs)(`div`,{className:`mt-3 grid justify-items-start gap-2`,children:[(0,Q.jsx)(`p`,{className:`text-sm break-words`,children:`Cancel “${e.name}”? It will never run, and it moves to Archived.`}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[(0,Q.jsx)(D,{variant:`danger-ghost`,"data-action":`automation-cancel-confirm`,disabled:t,onClick:r,children:`Cancel schedule`}),(0,Q.jsx)(D,{ref:n,variant:`outline`,disabled:t,onClick:i,children:`Keep`})]})]})}function Pj({note:e}){return(0,Q.jsxs)(`p`,{role:e.tone===`error`?`alert`:`status`,className:O(`mt-3 text-sm break-words`,e.tone===`error`?`text-destructive`:`text-muted-foreground`),children:[e.text,e.runId?(0,Q.jsxs)(Q.Fragment,{children:[` · `,(0,Q.jsx)(Y,{className:`inline-flex min-h-11 items-center underline underline-offset-4`,to:`/tasks/${e.runId}`,children:`Open task`})]}):null]})}function Fj({automation:e,timeZone:t,note:n,busy:r,onRun:i,onToggle:a,onPreview:o,onCancel:s}){let[c,l]=(0,Z.useState)(!1),u=(0,Z.useRef)(null),d=(0,Z.useRef)(null),f=(0,Z.useRef)(null);(0,Z.useEffect)(()=>{let e=f.current===`keep`?d.current:f.current===`cancel`?u.current:null;f.current=null,e?.focus()},[c]);let p=()=>{f.current=`keep`,l(!0)},m=()=>{f.current=`cancel`,l(!1)},h=e.archived;return(0,Q.jsxs)(`li`,{"data-slot":`automation-card`,"data-kind":e.kind,className:`min-w-0 rounded-xl border bg-card p-4`,children:[(0,Q.jsx)(kj,{automation:e,badge:Oj(e)}),h?(0,Q.jsx)(Aj,{automation:e,archive:h}):null,h?null:(0,Q.jsx)(jj,{automation:e,timeZone:t}),h?null:(0,Q.jsx)(Mj,{automation:e,busy:r,confirmingCancel:c,cancelRef:u,onToggle:a,onRun:i,onPreview:o,onOpenCancel:p}),e.schedule?.type===`once`&&!h&&c?(0,Q.jsx)(Nj,{automation:e,busy:r,keepRef:d,onConfirm:()=>{l(!1),s()},onKeep:m}):null,n?(0,Q.jsx)(Pj,{note:n}):null,(0,Q.jsx)(SA,{automationId:e.id,automationName:e.name,timeZone:t})]})}function Ij(e){let t=Is(),n=U(),r=n.data!==void 0,i=r&&n.data.capabilities?.automations!==!0,[a,o]=(0,Z.useState)(),[s,c]=(0,Z.useState)(``),l=(0,Z.useCallback)(t=>kt({signal:t,...e?{archived:e}:{}}).then(e=>{t?.aborted||(o(e),c(``))}).catch(e=>{t?.aborted||c(String(e))}),[e]);return(0,Z.useEffect)(()=>{r&&!i&&l()},[r,i,l]),(0,Z.useEffect)(()=>Pe(async e=>{r&&!i&&await l(e)}),[r,i,l]),(0,Z.useEffect)(()=>Tl((e,n)=>{if(e!==`automation-change`)return;let r=n;typeof r.project==`string`&&(t===null||r.project===t)&&l()}),[t,l]),{data:a,error:s,refresh:l}}function Lj({mode:e=`list`}){let{automationId:t}=r(),n=As(),[i,o]=(0,Z.useState)(!1),{data:s,error:c,refresh:l}=Ij(e===`list`?i?`only`:void 0:`include`),[u,d]=(0,Z.useState)(0),f=U(),p=f.data!==void 0,m=p&&f.data.capabilities?.automations!==!0;if(!p)return(0,Q.jsx)(`div`,{"data-route":`automations`,className:`task-flow-page flex min-h-full flex-col`,children:(0,Q.jsx)(pA,{text:`Loading automations…`})});if(m)return(0,Q.jsx)(`div`,{"data-route":`automations`,className:`task-flow-page flex min-h-full flex-col`,children:(0,Q.jsx)(X,{icon:(0,Q.jsx)(wo,{}),tone:`neutral`,title:`Automations are off`,subtitle:`This server does not run schedules, poll GitHub or launch tasks from them. Unset CEZ_AUTOMATIONS or set it to 1 and restart ${a(`cezar`)} to turn automations on.`,heading:`h2`})});let h=()=>{n(`/automations`),l()},g=s?.automations.find(e=>e.id===t);if(e===`list`)return(0,Q.jsx)(wj,{data:s,error:c,refresh:l,archived:i,onArchivedChange:o});if(!s)return c?(0,Q.jsx)(fA,{title:`Automations`,subtitle:`Could not load automations.`,children:(0,Q.jsxs)(`div`,{className:`grid justify-items-start gap-3`,children:[(0,Q.jsx)(pA,{text:c}),(0,Q.jsx)(D,{variant:`outline`,onClick:()=>void l(),children:`Retry`})]})}):(0,Q.jsx)(`div`,{"data-route":`automations`,className:`task-flow-page flex min-h-full flex-col`,children:(0,Q.jsx)(pA,{text:`Loading automations…`})});let _={available:s.available,...s.reason?{reason:s.reason}:{}};return e===`new`?(0,Q.jsx)(Sj,{forge:_,timeZone:s.timeZone,onSaved:h}):e===`edit`?g?g.archived?(0,Q.jsx)(CA,{automation:g,timeZone:s.timeZone,onDeleted:h}):(0,Q.jsx)(Sj,{automation:g,forge:_,timeZone:s.timeZone,onSaved:h,onReload:()=>void l().then(()=>d(e=>e+1))},`${g.id}:${u}`):(0,Q.jsx)(fA,{title:`Automation not found`,subtitle:`This automation may have been removed.`,children:(0,Q.jsx)(D,{asChild:!0,variant:`outline`,children:(0,Q.jsx)(Y,{to:`/automations`,children:`Back to automations`})})}):t?(0,Q.jsx)(xA,{automationId:t,automationName:g?.name,timeZone:s.timeZone,readOnly:!!g?.archived}):(0,Q.jsx)(pA,{text:`Automation not found.`})}function Rj(e,t){let[n,r]=(0,Z.useState)(null),i=(0,Z.useMemo)(()=>`${e}${Math.random().toString(36).slice(2)}-${Date.now().toString(36)}`,[]),a=(0,Z.useRef)(i);return a.current=i,(0,Z.useEffect)(()=>Tl((e,t)=>{if(e!==`checkout-progress`)return;let n=t;n?.checkoutId===a.current&&(n.phase===`cloning`&&n.line?r(n.line):n.phase!==`cloning`&&r(null))}),[]),(0,Z.useEffect)(()=>Pe(async e=>{if(!t)return;let n=await we(i,{signal:e}).catch(()=>null);if(!n)return;let{progress:o}=n;e.aborted||o?.checkoutId!==a.current||r(o?.phase===`cloning`?o.line??null:null)}),[t,i]),{checkoutId:i,progress:n,setProgress:r}}function zj(e){return e instanceof Error?e.message.match(/https:\/\/github\.com\/orgs\/[A-Za-z0-9._-]+\/sso\?authorization_request=[A-Za-z0-9._~-]+(?![^\s'"<>])/)?.[0]??null:null}function Bj({open:e,onOpenChange:t}){let[n,r]=(0,Z.useState)(``),[i,o]=(0,Z.useState)(``),[s,c]=(0,Z.useState)(!1),l=(0,Z.useRef)(!1),u=yn(),d=Gr(),{mutate:f,isPending:p}=d,m=A(),h=zj(d.error),{checkoutId:g,progress:_,setProgress:v}=Rj(`co-`,p),y=(0,Z.useMemo)(()=>{let e=n.trim().replace(/\/+$/,``).replace(/\.git$/,``).split(`/`).pop()??``;return e.includes(`:`)?e.split(`:`).pop()??``:e},[n]),b=i.trim()===``?y:i.trim(),x=u.data?.projectsDir??``,S=b===``?``:`${x.replace(/\/+$/,``)}/${b}`,C=(0,Z.useCallback)(()=>{n.trim()===``||p||(l.current=!1,c(!1),v(null),f({url:n.trim(),checkoutId:g,...i.trim()===``?{}:{name:i.trim()}},{onSuccess:({project:e})=>{t(!1),m(`/p/${encodeURIComponent(e.id)}/`)}}))},[f,p,g,i,m,t,n]);return(0,Z.useEffect)(()=>{if(!s)return;let e=()=>{l.current&&(l.current=!1,c(!1),C())},t=()=>{document.visibilityState===`visible`&&e()};return window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,t),()=>{window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,t)}},[s,C]),(0,Q.jsx)(Xo,{open:e,onOpenChange:e=>d.isPending?void 0:t(e),children:(0,Q.jsxs)(Yo,{"data-slot":`clone-project-dialog`,className:`min-w-0 max-h-[calc(100dvh-2rem)] overflow-x-hidden overflow-y-auto sm:max-w-lg`,children:[(0,Q.jsxs)($o,{children:[(0,Q.jsx)(Jo,{children:`Clone from GitHub`}),(0,Q.jsxs)(qo,{children:[a(`cezar`),` clones with `,(0,Q.jsx)(`code`,{children:`gh`}),` into your checkout root and adds the result as a project.`]})]}),(0,Q.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Q.jsx)(wA,{htmlFor:`clone-url`,children:`Repository`}),(0,Q.jsx)(Dp,{id:`clone-url`,"data-slot":`clone-url`,autoFocus:!0,placeholder:`owner/repo or https://github.com/owner/repo`,value:n,disabled:d.isPending,onChange:e=>r(e.target.value),onKeyDown:e=>{e.key===`Enter`&&C()}})]}),(0,Q.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Q.jsx)(wA,{htmlFor:`clone-name`,children:`Folder name`}),(0,Q.jsx)(Dp,{id:`clone-name`,"data-slot":`clone-name`,placeholder:y===``?`repo`:y,value:i,disabled:d.isPending,onChange:e=>o(e.target.value)}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,children:[(0,Q.jsx)(`p`,{"data-slot":`clone-target`,className:`min-w-0 flex-1 truncate font-mono text-[11px] text-soft-foreground`,title:S,children:S}),d.isPending?(0,Q.jsx)(D,{"data-slot":`clone-root-settings`,variant:`ghost`,size:`icon-sm`,className:`size-7`,"aria-label":`Edit checkout root`,title:`Edit checkout root`,disabled:!0,children:(0,Q.jsx)(bo,{className:`size-3.5`,"aria-hidden":`true`})}):(0,Q.jsx)(D,{asChild:!0,variant:`ghost`,size:`icon-sm`,className:`size-7`,children:(0,Q.jsx)(w,{to:`/settings/global/projects`,"data-slot":`clone-root-settings`,"aria-label":`Edit checkout root`,title:`Edit checkout root`,children:(0,Q.jsx)(bo,{className:`size-3.5`,"aria-hidden":`true`})})})]})]}),d.isPending?(0,Q.jsx)(`p`,{"data-slot":`clone-progress`,className:`truncate font-mono text-[11px] text-muted-foreground`,children:_??`Starting the clone…`}):null,d.isError?(0,Q.jsx)(`div`,{"data-slot":`clone-error`,className:`grid min-w-0 gap-1.5 text-[13px] text-danger`,children:h?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`p`,{children:`GitHub requires SAML authorization for this organization.`}),(0,Q.jsxs)(`p`,{children:[(0,Q.jsx)(`a`,{"data-slot":`clone-sso-link`,className:`inline-flex min-h-11 items-center font-medium underline underline-offset-2`,href:h,target:`_blank`,rel:`noreferrer`,onClick:()=>{l.current=!0,c(!0)},children:`Authorize this GitHub organization`}),s?` — return here after authorizing, or choose Retry clone.`:` — return to this tab to retry, or choose Retry clone.`]}),(0,Q.jsxs)(`details`,{className:`min-w-0`,children:[(0,Q.jsx)(`summary`,{className:`min-h-11 content-center`,children:`Error details`}),(0,Q.jsx)(`p`,{className:`whitespace-pre-wrap break-all`,children:d.error instanceof Error?d.error.message:null})]})]}):(0,Q.jsx)(`p`,{className:`min-w-0 whitespace-pre-wrap break-all`,children:d.error instanceof Error?d.error.message:`could not clone that repository`})}):null,(0,Q.jsxs)(Zo,{children:[(0,Q.jsx)(D,{variant:`outline`,disabled:d.isPending,onClick:()=>t(!1),children:`Cancel`}),(0,Q.jsx)(D,{"data-slot":`clone-confirm`,disabled:n.trim()===``||b===``||d.isPending,onClick:C,children:d.isPending?`Cloning…`:d.isError?`Retry clone`:`Clone`})]})]})})}var Vj=[{slug:`github/codespaces-nextjs`,label:`Next.js`,description:`Minimal Next.js app (GitHub)`},{slug:`vercel/chatbot`,label:`Next.js AI chatbot`,description:`Full-featured AI chat app (Vercel)`},{slug:`vercel/nextjs-postgres-nextauth-tailwindcss-template`,label:`Next.js admin dashboard`,description:`Postgres, Auth.js and Tailwind (Vercel)`},{slug:`github/codespaces-react`,label:`React + Vite`,description:`React single-page app (GitHub)`},{slug:`antfu-collective/vitesse`,label:`Vue + Vite`,description:`Opinionated Vue starter (Vitesse)`},{slug:`nuxt-ui-templates/starter-vue`,label:`Vue + Nuxt UI`,description:`Vue + Vite with Nuxt UI (Nuxt)`},{slug:`mugnavo/cove`,label:`Vite+`,description:`TanStack Start on Vite+ (vp), Better Auth`},{slug:`w3cj/hono-open-api-starter`,label:`Hono`,description:`Type-safe JSON API with OpenAPI docs`},{slug:`github/codespaces-express`,label:`Express`,description:`Node.js web server (GitHub)`},{slug:`andrewmcodes/obsidian-beginner-vault-template`,label:`Obsidian vault`,description:`Your own knowledge base in Markdown`},{slug:`chibat/chrome-extension-typescript-starter`,label:`Chrome extension`,description:`TypeScript extension starter`},{slug:`actions/typescript-action`,label:`GitHub Action`,description:`TypeScript action with tests (GitHub)`},{slug:`microsoft/python-package-template`,label:`Python package`,description:`Packaging, tests and CI (Microsoft)`},{slug:`github/codespaces-flask`,label:`Flask`,description:`Python web app (GitHub)`},{slug:`github/codespaces-django`,label:`Django`,description:`Python web framework (GitHub)`},{slug:`github/codespaces-rails`,label:`Ruby on Rails`,description:`Rails app (GitHub)`},{slug:`github/codespaces-jupyter`,label:`Jupyter notebooks`,description:`Data science and ML (GitHub)`}];function Hj(e){let t=e.trim().toLowerCase();return t===``||Vj.some(e=>e.slug.toLowerCase()===t)?Vj:Vj.filter(e=>[e.label,e.slug,e.description].some(e=>e.toLowerCase().includes(t)))}function Uj({value:e,onChange:t,disabled:n,id:r}){let i=(0,Z.useId)(),a=Hj(e),[o,s]=(0,Z.useState)(-1),c=(0,Z.useRef)(null);(0,Z.useEffect)(()=>s(-1),[e]),(0,Z.useEffect)(()=>{o<0||c.current?.querySelector(`[data-index="${o}"]`)?.scrollIntoView?.({block:`nearest`})},[o]);let l=e=>`${i}-option-${e}`;return(0,Q.jsxs)(`div`,{className:`grid min-w-0 gap-1.5`,children:[(0,Q.jsx)(Dp,{id:r,"data-slot":`create-project-template`,role:`combobox`,"aria-expanded":`true`,"aria-controls":i,"aria-autocomplete":`list`,"aria-activedescendant":o>=0?l(o):void 0,autoComplete:`off`,spellCheck:!1,placeholder:`owner/repo or https://github.com/owner/repo`,value:e,disabled:n,onChange:e=>t(e.target.value),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){if(e.preventDefault(),a.length===0)return;let t=e.key===`ArrowDown`;s(e=>e<0?t?0:a.length-1:(e+(t?1:-1)+a.length)%a.length)}else if(e.key===`Enter`&&o>=0){e.preventDefault(),e.stopPropagation();let n=a[o];n&&t(n.slug)}}}),(0,Q.jsx)(`ul`,{ref:c,id:i,role:`listbox`,"aria-label":`Suggested templates`,"data-slot":`create-project-template-list`,className:`max-h-48 min-h-0 overflow-y-auto overscroll-contain rounded-md border border-border`,children:a.length===0?(0,Q.jsx)(`li`,{className:`px-3 py-2 text-xs text-muted-foreground`,role:`presentation`,children:`No suggestion matches — any GitHub template repository works.`}):a.map((r,i)=>{let a=r.slug.toLowerCase()===e.trim().toLowerCase();return(0,Q.jsxs)(`li`,{id:l(i),role:`option`,"aria-selected":a,"data-index":i,"data-slot":`create-project-template-option`,onMouseDown:e=>e.preventDefault(),onClick:()=>{n||t(r.slug)},className:O(`grid min-h-11 cursor-pointer content-center gap-0.5 px-3 py-1.5 text-start`,`pointer-hover:hover:bg-accent`,i===o&&`bg-accent`,a&&`font-medium`),children:[(0,Q.jsxs)(`span`,{className:`truncate text-[13px]`,children:[r.label,` `,(0,Q.jsx)(`span`,{className:`font-mono text-[11px] text-soft-foreground`,children:r.slug})]}),(0,Q.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:r.description})]},r.slug)})})]})}function Wj(e){return{available:e.data?.available?e.data.owners:null,unavailableReason:e.isError?`GitHub is unavailable: ${e.error instanceof Error?e.error.message:`could not ask gh`}`:e.data&&!e.data.available?e.data.reason:null}}function Gj(e,t){return e&&t!==null&&t.length>0}function Kj(e,t){return e??t?.[0]?.login??null}function qj(e){return(e.data?.projectsDir??``).replace(/\/+$/,``)}function Jj({nameValid:e,isPending:t,created:n,github:r,chosenOwner:i,effectiveStart:a,template:o}){return e&&!t&&n===null&&(!r||i!==null&&(a===`empty`||o.trim()!==``))}function Yj({trimmed:e,checkoutId:t,github:n,chosenOwner:r,effectiveStart:i,template:a}){return{name:e,checkoutId:t,...n&&r?{github:{owner:r,...i===`template`?{template:a.trim()}:{}}}:{}}}function Xj({created:e}){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(vo,{"aria-hidden":`true`,className:`mbs-0.5 size-5 shrink-0 text-warning`}),(0,Q.jsxs)(`div`,{className:`grid min-w-0 gap-2`,children:[(0,Q.jsx)(`p`,{className:`font-medium`,children:`The project was created, but its GitHub repository is not finished.`}),(0,Q.jsx)(`p`,{className:`min-w-0 whitespace-pre-wrap break-words font-mono text-xs`,children:e.warning})]})]})}function Zj({fieldId:e,name:t,setName:n,trimmed:r,nameValid:i,projectsDir:a,isPending:o,create:s}){let c=`${e}-name-hint`;return(0,Q.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Q.jsx)(wA,{htmlFor:`${e}-name`,children:`Name`}),(0,Q.jsx)(Dp,{id:`${e}-name`,"data-slot":`create-project-name`,autoFocus:!0,autoComplete:`off`,spellCheck:!1,placeholder:`my-project`,value:t,disabled:o,"aria-invalid":r!==``&&!i,"aria-describedby":r!==``&&!i?c:void 0,onChange:e=>n(e.target.value.replace(/\s/g,`-`)),onKeyDown:e=>{e.key===`Enter`&&s()}}),r!==``&&!i?(0,Q.jsx)(`p`,{id:c,"data-slot":`create-project-name-hint`,className:`text-xs text-danger`,children:`Use letters, digits, “.”, “-” and “_” only, starting with a letter or digit — it names the folder and the repository.`}):null,(0,Q.jsx)(`p`,{"data-slot":`create-project-path`,className:`min-w-0 truncate font-mono text-[11px] text-soft-foreground`,title:`${a}/${r}`,children:r===``?`${a}/…`:`${a}/${r}`})]})}function Qj({fieldId:e,github:t,setGithubOn:n,isPending:r,available:i}){return(0,Q.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,Q.jsx)(Ta,{id:`${e}-github`,"data-slot":`create-project-github`,checked:t,disabled:r||i===null||i.length===0,onCheckedChange:n,className:`mbs-0.5`}),(0,Q.jsxs)(`div`,{className:`grid min-w-0 gap-0.5`,children:[(0,Q.jsx)(wA,{htmlFor:`${e}-github`,children:`Also create a private GitHub repository`}),(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Under the account you choose. You can change its visibility on GitHub later.`})]})]})}function $j({fieldId:e,effectiveStart:t,setStart:n,isPending:r,github:i,template:a,setTemplate:o}){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`fieldset`,{className:`grid gap-2`,disabled:r,children:[(0,Q.jsx)(`legend`,{className:`mbe-2 text-sm font-medium`,children:`Start with`}),(0,Q.jsx)(rM,{slot:`create-project-start-empty`,name:`${e}-start`,checked:t===`empty`,disabled:r,onChange:()=>n(`empty`),title:`Empty repository`,detail:`One empty first commit, no files.`}),(0,Q.jsx)(rM,{slot:`create-project-start-template`,name:`${e}-start`,checked:t===`template`,disabled:r||!i,onChange:()=>n(`template`),title:`From a template`,detail:i?`GitHub generates the repository from a template.`:`Needs the GitHub repository.`})]}),t===`template`?(0,Q.jsxs)(`div`,{className:`grid gap-1.5`,children:[(0,Q.jsx)(wA,{htmlFor:`${e}-template`,children:`Template`}),(0,Q.jsx)(Uj,{id:`${e}-template`,value:a,onChange:o,disabled:r})]}):null]})}function eM({isPending:e,progress:t,failed:n,error:r}){return(0,Q.jsxs)(Q.Fragment,{children:[e?(0,Q.jsx)(`p`,{"data-slot":`create-project-progress`,className:`flex-none truncate font-mono text-[11px] text-muted-foreground`,children:t??`Starting…`}):null,n?(0,Q.jsx)(`p`,{"data-slot":`create-project-error`,role:`alert`,className:`flex-none min-w-0 whitespace-pre-wrap break-words text-[13px] text-danger`,children:r instanceof Error?r.message:`could not create the project`}):null]})}function tM({created:e,goToProject:t,isPending:n,onCancel:r,ready:i,onCreate:a,failed:o}){return(0,Q.jsx)(Zo,{className:`flex-none`,children:e?(0,Q.jsx)(D,{"data-slot":`create-project-open`,onClick:t,children:`Go to project`}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(D,{variant:`outline`,disabled:n,onClick:r,children:`Cancel`}),(0,Q.jsx)(D,{"data-slot":`create-project-submit`,disabled:!i,onClick:a,children:n?`Creating…`:o?`Try again`:`Create project`})]})})}function nM({open:e,onOpenChange:t}){let[n,r]=(0,Z.useState)(``),[i,o]=(0,Z.useState)(!1),[s,c]=(0,Z.useState)(null),[l,u]=(0,Z.useState)(`empty`),[d,f]=(0,Z.useState)(``),[p,m]=(0,Z.useState)(null),h=yn(),g=xn({enabled:e}),_=gi(),{mutate:v,isPending:y}=_,b=A(),x=(0,Z.useId)(),S=(0,Z.useRef)(!1),{checkoutId:C,progress:w,setProgress:T}=Rj(`np-`,y),{available:E,unavailableReason:D}=Wj(g),O=Gj(i,E),k=Kj(s,E),j=O?l:`empty`,M=n.trim(),ee=Ae.test(M),N=qj(h),te=Jj({nameValid:ee,isPending:y,created:p,github:O,chosenOwner:k,effectiveStart:j,template:d}),ne=(0,Z.useCallback)(()=>{!te||S.current||(S.current=!0,T(null),v(Yj({trimmed:M,checkoutId:C,github:O,chosenOwner:k,effectiveStart:j,template:d}),{onSettled:()=>{S.current=!1},onSuccess:({project:e,warning:n})=>{if(n){m({projectId:e.id,warning:n});return}t(!1),b(`/p/${encodeURIComponent(e.id)}/`)}}))},[te,v,M,C,O,k,j,d,t,b]);return(0,Q.jsx)(Xo,{open:e,onOpenChange:e=>y?void 0:t(e),children:(0,Q.jsxs)(Yo,{"data-slot":`create-project-dialog`,className:`flex min-w-0 flex-col overflow-y-clip overflow-x-clip sm:max-w-2xl`,children:[(0,Q.jsxs)($o,{className:`flex-none`,children:[(0,Q.jsx)(Jo,{children:`New project`}),(0,Q.jsxs)(qo,{children:[a(`cezar`),` creates a git repository with one empty commit in your checkout root and adds it as a project.`]})]}),p?(0,Q.jsx)(`div`,{"data-slot":`create-project-warning`,role:`status`,className:`flex min-h-0 flex-1 gap-3 overflow-y-auto overscroll-contain rounded-md border border-border bg-muted p-4 text-[13px]`,children:(0,Q.jsx)(Xj,{created:p})}):(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-wrap gap-6 overflow-y-auto overscroll-contain`,children:[(0,Q.jsxs)(`div`,{className:`grid min-w-[50%] grow-[999] basis-0 content-start gap-5`,children:[(0,Q.jsx)(Zj,{fieldId:x,name:n,setName:r,trimmed:M,nameValid:ee,projectsDir:N,isPending:y,create:ne}),(0,Q.jsx)(Qj,{fieldId:x,github:O,setGithubOn:o,isPending:y,available:E}),(0,Q.jsx)($j,{fieldId:x,effectiveStart:j,setStart:u,isPending:y,github:O,template:d,setTemplate:f})]}),(0,Q.jsx)(iM,{owners:E,unavailableReason:D,enabled:O&&!y,chosen:k,onChoose:c,groupName:`${x}-owner`})]}),(0,Q.jsx)(eM,{isPending:y,progress:w,failed:_.isError,error:_.error}),(0,Q.jsx)(tM,{created:p,goToProject:()=>{p&&(t(!1),b(`/p/${encodeURIComponent(p.projectId)}/`))},isPending:y,onCancel:()=>t(!1),ready:te,onCreate:ne,failed:_.isError})]})})}function rM({slot:e,name:t,checked:n,disabled:r,onChange:i,title:a,detail:o}){return(0,Q.jsxs)(`label`,{className:O(`flex min-h-11 items-start gap-3 rounded-md border border-border p-3`,`has-[:checked]:border-accent-strong has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-2 has-[:focus-visible]:outline-ring`,r?`cursor-not-allowed opacity-60`:`cursor-pointer`),children:[(0,Q.jsx)(`input`,{type:`radio`,"data-slot":e,name:t,checked:n,disabled:r,onChange:i,className:`mbs-0.5 size-4 accent-[var(--color-accent-strong)]`}),(0,Q.jsxs)(`span`,{className:`grid min-w-0 gap-0.5`,children:[(0,Q.jsx)(`span`,{className:`text-[13px] font-medium`,children:a}),(0,Q.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:o})]})]})}function iM({owners:e,unavailableReason:t,enabled:n,chosen:r,onChoose:i,groupName:a}){return(0,Q.jsxs)(`fieldset`,{"data-slot":`create-project-owners`,disabled:!n,className:`grid min-w-0 grow basis-56 content-start gap-2`,children:[(0,Q.jsx)(`legend`,{className:`mbe-2 text-sm font-medium`,children:`Repository owner`}),t===null?e===null?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(za,{className:`h-14 w-full`}),(0,Q.jsx)(za,{className:`h-14 w-full`})]}):e.map(e=>(0,Q.jsxs)(`label`,{"data-slot":`create-project-owner`,className:O(`flex min-h-11 min-w-0 items-center gap-3 rounded-md border border-border p-2.5`,`has-[:checked]:border-accent-strong has-[:checked]:bg-accent`,`has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-2 has-[:focus-visible]:outline-ring`,n?`cursor-pointer pointer-hover:hover:bg-accent`:`cursor-not-allowed opacity-60`),children:[(0,Q.jsx)(`input`,{type:`radio`,name:a,value:e.login,checked:r===e.login,disabled:!n,onChange:()=>i(e.login),className:`sr-only`}),e.avatarUrl?(0,Q.jsx)(`img`,{src:e.avatarUrl,alt:``,className:`size-8 shrink-0 rounded-full object-cover`}):(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`grid size-8 shrink-0 place-items-center rounded-full bg-muted text-xs font-medium uppercase`,children:e.login.slice(0,1)}),(0,Q.jsxs)(`span`,{className:`grid min-w-0`,children:[(0,Q.jsx)(`span`,{className:`truncate text-[13px] font-medium`,children:e.login}),(0,Q.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:e.personal?`Personal account`:e.description??`Organization`})]})]},e.login)):(0,Q.jsxs)(`p`,{"data-slot":`create-project-github-unavailable`,className:`rounded-md border border-border bg-muted p-3 text-xs text-muted-foreground break-words`,children:[t,`. Local projects still work.`]})]})}var aM=e=>e.available?`success`:`danger`,oM=e=>e.available?`Installed`:`Not installed`,sM=e=>e.available?null:e.hint??null,cM=`/settings/agents`,lM=`inline-flex items-center rounded-sm text-xs font-medium text-foreground hover:underline focus-visible:underline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring max-md:min-h-11 no-hover:min-h-11`;function uM({health:e,projects:t,repository:n,onAction:r}){return e.data?.capabilities.singleProject===!0?null:(0,Q.jsxs)(`section`,{className:`space-y-4 rounded-xl border border-border bg-card p-6 max-md:p-4`,"aria-labelledby":`add-project-heading`,children:[(0,Q.jsx)(`h2`,{id:`add-project-heading`,className:`text-lg font-normal leading-[1.5]`,children:`Add project`}),(0,Q.jsx)(`p`,{className:`text-[13px] leading-[1.5] text-muted-foreground`,children:`Start a new repository, open an existing local folder, or clone a GitHub repository.`}),(0,Q.jsxs)(`dl`,{className:`space-y-4 text-[13px] leading-[1.5] text-muted-foreground`,children:[e.data?.repoRoot?(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-x-3`,children:[(0,Q.jsx)(`dt`,{children:`Local folder`}),(0,Q.jsx)(`dd`,{className:`min-w-0 break-all`,children:e.data.repo?.root??e.data.repoRoot})]}):null,n?(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-x-3`,children:[(0,Q.jsx)(`dt`,{children:`Repository`}),(0,Q.jsx)(`dd`,{className:`min-w-0 break-all`,children:n.replace(/^https:\/\//,``)})]}):null,t.data?.projectsDir?(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-x-3`,children:[(0,Q.jsx)(`dt`,{children:`Checkout folder`}),(0,Q.jsx)(`dd`,{className:`min-w-0 break-all`,children:t.data.projectsDir})]}):null]}),(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,Q.jsx)(D,{variant:`outline`,className:`h-10 rounded-lg px-[15px] text-xs font-normal leading-[18px]`,"data-action":`new-project`,onClick:()=>r(`new`),children:`New project`}),(0,Q.jsx)(D,{variant:`outline`,className:`h-10 rounded-lg px-[15px] text-xs font-normal leading-[18px]`,onClick:()=>r(`local`),children:`Open local folder`}),(0,Q.jsx)(D,{variant:`outline`,className:`h-10 rounded-lg px-[15px] text-xs font-normal leading-[18px]`,onClick:()=>r(`clone`),children:`Clone from GitHub`})]})]})}function dM({health:e,copying:t,onCopy:n}){return(0,Q.jsxs)(`section`,{className:`space-y-4 rounded-xl border border-border bg-card p-6 max-md:p-4`,"aria-labelledby":`tools-heading`,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-3`,children:[(0,Q.jsx)(`h2`,{id:`tools-heading`,className:`text-lg font-normal leading-[1.5]`,children:`Tools diagnostics`}),(0,Q.jsx)(Y,{to:cM,"data-slot":`tools-settings`,className:lM,children:`Tool settings ›`})]}),(0,Q.jsx)(`p`,{className:`text-[13px] leading-[1.5] text-muted-foreground`,children:`Check the tools available to this local workspace.`}),e.isError?(0,Q.jsx)(`p`,{role:`alert`,className:`text-sm text-destructive`,children:`Could not refresh tool diagnostics. Recheck to retry.`}):null,!e.data&&!e.isError?(0,Q.jsx)(`p`,{role:`status`,className:`text-sm text-muted-foreground`,children:`Checking installed tools…`}):null,e.data?(0,Q.jsx)(`dl`,{className:`space-y-4 text-[13px] leading-[1.5] text-muted-foreground`,children:e.data.checks.map(e=>{let t=sM(e);return(0,Q.jsxs)(`div`,{"data-slot":`tool-row`,"data-tool":e.name,"data-available":e.available,className:`flex flex-wrap items-center gap-x-4 gap-y-1`,children:[(0,Q.jsxs)(`dt`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(vb,{tone:aM(e)}),(0,Q.jsx)(`span`,{className:`font-mono text-[13px] font-medium text-foreground`,children:e.name})]}),(0,Q.jsxs)(`dd`,{className:`flex min-w-0 flex-1 items-center gap-x-3 text-muted-foreground`,children:[(0,Q.jsxs)(`span`,{className:`min-w-0 break-words`,children:[oM(e),e.version?` · ${e.version}`:``]}),e.available?null:(0,Q.jsx)(Y,{to:cM,"data-slot":`tool-setup`,className:`${lM} ml-auto`,children:`Set up ›`})]}),t?(0,Q.jsx)(`dd`,{"data-slot":`tool-hint`,className:`basis-full min-w-0 break-words pl-[15px] text-xs leading-snug text-muted-foreground`,children:t}):null]},e.name)})}):null,e.data?.checks.length===0?(0,Q.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No tool diagnostics reported by this server.`}):null,(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-3`,children:[(0,Q.jsx)(D,{variant:`outline`,className:`h-10 rounded-lg px-[15px] text-xs font-normal leading-[18px]`,disabled:e.isFetching,onClick:()=>void e.refetch(),children:e.isFetching?`Checking tools…`:`Recheck tools`}),(0,Q.jsx)(D,{variant:`outline`,className:`h-10 rounded-lg px-[15px] text-xs font-normal leading-[18px]`,disabled:!e.data||t,onClick:()=>void n(),children:t?`Copying…`:`Copy diagnostics`})]})]})}function fM(){let e=U(),t=yn(),n=ur(e.data?.repo?.remote),[r,i]=(0,Z.useState)(null),[a,o]=(0,Z.useState)(!1);return(0,Q.jsxs)(`div`,{"data-route":`workspace-tools`,className:`w-full space-y-[22px] px-9 py-9 max-md:px-[18px] max-md:py-6`,children:[(0,Q.jsx)(`h1`,{className:`text-[28px] font-normal leading-[1.5] max-md:text-[24px]`,children:`Workspace tools`}),(0,Q.jsx)(uM,{health:e,projects:t,repository:n,onAction:i}),(0,Q.jsx)(dM,{health:e,copying:a,onCopy:async()=>{if(!(!e.data||a)){o(!0);try{await navigator.clipboard.writeText(JSON.stringify({version:e.data.version,checks:e.data.checks},null,2)),K(`Diagnostics copied`)}catch{K(`Could not copy diagnostics. Please try again.`,{tone:`danger`})}finally{o(!1)}}}}),r===`new`?(0,Q.jsx)(nM,{open:!0,onOpenChange:e=>{e||i(null)}}):null,r===`local`?(0,Q.jsx)(LS,{open:!0,onOpenChange:e=>{e||i(null)}}):null,r===`clone`?(0,Q.jsx)(Bj,{open:!0,onOpenChange:e=>{e||i(null)}}):null]})}var pM=(0,Z.lazy)(()=>xi(()=>import(`./task-thread-BZX863UN.js`).then(e=>({default:e.TaskThreadRoute})),__vite__mapDeps([31,1,2,3,4,21,5,6,20,22,23,24,7,32,9,8,10,12,33,28,11,34,17,15,35,36,18,27,29,30,37,38,39,16,26,40,41,42,43]))),mM=(0,Z.lazy)(()=>xi(()=>import(`./task-changes-USNHNm_T.js`).then(e=>({default:e.TaskChangesRoute})),__vite__mapDeps([44,1,2,3,4,5,6,20,21,22,23,24,7,10,33,28,9,34,8,32,12,11,17,15,35,36,18,27,29,30,37,38,45,46,39,26,47,48,49,41]))),hM=(0,Z.lazy)(()=>xi(()=>import(`./task-files-wTWwLR39.js`).then(e=>({default:e.TaskFilesRoute})),__vite__mapDeps([50,1,2,3,4,5,6,20,21,22,23,24,7,10,12,34,8,9,28,32,33,11,17,15,35,36,18,27,29,30,37,38,25,26]))),gM=(0,Z.lazy)(async()=>{let{TaskReportRoute:e}=await xi(async()=>{let{TaskReportRoute:e}=await import(`./report-reader-CZjYS5Aw.js`);return{TaskReportRoute:e}},__vite__mapDeps([19,1,2,3,4,5,6,20,21,22,23,24,7,10,25,12,26,27,28,9,29,30]));return{default:e}}),_M=(0,Z.lazy)(()=>xi(()=>import(`./task-commits-kHqlOJe_.js`).then(e=>({default:e.TaskCommitsRoute})),__vite__mapDeps([51,1,2,3,4,5,6,20,21,22,23,24,7,10,34,8,9,28,32,12,33,11,17,15,35,36,18,27,29,30,37,38,26,52,46,39,48,49,41]))),vM=(0,Z.lazy)(()=>xi(()=>import(`./task-github-item-GzaQjkF1.js`).then(e=>({default:e.TaskGithubItemRoute})),__vite__mapDeps([53,2,1,3,4,5,6,20,21,22,23,24,7,32,9,8,10,12,34,28,33,11,17,15,35,36,18,27,29,30,37,38,26,54,55,40,56,57,39,48,49,41,58]))),yM=(0,Z.lazy)(()=>xi(()=>import(`./repo-git-XkyTfP9G.js`).then(e=>({default:e.RepoGitRoute})),__vite__mapDeps([59,1,2,3,4,5,6,20,21,22,23,24,7,8,9,10,28,11,12,60,46,39,45,32,15,36,18,26,47,48,49,41,52,61]))),bM=(0,Z.lazy)(()=>xi(()=>import(`./github-UaBp2yRF.js`).then(e=>({default:e.GithubRoute})),__vite__mapDeps([62,1,2,3,4,21,5,6,20,22,23,24,7,55,9,8,10,32,12,33,28,18,40,56,27,29,30,57,11,60,26,54,39,35,48,49,41,37,58]))),xM=(0,Z.lazy)(()=>xi(()=>import(`./reports-D_2sFE1y.js`).then(e=>({default:e.ReportsRoute})),__vite__mapDeps([63,1,2,3,4,5,6,22,24,18,42,64]))),SM=(0,Z.lazy)(()=>xi(()=>import(`./workflows-D871Gx--.js`).then(e=>({default:e.WorkflowsRoute})),__vite__mapDeps([65,1,2,3,4,5,6,20,21,22,23,24,7,8,9,10,28,33,26,56,66,67,57]))),CM=(0,Z.lazy)(()=>xi(()=>import(`./activity-route-D8otXwOA.js`).then(e=>({default:e.ProjectActivityRoute})),__vite__mapDeps([68,1,2,3,4,13,12,69,21,5,6,23,24,14,39,35,18,70]))),wM=(0,Z.lazy)(()=>xi(()=>import(`./global-activity-route-B2N2Nz0H.js`).then(e=>({default:e.GlobalActivityRoute})),__vite__mapDeps([71,1,2,3,4,20,21,5,6,22,23,24,7,69,12,14,39,35,18,70]))),TM=(0,Z.lazy)(()=>xi(()=>import(`./skills-BkXe4p4q.js`).then(e=>({default:e.SkillsRoute})),__vite__mapDeps([72,1,2,3,4,5,6,20,21,22,23,24,7,55,9,8,10,32,12,33,28,18,40,56,27,29,30,57,26,67])));function EM(){let e=t();return(0,Q.jsx)(Fs,{to:{pathname:`/skills`,search:e.search,hash:e.hash},replace:!0})}function DM({sectionId:e}){let n=t();return(0,Q.jsx)(_,{to:{pathname:Ew(`global`,e),search:n.search,hash:n.hash},replace:!0})}function OM(){return(0,Q.jsx)(`div`,{"data-route":`scope-resolving`,className:`flex min-h-full flex-col`,children:(0,Q.jsx)(`p`,{className:`px-4 py-6 text-center text-xs text-soft-foreground`,children:`Loading…`})})}function kM(){let{projectId:e=``}=r(),n=t(),i=yn(),a=U();if(e==="default"){let e=i.data?.bootProject??(i.isError?a.data?.bootProject:void 0);if(e!==void 0){let t=n.pathname.replace(/^\/p\/default(?=\/|$)/,``);return(0,Q.jsx)(_,{to:`/p/${encodeURIComponent(e)}${t||`/`}${n.search}${n.hash}`,replace:!0})}if(!i.isError)return(0,Q.jsx)(OM,{})}if(i.data){if(!(i.data.bootProject===e||i.data.projects.some(t=>t.id===e)))return(0,Q.jsx)(oy,{projectId:e,registry:i.data})}else if(!i.isError)return(0,Q.jsx)(OM,{});return(0,Q.jsx)(xt,{projectId:i.data?.bootProject===e?null:e,children:(0,Q.jsx)(g,{},e)})}function AM(){let{projectId:e=``}=r();return(0,Q.jsx)(Wv,{},e)}var jM=/^\/tasks\/([0-9a-f-]{36})(?=\/|$)/i;function MM(e,t){let n=e.data?.bootProject??t.data?.bootProject;return{resolved:n,settled:(e.data!==void 0||e.isError)&&(t.data!==void 0||t.isError),boot:n??`default`}}function NM(e,t,n){if(!(e.pathname===`/`&&e.search===``&&e.hash===``))return;if(t.data===void 0&&!t.isError)return(0,Q.jsx)(OM,{});let r=Eh(gh(),t.data,n);if(r!==null)return(0,Q.jsx)(_,{to:r,replace:!0})}function PM(e,t,n,r,i,a){if(!n)return null;let o=i.data?.runs.find(t=>t.id===e)?.projectId;return o===void 0?r?a.data===void 0&&!a.isError?null:a.data?.runs.find(t=>t.id===e)?.projectId??t:t:o}function FM(e,t){let n=t.pathname===`/p`||t.pathname===`/p/`?`/`:t.pathname;return(0,Q.jsx)(_,{to:`/p/${encodeURIComponent(e)}${n}${t.search}${t.hash}`,replace:!0})}function IM(){let e=t(),n=U(),r=yn(),i=jM.exec(e.pathname)?.[1]??null,a=Dn(i!==null),o=a.data!==void 0||a.isError,s=a.data!==void 0&&!a.data.runs.some(e=>e.id===i),c=Xn(i!==null&&s?i:``),{resolved:l,settled:u,boot:d}=MM(n,r);if(l===void 0&&!u)return(0,Q.jsx)(OM,{});let f=NM(e,r,l);if(f!==void 0)return f;let p=d;if(i!==null){let e=PM(i,d,o,s,a,c);if(e===null)return(0,Q.jsx)(OM,{});p=e}return FM(p,e)}var LM=[{pattern:`/`,pageLabel:`Tasks`},{pattern:`/tasks`,pageLabel:`All tasks`},{pattern:`/tools`,pageLabel:`Workspace tools`},{pattern:`/new`,pageLabel:`New task`},{pattern:`/activity`,pageLabel:`Activity`},{pattern:`/git/*`,pageLabel:`Git`},{pattern:`/github/*`,pageLabel:`GitHub`},{pattern:`/automations/*`,pageLabel:`Automations`},{pattern:`/skills`,pageLabel:`Skills`},{pattern:`/inbox`,pageLabel:`Inbox`},{pattern:`/reports`,pageLabel:`Reports`},{pattern:`/workflows/*`,pageLabel:`Workflows`},{pattern:`/settings/*`,pageLabel:`Settings`}];function RM(e){let t=Ps(e),n=p({path:`/tasks/:id/*`,end:!0},t);return n?{pageLabel:null,taskId:n.params.id??null}:{pageLabel:LM.find(({pattern:e})=>p({path:e,end:!0},t))?.pageLabel??null,taskId:null}}function zM(e){return(0,Q.jsxs)(d,{path:`/p/:projectId`,element:(0,Q.jsx)(kM,{}),children:[(0,Q.jsx)(d,{index:!0,element:(0,Q.jsx)(nO,{})}),(0,Q.jsx)(d,{path:`new`,element:(0,Q.jsx)(AM,{})}),(0,Q.jsx)(d,{path:`activity`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(Nh,{}),children:(0,Q.jsx)(CM,{})})}),(0,Q.jsxs)(d,{path:`tasks/:id`,element:(0,Q.jsx)(fb,{}),children:[(0,Q.jsx)(d,{index:!0,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(fy,{}),children:(0,Q.jsx)(pM,{})})}),(0,Q.jsx)(d,{path:`changes`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(cy,{tab:`changes`}),children:(0,Q.jsx)(mM,{})})}),(0,Q.jsx)(d,{path:`files`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(cy,{tab:`files`}),children:(0,Q.jsx)(hM,{})})}),(0,Q.jsx)(d,{path:`report`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(`div`,{"data-route":`task-report`,children:(0,Q.jsx)(`h1`,{className:`p-4 text-sm text-soft-foreground`,children:`Loading report…`})}),children:(0,Q.jsx)(gM,{})})}),(0,Q.jsx)(d,{path:`commits`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(cy,{tab:`changes`}),children:(0,Q.jsx)(_M,{})})}),(0,Q.jsx)(d,{path:`commits/:sha`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(cy,{tab:`changes`}),children:(0,Q.jsx)(_M,{})})}),(0,Q.jsx)(d,{path:`issue/:n`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(dy,{kind:`issue`}),children:(0,Q.jsx)(vM,{kind:`issue`})})}),(0,Q.jsx)(d,{path:`pr/:n`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(dy,{kind:`pr`}),children:(0,Q.jsx)(vM,{kind:`pr`})})})]}),(0,Q.jsx)(d,{path:`compare/:groupId`,element:(0,Q.jsx)(Fs,{to:`/`,replace:!0})}),(0,Q.jsx)(d,{path:`git`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(iy,{}),children:(0,Q.jsx)(yM,{section:`main`,index:!0})})}),(0,Q.jsx)(d,{path:`git/commits`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(iy,{}),children:(0,Q.jsx)(yM,{section:`main`})})}),(0,Q.jsx)(d,{path:`git/commits/:sha`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(iy,{}),children:(0,Q.jsx)(yM,{section:`main`})})}),(0,Q.jsx)(d,{path:`git/not-landed`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(iy,{}),children:(0,Q.jsx)(yM,{section:`not-landed`})})}),(0,Q.jsx)(d,{path:`git/cleanup`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(iy,{}),children:(0,Q.jsx)(yM,{section:`cleanup`})})}),(0,Q.jsx)(d,{path:`git/branches`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(iy,{}),children:(0,Q.jsx)(yM,{section:`branches`})})}),(0,Q.jsx)(d,{path:`git/changes`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(iy,{}),children:(0,Q.jsx)(yM,{section:`changes`})})}),(0,Q.jsx)(d,{path:`github`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(Ph,{}),children:(0,Q.jsx)(bM,{view:`issues`,index:!0})})}),(0,Q.jsx)(d,{path:`github/prs`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(Ph,{}),children:(0,Q.jsx)(bM,{view:`prs`})})}),(0,Q.jsx)(d,{path:`github/issues/:n`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(Ph,{}),children:(0,Q.jsx)(bM,{view:`issues`})})}),(0,Q.jsx)(d,{path:`github/prs/:n`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(Ph,{}),children:(0,Q.jsx)(bM,{view:`prs`})})}),(0,Q.jsx)(d,{path:`github/prs/:n/changes`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(Ph,{}),children:(0,Q.jsx)(bM,{view:`prs`,changes:!0})})}),(0,Q.jsx)(d,{path:`automations`,element:(0,Q.jsx)(Lj,{})}),(0,Q.jsx)(d,{path:`automations/new`,element:(0,Q.jsx)(Lj,{mode:`new`})}),(0,Q.jsx)(d,{path:`automations/:automationId`,element:(0,Q.jsx)(Lj,{mode:`edit`})}),(0,Q.jsx)(d,{path:`automations/:automationId/log`,element:(0,Q.jsx)(Lj,{mode:`log`})}),(0,Q.jsx)(d,{path:`skills`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(ay,{}),children:(0,Q.jsx)(TM,{})})}),(0,Q.jsx)(d,{path:`inbox`,element:(0,Q.jsx)(Fh,{})}),(0,Q.jsx)(d,{path:`reports`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(`p`,{role:`status`,children:`Loading reports…`}),children:(0,Q.jsx)(xM,{})})}),(0,Q.jsx)(d,{path:`workflows`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(sy,{}),children:(0,Q.jsx)(SM,{})})}),(0,Q.jsx)(d,{path:`workflows/:name`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(sy,{}),children:(0,Q.jsx)(SM,{})})}),(0,Q.jsx)(d,{path:`settings`,element:(0,Q.jsx)(Mw,{capabilities:e})}),(0,Q.jsx)(d,{path:`settings/skills`,element:(0,Q.jsx)(EM,{})}),jC(`project`,e).map(t=>(0,Q.jsx)(d,{path:`settings/${t.id}`,element:(0,Q.jsx)(jw,{section:t,scope:`project`,capabilities:e})},t.id)),jC(`global`,e).map(e=>(0,Q.jsx)(d,{path:`settings/${e.id}`,element:(0,Q.jsx)(DM,{sectionId:e.id})},e.id)),(0,Q.jsx)(d,{path:`*`,element:(0,Q.jsx)(ny,{})})]})}function BM(e,t){let n=j(M(zM(t)),e),r=n?.at(-1);return!n||!r||r.route.path===`*`?null:{pattern:`/${n.slice(1).map(e=>e.route.path).filter(e=>e!==void 0).join(`/`)}`.replace(/\/$/,``)||`/`,params:r.params}}function VM(){let e=U().data?.capabilities;return(0,Q.jsxs)(k,{children:[zM(e),(0,Q.jsx)(d,{path:`/tasks`,element:(0,Q.jsx)(ZO,{})}),(0,Q.jsx)(d,{path:`/tools`,element:(0,Q.jsx)(fM,{})}),(0,Q.jsx)(d,{path:`/activity`,element:(0,Q.jsx)(Z.Suspense,{fallback:(0,Q.jsx)(Nh,{}),children:(0,Q.jsx)(wM,{})})}),(0,Q.jsx)(d,{path:`/settings/global`,element:(0,Q.jsx)(_,{to:Dw,replace:!0})}),(0,Q.jsx)(d,{path:`/settings/global/skills`,element:(0,Q.jsx)(_,{to:`/skills`,replace:!0})}),jC(`global`,e).map(t=>(0,Q.jsx)(d,{path:Ew(`global`,t.id),element:(0,Q.jsx)(jw,{section:t,scope:`global`,capabilities:e})},t.id)),(0,Q.jsx)(d,{path:`*`,element:(0,Q.jsx)(IM,{})})]})}var HM=2500,UM=e=>String(ks(e,`/`));function WM(e,t,n){let r={href:UM(e),verify:!1},i=Mh(e,t,n.registry);if(i===null)return r;try{let e=BM(i.replace(/[?#].*$/,``),n.capabilities);return e===null?r:{href:i,verify:Object.keys(e.params).some(e=>e!==`projectId`)}}catch{return r}}var GM=e=>Xt(In(e.params.id??``,{projectId:e.opts.projectId}),{signal:e.opts.signal});function KM(e){let t=Number(e);return Number.isSafeInteger(t)&&t>=1?t:null}async function qM(e,t,n){let r=await Ht(e,t,{},n.opts);return r.available?r.item!==null:null}var JM=async e=>(await GM(e),!0),YM=async e=>(await GM(e),await Jt(e.params.id??``,e.params.sha??``,e.opts),!0);async function XM(e,t){let n=await GM(e),r=KM(e.params.n);return r===null?!1:vr(n,e.repoBase).some(e=>e.kind===t&&e.number===r)?qM(t,r,e):e.repoBase===void 0&&null}var ZM=async e=>(await Ut(e.params.sha??``,e.opts),!0);async function QM(e,t){let n=KM(e.params.n);return n!==null&&qM(t,n,e)}var $M=[{matches:e=>e===`/tasks/:id/commits/:sha`,check:YM},{matches:e=>e===`/tasks/:id/issue/:n`,check:e=>XM(e,`issue`)},{matches:e=>e===`/tasks/:id/pr/:n`,check:e=>XM(e,`pr`)},{matches:e=>e.startsWith(`/tasks/:id`),check:JM},{matches:e=>e===`/git/commits/:sha`,check:ZM},{matches:e=>e===`/github/issues/:n`,check:e=>QM(e,`issue`)},{matches:e=>e.startsWith(`/github/prs/:n`),check:e=>QM(e,`pr`)},{matches:e=>e===`/workflows/:name`,check:async e=>{let{workflows:t,issues:n}=await ve(e.opts);return t.some(t=>t.name===e.params.name)?!0:n.length>0&&null}},{matches:e=>e.startsWith(`/automations/:automationId`),check:async e=>{let t=await kt(e.opts);return t.available?t.automations.some(t=>t.id===e.params.automationId):null}}];async function eN(e,t,n,r,i){let a=``;try{let o=BM(t,n);if(o===null)return!1;a=o.pattern;let s=$M.find(e=>e.matches(o.pattern));return s===void 0?null:await s.check({projectId:e,pattern:a,params:o.params,repoBase:i,opts:{projectId:e,signal:r}})}catch(e){return!nN(e,a)&&null}}var tN=/unknown revision|bad object|bad revision|unknown commit|not a commit hash|needed a single revision/i;function nN(e,t){return e instanceof ft?e.status===404||(t===`/git/commits/:sha`||t===`/tasks/:id/commits/:sha`)&&e.status===409&&tN.test(e.message):!1}async function rN(e,t,n){let r=WM(e,t,n);if(!r.verify)return r.href;let i=new AbortController,a=setTimeout(()=>i.abort(),HM);try{return await eN(e,r.href.replace(/[?#].*$/,``),n.capabilities,i.signal,n.repoBaseOf?.(e))===!1?UM(e):r.href}finally{clearTimeout(a)}}var iN={key:``,navigate:null,ticket:0};function aN(e,t){e!==iN.key&&iN.ticket++,iN.key=e,iN.navigate=t}function oN(){iN.ticket++}async function sN(e,t,n){let r=++iN.ticket,i=iN.key,a=await rN(e,t,n);r===iN.ticket&&i===iN.key&&iN.navigate?.(a)}function cN(){let e=A(),n=t();Z.useLayoutEffect(()=>{aN(`${n.key}|${n.pathname}${n.search}${n.hash}`,e)},[e,n.key,n.pathname,n.search,n.hash])}function lN(){let e=yn().data,n=U().data,r=n?.capabilities,i=Z.useCallback(t=>e?.projects.find(e=>e.id===t)?.repoUrl??(t===(n?.bootProject??e?.bootProject)?ur(n?.repo?.remote):void 0),[e,n]);cN();let{pathname:a,search:o,hash:s}=t(),c=js(a),l=`${a}${o}${s}`;return{target:Z.useCallback(t=>t===c?{href:l,verify:!1}:WM(t,Ah(t),{registry:e,capabilities:r}),[e,r,c,l]),go:Z.useCallback(async t=>{if(t===c)return oN();await sN(t,Ah(t),{registry:e,capabilities:r,repoBaseOf:i})},[e,r,i,c])}}var uN=[{to:`/`,label:`Tasks`,icon:co,match:[`/`,`/tasks`],badge:`tasks-unread`},{to:`/activity`,label:`Activity`,icon:sm,match:[`/activity`]},{to:`/git`,label:`Git`,icon:Eo,match:[`/git`]},{to:`/github`,label:`GitHub`,icon:no,match:[`/github`],forge:!0},{to:`/automations`,label:`Automations`,icon:wo,match:[`/automations`],automations:!0},{to:`/skills`,label:`Skills`,icon:Lo,match:[`/skills`]},{to:`/workflows`,label:`Workflows`,icon:So,match:[`/workflows`]},{to:`/reports`,label:`Reports`,icon:Pm,match:[`/reports`]},{to:`/settings`,label:`Settings`,icon:bo,match:[`/settings`]}];function dN({forge:e=!1,automations:t=!1}={}){return uN.filter(n=>(!n.forge||e)&&(!n.automations||t))}function fN(e,t){return t===`/`?e===`/`:e===t||e.startsWith(t+`/`)}function pN(e){let t=null;for(let n of uN)for(let r of n.match)fN(e,r)&&(t===null||r.length>t.length)&&(t={to:n.to,length:r.length});return t?.to??null}function mN(e){let t=pN(e);return uN.find(e=>e.to===t)??null}function hN(e){return/^\/tasks\/[^/]+(?:\/|$)/.test(Ps(e))}function gN(e,t){let n=Ps(e);return/^\/git\/?$/.test(n)?new URLSearchParams(t).get(`view`)===`repo`:n.startsWith(`/git/`)}var _N=[`/`,`/activity`,`/github`],vN=[`/git`,`/skills`,`/workflows`,`/reports`,`/settings`,`/automations`],yN={light:`dark`,dark:`system`,system:`light`},bN={light:`light`,dark:`dark`,system:`system`};function xN({className:e,showLabel:t=!1,labelClassName:n}){let{theme:r,setTheme:i}=cS(),a=yN[r],o=ho;return(0,Q.jsxs)(D,{type:`button`,variant:`ghost`,size:`icon-sm`,className:e,"data-slot":`theme-toggle`,"data-theme-pref":r,title:`Theme: ${bN[r]}`,"aria-label":`Theme: ${bN[r]}. Switch to ${bN[a]}.`,onClick:()=>i(a),children:[(0,Q.jsx)(o,{"aria-hidden":`true`}),t?(0,Q.jsxs)(`span`,{className:n,children:[`Theme · `,r.charAt(0).toUpperCase()+r.slice(1)]}):null]})}var SN,CN,wN,TN=new Map,EN=new Map,DN=new Map,ON=new Set,kN=(e,t)=>`${e}\u0000${t}`,AN=()=>ON.forEach(e=>e()),jN=e=>TN.get(kN(e.runId,e.askRequestId));function MN(e){e.kind===`answer`?(CN&&jN(e)?.restore(CN),CN=void 0):EN.get(e.runId)?.clearVoiceDraft(e.text)}function NN(e,t){let n=new Map;for(let r of[...e,...t])n.set(r.question,r);return[...n.values()].sort((e,t)=>e.question-t.question)}function PN(e){let t=SN;if(e.kind===`answer`){let n=jN(e);if(!n)return{ok:!1,reason:`no-card`};if(t?.kind===`answer`&&t.askRequestId===e.askRequestId&&t.runId===e.runId){let r={...e,answers:NN(t.answers,e.answers)};return SN=r,wN=void 0,n.apply(r.answers),AN(),{ok:!0,replaced:t.decisionId}}return t&&MN(t),CN=n.read(),SN=e,wN=void 0,n.apply(e.answers),AN(),t?{ok:!0,replaced:t.decisionId}:{ok:!0}}let n=EN.get(e.runId);if(!n)return{ok:!1,reason:`no-card`};let r=n.getDraft(),i=t?.kind===`tell`&&t.runId===e.runId&&r===t.text;return r.trim()!==``&&!i?{ok:!1,reason:`draft-not-empty`}:n.setDraft(e.text)?(t&&!(t.kind===`tell`&&t.runId===e.runId)&&MN(t),SN=e,wN=void 0,AN(),t?{ok:!0,replaced:t.decisionId}:{ok:!0}):{ok:!1,reason:`busy`}}function FN(){let e=SN;if(!e)return{ok:!1,reason:`no-target`};if(e.kind===`answer`){let t=jN(e);if(!t)return{ok:!1,reason:`no-target`};let n=t.unanswered();if(n.length>0)return{ok:!1,unanswered:n.map(e=>({index:e,header:t.headers[e]??``}))};if(!t.send())return{ok:!1,reason:`busy`};CN=void 0}else{let t=EN.get(e.runId);if(!t)return{ok:!1,reason:`no-target`};if(!t.submit())return{ok:!1,reason:`busy`}}return SN=void 0,AN(),{ok:!0}}function IN(){let e=SN;e&&(MN(e),SN=void 0,AN())}function LN(e){SN=void 0,CN=void 0,wN=e,AN()}var RN=e=>SN?.kind===`answer`&&SN.runId===e?SN:void 0,$={getProposal:()=>SN,propose:PN,confirm:FN,cancel:IN,lastDrop:()=>wN,headersFor:(e,t)=>TN.get(kN(e,t))?.headers,registerAskCard(e){let t=kN(e.runId,e.requestId);return TN.set(t,e),SN?.kind===`answer`&&kN(SN.runId,SN.askRequestId)===t&&e.apply(SN.answers,{reveal:!1}),()=>{TN.get(t)===e&&TN.delete(t)}},syncPendingAsk(e,t){let n=RN(e);n&&n.askRequestId!==t&&LN(`question-closed`);let r=t??null;DN.get(e)!==r&&(DN.set(e,r),AN())},leaveTask(e){RN(e)&&LN(`task-closed`),DN.delete(e)&&AN()},pendingAskFor(e){return DN.get(e)},registerComposer(e){return EN.set(e.runId,e),()=>{EN.get(e.runId)===e&&(EN.delete(e.runId),SN?.kind===`tell`&&SN.runId===e.runId&&(e.clearVoiceDraft(SN.text),LN(`task-closed`)))}},subscribe(e){return ON.add(e),()=>{ON.delete(e)}}};function zN(){return(0,Z.useSyncExternalStore)($.subscribe,$.getProposal,$.getProposal)}function BN(e){let t=()=>e===void 0?void 0:$.pendingAskFor(e);return(0,Z.useSyncExternalStore)($.subscribe,t,t)}var VN=Z.createContext(null);function HN({children:e}){let[t,n]=Z.useState(`active`),r=Z.useMemo(()=>[t,n],[t]);return(0,Q.jsx)(VN.Provider,{value:r,children:e})}function UN(){let e=Z.useContext(VN);if(!e)throw Error(`useListView must be used inside a <ListViewProvider>`);return e}var WN=[`one`,`two`,`three`,`four`,`five`,`six`,`seven`,`eight`,`nine`,`ten`],GN=[`first`,`second`,`third`,`fourth`,`fifth`,`sixth`,`seventh`,`eighth`,`ninth`,`tenth`],KN=RegExp(`^(?:the\\s+)?(?:number\\s+)?(\\d{1,2}|${[...WN,...GN].join(`|`)})(?:\\s+one)?$`);function qN(e,t){let n=KN.exec(e.toLowerCase().trim().replace(/[.!?]$/,``).trim())?.[1];if(n===void 0)return null;let r=/^\d+$/.test(n)?Number(n):Math.max(WN.indexOf(n),GN.indexOf(n))+1;return r>=1&&r<=Math.min(10,t)?r-1:null}var JN={"needs-permission":`needs-permission`,failed:`failed`,"needs-you":null,"needs-review":`needs-review`,running:`running`,"usage-limit":`scheduled`,"waiting-on-workers":`waiting-on-workers`,"waiting-on-subagents":`waiting-on-workers`,"waiting-for-ci":`waiting-for-ci`,"waiting-for-merge":null,"waiting-for-command":null,monitoring:`monitoring`,"waiting-for-capacity":`waiting-for-capacity`,queued:`queued`,done:`done`,cancelled:`cancelled`,unseen:null};function YN(e,t){switch(e){case`needs-you`:return Kr(t,`active`)===`Needs you`;case`working`:return Kr(t,`active`)===`Working`;case`finished`:return Kr(t,`active`)===`Finished`;case`archived`:return t.archived===!0;case`needs-permission`:return xe(t).bucket===`permission`;case`failed`:return xe(t).bucket===`error`;case`needs-review`:case`running`:case`waiting-for-ci`:case`monitoring`:case`waiting-for-capacity`:case`queued`:case`scheduled`:case`waiting-on-workers`:return JN[xe(t).rung]===e;case`done`:case`cancelled`:return t.status===e;case`unread`:return Ln(t)}}function XN(e,t,n){return n===`archived`?Yn(e,`archived`).filter(e=>!gr(e)).slice(0,200).map(e=>({kind:`run`,run:e,queuePosition:null})):jr(En(e,t),`active`).flatMap(e=>e.rows)}var ZN=(e,t)=>YN(t,e.run),QN=(e,t)=>e.run.id===t,$N=e=>e===void 0?{kind:`past-end`}:{kind:`run`,runId:e.run.id};function eP(e){let{runs:t,sidebarView:n,openRunId:r,status:i,position:a}=e,o=XN(t,n,i).filter(e=>ZN(e,i));if(o.length===0)return{kind:`empty`};if(typeof a==`number`)return $N(o[a-1]);if(a===`last`)return $N(o[o.length-1]);let s=nr(r,t),c=s===null?-1:o.findIndex(e=>QN(e,s));return $N(a===`next`?o[c+1]:c===-1?o[o.length-1]:o[c-1])}var tP=[[`/tasks`,`task`],[`/new`,`new-task`],[`/github`,`github`],[`/git`,`git`],[`/automations`,`automations`],[`/inbox`,`inbox`],[`/settings`,`settings`]];function nP(e){for(let[t,n]of tP)if(e===t||e.startsWith(`${t}/`))return n;return`other`}var rP=sn([`needs-you`,`working`,`finished`,`archived`,`needs-review`,`needs-permission`,`failed`,`running`,`waiting-for-ci`,`monitoring`,`waiting-for-capacity`,`queued`,`scheduled`,`waiting-on-workers`,`done`,`cancelled`,`unread`]),iP=gn([sn([`next`,`previous`,`last`]),R().int().min(1).max(10)]),aP=sn([`active`,`automations`]),oP=sn([`task`,`new-task`,`github`,`git`,`automations`,`inbox`,`settings`,`other`]);B({text:z().trim().min(1).max(500),sidebarView:aP,openRunId:un.shape.id.optional(),view:oP.optional(),askRequestId:z().min(1).max(200).nullable().optional(),proposal:B({decisionId:_n(),action:sn([`answer`,`tell`])}).strict().optional()}).strict();var sP=$t(`kind`,[B({question:R().int().min(0).max(3),kind:L(`option`),labels:cn(z()).min(1).max(4)}),B({question:R().int().min(0).max(3),kind:L(`other`),text:z().min(1).max(500)})]),cP=_n(),lP=R().min(0).max(1);$t(`action`,[B({action:L(`open`),decisionId:cP,status:rP,position:iP,confidence:lP,alternatives:cn(B({status:rP,position:iP})).max(3).optional()}),B({action:L(`answer`),decisionId:cP,runId:un.shape.id,askRequestId:z(),answers:cn(sP).min(1).max(4),confidence:lP}),B({action:L(`tell`),decisionId:cP,runId:un.shape.id,text:z().min(1).max(500),confidence:lP}),B({action:L(`confirm`),decisionId:cP}),B({action:L(`cancel`),decisionId:cP}),B({action:L(`none`),decisionId:cP,reason:sn([`not-a-command`,`no-open-task`,`no-open-question`,`unclear`,`ambiguous`,`stale-context`,`unsupported`])})]);var uP=sn([`executed`,`confirmed`,`cancelled`,`replaced`,`abandoned`]);B({decisionId:_n(),outcome:uP}).strict(),B({ok:L(!0)});var dP=[`first`,`second`,`third`,`fourth`,`fifth`,`sixth`,`seventh`,`eighth`,`ninth`,`tenth`];function fP(e){return typeof e==`number`?dP[e-1]??String(e):e}function pP(e){return e.split(`-`).map(e=>e===`ci`?`CI`:e).join(` `)}function mP(e,t,n){return`Open “${e}” — ${fP(n)} ${pP(t)}`}var hP=e=>`No ${pP(e)} tasks.`,gP=(e,t)=>`No ${fP(t)} ${pP(e)} task.`;function _P(e,t,n){return`Answer ${n?`“${n}”: `:``}${vP(e,t).join(`; `)}`}function vP(e,t){return e.map(e=>`${t?.[e.question]||`question ${e.question+1}`}: ${e.kind===`option`?e.labels.join(`, `):e.text}`)}function yP(e,t){return e===`answer`?t?`Answer “${t}”`:`Answer the question`:t?`Send to “${t}”`:`Send to this task`}var bP=(e,t)=>t?`Tell “${t}”: ${e}`:`Tell it: ${e}`,xP=`voice-will-do`,SP=3e3,CP={timedOut:`Voice decision timed out.`,unavailable:`Voice decision unavailable.`,noCard:`This question is not open here.`,draftNotEmpty:`The message box already has text.`,busy:`The task is busy. Try again in a moment.`,noOpenTask:`Open a task first.`,noOpenQuestion:`This task has no open question.`,unclear:`Not sure what to do. Try again.`,questionClosed:`The question was answered or closed elsewhere.`,taskClosed:`The task is no longer open.`,scrollToQuestion:`Scroll to the question, then confirm.`,ambiguous:`Which question? Name it, for example “to question two”.`,staleContext:`The screen changed. Try again.`,unsupported:`Voice cannot do that yet.`},wP={"no-open-task":CP.noOpenTask,"no-open-question":CP.noOpenQuestion,unclear:CP.unclear,ambiguous:CP.ambiguous,"stale-context":CP.staleContext,unsupported:CP.unsupported};function TP(e){return e.trim().split(/\s+/).length>=2}var EP=e=>TP(e)&&e.length<=500,DP=e=>/^(?:no|cancel)$/.test(e.toLowerCase().replace(/[.!?]+$/,``).trim()),OP=(e,t)=>e.text===t.text&&e.projectId===t.projectId&&e.view===t.view&&e.openRunId===t.openRunId&&e.askRequestId===t.askRequestId&&e.proposalId===t.proposalId;function kP(e,t){let n=e=>{let n=t.runs.find(t=>t.id===e.runId);return n?V(n):e.runId},r=(e,n)=>eP({...t,status:e,position:n}),i=r(e.status,e.position),a=[],o=new Set;for(let t of[{status:e.status,position:e.position},...e.alternatives??[]]){let e=r(t.status,t.position);if(e.kind!==`run`)continue;let i=`run:${e.runId}`;o.has(i)||(o.add(i),a.push({target:e,text:mP(n(e),t.status,t.position)}))}return{primary:i,choices:e.alternatives?.length?a:a.slice(0,1)}}function AP(e,t){let n=e.find(e=>e.id===t);return n?V(n):void 0}function jP(e,t){let n=yP(e.kind,AP(t,e.runId));return e.kind===`answer`?{heading:n,lines:vP(e.answers,$.headersFor(e.runId,e.askRequestId))}:{heading:n,lines:[e.text]}}function MP(){document.querySelector(`[cmdk-item]:not([data-slot^="voice-"]):not([data-disabled="true"])`)?.click()}function NP(e,t){return e!==void 0&&e.projectId===t.projectId&&e.view===t.view&&e.openRunId===t.openRunId&&e.sidebarView===t.sidebarView?e:void 0}function PP(e){let{notice:t,choosingLive:n,settled:r,trimmed:i,key:a,pick:o,context:s}=e;if(t&&t.forText===i&&(t.forKey===void 0||OP(t.forKey,a)))return{kind:`notice`,text:t.text};if(n)return{kind:`will-do`,text:`Which one?`,choices:n.choices.map(e=>e.text)};if(r&&OP(r.key,a)&&EP(i))return UP(r.result,r.key,s);if(EP(i)&&o===null)return{kind:`will-do`,text:`Reading…`,pending:!0}}function FP(e,t,n,r){return e&&n===``&&!t?jP(e,r??[]):void 0}function IP(e,t,n){return e?`choosing`:t?`proposal`:EP(n)?`preview`:`idle`}function LP(e,t,n){let{primary:r,choices:i}=kP(e,{runs:n.runs,sidebarView:n.sidebarView,openRunId:n.openRunId});if(i.length>=2){n.setChoosing({decisionId:e.decisionId,choices:i,projectId:t.projectId,view:t.view,openRunId:n.openRunId,sidebarView:n.sidebarView}),n.clearText();return}let a=i[0];return a?n.openTarget(e.decisionId,a.target):n.sayForDecision(r.kind===`empty`?hP(e.status):gP(e.status,e.position))}function RP(e,t){if(e.runId!==t.openRunId)return;let n=$.propose(e.action===`answer`?{kind:`answer`,decisionId:e.decisionId,runId:e.runId,askRequestId:e.askRequestId,answers:e.answers}:{kind:`tell`,decisionId:e.decisionId,runId:e.runId,text:e.text});if(n.ok){n.replaced&&t.report(n.replaced,`replaced`),t.setChoosing(void 0),t.clearText();return}return t.sayForDecision(n.reason===`no-card`?CP.noCard:n.reason===`draft-not-empty`?CP.draftNotEmpty:CP.busy)}function zP(e,t,n){let r=$.getProposal();if(t.key.proposalId===null||r?.decisionId!==t.key.proposalId)return n.sayForDecision(CP.unclear);if(e.action===`confirm`)return n.confirmProposal();$.cancel(),n.report(r.decisionId,`cancelled`),n.clearText()}function BP(e,t){return e.reason===`not-a-command`?MP():t(wP[e.reason])}var VP={row:void 0,confirm:void 0,mode:`idle`,onEnter:()=>!1,onClose:()=>{},onSelect:()=>{},onConfirm:()=>{}};function HP(e){let{enabled:t}=e,n=kn().data,[r]=UN(),i=Ms(`/tasks/:id/*`)?.params.id??null,a=Is(),o=nP(Ls()),s=BN(i??void 0),c=As(),l=zN(),u=e.text.trim(),d=Z.useMemo(()=>({text:u,projectId:a,view:o,openRunId:i,askRequestId:s,proposalId:l?.decisionId??null}),[u,a,o,i,s,l?.decisionId]),[f,p]=Z.useState(),[m,h]=Z.useState(),[g,_]=Z.useState(),v=NP(g,{projectId:a,view:o,openRunId:i,sidebarView:r}),y=v?qN(u,v.choices.length):null,b=v!==void 0&&!(EP(u)&&y===null)?v:void 0,x=Z.useRef({...e,key:d,runs:n??[],sidebarView:r,openRunId:i,navigate:c,settled:f,choosing:b});x.current={...e,key:d,runs:n??[],sidebarView:r,openRunId:i,navigate:c,settled:f,choosing:b};let S=Z.useRef(void 0),C=Z.useRef(void 0),w=Z.useRef(!1),T=Z.useRef(new Set),E=Z.useRef(new Set),D=Z.useCallback((e,t)=>{E.current.has(e)||(E.current.add(e),Ot(e,t))},[]),O=Z.useCallback(e=>h({text:e,forText:x.current.key.text}),[]),k=Z.useCallback(e=>h({text:e,forText:x.current.key.text,forKey:x.current.key}),[]),A=Z.useCallback(e=>{let t=S.current;if(t&&OP(t.key,e)&&!t.failed)return t;t?.controller.abort();let n=new AbortController,r=$.getProposal(),i={key:e,controller:n,failed:!1,result:ht({text:e.text,sidebarView:x.current.sidebarView,view:e.view,...e.openRunId===null?{}:{openRunId:e.openRunId},...e.askRequestId===void 0?{}:{askRequestId:e.askRequestId},...r&&r.decisionId===e.proposalId?{proposal:{decisionId:r.decisionId,action:r.kind}}:{}},n.signal).then(e=>n.signal.aborted?{kind:`aborted`}:{kind:`decision`,decision:e},()=>n.signal.aborted?{kind:`aborted`}:{kind:`failed`})};return i.result.then(t=>{t.kind===`failed`&&(i.failed=!0),t.kind!==`aborted`&&w.current&&S.current===i&&p({key:e,result:t})}),S.current=i,i},[]),j=Z.useCallback((e,t)=>{D(e,`executed`);let n=$.getProposal();n&&($.cancel(),D(n.decisionId,`abandoned`)),_(void 0),x.current.close(),x.current.navigate(`/tasks/${t.runId}`)},[D]),M=Z.useCallback(()=>{let e=$.getProposal();if(!e)return;let t=$.confirm();if(t.ok)D(e.decisionId,`confirmed`),x.current.close();else if(`unanswered`in t){let e=t.unanswered[0];e&&O(`Question ${e.index+1} (${e.header}) still needs an answer.`)}else t.reason===`busy`?O(CP.busy):e.kind===`answer`?O(CP.scrollToQuestion):($.cancel(),D(e.decisionId,`abandoned`),O(CP.taskClosed))},[D,O]),ee=Z.useCallback((e,t)=>{T.current.add(e.decisionId);let{clearText:n,runs:r,sidebarView:i,openRunId:a}=x.current,o={runs:r,sidebarView:i,openRunId:a,setChoosing:_,clearText:n,report:D,sayForDecision:k,openTarget:j,confirmProposal:M};switch(e.action){case`open`:return LP(e,t.key,o);case`answer`:case`tell`:return RP(e,o);case`confirm`:case`cancel`:return zP(e,t,o);case`none`:return BP(e,k)}},[M,j,D,k,_]),N=Z.useCallback(async()=>{let e=x.current.key,t=A(e);if(C.current===t)return;C.current=t;let n,r=new Promise(e=>{n=setTimeout(()=>e(`timeout`),SP)}),i=await Promise.race([t.result,r]);clearTimeout(n);let a=C.current===t;if(a&&(C.current=void 0),!(!a||!w.current)&&OP(x.current.key,e)){if(i===`timeout`)return t.controller.abort(),S.current===t&&(S.current=void 0),k(CP.timedOut),MP();if(i.kind!==`aborted`){if(i.kind===`failed`)return k(CP.unavailable),MP();ee(i.decision,t)}}},[ee,A,k]),te=Z.useCallback(e=>{let t=x.current;if(t.choosing){let n=t.choosing.choices[e];n&&j(t.choosing.decisionId,n.target);return}let n=t.settled;if(!n||!OP(n.key,t.key)||!EP(t.key.text)||n.result.kind!==`decision`||n.result.decision.action!==`open`)return;let{decision:r}=n.result,i=kP(r,t).choices[e];i&&(T.current.add(r.decisionId),j(r.decisionId,i.target))},[j]),{selected:ne}=e;Z.useEffect(()=>{ne!==`voice-will-do`&&(C.current=void 0)},[ne]),Z.useEffect(()=>{let e=S.current;if(e&&!OP(e.key,d)&&(e.controller.abort(),S.current=void 0),!t||!EP(d.text)||y!==null||S.current)return;let n=setTimeout(()=>A(d),300);return()=>clearTimeout(n)},[t,d,y,A]);let re=g!==void 0&&b===void 0;Z.useEffect(()=>{h(e=>e&&e.forText!==u?void 0:e)},[u]),Z.useEffect(()=>{re&&_(void 0)},[re]),Z.useEffect(()=>{let e=$.getProposal();return $.subscribe(()=>{let t=$.getProposal(),n=$.lastDrop();e&&!t&&n&&x.current.enabled&&(D(e.decisionId,`abandoned`),O(n===`question-closed`?CP.questionClosed:CP.taskClosed)),e=t})},[D,O]);let P=Z.useCallback(()=>{let e=x.current;if(!e.enabled)return;S.current?.controller.abort();let t=$.getProposal();t&&($.cancel(),D(t.decisionId,`cancelled`));let n=e.settled;if(n&&OP(n.key,e.key)&&n.result.kind===`decision`){let{decision:e}=n.result;e.action!==`none`&&!T.current.has(e.decisionId)&&D(e.decisionId,`abandoned`)}e.choosing&&D(e.choosing.decisionId,`abandoned`)},[D]);Z.useEffect(()=>(w.current=!0,()=>{w.current=!1,P()}),[P]);let F=Z.useCallback(e=>{let t=x.current;if(!t.enabled)return!1;let n=t.key.text,r=()=>(e.preventDefault(),!0);if(e.repeat)return EP(n)||$.getProposal()?r():!1;if(t.choosing){let e=qN(n,t.choosing.choices.length);if(e!==null)return te(e),r()}let i=$.getProposal();return i&&DP(n)?($.cancel(),D(i.decisionId,`cancelled`),t.clearText(),r()):n===``&&i&&!t.choosing?(M(),r()):EP(n)&&t.selected===`voice-will-do`?(N(),r()):!1},[te,N,M,D]),ie=Z.useCallback(e=>{if(e!==void 0)return te(e);EP(x.current.key.text)&&N()},[te,N]);return t?{row:PP({notice:m,choosingLive:b,settled:f,trimmed:u,key:d,pick:y,context:{runs:n??[],sidebarView:r,openRunId:i}}),confirm:FP(l,b,u,n),mode:IP(b,l,u),onEnter:F,onClose:P,onSelect:ie,onConfirm:M}:VP}function UP(e,t,n){if(e.kind===`aborted`)return;if(e.kind===`failed`)return{kind:`notice`,text:CP.unavailable};let{decision:r}=e;switch(r.action){case`open`:{let{primary:e,choices:t}=kP(r,n);if(t.length>=2)return{kind:`will-do`,text:`Which one?`,choices:t.map(e=>e.text)};let i=t[0];return i?{kind:`will-do`,text:i.text}:{kind:`notice`,text:e.kind===`empty`?hP(r.status):gP(r.status,r.position)}}case`answer`:return r.runId===n.openRunId?{kind:`will-do`,text:_P(r.answers,$.headersFor(r.runId,r.askRequestId),AP(n.runs,r.runId))}:void 0;case`tell`:return r.runId===n.openRunId?{kind:`will-do`,text:bP(r.text,AP(n.runs,r.runId))}:void 0;case`confirm`:case`cancel`:return t.proposalId===null?{kind:`notice`,text:CP.unclear}:{kind:`will-do`,text:r.action===`confirm`?`Send it`:`Drop it`};case`none`:return r.reason===`not-a-command`?void 0:{kind:`notice`,text:wP[r.reason]}}}function WP({row:e,committable:t,onSelect:n}){return e?(0,Q.jsxs)(uc,{forceMount:!0,"data-slot":`voice-rows`,children:[(0,Q.jsxs)(lc,{forceMount:!0,value:xP,"data-slot":`voice-row`,"data-voice-kind":e.kind,disabled:e.kind===`notice`||e.choices!==void 0||!t,onSelect:()=>n(),className:`data-[disabled=true]:opacity-100`,children:[e.kind===`will-do`?(0,Q.jsx)(`span`,{className:`shrink-0 text-xs text-soft-foreground`,children:`Will do`}):null,(0,Q.jsx)(`span`,{role:e.kind===`notice`?`status`:void 0,className:e.pending?`min-w-0 flex-1 truncate text-muted-foreground`:`min-w-0 flex-1 truncate`,children:e.text})]}),e.choices?.map((e,t)=>(0,Q.jsxs)(lc,{forceMount:!0,value:`voice-choice-${t+1}`,"data-slot":`voice-choice`,onSelect:()=>n(t),children:[(0,Q.jsx)(`span`,{className:`w-4 shrink-0 text-center text-xs text-soft-foreground tabular-nums`,children:t+1}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e})]},t))]}):null}var GP=`Say “yes, confirmed” or press Return to send…`;function KP({confirm:e,notice:t,onConfirm:n}){return(0,Q.jsxs)(uc,{forceMount:!0,"data-slot":`voice-confirm-panel`,children:[t?(0,Q.jsx)(`p`,{role:`status`,className:`px-2 py-1.5 text-sm text-foreground`,children:t}):null,(0,Q.jsxs)(lc,{forceMount:!0,value:`voice-confirm`,"data-slot":`voice-confirm`,onSelect:n,className:`flex-col items-start gap-1`,children:[(0,Q.jsx)(`span`,{className:`text-xs text-soft-foreground`,children:e.heading}),e.lines.map((e,t)=>(0,Q.jsx)(`span`,{className:`w-full whitespace-pre-wrap break-words`,children:e},t))]}),(0,Q.jsxs)(`div`,{"data-slot":`voice-confirm-hints`,className:`flex gap-4 px-2 pt-2 pb-1 text-xs text-muted-foreground`,children:[(0,Q.jsxs)(`span`,{children:[(0,Q.jsx)(`kbd`,{className:`font-sans text-soft-foreground`,children:`↵`}),` Send`]}),(0,Q.jsxs)(`span`,{children:[(0,Q.jsx)(`kbd`,{className:`font-sans text-soft-foreground`,children:`Esc`}),` Cancel`]})]})]})}var qP=`cezar:open-command-palette`;function JP(){window.dispatchEvent(new Event(qP))}function YP(e){return[...e].sort((e,t)=>Date.parse(t.createdAt)-Date.parse(e.createdAt))}function XP(e,t,n){let r=t.trim().toLowerCase();if(r===``)return 1;let i=(n?.length?`${e} ${n.join(` `)}`:e).toLowerCase(),a=r.split(/\s+/),o=0;for(let e of a){let t=i.indexOf(e);if(t===-1)return 0;let n=t===0||!/[a-z0-9]/.test(i[t-1]??``);o+=(n?1:.5)/(1+t/48)}return o/a.length}function ZP(e,t){if(t.trim()===``)return e;let n=e=>e.rows.reduce((e,n)=>Math.max(e,XP(n.value,t,n.keywords)),0);return e.map(e=>({group:e,score:n(e)})).sort((e,t)=>t.score-e.score).map(({group:e})=>e)}function QP(e,t){return{value:`task ${V(e)} ${e.id}`,keywords:[...t?[t]:[],...aF(e),...[e.branch,e.workflow,e.workflowLabel,e.pullRequestUrl,e.referencedPullRequestUrl,e.referencedIssueUrl].filter(e=>!!e)]}}var $P=e=>({value:`view ${e}`}),eF=e=>({value:`project ${e.name} ${e.id}`,keywords:[e.root]}),tF=e=>({value:`skill ${e.name} ${e.path}`,...x({keywords:e.description?[e.description]:void 0})}),nF={value:`action toggle theme`},rF=150;function iF(e,t,n,r=[]){let i=YP(e.filter(e=>!gr(e))).map(e=>({...e,projectId:t})),a=new Set(i.map(oF)),o=[...n??[],...r].filter(e=>gr(e)||a.has(oF(e))?!1:(a.add(oF(e)),!0)).sort((e,t)=>t.createdAt.localeCompare(e.createdAt));return[...i,...o]}function aF(e){let t=new Set;for(let n of[e.pullRequestUrl,e.referencedPullRequestUrl,e.referencedIssueUrl]){let e=n?/\/(\d+)\/?$/.exec(n):null;e&&t.add(Number(e[1]))}for(let n of[e.prNumber,e.issueNumber,e.markerRefs?.pr,e.markerRefs?.issue])typeof n==`number`&&Number.isInteger(n)&&n>0&&t.add(n);return[...t].flatMap(e=>[String(e),`#${e}`])}var oF=e=>`${e.projectId??``}/${e.id}`;function sF(e){let t=e.filter(e=>Ln(e)).sort((e,t)=>(t.finishedAt??``).localeCompare(e.finishedAt??``)),n=new Set(t.map(oF));return{recentlyFinished:t,otherTasks:e.filter(e=>!n.has(oF(e)))}}function cF(e,t,n=[]){let r=dS(e,n);return[...r.filter(e=>e.id!==t),...r.filter(e=>e.id===t)]}function lF(){let[e,t]=Z.useState(!1),[n,r]=Z.useState(``);Z.useEffect(()=>{e||r(``)},[e]);let i=As();zh(`k`,()=>t(e=>!e));let a=Z.useCallback(()=>{t(!1),i(`/new`)},[i]);zh(`n`,a),Hh(`c`,a),Z.useEffect(()=>{let e=()=>t(!0);return window.addEventListener(qP,e),()=>window.removeEventListener(qP,e)},[]);let o=zN(),s=e&&o!==void 0;return(0,Q.jsx)(Hs,{open:e,onOpenChange:t,title:`Command palette`,description:`Search projects, tasks, views, actions, and skills`,showCloseButton:!1,filter:XP,value:n,onValueChange:r,className:`${s?o?.kind===`tell`?`top-[2vh]`:`top-auto bottom-[2vh]`:`top-[10vh]`} translate-y-0 sm:max-w-2xl lg:max-w-3xl xl:max-w-4xl`,overlayClassName:s?`bg-transparent`:void 0,contentProps:s?{"data-voice-proposal":`true`}:void 0,children:(0,Q.jsx)(gF,{open:e,docked:s,selected:n,close:()=>t(!1)})})}function uF({task:e,projectName:t,showProject:n,now:r,onSelect:i}){let a=xe(e),o=V(e);return(0,Q.jsxs)(lc,{...QP(e,t),"data-slot":`palette-task`,"data-run-id":e.id,"data-project-id":e.projectId??void 0,onSelect:()=>i(e),children:[(0,Q.jsx)(vb,{tone:a.tone,shape:a.shape,pulse:a.pulse,"aria-label":a.label,role:`img`}),e.delegation?.role===`worker`?(0,Q.jsx)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:`Worker`}):null,(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:o}),n&&t?(0,Q.jsx)(`span`,{"data-slot":`palette-task-project`,className:`shrink-0 truncate text-xs text-soft-foreground`,children:t}):null,(0,Q.jsx)(`span`,{className:`shrink-0 text-xs text-soft-foreground tabular-nums`,children:ts(e.finishedAt??e.createdAt,r)})]})}function dF({multiProject:e,health:t}){return[...e?[{label:`All tasks`,to:`/tasks`,icon:Ya,global:!0}]:[],...dN({forge:t.data?.forge?.available===!0,automations:t.data?.capabilities.automations===!0}).map(e=>({label:e.label,to:e.to,icon:e.icon,global:!1}))]}function fF({views:e,go:t,goGlobal:n,orderedProjects:r,activeProjectId:i,goProject:a,otherTasks:o,searching:s,taskProjectName:c,showProjectOnTasks:l,now:u,selectTask:d,orderedSkills:f,theme:p,nextTheme:m,setTheme:h,close:g}){let _=[{rows:e.map(e=>$P(e.label)),node:(0,Q.jsx)(uc,{heading:`Views`,children:e.map(e=>{let r=e.icon;return(0,Q.jsxs)(lc,{...$P(e.label),"data-slot":`palette-view`,"data-nav-to":e.to,onSelect:()=>e.global?n(e.to):t(e.to),children:[(0,Q.jsx)(r,{"aria-hidden":`true`}),e.label]},e.to)})},`views`)}];return r.length>0&&_.push({rows:r.map(eF),node:(0,Q.jsx)(uc,{heading:`Projects`,children:r.map(e=>{let t=e.id===i,n=e.status===`missing`;return(0,Q.jsxs)(lc,{...eF(e),"data-slot":`palette-project`,"data-project-id":e.id,disabled:n,onSelect:()=>a(e.id),children:[(0,Q.jsx)(Xa,{"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),n?(0,Q.jsx)(`span`,{className:`shrink-0 text-xs text-soft-foreground`,children:`folder not found`}):e.branch===void 0?null:(0,Q.jsx)(`span`,{className:`shrink-0 font-mono text-xs text-soft-foreground`,children:e.branch}),t?(0,Q.jsx)(Oo,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-link-foreground`}):null]},e.id)})},`projects`)}),o.length>0&&_.push({rows:s?o.map(e=>QP(e,c(e))):[],node:(0,Q.jsx)(uc,{heading:`Tasks`,children:o.map(e=>(0,Q.jsx)(uF,{task:e,projectName:c(e),showProject:l,now:u,onSelect:d},oF(e)))},`tasks`)}),_.push({rows:[nF],node:(0,Q.jsx)(uc,{heading:`Actions`,children:(0,Q.jsxs)(lc,{...nF,"data-slot":`palette-action`,"data-action":`toggle-theme`,onSelect:()=>{h(m),g()},children:[(0,Q.jsx)(ho,{"aria-hidden":`true`}),`Toggle theme`,(0,Q.jsxs)(Xs,{className:`tracking-normal`,children:[p,` → `,m]})]})},`actions`)}),f.length>0&&_.push({rows:f.map(tF),node:(0,Q.jsx)(uc,{heading:`Skills`,children:f.map(e=>(0,Q.jsxs)(lc,{...tF(e),"data-slot":`palette-skill`,"data-skill":e.name,onSelect:()=>t(`/new?skill=${encodeURIComponent(e.name)}`),children:[(0,Q.jsx)(`span`,{className:`shrink-0 font-medium`,children:e.name}),e.description?(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-xs text-soft-foreground`,children:e.description}):null]},e.path))},`skills`)}),_}function pF({voice:e,search:t,setSearch:n}){return(0,Q.jsx)(zs,{placeholder:e.confirm?GP:`Search projects, tasks, views, actions, skills…`,value:t,onValueChange:n,onKeyDown:t=>{t.key===`Enter`&&!t.nativeEvent.isComposing&&e.onEnter(t)}})}function mF({docked:e,voice:t,search:n,searching:r,recentlyFinished:i,groups:a,taskProjectName:o,showProjectOnTasks:s,now:c,selectTask:l,go:u}){return(0,Q.jsx)(Js,{className:e?`max-h-[28vh]`:`max-h-[55vh] min-h-[14rem] sm:max-h-[60vh] lg:max-h-[68vh]`,children:t.confirm?(0,Q.jsx)(KP,{confirm:t.confirm,notice:t.row?.kind===`notice`?t.row.text:void 0,onConfirm:t.onConfirm}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(WP,{row:t.row,committable:n.trim()!==``,onSelect:t.onSelect}),t.row?null:(0,Q.jsx)(Ys,{children:`Nothing matches.`}),(0,Q.jsx)(uc,{children:(0,Q.jsxs)(lc,{value:`new task`,"data-slot":`palette-view`,"data-nav-to":`/new`,onSelect:()=>u(`/new`),children:[(0,Q.jsx)(uo,{"aria-hidden":`true`}),`New task`,(0,Q.jsx)(Xs,{children:`C`})]})}),!r&&i.length>0?(0,Q.jsx)(uc,{heading:`Recently finished`,children:i.map(e=>(0,Q.jsx)(uF,{task:e,projectName:o(e),showProject:s,now:c,onSelect:l},oF(e)))}):null,ZP(a,n).map(e=>e.node)]})})}function hF({cappedProjects:e}){return e.length===0?null:(0,Q.jsxs)(`p`,{"data-slot":`palette-search-truncated`,role:`status`,className:`border-t border-border px-3 py-2 text-[11px] text-soft-foreground`,children:[`More matches in `,e.join(`, `),`. Type more to narrow them.`]})}function gF({open:e,docked:t,selected:n,close:r}){let i=As(),a=A(),[o,s]=Z.useState(``),c=o.trim()!==``,l=Is(),{theme:u,setTheme:d}=cS(),f=kn(),p=zr(),m=yn(),h=Zn(),g=U(),_=Date.now(),v=HP({enabled:g.data?.capabilities.voice===!0,text:o,selected:n,close:r,clearText:()=>s(``)}),{onClose:y}=v;Z.useEffect(()=>{e||y()},[e,y]);let b=m.data,x=b!==void 0&&b.projects.length>1,S=Dn(x),{order:C}=mS(),w=Z.useMemo(()=>x?cF(b.projects,l,C):[],[x,b,l,C]),T=Z.useMemo(()=>new Map((b?.projects??[]).map(e=>[e.id,e.name])),[b]),E=l??b?.bootProject??null,[D,O]=Z.useState(``);Z.useEffect(()=>{let e=setTimeout(()=>O(o),rF);return()=>clearTimeout(e)},[o]);let k=Xn(D),j=c?k.data?.runs:void 0,M=c&&!k.isPlaceholderData?(k.data?.truncated??[]).map(e=>T.get(e)??e):[],ee=Z.useMemo(()=>iF(f.data??[],E,S.data?.runs,j),[f.data,E,S.data,j]),N=Z.useMemo(()=>sF(ee),[ee]),te=c?[]:N.recentlyFinished,ne=c?ee:N.otherTasks,re=x,P=e=>e.projectId===null?null:T.get(e.projectId)??null,F=h.data?.skillUsage,ie=Z.useMemo(()=>jc(p.data??[],F),[p.data,F]),ae=e=>{r(),i(e)},oe=e=>{r(),a(e)},se=lN(),ce=e=>{r(),se.go(e)},le=e=>{r(),i(e.projectId===null?`/tasks/${e.id}`:ks(e.projectId,`/tasks/${e.id}`))},ue=yN[u],de=fF({views:dF({multiProject:x,health:g}),go:ae,goGlobal:oe,orderedProjects:w,activeProjectId:l,goProject:ce,otherTasks:ne,searching:c,taskProjectName:P,showProjectOnTasks:re,now:_,selectTask:le,orderedSkills:ie,theme:u,nextTheme:ue,setTheme:d,close:r});return(0,Q.jsxs)(Q.Fragment,{children:[pF({voice:v,search:o,setSearch:s}),mF({docked:t,voice:v,search:o,searching:c,recentlyFinished:te,groups:de,taskProjectName:P,showProjectOnTasks:re,now:_,selectTask:le,go:ae}),hF({cappedProjects:M})]})}function _F({triggerClassName:e,icon:t=io,iconClassName:n=`size-4`,side:r,origin:i,label:a,iconFrameClassName:o}={}){let[s,c]=Z.useState(!1),[l,u]=Z.useState(!1),[d,f]=Z.useState(!1);return(0,Q.jsxs)(na,{children:[(0,Q.jsx)($i,{asChild:!0,children:(0,Q.jsxs)(D,{variant:`ghost`,"aria-label":`Add project`,title:`Add project`,"data-origin":i,className:O(`size-9 p-0 text-muted-foreground`,e),children:[o?(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:o,children:(0,Q.jsx)(t,{className:n,"aria-hidden":`true`})}):(0,Q.jsx)(t,{className:n,"aria-hidden":`true`}),a?(0,Q.jsx)(`span`,{children:a}):(0,Q.jsx)(`span`,{className:`sr-only`,children:`Add project`})]})}),(0,Q.jsxs)(ea,{align:`start`,...x({side:r}),className:`w-56`,children:[(0,Q.jsx)(Hi,{className:`text-xs text-soft-foreground`,children:`Add project`}),(0,Q.jsxs)(Yi,{"data-slot":`add-project-new`,onSelect:()=>f(!0),children:[(0,Q.jsx)(io,{"aria-hidden":`true`}),`New project…`]}),(0,Q.jsxs)(Yi,{"data-slot":`add-project-local`,onSelect:()=>c(!0),children:[(0,Q.jsx)(Za,{"aria-hidden":`true`}),`Open local folder…`]}),(0,Q.jsxs)(Yi,{"data-slot":`add-project-clone`,onSelect:()=>u(!0),children:[(0,Q.jsx)(no,{"aria-hidden":`true`}),`Clone from GitHub…`]})]}),s?(0,Q.jsx)(LS,{open:!0,onOpenChange:c}):null,l?(0,Q.jsx)(Bj,{open:!0,onOpenChange:u}):null,d?(0,Q.jsx)(nM,{open:!0,onOpenChange:f}):null]})}function vF(e,t){let n=e=>e.split(`.`).slice(0,3).map(e=>Number.parseInt(e,10)||0),r=n(e),i=n(t);for(let e=0;e<3;e++){let t=(r[e]??0)-(i[e]??0);if(t!==0)return t>0}return!1}function yF({version:e,latestVersion:t,state:n,onApplyUpdate:r,onRestart:i}){let a=n?.status===`ready`,o=n?.status===`preparing`,s=n?.status===`restarting`,c=!!(e&&t&&vF(t,e));return{preparing:o,restarting:s,canRestart:n?.supported&&a&&!!i,canApply:n?.supported&&c&&!!r,ready:a}}function bF(e){let{version:t,latestVersion:n,state:r,busy:i=!1}=e,{preparing:a,restarting:o,canRestart:s,canApply:c,ready:l}=yF(e),u=r?.supported?l||o?`restart`:a||c?`update`:null:null;return{preparing:a,restarting:o,canRestart:s,canApply:c,action:u,actionBusy:i||a||o,tooltip:u===`restart`?`Restart required`:a?`Preparing update`:`Update from v${t} to v${n}`}}function xF({version:e,latestVersion:t,state:n,onApplyUpdate:r,onRestart:i,busy:o=!1,offline:s=!1}){let[c,l]=Z.useState(!1),[u,d]=Z.useState(!1),f=Z.useRef(null),p=Z.useRef(!1),{preparing:m,restarting:h,canRestart:g,canApply:_,action:v,actionBusy:y,tooltip:b}=bF({version:e,latestVersion:t,state:n,onApplyUpdate:r,onRestart:i,busy:o});return v?(0,Q.jsxs)(Sa,{open:c,onOpenChange:l,children:[(0,Q.jsx)(`div`,{"data-slot":`application-update-action`,className:`flex size-11 shrink-0 items-center justify-center`,children:v?(0,Q.jsx)(aD,{children:(0,Q.jsxs)(oD,{open:u,onOpenChange:d,children:[(0,Q.jsx)(sD,{asChild:!0,onKeyDown:e=>{e.key===`Tab`&&d(!1)},children:v===`update`?(0,Q.jsx)(D,{variant:`ghost`,size:`icon`,className:`size-11 motion-safe:transition-transform motion-safe:duration-[var(--app-duration-1)] motion-safe:active:scale-[0.97]`,"aria-label":m?`Preparing update`:`Update application`,"aria-busy":y,disabled:!_||y||s,title:b,onClick:()=>{!_||y||s||p.current||(p.current=!0,r?.().finally(()=>{p.current=!1}))},children:(0,Q.jsx)(Wo,{"aria-hidden":`true`,className:`size-[18px]`})}):(0,Q.jsx)(D,{ref:f,variant:`ghost`,size:`icon`,className:`size-11 motion-safe:transition-transform motion-safe:duration-[var(--app-duration-1)] motion-safe:active:scale-[0.97]`,"aria-label":h?`Reconnecting after restart`:`Restart application`,"aria-busy":y,disabled:!g||y||s,title:b,onClick:()=>l(!0),children:(0,Q.jsx)(fo,{"aria-hidden":`true`,className:`size-[18px]`})})}),(0,Q.jsx)(cD,{side:`bottom`,children:b})]})}):null}),(0,Q.jsxs)(ma,{onCloseAutoFocus:e=>{e.preventDefault(),f.current?.focus()},children:[(0,Q.jsxs)(xa,{children:[(0,Q.jsxs)(la,{children:[`Restart `,a(`Cezarion`),`?`]}),(0,Q.jsx)(ca,{children:`Running tasks will be recovered after restart. The cockpit will reconnect when the new version is ready.`})]}),(0,Q.jsxs)(va,{children:[(0,Q.jsx)(ba,{children:`Restart Later`}),(0,Q.jsx)(_a,{onClick:()=>{!g||y||s||p.current||(p.current=!0,l(!1),i?.().finally(()=>{p.current=!1}))},children:`Restart Now`})]})]})]}):null}function SF({state:e,error:t}){return t??(e?.status===`error`?e.message??`Update failed.`:null)}function CF({state:e,version:t,latestVersion:n}){let r=e&&!e.supported&&t&&n&&vF(n,t),i=e?.message&&e.message!==`Update this installation manually.`?e.message:`Install the newer release using your original installation method, then restart ${a(`Cezarion`)}.`;return r?`In-app updates are unavailable for this installation. ${i}`:null}function wF({state:e,busy:t,manualMessage:n}){return e?.status===`preparing`||t&&e?.status!==`ready`?`Preparing update.`:e?.status===`restarting`?`Restarting. Reconnecting to the cockpit.`:t&&e?.status===`ready`?`Checking update status.`:n}function TF({version:e,latestVersion:t,state:n,error:r,offline:i=!1,busy:a=!1}){let o=SF({state:n,error:r}),s=o?null:i?`Connection lost. Reconnect to continue.`:wF({state:n,busy:a,manualMessage:CF({state:n,version:e,latestVersion:t})});return!o&&!s?null:(0,Q.jsx)(`div`,{"data-slot":`application-update-feedback`,className:`px-4 pb-2 text-[11px] leading-4 text-muted-foreground`,children:o?(0,Q.jsxs)(`p`,{role:`status`,children:[(0,Q.jsx)(`span`,{className:`block truncate`,title:o,children:o}),(0,Q.jsx)(`span`,{className:`block`,children:`Retry or update manually.`})]}):s?(0,Q.jsx)(`p`,{role:`status`,title:s,children:s}):null})}var EF={amber:`text-signal-word-amber`,red:`text-signal-word-red`,violet:`text-status-running`,green:`text-success`};function DF({signal:e,known:t,current:n,maxParts:r,slot:i,className:a}){let o=VC(e).slice(0,r);return(0,Q.jsx)(`span`,{"data-slot":i,className:O(`flex min-w-0 items-center font-medium`,n?`text-muted-foreground`:`text-soft-foreground`,a),children:t?o.length===0?`idle`:o.map((e,t)=>(0,Q.jsxs)(`span`,{className:`flex items-center gap-x-[inherit]`,children:[t>0?(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`·`}):null,(0,Q.jsx)(`span`,{"data-tone":e.tone,className:EF[e.tone],children:e.text})]},e.tone)):`activity unknown`})}var OF={amber:`bg-pending text-signal-ink-amber`,red:`bg-danger text-signal-ink`,violet:`bg-status-running text-signal-ink`,green:`bg-success text-signal-ink`};function kF(e,t,n){return e>9&&!(n&&t>1)?22:t===1?18:14}function AF({position:e,segments:t,className:n,compact:r=!1}){let i=t.filter(e=>e.count>0);return i.length===0?null:(0,Q.jsx)(`span`,{"aria-hidden":`true`,"data-slot":`rail-pill-${e}`,className:O(`pointer-events-none absolute -right-[4px] box-border flex h-[17px] overflow-hidden rounded-[9px] border-2 border-background`,e===`top`?`-top-[6px]`:`top-[25px]`,n),children:i.map(({tone:e,count:t})=>(0,Q.jsx)(`span`,{"data-segment":e,"data-count":t,style:{width:kF(t,i.length,r)},className:O(`flex items-center justify-center text-[10px] leading-[13px] font-bold tabular-nums`,OF[e]),children:t>9?`9+`:t},e))})}function jF(e){return{top:[{tone:`amber`,count:e?.needsYou??0},{tone:`red`,count:e?.failedUnread??0}],bottom:[{tone:`violet`,count:e?.inMotion??0},{tone:`green`,count:e?.finishedUnread??0}]}}function MF({...e}){return(0,Q.jsx)(ha,{"data-slot":`sheet`,...e})}function NF({...e}){return(0,Q.jsx)(fa,{"data-slot":`sheet-trigger`,...e})}function PF({...e}){return(0,Q.jsx)(Ca,{"data-slot":`sheet-close`,...e})}function FF({...e}){return(0,Q.jsx)(ga,{"data-slot":`sheet-portal`,...e})}function IF({className:e,...t}){return(0,Q.jsx)(ya,{"data-slot":`sheet-overlay`,className:O(`fixed inset-0 z-50 bg-black/50 motion-safe:data-[state=closed]:animate-out data-[state=closed]:fade-out-0 motion-safe:data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function LF({className:e,children:t,side:n=`right`,showCloseButton:r=!0,overlayClassName:i,...a}){return(0,Q.jsxs)(FF,{children:[(0,Q.jsx)(IF,{className:i}),(0,Q.jsxs)(ua,{"data-slot":`sheet-content`,className:O(`fixed z-50 flex flex-col gap-4 bg-background shadow-modal transition-colors ease-in-out motion-safe:data-[state=closed]:animate-out data-[state=closed]:duration-300 motion-safe:data-[state=open]:animate-in data-[state=open]:duration-500`,n===`right`&&`inset-y-0 end-0 h-full w-3/4 border-s motion-safe:data-[state=closed]:slide-out-to-right motion-safe:data-[state=open]:slide-in-from-right sm:max-w-sm`,n===`left`&&`inset-y-0 start-0 h-full w-3/4 border-e motion-safe:data-[state=closed]:slide-out-to-left motion-safe:data-[state=open]:slide-in-from-left sm:max-w-sm`,n===`top`&&`inset-x-0 inset-bs-0 h-auto border-be motion-safe:data-[state=closed]:slide-out-to-top motion-safe:data-[state=open]:slide-in-from-top`,n===`bottom`&&`inset-x-0 inset-be-0 h-auto border-bs motion-safe:data-[state=closed]:slide-out-to-bottom motion-safe:data-[state=open]:slide-in-from-bottom`,e),...a,children:[t,r&&(0,Q.jsxs)(Ca,{className:`absolute inset-bs-4 end-4 rounded-sm opacity-70 ring-offset-background transition-opacity pointer-hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-secondary`,children:[(0,Q.jsx)(Ao,{className:`size-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function RF({className:e,...t}){return(0,Q.jsx)(`div`,{"data-slot":`sheet-header`,className:O(`flex flex-col gap-1.5 p-4`,e),...t})}function zF({className:e,...t}){return(0,Q.jsx)(pa,{"data-slot":`sheet-title`,className:O(`font-semibold text-foreground`,e),...t})}function BF({className:e,...t}){return(0,Q.jsx)(da,{"data-slot":`sheet-description`,className:O(`text-sm text-muted-foreground`,e),...t})}function VF(e,t){if(!e?.signals)return null;let n=e.signals;return HC(e.projects.filter(e=>e.id!==t).map(e=>n.get(e.id)))}function HF(e){let t=VC(e??void 0).map(e=>e.text);return t.length>0?`Open projects. Elsewhere: ${t.join(`, `)}`:`Open projects`}function UF({elsewhere:e}){if(!e)return null;let{top:t,bottom:n}=jF(e),r=`right-[2px] border-card`;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(AF,{position:`top`,segments:t,compact:!0,className:O(r,`top-[3px]`)}),(0,Q.jsx)(AF,{position:`bottom`,segments:n,compact:!0,className:O(r,`top-[24px]`)})]})}function WF({version:e}){let{resolvedTheme:t}=cS();return(0,Q.jsxs)(`div`,{"data-slot":`drawer-identity`,className:`flex shrink-0 items-center gap-[12px] border-b border-border pt-[env(safe-area-inset-top)] pr-[14px] pb-[14px] pl-[18px]`,children:[(0,Q.jsx)(`img`,{src:`/cezarion-mark-${t}.svg`,alt:``,"aria-hidden":`true`,className:`mt-[14px] size-[32px] rounded-lg`}),(0,Q.jsx)(`span`,{className:`mt-[14px] text-[18px] leading-none font-bold tracking-[-0.02em] text-foreground`,children:a(`Cezarion`)}),e?(0,Q.jsxs)(`span`,{"data-slot":`drawer-version`,title:`v${e}`,className:`mt-[14px] min-w-0 truncate text-[11px] leading-none text-soft-foreground`,children:[`v`,e]}):null,(0,Q.jsx)(PF,{asChild:!0,children:(0,Q.jsx)(D,{variant:`ghost`,size:`icon`,"aria-label":`Close menu`,className:`mt-[14px] ml-auto size-[44px] text-foreground`,children:(0,Q.jsx)(Ao,{className:`size-[19px]`,"aria-hidden":`true`})})})]})}function GF({version:e,latestVersion:t,...n}){let r=n.state?.status===`ready`||n.state?.status===`preparing`||n.state?.status===`restarting`;if(!(e&&t&&vF(t,e))&&!r)return null;let i=n.state?.status,a=i===`preparing`?`Preparing update…`:i===`ready`||i===`restarting`?`Restart to finish updating`:`Update available · v${t}`;return(0,Q.jsxs)(`div`,{"data-slot":`drawer-update`,className:`shrink-0 border-b border-border px-[18px] py-[6px]`,children:[(0,Q.jsxs)(`div`,{className:`flex min-h-[44px] items-center gap-[8px]`,children:[(0,Q.jsx)(vb,{tone:`pending`,className:`size-[6px] shrink-0`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] font-medium text-foreground`,children:a}),(0,Q.jsx)(xF,{version:e,latestVersion:t,...n})]}),(0,Q.jsx)(TF,{version:e,latestVersion:t,state:n.state,error:n.error,offline:n.offline,busy:n.busy})]})}function KF({project:e,signal:t,known:n,current:r,onNavigate:i}){let{top:a,bottom:o}=jF(t),s=r?`border-sidebar-row-selected`:`border-sidebar`,c=`right-[-4px]`,l=(0,Q.jsxs)(w,{to:ks(e.id,`/`),onClick:i,"data-slot":`drawer-project`,"data-project-id":e.id,"aria-current":r?`page`:void 0,className:O(`flex h-[64px] min-w-0 items-center gap-[12px] rounded-[10px] px-[10px] text-foreground hover:bg-sidebar-row-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring`,r&&`flex-1 hover:bg-sidebar-row-selected`),children:[(0,Q.jsxs)(`span`,{"aria-hidden":`true`,className:O(`relative flex size-[40px] shrink-0 items-center justify-center rounded-[10px] border text-[13px] leading-none font-semibold`,r?`border-soft-foreground bg-sidebar text-foreground`:`border-transparent bg-muted text-muted-foreground`),children:[UC(e.name),(0,Q.jsx)(AF,{position:`top`,segments:a,className:O(c,s)}),(0,Q.jsx)(AF,{position:`bottom`,segments:o,className:O(c,s,`top-[29px]`)})]}),(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-[2px]`,children:[(0,Q.jsx)(`span`,{className:`truncate text-[14.5px] leading-tight font-semibold`,children:e.name}),(0,Q.jsx)(DF,{signal:t,known:n,current:r,slot:`drawer-project-state`,className:`flex-wrap gap-x-[6px] text-[11.5px] leading-tight`})]}),r?(0,Q.jsx)(Oo,{"aria-hidden":`true`,className:`size-[16px] shrink-0 text-foreground`}):null]});return r?(0,Q.jsxs)(`div`,{"data-slot":`drawer-project-current`,className:`flex items-center rounded-[10px] bg-sidebar-row-selected pr-[4px]`,children:[l,(0,Q.jsx)(QC,{projectId:e.id,onNavigate:i,triggerClassName:`size-[44px]`,align:`end`})]}):l}var qF=`flex h-[48px] w-full items-center gap-[12px] rounded-[10px] px-[10px] text-[14.5px] font-normal text-foreground hover:bg-sidebar-row-hover focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring [&_svg]:size-[18px] [&_svg]:shrink-0 [&_svg]:text-soft-foreground`;function JF({nav:e,currentProjectId:t,onNavigate:n}){return(0,Q.jsxs)(`div`,{"data-slot":`drawer-projects`,className:`shrink-0`,children:[(0,Q.jsx)(`div`,{className:`px-[18px] pt-[14px] pb-[6px] text-[12px] font-medium text-soft-foreground`,id:`drawer-projects-label`,children:`Projects`}),(0,Q.jsx)(`div`,{role:`group`,"data-slot":`drawer-projects-group`,"aria-labelledby":`drawer-projects-label`,className:`flex flex-col gap-[2px] px-[8px] pb-[8px]`,children:e.projects.map(r=>(0,Q.jsx)(KF,{project:r,signal:e.signals?.get(r.id),known:e.signals!==null,current:r.id===t,onNavigate:n},r.id))}),e.singleProject?null:(0,Q.jsxs)(`div`,{"data-slot":`drawer-workspace`,className:`flex flex-col gap-[2px] border-t border-border px-[8px] py-[8px]`,children:[(0,Q.jsxs)(w,{to:`/tasks`,onClick:n,"data-slot":`drawer-all-projects`,className:qF,children:[(0,Q.jsx)(Ya,{"aria-hidden":`true`}),`All projects · task overview`]}),(0,Q.jsx)(_F,{origin:`mobile`,icon:io,iconClassName:`size-[18px]`,label:`Add project`,triggerClassName:O(qF,`h-[48px] justify-start p-0 px-[10px] text-foreground`)})]})]})}function YF({onNavigate:e,tools:t}){let{theme:n,setTheme:r}=cS(),i=yN[n],a=n.charAt(0).toUpperCase()+n.slice(1);return(0,Q.jsxs)(`div`,{"data-slot":`drawer-global`,className:`flex shrink-0 flex-col gap-[2px] border-t border-border px-[8px] pt-[8px] pb-[max(8px,env(safe-area-inset-bottom))]`,children:[t?(0,Q.jsxs)(w,{to:`/tools`,onClick:e,"data-slot":`drawer-tools`,"aria-label":t.blocked?`Tools, needs setup`:void 0,"aria-describedby":t.blocked&&t.note?`drawer-tools-note`:void 0,className:O(qF,t.note&&`h-auto min-h-[48px] py-[6px]`),children:[(0,Q.jsxs)(`span`,{className:`relative flex shrink-0`,children:[(0,Q.jsx)(Po,{"aria-hidden":`true`}),t.blocked?(0,Q.jsx)(vb,{tone:`pending`,"data-slot":`drawer-tools-dot`,className:`absolute -top-[2px] -right-[3px] ring-[1.5px] ring-sidebar`}):null]}),(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,Q.jsx)(`span`,{children:`Tools`}),t.note?(0,Q.jsx)(`span`,{id:`drawer-tools-note`,"data-slot":`drawer-tools-note`,className:`text-[11.5px] leading-tight text-soft-foreground`,children:t.note}):null]})]}):null,(0,Q.jsxs)(w,{to:`/settings/global/appearance`,onClick:e,"data-slot":`drawer-global-settings`,className:qF,children:[(0,Q.jsx)(qa,{"aria-hidden":`true`}),`Global settings`]}),(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`theme-toggle`,"data-theme-pref":n,"aria-label":`Theme: ${n.toLowerCase()}. Switch to ${i}.`,onClick:()=>r(i),className:qF,children:[(0,Q.jsx)(ho,{"aria-hidden":`true`}),`Theme · `,a]})]})}var XF=Z.createContext(null);function ZF(){return Z.useContext(XF)}function QF({slot:e,children:t}){return(0,Ku.createPortal)(t,e)}var $F=`(min-width: 768px)`;function eI(){let[e,t]=Z.useState(()=>window.matchMedia?.($F).matches??!0);return Z.useEffect(()=>{let e=window.matchMedia?.($F);if(!e)return;let n=()=>t(e.matches);return n(),e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}var tI=[`/git`,`/automations`,`/workflows`,`/reports`];function nI({items:e,activeTo:t,needsYou:n=!1,onNavigate:r}){let[i,a]=(0,Z.useState)(!1),o=(0,Z.useRef)(null),s=e.filter(e=>tI.includes(e.to)),c=e.filter(e=>!s.includes(e)),l=s.some(e=>e.to===t);return(0,Q.jsx)(aD,{children:(0,Q.jsxs)(`nav`,{ref:o,"aria-label":`Main`,"data-slot":`view-tabs`,onKeyDown:e=>{if(![`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key))return;let t=Array.from(o.current?.querySelectorAll(`[data-view-tab]`)??[]),n=t.indexOf(document.activeElement);n<0||(e.preventDefault(),t[e.key===`Home`?0:e.key===`End`?t.length-1:(n+(e.key===`ArrowRight`?1:-1)+t.length)%t.length]?.focus())},className:`flex shrink-0 items-center justify-between max-md:justify-start max-md:gap-1 max-md:overflow-x-auto border-b border-border px-3 pt-2.5 pb-2`,children:[c.map(e=>{let i=e.to===t,a=e.icon,o=e.to===`/`&&n&&!i;return(0,Q.jsxs)(oD,{children:[(0,Q.jsx)(sD,{asChild:!0,children:(0,Q.jsxs)(Y,{to:e.to,onClick:r,"data-view-tab":!0,"aria-label":e.label,"aria-current":i?`page`:void 0,className:O(`relative flex h-[30px] min-w-0 items-center justify-center rounded-[7px] text-soft-foreground hover:bg-sidebar-row-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring max-md:min-h-11 max-md:min-w-11`,i?`shrink-0 gap-1.5 bg-sidebar-row-selected px-[9px] text-[12px] font-semibold text-foreground`:`w-7 shrink-0`),children:[(0,Q.jsxs)(`span`,{className:`relative`,children:[(0,Q.jsx)(a,{className:`size-[15px] shrink-0`,"aria-hidden":`true`}),o?(0,Q.jsx)(`span`,{"aria-label":`Tasks need you`,"data-slot":`nav-needs-you-dot`,className:`absolute -top-1 -right-1 size-[7px] rounded-full border-[1.5px] border-sidebar bg-pending-strong`}):null]}),i?(0,Q.jsx)(`span`,{className:`truncate`,children:e.label}):null]})}),(0,Q.jsx)(cD,{side:`bottom`,sideOffset:6,style:{pointerEvents:`none`},children:e.label})]},e.to)}),s.length?(0,Q.jsxs)(na,{open:i,onOpenChange:a,children:[(0,Q.jsxs)(oD,{children:[(0,Q.jsx)(sD,{asChild:!0,children:(0,Q.jsx)($i,{asChild:!0,children:(0,Q.jsx)(`button`,{type:`button`,"data-view-tab":!0,"aria-label":`More views`,"data-active":l?`true`:void 0,className:O(`relative flex h-[30px] w-7 shrink-0 items-center justify-center rounded-[7px] text-soft-foreground hover:bg-sidebar-row-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring max-md:min-h-11 max-md:min-w-11`,(i||l)&&`bg-sidebar-row-selected text-foreground`),children:(0,Q.jsx)(Am,{className:`size-[15px]`,"aria-hidden":`true`})})})}),(0,Q.jsx)(cD,{side:`bottom`,sideOffset:6,style:{pointerEvents:`none`},children:`More views`})]}),(0,Q.jsx)(ea,{align:`end`,sideOffset:4,className:`w-48 rounded-[10px] border-border bg-sidebar p-[5px] shadow-[0_10px_28px_#00000047]`,children:s.map(e=>{let n=e.icon,i=e.to===t;return(0,Q.jsx)(Yi,{asChild:!0,className:O(`h-8 max-md:min-h-11 gap-2.5 rounded-md px-[9px] text-[13px] text-foreground focus:bg-sidebar-row-hover`,i&&`bg-sidebar-row-selected font-medium`),children:(0,Q.jsxs)(Y,{to:e.to,onClick:r,"aria-current":i?`page`:void 0,children:[(0,Q.jsx)(n,{className:`size-[15px] text-soft-foreground`}),e.label]})},e.to)})})]}):null]})})}function rI(e,t,n){let r=Ps(e),i=r===`/new`,a=hN(e);return{activeTo:i?`/new`:pN(r),current:mN(r),currentProjectId:js(e),newTask:i,pushed:a,showTabBar:!a&&!gN(e,t)&&!n,gitRepositoryView:r===`/git`&&new URLSearchParams(t).get(`view`)===`repo`}}var iI=[{to:`/git`,label:`Git`},{to:`/skills`,label:`Skills`},{to:`/workflows`,label:`Workflows`},{to:`/reports`,label:`Reports`},{to:`/settings`,label:`Project settings`}],aI=[`/automations`],oI=`flex h-[50px] min-h-11 w-full items-center gap-[14px] rounded-[10px] px-[10px] text-[14.5px] text-foreground hover:bg-sidebar-row-hover focus-visible:outline-2 focus-visible:outline-ring [&_svg]:size-[18px] [&_svg]:shrink-0 [&_svg]:text-muted-foreground`;function sI({open:e,onOpenChange:t,onCloseAutoFocus:n,projectName:r,items:i,activeTo:a}){let o=new Map(i.map(e=>[e.to,e])),s=iI.flatMap(({to:e,label:t})=>{let n=o.get(e);return n?[{to:e,label:t,icon:n.icon}]:[]}),c=aI.flatMap(e=>{let t=o.get(e);return t?[{to:e,label:t.label,icon:t.icon}]:[]}),l=()=>t(!1),u=({to:e,label:t,icon:n})=>{let r=e===a;return(0,Q.jsxs)(Y,{to:e,onClick:l,"data-slot":`more-row`,"data-more-row":e,"aria-current":r?`page`:void 0,className:O(oI,r&&`bg-sidebar-row-selected hover:bg-sidebar-row-selected`),children:[(0,Q.jsx)(n,{"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:t}),(0,Q.jsx)(yo,{"aria-hidden":`true`,className:`!size-[15px]`})]},e)};return(0,Q.jsx)(MF,{open:e,onOpenChange:t,children:(0,Q.jsxs)(LF,{side:`bottom`,"data-slot":`more-sheet`,showCloseButton:!1,onCloseAutoFocus:n,"aria-describedby":void 0,className:`gap-0 rounded-t-[20px] border-border bg-sidebar px-[14px] pt-[10px] pb-[max(14px,env(safe-area-inset-bottom))] md:hidden`,children:[(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:`mx-auto mb-[14px] h-[5px] w-[36px] rounded-[3px] bg-border`}),(0,Q.jsxs)(`div`,{className:`flex items-baseline gap-[10px] px-[10px] pb-[6px]`,children:[(0,Q.jsx)(zF,{className:`text-[17px] leading-tight font-bold`,children:`More`}),r?(0,Q.jsx)(`span`,{"data-slot":`more-project`,className:`min-w-0 truncate text-[12.5px] text-soft-foreground`,children:r}):null]}),(0,Q.jsx)(`div`,{className:`flex flex-col gap-[2px]`,children:s.map(u)}),c.length>0?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{role:`separator`,className:`mx-[10px] mt-[8px] border-t border-border`}),(0,Q.jsx)(`div`,{className:`px-[10px] pt-[12px] pb-[4px] text-[12px] font-medium text-soft-foreground`,children:`Shown when their flag is on`}),(0,Q.jsx)(`div`,{className:`flex flex-col gap-[2px]`,children:c.map(u)})]}):null]})})}var cI=`(min-width: 768px)`;function lI({items:e,activeTo:n,signal:r,projectName:i,showNewTask:a=!0}){let[o,s]=Z.useState(!1),c=Z.useRef(null),{pathname:l}=t();Z.useEffect(()=>{s(!1)},[l]),Z.useEffect(()=>{let e=window.matchMedia?.(cI);if(!e)return;e.matches&&s(!1);let t=e=>{e.matches&&s(!1)};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let u=e.filter(e=>_N.includes(e.to)),d=n!==null&&vN.includes(n),{top:f}=jF(r),p=f.some(e=>e.count>0),m=e=>O(`relative flex h-full min-h-11 min-w-11 flex-1 flex-col items-center justify-center gap-[3px] text-[10.5px] leading-none focus-visible:outline-2 focus-visible:outline-ring`,e?`font-semibold text-foreground`:`font-medium text-soft-foreground`);return(0,Q.jsxs)(Q.Fragment,{children:[a?(0,Q.jsxs)(Y,{to:`/new`,"data-slot":`mobile-new-task`,className:`absolute right-4 bottom-full z-30 mb-4 flex h-12 items-center gap-2 rounded-[24px] bg-foreground px-[18px] text-[14px] font-semibold text-background shadow-[0_8px_24px_#00000055] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring`,children:[(0,Q.jsx)(uo,{"aria-hidden":`true`,className:`size-[18px]`}),`New task`]}):null,(0,Q.jsxs)(`nav`,{"aria-label":`Views`,"data-slot":`mobile-tab-bar`,className:`flex h-[54px] items-stretch`,children:[u.map(e=>{let t=e.to===n,r=e.icon,i=e.to===`/`&&p;return(0,Q.jsxs)(Y,{to:e.to,"data-tab":e.to,"aria-current":t?`page`:void 0,className:m(t),children:[(0,Q.jsxs)(`span`,{className:`relative`,children:[(0,Q.jsx)(r,{"aria-hidden":`true`,className:`size-[21px]`}),i?(0,Q.jsx)(AF,{position:`top`,segments:f,className:`-top-[6px] -right-[10px] border-sidebar`}):null]}),e.label]},e.to)}),(0,Q.jsxs)(`button`,{ref:c,type:`button`,"data-tab":`more`,"aria-haspopup":`dialog`,"aria-expanded":o,"data-active":d?`true`:void 0,onClick:()=>s(!0),className:m(d),children:[(0,Q.jsx)(`span`,{className:`relative`,children:(0,Q.jsx)(so,{"aria-hidden":`true`,className:`size-[21px]`})}),`More`]})]}),(0,Q.jsx)(sI,{open:o,onOpenChange:s,onCloseAutoFocus:e=>{c.current?.isConnected&&(e.preventDefault(),c.current.focus())},projectName:i,items:e,activeTo:n})]})}var uI=`cez-sidebar-width`;function dI(e){let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)?Math.min(420,Math.max(264,Math.round(t))):264}function fI(){try{let e=localStorage.getItem(uI);return e===null?264:dI(e)}catch{return 264}}function pI(e){try{localStorage.setItem(uI,String(dI(e)))}catch{}}var mI=`(min-width: 768px)`,hI=Z.createContext(264),gI=Z.createContext(void 0);function _I(){return Z.useContext(gI)}function vI(e){return p({path:`/tasks/:id`,end:!0},Ps(e))!==null}function yI(e){let t=Ps(e);return t===`/github`||t.startsWith(`/github/`)}function bI({children:e,breadcrumb:n,repo:r=null,version:i=null,latestVersion:o=null,applicationUpdate:s,onApplyUpdate:c,onRestart:l,applicationUpdateError:d,applicationUpdateBusy:f,applicationUpdateOffline:p,sidebarList:m,taskQuickList:h,sessionScope:g,toolsMenu:_,forgeAvailable:v=!0,automationsAvailable:y=!0,banner:b,mobileProjects:x,projectHeader:S,sidebarProjectId:C,needsYou:w,projectRail:T,toolsStatus:E}){let{pathname:D,search:k}=t(),{activeTo:A,current:j,currentProjectId:M,newTask:ee,pushed:N,showTabBar:te,gitRepositoryView:ne}=rI(D,k,Ua()),[re,P]=Z.useState(!1),[F,ie]=Z.useState(null),ae=Z.useRef(null),oe=Z.useRef(null),se=Z.useRef(null),ce=vI(D);Z.useLayoutEffect(()=>{let e=se.current;if(se.current=D,ce||e!==null&&js(e)===js(D)&&yI(e)&&yI(D))return;let t=oe.current;t&&(t.scrollTop=0)},[D,ce,ne]);let le=u(),ue=Z.useRef(D);Z.useEffect(()=>{let e=ue.current;ue.current=D,e!==D&&(le===`REPLACE`&&DI(e,D)||P(!1))},[D,le]),Z.useEffect(()=>{let e=window.matchMedia?.(mI);if(!e)return;e.matches&&P(!1);let t=e=>{e.matches&&P(!1)};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[]);let de=dN({forge:v,automations:y}),fe={version:i,latestVersion:o,state:s,onApplyUpdate:c,onRestart:l,error:d,busy:f,offline:p};return(0,Q.jsxs)(MF,{open:re,onOpenChange:P,children:[am()?(0,Q.jsx)(om,{}):null,(0,Q.jsxs)(`div`,{"data-slot":`app-shell`,style:am()?{paddingTop:28}:void 0,className:`flex h-dvh overflow-hidden bg-background text-foreground pl-[env(safe-area-inset-left)] pr-[env(safe-area-inset-right)]`,children:[(0,Q.jsx)(CI,{projectRail:T,activeTo:A,items:de,repo:r,update:fe,sidebarList:m,taskQuickList:h,sessionScope:g,toolsMenu:_,projectHeader:S,sidebarProjectId:C,needsYou:w}),(0,Q.jsx)(EI,{update:fe,taskQuickList:h,sidebarProjectId:C,mobileProjects:x,currentProjectId:M,toolsStatus:E,onNavigate:()=>P(!1),onCloseAutoFocus:e=>{ae.current?.isConnected&&(e.preventDefault(),ae.current.focus())}}),(0,Q.jsxs)(`div`,{className:`grid min-w-0 flex-1 grid-rows-[auto_auto_1fr_auto] overflow-hidden`,children:[(0,Q.jsx)(NI,{title:j?.label??a(`cezar`),pushed:N?{onSlot:ie}:null,repo:r,elsewhere:VF(x,M),onTrigger:e=>{ae.current=e}}),(0,Q.jsx)(xI,{breadcrumb:n,repo:r,label:j?.label,newTask:ee}),b?(0,Q.jsx)(`div`,{"data-slot":`banner-slot`,className:`row-start-2`,children:b}):null,(0,Q.jsx)(`main`,{ref:oe,"data-slot":`main`,className:O(`row-start-3 min-h-0 overflow-y-auto overscroll-contain`,te&&!ee&&`max-md:pb-20`),children:(0,Q.jsx)(XF.Provider,{value:N?F:null,children:e})}),(0,Q.jsx)(SI,{showTabBar:te,items:de,activeTo:A,mobileProjects:x,currentProjectId:M,repo:r,newTask:ee})]})]})]})}function xI({breadcrumb:e,repo:t,label:n,newTask:r}){let i=e?.project??t?.name,o=e?.branch??t?.branch;return(0,Q.jsxs)(`header`,{"data-slot":`desktop-breadcrumb`,className:O(`row-start-1 hidden min-w-0 items-center gap-3 border-b border-border text-[13px] text-muted-foreground md:flex`,r?`h-[72px] px-11`:`h-16 px-9`),children:[(0,Q.jsx)(Za,{"aria-hidden":`true`,className:`size-4 shrink-0`}),i?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`truncate font-medium text-foreground`,children:i}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:`/`})]}):null,(0,Q.jsx)(`span`,{className:`min-w-0 truncate`,children:e?.page??n??a(`Cezarion`)}),o?(0,Q.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-2 text-[11px]`,children:[(0,Q.jsx)(Bo,{"aria-hidden":`true`,className:`size-4 text-accent-text`}),o]}):null]})}function SI({showTabBar:e,items:t,activeTo:n,mobileProjects:r,currentProjectId:i,repo:a,newTask:o}){let s=i===null?void 0:r?.signals?.get(i);return(0,Q.jsx)(`div`,{"data-slot":`composer`,className:O(`row-start-4 pb-[max(env(safe-area-inset-bottom),var(--kb,0px))]`,e&&`relative max-md:border-t max-md:border-border max-md:bg-sidebar`),children:e?(0,Q.jsx)(`div`,{className:`md:hidden`,children:(0,Q.jsx)(lI,{items:t,activeTo:n,signal:s,projectName:r?.projects.find(e=>e.id===i)?.name??a?.name??null,showNewTask:!o})}):null})}function CI({projectRail:e,...t}){let[n,r]=Z.useState(fI),i=Z.useCallback(e=>{let t=dI(e);r(t),pI(t)},[]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(hI.Provider,{value:n,children:e}),(0,Q.jsx)(wI,{...t,width:n,onWidthChange:i})]})}function wI({width:e,onWidthChange:t,...n}){return(0,Q.jsxs)(`aside`,{"data-slot":`sidebar`,style:{width:e},className:`relative hidden shrink-0 flex-col border-r border-border bg-sidebar md:flex`,children:[(0,Q.jsx)(kI,{...n}),(0,Q.jsx)(TI,{width:e,onWidthChange:t})]})}function TI({width:e,onWidthChange:t}){let n=Z.useRef(null),r=t=>{t.button===0&&(n.current={x:t.clientX,width:e},t.currentTarget.setPointerCapture(t.pointerId),t.preventDefault(),t.currentTarget.focus())},i=e=>{let r=n.current;r&&t(dI(r.width+(e.clientX-r.x)))},a=e=>{n.current&&(n.current=null,e.currentTarget.hasPointerCapture(e.pointerId)&&e.currentTarget.releasePointerCapture(e.pointerId))};return(0,Q.jsx)(`div`,{"data-slot":`sidebar-resize-handle`,role:`separator`,"aria-orientation":`vertical`,"aria-label":`Resize the sidebar`,"aria-valuenow":e,"aria-valuemin":264,"aria-valuemax":420,tabIndex:0,onPointerDown:r,onPointerMove:i,onPointerUp:a,onPointerCancel:a,onKeyDown:n=>{let r=n.key===`ArrowLeft`?e-16:n.key===`ArrowRight`?e+16:n.key===`Home`?264:n.key===`End`?420:null;r!==null&&(n.preventDefault(),t(dI(r)))},onDoubleClick:()=>t(264),title:`Drag to resize the sidebar — double-click to reset`,className:`absolute inset-y-0 -right-[2px] z-20 w-[5px] cursor-col-resize touch-none bg-transparent transition-colors hover:bg-[var(--composer-border)] focus-visible:bg-[var(--composer-border)] focus-visible:outline-none`})}function EI({onNavigate:e,onCloseAutoFocus:t,mobileProjects:n,currentProjectId:r,toolsStatus:i,update:a,taskQuickList:o,sidebarProjectId:s}){return(0,Q.jsxs)(LF,{side:`left`,"data-slot":`mobile-nav-drawer`,onCloseAutoFocus:t,overlayClassName:`bg-[var(--nav-scrim)]`,showCloseButton:!1,className:`w-[calc(100%-68px)] max-w-[334px] gap-0 border-border bg-sidebar p-0 sm:max-w-[334px] md:hidden`,"aria-describedby":void 0,children:[(0,Q.jsx)(zF,{className:`sr-only`,children:`Navigation`}),(0,Q.jsx)(WF,{version:a.version}),(0,Q.jsx)(GF,{...a}),(0,Q.jsxs)(`div`,{"data-slot":`drawer-scroll`,className:`flex min-h-0 flex-1 flex-col overflow-y-auto overscroll-contain`,children:[n?(0,Q.jsx)(JF,{nav:n,currentProjectId:r,onNavigate:e}):null,o?(0,Q.jsx)(OI,{projectId:s,onNavigate:e,children:(0,Q.jsx)(`div`,{"data-slot":`drawer-tasks`,className:`border-t border-border px-[8px] py-[8px]`,children:o})}):null]}),(0,Q.jsx)(YF,{onNavigate:e,tools:i})]})}function DI(e,t){return js(e)==="default"&&js(t)!==null&&js(t)!=="default"&&Ps(e)===Ps(t)}function OI({projectId:e,onNavigate:t,children:n}){let r=Mt(),i=e===void 0?r:{projectId:e,apiBase:`${s}/p/${encodeURIComponent(e)}`};return(0,Q.jsx)(Rt.Provider,{value:i,children:(0,Q.jsx)(gI.Provider,{value:t,children:n})})}function kI({activeTo:e,items:t,repo:n,update:r,sidebarList:i,taskQuickList:a,sessionScope:o,toolsMenu:s,projectHeader:c,sidebarProjectId:l,needsYou:u,onNavigate:d}){return(0,Q.jsx)(OI,{projectId:l,onNavigate:d,children:(0,Q.jsxs)(`div`,{"data-slot":`sidebar-content`,className:`@container/sidebar flex min-h-0 flex-1 flex-col pt-[env(safe-area-inset-top)] pb-[env(safe-area-inset-bottom)]`,children:[(0,Q.jsx)(`div`,{"data-slot":`sidebar-header`,className:`shrink-0`,children:c??(n?(0,Q.jsxs)(`div`,{className:`px-[14px] pt-[14px] pb-2.5`,children:[(0,Q.jsx)(`div`,{className:`truncate text-sm font-semibold`,children:n.name}),(0,Q.jsx)(`div`,{className:`truncate font-mono text-[10.5px] text-soft-foreground`,children:n.branch})]}):null)}),(0,Q.jsxs)(`div`,{"data-slot":`sidebar-actions`,className:`flex flex-col gap-2 px-3`,children:[(0,Q.jsx)(jI,{}),(0,Q.jsx)(D,{asChild:!0,variant:`ghost`,className:O(`relative h-[32px] max-md:min-h-11 rounded-[7px] bg-muted w-full min-w-0 justify-start gap-2 px-2.5 text-[12.5px] font-medium text-foreground hover:bg-sidebar-row-hover hover:text-foreground`,e===`/new`&&`bg-sidebar-row-selected text-foreground font-medium hover:bg-sidebar-row-selected`),children:(0,Q.jsxs)(Y,{to:`/new`,onClick:d,"data-sidebar-item":`new-task`,"aria-current":e===`/new`?`page`:void 0,children:[(0,Q.jsx)(uo,{className:`size-[15px]`,"aria-hidden":`true`}),`New task`,(0,Q.jsx)(`kbd`,{"aria-hidden":`true`,className:`sr-only`,children:`C`})]})})]}),o?(0,Q.jsx)(`div`,{className:`shrink-0 px-3 pt-2`,children:o}):null,(0,Q.jsx)(nI,{items:t,activeTo:e,needsYou:u,onNavigate:d}),(0,Q.jsx)(`div`,{"data-slot":`project-task-navigation`,className:`min-h-0 flex-1 overflow-y-auto overscroll-contain p-3`,children:(0,Q.jsx)(gI.Provider,{value:d,children:i??(0,Q.jsx)(`div`,{"data-slot":`task-quick-list`,children:a})})}),(0,Q.jsx)(AI,{toolsMenu:s,update:r})]})})}function AI({toolsMenu:e,update:t}){return(0,Q.jsxs)(`div`,{"data-slot":`sidebar-footer`,className:`shrink-0`,children:[(0,Q.jsxs)(`div`,{"data-slot":`sidebar-footer-controls`,className:`flex h-11 items-center justify-between gap-1 border-t border-border px-3`,children:[(0,Q.jsx)(`div`,{"data-slot":`tools-menu`,className:`shrink-0`,children:e}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1`,"data-slot":`version-action`,children:[t.version?(0,Q.jsx)(MI,{version:t.version,latestVersion:t.latestVersion}):null,(0,Q.jsx)(xF,{...t})]})]}),(0,Q.jsx)(TF,{...t})]})}function jI(){return(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`command-palette-hint`,title:`Search — command palette (⌘K / Ctrl+K)`,onClick:()=>JP(),className:`flex h-[32px] max-md:min-h-11 w-full items-center gap-2 rounded-[7px] border border-border bg-background px-2.5 text-left text-[12.5px] font-normal text-soft-foreground transition-colors hover:border-border hover:text-foreground`,children:[(0,Q.jsx)(ao,{className:`size-[14px] shrink-0`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`truncate`,children:`Search…`}),(0,Q.jsx)(`kbd`,{"aria-hidden":`true`,className:`ml-auto shrink-0 font-sans text-[11px] font-normal text-soft-foreground`,children:Vh(`k`)})]})}function MI({version:e,latestVersion:t}){let n=!!(t&&vF(t,e));return(0,Q.jsxs)(`span`,{"data-slot":`version-chip`,"data-update-available":n?`true`:void 0,title:n?`v${e} — update available: v${t}`:`v${e}`,className:`flex min-w-0 items-center gap-1 font-mono text-[11px] text-soft-foreground`,children:[n?(0,Q.jsx)(vb,{tone:`pending`,className:`size-[5px] shrink-0`}):null,(0,Q.jsxs)(`span`,{className:`truncate`,children:[`v`,e]})]})}function NI({title:e,pushed:t,repo:n,elsewhere:r,onTrigger:i}){return t?(0,Q.jsx)(PI,{onSlot:t.onSlot}):(0,Q.jsx)(`header`,{"data-slot":`mobile-top-bar`,className:`row-start-1 min-w-0 border-b border-border bg-card pt-[env(safe-area-inset-top)] md:hidden`,children:(0,Q.jsxs)(`div`,{className:`flex h-[56px] min-w-0 items-center gap-[8px] px-[8px]`,children:[(0,Q.jsx)(NF,{asChild:!0,children:(0,Q.jsxs)(D,{variant:`ghost`,"aria-label":HF(r),onClick:e=>i(e.currentTarget),className:`relative h-[44px] w-[64px] shrink-0 justify-start rounded-md p-0 pl-[10px] text-foreground`,children:[(0,Q.jsx)(Qa,{className:`size-[20px]`,"aria-hidden":`true`}),(0,Q.jsx)(UF,{elsewhere:r})]})}),n?(0,Q.jsx)(NF,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`mobile-project-picker`,"aria-label":`Switch project: ${n.name}`,onClick:e=>i(e.currentTarget),className:`flex h-[44px] min-w-0 flex-1 items-center justify-start gap-[10px] rounded-md text-left focus-visible:outline-2 focus-visible:outline-ring`,children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`flex size-[28px] shrink-0 items-center justify-center rounded-[8px] border border-soft-foreground bg-sidebar-row-selected text-[11px] leading-none font-semibold text-foreground`,children:UC(n.name)}),(0,Q.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,Q.jsx)(`span`,{className:`truncate text-[15px] leading-tight font-semibold text-foreground`,children:n.name}),n.branch?(0,Q.jsx)(`span`,{className:`truncate font-mono text-[10.5px] leading-tight text-soft-foreground`,children:n.branch}):null]}),(0,Q.jsx)(Vo,{"aria-hidden":`true`,className:`size-3.5 shrink-0 text-soft-foreground`})]})}):null,e===a(`cezar`)?n?null:(0,Q.jsx)(`span`,{className:`flex-1`}):(0,Q.jsx)(`span`,{"data-slot":`mobile-route-title`,className:O(`truncate text-[15px] font-semibold text-foreground`,n?`sr-only`:`min-w-0 flex-1 pl-[8px]`),children:e}),(0,Q.jsx)(D,{variant:`ghost`,"aria-label":`Search`,"data-slot":`mobile-search`,onClick:()=>JP(),className:`ml-auto size-[44px] shrink-0 p-0 text-foreground`,children:(0,Q.jsx)(ao,{className:`size-[19px]`,"aria-hidden":`true`})})]})})}function PI({onSlot:e}){let t=As();return(0,Q.jsx)(`header`,{"data-slot":`mobile-top-bar`,"data-mode":`task`,className:`row-start-1 min-w-0 border-b border-border bg-card pt-[env(safe-area-inset-top)] md:hidden`,children:(0,Q.jsxs)(`div`,{className:`flex h-[56px] min-w-0 items-center gap-[4px] px-[8px]`,children:[(0,Q.jsx)(D,{variant:`ghost`,"aria-label":`Back`,"data-slot":`mobile-back`,onClick:()=>{let e=window.history.state?.idx;t(typeof e==`number`&&e>0?-1:`/`)},className:`size-[44px] shrink-0 p-0 text-foreground`,children:(0,Q.jsx)(gm,{className:`size-[22px]`,"aria-hidden":`true`})}),(0,Q.jsx)(`div`,{"data-slot":`mobile-run-bar`,ref:e,className:`flex min-w-0 flex-1 items-center gap-[4px]`})]})})}var FI=`cez:application-restart-from`,II=24e4,LI=3e4,RI=`The response was lost; update status is unknown. Reconnect or check the current state before retrying.`;function zI(e,t){let n=t?.applicationUpdate;return!!(n&&(n.status===`error`||e.kind===`apply`&&n.status===`ready`||e.kind===`restart`&&(n.status===`restarting`||n.status===`idle`&&e.initialVersion&&t.version!==e.initialVersion)))}function BI(e,t=()=>window.location.reload()){let n=I(),r=Z.useRef(null),i=Z.useRef(e);i.current=e;let[a,o]=Z.useState(!1),[s,c]=Z.useState(null),[l,u]=Z.useState(()=>!navigator.onLine),d=Z.useRef(e?.version??null),f=Z.useRef(!1),[p,m]=Z.useState(()=>{try{return window.sessionStorage.getItem(FI)}catch{return null}});Z.useEffect(()=>{let e=()=>u(!navigator.onLine);return window.addEventListener(`online`,e),window.addEventListener(`offline`,e),()=>{window.removeEventListener(`online`,e),window.removeEventListener(`offline`,e)}},[]),Z.useEffect(()=>{(e?.applicationUpdate?.status===`ready`||e?.applicationUpdate?.status===`restarting`)&&c(null)},[e?.applicationUpdate?.status]),Z.useEffect(()=>{if(!e?.version)return;d.current||=e.version;let n=d.current!==e.version,r=!!(p&&e.version!==p);if(n||r||p&&e.applicationUpdate?.status===`error`){try{window.sessionStorage.removeItem(FI)}catch{}m(null)}(n||r)&&!f.current&&(f.current=!0,t())},[e?.version,e?.applicationUpdate?.status,p,t]);let h=Z.useCallback(e=>{n.setQueryData(G.health,t=>t&&{...t,applicationUpdate:e})},[n]),g=Z.useCallback((e,t)=>{if(r.current===e){if(e.reconciledRestart&&(t.source===`timeout`||t.source===`failure`&&t.cause instanceof ft&&t.cause.status===0)&&(t={source:`health`,state:e.reconciledRestart}),r.current=null,clearTimeout(e.timer),t.source!==`response`&&e.controller.abort(),o(!1),t.source===`response`&&t.state&&h(t.state),t.source===`timeout`?c(RI):t.source===`failure`?c(t.cause instanceof Error?t.cause.message:`The request failed.`):c(null),t.source===`failure`&&e.kind===`restart`){try{window.sessionStorage.removeItem(FI)}catch{}m(null)}(t.source===`timeout`||t.source===`failure`)&&n.invalidateQueries({queryKey:G.health}),e.resolve(t.state)}},[n,h]);Z.useEffect(()=>{let t=r.current,n=e?.applicationUpdate;if(t&&!(n===t.initialState&&e?.version===t.initialVersion||!zI(t,e))){if(t.kind===`restart`&&n?.status===`restarting`){t.reconciledRestart=n,o(!1),c(null),t.resolve(n);return}g(t,{source:`health`,state:n})}},[e?.applicationUpdate,e?.version,g]),Z.useEffect(()=>()=>{let e=r.current;e&&(r.current=null,clearTimeout(e.timer),e.controller.abort(),e.resolve(void 0))},[]);let _=Z.useCallback((e,t)=>{if(r.current)return Promise.resolve(void 0);let a=new AbortController,s=i.current?.applicationUpdate,l=i.current?.version,u=n.getQueryData(G.health)?.applicationUpdate;return o(!0),c(null),new Promise(o=>{let c={controller:a,initialState:s,initialCacheState:u,initialVersion:l,kind:e,resolve:o,timer:setTimeout(()=>g(c,{source:`timeout`}),e===`apply`?II:LI)};r.current=c,t(a.signal).then(e=>{if(r.current!==c)return;let t=n.getQueryData(G.health),a=i.current,o=t?.applicationUpdate!==u&&zI(c,t)?t.applicationUpdate:a?.applicationUpdate!==s&&zI(c,a)?a.applicationUpdate:void 0;g(c,o?{source:`health`,state:o}:{source:`response`,state:e.state})},e=>g(c,{source:`failure`,cause:e}))})},[g,n]);return{apply:Z.useCallback(async()=>{await _(`apply`,Qe)},[_]),restart:Z.useCallback(async()=>{if(r.current)return;let e=i.current?.version,t=await _(`restart`,yt);if(e&&t?.status===`restarting`){try{window.sessionStorage.setItem(FI,e)}catch{}m(e)}},[_]),busy:a,error:s,offline:l}}var VI=hn.options,HI={claude:`Claude Code`,codex:`Codex`,opencode:`OpenCode`,pi:`pi`,cursor:`Cursor`,omp:`OMP`};function UI(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t=e,n={};for(let e of VI){let r=t[e];typeof r==`string`&&r.length>0&&r.length<=128&&(n[e]=r)}return n}function WI(e,t){if(!e)return[];let n=new Map(e.providers.map(e=>[e.provider,e]));return VI.flatMap(e=>{let r=n.get(e);return r?.status!==`disconnected`||!r.authFailureId||t[e]===r.authFailureId?[]:[{provider:e,label:HI[e],authFailureId:r.authFailureId}]})}function GI(e,t){return{...e,...Object.fromEntries(t.map(({provider:e,authFailureId:t})=>[e,t]))}}function KI({status:e,pending:t,error:n,dismissals:r,onDismissAuthFailures:i}){if(t||!e)return null;let a;try{a=Ve(e)}catch{return null}let o=WI(a,r);if(o.length>0)return(0,Q.jsxs)(`div`,{"data-slot":`provider-banner`,role:`alert`,className:`flex min-h-9 items-center gap-2 border-b border-border bg-destructive/10 px-4 text-sm text-foreground`,children:[(0,Q.jsx)(vb,{tone:`danger`}),(0,Q.jsxs)(`span`,{children:[`Provider authentication failed during a task:`,` `,o.map(({label:e})=>e).join(`, `),`.`]}),(0,Q.jsx)(Y,{to:`/settings/agents#providers`,className:`ml-auto shrink-0 font-medium underline underline-offset-4 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:`Open agent settings`}),(0,Q.jsx)(`button`,{type:`button`,"aria-label":`Dismiss provider authentication alert`,onClick:()=>i(o),className:`shrink-0 rounded-sm p-1 text-muted-foreground hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,Q.jsx)(ph,{className:`size-4`,"aria-hidden":`true`})})]});if(n||a.providers.some(e=>e.enabled&&e.status===`connected`))return null;let s=a.providers.some(e=>e.status===`connected`),c=a.providers.some(e=>e.status===`unknown`);return(0,Q.jsxs)(`div`,{"data-slot":`provider-banner`,role:`status`,className:`flex min-h-9 items-center gap-2 border-b border-border bg-muted/50 px-4 text-sm text-muted-foreground`,children:[(0,Q.jsx)(vb,{tone:c?`danger`:`pending`}),(0,Q.jsx)(`span`,{children:s?`No agent provider is enabled.`:c?`No connected provider could be verified.`:`No agent provider credentials were found.`}),(0,Q.jsx)(Y,{to:`/settings/agents#providers`,className:`ml-auto shrink-0 font-medium text-foreground underline underline-offset-4 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:`Configure providers`})]})}function qI(e){if(!(typeof e!=`object`||!e||Array.isArray(e)))return e}function JI(){let e=Or(),t=Tn(),n=I(),r=(0,Z.useRef)(Promise.resolve()),i=(0,Z.useRef)(0),a=(0,Z.useRef)(0),o=(0,Z.useRef)(qI(t.data));(0,Z.useEffect)(()=>{a.current===0&&(o.current=qI(t.data))},[t.data]);let s=(0,Z.useCallback)(e=>{let t=H.uiState,s=qI(n.getQueryData(t)),c=GI(UI(s?.dismissedProviderAuthFailures),e),l={...s,dismissedProviderAuthFailures:c};a.current+=1,n.setQueryData(t,l);let u=++i.current;r.current=r.current.then(async()=>{try{let e=await mt({dismissedProviderAuthFailures:c});o.current=qI(e),u===i.current&&n.setQueryData(t,e)}catch(e){u===i.current&&(o.current===void 0?n.removeQueries({queryKey:t,exact:!0}):n.setQueryData(t,o.current),n.invalidateQueries({queryKey:t}),K(e instanceof Error?e.message:String(e),{tone:`danger`}))}finally{--a.current}})},[n]);return(0,Q.jsx)(KI,{status:e.data,pending:e.isPending,error:e.isError,dismissals:UI(qI(t.data)?.dismissedProviderAuthFailures),onDismissAuthFailures:s})}function YI(e){return e.reason===`legacy-change`?e.canImport?`${e.file} changed in the old home. Import keeps live-only changes. Old-home changes win when both homes changed the same key or entry.`:`${e.file} changed in the old home. Import is unavailable. Ignore keeps the live file and skips these old-home changes.`:e.reason===`outside-write`?`${e.file} changed outside ${a(`Cezar`)}. Restore the previous version or accept the file as found.`:e.file===`config.json`?`The project registry was reset. Restore the previous projects?`:`The account list was reset. Restore the previous accounts?`}function XI({file:e,editable:t}){let n=su(),r=cu(),a=lu(),o=e.reason===`legacy-change`,s=n.isPending||r.isPending||a.isPending,c=n.error??r.error??a.error,l=t=>{n.reset(),r.reset(),a.reset();let i={file:e.file,detectedAt:e.detectedAt};t===`restore`?n.mutate(i):t===`accept`?r.mutate(i):a.mutate(i)};return(0,Q.jsxs)(`div`,{"data-slot":`home-recovery`,"data-home-file":e.file,role:`status`,"aria-live":`polite`,"aria-busy":s,className:`flex flex-wrap items-center gap-x-3 gap-y-2 border-b border-border bg-muted/50 p-3 text-sm text-foreground`,children:[(0,Q.jsx)(`span`,{className:`flex-[1_1_24rem] [min-inline-size:0] [overflow-wrap:break-word]`,children:YI(e)}),t?(0,Q.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[o?e.canImport&&(0,Q.jsx)(D,{type:`button`,"data-action":`import`,disabled:s,onClick:()=>l(`import`),children:`Import changes from the old home`}):(0,Q.jsx)(D,{type:`button`,"data-action":`restore`,disabled:s||!e.canRestore,onClick:()=>l(`restore`),children:`Restore`}),(0,Q.jsx)(D,{type:`button`,variant:`outline`,"data-action":`accept`,disabled:s,onClick:()=>l(`accept`),children:o?`Ignore`:`Accept as found`})]}):t===!1&&(0,Q.jsxs)(`p`,{className:`basis-full`,children:[o?e.canImport?`Only the host operator can import or ignore this file.`:`Only the host operator can ignore this file.`:`Only the host operator can restore or accept this file.`,e.file.startsWith(`remote-settings/`)&&(o?(0,Q.jsxs)(Q.Fragment,{children:[` `,e.canImport&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`code`,{children:[i(),` backup import `,e.file]}),` or `]}),(0,Q.jsxs)(`code`,{children:[i(),` backup ignore `,e.file]})]}):(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsxs)(`code`,{children:[i(),` backup restore `,e.file]})]}))]}),t&&c&&(0,Q.jsx)(`p`,{role:`alert`,className:`basis-full text-danger`,children:c.message})]})}function ZI(){let e=ru(),t=U().data?.capabilities?.localHandoff;return(0,Q.jsx)(`div`,{"data-slot":`home-recovery-state`,"data-state":e.isSuccess?`ready`:e.isError?`error`:`pending`,children:e.data?.files.map(e=>(0,Q.jsx)(XI,{file:e,editable:!e.file.startsWith(`remote-settings/`)&&t},e.file))})}var QI=`cez-project-rail-expanded`;function $I(e,t){return e-232-t>=640}function eL(){try{return localStorage.getItem(QI)===`1`}catch{return!1}}function tL(e){try{localStorage.setItem(QI,e?`1`:`0`)}catch{}}function nL(e){if(e!==void 0)return e.isDragging?`relative z-10 opacity-40 [-webkit-touch-callout:none]`:`[-webkit-touch-callout:none]`}function rL({project:e,signal:t,known:n,current:r,target:i,onSwitchProject:a,onSelectProject:o,sort:s}){let c=BC(e.name,t,{unknown:!n});return(0,Q.jsxs)(`div`,{ref:s?.setNodeRef,style:s?.style,...s?.listeners,"data-slot":`rail-project`,"data-project-id":e.id,"data-dragging":s?.isDragging?``:void 0,className:O(`relative flex h-[52px] w-full shrink-0 items-center justify-center`,nL(s)),children:[r?(0,Q.jsx)(`span`,{"aria-hidden":`true`,"data-slot":`rail-current-bar`,className:`absolute top-1/2 left-0 h-5 w-[3px] -translate-y-1/2 rounded-r-[2px] bg-foreground`}):null,(0,Q.jsxs)(`div`,{className:`relative size-9`,children:[(0,Q.jsx)(w,{ref:s?.setActivatorNodeRef,"aria-describedby":s?.attributes[`aria-describedby`],to:i.href,onClick:t=>{t.defaultPrevented||t.button!==0||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||(o?.(e.id),i.verify&&a&&(t.preventDefault(),a(e.id)))},"aria-label":c,title:c,"aria-current":r?`page`:void 0,className:O(`flex size-full items-center justify-center rounded-[9px] border text-[12px] leading-none font-semibold focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring`,r?`border-soft-foreground bg-sidebar-row-selected text-foreground`:`border-transparent bg-muted text-muted-foreground hover:text-foreground`),children:UC(e.name)}),(0,Q.jsx)(AF,{position:`top`,segments:jF(t).top}),(0,Q.jsx)(AF,{position:`bottom`,segments:jF(t).bottom})]})]})}var iL=`motion-safe:rail-text-in`;function aL({project:e,signal:t,known:n,current:r,target:i,onSwitchProject:a,onSelectProject:o,sort:s}){let c=BC(e.name,t,{unknown:!n}),{top:l,bottom:u}=jF(t),d=r?`border-sidebar-row-selected`:`border-background group-hover:border-sidebar-row-hover`;return(0,Q.jsxs)(`div`,{ref:s?.setNodeRef,style:s?.style,...s?.listeners,"data-slot":`rail-project`,"data-project-id":e.id,"data-dragging":s?.isDragging?``:void 0,className:O(`group/row relative w-full shrink-0`,nL(s)),children:[(0,Q.jsxs)(w,{to:i.href,onClick:t=>{t.defaultPrevented||t.button!==0||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||(o?.(e.id),i.verify&&a&&(t.preventDefault(),a(e.id)))},"aria-label":c,"aria-current":r?`page`:void 0,className:O(`group flex h-[52px] w-full items-center gap-[10px] rounded-[8px] px-[6px] pr-6 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring`,r?`bg-sidebar-row-selected`:`hover:bg-sidebar-row-hover`),children:[(0,Q.jsxs)(`span`,{"aria-hidden":`true`,"data-slot":`rail-mark`,className:O(`relative flex size-9 shrink-0 items-center justify-center rounded-[9px] border text-[12px] leading-none font-semibold`,r?`border-soft-foreground bg-sidebar text-foreground`:`border-transparent bg-muted text-muted-foreground`),children:[UC(e.name),(0,Q.jsx)(AF,{position:`top`,segments:l,className:d}),(0,Q.jsx)(AF,{position:`bottom`,segments:u,className:d})]}),(0,Q.jsxs)(`span`,{className:O(`flex min-w-0 flex-1 flex-col gap-px`,iL),children:[(0,Q.jsx)(`span`,{"data-slot":`rail-project-name`,className:O(`truncate text-[13.5px] leading-[18px] font-semibold`,r?`text-foreground`:`text-muted-foreground`),children:e.name}),(0,Q.jsx)(DF,{signal:t,known:n,current:r,maxParts:2,slot:`rail-project-state`,className:`h-4 gap-x-[4px] overflow-hidden text-[11px] leading-4 whitespace-nowrap`})]})]}),s?(0,Q.jsx)(oL,{name:e.name,sort:s}):null]})}function oL({name:e,sort:t}){return(0,Q.jsx)(`button`,{type:`button`,ref:t.setActivatorNodeRef,"data-slot":`rail-project-grip`,...t.attributes,"aria-label":`Reorder ${e}, position ${t.position} of ${t.total}`,className:O(`absolute top-1/2 right-0.5 flex h-10 w-5 -translate-y-1/2 cursor-grab touch-none items-center justify-center rounded text-soft-foreground opacity-0 outline-none transition-opacity hover:text-foreground motion-reduce:transition-none`,`focus-visible:opacity-100 focus-visible:ring-[3px] focus-visible:ring-ring/50`,`group-hover/row:opacity-100 group-focus-within/row:opacity-100 [@media(hover:none)]:opacity-100`),children:(0,Q.jsx)(Vm,{"aria-hidden":`true`,className:`size-3.5`})})}function sL({expanded:e,position:t,total:n,sortable:r,...i}){let{attributes:a,listeners:o,setNodeRef:s,setActivatorNodeRef:c,transform:l,transition:u,isDragging:d}=Uc({id:i.project.id,disabled:!r}),f=r?{setNodeRef:s,setActivatorNodeRef:c,style:{transform:Zc.Translate.toString(l),transition:u},listeners:o,attributes:a,isDragging:d,position:t,total:n}:void 0;return e?(0,Q.jsx)(aL,{...i,sort:f}):(0,Q.jsx)(rL,{...i,sort:f})}var cL=({transform:e})=>({...e,x:0}),lL=class extends Bc{static activators=[{eventName:`onPointerDown`,handler:({nativeEvent:e},t)=>e.pointerType!==`touch`&&Bc.activators[0].handler({nativeEvent:e},t)}]},uL={delay:250,tolerance:5},dL={start:[zc.Space],cancel:[zc.Esc],end:[zc.Space,zc.Enter,zc.Tab]},fL={droppable:{strategy:Xc.Always}},pL={draggable:`To reorder projects, press Space to pick this project up. Use the up and down arrow keys to move it, Space to drop it, or Escape to cancel.`};function mL(e,t){let[n,r]=Z.useState(null),i=Z.useMemo(()=>{if(n===null||n.base!==e)return e;let t=new Map(e.map(e=>[e.id,e]));return n.ids.flatMap(e=>t.get(e)??[])},[n,e]),a=Z.useMemo(()=>i.map(e=>e.id),[i]),o=Lc(Hc(lL,{activationConstraint:{distance:6}}),Hc(Vc,{activationConstraint:uL}),Hc(Wc,{coordinateGetter:Jc,keyboardCodes:dL})),s=Z.useRef(null),c=Z.useCallback(()=>{s.current?.();let e=e=>e.preventDefault();window.addEventListener(`click`,e,!0),s.current=()=>{window.removeEventListener(`click`,e,!0),s.current=null}},[]),l=Z.useCallback(()=>{let e=s.current;window.setTimeout(()=>e?.(),0)},[]);Z.useEffect(()=>()=>s.current?.(),[]);let u=Z.useCallback(n=>{l();let{active:i,over:o}=n;if(!t||o===null||o.id===i.id)return;let s=fS(a,a.indexOf(String(i.id)),a.indexOf(String(o.id)));s.some((e,t)=>e!==a[t])&&(r({base:e,ids:s}),t(s))},[l,e,a,t]);return{projects:i,ids:a,sensors:o,announcements:Z.useMemo(()=>{let e=e=>{let t=a.indexOf(String(e));return{name:i[t]?.name??String(e),position:`position ${t+1} of ${a.length}`}};return{onDragStart:({active:t})=>`Picked up ${e(t.id).name}, ${e(t.id).position}.`,onDragOver:({active:t,over:n})=>n?`${e(t.id).name} moved to ${e(n.id).position}.`:`${e(t.id).name} is not over a drop position.`,onDragEnd:({active:t,over:n})=>n?`${e(t.id).name} dropped at ${e(n.id).position}.`:`${e(t.id).name} dropped. The order is unchanged.`,onDragCancel:({active:t})=>`Reordering cancelled. ${e(t.id).name} returned to ${e(t.id).position}.`}},[a,i]),onDragStart:c,onDragEnd:u,onDragCancel:l}}function hL(e){return O(`flex shrink-0 items-center rounded-[8px] text-soft-foreground hover:bg-sidebar-row-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring`,e?`size-auto h-9 w-full justify-start gap-3 px-2.5 text-[13px] font-normal`:`size-9 justify-center`)}var gL=O(`truncate text-muted-foreground group-hover:text-foreground`,iL);function _L({to:e,label:t,slot:n,active:r,expanded:i,children:a}){return(0,Q.jsxs)(w,{to:e,"data-slot":n,"aria-label":t,title:i?void 0:t,"aria-current":r?`page`:void 0,className:O(`group`,hL(i),r&&`bg-sidebar-row-selected text-foreground hover:bg-sidebar-row-selected`),children:[a,i?(0,Q.jsx)(`span`,{className:gL,children:t}):null]})}function vL(e){let[t,n]=Z.useState(()=>window.innerWidth);return Z.useEffect(()=>{let e=()=>n(window.innerWidth);return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),$I(t,e)}function yL(){let e=vL(Z.useContext(hI));return(0,Q.jsx)(`div`,{"aria-hidden":`true`,"data-slot":`project-rail-placeholder`,style:{width:eL()&&e?232:60},className:`hidden shrink-0 border-r border-border bg-background md:block`})}var bL=e=>({href:String(ks(e,`/`)),verify:!1});function xL({expanded:e,resolvedTheme:t,version:n}){let r=n?`${a(`Cezarion`)} v${n}`:a(`Cezarion`);return e?(0,Q.jsxs)(`div`,{"data-slot":`rail-identity`,className:`flex shrink-0 flex-col gap-0.5`,children:[(0,Q.jsxs)(`div`,{className:`flex h-[34px] items-center gap-[10px] px-0.5`,children:[(0,Q.jsx)(`img`,{src:`/cezarion-mark-${t}.svg`,alt:``,"aria-hidden":`true`,"data-slot":`rail-app-mark`,className:`size-[34px] shrink-0 rounded-[8px]`}),(0,Q.jsxs)(`span`,{className:O(`flex min-w-0 items-baseline gap-[10px] whitespace-nowrap`,iL),"aria-label":r,children:[(0,Q.jsx)(`span`,{className:`text-[15px] leading-none font-bold text-foreground`,children:a(`Cezarion`)}),n?(0,Q.jsxs)(`span`,{"data-slot":`rail-version`,title:`v${n}`,className:`min-w-0 truncate text-[11px] leading-none text-soft-foreground`,children:[`v`,n]}):null]})]}),(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:`h-px w-full bg-border`}),(0,Q.jsx)(`div`,{className:O(`px-1 pt-2.5 pb-1 text-[11px] font-medium text-soft-foreground`,iL),children:`Projects`})]}):(0,Q.jsxs)(`div`,{className:`flex shrink-0 flex-col items-center gap-0.5`,children:[(0,Q.jsx)(`img`,{src:`/cezarion-mark-${t}.svg`,alt:r,title:r,"data-slot":`rail-app-mark`,className:`size-[34px] rounded-[9px]`}),(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:`mt-0.5 mb-1.5 h-px w-6 bg-border`})]})}function SL({expanded:e,singleProject:t}){return t?null:e?(0,Q.jsx)(_F,{origin:`rail`,icon:uo,iconClassName:`size-[15px] text-soft-foreground`,iconFrameClassName:`flex size-9 shrink-0 items-center justify-center rounded-[9px] border border-border`,label:`Add project`,side:`right`,triggerClassName:O(`h-[44px] w-full shrink-0 justify-start gap-[10px] rounded-[8px] px-[6px] text-[13px] font-normal text-muted-foreground hover:bg-sidebar-row-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring motion-safe:[&>span:last-child]:rail-text-in`)}):(0,Q.jsx)(_F,{origin:`rail`,icon:uo,iconClassName:`size-[15px]`,side:`right`,triggerClassName:`shrink-0 rounded-[9px] border border-border text-soft-foreground hover:bg-muted hover:text-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring`})}function CL({roomToExpand:e,expanded:t,toggle:n,railId:r,singleProject:i,allProjectsActive:a,settingsActive:o}){return(0,Q.jsxs)(`div`,{"data-slot":`rail-bottom`,className:O(`flex shrink-0 flex-col gap-0.5 pt-2`,t?`items-stretch`:`items-center`),children:[e?(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`rail-expand-toggle`,"aria-expanded":t,"aria-controls":r,"aria-label":t?`Collapse projects`:`Expand projects`,title:t?void 0:`Expand projects`,onClick:n,className:O(`group`,hL(t)),children:[t?(0,Q.jsx)(Qm,{className:`size-4 shrink-0`,"aria-hidden":`true`}):(0,Q.jsx)($m,{className:`size-4 shrink-0`,"aria-hidden":`true`}),t?(0,Q.jsx)(`span`,{className:gL,children:`Collapse`}):null]}):null,i?null:(0,Q.jsx)(_L,{to:`/tasks`,label:`All projects`,slot:`rail-all-projects`,active:a,expanded:t,children:(0,Q.jsx)(Ya,{className:`size-4 shrink-0`,"aria-hidden":`true`})}),(0,Q.jsx)(_L,{to:`/settings/global/appearance`,label:`Global settings`,slot:`rail-global-settings`,active:o,expanded:t,children:(0,Q.jsx)(qa,{className:`size-4 shrink-0`,"aria-hidden":`true`})}),(0,Q.jsx)(xN,{showLabel:t,labelClassName:gL,className:O(`group`,hL(t),`[&_svg]:size-4`)})]})}function wL({projects:e,signals:n,version:r,singleProject:i,projectTarget:a=bL,onSwitchProject:o,onSelectProject:s,canReorder:c=!1,onReorder:l}){let{pathname:u}=t(),{resolvedTheme:d}=cS(),f=Z.useContext(hI),[p,m]=Z.useState(eL),h=vL(f),g=p&&h,_=()=>{let e=!g;m(e),tL(e)},v=js(u),y=u===`/tasks`,b=u===`/settings/global`||u.startsWith(`/settings/global/`),x=Z.useId(),S=mL(e,l),C=c&&l!==void 0&&e.length>1;return(0,Q.jsxs)(`nav`,{id:x,"aria-label":`Projects`,"data-slot":`project-rail`,"data-expanded":g?`true`:`false`,style:{width:g?232:60},className:O(`hidden shrink-0 flex-col overflow-hidden border-r border-border bg-background pt-3 pb-3.5 transition-[width] duration-[160ms] ease-out motion-reduce:transition-none md:flex`,g?`items-stretch px-2.5`:`items-center`),children:[(0,Q.jsx)(xL,{expanded:g,resolvedTheme:d,version:r}),(0,Q.jsxs)(`div`,{"data-slot":`rail-projects`,className:O(`flex min-h-0 w-full flex-1 flex-col gap-0.5 overflow-y-auto overscroll-contain [scrollbar-width:none]`,g?`items-stretch`:`items-center`),children:[(0,Q.jsx)(Kc,{sensors:S.sensors,collisionDetection:qc,measuring:fL,modifiers:[cL],accessibility:{announcements:S.announcements,screenReaderInstructions:pL},onDragStart:S.onDragStart,onDragEnd:S.onDragEnd,onDragCancel:S.onDragCancel,children:(0,Q.jsx)(Yc,{items:S.ids,strategy:Rc,disabled:!C,children:S.projects.map((e,t)=>(0,Q.jsx)(sL,{expanded:g,sortable:C,position:t+1,total:S.projects.length,project:e,signal:n?.get(e.id),known:n!==null,current:e.id===v,target:a(e.id),onSwitchProject:o,onSelectProject:s},e.id))})}),(0,Q.jsx)(SL,{expanded:g,singleProject:i})]}),(0,Q.jsx)(CL,{roomToExpand:h,expanded:g,toggle:_,railId:x,singleProject:i,allProjectsActive:y,settingsActive:b})]})}function TL(){let e=I(),t=yn().data?.projects,{order:n,canReorder:r,setOrder:i}=mS(),a=r&&t!==void 0&&lS(t.length),o=Z.useMemo(()=>t?dS(t,n):void 0,[t,n]),s=Dn().data,c=U().data?.capabilities.singleProject===!0,l=Z.useMemo(()=>s?zC(s.runs):null,[s]),u=t?.map(e=>e.id).sort().join(`
|
|
12
|
+
`),d=Z.useRef(void 0);return Z.useEffect(()=>{if(u===void 0)return;let t=d.current;if(d.current=u,t===void 0||t===u)return;let n=new Set(t.split(`
|
|
13
|
+
`)),r=new Set(u.split(`
|
|
14
|
+
`)),i=vi(e);for(let e of n)r.has(e)||i.dropProject(e);let a=[...r].filter(e=>!n.has(e));for(let e of a)i.restoreProject(e);a.length>0&&i.reconcile({hold:!0})},[e,u]),Z.useMemo(()=>o?{projects:o,signals:l,singleProject:c,canReorder:a,onReorder:i}:null,[o,l,c,a,i])}var EL=60;function DL(e){return`title`in e?`Archived "${e.title.length>EL?`${e.title.slice(0,EL-1)}…`:e.title}"`:`Archived ${e.count} ${e.count===1?`task`:`tasks`}`}async function OL(e,t,n){let r=new Set(n),i=(await Promise.allSettled(t.map(async t=>{await Ft(In(t,{projectId:e}),!1),r.has(t)&&await Ge(In(t,{projectId:e}),!0)}))).find(e=>e.status===`rejected`);i&&K(i.reason instanceof Error?i.reason.message:`Could not undo the archive.`,{tone:`danger`})}function kL(){let e=document.activeElement;return!e||e===document.body||!e.isConnected}function AL(e,t){if(!e.isConnected)return t();let n=new MutationObserver(()=>{e.isConnected||(n.disconnect(),clearTimeout(r),t())}),r=setTimeout(()=>n.disconnect(),5e3);n.observe(document.body,{childList:!0,subtree:!0})}function jL(e,t){if(!kL())return;let n=e?.isConnected?e:t?.isConnected?t:null;n instanceof HTMLElement&&(n.tabIndex<0&&!n.hasAttribute(`tabindex`)&&(n.tabIndex=-1),n.focus({preventScroll:!0}))}function ML(e,t,n){if(!e)return()=>{};let r=t(e);return()=>AL(e,()=>jL(r,n))}function NL(e){let t=document.activeElement?.closest(`[data-slot="task-row"]`);return t?.getAttribute(`data-run-id`)===e?t:Array.from(document.querySelectorAll(`[data-slot="task-row"]`)).find(t=>t.getAttribute(`data-run-id`)===e)??null}var PL=e=>e?.querySelector(`a`)??null;function FL(e,t){let n=e?.projectId,r=e?.cacheScope,i=wn(),[a,s]=Z.useState(null),c=e=>i.invalidateAfter(`runs`,ar({projectId:n,cacheScope:e})),l=(e,t,r,i)=>K(e,{action:{label:`Undo`,onAction:()=>void OL(n,r,i).finally(()=>void c(t))}}),u=Z.useRef(new Map);return{archiveOne:e=>{let i=u.current.get(e.id);if(i)return i;let a=r??o(),s=!!e.pinned,d=NL(e.id),f=ML(d,e=>{let t=Array.from(e.closest(`[data-slot="quick-list-bucket"]`)?.querySelectorAll(`[data-slot="task-row"]`)??[]),n=t.indexOf(e);return PL(t[n+1]??t[n-1])},d?.closest(`[data-slot="quick-list-bucket"]`)?.parentElement??null),p=Ft(In(e.id,{projectId:n}),!0).then(()=>(c(a),l(DL({title:V(e)}),a,[e.id],s?[e.id]:[]),f(),t?.(),!0),e=>(K(e.message,{tone:`danger`}),!1)).finally(()=>u.current.delete(e.id));return u.current.set(e.id,p),p},sweep:(e,i)=>{let a=r??o();s(e);let u=document.activeElement,d=u?.matches(`[data-action="archive-group"]`)?u:null,f=ML(d,e=>PL(e.closest(`[data-slot="quick-list-bucket"]`)?.nextElementSibling?.querySelector(`[data-slot="task-row"]`)??void 0),d?.closest(`[data-slot="quick-list-bucket"]`)?.parentElement??null);Tt(ar({projectId:n}),e,i).then(({ids:e,pinnedIds:n})=>{c(a),e.length>0&&l(DL({count:e.length}),a,e,n),f(),e.length>0&&t?.()},e=>K(e.message,{tone:`danger`})).finally(()=>s(null))},sweeping:a}}var IL=.6,LL=300,RL=100,zL={offset:0,phase:`idle`,past:!1},BL=null;function VL(e,t){BL&&BL.id!==e&&BL.close(),BL={id:e,close:t}}function HL(e){BL?.id===e&&(BL=null)}function UL(){if(!(typeof navigator>`u`||typeof navigator.vibrate!=`function`))try{navigator.vibrate(10)}catch{}}function WL({id:e,enabled:t,onArchive:n}){let[r,i]=Z.useState(zL),a=Z.useRef(null),o=Z.useRef(null),s=Z.useRef(!1),c=Z.useRef(!1),l=Z.useRef(void 0),u=()=>{c.current=!0,clearTimeout(l.current),l.current=void 0},d=()=>{c.current&&(clearTimeout(l.current),l.current=setTimeout(()=>{c.current=!1},LL))};Z.useEffect(()=>()=>clearTimeout(l.current),[]);let f=Z.useRef(r);f.current=r;let p=Z.useRef(n);p.current=n;let m=Z.useCallback(()=>{o.current=null,s.current=!1,HL(e),i(zL)},[e]);Z.useEffect(()=>{!t&&f.current.phase!==`committing`&&m()},[t,m]),Z.useEffect(()=>()=>HL(e),[e]);let h=r.phase===`open`;Z.useEffect(()=>{if(!h)return;let e=()=>m(),t=e=>{let t=a.current;t&&e.target instanceof Node&&t.contains(e.target)||m()};return document.addEventListener(`scroll`,e,{capture:!0,passive:!0}),document.addEventListener(`pointerdown`,t,!0),()=>{document.removeEventListener(`scroll`,e,{capture:!0}),document.removeEventListener(`pointerdown`,t,!0)}},[h,m]);let g=t=>{HL(e),i({offset:-t,phase:`committing`,past:!0});let n=e=>{e===!1&&m()};try{let e=p.current();e&&typeof e.then==`function`&&e.then(n,m)}catch{m()}};return{offset:r.offset,phase:r.phase,past:r.past,surfaceRef:a,bind:{onPointerDown:e=>{if(c.current=!1,!t||f.current.phase===`committing`||e.pointerType===`mouse`&&e.button!==0)return;let n=(a.current??e.currentTarget).getBoundingClientRect();o.current={pointerId:e.pointerId,x0:e.clientX,y0:e.clientY,base:f.current.phase===`open`?-88:0,width:n.width>0?n.width:320,axis:null,wasOpen:f.current.phase===`open`,samples:[{x:e.clientX,t:Date.now()}]}},onPointerMove:t=>{let n=o.current;if(!n||t.pointerId!==n.pointerId)return;let r=t.clientX-n.x0,a=t.clientY-n.y0;if(n.axis===null){if(Math.max(Math.abs(r),Math.abs(a))<10||(n.axis=Math.abs(r)>Math.abs(a)?`x`:`y`,n.axis===`y`))return;try{t.currentTarget.setPointerCapture?.(t.pointerId)}catch{}VL(e,m),u()}if(n.axis!==`x`)return;let c=Math.min(0,Math.max(-n.width,n.base+r)),l=-c>=IL*n.width;l&&!s.current&&UL(),s.current=l,n.samples.push({x:t.clientX,t:Date.now()}),n.samples.length>8&&n.samples.shift(),i({offset:c,phase:`dragging`,past:l})},onPointerUp:t=>{let n=o.current;if(!n||t.pointerId!==n.pointerId)return;if(o.current=null,n.axis!==`x`){n.axis===null&&n.wasOpen&&(u(),d(),m());return}d();let r=f.current.offset,a=Date.now(),c={x:t.clientX,t:a},l=n.samples.find(e=>a-e.t<=RL&&e.t<a),p=l?(c.x-l.x)/(c.t-l.t):0;s.current=!1,f.current.past||p<=-1&&-r>=40?g(n.width):p<1&&-r>=40?(VL(e,m),i({offset:-88,phase:`open`,past:!1})):m()},onPointerCancel:e=>{let t=o.current;!t||e.pointerId!==t.pointerId||(o.current=null,d(),t.axis===`x`&&m())},onClickCapture:e=>{c.current&&(c.current=!1,e.preventDefault(),e.stopPropagation())},onKeyDownCapture:()=>{c.current=!1}},close:m}}var GL=`opacity-0 group-hover/task-row:opacity-100 focus-visible:opacity-100 group-has-[:focus-visible]/task-row:opacity-100 no-hover:opacity-100`,KL=`opacity-0 group-hover/task-row:opacity-100 focus-visible:opacity-100 group-has-[:focus-visible]/task-row:opacity-100`,qL=`transition-opacity motion-reduce:transition-none group-hover/task-row:opacity-0 group-has-[:focus-visible]/task-row:opacity-0 max-md:absolute max-md:top-1/2 max-md:left-0 max-md:-translate-y-1/2 max-md:opacity-100 no-hover:absolute no-hover:top-1/2 no-hover:left-0 no-hover:-translate-y-1/2 no-hover:opacity-100`;function JL({run:e,title:t,unread:n,inertReferences:r,onTogglePin:i,onArchiveRun:a}){return(0,Q.jsxs)(`span`,{"data-slot":`task-row-trailing`,className:`relative flex h-[19px] w-[16px] shrink-0 items-center justify-center max-md:h-auto max-md:w-11 max-md:self-stretch no-hover:h-auto no-hover:w-11 no-hover:self-stretch`,children:[n?(0,Q.jsx)(vb,{tone:IC(e),role:`img`,"aria-label":`unread`,title:`Unread — not opened since it finished`,"data-slot":`unread-marker`,className:i?qL:void 0}):null,i?(0,Q.jsx)(aE,{pinned:!!e.pinned,onToggle:t=>i(e,t),className:O(`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2`,GL)}):null,a&&!r&&jn(e)?(0,Q.jsx)(`button`,{type:`button`,"data-action":`archive-run`,"aria-label":`Archive ${t}`,title:`Archive task`,onClick:t=>{t.stopPropagation(),a(e)},className:O(`absolute top-[19.5px] left-1/2 inline-flex size-5 -translate-x-1/2 items-center justify-center rounded-sm text-muted-foreground transition-colors hover:text-foreground focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none motion-reduce:transition-none`,KL),children:(0,Q.jsx)(zo,{className:`size-[12px] -translate-y-[2.5px]`,"aria-hidden":`true`})}):null]})}function YL({inertReferences:e,swipeable:t,swipe:n,title:r,onArchive:i,children:a}){return e?(0,Q.jsxs)(`div`,{ref:n.surfaceRef,"data-slot":`task-row-swipe`,"data-swipe":t?`on`:void 0,className:O(`relative rounded-[6px]`,t&&`touch-pan-y touch-pinch-zoom overflow-hidden`),children:[n.offset<0?(0,Q.jsx)(XL,{width:-n.offset,past:n.past,title:r,onArchive:i}):null,a]}):a}function XL({width:e,past:t,title:n,onArchive:r}){return(0,Q.jsx)(`div`,{"data-slot":`task-row-swipe-action`,"data-past":t?`true`:void 0,"aria-hidden":`true`,style:{width:e},className:O(`absolute inset-y-0 right-0 flex items-stretch justify-end overflow-hidden rounded-[6px]`,t?`bg-info text-signal-ink`:`bg-muted text-foreground`),children:t?(0,Q.jsxs)(`span`,{className:`flex w-full items-center justify-center gap-2 text-[12px] font-semibold whitespace-nowrap`,children:[(0,Q.jsx)(zo,{className:`size-[16px] shrink-0`,"aria-hidden":`true`}),`Release to archive`]}):(0,Q.jsxs)(`button`,{type:`button`,tabIndex:-1,"aria-label":`Archive ${n}`,onClick:e=>{e.stopPropagation(),r()},className:`flex w-[88px] shrink-0 flex-col items-center justify-center gap-1 text-[12px] font-semibold`,children:[(0,Q.jsx)(zo,{className:`size-[16px]`,"aria-hidden":`true`}),`Archive`]})})}var ZL=`[&>[data-ellipsis-hidden]]:pointer-events-none`,QL=`data-ellipsis-hidden`,$L=new Map;function eR(e){let t=getComputedStyle(e),n=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily} ${t.letterSpacing}`,r=$L.get(n);if(r!==void 0)return r;let i=document.createElement(`span`);i.textContent=`…`,i.setAttribute(`aria-hidden`,`true`),Object.assign(i.style,{position:`absolute`,visibility:`hidden`,whiteSpace:`pre`,fontStyle:t.fontStyle,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFamily:t.fontFamily,letterSpacing:t.letterSpacing}),document.body.appendChild(i);let a=i.getBoundingClientRect().width;i.remove();let o=a||parseFloat(t.fontSize)||12;return a&&(!document.fonts||document.fonts.status===`loaded`)&&$L.set(n,o),o}function tR(e,t){if(e.scrollWidth<=e.clientWidth)return[];let n=e.getBoundingClientRect(),r=parseFloat(getComputedStyle(e).paddingRight)||0,i=n.left+e.clientLeft+e.clientWidth-r-t+.5;return Array.from(e.children).filter(e=>e.getBoundingClientRect().right>i)}function nR(e,t,n){Z.useLayoutEffect(()=>{let n=e.current;if(!t||!n||typeof ResizeObserver>`u`)return;let r=!0,i=()=>{if(!r)return;let e=new Set(tR(n,eR(n)));for(let t of Array.from(n.children))t.hasAttribute(QL)!==e.has(t)&&t.toggleAttribute(QL,e.has(t))},a=new ResizeObserver(i),o=new Set,s=()=>{for(let e of Array.from(n.children))o.has(e)||(o.add(e),a.observe(e))};a.observe(n),s(),i();let c=typeof MutationObserver>`u`?null:new MutationObserver(()=>{s(),i()});return c?.observe(n,{childList:!0}),document.fonts&&document.fonts.status!==`loaded`&&document.fonts.ready.then(i),()=>{r=!1,a.disconnect(),c?.disconnect();for(let e of Array.from(n.children))e.removeAttribute(QL)}},[e,t,n])}var rR=`(hover: none)`;function iR(){let[e,t]=(0,Z.useState)(()=>typeof window.matchMedia==`function`&&window.matchMedia(rR).matches);return(0,Z.useEffect)(()=>{if(typeof window.matchMedia!=`function`)return;let e=window.matchMedia(rR);t(e.matches);let n=e=>t(e.matches);return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}var aR={"needs-permission":`label`,failed:`label`,"needs-you":`none`,"needs-review":`label`,running:`label`,"usage-limit":`resume`,"waiting-on-workers":`label`,"waiting-on-subagents":`label`,"waiting-for-ci":`label`,"waiting-for-merge":`label`,"waiting-for-command":`until`,monitoring:`next-check`,"waiting-for-capacity":`label`,queued:`queue-position`,done:`none`,cancelled:`none`,unseen:`label`};function oR(e,t,n,r){let{label:i}=e;switch(aR[e.rung]){case`none`:return;case`queue-position`:return t===null?i:`queued #${t}`;case`resume`:{let e=ns(n.autoResumeAt,r);return e===`scheduled`?i:`${i}, ${e}`}case`next-check`:{let e=Lt(n),t=e?.kind===`timer`?new Date(e.at):void 0;return t&&Number.isFinite(t.getTime())?`${i}, next check ${rs(t,new Date(r))}`:i}case`until`:{let e=Lt(n),t=e?.kind===`process`?new Date(e.deadline):void 0;return t&&Number.isFinite(t.getTime())?`${i}, until ${rs(t,new Date(r))}`:i}case`label`:return i}}function sR({run:e,attention:t,queuePosition:n,inWorkingGroup:r,scope:i,now:a}){let o=Cr(e,void 0,i??void 0),s=n===null?ts(e.finishedAt??e.createdAt,a):``,c=r&&t.rung===`running`?void 0:oR(t,n,e,a);return{stateWord:c,references:o,age:s,key:`${s}|${c??``}|${o.map(e=>`${e.kind}-${e.number}-${e.url}`).join(`,`)}|${+!!e.notify}`}}function cR(e){let t=V(e);return{title:t,displayTitle:tr(t,ii(e)?.number)?Br(t).rest:t}}var lR=`cez-sidebar-sections-changed`;function uR(e){let[t,n]=(0,Z.useState)(()=>fD(uD)),[r,i]=(0,Z.useState)({}),a=(0,Z.useRef)(t);(0,Z.useEffect)(()=>{let e=e=>{if(e instanceof StorageEvent&&e.key!==null&&e.key!==`cez-sidebar-sections-collapsed`)return;let t=e instanceof CustomEvent?e.detail:fD(uD);a.current=t,n(t)};return window.addEventListener(`storage`,e),window.addEventListener(lR,e),()=>{window.removeEventListener(`storage`,e),window.removeEventListener(lR,e)}},[]),(0,Z.useEffect)(()=>{if(e===null||Object.keys(r).length===0)return;let t={...a.current};for(let[n,i]of Object.entries(r))t[JSON.stringify([e,n])]=i;i({}),a.current=t,n(t),pD(t,uD),window.dispatchEvent(new CustomEvent(lR,{detail:t}))},[e,r]);let o=t=>JSON.stringify([e,t]);return{isCollapsed:e=>e!==`Archived`&&(r[e]??t[o(e)])===!0,toggle:t=>{if(e===null){i(e=>({...e,[t]:e[t]!==!0}));return}let r=o(t),s={...a.current,[r]:a.current[r]!==!0};a.current=s,n(s),pD(s,uD),window.dispatchEvent(new CustomEvent(lR,{detail:s}))}}}function dR({runs:e,view:t,onViewChange:n,currentRunId:r=null,now:i=Date.now(),onTogglePin:a,onArchiveRun:o,onSweep:s,sweeping:c=null,showViewControls:l=!0,rowLimit:u,sidebarLimits:d,projectId:f=null}){let p=_I(),m=On(e),h=En(e,t),g=jr(h,`active`),_=Pr(g,d??u??{overall:null}),v=s?fR(h):void 0;return(0,Q.jsxs)(`div`,{"data-slot":`quick-list`,children:[(0,Q.jsxs)(`div`,{"data-slot":`quick-list-header`,className:`flex min-h-11 items-center gap-1.5 pr-[6px] pl-[10px] md:min-h-[26px]`,children:[(0,Q.jsx)(`h2`,{className:`text-[13px] font-semibold text-foreground`,children:`Tasks`}),(0,Q.jsx)(`span`,{className:`text-[11.5px] text-soft-foreground`,children:m[t]}),(0,Q.jsxs)(Y,{to:`/`,onClick:p,className:`ml-auto flex min-h-11 items-center gap-0.5 text-[12px] text-soft-foreground hover:text-foreground md:min-h-[26px]`,children:[`All`,(0,Q.jsx)(yo,{className:`size-[13px]`,"aria-hidden":`true`})]})]}),l?(0,Q.jsx)(`div`,{className:`sticky top-0 z-10 bg-sidebar pt-2 pb-1`,children:(0,Q.jsx)(`div`,{className:`inline-flex w-full gap-0.5 rounded-md bg-muted p-[2px]`,children:(0,Q.jsx)(ER,{view:t,onSelect:n,counts:m})})}):null,g.length===0?(0,Q.jsx)(`p`,{className:`px-3 py-3.5 text-xs text-soft-foreground`,children:t===`automations`?`No automation tasks.`:`No tasks yet — describe one.`}):(0,Q.jsx)(pR,{buckets:_,allBuckets:g,sectionProjectId:f,currentRunId:nr(r,e),now:i,onTogglePin:a,onArchiveRun:o,onSweep:s,sweeping:c,sweepCounts:v,view:t})]})}function fR(e){return{unpinned:qr(e,`unpinned`),pinned:qr(e,`pinned`)}}function pR({buckets:e,currentRunId:t=null,now:n=Date.now(),scope:r=null,onTogglePin:i,onArchiveRun:a,onSweep:o,sweeping:s=null,sweepCounts:c,projectName:l,allBuckets:u=e,sectionProjectId:d=r,view:f=`active`}){let p=Z.useId(),m=uR(d),h=Z.useRef(null),g=Z.useRef(null);Z.useLayoutEffect(()=>{let e=g.current;if(!e||e.element.isConnected||(g.current=null,document.activeElement!==document.body))return;let t=u.find(t=>t.rows.some(t=>t.run.id===e.id));if(!t)return;let n=Array.from(h.current?.children??[]).find(e=>e.dataset.bucket===t.label);(Array.from(n?.querySelectorAll(`[data-slot="task-row"]`)??[]).find(t=>t.dataset.runId===e.id)?.querySelector(`a`)??n?.querySelector(`[data-slot="section-toggle"]`))?.focus({preventScroll:!0})});let _=(e,o=!1)=>(0,Q.jsx)(xR,{inWorkingGroup:o,run:e.run,queuePosition:e.queuePosition,currentRunId:t,now:n,scope:r,onTogglePin:i,onArchiveRun:a});return(0,Q.jsx)(`div`,{ref:h,className:`flex flex-col gap-3`,onFocusCapture:e=>{let t=e.target.closest(`[data-slot="task-row"]`);g.current=t?.dataset.runId?{id:t.dataset.runId,element:e.target}:null},onBlurCapture:e=>{e.currentTarget.contains(e.relatedTarget)||(g.current=null)},children:u.map(t=>{let n=t.label===`Archived`,i=m.isCollapsed(t.label),a=e.find(({label:e})=>e===t.label)?.rows??[],u=t.rows.length,d=!n&&!i&&a.length<u,h=`${p}-${t.label.replaceAll(` `,`-`)}`;return(0,Q.jsxs)(`div`,{"data-slot":`quick-list-bucket`,"data-bucket":t.label,children:[(0,Q.jsxs)(`div`,{className:`flex items-center justify-between gap-2 pr-[6px]`,children:[(0,Q.jsx)(hR,{id:h,bucket:t,collapsed:i,cut:d,onToggle:m.toggle}),d?(0,Q.jsx)(mR,{section:t.label,shown:a.length,total:u,scope:r,view:f}):null,o&&c?(0,Q.jsx)(wR,{label:t.label,headingId:h,projectName:l,counts:c,onSweep:o,sweeping:s}):null]}),(0,Q.jsx)(`div`,{id:`${h}-rows`,hidden:i,children:!i&&a.map(e=>(0,Q.jsx)(`div`,{children:_(e,t.label===`Working`)},e.run.id))})]},t.label)})})}function mR({section:e,shown:t,total:n,scope:r,view:i}){let a=_I();return(0,Q.jsxs)(Y,{to:ks(r,pi(e,i)),onClick:a,"data-slot":`section-cut-link`,"aria-label":`${e}: showing ${t} of ${n}, see all`,title:`The sidebar shows ${t} of ${n} ${e} tasks. Click to see all of them. Change the limit in ${Ds(`sidebar`)}.`,className:`mr-auto -ml-1 flex min-h-[44px] min-w-[44px] shrink-0 items-center rounded-[4px] px-1 text-[11px] font-normal text-soft-foreground tabular-nums underline decoration-dotted underline-offset-[3px] hover:text-foreground focus-visible:outline-2 focus-visible:outline-link-foreground md:min-h-[26px] md:min-w-0 no-hover:min-h-[44px] no-hover:min-w-[44px]`,children:[t,` of `,n]})}function hR({id:e,bucket:t,collapsed:n,cut:r,onToggle:i}){let a=t.rows.length;if(t.label===`Archived`)return(0,Q.jsx)(`h2`,{id:e,className:`min-w-0 flex-1 text-[11px] font-medium text-soft-foreground`,children:(0,Q.jsxs)(`span`,{className:`px-[10px] pt-[2px] pb-[4px]`,children:[t.label,` `,a]})});let o=t.label,s=t.rows.map(e=>e.run),c=s.length?xe(_i(s)):null,l=s.some(Ln),u=n?yo:Vo;return(0,Q.jsx)(`h2`,{id:e,className:O(`min-w-0 text-[11px] font-medium text-soft-foreground`,r?`shrink-0`:`flex-1`),children:(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`section-toggle`,"aria-expanded":!n,"aria-controls":`${e}-rows`,"aria-label":`${o} ${a}`,onClick:()=>i(o),className:O(`flex min-h-[44px] items-center gap-1.5 rounded-[4px] px-[10px] text-left hover:bg-sidebar-row-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-link-foreground md:min-h-[26px] no-hover:min-h-[44px]`,r?`pr-[4px]`:`w-full`),children:[(0,Q.jsx)(u,{className:`size-[12px] shrink-0`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{children:o}),r?null:(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(`span`,{className:`font-normal tabular-nums`,children:a})]}),c&&(o===`Needs you`||n)?(0,Q.jsx)(vb,{tone:c.tone,shape:c.shape,pulse:c.pulse,role:`img`,"aria-label":c.label,title:c.label}):null,n&&l?(0,Q.jsx)(`span`,{role:`img`,"aria-label":`unread`,title:`Unread tasks`,className:`size-[5px] shrink-0 rounded-full bg-foreground`}):null]})})}function gR({view:e,current:t,onSelect:n,count:r,children:i}){let a=e===t;return(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`view-tab`,"data-view":e,"aria-pressed":a,onClick:()=>n(e),className:O(`flex min-h-11 min-w-0 flex-1 items-center justify-center gap-1.5 rounded-[7px] text-[11px] font-medium text-muted-foreground md:min-h-[22px]`,a&&`bg-card font-semibold text-foreground shadow-xs`),children:[i,r>0?(0,Q.jsx)(`span`,{className:`font-mono text-[11px] tabular-nums`,children:r}):null]})}function _R(){let e=iR(),t=ZT();return e||!t}function vR(e){let t=document.createRange();t.selectNodeContents(e);let n=t.getBoundingClientRect?.().width,r=e.querySelector(`[data-reference-width]`),i=r?Math.max(0,Number(r.dataset.referenceWidth)-r.getBoundingClientRect().width):0;return Math.ceil((n||e.scrollWidth)+i)}function yR(e,t,n){let[r,i]=Z.useState(!1),[a,o]=Z.useState(0),s=Z.useRef(!1),c=Z.useRef(!1),l=Z.useRef(null),u=Z.useCallback(e=>{s.current=e,i(e)},[]);return Z.useLayoutEffect(()=>{let r=e.current;if(!t||!r||typeof ResizeObserver>`u`){l.current=null,u(!1);return}let i=!0,a=()=>{if(i){if(l.current?.key!==n){if(s.current){u(!1),o(e=>e+1);return}l.current={key:n,width:vR(r)}}u(l.current.width>r.clientWidth)}};a();let d=new ResizeObserver(a);d.observe(r);let f=new WeakMap,p=new ResizeObserver(e=>{let t=!1;for(let n of e??[]){let e=n.borderBoxSize?.[0]?.inlineSize??n.contentRect.width,r=f.get(n.target);f.set(n.target,e),r!==void 0&&r!==e&&(t=!0)}!t||!i||(l.current=null,a())}),m=new Set,h=()=>{let e=!1;for(let t of[...r.children,...r.querySelectorAll(`[data-slot="reference-list"] [data-slot="pr-chip"], [data-slot="reference-list"] [data-slot="issue-chip"]`)]){let{slot:n}=t.dataset;n===`task-row-age`||t.getAttribute(`aria-hidden`)===`true`||m.has(t)||(m.add(t),f.set(t,t.getBoundingClientRect().width),p.observe(t),e=!0)}return e};h();let g=typeof MutationObserver>`u`?null:new MutationObserver(()=>{!h()||!i||(l.current=null,a())});return g?.observe(r,{childList:!0,subtree:!0}),document.fonts&&document.fonts.status!==`loaded`&&!c.current&&document.fonts.ready.then(()=>{c.current=!0,i&&(l.current=null,a())}),()=>{i=!1,d.disconnect(),p.disconnect(),g?.disconnect()}},[e,t,n,a,u]),t&&r}function bR(){return(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:` · `})}function xR({run:e,queuePosition:t,currentRunId:n,now:r,scope:i,inWorkingGroup:a=!1,onTogglePin:o,onArchiveRun:s}){let c=As(),l=_I(),u=_R(),d=!!s&&u&&jn(e),f=WL({id:e.id,enabled:d,onArchive:()=>s?.(e)}),p=ks(i,`/tasks/${e.id}`),m=xe(e),h=e.id===n,{title:g,displayTitle:_}=cR(e),v=Ln(e),y=sR({run:e,attention:m,queuePosition:t,inWorkingGroup:a,scope:i,now:r}),[b,x]=Z.useState(null);return(0,Q.jsx)(YL,{inertReferences:u,swipeable:d,swipe:f,title:g,onArchive:()=>void s?.(e),children:(0,Q.jsxs)(`div`,{"data-slot":`task-row`,"data-run-id":e.id,"data-active":h?`true`:void 0,onClick:e=>{e.currentTarget.contains(e.target)&&(e.target.closest(`a, button, input`)||(c(p),l?.()))},...d?f.bind:{},style:f.offset?{transform:`translateX(${f.offset}px)`}:void 0,className:O(`selection-row group/task-row flex cursor-pointer items-start gap-2.5 rounded-[6px] py-1.5 pr-2 pl-2.5 hover:bg-sidebar-row-hover`,d&&`select-none`,d&&f.phase!==`dragging`&&`motion-safe:transition-transform motion-safe:duration-200 motion-safe:ease-out`,h&&`bg-sidebar-row-selected hover:bg-sidebar-row-selected`),children:[(0,Q.jsx)(`span`,{"data-slot":`task-row-dot`,className:`flex h-[19px] w-[12px] shrink-0 items-center justify-center`,children:(0,Q.jsx)(vb,{tone:m.tone,shape:m.shape,pulse:m.pulse,"aria-label":m.label,title:m.label,role:`img`})}),(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col`,children:[(0,Q.jsx)(SR,{run:e,to:p,title:g,displayTitle:_,isActive:h,unread:v,swipeable:d,onNavigate:l}),(0,Q.jsx)(CR,{run:e,meta:y,title:g,scope:i,isActive:h,inertReferences:u,overflowContainer:b})]}),y.references.length?(0,Q.jsx)(`span`,{ref:x,"data-slot":`protected-reference-overflow`,className:O(`shrink-0 self-end`,u&&`-my-1.5 self-center`)}):null,e.delegation?.role===`worker`?(0,Q.jsxs)(`span`,{className:`sr-only`,children:[`Worker · `,m.label]}):null,(0,Q.jsx)(JL,{run:e,title:g,unread:v,inertReferences:u,onTogglePin:o,onArchiveRun:s})]})})}function SR({run:e,to:t,title:n,displayTitle:r,isActive:i,unread:a,swipeable:o,onNavigate:s}){return(0,Q.jsxs)(Y,{to:t,onClick:s,title:n,"aria-current":i?`page`:void 0,draggable:!o&&void 0,className:`flex h-[19px] min-w-0 items-center gap-2 rounded-[2px] focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-link-foreground`,children:[(0,Q.jsx)(`span`,{"data-slot":`task-row-title`,className:O(`min-w-[7rem] flex-1 truncate text-[13px] leading-[1.45] font-medium text-muted-foreground`,a&&`font-semibold text-foreground`,i&&`text-foreground`),children:r}),e.diffStat?(0,Q.jsx)($T,{stat:e.diffStat,className:`hidden shrink-0 text-[12px] @min-[23rem]/sidebar:inline`}):null]})}function CR({run:e,meta:t,title:n,scope:r,isActive:i,inertReferences:a,overflowContainer:o}){let{stateWord:s,references:c,age:l,key:u}=t,d=Cs(),f=Z.useRef(null),p=yR(f,!!l,u);nR(f,!a&&c.length>0,`${u}|${+!!p}`);let m=[];return s&&m.push((0,Q.jsx)(`span`,{"data-slot":`task-row-state`,children:s},`state`)),c.length&&m.push((0,Q.jsx)(_O,{references:c,maxVisible:2,taskTitle:n,projectId:r??d.projectId,repoBase:d.repoBase,runId:e.id,plain:!0,compact:!0,inertInline:a,fitContainer:!0,overflowContainer:o},`references`)),l&&!p&&m.push((0,Q.jsx)(`span`,{"data-slot":`task-row-age`,className:`tabular-nums`,children:l},`age`)),(0,Q.jsxs)(`div`,{ref:f,"data-slot":`task-row-meta`,className:O(`h-[16px] min-w-0 truncate text-[11.5px] leading-[1.4] font-normal text-soft-foreground`,ZL,i&&`text-muted-foreground`),children:[e.notify===!0?(0,Q.jsx)(`span`,{"data-slot":`task-row-notify`,role:`img`,"aria-label":`Notifying the task webhook`,title:`Notifying the task webhook`,className:`mr-[4px] inline-block shrink-0 align-[-1px]`,children:(0,Q.jsx)(ah,{"aria-hidden":`true`,className:`size-[10px]`})}):null,m.length?m.flatMap((e,t)=>t?[(0,Q.jsx)(bR,{},`sep-${t}`),e]:[e]):e.notify===!0?null:`\xA0`]})}function wR({label:e,headingId:t,projectName:n,counts:r,onSweep:i,sweeping:a}){let o=e===`Finished`?`unpinned`:null;if(!o||r[o]===0)return null;let s=a===o,c=`Archive all`;return(0,Q.jsxs)(`button`,{type:`button`,"data-action":`archive-group`,"data-scope":o,disabled:s,"aria-busy":s?`true`:void 0,"aria-label":n?`${c}, ${n}`:void 0,"aria-describedby":t,onClick:()=>i(o),className:`relative inline-flex shrink-0 items-center gap-1 rounded-[4px] px-1.5 py-0.5 font-sans text-[11px] leading-[1.4] text-muted-foreground hover:bg-sidebar-row-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-link-foreground disabled:opacity-60 max-md:before:absolute max-md:before:top-1/2 max-md:before:left-0 max-md:before:h-11 max-md:before:w-full max-md:before:-translate-y-1/2 max-md:before:content-[''] no-hover:before:absolute no-hover:before:top-1/2 no-hover:before:left-0 no-hover:before:h-11 no-hover:before:w-full no-hover:before:-translate-y-1/2 no-hover:before:content-['']`,children:[(0,Q.jsx)(zo,{className:`size-[11px]`,"aria-hidden":`true`}),c]})}function TR({showViewControls:e=!0,projectId:t,boot:n=!1}){let r=_I(),i=t??o(),a=lr(i,!0,n),s=pr(i,!0,n).data?.sidebarLimits??{},c=or(ar({projectId:i,boot:n})),l=FL(ar({projectId:i,boot:n}),r),u=U(),[d,f]=UN(),p=Ms(`/tasks/:id/*`),m=Ms(`/tasks/:id`),h=ag(3e4),g=ni(),_=t??g,v=zn(_),y=Pr(jr(En(a.data??[],d),`active`),s),b=_===void 0?[]:y.flatMap(e=>e.rows.flatMap(({run:e})=>Cr(e,v).filter(e=>mr(e,v)).map(e=>({projectId:_,kind:e.kind,number:e.number}))));return a.data?(0,Q.jsx)(Ss,{projectId:_,repoBase:v,requests:b,children:(0,Q.jsx)(dR,{showViewControls:e,sidebarLimits:s,projectId:_==="default"?u.data?.bootProject??null:_??null,runs:a.data,view:d,onViewChange:f,currentRunId:p?.params.id??m?.params.id??null,now:h,onTogglePin:(e,t)=>c.mutate({id:e.id,pinned:t}),onArchiveRun:l.archiveOne,onSweep:e=>l.sweep(e,d===`automations`),sweeping:l.sweeping})}):null}function ER({view:e,onSelect:t,counts:n}){let r=(0,Q.jsx)(vb,{tone:`pending`,pulse:!0,"data-slot":`waiting-dot`,"aria-label":`needs you`});return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(gR,{view:`active`,current:e,onSelect:t,count:n.active,children:[`Active`,n.activeWaiting>0&&e!==`active`?r:null]}),(0,Q.jsxs)(gR,{view:`automations`,current:e,onSelect:t,count:n.automations,children:[`Automations`,n.automationsWaiting>0&&e!==`automations`?r:null]})]})}var DR={claude:!0,codex:!0,opencode:!0,pi:!0,cursor:!0,omp:!0},OR=e=>Object.hasOwn(DR,e.name);function kR(e){let t=e.checks.filter(OR);if(t.length&&!t.some(e=>e.available))return`no agent CLI found — install one to run tasks`;let n=t.find(t=>t.name===e.defaultRunner);return n&&!n.available?`default runner (${e.defaultRunner}) not found`:null}function AR(e){let t=`${a(`cezar`)} v${e.version}`,n=kR(e);if(n)return`${t} · ${n}`;let r=e.checks.filter(e=>!e.available).map(e=>e.name);return r.length?`${t} · optional: ${r.join(`, `)} not installed`:t}function jR(e){return e.forge?.available?null:e.forge?`GitHub is unreachable — ${e.forge.reason??`unknown reason`}. The GitHub tab is hidden until it comes back.`:`No GitHub remote detected — the GitHub tab is hidden. Every plain-git feature still works.`}function MR({health:e,sessionScope:t}){if(!e)return null;let n=kR(e);return(0,Q.jsxs)(na,{children:[(0,Q.jsx)($i,{asChild:!0,children:(0,Q.jsxs)(`button`,{type:`button`,"data-slot":`tools-menu-trigger`,"aria-label":`Tools`,title:AR(e),className:`relative flex items-center gap-1.5 rounded-[6px] px-2 py-1.5 text-[12px] font-normal text-soft-foreground transition-colors hover:bg-sidebar-row-hover hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring data-[state=open]:bg-sidebar-row-selected data-[state=open]:text-foreground`,children:[(0,Q.jsx)(Po,{className:`size-[15px]`,"aria-hidden":`true`}),n?(0,Q.jsx)(vb,{tone:`pending`,className:`absolute top-1 left-5 size-1.5`}):null,`Tools`]})}),(0,Q.jsxs)(ea,{side:`top`,align:`start`,"data-slot":`tools-menu-content`,className:`w-[240px]`,children:[t?(0,Q.jsx)(`div`,{className:`px-2 py-2`,children:t}):null,(0,Q.jsx)(Hi,{className:`text-[11px] font-semibold tracking-[.04em] text-soft-foreground uppercase`,children:`Installed tools`}),e.checks.map(e=>e.available?(0,Q.jsx)(NR,{check:e},e.name):(0,Q.jsx)(PR,{check:e},e.name)),jR(e)?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Xi,{}),(0,Q.jsx)(`p`,{"data-slot":`forge-note`,className:`px-2 py-1.5 text-[11px] leading-snug text-muted-foreground`,children:jR(e)})]}):null,(0,Q.jsx)(Xi,{}),(0,Q.jsx)(Yi,{asChild:!0,children:(0,Q.jsx)(w,{to:`/tools`,children:`Tools diagnostics`})}),(0,Q.jsx)(Yi,{asChild:!0,children:(0,Q.jsxs)(Y,{to:cM,"data-slot":`tools-settings`,className:`gap-2 text-[13px] text-muted-foreground`,children:[(0,Q.jsx)(bo,{className:`size-3.5`,"aria-hidden":`true`}),`Tool settings`]})})]})]})}function NR({check:e}){return(0,Q.jsxs)(`div`,{"data-slot":`tool-row`,"data-tool":e.name,"data-available":`true`,className:`flex items-center gap-2 rounded-sm px-2 py-1.5`,children:[(0,Q.jsx)(vb,{tone:aM(e)}),(0,Q.jsx)(`span`,{className:`font-mono text-[13px] font-medium`,children:e.name}),(0,Q.jsx)(`span`,{"data-slot":`tool-version`,className:`ml-auto font-mono text-[11px] font-medium text-muted-foreground tabular-nums`,children:e.version??`not found`})]})}function PR({check:e}){let t=sM(e);return(0,Q.jsx)(Yi,{asChild:!0,children:(0,Q.jsxs)(Y,{to:cM,"data-slot":`tool-row`,"data-tool":e.name,"data-available":`false`,className:`flex-col items-stretch gap-1`,children:[(0,Q.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,Q.jsx)(vb,{tone:aM(e)}),(0,Q.jsx)(`span`,{className:`font-mono text-[13px] font-medium`,children:e.name}),(0,Q.jsx)(`span`,{"data-slot":`tool-version`,className:`ml-auto font-mono text-[11px] font-medium text-muted-foreground`,children:`not found`})]}),(0,Q.jsxs)(`span`,{className:`flex items-end justify-between gap-3 pl-[15px]`,children:[t?(0,Q.jsx)(`span`,{"data-slot":`tool-hint`,className:`min-w-0 text-[11px] leading-snug text-muted-foreground`,children:t}):null,(0,Q.jsx)(`span`,{"data-slot":`tool-setup`,className:`ml-auto shrink-0 text-[11px] font-semibold text-accent-text`,children:`Set up →`})]})]})})}function FR(e){return e?.trim()||null}function IR({projectName:e,pageLabel:t}){let n=FR(e),r=FR(t);return n&&r?`${n} — ${r} · ${a(`cezar`)}`:n?`${n} · ${a(`cezar`)}`:r?`${r} · ${a(`cezar`)}`:a(`cezar`)}function LR(e){let t=IR(e);(0,Z.useEffect)(()=>{document.title=t},[t])}function RR(e){let t=Ps(e);return/^\/git\/branches(?:\/|$)/.test(t)?`branches`:/^\/git\/not-landed(?:\/|$)/.test(t)?`not-landed`:/^\/git\/cleanup(?:\/|$)/.test(t)?`cleanup`:/^\/git\/changes(?:\/|$)/.test(t)?`changes`:/^\/git(?:\/commits(?:\/[^/]+)?)?\/?$/.test(t)?`main`:null}var zR={main:`/git`,"not-landed":`/git/not-landed`,cleanup:`/git/cleanup`,branches:`/git/branches`,changes:`/git/changes`},BR=`/git?view=repo`,VR={second:`s`,minute:`m`,hour:`h`,day:`d`,week:`w`,month:`mo`,year:`y`};function HR(e){let t=/^(\d+) (second|minute|hour|day|week|month|year)s? ago$/.exec(e.trim());return t?`${t[1]}${VR[t[2]]}`:e}function UR(e){let t=new Date(e);return t.setHours(0,0,0,0),t.getTime()}var WR=new Intl.DateTimeFormat(`en-US`,{weekday:`short`,month:`short`,day:`numeric`}),GR=new Intl.DateTimeFormat(`en-US`,{month:`short`,day:`numeric`,year:`numeric`});function KR(e,t){let n=Date.parse(e);if(Number.isNaN(n))return`Earlier`;let r=UR(t);if(n>=r)return`Today`;if(n>=UR(r-1))return`Yesterday`;let i=new Date(n);return(i.getFullYear()===new Date(t).getFullYear()?WR:GR).format(i)}function qR(e,t=Date.now()){let n=[];for(let r of e){let e=KR(r.at,t),i=n.at(-1);i?.label===e?i.commits.push(r):n.push({label:e,commits:[r]})}return n}function JR(e,t=Date.now()){return e.filter(e=>KR(e.at,t)===`Today`).length}function YR(e,t){return(e.baseBranch??t.branch)===t.branch?e.tracking:null}function XR(e,t=Date.now()){let n=e.fetchedAt?ts(e.fetchedAt,t):``;return n?`fetched ${n} ago`:`never fetched`}function ZR(e,t){let n=I(),r=[e,`repo`],i=[e,`health`],[a,o]=(0,Z.useState)(null),s=e=>K(e.message,{tone:`danger`}),c=()=>Promise.all([n.invalidateQueries({queryKey:r}),n.invalidateQueries({queryKey:i}),n.invalidateQueries({queryKey:H.projects})]),l=W({mutationFn:t=>ze(t,e)}),u=async(e=!1)=>{let n=a?.branch??t.branch;try{let t=await l.mutateAsync(e?{branch:n,confirm:!0}:{branch:n});if(`risks`in t){o(t);return}o(null),K(t.summary),await c()}catch(e){o(null),K(e instanceof Error?e.message:String(e),{tone:`danger`}),await c()}},d=W({mutationFn:t=>le({name:t},e),onSuccess:async e=>{K(e.created?`Created and switched to ${e.branch}`:`Switched to ${e.branch}`),await c(),n.setQueryData(r,t=>t?.info?{...t,info:{...t.info,branch:e.branch}}:t),n.setQueryData(i,n=>n?.repo?.root===t.root?{...n,repo:{...n.repo,branch:e.branch}}:n)},onError:s}),f=W({mutationFn:t=>Bt({baseBranch:t},e),onSuccess:t=>{K(t.baseBranch?`New tasks now start from ${t.baseBranch}`:`New tasks now start from the checked-out branch`),n.invalidateQueries({queryKey:r}),n.invalidateQueries({queryKey:[e,`config`]})},onError:s});return{hasRemote:!!t.remote,pull:u,pulling:l.isPending,confirmation:a,dismissConfirmation:()=>{l.isPending||o(null)},switchBranch:d,setBase:f}}var QR={sidebar:{card:`gap-[8px] rounded-[8px] p-[10px]`,branchRow:`gap-[6px]`,branchIcon:`size-[14px]`,branch:`text-[12.5px]`,chevron:`size-[12px]`,pull:`h-[24px] gap-[4px] rounded-[6px] px-[8px] text-[11.5px] [&>svg]:size-[12px]`,line:`text-[11px]`,lineChevron:`size-[11px]`,dirty:`gap-[6px] pt-[6px] text-[11px] [&>svg]:size-[12px]`},screen:{card:`gap-[10px] rounded-[10px] p-[12px]`,branchRow:`gap-[8px]`,branchIcon:`size-[16px]`,branch:`text-[14px]`,chevron:`size-[14px]`,pull:`h-[36px] gap-[6px] rounded-[8px] px-[14px] text-[13px] [&>svg]:size-[14px]`,line:`text-[12px]`,lineChevron:`size-[12px]`,dirty:`h-[40px] gap-[8px] pt-[4px] text-[13px] [&>svg:first-child]:size-[14px] [&>svg:last-child]:size-[15px]`}};function $R({scope:e,repo:t,info:n,variant:r,onNavigate:i}){let a=QR[r],o=ZR(e,n),s=t.baseBranch??n.branch,c=t.status.length,l=YR(t,n),u=o.switchBranch.isPending,d=(0,Z.useRef)(null);return(0,Q.jsxs)(`section`,{"aria-label":`Checkout`,"data-slot":`git-checkout`,"data-variant":r,className:O(`flex flex-col border border-border`,a.card),children:[(0,Q.jsxs)(`div`,{className:O(`flex min-w-0 items-center`,a.branchRow),children:[(0,Q.jsxs)(na,{children:[(0,Q.jsxs)($i,{"data-slot":`git-branch-menu`,"aria-label":`Branch ${n.branch}. Switch branch`,disabled:u,className:O(`group flex min-w-0 flex-1 items-center rounded-[4px] text-left outline-none focus-visible:outline-2 focus-visible:outline-ring disabled:opacity-60`,a.branchRow,r===`screen`&&`min-h-11`),children:[(0,Q.jsx)(Eo,{"aria-hidden":`true`,className:O(`shrink-0 text-muted-foreground`,a.branchIcon)}),(0,Q.jsx)(`span`,{"data-slot":`git-checkout-branch`,className:O(`min-w-0 flex-1 truncate font-mono font-semibold text-foreground`,a.branch),children:n.branch}),(0,Q.jsx)(Vo,{"aria-hidden":`true`,className:O(`shrink-0 text-soft-foreground group-hover:text-foreground`,a.chevron)})]}),(0,Q.jsxs)(ea,{align:`start`,className:`w-64`,children:[(0,Q.jsx)(Hi,{className:`text-xs text-soft-foreground`,children:`Switch branch`}),(0,Q.jsx)(ta,{value:n.branch,onValueChange:e=>{e!==n.branch&&o.switchBranch.mutate(e)},children:t.branches.map(e=>(0,Q.jsx)(Wi,{value:e,"data-branch":e,className:`font-mono text-[12.5px]`,children:(0,Q.jsx)(`span`,{className:`truncate`,children:e})},e))}),(0,Q.jsx)(Xi,{}),(0,Q.jsx)(Yi,{asChild:!0,children:(0,Q.jsx)(Y,{to:zR.branches,"data-slot":`git-branch-menu-all`,onClick:i,children:`Create or find a branch…`})})]})]}),(0,Q.jsxs)(`button`,{ref:d,type:`button`,"data-action":`repo-pull`,disabled:!o.hasRemote||o.pulling,title:o.hasRemote?`Pull ${n.branch}`:`No remote configured. Add a Git remote before pulling.`,onClick:()=>void o.pull(),className:O(`inline-flex shrink-0 items-center bg-muted font-medium text-foreground hover:brightness-110 focus-visible:outline-2 focus-visible:outline-ring disabled:opacity-50 disabled:hover:brightness-100`,a.pull),children:[o.pulling?(0,Q.jsx)(as,{"aria-hidden":`true`,className:`motion-safe:animate-spin`}):(0,Q.jsx)(jo,{"aria-hidden":`true`}),`Pull`]})]}),l?(0,Q.jsx)(ez,{tracking:l,className:a.line}):null,(0,Q.jsxs)(na,{children:[(0,Q.jsxs)($i,{"data-slot":`base-branch-picker`,"aria-label":`New tasks start from ${s}. Change the base branch`,disabled:o.setBase.isPending,className:O(`group flex min-w-0 items-center gap-[4px] self-start rounded-[4px] text-soft-foreground outline-none hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring disabled:opacity-60`,a.line,r===`screen`&&`min-h-[32px]`),children:[(0,Q.jsx)(`span`,{className:`shrink-0`,children:`New tasks start from`}),(0,Q.jsx)(`span`,{"data-slot":`base-branch`,className:`min-w-0 truncate font-mono text-muted-foreground group-hover:text-foreground`,children:s}),(0,Q.jsx)(Vo,{"aria-hidden":`true`,className:O(`shrink-0`,a.lineChevron)})]}),(0,Q.jsxs)(ea,{align:`start`,className:`w-64`,children:[(0,Q.jsx)(Hi,{className:`text-xs text-soft-foreground`,children:`New tasks start from`}),(0,Q.jsxs)(ta,{value:t.baseBranch??``,onValueChange:e=>o.setBase.mutate(e===``?null:e),children:[(0,Q.jsx)(Wi,{value:``,"data-branch":``,className:`text-[12.5px]`,children:`The checked-out branch (default)`}),t.branches.map(e=>(0,Q.jsx)(Wi,{value:e,"data-branch":e,className:`font-mono text-[12.5px]`,children:(0,Q.jsx)(`span`,{className:`truncate`,children:e})},e))]})]})]}),c>0?(0,Q.jsxs)(Y,{to:zR.changes,"data-slot":`git-uncommitted`,onClick:i,className:O(`flex min-w-0 items-center border-t border-border text-muted-foreground hover:text-foreground focus-visible:outline-2 focus-visible:outline-ring`,a.dirty),children:[(0,Q.jsx)(vo,{"aria-hidden":`true`,className:`shrink-0 text-inbox-count-foreground`}),(0,Q.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[c,` uncommitted file`,c===1?``:`s`]}),(0,Q.jsx)(yo,{"aria-hidden":`true`,className:`shrink-0 text-soft-foreground`})]}):null,(0,Q.jsx)(tz,{checkout:o,returnFocus:d})]})}function ez({tracking:e,className:t}){let n=e.ref.split(`/`)[0]||e.ref,r=XR(e);return(0,Q.jsx)(`p`,{"data-slot":`git-freshness`,className:O(`flex min-w-0 items-center gap-[4px] text-soft-foreground`,t),children:e.behind>0?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`span`,{"data-slot":`git-behind`,className:`shrink-0 font-medium text-inbox-count-foreground`,children:[e.behind,` behind `,n]}),(0,Q.jsxs)(`span`,{className:`min-w-0 truncate`,children:[`· `,r]})]}):(0,Q.jsxs)(`span`,{className:`min-w-0 truncate`,children:[`up to date · `,r]})})}function tz({checkout:e,returnFocus:t}){return(0,Q.jsx)(Sa,{open:e.confirmation!==null,onOpenChange:t=>!t&&e.dismissConfirmation(),children:(0,Q.jsxs)(ma,{onCloseAutoFocus:e=>{e.preventDefault(),t.current?.focus()},children:[(0,Q.jsxs)(xa,{children:[(0,Q.jsxs)(la,{children:[`Pull `,e.confirmation?.branch,` anyway?`]}),(0,Q.jsx)(ca,{asChild:!0,children:(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[e.confirmation?.risks.includes(`active_runs`)?(0,Q.jsx)(`p`,{children:`An active session is using this repository. Pulling can change files while it works.`}):null,e.confirmation?.risks.includes(`dirty_tree`)?(0,Q.jsx)(`p`,{children:`The checkout has dirty files. Git may refuse the pull to protect them.`}):null]})})]}),(0,Q.jsxs)(va,{children:[(0,Q.jsx)(ba,{className:`h-11`,disabled:e.pulling,children:`Cancel`}),(0,Q.jsx)(_a,{className:`h-11`,disabled:e.pulling||e.confirmation===null,onClick:t=>{t.preventDefault(),e.pull(!0)},children:e.pulling?`Pulling…`:`Pull anyway`})]})]})})}var nz={main:ro,"not-landed":zm,cleanup:pm,branches:Eo};function rz(e,t){switch(e){case`main`:return t?`Recently on ${t}`:`Recent commits`;case`not-landed`:return`Not landed`;case`cleanup`:return`Cleanup`;case`branches`:return`All branches`;case`changes`:return`Uncommitted changes`}}var iz=[`main`,`not-landed`,`cleanup`,`branches`];function az({branch:e,counts:t,variant:n,active:r,onNavigate:i}){let a=n===`screen`;return(0,Q.jsx)(`nav`,{"aria-label":`Git sections`,"data-slot":`git-sections`,className:a?ss:os,children:iz.map(n=>{let o=nz[n],s=!a&&r===n,c=t[n];return(0,Q.jsxs)(Y,{to:a&&n===`main`?BR:zR[n],"data-git-section":n,"aria-current":s?`page`:void 0,onClick:i,className:O(a?cs:O(fs,`text-[12.5px]`),ds,s&&`bg-sidebar-row-selected text-foreground font-medium hover:bg-sidebar-row-selected`),children:[(0,Q.jsx)(o,{"aria-hidden":`true`,className:a?vs:ms}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:rz(n,e)}),c?(0,Q.jsx)(`span`,{"data-slot":`git-section-count`,className:a?ps:ls,children:c}):null,a?(0,Q.jsx)(yo,{"aria-hidden":`true`,className:_s}):null]},n)})})}async function oz(e,t){return me(await Dt.api.v1.p[`:projectId`].repo.branches.counts.$get({param:{projectId:t??o()}},Qt(e)),`/repo/branches/counts`)}function sz(e){return bi({queryKey:[e,`repo`,`branches`,`counts`],queryFn:({signal:t})=>oz({signal:t},e)})}function cz(e,t,n){let r=Qn(e),i=sz(e),a=r.data?.totalBytes??null,o=i.data?.counts??null,s=t&&n===`screen`?JR(t.log):0;return{main:s>0?`${s} today`:null,"not-landed":o?.notLanded?String(o.notLanded):null,cleanup:a?fr(a):r.data&&a===null&&o?.cleanup?String(o.cleanup):null,branches:t?String(i.data?.allBranches??t.branches.length):null}}function lz({scope:e}){let n=$r(e),{pathname:r}=t(),i=_I(),a=n.data?.info?n.data:null,o=cz(e,a,`sidebar`);return(0,Q.jsxs)(`div`,{"data-slot":`git-sidebar`,role:`region`,"aria-label":`Git`,className:ys,children:[a?.info?(0,Q.jsx)($R,{scope:e,repo:a,info:a.info,variant:`sidebar`,onNavigate:i},e):n.isPending?(0,Q.jsx)(`div`,{"data-slot":`git-checkout-placeholder`,"aria-hidden":`true`,className:`h-[94px] rounded-[8px] border border-border`}):null,n.isPending?null:(0,Q.jsx)(az,{branch:a?.info?.branch??null,counts:o,variant:`sidebar`,active:RR(r),onNavigate:i})]})}var uz={assigned:Ho,"no-task":bs,"has-task":_o,all:ko,review:xs,mine:$a,failing:po,"all-prs":ko};function dz(e,t){return e===`assigned`||e===`mine`?t.identity:e===`no-task`||e===`has-task`?t.tasks:null}function fz({model:e,variant:t,activeId:n,onNavigate:r}){let i=t===`screen`;return(0,Q.jsx)(Q.Fragment,{children:[{key:`issues`,label:`Issues`,rows:Ia},{key:`prs`,label:`Pull requests`,rows:ja}].map(t=>(0,Q.jsxs)(`nav`,{"aria-label":t.label,"data-slot":`github-filter-group`,"data-group":t.key,className:i?ss:O(us,t.key===`prs`&&`pt-[6px]`),children:[(0,Q.jsx)(`h3`,{className:i?hs:gs,children:t.label}),t.rows.map(({id:t,label:a})=>{let o=uz[t],s=n===t,c=dz(t,e.blocked),l=e.counts[t],u=Ma(l),d=O(i?cs:O(fs,`text-[12.5px]`),c?`cursor-not-allowed opacity-60`:ds,s&&`bg-sidebar-row-selected text-foreground font-medium hover:bg-sidebar-row-selected`),f=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(o,{"aria-hidden":`true`,className:i?vs:ms}),(0,Q.jsx)(`span`,{className:`truncate`,children:a}),u?(0,Q.jsx)(`span`,{"data-slot":`gh-filter-count`,title:Fa(t,l),className:i?ps:ls,children:u}):null,i?(0,Q.jsx)(yo,{"aria-hidden":`true`,className:O(_s,!u&&`ml-auto`)}):null]});if(c)return(0,Q.jsxs)(`div`,{"data-gh-filter":t,"aria-disabled":`true`,title:c,className:d,children:[f,(0,Q.jsx)(`span`,{className:`sr-only`,children:c})]},t);let{view:p,filter:m}=Oa(t);return(0,Q.jsx)(Y,{to:Ra(p,m),"data-gh-filter":t,"aria-current":s?`page`:void 0,onClick:r,className:d,children:f},t)})]},t.key))})}function pz(e){let t=Nn(e,50).data,n=t?.available===!0,r=lr(e,!0,e==="default"),i=Vn(e,`pr`,Ea,n),a=Vn(e,`pr`,Pa,n),o=(0,Z.useMemo)(()=>r.data?ka(r.data,t?.repo,e):null,[r.data,t?.repo,e]);return{gh:t,counts:(0,Z.useMemo)(()=>La({gh:t,tasks:o,review:i.data,failing:a.data}),[t,o,i.data,a.data]),blocked:{identity:t?.available===!0&&!t.viewerLogin?`GitHub login unavailable.`:null,tasks:r.isError&&!r.data?`Task list unavailable.`:null}}}function mz(e){return/^\/github\/prs(?:\/|$)/.test(Ps(e))?`prs`:`issues`}function hz({scope:e}){let r=pz(e),{pathname:i}=t(),[a]=n(),o=_I(),s=mz(i);return(0,Q.jsx)(`div`,{"data-slot":`github-sidebar`,role:`region`,"aria-label":`GitHub`,className:ys,children:(0,Q.jsx)(fz,{model:r,variant:`sidebar`,activeId:Aa(s,Na(s,a.get(`filter`))),onNavigate:o})})}function gz({projectId:e,projectName:t,capabilities:n}){return(0,Q.jsx)(`div`,{"data-slot":`settings-sidebar`,className:ys,children:[`project`,`global`].map(r=>{let i=r===`project`?`This project${t?` · ${t}`:``}`:`Global · every project`,a=r===`project`?`/p/${encodeURIComponent(e)}/settings`:`/settings/global`,o=jC(r,n).map(e=>({id:e.id,title:e.title,icon:e.icon,to:`${a}/${e.id}`})),s=r===`project`?[{id:`general`,title:`General`,icon:bo,to:a},...o]:o;return(0,Q.jsxs)(`nav`,{"aria-label":i,"data-slot":`settings-nav`,"data-scope":r,className:O(`flex flex-col gap-px`,r===`global`&&`pt-[6px]`),children:[(0,Q.jsx)(`h3`,{title:i,className:gs,children:i}),s.map(({id:e,title:t,icon:n,to:r})=>(0,Q.jsxs)(S,{to:r,end:!0,"data-section":e,className:({isActive:e})=>O(fs,ds,e&&`bg-sidebar-row-selected text-foreground font-medium hover:bg-sidebar-row-selected`),children:[(0,Q.jsx)(n,{"aria-hidden":`true`,className:ms}),(0,Q.jsx)(`span`,{className:`truncate`,children:t})]},e))]},r)})})}function _z(e){let t=e?.repo;if(!t)return null;let n=t.root.replace(/[\\/]+$/,``).split(/[\\/]/).pop();return n?{name:n,branch:t.branch}:null}function vz(e,t,n){let r=t?.bootProject??n?.bootProject??null,i=e??r??`default`;return{bootProjectId:r,sidebarProjectId:i,sidebarBoot:i===r,isBootProject:e!==null&&e===r,activeProject:t?.projects.find(t=>t.id===e)}}function yz(e,t,n,r,i,a){let o=e===`/tools`||e===`/settings/global`||e.startsWith(`/settings/global/`),s=o?null:t?.name??(n?_z(r)?.name??null:null),c=i.taskId?a?.find(e=>e.id===i.taskId):void 0;return{globalSettings:o,projectName:s,titleRun:c,pageLabel:c?V(c):i.pageLabel}}function bz(e,t){return e?e.forge===`github`:t?.forge?.available===!0}function xz(e,t,n,r,i,a){return/^\/settings(?:\/|$)/.test(e)?(0,Q.jsx)(gz,{projectId:n,projectName:i?.projects.find(e=>e.id===n)?.name??(r?_z(a)?.name??null:null),capabilities:a?.capabilities}):/^\/github(?:\/|$)/.test(e)&&t?(0,Q.jsx)(hz,{scope:ar({projectId:n,boot:r}).cacheScope}):/^\/git(?:\/|$)/.test(e)?(0,Q.jsx)(lz,{scope:ar({projectId:n,boot:r}).cacheScope}):void 0}function Sz(e,t,n,r,i){return e===`/tools`?_z(i):t?null:n?{name:n.name,branch:n.id===r?i?.repo?.branch??``:``}:_z(i)}function Cz(e,t,n,r){return{project:e===`/tools`?`Workspace`:t,page:n?`Tasks / ${r}`:r??a(`Cezarion`),branch:n?.worktreePath?`Isolated worktree`:void 0}}function wz(e,t,n,r){return e?(0,Q.jsx)(wL,{...e,projectTarget:t.target,onSwitchProject:e=>void t.go(e),version:r}):n?(0,Q.jsx)(yL,{}):null}function Tz({children:e}){let{pathname:n}=t(),r=Is(),i=U(),a=(0,Z.useRef)(void 0);i.data&&(a.current=i.data);let o=i.data??a.current,s=BI(o),c=o?.capabilities.automations===!0,l=yn(),u=l.data,d=TL(),f=lN(),p=RM(n),{bootProjectId:m,sidebarProjectId:h,sidebarBoot:g,isBootProject:_,activeProject:v}=vz(r,u,i.data),y=lr(h,!0,g),b=lr(r??``,v!==void 0&&p.taskId!==null,u?.bootProject===r).data,{globalSettings:x,projectName:S,titleRun:C,pageLabel:w}=yz(n,v,_,i.data,p,b);LR({projectName:S,pageLabel:w});let T=bz(v,i.data),E=xz(Ps(n),T,h,g,u,i.data),D=o?.version??null;return(0,Q.jsxs)(HN,{children:[(0,Q.jsx)(bI,{repo:Sz(n,x,v,m,i.data),breadcrumb:Cz(n,S,C,w),version:D,latestVersion:o?.latestVersion??null,applicationUpdate:o?.applicationUpdate,onApplyUpdate:s.apply,onRestart:s.restart,applicationUpdateError:s.error,applicationUpdateBusy:s.busy,applicationUpdateOffline:s.offline||i.isError,forgeAvailable:T,automationsAvailable:c,banner:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ZI,{}),(0,Q.jsx)(JI,{})]}),sidebarList:E,taskQuickList:(0,Q.jsx)(TR,{projectId:h,boot:g}),sidebarProjectId:h,projectHeader:(0,Q.jsx)(qC,{}),mobileProjects:d,needsYou:di(y.data??[]).waiting>0,toolsMenu:(0,Q.jsx)(MR,{health:i.data}),toolsStatus:i.data?{blocked:kR(i.data)!==null,note:jR(i.data)}:null,projectRail:wz(d,f,l.isPending,D),children:e}),(0,Q.jsx)(lF,{})]})}function Ez(){let e=t(),n=yn();return cN(),(0,Z.useEffect)(()=>{let t=Th(e,n.data);t!==null&&(Dh(gh(),t)||_h(t),Dh(Ah(t.projectId),t)||jh(t))},[e.hash,e.pathname,e.search,n.data]),null}function Dz(){let e=I(),t=jS(Tn().data?.notifications).enabled,n=(0,Z.useRef)(t);return n.current=t,(0,Z.useEffect)(()=>{let t=e.getQueryCache(),r=new Map,i=new Map,a=new Map,o=new Set,s=new Map,c=0,l=e=>e.length===3&&typeof e[0]==`string`&&e[1]===`runs`&&e[2]===`list`,u=()=>{let e=new Set([...r.values()].flatMap(e=>[...e.keys()]));for(let t of i.keys())e.has(t)||(i.delete(t),a.delete(t),o.delete(t))},d=(e,t,s=!1,l=1/0)=>{let d=r.get(e),{statuses:f}=NS(new Map,t),p=t.filter(e=>{if((a.get(e.id)??0)>l)return!1;let t=d?.get(e.id),n=f.get(e.id),r=l===1/0?t:i.get(e.id);return t!==void 0&&r!==void 0&&(r.status!==n.status||r.wantsAttention!==n.wantsAttention)}),{entering:m,statuses:h}=NS(i,p);for(let[e,t]of f)!d?.has(e)&&!o.has(e)&&(a.get(e)??0)<=l&&(i.set(e,t),a.set(e,++c));for(let[e,t]of h){let n=i.get(e);n?.status===t.status&&n.wantsAttention===t.wantsAttention||(i.set(e,t),a.set(e,++c),o.add(e))}if(r.set(e,f),u(),!s&&m.length!==0&&PS({enabled:n.current,hidden:document.visibilityState===`hidden`,permission:MS()}))for(let e of m)Oz(e)};for(let e of t.getAll().sort((e,t)=>e.state.dataUpdatedAt-t.state.dataUpdatedAt))l(e.queryKey)&&Array.isArray(e.state.data)&&d(e.queryHash,e.state.data,!0);return t.subscribe(e=>{if(l(e.query.queryKey)){if(e.type===`removed`)r.delete(e.query.queryHash),s.delete(e.query.queryHash),u();else if(e.type===`updated`&&(e.action.type===`fetch`&&s.set(e.query.queryHash,c),e.action.type===`success`&&Array.isArray(e.query.state.data))){let t=e.action.manual?1/0:s.get(e.query.queryHash)??0;d(e.query.queryHash,e.query.state.data,!1,t),e.action.manual||s.delete(e.query.queryHash)}}})},[e]),null}function Oz(e){let t=globalThis.Notification;if(typeof t!=`function`)return;let n=FS(e);try{new t(n.title,{body:n.body,tag:n.tag})}catch{}}function kz(){let[e]=(0,Z.useState)(du);return(0,Z.useEffect)(()=>wi(e),[e]),(0,Q.jsx)(fu,{children:(0,Q.jsx)(jt,{client:e,children:(0,Q.jsxs)(Wl,{children:[(0,Q.jsx)(uu,{}),(0,Q.jsx)(Dz,{}),(0,Q.jsx)(sS,{children:(0,Q.jsx)(qx,{children:(0,Q.jsxs)(h,{children:[(0,Q.jsx)(Ez,{}),(0,Q.jsx)(Es,{children:(0,Q.jsx)(Tz,{children:(0,Q.jsx)(VM,{})})}),(0,Q.jsx)(Ei,{})]})})})]})})})}var Az=document.querySelector(`meta[name="cez-api-base"]`)?.getAttribute(`content`);c(P(Az,void 0,void 0));var jz=document.getElementById(`root`);if(!jz)throw Error(`${a(`cezar`)}: #root container is missing from index.html`);(0,nl.createRoot)(jz).render((0,Q.jsx)(Z.StrictMode,{children:(0,Q.jsx)(kz,{})}));export{tw as $,hm as $t,sD as A,N_ as At,DE as B,nh as Bt,zN as C,cy as Ct,oD as D,F_ as Dt,vD as E,ry as Et,EE as F,Nh as Ft,rE as G,Bm as Gt,SE as H,Xm as Ht,xE as I,ph as It,MT as J,Am as Jt,$T as K,zm as Kt,hE as L,uh as Lt,NE as M,Gh as Mt,CE as N,Kh as Nt,cD as O,P_ as Ot,yE as P,Ph as Pt,nw as Q,gm as Qt,mE as R,ch as Rt,zF as S,ly as St,Hk as T,iy as Tt,fE as U,Ym as Ut,vE as V,eh as Vt,iE as W,Km as Wt,AT as X,vm as Xt,jT as Y,Tm as Yt,ew as Z,_m as Zt,ZF as _,xy as _t,rz as a,Tb as at,BF as b,fy as bt,ZR as c,cb as ct,YR as d,Ky as dt,pm as en,ES as et,XR as f,Hy as ft,eI as g,Iy as gt,QF as h,Fy as ht,az as i,Eb as it,PE as j,ag as jt,aD as k,I_ as kt,BR as l,Wy as lt,HR as m,Py as mt,fz as n,cm as nn,dS as nt,$R as o,vb as ot,qR as p,Jy as pt,ZT as q,Pm as qt,cz as r,Dp as rn,Db as rt,tz as s,ub as st,pz as t,um as tn,mS as tt,zR as u,Gy as ut,MF as v,yy as vt,$ as w,sy as wt,RF as x,dy as xt,LF as y,gy as yt,wE as z,ah as zt};
|