@shugaev/spur 0.1.1 → 0.1.2
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/dist/agents/cursor-submit-ack.d.ts.map +1 -1
- package/dist/agents/cursor-submit-ack.js +15 -1
- package/dist/agents/cursor-submit-ack.js.map +1 -1
- package/dist/agents/cursor.d.ts +1 -0
- package/dist/agents/cursor.d.ts.map +1 -1
- package/dist/agents/cursor.js +3 -1
- package/dist/agents/cursor.js.map +1 -1
- package/dist/agents/index.js +2 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/models.d.ts +3 -0
- package/dist/agents/models.d.ts.map +1 -1
- package/dist/agents/models.js +41 -3
- package/dist/agents/models.js.map +1 -1
- package/dist/backlog/index.d.ts +15 -0
- package/dist/backlog/index.d.ts.map +1 -0
- package/dist/backlog/index.js +80 -0
- package/dist/backlog/index.js.map +1 -0
- package/dist/backlog/providers.d.ts +12 -0
- package/dist/backlog/providers.d.ts.map +1 -0
- package/dist/backlog/providers.js +22 -0
- package/dist/backlog/providers.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +12 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +64 -0
- package/dist/config.js.map +1 -1
- package/dist/event-sources/github.d.ts.map +1 -1
- package/dist/event-sources/github.js +30 -32
- package/dist/event-sources/github.js.map +1 -1
- package/dist/event-sources/index.d.ts.map +1 -1
- package/dist/event-sources/index.js +5 -0
- package/dist/event-sources/index.js.map +1 -1
- package/dist/gh.d.ts +2 -0
- package/dist/gh.d.ts.map +1 -1
- package/dist/gh.js +28 -0
- package/dist/gh.js.map +1 -1
- package/dist/jira.d.ts +15 -0
- package/dist/jira.d.ts.map +1 -0
- package/dist/jira.js +74 -0
- package/dist/jira.js.map +1 -0
- package/dist/metadata.d.ts +7 -1
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +129 -0
- package/dist/metadata.js.map +1 -1
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +4 -0
- package/dist/preflight.js.map +1 -1
- package/dist/prompt-template.d.ts +3 -0
- package/dist/prompt-template.d.ts.map +1 -0
- package/dist/prompt-template.js +14 -0
- package/dist/prompt-template.js.map +1 -0
- package/dist/send-batches.d.ts +3 -1
- package/dist/send-batches.d.ts.map +1 -1
- package/dist/send-batches.js +94 -0
- package/dist/send-batches.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +27 -1
- package/dist/server.js.map +1 -1
- package/dist/session-service.d.ts +13 -1
- package/dist/session-service.d.ts.map +1 -1
- package/dist/session-service.js +164 -45
- package/dist/session-service.js.map +1 -1
- package/dist/shepherd.d.ts.map +1 -1
- package/dist/shepherd.js +2 -1
- package/dist/shepherd.js.map +1 -1
- package/dist/triggers.d.ts.map +1 -1
- package/dist/triggers.js +81 -15
- package/dist/triggers.js.map +1 -1
- package/dist/types.d.ts +74 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/app-build-manifest.json +98 -91
- package/web/.next/app-path-routes-manifest.json +2 -1
- package/web/.next/build-manifest.json +3 -3
- package/web/.next/prerender-manifest.json +18 -18
- package/web/.next/required-server-files.json +3 -3
- package/web/.next/server/app/_not-found/page.js +2 -2
- package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/_not-found.html +1 -1
- package/web/.next/server/app/_not-found.rsc +3 -3
- package/web/.next/server/app/api/backlog/take/route.js +1 -0
- package/web/.next/server/app/api/backlog/take/route.js.nft.json +1 -0
- package/web/.next/server/app/api/backlog/take/route_client-reference-manifest.js +1 -0
- package/web/.next/server/app/api/github-status/route.js +1 -1
- package/web/.next/server/app/api/github-status/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/gitlab-status/route.js +1 -1
- package/web/.next/server/app/api/gitlab-status/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/models/route.js +1 -1
- package/web/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/pr-status/merge/route.js +1 -1
- package/web/.next/server/app/api/pr-status/merge/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/pr-status/route.js +2 -2
- package/web/.next/server/app/api/pr-status/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/preflight/route.js +1 -1
- package/web/.next/server/app/api/preflight/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/projects/[id]/branches/exists/route.js +1 -1
- package/web/.next/server/app/api/projects/[id]/branches/exists/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/projects/[id]/route.js +1 -1
- package/web/.next/server/app/api/projects/[id]/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/projects/[id]/slash-commands/route.js +1 -1
- package/web/.next/server/app/api/projects/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/projects/route.js +1 -1
- package/web/.next/server/app/api/projects/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/runtime/info/route.js +1 -1
- package/web/.next/server/app/api/runtime/info/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/runtime/resources/route.js +1 -1
- package/web/.next/server/app/api/runtime/resources/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/runtime/terminal/route.js +1 -1
- package/web/.next/server/app/api/runtime/terminal/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/runtime/versions/route.js +1 -1
- package/web/.next/server/app/api/runtime/versions/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/runtime/versions/switch/route.js +1 -1
- package/web/.next/server/app/api/runtime/versions/switch/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/runtime/voice/route.js +1 -1
- package/web/.next/server/app/api/runtime/voice/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/runtime/voice/transcribe/route.js +1 -1
- package/web/.next/server/app/api/runtime/voice/transcribe/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/artifacts/[artifactId]/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/artifacts/[artifactId]/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/complete/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/complete/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/conversation/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/conversation/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/kill/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/kill/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/logs/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/logs/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/pause/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/pause/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/respawn/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/respawn/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/restore/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/restore/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/send/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/send/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/sidecars/[name]/start/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/sidecars/[name]/start/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/sidecars/[name]/stop/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/sidecars/[name]/stop/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/slash-commands/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/slash-commands/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/tags/route.js +1 -1
- package/web/.next/server/app/api/sessions/[id]/tags/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/sessions/route.js +1 -1
- package/web/.next/server/app/api/sessions/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/shepherd/spawn/route.js +1 -1
- package/web/.next/server/app/api/shepherd/spawn/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/api/spawn/route.js +1 -1
- package/web/.next/server/app/api/spawn/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/apple-icon/route.js +1 -1
- package/web/.next/server/app/apple-icon/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/icon/route.js +1 -1
- package/web/.next/server/app/icon/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/icon-192/route.js +1 -1
- package/web/.next/server/app/icon-192/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/icon-512/route.js +1 -1
- package/web/.next/server/app/icon-512/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/web/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/web/.next/server/app/page.js +3 -3
- package/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app/sessions/[id]/page.js +6 -6
- package/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/server/app-paths-manifest.json +2 -1
- package/web/.next/server/chunks/135.js +1 -1
- package/web/.next/server/chunks/5158.js +1 -0
- package/web/.next/server/chunks/7331.js +3 -3
- package/web/.next/server/functions-config-manifest.json +3 -3
- package/web/.next/server/middleware-build-manifest.js +1 -1
- package/web/.next/server/next-font-manifest.js +1 -1
- package/web/.next/server/next-font-manifest.json +1 -1
- package/web/.next/server/pages/404.html +1 -1
- package/web/.next/server/pages/500.html +1 -1
- package/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/static/chunks/5124-5365d82e8f9962c5.js +1 -0
- package/web/.next/static/chunks/app/_not-found/{page-1b6e9375ed39417d.js → page-ce7aac1309588445.js} +1 -1
- package/web/.next/static/chunks/app/api/backlog/take/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/github-status/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/gitlab-status/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/models/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/pr-status/merge/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/pr-status/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/preflight/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/branches/exists/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/projects/[id]/slash-commands/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/projects/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/runtime/info/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/runtime/resources/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/runtime/terminal/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/runtime/versions/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/runtime/versions/switch/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/runtime/voice/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/runtime/voice/transcribe/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/artifacts/[artifactId]/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/complete/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/conversation/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/logs/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/pause/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/respawn/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/send/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/sidecars/[name]/start/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/sidecars/[name]/stop/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/slash-commands/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/[id]/tags/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/sessions/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/shepherd/spawn/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/api/spawn/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/apple-icon/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/icon/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/icon-192/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/icon-512/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/layout-f69f7a978709d508.js +1 -0
- package/web/.next/static/chunks/app/manifest.webmanifest/route-1c98dbb79467f151.js +1 -0
- package/web/.next/static/chunks/app/page-8a91ba4badc56ab2.js +1 -0
- package/web/.next/static/chunks/app/sessions/[id]/page-d8abb491bd89b750.js +1 -0
- package/web/.next/static/chunks/{main-app-1cea33e0d8c88bba.js → main-app-96c0fcaf99db6703.js} +1 -1
- package/web/.next/static/css/1c8043fd02fc0a5c.css +3 -0
- package/web/.next/static/j6j0a_rHfbTSVFFhtL-Dd/_buildManifest.js +1 -0
- package/web/node_modules/.package-lock.json +3 -3
- package/web/node_modules/caniuse-lite/data/agents.js +1 -1
- package/web/node_modules/caniuse-lite/data/browserVersions.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/aac.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/apng.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/array-find.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/audio.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/av1.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/avif.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/beacon.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/bigint.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/border-image.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/brotli.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/calc.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/canvas.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/classlist.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/colr.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/console-time.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/const.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/cors.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-all.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-first-line.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-has.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-if.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-opacity.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-reflections.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-table.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-when-else.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/currentcolor.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/customevent.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/datalist.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/dataset.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/datauri.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/decorators.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/details.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/dialog.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/download.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/eme.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/eot.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/es5.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/es6.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/fetch.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/filereader.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/flac.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/fontface.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/forms.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/heif.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/hevc.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/hidden.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/history.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/http2.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/http3.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/ime.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/imports.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/innertext.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-color.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-event.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-number.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-range.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-search.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/jpegxr.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/json.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/lazyload.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/let.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mathml.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/menu.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/meter.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/midi.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mp3.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/notifications.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/object-values.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/ogv.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/online-status.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/opus.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/outline.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/path2d.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/picture.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/ping.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/pointer.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/portals.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/progress.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/promises.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/proximity.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/proxy.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/push-api.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/rellist.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/rem.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/ruby.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/run-in.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/script-async.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/sdch.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/setimmediate.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/sni.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/spdy.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/srcset.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/stream.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/streams.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/svg.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/sxg.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/template.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/temporal.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/touch.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/ttf.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/u2f.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/url.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/vibration.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/video.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wasm.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wav.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/web-share.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webgl.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webhid.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webm.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webp.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/websockets.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webusb.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webvr.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/webxr.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/will-change.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/woff.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/woff2.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/word-break.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/xhtml.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
- package/web/node_modules/caniuse-lite/data/features/zstd.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AD.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AF.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AI.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AL.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AO.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AS.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AT.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AU.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AW.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AX.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/AZ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BB.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BD.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BF.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BH.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BI.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BJ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BN.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BO.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BS.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BT.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BW.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BY.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/BZ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CD.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CF.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CH.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CI.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CK.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CL.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CN.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CO.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CU.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CV.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CX.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CY.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/CZ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/DE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/DJ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/DK.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/DM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/DO.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/DZ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/EC.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/EE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/EG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/ER.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/ES.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/ET.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/FI.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/FJ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/FK.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/FM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/FO.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/FR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GB.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GD.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GF.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GH.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GI.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GL.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GN.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GP.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GQ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GT.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GU.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GW.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/GY.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/HK.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/HN.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/HR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/HT.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/HU.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/ID.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/IE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/IL.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/IM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/IN.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/IQ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/IR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/IS.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/IT.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/JE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/JM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/JO.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/JP.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/KE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/KG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/KH.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/KI.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/KM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/KN.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/KP.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/KR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/KW.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/KY.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/KZ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/LA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/LB.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/LC.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/LI.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/LK.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/LR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/LS.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/LT.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/LU.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/LV.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/LY.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MC.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MD.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/ME.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MH.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MK.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/ML.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MN.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MO.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MP.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MQ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MS.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MT.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MU.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MV.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MW.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MX.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MY.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/MZ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NC.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NF.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NI.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NL.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NO.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NP.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NU.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/NZ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/OM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PF.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PH.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PK.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PL.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PN.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PS.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PT.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PW.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/PY.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/QA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/RE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/RO.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/RS.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/RU.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/RW.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SB.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SC.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SD.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SH.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SI.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SK.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SL.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SN.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SO.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/ST.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SV.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SY.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/SZ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TC.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TD.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TH.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TJ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TL.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TN.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TO.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TR.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TT.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TV.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TW.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/TZ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/UA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/UG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/US.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/UY.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/UZ.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/VA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/VC.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/VE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/VG.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/VI.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/VN.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/VU.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/WF.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/WS.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/YE.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/YT.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/ZA.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/ZM.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/ZW.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/alt-af.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/alt-an.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/alt-as.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/alt-eu.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/alt-na.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/alt-oc.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/alt-sa.js +1 -1
- package/web/node_modules/caniuse-lite/data/regions/alt-ww.js +1 -1
- package/web/node_modules/caniuse-lite/data/versionGroups.js +1 -1
- package/web/node_modules/caniuse-lite/package.json +1 -1
- package/web/package-lock.json +45 -45
- package/web/server.js +1 -1
- package/web/.next/server/chunks/7974.js +0 -1
- package/web/.next/static/1N29vAB1vCj1iGIUfy4to/_buildManifest.js +0 -1
- package/web/.next/static/chunks/5124-19d3cb5b8c373b6d.js +0 -1
- package/web/.next/static/chunks/app/api/github-status/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/gitlab-status/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/models/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/pr-status/merge/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/pr-status/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/preflight/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/branches/exists/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/projects/[id]/slash-commands/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/projects/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/runtime/info/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/runtime/resources/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/runtime/terminal/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/runtime/versions/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/runtime/versions/switch/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/runtime/voice/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/runtime/voice/transcribe/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/artifacts/[artifactId]/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/complete/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/conversation/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/kill/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/logs/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/pause/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/respawn/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/restore/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/send/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/sidecars/[name]/start/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/sidecars/[name]/stop/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/slash-commands/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/[id]/tags/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/sessions/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/shepherd/spawn/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/api/spawn/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/apple-icon/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/icon/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/icon-192/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/icon-512/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/layout-77450a833d54e15c.js +0 -1
- package/web/.next/static/chunks/app/manifest.webmanifest/route-596ce1d0c049f589.js +0 -1
- package/web/.next/static/chunks/app/page-fd332d4acc6d8ff0.js +0 -1
- package/web/.next/static/chunks/app/sessions/[id]/page-508070021783e022.js +0 -1
- package/web/.next/static/css/a21fffd2e823d08d.css +0 -3
- /package/web/.next/static/{1N29vAB1vCj1iGIUfy4to → j6j0a_rHfbTSVFFhtL-Dd}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8974],{1277:(e,t,r)=>{"use strict";r.d(t,{Dashboard:()=>eR});var a=r(8143),o=r(8855),n=r(4726),l=r(2615),s=r(2572),i=r(2480),c=r(9963),d=r.n(c);function u(e){let{children:t}=e;return(0,a.jsx)("div",{className:"data-row group flex items-center gap-2 border-b border-[var(--color-border-subtle)] px-2 py-2 transition-colors sm:gap-3 sm:px-2.5",children:t})}function p(e){let{label:t,disabled:r,activeClass:o,onClick:n,children:l}=e;return(0,a.jsx)("button",{"aria-label":t,title:t,className:"".concat("inline-flex h-6 w-6 shrink-0 items-center justify-center border transition"," ").concat(r?"border-transparent text-[var(--color-text-tertiary)] opacity-25 cursor-not-allowed":o),disabled:r,onClick:n,type:"button",children:l})}var x=r(2936);let h=(0,o.createContext)({catalog:[],applyTags:async()=>{}});function m(e){return{color:e,borderColor:"color-mix(in srgb, ".concat(e," 55%, transparent)"),background:"color-mix(in srgb, ".concat(e," 10%, transparent)")}}function v(e){var t;let{session:r}=e,{catalog:n,applyTags:l}=(0,o.useContext)(h),[s,i]=(0,o.useState)(!1),[c,d]=(0,o.useState)(!1),u=(0,o.useMemo)(()=>new Map(n.map(e=>[e.name,e.color])),[n]),p=null!=(t=r.tags)?t:[],x=(0,o.useMemo)(()=>n.filter(e=>!p.includes(e.name)),[n,p]),v=n.length>0&&x.length>0;async function b(e,t){if(!c){d(!0),i(!1);try{await l(r.id,{add:e,remove:t})}catch(e){console.error("tag update failed",e)}finally{d(!1)}}}let f=p.slice(0,4),g=p.slice(4);return(0,a.jsxs)("span",{className:"relative hidden shrink-0 items-center gap-1 sm:inline-flex",children:[f.map(e=>{var t;let r=null!=(t=u.get(e))?t:"var(--color-text-tertiary)";return(0,a.jsxs)("span",{className:"group/tag inline-flex items-center border p-1.5 text-[9px] uppercase leading-none tracking-[0.06em]",style:m(r),children:[e,(0,a.jsx)("button",{"aria-label":"Remove tag ".concat(e),className:"ml-0.5 hidden shrink-0 group-hover/tag:inline-flex",disabled:c,onClick:()=>b([],[e]),type:"button",children:"\xd7"})]},e)}),g.length>0?(0,a.jsxs)("span",{className:"inline-flex items-center border border-[var(--color-border-subtle)] p-1.5 text-[9px] uppercase leading-none tracking-[0.06em] text-[var(--color-text-tertiary)]",title:g.join(", "),children:["+",g.length]}):null,v?(0,a.jsx)("button",{"aria-label":"Add tag",className:"inline-flex h-5 w-5 items-center justify-center border border-[var(--color-border-subtle)] text-[var(--color-text-tertiary)] transition hover:border-[var(--color-border-default)] hover:text-[var(--color-text-secondary)] ".concat(s||p.length>0?"opacity-60":"opacity-0 group-hover:opacity-100"),disabled:c,onClick:()=>i(e=>!e),type:"button",children:(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-2.5 w-2.5",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M12 5v14M5 12h14"})})}):null,s?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{"aria-hidden":"true",className:"fixed inset-0 z-20 cursor-default",onClick:()=>i(!1),tabIndex:-1,type:"button"}),(0,a.jsx)("div",{className:"absolute right-0 top-5 z-30 w-56 border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] py-1 shadow-lg",children:x.map(e=>(0,a.jsxs)("button",{className:"block w-full px-2 py-1.5 text-left transition hover:bg-[var(--color-hover-overlay)]",onClick:()=>b([e.name],[]),type:"button",children:[(0,a.jsx)("span",{className:"text-[9px] uppercase tracking-[0.06em]",style:{color:e.color},children:e.name}),(0,a.jsx)("span",{className:"mt-0.5 block text-[10px] leading-snug text-[var(--color-text-tertiary)]",children:e.description})]},e.name))})]}):null]})}var b=r(9199),f=r(6297),g=r(3982),y=r(5821),j=r(7572);function w(e){let{open:t,session:r,onToggle:n}=e,l=(0,j.z3)(r),s=null==l?void 0:l.dueAt,[i,c]=(0,o.useState)(()=>Date.now());if((0,o.useEffect)(()=>{if(!s)return;let e=window.setInterval(()=>c(Date.now()),1e3);return()=>window.clearInterval(e)},[s]),!l)return null;let d="interval"===l.kind||"daily"===l.kind,u="interval"===l.kind?"Interval wake scheduled":"daily"===l.kind?"Daily wake scheduled":"Wake scheduled",p="wake-".concat(r.id);return(0,a.jsxs)("span",{className:"relative inline-flex shrink-0",children:[(0,a.jsx)("button",{"aria-controls":t?p:void 0,"aria-expanded":t,"aria-label":u,className:"inline-flex h-5 w-5 shrink-0 items-center justify-center border border-[var(--color-border-subtle)] text-[var(--color-status-attention)] transition hover:border-[var(--color-status-attention)] hover:bg-[var(--color-hover-overlay)]",onClick:n,title:u,type:"button",children:(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3 w-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",viewBox:"0 0 24 24",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"8"}),(0,a.jsx)("path",{d:"M12 8v5l3 2"}),d?(0,a.jsx)("path",{d:"M4 12a8 8 0 0 1 13.5-5.8M20 12a8 8 0 0 1-13.5 5.8"}):null]})}),t?(0,a.jsxs)("span",{className:"absolute left-0 top-6 z-30 w-[17rem] border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] px-2.5 py-2 text-[var(--color-text-secondary)] shadow-[0_8px_30px_var(--color-shadow-menu)]",id:p,role:"status",children:[(0,a.jsxs)("span",{className:"flex items-center justify-between gap-3",children:[(0,a.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-status-attention)]",children:l.label}),(0,a.jsx)("span",{className:"font-mono text-[var(--color-text-primary)]",children:(0,j.TL)(l.dueAt,i)})]}),l.intervalMs?(0,a.jsxs)("span",{className:"mt-1 block font-mono text-[10px] uppercase tracking-[0.08em] text-[var(--color-text-tertiary)]",children:["every ",(0,j.re)(l.intervalMs)]}):null,l.dailyAt?(0,a.jsxs)("span",{className:"mt-1 block font-mono text-[10px] uppercase tracking-[0.08em] text-[var(--color-text-tertiary)]",children:["daily ",l.dailyAt.join(", ")]}):null,l.stopCondition?(0,a.jsxs)("span",{className:"mt-1 block min-w-0 truncate text-[var(--color-text-secondary)]",children:["until ",l.stopCondition]}):null,(0,a.jsx)("span",{className:"mt-1 block min-w-0 truncate text-[var(--color-text-tertiary)]",children:l.message})]}):null]})}function k(e){let{sidecars:t,open:r,sessionId:o,onToggle:n}=e;if(0===t.length)return null;let l="sidecars-".concat(o),s="Running sidecars for ".concat(o);return(0,a.jsxs)("span",{className:"relative inline-flex shrink-0",children:[(0,a.jsx)("button",{"aria-controls":r?l:void 0,"aria-expanded":r,"aria-label":s,className:"inline-flex h-5 w-5 shrink-0 items-center justify-center border border-[var(--color-border-subtle)] text-[var(--color-status-ready)] transition hover:border-[var(--color-status-ready)] hover:bg-[var(--color-hover-overlay)]",onClick:n,title:s,type:"button",children:(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3 w-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M9.5 7.5h-1.5a4.5 4.5 0 0 0 0 9h1.5"}),(0,a.jsx)("path",{d:"M14.5 7.5h1.5a4.5 4.5 0 0 1 0 9h-1.5"}),(0,a.jsx)("path",{d:"M8.5 12h7"})]})}),r?(0,a.jsxs)("span",{className:"absolute left-0 top-6 z-30 w-[14rem] border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] px-2.5 py-2 text-[var(--color-text-secondary)]",id:l,role:"status",children:[(0,a.jsx)("span",{className:"block text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-status-ready)]",children:"Running Sidecars"}),(0,a.jsx)("span",{className:"mt-1 flex min-w-0 flex-col gap-1 font-mono text-[var(--color-text-primary)]",children:t.map(e=>e.url?(0,a.jsx)("a",{className:"min-w-0 break-all text-[var(--color-status-ready)] underline-offset-2 hover:underline",href:e.url,rel:"noreferrer",target:"_blank",title:e.url,children:e.name},e.name):(0,a.jsx)("span",{className:"min-w-0 break-all",children:e.name},e.name))})]}):null]})}function N(e){let{projectFilterId:t,deskMemberCount:r,session:n,onOpenTerminal:l,onCompleteSession:s,onRestoreSession:i}=e,c=(0,b.Pn)(n),h=n.runtimeAlive&&!(0,y.zi)(n)&&!!n.tmuxSession,m=(0,y.ng)(n),j=("stopped"===m||"error"===m)&&(0,y.qX)(n),N=n.links.find(e=>(0,f.do)(e.label)),C=n.links.find(e=>"tracker"===e.label),S=(0,x.Y)(N),E=N?(0,f.tS)(N.url):null,[M,L]=(0,o.useState)(!1),I=("merged"===S.state||M)&&(0,y.ab)(n),P="github"===E&&!!N&&S.canMerge&&!M,D=!!(n.scheduledWake||n.intervalWake||n.dailyWake),[_,T]=(0,o.useState)(!1),[A,F]=(0,o.useState)(!1),[B,R]=(0,o.useState)(!1),[q,K]=(0,o.useState)(null),O=e=>{K(t=>t===e?null:e)};return(0,a.jsxs)(u,{children:[(0,a.jsx)("span",{className:"hidden w-[7rem] shrink-0 truncate font-semibold uppercase text-[var(--color-text-primary)] sm:inline",children:n.projectName}),(0,a.jsx)("span",{className:"hidden w-[3.5rem] shrink-0 text-[var(--color-text-tertiary)] md:inline",children:n.agent}),void 0!==r&&r>1?(0,a.jsxs)("span",{className:"hidden shrink-0 items-center gap-0.5 rounded border border-[var(--color-border-subtle)] px-1 py-0.5 font-mono text-[10px] tabular-nums leading-none text-[var(--color-text-tertiary)] sm:inline-flex",title:"".concat(r," agents on this checkout"),children:[(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3 w-3 shrink-0 text-[var(--color-text-tertiary)]",fill:"none",stroke:"currentColor",strokeWidth:"1.5",viewBox:"0 0 24 24",children:[(0,a.jsx)("rect",{height:"14",rx:"1",width:"14",x:"8",y:"8"}),(0,a.jsx)("rect",{height:"14",opacity:"0.55",rx:"1",width:"14",x:"3",y:"3"})]}),r]}):null,D?(0,a.jsx)(w,{open:"wake"===q,session:n,onToggle:()=>O("wake")}):null,(0,a.jsx)(k,{open:"sidecars"===q,sessionId:n.id,sidecars:n.runningSidecars,onToggle:()=>O("sidecars")}),(0,a.jsx)(d(),{className:"min-w-0 flex-1 truncate text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)] hover:no-underline",href:(0,g._j)(n.id,t),children:c}),(0,a.jsx)(v,{session:n}),C?(0,a.jsx)("span",{className:"hidden sm:inline-flex",children:(0,a.jsx)(x.w,{link:C})}):null,N?(0,a.jsx)("span",{className:"hidden sm:inline-flex",children:(0,a.jsx)(x.w,{link:N,prInfo:S})}):null,(0,a.jsx)("span",{className:"hidden w-[8rem] shrink-0 truncate text-right font-mono text-[var(--color-text-secondary)] lg:inline",children:n.branch}),(0,a.jsx)("span",{className:"w-[4rem] shrink-0 text-right text-[var(--color-text-tertiary)]",children:(0,b.fw)(n.lastActivityAt)}),I?(0,a.jsx)(p,{label:"Mark ".concat(n.id," as done"),disabled:_,activeClass:"border-[var(--color-border-default)] text-[var(--color-text-secondary)] hover:border-[var(--color-status-ready)] hover:text-[var(--color-status-ready)]",onClick:async()=>{if(!_){T(!0);try{await s(n)}catch(e){console.error("complete failed",e),T(!1)}}},children:(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M20 6 9 17l-5-5"})})}):P?(0,a.jsx)(p,{label:"Merge PR for ".concat(n.id),disabled:A,activeClass:"border-[var(--color-border-default)] text-[var(--color-text-secondary)] hover:border-[var(--color-status-ready)] hover:text-[var(--color-status-ready)]",onClick:async()=>{if(N){F(!0);try{let e=await fetch("/api/pr-status/merge",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({url:N.url})});if(!e.ok)throw Error("merge: ".concat(e.status));(0,f.Gl)(N.url,{...S,state:"merged",canMerge:!1,fetchedAt:Date.now(),stale:!1}),L(!0)}catch(e){console.error("merge failed",e),F(!1)}}},children:(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M7 6a2.5 2.5 0 1 0-2.5 2.5A2.5 2.5 0 0 0 7 6Z"}),(0,a.jsx)("path",{d:"M19.5 15.5A2.5 2.5 0 1 0 17 18a2.5 2.5 0 0 0 2.5-2.5Z"}),(0,a.jsx)("path",{d:"M19.5 6A2.5 2.5 0 1 0 17 8.5 2.5 2.5 0 0 0 19.5 6Z"}),(0,a.jsx)("path",{d:"M7 6h5a5 5 0 0 1 5 5v2.5"})]})}):j?(0,a.jsx)(p,{label:"Restore session ".concat(n.id),disabled:B,activeClass:"border-[var(--color-border-default)] text-[var(--color-text-secondary)] hover:border-[var(--color-status-ready)] hover:text-[var(--color-status-ready)]",onClick:async()=>{if(!B){R(!0);try{await i(n)}catch(e){console.error("restore failed",e),R(!1)}}},children:(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),(0,a.jsx)("path",{d:"M3 4v6h6"}),(0,a.jsx)("path",{d:"M10 12h4"}),(0,a.jsx)("path",{d:"m14 12-2-2"}),(0,a.jsx)("path",{d:"m14 12-2 2"})]})}):(0,a.jsx)(p,{label:"Open web terminal for ".concat(n.id),disabled:!h,activeClass:"border-[var(--color-border-default)] text-[var(--color-text-secondary)] hover:border-[var(--color-accent)] hover:text-[var(--color-accent)]",onClick:()=>h&&(null==l?void 0:l(n)),children:(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeWidth:"1.8",viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M4 6.75A1.75 1.75 0 0 1 5.75 5h12.5A1.75 1.75 0 0 1 20 6.75v10.5A1.75 1.75 0 0 1 18.25 19H5.75A1.75 1.75 0 0 1 4 17.25Z"}),(0,a.jsx)("path",{d:"m8 10 2.5 2L8 14.5"}),(0,a.jsx)("path",{d:"M13 15h3"})]})})]})}function C(e){let{label:t,color:r,count:o,dividerColor:n,collapsed:l,onToggle:s,children:i}=e,c=(0,a.jsxs)("div",{className:"flex items-center gap-2 py-2",children:[(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{background:r}}),(0,a.jsx)("span",{className:"text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-secondary)]",children:t}),(0,a.jsx)("div",{className:"flex-1 border-t",style:{borderColor:null!=n?n:"color-mix(in srgb, ".concat(r," 25%, transparent)")}}),(0,a.jsx)("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:o})]});return"function"==typeof s?(0,a.jsxs)("section",{children:[(0,a.jsxs)("button",{type:"button",className:"flex w-full items-center text-left",onClick:s,children:[(0,a.jsx)("div",{className:"flex-1",children:c}),(0,a.jsx)("span",{className:"ml-2 text-[10px] text-[var(--color-text-tertiary)]",children:l?"▸":"▾"})]}),l?null:i]}):(0,a.jsxs)("section",{children:[c,i]})}let S={error:{label:"Errors",color:"var(--color-status-error)"},rate_limited:{label:"Rate Limited",color:"var(--color-status-attention)"},respond:{label:"Needs Input",color:"var(--color-status-error)"},working:{label:"Working",color:"var(--color-status-working)"},pending:{label:"Waiting",color:"var(--color-status-attention)"},stopped:{label:"Stopped",color:"var(--color-text-tertiary)",dividerColor:"var(--color-border-subtle)"},done:{label:"Completed",color:"var(--color-status-ready)"}};function E(e){let{level:t,projectFilterId:r,rows:o,collapsed:n,onToggle:l,onOpenTerminal:s,onCompleteSession:i,onRestoreSession:c}=e,d=S[t],u=o.map(e=>(0,a.jsx)(N,{deskMemberCount:e.deskMemberCount,projectFilterId:r,session:e.session,onOpenTerminal:s,onCompleteSession:i,onRestoreSession:c},e.session.id));return(0,a.jsx)(C,{label:d.label,color:d.color,count:o.length,dividerColor:d.dividerColor,collapsed:n,onToggle:l?()=>l(t):void 0,children:u})}var M=r(3519);function L(){let[e,t]=(0,o.useState)(!1),[r,a]=(0,o.useState)(!1),[n,l]=(0,o.useState)(!1),s=(0,o.useRef)(null),i=!n&&(e||r);return(0,o.useEffect)(()=>{if(!window.matchMedia("(hover: none) and (pointer: coarse)").matches||!i)return;let e=e=>{var r;let o=e.target;o instanceof Node&&(null!=(r=s.current)&&r.contains(o)||(l(!0),a(!1),t(!1)))};return document.addEventListener("pointerdown",e),()=>{document.removeEventListener("pointerdown",e)}},[i]),{containerRef:s,open:i,onBlur(e){e.currentTarget.contains(e.relatedTarget)||(a(!1),l(!1))},onMouseEnter(){l(!1),t(!0)},onMouseLeave(){l(!1),t(!1)},toggle(){l(!1),a(e=>!e)},dismiss(){l(!0),a(!1)}}}var I=r(6618),P=r(4697);let D=/^\d+\.\d+\.\d+$/;function _(e){if(!D.test(e))return null;let[t,r,a]=e.split(".").map(e=>Number.parseInt(e,10));return[t,r,a]}function T(e){let{current:t,pending:r,status:n,errorMessage:l,onConfirm:s,onCancel:i}=e,c=(0,o.useRef)(null),d=(0,o.useRef)(null);return(0,o.useEffect)(()=>{var e;null==(e=c.current)||e.focus()},[]),(0,o.useEffect)(()=>{let e=document.activeElement instanceof HTMLElement?document.activeElement:null;return()=>{null==e||e.focus()}},[]),(0,o.useEffect)(()=>{let e=e=>{if("Escape"===e.key&&"pending"!==n)return void i();if("Tab"!==e.key)return;let t=d.current;if(!t)return;let r=t.querySelectorAll('button:not([disabled]), [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(0===r.length)return;let a=r[0],o=r[r.length-1];if(!a||!o)return;let l=document.activeElement;if(e.shiftKey){l!==a&&t.contains(l)||(e.preventDefault(),o.focus());return}l===o&&(e.preventDefault(),a.focus())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[i,n]),(0,a.jsx)("div",{"aria-labelledby":"switch-version-dialog-title","aria-modal":"true",className:"fixed inset-0 z-[60] flex items-center justify-center bg-[var(--color-modal-backdrop)]",role:"dialog",onClick:e=>{e.target===e.currentTarget&&"pending"!==n&&i()},children:(0,a.jsxs)("div",{ref:d,className:"w-[min(22rem,calc(100vw-2rem))] border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] p-4 shadow-[0_8px_24px_var(--color-shadow-modal-sm)]",children:[(0,a.jsx)("h2",{className:"mb-2 font-bold text-[var(--color-text-primary)]",id:"switch-version-dialog-title",children:"Switch Spur version"}),(0,a.jsxs)("p",{className:"mb-3 normal-case tracking-normal text-[var(--color-text-secondary)]",children:["Switch from ",(0,a.jsx)("span",{className:"text-[var(--color-text-primary)]",children:t||"?"})," to"," ",(0,a.jsx)("span",{className:"text-[var(--color-text-primary)]",children:r}),"? The Spur daemon will restart. Refresh this page in about 10 seconds."]}),"error"===n&&l?(0,a.jsx)("p",{className:"mb-3 normal-case tracking-normal text-[var(--color-status-attention)]","data-testid":"switch-version-error",children:l}):null,(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,a.jsx)("button",{ref:c,className:"border border-[var(--color-border-default)] px-3 py-1 text-[var(--color-text-secondary)] outline-none transition-colors hover:text-[var(--color-text-primary)] focus-visible:text-[var(--color-text-primary)] disabled:cursor-not-allowed disabled:opacity-50",disabled:"pending"===n,type:"button",onClick:i,children:"Cancel"}),(0,a.jsx)("button",{className:"border border-[var(--color-status-attention)] px-3 py-1 font-bold text-[var(--color-status-attention)] outline-none transition-colors hover:bg-[var(--color-status-attention)] hover:text-[var(--color-bg-elevated)] focus-visible:bg-[var(--color-status-attention)] focus-visible:text-[var(--color-bg-elevated)] disabled:cursor-not-allowed disabled:opacity-50",disabled:"pending"===n,type:"button",onClick:s,children:"pending"===n?"Switching…":"Switch"})]})]})})}function A(e){return"object"==typeof e&&null!==e&&"version"in e&&"string"==typeof e.version}function F(e){return"object"==typeof e&&null!==e&&"string"==typeof e.tag&&"string"==typeof e.publishedAt}function B(){var e,t,r,s,i,c,d,u,p,x,h,m;let v=L(),f=(0,n.jE)(),[g,y]=(0,o.useState)(null),[j,w]=(0,o.useState)(null),k=(0,o.useRef)(null),N=(0,l.I)({queryKey:["runtime","info"],queryFn:async e=>{let{signal:t}=e,r=await fetch("/api/runtime/info",{signal:t});if(!r.ok)throw Error("runtime info ".concat(r.status));let a=await r.json();if(!A(a))throw Error("Unexpected runtime info shape");return a}}),C=(0,l.I)({queryKey:["runtime","versions"],queryFn:async e=>{let{signal:t}=e,r=await fetch("/api/runtime/versions",{signal:t});if(!r.ok)throw Error("runtime versions ".concat(r.status));let a=await r.json();if(!("object"==typeof a&&null!==a&&"string"==typeof a.current&&Array.isArray(a.available)&&a.available.every(F)))throw Error("Unexpected runtime versions shape");return a},staleTime:6e4,refetchOnMount:!0}),S=(0,I.n)({mutationFn:async e=>{var t,r;let a=await fetch("/api/runtime/versions/switch",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({version:e})}),o=await (0,P.Y3)(a);if(202!==a.status||"object"!=typeof o||null===o||!0!==o.accepted||"string"!=typeof o.version){let e=(0,P.$8)(o,"");throw Error((t=a.status,r=e||null,409===t?"Cannot switch — daemon is running from a source checkout.":503===t&&"npm registry unreachable"===r?"npm registry unreachable — try again in a minute.":400===t&&"version not in registry"===r?"Version not available in the npm registry yet.":400===t&&"invalid version"===r?"Version is not a valid semver release.":"Switch failed. Check the daemon log and try again."))}return o},onSuccess:e=>{var t;w({phase:"switching",target:e.version}),y(null),v.dismiss(),null==(t=k.current)||t.focus()}});(0,o.useEffect)(()=>{if((null==j?void 0:j.phase)!=="switching")return;let e=j.target,t=0,r=!1,a=window.setInterval(()=>{(async()=>{t+=1;try{let t=await fetch("/api/runtime/info");if(t.ok){let a=await (0,P.Y3)(t);if(!r&&A(a)&&a.version===e){w({phase:"done",target:e}),await Promise.all([f.invalidateQueries({queryKey:["runtime","info"]}),f.invalidateQueries({queryKey:["runtime","versions"]})]);return}}}catch(e){}!r&&t>=30&&w({phase:"failed",target:e})})()},3e3);return()=>{r=!0,window.clearInterval(a)}},[j,f]);let E=N.isError?"dev":N.data?N.data.version:"…",M=null!=(u=null==(e=C.data)?void 0:e.available)?u:[],D=null!=(x=null!=(p=null==(t=C.data)?void 0:t.current)?p:null==(r=N.data)?void 0:r.version)?x:"",B=null!=(h=null==(s=M[0])?void 0:s.tag)?h:"",R=function(e,t){let r=_(e),a=_(t);return!!r&&!!a&&(r[0]!==a[0]?r[0]>a[0]:r[1]!==a[1]?r[1]>a[1]:r[2]>a[2])}(B,D),{dismiss:q}=v;(0,o.useEffect)(()=>{if(!v.open)return;let e=e=>{"Escape"===e.key&&null===g&&q()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[v.open,q,g]),(0,o.useEffect)(()=>{if((null==j?void 0:j.phase)!=="done")return;let e=window.setTimeout(()=>w(null),1e4);return()=>window.clearTimeout(e)},[j]);let K=(0,o.useCallback)(()=>{S.isPending||(y(null),S.reset())},[S]),O=(0,o.useCallback)(()=>{g&&S.mutate(g)},[g,S]),W=S.isPending?"pending":S.isError?"error":"idle",z=null!=(m=null==(i=S.error)?void 0:i.message)?m:null;return(0,a.jsxs)("div",{ref:v.containerRef,className:"relative",onBlur:v.onBlur,onMouseEnter:v.onMouseEnter,onMouseLeave:v.onMouseLeave,children:[(0,a.jsxs)("button",{ref:k,"aria-expanded":v.open,"aria-haspopup":"true","aria-label":"Show Spur version information",className:"-m-1.5 flex items-center gap-1.5 p-1.5 text-[var(--color-text-secondary)] outline-none transition-colors hover:text-[var(--color-text-primary)] focus-visible:text-[var(--color-text-primary)]",type:"button",onClick:v.toggle,children:[(0,a.jsx)("span",{children:E}),R?(0,a.jsx)("span",{className:"rounded-sm border border-[var(--color-status-attention)] px-1 py-0.5 text-[10px] font-bold leading-none text-[var(--color-status-attention)]","data-testid":"version-update-badge",children:"update available"}):null]}),j?(0,a.jsxs)("div",{"aria-live":"polite",className:"absolute bottom-full right-0 z-50 mb-1.5 flex w-[min(20rem,calc(100vw-1rem))] items-start justify-between gap-2 border bg-[var(--color-bg-elevated)] p-2 shadow-[0_4px_12px_var(--color-shadow-modal-sm)] ".concat("failed"===j.phase?"border-[var(--color-status-error)] text-[var(--color-status-error)]":"border-[var(--color-status-attention)] text-[var(--color-status-attention)]"),"data-testid":"version-switch-status",role:"status",children:[(0,a.jsx)("span",{children:"switching"===j.phase?"Switching Spur to ".concat(j.target,"…"):"done"===j.phase?"Spur is now running ".concat(j.target,"."):"Switch to ".concat(j.target," not confirmed — check ~/.spur/logs/install-and-restart.log.")}),"switching"!==j.phase?(0,a.jsx)("button",{"aria-label":"Dismiss version switch status",className:"font-bold outline-none transition-opacity hover:opacity-70 focus-visible:opacity-70",type:"button",onClick:()=>w(null),children:"\xd7"}):null]}):null,v.open&&!j?(0,a.jsxs)("div",{className:"absolute bottom-full right-0 z-50 mb-1.5 w-[min(20rem,calc(100vw-1rem))] border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] p-2 shadow-[0_4px_12px_var(--color-shadow-modal-sm)]",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-3 border-b border-[var(--color-border-subtle)] pb-2",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Spur"}),(0,a.jsx)("span",{className:"font-bold text-[var(--color-text-primary)]",children:D||E})]}),(null==(c=C.data)?void 0:c.stale)?(0,a.jsx)("div",{className:"mb-2 normal-case tracking-normal text-[var(--color-status-attention)]","data-testid":"version-registry-stale",children:"npm registry unreachable — list may be outdated"}):null,0===M.length?(0,a.jsx)("div",{className:"normal-case tracking-normal text-[var(--color-text-secondary)]",children:(null==(d=C.data)?void 0:d.registryError)?"npm registry unreachable":"No releases available"}):(0,a.jsx)("ul",{className:"flex max-h-48 flex-col gap-1 overflow-y-auto",children:M.map(e=>{let t=e.tag===D,r=e.tag===B;return(0,a.jsxs)("li",{className:"flex items-center justify-between gap-3 normal-case tracking-normal","data-current":t?"true":void 0,children:[(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[var(--color-text-secondary)]",children:[(0,a.jsx)("span",{className:"font-bold text-[var(--color-text-primary)]",children:e.tag}),t?(0,a.jsx)("span",{className:"text-[var(--color-text-tertiary)]",children:"current"}):null,!t&&r&&R?(0,a.jsx)("span",{className:"text-[var(--color-status-attention)]",children:"latest"}):null]}),(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-tertiary)]",children:(0,b.fw)(e.publishedAt)}),t?null:(0,a.jsx)("button",{"aria-label":"Switch Spur to ".concat(e.tag),className:"border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] font-bold text-[var(--color-text-secondary)] outline-none transition-colors hover:text-[var(--color-text-primary)] focus-visible:text-[var(--color-text-primary)] disabled:cursor-not-allowed disabled:opacity-50","data-testid":"switch-version-".concat(e.tag),disabled:S.isPending,type:"button",onClick:()=>{w(null),S.reset(),y(e.tag)},children:"Switch"})]})]},e.tag)})})]}):null,null!==g?(0,a.jsx)(T,{current:D,errorMessage:z,pending:g,status:W,onCancel:K,onConfirm:O}):null]})}function R(e,t){let{data:r}=(0,l.I)({queryKey:["platform-status",e],queryFn:async r=>{let{signal:a}=r,o=await fetch(e,{signal:a});return o.ok?await o.json():{ok:!1,error:"".concat(t," (").concat(o.status,")"),requestedAt:null,configured:!0}},refetchInterval:12e4,refetchIntervalInBackground:!1,staleTime:12e4});return null!=r?r:null}function q(e){return"error"===e?"var(--color-status-error)":"attention"===e?"var(--color-status-attention)":"ready"===e?"var(--color-status-ready)":"var(--color-text-tertiary)"}function K(e,t){return"disk"===e?t>=85?"error":"ready":t>=85?"attention":"ready"}function O(e){let{level:t}=e,r=q(t);return(0,a.jsx)("span",{"aria-hidden":"true",className:"h-1.5 w-1.5 shrink-0 rounded-full",style:{backgroundColor:r,boxShadow:"0 0 4px ".concat(r)}})}function W(e){let{label:t,level:r,value:o}=e;return(0,a.jsxs)("div",{className:"flex items-center justify-between gap-4",children:[(0,a.jsxs)("span",{className:"flex items-center gap-2 text-[var(--color-text-secondary)]",children:[(0,a.jsx)(O,{level:r}),(0,a.jsx)("span",{children:t})]}),(0,a.jsx)("span",{"aria-label":"".concat(t," ").concat(o," ").concat("error"===r?"critical":"attention"===r?"warning":"ready"===r?"healthy":"unavailable"),className:"font-bold",style:{color:q(r)},children:o})]})}function z(e){return null===e?"Checking":e.ok?"Healthy":"Error"}function Q(e){let{platform:t,status:r}=e,o=L(),n="github"===t?"GitHub":"GitLab",l="github"===t?f.Nb:f.xD,s=null===r?"unknown":r.ok?"ready":"error",i=z(r).toLowerCase();return(0,a.jsxs)("div",{ref:o.containerRef,className:"relative",onBlur:o.onBlur,onMouseEnter:o.onMouseEnter,onMouseLeave:o.onMouseLeave,children:[(0,a.jsxs)("button",{"aria-expanded":o.open,"aria-label":"".concat(n," connection ").concat(i),className:"-m-1.5 flex items-center gap-1.5 p-1.5 text-[var(--color-text-secondary)] outline-none transition-colors hover:text-[var(--color-text-primary)] focus-visible:text-[var(--color-text-primary)]",type:"button",onClick:o.toggle,children:[(0,a.jsx)(l,{}),(0,a.jsx)(O,{level:s})]}),o.open?(0,a.jsxs)("div",{className:"absolute bottom-full left-0 z-50 mb-1.5 min-w-[180px] border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] p-2 shadow-[0_4px_12px_var(--color-shadow-modal-sm)]",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-3 border-b border-[var(--color-border-subtle)] pb-2",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:n}),(0,a.jsx)("span",{className:"font-bold",style:{color:q(s)},children:z(r)})]}),(0,a.jsx)("div",{className:"normal-case tracking-normal text-[var(--color-text-secondary)]",onClick:o.dismiss,children:null===r?"Checking authentication and API availability.":r.ok?(0,a.jsxs)(a.Fragment,{children:["Last request: ",(0,b.eB)(r.requestedAt)]}):r.error})]}):null]})}function U(){let e=R("/api/github-status","GitHub status unavailable"),t=R("/api/gitlab-status","GitLab status unavailable"),r=function(){let{data:e}=(0,l.I)({queryKey:["runtime","resources"],queryFn:async e=>{let{signal:t}=e,r=await fetch("/api/runtime/resources",{signal:t});if(!r.ok)return{available:!1};let a=await r.json();return a.available&&Number.isFinite(a.cpuPercent)&&Number.isFinite(a.memoryPercent)&&Number.isFinite(a.diskPercent)?a:{available:!1}},refetchInterval:15e3,refetchIntervalInBackground:!0,staleTime:15e3});return null!=e?e:{available:!1}}(),n=function(){let{data:e,status:t,isError:r}=(0,l.I)({queryKey:["sessions"],queryFn:M.hT});return!r&&("pending"===t&&void 0===e?void 0:void 0!==e?!1!==e.daemonAlive:void 0)}(),s=function(){let{data:e}=(0,l.I)({queryKey:["sessions"],queryFn:M.hT});return(0,o.useMemo)(()=>{var t,r,a;let o=new Set;for(let n of null!=(t=null==e?void 0:e.sessions)?t:[])for(let e of null!=(a=null==(r=n.slots)?void 0:r.links)?a:[]){if(!(0,f.do)(e.label))continue;let t=(0,f.tS)(e.url);t&&o.add(t)}return o},[null==e?void 0:e.sessions])}(),i=L(),c=function(e,t){if(!1===t)return"error";if(void 0===t)return"unknown";if(!e.available)return"ready";let r=K("cpu",e.cpuPercent),a=K("memory",e.memoryPercent);return"error"===K("disk",e.diskPercent)?"error":"attention"===r||"attention"===a?"attention":"ready"}(r,n),d=void 0===n?"unknown":n?"ready":"error",u=void 0===n?"unavailable":n?"online":"offline",p="error"===c?"Critical":"attention"===c?"Warning":"ready"===c?"Healthy":"Unavailable",x=null===e||!0===e.configured||s.has("github"),h=null===t||!0===t.configured||s.has("gitlab");return(0,a.jsxs)("footer",{className:"fixed bottom-0 left-0 right-0 z-40 flex min-h-6 flex-wrap items-center gap-x-3 gap-y-1 border-t border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2 py-1 text-[10px] uppercase tracking-[0.08em] sm:px-4",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-3 gap-y-1 sm:gap-x-6",children:[(0,a.jsxs)("div",{ref:i.containerRef,className:"group/status relative",onBlur:i.onBlur,onMouseEnter:i.onMouseEnter,onMouseLeave:i.onMouseLeave,children:[(0,a.jsxs)("button",{"aria-expanded":i.open,"aria-label":"Show aggregated system status",className:"-m-1.5 flex items-center gap-1.5 p-1.5 text-[var(--color-text-secondary)] outline-none transition-colors hover:text-[var(--color-text-primary)] focus-visible:text-[var(--color-text-primary)]","data-status":c,type:"button",onClick:i.toggle,children:[(0,a.jsx)(f.np,{}),(0,a.jsx)(O,{level:c})]}),i.open?(0,a.jsxs)("div",{className:"absolute bottom-full left-0 z-50 mb-1.5 w-[min(16rem,calc(100vw-1rem))] border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] p-2 shadow-[0_4px_12px_var(--color-shadow-modal-sm)]",onClick:i.dismiss,children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-3 border-b border-[var(--color-border-subtle)] pb-2",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"System"}),(0,a.jsx)("span",{className:"font-bold",style:{color:q(c)},children:p})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(W,{label:"Daemon",level:d,value:u}),(0,a.jsx)(W,{label:"CPU",level:r.available?K("cpu",r.cpuPercent):"unknown",value:r.available?"".concat(r.cpuPercent,"%"):"unavailable"}),(0,a.jsx)(W,{label:"RAM",level:r.available?K("memory",r.memoryPercent):"unknown",value:r.available?"".concat(r.memoryPercent,"%"):"unavailable"}),(0,a.jsx)(W,{label:"HDD",level:r.available?K("disk",r.diskPercent):"unknown",value:r.available?"".concat(r.diskPercent,"%"):"unavailable"})]})]}):null]}),x?(0,a.jsx)(Q,{platform:"github",status:e}):null,h?(0,a.jsx)(Q,{platform:"gitlab",status:t}):null]}),(0,a.jsx)("div",{className:"ml-auto shrink-0 text-[var(--color-text-tertiary)]",children:(0,a.jsx)(B,{})})]})}function J(e){let{message:t}=e;return(0,a.jsxs)("div",{className:"flex flex-col items-center justify-center rounded-sm border border-dashed border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-6 py-10 text-center",children:[(0,a.jsx)("div",{className:"mb-4 flex h-10 w-10 items-center justify-center rounded-sm border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] text-xl",children:"\uD81A\uDD13"}),(0,a.jsx)("p",{className:"max-w-xl text-sm leading-6 text-[var(--color-text-secondary)]",children:null!=t?t:"No Spur sessions are visible yet. Start one with `spur spawn <project>` and it will appear here."})]})}var H=r(5135),Z=r(30),$=r(9085),V=r(7069),G=r(8701),Y=r(5829),X=r(8994),ee=r(1795),et=r(7693),er=r(7840),ea=r(8960),eo=r(418),en=r(6049);function el(e){return e.normalize("NFKD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9./-]+/g,"-").split("/").map(e=>e.replace(/-{2,}/g,"-").replace(/\.{2,}/g,".").replace(/^[-.]+|[-.]+$/g,"").replace(/(\.lock)+$/,"").replace(/[-.]+$/g,"")).filter(e=>e.length>0).join("/")}var es=r(7094),ei=r(5342);function ec(e){var t;let{catalog:r,value:n,onChange:l}=e,[s,i]=(0,o.useState)(!1),c=n&&null!=(t=r.find(e=>e.name===n))?t:null;return(0,a.jsxs)("div",{className:"relative inline-flex shrink-0",children:[(0,a.jsxs)("button",{"aria-label":"Filter by tag",className:"flex items-center gap-1.5 border px-2 py-1.5 uppercase transition ".concat(c?"border-[var(--color-accent)] bg-[var(--color-accent)]/10":"border-[var(--color-border-default)] bg-[var(--color-bg-surface)] hover:border-[var(--color-text-tertiary)]"),onClick:()=>i(e=>!e),type:"button",children:[c?null:(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5 text-[var(--color-text-tertiary)]",fill:"none",stroke:"currentColor",strokeWidth:"1.8",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M3 5h18M6 12h12M10 19h4"})}),(0,a.jsx)("span",{className:"text-[var(--color-text-primary)]",children:c?c.name:"Tags"}),(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3 w-3 text-[var(--color-text-tertiary)]",fill:"none",stroke:"currentColor",strokeWidth:"2",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m6 9 6 6 6-6"})})]}),s?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{"aria-hidden":"true",className:"fixed inset-0 z-20 cursor-default",onClick:()=>i(!1),tabIndex:-1,type:"button"}),(0,a.jsxs)("div",{className:"absolute left-0 top-full z-30 mt-1 max-h-72 w-44 overflow-y-auto border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] py-1 shadow-lg",children:[(0,a.jsx)("button",{className:"block w-full px-2 py-1.5 text-left text-[10px] uppercase tracking-[0.08em] transition hover:bg-[var(--color-hover-overlay)] ".concat(c?"text-[var(--color-text-secondary)]":"text-[var(--color-text-primary)]"),onClick:()=>{l(null),i(!1)},type:"button",children:"All tags"}),r.map(e=>(0,a.jsx)("button",{className:"flex w-full items-center px-2 py-1.5 text-left transition hover:bg-[var(--color-hover-overlay)]",onClick:()=>{l(e.name),i(!1)},type:"button",children:(0,a.jsx)("span",{className:"inline-flex items-center border p-1.5 text-[9px] uppercase leading-none tracking-[0.06em]",style:m(e.color),children:e.name})},e.name))]})]}):null]})}let ed=new Set(y.HO),eu=["stopped"],ep="spur:last-spawn-project",ex="spur:tag-filter",eh="inline-flex h-7 w-7 shrink-0 items-center justify-center bg-transparent text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)]",em="spur:mobile-collapsed-categories",ev="spur-shepherd";function eb(){let e=window.localStorage.getItem(em);if(!e)return new Set(eu);try{let t=JSON.parse(e);if(!Array.isArray(t))return new Set;return new Set(t.filter(e=>ed.has(e)))}catch(e){return new Set}}function ef(e){let{icon:t,label:r,value:o,color:n,active:l,onClick:s}=e;return(0,a.jsxs)("button",{className:"flex min-w-0 flex-row items-center justify-center gap-1.5 border px-1.5 py-0.5 transition sm:justify-start sm:shrink-0 ".concat(l?"border-[var(--color-accent)] bg-[var(--color-accent)]/10":"border-transparent hover:border-[var(--color-border-default)]"),onClick:s,type:"button",children:[(0,a.jsx)("span",{style:n?{color:n}:void 0,children:t}),(0,a.jsxs)("span",{className:"hidden min-w-0 truncate text-[var(--color-text-secondary)] sm:inline",children:[r,":"]}),(0,a.jsx)("span",{className:"font-bold text-[var(--color-text-primary)]",style:n?{color:n}:void 0,children:o})]})}function eg(e){let{items:t,projectNameMap:r,takingKey:o,onTake:n}=e;return 0===t.length?null:(0,a.jsx)(C,{label:"Backlog",color:"var(--color-status-attention)",count:t.length,children:t.map(e=>{var t;let l="".concat(e.projectId,":").concat(e.backlogId,":").concat(e.externalId);return(0,a.jsxs)(u,{children:[(0,a.jsxs)("a",{className:"flex min-w-0 flex-1 items-center gap-2 truncate text-[var(--color-text-secondary)] transition hover:text-[var(--color-text-primary)] hover:no-underline",href:e.url,rel:"noreferrer",target:"_blank",children:[(0,a.jsx)("span",{"aria-label":eP[e.provider],className:"flex shrink-0 items-center text-[var(--color-text-tertiary)]",role:"img",title:eP[e.provider],children:eI[e.provider]}),(0,a.jsx)("span",{className:"shrink-0 font-semibold uppercase text-[var(--color-text-primary)]",children:e.key}),(0,a.jsx)("span",{className:"min-w-0 truncate",children:e.title})]}),(0,a.jsx)("span",{className:"hidden w-[7rem] shrink-0 truncate text-right text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)] sm:inline",children:null!=(t=r.get(e.projectId))?t:e.projectId}),(0,a.jsx)(p,{activeClass:"border-[var(--color-border-default)] text-[var(--color-text-secondary)] hover:border-[var(--color-accent)] hover:text-[var(--color-accent)]",disabled:null!==o,label:"Take task",onClick:()=>void n(e),children:(0,a.jsx)("span",{className:o===l?"animate-pulse":void 0,children:(0,a.jsx)(eL,{})})})]},l)})})}function ey(){return(0,a.jsx)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:(0,a.jsx)("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}function ej(){return(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("path",{d:"M10.3 3.9 1.8 18a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 3.9a2 2 0 0 0-3.4 0z"}),(0,a.jsx)("path",{d:"M12 9v4"}),(0,a.jsx)("path",{d:"M12 17h.01"})]})}function ew(){return(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,a.jsx)("path",{d:"M12 6v6l4 2"})]})}function ek(){return(0,a.jsx)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",children:(0,a.jsx)("path",{d:"M13 2 3 14h9l-1 8 10-12h-9l1-8z"})})}function eN(){return(0,a.jsx)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("path",{d:"M20 6 9 17l-5-5"})})}function eC(){return(0,a.jsx)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:(0,a.jsx)("rect",{x:"5",y:"5",width:"14",height:"14"})})}function eS(){return(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M12 20h9"}),(0,a.jsx)("path",{d:"M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z"})]})}function eE(){return(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("rect",{x:"6",y:"8",width:"12",height:"10"}),(0,a.jsx)("path",{d:"M9 8V5"}),(0,a.jsx)("path",{d:"M15 8V5"}),(0,a.jsx)("circle",{cx:"10",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),(0,a.jsx)("circle",{cx:"14",cy:"13",r:"1",fill:"currentColor",stroke:"none"}),(0,a.jsx)("path",{d:"M10 16h4"}),(0,a.jsx)("path",{d:"M4 12h2"}),(0,a.jsx)("path",{d:"M18 12h2"})]})}function eM(){return(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,a.jsx)("path",{d:"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6"}),(0,a.jsx)("path",{d:"M10 11v6"}),(0,a.jsx)("path",{d:"M14 11v6"}),(0,a.jsx)("path",{d:"M9 6V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2"})]})}function eL(){return(0,a.jsxs)("svg",{className:"h-3.5 w-3.5",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,a.jsx)("path",{d:"M12 5v14"}),(0,a.jsx)("path",{d:"M5 12h14"})]})}let eI={jira:(0,a.jsx)(f.cJ,{})},eP={jira:"Jira"};function eD(){return window.location.search}function e_(e,t){if("worktree"===e){let e=t.trim();return e?{worktree:!0,defaultBranch:e}:{worktree:!0}}if("shared"===e)return{worktree:!1}}function eT(e,t){return"shepherd"===e.kind?-1:"shepherd"===t.kind?1:e.name.localeCompare(t.name,void 0,{sensitivity:"base"})}function eA(e){let{activeProjectName:t,projects:r,selectedProjectId:o,onSelectProject:n,onNewProject:l,onEdit:s}=e,i=L();return(0,a.jsxs)("div",{ref:i.containerRef,className:"relative",onBlur:i.onBlur,onMouseEnter:i.onMouseEnter,onMouseLeave:i.onMouseLeave,children:[(0,a.jsxs)("button",{"aria-expanded":i.open,"aria-haspopup":"menu","aria-label":"Project filter: ".concat(t),className:"inline-flex min-w-0 max-w-full items-center gap-3 text-[var(--color-text-primary)] transition hover:text-[var(--color-accent)]",type:"button",onClick:i.toggle,children:[(0,a.jsx)("span",{className:"text-xl text-[var(--color-accent)]",children:"\uD81A\uDD13"}),(0,a.jsxs)("span",{className:"inline-flex min-w-0 max-w-full items-center gap-1 text-xl font-bold uppercase tracking-[-0.02em] sm:text-2xl",children:[(0,a.jsx)("span",{className:"block min-w-0 truncate",children:t}),(0,a.jsx)("svg",{"aria-hidden":"true","data-testid":"project-filter-chevron",className:"pointer-events-none mt-px h-4 w-4 shrink-0",fill:"currentColor",viewBox:"0 0 16 16",children:(0,a.jsx)("path",{d:"M4 6.5 8 10.5 12 6.5Z"})})]})]}),i.open?(0,a.jsxs)("div",{className:"absolute left-0 top-full z-50 mt-1 min-w-[260px] max-w-[calc(100vw-1rem)] border border-[var(--color-border-default)] bg-[var(--color-bg-elevated)] p-2 shadow-[0_4px_12px_var(--color-shadow-modal-sm)]",role:"menu",children:[(0,a.jsxs)("button",{"aria-checked":""===o,className:"mb-1 flex w-full items-center gap-2 border px-2 py-1.5 text-left font-bold uppercase transition hover:border-[var(--color-accent)] hover:bg-[var(--color-accent)]/20 hover:text-[var(--color-accent)] ".concat(""===o?"border-[var(--color-accent)] bg-[var(--color-accent)]/10 text-[var(--color-accent)] hover:bg-[var(--color-accent)]/25":"border-transparent text-[var(--color-text-primary)]"),onClick:()=>{i.dismiss(),n("")},role:"menuitemradio",type:"button",children:[(0,a.jsx)("span",{"aria-hidden":"true",className:"w-3 text-center",children:""===o?"✓":""}),(0,a.jsx)("span",{children:"All Projects"})]}),0===r.length?(0,a.jsx)("p",{className:"px-2 py-1.5 text-[var(--color-text-tertiary)]",children:"No projects yet."}):(0,a.jsx)("ul",{className:"flex flex-col",role:"group",children:r.map(e=>(0,a.jsxs)("li",{role:"none",className:"group flex items-center gap-2 border-t border-[var(--color-border-subtle)] py-1.5 transition hover:bg-[var(--color-accent)]/10",children:[e.configured?(0,a.jsxs)("button",{"aria-checked":o===e.id,className:"flex min-w-0 flex-1 items-center gap-2 border px-2 py-1.5 text-left transition hover:border-[var(--color-accent)] hover:bg-[var(--color-accent)]/20 hover:text-[var(--color-accent)] ".concat(o===e.id?"border-[var(--color-accent)] bg-[var(--color-accent)]/10 text-[var(--color-accent)] hover:bg-[var(--color-accent)]/25":"border-transparent text-[var(--color-text-primary)]"),onClick:()=>{i.dismiss(),n(e.id)},role:"menuitemradio",type:"button",children:[(0,a.jsx)("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-center",children:o===e.id?"✓":""}),(0,a.jsx)("span",{className:"min-w-0 truncate",children:e.name}),"shepherd"===e.kind?(0,a.jsx)("span",{className:"shrink-0 border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] uppercase text-[var(--color-text-tertiary)]",children:"built-in"}):null]}):(0,a.jsx)("span",{className:"min-w-0 flex-1 truncate text-[var(--color-text-primary)]",children:e.name}),"shepherd"!==e.kind||e.configured?null:(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] uppercase text-[var(--color-text-tertiary)]",children:"built-in"}),e.configured?null:(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] uppercase text-[var(--color-text-tertiary)]",children:"unconfigured"}),(0,a.jsx)("button",{"aria-label":"Edit ".concat(e.name),className:"border border-transparent px-1.5 py-1 text-[var(--color-text-tertiary)] transition group-hover:border-[var(--color-border-subtle)] group-hover:bg-[var(--color-accent)]/15 hover:border-[var(--color-border-strong)] hover:bg-[var(--color-accent)]/20 hover:text-[var(--color-accent)]",onClick:()=>{i.dismiss(),s(e)},role:"menuitem",type:"button",children:(0,a.jsx)(eS,{})})]},e.id))}),(0,a.jsx)("button",{className:"mt-2 w-full bg-[var(--color-accent)] px-2 py-1.5 text-left font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)]",onClick:()=>{i.dismiss(),l()},role:"menuitem",type:"button",children:"+ New project"})]}):null]})}function eF(e){let{displayName:t,prefix:r,path:n,error:l,missingPath:s,submitting:i,onDisplayNameChange:c,onPrefixChange:d,onPathChange:u,onSubmit:p,onCreateFolder:x,onClose:h}=e;return(0,o.useEffect)(()=>{let e=e=>{"Escape"===e.key&&(e.preventDefault(),h())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[h]),(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)]",onClick:e=>{e.target===e.currentTarget&&h()},children:(0,a.jsxs)("div",{className:"flex w-full max-h-[calc(100vh-1rem)] flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:max-h-[calc(100vh-2rem)] sm:w-full sm:max-w-md sm:p-5",onKeyDown:e=>{"Enter"===e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),p())},children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-sm font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",children:"New project"}),(0,a.jsx)("button",{className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:h,type:"button",children:"✕"})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Display name"}),(0,a.jsx)("input",{"aria-label":"Project display name",autoFocus:!0,className:et.s,onChange:e=>c(e.target.value),placeholder:"e.g. Spur Web",value:t})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Session prefix"}),(0,a.jsx)("input",{"aria-label":"Project session prefix",className:et.s,onChange:e=>d(e.target.value),placeholder:"letters, digits, _ or -",value:r})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Project path"}),(0,a.jsx)("input",{"aria-label":"Project path",className:et.s,onChange:e=>u(e.target.value),placeholder:"/absolute/path/to/repo",value:n})]}),l?(0,a.jsx)("p",{className:"mb-3 border border-[var(--color-status-error)] bg-[var(--color-status-error)]/10 px-2.5 py-1.5 text-[var(--color-status-error)]",role:"alert",children:l}):null,s?(0,a.jsxs)("div",{className:"mb-3 flex flex-col gap-2 border border-[var(--color-status-attention)] bg-[var(--color-status-attention)]/10 px-2.5 py-1.5 text-[var(--color-status-attention)]",role:"alert",children:[(0,a.jsx)("span",{children:"Folder doesn't exist. Create it?"}),(0,a.jsx)("button",{className:"self-start bg-[var(--color-accent)] px-3 py-1 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:cursor-not-allowed disabled:opacity-60",disabled:i,onClick:x,type:"button",children:"Create folder & continue"})]}):null,(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)("button",{className:"border border-[var(--color-border-default)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-secondary)] transition hover:text-[var(--color-text-primary)]",onClick:h,type:"button",children:"Cancel"}),(0,a.jsx)("button",{className:"bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:cursor-not-allowed disabled:opacity-60",disabled:i,onClick:p,type:"button",children:i?"Creating…":"Create"})]})]})})}function eB(e){let{project:t,displayName:r,prefix:n,path:l,error:s,submitting:i,deleting:c,onDisplayNameChange:d,onPrefixChange:u,onPathChange:p,onSubmit:x,onDelete:h,onClose:m}=e,v=!t.configured&&"shepherd"!==t.kind,b="shepherd"!==t.kind,[f,g]=(0,o.useState)(!1),y=t.configured?"Disconnect":"Delete";return(0,o.useEffect)(()=>{let e=e=>{if("Escape"===e.key){if(e.preventDefault(),f)return void g(!1);m()}};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[f,m]),(0,o.useEffect)(()=>{g(!1)},[t.id]),(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)]",onClick:e=>{e.target===e.currentTarget&&m()},children:(0,a.jsxs)("div",{"aria-labelledby":"edit-project-title","aria-modal":"true",className:"flex w-full max-h-[calc(100vh-1rem)] flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:max-h-[calc(100vh-2rem)] sm:w-full sm:max-w-md sm:p-5",role:"dialog",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-sm font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",id:"edit-project-title",children:"Project settings"}),(0,a.jsx)("button",{className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:m,type:"button",children:"✕"})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Display name"}),(0,a.jsx)("input",{"aria-label":"Edit project display name",className:et.s,disabled:!v,onChange:e=>d(e.target.value),value:r})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Session prefix"}),(0,a.jsx)("input",{"aria-label":"Edit project session prefix",className:et.s,disabled:!v,onChange:e=>u(e.target.value),value:n})]}),(0,a.jsxs)("label",{className:"mb-3 flex flex-col gap-1",children:[(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:"Project path"}),(0,a.jsx)("input",{"aria-label":"Edit project path",className:et.s,disabled:!v,onChange:e=>p(e.target.value),value:l})]}),t.configured?(0,a.jsx)("p",{className:"mb-3 text-[var(--color-text-tertiary)]",children:"Configured projects are edited in spur.yaml."}):null,"shepherd"===t.kind?(0,a.jsx)("p",{className:"mb-3 text-[var(--color-text-tertiary)]",children:"Shepherd is built in and cannot be edited or deleted."}):null,s?(0,a.jsx)("p",{className:"mb-3 text-[var(--color-status-error)]",children:s}):null,f?(0,a.jsxs)("div",{className:"mb-3 flex flex-col gap-2 border border-[var(--color-status-error)] bg-[var(--color-status-error)]/10 px-2.5 py-1.5 text-[var(--color-status-error)]",role:"alert",children:[(0,a.jsx)("span",{children:t.configured?"Disconnect ".concat(t.name,"? Spur will stop tracking its spur.yaml."):"Delete ".concat(t.name,"?")}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsxs)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-secondary)] transition hover:text-[var(--color-text-primary)]",disabled:c,onClick:()=>g(!1),type:"button",children:["Cancel ",y]}),(0,a.jsxs)("button",{className:"inline-flex items-center gap-1.5 border border-[var(--color-status-error)] px-3 py-1.5 font-bold uppercase text-[var(--color-status-error)] transition hover:bg-[var(--color-bg-surface)] disabled:cursor-not-allowed disabled:opacity-60",disabled:c,onClick:h,type:"button",children:[(0,a.jsx)(eM,{}),c?"Deleting…":"Confirm ".concat(y)]})]})]}):null,(0,a.jsxs)("div",{className:"mt-auto flex flex-wrap items-center justify-between gap-2 pt-2",children:[b?(0,a.jsxs)("button",{className:"inline-flex items-center gap-1.5 border border-[var(--color-status-error)] px-3 py-1.5 font-bold uppercase text-[var(--color-status-error)] transition hover:bg-[var(--color-bg-surface)] disabled:cursor-not-allowed disabled:opacity-60",disabled:c||f,onClick:()=>g(!0),type:"button",children:[(0,a.jsx)(eM,{}),y]}):(0,a.jsx)("span",{}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-secondary)] transition hover:text-[var(--color-text-primary)]",onClick:m,type:"button",children:"Cancel"}),v?(0,a.jsx)("button",{className:"bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:cursor-not-allowed disabled:opacity-60",disabled:i,onClick:x,type:"button",children:i?"Saving…":"Save"}):null]})]})]})})}function eR(){var e,t,r,c,d;let[u,p]=(0,o.useState)(eD),x=function(e){let t="(max-width: ".concat(767,"px)"),[r,a]=(0,o.useState)(!1);return(0,o.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia(t);a(e.matches);let r=e=>{a(e.matches)};return"function"==typeof e.addEventListener?(e.addEventListener("change",r),()=>e.removeEventListener("change",r)):(e.addListener(r),()=>e.removeListener(r))},[t]),r}(0),[m,v]=(0,o.useState)(()=>{var e,t;return null!=(t=null==(e=new URLSearchParams(eD()).get("project"))?void 0:e.trim())?t:""}),{toasts:b,showErrorToast:f,dismissToast:j}=(0,ea.Y)(),[w,k]=(0,o.useState)(null),[N,C]=(0,o.useState)(!1),[S,M]=(0,o.useState)(""),[L,I]=(0,o.useState)(""),[D,_]=(0,o.useState)(null),[T,A]=(0,o.useState)(""),[F,B]=(0,o.useState)("claude"),[R,q]=(0,o.useState)(null),[K,O]=(0,o.useState)(""),[W,z]=(0,o.useState)(null),[Q,ed]=(0,o.useState)(!1),[eu,eS]=(0,o.useState)(!1),[eM,eL]=(0,o.useState)(""),[eI,eP]=(0,o.useState)([]),[eR,eq]=(0,o.useState)("default"),[eK,eO]=(0,o.useState)(""),[eW,ez]=(0,o.useState)([]),[eQ,eU]=(0,o.useState)(!1),eJ=(0,o.useRef)(!1),[eH,eZ]=(0,o.useState)(null),[e$,eV]=(0,o.useState)(!1),eG=(0,o.useRef)(null),eY=(0,o.useRef)(null),eX=(0,er.u)("spur:input-history:spawn-prompt"),e0=(0,eo.C)({contextKey:"spawn",onTranscribed:e=>A(t=>t.trim()?"".concat(t,"\n").concat(e):e)}),e1=(0,eo.C)({contextKey:"dashboard-search",onTranscribed:M}),[e2,e5]=(0,o.useState)(eb),e4=(0,o.useCallback)(e=>{e5(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),window.localStorage.setItem(em,JSON.stringify([...r])),r})},[]),[e3,e6]=(0,o.useState)(null),[e8,e7]=(0,o.useState)(()=>{var e;return(null==(e=window.localStorage.getItem(ex))?void 0:e.trim())||null});(0,o.useEffect)(()=>{e8?window.localStorage.setItem(ex,e8):window.localStorage.removeItem(ex)},[e8]);let e9=e=>e6(t=>t===e?null:e),[te,tt]=(0,o.useState)(!1),[tr,ta]=(0,o.useState)(""),[to,tn]=(0,o.useState)(""),[tl,ts]=(0,o.useState)(""),[ti,tc]=(0,o.useState)(null),[td,tu]=(0,o.useState)(null),[tp,tx]=(0,o.useState)(!1),[th,tm]=(0,o.useState)(null),[tv,tb]=(0,o.useState)(""),[tf,tg]=(0,o.useState)(""),[ty,tj]=(0,o.useState)(""),[tw,tk]=(0,o.useState)(null),[tN,tC]=(0,o.useState)(!1),[tS,tE]=(0,o.useState)(!1),[tM,tL]=(0,o.useState)(null);(0,o.useEffect)(()=>{let e=()=>p(eD());return e(),window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[]),(0,o.useEffect)(()=>{if(!e$)return;let e=e=>{"Escape"===e.key&&(e.preventDefault(),eV(!1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[e$]);let tI=(0,o.useMemo)(()=>{var e,t;return null!=(t=null==(e=new URLSearchParams(u).get("project"))?void 0:e.trim())?t:""},[u]),tP=(0,o.useMemo)(()=>(0,g.qZ)(new URLSearchParams(u)),[u]);(0,o.useEffect)(()=>{v(tI)},[tI]);let tD=(0,n.jE)(),t_=["sessions"],{data:tT,isPending:tA,error:tF}=(0,l.I)({queryKey:t_,queryFn:async e=>{let{signal:t}=e,r=await fetch("/api/sessions",{signal:t});if(!r.ok)throw Error("sessions ".concat(r.status));return await r.json()},refetchInterval:5e3,refetchIntervalInBackground:!0,placeholderData:e=>e}),tB=null!=(t=null==tT?void 0:tT.sessions)?t:[],tR=null!=(r=null==tT?void 0:tT.backlog)?r:[],tq=null!=(c=null==tT?void 0:tT.projects)?c:[],tK=(0,o.useMemo)(()=>{var e;return null!=(e=null==tT?void 0:tT.tags)?e:[]},[null==tT?void 0:tT.tags]),tO=(0,o.useRef)(null);(0,o.useEffect)(()=>{if(!tF){let e=tO.current;e&&(j(e.id),tO.current=null);return}let e=(0,P.gJ)(tF,"Failed to load Spur sessions"),t=tO.current;(null==t?void 0:t.message)!==e&&(t&&j(t.id),tO.current={id:f(e),message:e})},[j,tF,f]);let tW=(0,o.useMemo)(()=>[...tq].sort(eT),[tq]),tz=(0,o.useMemo)(()=>(function(e,t){let r=new Map(e.map(e=>[e.id,e.name]));for(let e of t)r.has(e.project)||r.set(e.project,e.project);return r})(tq,tB),[tq,tB]),tQ=(0,o.useMemo)(()=>tB.map(e=>(0,y.MH)(e,tz.get(e.project))),[tz,tB]),tU=(0,o.useMemo)(()=>m?tQ.filter(e=>e.projectId===m):tQ,[tQ,m]),tJ=(0,o.useMemo)(()=>{let e=new Set(tU.flatMap(e=>e.tags));return tK.filter(t=>e.has(t.name))},[tU,tK]),tH=(0,o.useMemo)(()=>{if(!e8)return tU;let e=new Set(tU.filter(e=>e.tags.includes(e8)).map(e=>e.deskKey));return tU.filter(t=>e.has(t.deskKey))},[tU,e8]),tZ=(0,o.useMemo)(()=>{let e=S.trim().toLowerCase();if(!e)return tH;let t=new Set(tH.filter(t=>{var r,a;return t.id.toLowerCase().includes(e)||(null!=(r=t.title)?r:"").toLowerCase().includes(e)||t.prompt.toLowerCase().includes(e)||t.projectName.toLowerCase().includes(e)||(null!=(a=t.branch)?a:"").toLowerCase().includes(e)}).map(e=>e.deskKey));return tH.filter(e=>t.has(e.deskKey))},[tH,S]),t$=(0,o.useMemo)(()=>{let e=S.trim().toLowerCase();return tR.filter(t=>(!m||t.projectId===m)&&(!e||t.key.toLowerCase().includes(e)||t.title.toLowerCase().includes(e)||t.projectId.toLowerCase().includes(e)))},[tR,m,S]),tV=(0,o.useMemo)(()=>(0,y.O1)(tZ),[tZ]),tG=(0,o.useMemo)(()=>{let e={error:[],rate_limited:[],respond:[],working:[],pending:[],stopped:[],done:[]};for(let t of tV)e[t.lane].push(t);return e},[tV]),tY=(0,o.useMemo)(()=>({error:tG.error.length,rate_limited:tG.rate_limited.length,respond:tG.respond.length,working:tG.working.length,pending:tG.pending.length,stopped:tG.stopped.length,done:tG.done.length}),[tG]),tX=(0,o.useMemo)(()=>y.HO.filter(e=>tG[e].length>0&&(null===e3?"done"!==e:e===e3)),[e3,tG]),t0=m.length>0||S.trim().length>0||null!==e3||null!==e8,t1=tX.length>0,t2=null===e3&&t$.length>0,t5=m?null!=(d=null==(e=tW.find(e=>e.id===m))?void 0:e.name)?d:m:"All Projects",t4=t0?"No sessions match the current filters".concat(m?" in ".concat(t5):"","."):tG.done.length>0?"No current sessions are visible.":void 0,t3=(0,o.useMemo)(()=>tW.filter(e=>e.configured),[tW]),t6=e=>t3.some(t=>t.id===e),t8=()=>{var e,t,r,a,o,n;let l=null!=(r=null==(e=t3.find(e=>e.id===m))?void 0:e.id)?r:"";if(l)return l;{let e=null!=(o=null==(a=window.localStorage.getItem(ep))?void 0:a.trim())?o:"";if(e&&t6(e))return e}return null!=(n=null==(t=t3[0])?void 0:t.id)?n:""};(0,o.useEffect)(()=>{if(D){L!==D&&I(D);return}if(L&&t6(L))return;let e=t8();e!==L&&I(e)},[m,L,D,t3]);let t7=e=>{let t=e.trim();if(_(null),I(t),t)return void window.localStorage.setItem(ep,t);window.localStorage.removeItem(ep)},t9=e=>{v(e),!e$&&e&&I(e);let t=new URLSearchParams(window.location.search);e?t.set("project",e):t.delete("project"),t.delete("terminal");let r=t.toString();window.history.replaceState(null,"",r?"?".concat(r):window.location.pathname),p(window.location.search)},re=e=>{let t=(0,g.F7)(window.location.search,e);window.history.pushState(null,"","".concat(window.location.pathname).concat(t).concat(window.location.hash)),p(window.location.search)};(0,o.useEffect)(()=>{let e=L.trim(),t=T.trim();if(!e||!t)return;let r=!1,a=setTimeout(()=>{let a=e_(eR,eK),o={projectId:e,prompt:t,agent:F};a&&(o.overrides=a),fetch("/api/preflight",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(o)}).then(e=>e.ok?e.json():null).then(e=>{!r&&(null==e?void 0:e.branch)&&O(e.branch)}).catch(()=>{})},500);return()=>{r=!0,clearTimeout(a)}},[L,T,F,eR,eK]);let rt=(0,o.useMemo)(()=>el(K),[K]);(0,o.useEffect)(()=>{z(null);let e=L.trim();if(!e||!rt)return;let t=new AbortController,r=setTimeout(()=>{fetch("/api/projects/".concat(encodeURIComponent(e),"/branches/exists?name=").concat(encodeURIComponent(rt)),{signal:t.signal}).then(e=>e.ok?e.json():null).then(e=>{e&&z(e)}).catch(()=>{})},300);return()=>{t.abort(),clearTimeout(r)}},[L,rt]);let rr=async()=>{let e=L.trim(),t=T.trim();if(e&&!eJ.current){eJ.current=!0,eU(!0);try{let r=eI.map(e=>e.value.trim()).filter(e=>e.length>0),a=e_(eR,eK),o={projectId:e,prompt:t,agent:F};null!==R&&(o.model=R);let n=(0,en.ZM)(eW);n.length>0&&(o.attachments=n);let l=el(K);if(l&&(o.branch=l),Q&&(o.planMode=!0),eu){let e=eM.trim();o.selfDestruct={enabled:!0,...e?{conditions:e}:{}}}r.length>0&&(o.steps=r),a&&(o.overrides=a);let s=await fetch("/api/spawn",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(o)});if(!s.ok)throw Error(await s.text());eX.saveEntry(t);let i=await s.json();tD.setQueryData(t_,e=>{var t,r;let a=(null!=(t=null==e?void 0:e.sessions)?t:[]).filter(e=>e.id!==i.id);return{...null!=e?e:{},sessions:[i,...a],projects:null!=(r=null==e?void 0:e.projects)?r:[]}}),A(""),q(null),O(""),ed(!1),eS(!1),eL(""),eP([]),eq("default"),eO(""),ez([]),_(null),eV(!1),t7(e)}catch(e){f((0,P.gJ)(e,"Failed to spawn Spur session"))}finally{eJ.current=!1,eU(!1)}}},ra=async e=>{let t="".concat(e.projectId,":").concat(e.backlogId,":").concat(e.externalId);if(!eH){eZ(t);try{let t=await fetch("/api/backlog/take",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({projectId:e.projectId,backlogId:e.backlogId,externalId:e.externalId})});if(!t.ok)throw Error(await t.text());let r=await t.json();tD.setQueryData(t_,e=>{var t,a,o;let n=(null!=(t=null==e?void 0:e.sessions)?t:[]).filter(e=>e.id!==r.session.id),l=null!=(a=null==e?void 0:e.backlog)?a:[];return{...null!=e?e:{},sessions:[r.session,...n],projects:null!=(o=null==e?void 0:e.projects)?o:[],backlog:l.filter(e=>e.projectId!==r.item.projectId||e.backlogId!==r.item.backlogId||e.externalId!==r.item.externalId)}}),await tD.invalidateQueries({queryKey:t_})}catch(e){f((0,P.gJ)(e,"Failed to take backlog item"))}finally{eZ(null)}}},ro=e=>{re(e.id)},rn=async e=>{let t=tr.trim(),r=to.trim(),a=tl.trim();if(!t)return void tc("Display name is required");if(!r)return void tc("Prefix is required");if(!/^[a-zA-Z0-9_-]+$/.test(r))return void tc("Prefix must contain only letters, digits, underscores, or hyphens");if(!a)return void tc("Path is required");tx(!0),tc(null),e&&tu(null);try{var o,n;let l=e?{displayName:t,prefix:r,path:a,createMissing:!0}:{displayName:t,prefix:r,path:a},s=await fetch("/api/projects",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(l)});if(!s.ok){let t=await s.json().catch(()=>null),r=null!=(o=null==t?void 0:t.error)?o:"Failed to create project (".concat(s.status,")"),a="path does not exist: ";if(!e&&r.startsWith(a))return void tu(r.slice(a.length));throw Error(r)}let i=await s.json(),c=await fetch("/api/spawn",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({projectId:i.id,prompt:"",bootstrap:!0})});if(!c.ok){let e=await c.json().catch(()=>null);throw Error(null!=(n=null==e?void 0:e.error)?n:"Project created but bootstrap session failed (".concat(c.status,")"))}let d=await c.json();tt(!1),tu(null),await tD.invalidateQueries({queryKey:t_}),re(d.id)}catch(e){tc((0,P.gJ)(e,"Failed to create Spur project"))}finally{tx(!1)}},rl=async()=>{tp||await rn(!1)},rs=async()=>{tp||await rn(!0)},ri=async()=>{if(!th||tN||tS)return;let e=tv.trim(),t=tf.trim(),r=ty.trim();if(!e)return void tk("Display name is required");if(!t)return void tk("Prefix is required");if(!/^[a-zA-Z0-9_-]+$/.test(t))return void tk("Prefix must contain only letters, digits, underscores, or hyphens");if(!r)return void tk("Path is required");tC(!0),tk(null);try{let o=await fetch("/api/projects/".concat(encodeURIComponent(th.id)),{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify({displayName:e,prefix:t,path:r})});if(!o.ok){var a;let e=await o.json().catch(()=>null);throw Error(null!=(a=null==e?void 0:e.error)?a:"Failed to update project (".concat(o.status,")"))}let n=await o.json();tD.setQueryData(t_,e=>{var t;return{...e,sessions:null!=(t=null==e?void 0:e.sessions)?t:[],projects:n.projects}}),tm(null),tL(null)}catch(e){tk(e instanceof Error?e.message:"Failed to update Spur project")}finally{tC(!1)}},rc=async e=>{try{let r=await fetch("/api/projects/".concat(encodeURIComponent(e.id)),{method:"DELETE"});if(!r.ok){var t;let e=await r.json().catch(()=>null);throw Error(null!=(t=null==e?void 0:e.error)?t:"Failed to delete project (".concat(r.status,")"))}return tL(null),(null==th?void 0:th.id)===e.id&&tm(null),await tD.invalidateQueries({queryKey:t_}),!0}catch(r){let t=r instanceof Error?r.message:"Failed to delete Spur project";return tL(t),(null==th?void 0:th.id)===e.id&&tk(t),!1}},rd=async()=>{th&&!tS&&(tE(!0),await rc(th),tE(!1))},ru=(0,o.useCallback)(async(e,t)=>{try{let a=await fetch("/api/sessions/".concat(encodeURIComponent(e),"/tags"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(t)});if(!a.ok){var r;let e=await a.json().catch(()=>null);throw Error(null!=(r=null==e?void 0:e.error)?r:"Failed to update tags (".concat(a.status,")"))}await tD.invalidateQueries({queryKey:t_})}catch(e){f((0,P.gJ)(e,"Failed to update tags"))}},[tD,t_,f]),rp=(0,o.useMemo)(()=>({catalog:tK,applyTags:ru}),[tK,ru]),rx=async e=>{await tD.cancelQueries({queryKey:t_});let t=tD.getQueryData(t_);tD.setQueryData(t_,t=>t?{...t,sessions:t.sessions.map(t=>t.id===e.id?{...t,status:"running",state:"working",runtimeAlive:!0}:t)}:t);try{let t=await fetch("/api/sessions/".concat(encodeURIComponent(e.id),"/restore"),{method:"POST"});if(!t.ok)throw Error(await t.text())}catch(e){throw t&&tD.setQueryData(t_,t),f((0,P.gJ)(e,"Failed to restore Spur session")),e}finally{await tD.invalidateQueries({queryKey:t_})}},rh=async(e,t)=>{let r=tQ.filter(t=>t.deskKey===e.deskKey&&"killed"!==t.status&&"completed"!==t.status),a=r.filter(t=>t.id!==e.id).length;if(!t&&a>0&&!window.confirm("Complete this desk? ".concat(a," subagent").concat(1===a?"":"s"," on this checkout will be ended.")))return;let o=new Set(r.map(e=>e.id));await tD.cancelQueries({queryKey:t_});let n=tD.getQueryData(t_);tD.setQueryData(t_,e=>e?{...e,sessions:e.sessions.map(e=>o.has(e.id)?{...e,status:"completed",state:"stopped",runtimeAlive:!1,tmuxSession:null}:e)}:e);try{let r={scope:"desk",...t?{prAction:t}:{}},a=await fetch("/api/sessions/".concat(encodeURIComponent(e.id),"/complete"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(r)}),o=await (0,P.Y3)(a);if(!a.ok){if((0,y.Qk)(o)){n&&tD.setQueryData(t_,n),k({session:e,payload:o});return}throw Error((0,P.$8)(o,"Failed to complete Spur session"))}let l=function(e){if("object"!=typeof e||null===e||!("completedIds"in e))return[];let t=e.completedIds;return Array.isArray(t)?t.filter(e=>"string"==typeof e):[]}(o);if(l.length>0){let e=new Set(l);tD.setQueryData(t_,t=>t?{...t,sessions:t.sessions.map(t=>e.has(t.id)?{...t,status:"completed",state:"stopped",runtimeAlive:!1,tmuxSession:null}:t)}:t)}}catch(e){throw n&&tD.setQueryData(t_,n),f((0,P.gJ)(e,"Failed to complete Spur session")),e}finally{await tD.invalidateQueries({queryKey:t_})}},rm=async e=>{if(w){C(!0);try{await rh(w.session,e),k(null)}finally{C(!1)}}},rv=(0,o.useCallback)(e=>{(0,en.kQ)(e).then(e=>{0!==e.length&&ez(t=>[...t,...e])}).catch(()=>{})},[]),rb=(0,o.useMemo)(()=>{if(!tP)return null;let e=tQ.find(e=>e.id===tP);return!e||!e.runtimeAlive||(0,y.zi)(e)||!e.tmuxSession?null:e},[tQ,tP]);return(0,o.useEffect)(()=>{if(tA||!tP||rb)return;let e=(0,g.F7)(window.location.search,null);window.history.replaceState(null,"","".concat(window.location.pathname).concat(e).concat(window.location.hash)),p(window.location.search)},[tA,tP,rb]),(0,a.jsxs)(h.Provider,{value:rp,children:[(0,a.jsxs)("main",{className:"mx-auto max-w-[1500px] px-4 py-4 pb-8 sm:px-5 lg:px-6",children:[(0,a.jsxs)("header",{className:"mb-4 flex flex-wrap items-center gap-2 sm:gap-3",children:[(0,a.jsx)(eA,{activeProjectName:t5,projects:tW,selectedProjectId:m,onSelectProject:t9,onNewProject:()=>{ta(""),tn(""),ts(""),tc(null),tu(null),tt(!0)},onEdit:e=>{tm(e),tb(e.name),tg(e.prefix),tj(e.path),tk(null)}}),tY.error>0?(0,a.jsx)(ef,{icon:(0,a.jsx)(ej,{}),label:"Errors",value:tY.error,color:"var(--color-status-error)",active:"error"===e3,onClick:()=>e9("error")}):null,tY.rate_limited>0?(0,a.jsx)(ef,{icon:(0,a.jsx)(ew,{}),label:"Rate Limited",value:tY.rate_limited,color:"var(--color-status-attention)",active:"rate_limited"===e3,onClick:()=>e9("rate_limited")}):null,(0,a.jsx)(ef,{icon:(0,a.jsx)(ey,{}),label:"Needs Input",value:tY.respond,color:tY.respond>0?"var(--color-status-error)":void 0,active:"respond"===e3,onClick:()=>e9("respond")}),(0,a.jsx)(ef,{icon:(0,a.jsx)(ek,{}),label:"Working",value:tY.working,color:tY.working>0?"var(--color-status-working)":void 0,active:"working"===e3,onClick:()=>e9("working")}),(0,a.jsx)(ef,{icon:(0,a.jsx)(ew,{}),label:"Waiting",value:tY.pending,color:tY.pending>0?"var(--color-status-attention)":void 0,active:"pending"===e3,onClick:()=>e9("pending")}),(0,a.jsx)(ef,{icon:(0,a.jsx)(eC,{}),label:"Stopped",value:tY.stopped,color:tY.stopped>0?"var(--color-text-tertiary)":void 0,active:"stopped"===e3,onClick:()=>e9("stopped")}),(0,a.jsx)(ef,{icon:(0,a.jsx)(eN,{}),label:"Completed",value:tY.done,color:"done"===e3&&tY.done>0?"var(--color-status-ready)":void 0,active:"done"===e3,onClick:()=>e9("done")}),tJ.length>0?(0,a.jsx)("span",{className:"sm:ml-auto",children:(0,a.jsx)(ec,{catalog:tJ,value:e8,onChange:e7})}):null,(0,a.jsxs)("div",{className:"flex min-w-[12rem] flex-[999_1_16rem] flex-col gap-1 ".concat(tJ.length>0?"":"sm:ml-auto"),children:[(0,a.jsxs)("div",{className:"flex items-stretch border border-[var(--color-border-default)] bg-[var(--color-bg-surface)]",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 px-2 py-1.5",children:[(0,a.jsxs)("svg",{className:"h-3.5 w-3.5 shrink-0 text-[var(--color-text-tertiary)]",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,a.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,a.jsx)("path",{d:"m21 21-4.35-4.35"})]}),(0,a.jsx)("input",{"aria-label":"Filter sessions",className:"min-w-0 flex-1 border-none bg-transparent uppercase text-[var(--color-text-primary)] outline-none",onChange:e=>M(e.target.value),onKeyDown:e=>{(0,ei.tF)(e)&&(e.preventDefault(),e1.toggleRecording())},placeholder:(0,ee.uT)("Filter sessions...",e1),ref:eG,value:S})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-stretch",children:[S.length>0?(0,a.jsx)("div",{className:"flex items-center border-l border-[var(--color-border-default)] px-1",children:(0,a.jsx)("button",{"aria-label":"Clear dashboard search",className:eh,onClick:()=>{var e;M(""),null==(e=eG.current)||e.focus()},type:"button",children:(0,a.jsx)(H.U,{})})}):null,e1.canUseVoice?(0,a.jsx)("div",{className:"flex items-center border-l border-[var(--color-border-default)] px-1",children:(0,a.jsx)(ee.lv,{borderless:!0,className:eh,groupClassName:"flex items-center gap-1",voice:e1})}):null]})]}),e1.voiceError?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2 py-1.5 text-[10px] text-[var(--color-chip-error-text)]",role:"alert",children:e1.voiceError}):e1.recording||e1.voiceBusy?(0,a.jsx)("div",{className:"px-2 text-[10px] text-[var(--color-text-tertiary)]",children:(0,a.jsx)(ee.cQ,{voice:e1})}):null]}),(0,a.jsxs)("div",{className:"inline-flex w-full sm:w-auto sm:shrink-0",children:[(0,a.jsx)("button",{"aria-label":"Spawn Shepherd",className:"inline-flex w-10 shrink-0 items-center justify-center border border-[var(--color-accent)] bg-[var(--color-accent)] text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)]",onClick:()=>{_(ev),I(ev),B("claude"),q(null),eq("default"),eO(""),ez([]),eV(!0)},title:"Spawn Shepherd",type:"button",children:(0,a.jsx)(eE,{})}),(0,a.jsx)("button",{className:"min-w-0 flex-1 whitespace-nowrap border border-[var(--color-accent)] border-l-[var(--color-text-inverse)] bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] sm:flex-none",onClick:()=>{_(null),I(t8()),ez([]),eV(!0)},type:"button",children:"Spawn Session"})]})]}),te?(0,a.jsx)(eF,{displayName:tr,prefix:to,path:tl,error:ti,missingPath:td,submitting:tp,onDisplayNameChange:ta,onPrefixChange:tn,onPathChange:e=>{ts(e),tu(null)},onSubmit:()=>{rl()},onCreateFolder:()=>{rs()},onClose:()=>tt(!1)}):null,th?(0,a.jsx)(eB,{project:th,displayName:tv,prefix:tf,path:ty,error:tw,submitting:tN,deleting:tS,onDisplayNameChange:tb,onPrefixChange:tg,onPathChange:tj,onSubmit:()=>{ri()},onDelete:()=>{rd()},onClose:()=>{tN||tS||(tm(null),tk(null))}}):null,tM?(0,a.jsx)("div",{className:"mb-3 border border-[var(--color-status-error)] bg-[var(--color-status-error)]/10 px-2 py-1.5 text-[var(--color-status-error)]",role:"alert",children:tM}):null,e$?(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)]",onClick:e=>{e.target===e.currentTarget&&eV(!1)},children:(0,a.jsxs)("div",{className:"flex w-full max-h-[calc(100vh-1rem)] flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:max-h-[calc(100vh-2rem)] sm:w-full sm:max-w-lg sm:p-5",onKeyDown:e=>{if((0,ei.tF)(e)){e.preventDefault(),e0.toggleRecording();return}(0,ei.rU)(e)&&(e.preventDefault(),rr())},children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-sm font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",children:"Spawn Session"}),(0,a.jsx)("button",{className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>eV(!1),type:"button",children:"✕"})]}),(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)("select",{"aria-label":"Spawn project",className:"flex-1 ".concat(et.s),onChange:e=>t7(e.target.value),value:L,children:[(0,a.jsx)("option",{value:"",children:"Select project"}),t3.map(e=>(0,a.jsx)("option",{value:e.id,children:"shepherd"===e.kind?"".concat(e.name," (Built In)"):e.name},e.id))]}),(0,a.jsx)(s.a,{ariaLabel:"Spawn agent",onChange:e=>{B(e),q(null)},value:F}),(0,a.jsx)("div",{className:"min-w-40 flex-1",children:(0,a.jsx)(i.o,{agent:F,ariaLabel:"Spawn model",onChange:q,value:R})})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)("input",{"aria-label":"branch name",className:"min-w-40 flex-1 ".concat(et.s),onBlur:()=>O(el(K)),onChange:e=>O(e.target.value),placeholder:"Branch name",value:K}),(0,a.jsxs)("select",{"aria-label":"workspace mode",className:et.s,onChange:e=>eq(e.target.value),value:eR,children:[(0,a.jsx)("option",{value:"default",children:"Default"}),(0,a.jsx)("option",{value:"worktree",children:"Worktree"}),(0,a.jsx)("option",{value:"shared",children:"Shared"})]}),(0,a.jsxs)("label",{className:"flex items-center gap-1.5 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 cursor-pointer",children:[(0,a.jsx)("input",{"aria-label":"Plan",checked:Q,className:"accent-[var(--color-accent)]",onChange:e=>ed(e.target.checked),type:"checkbox"}),(0,a.jsx)("span",{className:"text-xs font-bold uppercase text-[var(--color-text-primary)]",children:"Plan"})]}),(0,a.jsxs)("label",{className:"flex items-center gap-1.5 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 cursor-pointer",children:[(0,a.jsx)("input",{"aria-label":"Self-destruct",checked:eu,className:"accent-[var(--color-accent)]",onChange:e=>eS(e.target.checked),type:"checkbox"}),(0,a.jsx)("span",{className:"font-bold uppercase text-[var(--color-text-primary)]",children:"Self-destruct"})]})]}),rt&&rt!==K?(0,a.jsxs)("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:["will create ",rt]}):null,W&&W.exists&&!W.checkedOutAt?(0,a.jsx)("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:"branch already exists — will attach instead of creating new"}):null,W&&W.exists&&W.checkedOutAt?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-1.5 text-xs text-[var(--color-chip-error-text)]",children:"already checked out in another worktree — spawn will fail; pick a different name"}):null,W&&!W.exists&&W.remote?(0,a.jsx)("p",{className:"text-xs text-[var(--color-text-tertiary)]",children:"exists on origin — will track it"}):null,eu?(0,a.jsx)("textarea",{"aria-label":"Self-destruct conditions",className:"min-h-20 w-full resize-y ".concat(et.s),onChange:e=>eL(e.target.value),placeholder:"Self-destruct conditions",value:eM}):null,"worktree"===eR?(0,a.jsx)("input",{className:"w-full ".concat(et.s),onChange:e=>eO(e.target.value),placeholder:"Base branch",value:eK}):null,(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"max-h-48 space-y-2 overflow-y-auto",children:eI.map((e,t)=>(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("input",{"aria-label":"step ".concat(t+1),className:"flex-1 ".concat(et.s),onChange:t=>{let r,a;return r=e.id,a=t.target.value,eP(e=>e.map(e=>e.id===r?{...e,value:a}:e))},placeholder:"Step ".concat(t+1),value:e.value}),(0,a.jsx)("button",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>{let t;return t=e.id,eP(e=>e.filter(e=>e.id!==t))},type:"button",children:"✕"})]},e.id))}),(0,a.jsx)("button",{className:"mt-2 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 text-xs font-bold uppercase text-[var(--color-text-secondary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>{eP(e=>[...e,{id:Date.now(),value:""}])},type:"button",children:"+ Step"})]}),(0,a.jsx)(Z.U,{ariaLabel:"Prompt for the new session...",attachments:eW,clearLabel:"Clear spawn prompt",minHeightClass:"min-h-[8rem] sm:min-h-[10rem]",onAddFiles:rv,onChange:A,onKeyDown:e=>{if((0,ei.tF)(e)){e.preventDefault(),e0.toggleRecording();return}(0,ei.rU)(e)&&(e.preventDefault(),rr())},onRemoveAttachment:e=>ez(t=>t.filter((t,r)=>r!==e)),placeholder:(0,ee.uT)("Prompt for the new session...",e0),textareaRef:eY,value:T,voice:e0}),e0.voiceError?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-1.5 text-xs text-[var(--color-chip-error-text)]",children:e0.voiceError}):null,(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:(0,a.jsx)(ee.cQ,{voice:e0})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(G.t,{endpoint:L.trim()?"/api/projects/".concat(encodeURIComponent(L.trim()),"/slash-commands?agent=").concat(encodeURIComponent(F)):null,onSelect:e=>(0,es.U)(eY.current,e.insertText,A)}),(0,a.jsx)($.$,{entries:eX.entries,onSelect:A}),(0,a.jsxs)("button",{className:"inline-flex min-w-32 items-center justify-center gap-2 bg-[var(--color-accent)] px-4 py-2 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:cursor-not-allowed disabled:opacity-60",disabled:eQ||!L.trim(),onClick:()=>void rr(),type:"button",children:[(0,a.jsx)("span",{children:eQ?"Spawning...":"Spawn"}),eQ?null:(0,a.jsx)("span",{"aria-hidden":"true",className:"whitespace-nowrap font-mono text-[10px] font-medium normal-case tracking-normal text-[var(--color-text-tertiary)]",children:ei.C9})]})]})]})]})]})}):null,tA?(0,a.jsx)("p",{className:"mt-4 text-sm text-[var(--color-text-secondary)]",children:"Loading sessions..."}):null,tA||t1||t2?null:(0,a.jsxs)("section",{className:"mt-5",children:[(0,a.jsx)(J,{message:t4}),t0?(0,a.jsx)("div",{className:"mt-3 flex justify-center",children:(0,a.jsx)("button",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:border-[var(--color-accent)] hover:text-[var(--color-accent)]",onClick:()=>{M(""),e6(null),e7(null),t9("")},type:"button",children:"Reset Filters"})}):null]}),!tA&&(t2||t1)?(0,a.jsxs)("section",{className:"mt-5 space-y-4",children:[t2?(0,a.jsx)(eg,{items:t$,projectNameMap:tz,takingKey:eH,onTake:ra}):null,tX.map(e=>(0,a.jsx)(E,{collapsed:x?e2.has(e):void 0,level:e,onCompleteSession:rh,onOpenTerminal:ro,onRestoreSession:rx,projectFilterId:m||void 0,onToggle:x?e4:void 0,rows:tG[e]},e))]}):null,rb?(0,a.jsx)(Y.s,{onClose:()=>re(null),session:rb}):null,w?(0,a.jsx)(V.z,{busy:N,onAction:e=>void rm(e),onCancel:()=>k(null),payload:w.payload}):null]}),(0,a.jsx)(X.U,{toasts:b,onDismiss:j}),(0,a.jsx)(U,{})]})}},4018:(e,t,r)=>{Promise.resolve().then(r.bind(r,1277))}},e=>{e.O(0,[4096,6645,7377,3220,5124,4118,1835,7358],()=>e(e.s=4018)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[824],{5076:(e,r,t)=>{Promise.resolve().then(t.bind(t,8438))},8438:(e,r,t)=>{"use strict";t.d(r,{SessionDetail:()=>eb});var a=t(8143),o=t(9963),l=t.n(o),n=t(7500),s=t(8855),i=t(2572),c=t(2480),d=t(30),u=t(9085);function p(e){let{payload:r,busy:t=!1,onSkip:o,onRetry:l,onCancel:n}=e;return(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)] px-4",children:(0,a.jsxs)("div",{"aria-labelledby":"github-rate-limit-title","aria-modal":"true",className:"w-full max-w-lg border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] p-4",role:"dialog",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h2",{className:"font-bold uppercase text-[var(--color-status-attention)]",id:"github-rate-limit-title",children:"GitHub PR Check Unavailable"}),(0,a.jsx)("p",{className:"mt-2 text-[var(--color-text-secondary)]",children:r.rateLimited?"GitHub is rate limited, so the open pull request could not be checked.":"The open pull request could not be checked because a GitHub call failed."}),r.pr?(0,a.jsxs)("a",{className:"mt-2 block truncate text-[var(--color-accent)] underline-offset-4 hover:underline",href:r.pr.url,rel:"noreferrer",target:"_blank",children:["#",r.pr.number," ",r.pr.repo]}):(0,a.jsx)("p",{className:"mt-2 text-[var(--color-text-tertiary)]",children:"No linked pull request URL is available."})]}),(0,a.jsx)("button",{"aria-label":"Dismiss GitHub PR check dialog",className:"border border-[var(--color-border-default)] px-2 py-1 font-bold uppercase text-[var(--color-text-secondary)] transition hover:border-[var(--color-accent)] hover:text-[var(--color-accent)]",disabled:t,onClick:n,type:"button",children:"x"})]}),(0,a.jsxs)("div",{className:"mt-4 flex flex-col gap-2 sm:flex-row sm:justify-end",children:[r.rateLimited?(0,a.jsx)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",disabled:t,onClick:l,type:"button",children:"Retry PR Check"}):null,(0,a.jsx)("button",{className:"border border-[var(--color-status-error)] px-3 py-1.5 font-bold uppercase text-[var(--color-status-error)] transition hover:bg-[var(--color-status-error)]/10 disabled:opacity-50",disabled:t,onClick:o,type:"button",children:"Skip PR Check & Proceed"}),(0,a.jsx)("button",{className:"border border-[var(--color-border-default)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-secondary)] transition hover:border-[var(--color-accent)] hover:text-[var(--color-accent)] disabled:opacity-50",disabled:t,onClick:n,type:"button",children:"Cancel"})]})]})})}var x=t(7069);function v(e){let{payload:r,busy:t=!1,onForceKill:o,onRespawn:l,onCancel:n}=e;return(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)] px-4",children:(0,a.jsxs)("div",{"aria-labelledby":"recover-action-title","aria-modal":"true",className:"w-full max-w-lg border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] p-4",role:"dialog",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h2",{className:"font-bold uppercase text-[var(--color-text-primary)]",id:"recover-action-title",children:"Recover Session"}),(0,a.jsx)("p",{className:"mt-2 text-[var(--color-text-secondary)]",children:r.reason})]}),(0,a.jsx)("button",{"aria-label":"Dismiss recover session dialog",className:"border border-[var(--color-border-default)] px-2 py-1 font-bold uppercase text-[var(--color-text-secondary)] transition hover:border-[var(--color-accent)] hover:text-[var(--color-accent)]",disabled:t,onClick:n,type:"button",children:"x"})]}),(0,a.jsxs)("div",{className:"mt-4 flex flex-col gap-2 sm:flex-row sm:justify-end",children:[r.availableActions.includes("respawn")?(0,a.jsx)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",disabled:t,onClick:l,type:"button",children:"Respawn"}):null,(0,a.jsx)("button",{className:"border border-[var(--color-status-error)] px-3 py-1.5 font-bold uppercase text-[var(--color-status-error)] transition hover:bg-[var(--color-status-error)]/10 disabled:opacity-50",disabled:t,onClick:o,type:"button",children:"Force Kill"}),(0,a.jsx)("button",{className:"border border-[var(--color-border-default)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-secondary)] transition hover:border-[var(--color-accent)] hover:text-[var(--color-accent)] disabled:opacity-50",disabled:t,onClick:n,type:"button",children:"Cancel"})]})]})})}var m=t(2936),b=t(8701),h=t(418),f=t(1795),g=t(7840),y=t(8337);let j={label:"error",dot:"var(--color-status-error)",bg:"var(--color-dot-bg-error)",text:"var(--color-status-error)"},w={label:"paused",dot:"var(--color-text-tertiary)",bg:"var(--color-dot-bg-inactive)",text:"var(--color-text-secondary)"},k={working:{label:"working",dot:"var(--color-status-working)",bg:"var(--color-dot-bg-working)",text:"var(--color-status-working)",pulse:!0},waiting:{label:"waiting",dot:"var(--color-status-attention)",bg:"var(--color-dot-bg-waiting)",text:"var(--color-status-attention)"},needs_input:{...j,label:"needs input"},rate_limited:{label:"rate limited",dot:"var(--color-status-attention)",bg:"var(--color-dot-bg-waiting)",text:"var(--color-status-attention)"},error:j,stopped:{...w,label:"stopped"},killed:{...w,label:"killed"}},N={...w,label:"unknown"};function C(e){let{activity:r,dotOnly:t=!1,size:o=6}=e,l=null!==r&&k[r]||{...N,label:null!=r?r:N.label};return t?(0,a.jsx)("div",{className:(0,y.cn)("shrink-0 rounded-full",l.pulse&&"dot-pulse"),style:{width:o,height:o,background:l.dot}}):(0,a.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1.5 rounded-sm border px-2 py-1",style:{background:l.bg,borderColor:"color-mix(in srgb, var(--color-border-default) 85%, transparent)"},children:[(0,a.jsx)("span",{className:(0,y.cn)("h-1.5 w-1.5 shrink-0 rounded-full",l.pulse&&"dot-pulse"),style:{background:l.dot}}),(0,a.jsx)("span",{className:"text-[10px] font-medium",style:{color:l.text},children:l.label})]})}var S=t(5829),M=t(8994),R=t(5135),E=t(7693),A=t(9199),I=t(6297),L=t(3982),P=t(6049),T=t(4697),_=t(7094),U=t(8960),F=t(5342),z=t(5821),D=t(7572);function B(){return(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"currentColor",viewBox:"0 0 16 16",children:(0,a.jsx)("path",{d:"M4 3.25v9.5L12 8 4 3.25Z"})})}function H(e){let{recurring:r}=e;return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",viewBox:"0 0 24 24",children:[(0,a.jsx)("circle",{cx:"12",cy:"12",r:"8"}),(0,a.jsx)("path",{d:"M12 8v5l3 2"}),r?(0,a.jsx)("path",{d:"M4 12a8 8 0 0 1 13.5-5.8M20 12a8 8 0 0 1-13.5 5.8"}):null]})}function W(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-5 w-5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.4",viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M14 3H6v18h12V7z"}),(0,a.jsx)("path",{d:"M14 3v4h4"})]})}function K(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 16 16",children:[(0,a.jsx)("path",{d:"M5.25 5.25V3.5A1.25 1.25 0 0 1 6.5 2.25h6A1.25 1.25 0 0 1 13.75 3.5v6a1.25 1.25 0 0 1-1.25 1.25H10.75",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"}),(0,a.jsx)("path",{d:"M3.5 5.25h6A1.25 1.25 0 0 1 10.75 6.5v6A1.25 1.25 0 0 1 9.5 13.75h-6A1.25 1.25 0 0 1 2.25 12.5v-6A1.25 1.25 0 0 1 3.5 5.25Z",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5"})]})}function O(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.7",viewBox:"0 0 24 24",children:[(0,a.jsx)("path",{d:"M12 4v12"}),(0,a.jsx)("path",{d:"m6 12 6 6 6-6"}),(0,a.jsx)("path",{d:"M4 20h16"})]})}function q(){return(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"currentColor",viewBox:"0 0 16 16",children:(0,a.jsx)("path",{d:"M4 3.25v9.5L12 8 4 3.25Z"})})}function J(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6",viewBox:"0 0 16 16",children:[(0,a.jsx)("path",{d:"M2.5 5V2.5H5"}),(0,a.jsx)("path",{d:"M11 2.5h2.5V5"}),(0,a.jsx)("path",{d:"M13.5 11v2.5H11"}),(0,a.jsx)("path",{d:"M5 13.5H2.5V11"}),(0,a.jsx)("path",{d:"M5.5 5.5h5v5h-5z"})]})}function X(){return(0,a.jsx)("svg",{"aria-hidden":"true",className:"voice-spinner h-3 w-3",fill:"none",stroke:"currentColor",strokeWidth:"1.5",viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M12 2a10 10 0 0 1 10 10",strokeLinecap:"round"})})}function Y(){return(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.7",viewBox:"0 0 16 16",children:(0,a.jsx)("path",{d:"M10 3 5 8l5 5"})})}function Q(){return(0,a.jsx)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.7",viewBox:"0 0 16 16",children:(0,a.jsx)("path",{d:"m6 3 5 5-5 5"})})}function Z(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6",viewBox:"0 0 16 16",children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"4.5"}),(0,a.jsx)("path",{d:"M10.5 10.5 14 14"}),(0,a.jsx)("path",{d:"M7 5v4M5 7h4"})]})}function V(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6",viewBox:"0 0 16 16",children:[(0,a.jsx)("circle",{cx:"7",cy:"7",r:"4.5"}),(0,a.jsx)("path",{d:"M10.5 10.5 14 14"}),(0,a.jsx)("path",{d:"M5 7h4"})]})}function G(){return(0,a.jsxs)("svg",{"aria-hidden":"true",className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.6",viewBox:"0 0 16 16",children:[(0,a.jsx)("path",{d:"M2.5 5V2.5H5"}),(0,a.jsx)("path",{d:"M11 2.5h2.5V5"}),(0,a.jsx)("path",{d:"M13.5 11v2.5H11"}),(0,a.jsx)("path",{d:"M5 13.5H2.5V11"})]})}let $="min-w-0 whitespace-pre-wrap [overflow-wrap:anywhere]",ee={idle:"Copy",copying:"Copying...",copied:"Copied",error:"Copy failed"};function er(e,r){return"/api/sessions/".concat(encodeURIComponent(e),"/artifacts/").concat(encodeURIComponent(r))}function et(e){let r=e.split(".").pop();return r?r.toUpperCase():"FILE"}function ea(e){return e instanceof Element&&null!==e.closest("a,button,input,textarea,select,video,pre,[data-artifact-lightbox-interactive]")}function eo(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return["inline-flex h-8 w-8 items-center justify-center border transition",e?"border-[var(--color-accent)] bg-[var(--color-accent)] text-[var(--color-text-inverse)] hover:bg-[var(--color-accent-hover)]":"border-[var(--color-border-strong)] bg-[var(--color-bg-base)] text-[var(--color-text-primary)] hover:bg-[var(--color-hover-overlay)]"].join(" ")}function el(e){let{artifact:r,artifactHref:t,previewState:o,variant:l="compact",onPreview:n,onPreviewError:s,onPreviewReady:i}=e,c="video"===r.kind?q:"image"===r.kind?J:W,d="attachedImage"===l&&"image"===r.kind;return(0,a.jsxs)("article",{"aria-label":"".concat(r.addedByUser&&"image"===r.kind?"Attached Image":r.addedByUser?"Attached":"automatic"===r.origin?"System":r.kind," artifact ").concat(r.name),className:"group border bg-[var(--color-bg-surface)] ".concat(d?"border-[var(--color-border-strong)]":"border-[var(--color-border-default)]"),children:[(0,a.jsxs)("div",{className:"relative isolate ".concat(d?"h-48 sm:h-56":"h-32"," cursor-zoom-in overflow-hidden border-b border-[var(--color-border-default)] bg-[var(--color-terminal-bg)]"),onClick:()=>{n(r.id)},children:["image"===r.kind?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("img",{alt:r.name,className:"pointer-events-none h-full w-full ".concat(d?"object-contain p-2":"object-cover"," transition duration-150 ").concat("ready"===o?"opacity-100":"opacity-0"),onError:()=>s(r.id),onLoad:()=>i(r.id),src:t}),"ready"!==o?(0,a.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center bg-[var(--color-terminal-bg)] px-3 text-center text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"error"===o?"Preview unavailable":"Loading preview"}):null]}):null,"video"===r.kind?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("video",{"aria-label":"".concat(r.name," preview"),className:"pointer-events-none h-full w-full object-cover transition duration-150 ".concat("ready"===o?"opacity-100":"opacity-0"),muted:!0,onError:()=>s(r.id),onLoadedData:()=>i(r.id),preload:"metadata",src:t}),"ready"!==o?(0,a.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center bg-[var(--color-terminal-bg)] px-3 text-center text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"error"===o?"Preview unavailable":"Loading preview"}):null]}):null,"image"!==r.kind&&"video"!==r.kind?(0,a.jsxs)("div",{className:"flex h-full flex-col items-center justify-center gap-2 text-[var(--color-text-tertiary)]",children:[(0,a.jsx)(W,{}),(0,a.jsx)("span",{className:"font-mono text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-secondary)]",children:et(r.name)})]}):null,d?(0,a.jsxs)("div",{className:"pointer-events-none absolute left-2 top-2 flex flex-wrap gap-1.5",children:[(0,a.jsx)("span",{className:"border border-[var(--color-border-strong)] bg-[var(--color-bg-base)] px-2 py-1 text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-primary)]",children:"Attached Image"}),(0,a.jsx)("span",{className:"border border-[var(--color-border-strong)] bg-[var(--color-bg-base)] px-2 py-1 text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-secondary)]",children:et(r.name)})]}):null,(0,a.jsxs)("div",{className:"pointer-events-none absolute inset-0 z-10 flex items-center justify-center gap-2 bg-[color:var(--color-modal-backdrop)] opacity-0 transition duration-150 group-hover:pointer-events-auto group-hover:opacity-100 group-focus-within:pointer-events-auto group-focus-within:opacity-100",children:[(0,a.jsx)("button",{"aria-label":"Preview ".concat(r.name),className:eo(!0),onClick:e=>{e.stopPropagation(),n(r.id)},type:"button",children:(0,a.jsx)(c,{})}),(0,a.jsx)("a",{"aria-label":"Download ".concat(r.name),className:eo(!1),download:r.name,href:t,onClick:e=>e.stopPropagation(),children:(0,a.jsx)(O,{})})]})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-1 px-3 py-2",children:[(0,a.jsx)("div",{className:"overflow-hidden text-ellipsis whitespace-nowrap font-mono text-[var(--color-text-primary)]",title:r.name,children:r.name}),d?(0,a.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-secondary)]",children:ex(r.size)}),(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-1.5 py-0.5 text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:(0,A.fw)(r.updatedAt)})]}):(0,a.jsxs)("div",{className:"overflow-hidden text-ellipsis whitespace-nowrap text-[10px] text-[var(--color-text-tertiary)]",children:[ex(r.size)," \xb7 ",r.kind," \xb7"," ",(0,A.fw)(r.updatedAt)]})]})]})}function en(e){let{artifact:r,artifactHref:t,previewState:o,onPreviewError:l,onPreviewReady:n}=e,[i,c]=(0,s.useState)(1),[d,u]=(0,s.useState)({x:0,y:0}),[p,x]=(0,s.useState)(!1),v=(0,s.useRef)(null),m=(0,s.useRef)(new Map),b=(0,s.useRef)(null);(0,s.useEffect)(()=>{c(1),u({x:0,y:0}),x(!1),m.current.clear(),b.current=null},[r.id]);let h=(e,r)=>{var t;let a=null==(t=v.current)?void 0:t.getBoundingClientRect();if(!a)return e;let o=a.width*(r-1)/2,l=a.height*(r-1)/2;return{x:Math.min(o,Math.max(-o,e.x)),y:Math.min(l,Math.max(-l,e.y))}},f=e=>{let r=Math.min(5,Math.max(1,e));c(r),u(e=>1===r?{x:0,y:0}:h(e,r))},g=()=>{let e=[...m.current.values()];return e.length<2?0:Math.hypot(e[0].x-e[1].x,e[0].y-e[1].y)},y=e=>{var r;if(!m.current.has(e.pointerId))return;let t=null!==b.current;if(m.current.delete(e.pointerId),(null==(r=b.current)?void 0:r.mode)==="pinch"&&m.current.size<2){let e=[...m.current.entries()][0];b.current=e&&i>1?{mode:"pan",pointerId:e[0],startX:e[1].x,startY:e[1].y,startTranslateX:d.x,startTranslateY:d.y}:null}0===m.current.size&&(b.current=null,x(!1)),t&&e.stopPropagation()};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{ref:v,className:"flex h-full w-full items-center justify-center overflow-hidden [touch-action:none]",onClick:e=>{i>1&&e.stopPropagation()},onPointerCancel:y,onPointerDown:e=>{if(m.current.set(e.pointerId,{x:e.clientX,y:e.clientY}),2===m.current.size){b.current={mode:"pinch",startDistance:g(),startScale:i},x(!0),e.currentTarget.setPointerCapture(e.pointerId),e.stopPropagation();return}1===m.current.size&&i>1&&(b.current={mode:"pan",pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,startTranslateX:d.x,startTranslateY:d.y},x(!0),e.currentTarget.setPointerCapture(e.pointerId),e.stopPropagation())},onPointerMove:e=>{if(!m.current.has(e.pointerId))return;m.current.set(e.pointerId,{x:e.clientX,y:e.clientY});let r=b.current;if(r){if("pinch"===r.mode&&m.current.size>=2){r.startDistance>0&&f(r.startScale*g()/r.startDistance),e.stopPropagation();return}"pan"===r.mode&&r.pointerId===e.pointerId&&(u(h({x:r.startTranslateX+(e.clientX-r.startX),y:r.startTranslateY+(e.clientY-r.startY)},i)),e.stopPropagation())}},onPointerUp:y,children:(0,a.jsx)("img",{alt:r.name,className:"max-h-full max-w-full object-contain ".concat("ready"===o?"opacity-100":"opacity-0"," ").concat(i>1?"cursor-grab":""),draggable:!1,onError:()=>l(r.id),onLoad:()=>n(r.id),src:t,style:{transform:"translate(".concat(d.x,"px, ").concat(d.y,"px) scale(").concat(i,")"),transition:p?"none":"transform 150ms ease-out"}})}),(0,a.jsxs)("div",{className:"absolute bottom-3 right-3 z-10 flex flex-col gap-1","data-artifact-lightbox-interactive":!0,children:[(0,a.jsx)("button",{"aria-label":"Zoom in",className:eo(),disabled:i>=5,onClick:()=>f(1.5*i),type:"button",children:(0,a.jsx)(Z,{})}),(0,a.jsx)("button",{"aria-label":"Zoom out",className:eo(),disabled:i<=1,onClick:()=>f(i/1.5),type:"button",children:(0,a.jsx)(V,{})}),(0,a.jsx)("button",{"aria-label":"Reset zoom",className:eo(),disabled:1===i,onClick:()=>f(1),type:"button",children:(0,a.jsx)(G,{})})]})]})}function es(e){let{artifact:r,artifactHref:t,previewState:o,canGoPrevious:l,canGoNext:n,onClose:i,onPrevious:c,onNext:d,onPreviewError:u,onPreviewReady:p}=e,[x,v]=(0,s.useState)(null),[m,b]=(0,s.useState)("loading"),[h,f]=(0,s.useState)("idle"),g=(0,s.useRef)(null),y=(0,s.useRef)(!1);if((0,s.useEffect)(()=>{if(v(null),b("loading"),f("idle"),!r||!t||"text"!==r.kind)return;if(r.size>1048576){b("oversize"),p(r.id);return}let e=new AbortController;return(async()=>{try{let a=await fetch(t,{signal:e.signal});if(!a.ok)throw Error("Failed to load artifact");let o=await a.text();if(e.signal.aborted)return;v(o),b("ready"),p(r.id)}catch(t){if(e.signal.aborted)return;b("error"),u(r.id)}})(),()=>{e.abort()}},[null==r?void 0:r.id,null==r?void 0:r.kind,null==r?void 0:r.size,t]),!r||!t)return null;let j="text"===r.kind?"loading"===m?"Loading preview":"error"===m?"Preview unavailable":null:("image"===r.kind||"video"===r.kind)&&"ready"!==o?"error"===o?"Preview unavailable":"Loading preview":null,w=async()=>{if(x&&"copying"!==h){f("copying");try{await ei(x),f("copied")}catch(e){f("error")}}};return(0,a.jsx)("div",{"aria-label":"Artifact preview ".concat(r.name),className:"fixed inset-0 z-50 flex items-center justify-center bg-[color:var(--color-modal-backdrop)] p-2 backdrop-blur-sm sm:p-3",onClick:e=>{e.target===e.currentTarget&&i()},role:"dialog",children:(0,a.jsxs)("div",{className:"flex h-full w-full flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:p-5",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h2",{className:"truncate font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",children:r.name}),(0,a.jsxs)("div",{className:"mt-1 text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:[ex(r.size)," \xb7 ",r.kind," \xb7"," ",(0,A.fw)(r.updatedAt)]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:["text"===r.kind&&"ready"===m&&x?(0,a.jsxs)("button",{"aria-label":"Copy ".concat(r.name),className:"inline-flex items-center gap-2 border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",disabled:"copying"===h,onClick:()=>void w(),type:"button",children:[(0,a.jsx)(K,{}),ee[h]]}):null,(0,a.jsx)("a",{"aria-label":"Download ".concat(r.name),className:"inline-flex h-8 w-8 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] hover:no-underline",download:r.name,href:t,children:(0,a.jsx)(O,{})}),(0,a.jsx)("button",{"aria-label":"Close artifact preview",className:"inline-flex h-8 w-8 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-tertiary)] transition hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-text-primary)]",onClick:i,type:"button",children:(0,a.jsx)(R.U,{className:"h-3.5 w-3.5",strokeWidth:2})})]})]}),(0,a.jsxs)("div",{className:"grid min-h-0 flex-1 grid-cols-[2.5rem_minmax(0,1fr)_2.5rem] items-center gap-2 sm:gap-3",children:[(0,a.jsx)("button",{"aria-label":"Previous artifact",className:"inline-flex h-10 w-10 items-center justify-center border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] text-[var(--color-text-tertiary)] transition hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-text-primary)] disabled:cursor-not-allowed disabled:opacity-40",disabled:!l,onClick:c,type:"button",children:(0,a.jsx)(Y,{})}),(0,a.jsxs)("div",{"aria-label":"Artifact preview surface",className:"relative flex h-full min-h-0 min-w-0 items-center justify-center self-stretch overflow-auto border border-[var(--color-border-default)] bg-[var(--color-terminal-bg)] p-3 [touch-action:pan-y] sm:p-4",onClick:e=>{if(e.stopPropagation(),y.current){y.current=!1;return}if(ea(e.target)||function(){let e=window.getSelection();return null!==e&&!e.isCollapsed&&e.toString().length>0}())return;let r=e.currentTarget.getBoundingClientRect();if(e.clientX<r.left+r.width/2)return void c();d()},onPointerCancel:()=>{g.current=null},onPointerDown:e=>{if(e.button>0||ea(e.target)){g.current=null;return}g.current={pointerId:e.pointerId,x:e.clientX,y:e.clientY}},onPointerUp:e=>{((e,r,t)=>{let a=g.current;if(g.current=null,!a||a.pointerId!==e)return;let o=r-a.x,l=t-a.y;if(!(48>Math.abs(o)||Math.abs(o)<=Math.abs(l))){if(y.current=!0,o<0)return d();c()}})(e.pointerId,e.clientX,e.clientY)},children:[j?(0,a.jsx)("div",{className:"absolute inset-0 flex items-center justify-center px-4 text-center text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:j}):null,"image"===r.kind?(0,a.jsx)(en,{artifact:r,artifactHref:t,onPreviewError:u,onPreviewReady:p,previewState:o}):"video"===r.kind?(0,a.jsx)("video",{"aria-label":"".concat(r.name," player"),autoPlay:!0,className:"max-h-full max-w-full ".concat("ready"===o?"opacity-100":"opacity-0"),controls:!0,onError:()=>u(r.id),onLoadedData:()=>p(r.id),preload:"metadata",src:t}):"text"===r.kind?(0,a.jsxs)(a.Fragment,{children:["oversize"===m?(0,a.jsx)("div",{className:"px-4 text-center text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"File exceeds 1 MiB preview limit. Download to view the full content."}):null,"ready"===m&&x?(0,a.jsx)("pre",{className:"h-full w-full self-stretch overflow-auto whitespace-pre-wrap break-words font-mono text-[var(--color-text-primary)]",children:x}):null]}):(0,a.jsxs)("div",{className:"flex max-w-md flex-col items-center gap-4 text-center text-[var(--color-text-secondary)]",children:[(0,a.jsx)("div",{className:"flex h-16 w-16 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-primary)]",children:(0,a.jsx)(W,{})}),(0,a.jsx)("div",{className:"max-w-full font-mono text-[var(--color-text-primary)] ".concat($),children:r.name}),(0,a.jsxs)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:[et(r.name)," \xb7 ",r.mimeType]}),(0,a.jsxs)("a",{className:"inline-flex items-center gap-2 border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] hover:no-underline",download:r.name,href:t,children:[(0,a.jsx)(O,{}),"Download File"]})]})]}),(0,a.jsx)("button",{"aria-label":"Next artifact",className:"inline-flex h-10 w-10 items-center justify-center border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] text-[var(--color-text-tertiary)] transition hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-text-primary)] disabled:cursor-not-allowed disabled:opacity-40",disabled:!n,onClick:d,type:"button",children:(0,a.jsx)(Q,{})})]})]})})}async function ei(e){var r;if("undefined"!=typeof navigator&&"function"==typeof(null==(r=navigator.clipboard)?void 0:r.writeText))return void await navigator.clipboard.writeText(e);if("undefined"==typeof document)throw Error("Clipboard is unavailable.");let t=document.activeElement instanceof HTMLElement?document.activeElement:null,a=document.createElement("textarea");a.value=e,a.setAttribute("readonly",""),a.style.position="fixed",a.style.opacity="0",a.style.pointerEvents="none",document.body.append(a),a.select(),a.setSelectionRange(0,e.length);try{if(!document.execCommand("copy"))throw Error("Clipboard is unavailable.")}finally{a.remove(),null==t||t.focus()}}function ec(e,r){let t=null==e?void 0:e[r];return"string"==typeof t&&t.trim()?t:null}function ed(e){return e.replaceAll("_"," ")}function eu(e){var r,t,o;let{entry:l,sessionId:n,visibleArtifactIds:s}=e,i=ec(l.details,"fromState"),c=ec(l.details,"toState"),d=ec(l.details,"source"),u=ec(l.details,"historyArtifactId"),p=ec(l.details,"serviceId"),x=ec(l.details,"sidecarName"),v="session.state.transition"===l.event&&!!i&&!!c,m="service.output"===l.event?p?"service ".concat(p):"service":"sidecar.output"===l.event?x?"sidecar ".concat(x):"sidecar":null,b=null!==u&&s.has(u);return(0,a.jsxs)("article",{className:"border-l-2 border-y border-r border-[var(--color-border-default)] bg-[var(--color-bg-surface)] ".concat("error"===(t=l.level)?"border-l-[var(--color-status-error)]":"warn"===t?"border-l-[var(--color-status-attention)]":"border-l-[var(--color-status-working)]"),children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-[var(--color-border-subtle)] px-3 py-2 text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:[(0,a.jsx)("span",{children:(0,A.eB)(l.timestamp)}),(0,a.jsx)("span",{className:"border px-2 py-0.5 ".concat("error"===(o=l.level)?"border-[var(--color-status-error)] text-[var(--color-status-error)]":"warn"===o?"border-[var(--color-status-attention)] text-[var(--color-status-attention)]":"border-[var(--color-border-strong)] text-[var(--color-text-secondary)]"),children:l.level}),(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-2 py-0.5 text-[var(--color-text-secondary)]",children:null!=m?m:l.event.replaceAll("."," ")}),d?(0,a.jsxs)("span",{className:"border border-[var(--color-border-default)] px-2 py-0.5",children:["source ",d]}):null]}),v?(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3 px-3 py-3",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Status transition"}),(0,a.jsxs)("div",{className:"flex items-center gap-2 font-bold uppercase text-[var(--color-text-primary)]",children:[(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-2 py-1 text-[var(--color-text-secondary)]",children:ed(null!=i?i:"")}),(0,a.jsx)("span",{className:"text-[var(--color-status-working)]",children:"->"}),(0,a.jsx)("span",{className:"border border-[var(--color-status-working)] px-2 py-1",children:ed(null!=c?c:"")})]}),b?(0,a.jsx)("a",{className:"ml-auto border border-[var(--color-border-strong)] px-2 py-1 text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] hover:no-underline",download:u,href:er(n,u),children:"History snapshot"}):null]}):(0,a.jsx)("div",{className:"px-3 py-3",children:l.message?(0,a.jsx)("pre",{className:"whitespace-pre-wrap break-words font-mono text-[11px] leading-5",style:{color:null!=(r=ep[l.level])?r:"var(--color-text-primary)"},children:l.message}):(0,a.jsx)("div",{className:"text-[var(--color-text-tertiary)]",children:"No message payload."})})]})}let ep={info:"var(--color-text-secondary)",warn:"var(--color-status-attention)",error:"var(--color-status-error)"};function ex(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}async function ev(e,r){var t,a;let o=await e.text();if(!o)return r;if((null!=(t=e.headers.get("content-type"))?t:"").includes("application/json"))try{let e=JSON.parse(o);if("object"==typeof e&&null!==e&&"error"in e)return String(null!=(a=e.error)?a:r)}catch(e){return r}return o}async function em(e){let r=await e.text();if(!r)return null;try{let e=JSON.parse(r);return"object"==typeof e&&null!==e&&"sidecar_port_busy"===e.code&&"string"==typeof e.sidecarName&&Array.isArray(e.candidates)?e:null}catch(e){return null}}function eb(e){var r,t,o,y,j,w,k,N;let{sessionId:R,projectId:W}=e,O=(0,n.useRouter)(),[q,J]=(0,s.useState)(null),[Y,Q]=(0,s.useState)(""),[Z,V]=(0,s.useState)(null),[G,ee]=(0,s.useState)(null),[et,ea]=(0,s.useState)(null),[eo,en]=(0,s.useState)(null),[ec,ed]=(0,s.useState)(null),ep=(0,s.useRef)(!1),[ex,eb]=(0,s.useState)(null),[eh,ef]=(0,s.useState)(null),eg=(0,g.u)("spur:input-history:session-message"),ey=(0,h.C)({contextKey:"session:".concat(R),onTranscribed:e=>Q(r=>r.trim()?"".concat(r,"\n").concat(e):e)}),[ej,ew]=(0,s.useState)(""),[ek,eN]=(0,s.useState)(!1),[eC,eS]=(0,s.useState)([]),[eM,eR]=(0,s.useState)([]),[eE,eA]=(0,s.useState)(!1),[eI,eL]=(0,s.useState)(""),[eP,eT]=(0,s.useState)(null),[e_,eU]=(0,s.useState)(null),[eF,ez]=(0,s.useState)([]),[eD,eB]=(0,s.useState)([]),[eH,eW]=(0,s.useState)(!1),[eK,eO]=(0,s.useState)(""),[eq,eJ]=(0,s.useState)("claude"),[eX,eY]=(0,s.useState)(""),[eQ,eZ]=(0,s.useState)(!1),[eV,eG]=(0,s.useState)([]),[e$,e0]=(0,s.useState)([]),[e1,e2]=(0,s.useState)(!1),e5=(0,s.useRef)(!1),e3=(0,s.useRef)(null),e4=(0,s.useRef)(0),e6=(0,g.u)("spur:input-history:desk-spawn-prompt"),e8=(0,h.C)({contextKey:"desk-spawn:".concat(R),onTranscribed:e=>eO(r=>r.trim()?"".concat(r,"\n").concat(e):e)}),e7=(0,s.useRef)(null),e9=(0,h.C)({contextKey:"respawn:".concat(R),onTranscribed:e=>eL(r=>r.trim()?"".concat(r,"\n").concat(e):e)}),[re,rr]=(0,s.useState)(null),[rt,ra]=(0,s.useState)({}),[ro,rl]=(0,s.useState)(null),[rn,rs]=(0,s.useState)("agent"),{toasts:ri,showSuccessToast:rc,showErrorToast:rd,dismissToast:ru}=(0,U.Y)(),[rp,rx]=(0,s.useState)(!1),rv=(0,s.useRef)(null),rm=(0,s.useRef)(R);rm.current=R;let rb=(0,s.useRef)(0),rh=(0,s.useRef)(null),rf=(0,s.useRef)(null),rg=(0,s.useRef)(null),ry=(0,s.useRef)(null),rj=null==q?void 0:q.links.find(e=>"pr"===e.label);(0,s.useEffect)(()=>{rv.current=q},[q]);let rw=(0,s.useCallback)(()=>{let e=rh.current;e&&(ru(e.id),rh.current=null)},[ru]);(0,s.useEffect)(()=>{var e;J(e=>(null==e?void 0:e.id)===R?e:null),rv.current=(null==(e=rv.current)?void 0:e.id)===R?rv.current:null,V(null),rr(null),rw()},[rw,R]);let rk=(0,s.useCallback)(async()=>{let e=rb.current+1;rb.current=e;try{let r=await fetch("/api/sessions/".concat(encodeURIComponent(R)),{cache:"no-store"});if(e!==rb.current||rm.current!==R)return;if(!r.ok)throw Error(await ev(r,"Failed to load session"));let t=await r.json();if(e!==rb.current||rm.current!==R)return;let a=(0,z.MH)(t);J(a),V(null),rw()}catch(o){var r,t;if(e!==rb.current||rm.current!==R)return;let a=(0,T.gJ)(o,"Failed to load session");if((null==(r=rv.current)?void 0:r.id)!==R){J(null),V(a);return}if((null==(t=rh.current)?void 0:t.message)===a)return;rw(),rh.current={id:rd(a),message:a}}},[rw,R,rd]);(0,s.useEffect)(()=>{rk();let e=setInterval(()=>{rk()},4e3);return()=>clearInterval(e)},[rk]);let rN=(0,s.useCallback)(async()=>{if(!q||"claude"!==q.agent)return void rr(null);try{let e=await fetch("/api/sessions/".concat(encodeURIComponent(R),"/conversation"),{cache:"no-store"});e.ok?rr(await e.json()):rr(null)}catch(e){rr(null)}},[null==q?void 0:q.agent,R]);(0,s.useEffect)(()=>{rN();let e=setInterval(()=>void rN(),4e3);return()=>clearInterval(e)},[rN]),(0,s.useEffect)(()=>{var e,r,t;let a=null==re?void 0:re.messages.at(-1),o=(null==re?void 0:re.state)==="working"?"pending:".concat(null!=(e=null==a?void 0:a.timestampMs)?e:"none",":").concat(null!=(r=null==a?void 0:a.role)?r:"none",":").concat(null!=(t=null==a?void 0:a.text)?t:""):(null==a?void 0:a.role)==="assistant"?"assistant:".concat(a.timestampMs,":").concat(a.text):null;if(!o||o===rg.current)return;rg.current=o;let l=rf.current;if(l){if("function"==typeof l.scrollTo)return void l.scrollTo({top:l.scrollHeight,behavior:"smooth"});l.scrollTop=l.scrollHeight}},[re]),(0,s.useEffect)(()=>{let e=()=>ew(window.location.search);return e(),window.addEventListener("popstate",e),()=>{window.removeEventListener("popstate",e)}},[]),(0,s.useEffect)(()=>{rs("agent"),rx(!1)},[R]),(0,s.useEffect)(()=>{q&&ra(e=>{let r={};for(let a of q.artifacts){var t;r[a.id]=null!=(t=e[a.id])?t:"loading"}return r})},[q]);let rC=async function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if("kill"===e&&!t.skipKillConfirm&&!window.confirm("Kill session ".concat(R,"? This forces cleanup even with local changes.")))return!1;ee(e);try{let t=await fetch("/api/sessions/".concat(encodeURIComponent(R),"/").concat(e),{method:"POST",headers:r?{"content-type":"application/json"}:void 0,body:r?JSON.stringify(r):void 0}),a=await (0,T.Y3)(t);if(!t.ok){if(("complete"===e||"kill"===e)&&(0,z.Qk)(a))return ea({action:e,body:r,payload:a}),!1;if(("complete"===e||"kill"===e)&&(0,z.Ok)(a))return en({action:e,body:r,payload:a}),!1;if("restore"===e&&(0,z.ZJ)(a))return ed(a),V(null),!1;throw Error((0,T.$8)(a,"Failed to ".concat(e," session")))}if("send"===e){let e=r&&"string"==typeof r.message?r.message.trim():"";e&&eg.saveEntry(e),Q(""),eR([])}return await rk(),!0}catch(r){return rd((0,T.gJ)(r,"Failed to ".concat(e," session"))),!1}finally{ee(null)}},rS=async e=>{var r;if(!et)return;let t={...null!=(r=et.body)?r:{},prAction:e};await rC(et.action,t,{skipKillConfirm:!0})&&(ea(null),ed(null))},rM=async()=>{var e;if(!eo)return;let r={...null!=(e=eo.body)?e:{},skipPrCheck:!0};await rC(eo.action,r,{skipKillConfirm:!0})&&en(null)},rR=async()=>{eo&&await rC(eo.action,eo.body,{skipKillConfirm:!0})&&en(null)},rE=async()=>{await rC("kill",{force:!0},{skipKillConfirm:!0})&&ed(null)},rA=async()=>{await rC("kill",{force:!0},{skipKillConfirm:!0})&&(ed(null),tl())},rI=async()=>{let e=async e=>{let r={prompt:eI.trim(),startupAttachmentIds:eD},t=(0,P.ZM)(eF);t.length>0&&(r.attachments=t),e&&(r.forceKillSource=!0),q&&eP&&eP!==q.agent&&(r.agent=eP),null!==e_&&(r.model=e_);let a=await fetch("/api/sessions/".concat(encodeURIComponent(R),"/respawn"),{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(r)});if(!a.ok)throw Error(await a.text());let o=await a.json();eA(!1),O.push((0,L._j)(o.id,W))};ee("respawn");try{await e(!1)}catch(t){let r=(0,T.gJ)(t,"Failed to respawn session");if(r.startsWith("Kill confirmation required")&&window.confirm("".concat(r,"\n\nRespawn anyway and discard the old session worktree (including uncommitted changes or unpushed commits)?")))try{await e(!0)}catch(e){rd((0,T.gJ)(e,"Failed to respawn session"))}else rd(r)}finally{ee(null)}},rL=async()=>{if(!q||e5.current)return;let e=eK.trim(),r=eV.map(e=>e.value.trim()).filter(e=>e.length>0),t=(0,P.ZM)(e$);e5.current=!0,e2(!0);try{let a={projectId:q.projectId,prompt:e,agent:eq,reuseWorkspaceSessionId:q.id,overrides:{worktree:q.worktree}};t.length>0&&(a.attachments=t),eX.trim()&&(a.branch=eX.trim()),eQ&&(a.planMode=!0),r.length>0&&(a.steps=r);let o=await fetch("/api/spawn",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(a)});if(!o.ok)throw Error(await ev(o,"Failed to spawn desk agent"));let l=await o.json();e6.saveEntry(e),eW(!1),O.push((0,L._j)(l.id,W))}catch(e){rd((0,T.gJ)(e,"Failed to spawn desk agent"))}finally{e5.current=!1,e2(!1)}},rP=async(e,r,t)=>{ee("sidecar:".concat(r,":").concat(e));try{let l=void 0===t?{method:"POST"}:{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({clearPort:t})},n=await fetch("/api/sessions/".concat(encodeURIComponent(R),"/sidecars/").concat(encodeURIComponent(e),"/").concat(r),l);if(!n.ok){if("start"===r&&409===n.status){let e=await em(n.clone());if(e){var a,o;eb(e),ef(null!=(o=null==(a=e.candidates[0])?void 0:a.port)?o:null);return}}throw Error(await ev(n,"Failed to ".concat(r," sidecar ").concat(e)))}let s=await n.json();J((0,z.MH)(s)),eb(null),ef(null)}catch(t){rd((0,T.gJ)(t,"Failed to ".concat(r," sidecar ").concat(e)))}finally{ee(null)}},rT=async()=>{eN(!0);try{let e=await fetch("/api/sessions/".concat(encodeURIComponent(R),"/logs"),{cache:"no-store"});if(!e.ok)return;let r=await e.json();Array.isArray(r)&&eS(r)}catch(e){}},r_=async e=>{let r=Y.trim();if(null===G&&(r||0!==eM.length)&&!ep.current){ep.current=!0;try{let t=(0,P.ZM)(eM),a={message:r};t.length>0&&(a.attachments=t),(null==e?void 0:e.queue)!==void 0&&(a.queue=e.queue),(null==e?void 0:e.interrupt)!==void 0&&(a.interrupt=e.interrupt),await rC("send",a)}finally{ep.current=!1}}},rU=(0,s.useMemo)(()=>q?(0,A.Pn)(q):R,[q,R]);(0,s.useEffect)(()=>{(q||Z)&&(document.title=rU)},[Z,q,rU]);let rF=(0,s.useMemo)(()=>q?(0,A.zf)(q):null,[q]),rz=(0,s.useMemo)(()=>{if(q)return"error"===q.state||"killed"===q.state||"stopped"===q.state?q.state:"claude"===q.agent&&(null==re?void 0:re.state)==="working"?"working":q.state},[null==re?void 0:re.state,q]),rD=q?(0,D.z3)(q):null,rB=null==rD?void 0:rD.dueAt,[rH,rW]=(0,s.useState)(()=>Date.now());(0,s.useEffect)(()=>{if(!rB)return;let e=window.setInterval(()=>rW(Date.now()),1e3);return()=>window.clearInterval(e)},[rB]);let rK=rD?(0,D.TL)(rD.dueAt,rH):null,rO=(0,s.useMemo)(()=>re?[...re.messages.map(e=>({key:"".concat(e.timestampMs,":").concat(e.role,":").concat(e.text),role:e.role,text:e.text})),..."working"===re.state?[{key:"pending-assistant-response",role:"assistant",text:"...",pending:!0}]:[]]:[],[re]),rq=(0,s.useMemo)(()=>(0,L.qZ)(new URLSearchParams(ej)),[ej]),rJ=(0,s.useMemo)(()=>{var e;return new Set((null!=(e=null==q?void 0:q.sidecars)?e:[]).map(e=>e.name))},[q]),rX=null!=(o=null==q?void 0:q.artifacts)?o:[],rY=ro?rX.findIndex(e=>e.id===ro):-1,rQ=rY>=0&&null!=(y=rX[rY])?y:null,rZ=q&&rQ?er(q.id,rQ.id):null,rV=rY>=0&&rY<rX.length-1,rG=(0,s.useCallback)(e=>{rl(r=>{var t,a;let o=rX.findIndex(e=>e.id===r);return o<0?r:null!=(a=null==(t=rX[o+e])?void 0:t.id)?a:r})},[rX]),r$=(0,s.useCallback)(()=>rG(-1),[rG]),r0=(0,s.useCallback)(()=>rG(1),[rG]),r1=(0,s.useMemo)(()=>{var e;return null!=(e=null==q?void 0:q.artifacts.filter(e=>"automatic"!==e.origin&&!0!==e.addedByUser))?e:[]},[q]),r2=(0,s.useMemo)(()=>{var e;return null!=(e=null==q?void 0:q.artifacts.filter(e=>"automatic"!==e.origin&&!0===e.addedByUser))?e:[]},[q]),r5=(0,s.useMemo)(()=>{var e;return null!=(e=null==q?void 0:q.artifacts.filter(e=>"automatic"===e.origin))?e:[]},[q]),r3=(0,s.useMemo)(()=>"attached"===rn?r2:"system"===rn?r5:r1,[rn,r1,r2,r5]),r4=(0,s.useMemo)(()=>new Set(r3.map(e=>e.id)),[r3]),r6=(0,s.useMemo)(()=>{var e,r;let t=null!=(e=null==q?void 0:q.startupAttachmentIds)?e:[];return null!=(r=null==q?void 0:q.artifacts.filter(e=>t.includes(e.id)))?r:[]},[q]),{surfacedLinks:r8,visibleLinks:r7}=function(e,r){let t=[],a=[],o=new Set;for(let l of e){if("tracker"===l.label||(0,I.do)(l.label)){o.has(l.url)||(t.push(l),o.add(l.url));continue}r.has(l.label)||o.has(l.url)||a.push(l)}return{surfacedLinks:t,visibleLinks:a}}(null!=(j=null==q?void 0:q.links)?j:[],rJ),r9=null!=(w=null==q||null==(r=q.workspaceAccess)?void 0:r.items)?w:[];(0,s.useEffect)(()=>{ro&&q&&(rX.some(e=>e.id===ro)||rl(null))},[rX,ro,q]),(0,s.useEffect)(()=>{if(!ro)return;let e=e=>{if("Escape"===e.key)return void rl(null);if("ArrowLeft"===e.key){e.preventDefault(),r$();return}"ArrowRight"===e.key&&(e.preventDefault(),r0())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[r0,r$,ro]),(0,s.useEffect)(()=>{let e="attached"===rn?r2.length:"system"===rn?r5.length:r1.length;"agent"!==rn&&0===e&&rs("agent")},[rn,r1.length,r2.length,r5.length]);let te=q&&q.runtimeAlive&&!(0,z.zi)(q)&&!!q.tmuxSession,tr=!!(q&&(rq===q.id||null!==rq&&rq.startsWith("".concat(q.id,"--")))),tt=!!(te&&tr),ta=!!((null==q?void 0:q.workspaceExists)&&q.worktreePath.trim()),to=(0,s.useMemo)(()=>{var e;let r=(null!=(e=null==q?void 0:q.deskGroupMembers)?e:[]).filter(e=>"killed"!==e.status);return{visible:rp?r:r.filter(e=>"completed"!==e.status),hiddenCompletedCount:r.filter(e=>"completed"===e.status).length,total:r.length}},[null==q?void 0:q.deskGroupMembers,rp]),tl=(0,s.useCallback)(()=>{var e,r;q&&(eL(q.prompt),eB(null!=(e=q.startupAttachmentIds)?e:[]),ez([]),eT(q.agent),eU(null!=(r=q.model)?r:null),eA(!0))},[q]),tn=e9.dismissModal;(0,s.useEffect)(()=>{eE||tn()},[eE,tn]),(0,s.useEffect)(()=>{if(!rq||!q||tr&&te)return;let e=(0,L.F7)(window.location.search,null);window.history.replaceState(null,"","".concat(window.location.pathname).concat(e).concat(window.location.hash)),ew(window.location.search)},[te,tr,rq,q]);let ts=e=>{let r=(0,L.F7)(window.location.search,e);window.history.pushState(null,"","".concat(window.location.pathname).concat(r).concat(window.location.hash)),ew(window.location.search)},ti=(0,s.useCallback)(async(e,r)=>{try{await ei(r),rc("".concat(e," copied"),r.length>96?"".concat(r.slice(0,96),"..."):r)}catch(r){rd("Couldn't copy ".concat(e),(0,T.gJ)(r,"Clipboard is unavailable."))}},[rd,rc]),tc=null!=(k=null!=eh?eh:null==ex||null==(t=ex.candidates[0])?void 0:t.port)?k:null,td=null!==ex&&G==="sidecar:start:".concat(ex.sidecarName);return(0,a.jsxs)("main",{className:"mx-auto max-w-[1500px] px-4 py-4 sm:px-5 lg:px-6",children:[(0,a.jsx)(l(),{className:"inline-flex items-center gap-2 text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)] hover:no-underline",href:(0,L.A4)(W),children:"← Back"}),q?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("header",{className:"mt-4 border-b-2 border-[var(--color-accent)] pb-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-[var(--color-text-tertiary)] uppercase tracking-[0.1em]",children:[(0,a.jsx)("span",{children:q.projectName}),(0,a.jsx)("span",{children:"•"}),(0,a.jsx)("span",{children:q.agent}),(0,a.jsx)("span",{children:"•"}),(0,a.jsx)("span",{className:"font-mono",children:q.id})]}),(0,a.jsxs)("div",{className:"mt-2 flex items-start gap-2",children:[(0,a.jsx)("h1",{className:"min-w-0 text-xl font-bold tracking-[-0.02em] text-[var(--color-text-primary)] uppercase sm:text-2xl",children:rU}),q.prompt.trim()?(0,a.jsx)("button",{"aria-label":"Copy prompt",className:"inline-flex h-8 w-8 shrink-0 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-primary)] transition hover:border-[var(--color-accent)] hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-accent)] active:scale-[0.97]",onClick:()=>void ti("Prompt",q.prompt),title:"Copy prompt",type:"button",children:(0,a.jsx)(K,{})}):null]}),rF?(0,a.jsx)("p",{className:"mt-1 max-w-3xl text-[var(--color-text-secondary)]",children:rF}):null,to.total>1?(0,a.jsxs)("nav",{"aria-label":"Checkout group",className:"mt-3 flex flex-wrap items-center gap-1 border-b border-[var(--color-border-subtle)] pb-2",children:[to.visible.map(e=>{let r=e.id===q.id;return(0,a.jsxs)(l(),{"aria-current":r?"page":void 0,"aria-label":"".concat(e.agent," ").concat(e.id),className:"inline-flex items-center gap-1 border-b-2 px-1.5 pb-0.5 text-[10px] font-bold uppercase tracking-[0.1em] transition ".concat(r?"border-[var(--color-accent)] text-[var(--color-text-primary)]":"border-transparent text-[var(--color-text-tertiary)] hover:text-[var(--color-text-primary)]"),href:(0,L._j)(e.id,W),children:[(0,a.jsx)("span",{title:"".concat(e.state).concat(e.runtimeAlive?"":" offline"),children:(0,a.jsx)(C,{activity:e.state,dotOnly:!0})}),(0,a.jsxs)("span",{children:[e.agent," \xb7 ",(0,A.kU)(e.id,18)]})]},e.id)}),to.hiddenCompletedCount>0?(0,a.jsx)("button",{type:"button","aria-expanded":rp,"aria-label":rp?"Hide completed desk agents":"Show completed desk agents",className:"border-b-2 border-transparent px-1.5 pb-0.5 text-[10px] font-bold uppercase tracking-[0.1em] text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>rx(e=>!e),children:"..."}):null]}):null,(0,a.jsxs)("div",{className:"mt-3 flex flex-wrap items-center gap-2",children:[rz?(0,a.jsx)(C,{activity:rz}):null,q.branch?(0,a.jsx)("span",{className:"border border-[var(--color-border-default)] px-2 py-0.5 font-mono text-[var(--color-text-secondary)]",children:q.branch}):null,rD?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 border border-[var(--color-border-default)] px-2 py-0.5 text-[var(--color-status-attention)]",title:"interval"===rD.kind?"Interval wake scheduled":"daily"===rD.kind?"Daily wake scheduled":"Wake scheduled",children:[(0,a.jsx)(H,{recurring:"one-shot"!==rD.kind}),(0,a.jsx)("span",{children:rD.label.toLowerCase()}),(0,a.jsx)("span",{className:"font-mono text-[var(--color-text-primary)]",children:rK}),rD.intervalMs?(0,a.jsxs)("span",{className:"font-mono text-[10px] uppercase tracking-[0.08em] text-[var(--color-text-tertiary)]",children:["every ",(0,D.re)(rD.intervalMs)]}):null,rD.dailyAt?(0,a.jsxs)("span",{className:"font-mono text-[10px] uppercase tracking-[0.08em] text-[var(--color-text-tertiary)]",children:["daily ",rD.dailyAt.join(", ")]}):null]}):null,r8.map(e=>(0,a.jsx)(m.w,{link:e},"".concat(e.label,"-").concat(e.url))),q.runtimeAlive||(0,z.zi)(q)?null:(0,a.jsx)("span",{className:"border border-[var(--color-chip-error-border)] px-2 py-0.5 text-[var(--color-chip-error-text)]",children:"offline"}),(0,z.ib)(q)?(0,a.jsx)("span",{className:"border border-[var(--color-chip-warn-border)] px-2 py-0.5 text-[var(--color-chip-warn-text)]",children:"service issue"}):null]})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-[var(--color-border-default)] py-3",children:[te?(0,a.jsx)("button",{type:"button",className:"border border-[var(--color-accent)] bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)]",onClick:()=>ts(q.id),children:"Terminal"}):null,q?(0,a.jsx)("button",{type:"button",disabled:null!==G||e1||!ta,className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",onClick:()=>{var e;q&&(eJ(q.agent),eO(""),eY(null!=(e=q.branch)?e:""),eZ(!1),eG([]),e0([]),eW(!0))},title:ta?"Opens a second agent in this checkout directory with the same branch":"No reusable checkout is available",children:"Desk agent"}):null,(0,z.J2)(q)?(0,a.jsx)("button",{type:"button",disabled:null!==G,onClick:()=>void rC("pause"),className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",children:"pause"===G?"Pausing...":"Pause"}):null,(0,z.qX)(q)?(0,a.jsx)("button",{type:"button",disabled:null!==G,onClick:()=>void rC("restore"),className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",children:"restore"===G?"Restoring...":"Restore"}):null,(0,z.hV)(q)?(0,a.jsx)("button",{type:"button",disabled:null!==G,onClick:()=>ed(function(e){let r=["force_kill"];return(0,z.zi)(e)||r.push("respawn"),{code:"session_not_restorable",sessionId:e.id,reason:"Session ".concat(e.id," is not restorable"),availableActions:r}}(q)),className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",children:"Recover"}):null,(0,z.ab)(q)?(0,a.jsx)("button",{type:"button",disabled:null!==G,onClick:()=>void rC("complete"),className:"border border-[var(--color-status-ready)] px-3 py-1.5 font-bold uppercase text-[var(--color-status-ready)] transition hover:bg-[var(--color-status-ready)]/10 disabled:opacity-50",children:"complete"===G?"Completing...":"Complete"}):null,(0,z.zi)(q)?null:(0,a.jsx)("button",{type:"button",disabled:null!==G,onClick:()=>void rC("kill",{force:!0}),className:"border border-[var(--color-status-error)] px-3 py-1.5 font-bold uppercase text-[var(--color-status-error)] transition hover:bg-[var(--color-status-error)]/10 disabled:opacity-50",children:"kill"===G?"Killing...":"Kill"}),(0,z.fK)(q)?(0,a.jsx)("button",{type:"button",disabled:null!==G,onClick:tl,className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",children:"respawn"===G?"Respawning...":"Edit & Respawn"}):null,(0,a.jsx)("button",{type:"button",onClick:()=>void rT(),className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)]",children:"Logs"})]}),(0,a.jsxs)("div",{className:"mt-4 grid gap-4 lg:grid-cols-[minmax(0,1.2fr)_minmax(16rem,0.8fr)]",children:[(0,a.jsxs)("div",{className:"space-y-4",children:["claude"===q.agent&&(null==re?void 0:re.messages.length)?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Dialog",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"}),re.durationMs>0?(0,a.jsx)("span",{className:"font-normal normal-case tracking-normal",children:function(e){let r=Math.floor(e/1e3),t=Math.floor(r/3600),a=Math.floor(r%3600/60);return t>0?"".concat(t,"h ").concat(a,"m"):a>0?"".concat(a,"m"):"<1m"}(re.durationMs)}):null]}),(0,a.jsx)("div",{ref:rf,className:"flex max-h-80 flex-col gap-2 overflow-y-auto border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] p-3",children:rO.map(e=>(0,a.jsx)("div",{"aria-label":e.pending?"Assistant is responding":void 0,className:"min-w-0 max-w-[85%] px-3 py-2 ".concat("user"===e.role?"ml-auto border border-[var(--color-accent)]/30 bg-[var(--color-accent)]/10 text-[var(--color-text-primary)]":e.pending?"mr-auto border border-[var(--color-border-strong)] bg-[var(--color-bg-elevated)] text-[var(--color-text-tertiary)]":"mr-auto border border-[var(--color-border-default)] text-[var(--color-text-secondary)]"),children:(0,a.jsx)("div",{className:"".concat($," ").concat(e.pending?"animate-pulse tracking-[0.3em]":""),children:e.pending?e.text:e.text.length>500?e.text.slice(0,500)+"...":e.text})},e.key))})]}):null,q.queuedMessages.messages.length>0||q.queuedMessages.awaitingPrompt?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Queued messages",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),q.queuedMessages.messages.length>0?(0,a.jsx)("ol",{"aria-label":"Queued messages list",className:"space-y-2",children:q.queuedMessages.messages.map((e,r)=>(0,a.jsxs)("li",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-3 py-2",children:[(0,a.jsxs)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:["#",r+1]}),(0,a.jsx)("div",{className:"mt-1 ".concat($," text-[var(--color-text-secondary)]"),children:e})]},"".concat(q.id,":queued:").concat(r,":").concat(e)))}):null,q.queuedMessages.awaitingPrompt?(0,a.jsx)("p",{className:"mt-2 text-[var(--color-text-secondary)]",children:"Awaiting agent prompt. Queued messages will send automatically when the agent is ready."}):null]}):null,(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Message",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),(0,z.Us)(q)?(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(d.U,{attachments:eM,clearLabel:"Clear message",minHeightClass:"min-h-24",onAddFiles:e=>{(0,P.kQ)(e).then(e=>eR(r=>[...r,...e])).catch(()=>{})},onChange:Q,onKeyDown:e=>{if((0,F.tF)(e)){e.preventDefault(),ey.toggleRecording();return}(0,F.rU)(e)&&(e.preventDefault(),r_({queue:!1,interrupt:!0}))},onRemoveAttachment:e=>eR(r=>r.filter((r,t)=>t!==e)),placeholder:(0,f.uT)("Message to the running agent...",ey),textareaRef:ry,value:Y,voice:ey}),ey.voiceError?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-1.5 text-[var(--color-chip-error-text)]",children:ey.voiceError}):null,(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,a.jsx)("span",{className:"min-w-0 flex-1 text-[10px] text-[var(--color-text-tertiary)]",children:ey.voiceBusy&&!ey.recording?(0,a.jsx)(f.cQ,{voice:ey}):null}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,a.jsx)(b.t,{endpoint:q?"/api/sessions/".concat(encodeURIComponent(R),"/slash-commands"):null,onSelect:e=>(0,_.U)(ry.current,e.insertText,Q)}),(0,a.jsx)(u.$,{entries:eg.entries,onSelect:Q}),(0,a.jsxs)("button",{type:"button",disabled:null!==G||!Y.trim()&&0===eM.length,onClick:()=>void r_({queue:!0}),className:"inline-flex items-center gap-2 border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",children:["send"===G?(0,a.jsx)(X,{}):null,(0,a.jsx)("span",{children:"send"===G?"Queueing...":"Queue"})]}),(0,a.jsxs)("button",{type:"button",disabled:null!==G||!Y.trim()&&0===eM.length,onClick:()=>void r_({queue:!1,interrupt:!0}),className:"inline-flex items-center gap-2 bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:opacity-50",children:["send"===G?(0,a.jsx)(X,{}):null,(0,a.jsx)("span",{children:"send"===G?"Sending...":"Send now"}),"send"!==G?(0,a.jsx)("span",{"aria-hidden":"true",className:"ml-2 whitespace-nowrap font-mono text-[10px] font-medium normal-case tracking-normal text-[var(--color-text-tertiary)]",children:F.C9}):null]})]})]})]}):(0,a.jsx)("p",{className:"py-2 text-[var(--color-text-secondary)]",children:"Not accepting input. Restore to continue."})]}),r7.length>0?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Links",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:r7.map(e=>{var r,t;return(0,a.jsx)("a",{className:"border border-[var(--color-border-default)] px-2.5 py-1 text-[var(--color-accent)] hover:no-underline",href:e.url,rel:"noreferrer",target:"_blank",children:(r=e.label,t=e.url,"github-pr"===r?"github pr":"gitlab-pr"===r?"gitlab mr":"pr"===r?"gitlab"===(0,I.tS)(t)?"gitlab mr":"github pr":r)},"".concat(q.id,"-").concat(e.label,"-").concat(e.url))})})]}):null,q.artifacts.length>0?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Artifacts",(0,a.jsx)("span",{className:"text-[var(--color-text-secondary)]",children:r3.length}),(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),r2.length>0||r5.length>0?(0,a.jsx)("div",{"aria-label":"Artifact category",className:"mb-3 inline-flex border border-[var(--color-border-default)]",role:"tablist",children:[["agent","Agent (".concat(r1.length,")")],...r2.length>0?[["attached","Attached (".concat(r2.length,")")]]:[],...r5.length>0?[["system","System (".concat(r5.length,")")]]:[]].map(e=>{let[r,t]=e,o=rn===r;return(0,a.jsx)("button",{"aria-pressed":o,className:"border-r border-[var(--color-border-default)] px-3 py-1.5 font-bold uppercase tracking-[0.12em] last:border-r-0 ".concat(o?"bg-[var(--color-accent)] text-[var(--color-text-inverse)]":"text-[var(--color-text-secondary)] hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-text-primary)]"),onClick:()=>rs(r),type:"button",children:t},r)})}):null,r3.length>0?(0,a.jsx)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3 2xl:grid-cols-4",children:r3.map(e=>{var r;let t=er(q.id,e.id),o=null!=(r=rt[e.id])?r:"loading";return(0,a.jsx)(el,{artifact:e,artifactHref:t,onPreview:rl,onPreviewError:e=>ra(r=>({...r,[e]:"error"})),onPreviewReady:e=>ra(r=>({...r,[e]:"ready"})),previewState:o,variant:"attached"===rn&&"image"===e.kind?"attachedImage":"compact"},"".concat(q.id,"-").concat(e.id))})}):(0,a.jsx)("p",{className:"py-2 text-[var(--color-text-secondary)]",children:"attached"===rn?"No attached artifacts yet.":"system"===rn?"No system artifacts yet.":"No agent artifacts yet."})]}):null,q.services.length>0?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Services",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),q.services.map(e=>(0,a.jsxs)("div",{className:"data-row flex items-center justify-between gap-3 border-b border-[var(--color-border-subtle)] px-2 py-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"font-mono text-[var(--color-text-primary)]",children:e.serviceId}),(0,a.jsx)("span",{className:"ml-2 text-[var(--color-text-tertiary)]",children:e.command})]}),(0,a.jsxs)("span",{className:"text-[var(--color-text-secondary)]",children:[e.state,"number"==typeof e.port?" :".concat(e.port):""]})]},"".concat(q.id,"-").concat(e.serviceId)))]}):null]}),(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Runtime",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),(0,a.jsx)("dl",{className:"space-y-2 text-[var(--color-text-secondary)]",children:[["Created",(0,A.eB)(q.createdAt)],["Last activity",(0,A.fw)(q.lastActivityAt)],["Worktree",q.worktree?"isolated":"shared"],["Agent runtime",q.runtimeAlive?"alive":"offline"],["Workspace",q.workspaceExists?"present":"missing"],...rD&&rK?[["Wake",rD.label],["Next wake",rK]]:[],...(null==rD?void 0:rD.intervalMs)?[["Wake interval",(0,D.re)(rD.intervalMs)]]:[],...(null==rD?void 0:rD.dailyAt)?[["Wake daily at",rD.dailyAt.join(", ")]]:[]].map(e=>{let[r,t]=e;return(0,a.jsxs)("div",{className:"flex items-center justify-between gap-4 border-b border-[var(--color-border-subtle)] py-1.5",children:[(0,a.jsx)("dt",{className:"text-[var(--color-text-tertiary)]",children:r}),(0,a.jsx)("dd",{children:t})]},r)})}),(0,a.jsxs)("div",{className:"mt-3 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Worktree path"}),(0,a.jsx)("div",{className:"mt-1 font-mono text-[var(--color-text-secondary)]",children:(0,A.kU)(q.worktreePath,60)})]}),(null==rD?void 0:rD.stopCondition)?(0,a.jsxs)("div",{className:"mt-3 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Wake stop condition"}),(0,a.jsx)("div",{className:"mt-1 text-[var(--color-text-secondary)]",children:rD.stopCondition})]}):null,r9.length>0?(0,a.jsxs)("div",{className:"mt-3 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2",children:[(0,a.jsx)("div",{className:"text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Workspace Access"}),(0,a.jsx)("div",{className:"mt-2 space-y-2",children:r9.map(e=>(0,a.jsxs)("div",{className:"border border-[var(--color-border-subtle)] bg-[var(--color-bg-base)] px-2.5 py-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,a.jsx)("div",{className:"min-w-0",children:(0,a.jsx)("div",{className:"truncate text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-primary)]",children:e.label})}),"link"===e.kind?(0,a.jsx)("a",{"aria-label":"Open ".concat(e.label),className:"border border-[var(--color-border-strong)] px-2 py-0.5 text-[10px] font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] hover:no-underline",href:e.value,rel:"noreferrer",target:"_blank",children:"Open"}):(0,a.jsx)("button",{"aria-label":"Copy ".concat(e.label),type:"button",className:"inline-flex h-7 w-7 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-primary)] transition hover:border-[var(--color-accent)] hover:bg-[var(--color-hover-overlay)] hover:text-[var(--color-accent)] active:scale-[0.97]",onClick:()=>void ti(e.label,e.value),children:(0,a.jsx)(K,{})})]}),(0,a.jsx)("code",{className:"mt-2 block whitespace-pre-wrap break-all font-mono text-[var(--color-text-secondary)]",children:e.value})]},"".concat(e.kind,":").concat(e.label,":").concat(e.value)))})]}):null,q.error?(0,a.jsx)("div",{className:"mt-3 border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-2 text-[var(--color-chip-error-text)]",children:q.error}):null]}),q.sidecars.length>0?(0,a.jsxs)("section",{children:[(0,a.jsxs)("h2",{className:"flex items-center gap-2 py-2 text-[10px] font-bold uppercase tracking-[0.14em] text-[var(--color-text-tertiary)]",children:["Sidecars",(0,a.jsx)("div",{className:"flex-1 border-t border-[var(--color-border-subtle)]"})]}),(0,a.jsx)("div",{className:"space-y-2",children:q.sidecars.map(e=>{var r,t;let o=e.alive?null==(r=q.links.find(r=>r.label===e.name))?void 0:r.url:void 0;return(0,a.jsx)("div",{className:"border-b border-[var(--color-border-subtle)] py-1.5",children:(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-x-2 gap-y-1",children:[(0,a.jsx)("span",{className:"inline-block h-2 w-2 shrink-0 rounded-full ".concat(e.alive?"bg-[var(--color-chip-alive)]":"bg-[var(--color-text-tertiary)]"),"data-testid":"sidecar-status-".concat(e.name)}),(0,a.jsx)("span",{className:"min-w-0 break-all text-[var(--color-text-secondary)]",children:e.name}),null==(t=e.ports)?void 0:t.map(e=>(0,a.jsxs)("span",{className:"shrink-0 text-[var(--color-text-tertiary)]",children:[":",e.port]},e.env))]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[e.alive&&te?(0,a.jsx)("button",{type:"button",className:"border border-[var(--color-border-strong)] px-2 py-0.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)]",onClick:()=>ts("".concat(q.id,"--").concat(e.name)),children:"Terminal"}):null,o?(0,a.jsx)("a",{className:"border border-[var(--color-border-strong)] px-2 py-0.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] hover:no-underline",href:o,rel:"noreferrer",target:"_blank",children:"Open"}):null,(0,a.jsx)("button",{"aria-label":"".concat(e.alive?"Stop":"Start"," sidecar ").concat(e.name),className:"inline-flex h-6 w-6 items-center justify-center border border-[var(--color-border-strong)] text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:cursor-not-allowed disabled:opacity-50",disabled:null!==G,onClick:()=>void rP(e.name,e.alive?"stop":"start"),type:"button",children:e.alive?(0,a.jsx)(f.Jr,{className:"h-3.5 w-3.5"}):(0,a.jsx)(B,{})})]})]})},e.name)})})]}):null]}),ek?(0,a.jsxs)("div",{className:"fixed inset-0 z-50 flex flex-col bg-[var(--color-bg-base)]",role:"dialog","aria-label":"Logs ".concat(q.id),children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-4 border-b border-[var(--color-border-default)] px-4 py-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"font-bold uppercase text-[var(--color-text-primary)]",children:["Logs ",q.id]}),(0,a.jsx)("div",{className:"mt-1 text-[10px] uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Spur orchestrator events and runtime output"})]}),(0,a.jsx)("button",{type:"button",className:"text-[var(--color-text-tertiary)] hover:text-[var(--color-text-primary)]",onClick:()=>eN(!1),children:"✕"})]}),(0,a.jsx)("div",{className:"flex-1 overflow-y-auto px-4 py-4",children:0===eC.length?(0,a.jsx)("div",{className:"flex h-full items-center justify-center border border-dashed border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-4 text-center text-[var(--color-text-tertiary)]",children:"No Spur log entries yet."}):(0,a.jsx)("div",{className:"flex flex-col gap-3",children:eC.map((e,r)=>(0,a.jsx)(eu,{entry:e,sessionId:q.id,visibleArtifactIds:r4},"".concat(e.timestamp,"-").concat(e.event,"-").concat(r)))})})]}):null,tt&&te?(0,a.jsx)(S.s,{onClose:()=>ts(null),session:q,tmuxSessionOverride:rq!==q.id&&null!=rq?rq:void 0,titleSuffix:rq!==q.id?null==rq?void 0:rq.replace("".concat(q.id,"--"),""):void 0}):null,ec?(0,a.jsx)(v,{busy:null!==G,onCancel:()=>ed(null),onForceKill:()=>void rE(),onRespawn:()=>void rA(),payload:ec}):null,et?(0,a.jsx)(x.z,{busy:G===et.action,onAction:e=>void rS(e),onCancel:()=>ea(null),payload:et.payload}):null,eo?(0,a.jsx)(p,{busy:G===eo.action,onCancel:()=>en(null),onRetry:()=>void rR(),onSkip:()=>void rM(),payload:eo.payload}):null,ex?(0,a.jsx)("div",{"aria-labelledby":"sidecar-port-conflict-title","aria-modal":"true",className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)] p-4",onClick:e=>{e.target===e.currentTarget&&null===G&&(eb(null),ef(null))},role:"dialog",children:(0,a.jsxs)("div",{className:"w-full max-w-md border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)]",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"font-bold uppercase tracking-[0.1em] text-[var(--color-status-attention)]",id:"sidecar-port-conflict-title",children:"Port busy"}),(0,a.jsxs)("p",{className:"mt-2 leading-snug text-[var(--color-text-secondary)]",children:["Select a reserved port to clear, then start sidecar"," ",(0,a.jsx)("span",{className:"text-[var(--color-text-primary)]",children:ex.sidecarName})," ","on that port."]})]}),(0,a.jsx)("button",{"aria-label":"Close port conflict",className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)] disabled:opacity-50",disabled:null!==G,onClick:()=>{eb(null),ef(null)},type:"button",children:"✕"})]}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Port"}),(0,a.jsx)("select",{"aria-label":"Busy port for sidecar ".concat(ex.sidecarName),className:"".concat(E.s," w-full"),disabled:null!==G,onChange:e=>ef(Number.parseInt(e.target.value,10)),value:null!=tc?tc:"",children:ex.candidates.map(e=>(0,a.jsxs)("option",{value:e.port,children:[e.portId,":",e.port]},"".concat(e.portId,":").concat(e.port)))})]}),(0,a.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,a.jsx)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)] disabled:opacity-50",disabled:null!==G,onClick:()=>{eb(null),ef(null)},type:"button",children:"Cancel"}),(0,a.jsx)("button",{className:"bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:opacity-50",disabled:null!==G||null===tc,onClick:()=>{null!==tc&&rP(ex.sidecarName,"start",tc)},type:"button",children:td?"Clearing...":"Clear/Retry"})]})]})]})}):null,eE&&q&&eP?(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)]",onClick:e=>{e.target===e.currentTarget&&"respawn"!==G&&eA(!1)},children:(0,a.jsxs)("div",{className:"flex w-full max-h-[calc(100vh-1rem)] flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:max-h-[calc(100vh-2rem)] sm:w-full sm:max-w-lg sm:p-5",children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",children:"Edit & Respawn"}),(0,a.jsx)("button",{className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",disabled:"respawn"===G,onClick:()=>eA(!1),type:"button",children:"✕"})]}),rj?(0,a.jsx)("div",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-3 py-2 text-[11px] leading-snug text-[var(--color-text-secondary)]",role:"note",children:(0,a.jsxs)("div",{children:["This session links a PR (",rj.url,"). Respawn drops the replaced worktree after success—confirm merges or updates first if needed."]})}):null,(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(i.a,{ariaLabel:"Respawn agent",onChange:e=>{eT(e),eU(null)},value:eP}),(0,a.jsx)("div",{className:"min-w-40 flex-1",children:(0,a.jsx)(c.o,{agent:eP,ariaLabel:"Respawn model",onChange:eU,value:e_})})]}),(0,a.jsx)(d.U,{attachments:eF,clearLabel:"Clear respawn prompt",minHeightClass:"min-h-[10rem]",onAddFiles:e=>{(0,P.kQ)(e).then(e=>ez(r=>[...r,...e])).catch(()=>{})},onChange:eL,onRemoveAttachment:e=>ez(r=>r.filter((r,t)=>t!==e)),placeholder:(0,f.uT)("Edit the initial message...",e9),textareaRef:e7,value:eI,voice:e9}),e9.voiceError?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-1.5 text-[var(--color-chip-error-text)]",children:e9.voiceError}):null,r6.length>0?(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("div",{className:"text-[10px] font-bold uppercase tracking-[0.12em] text-[var(--color-text-tertiary)]",children:"Keep existing images"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:r6.map(e=>{let r=eD.includes(e.id);return(0,a.jsx)("button",{className:"relative border ".concat(r?"border-[var(--color-accent)]":"border-[var(--color-border-default)]"),onClick:()=>eB(r=>r.includes(e.id)?r.filter(r=>r!==e.id):[...r,e.id]),type:"button",children:(0,a.jsx)("img",{alt:e.name,className:"h-9 w-9 object-cover",src:er(q.id,e.id)})},e.id)})})]}):null,(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:(0,a.jsx)(f.cQ,{voice:e9})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)]",disabled:"respawn"===G,onClick:()=>eA(!1),type:"button",children:"Cancel"}),(0,a.jsx)("button",{className:"bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:opacity-50",disabled:"respawn"===G||!eI.trim()&&0===eD.length&&0===eF.length,onClick:()=>void rI(),type:"button",children:"respawn"===G?"Respawning...":"Respawn"})]})]})]})]})}):null,eH&&q?(0,a.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[var(--color-modal-backdrop)]",onClick:e=>{e.target!==e.currentTarget||e1||eW(!1)},children:(0,a.jsxs)("div",{className:"flex w-full max-h-[calc(100vh-1rem)] flex-col overflow-hidden border border-[var(--color-border-default)] bg-[var(--color-bg-base)] p-4 shadow-[0_20px_60px_var(--color-shadow-modal-lg)] sm:max-h-[calc(100vh-2rem)] sm:w-full sm:max-w-lg sm:p-5",onKeyDown:e=>{if((0,F.tF)(e)){e.preventDefault(),e8.toggleRecording();return}(0,F.rU)(e)&&(e.preventDefault(),rL())},children:[(0,a.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"font-bold uppercase tracking-[0.1em] text-[var(--color-text-primary)]",children:"Desk agent"}),(0,a.jsx)("button",{className:"text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",disabled:e1,onClick:()=>eW(!1),type:"button",children:"✕"})]}),(0,a.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col gap-3 overflow-y-auto",children:[(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(i.a,{ariaLabel:"Desk spawn agent",onChange:eJ,value:eq}),(0,a.jsx)("input",{"aria-label":"branch name",className:"min-w-0 flex-1 ".concat(E.s),onChange:e=>eY(e.target.value),placeholder:"Branch name",value:eX}),(0,a.jsxs)("label",{className:"flex cursor-pointer items-center gap-1.5 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2",children:[(0,a.jsx)("input",{checked:eQ,className:"accent-[var(--color-accent)]",onChange:e=>eZ(e.target.checked),type:"checkbox"}),(0,a.jsx)("span",{className:"font-bold uppercase text-[var(--color-text-primary)]",children:"Plan"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"max-h-48 space-y-2 overflow-y-auto",children:eV.map((e,r)=>(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)("input",{"aria-label":"step ".concat(r+1),className:"min-w-0 flex-1 ".concat(E.s),onChange:r=>{var t,a;return t=e.id,a=r.target.value,void eG(e=>e.map(e=>e.id===t?{...e,value:a}:e))},placeholder:"Step ".concat(r+1),value:e.value}),(0,a.jsx)("button",{className:"border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 text-[var(--color-text-tertiary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>{var r;return r=e.id,void eG(e=>e.filter(e=>e.id!==r))},type:"button",children:"✕"})]},e.id))}),(0,a.jsx)("button",{className:"mt-2 border border-[var(--color-border-default)] bg-[var(--color-bg-surface)] px-2.5 py-2 font-bold uppercase text-[var(--color-text-secondary)] transition hover:text-[var(--color-text-primary)]",onClick:()=>{e4.current+=1,eG(e=>[...e,{id:e4.current,value:""}])},type:"button",children:"+ Step"})]}),(0,a.jsx)(d.U,{ariaLabel:"Desk agent prompt",attachments:e$,clearLabel:"Clear desk agent prompt",minHeightClass:"min-h-[8rem] sm:min-h-[10rem]",onAddFiles:e=>{(0,P.kQ)(e).then(e=>e0(r=>[...r,...e])).catch(()=>{})},onChange:eO,onRemoveAttachment:e=>e0(r=>r.filter((r,t)=>t!==e)),placeholder:(0,f.uT)("First message",e8),textareaRef:e3,value:eK,voice:e8}),e8.voiceError?(0,a.jsx)("div",{className:"border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-2.5 py-1.5 text-[var(--color-chip-error-text)]",children:e8.voiceError}):null,(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[10px] text-[var(--color-text-tertiary)]",children:(0,a.jsx)(f.cQ,{voice:e8})}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(b.t,{endpoint:"/api/projects/".concat(encodeURIComponent(q.projectId),"/slash-commands?agent=").concat(encodeURIComponent(eq)),onSelect:e=>(0,_.U)(e3.current,e.insertText,eO)}),(0,a.jsx)(u.$,{entries:e6.entries,onSelect:eO})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[(0,a.jsx)("button",{className:"border border-[var(--color-border-strong)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-primary)] transition hover:bg-[var(--color-hover-overlay)]",disabled:e1,onClick:()=>eW(!1),type:"button",children:"Cancel"}),(0,a.jsxs)("button",{className:"inline-flex min-w-32 items-center justify-center gap-2 border border-[var(--color-accent)] bg-[var(--color-accent)] px-3 py-1.5 font-bold uppercase text-[var(--color-text-inverse)] transition hover:bg-[var(--color-accent-hover)] disabled:opacity-50",disabled:e1,onClick:()=>void rL(),type:"button",children:[(0,a.jsx)("span",{children:e1?"Spawning...":"Spawn"}),e1?null:(0,a.jsx)("span",{"aria-hidden":"true",className:"whitespace-nowrap font-mono text-[10px] font-medium normal-case tracking-normal text-[var(--color-text-tertiary)]",children:F.C9})]})]})]})]})}):null,(0,a.jsx)(es,{artifact:rQ,artifactHref:rZ,canGoNext:rV,canGoPrevious:rY>0,onClose:()=>rl(null),onNext:r0,onPrevious:r$,onPreviewError:e=>ra(r=>({...r,[e]:"error"})),onPreviewReady:e=>ra(r=>({...r,[e]:"ready"})),previewState:rQ&&null!=(N=rt[rQ.id])?N:"loading"})]}):Z?(0,a.jsxs)("div",{className:"mt-5 max-w-xl border border-[var(--color-chip-error-border)] bg-[var(--color-chip-error-bg)] px-3 py-3 text-[var(--color-chip-error-text)]",children:[(0,a.jsx)("p",{children:"Unable to load this session."}),(0,a.jsx)("p",{className:"mt-2 whitespace-pre-wrap break-words",children:Z}),(0,a.jsx)("button",{type:"button",onClick:()=>void rk(),className:"mt-3 border border-[var(--color-chip-error-border)] px-3 py-1.5 font-bold uppercase text-[var(--color-chip-error-text)] transition hover:bg-[var(--color-status-error)]/10",children:"Retry"})]}):(0,a.jsx)("p",{className:"mt-5 text-[var(--color-text-secondary)]",children:"Loading session..."}),(0,a.jsx)(M.U,{toasts:ri,onDismiss:ru})]})}}},e=>{e.O(0,[4096,7377,5124,4118,1835,7358],()=>e(e.s=5076)),_N_E=e.O()}]);
|
package/web/.next/static/chunks/{main-app-1cea33e0d8c88bba.js → main-app-96c0fcaf99db6703.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7358],{
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7358],{5530:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,2558,23)),Promise.resolve().then(n.t.bind(n,7895,23)),Promise.resolve().then(n.t.bind(n,8437,23)),Promise.resolve().then(n.t.bind(n,5086,23)),Promise.resolve().then(n.t.bind(n,1222,23)),Promise.resolve().then(n.t.bind(n,9022,23)),Promise.resolve().then(n.t.bind(n,2604,23)),Promise.resolve().then(n.t.bind(n,9599,23)),Promise.resolve().then(n.bind(n,7854))},7885:()=>{}},e=>{var s=s=>e(e.s=s);e.O(0,[4118,1835],()=>(s(8178),s(5530))),_N_E=e.O()}]);
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_b20d9a{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_b20d9a{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}
|
|
2
|
+
|
|
3
|
+
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-sans:var(--font-jetbrains-mono),"JetBrains Mono","SF Mono","Menlo","Consolas",monospace;--font-mono:var(--font-sans);--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--leading-tight:1.25;--leading-snug:1.375;--radius-sm:0px;--ease-out:cubic-bezier(0,0,.2,1);--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg-base:#0d0d0e;--color-bg-surface:#111112cc;--color-bg-elevated:#17171ae6;--color-terminal-bg:#0a0a0f;--color-border-subtle:#23232699;--color-border-default:#232326;--color-border-strong:#323236;--color-text-primary:#e1e1e1;--color-text-secondary:#a1a1a1;--color-text-tertiary:#555558;--color-text-inverse:#0d0d0e;--color-input-bg:#111112cc;--color-input-text:#e1e1e1;--color-input-border:#232326;--color-input-placeholder:#555558;--color-accent:#fff;--color-accent-hover:#fffc;--color-accent-violet:#a371f7;--color-hover-overlay:#ffffff0d;--color-modal-backdrop:#0009;--color-row-hover:#ffffff08;--color-scrollbar-thumb:#ffffff14;--color-scrollbar-thumb-hover:#ffffff26;--color-scrollbar-thumb-active:#ffffff40;--color-activity-pulse:#ffffff73;--color-shadow-menu:#0000004d;--color-shadow-modal-sm:#00000080;--color-shadow-modal-lg:#00000080;--color-status-working:#58a6ff;--color-status-ready:#3fb950;--color-status-attention:gold;--color-status-error:#ff4d4d;--color-chip-error-bg:#ef444414;--color-chip-error-border:#ef44444d;--color-chip-error-text:#fee2e2;--color-chip-warn-border:#fb923c4d;--color-chip-warn-text:#fed7aa;--color-chip-alive:#4ade80;--color-dot-bg-error:#f8514924;--color-dot-bg-inactive:#484f5833;--color-dot-bg-working:#58a6ff1a;--color-dot-bg-waiting:#d2992224}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-x-2{inset-inline:calc(var(--spacing)*2)}.top-0{top:calc(var(--spacing)*0)}.top-1{top:calc(var(--spacing)*1)}.top-2{top:calc(var(--spacing)*2)}.top-5{top:calc(var(--spacing)*5)}.top-6{top:calc(var(--spacing)*6)}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-1{right:calc(var(--spacing)*1)}.right-2{right:calc(var(--spacing)*2)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-2{bottom:calc(var(--spacing)*2)}.bottom-3{bottom:calc(var(--spacing)*3)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-9{bottom:calc(var(--spacing)*9)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-2{left:calc(var(--spacing)*2)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.z-\[90\]{z-index:90}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-1\.5{margin:calc(var(--spacing)*-1.5)}.m-1{margin:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-auto{margin-right:auto}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-auto{margin-left:auto}.\[display\:-webkit-box\]{display:-webkit-box}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.h-48{height:calc(var(--spacing)*48)}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-72{max-height:calc(var(--spacing)*72)}.max-h-80{max-height:calc(var(--spacing)*80)}.max-h-\[calc\(100vh-1rem\)\]{max-height:calc(100vh - 1rem)}.max-h-full{max-height:100%}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-6{min-height:calc(var(--spacing)*6)}.min-h-20{min-height:calc(var(--spacing)*20)}.min-h-24{min-height:calc(var(--spacing)*24)}.min-h-40{min-height:calc(var(--spacing)*40)}.min-h-\[8rem\]{min-height:8rem}.min-h-\[10rem\]{min-height:10rem}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-9{width:calc(var(--spacing)*9)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-44{width:calc(var(--spacing)*44)}.w-56{width:calc(var(--spacing)*56)}.w-80{width:calc(var(--spacing)*80)}.w-\[1\.15rem\]{width:1.15rem}.w-\[3\.5rem\]{width:3.5rem}.w-\[4rem\]{width:4rem}.w-\[7rem\]{width:7rem}.w-\[8rem\]{width:8rem}.w-\[14rem\]{width:14rem}.w-\[17rem\]{width:17rem}.w-\[min\(16rem\,calc\(100vw-1rem\)\)\]{width:min(16rem,100vw - 1rem)}.w-\[min\(20rem\,calc\(100vw-1rem\)\)\]{width:min(20rem,100vw - 1rem)}.w-\[min\(22rem\,calc\(100vw-2rem\)\)\]{width:min(22rem,100vw - 2rem)}.w-\[min\(calc\(100vw-2rem\)\,36rem\)\]{width:min(100vw - 2rem,36rem)}.w-full{width:100%}.w-max{width:max-content}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-24{max-width:calc(var(--spacing)*24)}.max-w-\[12rem\]{max-width:12rem}.max-w-\[85\%\]{max-width:85%}.max-w-\[1500px\]{max-width:1500px}.max-w-\[calc\(100\%-6rem\)\]{max-width:calc(100% - 6rem)}.max-w-\[calc\(100vw-1rem\)\]{max-width:calc(100vw - 1rem)}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-xl{max-width:var(--container-xl)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-32{min-width:calc(var(--spacing)*32)}.min-w-40{min-width:calc(var(--spacing)*40)}.min-w-\[12rem\]{min-width:12rem}.min-w-\[18rem\]{min-width:18rem}.min-w-\[180px\]{min-width:180px}.min-w-\[260px\]{min-width:260px}.min-w-\[min\(20rem\,calc\(100vw-1rem\)\)\]{min-width:min(20rem,100vw - 1rem)}.flex-1{flex:1}.flex-\[999_1_16rem\]{flex:999 16rem}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-zoom-in{cursor:zoom-in}.\[touch-action\:none\]{touch-action:none}.\[touch-action\:pan-y\]{touch-action:pan-y}.resize{resize:both}.resize-y{resize:vertical}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[2\.5rem_minmax\(0\,1fr\)_2\.5rem\]{grid-template-columns:2.5rem minmax(0,1fr) 2.5rem}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.grid-cols-\[auto_minmax\(0\,1fr\)_auto\]{grid-template-columns:auto minmax(0,1fr) auto}.grid-cols-\[minmax\(0\,1fr\)_auto\]{grid-template-columns:minmax(0,1fr) auto}.grid-rows-\[auto_minmax\(0\,1fr\)\]{grid-template-rows:auto minmax(0,1fr)}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing)*2)}.gap-x-3{column-gap:calc(var(--spacing)*3)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e+38px}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--color-accent\)\]{border-color:var(--color-accent)}.border-\[var\(--color-accent\)\]\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-\[var\(--color-accent\)\]\/30{border-color:color-mix(in oklab,var(--color-accent)30%,transparent)}}.border-\[var\(--color-border-default\)\]{border-color:var(--color-border-default)}.border-\[var\(--color-border-strong\)\]{border-color:var(--color-border-strong)}.border-\[var\(--color-border-subtle\)\]{border-color:var(--color-border-subtle)}.border-\[var\(--color-chip-error-border\)\]{border-color:var(--color-chip-error-border)}.border-\[var\(--color-chip-warn-border\)\]{border-color:var(--color-chip-warn-border)}.border-\[var\(--color-input-border\)\]{border-color:var(--color-input-border)}.border-\[var\(--color-status-attention\)\]{border-color:var(--color-status-attention)}.border-\[var\(--color-status-error\)\]{border-color:var(--color-status-error)}.border-\[var\(--color-status-ready\)\]{border-color:var(--color-status-ready)}.border-\[var\(--color-status-working\)\]{border-color:var(--color-status-working)}.border-transparent{border-color:#0000}.border-l-\[var\(--color-status-attention\)\]{border-left-color:var(--color-status-attention)}.border-l-\[var\(--color-status-error\)\]{border-left-color:var(--color-status-error)}.border-l-\[var\(--color-status-working\)\]{border-left-color:var(--color-status-working)}.border-l-\[var\(--color-text-inverse\)\]{border-left-color:var(--color-text-inverse)}.bg-\[color\:var\(--color-modal-backdrop\)\]{background-color:var(--color-modal-backdrop)}.bg-\[var\(--color-accent\)\]{background-color:var(--color-accent)}.bg-\[var\(--color-accent\)\]\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--color-accent\)\]\/10{background-color:color-mix(in oklab,var(--color-accent)10%,transparent)}}.bg-\[var\(--color-bg-base\)\]{background-color:var(--color-bg-base)}.bg-\[var\(--color-bg-elevated\)\]{background-color:var(--color-bg-elevated)}.bg-\[var\(--color-bg-surface\)\]{background-color:var(--color-bg-surface)}.bg-\[var\(--color-chip-alive\)\]{background-color:var(--color-chip-alive)}.bg-\[var\(--color-chip-error-bg\)\]{background-color:var(--color-chip-error-bg)}.bg-\[var\(--color-input-bg\)\]{background-color:var(--color-input-bg)}.bg-\[var\(--color-modal-backdrop\)\]{background-color:var(--color-modal-backdrop)}.bg-\[var\(--color-status-attention\)\]\/10{background-color:#ffd7001a}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--color-status-attention\)\]\/10{background-color:color-mix(in oklab,var(--color-status-attention)10%,transparent)}}.bg-\[var\(--color-status-error\)\]\/10{background-color:#ff4d4d1a}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--color-status-error\)\]\/10{background-color:color-mix(in oklab,var(--color-status-error)10%,transparent)}}.bg-\[var\(--color-status-error\)\]\/12{background-color:#ff4d4d1f}@supports (color:color-mix(in lab,red,red)){.bg-\[var\(--color-status-error\)\]\/12{background-color:color-mix(in oklab,var(--color-status-error)12%,transparent)}}.bg-\[var\(--color-terminal-bg\)\]{background-color:var(--color-terminal-bg)}.bg-\[var\(--color-text-tertiary\)\]{background-color:var(--color-text-tertiary)}.bg-transparent{background-color:#0000}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-1\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-10{padding-block:calc(var(--spacing)*10)}.pt-2{padding-top:calc(var(--spacing)*2)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-8{padding-right:calc(var(--spacing)*8)}.pr-12{padding-right:calc(var(--spacing)*12)}.pr-\[3\.25rem\]{padding-right:3.25rem}.pr-\[6rem\]{padding-right:6rem}.pb-0\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-2{padding-bottom:calc(var(--spacing)*2)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-14{padding-bottom:calc(var(--spacing)*14)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-4{--tw-leading:calc(var(--spacing)*4);line-height:calc(var(--spacing)*4)}.leading-5{--tw-leading:calc(var(--spacing)*5);line-height:calc(var(--spacing)*5)}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.3em\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-\[0\.06em\]{--tw-tracking:.06em;letter-spacing:.06em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-chip-error-text\)\]{color:var(--color-chip-error-text)}.text-\[var\(--color-chip-warn-text\)\]{color:var(--color-chip-warn-text)}.text-\[var\(--color-input-text\)\]{color:var(--color-input-text)}.text-\[var\(--color-status-attention\)\]{color:var(--color-status-attention)}.text-\[var\(--color-status-error\)\]{color:var(--color-status-error)}.text-\[var\(--color-status-ready\)\]{color:var(--color-status-ready)}.text-\[var\(--color-status-working\)\]{color:var(--color-status-working)}.text-\[var\(--color-text-inverse\)\]{color:var(--color-text-inverse)}.text-\[var\(--color-text-inverse\)\]\/72{color:#0d0d0eb8}@supports (color:color-mix(in lab,red,red)){.text-\[var\(--color-text-inverse\)\]\/72{color:color-mix(in oklab,var(--color-text-inverse)72%,transparent)}}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-\[var\(--color-text-tertiary\)\]{color:var(--color-text-tertiary)}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.accent-\[var\(--color-accent\)\]{accent-color:var(--color-accent)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow-\[0_4px_12px_var\(--color-shadow-modal-sm\)\]{--tw-shadow:0 4px 12px var(--tw-shadow-color,var(--color-shadow-modal-sm))}.shadow-\[0_4px_12px_var\(--color-shadow-modal-sm\)\],.shadow-\[0_8px_24px_var\(--color-shadow-modal-sm\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_8px_24px_var\(--color-shadow-modal-sm\)\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,var(--color-shadow-modal-sm))}.shadow-\[0_8px_30px_var\(--color-shadow-menu\)\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,var(--color-shadow-menu))}.shadow-\[0_20px_60px_var\(--color-shadow-modal-lg\)\],.shadow-\[0_8px_30px_var\(--color-shadow-menu\)\]{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_20px_60px_var\(--color-shadow-modal-lg\)\]{--tw-shadow:0 20px 60px var(--tw-shadow-color,var(--color-shadow-modal-lg))}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.\[-webkit-box-orient\:vertical\]{-webkit-box-orient:vertical}.\[-webkit-line-clamp\:2\]{-webkit-line-clamp:2}.group-focus-within\:pointer-events-auto:is(:where(.group):focus-within *){pointer-events:auto}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.group-hover\:border-\[var\(--color-border-subtle\)\]:is(:where(.group):hover *){border-color:var(--color-border-subtle)}.group-hover\:bg-\[var\(--color-accent\)\]\/15:is(:where(.group):hover *){background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.group-hover\:bg-\[var\(--color-accent\)\]\/15:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-accent)15%,transparent)}}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\/tag\:inline-flex:is(:where(.group\/tag):hover *){display:inline-flex}}.last\:border-r-0:last-child{border-right-style:var(--tw-border-style);border-right-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\:border-\[var\(--color-accent\)\]:hover{border-color:var(--color-accent)}.hover\:border-\[var\(--color-border-default\)\]:hover{border-color:var(--color-border-default)}.hover\:border-\[var\(--color-border-strong\)\]:hover{border-color:var(--color-border-strong)}.hover\:border-\[var\(--color-status-attention\)\]:hover{border-color:var(--color-status-attention)}.hover\:border-\[var\(--color-status-ready\)\]:hover{border-color:var(--color-status-ready)}.hover\:border-\[var\(--color-text-tertiary\)\]:hover{border-color:var(--color-text-tertiary)}.hover\:bg-\[var\(--color-accent\)\]\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-accent\)\]\/10:hover{background-color:color-mix(in oklab,var(--color-accent)10%,transparent)}}.hover\:bg-\[var\(--color-accent\)\]\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-accent\)\]\/20:hover{background-color:color-mix(in oklab,var(--color-accent)20%,transparent)}}.hover\:bg-\[var\(--color-accent\)\]\/25:hover{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-accent\)\]\/25:hover{background-color:color-mix(in oklab,var(--color-accent)25%,transparent)}}.hover\:bg-\[var\(--color-accent-hover\)\]:hover{background-color:var(--color-accent-hover)}.hover\:bg-\[var\(--color-bg-surface\)\]:hover{background-color:var(--color-bg-surface)}.hover\:bg-\[var\(--color-hover-overlay\)\]:hover{background-color:var(--color-hover-overlay)}.hover\:bg-\[var\(--color-status-attention\)\]:hover{background-color:var(--color-status-attention)}.hover\:bg-\[var\(--color-status-error\)\]\/10:hover{background-color:#ff4d4d1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-status-error\)\]\/10:hover{background-color:color-mix(in oklab,var(--color-status-error)10%,transparent)}}.hover\:bg-\[var\(--color-status-error\)\]\/18:hover{background-color:#ff4d4d2e}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-status-error\)\]\/18:hover{background-color:color-mix(in oklab,var(--color-status-error)18%,transparent)}}.hover\:bg-\[var\(--color-status-ready\)\]\/10:hover{background-color:#3fb9501a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-\[var\(--color-status-ready\)\]\/10:hover{background-color:color-mix(in oklab,var(--color-status-ready)10%,transparent)}}.hover\:text-\[var\(--color-accent\)\]:hover{color:var(--color-accent)}.hover\:text-\[var\(--color-bg-elevated\)\]:hover{color:var(--color-bg-elevated)}.hover\:text-\[var\(--color-status-attention\)\]:hover{color:var(--color-status-attention)}.hover\:text-\[var\(--color-status-ready\)\]:hover{color:var(--color-status-ready)}.hover\:text-\[var\(--color-text-primary\)\]:hover{color:var(--color-text-primary)}.hover\:text-\[var\(--color-text-secondary\)\]:hover{color:var(--color-text-secondary)}.hover\:no-underline:hover{text-decoration-line:none}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-70:hover{opacity:.7}}.focus\:border-\[var\(--color-accent\)\]:focus{border-color:var(--color-accent)}.focus-visible\:bg-\[var\(--color-status-attention\)\]:focus-visible{background-color:var(--color-status-attention)}.focus-visible\:text-\[var\(--color-bg-elevated\)\]:focus-visible{color:var(--color-bg-elevated)}.focus-visible\:text-\[var\(--color-text-primary\)\]:focus-visible{color:var(--color-text-primary)}.focus-visible\:opacity-70:focus-visible{opacity:.7}.active\:scale-\[0\.97\]:active{scale:.97}.active\:bg-\[var\(--color-hover-overlay\)\]:active{background-color:var(--color-hover-overlay)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:ml-auto{margin-left:auto}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-56{height:calc(var(--spacing)*56)}.sm\:max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.sm\:min-h-\[10rem\]{min-height:10rem}.sm\:w-10{width:calc(var(--spacing)*10)}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:max-w-md{max-width:var(--container-md)}.sm\:flex-none{flex:none}.sm\:shrink-0{flex-shrink:0}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:flex-nowrap{flex-wrap:nowrap}.sm\:justify-end{justify-content:flex-end}.sm\:justify-start{justify-content:flex-start}.sm\:gap-3{gap:calc(var(--spacing)*3)}.sm\:gap-x-6{column-gap:calc(var(--spacing)*6)}.sm\:p-3{padding:calc(var(--spacing)*3)}.sm\:p-4{padding:calc(var(--spacing)*4)}.sm\:p-5{padding:calc(var(--spacing)*5)}.sm\:px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.sm\:px-3{padding-inline:calc(var(--spacing)*3)}.sm\:px-4{padding-inline:calc(var(--spacing)*4)}.sm\:px-5{padding-inline:calc(var(--spacing)*5)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}}@media (min-width:48rem){.md\:inline{display:inline}}@media (min-width:64rem){.lg\:inline{display:inline}.lg\:grid-cols-\[minmax\(0\,1\.2fr\)_minmax\(16rem\,0\.8fr\)\]{grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr)}.lg\:px-6{padding-inline:calc(var(--spacing)*6)}}@media (min-width:80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:96rem){.\32 xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}body{font-family:var(--font-sans);background:var(--color-bg-base);color:var(--color-text-primary);letter-spacing:.02em;min-height:100vh;padding-bottom:1.5rem;font-size:12px}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{white-space:nowrap}input::placeholder,textarea::placeholder{color:var(--color-input-placeholder);opacity:1}@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea:not(.xterm-helper-textarea){font-size:16px}}@supports (zoom:1){@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea:not(.xterm-helper-textarea){zoom:.75}}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-scrollbar-thumb);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover)}::-webkit-scrollbar-thumb:active{background:var(--color-scrollbar-thumb-active)}.xterm .xterm-viewport{overscroll-behavior:contain}.xterm .xterm-helper-textarea{outline:none}@keyframes activity-pulse{0%,to{box-shadow:0 0 0 0 var(--color-activity-pulse)}50%{box-shadow:0 0 0 4px #0000}}.dot-pulse{animation:activity-pulse 2s ease-in-out infinite}.voice-spinner{animation:voice-spin .8s linear infinite}@keyframes voice-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.data-row:hover{background:var(--color-row-hover)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__BUILD_MANIFEST=function(e,r,t,_){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:25,errorRate:1e-4,numBits:480,numHashes:14,bitArray:[1,1,0,0,r,e,r,e,e,e,e,r,r,e,r,e,r,e,e,e,r,e,r,e,e,r,e,r,r,e,e,r,e,e,r,r,r,r,e,e,e,e,e,r,r,r,e,r,e,r,e,e,r,r,r,e,e,r,e,r,e,e,e,r,e,r,e,r,r,e,r,r,e,r,r,r,e,r,e,r,r,r,r,e,r,r,r,e,e,e,e,r,r,e,r,e,e,e,r,r,r,r,e,e,e,r,e,r,e,r,e,r,r,r,e,e,r,r,e,e,e,e,r,e,e,e,e,r,r,e,r,r,r,e,r,r,e,e,e,e,e,r,r,e,r,e,r,r,e,e,e,r,r,r,e,e,e,r,r,e,r,r,e,r,e,e,e,r,r,r,r,e,r,r,r,e,r,e,e,r,e,e,r,r,e,r,e,r,e,e,e,r,r,e,r,e,e,r,e,r,e,r,r,e,e,r,e,r,r,e,r,e,e,r,e,r,r,e,e,e,r,r,e,e,r,r,e,e,r,e,r,r,r,r,r,r,r,r,r,r,r,r,e,e,r,e,r,e,r,e,e,e,e,e,r,e,e,r,r,e,r,r,r,e,e,r,e,r,e,e,r,e,r,r,r,e,r,r,r,r,e,e,e,e,r,r,e,e,r,e,r,e,e,r,e,e,r,e,e,e,e,r,r,r,r,e,e,e,e,r,e,e,e,r,e,e,e,e,r,e,r,e,e,e,r,e,r,r,r,e,r,r,r,e,e,e,e,e,r,e,e,e,e,r,e,r,e,r,e,r,r,r,e,e,e,r,r,e,e,e,r,e,e,e,e,r,e,r,e,e,e,e,r,e,e,e,r,r,r,e,e,r,e,e,r,e,e,e,r,r,e,r,e,r,e,r,r,r,e,e,e,e,e,r,r,r,r,e,r,r,e,e,e,r,r,e,e,e,r,r,r,e,e,e,r,e,e,r,r,e,e,r,r,r,r,e,r,r,r,r,r,r,r,e,e,e,e,r,e,r,e,r,e,e,r,e,e,e,r,e,r,r,r,r,e,e,e,r,e,r,e,r,e,e,r,r,e,r,r,e]},__routerFilterDynamic:{numItems:3,errorRate:1e-4,numBits:58,numHashes:14,bitArray:[e,e,r,e,e,r,r,r,e,r,e,r,e,r,r,e,r,r,e,e,r,r,e,e,r,e,r,e,r,e,e,r,r,e,e,e,e,e,r,r,r,r,e,r,r,e,r,r,e,e,r,r,e,r,r,e,e,r]},"/_error":["static/chunks/pages/_error-e84a7743304b1fa0.js"],sortedPages:["/_app","/_error"]}}(1,0,1e-4,14),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|