@wjarka/cezarion 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -0
- package/README.md +594 -207
- package/dist/agent-config/account-identity.d.ts +3 -19
- package/dist/agent-config/account-identity.js +8 -5
- package/dist/agent-config/account-identity.js.map +1 -1
- package/dist/agent-config/catalog.d.ts +3 -14
- package/dist/agent-config/catalog.js.map +1 -1
- package/dist/agent-config/files.d.ts +2 -6
- package/dist/agent-config/files.js +2 -6
- package/dist/agent-config/files.js.map +1 -1
- package/dist/agent-config/model-settings/types.d.ts +1 -1
- package/dist/agent-config/seed.d.ts +11 -3
- package/dist/agent-config/seed.js +52 -48
- package/dist/agent-config/seed.js.map +1 -1
- package/dist/agent-config/service.js +3 -2
- package/dist/agent-config/service.js.map +1 -1
- package/dist/agent-config/validate.d.ts +1 -4
- package/dist/agent-config/validate.js.map +1 -1
- package/dist/application-update/helper.d.ts +2 -2
- package/dist/application-update/helper.js +7 -12
- package/dist/application-update/helper.js.map +1 -1
- package/dist/application-update/launcher.d.ts +4 -0
- package/dist/application-update/launcher.js +18 -12
- package/dist/application-update/launcher.js.map +1 -1
- package/dist/application-update/service.d.ts +3 -3
- package/dist/application-update/service.js +1 -1
- package/dist/application-update/service.js.map +1 -1
- package/dist/archive-on-merge-setting.d.ts +15 -0
- package/dist/archive-on-merge-setting.js +14 -0
- package/dist/archive-on-merge-setting.js.map +1 -0
- package/dist/artifacts/cli.d.ts +8 -0
- package/dist/artifacts/cli.js +21 -2
- package/dist/artifacts/cli.js.map +1 -1
- package/dist/artifacts/resolve.js +2 -1
- package/dist/artifacts/resolve.js.map +1 -1
- package/dist/artifacts/store.js.map +1 -1
- package/dist/automations/automation-cli.d.ts +59 -0
- package/dist/automations/automation-cli.js +509 -0
- package/dist/automations/automation-cli.js.map +1 -0
- package/dist/automations/builtin-skill.d.ts +7 -0
- package/dist/automations/builtin-skill.js +14 -0
- package/dist/automations/builtin-skill.js.map +1 -0
- package/dist/automations/github-baseline.d.ts +3 -0
- package/dist/automations/github-baseline.js +17 -0
- package/dist/automations/github-baseline.js.map +1 -0
- package/dist/automations/github-poller.d.ts +23 -4
- package/dist/automations/github-poller.js +157 -88
- package/dist/automations/github-poller.js.map +1 -1
- package/dist/automations/prompts.d.ts +12 -0
- package/dist/automations/prompts.js +160 -0
- package/dist/automations/prompts.js.map +1 -0
- package/dist/automations/schedule-runner.d.ts +43 -24
- package/dist/automations/schedule-runner.js +207 -20
- package/dist/automations/schedule-runner.js.map +1 -1
- package/dist/automations/scheduler.d.ts +10 -2
- package/dist/automations/scheduler.js +200 -54
- package/dist/automations/scheduler.js.map +1 -1
- package/dist/automations/service.d.ts +777 -0
- package/dist/automations/service.js +444 -0
- package/dist/automations/service.js.map +1 -0
- package/dist/automations/store.d.ts +17 -7
- package/dist/automations/store.js +88 -17
- package/dist/automations/store.js.map +1 -1
- package/dist/automations/task-template.d.ts +7 -2
- package/dist/automations/task-template.js +93 -44
- package/dist/automations/task-template.js.map +1 -1
- package/dist/automations/tool-adapter.d.ts +6 -0
- package/dist/automations/tool-adapter.js +108 -0
- package/dist/automations/tool-adapter.js.map +1 -0
- package/dist/automations/types.d.ts +1 -405
- package/dist/automations/types.js +1 -218
- package/dist/automations/types.js.map +1 -1
- package/dist/autosave-cleanup.d.ts +26 -0
- package/dist/autosave-cleanup.js +87 -0
- package/dist/autosave-cleanup.js.map +1 -0
- package/dist/autosave-git.d.ts +3 -0
- package/dist/autosave-git.js +67 -35
- package/dist/autosave-git.js.map +1 -1
- package/dist/autosave-group.d.ts +8 -0
- package/dist/autosave-group.js +61 -0
- package/dist/autosave-group.js.map +1 -0
- package/dist/autosave-holders.d.ts +31 -4
- package/dist/autosave-holders.js +92 -7
- package/dist/autosave-holders.js.map +1 -1
- package/dist/autosave-windows.d.ts +14 -0
- package/dist/autosave-windows.js +36 -2
- package/dist/autosave-windows.js.map +1 -1
- package/dist/ci-wait/client.d.ts +20 -3
- package/dist/ci-wait/client.js +40 -44
- package/dist/ci-wait/client.js.map +1 -1
- package/dist/ci-wait/controller.d.ts +622 -36
- package/dist/ci-wait/controller.js +152 -20
- package/dist/ci-wait/controller.js.map +1 -1
- package/dist/ci-wait/errors.d.ts +19 -0
- package/dist/ci-wait/errors.js +180 -2
- package/dist/ci-wait/errors.js.map +1 -1
- package/dist/ci-wait/github.d.ts +25 -1
- package/dist/ci-wait/github.js +76 -9
- package/dist/ci-wait/github.js.map +1 -1
- package/dist/ci-wait/mcp.d.ts +0 -1
- package/dist/ci-wait/mcp.js +0 -2
- package/dist/ci-wait/mcp.js.map +1 -1
- package/dist/ci-wait/supervisor.d.ts +7 -0
- package/dist/ci-wait/supervisor.js +113 -17
- package/dist/ci-wait/supervisor.js.map +1 -1
- package/dist/ci-wait/tools.d.ts +536 -16
- package/dist/ci-wait/tools.js +165 -20
- package/dist/ci-wait/tools.js.map +1 -1
- package/dist/config.d.ts +3 -17
- package/dist/config.js +4 -60
- package/dist/config.js.map +1 -1
- package/dist/contract/active-provider.d.ts +12 -0
- package/dist/contract/agent-profiles.d.ts +2 -10
- package/dist/contract/ask-schema.d.ts +22 -4
- package/dist/contract/ask.d.ts +6 -4
- package/dist/contract/attachments.d.ts +35 -0
- package/dist/contract/attention.d.ts +46 -37
- package/dist/contract/automation-requests.d.ts +308 -0
- package/dist/contract/automation-schedule.d.ts +40 -11
- package/dist/contract/automation-storage.d.ts +512 -0
- package/dist/contract/automations.d.ts +421 -40
- package/dist/contract/ci-wait.d.ts +41 -4
- package/dist/contract/config-requests.d.ts +36 -0
- package/dist/contract/conversations.d.ts +24 -10
- package/dist/contract/defined.d.ts +8 -0
- package/dist/contract/delegation.d.ts +312 -8
- package/dist/contract/events.d.ts +24 -3
- package/dist/contract/github-requests.d.ts +26 -0
- package/dist/contract/github.d.ts +60 -27
- package/dist/contract/handoff.d.ts +43 -0
- package/dist/contract/health.d.ts +2 -2
- package/dist/contract/image-path.d.ts +6 -0
- package/dist/contract/index.d.ts +31 -0
- package/dist/contract/index.js +3756 -1525
- package/dist/contract/live-coordination.d.ts +158 -0
- package/dist/contract/live-limits.d.ts +8 -0
- package/dist/contract/live.d.ts +123 -0
- package/dist/contract/pending-ask.d.ts +58 -0
- package/dist/contract/permissions.d.ts +54 -0
- package/dist/contract/preview.d.ts +33 -0
- package/dist/contract/project-limits.d.ts +33 -0
- package/dist/contract/projects.d.ts +486 -20
- package/dist/contract/provider-requests.d.ts +77 -0
- package/dist/contract/query-requests.d.ts +52 -0
- package/dist/contract/repo-requests.d.ts +12 -0
- package/dist/contract/run-labels.d.ts +8 -0
- package/dist/contract/run-limits.d.ts +8 -0
- package/dist/contract/run-predicates.d.ts +32 -0
- package/dist/contract/run-requests.d.ts +33 -0
- package/dist/contract/run-search.d.ts +193 -0
- package/dist/contract/runs.d.ts +2232 -1894
- package/dist/contract/scheduled-tasks.d.ts +187 -0
- package/dist/contract/skills.d.ts +22 -772
- package/dist/contract/team-skill-ref.d.ts +10 -0
- package/dist/{core → contract}/tool-display.d.ts +4 -10
- package/dist/contract/ui-state-requests.d.ts +60 -0
- package/dist/contract/version.d.ts +3 -0
- package/dist/contract/voice.d.ts +213 -0
- package/dist/contract/waits.d.ts +1204 -0
- package/dist/contract/workflow-file.d.ts +37 -0
- package/dist/contract/workflow-requests.d.ts +7 -0
- package/dist/contract/workflows.d.ts +1 -2
- package/dist/contract/workspace.d.ts +34 -82
- package/dist/contract/zoned-time.d.ts +2 -11
- package/dist/core/agent-env.d.ts +4 -16
- package/dist/core/agent-env.js +14 -16
- package/dist/core/agent-env.js.map +1 -1
- package/dist/core/agent-profiles.d.ts +28 -40
- package/dist/core/agent-profiles.js +56 -51
- package/dist/core/agent-profiles.js.map +1 -1
- package/dist/core/agent-runner.d.ts +88 -44
- package/dist/core/agent-runner.js +17 -18
- package/dist/core/agent-runner.js.map +1 -1
- package/dist/core/ask.d.ts +3 -0
- package/dist/core/ask.js +12 -0
- package/dist/core/ask.js.map +1 -1
- package/dist/core/backend-detect.js +16 -2
- package/dist/core/backend-detect.js.map +1 -1
- package/dist/core/claude-cli-runner.d.ts +23 -4
- package/dist/core/claude-cli-runner.js +280 -76
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/core/claude-model-catalog.d.ts +2 -10
- package/dist/core/claude-model-catalog.js +2 -10
- package/dist/core/claude-model-catalog.js.map +1 -1
- package/dist/core/claude-ui-mapper.d.ts +2 -2
- package/dist/core/claude-ui-mapper.js +94 -2
- package/dist/core/claude-ui-mapper.js.map +1 -1
- package/dist/core/codex-app-server-runner.d.ts +3 -4
- package/dist/core/codex-app-server-runner.js +146 -51
- package/dist/core/codex-app-server-runner.js.map +1 -1
- package/dist/core/codex-app-server-transport.d.ts +4 -3
- package/dist/core/codex-app-server-transport.js +11 -7
- package/dist/core/codex-app-server-transport.js.map +1 -1
- package/dist/core/codex-approvals.d.ts +12 -0
- package/dist/core/codex-approvals.js +161 -0
- package/dist/core/codex-approvals.js.map +1 -0
- package/dist/core/codex-permissions.d.ts +1 -1
- package/dist/core/codex-ui-mapper.js +45 -1
- package/dist/core/codex-ui-mapper.js.map +1 -1
- package/dist/core/cursor-acp-runner.d.ts +1 -1
- package/dist/core/cursor-acp-runner.js +39 -15
- package/dist/core/cursor-acp-runner.js.map +1 -1
- package/dist/core/cursor-cli-flags.d.ts +19 -0
- package/dist/core/cursor-cli-flags.js +47 -0
- package/dist/core/cursor-cli-flags.js.map +1 -0
- package/dist/core/cursor-model-catalog.d.ts +22 -0
- package/dist/core/cursor-model-catalog.js +53 -24
- package/dist/core/cursor-model-catalog.js.map +1 -1
- package/dist/core/cursor-print-capabilities.d.ts +16 -0
- package/dist/core/cursor-print-capabilities.js +141 -0
- package/dist/core/cursor-print-capabilities.js.map +1 -0
- package/dist/core/cursor-print-process.d.ts +31 -0
- package/dist/core/cursor-print-process.js +117 -0
- package/dist/core/cursor-print-process.js.map +1 -0
- package/dist/core/cursor-print-runner.d.ts +31 -0
- package/dist/core/cursor-print-runner.js +555 -0
- package/dist/core/cursor-print-runner.js.map +1 -0
- package/dist/core/cursor-print-tool-catalog.d.ts +10 -0
- package/dist/core/cursor-print-tool-catalog.js +91 -0
- package/dist/core/cursor-print-tool-catalog.js.map +1 -0
- package/dist/core/cursor-print-ui-mapper.d.ts +47 -0
- package/dist/core/cursor-print-ui-mapper.js +553 -0
- package/dist/core/cursor-print-ui-mapper.js.map +1 -0
- package/dist/core/cursor-runner.d.ts +24 -0
- package/dist/core/cursor-runner.js +149 -0
- package/dist/core/cursor-runner.js.map +1 -0
- package/dist/core/cursor-ui-mapper.js +5 -2
- package/dist/core/cursor-ui-mapper.js.map +1 -1
- package/dist/core/defined.d.ts +1 -0
- package/dist/core/defined.js +2 -0
- package/dist/core/defined.js.map +1 -0
- package/dist/core/hook-items.d.ts +14 -0
- package/dist/core/hook-items.js +13 -0
- package/dist/core/hook-items.js.map +1 -0
- package/dist/core/host-model-catalog.d.ts +2 -9
- package/dist/core/host-model-catalog.js +2 -9
- package/dist/core/host-model-catalog.js.map +1 -1
- package/dist/core/managed-session.js +15 -3
- package/dist/core/managed-session.js.map +1 -1
- package/dist/core/model-identity.d.ts +4 -21
- package/dist/core/model-identity.js.map +1 -1
- package/dist/core/model-presets.d.ts +2 -13
- package/dist/core/model-presets.js +2 -13
- package/dist/core/model-presets.js.map +1 -1
- package/dist/core/omp-model-catalog.js.map +1 -1
- package/dist/core/omp-runner.d.ts +6 -7
- package/dist/core/omp-runner.js +92 -33
- package/dist/core/omp-runner.js.map +1 -1
- package/dist/core/omp-ui-mapper.js +1 -1
- package/dist/core/omp-ui-mapper.js.map +1 -1
- package/dist/core/opencode-model-catalog.js.map +1 -1
- package/dist/core/opencode-permissions.d.ts +52 -0
- package/dist/core/opencode-permissions.js +101 -0
- package/dist/core/opencode-permissions.js.map +1 -0
- package/dist/core/opencode-server-runner.d.ts +10 -9
- package/dist/core/opencode-server-runner.js +286 -28
- package/dist/core/opencode-server-runner.js.map +1 -1
- package/dist/core/opencode-session-error.d.ts +15 -7
- package/dist/core/opencode-session-error.js +25 -9
- package/dist/core/opencode-session-error.js.map +1 -1
- package/dist/core/opencode-ui-mapper.js +2 -2
- package/dist/core/opencode-ui-mapper.js.map +1 -1
- package/dist/core/pi-model-catalog.js.map +1 -1
- package/dist/core/pi-runner.d.ts +12 -4
- package/dist/core/pi-runner.js +171 -63
- package/dist/core/pi-runner.js.map +1 -1
- package/dist/core/pi-ui-mapper.js +1 -1
- package/dist/core/pi-ui-mapper.js.map +1 -1
- package/dist/core/process-usage.d.ts +5 -0
- package/dist/core/process-usage.js +24 -4
- package/dist/core/process-usage.js.map +1 -1
- package/dist/core/provider-auth.d.ts +16 -107
- package/dist/core/provider-auth.js +16 -132
- package/dist/core/provider-auth.js.map +1 -1
- package/dist/core/runner-factory.d.ts +4 -1
- package/dist/core/runner-factory.js +3 -3
- package/dist/core/runner-factory.js.map +1 -1
- package/dist/core/runner-runtime.d.ts +22 -0
- package/dist/core/runner-runtime.js +66 -5
- package/dist/core/runner-runtime.js.map +1 -1
- package/dist/core/runner-tool-grants.d.ts +21 -0
- package/dist/core/runner-tool-grants.js +64 -0
- package/dist/core/runner-tool-grants.js.map +1 -0
- package/dist/core/secret-redaction.d.ts +3 -20
- package/dist/core/secret-redaction.js +3 -20
- package/dist/core/secret-redaction.js.map +1 -1
- package/dist/core/session-process.d.ts +22 -2
- package/dist/core/session-process.js +170 -12
- package/dist/core/session-process.js.map +1 -1
- package/dist/core/shell-env.d.ts +2 -15
- package/dist/core/shell-env.js +2 -15
- package/dist/core/shell-env.js.map +1 -1
- package/dist/core/ui-events.d.ts +60 -47
- package/dist/core/ui-events.js +0 -23
- package/dist/core/ui-events.js.map +1 -1
- package/dist/core/usage-limit.js.map +1 -1
- package/dist/data-gitignore.js +3 -1
- package/dist/data-gitignore.js.map +1 -1
- package/dist/delegation/capacity.d.ts +4 -8
- package/dist/delegation/capacity.js +4 -8
- package/dist/delegation/capacity.js.map +1 -1
- package/dist/delegation/cli.js +123 -21
- package/dist/delegation/cli.js.map +1 -1
- package/dist/delegation/context.d.ts +19 -3
- package/dist/delegation/context.js +217 -22
- package/dist/delegation/context.js.map +1 -1
- package/dist/delegation/conversations.d.ts +4 -3
- package/dist/delegation/conversations.js +7 -5
- package/dist/delegation/conversations.js.map +1 -1
- package/dist/delegation/destroy-observation.d.ts +1 -1
- package/dist/delegation/destroy-observation.js.map +1 -1
- package/dist/delegation/effort.js.map +1 -1
- package/dist/delegation/execution-identity.d.ts +1 -1
- package/dist/delegation/execution-identity.js +41 -7
- package/dist/delegation/execution-identity.js.map +1 -1
- package/dist/delegation/idle-test-app.d.ts +4 -0
- package/dist/delegation/idle-test-app.js +174 -0
- package/dist/delegation/idle-test-app.js.map +1 -0
- package/dist/delegation/input.js.map +1 -1
- package/dist/delegation/park-notice.d.ts +42 -0
- package/dist/delegation/park-notice.js +71 -0
- package/dist/delegation/park-notice.js.map +1 -0
- package/dist/delegation/policy.d.ts +2 -0
- package/dist/delegation/policy.js +9 -1
- package/dist/delegation/policy.js.map +1 -1
- package/dist/delegation/process-liveness.d.ts +10 -15
- package/dist/delegation/process-liveness.js +11 -35
- package/dist/delegation/process-liveness.js.map +1 -1
- package/dist/delegation/provision.js +21 -19
- package/dist/delegation/provision.js.map +1 -1
- package/dist/delegation/questions.d.ts +3 -1
- package/dist/delegation/questions.js +10 -5
- package/dist/delegation/questions.js.map +1 -1
- package/dist/delegation/readiness.d.ts +2 -2
- package/dist/delegation/results.d.ts +4 -1
- package/dist/delegation/results.js +49 -18
- package/dist/delegation/results.js.map +1 -1
- package/dist/delegation/retry-backoff.d.ts +8 -0
- package/dist/delegation/retry-backoff.js +8 -0
- package/dist/delegation/retry-backoff.js.map +1 -1
- package/dist/delegation/routes.d.ts +114 -30
- package/dist/delegation/routes.js +4 -1
- package/dist/delegation/routes.js.map +1 -1
- package/dist/delegation/scratch-cleanup.d.ts +4 -5
- package/dist/delegation/scratch-cleanup.js +10 -8
- package/dist/delegation/scratch-cleanup.js.map +1 -1
- package/dist/delegation/service.d.ts +12 -4
- package/dist/delegation/service.js +76 -28
- package/dist/delegation/service.js.map +1 -1
- package/dist/delegation/transport.d.ts +154 -70
- package/dist/delegation/wait.d.ts +11 -0
- package/dist/delegation/wait.js +24 -0
- package/dist/delegation/wait.js.map +1 -1
- package/dist/delegation/windows-test-app.d.ts +5 -0
- package/dist/delegation/windows-test-app.js +63 -0
- package/dist/delegation/windows-test-app.js.map +1 -0
- package/dist/delegation/windows-workspace-identity.d.ts +3 -0
- package/dist/delegation/windows-workspace-identity.js +22 -0
- package/dist/delegation/windows-workspace-identity.js.map +1 -0
- package/dist/delegation/workspace.d.ts +5 -10
- package/dist/delegation/workspace.js +136 -75
- package/dist/delegation/workspace.js.map +1 -1
- package/dist/detached-process.d.ts +103 -0
- package/dist/detached-process.js +301 -0
- package/dist/detached-process.js.map +1 -0
- package/dist/discovery/catalog.d.ts +2 -1
- package/dist/discovery/catalog.js.map +1 -1
- package/dist/discovery/cli.js +3 -1
- package/dist/discovery/cli.js.map +1 -1
- package/dist/git-diff-base.d.ts +6 -61
- package/dist/git-diff-base.js +6 -70
- package/dist/git-diff-base.js.map +1 -1
- package/dist/git-index-copy.d.ts +4 -0
- package/dist/git-index-copy.js +10 -0
- package/dist/git-index-copy.js.map +1 -0
- package/dist/git-worktree-lock.d.ts +2 -4
- package/dist/git-worktree-lock.js +2 -4
- package/dist/git-worktree-lock.js.map +1 -1
- package/dist/git-worktree-release.d.ts +2 -2
- package/dist/git-worktree-release.js.map +1 -1
- package/dist/git-worktree.d.ts +47 -76
- package/dist/git-worktree.js +240 -94
- package/dist/git-worktree.js.map +1 -1
- package/dist/handoff.d.ts +51 -41
- package/dist/handoff.js +130 -78
- package/dist/handoff.js.map +1 -1
- package/dist/index.js +60 -39
- package/dist/index.js.map +1 -1
- package/dist/merge-observations.d.ts +13 -0
- package/dist/merge-observations.js +55 -0
- package/dist/merge-observations.js.map +1 -0
- package/dist/open-url.js +4 -14
- package/dist/open-url.js.map +1 -1
- package/dist/paths.d.ts +10 -13
- package/dist/paths.js +36 -17
- package/dist/paths.js.map +1 -1
- package/dist/planner.d.ts +2 -1
- package/dist/planner.js +9 -6
- package/dist/planner.js.map +1 -1
- package/dist/preview/agent-address.d.ts +34 -0
- package/dist/preview/agent-address.js +51 -0
- package/dist/preview/agent-address.js.map +1 -0
- package/dist/preview/agent-marker.d.ts +17 -0
- package/dist/preview/agent-marker.js +71 -0
- package/dist/preview/agent-marker.js.map +1 -0
- package/dist/preview/cdp-proxy.d.ts +54 -0
- package/dist/preview/cdp-proxy.js +151 -0
- package/dist/preview/cdp-proxy.js.map +1 -0
- package/dist/preview/cdp.d.ts +39 -3
- package/dist/preview/cdp.js +155 -57
- package/dist/preview/cdp.js.map +1 -1
- package/dist/preview/chromium.d.ts +18 -6
- package/dist/preview/chromium.js +112 -25
- package/dist/preview/chromium.js.map +1 -1
- package/dist/preview/dev-server.d.ts +1 -1
- package/dist/preview/dev-server.js +20 -44
- package/dist/preview/dev-server.js.map +1 -1
- package/dist/preview/host.d.ts +70 -3
- package/dist/preview/host.js +314 -28
- package/dist/preview/host.js.map +1 -1
- package/dist/preview/registration.d.ts +10 -5
- package/dist/preview/registration.js +2 -0
- package/dist/preview/registration.js.map +1 -1
- package/dist/preview/session.d.ts +2 -0
- package/dist/preview/session.js +10 -0
- package/dist/preview/session.js.map +1 -1
- package/dist/process-wait/exit-file.d.ts +29 -0
- package/dist/process-wait/exit-file.js +67 -0
- package/dist/process-wait/exit-file.js.map +1 -0
- package/dist/process-wait/supervisor.d.ts +30 -0
- package/dist/process-wait/supervisor.js +71 -0
- package/dist/process-wait/supervisor.js.map +1 -0
- package/dist/release/snapshot.d.ts +6 -6
- package/dist/runs/agent-tmpdir.d.ts +51 -36
- package/dist/runs/agent-tmpdir.js +389 -132
- package/dist/runs/agent-tmpdir.js.map +1 -1
- package/dist/runs/auto-name.d.ts +6 -6
- package/dist/runs/auto-name.js +1 -1
- package/dist/runs/auto-name.js.map +1 -1
- package/dist/runs/client-request.d.ts +3 -3
- package/dist/runs/client-request.js +3 -3
- package/dist/runs/client-request.js.map +1 -1
- package/dist/runs/delegation-state.d.ts +11 -2
- package/dist/runs/delegation-state.js.map +1 -1
- package/dist/runs/event-history-agent-context.d.ts +14 -0
- package/dist/runs/event-history-agent-context.js +105 -0
- package/dist/runs/event-history-agent-context.js.map +1 -0
- package/dist/runs/event-history-context.d.ts +15 -0
- package/dist/runs/event-history-context.js +109 -0
- package/dist/runs/event-history-context.js.map +1 -0
- package/dist/runs/event-history.d.ts +4 -1
- package/dist/runs/event-history.js +29 -130
- package/dist/runs/event-history.js.map +1 -1
- package/dist/runs/history-stream.d.ts +2 -0
- package/dist/runs/history-stream.js +62 -0
- package/dist/runs/history-stream.js.map +1 -0
- package/dist/runs/legacy-index.d.ts +6 -19
- package/dist/runs/legacy-index.js +6 -19
- package/dist/runs/legacy-index.js.map +1 -1
- package/dist/runs/live-item-snapshots.d.ts +13 -0
- package/dist/runs/live-item-snapshots.js +79 -0
- package/dist/runs/live-item-snapshots.js.map +1 -0
- package/dist/runs/loaded-run-healing.d.ts +3 -0
- package/dist/runs/loaded-run-healing.js +17 -0
- package/dist/runs/loaded-run-healing.js.map +1 -0
- package/dist/runs/outcome-commit.d.ts +98 -0
- package/dist/runs/outcome-commit.js +132 -0
- package/dist/runs/outcome-commit.js.map +1 -0
- package/dist/runs/pull-requests.d.ts +14 -0
- package/dist/runs/pull-requests.js +96 -0
- package/dist/runs/pull-requests.js.map +1 -0
- package/dist/runs/raw-record.d.ts +3 -15
- package/dist/runs/raw-record.js +3 -15
- package/dist/runs/raw-record.js.map +1 -1
- package/dist/runs/retention.d.ts +2 -2
- package/dist/runs/retention.js +7 -0
- package/dist/runs/retention.js.map +1 -1
- package/dist/runs/review-gate.d.ts +1 -1
- package/dist/runs/review-gate.js.map +1 -1
- package/dist/runs/run-claims.d.ts +2 -9
- package/dist/runs/run-claims.js.map +1 -1
- package/dist/runs/run-database.d.ts +29 -34
- package/dist/runs/run-database.js +124 -46
- package/dist/runs/run-database.js.map +1 -1
- package/dist/runs/run-index.d.ts +6 -25
- package/dist/runs/run-index.js +25 -38
- package/dist/runs/run-index.js.map +1 -1
- package/dist/runs/run-row.d.ts +5 -34
- package/dist/runs/run-row.js +13 -38
- package/dist/runs/run-row.js.map +1 -1
- package/dist/runs/store.d.ts +1597 -744
- package/dist/runs/store.js +1231 -739
- package/dist/runs/store.js.map +1 -1
- package/dist/runs/task-markers.d.ts +1 -0
- package/dist/runs/task-markers.js +5 -1
- package/dist/runs/task-markers.js.map +1 -1
- package/dist/runs/task-refs.d.ts +3 -3
- package/dist/runs/transcript-facts-fold.d.ts +64 -0
- package/dist/runs/transcript-facts-fold.js +109 -0
- package/dist/runs/transcript-facts-fold.js.map +1 -0
- package/dist/runs/transcript-facts-load.d.ts +11 -0
- package/dist/runs/transcript-facts-load.js +66 -0
- package/dist/runs/transcript-facts-load.js.map +1 -0
- package/dist/runs/transcript-facts-queue.d.ts +30 -0
- package/dist/runs/transcript-facts-queue.js +227 -0
- package/dist/runs/transcript-facts-queue.js.map +1 -0
- package/dist/runs/transcript-facts-worker.d.ts +15 -0
- package/dist/runs/transcript-facts-worker.js +26 -0
- package/dist/runs/transcript-facts-worker.js.map +1 -0
- package/dist/runs/transcript-facts.d.ts +13 -51
- package/dist/runs/transcript-facts.js +86 -202
- package/dist/runs/transcript-facts.js.map +1 -1
- package/dist/runs/ui-event-sink.d.ts +5 -30
- package/dist/runs/ui-event-sink.js +8 -30
- package/dist/runs/ui-event-sink.js.map +1 -1
- package/dist/runs/webhook.d.ts +104 -38
- package/dist/runs/webhook.js +180 -77
- package/dist/runs/webhook.js.map +1 -1
- package/dist/server/app-type.d.ts +2 -17
- package/dist/server/archive-on-merge.d.ts +35 -0
- package/dist/server/archive-on-merge.js +202 -0
- package/dist/server/archive-on-merge.js.map +1 -0
- package/dist/server/capabilities.d.ts +3 -15
- package/dist/server/capabilities.js +6 -19
- package/dist/server/capabilities.js.map +1 -1
- package/dist/server/checkout-progress.d.ts +10 -0
- package/dist/server/checkout-progress.js +27 -0
- package/dist/server/checkout-progress.js.map +1 -0
- package/dist/server/checkout.d.ts +10 -19
- package/dist/server/checkout.js +15 -45
- package/dist/server/checkout.js.map +1 -1
- package/dist/server/cockpit-ownership.d.ts +2 -0
- package/dist/server/cockpit-ownership.js +9 -0
- package/dist/server/cockpit-ownership.js.map +1 -1
- package/dist/server/cold-repo-handles.d.ts +2 -7
- package/dist/server/cold-repo-handles.js +2 -7
- package/dist/server/cold-repo-handles.js.map +1 -1
- package/dist/server/completion-actions.d.ts +30 -0
- package/dist/server/completion-actions.js +204 -0
- package/dist/server/completion-actions.js.map +1 -0
- package/dist/server/create-project.d.ts +71 -0
- package/dist/server/create-project.js +448 -0
- package/dist/server/create-project.js.map +1 -0
- package/dist/server/forge/github-filters.d.ts +7 -1
- package/dist/server/forge/github-filters.js +66 -51
- package/dist/server/forge/github-filters.js.map +1 -1
- package/dist/server/forge/github-merge-requirements.d.ts +18 -0
- package/dist/server/forge/github-merge-requirements.js +137 -0
- package/dist/server/forge/github-merge-requirements.js.map +1 -0
- package/dist/server/forge/github.d.ts +98 -111
- package/dist/server/forge/github.js +625 -306
- package/dist/server/forge/github.js.map +1 -1
- package/dist/server/forge/types.d.ts +25 -22
- package/dist/server/fs-browse.d.ts +3 -28
- package/dist/server/fs-browse.js.map +1 -1
- package/dist/server/git-changes.d.ts +5 -15
- package/dist/server/git-changes.js +3 -50
- package/dist/server/git-changes.js.map +1 -1
- package/dist/server/git.d.ts +3 -1
- package/dist/server/git.js +12 -0
- package/dist/server/git.js.map +1 -1
- package/dist/server/github.d.ts +1 -1
- package/dist/server/github.js +1 -1
- package/dist/server/github.js.map +1 -1
- package/dist/server/launch-key.d.ts +2 -4
- package/dist/server/launch-key.js +2 -4
- package/dist/server/launch-key.js.map +1 -1
- package/dist/server/live-routes.d.ts +68 -0
- package/dist/server/live-routes.js +147 -0
- package/dist/server/live-routes.js.map +1 -0
- package/dist/server/open-in-app.d.ts +4 -13
- package/dist/server/open-in-app.js +5 -41
- package/dist/server/open-in-app.js.map +1 -1
- package/dist/server/open-in-targets.d.ts +42 -0
- package/dist/server/open-in-targets.js +110 -0
- package/dist/server/open-in-targets.js.map +1 -0
- package/dist/server/open-in-terminal.d.ts +3 -0
- package/dist/server/open-in-terminal.js +6 -26
- package/dist/server/open-in-terminal.js.map +1 -1
- package/dist/server/preview-cdp-socket.d.ts +21 -0
- package/dist/server/preview-cdp-socket.js +112 -0
- package/dist/server/preview-cdp-socket.js.map +1 -0
- package/dist/server/preview-socket.d.ts +11 -11
- package/dist/server/preview-socket.js +22 -22
- package/dist/server/preview-socket.js.map +1 -1
- package/dist/server/preview-sockets.d.ts +14 -0
- package/dist/server/preview-sockets.js +18 -0
- package/dist/server/preview-sockets.js.map +1 -0
- package/dist/server/project-context.d.ts +54 -18
- package/dist/server/project-context.js +178 -5
- package/dist/server/project-context.js.map +1 -1
- package/dist/server/provider-action-gate.d.ts +0 -2
- package/dist/server/provider-action-gate.js +0 -21
- package/dist/server/provider-action-gate.js.map +1 -1
- package/dist/server/provider-auth-runtime.d.ts +3 -18
- package/dist/server/provider-auth-runtime.js +3 -18
- package/dist/server/provider-auth-runtime.js.map +1 -1
- package/dist/server/repo-branches.d.ts +3 -9
- package/dist/server/repo-branches.js +6 -22
- package/dist/server/repo-branches.js.map +1 -1
- package/dist/server/run-event-feed.d.ts +20 -0
- package/dist/server/run-event-feed.js +190 -0
- package/dist/server/run-event-feed.js.map +1 -0
- package/dist/server/server-deps.d.ts +37 -0
- package/dist/server/server-deps.js +114 -0
- package/dist/server/server-deps.js.map +1 -0
- package/dist/server/server.d.ts +14082 -11998
- package/dist/server/server.js +785 -1647
- package/dist/server/server.js.map +1 -1
- package/dist/server/start-run-options.d.ts +82 -0
- package/dist/server/start-run-options.js +111 -0
- package/dist/server/start-run-options.js.map +1 -0
- package/dist/server/validators.d.ts +3 -29
- package/dist/server/validators.js +1 -2
- package/dist/server/validators.js.map +1 -1
- package/dist/server/ws.d.ts +3 -23
- package/dist/server/ws.js +3 -23
- package/dist/server/ws.js.map +1 -1
- package/dist/server-install/engine.d.ts +6 -9
- package/dist/server-install/engine.js +2 -9
- package/dist/server-install/engine.js.map +1 -1
- package/dist/server-install/platforms/ubuntu-vps.d.ts +1 -1
- package/dist/server-install/state.d.ts +2 -4
- package/dist/server-install/state.js +2 -4
- package/dist/server-install/state.js.map +1 -1
- package/dist/server-install/steps.d.ts +2 -5
- package/dist/server-install/steps.js +3 -6
- package/dist/server-install/steps.js.map +1 -1
- package/dist/server-install/types.d.ts +3 -6
- package/dist/server-install/types.js +2 -5
- package/dist/server-install/types.js.map +1 -1
- package/dist/server-install/ui.d.ts +2 -8
- package/dist/server-install/ui.js +3 -3
- package/dist/server-install/ui.js.map +1 -1
- package/dist/session-context.d.ts +64 -0
- package/dist/session-context.js +264 -0
- package/dist/session-context.js.map +1 -0
- package/dist/skills-provision.d.ts +62 -0
- package/dist/skills-provision.js +325 -0
- package/dist/skills-provision.js.map +1 -0
- package/dist/skills-remote.d.ts +29 -27
- package/dist/skills-remote.js +236 -100
- package/dist/skills-remote.js.map +1 -1
- package/dist/skills.d.ts +25 -36
- package/dist/skills.js +43 -54
- package/dist/skills.js.map +1 -1
- package/dist/subcommands.d.ts +11 -0
- package/dist/subcommands.js +24 -0
- package/dist/subcommands.js.map +1 -0
- package/dist/task-cli/cli.js +78 -25
- package/dist/task-cli/cli.js.map +1 -1
- package/dist/task-cli/discovery.d.ts +4 -2
- package/dist/task-cli/discovery.js +14 -13
- package/dist/task-cli/discovery.js.map +1 -1
- package/dist/task-cli/hint.d.ts +20 -0
- package/dist/task-cli/hint.js +14 -0
- package/dist/task-cli/hint.js.map +1 -0
- package/dist/task-cli/http.d.ts +1 -0
- package/dist/task-cli/http.js +3 -1
- package/dist/task-cli/http.js.map +1 -1
- package/dist/task-cli/projections.d.ts +14 -11
- package/dist/task-cli/projections.js +15 -11
- package/dist/task-cli/projections.js.map +1 -1
- package/dist/task-cli/watch.d.ts +18 -10
- package/dist/task-cli/watch.js +128 -20
- package/dist/task-cli/watch.js.map +1 -1
- package/dist/ui-state.d.ts +17 -3
- package/dist/ui-state.js +56 -9
- package/dist/ui-state.js.map +1 -1
- package/dist/update-check.d.ts +0 -10
- package/dist/update-check.js +1 -16
- package/dist/update-check.js.map +1 -1
- package/dist/voice/decide.d.ts +32 -0
- package/dist/voice/decide.js +297 -0
- package/dist/voice/decide.js.map +1 -0
- package/dist/voice/decision-log.d.ts +52 -0
- package/dist/voice/decision-log.js +107 -0
- package/dist/voice/decision-log.js.map +1 -0
- package/dist/voice/engine.d.ts +119 -0
- package/dist/voice/engine.js +60 -0
- package/dist/voice/engine.js.map +1 -0
- package/dist/voice/fake-engine.d.ts +10 -0
- package/dist/voice/fake-engine.js +192 -0
- package/dist/voice/fake-engine.js.map +1 -0
- package/dist/voice/jev-engine.d.ts +17 -0
- package/dist/voice/jev-engine.js +110 -0
- package/dist/voice/jev-engine.js.map +1 -0
- package/dist/voice/pending-ask.d.ts +17 -0
- package/dist/voice/pending-ask.js +50 -0
- package/dist/voice/pending-ask.js.map +1 -0
- package/dist/voice/routes.d.ts +115 -0
- package/dist/voice/routes.js +91 -0
- package/dist/voice/routes.js.map +1 -0
- package/dist/voice/sentence.d.ts +21 -0
- package/dist/voice/sentence.js +61 -0
- package/dist/voice/sentence.js.map +1 -0
- package/dist/voice/thresholds.d.ts +28 -0
- package/dist/voice/thresholds.js +29 -0
- package/dist/voice/thresholds.js.map +1 -0
- package/dist/webhooks/cli.d.ts +18 -0
- package/dist/webhooks/cli.js +145 -0
- package/dist/webhooks/cli.js.map +1 -0
- package/dist/webhooks/prompt.d.ts +5 -0
- package/dist/webhooks/prompt.js +26 -0
- package/dist/webhooks/prompt.js.map +1 -0
- package/dist/workflows/active-run.d.ts +167 -0
- package/dist/workflows/active-run.js +21 -0
- package/dist/workflows/active-run.js.map +1 -0
- package/dist/workflows/continuation-admission.d.ts +913 -0
- package/dist/workflows/continuation-admission.js +265 -0
- package/dist/workflows/continuation-admission.js.map +1 -0
- package/dist/workflows/execution-account.d.ts +13 -0
- package/dist/workflows/execution-account.js +18 -0
- package/dist/workflows/execution-account.js.map +1 -0
- package/dist/workflows/input-acknowledgement.d.ts +152 -0
- package/dist/workflows/input-acknowledgement.js +38 -0
- package/dist/workflows/input-acknowledgement.js.map +1 -0
- package/dist/workflows/line-order.d.ts +5 -0
- package/dist/workflows/line-order.js +25 -0
- package/dist/workflows/line-order.js.map +1 -0
- package/dist/workflows/outcome-batches.d.ts +20 -0
- package/dist/workflows/outcome-batches.js +25 -0
- package/dist/workflows/outcome-batches.js.map +1 -0
- package/dist/workflows/question-routing.d.ts +8 -0
- package/dist/workflows/question-routing.js +18 -0
- package/dist/workflows/question-routing.js.map +1 -0
- package/dist/workflows/run-scheduling.d.ts +35 -0
- package/dist/workflows/run-scheduling.js +61 -0
- package/dist/workflows/run-scheduling.js.map +1 -0
- package/dist/workflows/run-states.d.ts +190 -0
- package/dist/workflows/run-states.js +295 -0
- package/dist/workflows/run-states.js.map +1 -0
- package/dist/workflows/run.d.ts +1296 -278
- package/dist/workflows/run.js +5730 -3265
- package/dist/workflows/run.js.map +1 -1
- package/dist/workflows/turn-end.d.ts +116 -0
- package/dist/workflows/turn-end.js +68 -0
- package/dist/workflows/turn-end.js.map +1 -0
- package/dist/workflows/types.d.ts +35 -130
- package/dist/workflows/types.js +47 -100
- package/dist/workflows/types.js.map +1 -1
- package/dist/workflows/waits.d.ts +74 -0
- package/dist/workflows/waits.js +197 -0
- package/dist/workflows/waits.js.map +1 -0
- package/dist/workspace/agent-accounts.d.ts +5 -38
- package/dist/workspace/agent-accounts.js +14 -40
- package/dist/workspace/agent-accounts.js.map +1 -1
- package/dist/workspace/agent-profiles.d.ts +40 -16
- package/dist/workspace/agent-profiles.js +77 -17
- package/dist/workspace/agent-profiles.js.map +1 -1
- package/dist/workspace/config.d.ts +48 -49
- package/dist/workspace/config.js +68 -72
- package/dist/workspace/config.js.map +1 -1
- package/dist/workspace/migrations.d.ts +3 -13
- package/dist/workspace/migrations.js.map +1 -1
- package/dist/workspace/projects-cli.d.ts +1 -1
- package/dist/workspace/projects-cli.js.map +1 -1
- package/dist/workspace/projects.d.ts +15 -18
- package/dist/workspace/projects.js +20 -16
- package/dist/workspace/projects.js.map +1 -1
- package/dist/workspace/semaphore.d.ts +11 -45
- package/dist/workspace/semaphore.js +6 -18
- package/dist/workspace/semaphore.js.map +1 -1
- package/dist/workspace/ui-state.d.ts +6 -4
- package/dist/workspace/ui-state.js +6 -4
- package/dist/workspace/ui-state.js.map +1 -1
- package/dist/workspace/webhooks.d.ts +40 -0
- package/dist/workspace/webhooks.js +146 -0
- package/dist/workspace/webhooks.js.map +1 -0
- package/dist/worktree-manifest.d.ts +165 -0
- package/dist/worktree-manifest.js +530 -0
- package/dist/worktree-manifest.js.map +1 -0
- package/dist/worktree-setup.js.map +1 -1
- package/package.json +6 -5
- package/scripts/benchmark-run-store-fixture.ts +7 -3
- package/scripts/check-pack.mjs +3 -1
- package/scripts/inline-contract.mjs +80 -27
- package/scripts/install-as-command.mjs +3 -1
- package/scripts/measure-transcript-facts-health.mjs +87 -0
- package/scripts/measure-transcript-facts-lag.mjs +68 -0
- package/scripts/mock-ci-tool.mjs +49 -6
- package/scripts/mock-claude-model-refusal.mjs +42 -0
- package/scripts/mock-claude.mjs +833 -591
- package/scripts/mock-codex-app-server.mjs +785 -418
- package/scripts/mock-cursor-acp.mjs +296 -125
- package/scripts/mock-cursor-print.mjs +256 -0
- package/scripts/mock-deferred-turn-start.mjs +16 -0
- package/scripts/mock-delivery-control.d.mts +23 -0
- package/scripts/mock-delivery-control.mjs +80 -0
- package/scripts/mock-env-record.mjs +11 -0
- package/scripts/mock-failure-control.d.mts +13 -0
- package/scripts/mock-failure-control.mjs +68 -0
- package/scripts/mock-multi-pr.mjs +7 -0
- package/scripts/mock-nudge.mjs +45 -0
- package/scripts/mock-omp-rpc.mjs +429 -255
- package/scripts/mock-opencode-serve.mjs +972 -557
- package/scripts/mock-pi-rpc.mjs +558 -331
- package/scripts/mock-runner-crash.mjs +18 -2
- package/scripts/mock-session-context.d.mts +5 -0
- package/scripts/mock-session-context.mjs +56 -0
- package/scripts/mock-silent-tail.mjs +10 -3
- package/scripts/pi-default-tools.mjs +22 -0
- package/scripts/pi-project-skills.mjs +59 -0
- package/scripts/probe-cursor-print.mjs +627 -0
- package/scripts/transcript-facts-fixture.mjs +53 -0
- package/scripts/voice-replay.ts +50 -0
- package/scripts/windows-workspace-identity.cs +208 -0
- package/scripts/windows-workspace-identity.ps1 +10 -0
- package/web/dist/assets/alert-dialog-DfctKUMw.js +1 -0
- package/web/dist/assets/button-CeupvoKG.js +41 -0
- package/web/dist/assets/centered-state-hDsyXrnH.js +1 -0
- package/web/dist/assets/cez-idle-D3aj_9lp.js +1 -0
- package/web/dist/assets/diff-BnIXZK3i2.js +3 -0
- package/web/dist/assets/diff-controls-GewpW9aF.js +1 -0
- package/web/dist/assets/diff-view-Byo7gpvW.js +11 -0
- package/web/dist/assets/dropdown-menu-COj_J5wd.js +6 -0
- package/web/dist/assets/eye-B8okNWXU.js +1 -0
- package/web/dist/assets/git-toolbar-DY0z0n4S.js +1 -0
- package/web/dist/assets/github-DwU6ALRK.js +1 -0
- package/web/dist/assets/{image-preview-FOEfqpZP.js → image-preview-C_t9q45f.js} +1 -1
- package/web/dist/assets/index-BOfE8pyD.js +34 -0
- package/web/dist/assets/index-D9HpsmdW.css +1 -0
- package/web/dist/assets/live-protocol-Uce2NwEX.js +64 -0
- package/web/dist/assets/live-worker-BizfZSoh.ts +33 -0
- package/web/dist/assets/markdown-BBDDg-4t.js +1 -0
- package/web/dist/assets/nav-row-styles-AoIhhIwf.js +1 -0
- package/web/dist/assets/popover-D56fhiXj.js +1 -0
- package/web/dist/assets/preview-pane-connected-BmVqfSU5.js +3 -0
- package/web/dist/assets/reference-chip-gQNk-4jc.js +1 -0
- package/web/dist/assets/repo-git-B5ECDUuv.js +1 -0
- package/web/dist/assets/{repo-git-CoKp-g9K.css → repo-git-DVXNOJDT.css} +1 -1
- package/web/dist/assets/run-header-C0Y1NvEM.js +2 -0
- package/web/dist/assets/run-header-CC7VUTg9.css +1 -0
- package/web/dist/assets/skills-DUeTkZ9z.js +1 -0
- package/web/dist/assets/status-dot-1PR0i69P.js +1 -0
- package/web/dist/assets/tab-link-DmWk4l5O.js +1 -0
- package/web/dist/assets/task-changes-DKZXuW89.js +1 -0
- package/web/dist/assets/task-commits-BZ6KxWdF.js +1 -0
- package/web/dist/assets/task-files-DlF7Apcn.js +2 -0
- package/web/dist/assets/task-github-item-CVPo3geZ.js +1 -0
- package/web/dist/assets/task-thread-DtQ6uGfQ.css +1 -0
- package/web/dist/assets/task-thread-mm4-ECyo.js +9 -0
- package/web/dist/assets/thread-state-CIw2BlhT.js +4 -0
- package/web/dist/assets/use-hand-to-agent-state-BCDjzHnG.js +1 -0
- package/web/dist/assets/use-hand-to-agent-state-C7esPJ-N.css +1 -0
- package/web/dist/assets/workflows-D8vYD-ql.js +7 -0
- package/web/dist/assets/zoomable-image-CxQSsfcn.js +1 -0
- package/web/dist/index.html +13 -17
- package/web/dist/live-worker.js +4 -0
- package/dist/core/tool-display.js +0 -179
- package/dist/core/tool-display.js.map +0 -1
- package/dist/runs/human-ask-summary.d.ts +0 -9
- package/dist/runs/human-ask-summary.js +0 -39
- package/dist/runs/human-ask-summary.js.map +0 -1
- package/dist/runs/run-search.d.ts +0 -29
- package/dist/runs/run-search.js +0 -63
- package/dist/runs/run-search.js.map +0 -1
- package/dist/skills-banner.d.ts +0 -22
- package/dist/skills-banner.js +0 -41
- package/dist/skills-banner.js.map +0 -1
- package/dist/skills-update.d.ts +0 -88
- package/dist/skills-update.js +0 -392
- package/dist/skills-update.js.map +0 -1
- package/dist/todos.d.ts +0 -48
- package/dist/todos.js +0 -201
- package/dist/todos.js.map +0 -1
- package/web/dist/assets/agent-accounts-CFOBMVHc.js +0 -1
- package/web/dist/assets/alert-dialog-BrpNUwMt.js +0 -1
- package/web/dist/assets/button-C_rd7CPp.js +0 -43
- package/web/dist/assets/compare-variants-D6WXhvXA.js +0 -1
- package/web/dist/assets/diff-DrEARXTV.js +0 -3
- package/web/dist/assets/diff-controls-B1-j7nFg.js +0 -1
- package/web/dist/assets/diff-view-DvGLjdTk.js +0 -6
- package/web/dist/assets/dropdown-menu-BegOZFrj.js +0 -1
- package/web/dist/assets/format-DpNe3S0A.js +0 -1
- package/web/dist/assets/git-toolbar-Cw4ljmhB.js +0 -1
- package/web/dist/assets/github-CfV5sqL0.js +0 -1
- package/web/dist/assets/index-DgWWlOLy.js +0 -13
- package/web/dist/assets/index-fBFnuvxu.css +0 -1
- package/web/dist/assets/nav-row-styles-vp2JbhuJ.js +0 -1
- package/web/dist/assets/popover-BohP6WTx.js +0 -1
- package/web/dist/assets/preview-pane-connected-qTA5KNoJ.js +0 -3
- package/web/dist/assets/preview-state-vuMviq6q.js +0 -1
- package/web/dist/assets/prompt-templates-Cubdut_C.js +0 -15
- package/web/dist/assets/repo-git-Cf4t5PD0.js +0 -1
- package/web/dist/assets/run-diff-BpkUW37Z.js +0 -3
- package/web/dist/assets/run-header-68WHf9wV.js +0 -1
- package/web/dist/assets/run-header-8GObNx6F.css +0 -1
- package/web/dist/assets/search-x-I9Q8pgUa.js +0 -1
- package/web/dist/assets/skills-DFBiAuJG.js +0 -1
- package/web/dist/assets/skills-DiVIgKeU.js +0 -1
- package/web/dist/assets/square-terminal-B6RYYieR.js +0 -1
- package/web/dist/assets/status-dot-CqTJHSP9.js +0 -1
- package/web/dist/assets/tab-link-B07Hu4QX.js +0 -1
- package/web/dist/assets/task-changes--lQF6EYf.js +0 -1
- package/web/dist/assets/task-commits-Cx0qy4DN.js +0 -1
- package/web/dist/assets/task-files-D50s-gKW.js +0 -2
- package/web/dist/assets/task-github-item-DaqmSwYT.js +0 -1
- package/web/dist/assets/task-thread-BPQ64lui.js +0 -7
- package/web/dist/assets/task-thread-zNE2Q9E-.css +0 -1
- package/web/dist/assets/textarea-D20O4Pw0.js +0 -1
- package/web/dist/assets/thread-state-DWcFMrvb.js +0 -4
- package/web/dist/assets/use-hand-to-agent-state-BLIGmwbd.css +0 -1
- package/web/dist/assets/use-hand-to-agent-state-Cy9eyyfL.js +0 -1
- package/web/dist/assets/utils-JsL3ZsJf.js +0 -64
- package/web/dist/assets/workflows-jwG7uxqi.js +0 -11
- package/web/dist/assets/zoomable-image-BJJ64KGc.js +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/** Shared cold fixture for the isolated lag, HTTP, and installed-package proofs. */
|
|
2
|
+
import assert from 'node:assert/strict';
|
|
3
|
+
import { mkdirSync, writeFileSync, readdirSync, readFileSync, statSync } from 'node:fs';
|
|
4
|
+
import { join } from 'node:path';
|
|
5
|
+
import { brotliCompressSync, constants } from 'node:zlib';
|
|
6
|
+
|
|
7
|
+
export async function seedColdHistories(dataDir, runtime) {
|
|
8
|
+
const { RunDatabase, RUNS_DB_FILE, RUNS_IMPORT_COMPLETE_KEY } = await import(new URL('runs/run-database.' + runtime.ext, runtime.url));
|
|
9
|
+
const { encodeRunRow } = await import(new URL('runs/run-row.' + runtime.ext, runtime.url));
|
|
10
|
+
mkdirSync(join(dataDir, 'runs'), { recursive: true });
|
|
11
|
+
const fixtures = [];
|
|
12
|
+
const rows = [];
|
|
13
|
+
for (let i = 0; i < 700; i++) {
|
|
14
|
+
const id = `00000000-0000-4000-8000-${String(i).padStart(12, '0')}`;
|
|
15
|
+
const events = i === 0 ? 100_000 : 8;
|
|
16
|
+
const text = Array.from({ length: events }, (_, n) => JSON.stringify({
|
|
17
|
+
type: 'text', seq: n + 1, ts: '2026-10-08T00:00:00.000Z', text: 'history payload '.repeat(i === 0 ? 24 : 2),
|
|
18
|
+
}) + '\n').join('');
|
|
19
|
+
const archived = i % 2 === 1;
|
|
20
|
+
const bytes = Buffer.byteLength(text);
|
|
21
|
+
const body = archived ? brotliCompressSync(Buffer.from(text), { params: { [constants.BROTLI_PARAM_QUALITY]: 1 } }) : text;
|
|
22
|
+
writeFileSync(join(dataDir, 'runs', `${id}.ndjson${archived ? '.br' : ''}`), body);
|
|
23
|
+
fixtures.push({ id, events, bytes, archived, diskBytes: Buffer.byteLength(body) });
|
|
24
|
+
rows.push(encodeRunRow({ id, title: 'cold history', task: 'fixture', workflow: 'quick-task', status: 'done',
|
|
25
|
+
createdAt: '2026-10-08T00:00:00.000Z', tokensUsed: 0, archived: false, steps: [],
|
|
26
|
+
delegation: { role: 'root', permissions: [], receipts: [], conversation: { messages: [], outcomes: [] } },
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
const db = RunDatabase.open(join(dataDir, RUNS_DB_FILE));
|
|
30
|
+
try { db.transaction({ upserts: rows, deletes: [], meta: { [RUNS_IMPORT_COMPLETE_KEY]: JSON.stringify({ source: 'responsiveness fixture', records: rows.length }) } }); }
|
|
31
|
+
finally { db.close(); }
|
|
32
|
+
assert.equal(readdirSync(join(dataDir, 'runs')).filter(name => name.endsWith('.facts.json')).length, 0);
|
|
33
|
+
return fixtures;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export function verifyFacts(dataDir, fixtures, store) {
|
|
37
|
+
for (const fixture of fixtures) {
|
|
38
|
+
const facts = JSON.parse(readFileSync(join(dataDir, 'runs', `${fixture.id}.facts.json`), 'utf8'));
|
|
39
|
+
assert.equal(facts.version, 1);
|
|
40
|
+
assert.equal(facts.bytes, fixture.bytes);
|
|
41
|
+
assert.equal(facts.lastSeq, fixture.events);
|
|
42
|
+
assert.deepEqual(store.transcriptFacts(fixture.id), facts);
|
|
43
|
+
if (fixture.archived) {
|
|
44
|
+
const stat = statSync(join(dataDir, 'runs', `${fixture.id}.ndjson.br`));
|
|
45
|
+
assert.deepEqual(facts.archive, { size: stat.size, mtimeMs: stat.mtimeMs, ino: stat.ino });
|
|
46
|
+
} else assert.equal(facts.archive, undefined);
|
|
47
|
+
}
|
|
48
|
+
assert.equal(readdirSync(join(dataDir, 'runs')).filter(name => name.endsWith('.facts.json')).length, fixtures.length);
|
|
49
|
+
return { histories: fixtures.length, plain: fixtures.filter(f => !f.archived).length,
|
|
50
|
+
brotli: fixtures.filter(f => f.archived).length, events: fixtures.reduce((n, f) => n + f.events, 0),
|
|
51
|
+
decodedBytes: fixtures.reduce((n, f) => n + f.bytes, 0), diskBytes: fixtures.reduce((n, f) => n + f.diskBytes, 0),
|
|
52
|
+
largestEvents: fixtures[0].events, largestBytes: fixtures[0].bytes, coldSidecars: 0, sidecars: fixtures.length };
|
|
53
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// The voice replay set against the live Jev engine (hearsay-tools/cezarion#1463). Not part of any
|
|
2
|
+
// test run: it costs API calls and needs TYPESAFE_API_KEY in the environment. From packages/cezar:
|
|
3
|
+
//
|
|
4
|
+
// node --import tsx scripts/voice-replay.ts
|
|
5
|
+
//
|
|
6
|
+
// For each case it prints the expected and actual decision, each target's min and mean word
|
|
7
|
+
// confidence, the latency and the input tokens, and exits 1 on any mismatch. It never prints the key.
|
|
8
|
+
import { JevVoiceEngine } from '../src/voice/jev-engine.ts';
|
|
9
|
+
import type { DecisionEngine } from '../src/voice/engine.ts';
|
|
10
|
+
import { REPLAY_CASES, mismatch, replayDecision, targetConfidences } from '../src/voice/replay-set.testkit.ts';
|
|
11
|
+
|
|
12
|
+
const apiKey = process.env.TYPESAFE_API_KEY;
|
|
13
|
+
if (!apiKey) {
|
|
14
|
+
console.error('TYPESAFE_API_KEY is not set.');
|
|
15
|
+
process.exit(2);
|
|
16
|
+
}
|
|
17
|
+
const jev = new JevVoiceEngine({ apiKey });
|
|
18
|
+
|
|
19
|
+
let failed = 0;
|
|
20
|
+
const latencies: number[] = [];
|
|
21
|
+
for (const replay of REPLAY_CASES) {
|
|
22
|
+
let inputTokens: number | undefined;
|
|
23
|
+
const engine: DecisionEngine = {
|
|
24
|
+
id: jev.id,
|
|
25
|
+
async decide(input, signal) {
|
|
26
|
+
const result = await jev.decide(input, signal);
|
|
27
|
+
inputTokens = result.inputTokens;
|
|
28
|
+
return result;
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
try {
|
|
32
|
+
const { decision, answers, latencyMs } = await replayDecision(replay, engine);
|
|
33
|
+
latencies.push(latencyMs);
|
|
34
|
+
const wrong = mismatch(replay.expect, decision);
|
|
35
|
+
if (wrong) failed += 1;
|
|
36
|
+
console.log(`${wrong ? 'FAIL' : 'ok '} ${replay.name} — "${replay.sentence}" (${latencyMs} ms, ${inputTokens ?? '?'} in-tokens)`);
|
|
37
|
+
if (wrong) console.log(` ${wrong}`);
|
|
38
|
+
const { decisionId: _id, ...shown } = decision;
|
|
39
|
+
console.log(` decision: ${JSON.stringify(shown)}`);
|
|
40
|
+
for (const [label, { min, mean }] of Object.entries(targetConfidences(replay.sentence, answers))) {
|
|
41
|
+
console.log(` ${label}: min ${min.toFixed(2)}, mean ${mean.toFixed(2)}`);
|
|
42
|
+
}
|
|
43
|
+
} catch (error) {
|
|
44
|
+
failed += 1;
|
|
45
|
+
console.log(`FAIL ${replay.name} — ${error instanceof Error ? error.message : 'engine error'}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const range = latencies.length ? `${Math.min(...latencies)}–${Math.max(...latencies)} ms` : 'n/a';
|
|
49
|
+
console.log(`\n${REPLAY_CASES.length - failed}/${REPLAY_CASES.length} cases passed; latency ${range}`);
|
|
50
|
+
process.exit(failed === 0 ? 0 : 1);
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
// Windows counterpart of workspace.ts's private, no-follow identity file operations.
|
|
2
|
+
// Loaded by the adjacent PowerShell entry point; shipped with the CLI.
|
|
3
|
+
using System;
|
|
4
|
+
using System.Collections.Generic;
|
|
5
|
+
using System.ComponentModel;
|
|
6
|
+
using System.IO;
|
|
7
|
+
using System.Runtime.InteropServices;
|
|
8
|
+
using System.Security.AccessControl;
|
|
9
|
+
using System.Security.Principal;
|
|
10
|
+
using System.Text;
|
|
11
|
+
using Microsoft.Win32.SafeHandles;
|
|
12
|
+
|
|
13
|
+
public static class CezWorkspaceIdentity {
|
|
14
|
+
const uint ReadControl = 0x20000, ReadAttributes = 0x80, GenericRead = 0x80000000, GenericWrite = 0x40000000, Delete = 0x10000;
|
|
15
|
+
const uint OpenReparse = 0x200000, BackupSemantics = 0x2000000, ReparsePoint = 0x400, DirectoryAttribute = 0x10;
|
|
16
|
+
const uint ShareRead = 1, ShareWrite = 2, ShareDelete = 4, OpenExisting = 3, CreateNew = 1;
|
|
17
|
+
const int FullControl = 0x1f01ff;
|
|
18
|
+
static readonly string User = WindowsIdentity.GetCurrent().User.Value;
|
|
19
|
+
[StructLayout(LayoutKind.Sequential)] struct SecurityAttributes { public int Length; public IntPtr Descriptor; public int Inherit; }
|
|
20
|
+
[StructLayout(LayoutKind.Sequential)] struct FileInformation {
|
|
21
|
+
public uint Attributes; public System.Runtime.InteropServices.ComTypes.FILETIME Creation, Access, Write;
|
|
22
|
+
public uint Volume, SizeHigh, SizeLow, Links, IndexHigh, IndexLow;
|
|
23
|
+
}
|
|
24
|
+
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Unicode)] struct RenameInformation {
|
|
25
|
+
public uint Replace; public IntPtr Root; public uint Length; public char Name;
|
|
26
|
+
}
|
|
27
|
+
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
|
28
|
+
static extern SafeFileHandle CreateFileW(string path, uint access, uint share, IntPtr security, uint creation, uint flags, IntPtr template);
|
|
29
|
+
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
|
30
|
+
static extern bool CreateDirectoryW(string path, ref SecurityAttributes security);
|
|
31
|
+
[DllImport("kernel32.dll", SetLastError = true)]
|
|
32
|
+
static extern bool GetFileInformationByHandle(SafeFileHandle file, out FileInformation information);
|
|
33
|
+
[DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
|
|
34
|
+
static extern uint GetFinalPathNameByHandleW(SafeFileHandle file, StringBuilder path, uint size, uint flags);
|
|
35
|
+
[DllImport("advapi32.dll")]
|
|
36
|
+
static extern uint GetSecurityInfo(SafeFileHandle file, int type, uint information, out IntPtr owner, out IntPtr group, out IntPtr dacl, out IntPtr sacl, out IntPtr descriptor);
|
|
37
|
+
[DllImport("advapi32.dll")]
|
|
38
|
+
static extern uint GetSecurityDescriptorLength(IntPtr descriptor);
|
|
39
|
+
[DllImport("kernel32.dll")] static extern IntPtr LocalFree(IntPtr memory);
|
|
40
|
+
[DllImport("kernel32.dll", SetLastError = true)]
|
|
41
|
+
static extern bool SetFileInformationByHandle(SafeFileHandle file, int kind, IntPtr information, uint size);
|
|
42
|
+
|
|
43
|
+
sealed class PrivateSecurity : IDisposable {
|
|
44
|
+
GCHandle pinned; IntPtr attributes;
|
|
45
|
+
public SecurityAttributes Value;
|
|
46
|
+
public PrivateSecurity(bool directory) {
|
|
47
|
+
string inheritance = directory ? "OICI" : "";
|
|
48
|
+
var descriptor = new RawSecurityDescriptor("O:" + User + "D:P(A;" + inheritance + ";FA;;;" + User + ")(A;" + inheritance + ";FA;;;SY)(A;" + inheritance + ";FA;;;BA)");
|
|
49
|
+
byte[] bytes = new byte[descriptor.BinaryLength]; descriptor.GetBinaryForm(bytes, 0);
|
|
50
|
+
pinned = GCHandle.Alloc(bytes, GCHandleType.Pinned);
|
|
51
|
+
Value = new SecurityAttributes { Length = Marshal.SizeOf(typeof(SecurityAttributes)), Descriptor = pinned.AddrOfPinnedObject() };
|
|
52
|
+
attributes = Marshal.AllocHGlobal(Value.Length); Marshal.StructureToPtr(Value, attributes, false);
|
|
53
|
+
}
|
|
54
|
+
public IntPtr Pointer { get { return attributes; } }
|
|
55
|
+
public void Dispose() { Marshal.FreeHGlobal(attributes); pinned.Free(); }
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
static string Canonical(string path) {
|
|
59
|
+
// Device paths, streams and UNC shares are outside this local receipt store.
|
|
60
|
+
if (path.Length < 3 || !Char.IsLetter(path[0]) || path[1] != ':' || (path[2] != '\\' && path[2] != '/'))
|
|
61
|
+
throw new IOException("Identity path must be on a local drive");
|
|
62
|
+
if (path.Substring(2).IndexOf(':') >= 0) throw new IOException("Identity path contains a stream");
|
|
63
|
+
string full = Path.GetFullPath(path);
|
|
64
|
+
return full.Length > 3 ? full.TrimEnd('\\') : full;
|
|
65
|
+
}
|
|
66
|
+
static SafeFileHandle Open(string path, uint access, uint share, bool missingAllowed) {
|
|
67
|
+
var file = CreateFileW(path, access, share, IntPtr.Zero, OpenExisting, OpenReparse | BackupSemantics, IntPtr.Zero);
|
|
68
|
+
if (!file.IsInvalid) return file;
|
|
69
|
+
int error = Marshal.GetLastWin32Error(); file.Dispose();
|
|
70
|
+
if (missingAllowed && (error == 2 || error == 3)) return null;
|
|
71
|
+
throw new Win32Exception(error, "Cannot open workspace identity: " + path);
|
|
72
|
+
}
|
|
73
|
+
static FileInformation CheckObject(SafeFileHandle file, string path, bool directory) {
|
|
74
|
+
FileInformation info;
|
|
75
|
+
if (!GetFileInformationByHandle(file, out info)) throw new Win32Exception();
|
|
76
|
+
if ((info.Attributes & ReparsePoint) != 0 || ((info.Attributes & DirectoryAttribute) != 0) != directory)
|
|
77
|
+
throw new IOException("Redirected or wrong-kind workspace identity");
|
|
78
|
+
if (!directory && info.Links != 1) throw new IOException("Linked workspace identity");
|
|
79
|
+
var final = new StringBuilder(32768);
|
|
80
|
+
uint length = GetFinalPathNameByHandleW(file, final, (uint)final.Capacity, 0);
|
|
81
|
+
if (length == 0 || length >= final.Capacity) throw new IOException("Cannot resolve workspace identity handle");
|
|
82
|
+
string name = final.ToString(); if (name.StartsWith("\\\\?\\")) name = name.Substring(4);
|
|
83
|
+
if (!String.Equals(Canonical(name), path, StringComparison.OrdinalIgnoreCase)) throw new IOException("Workspace identity handle names another path");
|
|
84
|
+
return info;
|
|
85
|
+
}
|
|
86
|
+
static void CheckPrivate(SafeFileHandle file) {
|
|
87
|
+
IntPtr owner, group, dacl, sacl, descriptor;
|
|
88
|
+
uint error = GetSecurityInfo(file, 1, 5, out owner, out group, out dacl, out sacl, out descriptor);
|
|
89
|
+
if (error != 0) throw new Win32Exception((int)error);
|
|
90
|
+
try {
|
|
91
|
+
byte[] bytes = new byte[GetSecurityDescriptorLength(descriptor)]; Marshal.Copy(descriptor, bytes, 0, bytes.Length);
|
|
92
|
+
var security = new RawSecurityDescriptor(bytes, 0);
|
|
93
|
+
if (security.Owner == null || security.Owner.Value != User || security.DiscretionaryAcl == null ||
|
|
94
|
+
(security.ControlFlags & ControlFlags.DiscretionaryAclProtected) == 0) throw new IOException("Unprotected workspace identity");
|
|
95
|
+
bool userFullControl = false;
|
|
96
|
+
foreach (GenericAce entry in security.DiscretionaryAcl) {
|
|
97
|
+
var ace = entry as CommonAce;
|
|
98
|
+
if (ace == null || ace.IsCallback || ace.AceQualifier != AceQualifier.AccessAllowed) throw new IOException("Unknown workspace identity ACL");
|
|
99
|
+
string sid = ace.SecurityIdentifier.Value;
|
|
100
|
+
if (sid != User && sid != "S-1-5-18" && sid != "S-1-5-32-544") throw new IOException("Broad workspace identity ACL");
|
|
101
|
+
if (sid == User && (ace.AceFlags & AceFlags.InheritOnly) == 0 && (ace.AccessMask & FullControl) == FullControl) userFullControl = true;
|
|
102
|
+
}
|
|
103
|
+
if (!userFullControl) throw new IOException("Workspace identity owner lacks control");
|
|
104
|
+
} finally { LocalFree(descriptor); }
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Pin every ancestor without FILE_SHARE_DELETE. Opening each component with
|
|
108
|
+
// OPEN_REPARSE_POINT rejects junctions too, including intermediate components.
|
|
109
|
+
sealed class Parents : IDisposable {
|
|
110
|
+
readonly List<SafeFileHandle> handles = new List<SafeFileHandle>();
|
|
111
|
+
public Parents(string path) {
|
|
112
|
+
try {
|
|
113
|
+
string directory = Path.GetDirectoryName(path), current = Path.GetPathRoot(path);
|
|
114
|
+
Pin(current);
|
|
115
|
+
foreach (string part in directory.Substring(current.Length).Split(new char[] { '\\' }, StringSplitOptions.RemoveEmptyEntries)) {
|
|
116
|
+
current = Path.Combine(current, part); Pin(current);
|
|
117
|
+
}
|
|
118
|
+
} catch { Dispose(); throw; }
|
|
119
|
+
}
|
|
120
|
+
void Pin(string path) {
|
|
121
|
+
var file = Open(path, ReadAttributes, ShareRead | ShareWrite, false);
|
|
122
|
+
handles.Add(file); CheckObject(file, Canonical(path), true);
|
|
123
|
+
}
|
|
124
|
+
public void Dispose() { for (int i = handles.Count - 1; i >= 0; i--) handles[i].Dispose(); }
|
|
125
|
+
}
|
|
126
|
+
static SafeFileHandle PrivateFile(string path, bool missingAllowed, uint share) {
|
|
127
|
+
var file = Open(path, GenericRead | ReadControl, share, missingAllowed);
|
|
128
|
+
if (file == null) return null;
|
|
129
|
+
try { CheckObject(file, path, false); CheckPrivate(file); return file; }
|
|
130
|
+
catch { file.Dispose(); throw; }
|
|
131
|
+
}
|
|
132
|
+
static void PrivateDirectory(string path) {
|
|
133
|
+
using (var file = Open(path, ReadAttributes | ReadControl, ShareRead | ShareWrite, false)) {
|
|
134
|
+
CheckObject(file, path, true); CheckPrivate(file);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
public static void Directory(string input, bool create) {
|
|
138
|
+
string path = Canonical(input);
|
|
139
|
+
using (var parents = new Parents(path)) {
|
|
140
|
+
if (create) using (var security = new PrivateSecurity(true)) {
|
|
141
|
+
if (!CreateDirectoryW(path, ref security.Value)) {
|
|
142
|
+
int error = Marshal.GetLastWin32Error(); if (error != 183) throw new Win32Exception(error);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
using (var file = Open(path, ReadAttributes | ReadControl, ShareRead | ShareWrite, !create)) {
|
|
146
|
+
if (file != null) { CheckObject(file, path, true); CheckPrivate(file); }
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
public static string Read(string input, int cap, bool privateParent) {
|
|
151
|
+
string path = Canonical(input);
|
|
152
|
+
using (var parents = new Parents(path)) {
|
|
153
|
+
if (privateParent) PrivateDirectory(Path.GetDirectoryName(path));
|
|
154
|
+
using (var file = PrivateFile(path, false, ShareRead)) {
|
|
155
|
+
var info = CheckObject(file, path, false);
|
|
156
|
+
if (cap < 0 || cap > 16384 || info.SizeHigh != 0 || info.SizeLow > cap) throw new IOException("Oversized workspace identity");
|
|
157
|
+
using (var stream = new FileStream(file, FileAccess.Read)) {
|
|
158
|
+
byte[] bytes = new byte[cap + 1]; int count = 0, read;
|
|
159
|
+
while (count < bytes.Length && (read = stream.Read(bytes, count, bytes.Length - count)) != 0) count += read;
|
|
160
|
+
if (count > cap) throw new IOException("Oversized workspace identity");
|
|
161
|
+
return Convert.ToBase64String(bytes, 0, count);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
static SafeFileHandle Create(string path) {
|
|
167
|
+
using (var security = new PrivateSecurity(false)) {
|
|
168
|
+
var file = CreateFileW(path, GenericWrite | ReadControl | Delete, 0, security.Pointer, CreateNew, OpenReparse, IntPtr.Zero);
|
|
169
|
+
if (file.IsInvalid) { int error = Marshal.GetLastWin32Error(); file.Dispose(); throw new Win32Exception(error); }
|
|
170
|
+
try { CheckObject(file, path, false); CheckPrivate(file); return file; }
|
|
171
|
+
catch { file.Dispose(); throw; }
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
static void Rename(SafeFileHandle file, string path) {
|
|
175
|
+
byte[] name = Encoding.Unicode.GetBytes(path);
|
|
176
|
+
int offset = (int)Marshal.OffsetOf(typeof(RenameInformation), "Name");
|
|
177
|
+
// The Win32 path conversion needs a terminated string; Length excludes its NUL.
|
|
178
|
+
int size = offset + name.Length + 2;
|
|
179
|
+
IntPtr memory = Marshal.AllocHGlobal(size);
|
|
180
|
+
try {
|
|
181
|
+
// Zero padding as well as RootDirectory; use the pinned absolute destination.
|
|
182
|
+
// REPLACE_IF_EXISTS | POSIX_SEMANTICS permits replacing the destination while
|
|
183
|
+
// its verified read handle stays open. Never close it to make rename work.
|
|
184
|
+
Marshal.Copy(new byte[size], 0, memory, size); Marshal.WriteInt32(memory, 3);
|
|
185
|
+
Marshal.WriteInt32(memory, (int)Marshal.OffsetOf(typeof(RenameInformation), "Length"), name.Length);
|
|
186
|
+
Marshal.Copy(name, 0, IntPtr.Add(memory, offset), name.Length);
|
|
187
|
+
if (!SetFileInformationByHandle(file, 22 /* FileRenameInfoEx */, memory, (uint)size)) {
|
|
188
|
+
int error = Marshal.GetLastWin32Error(); throw new Win32Exception(error, "Cannot rename workspace checkpoint (" + error + ")");
|
|
189
|
+
}
|
|
190
|
+
} finally { Marshal.FreeHGlobal(memory); }
|
|
191
|
+
}
|
|
192
|
+
public static void Write(string input, string content, bool replace, bool privateParent) {
|
|
193
|
+
string path = Canonical(input); byte[] bytes = Convert.FromBase64String(content);
|
|
194
|
+
if (bytes.Length > 16384) throw new IOException("Oversized workspace identity");
|
|
195
|
+
using (var parents = new Parents(path)) {
|
|
196
|
+
// Only checkpoint replacement is allowed, inside the already-private store.
|
|
197
|
+
if (replace || privateParent) PrivateDirectory(Path.GetDirectoryName(path));
|
|
198
|
+
using (var previous = replace ? PrivateFile(path, true, ShareRead | ShareDelete) : null) {
|
|
199
|
+
string temporary = replace ? path + "." + Guid.NewGuid().ToString("N") + ".tmp" : path;
|
|
200
|
+
using (var file = Create(temporary))
|
|
201
|
+
using (var stream = new FileStream(file, FileAccess.Write)) {
|
|
202
|
+
stream.Write(bytes, 0, bytes.Length); stream.Flush(true);
|
|
203
|
+
if (replace) Rename(file, path);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
$ErrorActionPreference = 'Stop'
|
|
2
|
+
[Console]::InputEncoding = New-Object System.Text.UTF8Encoding($false)
|
|
3
|
+
Add-Type -Path (Join-Path $PSScriptRoot 'windows-workspace-identity.cs')
|
|
4
|
+
$request = [Console]::In.ReadToEnd() | ConvertFrom-Json
|
|
5
|
+
switch ($request.operation) {
|
|
6
|
+
'directory' { [CezWorkspaceIdentity]::Directory($request.path, [bool]$request.create) }
|
|
7
|
+
'read' { [CezWorkspaceIdentity]::Read($request.path, [int]$request.cap, [bool]$request.privateParent) }
|
|
8
|
+
'write' { [CezWorkspaceIdentity]::Write($request.path, $request.content, [bool]$request.replace, [bool]$request.privateParent) }
|
|
9
|
+
default { throw 'Unknown workspace identity operation' }
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{C as r,E as i,_ as a,a as o,b as s,c,d as l,f as u,g as d,h as f,i as ee,l as p,n as m,o as te,p as ne,r as re,s as ie}from"./button-CeupvoKG.js";var h=e(t(),1),g=n(),_=`Dialog`,[v,y]=d(_),[ae,b]=v(_),x=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=h.useRef(null),c=h.useRef(null),[u,d]=ne({prop:r,defaultProp:i??!1,onChange:a,caller:_});return(0,g.jsx)(ae,{scope:t,triggerRef:s,contentRef:c,contentId:l(),titleId:l(),descriptionId:l(),open:u,onOpenChange:d,onOpenToggle:h.useCallback(()=>d(e=>!e),[d]),modal:o,children:n})};x.displayName=_;var S=`DialogTrigger`,C=h.forwardRef((e,t)=>{let{__scopeDialog:n,...i}=e,o=b(S,n),s=r(t,o.triggerRef);return(0,g.jsx)(a.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":o.open,"aria-controls":o.open?o.contentId:void 0,"data-state":z(o.open),...i,ref:s,onClick:f(e.onClick,o.onOpenToggle)})});C.displayName=S;var w=`DialogPortal`,[oe,T]=v(w,{forceMount:void 0}),E=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=b(w,t);return(0,g.jsx)(oe,{scope:t,forceMount:n,children:h.Children.map(r,e=>(0,g.jsx)(u,{present:n||a.open,children:(0,g.jsx)(te,{asChild:!0,container:i,children:e})}))})};E.displayName=w;var D=`DialogOverlay`,O=h.forwardRef((e,t)=>{let n=T(D,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=b(D,e.__scopeDialog);return a.modal?(0,g.jsx)(u,{present:r||a.open,children:(0,g.jsx)(ce,{...i,ref:t})}):null});O.displayName=D;var se=s(`DialogOverlay.RemoveScroll`),ce=h.forwardRef((e,t)=>{let{__scopeDialog:n,...i}=e,o=b(D,n),s=r(t,p());return(0,g.jsx)(ee,{as:se,allowPinchZoom:!0,shards:[o.contentRef],children:(0,g.jsx)(a.div,{"data-state":z(o.open),...i,ref:s,style:{pointerEvents:`auto`,...i.style}})})}),k=`DialogContent`,A=h.forwardRef((e,t)=>{let n=T(k,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=b(k,e.__scopeDialog);return(0,g.jsx)(u,{present:r||a.open,children:a.modal?(0,g.jsx)(j,{...i,ref:t}):(0,g.jsx)(le,{...i,ref:t})})});A.displayName=k;var j=h.forwardRef((e,t)=>{let n=b(k,e.__scopeDialog),i=h.useRef(null),a=r(t,n.contentRef,i);return h.useEffect(()=>{let e=i.current;if(e)return re(e)},[]),(0,g.jsx)(M,{...e,ref:a,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:f(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:f(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:f(e.onFocusOutside,e=>e.preventDefault())})}),le=h.forwardRef((e,t)=>{let n=b(k,e.__scopeDialog),r=h.useRef(!1),i=h.useRef(!1);return(0,g.jsx)(M,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),M=h.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...s}=e,l=b(k,n);return o(),(0,g.jsx)(g.Fragment,{children:(0,g.jsx)(ie,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,g.jsx)(c,{role:`dialog`,id:l.contentId,"aria-describedby":l.descriptionId,"aria-labelledby":l.titleId,"data-state":z(l.open),...s,ref:t,deferPointerDownOutside:!0,onDismiss:()=>l.onOpenChange(!1)})})})}),N=`DialogTitle`,P=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=b(N,n);return(0,g.jsx)(a.h2,{id:i.titleId,...r,ref:t})});P.displayName=N;var F=`DialogDescription`,I=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=b(F,n);return(0,g.jsx)(a.p,{id:i.descriptionId,...r,ref:t})});I.displayName=F;var L=`DialogClose`,R=h.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=b(L,n);return(0,g.jsx)(a.button,{type:`button`,...r,ref:t,onClick:f(e.onClick,()=>i.onOpenChange(!1))})});R.displayName=L;function z(e){return e?`open`:`closed`}var B=`AlertDialog`,[ue,de]=d(B,[y]),V=y(),H=e=>{let{__scopeAlertDialog:t,...n}=e,r=V(t);return(0,g.jsx)(x,{...r,...n,modal:!0})};H.displayName=B;var fe=`AlertDialogTrigger`,pe=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,g.jsx)(C,{...i,...r,ref:t})});pe.displayName=fe;var me=`AlertDialogPortal`,U=e=>{let{__scopeAlertDialog:t,...n}=e,r=V(t);return(0,g.jsx)(E,{...r,...n})};U.displayName=me;var he=`AlertDialogOverlay`,W=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,g.jsx)(O,{...i,...r,ref:t})});W.displayName=he;var G=`AlertDialogContent`,[ge,_e]=ue(G),K=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:i,...a}=e,o=V(n),s=r(t,h.useRef(null)),c=h.useRef(null);return(0,g.jsx)(ge,{scope:n,cancelRef:c,children:(0,g.jsx)(A,{role:`alertdialog`,...o,...a,ref:s,onOpenAutoFocus:f(a.onOpenAutoFocus,e=>{e.preventDefault(),c.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:i})})});K.displayName=G;var ve=`AlertDialogTitle`,q=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,g.jsx)(P,{...i,...r,ref:t})});q.displayName=ve;var ye=`AlertDialogDescription`,J=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,g.jsx)(I,{...i,...r,ref:t})});J.displayName=ye;var be=`AlertDialogAction`,Y=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=V(n);return(0,g.jsx)(R,{...i,...r,ref:t})});Y.displayName=be;var X=`AlertDialogCancel`,Z=h.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...i}=e,{cancelRef:a}=_e(X,n),o=V(n),s=r(t,a);return(0,g.jsx)(R,{...o,...i,ref:s})});Z.displayName=X;var xe=H,Se=U,Ce=W,we=K,Te=Y,Ee=Z,De=q,Q=J;function Oe({...e}){return(0,g.jsx)(xe,{"data-slot":`alert-dialog`,...e})}function ke({...e}){return(0,g.jsx)(Se,{"data-slot":`alert-dialog-portal`,...e})}function Ae({className:e,...t}){return(0,g.jsx)(Ce,{"data-slot":`alert-dialog-overlay`,className:i(`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 motion-reduce:data-[state=open]:animate-none motion-reduce:data-[state=closed]:animate-none`,e),...t})}function je({className:e,...t}){return(0,g.jsxs)(ke,{children:[(0,g.jsx)(Ae,{}),(0,g.jsx)(we,{"data-slot":`alert-dialog-content`,className:i(`fixed inset-bs-[50%] start-[50%] z-50 grid max-h-[calc(100dvh-2rem)] overflow-y-auto overscroll-contain w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-card p-6 shadow-modal duration-200 outline-hidden 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 motion-reduce:data-[state=open]:animate-none motion-reduce:data-[state=closed]:animate-none sm:max-w-md`,e),...t})]})}function Me({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-dialog-header`,className:i(`flex flex-col gap-2 text-center sm:text-start`,e),...t})}function Ne({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-dialog-footer`,className:i(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...t})}function Pe({className:e,...t}){return(0,g.jsx)(De,{"data-slot":`alert-dialog-title`,className:i(`text-lg leading-none font-semibold`,e),...t})}function Fe({className:e,...t}){return(0,g.jsx)(Q,{"data-slot":`alert-dialog-description`,className:i(`text-sm text-muted-foreground`,e),...t})}function Ie({className:e,...t}){return(0,g.jsx)(Te,{"data-slot":`alert-dialog-action`,className:i(m({variant:`contrast`}),e),...t})}function $({className:e,...t}){return(0,g.jsx)(Ee,{"data-slot":`alert-dialog-cancel`,className:i(m({variant:`outline`}),e),...t})}export{Fe as a,Pe as c,A as d,I as f,C as g,P as h,je as i,x as l,E as m,Ie as n,Ne as o,O as p,$ as r,Me as s,Oe as t,R as u};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,r as n,t as r}from"./react-runtime-CCIEwYL0.js";import{r as i,t as a}from"./bundle-mjs-BT31bpU6.js";var o=`/api/v1`,s=``;function c(e){s=e.replace(/\/+$/,``)}function l(){return s}var u=null;function d(e){u=e===``?null:e}function f(){return u}function p(){return u??`default`}var m=/^\/(?:health$|models(?:$|[/?])|providers(?:$|[/?])|projects(?:$|[/?])|workspace\/|fs\/)/;function h(e){return`${s}${o}${g(e)}`}function g(e){return u===null||m.test(e)?e:`/p/${encodeURIComponent(u)}${e}`}var _=/^\/api(?:\/v1)?(\/.*)$/;function ee(e){let t=/^[a-z][a-z0-9+.-]*:/i.exec(e);if(t){let n=e.indexOf(`//`,t[0].length);if(n!==t[0].length)return e;let r=e.indexOf(`/`,n+2);if(r===-1)return e;let i=e.slice(0,r),a=v(e.slice(r));return a===null?e:`${i}${a}`}let n=v(s&&e.startsWith(s)?e.slice(s.length):e);return n===null?e:`${s}${n}`}function v(e){let t=_.exec(e);if(!t)return null;let n=t[1];return n.startsWith(`/p/`)?`${o}${n}`:`${o}${g(n)}`}var y=e(t(),1),b=e(n(),1),x=r(),S=a({extend:{classGroups:{shadow:[`shadow-modal`]}}});function C(...e){return S(i(e))}function te(e){return typeof e==`string`&&/^https?:\/\//i.test(e)}function w(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}var T=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,E=i,ne=(e,t)=>n=>{if(t?.variants==null)return E(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=T(t)||T(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return E(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function re(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function ie(...e){return t=>{let n=!1,r=e.map(e=>{let r=re(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():re(e[t],null)}}}}function D(...e){return y.useCallback(ie(...e),e)}function ae(e){let t=y.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];me(r)&&typeof O==`function`&&(r=O(r._payload)),y.Children.forEach(r,e=>{if(fe(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;me(n)&&typeof O==`function`&&(n=O(n._payload)),a=le(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=y.cloneElement(a,void 0,s):!o&&y.Children.count(r)===1&&y.isValidElement(r)&&(a=r);let c=a?de(a):void 0,l=D(n,c);if(!a){if(r||r===0)throw Error(o?_e(e):ge(e));return r}let u=ue(i,a.props??{});return a.type!==y.Fragment&&(u.ref=n?l:c),y.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}var oe=ae(`Slot`),se=Symbol.for(`radix.slottable`);function ce(e){let t=e=>`child`in e?e.children(e.child):e.children;return t.displayName=`${e}.Slottable`,t.__radixId=se,t}var le=(e,t)=>{if(`child`in e.props){let t=e.props.child;return y.isValidElement(t)?y.cloneElement(t,void 0,e.props.children(t.props.children)):null}return y.isValidElement(t)?t:null};function ue(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function de(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function fe(e){return y.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===se}var pe=Symbol.for(`react.lazy`);function me(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===pe&&`_payload`in e&&he(e._payload)}function he(e){return typeof e==`object`&&!!e&&`then`in e}var ge=e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,_e=e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,O=y.use,k=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=ae(`Primitive.${t}`),r=y.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,x.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function ve(e,t){e&&b.flushSync(()=>e.dispatchEvent(t))}function ye(e,t=[]){let n=[];function r(t,r){let i=y.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=y.useMemo(()=>o,Object.values(o));return(0,x.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,u=y.useContext(l);if(u)return u;if(r!==void 0)return r;if(!c)throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>y.createContext(e));return function(n){let r=n?.[e]||t;return y.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,be(i,...t)]}function be(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return y.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}typeof window<`u`&&window.document&&window.document.createElement;function A(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)}}var j=globalThis?.document?y.useLayoutEffect:()=>{},xe=y.useInsertionEffect||j;function Se({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=Ce({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=y.useRef(e!==void 0);y.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,y.useCallback(t=>{if(s){let n=we(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function Ce({defaultProp:e,onChange:t}){let[n,r]=y.useState(e),i=y.useRef(n),a=y.useRef(t);return xe(()=>{a.current=t},[t]),y.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function we(e){return typeof e==`function`}function Te(e,t){return y.useReducer((e,n)=>t[e][n]??e,e)}var Ee=e=>{let{present:t,children:n}=e,r=De(t),i=typeof n==`function`?n({present:r.isPresent}):y.Children.only(n),a=ke(r.ref,Ae(i));return typeof n==`function`||r.isPresent?y.cloneElement(i,{ref:a}):null};Ee.displayName=`Presence`;function De(e){let[t,n]=y.useState(),r=y.useRef(null),i=y.useRef(e),a=y.useRef(`none`),o=y.useRef(void 0),[s,c]=Te(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return y.useEffect(()=>{s===`mounted`?(a.current=o.current??M(r.current),o.current=void 0):a.current=`none`},[s]),j(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=M(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),j(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=M(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},s=e=>{e.target===t&&(a.current=M(r.current))};return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:y.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=M(t)}else r.current=null;n(e)},[])}}function Oe(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}function ke(...e){let t=y.useRef(e);return t.current=e,y.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=Oe(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():Oe(n[e],null)}}},[])}function M(e){return e?.animationName||`none`}function Ae(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var je=y.useId||(()=>void 0),Me=0;function Ne(e){let[t,n]=y.useState(je());return j(()=>{e||n(e=>e??String(Me++))},[e]),e||(t?`radix-${t}`:``)}function N(e){let t=y.useRef(e);return y.useEffect(()=>{t.current=e}),y.useMemo(()=>((...e)=>t.current?.(...e)),[])}var Pe=`DismissableLayer`,Fe=`dismissableLayer.update`,Ie=`dismissableLayer.pointerDownOutside`,Le=`dismissableLayer.focusOutside`,Re,ze=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),Be=y.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=y.useContext(ze),[d,f]=y.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=y.useState({}),h=D(t,f),g=Array.from(u.layers),[_]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),ee=_?g.indexOf(_):-1,v=d?g.indexOf(d):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,S=v>=ee,C=y.useRef(!1),te=Ge(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:C,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:y.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...u.branches].some(t=>t.contains(e));return S&&!t},[u.branches,S])}),w=Ke(e=>{if(r&&C.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},p),T=d?v===g.length-1:!1,E=N(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return y.useEffect(()=>{if(T)return p.addEventListener(`keydown`,E,{capture:!0}),()=>p.removeEventListener(`keydown`,E,{capture:!0})},[p,T,E]),y.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(Re=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),qe(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=Re))}},[d,p,n,u]),y.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),qe())},[d,u]),y.useEffect(()=>{let e=()=>m({});return document.addEventListener(Fe,e),()=>document.removeEventListener(Fe,e)},[]),(0,x.jsx)(k.div,{...l,ref:h,style:{pointerEvents:b?S?`auto`:`none`:void 0,...e.style},onFocusCapture:A(e.onFocusCapture,w.onFocusCapture),onBlurCapture:A(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:A(e.onPointerDownCapture,te.onPointerDownCapture)})});Be.displayName=Pe;var Ve=`DismissableLayerBranch`,He=y.forwardRef((e,t)=>{let n=y.useContext(ze),r=y.useRef(null),i=D(t,r);return y.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,x.jsx)(k.div,{...e,ref:i})});He.displayName=Ve;function Ue(){let e=y.useContext(ze),[t,n]=y.useState(null);return y.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}var We=()=>!0;function Ge(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=We}=t,s=N(e),c=y.useRef(!1),l=y.useRef(!1),u=y.useRef(new Map),d=y.useRef(()=>{});return y.useEffect(()=>{function e(){l.current=!1,i.current=!1,u.current.clear()}function t(){return Array.from(u.current.values()).some(Boolean)}function f(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||u.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&d.current()},0)}function p(e){l.current&&u.current.set(e.type,!1)}let m=a=>{if(a.target&&!c.current){let f=function(){n.removeEventListener(`click`,d.current);let r=t();e(),r||Je(Ie,s,p,{discrete:!0})};if(!o(a.target)){n.removeEventListener(`click`,d.current),e(),c.current=!1;return}let p={originalEvent:a};l.current=!0,i.current=r&&a.button===0,u.current.clear(),!r||a.button!==0?f():(n.removeEventListener(`click`,d.current),d.current=f,n.addEventListener(`click`,d.current,{once:!0}))}else n.removeEventListener(`click`,d.current),e();c.current=!1},h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,f,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,d.current);for(let e of h)n.removeEventListener(e,f,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:()=>c.current=!0}}function Ke(e,t=globalThis?.document){let n=N(e),r=y.useRef(!1);return y.useEffect(()=>{let e=e=>{e.target&&!r.current&&Je(Le,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function qe(){let e=new CustomEvent(Fe);document.dispatchEvent(e)}function Je(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?ve(i,a):i.dispatchEvent(a)}var Ye=`focusScope.autoFocusOnMount`,P=`focusScope.autoFocusOnUnmount`,Xe={bubbles:!1,cancelable:!0},Ze=`FocusScope`,Qe=y.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=y.useState(null),l=N(i),u=N(a),d=y.useRef(null),f=D(t,c),p=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:F(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||F(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&F(s)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),y.useEffect(()=>{if(s){at.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(Ye,Xe);s.addEventListener(Ye,l),s.dispatchEvent(t),t.defaultPrevented||($e(ct(tt(s)),{select:!0}),document.activeElement===e&&F(s))}return()=>{s.removeEventListener(Ye,l),setTimeout(()=>{let t=new CustomEvent(P,Xe);s.addEventListener(P,u),s.dispatchEvent(t),t.defaultPrevented||F(e??document.body,{select:!0}),s.removeEventListener(P,u),at.remove(p)},0)}}},[s,l,u,p]);let m=y.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=et(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&F(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&F(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,x.jsx)(k.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})});Qe.displayName=Ze;function $e(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(F(r,{select:t}),document.activeElement!==n)return}function et(e){let t=tt(e);return[nt(t,e),nt(t.reverse(),e)]}function tt(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function nt(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):rt(r,{upTo:t})))return r}function rt(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function it(e){return e instanceof HTMLInputElement&&`select`in e}function F(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&it(e)&&t&&e.select()}}var at=ot();function ot(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=st(e,t),e.unshift(t)},remove(t){e=st(e,t),e[0]?.resume()}}}function st(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function ct(e){return e.filter(e=>e.tagName!==`A`)}var lt=`Portal`,ut=y.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=y.useState(!1);j(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?b.createPortal((0,x.jsx)(k.div,{...r,ref:t}),o):null});ut.displayName=lt;var I=0,L=null;function dt(){y.useEffect(()=>{L||={start:ft(),end:ft()};let{start:e,end:t}=L;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),I++,()=>{I===1&&(L?.start.remove(),L?.end.remove(),L=null),I=Math.max(0,I-1)}},[])}function ft(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var R=function(){return R=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},R.apply(this,arguments)};function pt(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function mt(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var z=`right-scroll-bar-position`,B=`width-before-scroll-bar`,ht=`with-scroll-bars-hidden`,gt=`--removed-body-scroll-bar-size`;function V(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function _t(e,t){var n=(0,y.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var vt=typeof window<`u`?y.useLayoutEffect:y.useEffect,yt=new WeakMap;function bt(e,t){var n=_t(t||null,function(t){return e.forEach(function(e){return V(e,t)})});return vt(function(){var t=yt.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||V(e,null)}),i.forEach(function(e){r.has(e)||V(e,a)})}yt.set(n,e)},[e]),n}function xt(e){return e}function St(e,t){t===void 0&&(t=xt);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Ct(e){e===void 0&&(e={});var t=St(null);return t.options=R({async:!0,ssr:!1},e),t}var wt=function(e){var t=e.sideCar,n=pt(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return y.createElement(r,R({},n))};wt.isSideCarExport=!0;function Tt(e,t){return e.useMedium(t),wt}var Et=Ct(),H=function(){},U=y.forwardRef(function(e,t){var n=y.useRef(null),r=y.useState({onScrollCapture:H,onWheelCapture:H,onTouchMoveCapture:H}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,_=e.as,ee=_===void 0?`div`:_,v=e.gapMode,b=pt(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),x=f,S=bt([n,t]),C=R(R({},b),i);return y.createElement(y.Fragment,null,u&&y.createElement(x,{sideCar:Et,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:v}),o?y.cloneElement(y.Children.only(s),R(R({},C),{ref:S})):y.createElement(ee,R({},C,{className:c,ref:S}),s))});U.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},U.classNames={fullWidth:B,zeroRight:z};var Dt,Ot=function(){if(Dt)return Dt;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function kt(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=Ot();return t&&e.setAttribute(`nonce`,t),e}function At(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function jt(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var Mt=function(){var e=0,t=null;return{add:function(n){e==0&&(t=kt())&&(At(t,n),jt(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},Nt=function(){var e=Mt();return function(t,n){y.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},Pt=function(){var e=Nt();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},Ft={left:0,top:0,right:0,gap:0},W=function(e){return parseInt(e||``,10)||0},It=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[W(n),W(r),W(i)]},Lt=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return Ft;var t=It(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},Rt=Pt(),G=`data-scroll-locked`,zt=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
2
|
+
.${ht} {
|
|
3
|
+
overflow: hidden ${r};
|
|
4
|
+
padding-right: ${s}px ${r};
|
|
5
|
+
}
|
|
6
|
+
body[${G}] {
|
|
7
|
+
overflow: hidden ${r};
|
|
8
|
+
overscroll-behavior: contain;
|
|
9
|
+
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
10
|
+
padding-left: ${i}px;
|
|
11
|
+
padding-top: ${a}px;
|
|
12
|
+
padding-right: ${o}px;
|
|
13
|
+
margin-left:0;
|
|
14
|
+
margin-top:0;
|
|
15
|
+
margin-right: ${s}px ${r};
|
|
16
|
+
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.${z} {
|
|
20
|
+
right: ${s}px ${r};
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.${B} {
|
|
24
|
+
margin-right: ${s}px ${r};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.${z} .${z} {
|
|
28
|
+
right: 0 ${r};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.${B} .${B} {
|
|
32
|
+
margin-right: 0 ${r};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
body[${G}] {
|
|
36
|
+
${gt}: ${s}px;
|
|
37
|
+
}
|
|
38
|
+
`},Bt=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},Vt=function(){y.useEffect(function(){return document.body.setAttribute(G,(Bt()+1).toString()),function(){var e=Bt()-1;e<=0?document.body.removeAttribute(G):document.body.setAttribute(G,e.toString())}},[])},Ht=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;Vt();var a=y.useMemo(function(){return Lt(i)},[i]);return y.createElement(Rt,{styles:zt(a,!t,i,n?``:`!important`)})},K=!1;if(typeof window<`u`)try{var q=Object.defineProperty({},"passive",{get:function(){return K=!0,!0}});window.addEventListener(`test`,q,q),window.removeEventListener(`test`,q,q)}catch{K=!1}var J=K?{passive:!1}:!1,Ut=function(e){return e.tagName===`TEXTAREA`},Wt=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!Ut(e)&&n[t]===`visible`)},Gt=function(e){return Wt(e,`overflowY`)},Kt=function(e){return Wt(e,`overflowX`)},qt=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),Xt(e,r)){var i=Zt(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Jt=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},Yt=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},Xt=function(e,t){return e===`v`?Gt(t):Kt(t)},Zt=function(e,t){return e===`v`?Jt(t):Yt(t)},Qt=function(e,t){return e===`h`&&t===`rtl`?-1:1},$t=function(e,t,n,r,i){var a=Qt(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Zt(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&Xt(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},Y=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},en=function(e){return[e.deltaX,e.deltaY]},tn=function(e){return e&&`current`in e?e.current:e},nn=function(e,t){return e[0]===t[0]&&e[1]===t[1]},rn=function(e){return`
|
|
39
|
+
.block-interactivity-${e} {pointer-events: none;}
|
|
40
|
+
.allow-interactivity-${e} {pointer-events: all;}
|
|
41
|
+
`},an=0,X=[];function on(e){var t=y.useRef([]),n=y.useRef([0,0]),r=y.useRef(),i=y.useState(an++)[0],a=y.useState(Pt)[0],o=y.useRef(e);y.useEffect(function(){o.current=e},[e]),y.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=mt([e.lockRef.current],(e.shards||[]).map(tn),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=y.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Y(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=qt(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=qt(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return $t(h,t,e,h===`h`?s:c,!0)},[]),c=y.useCallback(function(e){var n=e;if(!(!X.length||X[X.length-1]!==a)){var r=`deltaY`in n?en(n):Y(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&nn(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(tn).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=y.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:sn(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=y.useCallback(function(e){n.current=Y(e),r.current=void 0},[]),d=y.useCallback(function(t){l(t.type,en(t),t.target,s(t,e.lockRef.current))},[]),f=y.useCallback(function(t){l(t.type,Y(t),t.target,s(t,e.lockRef.current))},[]);y.useEffect(function(){return X.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,J),document.addEventListener(`touchmove`,c,J),document.addEventListener(`touchstart`,u,J),function(){X=X.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,J),document.removeEventListener(`touchmove`,c,J),document.removeEventListener(`touchstart`,u,J)}},[]);var p=e.removeScrollBar,m=e.inert;return y.createElement(y.Fragment,null,m?y.createElement(a,{styles:rn(i)}):null,p?y.createElement(Ht,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function sn(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var cn=Tt(Et,on),ln=y.forwardRef(function(e,t){return y.createElement(U,R({},e,{ref:t,sideCar:cn}))});ln.classNames=U.classNames;var un=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Z=new WeakMap,Q=new WeakMap,$={},dn=0,fn=function(e){return e&&(e.host||fn(e.parentNode))},pn=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=fn(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},mn=function(e,t,n,r){var i=pn(t,Array.isArray(e)?e:[e]);$[n]||($[n]=new WeakMap);var a=$[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Z.get(e)||0)+1,l=(a.get(e)||0)+1;Z.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Q.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),dn++,function(){o.forEach(function(e){var t=Z.get(e)-1,i=a.get(e)-1;Z.set(e,t),a.set(e,i),t||(Q.has(e)||e.removeAttribute(r),Q.delete(e)),i||e.removeAttribute(n)}),dn--,dn||(Z=new WeakMap,Z=new WeakMap,Q=new WeakMap,$={})}},hn=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||un(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),mn(r,i,n,`aria-hidden`)):function(){return null}},gn=ne(`inline-flex shrink-0 items-center justify-center gap-[7px] rounded-md font-semibold whitespace-nowrap transition-[background-color,border-color,opacity,filter] outline-hidden focus-visible:ring-[3px] focus-visible:ring-ring/50 enabled:active:brightness-90 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{primary:`bg-action text-action-foreground pointer-hover:brightness-[0.96]`,contrast:`bg-contrast text-contrast-foreground pointer-hover:brightness-[0.96]`,outline:`border border-border bg-card text-foreground pointer-hover:bg-muted`,ghost:`text-muted-foreground pointer-hover:bg-muted pointer-hover:text-foreground`,"danger-ghost":`text-danger pointer-hover:bg-danger/10`},size:{default:`h-11 px-3.5 text-[13px]`,sm:`h-[30px] rounded-sm px-2.5 text-[13px]`,icon:`size-9`,"icon-sm":`size-[30px] rounded-sm`}},defaultVariants:{variant:`primary`,size:`default`}});function _n({className:e,variant:t=`primary`,size:n=`default`,asChild:r=!1,...i}){return(0,x.jsx)(r?oe:`button`,{"data-slot":`button`,"data-variant":t,"data-size":n,className:C(gn({variant:t,size:n,className:e})),...i})}export{l as A,D as C,te as D,C as E,d as F,p as M,ee as N,o as O,c as P,ie as S,w as T,k as _,dt as a,ae as b,Be as c,Ne as d,Ee as f,ye as g,A as h,ln as i,f as j,h as k,Ue as l,j as m,gn as n,ut as o,Se as p,hn as r,Qe as s,_n as t,N as u,ve as v,ne as w,ce as x,oe as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{A as r,E as i,M as a}from"./button-CeupvoKG.js";import{$n as o,$r as s,Ai as c,An as l,Ar as u,Ba as d,Bn as f,Br as p,Cn as m,Cr as ee,Di as h,Dn as te,Dr as ne,En as re,Er as ie,Fa as ae,Fi as g,Fn as oe,Ga as se,Gn as ce,Gr as le,Ha as _,Hi as v,Hn as ue,Ht as de,Ia as fe,In as pe,Ja as y,Jn as me,Ka as he,Ki as ge,Kn as _e,La as ve,Ln as b,Ma as x,Mr as ye,Na as be,Ni as xe,Nn as Se,Nr as Ce,On as we,Pa as Te,Qa as Ee,Qn as De,Ra as Oe,Rn as ke,Sr as Ae,Tn as je,Tr as Me,Ua as Ne,Un as Pe,Ut as Fe,Vn as Ie,Vr as Le,Xa as Re,Xn as ze,Xt as Be,Yn as Ve,Zn as He,_i as Ue,_r as We,an as Ge,ao as Ke,ar as qe,bi as Je,bn as Ye,br as Xe,cn as Ze,cr as Qe,di as $e,dr as et,ei as tt,er as nt,fi as rt,fr as it,in as at,ir as ot,ja as S,kn as st,kr as ct,la as lt,ln as ut,lo as dt,lr as ft,mr as pt,na as C,ni as mt,nr as ht,on as gt,oo as _t,or as vt,pi as yt,pr as bt,qn as xt,ri as St,rn as Ct,ro as wt,rr as Tt,sa as Et,si as Dt,sr as Ot,ti as kt,tn as At,to as jt,tr as Mt,ua as Nt,ui as Pt,ur as Ft,vi as It,vr as Lt,wn as Rt,wr as zt,xi as Bt,xr as Vt,yn as Ht,yr as Ut,za as Wt,zn as Gt,zr as Kt}from"./dropdown-menu-COj_J5wd.js";import{F as qt,P as w,i as Jt,j as Yt}from"./live-protocol-Uce2NwEX.js";var Xt=class extends se{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||Zt(),this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=he({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=t=>{switch(e.type){case`failed`:return{...t,failureCount:e.failureCount,failureReason:e.error};case`pause`:return{...t,isPaused:!0};case`continue`:return{...t,isPaused:!1};case`pending`:return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:`pending`,variables:e.variables,submittedAt:Date.now()};case`success`:return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:`success`,isPaused:!1};case`error`:return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:`error`}}};this.state=t(this.state),y.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function Zt(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var Qt=class extends dt{#e;#t=void 0;#n;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#i()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),Ke(this.options,t)||this.#e.getMutationCache().notify({type:`observerOptionsUpdated`,mutation:this.#n,observer:this}),t?.mutationKey&&this.options.mutationKey&&Re(t.mutationKey)!==Re(this.options.mutationKey)?this.reset():this.#n?.state.status===`pending`&&this.#n.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#n?.removeObserver(this)}onMutationUpdate(e){this.#i(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#n?.removeObserver(this),this.#n=void 0,this.#i(),this.#a()}mutate(e,t){return this.#r=t,this.#n?.removeObserver(this),this.#n=this.#e.getMutationCache().build(this.#e,this.options),this.#n.addObserver(this),this.#n.execute(e)}#i(){let e=this.#n?.state??Zt();this.#t={...e,isPending:e.status===`pending`,isSuccess:e.status===`success`,isError:e.status===`error`,isIdle:e.status===`idle`,mutate:this.mutate,reset:this.reset}}#a(e){y.batch(()=>{if(this.#r&&this.hasListeners()){let t=this.#t.variables,n=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type===`success`){try{this.#r.onSuccess?.(e.data,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,n,r)}catch(e){Promise.reject(e)}}else if(e?.type===`error`){try{this.#r.onError?.(e.error,t,n,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,n,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}};function $t(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}function en(e,t,n){let r=e.slice(0);return r[t]=n,r}var tn=class extends dt{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,y.batch(()=>{let e=this.#i,t=this.#p(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!Ke(e,n)});!o&&!s||(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&($t(e,n).forEach(e=>{e.destroy()}),$t(n,e).forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})),this.#h()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#p(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){return t.map((n,r)=>{let i=e[r];return n.defaultedQueryOptions.notifyOnChangeProps?i:n.observer.trackResult(i,e=>{t.forEach(t=>{t.observer.trackProp(e)})})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(!this.#a||this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=wt(this.#a,t(e))),this.#a}return e}#f(){return this.#r?.combine!==void 0&&this.#i.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#p(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new Ne(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#m(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=en(this.#t,n,t),this.#h())}#h(){if(this.hasListeners()){let e=this.#u(this.#t,this.#l),t=this.#f(),n=this.#a,r=t?n:this.#d(e,this.#r?.combine);(t||n!==r)&&y.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},T=e(t(),1);function E({queries:e,...t},n){let r=_(n),i=d(),a=Wt(),o=T.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:`optimistic`,t}),[e,r,i]);o.forEach(e=>{be(e);let t=r.getQueryCache().get(e.queryHash);fe(e,a,t)}),Oe(a);let[s]=T.useState(()=>new tn(r,o,t)),[c,l,u]=s.getOptimisticResult(o,t.combine),f=!i&&t.subscribed!==!1;T.useSyncExternalStore(T.useCallback(e=>f?s.subscribe(y.batchCalls(e)):jt,[s,f]),()=>s.getCurrentResult(),()=>s.getCurrentResult()),T.useEffect(()=>{s.setQueries(o,t)},[o,t,s]);let p=c.some((e,t)=>ae(o[t],e))?c.flatMap((e,t)=>{let n=o[t];return n&&ae(n,e)?Te(n,new Ne(r,n),a):[]}):[];if(p.length>0)throw Promise.all(p);let m=c.find((e,t)=>{let n=o[t];return n&&ve({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(m?.error)throw m.error;return l(u())}function D(e,t){let n=_(t),[r]=T.useState(()=>new Qt(n,e));T.useEffect(()=>{r.setOptions(e)},[r,e]);let i=T.useSyncExternalStore(T.useCallback(e=>r.subscribe(y.batchCalls(e)),[r]),()=>r.getCurrentResult(),()=>r.getCurrentResult()),a=T.useCallback((e,t)=>{r.mutate(e,t).catch(jt)},[r]);if(i.error&&_t(r.options.throwOnError,[i.error]))throw i.error;return{...i,mutate:a,mutateAsync:i.mutate}}function O(){return!1}function nn(e,t){if(!Jt(e.path))throw Error(`unsupported shared read`);let n=new URL(e.path,`http://cezar.invalid`);return n.searchParams.sort(),Nt({kind:`read`,path:`${n.pathname}${n.search}`,intervalMs:e.intervalMs},{value:t})}function k(e,t,n){let r=_(),i=JSON.stringify(t),a=(0,T.useMemo)(()=>JSON.parse(i),[i]);(0,T.useEffect)(()=>{if(!e||n===!1)return;let t=!0,i=nn({path:e,intervalMs:n},(e,n)=>{n||r.cancelQueries({queryKey:a,exact:!0}).then(()=>{t&&r.setQueryData(a,e)})});return()=>{t=!1,i()}},[r,e,a,n])}var rn={draft:{label:`Draft`,hint:`the author has not marked it ready for review`,tone:`neutral`},"review-required":{label:`Waiting for review`,hint:`checks are fine, no one has reviewed it yet`,tone:`info`},"changes-requested":{label:`Changes requested`,hint:`a reviewer asked for edits before this can merge`,tone:`danger`},"checks-pending":{label:`Checks running`,hint:`CI has not finished on the latest commit`,tone:`pending`},"checks-failing":{label:`Checks failing`,hint:`CI is red on the latest commit`,tone:`danger`},ready:{label:`Ready to merge`,hint:`open, checks pass, nothing is waiting on a reviewer`,tone:`success`},merged:{label:`Merged`,hint:`this landed on its base branch`,tone:`merged`},closed:{label:`Closed`,hint:`closed without merging — the work did not land`,tone:`danger`},open:{label:`Open`,hint:`still open on the tracker`,tone:`success`},completed:{label:`Closed as completed`,hint:`the issue was resolved`,tone:`accent`},"not-planned":{label:`Closed as not planned`,hint:`the issue was declined — nothing shipped for it`,tone:`neutral`}},an={label:`Merge conflicts`,hint:`this branch no longer merges cleanly into its base — rebase or merge the base in`,tone:`conflict`};function on(e){return typeof e==`string`&&Object.hasOwn(rn,e)}function sn(e){return e!==void 0&&on(e)?rn[e]:void 0}function cn(e){return v(e)?!1:e.status===`queued`||e.status===`running`||e.status===`waiting`}function ln(e){return cn(e)&&e.status!==`queued`}function un(e,t,n){return e.archived||!(e.status===`done`||e.status===`failed`||e.status===`cancelled`)||e.delegation?.role===`worker`||n!==void 0&&g(e)!==n?!1:t===`unpinned`?!e.pinned:t!==`pinned`||e.pinned===!0}function dn(e){let t=/\/(\d+)\/?$/.exec(e.trim()),n=t?Number(t[1]):NaN;return Number.isInteger(n)&&n>0?n:null}function fn(e){let t=new Set;for(let n of[e.pullRequestUrl,e.referencedPullRequestUrl,e.referencedIssueUrl]){let e=n?dn(n):null;e!==null&&t.add(e)}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);for(let n of e.pullRequests??[])t.add(n.number);return[...t]}var pn=[{id:`title`,kind:`text`,scopes:[`stored`],source:`summary`,texts:e=>[e.title]},{id:`titleSummary`,kind:`text`,scopes:[`stored`],source:`summary`,texts:e=>[e.titleSummary]},{id:`displayTitle`,kind:`text`,scopes:[`shown`],source:`reader`,texts:(e,t)=>[t.displayTitle]},{id:`branch`,kind:`text`,scopes:[`stored`,`shown`],source:`summary`,texts:e=>[e.branch]},{id:`workflow`,kind:`text`,scopes:[`stored`,`shown`],source:`summary`,texts:e=>[e.workflow]},{id:`workflowLabel`,kind:`text`,scopes:[`stored`,`shown`],source:`summary`,texts:e=>[e.workflowLabel]},{id:`automation`,kind:`text`,scopes:[`stored`,`shown`],source:`reader`,texts:(e,t)=>[t.automation],universe:e=>[...e.automationNames?.values()??[]]},{id:`projectName`,kind:`text`,scopes:[`shown`],source:`reader`,texts:(e,t)=>[t.projectName]},{id:`tags`,kind:`text`,scopes:[`shown`],source:`reader`,texts:(e,t)=>t.tags??[]},{id:`id`,kind:`identifier`,scopes:[`stored`],source:`summary`,texts:e=>[e.id]},{id:`urls`,kind:`link`,scopes:[`stored`],source:`summary`,texts:e=>[e.pullRequestUrl,e.referencedPullRequestUrl,e.referencedIssueUrl,...(e.pullRequests??[]).map(e=>e.url)]},{id:`heldReferences`,kind:`reference`,scopes:[`stored`],source:`summary`,numbers:fn},{id:`shownReferences`,kind:`reference`,scopes:[`shown`],source:`reader`,numbers:(e,t)=>t.references?.()??[]}];function mn(e){return e.trim().toLowerCase().split(/\s+/).filter(e=>e!==``)}function hn(e,t){if(t!==`phrase`)return mn(e);let n=e.trim().toLowerCase();return n===``?[]:[n]}function gn(e,t){return t&&e.automationId!==void 0?t.get(e.automationId)??e.automationId:void 0}function _n(e,t){let n=t.scope??`stored`,r=t.scope===`shown`?t.omit??[]:[],i=t.scope===`shown`?t.extras:{automation:gn(e,t.automationNames)},a=[],o=[],s=[],c={text:a,identifier:o,link:s},l=[];for(let t of pn)if(!(!t.scopes.includes(n)||r.includes(t.id))){if(t.kind===`reference`){l.push(()=>t.numbers(e,i));continue}for(let n of t.texts(e,i))typeof n==`string`&&c[t.kind].push(n.toLowerCase())}let u;return{prose:a,ids:o,links:s,references:()=>u??=new Set(l.flatMap(e=>e().map(String)))}}function A(e,t,n={}){let r=hn(t,n.mode);if(r.length===0)return!1;let{prose:i,ids:a,links:o,references:s}=_n(e,n);return r.every(e=>{if(i.some(t=>t.includes(e)))return!0;let t=e.replace(/^#/,``);return/^\d+$/.test(t)?s().has(String(Number(t)))||a.some(e=>e.startsWith(t)):a.some(t=>t.includes(e))||o.some(t=>t.includes(e))})}function vn(e){return h[c(e).bucket]<=h.waiting}var yn=[`Needs you`,`Finished`,`Working`,`Archived`],bn={waiting:0,review:1,running:2,queued:4,done:5,failed:6,cancelled:7},xn=3,j=e=>v(e)?xn:bn[e.status]??9;function Sn(e){let t=e=>h[c(e).bucket];return[...e].sort((e,n)=>t(e)-t(n)||j(e)-j(n))[0]}function Cn(e,t){return t===`archived`?`Archived`:c(e).bucket===`waiting`?`Needs you`:e.status===`waiting`||e.status===`running`||e.status===`queued`?`Working`:`Finished`}function wn(e){let t=e.titleSummary;return t===void 0||!(e.titleOrigin===`user`||e.titleOrigin===`marker`)&&/[.!?][A-Z]/.test(t)?e.title:t}function Tn(e){let t=/^(\d{1,9}): (.+)$/.exec(e),n=t?.[1],r=t?.[2];return n===void 0||r===void 0?{ref:null,rest:e}:{ref:Number(n),rest:r}}function En(e,t){return t!==void 0&&Tn(e).ref===t}function Dn(e){let t=e.filter(e=>!e.archived&&e.status===`queued`).sort((e,t)=>e.createdAt.localeCompare(t.createdAt));return new Map(t.map((e,t)=>[e.id,t+1]))}function On(e,t){return e.filter(e=>t===`archived`?e.archived:!e.archived).sort((e,n)=>{if(t!==`archived`){let t=Number(!!n.pinned)-Number(!!e.pinned);if(t!==0)return t}let r=j(e)-j(n);if(r!==0)return r;if(v(e)&&v(n)){let t=e.autoResumeAt.localeCompare(n.autoResumeAt);if(t!==0)return t}return e.status===`queued`&&n.status===`queued`?e.createdAt.localeCompare(n.createdAt):n.createdAt.localeCompare(e.createdAt)})}function M(e){return e.delegation?.role===`worker`}function kn(e,t){if(e==null)return null;let n=t.find(t=>t.id===e);return!n||!M(n)?e:n.delegation?.parentRunId??e}function An(e,t,n=Dn(e)){let r=On(e,t).filter(e=>!M(e)),i=new Map,a=(e,t)=>{let n=i.get(e);n?n.push(t):i.set(e,[t])};for(let e of r)a(Cn(e,t),{kind:`run`,run:e,queuePosition:n.get(e.id)??null});return yn.filter(e=>i.has(e)).map(e=>({label:e,rows:i.get(e)}))}function jn(e,t={}){let n=typeof t==`number`?{overall:t}:Yt(t),r={"Needs you":`needsYou`,Finished:`finished`,Working:`working`},i=[],a=n.overall===void 0?10:n.overall??1/0;for(let t of e){let e=t.label===`Archived`?1/0:n[r[t.label]]??1/0,o=t.rows.filter(n=>{let r=n.run.pinned;return t.label!==`Archived`&&r?!0:a<=0||e<=0?!1:(--a,--e,!0)});o.length&&i.push({label:t.label,rows:o})}return i}function Mn(e,t){if(t.length===0)return[...e];let n=new Set(e.map(e=>e.id)),r=new Set,i=t.filter(e=>n.has(e.id)||r.has(e.id)?!1:(r.add(e.id),!0));return[...e,...i]}function Nn(e){let t=0,n=0,r=0;for(let i of e)if(!M(i)){if(i.archived){n+=1;continue}t+=1,c(i).bucket===`waiting`&&(r+=1)}return{active:t,archived:n,waiting:r}}function Pn(e,t){let n=t===`automations`;return e.filter(e=>!e.archived&&g(e)===n)}function Fn(e){let t={active:0,automations:0,activeWaiting:0,automationsWaiting:0};for(let n of e){if(M(n)||n.archived)continue;let e=+(c(n).bucket===`waiting`);g(n)?(t.automations+=1,t.automationsWaiting+=e):(t.active+=1,t.activeWaiting+=e)}return t}var In=new Set([`running`,`waiting`]);function N(e){return e?e>=1024**3?`${(e/1024**3).toFixed(1)} GB`:e>=1024**2?`${Math.round(e/1024**2)} MB`:`${Math.round(e/1024)} kB`:``}function Ln(e){return e===void 0?``:`$${e>=10?e.toFixed(0):e.toFixed(2)}`}function Rn(e,t=new Date){if(!v(e))return;let n=new Date(e.autoResumeAt);if(!Number.isFinite(n.getTime()))return;let r=n.toDateString()===t.toDateString(),i=new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`}).format(n);return{label:r?i:`${new Intl.DateTimeFormat(void 0,{month:`short`,day:`numeric`}).format(n)} ${i}`,title:`Resumes automatically at ${new Intl.DateTimeFormat(void 0,{dateStyle:`medium`,timeStyle:`long`}).format(n)}`}}function zn(e){return e.steps?ge({workflow:e.workflow,steps:e.steps}):e.workflowLabel??e.workflow}function Bn(e,t,n=()=>``){let r=e.filter(e=>!M(e));return t.trim()?r.filter(e=>A(e,t,{scope:`shown`,mode:`phrase`,extras:{displayTitle:wn(e),automation:n(e),references:()=>Vn(e)}})):[...r]}function Vn(e){return P(e).map(e=>e.number)}function Hn(e,t){return e.filter(e=>un(e,t)).length}function Un(e){return Hn(e)}function Wn(e){if(!e)return;let t=e.trim().replace(/\/+$/,``),n=/^(?:https?|ssh|git|git\+ssh):\/\/(?:[^@/]+@)?([^/:]+)(?::\d+)?\/(.+)$/.exec(t),r=n?null:/^(?:[^@/:]+@)?([^:/]+):(.+)$/.exec(t),i=n??r;if(!i)return;let[,a,o]=i;if(!o||a?.toLowerCase()!==`github.com`)return;let s=o.replace(/\.git$/i,``).split(`/`).filter(Boolean),c=s[s.length-2],l=s[s.length-1];return c&&l?`https://github.com/${c}/${l}`:void 0}function Gn(e){return Kn(e)[0]??e.pullRequests?.find(e=>e.url)?.url}function Kn(e){let t=[];return e.pullRequestUrl&&t.push(e.pullRequestUrl),!(e.markerRefs?.issue!==void 0&&e.markerRefs?.pr===void 0)&&e.referencedPullRequestUrl&&t.push(e.referencedPullRequestUrl),t}function qn(e,t){if(e.referencedIssueUrl)return e.referencedIssueUrl;let n=e.issueNumber??e.markerRefs?.issue;if(!(!n||!t))return`${t}/issues/${n}`}function Jn(e){let t=`${e.kind}#${e.number}`;if(!e.url)return`${t}@project:${e.projectId??`default`}`;try{let n=new URL(e.url),r=n.pathname.split(`/`).filter(Boolean).slice(0,2).join(`/`);return`${t}@${n.host.toLowerCase()}/${r.toLowerCase()}`}catch{return`${t}@${e.url}`}}function P(e,t,n=e.projectId){let r=Kn(e),i=e.markerRefs?.pr,a=[...i===void 0||[...r,...(e.pullRequests??[]).flatMap(e=>e.url?[e.url]:[])].some(e=>I(e)===String(i))?[]:[{kind:`PR`,number:i}],...r.map(e=>({kind:`PR`,url:e})),{kind:`PR`,number:e.prNumber},...(e.pullRequests??[]).map(e=>({kind:`PR`,number:e.number,...e.url?{url:e.url}:{},authoritative:!0})),{kind:`Issue`,url:qn(e,t)},{kind:`Issue`,number:e.issueNumber}],o=new Set,s=[];for(let e of a){let r=e.url?Number(I(e.url)):e.number;if(!r||!Number.isInteger(r)||!e.url&&!e.authoritative&&s.some(t=>t.url&&t.kind===e.kind&&t.number===r))continue;let i=e.url??Yn(e.kind,r,t),a={kind:e.kind,number:r,...i?{url:i}:n===void 0?{}:{projectId:n}},c=Jn(a);o.has(c)||(o.add(c),s.push(a))}return s}function Yn(e,t,n){if(n)return`${n}/${e===`PR`?`pull`:`issues`}/${t}`}function Xn(e){return P(e)[0]}function F(e,t){if(!e.url)return!0;if(!t)return!1;let n=Zn(t);return n!==void 0&&Zn(e.url)===n}function Zn(e){try{let t=new URL(e),[n,r]=t.pathname.split(`/`).filter(Boolean);return n&&r?`${t.host}/${n}/${r}`.toLowerCase():void 0}catch{return}}function Qn(e,t){let n=[];for(let r of P(e,t)){if(!F(r,t))continue;let e=r.kind===`PR`?`pr`:`issue`;n.some(t=>t.kind===e&&t.number===r.number)||n.push({kind:e,number:r.number})}return n}function $n(e,t,n,r){if(F(n,r))return`/p/${e}/tasks/${t}/${n.kind===`PR`?`pr`:`issue`}/${n.number}`}function I(e){return/\/(\d+)\/?(?:[?#].*)?$/.exec(e)?.[1]??null}function er(e,t){let n=In.has(e.status)?t:void 0;if(n)return{cpu:{text:`${n.cpuPct.toFixed(0)}%`,kind:`live`},mem:{text:N(n.rssBytes),kind:`live`}};let r=N(e.peakRssBytes);return{cpu:{text:``,kind:`none`},mem:r?{text:`peak ${r}`,kind:`peak`,title:`peak — run finished${e.peakProcCount?` · ${e.peakProcCount} procs`:``}`}:{text:``,kind:`none`}}}function tr(e){let t=new Map;for(let n of e)for(let e of n.tags??[]){let n=e.toLowerCase();t.has(n)||t.set(n,e)}return[...t.values()].sort((e,t)=>e.localeCompare(t,void 0,{sensitivity:`base`}))}function nr(e,t,n,r=8){let i=n.trim().toLowerCase(),a=new Set(t.map(e=>e.toLowerCase())),o=e.filter(e=>{let t=e.toLowerCase();return a.has(t)?!1:i===``||t.includes(i)&&t!==i});return i===``?o.slice(0,r):o.sort((e,t)=>Number(t.toLowerCase().startsWith(i))-Number(e.toLowerCase().startsWith(i))||e.localeCompare(t,void 0,{sensitivity:`base`})).slice(0,r)}function rr(e){let t=new Map;for(let n of e){let e=n.trim();if(!e)continue;let r=e.toLowerCase();t.has(r)||t.set(r,e)}return[...t.values()].sort((e,t)=>e.localeCompare(t,void 0,{sensitivity:`base`}))}function L(e){return!O()&&e}function ir(e){if(!e.available)return;let t=e.issuesNextCursor,n=e.prsNextCursor;if(!(t===void 0&&n===void 0)&&!(!t&&!n))return{...t?{issuesCursor:t}:{issuesDone:!0},...n?{prsCursor:n}:{prsDone:!0}}}function ar(e,t){return e?(t===`issues`?e.issuesNextCursor:e.prsNextCursor)==null:!1}function or(e,t,n){for(let r of e)t.has(r.number)||(t.add(r.number),n.push(r))}function sr(e){let t=e[0];if(!t)return;let n=e[e.length-1],r=[],i=[],a=new Set,o=new Set,s={};for(let t of e){or(t.issues,a,r),or(t.prs,o,i);for(let[e,n]of Object.entries(t.labelColors??{}))s[e]??=n}let c=e.find(e=>e.projects)?.projects,l=e.map(e=>e.projectsState),u=e.find(e=>e.projectsState===`unavailable`),d=l.includes(`refreshing`)?`refreshing`:u?`unavailable`:l.some(e=>e===`ready`)?`ready`:void 0,{projectsGeneration:f,projectsReason:p,...m}=t;return{...m,issues:r,prs:i,...Object.keys(s).length>0?{labelColors:s}:{},...c?{projects:c}:{},...d?{projectsState:d}:{},...d===`unavailable`&&u?.projectsReason?{projectsReason:u.projectsReason}:{},...`issuesNextCursor`in n?{issuesNextCursor:n.issuesNextCursor}:{},...`prsNextCursor`in n?{prsNextCursor:n.prsNextCursor}:{}}}var R=e=>e.map(e=>e.number).join(`,`);function cr(e,t){let n=e[0];if(e.length>1&&n&&(R(n.issues)!==R(t.issues)||R(n.prs)!==R(t.prs)||n.issuesTotal!==t.issuesTotal||n.prsTotal!==t.prsTotal))return`refetch`;let r=t;if(n&&t.available&&t.projectsState===`refreshing`&&n.repo===t.repo){let e=new Map(n.issues.map(e=>[e.number,e.projectIds]));r={...t,issues:t.issues.map(t=>{let n=e.get(t.number);return t.projectIds===void 0&&n!==void 0?{...t,projectIds:n}:t})}}return[r,...e.slice(1)]}function lr(e,t){return Nt({kind:`topic`,topic:e},{value:t})}var z={get health(){return[a(),`health`]},runs:{get all(){return[a(),`runs`]},relationships:e=>[a(),`runs`,`relationships`,e],list:(e=a())=>[e,`runs`,`list`],archived:e=>[a(),`runs`,`archived`,e],detail:(e,t=a())=>[t,`runs`,`detail`,e],diff:e=>[a(),`runs`,`diff`,e],changes:e=>[a(),`runs`,`changes`,e],file:(e,t)=>[a(),`runs`,`files`,e,t],handoff:e=>[a(),`runs`,`handoff`,e],commits:e=>[a(),`runs`,`commits`,e],commit:(e,t)=>[a(),`runs`,`commit`,e,t]},get workflows(){return[a(),`workflows`]},get skills(){return[a(),`skills`]},get skillsReady(){return[a(),`skills`,`ready`]},get importableSkills(){return[a(),`skills`,`importable`]},get importableSkillsReady(){return[a(),`skills`,`importable`,`ready`]},get launchKey(){return[a(),`launch-key`]},get repo(){return[a(),`repo`]},get repoChanges(){return[a(),`repo`,`changes`]},repoCommit:e=>[a(),`repo`,`commit`,e],get repoBranches(){return[a(),`repo`,`branches`]},get uiState(){return[a(),`ui-state`]},get config(){return[a(),`config`]},get agentConfig(){return[a(),`agent-config`]},agentConfigFile:e=>[a(),`agent-config`,`file`,e],get worktrees(){return[a(),`worktrees`]},github:(e={})=>[a(),`github`,e.limit??null],githubPages:e=>[a(),`github`,`pages`,e],githubPagesHead:e=>[a(),`github`,`pages-head`,e],githubCommentCounts:(e,t)=>[a(),`github`,`comment-counts`,e,[...t].sort((e,t)=>e-t).join(`,`)],githubChecks:e=>[a(),`github`,`checks`,[...e].sort((e,t)=>e-t).join(`,`)],githubSearch:(e,t)=>[a(),`github`,`search`,e,t],githubRefStatus:(e,t,n)=>[e,`github`,`ref-status`,[...t].sort((e,t)=>e-t).join(`,`),[...n].sort((e,t)=>e-t).join(`,`)],githubComments:(e,t)=>[a(),`github`,`comments`,e,t],githubItem:(e,t)=>[a(),`github`,`item`,e,t],githubRefStatusOf:e=>[e,`github`,`ref-status`],githubPrChanges:e=>[a(),`github`,`pr-changes`,e],githubMergeState:e=>[a(),`github`,`merge-state`,e],get openTargets(){return[a(),`open-targets`]}},B={models:e=>[`workspace`,`models`,e],providerStatus:[`workspace`,`providers`,`status`],projects:[`workspace`,`projects`],githubOwners:[`workspace`,`github-owners`],runsIndex:[`workspace`,`runs-index`],runsSearch:e=>[`workspace`,`runs-search`,e],uiState:[`workspace`,`ui-state`],config:[`workspace`,`config`],agentProfiles:[`workspace`,`agent-profiles`],agentAccountDetails:e=>[`workspace`,`agent-profiles`,`details`,e],agentAccountStatus:e=>[`workspace`,`agent-profiles`,`status`,e],fsBrowseRoot:[`workspace`,`fs-browse`],fsBrowse:(e,t=!1)=>[...B.fsBrowseRoot,e,t]};function V(e,t,n=`active`){return e.invalidateQueries({queryKey:t===void 0?[`workspace`,`models`]:B.models(t),refetchType:n})}function H(e,t=!0){let n=_();return(0,T.useEffect)(()=>{if(!t||e!==`cursor`)return;let r,i=()=>{let e=n.getQueryData(z.health)?.capabilities?.localHandoff===!0;e&&!r?r=lr(`models:cursor`,e=>{let t=qt.safeParse(e);t.success&&t.data.runner===`cursor`&&(n.cancelQueries({queryKey:B.models(`cursor`)}),n.setQueryData(B.models(`cursor`),t.data))}):!e&&r&&(r(),r=void 0)};i();let a=n.getQueryCache().subscribe(i);return()=>{a(),r?.()}},[t,e,n]),x({queryKey:B.models(e),queryFn:({signal:t})=>w(e)?Lt(e,{signal:t}):Promise.reject(Error(`${e} has no host model catalog`)),staleTime:300*1e3,enabled:t&&w(e)})}function ur(e=!0){return{claude:H(`claude`,e),codex:H(`codex`,e),opencode:H(`opencode`,e),pi:H(`pi`,e),cursor:H(`cursor`,e),omp:H(`omp`,e)}}function dr(){let e=_();return x({queryKey:B.providerStatus,queryFn:async({signal:t})=>{let n=e.getQueryData(B.providerStatus),r=await Tt(!1,{signal:t});return C(n,e.getQueryData(B.providerStatus),r)},staleTime:5*6e4,refetchInterval:L(!1),refetchOnWindowFocus:!0})}function fr(){let e=_();return D({mutationFn:()=>Tt(!0),onMutate:()=>e.getQueryData(B.providerStatus),onSuccess:(t,n,r)=>{e.setQueryData(B.providerStatus,e=>C(r,e,t)),V(e)}})}function pr(){let e=_();return D({mutationFn:({provider:e,authFailureId:t})=>Dt(e,t),onMutate:()=>e.getQueryData(B.providerStatus),onSuccess:(t,n,r)=>{e.setQueryData(B.providerStatus,e=>C(r,e,t,n.authFailureId)),w(n.provider)&&V(e,n.provider)}})}function mr(e={}){return x({queryKey:B.projects,queryFn:({signal:e})=>ht({signal:e}),...e})}function hr(e,t=!1){return x({queryKey:B.fsBrowse(e,t),queryFn:({signal:n})=>Be(e??void 0,{signal:n,showHidden:t}),retry:!1})}function gr(){let e=_();return D({mutationFn:e=>s(e),onSuccess:()=>e.invalidateQueries({queryKey:B.projects})})}function _r(){let e=_();return D({mutationFn:e=>kt(e),retry:!1,onSuccess:()=>{e.invalidateQueries({queryKey:B.projects})}})}function vr(){let e=_();return D({mutationFn:e=>{let{id:t,...n}=e;return Je(t,n)},retry:!1,onMutate:async({id:t,...n})=>{await e.cancelQueries({queryKey:B.projects});let r=e.getQueryData(B.projects);return e.setQueryData(B.projects,e=>e===void 0?e:{...e,projects:e.projects.map(e=>e.id===t?yr(e,n):e)}),{previous:r}},onError:(t,n,r)=>{r?.previous&&e.setQueryData(B.projects,r.previous)},onSuccess:({project:t})=>{e.setQueryData(B.projects,e=>e===void 0?e:{...e,projects:e.projects.map(e=>e.id===t.id?t:e)})},onSettled:()=>e.invalidateQueries({queryKey:B.projects})})}function yr(e,t){let{maxParallel:n,tags:r,...i}=e,a={...i},o=`maxParallel`in t?t.maxParallel:e.maxParallel;o!=null&&(a.maxParallel=o);let s=`tags`in t&&t.tags!==void 0?t.tags:e.tags,c=s==null?[]:rr(s);if(c.length>0&&(a.tags=c),`webhook`in t&&t.webhook!==void 0)if(t.webhook===null)delete a.webhook;else{let n=t.webhook.token===void 0?e.webhook?.tokenSet??!1:t.webhook.token!==``;a.webhook={url:t.webhook.url,tokenSet:n}}return a}function U(e){let t=_();return D({mutationFn:e,retry:!1,onSuccess:({project:e})=>{t.setQueryData(B.projects,t=>t===void 0?t:{...t,projects:t.projects.map(t=>t.id===e.id?e:t)})},onSettled:()=>t.invalidateQueries({queryKey:B.projects})})}function br(){return U(e=>{let{projectId:t,...n}=e;return ut(t,n)})}function xr(){return U(e=>{let{projectId:t,webhookId:n,...r}=e;return Bt(t,n,r)})}function Sr(){return U(({projectId:e,webhookId:t})=>mt(e,t))}function Cr(){return D({mutationFn:({projectId:e,webhookId:t})=>Ue(e,t),retry:!1})}function wr(e){let t=_();return D({mutationFn:t=>ye(e,t),retry:!1,onSuccess:()=>t.invalidateQueries({queryKey:z.runs.all})})}function W(e){let t=_();return D({mutationFn:e,retry:!1,onSuccess:async()=>{await Promise.all([t.invalidateQueries({queryKey:B.agentProfiles}),t.invalidateQueries({queryKey:B.projects})])}})}function Tr(){return W(e=>gt(e))}function Er(){return W(e=>{let{id:t,...n}=e;return It(t,n)})}function Dr(){return W(e=>tt(e))}function Or(){return W(e=>$e(e))}function kr(e,t){return x({queryKey:B.agentAccountDetails(e),queryFn:({signal:t})=>m(e,{signal:t}),enabled:t,staleTime:0,retry:!1})}function Ar(e,t){return x({queryKey:B.agentAccountStatus(e),queryFn:({signal:t})=>Rt(e,{signal:t}),enabled:t,staleTime:6e4,retry:!1})}function jr(){let e=_();return D({mutationFn:({provider:e,profileId:t})=>Ct(e,t),retry:!1,onSuccess:async(t,{provider:n})=>{await Promise.all([e.invalidateQueries({queryKey:B.agentProfiles}),e.invalidateQueries({queryKey:B.providerStatus}),w(n)?V(e,n,`none`):Promise.resolve()])}})}function Mr(){let e=_();return D({mutationFn:e=>Rt(e,{refresh:!0}),retry:!1,onSuccess:(t,n)=>{e.setQueryData(B.agentAccountStatus(n),t),e.invalidateQueries({queryKey:B.agentProfiles}),w(t.status.provider)&&V(e,t.status.provider)}})}function Nr(){return D({mutationFn:e=>{let{routeId:t,...n}=e;return Ce(t,n)},retry:!1})}function Pr(){let e=_();return D({mutationFn:e=>At(e),retry:!1,onSuccess:()=>e.invalidateQueries({queryKey:B.projects})})}function Fr(){let e=_();return D({mutationFn:e=>Ze(e),retry:!1,onSuccess:()=>e.invalidateQueries({queryKey:B.projects})})}function Ir({enabled:e}){return x({queryKey:B.githubOwners,queryFn:({signal:e})=>ue({signal:e}),enabled:e,staleTime:6e4,retry:!1})}function Lr(){let e=_();(0,T.useEffect)(()=>{let t,n=()=>{let n=e.getQueryData(z.health),i=n?.capabilities?.localHandoff===!0;n&&Et({local:i,bootProject:n.bootProject??`default`,apiBase:r()}),i&&t===void 0?t=lr(`health`,t=>{e.setQueryData(z.health,t)}):!i&&t!==void 0&&(t(),t=void 0)};n();let i=e.getQueryCache().subscribe(n);return()=>{i(),t?.(),lt()}},[e])}function G(){return x({queryKey:z.health,queryFn:({signal:e})=>me({signal:e})})}function Rr(e,t){let n=G().data,r=mr(t).data?.projects,i=de(),a=e??i.projectId,o=a??n?.bootProject,s=o===void 0?void 0:r?.find(e=>e.id===o);return s?.repoUrl?s.repoUrl:a===null||a===n?.bootProject?Wn(n?.repo?.remote):void 0}function zr(){return x({queryKey:z.openTargets,queryFn:({signal:e})=>De({signal:e}),staleTime:5*6e4})}function Br(){return x({queryKey:z.runs.list(),queryFn:({signal:e})=>Ut({signal:e})})}function Vr(e,t){return S({queryKey:z.runs.archived(e),enabled:t,initialPageParam:void 0,queryFn:({pageParam:t,signal:n})=>we({before:t,limit:200,q:e},{signal:n}),getNextPageParam:e=>e.nextCursor??void 0,placeholderData:(e,t)=>t?.queryKey[0]===a()?e:void 0})}function Hr(e){let t=e.trim();return x({queryKey:B.runsSearch(t),queryFn:({signal:e})=>Pt(t,{signal:e}),enabled:t.length>=2,placeholderData:Ee,staleTime:1e4})}function Ur(e=!0,t){return k(`/api/v1/workspace/runs-index`,B.runsIndex,L(e?t??!1:!1)),x({queryKey:B.runsIndex,queryFn:({signal:e})=>Xe({signal:e}),enabled:e,staleTime:3e4,refetchInterval:!1})}function Wr(e,t=!0,n=!1){return x({queryKey:[n?`default`:e,`runs`,`list`],queryFn:({signal:t})=>Mt(e,{signal:t}),enabled:t})}function Gr(e){let t=_();return D({mutationFn:e=>Ht(e),onSettled:()=>t.invalidateQueries({queryKey:z.runs.relationships(e)})})}function Kr(e,t={}){return x({queryKey:z.runs.relationships(e),queryFn:({signal:t})=>We(e,{signal:t}),enabled:t.enabled??!0})}function qr(e){return x({queryKey:z.runs.detail(e??``),queryFn:({signal:t})=>Qe(e,{signal:t}),enabled:!!e})}function Jr(e,t,n=!0){return x({queryKey:[e??`default`,`runs`,`detail`,t??``],queryFn:({signal:n})=>o(e,t,{signal:n}),enabled:n&&!!e&&!!t})}function Yr(e){return x({queryKey:z.runs.diff(e??``),queryFn:({signal:t})=>it(e,{signal:t}),enabled:!!e})}function Xr(e,t=!1){return k(e?`/api/v1/p/${a()}/runs/${encodeURIComponent(e)}/changes`:void 0,z.runs.changes(e??``),L(t?4e3:!1)),x({queryKey:z.runs.changes(e??``),queryFn:({signal:t})=>ft(e,{signal:t}),enabled:!!e,retry:!1,refetchInterval:!1,refetchOnWindowFocus:!0,staleTime:0})}function Zr(e,t){return x({queryKey:z.runs.file(e??``,t??``),queryFn:({signal:n})=>bt(e,t,{signal:n}),enabled:!!e&&t!==void 0,retry:!1})}function Qr(e,t){return x({queryKey:[a(),`runs`,`file-link`,e,t],queryFn:({signal:n})=>pe(e,t,{signal:n}),enabled:t!==null,retry:!1})}function $r(e,t){return x({queryKey:[a(),`runs`,`artifact`,e,t],queryFn:({signal:n})=>st(e,t,{signal:n}),enabled:t!==null,retry:!1})}function ei(e){return x({queryKey:[a(),`runs`,`artifacts`,e],queryFn:({signal:t})=>l(e,{signal:t}),retry:!1,staleTime:0,refetchOnWindowFocus:!0})}function ti(e,t=!1){return k(e?`/api/v1/p/${a()}/runs/${encodeURIComponent(e)}/commits`:void 0,z.runs.commits(e??``),L(t?5e3:!1)),x({queryKey:z.runs.commits(e??``),queryFn:({signal:t})=>et(e,{signal:t}),enabled:!!e,retry:!1,refetchInterval:!1})}function ni(e,t){return x({queryKey:z.runs.commit(e??``,t??``),queryFn:({signal:n})=>Ft(e,t,{signal:n}),enabled:!!e&&!!t,retry:!1})}function ri(e,t=!0){return x({queryKey:z.runs.handoff(e??``),queryFn:({signal:t})=>pt(e,{signal:t}),enabled:!!e&&t})}function ii(e,t,n){return x({queryKey:e===void 0?z.runs.handoff(t):[e,`runs`,`handoff`,t],queryFn:({signal:n})=>e===void 0?pt(t,{signal:n}):nt(e,t,{signal:n}),enabled:n,staleTime:15e3})}function ai(e,t){let n=[...new Set(e)],r=E({queries:n.map(e=>({queryKey:[e??a(),`automations`,`names`],queryFn:({signal:t})=>Se({signal:t,archived:`include`,...e===void 0?{}:{projectId:e}}),enabled:t,staleTime:6e4,retry:!1}))}),i=r.map(e=>e.data);return(0,T.useMemo)(()=>{let e=new Map;return i.forEach((t,r)=>{if(t?.available)for(let i of t.automations)e.set(JSON.stringify([n[r]??null,i.id]),i.name)}),(t,n)=>e.get(JSON.stringify([t??null,n]))},[JSON.stringify([n,r.map(e=>e.dataUpdatedAt)])])}function oi(){return x({queryKey:z.workflows,queryFn:({signal:e})=>zt({signal:e})})}function si(e=!0){let t=_(),n=z.skills,r=n[0],i=x({queryKey:n,queryFn:({signal:e})=>Vt({signal:e}),enabled:e}),a=x({queryKey:z.skillsReady,queryFn:({signal:e})=>Ae({signal:e}),enabled:e&&i.isSuccess,staleTime:1/0,retry:!1});return(0,T.useEffect)(()=>{Array.isArray(a.data)&&t.setQueryData([r,`skills`],a.data)},[t,a.data,r]),i}function ci(e=!0){let t=_(),n=z.importableSkills,r=n[0],i=x({queryKey:n,queryFn:({signal:e})=>Ve({signal:e}),enabled:e}),a=x({queryKey:z.importableSkillsReady,queryFn:({signal:e})=>ze({signal:e}),enabled:e&&i.isSuccess,staleTime:1/0,retry:!1});return(0,T.useEffect)(()=>{Array.isArray(a.data)&&t.setQueryData([r,`skills`,`importable`],a.data)},[t,a.data,r]),i}function li(){return x({queryKey:z.launchKey,queryFn:({signal:e})=>He({signal:e}),staleTime:1/0})}function ui(){return x({queryKey:z.repo,queryFn:({signal:e})=>ot({signal:e})})}function di(e){return x({queryKey:[e,`repo`],queryFn:({signal:t})=>ot({signal:t},e)})}function fi(){return x({queryKey:z.repoBranches,queryFn:({signal:e})=>qe({signal:e})})}function pi(e){return x({queryKey:[e,`repo`,`branches`],queryFn:({signal:t})=>qe({signal:t},e)})}function mi(){return x({queryKey:z.repoChanges,queryFn:({signal:e})=>vt({signal:e}),retry:!1})}function hi(e){return x({queryKey:z.repoCommit(e??``),queryFn:({signal:t})=>Ot(e,{signal:t}),enabled:!!e,retry:!1})}function gi(){return x({queryKey:z.config,queryFn:({signal:e})=>oe({signal:e})})}function _i(){return x({queryKey:z.worktrees,queryFn:({signal:e})=>ne({signal:e})})}function vi(e){return x({queryKey:[e,`worktrees`],queryFn:({signal:t})=>ne({signal:t},e),staleTime:0})}function yi(e,t=!0,n=!1){return x({queryKey:[n?`default`:e,`ui-state`],queryFn:({signal:t})=>ee({signal:t},e),select:e=>e.sidebarLimits===void 0?e:{...e,sidebarLimits:Yt(e.sidebarLimits)},enabled:t})}function bi(){return yi(a())}function xi(){return x({queryKey:z.agentConfig,queryFn:({signal:e})=>je({signal:e})})}function Si(e){return x({queryKey:z.agentConfigFile(e??``),queryFn:({signal:t})=>re(e,{signal:t}),enabled:e!==null})}function Ci(e){let t=_(),n=z.agentConfig,r=z.agentConfigFile(e);return D({mutationFn:t=>le(e,t),onSuccess:e=>{t.setQueryData(r,e),t.invalidateQueries({queryKey:n})}})}function wi(){return x({queryKey:B.uiState,queryFn:({signal:e})=>ie({signal:e})})}function Ti(){return x({queryKey:B.config,queryFn:({signal:e})=>Me({signal:e})})}function Ei(){return x({queryKey:B.agentProfiles,queryFn:({signal:e})=>te({signal:e})})}function Di(e){let t=_();return D({mutationFn:t=>Kt(e,t),onSuccess:()=>t.invalidateQueries({queryKey:z.runs.all})})}function Oi(e){e.invalidateQueries({queryKey:B.runsIndex})}function ki(e,t){let n=_(),r=D({mutationFn:({id:e,projectId:t})=>ct(e,t),onMutate:async({id:e,listKey:t,detailKey:r})=>{await n.cancelQueries({queryKey:t}),await n.cancelQueries({queryKey:r});let i=n.getQueryData(t),a=n.getQueryData(r),o=new Date().toISOString();return n.setQueryData(t,t=>t?.map(t=>t.id===e?{...t,seenAt:o}:t)),n.setQueryData(r,e=>e&&{...e,seenAt:o}),{id:e,prevList:i,prevDetail:a}},onError:(e,{id:t,listKey:r,detailKey:i},a)=>{let o=(e,t)=>{let{seenAt:n,...r}=e;return t.seenAt===void 0?r:{...r,seenAt:t.seenAt}},s=a?.prevList?.find(e=>e.id===t);s&&n.setQueryData(r,e=>e?.map(e=>e.id===t?o(e,s):e));let c=a?.prevDetail;c&&n.setQueryData(i,e=>e&&o(e,c))},onSuccess:(e,{id:t,listKey:r,detailKey:i})=>{let a=n=>n.id===t?{...n,seenAt:e.seenAt}:n;n.setQueryData(r,e=>e?.map(a)),n.setQueryData(i,t=>t?a(t):e),Oi(n)}}),i=(0,T.useCallback)(n=>{let r=e??a(),i=t??r;return{id:n,projectId:r,listKey:z.runs.list(i),detailKey:z.runs.detail(n,i)}},[e,t]),o=(0,T.useCallback)(e=>({onSuccess:(t,n,r,i)=>e?.onSuccess?.(t,n.id,r,i),onError:(t,n,r,i)=>e?.onError?.(t,n.id,r,i),onSettled:(t,n,r,i,a)=>e?.onSettled?.(t,n,r.id,i,a)}),[]),{mutate:s,mutateAsync:c}=r,l=(0,T.useCallback)((e,t)=>s(i(e),o(t)),[s,i,o]),u=(0,T.useCallback)((e,t)=>c(i(e),o(t)),[c,i,o]);return{...r,variables:r.variables?.id,mutate:l,mutateAsync:u}}function Ai(){let e=_();return D({mutationFn:e=>u(e),onMutate:async t=>{await e.cancelQueries({queryKey:z.runs.list()}),await e.cancelQueries({queryKey:z.runs.detail(t)});let n=e.getQueryData(z.runs.list()),r=e.getQueryData(z.runs.detail(t));return e.setQueryData(z.runs.list(),e=>e?.map(e=>e.id===t?K(e):e)),e.setQueryData(z.runs.detail(t),e=>e&&K(e)),{prevList:n,prevDetail:r,id:t}},onError:(t,n,r)=>{r?.prevList&&e.setQueryData(z.runs.list(),r.prevList),r?.prevDetail&&e.setQueryData(z.runs.detail(n),r.prevDetail)},onSuccess:t=>{let n=e=>e.id===t.id?K(e):e;e.setQueryData(z.runs.list(),e=>e?.map(n)),e.setQueryData(z.runs.detail(t.id),e=>e?n(e):t),Oi(e)}})}function K(e){let{seenAt:t,...n}=e;return n}function ji(e,t){let n=_();return D({mutationFn:({id:t,pinned:n})=>e===void 0?Le(t,n):p(e,t,n),onError:e=>xe(`Could not update pin. ${e.message} Please retry.`,{tone:`danger`}),onMutate:()=>({scope:t??a()}),onSuccess:(e,t,r)=>n.invalidateQueries({queryKey:[r.scope,`runs`]})})}function Mi(e,t){let n=_();return D({mutationFn:n=>t===void 0?rt(e,n):yt(t,e,n),onSuccess:()=>n.invalidateQueries({queryKey:z.runs.all}),onError:e=>{e instanceof Fe&&e.status===409&&n.invalidateQueries({queryKey:z.runs.all})}})}function Ni(e,t){let n=_();return D({mutationFn:(n={})=>t===void 0?Ge(e,n):at(t,e,n),onSuccess:()=>n.invalidateQueries({queryKey:z.runs.all})})}function Pi(e){let t=_();return D({mutationFn:({msgId:t,message:n})=>Ye(e,t,n),onSuccess:()=>t.invalidateQueries({queryKey:z.runs.all})})}function Fi(e){let t=_();return D({mutationFn:t=>St(e,t),onSuccess:()=>t.invalidateQueries({queryKey:z.runs.all})})}function Ii(e={},t=!0){let n=_(),r=z.github(e);k(`/api/v1/p/${a()}/github${e.limit===void 0?``:`?limit=${e.limit}`}`,r,L(t?6e4:!1));let i=x({queryKey:z.github(e),queryFn:({signal:t})=>b({limit:e.limit},{signal:t}),enabled:t,staleTime:6e4,refetchInterval:!1,refetchIntervalInBackground:!1,refetchOnWindowFocus:!0}),o=i.data?.projectsGeneration,s=x({queryKey:[...r,`projects`,o],queryFn:({signal:e})=>ce(o,{signal:e}),enabled:t&&i.data?.projectsState===`refreshing`&&!!o,staleTime:1/0,retry:!1});return(0,T.useEffect)(()=>{!o||!s.data&&!s.error||n.setQueryData(r,e=>{if(!e||e.projectsGeneration!==o||e.projectsState!==`refreshing`)return e;let t=s.data;return t?.generation&&t.generation!==o?e:t?.state===`ready`?{...e,projectsState:`ready`,projects:t.projects,issues:e.issues.map(e=>({...e,projectIds:t.membership?.[e.number]??[]}))}:{...e,projectsState:`unavailable`,projectsReason:t?.reason??`Project boards unavailable. Refresh to try again.`}})},[n,o,s.data,s.error,r]),i}var Li=class extends Error{};function Ri(e,t,n){return{queryKey:e,initialPageParam:{},queryFn:async({pageParam:e,signal:r})=>{let i=await b({limit:t,...e,...n?{projectId:n}:{}},{signal:r});if(!i.available&&Object.keys(e).length>0)throw new Li(i.reason??`GitHub is unavailable.`);return i},getNextPageParam:e=>ir(e),retry:(e,t)=>!(t instanceof Li)&&!(t instanceof Fe&&t.status>=400&&t.status<500)&&e<1,staleTime:6e4,refetchOnWindowFocus:!0}}function zi(e=50,t=!0){let n=_(),r=z.githubPages(e),i=z.githubPagesHead(e);k(`/api/v1/p/${a()}/github?limit=${e}`,i,L(t?6e4:!1));let o=S({...Ri(r,e),enabled:t,refetchInterval:!1,refetchIntervalInBackground:!1}),s=x({queryKey:i,queryFn:({signal:t})=>b({limit:e},{signal:t}),enabled:!1,staleTime:1/0}),{refetch:c}=o;(0,T.useEffect)(()=>{if(!s.data)return;let e=n.getQueryData(r);if(!e||e.pages.length===0)return;let t=cr(e.pages,s.data);t===`refetch`?c():n.setQueryData(r,{...e,pages:t})},[n,s.dataUpdatedAt,c]);let l=(o.data?.pages??[]).flatMap(e=>e.projectsState===`refreshing`&&e.projectsGeneration?[e.projectsGeneration]:[]),u=E({queries:l.map(e=>({queryKey:[...r,`projects`,e],queryFn:({signal:t})=>ce(e,{signal:t}),enabled:t,staleTime:1/0,retry:!1}))});return(0,T.useEffect)(()=>{u.forEach((e,t)=>{let i=l[t];!i||!e.data&&!e.error||n.setQueryData(r,t=>{if(!t)return t;let n=!1,r=t.pages.map(t=>{if(t.projectsGeneration!==i||t.projectsState!==`refreshing`)return t;let r=e.data;return r?.generation&&r.generation!==i?t:(n=!0,r?.state===`ready`?{...t,projectsState:`ready`,projects:r.projects,issues:t.issues.map(e=>({...e,projectIds:r.membership?.[e.number]??[]}))}:{...t,projectsState:`unavailable`,projectsReason:r?.reason??`Project boards unavailable. Refresh to try again.`})});return n?{...t,pages:r}:t})})},[n,u.map((e,t)=>e.data||e.error?l[t]:``).join(`,`)]),{pages:o,data:(0,T.useMemo)(()=>sr(o.data?.pages??[]),[o.data])}}function Bi(e,t=50,n=!0){let r=S({...Ri([e,`github`,`pages`,t],t,e),enabled:n});return{pages:r,data:(0,T.useMemo)(()=>sr(r.data?.pages??[]),[r.data])}}function Vi(e,t,n=!0){let r=E({queries:t.filter(e=>e.length>0).map(t=>({queryKey:z.githubCommentCounts(e,t),queryFn:({signal:n})=>Gt(e,t,{},{signal:n}),enabled:n,staleTime:6e4}))});return(0,T.useMemo)(()=>{let e={};for(let t of r)t.data?.available&&Object.assign(e,t.data.counts);return e},[r.map(e=>e.dataUpdatedAt).join(`,`)])}function Hi(e,t,n,r=!0){return x({queryKey:[e,`github`,`search`,t,n],queryFn:({signal:r})=>xt(t,n,{projectId:e},{signal:r}),enabled:r&&n.trim()!==``,staleTime:6e4})}function Ui(e,t=!0){return x({queryKey:z.githubChecks(e),queryFn:({signal:t})=>ke(e,{signal:t}),enabled:t&&e.length>0,staleTime:6e4})}function Wi(e,t,n=!0){return x({queryKey:z.githubSearch(e,t),queryFn:({signal:n})=>xt(e,t,{},{signal:n}),enabled:n&&t.trim()!==``,staleTime:6e4})}var Gi=100;function Ki(e){return[...e].sort((e,t)=>t-e).slice(0,Gi).sort((e,t)=>e-t)}var q=new Map(Xi()),qi=1e3;function J(e,t){if(q.get(e)!==t){for(q.delete(e),q.set(e,t);q.size>qi;){let e=q.keys().next().value;if(e===void 0)break;q.delete(e)}Qi()}}var Y=new Set(Zi());function Ji(e,t){if(Y.has(e)!==t){if(t)for(Y.add(e);Y.size>qi;){let e=Y.values().next().value;if(e===void 0)break;Y.delete(e)}else Y.delete(e);Qi()}}var Yi=`cez.reference-statuses.v1`,X=`cez.reference-conflicts.v1`;function Xi(){try{let e=globalThis.sessionStorage?.getItem(Yi);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>Array.isArray(e)&&e.length===2&&typeof e[0]==`string`&&on(e[1])):[]}catch{return[]}}function Zi(){try{let e=globalThis.sessionStorage?.getItem(X);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`):[]}catch{return[]}}var Z;function Qi(){Z===void 0&&(Z=setTimeout(()=>{Z=void 0;try{globalThis.sessionStorage?.setItem(Yi,JSON.stringify([...q])),globalThis.sessionStorage?.setItem(X,JSON.stringify([...Y]))}catch{}},250))}function $i(){let e=de(),t=G();return e.projectId??t.data?.bootProject}function ea(e){for(let[t,n]of Object.entries(e)){for(let[e,r]of Object.entries(n.prs))J(Q({projectId:t,kind:`PR`,number:Number(e)}),r);for(let[e,r]of Object.entries(n.issues))J(Q({projectId:t,kind:`Issue`,number:Number(e)}),r)}}var ta=5*6e4;function na(e){return e?e.recheckAfterMs:ta}var Q=e=>`${e.projectId}\u0000${e.kind}#${e.number}`;function ra(e,t=!0){let n=(0,T.useMemo)(()=>{let t=new Map;for(let n of e){let e=t.get(n.projectId)??{prs:new Set,issues:new Set};e[n.kind===`PR`?`prs`:`issues`].add(n.number),t.set(n.projectId,e)}return[...t.entries()].map(([e,t])=>({projectId:e,prs:Ki(t.prs),issues:Ki(t.issues)}))},[e.map(Q).sort().join(`|`)]),r=E({queries:n.map(e=>({queryKey:z.githubRefStatus(e.projectId,e.prs,e.issues),queryFn:({signal:t})=>_e(e.projectId,{prs:e.prs,issues:e.issues},{signal:t}),enabled:t&&e.prs.length+e.issues.length>0,staleTime:e=>na(e.state.data)??1/0,refetchInterval:!1,refetchOnWindowFocus:!0}))}),i=_(),a=JSON.stringify(n.map((e,t)=>({...e,interval:na(r[t]?.data)??!1})));(0,T.useEffect)(()=>{if(!t||O())return;let e=!0,n=JSON.parse(a).filter(e=>e.interval!==!1).map(t=>{let n=new URLSearchParams;t.prs.length&&n.set(`prs`,t.prs.join(`,`)),t.issues.length&&n.set(`issues`,t.issues.join(`,`));let r=z.githubRefStatus(t.projectId,t.prs,t.issues);return nn({path:`/api/v1/p/${t.projectId}/github/ref-status?${n}`,intervalMs:t.interval},(t,n)=>{n||i.cancelQueries({queryKey:r,exact:!0}).then(()=>{e&&i.setQueryData(r,t)})})});return()=>{e=!1;for(let e of n)e()}},[t,a,i]);let o=(0,T.useMemo)(()=>{let e=new Map;return r.forEach((t,r)=>{let i=n[r];if(!i)return;let a=[...i.prs.map(e=>({projectId:i.projectId,kind:`PR`,number:e})),...i.issues.map(e=>({projectId:i.projectId,kind:`Issue`,number:e}))],o=t.data;for(let n of a){let r=Q(n),i=q.get(r),a=Y.has(r)?!0:void 0;if(o?.available){let t=o.prs[n.number]??o.issues[n.number];if(t){let i=o.conflicts?o.conflicts.includes(n.number):void 0;J(r,t),i!==void 0&&Ji(r,i),e.set(r,{state:`ready`,status:t,...i??a?{conflicting:!0}:{}})}else e.set(r,{state:`unknown`,...i?{status:i}:{}})}else o?e.set(r,{state:`unavailable`,reason:o.reason,...i?{status:i}:{},...a?{conflicting:!0}:{}}):t.isError?e.set(r,{state:`unavailable`,reason:t.error instanceof Error?t.error.message:void 0,...i?{status:i}:{},...a?{conflicting:!0}:{}}):e.set(r,{state:`loading`,...i?{status:i}:{},...a?{conflicting:!0}:{}})}}),e},[n,r.map(e=>`${e.dataUpdatedAt}:${e.status}`).join(`,`)]);return(0,T.useCallback)(e=>{let t=Q(e),n=o.get(t);if(n)return n;let r=q.get(t);return{state:`idle`,...r?{status:r}:{},...Y.has(t)?{conflicting:!0}:{}}},[o])}function ia(e,t,n=!0){return x({queryKey:z.githubComments(e,t),queryFn:({signal:n})=>f(e,t,{},{signal:n}),enabled:n,staleTime:6e4})}function aa(e,t,n=!0){return x({queryKey:z.githubItem(e,t),queryFn:({signal:n})=>Ie(e,t,{},{signal:n}),enabled:n,staleTime:6e4})}function oa(e){return x({queryKey:z.githubPrChanges(e??0),queryFn:({signal:t})=>Pe(e,{},{signal:t}),enabled:e!==void 0,staleTime:6e4,retry:!1})}var $=n(),sa={primary:`border-accent-strong/25 bg-accent-strong/15 text-link-foreground`,neutral:`border-border bg-card text-foreground shadow-xs`,danger:`border-danger/20 bg-danger/15 text-danger`};function ca({icon:e,tone:t=`neutral`,title:n,subtitle:r,children:a,actions:o,backdrop:s=!1,heading:c=`h1`,className:l}){return(0,$.jsxs)(`div`,{"data-slot":`centered-state`,"data-tone":t,className:i(`relative isolate flex min-h-full flex-1 flex-col items-center justify-center px-6 py-12 text-center`,l),children:[s?(0,$.jsx)(da,{}):null,(0,$.jsxs)(`div`,{className:`flex w-full max-w-md flex-col items-center gap-4`,children:[(0,$.jsx)(`div`,{"data-slot":`centered-state-tile`,className:i(`flex size-[72px] items-center justify-center rounded-[18px] border [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-7`,sa[t]),children:e}),(0,$.jsx)(c,{className:`text-2xl font-semibold text-balance text-foreground`,children:n}),r?(0,$.jsx)(`p`,{className:`text-sm text-pretty text-muted-foreground`,children:r}):null,a?(0,$.jsx)(`div`,{className:`w-full pt-2`,children:a}):null,o?(0,$.jsx)(`div`,{className:`flex items-center justify-center gap-3 pt-2`,children:o}):null]})]})}var la=[{top:`6%`,left:`14%`,size:2,tone:`accent`,opacity:.5},{top:`11%`,left:`31%`,size:3,tone:`accent`,opacity:.45},{top:`8%`,left:`52%`,size:2,tone:`pending`,opacity:.4},{top:`15%`,left:`71%`,size:2,tone:`accent`,opacity:.5},{top:`9%`,left:`86%`,size:3,tone:`primary`,opacity:.4},{top:`22%`,left:`8%`,size:2,tone:`pending`,opacity:.4},{top:`27%`,left:`24%`,size:2,tone:`primary`,opacity:.35},{top:`20%`,left:`44%`,size:3,tone:`accent`,opacity:.35},{top:`25%`,left:`62%`,size:2,tone:`accent`,opacity:.4},{top:`30%`,left:`79%`,size:2,tone:`primary`,opacity:.35},{top:`36%`,left:`12%`,size:3,tone:`accent`,opacity:.3},{top:`42%`,left:`35%`,size:2,tone:`pending`,opacity:.28},{top:`47%`,left:`58%`,size:2,tone:`primary`,opacity:.28},{top:`52%`,left:`88%`,size:2,tone:`accent`,opacity:.25},{top:`60%`,left:`29%`,size:3,tone:`accent`,opacity:.22}],ua={accent:`bg-accent-strong`,primary:`bg-action`,pending:`bg-pending`};function da({className:e}){return(0,$.jsx)(`div`,{"data-slot":`twinkle-backdrop`,"aria-hidden":`true`,className:i(`pointer-events-none absolute inset-0 -z-10 overflow-hidden [mask-image:linear-gradient(to_bottom,black_25%,transparent_88%)]`,e),children:la.map((e,t)=>(0,$.jsx)(`span`,{className:i(`absolute rounded-[1px] motion-safe:animate-pulse`,e.size===3?`size-[3px]`:`size-0.5`,ua[e.tone]),style:{top:e.top,left:e.left,opacity:e.opacity,animationDuration:`3.5s`,animationDelay:`${t%5*700}ms`}},t))})}export{yi as $,F as $t,aa as A,cn as An,Hr as At,Ai as B,oi as Bt,Pi as C,Fn as Cn,Zr as Ct,Ui as D,Mn as Dn,H as Dt,Ii as E,Tn as En,ur as Et,G as F,O as Fn,Cr as Ft,ji as G,ar as Gt,Nr as H,wi as Ht,Lr as I,D as In,bi as It,di as J,Bn as Jt,Bi as K,tr as Kt,ci as L,Xt as Ln,Er as Lt,zi as M,un as Mn,Mi as Mt,oa as N,an as Nn,si as Nt,Vi as O,vn as On,Br as Ot,Wi as P,sn as Pn,ii as Pt,Wr as Q,Wn as Qt,li as R,vr as Rt,Gr as S,kn as Sn,Yr as St,hr as T,On as Tn,Kr as Tt,zr as U,_i as Ut,wr as V,Ti as Vt,Di as W,B as Wt,pi as X,Ln as Xt,Rr as Y,Un as Yt,Jr as Z,N as Zt,jr as _,Nn as _n,pr as _t,ea as a,qn as an,$i as at,Fr as b,En as bn,ni as bt,xi as c,Gn as cn,gr as ct,Vr as d,er as dn,Sr as dt,I as en,vi as et,$r as f,zn as fn,Fi as ft,gi as g,M as gn,hi as gt,Pr as h,An as hn,mi as ht,z as i,Hn as in,Mr as it,Ir as j,ln as jn,Or as jt,ia as k,A as kn,Ur as kt,Si as l,Xn as ln,Dr as lt,ai as m,jn as mn,fi as mt,da as n,Rn as nn,dr as nt,kr as o,$n as on,ra as ot,ei as p,Cn as pn,ui as pt,Hi as q,nr as qt,V as r,Vn as rn,Ci as rt,Ar as s,Qn as sn,fr as st,ca as t,Jn as tn,mr as tt,Ei as u,P as un,_r as ut,Ni as v,Sn as vn,qr as vt,Qr as w,Pn as wn,ri as wt,br as x,wn as xn,ti as xt,Tr as y,Dn as yn,Xr as yt,ki as z,xr as zt};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={queries:!1,sse:!1,ws:!1};function t(){return!e.queries&&!e.sse&&!e.ws}function n(){typeof window>`u`||Object.getOwnPropertyDescriptor(window,`__cezIdle`)?.get||Object.defineProperty(window,"__cezIdle",{configurable:!0,enumerable:!1,get:t})}function r(t,r){e[t]=r,n()}var i=!1;function a(e){i=e,!(typeof window>`u`)&&(Object.getOwnPropertyDescriptor(window,`__cezLive`)?.get||Object.defineProperty(window,"__cezLive",{configurable:!0,enumerable:!1,get:()=>i}))}function o(e){n();let t=()=>{r(`queries`,e.isFetching()>0)};return t(),e.getQueryCache().subscribe(t)}function s(e){r(`sse`,!0);let t=e().filter(e=>e instanceof Promise);return Promise.allSettled(t).then(()=>r(`sse`,!1))}export{s as i,r as n,a as r,o as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/diff-view-Byo7gpvW.js","assets/rolldown-runtime-QTnfLwEv.js","assets/react-runtime-CCIEwYL0.js","assets/button-CeupvoKG.js","assets/bundle-mjs-BT31bpU6.js","assets/eye-B8okNWXU.js","assets/createLucideIcon-BHp8sXmF.js","assets/index-BOfE8pyD.js","assets/dropdown-menu-COj_J5wd.js","assets/live-protocol-Uce2NwEX.js","assets/centered-state-hDsyXrnH.js","assets/cez-idle-D3aj_9lp.js","assets/status-dot-1PR0i69P.js","assets/nav-row-styles-AoIhhIwf.js","assets/popover-D56fhiXj.js","assets/play-CmVAj_fu.js","assets/reference-chip-gQNk-4jc.js","assets/alert-dialog-DfctKUMw.js","assets/chunk-BO2N2NFS-DE6qKn3r.js","assets/lib-BxQXEXDF.js","assets/index-D9HpsmdW.css","assets/lib-BQXq3kEf.js","assets/image-preview-C_t9q45f.js","assets/zoomable-image-CxQSsfcn.js","assets/markdown-BBDDg-4t.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-QTnfLwEv.js";import{i as t,t as n}from"./react-runtime-CCIEwYL0.js";import{E as r}from"./button-CeupvoKG.js";import{i}from"./bundle-mjs-BT31bpU6.js";import{dt as a}from"./index-BOfE8pyD.js";import{n as o,t as s}from"./image-preview-C_t9q45f.js";var c=e(t(),1),l=n();function u(e){let[t,n]=(0,c.useState)(null);return(0,c.useEffect)(()=>{let e=!1;return i(()=>import(`./diff-view-Byo7gpvW.js`).then(t=>{e||n({View:t.DiffView})},()=>{e||n(`failed`)}),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24])),()=>{e=!0}},[]),e.files.length===0?(0,l.jsx)(`p`,{"data-slot":`diff-empty`,className:r(`px-1 text-xs text-soft-foreground`,e.className),children:`No changes.`}):t===`failed`?(0,l.jsx)(d,{...e}):t===null?(0,l.jsx)(`p`,{"data-slot":`diff-loading`,className:r(`px-1 text-xs text-soft-foreground`,e.className),children:`Loading diff…`}):(0,l.jsx)(t.View,{...e})}function d({files:e,wrap:t=!1,imageSrc:n,onOpenInApp:i,viewRef:o,className:s}){let u={adds:e.reduce((e,t)=>e+t.adds,0),dels:e.reduce((e,t)=>e+t.dels,0),files:e.length},d=(0,c.useRef)(null);return(0,c.useImperativeHandle)(o,()=>({scrollToPath:e=>{for(let t of d.current?.querySelectorAll(`[data-slot="diff-file"]`)??[])if(t.dataset.path===e){t.scrollIntoView({block:`start`,behavior:`smooth`});return}}})),(0,l.jsxs)(`div`,{ref:d,"data-slot":`diff`,"data-fallback":`true`,className:r(`flex min-w-0 flex-col gap-3`,s),children:[(0,l.jsxs)(`p`,{"data-slot":`diff-totals`,className:`flex items-center gap-2 px-1 text-xs text-muted-foreground`,children:[(0,l.jsxs)(`span`,{children:[u.files,` `,u.files===1?`file`:`files`,` changed`]}),(0,l.jsx)(a,{stat:u})]}),e.map(e=>(0,l.jsx)(f,{file:e,wrap:t,imageSrc:n,onOpenInApp:i},`${e.oldPath??``}→${e.path}`))]})}function f({file:e,wrap:t,imageSrc:n,onOpenInApp:i}){return(0,l.jsxs)(`section`,{"data-slot":`diff-file`,"data-path":e.path,className:`min-w-0 overflow-clip rounded-md border border-border bg-card`,children:[(0,l.jsxs)(`header`,{className:`flex items-center gap-2 border-b border-border/50 px-3 py-2`,children:[(0,l.jsx)(`span`,{"data-slot":`diff-file-path`,className:`min-w-0 truncate font-mono text-xs font-medium`,children:e.oldPath?`${e.oldPath} → ${e.path}`:e.path}),(0,l.jsx)(`span`,{className:`ml-auto shrink-0`,children:(0,l.jsx)(a,{stat:{adds:e.adds,dels:e.dels,files:1},className:`text-[11px]`})})]}),o(e)?(0,l.jsx)(s,{file:e,imageSrc:n,onOpenInApp:i}):e.binary?(0,l.jsx)(`p`,{className:`px-4 py-2.5 text-xs text-soft-foreground`,children:`Binary file — no text diff.`}):e.patch===``?(0,l.jsx)(`p`,{className:`px-4 py-2.5 text-xs text-soft-foreground`,children:`No content changes (metadata only).`}):(0,l.jsx)(`pre`,{className:r(`py-2 font-mono text-xs leading-[1.7]`,t?`break-words whitespace-pre-wrap`:`overflow-x-auto whitespace-pre`),children:e.patch.split(`
|
|
3
|
+
`).map((e,t)=>(0,l.jsxs)(`span`,{className:r(`block px-4`,e.startsWith(`+`)&&!e.startsWith(`+++`)&&`bg-diff-add`,e.startsWith(`-`)&&!e.startsWith(`---`)&&`bg-diff-del`,e.startsWith(`@@`)&&`text-soft-foreground`),children:[e,e===``?` `:``]},t))})]})}export{u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./react-runtime-CCIEwYL0.js";import{E as t,t as n}from"./button-CeupvoKG.js";import{H as r,tt as i}from"./dropdown-menu-COj_J5wd.js";import{t as a}from"./createLucideIcon-BHp8sXmF.js";import{t as o}from"./eye-B8okNWXU.js";var s=a(`circle-question-mark`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3`,key:`1u773s`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),c=a(`text-wrap`,[[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`,key:`18xa6z`}],[`path`,{d:`M3 19h6`,key:`1ygdsz`}],[`path`,{d:`M3 5h18`,key:`1u36vt`}]]),l=e();function u({mode:e,wrap:r,onModeChange:i,onWrapChange:a}){return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`span`,{"data-slot":`diff-mode-toggle`,role:`group`,"aria-label":`Diff layout`,className:`flex items-center gap-2`,children:[(0,l.jsx)(f,{current:e,value:`unified`,onModeChange:i}),(0,l.jsx)(f,{current:e,value:`split`,onModeChange:i})]}),(0,l.jsx)(n,{variant:`ghost`,size:`icon-sm`,"data-slot":`wrap-toggle`,"aria-pressed":r,"aria-label":`Wrap long lines`,title:`Wrap long lines`,className:t(`size-11`,r&&`bg-muted text-foreground`),onClick:()=>a(!r),children:(0,l.jsx)(c,{"aria-hidden":`true`})})]})}function d({preview:e,onPreviewChange:r}){return(0,l.jsx)(n,{variant:`ghost`,size:`icon-sm`,"data-slot":`markdown-preview-toggle`,"aria-pressed":e,"aria-label":`Preview Markdown`,title:e?`Show Markdown as a diff`:`Preview Markdown`,className:t(`size-11`,e&&`bg-muted text-foreground`),onClick:()=>r(!e),children:(0,l.jsx)(o,{"aria-hidden":`true`})})}function f({current:e,value:n,onModeChange:i}){let a=e===n;return(0,l.jsxs)(`button`,{type:`button`,"data-mode":n,"aria-pressed":a,onClick:()=>i(n),className:t(`inline-flex items-center gap-2 min-h-11 rounded-lg border border-border bg-card px-3 text-xs font-medium capitalize`,a?`border-accent-text/40 text-accent-text`:`text-muted-foreground hover:text-foreground`),children:[n===`unified`?(0,l.jsx)(s,{"aria-hidden":`true`,className:`size-4`}):(0,l.jsx)(r,{size:16,"aria-hidden":`true`,className:`size-4`}),n]})}function p({branch:e}){return(0,l.jsxs)(`span`,{"data-slot":`branch-chip`,className:`flex min-w-0 items-center gap-1 rounded-sm border border-border bg-card px-1.5 py-px font-mono text-[11px] font-medium`,children:[(0,l.jsx)(i,{size:16,"aria-hidden":`true`,className:`size-3 shrink-0`}),(0,l.jsx)(`span`,{className:`truncate`,children:e})]})}export{u as n,d as r,p as t};
|