conductor-oss 0.61.21 → 0.61.23
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/node_modules/@conductor-oss/core/package.json +1 -1
- package/package.json +6 -6
- package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/README.md +46 -0
- package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/lib/glib-2.0/include/glibconfig.h +219 -0
- package/web/.next/standalone/node_modules/@img/{sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.17.3 → sharp-libvips-linux-x64/lib/libvips-cpp.so.8.18.3} +0 -0
- package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/package.json +2 -2
- package/web/.next/standalone/node_modules/@img/sharp-libvips-linux-x64/versions.json +20 -20
- package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/README.md +46 -0
- package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/lib/glib-2.0/include/glibconfig.h +219 -0
- package/web/.next/standalone/node_modules/@img/{sharp-libvips-linux-x64/lib/libvips-cpp.so.8.17.3 → sharp-libvips-linuxmusl-x64/lib/libvips-cpp.so.8.18.3} +0 -0
- package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/package.json +2 -2
- package/web/.next/standalone/node_modules/@img/sharp-libvips-linuxmusl-x64/versions.json +20 -20
- package/web/.next/standalone/node_modules/@img/sharp-linux-x64/index.cjs +1 -0
- package/web/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64-0.35.0.node +0 -0
- package/web/.next/standalone/node_modules/@img/sharp-linux-x64/package.json +6 -5
- package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/index.cjs +1 -0
- package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64-0.35.0.node +0 -0
- package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/package.json +6 -5
- package/web/.next/standalone/node_modules/@next/env/package.json +8 -9
- package/web/.next/standalone/node_modules/next/dist/build/swc/index.js +1 -1
- package/web/.next/standalone/node_modules/next/dist/build/webpack-config.js +3 -3
- package/web/.next/standalone/node_modules/next/dist/client/dev/debug-channel.js +102 -2
- package/web/.next/standalone/node_modules/next/dist/compiled/http-proxy/index.js +5 -5
- package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +11 -10
- package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +12 -11
- package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +14 -13
- package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +11 -10
- package/web/.next/standalone/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +2 -2
- package/web/.next/standalone/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +9 -9
- package/web/.next/standalone/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +9 -9
- package/web/.next/standalone/node_modules/next/dist/lib/patch-incorrect-lockfile.js +3 -3
- package/web/.next/standalone/node_modules/next/dist/server/app-render/action-handler.js +147 -42
- package/web/.next/standalone/node_modules/next/dist/server/app-render/manifests-singleton.js +52 -4
- package/web/.next/standalone/node_modules/next/dist/server/config-schema.js +1 -1
- package/web/.next/standalone/node_modules/next/dist/server/config-shared.js +0 -2
- package/web/.next/standalone/node_modules/next/dist/server/config.js +1 -1
- package/web/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +2 -2
- package/web/.next/standalone/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
- package/web/.next/standalone/node_modules/next/dist/server/image-optimizer.js +8 -27
- package/web/.next/standalone/node_modules/next/dist/server/lib/app-info-log.js +1 -1
- package/web/.next/standalone/node_modules/next/dist/server/lib/encode-cache-tag.js +45 -0
- package/web/.next/standalone/node_modules/next/dist/server/lib/implicit-tags.js +6 -3
- package/web/.next/standalone/node_modules/next/dist/server/lib/incremental-cache/index.js +90 -53
- package/web/.next/standalone/node_modules/next/dist/server/lib/patch-fetch.js +20 -3
- package/web/.next/standalone/node_modules/next/dist/server/lib/router-utils/proxy-request.js +4 -0
- package/web/.next/standalone/node_modules/next/dist/server/lib/start-server.js +1 -1
- package/web/.next/standalone/node_modules/next/dist/shared/lib/errors/canary-only-config-error.js +1 -1
- package/web/.next/standalone/node_modules/next/dist/shared/lib/router/router.js +8 -1
- package/web/.next/standalone/node_modules/next/dist/shared/lib/router/utils/prepare-destination.js +2 -1
- package/web/.next/standalone/node_modules/next/dist/shared/lib/server-reference-info.js +12 -0
- package/web/.next/standalone/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
- package/web/.next/standalone/node_modules/next/dist/telemetry/events/swc-load-failure.js +1 -1
- package/web/.next/standalone/node_modules/next/dist/telemetry/events/version.js +2 -2
- package/web/.next/standalone/node_modules/next/package.json +10 -252
- package/web/.next/standalone/node_modules/postcss/lib/container.js +81 -34
- package/web/.next/standalone/node_modules/postcss/lib/fromJSON.js +76 -23
- package/web/.next/standalone/node_modules/postcss/lib/input.js +13 -4
- package/web/.next/standalone/node_modules/postcss/lib/lazy-result.js +55 -13
- package/web/.next/standalone/node_modules/postcss/lib/node.js +105 -60
- package/web/.next/standalone/node_modules/postcss/lib/previous-map.js +11 -2
- package/web/.next/standalone/node_modules/postcss/lib/processor.js +1 -1
- package/web/.next/standalone/node_modules/postcss/lib/stringifier.js +90 -25
- package/web/.next/standalone/node_modules/postcss/package.json +1 -1
- package/web/.next/standalone/node_modules/sharp/{lib/channel.js → dist/channel.cjs} +1 -1
- package/web/.next/standalone/node_modules/sharp/{lib/colour.js → dist/colour.cjs} +1 -1
- package/web/.next/standalone/node_modules/sharp/{lib/composite.js → dist/composite.cjs} +2 -1
- package/web/.next/standalone/node_modules/sharp/{lib/constructor.js → dist/constructor.cjs} +41 -29
- package/web/.next/standalone/node_modules/sharp/dist/index.cjs +25 -0
- package/web/.next/standalone/node_modules/sharp/{lib/input.js → dist/input.cjs} +19 -14
- package/web/.next/standalone/node_modules/sharp/{lib/libvips.js → dist/libvips.cjs} +35 -30
- package/web/.next/standalone/node_modules/sharp/{lib/operation.js → dist/operation.cjs} +6 -35
- package/web/.next/standalone/node_modules/sharp/{lib/output.js → dist/output.cjs} +142 -14
- package/web/.next/standalone/node_modules/sharp/{lib/resize.js → dist/resize.cjs} +19 -1
- package/web/.next/standalone/node_modules/sharp/dist/sharp.cjs +164 -0
- package/web/.next/standalone/node_modules/sharp/{lib/utility.js → dist/utility.cjs} +11 -7
- package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/range.js +24 -4
- package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/semver.js +19 -2
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/clean.js +8 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare-build.js +9 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/compare-loose.js +5 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/diff.js +60 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/inc.js +21 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/major.js +5 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/minor.js +5 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/patch.js +5 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/prerelease.js +8 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/rcompare.js +5 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/rsort.js +5 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/sort.js +5 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/truncate.js +48 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/functions/valid.js +8 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/index.js +93 -0
- package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/re.js +1 -1
- package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/package.json +4 -4
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/preload.js +4 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/gtr.js +6 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/intersects.js +9 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/ltr.js +6 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/max-satisfying.js +27 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/min-satisfying.js +26 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/min-version.js +63 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/outside.js +82 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/simplify.js +49 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/subset.js +249 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/to-comparators.js +10 -0
- package/web/.next/standalone/node_modules/sharp/node_modules/semver/ranges/valid.js +13 -0
- package/web/.next/standalone/node_modules/sharp/package.json +60 -49
- package/web/.next/standalone/package.json +3 -2
- package/web/.next/standalone/packages/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/packages/web/.next/app-path-routes-manifest.json +9 -9
- package/web/.next/standalone/packages/web/.next/build-manifest.json +4 -4
- package/web/.next/standalone/packages/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/packages/web/.next/react-loadable-manifest.json +8 -8
- package/web/.next/standalone/packages/web/.next/required-server-files.json +6 -1
- package/web/.next/standalone/packages/web/.next/server/app/__clerk/[[...path]]/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/access/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/agents/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/app-update/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/attachments/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/auth/profile/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/boards/comments/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/boards/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/[bridgeId]/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/bridges/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/app-update/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/repair/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/[deviceId]/service-restart/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/claims/complete/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/code/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridge/devices/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/bridges/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/config/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/context-files/open/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/context-files/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/events/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/executor/health/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/directory/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/filesystem/pick-directory/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/github/projects/sync/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/github/repos/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/github/webhook/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/health/boards/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/health/sessions/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/preferences/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/backlinks/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/daily/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/file/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/graph/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/open/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/project-notes/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/approve/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/bindings/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/feed/stream/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/integration/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/interrupt/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/preferences/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/reject/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/send/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/handoff/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/[task]/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatcher/tasks/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/dispatchers/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/open/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/[id]/setup/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/projects/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/repositories/[id]/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/repositories/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/actions/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/archive/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/checks/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/diff/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/files/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/keys/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/kill/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/output/stream/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/dom/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/preview/screenshot/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/restore/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/send/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/relay/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/snapshot/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/token/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/token/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/[id]/terminal/ttyd/ws/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/activate/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/catalog/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/deactivate/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/install/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/installed/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/session-active/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/skills/uninstall/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/spawn/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/branches/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/api/workspaces/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/connect/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/install.ps1/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/bridge/install.sh/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/embed/terminal/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/icon.svg/route.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/settings/bridge/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/[[...sign-in]]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/hosted/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-in/sso-callback/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/sign-up/[[...sign-up]]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page.js.nft.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/app/unlock/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/app-paths-manifest.json +9 -9
- package/web/.next/standalone/packages/web/.next/server/chunks/2074.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/2512.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/3303.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/3698.js +5 -3
- package/web/.next/standalone/packages/web/.next/server/chunks/3786.js +2 -2
- package/web/.next/standalone/packages/web/.next/server/chunks/6108.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/6472.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/724.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/7481.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/7776.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/8688.js +1 -0
- package/web/.next/standalone/packages/web/.next/server/chunks/9455.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/9787.js +3 -3
- package/web/.next/standalone/packages/web/.next/server/middleware-build-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/middleware.js +4 -4
- package/web/.next/standalone/packages/web/.next/server/next-font-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/next-font-manifest.json +1 -1
- package/web/.next/standalone/packages/web/.next/server/pages/500.html +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/17319.f853545792589ec2.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{34443.c71c524d5fcc197f.js → 34443.fa5f443480cf2b8a.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/39816.fd2a8af735afdbe1.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/41696.3e691c667c1e7b81.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/41998.bfd148a33a5b285a.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/{61968-84de5fd1d154571d.js → 61968-1d55f423ea1ad7fb.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/76892-86e55e6d0e7ca057.js +1 -0
- package/web/.next/{static/chunks/79593-c8c8ed0f8829c660.js → standalone/packages/web/.next/static/chunks/79593-2f58ba44bc178231.js} +2 -2
- package/web/.next/standalone/packages/web/.next/static/chunks/81132.92c626a062747078.js +3 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/9016-c4fa23038e6de72b.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/{layout-1d6034a5d57a2849.js → layout-dc8ca6126999c95c.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-f3925343b6c5eaa9.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/page-b1d7e1d41fba2817.js +1 -0
- package/web/.next/{static/chunks/main-e776ff7a08a61c77.js → standalone/packages/web/.next/static/chunks/main-0a70c45f3b60fdcf.js} +1 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/webpack-0562fb102dd7e557.js +1 -0
- package/web/.next/standalone/packages/web/.next/static/css/dfd1cecfd68c43ff.css +1 -0
- package/web/.next/standalone/packages/web/package.json +2 -1
- package/web/.next/standalone/packages/web/server.js +1 -1
- package/web/.next/static/chunks/17319.f853545792589ec2.js +1 -0
- package/web/.next/static/chunks/{34443.c71c524d5fcc197f.js → 34443.fa5f443480cf2b8a.js} +1 -1
- package/web/.next/static/chunks/39816.fd2a8af735afdbe1.js +1 -0
- package/web/.next/static/chunks/41696.3e691c667c1e7b81.js +1 -0
- package/web/.next/static/chunks/41998.bfd148a33a5b285a.js +1 -0
- package/web/.next/static/chunks/{61968-84de5fd1d154571d.js → 61968-1d55f423ea1ad7fb.js} +1 -1
- package/web/.next/static/chunks/76892-86e55e6d0e7ca057.js +1 -0
- package/web/.next/{standalone/packages/web/.next/static/chunks/79593-c8c8ed0f8829c660.js → static/chunks/79593-2f58ba44bc178231.js} +2 -2
- package/web/.next/static/chunks/81132.92c626a062747078.js +3 -0
- package/web/.next/static/chunks/9016-c4fa23038e6de72b.js +1 -0
- package/web/.next/static/chunks/app/{layout-1d6034a5d57a2849.js → layout-dc8ca6126999c95c.js} +1 -1
- package/web/.next/static/chunks/app/page-f3925343b6c5eaa9.js +1 -0
- package/web/.next/static/chunks/app/sessions/[id]/page-b1d7e1d41fba2817.js +1 -0
- package/web/.next/{standalone/packages/web/.next/static/chunks/main-e776ff7a08a61c77.js → static/chunks/main-0a70c45f3b60fdcf.js} +1 -1
- package/web/.next/static/chunks/webpack-0562fb102dd7e557.js +1 -0
- package/web/.next/static/css/dfd1cecfd68c43ff.css +1 -0
- package/web/.next/standalone/node_modules/@img/sharp-linux-x64/LICENSE +0 -191
- package/web/.next/standalone/node_modules/@img/sharp-linux-x64/lib/sharp-linux-x64.node +0 -0
- package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/LICENSE +0 -191
- package/web/.next/standalone/node_modules/@img/sharp-linuxmusl-x64/lib/sharp-linuxmusl-x64.node +0 -0
- package/web/.next/standalone/node_modules/sharp/lib/index.js +0 -16
- package/web/.next/standalone/node_modules/sharp/lib/sharp.js +0 -121
- package/web/.next/standalone/packages/web/.next/server/chunks/1364.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/4013.js +0 -1
- package/web/.next/standalone/packages/web/.next/server/chunks/9398.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/28386-0121205400994756.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/39816.a3835fb513390d7c.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/41696.08fe09203aaf1a18.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/41998.4a8b2f9f7d29a4dc.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/81132.bfc52d50d21324b2.js +0 -3
- package/web/.next/standalone/packages/web/.next/static/chunks/84322.a03fd8fc2bb2e8d7.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/9016-2b7d7b8b143a8323.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/page-0ba7acf47a6b3ac6.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/app/sessions/[id]/page-aeb1ccc1a89248d5.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/chunks/webpack-c447583f01d6313b.js +0 -1
- package/web/.next/standalone/packages/web/.next/static/css/895fa8ff3c08143e.css +0 -1
- package/web/.next/static/chunks/28386-0121205400994756.js +0 -1
- package/web/.next/static/chunks/39816.a3835fb513390d7c.js +0 -1
- package/web/.next/static/chunks/41696.08fe09203aaf1a18.js +0 -1
- package/web/.next/static/chunks/41998.4a8b2f9f7d29a4dc.js +0 -1
- package/web/.next/static/chunks/81132.bfc52d50d21324b2.js +0 -3
- package/web/.next/static/chunks/84322.a03fd8fc2bb2e8d7.js +0 -1
- package/web/.next/static/chunks/9016-2b7d7b8b143a8323.js +0 -1
- package/web/.next/static/chunks/app/page-0ba7acf47a6b3ac6.js +0 -1
- package/web/.next/static/chunks/app/sessions/[id]/page-aeb1ccc1a89248d5.js +0 -1
- package/web/.next/static/chunks/webpack-c447583f01d6313b.js +0 -1
- package/web/.next/static/css/895fa8ff3c08143e.css +0 -1
- /package/web/.next/standalone/node_modules/sharp/{lib/is.js → dist/is.cjs} +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/classes/comparator.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/cmp.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/coerce.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/compare.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/eq.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gt.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/gte.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lt.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/lte.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/neq.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/parse.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/functions/satisfies.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/constants.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/debug.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/identifiers.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/lrucache.js +0 -0
- /package/web/.next/standalone/node_modules/{semver → sharp/node_modules/semver}/internal/parse-options.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_buildManifest.js +0 -0
- /package/web/.next/standalone/packages/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_ssgManifest.js +0 -0
- /package/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_buildManifest.js +0 -0
- /package/web/.next/static/{bUZhqJ_eDpMX4oqHwonGR → p-tYD_lKtKhjhiZkKCbLL}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[39816,88742],{7378:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},11896:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},18259:(e,t,r)=>{r.d(t,{AR:()=>n,Fp:()=>i,M_:()=>l,b:()=>o});let a="conductor:project-board-refresh",s=new Set(["dispatcher_task_created","dispatcher_task_updated","dispatcher_task_handed_off"]);function n(e){for(let t of e){let e=function(e){if("system"!==e.kind)return null;let t=e.metadata?.eventType;return"string"==typeof t&&t.trim().length>0?t.trim():null}(t);if(e&&s.has(e))return e}return null}function l(e,t){return!!(e.changedProjectIds?.includes(t)||e.sessions.some(e=>e.projectId===t))||"snapshot_delta"===e.type&&0===e.sessions.length}function i(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function o(e,t){let r=r=>{let a=r.detail;a&&a.projectId===e&&t(a)};return window.addEventListener(a,r),()=>{window.removeEventListener(a,r)}}},18510:(e,t,r)=>{r.d(t,{J:()=>s,s:()=>n});var a=r(10926);function s(e){let t=(0,a.C0)(e);if(!t)return"/";let r=new URLSearchParams;return r.set("bridge",t),`/?${r.toString()}`}function n(e,t={}){let r,s=e.trim(),l=(0,a.DW)(s)?s:(r=(0,a.C0)(t.bridgeId))?(0,a.Bp)(r,s):s,i=new URLSearchParams,o=t.tab?.trim();o&&i.set("tab",o);let d=i.toString(),c=`/sessions/${encodeURIComponent(l)}`;return d.length>0?`${c}?${d}`:c}},24774:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},39816:(e,t,r)=>{r.r(t),r.d(t,{WorkspaceKanban:()=>eD});var a=r(54568),s=r(96869),n=r(7620),l=r(79748),i=r(38874),o=r(24774),d=r(37812),c=r(58564),x=r(1173),m=r(57770),p=r(39789);let u=(0,p.A)("file-image",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["circle",{cx:"10",cy:"12",r:"2",key:"737tya"}],["path",{d:"m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",key:"wt3hpn"}]]);var v=r(99250),h=r(77024);let b=(0,p.A)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]),g=(0,p.A)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]),f=(0,p.A)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);var k=r(7378),j=r(88742),y=r(5966);let N=(0,p.A)("columns-3",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"M15 3v18",key:"14nvp0"}]]),w=(0,p.A)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var C=r(13932);let A=(0,p.A)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);var S=r(11896),P=r(94110),$=r(72410),I=r(66423),M=r(59207),E=r(10926),_=r(31404),R=r(46916),L=r(18510),D=r(18259),O=r(17210),F=r(76050);function T(e){return(0,F.tK)({metadata:e?.metadata??{}})}let B={intake:"#3c83f6",ready:"#f59f0a",dispatching:"#fb923c",inProgress:"#f59f0a",needsInput:"#eab308",blocked:"#d53946",errored:"#ef4444",review:"#895af6",merge:"#06b6d4",done:"#21c45d",cancelled:"#6b7280"},G={feature:{bg:"color-mix(in srgb, #3c83f6 16%, transparent)",text:"#60a5fa"},fix:{bg:"color-mix(in srgb, #f59f0a 16%, transparent)",text:"#fbbf24"},review:{bg:"color-mix(in srgb, #895af6 16%, transparent)",text:"#a78bfa"},chore:{bg:"color-mix(in srgb, #6b7280 16%, transparent)",text:"#9ca3af"},docs:{bg:"color-mix(in srgb, #21c45d 16%, transparent)",text:"#34d399"}},H={high:{bg:"color-mix(in srgb, #ef4444 14%, transparent)",text:"#f87171",dot:"#ef4444"},medium:{bg:"color-mix(in srgb, #f59f0a 14%, transparent)",text:"#fbbf24",dot:"#f59f0a"},low:{bg:"color-mix(in srgb, #3c83f6 14%, transparent)",text:"#60a5fa",dot:"#3c83f6"}},z={intake:"To do",ready:"Ready",dispatching:"Dispatching",inProgress:"In progress",needsInput:"Needs input",blocked:"Blocked",errored:"Errored",review:"In review",merge:"Merge",done:"Done",cancelled:"Cancelled"},U={intake:"New tasks",ready:"Cleared to dispatch",dispatching:"Launching agents",inProgress:"Agents working",needsInput:"Human needed",blocked:"Blocked on dependency",errored:"Needs attention",review:"Code waiting on eyes",merge:"Ready to land",done:"Completed",cancelled:"Cancelled"},J={obsidian:"Obsidian",vscode:"VS Code",notion:"Notion",typora:"Typora",logseq:"Logseq",custom:"your editor"},q=[{value:"feature",label:"Feature"},{value:"fix",label:"Fix"},{value:"review",label:"Review"},{value:"chore",label:"Chore"},{value:"docs",label:"Docs"}],W=[{value:"high",label:"High"},{value:"medium",label:"Medium"},{value:"low",label:"Low"}],V="z-[120] rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-2 shadow-[0_18px_50px_rgba(0,0,0,0.35)]",K="conductor:board-layout",Z="conductor:board-list-view:v2",Q=["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge","done","cancelled"],Y=["high","medium","low"],X={roles:[],priorities:[],agents:[],sortField:"title",sortDir:"asc",groupBy:"status",collapsedGroups:[]},ee={...X,groupBy:"none"},et=[{label:"All",roles:[]},{label:"Active",roles:["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge"]},{label:"Backlog",roles:["intake","ready"]},{label:"Done",roles:["done","cancelled"]}];function er(e){return["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge","done","cancelled"].includes(e)?e:"intake"}function ea(e){let[t,...r]=e.split(" - ");return{title:(t??e).trim(),description:r.join(" - ").trim()}}function es(e,t){if(!t)return!0;let r=e.comments.map(e=>`${e.author} ${e.body}`).join(" ");return`${e.text} ${e.agent??""} ${e.type??""} ${e.priority??""} ${e.issueId??""} ${e.notes??""} ${e.briefPath??""} ${e.attachments.join(" ")} ${r}`.toLowerCase().includes(t)}function en(e){return e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function el(e){return e.taskRef?.trim()||(e.id.length>12?`TASK-${e.id.split("-")[0]?.toUpperCase()??e.id.toUpperCase()}`:e.id)}function ei(e){return Q.indexOf(e)}function eo(e){if(!e)return Y.length;let t=Y.indexOf(e);return t>=0?t:Y.length}function ed(e,t){return e.includes(t)?e.filter(e=>e!==t):[...e,t]}function ec(e,t){if(e.length!==t.length)return!1;let r=[...e].sort(),a=[...t].sort();return r.every((e,t)=>e===a[t])}function ex(e){try{var t;let r=window.localStorage.getItem(e);if(!r)return{...X};let a=JSON.parse(r),s={...X,...a,roles:Array.isArray(a.roles)?a.roles.filter(e=>Q.includes(e)):[],priorities:Array.isArray(a.priorities)?a.priorities.filter(e=>"string"==typeof e):[],agents:Array.isArray(a.agents)?a.agents.filter(e=>"string"==typeof e):[],groupBy:(t=a.groupBy,"status"===t||"priority"===t||"assignee"===t||"none"===t?t:X.groupBy),collapsedGroups:Array.isArray(a.collapsedGroups)?a.collapsedGroups.filter(e=>"string"==typeof e):[]};return ec(s.roles,ee.roles)&&ec(s.priorities,ee.priorities)&&ec(s.agents,ee.agents)&&s.sortField===ee.sortField&&s.sortDir===ee.sortDir&&s.groupBy===ee.groupBy&&ec(s.collapsedGroups,ee.collapsedGroups)?{...s,groupBy:X.groupBy}:s}catch{return{...X}}}function em(e){return e.split("/").map(e=>e.trim()).filter(Boolean)}function ep(e,t){return e.kind!==t.kind?"folder"===e.kind?-1:1:e.name.localeCompare(t.name,void 0,{sensitivity:"base",numeric:!0})}function eu(e){let t=e.displayPath?.trim();return t&&t.length>0?t:e.path}function ev({attachment:e,onOpen:t,opening:r=!1}){return(0,a.jsxs)("button",{type:"button",onClick:t,disabled:r,className:"inline-flex max-w-full items-center gap-1 rounded-[3px] bg-[color:#292929] px-2 py-1 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:e,"aria-label":`Open ${e}`,children:[r?(0,a.jsx)(i.A,{className:"h-3 w-3 shrink-0 animate-spin"}):(0,a.jsx)(o.A,{className:"h-3 w-3 shrink-0"}),(0,a.jsx)("span",{className:"truncate",children:e})]})}function eh({node:e,depth:t,expandedFolders:r,selectedPaths:s,openingContextPath:n,contextOpenLabel:l,onToggleFolder:p,onTogglePath:h,onOpenPath:b}){var g;let f=10+16*t;if("folder"===e.kind){let i=r.has(e.path);return(0,a.jsxs)("li",{children:[(0,a.jsxs)("button",{type:"button",onClick:()=>p(e.path),className:"flex w-full items-center gap-1.5 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",style:{paddingLeft:`${f}px`,paddingRight:"10px"},"aria-expanded":i,children:[i?(0,a.jsx)(d.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,a.jsx)(c.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),i?(0,a.jsx)(x.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}):(0,a.jsx)(m.A,{className:"h-3.5 w-3.5 shrink-0 text-[var(--vk-orange)]"}),(0,a.jsx)("span",{className:"truncate",children:e.name})]}),i?(0,a.jsx)("ul",{children:e.children.map(e=>(0,a.jsx)(eh,{node:e,depth:t+1,expandedFolders:r,selectedPaths:s,openingContextPath:n,contextOpenLabel:l,onToggleFolder:p,onTogglePath:h,onOpenPath:b},e.path))}):null]})}let k=s.includes(e.path);return(0,a.jsx)("li",{className:"border-t border-[var(--vk-border)] first:border-t-0",children:(0,a.jsxs)("div",{className:"flex items-start gap-2 py-1.5",style:{paddingLeft:`${f+22}px`,paddingRight:"10px"},children:[(0,a.jsxs)("label",{className:"flex min-w-0 flex-1 cursor-pointer items-start gap-2 text-[12px] text-[var(--vk-text-normal)]",children:[(0,a.jsx)("input",{type:"checkbox",checked:k,onChange:()=>h(e.path),className:"mt-0.5 h-3.5 w-3.5 rounded border-[var(--vk-border)] bg-transparent"}),"image"===e.file.kind?(0,a.jsx)(u,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}):(0,a.jsx)(v.A,{className:"mt-0.5 h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)]"}),(0,a.jsxs)("span",{className:"min-w-0",children:[(0,a.jsx)("span",{className:"block truncate",children:e.name}),(0,a.jsx)("span",{className:"block truncate text-[11px] text-[var(--vk-text-muted)]",children:eu(e.file)}),(0,a.jsxs)("span",{className:"block text-[11px] text-[var(--vk-text-muted)]",children:[e.file.kind,e.file.source?` \xb7 ${e.file.source}`:"",e.file.sizeBytes?` \xb7 ${!(g=e.file.sizeBytes)||g<=0?"":g<1024?`${g} B`:g<1048576?`${(g/1024).toFixed(1)} KB`:`${(g/1048576).toFixed(1)} MB`}`:""]})]})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>b(e.path),disabled:n===e.path,className:"inline-flex h-7 shrink-0 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] disabled:opacity-60",title:`${l}: ${e.path}`,"aria-label":`${l}: ${e.path}`,children:[n===e.path?(0,a.jsx)(i.A,{className:"h-3 w-3 animate-spin"}):(0,a.jsx)(o.A,{className:"h-3 w-3"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:l})]})]})})}function eb({value:e,options:t,disabled:r=!1,onChange:n,ariaLabel:l}){return(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",disabled:r,"aria-label":l,className:"inline-flex h-10 w-full items-center justify-between rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-left text-[14px] text-[var(--vk-text-normal)] outline-none transition-colors hover:bg-[var(--vk-bg-hover)] data-[state=open]:bg-[var(--vk-bg-hover)] disabled:cursor-not-allowed disabled:opacity-60",children:[(0,a.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,a.jsx)($.N,{seed:{label:e},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"truncate",children:en(e)})]}),(0,a.jsx)(d.A,{className:"h-4 w-4 shrink-0 text-[var(--vk-text-muted)]"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsxs)(s.UC,{align:"start",sideOffset:6,className:`${V} min-w-[220px] max-w-[calc(100vw-2rem)] max-h-[min(360px,50vh)] overflow-y-auto sm:min-w-[280px]`,children:[(0,a.jsx)("p",{className:"px-3 pb-1 text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Agents"}),t.map(t=>{let r=t===e;return(0,a.jsxs)(s.q7,{onSelect:()=>n(t),className:"flex min-h-[40px] cursor-default items-center gap-2 rounded-[4px] px-3 py-2 text-[14px] leading-[21px] text-[var(--vk-text-normal)] outline-none hover:bg-[var(--vk-bg-hover)] focus:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)($.N,{seed:{label:t},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"min-w-0 flex-1 truncate",children:en(t)}),(0,a.jsx)("span",{className:"ml-auto inline-flex h-4 w-4 items-center justify-center text-[var(--vk-text-strong)]",children:r?(0,a.jsx)(h.A,{className:"h-4 w-4 text-[var(--vk-orange)]"}):null})]},t)})]})})]})}function eg(e,t){if(!e||e.projectId!==t.projectId||e.repository!==t.repository||e.boardPath!==t.boardPath||e.workspacePath!==t.workspacePath||e.primaryRoles.length!==t.primaryRoles.length||e.columns.length!==t.columns.length)return!1;for(let r=0;r<e.primaryRoles.length;r+=1)if(e.primaryRoles[r]!==t.primaryRoles[r])return!1;for(let r=0;r<e.columns.length;r+=1){let a=e.columns[r],s=t.columns[r];if(a.role!==s.role||a.heading!==s.heading||a.tasks.length!==s.tasks.length)return!1;for(let e=0;e<a.tasks.length;e+=1){let t=a.tasks[e],r=s.tasks[e];if(t.id!==r.id||t.text!==r.text||t.checked!==r.checked||t.agent!==r.agent||t.project!==r.project||t.type!==r.type||t.priority!==r.priority||t.taskRef!==r.taskRef||t.attemptRef!==r.attemptRef||t.issueId!==r.issueId||t.githubItemId!==r.githubItemId||t.notes!==r.notes||t.briefPath!==r.briefPath||t.vaultBriefPath!==r.vaultBriefPath||t.commentCount!==r.commentCount||t.comments.length!==r.comments.length||t.attachments.length!==r.attachments.length)return!1;for(let e=0;e<t.attachments.length;e+=1)if(t.attachments[e]!==r.attachments[e])return!1;for(let e=0;e<t.comments.length;e+=1)if(JSON.stringify(t.comments[e])!==JSON.stringify(r.comments[e]))return!1}}let r=e.githubProject??null,a=t.githubProject??null;if(JSON.stringify(r)!==JSON.stringify(a))return!1;let s=e.recentActions??[],n=t.recentActions??[];if(s.length!==n.length)return!1;for(let e=0;e<s.length;e+=1)if(JSON.stringify(s[e])!==JSON.stringify(n[e]))return!1;let l=e.recentWebhookDeliveries??[],i=t.recentWebhookDeliveries??[];if(l.length!==i.length)return!1;for(let e=0;e<l.length;e+=1)if(JSON.stringify(l[e])!==JSON.stringify(i[e]))return!1;return!0}function ef(e){return{...e,repository:e.repository??null,githubProject:e.githubProject??null,recentActions:Array.isArray(e.recentActions)?e.recentActions:[],recentWebhookDeliveries:Array.isArray(e.recentWebhookDeliveries)?e.recentWebhookDeliveries:[],columns:Array.isArray(e.columns)?e.columns.map(e=>({...e,tasks:Array.isArray(e.tasks)?e.tasks.map(e=>({...e,issueId:e.issueId??null,githubItemId:e.githubItemId??null,attachments:Array.isArray(e.attachments)?e.attachments:[],notes:e.notes??null,briefPath:e.briefPath??null,vaultBriefPath:e.vaultBriefPath??null,commentCount:"number"==typeof e.commentCount?e.commentCount:Array.isArray(e.comments)?e.comments.length:0,comments:Array.isArray(e.comments)?e.comments:[]})):[]})):[]}}function ek(e){return e.branch?.trim()||e.summary?.trim()||(0,E.kV)(e.id).slice(0,8)}function ej(e){return e.issueId?.trim()||e.taskRef?.trim()||e.id}function ey(e,t){let r=e.filter(e=>{var r,a,s;return r=e,r.metadata?.sessionKind!=="board_planning"&&(a=e,s=t,!!(a.id===s.attemptRef||a.metadata?.taskId===s.id||s.taskRef?.trim()&&a.metadata?.taskRef?.trim()===s.taskRef.trim())||a.issueId?.trim()===ej(s))}).sort((e,r)=>e_(e,r,t.attemptRef??null)),a=t.attemptRef?r.find(e=>e.id===t.attemptRef)??null:r[0]??null,s=t.attemptRef&&!r.some(e=>e.id===t.attemptRef)?t.attemptRef:null;return{linkedSessions:r,primaryLinkedSession:a,unresolvedPrimaryLink:s}}function eN(e,t){let r=0;for(let e of t){let t=e.lastActivityAt?Date.parse(e.lastActivityAt):0;!Number.isNaN(t)&&t>r&&(r=t)}for(let t of e.comments){let e=Date.parse(t.timestamp);!Number.isNaN(e)&&e>r&&(r=e)}return r>0?new Date(r).toISOString():null}function ew(e){let t=Date.parse(e);if(Number.isNaN(t))return e;let r=Math.round((Date.now()-t)/1e3);if(r<60)return"just now";let a=Math.round(r/60);if(a<60)return`${a}m ago`;let s=Math.round(a/60);if(s<24)return`${s}h ago`;let n=Math.round(s/24);return n<30?`${n}d ago`:e$(e)}function eC(e){let t=e.metadata?.agent;return"string"==typeof t&&t.trim().length>0?t.trim():null}function eA(e){let t=e.trim().toLowerCase();return"working"===t||"running"===t?"Running":"done"===t?"Done":"killed"===t?"Interrupted":"errored"===t?"Errored":"archived"===t?"Archived":e.split(/[-_\s]+/g).filter(Boolean).map(e=>e[0]?.toUpperCase()+e.slice(1)).join(" ")}function eS(e){let t=e.trim().toLowerCase();return"working"===t||"running"===t?"border-[rgba(60,131,246,0.35)] bg-[rgba(60,131,246,0.12)] text-[#8db8ff]":"done"===t?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"killed"===t||"archived"===t?"border-[rgba(143,143,143,0.35)] bg-[rgba(143,143,143,0.10)] text-[var(--vk-text-muted)]":"errored"===t?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}function eP(e,t){let r=t?.trim();if(!e||!r||!/^\d+$/.test(r))return null;let[a,s]=e.trim().replace(/^https?:\/\/github\.com\//,"").replace(/^git@github\.com:/,"").replace(/^ssh:\/\/git@github\.com\//,"").replace(/\.git$/,"").replace(/\/+$/,"").split("/");return a&&s?`https://github.com/${a}/${s}/issues/${r}`:null}function e$(e){let t=Date.parse(e);return Number.isNaN(t)?e:new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",timeZone:"UTC"}).format(new Date(t))}function eI(e,t){if(!e)return null;for(let r of e.columns){let e=r.tasks.find(e=>e.id===t);if(e)return{task:e,role:r.role}}return null}function eM(e,t){return e?.columns.find(e=>e.role===t)??null}function eE(e,t,r){let a=eM(e,r);if(!a)return 0;let s=a.tasks.length;return t?.role===r&&a.tasks.findIndex(e=>e.id===t.taskId)>=0&&(s-=1),Math.max(s,0)}function e_(e,t,r){if(r){if(e.id===r&&t.id!==r)return -1;if(t.id===r&&e.id!==r)return 1}let a=e.lastActivityAt?Date.parse(e.lastActivityAt):0;return(t.lastActivityAt?Date.parse(t.lastActivityAt):0)-a}function eR({task:e,role:t,layout:r,boardRepository:s,projectSessions:n,openingContextPath:l,onOpenContextAttachment:i,onOpenSessionView:d,onOpenEditor:c,dragEnabled:x=!1,isDragging:m=!1,onDragStart:p,onDragOver:u,onDragEnd:v}){let{title:h,description:f}=ea(e.text),k=eP(s,e.issueId),{linkedSessions:j,primaryLinkedSession:y,unresolvedPrimaryLink:N}=ey(n,e),w=el(e),C=eN(e,j),A=j.some(e=>{let t=e.status?.trim().toLowerCase()??"";return"working"===t||"running"===t||"dispatching"===t}),S=e.priority?H[e.priority]?.dot:null;return(0,a.jsxs)("div",{draggable:x,onDragStart:x&&p?()=>{p()}:void 0,onDragOver:x?u:void 0,onDragEnd:x?v:void 0,className:(0,R.cn)("kanban"===r?"relative rounded-[10px] border border-[rgba(255,255,255,0.08)] bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] [content-visibility:auto] [contain-intrinsic-size:240px]":"relative rounded-[10px] border border-[var(--vk-border)] bg-[rgba(23,25,30,0.72)] p-4 shadow-[0_10px_24px_rgba(0,0,0,0.18)]",m&&"opacity-60",A&&"border-l-2"),style:A?{borderLeftColor:B[t]}:void 0,children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:B[t],opacity:A?1:.4}}),(0,a.jsx)("p",{className:"min-w-0 flex-1 font-mono text-[11px] text-[var(--vk-text-muted)]",children:w}),S&&(0,a.jsx)("span",{className:"h-2 w-2 shrink-0 rounded-full",style:{backgroundColor:S},title:`${e.priority} priority`}),(0,a.jsx)("button",{type:"button",onClick:()=>c(e,t),className:"inline-flex h-9 w-9 items-center justify-center rounded-[3px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:h-6 sm:w-6","aria-label":"Edit task",title:"Edit task",children:(0,a.jsx)(b,{className:"h-3.5 w-3.5"})})]}),(0,a.jsx)("p",{className:"pt-1.5 text-[14px] font-semibold leading-[21px] text-[var(--vk-text-strong)]",children:h}),f&&(0,a.jsx)("p",{className:"pt-1 text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:f}),e.notes&&(0,a.jsx)("p",{className:"pt-2 text-[12px] leading-[18px] text-[var(--vk-text-muted)]",children:e.notes}),e.commentCount>0&&(0,a.jsxs)("div",{className:"mt-2 flex items-center gap-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(g,{className:"h-3.5 w-3.5"}),(0,a.jsxs)("span",{children:[e.commentCount," comment",1===e.commentCount?"":"s"]})]}),(e.issueId||e.briefPath||e.attachments.length>0)&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.issueId?k?(0,a.jsxs)("a",{href:k,target:"_blank",rel:"noreferrer",className:"inline-flex h-5 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsxs)("span",{children:["Issue #",e.issueId]}),(0,a.jsx)(o.A,{className:"h-3 w-3"})]}):(0,a.jsxs)("span",{className:"inline-flex h-5 items-center rounded-[3px] border border-[var(--vk-border)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:["Issue ",e.issueId]}):null,e.briefPath?(0,a.jsx)(ev,{attachment:e.briefPath,opening:l===e.briefPath,onOpen:()=>void i(e.briefPath)}):null,e.attachments.map(t=>(0,a.jsx)(ev,{attachment:t,opening:l===t,onOpen:()=>void i(t)},`${e.id}-${t}`))]}),(j.length>0||N)&&(0,a.jsxs)("div",{className:"mt-3 rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Runs"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:j.length+ +!!N})]}),(0,a.jsxs)("div",{className:"mt-2 space-y-1.5",children:[y?(0,a.jsxs)("button",{type:"button",onClick:()=>void d(y.id,T(y)),className:"flex w-full items-center justify-between gap-2 rounded-[3px] border border-[rgba(255,255,255,0.05)] bg-[rgba(255,255,255,0.03)] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:y.id,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[eC(y)?(0,a.jsx)($.N,{seed:{label:eC(y)},className:"h-5 w-5"}):null,(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:ek(y)}),(0,a.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${eS(y.status)}`,children:eA(y.status)}),(0,a.jsx)(o.A,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]}):null,j.filter(e=>e.id!==y?.id).map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>void d(e.id,T(e)),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:e.id,children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[eC(e)?(0,a.jsx)($.N,{seed:{label:eC(e)},className:"h-5 w-5"}):null,(0,a.jsx)("span",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:ek(e)})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${eS(e.status)}`,children:eA(e.status)}),(0,a.jsx)(o.A,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})]})]},e.id)),N?(0,a.jsxs)("button",{type:"button",onClick:()=>void d(N,"terminal"),className:"flex w-full items-center justify-between gap-2 rounded-[3px] px-2 py-1.5 text-left hover:bg-[var(--vk-bg-hover)]",title:N,children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"truncate text-[12px] text-[var(--vk-text-normal)]",children:N}),(0,a.jsx)("div",{className:"truncate text-[11px] text-[var(--vk-text-muted)]",children:"Primary run"})]}),(0,a.jsx)(o.A,{className:"h-3 w-3 shrink-0 text-[var(--vk-text-muted)]"})]}):null]})]}),(0,a.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-2",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[e.agent?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 rounded-full bg-[color:color-mix(in_srgb,var(--vk-text-muted)_10%,transparent)] px-2 py-0.5",children:[(0,a.jsx)($.N,{seed:{label:e.agent},className:"h-4 w-4"}),(0,a.jsx)("span",{className:"truncate text-[11px] font-medium text-[var(--vk-text-secondary)]",children:en(e.agent)})]}):(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-faint)]",children:"No agent"}),C&&(0,a.jsx)("span",{className:"text-[10px] text-[var(--vk-text-faint)]",children:ew(C)})]}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-1",children:[e.type&&(0,a.jsx)("span",{className:"inline-flex items-center rounded-full px-2 py-0.5 text-[10px] font-semibold",style:{background:G[e.type]?.bg??"color-mix(in srgb, var(--vk-text-muted) 10%, transparent)",color:G[e.type]?.text??"var(--vk-text-muted)"},children:e.type}),e.priority&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-[10px] font-semibold",style:{background:H[e.priority]?.bg??"color-mix(in srgb, var(--vk-text-muted) 10%, transparent)",color:H[e.priority]?.text??"var(--vk-text-muted)"},children:[(0,a.jsx)("span",{className:"h-1.5 w-1.5 rounded-full",style:{background:H[e.priority]?.dot??"var(--vk-text-faint)"}}),e.priority]})]})]})]})}function eL({entry:e,boardRepository:t,projectSessions:r,onOpenEditor:s,onOpenSessionView:n}){let{task:l,role:i}=e,{title:o}=ea(l.text),d=el(l),c=eP(t,l.issueId),{linkedSessions:x,primaryLinkedSession:m}=ey(r,l),p=x.some(e=>{let t=e.status.trim().toLowerCase();return"working"===t||"running"===t}),u=eN(l,x);return(0,a.jsxs)("div",{role:"button",tabIndex:0,onClick:()=>s(l,i),onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),s(l,i))},className:"group flex items-start gap-2 border-b border-[var(--vk-border)] py-2.5 pl-2 pr-3 text-sm text-[var(--vk-text-normal)] transition-colors hover:bg-[var(--vk-bg-hover)] last:border-b-0 sm:items-center sm:py-2 sm:pl-1",children:[(0,a.jsx)("span",{className:"shrink-0 pt-px sm:hidden",children:(0,a.jsx)("span",{className:"inline-flex h-3.5 w-3.5 rounded-full",style:{backgroundColor:B[i]}})}),(0,a.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col gap-1 sm:contents",children:[(0,a.jsx)("span",{className:"line-clamp-2 text-[14px] sm:order-2 sm:min-w-0 sm:flex-1 sm:truncate sm:line-clamp-none",children:o}),(0,a.jsxs)("span",{className:"flex items-center gap-2 sm:order-1 sm:shrink-0",children:[(0,a.jsx)("span",{className:"hidden shrink-0 sm:inline-flex",children:(0,a.jsx)("span",{className:"inline-flex h-3.5 w-3.5 rounded-full",style:{backgroundColor:B[i]}})}),(0,a.jsx)("span",{className:"shrink-0 font-mono text-[11px] text-[var(--vk-text-muted)]",children:d}),p?(0,a.jsxs)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),m&&n(m.id,T(m))},className:"inline-flex items-center gap-1 rounded-full bg-[color:color-mix(in_srgb,var(--status-working)_18%,transparent)] px-2 py-0.5 text-[10px] font-medium text-[var(--status-working)]",children:[(0,a.jsxs)("span",{className:"relative flex h-2 w-2",children:[(0,a.jsx)("span",{className:"absolute inline-flex h-full w-full animate-pulse rounded-full bg-[var(--status-working)] opacity-75"}),(0,a.jsx)("span",{className:"relative inline-flex h-2 w-2 rounded-full bg-[var(--status-working)]"})]}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Live"})]}):null,u?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)] sm:hidden",children:"\xb7"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)] sm:hidden",children:ew(u)})]}):null]})]}),(0,a.jsxs)("span",{className:"ml-auto hidden shrink-0 items-center gap-2 sm:order-3 sm:flex sm:gap-3",children:[(0,a.jsxs)("span",{className:"hidden items-center gap-1 overflow-hidden md:flex md:max-w-[240px]",children:[l.type?(0,a.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--vk-text-muted)]",children:l.type}):null,l.priority?(0,a.jsx)("span",{className:"inline-flex items-center rounded-full border border-[var(--vk-border)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--vk-text-muted)]",children:l.priority}):null,l.commentCount>0?(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 text-[11px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(g,{className:"h-3 w-3"}),l.commentCount]}):null]}),(0,a.jsx)("div",{className:"flex w-[180px] shrink-0 items-center rounded-md px-2 py-1",children:l.agent?(0,a.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2 text-[12px]",children:[(0,a.jsx)($.N,{seed:{label:l.agent},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"truncate",children:en(l.agent)})]}):(0,a.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)("span",{className:"inline-flex h-5 w-5 items-center justify-center rounded-full border border-dashed border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)]",children:(0,a.jsx)(f,{className:"h-3 w-3"})}),"No agent"]})}),c?(0,a.jsxs)("a",{href:c,target:"_blank",rel:"noreferrer",onClick:e=>e.stopPropagation(),className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:["#",l.issueId]}):m?(0,a.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),n(m.id,T(m))},className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:ek(m)}):null,u?(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:ew(u)}):null]})]})}function eD({projectId:e,bridgeId:t,defaultAgent:r,agentOptions:x,projectSessions:m,projectLabel:p,headerAccessory:u,onOpenSession:v}){var b;let E=(0,l.useRouter)(),{preferences:F}=(0,M.g)(t),T=e?`${Z}:${e}`:Z,[G,H]=(0,n.useState)(null),[X,ee]=(0,n.useState)(!1),[el,ey]=(0,n.useState)(null),[eN,ew]=(0,n.useState)(""),[eC,eA]=(0,n.useState)("active"),[eS,eP]=(0,n.useState)(()=>{let e=window.localStorage.getItem(K);return"list"===e||"kanban"===e?e:"kanban"}),[eO,eF]=(0,n.useState)(()=>ex(T)),[eT,eB]=(0,n.useState)(!1),[eG,eH]=(0,n.useState)("intake"),[ez,eU]=(0,n.useState)(""),[eJ,eq]=(0,n.useState)(""),[eW,eV]=(0,n.useState)(r),[eK,eZ]=(0,n.useState)("feature"),[eQ,eY]=(0,n.useState)("medium"),[eX,e0]=(0,n.useState)(""),[e1,e2]=(0,n.useState)([]),[e5,e3]=(0,n.useState)([]),[e4,e8]=(0,n.useState)(""),[e6,e9]=(0,n.useState)([]),[e7,te]=(0,n.useState)(!1),[tt,tr]=(0,n.useState)(null),[ta,ts]=(0,n.useState)(null),[tn,tl]=(0,n.useState)([]),[ti,to]=(0,n.useState)(!1),[td,tc]=(0,n.useState)(null),[tx,tm]=(0,n.useState)(null),[tp,tu]=(0,n.useState)("intake"),[tv,th]=(0,n.useState)(""),[tb,tg]=(0,n.useState)(""),[tf,tk]=(0,n.useState)(r),[tj,ty]=(0,n.useState)("feature"),[tN,tw]=(0,n.useState)("medium"),[tC,tA]=(0,n.useState)(""),[tS,tP]=(0,n.useState)(""),[t$,tI]=(0,n.useState)(""),[tM,tE]=(0,n.useState)(!1),[t_,tR]=(0,n.useState)(null),[tL,tD]=(0,n.useState)(""),[tO,tF]=(0,n.useState)(!1),[tT,tB]=(0,n.useState)(null),[tG,tH]=(0,n.useState)(null),[tz,tU]=(0,n.useState)(null),[tJ,tq]=(0,n.useState)(!1),[tW,tV]=(0,n.useState)(!1),[tK,tZ]=(0,n.useState)(!1),[tQ,tY]=(0,n.useState)(null),[tX,t0]=(0,n.useState)(null),[t1,t2]=(0,n.useState)(""),t5=(0,n.useRef)(!1),t3=(0,n.useRef)(!1),t4=(0,n.useRef)(null),t8=(0,n.useRef)(null),t6=(0,n.useRef)(Promise.resolve(null)),t9=(0,n.useRef)(0),t7="obsidian"===(b=F?.markdownEditor?.trim()||"obsidian")||"vscode"===b||"typora"===b||"logseq"===b?`Open in ${J[b]??"your editor"}`:"Open file",[re,rt]=(0,n.useState)(!0),[rr,ra]=(0,n.useState)(!1),rs=(0,n.useMemo)(()=>{let e=[...new Set(x.filter(Boolean))];return e.includes(r)||e.unshift(r),e},[x,r]);(0,n.useEffect)(()=>{t8.current=G},[G]),(0,n.useEffect)(()=>{if("function"!=typeof window.matchMedia)return;let e=window.matchMedia("(min-width: 640px)"),t=()=>{ra(e.matches)};return t(),e.addEventListener?.("change",t),window.addEventListener("resize",t),()=>{e.removeEventListener?.("change",t),window.removeEventListener("resize",t)}},[]),(0,n.useEffect)(()=>{window.localStorage.setItem(K,eS)},[eS]),(0,n.useEffect)(()=>{eF(ex(T))},[T]),(0,n.useEffect)(()=>{window.localStorage.setItem(T,JSON.stringify(eO))},[T,eO]),(0,n.useEffect)(()=>{rs.includes(eW)||eV(rs[0]??r)},[eW,r,rs]),(0,n.useEffect)(()=>{rs.includes(tf)||tk(rs[0]??r)},[r,tf,rs]);let rn=(0,n.useCallback)(e=>{eF(t=>({...t,...e}))},[]);(0,n.useEffect)(()=>{if(!eT&&!tx||!e)return;let r=!1;return(async()=>{te(!0),tr(null);try{let a=await fetch((0,_.S)(`/api/context-files?projectId=${encodeURIComponent(e)}`,t)),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to load context files: ${a.status}`);if(r)return;let n=Array.isArray(s?.files)?s.files:[];e9(n)}catch(e){if(r)return;e9([]),tr(e instanceof Error?e.message:"Failed to load context files")}finally{r||te(!1)}})(),()=>{r=!0}},[t,eT,tx,e]),(0,n.useEffect)(()=>{t5.current=!1,tq(!1),tY(null),t0(null),t2("")},[t,e]);let rl=(0,n.useCallback)(async r=>{if(!e){H(null),ey(null),ee(!1),t5.current=!1;return}if(!t3.current&&(!r?.silent||!(t9.current>0))){t3.current=!0,r?.silent||ee(!0);try{let r=await fetch((0,_.S)(`/api/boards?projectId=${encodeURIComponent(e)}`,t)),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to load board: ${r.status}`);let s=ef(a);t5.current=!0,H(e=>eg(e,s)?e:s),ey(null)}catch(e){r?.silent&&t5.current||(H(null),ey(e instanceof Error?e.message:"Failed to load board"))}finally{r?.silent||ee(!1),t3.current=!1}}},[t,e]),ri=(0,n.useCallback)((e,r="terminal")=>{v?v(e,{tab:r}):E.push((0,L.s)(e,{bridgeId:t,tab:r}))},[t,v,E]),ro=(0,n.useCallback)(t=>{if(!e)return;null!==t4.current&&(window.clearTimeout(t4.current),t4.current=null);let r=t?.debounceMs??250;t4.current=window.setTimeout(()=>{t4.current=null,rl(t)},r)},[rl,e]);(0,n.useEffect)(()=>{if(e)return(0,O.L)(t=>{"snapshot"!==t.type&&"snapshot_delta"!==t.type||(0,D.M_)(t,e)&&ro({silent:!0,debounceMs:80})})},[e,ro]),(0,n.useEffect)(()=>{if(e)return(0,D.b)(e,()=>{ro({silent:!0,debounceMs:80})})},[e,ro]),(0,n.useEffect)(()=>{rl({silent:!1})},[rl]);let rd=(0,n.useCallback)(async()=>{if(!e){t0(null),tY(null);return}tV(!0),tY(null);try{let r=await fetch((0,_.S)(`/api/github/projects?projectId=${encodeURIComponent(e)}`,t)),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to load GitHub Projects (${r.status})`);let s={...a,projects:Array.isArray(a.projects)?a.projects:[]};t0(s),t2(s.linkedProject?.id?.trim()||s.projects[0]?.id?.trim()||"")}catch(e){tY(e instanceof Error?e.message:"Failed to load GitHub Projects"),t0(null),t2("")}finally{tV(!1)}},[t,e]);(0,n.useEffect)(()=>{if(!e)return;let t=()=>{re&&rl({silent:!0})},r=null,a=()=>{let e=re?5e3:2e4;r=window.setTimeout(()=>{t(),a()},e)};a(),window.addEventListener("focus",t);let s=()=>{let e="visible"===document.visibilityState;rt(e),e&&t()};return document.addEventListener("visibilitychange",s),()=>{null!=r&&window.clearTimeout(r),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",s)}},[rl,re,e]),(0,n.useEffect)(()=>{e&&t5.current&&ro({silent:!0})},[e,m,ro]),(0,n.useEffect)(()=>()=>{null!==t4.current&&(window.clearTimeout(t4.current),t4.current=null)},[rl,e]);let rc=tJ||!!G?.githubProject?.id?.trim(),rx=(0,n.useMemo)(()=>{let e=tX?.projects??[],t=G?.githubProject??tX?.linkedProject??null,r=[...e];if(t?.id?.trim()){let e=t.id.trim();r.some(t=>t.id===e)||r.unshift({...t,id:e})}return r},[G?.githubProject,tX?.linkedProject,tX?.projects]);(0,n.useEffect)(()=>{rc&&e&&rd()},[rc,rd,e]);let rm=G?.columns??[],rp=(0,n.useMemo)(()=>{let e=eN.trim().toLowerCase(),t="all"===eC?null:new Set("backlog"===eC?["intake","ready"]:"cancelled"===eC?["cancelled"]:["intake","ready","dispatching","inProgress","needsInput","blocked","errored","review","merge"]);return rm.filter(e=>!t||t.has(e.role)).map(t=>e?{...t,tasks:t.tasks.filter(t=>es(t,e))}:t)},[rm,eN,eC]),ru="kanban"===eS&&0===eN.trim().length,rv=(0,n.useMemo)(()=>{let e;return e=0,eO.roles.length>0&&(e+=1),eO.priorities.length>0&&(e+=1),eO.agents.length>0&&(e+=1),e},[eO]),rh=(0,n.useMemo)(()=>{let e=new Set;for(let t of rm)for(let r of t.tasks)r.agent?.trim()&&e.add(r.agent.trim());return[...e].sort((e,t)=>e.localeCompare(t,void 0,{sensitivity:"base"}))},[rm]),rb=(0,n.useMemo)(()=>{let e=eN.trim().toLowerCase(),t=rm.flatMap(e=>e.tasks.map(t=>({task:t,role:e.role,heading:e.heading||z[e.role]})));e&&(t=t.filter(t=>es(t.task,e))),eO.roles.length>0&&(t=t.filter(e=>eO.roles.includes(e.role))),eO.priorities.length>0&&(t=t.filter(e=>null!=e.task.priority&&eO.priorities.includes(e.task.priority))),eO.agents.length>0&&(t=t.filter(e=>{let t=e.task.agent?.trim();return t?eO.agents.includes(t):eO.agents.includes("__unassigned")}));let r=[...t];return r.sort((e,t)=>{let r="asc"===eO.sortDir?1:-1;switch(eO.sortField){case"status":return r*(ei(e.role)-ei(t.role));case"priority":return r*(eo(e.task.priority)-eo(t.task.priority));case"agent":return r*(e.task.agent??"").localeCompare(t.task.agent??"");default:{let a=ea(e.task.text).title,s=ea(t.task.text).title;return r*a.localeCompare(s)}}}),r},[rm,eO,eN]),rg=(0,n.useMemo)(()=>{if("none"===eO.groupBy)return[{key:"__all",label:null,items:rb}];if("status"===eO.groupBy)return Q.map(e=>{let t=rb.filter(t=>t.role===e);return 0===t.length?null:{key:e,label:t[0]?.heading||z[e],items:t}}).filter(e=>null!==e);if("priority"===eO.groupBy)return Y.map(e=>{let t=rb.filter(t=>t.task.priority===e);return 0===t.length?null:{key:e,label:e[0]?.toUpperCase()+e.slice(1),items:t}}).filter(e=>null!==e);let e=new Map;for(let t of rb){let r=t.task.agent?.trim()||"__unassigned",a=e.get(r)??[];a.push(t),e.set(r,a)}return[...e.entries()].map(([e,t])=>({key:e,label:"__unassigned"===e?"No agent":en(e),items:t})).sort((e,t)=>(e.label??"").localeCompare(t.label??"",void 0,{sensitivity:"base"}))},[rb,eO.groupBy]),rf=(0,n.useMemo)(()=>rg.filter(e=>null!=e.label).map(e=>e.key),[rg]),rk=rf.length>0&&rf.every(e=>eO.collapsedGroups.includes(e)),rj=(0,n.useMemo)(()=>{let e=e4.trim().toLowerCase(),t=e?e6.filter(t=>`${t.path} ${eu(t)} ${t.name} ${t.source??""}`.toLowerCase().includes(e)):e6,r=new Map;for(let e of t)r.has(e.path)||r.set(e.path,e);return[...r.values()]},[e6,e4]),ry=(0,n.useMemo)(()=>(function(e){let t=new Map;t.set("",new Map);let r=(e,r)=>(t.has(e)||t.set(e,new Map),{kind:"folder",name:r,path:e,children:[]});for(let a of e){let e=eu(a),s=em(e);if(0===s.length)continue;let n="";for(let e=0;e<s.length-1;e+=1){let a=s[e],l=n?`${n}/${a}`:a,i=t.get(n)??new Map;t.set(n,i),i.has(l)||i.set(l,r(l,a)),t.has(l)||t.set(l,new Map),n=l}let l=t.get(n)??new Map;l.set(a.path,{kind:"file",name:a.name,path:a.path,file:{...a,displayPath:e}}),t.set(n,l)}let a=e=>[...t.get(e)?.values()??[]].map(e=>"folder"===e.kind?{...e,children:a(e.path)}:e).sort(ep);return a("")})(rj),[rj]),rN=(0,n.useMemo)(()=>new Map(e6.map(e=>[e.path,e])),[e6]),rw=(0,n.useMemo)(()=>e1.map(e=>rN.get(e)).filter(e=>!!e),[rN,e1]),rC=(0,n.useMemo)(()=>new Set(ry.filter(e=>"folder"===e.kind).map(e=>e.path)),[ry]),rA=(0,n.useMemo)(()=>e4.trim().length>0?function e(t,r=new Set){for(let a of t)"folder"===a.kind&&(r.add(a.path),e(a.children,r));return r}(ry):function(e){let t=new Set;for(let r of e){let e=em(r),a="";for(let r=0;r<e.length-1;r+=1)a=a?`${a}/${e[r]}`:e[r],t.add(a)}return t}(e1.map(e=>{let t=rN.get(e);return t?eu(t):e})),[rN,e4,ry,e1]),rS=(0,n.useMemo)(()=>{let e=new Set(rC);for(let t of e5)e.add(t);for(let t of rA)e.add(t);return e},[rA,rC,e5]),rP=(0,n.useMemo)(()=>{let e=rm.find(e=>e.role===eG);return e?.heading||z[eG]},[rm,eG]),r$=(0,n.useMemo)(()=>{if(!tx)return m;let e=eI(G,tx.task.id)??tx,t=ej(e.task);return[...m].sort((r,a)=>{let s=r.id===e.task.attemptRef||r.issueId?.trim()===t;return s!==(a.id===e.task.attemptRef||a.issueId?.trim()===t)?s?-1:1:e_(r,a,e.task.attemptRef)})},[G,tx,m]),rI=(0,n.useMemo)(()=>tx?eI(G,tx.task.id)??tx:null,[G,tx]);function rM(e){eH(e),eB(!0),eU(""),eq(""),eV(rs[0]??r),eZ("feature"),eY("medium"),tc(null),e0(""),e8(""),e2([]),e3([]),tl([])}let rE=(0,n.useCallback)(async t=>{if(e){ts(t),tx?tR(null):eT?tc(null):ey(null);try{let r=await fetch("/api/context-files/open",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,path:t})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to open context file: ${r.status}`)}catch(e){var r;r=e instanceof Error?e.message:"Failed to open context file",tx?tR(r):eT?tc(r):ey(r)}finally{ts(e=>e===t?null:e)}}},[eT,tx,e]);function r_(e){e2(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}function rR(e){e3(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])}async function rL(){if(e&&ez.trim()){to(!0),tc(null);try{let r=await fetch((0,_.S)("/api/boards",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,title:ez.trim(),description:eJ.trim()||void 0,contextNotes:eX.trim()||void 0,attachments:e1.length>0?e1:void 0,agent:eW,role:eG,type:eK.trim()||void 0,priority:eQ.trim()||void 0})}),a=await r.json().catch(()=>null);if(!r.ok||!a||!("columns"in a))throw Error(a?.error??`Failed to create task: ${r.status}`);let s=ef(a),n=s.columns.flatMap(e=>e.tasks).find(e=>e.id===a.createdTaskId);if(tn.length>0&&n){let r=new FormData;for(let t of(r.append("projectId",e),r.append("taskRef",n.taskRef?.trim()||n.id),tn))r.append("files",t);let a=await fetch((0,_.S)("/api/attachments",t),{method:"POST",body:r}),l=await a.json().catch(()=>null);if(!a.ok)throw Error(l?.error??`Upload failed: ${a.status}`);let i=(l?.files??[]).map(e=>e.path?.trim()).filter(e=>!!e);if(i.length>0){let r=await fetch((0,_.S)("/api/boards",t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,taskId:n.id,attachments:[...new Set([...n.attachments,...i])]})}),a=await r.json().catch(()=>null);if(!r.ok||!a||!("columns"in a))throw Error(a?.error??`Failed to attach uploads: ${r.status}`);s=ef(a)}}H(e=>({...e??s,...s})),eU(""),eq(""),eZ("feature"),eY("medium"),e0(""),e2([]),e8(""),tl([]),eB(!1)}catch(e){tc(e instanceof Error?e.message:"Failed to create task")}finally{to(!1)}}}async function rD(r,a){if(!e)return null;let s=t8.current;if(s&&a?.optimisticUpdate){let e=a.optimisticUpdate(s);e&&(t8.current=e,H(t=>eg(t,e)?t:e))}t9.current+=1;let n=t6.current.catch(()=>null).then(async()=>{let a=await fetch((0,_.S)("/api/boards",t),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,...r})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to update board: ${a.status}`);let n=ef(s);return t8.current=n,H(e=>eg(e,n)?e:n),ey(null),n});t6.current=n.then(()=>null,()=>null);try{return await n}catch(e){throw a?.optimisticUpdate&&s&&(t8.current=s,H(e=>eg(e,s)?e:s)),e}finally{t9.current=Math.max(0,t9.current-1)}}async function rO(r){if(e&&!tK){tZ(!0),tY(null);try{let a=await fetch((0,_.S)("/api/github/projects",t),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,link:r?.id?r:null})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to update GitHub Project link (${a.status})`);H(e=>e?{...e,githubProject:s?.githubProject??null}:e),await rd()}catch(e){tY(e instanceof Error?e.message:"Failed to update GitHub Project link")}finally{tZ(!1)}}}async function rF(r){if(e&&!tK){tZ(!0),tY(null);try{let a=await fetch((0,_.S)("/api/github/projects/sync",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,direction:r})}),s=await a.json().catch(()=>null);if(!a.ok)throw Error(s?.error??`Failed to ${r} GitHub Project (${a.status})`);if(s?.board){let e=ef(s.board);H(t=>eg(t,e)?t:e)}else await rl({silent:!0});await rd()}catch(e){tY(e instanceof Error?e.message:`Failed to ${r} GitHub Project`)}finally{tZ(!1)}}}function rT(e,t){let{title:a,description:s}=ea(e.text);tm({task:e,role:t}),tu(t),th(a),tg(s),tk(e.agent??rs[0]??r),ty(e.type??"feature"),tw(e.priority??"medium"),tA(e.issueId??""),tP(e.notes??""),tI(e.attemptRef??""),tR(null),tD(""),tB(null)}function rB(){tM||tO||(tm(null),tR(null),tD(""),tB(null))}async function rG(){if(rI&&tv.trim()){tE(!0),tR(null);try{await rD({taskId:rI.task.id,role:tp,title:tv.trim(),description:tb,contextNotes:tS.trim()||"",issueId:tC.trim()||"",agent:tf,type:tj,priority:tN,attemptRef:t$,taskRef:t$?rI.task.taskRef??rI.task.id:rI.task.taskRef??""}),tm(null)}catch(e){tR(e instanceof Error?e.message:"Failed to update task")}finally{tE(!1)}}}async function rH(){if(e&&rI&&tL.trim()){tF(!0),tB(null);try{let r=await fetch((0,_.S)("/api/boards/comments",t),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:e,taskId:rI.task.id,body:tL.trim()})}),a=await r.json().catch(()=>null);if(!r.ok)throw Error(a?.error??`Failed to add comment: ${r.status}`);let s=ef(a);H(e=>eg(e,s)?e:s),tD("")}catch(e){tB(e instanceof Error?e.message:"Failed to add comment")}finally{tF(!1)}}}async function rz(e){if(!tG)return;let t=eM(t8.current,tG.role),r=t?.tasks.findIndex(e=>e.id===tG.taskId)??-1,a=eE(t8.current,tG,e),s=tz?.role===e?tz.index:a,n=tG.role!==e||s!==r;try{n&&await rD({taskId:tG.taskId,role:e,targetIndex:s},{optimisticUpdate:t=>(function(e,t,r,a){if(!e)return e;let s=e.columns.map(e=>({...e,tasks:[...e.tasks]})),n=-1,l=-1,i=null;for(let e=0;e<s.length;e+=1){let r=s[e]?.tasks.findIndex(e=>e.id===t)??-1;if(r>=0){n=e,l=r,i=s[e].tasks.splice(r,1)[0]??null;break}}if(!i||n<0)return e;let o=s.findIndex(e=>e.role===r);o<0&&(s.push({role:r,heading:z[r],tasks:[]}),o=s.length-1);let d=s[o].tasks,c=Math.max(0,Math.min(a,d.length));return(d.splice(c,0,i),n===o&&l===c)?e:{...e,columns:s}})(t,tG.taskId,e,s)})}catch(e){ey(e instanceof Error?e.message:"Failed to move task")}finally{tH(null),tU(null)}}return e?(0,a.jsxs)("section",{className:"flex h-full min-h-0 flex-col overflow-hidden sm:overflow-hidden",children:[(0,a.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-3 py-3 sm:px-4 sm:py-4",children:[(0,a.jsxs)("div",{className:"mb-3 flex flex-wrap items-center justify-between gap-3 sm:mb-4",children:[(0,a.jsx)("div",{className:"min-w-0",children:(0,a.jsx)("h1",{className:"truncate text-[20px] font-medium leading-[28px] text-[var(--vk-text-normal)] sm:text-[24px] sm:leading-[32px]",children:p?.trim()||e})}),u?(0,a.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:u}):null]}),"list"===eS?(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 sm:gap-3",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-2 sm:gap-3",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>rM("intake"),className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"New Issue"})]}),rf.length>0?(0,a.jsx)("button",{type:"button",onClick:()=>rn({collapsedGroups:rk?[]:rf}),className:"hidden h-[31px] w-[31px] items-center justify-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)] sm:inline-flex","aria-label":rk?"Expand groups":"Collapse groups",title:rk?"Expand groups":"Collapse groups",children:rk?(0,a.jsx)(c.A,{className:"h-3.5 w-3.5"}):(0,a.jsx)(d.A,{className:"h-3.5 w-3.5"})}):null,(0,a.jsxs)("label",{className:"relative w-48 sm:w-64 md:w-80",children:[(0,a.jsx)(j.A,{className:"pointer-events-none absolute left-2 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:eN,onChange:e=>ew(e.target.value),placeholder:"Search issues...",className:"h-[31px] w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] pl-7 pr-3 text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[(0,a.jsxs)("div",{className:"mr-1 flex items-center overflow-hidden rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)]",children:[(0,a.jsx)("button",{type:"button",className:(0,R.cn)("p-1.5 transition-colors","list"===eS?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),onClick:()=>eP("list"),title:"List view",children:(0,a.jsx)(y.A,{className:"h-3.5 w-3.5"})}),(0,a.jsx)("button",{type:"button",className:(0,R.cn)("p-1.5 transition-colors","text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),onClick:()=>eP("kanban"),title:"Board view",children:(0,a.jsx)(N,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:(0,R.cn)("inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] hover:bg-[var(--vk-bg-hover)]",rv>0?"text-[var(--vk-orange)]":"text-[var(--vk-text-muted)]"),children:[(0,a.jsx)(w,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:rv>0?`Filters: ${rv}`:"Filter"}),rv>0?(0,a.jsx)("span",{className:"text-[10px] font-medium sm:hidden",children:rv}):null,rv>0?(0,a.jsx)(C.A,{className:"hidden h-3 w-3 sm:block",onClick:e=>{e.preventDefault(),e.stopPropagation(),rn({roles:[],priorities:[],agents:[]})}}):null]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${V} w-[min(420px,calc(100vw-2rem))]`,children:(0,a.jsxs)("div",{className:"space-y-3 p-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-2 pt-1",children:[(0,a.jsx)("span",{className:"text-[12px] font-semibold text-[var(--vk-text-normal)]",children:"Filters"}),rv>0?(0,a.jsx)("button",{type:"button",onClick:()=>rn({roles:[],priorities:[],agents:[]}),className:"text-[11px] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]",children:"Clear"}):null]}),(0,a.jsxs)("div",{className:"space-y-1.5 px-2",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Quick filters"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:et.map(e=>{let t=ec(eO.roles,e.roles);return(0,a.jsx)("button",{type:"button",onClick:()=>rn({roles:t?[]:[...e.roles]}),className:(0,R.cn)("rounded-full border px-2.5 py-1 text-[11px] transition-colors",t?"border-[var(--vk-orange)] bg-[color:color-mix(in_srgb,var(--vk-orange)_18%,transparent)] text-[var(--vk-text-normal)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.label)})})]}),(0,a.jsx)("div",{className:"border-t border-[var(--vk-border)]"}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 px-2 pb-2 sm:grid-cols-2",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Status"}),(0,a.jsx)("div",{className:"space-y-0.5",children:Q.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rn({roles:ed(eO.roles,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:B[e]}}),(0,a.jsx)("span",{className:"flex-1 truncate",children:z[e]}),eO.roles.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))})]}),(0,a.jsxs)("div",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Priority"}),(0,a.jsx)("div",{className:"space-y-0.5",children:Y.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rn({priorities:ed(eO.priorities,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"flex-1 truncate capitalize",children:e}),eO.priorities.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))})]}),(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)("span",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Assignee"}),(0,a.jsxs)("div",{className:"max-h-40 space-y-0.5 overflow-y-auto",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>rn({agents:ed(eO.agents,"__unassigned")}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{className:"inline-flex h-5 w-5 items-center justify-center rounded-full border border-dashed border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)]",children:(0,a.jsx)(f,{className:"h-3 w-3 text-[var(--vk-text-muted)]"})}),(0,a.jsx)("span",{className:"flex-1 truncate",children:"No agent"}),eO.agents.includes("__unassigned")?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]}),rh.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>rn({agents:ed(eO.agents,e)}),className:"flex w-full items-center gap-2 rounded-[4px] px-2 py-1 text-left text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)($.N,{seed:{label:e},className:"h-5 w-5 border-none bg-transparent"}),(0,a.jsx)("span",{className:"flex-1 truncate",children:en(e)}),eO.agents.includes(e)?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e))]})]})]})]})]})})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Sort"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${V} min-w-[180px]`,children:[["status","Status"],["priority","Priority"],["title","Title"],["agent","Agent"]].map(([e,t])=>{let r=eO.sortField===e;return(0,a.jsxs)("button",{type:"button",onClick:()=>rn({sortField:e,sortDir:r&&"asc"===eO.sortDir?"desc":"asc"}),className:(0,R.cn)("flex w-full items-center justify-between rounded-[4px] px-3 py-2 text-[13px]",r?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,a.jsx)("span",{children:t}),r?(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:"asc"===eO.sortDir?"↑":"↓"}):null]},e)})})})]}),(0,a.jsxs)(s.bL,{children:[(0,a.jsx)(s.l9,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"inline-flex h-[31px] items-center gap-1 rounded-[3px] px-2.5 text-[12px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(S.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Group"})]})}),(0,a.jsx)(s.ZL,{children:(0,a.jsx)(s.UC,{align:"end",sideOffset:6,className:`${V} min-w-[180px]`,children:[["status","Status"],["priority","Priority"],["assignee","Assignee"],["none","None"]].map(([e,t])=>{let r=eO.groupBy===e;return(0,a.jsxs)("button",{type:"button",onClick:()=>rn({groupBy:e}),className:(0,R.cn)("flex w-full items-center justify-between rounded-[4px] px-3 py-2 text-[13px]",r?"bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:[(0,a.jsx)("span",{children:t}),r?(0,a.jsx)(h.A,{className:"h-3.5 w-3.5 text-[var(--vk-orange)]"}):null]},e)})})})]})]})]}):(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("div",{className:"inline-flex rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-px",children:[["active","Active"],["all","All"],["backlog","Backlog"],["cancelled","Cancelled"]].map(([e,t])=>(0,a.jsx)("button",{type:"button",onClick:()=>eA(e),className:(0,R.cn)("px-3 py-[5px] text-[13px]",eC===e?"rounded-[2px] bg-[var(--vk-bg-hover)] text-[var(--vk-text-normal)]":"text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]"),children:t},e))}),(0,a.jsxs)("button",{type:"button",onClick:()=>eP("list"),className:"inline-flex h-[31px] items-center gap-2 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]","aria-label":"Switch to list view",title:"Switch to list view",children:[(0,a.jsx)(y.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"List view"})]}),(0,a.jsxs)("div",{className:"ml-auto flex w-full min-w-0 flex-wrap items-center gap-2 sm:w-auto sm:min-w-[220px] sm:flex-nowrap sm:flex-none",children:[(0,a.jsxs)("label",{className:"flex h-[31px] min-w-0 flex-1 items-center rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 sm:min-w-[200px] sm:w-[240px] sm:flex-none",children:[(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:eN,onChange:e=>ew(e.target.value),placeholder:"Search issues...",className:"ml-2 w-full bg-transparent text-[14px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]}),(0,a.jsxs)("button",{type:"button",onClick:()=>rM("intake"),className:"inline-flex h-[31px] w-full items-center justify-center gap-1 rounded-[3px] bg-[var(--vk-orange)] px-3 text-[14px] text-white hover:bg-[var(--accent-hover)] sm:w-auto",children:[(0,a.jsx)("span",{children:"New Issue"}),(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})]})]})]}),(0,a.jsxs)("div",{className:"mt-3 flex flex-col gap-2",children:[(0,a.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:rc?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"hidden text-[13px] text-[var(--vk-text-muted)] sm:inline",children:"GitHub Project"}),(0,a.jsxs)("select",{"aria-label":"GitHub Project",value:t1,onChange:function(t){let r=t.target.value.trim();if(t2(r),!r||!e||tK)return;let a=rx.find(e=>e.id===r)??null;if(!a?.id)return;let s=G?.githubProject?.id?.trim()??"";a.id!==s&&rO(a)},disabled:tW||tK,className:"h-9 min-w-0 flex-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)] sm:min-w-[220px] sm:max-w-md sm:flex-none",children:[(0,a.jsx)("option",{value:"",children:tW?"Loading GitHub Projects...":0===rx.length?"No GitHub Projects found":"Select a GitHub Project"}),rx.map(e=>(0,a.jsx)("option",{value:e.id??"",children:function(e){if(!e?.id)return"No GitHub Project linked";let t="number"==typeof e.number?`#${e.number}`:"Project";return`${t} ${e.title?.trim()||"Untitled"}`.trim()}(e)},e.id??"unknown"))]}),(0,a.jsx)("button",{type:"button",disabled:!G?.githubProject?.id||tK,onClick:()=>{rO(null),tq(!1)},className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Disconnect"}),(0,a.jsxs)("button",{type:"button",disabled:!G?.githubProject?.id||tK,onClick:()=>void rF("pull"),className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[tK?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(P.A,{className:"h-4 w-4"}),"Pull"]}),(0,a.jsx)("button",{type:"button",disabled:!G?.githubProject?.id||tK,onClick:()=>void rF("push"),className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Push"}),G?.githubProject?.url?(0,a.jsxs)("a",{href:G.githubProject.url,target:"_blank",rel:"noreferrer",className:"inline-flex h-9 items-center gap-1 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("span",{children:"Open"}),(0,a.jsx)(o.A,{className:"h-3.5 w-3.5"})]}):null,G?.githubProject?.id?null:(0,a.jsx)("button",{type:"button",onClick:()=>tq(!1),className:"inline-flex h-9 items-center rounded-[3px] px-2 text-[13px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]",children:"Cancel"})]}):(0,a.jsxs)("button",{type:"button",onClick:()=>tq(!0),className:"inline-flex h-[38px] items-center gap-2 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] sm:h-[31px]",children:[(0,a.jsx)("span",{className:"hidden sm:inline",children:"GitHub Project"}),(0,a.jsx)("span",{className:"sm:hidden",children:"GitHub"}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"Connect"})]})}),rc?(0,a.jsxs)("div",{className:"rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] p-3",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsxs)("span",{children:["Repository:"," ",G?.repository?.trim()||tX?.repository?.trim()||"Not configured"]}),tX?.ownerLogin?(0,a.jsxs)("span",{children:["Owner: ",tX.ownerLogin]}):null]}),tQ?(0,a.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:tQ}):null,(G?.recentWebhookDeliveries?.length??0)>0?(0,a.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,a.jsx)("h3",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Webhook diagnostics"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:(G?.recentWebhookDeliveries??[]).length})]}),(0,a.jsx)("div",{className:"space-y-2",children:(G?.recentWebhookDeliveries??[]).slice(0,6).map(e=>{var t;let r,s;return(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-2",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("span",{className:`inline-flex h-5 items-center rounded-[3px] border px-2 text-[10px] ${"synced"===(r=e.status.trim().toLowerCase())?"border-[rgba(84,176,79,0.35)] bg-[rgba(84,176,79,0.12)] text-[var(--vk-green)]":"failed"===r?"border-[rgba(210,81,81,0.35)] bg-[rgba(210,81,81,0.12)] text-[var(--vk-red)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]"}`,children:"synced"===(s=(t=e.status).trim().toLowerCase())?"Synced":"failed"===s?"Failed":"skipped"===s?"Skipped":t}),(0,a.jsxs)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:[e.event,e.action?` / ${e.action}`:""]}),(0,a.jsx)("span",{className:"ml-auto text-[11px] text-[var(--vk-text-muted)]",children:e$(e.timestamp)})]}),(0,a.jsx)("p",{className:"mt-1 text-[12px] text-[var(--vk-text-muted)]",children:e.detail}),e.repository?(0,a.jsxs)("p",{className:"mt-1 text-[11px] text-[var(--vk-text-muted)]",children:["Repo: ",e.repository]}):null]},e.id)})})]}):null]}):null]}),"kanban"===eS&&!ru&&(0,a.jsx)("p",{className:"pt-2 text-[12px] text-[var(--vk-text-muted)]",children:"Clear search to reorder cards."})]}),(0,a.jsx)("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto overscroll-contain p-3 touch-pan-y sm:p-4 sm:touch-auto",children:X?(0,a.jsxs)("div",{className:"flex h-full items-center justify-center text-[var(--vk-text-muted)]",children:[(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}),(0,a.jsx)("span",{className:"ml-2 text-[14px]",children:"Loading board..."})]}):el?(0,a.jsx)("div",{className:"rounded-[4px] border border-[color:color-mix(in_srgb,var(--vk-red)_55%,transparent)] bg-[color:color-mix(in_srgb,var(--vk-red)_12%,transparent)] px-3 py-2 text-[13px] text-[var(--vk-red)]",children:el}):"kanban"===eS?(0,a.jsx)("div",{className:"flex h-full min-h-0 flex-col gap-4",children:(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto overscroll-contain touch-pan-y sm:touch-auto",children:(0,a.jsx)("div",{className:"flex min-w-0 flex-row items-stretch gap-3 overflow-x-auto overscroll-x-contain pb-3 [-webkit-overflow-scrolling:touch] px-0.5 sm:h-full sm:gap-0 sm:overflow-x-auto sm:px-0 sm:pb-3",children:rp.map(e=>{let t=rm.find(t=>t.role===e.role),r=ru&&tG?.role===e.role?t?.tasks.findIndex(e=>e.id===tG.taskId)??-1:-1,s=Math.max((t?.tasks.length??e.tasks.length)-(r>=0),0);return(0,a.jsxs)("article",{className:(0,R.cn)("flex max-h-[min(560px,65dvh)] min-h-0 w-[min(85vw,320px)] shrink-0 flex-col border border-[var(--vk-border)] bg-[var(--vk-bg-main)] shadow-none sm:max-h-none sm:h-full sm:min-h-[560px] sm:w-[320px] sm:border-l-0 first:sm:border-l",tG&&"snap-start"),children:[(0,a.jsxs)("header",{className:"flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-3",children:[(0,a.jsx)("span",{className:"h-2.5 w-2.5 rounded-full",style:{backgroundColor:B[e.role]}}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"truncate text-[14px] font-medium text-[var(--vk-text-normal)]",children:e.heading||z[e.role]}),(0,a.jsx)("p",{className:"truncate text-[10px] text-[var(--text-faint)]",children:U[e.role]})]}),(0,a.jsx)("span",{className:"inline-flex h-6 min-w-[28px] items-center justify-center rounded-full border border-[rgba(255,255,255,0.08)] bg-[rgba(0,0,0,0.18)] px-2 text-[11px] text-[var(--vk-text-muted)]",children:e.tasks.length}),(0,a.jsx)("button",{type:"button",onClick:()=>rM(e.role),className:"inline-flex h-9 w-9 items-center justify-center rounded-[7px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] sm:h-7 sm:w-7","aria-label":`Add task to ${e.heading}`,children:(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})})]}),(0,a.jsxs)("div",{className:(0,R.cn)("flex-1 min-h-0 overflow-y-auto overscroll-contain px-3 pb-3 pt-2",tG?.role===e.role&&"bg-[rgba(255,255,255,0.02)]"),onDragOver:t=>ru?function(e,t){if(!tG||(e.preventDefault(),e.target!==e.currentTarget))return;let r=eE(t8.current,tG,t);tU(e=>e?.role===t&&e.index===r?e:{role:t,index:r})}(t,e.role):void 0,onDrop:t=>{t.preventDefault(),ru&&rz(e.role)},children:[ru&&tz?.role===e.role&&0===tz.index?(0,a.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,0===e.tasks.length&&(0,a.jsx)("div",{className:"rounded-[10px] border border-dashed border-[var(--vk-border)] px-3 py-4 text-[13px] text-[var(--vk-text-muted)]",children:"Drop a card here or create a new one."}),(0,a.jsx)("div",{className:"space-y-2",children:e.tasks.map(s=>{let n=t?.tasks.findIndex(e=>e.id===s.id)??0,l=r>=0?s.id===tG?.taskId?null:n>r?n-1:n:n;return(0,a.jsxs)("div",{children:[ru&&tz?.role===e.role&&null!==l&&tz.index===l?(0,a.jsx)("div",{className:"mb-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null,(0,a.jsx)(eR,{task:s,role:e.role,layout:"kanban",boardRepository:G?.repository,projectSessions:m,openingContextPath:ta,onOpenContextAttachment:rE,onOpenSessionView:ri,onOpenEditor:rT,dragEnabled:ru,isDragging:tG?.taskId===s.id,onDragStart:()=>{var t,r;let a;return tH({taskId:t=s.id,role:r=e.role}),a=eE(t8.current,{taskId:t,role:r},r),void tU({role:r,index:a})},onDragOver:t=>(function(e,t,r){if(!tG)return;e.preventDefault();let a=function(e,t,r,a,s,n){let l=eM(e,r);if(!l)return 0;let i=l.tasks.findIndex(e=>e.id===a);if(i<0)return eE(e,t,r);let o=n.getBoundingClientRect(),d=i+ +("after"==(s<o.top+o.height/2?"before":"after"));if(t?.role===r){let e=l.tasks.findIndex(e=>e.id===t.taskId);e>=0&&e<d&&(d-=1)}return d}(t8.current,tG,t,r,e.clientY,e.currentTarget);tU(e=>e?.role===t&&e.index===a?e:{role:t,index:a})})(t,e.role,s.id),onDragEnd:()=>{tH(null),tU(null)}})]},`${e.role}-${s.id}`)})}),ru&&tz?.role===e.role&&tz.index===s?(0,a.jsx)("div",{className:"mt-2 h-[3px] rounded-full bg-[var(--vk-orange)] shadow-[0_0_0_1px_rgba(0,0,0,0.2)]"}):null]})]},e.role)})})})}):0===rb.length?(0,a.jsxs)("div",{className:"flex min-h-[280px] flex-col items-center justify-center px-6 text-center",children:[(0,a.jsx)("div",{className:"mb-4 inline-flex h-12 w-12 items-center justify-center rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] text-[var(--vk-text-muted)]",children:(0,a.jsx)(y.A,{className:"h-5 w-5"})}),(0,a.jsx)("p",{className:"text-[14px] font-medium text-[var(--vk-text-normal)]",children:"No tasks match the current filters or search."}),(0,a.jsx)("p",{className:"mt-1 text-[13px] text-[var(--vk-text-muted)]",children:"Adjust the current view or create a new board task."}),(0,a.jsxs)("button",{type:"button",onClick:()=>rM("intake"),className:"mt-4 inline-flex h-[31px] items-center gap-1 rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"}),(0,a.jsx)("span",{children:"New Issue"})]})]}):(0,a.jsx)("div",{className:"space-y-4",children:rg.map(e=>{let t=rr&&null!=e.label&&eO.collapsedGroups.includes(e.key),r="status"===eO.groupBy&&Q.includes(e.key)?e.key:"intake";return(0,a.jsxs)("section",{className:"space-y-2",children:[e.label?(0,a.jsxs)("div",{className:"flex items-center py-1.5 pl-1 pr-3",children:[rr?(0,a.jsxs)("button",{type:"button",onClick:()=>rn({collapsedGroups:t?eO.collapsedGroups.filter(t=>t!==e.key):[...eO.collapsedGroups,e.key]}),className:"hidden items-center gap-1.5 sm:flex",children:[(0,a.jsx)(c.A,{className:(0,R.cn)("h-3.5 w-3.5 shrink-0 text-[var(--vk-text-muted)] transition-transform",!t&&"rotate-90")}),(0,a.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-normal)]",children:e.label})]}):(0,a.jsx)("span",{className:"text-[12px] font-semibold uppercase tracking-[0.08em] text-[var(--vk-text-normal)]",children:e.label}),(0,a.jsx)("button",{type:"button",onClick:()=>rM(r),className:"ml-auto inline-flex h-7 w-7 items-center justify-center rounded-[6px] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)]","aria-label":`Add task to ${e.label}`,children:(0,a.jsx)(k.A,{className:"h-3.5 w-3.5"})})]}):null,t?null:(0,a.jsx)("div",{children:e.items.map(e=>(0,a.jsx)(eL,{entry:e,boardRepository:G?.repository,projectSessions:m,onOpenEditor:rT,onOpenSessionView:ri},`${e.role}-${e.task.id}`))})]},e.key)})})}),rI&&(0,a.jsx)("div",{className:`fixed ${I.Rn} z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0`,onClick:rB,children:(0,a.jsxs)("div",{className:`flex ${I.Cf} w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] sm:max-w-[560px] sm:rounded-[6px] sm:border`,onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,a.jsxs)("header",{className:"border-b border-[var(--vk-border)] px-4 py-3",children:[(0,a.jsx)("h2",{className:"text-[18px] text-[var(--vk-text-strong)]",children:"Edit Board Task"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] text-[var(--vk-text-muted)]",children:"Move the card, update the task, and link the latest session run."})]}),(0,a.jsxs)("div",{className:"min-h-0 flex-1 space-y-3 overflow-y-auto px-4 py-4",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Title"}),(0,a.jsx)("input",{value:tv,onChange:e=>th(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Description"}),(0,a.jsx)("textarea",{value:tb,onChange:e=>tg(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Column"}),(0,a.jsx)("select",{value:tp,onChange:e=>tu(er(e.target.value)),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:G?.columns.map(e=>(0,a.jsx)("option",{value:e.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:e.heading||z[e.role]},e.role))})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Agent"}),(0,a.jsx)(eb,{value:tf,options:rs,disabled:tM,onChange:tk,ariaLabel:"Select agent for task"})]})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Type"}),(0,a.jsx)("input",{value:tj,onChange:e=>ty(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Priority"}),(0,a.jsx)("input",{value:tN,onChange:e=>tw(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"GitHub issue id (optional)"}),(0,a.jsx)("input",{value:tC,onChange:e=>tA(e.target.value),placeholder:"123",className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Notes"}),(0,a.jsx)("textarea",{value:tS,onChange:e=>tP(e.target.value),rows:3,className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),rI.task.attachments.length>0&&(0,a.jsxs)("div",{children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Attachments"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:rI.task.attachments.map(e=>(0,a.jsx)(ev,{attachment:e,opening:ta===e,onOpen:()=>void rE(e)},e))})]}),(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-3",children:[(0,a.jsxs)("div",{className:"mb-2 flex items-center justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-[12px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Comments"}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:rI.task.commentCount})]}),(0,a.jsx)("div",{className:"space-y-2",children:rI.task.comments.length>0?rI.task.comments.map(e=>(0,a.jsxs)("div",{className:"rounded-[4px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] px-3 py-2",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,a.jsx)("span",{className:"text-[12px] text-[var(--vk-text-normal)]",children:e.author}),(0,a.jsx)("span",{className:"text-[11px] text-[var(--vk-text-muted)]",children:e$(e.timestamp)})]}),(0,a.jsx)("p",{className:"pt-1 whitespace-pre-wrap text-[13px] leading-[20px] text-[var(--vk-text-muted)]",children:e.body})]},e.id)):(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"No comments yet."})}),(0,a.jsxs)("label",{className:"mt-3 block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Add comment"}),(0,a.jsx)("textarea",{value:tL,onChange:e=>tD(e.target.value),rows:3,placeholder:"Share status, request input, or leave implementation notes.",className:"w-full rounded-[3px] border border-[var(--vk-border)] bg-transparent px-2 py-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),tT&&(0,a.jsx)("p",{className:"mt-2 text-[12px] text-[var(--vk-red)]",children:tT}),(0,a.jsx)("div",{className:"mt-3 flex justify-end",children:(0,a.jsxs)("button",{type:"button",onClick:()=>void rH(),disabled:!tL.trim()||tO,className:"inline-flex h-9 items-center gap-2 rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:[tO?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):(0,a.jsx)(g,{className:"h-4 w-4"}),"Post comment"]})})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1 block text-[12px] text-[var(--vk-text-muted)]",children:"Primary linked run"}),(0,a.jsxs)("select",{value:t$,onChange:e=>tI(e.target.value),className:"h-9 w-full rounded-[3px] border border-[var(--vk-border)] bg-[var(--vk-bg-panel)] px-2 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:[(0,a.jsx)("option",{value:"",className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:"No linked session"}),r$.map(e=>(0,a.jsxs)("option",{value:e.id,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:[ek(e)," \xb7 ",e.status]},e.id))]})]}),t_&&(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:t_})]}),(0,a.jsxs)("footer",{className:"flex flex-wrap items-center justify-end gap-2 border-t border-[var(--vk-border)] px-4 py-3",children:[(0,a.jsx)("button",{type:"button",onClick:rB,disabled:tM||tO,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void rG(),disabled:!tv.trim()||tM,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:tM?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"Save Task"})]})]})}),eT&&(0,a.jsx)("div",{className:`fixed ${I.Rn} z-[75] flex items-start justify-center overflow-y-auto bg-black/60 px-3 py-3 sm:items-center sm:py-0`,onClick:()=>!ti&&eB(!1),children:(0,a.jsxs)("div",{className:`flex ${I.Cf} w-full flex-col overflow-hidden border-[var(--vk-border)] bg-[var(--vk-bg-panel)] shadow-[0_28px_80px_rgba(0,0,0,0.45)] sm:max-w-[980px] sm:rounded-[10px] sm:border`,onClick:e=>e.stopPropagation(),role:"dialog","aria-modal":"true",children:[(0,a.jsx)("header",{className:"border-b border-[var(--vk-border)] px-4 py-4 sm:px-5",children:(0,a.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h2",{className:"text-[20px] font-medium text-[var(--vk-text-strong)]",children:"Create Board Task"}),(0,a.jsx)("p",{className:"pt-1 text-[13px] leading-5 text-[var(--vk-text-muted)]",children:"Capture the task, route it to the right board column, and attach the notes or files the agent should treat as source of truth."})]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2 text-[11px]",children:[(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Column \xb7 ",rP]}),(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:["Agent \xb7 ",en(eW)]}),(0,a.jsxs)("span",{className:"rounded-full border border-[var(--vk-border)] bg-[rgba(255,255,255,0.03)] px-2.5 py-1 text-[var(--vk-text-normal)]",children:[e1.length+tn.length," ","attachment",e1.length+tn.length===1?"":"s"]})]})]})}),(0,a.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 py-4 sm:px-5",children:(0,a.jsxs)("div",{className:"grid gap-4 lg:grid-cols-[minmax(0,1.45fr)_minmax(290px,0.95fr)]",children:[(0,a.jsx)("div",{className:"space-y-4",children:(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Task brief"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Write the task the way you want it to appear on the board and in the agent prompt."})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Title"}),(0,a.jsx)("input",{value:ez,onChange:e=>eU(e.target.value),placeholder:"Review payment flow regression",className:"h-11 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[15px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"}),(0,a.jsx)("p",{className:"mt-1.5 text-[11px] text-[var(--vk-text-muted)]",children:"Keep it short and outcome-focused so the card stays scannable."})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Description"}),(0,a.jsx)("textarea",{value:eJ,onChange:e=>eq(e.target.value),rows:5,placeholder:"Investigate failing specs, confirm the root cause, and propose a safe fix.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Context notes"}),(0,a.jsx)("textarea",{value:eX,onChange:e=>e0(e.target.value),rows:4,placeholder:"Add constraints, pitfalls, or review expectations the agent should keep in mind.",className:"w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 py-2.5 text-[14px] leading-6 text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]"})]})]})}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"mb-3",children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Routing"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Choose where the card lands and how it should be tagged."})]}),(0,a.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-1 xl:grid-cols-2",children:[(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Column"}),(0,a.jsx)("select",{value:eG,onChange:e=>eH(er(e.target.value)),className:"h-10 w-full rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3 text-[14px] text-[var(--vk-text-normal)] outline-none focus:border-[var(--vk-orange)]",children:rm.map(e=>(0,a.jsx)("option",{value:e.role,className:"bg-[var(--vk-bg-panel)] text-[var(--vk-text-normal)]",children:e.heading||z[e.role]},e.role))})]}),(0,a.jsxs)("label",{className:"block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Agent"}),(0,a.jsx)(eb,{value:eW,options:rs,disabled:ti,onChange:eV,ariaLabel:"Select agent for new task"})]})]}),(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Task type"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:q.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>eZ(e.value),className:(0,R.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",eK===e.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.value))})]}),(0,a.jsxs)("div",{className:"mt-4",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Priority"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:W.map(e=>(0,a.jsx)("button",{type:"button",onClick:()=>eY(e.value),className:(0,R.cn)("inline-flex h-8 items-center rounded-full border px-3 text-[12px] transition-colors",eQ===e.value?"high"===e.value?"border-[var(--vk-red)] bg-[var(--vk-red)]/10 text-[var(--vk-text-strong)]":"medium"===e.value?"border-[var(--vk-orange)] bg-[var(--vk-orange)]/10 text-[var(--vk-text-strong)]":"border-[var(--vk-border)] bg-[rgba(255,255,255,0.05)] text-[var(--vk-text-strong)]":"border-[var(--vk-border)] text-[var(--vk-text-muted)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--vk-text-normal)]"),children:e.label},e.value))})]})]}),(0,a.jsxs)("section",{className:"rounded-[8px] border border-[var(--vk-border)] bg-[rgba(255,255,255,0.02)] p-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-[15px] font-medium text-[var(--vk-text-strong)]",children:"Context"}),(0,a.jsx)("p",{className:"pt-1 text-[12px] leading-5 text-[var(--vk-text-muted)]",children:"Attach notes, screenshots, or files the agent should inspect before making changes."})]}),(0,a.jsxs)("label",{className:"inline-flex h-9 cursor-pointer items-center rounded-[6px] border border-[var(--vk-border)] px-3 text-[12px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)]",children:[(0,a.jsx)("input",{type:"file",multiple:!0,className:"hidden",onChange:e=>{let t=Array.from(e.target.files??[]);0!==t.length&&(tl(e=>{let r=[...e];for(let e of t)r.some(t=>t.name===e.name&&t.size===e.size&&t.lastModified===e.lastModified)||r.push(e);return r}),e.currentTarget.value="")}}),"Upload files/images"]})]}),(0,a.jsxs)("div",{className:"mt-3 rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.12)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:[e1.length," existing file",1===e1.length?"":"s"," selected",tn.length>0?` \xb7 ${tn.length} upload${1===tn.length?"":"s"} ready`:""]}),rw.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Selected files"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:rw.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>r_(e.path),className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:`Remove ${eu(e)}`,children:[(0,a.jsx)("span",{className:"truncate max-w-[220px]",children:e.name}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"\xd7"})]},e.path))})]}),tn.length>0&&(0,a.jsxs)("div",{className:"mt-3",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:"Pending uploads"}),(0,a.jsx)("div",{className:"flex flex-wrap gap-1.5",children:tn.map(e=>(0,a.jsxs)("button",{type:"button",onClick:()=>{tl(t=>t.filter(t=>t.name!==e.name||t.size!==e.size||t.lastModified!==e.lastModified))},className:"inline-flex max-w-full items-center gap-1 rounded-[999px] border border-[var(--vk-border)] bg-[var(--vk-bg-hover)] px-2.5 py-1 text-[11px] text-[var(--vk-text-normal)]",title:"Remove upload",children:[(0,a.jsx)("span",{className:"truncate max-w-[220px]",children:e.name}),(0,a.jsx)("span",{className:"text-[var(--vk-text-muted)]",children:"\xd7"})]},`${e.name}-${e.size}-${e.lastModified}`))})]}),(0,a.jsxs)("label",{className:"mt-4 block",children:[(0,a.jsx)("span",{className:"mb-1.5 block text-[12px] font-medium text-[var(--vk-text-normal)]",children:"Browse existing context"}),(0,a.jsxs)("div",{className:"flex h-9 items-center rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.14)] px-3",children:[(0,a.jsx)(j.A,{className:"h-3.5 w-3.5 text-[var(--vk-text-muted)]"}),(0,a.jsx)("input",{value:e4,onChange:e=>e8(e.target.value),placeholder:"Search context files...",className:"ml-2 w-full bg-transparent text-[13px] text-[var(--vk-text-normal)] outline-none placeholder:text-[var(--vk-text-muted)]"})]})]}),(0,a.jsx)("div",{className:"mt-3 max-h-[320px] overflow-auto rounded-[6px] border border-[var(--vk-border)] bg-[rgba(0,0,0,0.08)]",children:e7?(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:[(0,a.jsx)(i.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,a.jsx)("span",{children:"Loading context files..."})]}):tt?(0,a.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-red)]",children:tt}):0===rj.length?(0,a.jsx)("p",{className:"px-3 py-3 text-[12px] text-[var(--vk-text-muted)]",children:"No context files found."}):(0,a.jsx)("ul",{className:"py-1",children:ry.map(e=>(0,a.jsx)(eh,{node:e,depth:0,expandedFolders:rS,selectedPaths:e1,openingContextPath:ta,contextOpenLabel:t7,onToggleFolder:rR,onTogglePath:r_,onOpenPath:e=>void rE(e)},e.path))})})]})]})]})}),td&&(0,a.jsx)("div",{className:"border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-red)]",children:td})}),(0,a.jsxs)("footer",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-[var(--vk-border)] px-4 py-3 sm:px-5",children:[(0,a.jsx)("div",{className:"text-[12px] text-[var(--vk-text-muted)]",children:ez.trim()?"Task is ready to add to the board.":"Add a clear title to enable task creation."}),(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,a.jsx)("button",{type:"button",onClick:()=>eB(!1),disabled:ti,className:"inline-flex h-9 items-center rounded-[3px] border border-[var(--vk-border)] px-3 text-[13px] text-[var(--vk-text-normal)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:"Cancel"}),(0,a.jsx)("button",{type:"button",onClick:()=>void rL(),disabled:!ez.trim()||ti,className:"inline-flex h-9 items-center rounded-[3px] bg-[var(--vk-bg-active)] px-3 text-[13px] text-[var(--vk-text-strong)] hover:bg-[var(--vk-bg-hover)] disabled:opacity-50",children:ti?(0,a.jsx)(i.A,{className:"h-4 w-4 animate-spin"}):"Create Task"})]})]})]})})]}):(0,a.jsx)("div",{className:"flex h-full items-center justify-center text-[14px] text-[var(--vk-text-muted)]",children:"Select a workspace to view its board."})}},57770:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},58564:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]])},59207:(e,t,r)=>{r.d(t,{g:()=>l});var a=r(7620),s=r(31404);function n(e){return!e||"object"!=typeof e||Array.isArray(e)?{}:{...e}}function l(e,t){let r=t?.enabled??!0,[l,i]=(0,a.useState)(null),[o,d]=(0,a.useState)(r),[c,x]=(0,a.useState)(null),m=(0,a.useCallback)(async()=>{if(!r){i(null),x(null),d(!1);return}try{var t;let r,a,l,o=await fetch((0,s.S)("/api/preferences",e)),d=await o.json().catch(()=>null);if(!o.ok)throw Error(d?.error??d?.reason??`Failed to load preferences: ${o.status}`);i((t=d?.preferences,r=n(t),l=(a=n(r.notifications)).soundFile,{onboardingAcknowledged:!0===r.onboardingAcknowledged,codingAgent:"string"==typeof r.codingAgent&&r.codingAgent.trim().length>0?r.codingAgent.trim():"claude-code",ide:"string"==typeof r.ide&&r.ide.trim().length>0?r.ide.trim():"vscode",markdownEditor:"string"==typeof r.markdownEditor&&r.markdownEditor.trim().length>0?r.markdownEditor.trim():"obsidian",markdownEditorPath:"string"==typeof r.markdownEditorPath?r.markdownEditorPath.trim():"",notifications:{soundEnabled:!1!==a.soundEnabled,soundFile:null===l?null:"string"==typeof l&&l.trim().length>0?l.trim():"abstract-sound-4"}})),x(null)}catch(e){i(null),x(e instanceof Error?e.message:"Failed to load preferences")}finally{d(!1)}},[e,r]);return(0,a.useEffect)(()=>{r&&m()},[r,m]),{preferences:r?l:null,loading:!!r&&o,error:r?c:null,refresh:m}}},88742:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]])},99250:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]])}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[41696],{11896:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("layers",[["path",{d:"M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z",key:"zw3jo"}],["path",{d:"M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12",key:"1wduqc"}],["path",{d:"M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17",key:"kqbvx6"}]])},18510:(e,t,r)=>{r.d(t,{J:()=>n,s:()=>s});var a=r(10926);function n(e){let t=(0,a.C0)(e);if(!t)return"/";let r=new URLSearchParams;return r.set("bridge",t),`/?${r.toString()}`}function s(e,t={}){let r,n=e.trim(),l=(0,a.DW)(n)?n:(r=(0,a.C0)(t.bridgeId))?(0,a.Bp)(r,n):n,i=new URLSearchParams,o=t.tab?.trim();o&&i.set("tab",o);let c=i.toString(),d=`/sessions/${encodeURIComponent(l)}`;return c.length>0?`${d}?${c}`:d}},21207:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]])},24774:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]])},33507:(e,t,r)=>{r.d(t,{DK:()=>n,VM:()=>l,hq:()=>a,qg:()=>s,re:()=>i});let a="overscroll-contain touch-pan-y [-webkit-overflow-scrolling:touch]",n=`overflow-y-auto ${a}`,s="min-h-0 flex-1 overflow-hidden bg-[#0f1012] p-3",l=a;function i(e){return["flex h-full min-h-0 min-w-0 w-full flex-col",e?"overflow-hidden bg-[#060404]":"overflow-hidden"].join(" ")}},34307:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},40443:(e,t,r)=>{r.d(t,{Wu:()=>i,Zp:()=>s,aR:()=>l});var a=r(54568),n=r(46916);let s=(0,r(7620).forwardRef)(({className:e,...t},r)=>(0,a.jsx)("div",{ref:r,className:(0,n.cn)("surface-card rounded-[var(--radius-md)] border",e),...t}));function l({className:e,...t}){return(0,a.jsx)("div",{className:(0,n.cn)("flex items-center gap-2 border-b border-[var(--vk-border)] px-3 py-2",e),...t})}function i({className:e,...t}){return(0,a.jsx)("div",{className:(0,n.cn)("px-3 py-2",e),...t})}s.displayName="Card"},41696:(e,t,r)=>{r.r(t),r.d(t,{WorkspaceOverview:()=>L});var a=r(54568),n=r(7620),s=r(38724),l=r(11896),i=r(21207),o=r(98787),c=r(34307),d=r(94110),x=r(83328),p=r(76081),m=r(90986),g=r(40443),u=r(33507),v=r(77522),b=r(39789);let f=(0,b.A)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);var h=r(24774);let k=(0,b.A)("octagon-x",[["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z",key:"2d38gg"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);var j=r(46916);let y={active:{label:"active",dot:"var(--status-working)",bg:"color-mix(in srgb, var(--status-working) 18%, transparent)",text:"var(--status-working)"},ready:{label:"ready",dot:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 18%, transparent)",text:"var(--status-ready)"},idle:{label:"idle",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 20%, transparent)",text:"var(--text-muted)"},waiting_input:{label:"waiting",dot:"var(--status-attention)",bg:"color-mix(in srgb, var(--status-attention) 16%, transparent)",text:"var(--status-attention)"},blocked:{label:"blocked",dot:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 16%, transparent)",text:"var(--status-error)"},exited:{label:"exited",dot:"var(--status-idle)",bg:"color-mix(in srgb, var(--status-idle) 18%, transparent)",text:"var(--text-faint)"}},w={label:"unknown",dot:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 16%, transparent)",text:"var(--text-faint)"};function N({activity:e,dotOnly:t=!1,size:r=6}){let n=null!==e&&e in y?y[e]:{...w,label:e??"unknown"},s="active"===e;return t?(0,a.jsx)("div",{className:`shrink-0 rounded-full ${s?"attention-glow":""}`,style:{width:r,height:r,background:n.dot}}):(0,a.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1 rounded-full px-1.5 py-0.5",style:{background:n.bg},children:[(0,a.jsx)("span",{className:`h-1.5 w-1.5 shrink-0 rounded-full ${s?"attention-glow":""}`,style:{background:n.dot}}),(0,a.jsx)("span",{className:"text-[10px] font-medium",style:{color:n.text},children:n.label})]})}var C=r(72410);let A={passing:{label:"CI passing",bg:"color-mix(in srgb, var(--status-ready) 14%, transparent)",text:"var(--status-ready)",icon:"✓"},failing:{label:"CI failing",bg:"color-mix(in srgb, var(--status-error) 14%, transparent)",text:"var(--status-error)",icon:"✗"},pending:{label:"CI pending",bg:"color-mix(in srgb, var(--status-attention) 12%, transparent)",text:"var(--status-attention)",icon:"●"},none:{label:"—",bg:"transparent",text:"var(--text-faint)",icon:""}};function M({status:e,failedCount:t,compact:r,prUrl:n}){let s=A[e]??A.none;if("none"===e||!e)return(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:"\\u2014"});let l="failing"===e&&t&&t>0?`${t} check${t>1?"s":""} failing`:s.label,i=(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:s.bg,color:s.text},children:[!r&&(0,a.jsx)("span",{children:s.icon}),l]});return n?(0,a.jsx)("a",{href:`${n}/checks`,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"hover:opacity-80",children:i}):i}function _({additions:e,deletions:t,compact:r}){let n,s=(n=e+t)<10?"XS":n<50?"S":n<200?"M":n<500?"L":"XL";return(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-semibold",children:[(0,a.jsxs)("span",{className:"text-[var(--status-ready)]",children:["+",e]}),(0,a.jsxs)("span",{className:"text-[var(--status-error)]",children:["-",t]}),!r&&(0,a.jsx)("span",{className:"text-[var(--text-faint)]",children:s})]})}var S=r(18510);let $=[{bg:"rgba(59,130,246,0.12)",text:"#60a5fa"},{bg:"rgba(139,92,246,0.12)",text:"#a78bfa"},{bg:"rgba(16,185,129,0.12)",text:"#34d399"},{bg:"rgba(245,158,11,0.12)",text:"#fbbf24"},{bg:"rgba(244,63,94,0.12)",text:"#fb7185"},{bg:"rgba(6,182,212,0.12)",text:"#22d3ee"},{bg:"rgba(99,102,241,0.12)",text:"#818cf8"},{bg:"rgba(236,72,153,0.12)",text:"#f472b6"}];function D(e){let t=0;for(let r of e)t=31*t+r.charCodeAt(0)|0;return $[Math.abs(t)%$.length]}let q={merge:"border-[color-mix(in_srgb,var(--status-ready)_30%,transparent)]",respond:"border-[color-mix(in_srgb,var(--status-attention)_30%,transparent)]",review:"border-[color-mix(in_srgb,var(--vk-orange,orange)_20%,transparent)]"},P={working:"text-[13px] font-medium text-[var(--text-secondary)]",pending:"text-[13px] font-medium text-[var(--text-secondary)]"};function I({decision:e}){let t="approved"===e,r="changes_requested"===e;return(0,a.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:t?"color-mix(in srgb, var(--status-ready) 12%, transparent)":r?"color-mix(in srgb, var(--status-error) 12%, transparent)":"color-mix(in srgb, var(--text-faint) 10%, transparent)",color:t?"var(--status-ready)":r?"var(--status-error)":"var(--text-faint)"},children:t?"✅ Approved":r?"Changes req.":`Review: ${e||"pending"}`})}function R({session:e,onSelect:t,onRestore:r}){let[s,l]=(0,n.useState)(!1),i="merged"===e.status||e.pr?.state==="merged"?{label:"merged",color:"var(--status-ready)",bg:"color-mix(in srgb, var(--status-ready) 12%, transparent)"}:"killed"===e.status||"terminated"===e.status?{label:e.status,color:"var(--status-error)",bg:"color-mix(in srgb, var(--status-error) 12%, transparent)"}:{label:e.status||"done",color:"var(--text-faint)",bg:"color-mix(in srgb, var(--text-faint) 12%, transparent)"},c=D(e.projectId),d="merged"!==e.status&&v.C.has(e.status);return(0,a.jsxs)("div",{className:(0,j.cn)("rounded-[10px] border border-[rgba(255,255,255,0.06)] bg-[rgba(23,25,30,0.88)] p-3 transition-colors hover:border-[rgba(255,255,255,0.12)]",s&&"border-[rgba(255,255,255,0.1)]"),onClick:e=>{e.target.closest("a, button, input")||l(!s)},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"inline-flex items-center gap-1 rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:i.bg,color:i.color},children:i.label}),(0,a.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:c.bg,color:c.text},children:e.projectId}),(0,a.jsx)("div",{className:"flex-1"}),d&&(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),r?.(e.id)},className:"inline-flex items-center gap-1 text-[10px] text-[var(--color-accent)] hover:underline",children:[(0,a.jsx)(f,{className:"h-3 w-3"}),"restore"]})]}),(0,a.jsx)("p",{className:"mt-1.5 text-[13px] font-semibold leading-snug text-[var(--text-primary)] line-clamp-2",children:e.summary||e.projectId}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.branch&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,a.jsx)(o.A,{className:"h-2.5 w-2.5 opacity-50"}),e.branch]}),e.pr&&(0,a.jsxs)("a",{href:e.pr.url,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"rounded-full bg-[var(--vk-bg-panel)] px-1.5 py-0.5 font-mono text-[10px] font-bold text-[var(--text-primary)] hover:underline",children:["#",e.pr.number]}),e.pr?.additions!=null&&e.pr?.deletions!=null&&(0,a.jsx)(_,{additions:e.pr.additions,deletions:e.pr.deletions})]}),s&&(0,a.jsxs)("div",{className:"mt-3 border-t border-[var(--vk-border)] pt-3 space-y-2",children:[e.pr&&(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsx)(M,{status:e.pr.ciStatus,prUrl:e.pr.url}),(0,a.jsx)(I,{decision:e.pr.reviewDecision})]}),!e.pr&&(0,a.jsx)("p",{className:"text-[11px] text-[var(--text-faint)]",children:"No PR associated."})]})]})}function z({session:e,onSelect:t,onSend:r,onKill:s,onRestore:l,compact:i}){let c,d,[x,p]=(0,n.useState)(!1),[m,g]=(0,n.useState)(""),[u,b]=(0,n.useState)(!1),[y,w]=(0,n.useState)(()=>Date.now()),A=(0,v.n)(e),$=v.C.has(e.status),L=$&&"merged"!==e.status,U=D(e.projectId),W=function(e){let t=e.cost;if(!t)return null;try{let e=JSON.parse(t);return e.estimatedCostUsd??e.totalUSD??null}catch{return null}}(e.metadata),E=(c=[],(d=e.pr)&&("failing"===d.ciStatus&&c.push({key:"ci-failing",label:"CI failing",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),"changes_requested"===d.reviewDecision&&c.push({key:"changes",label:"Changes requested",color:"var(--vk-orange, #f59f0a)",borderColor:"color-mix(in srgb, var(--vk-orange, #f59f0a) 40%, transparent)",bg:"color-mix(in srgb, var(--vk-orange, #f59f0a) 8%, transparent)"}),d.mergeability.noConflicts||c.push({key:"conflicts",label:"Conflicts",color:"var(--status-error)",borderColor:"color-mix(in srgb, var(--status-error) 40%, transparent)",bg:"color-mix(in srgb, var(--status-error) 8%, transparent)"}),d.mergeability.mergeable&&d.mergeability.ciPassing&&d.mergeability.approved&&"open"===d.state&&c.push({key:"merge-ready",label:"Ready to merge",color:"var(--status-ready)",borderColor:"color-mix(in srgb, var(--status-ready) 40%, transparent)",bg:"color-mix(in srgb, var(--status-ready) 8%, transparent)"})),c),K=e.metadata?.agent,O=e.pr,T=O?.state==="open"&&O.mergeability.mergeable&&O.mergeability.ciPassing&&O.mergeability.approved,Z=(0,n.useCallback)(async()=>{let t=m.trim();if(t&&!u){b(!0);try{await Promise.resolve(r?.(e.id,t)),g("")}finally{setTimeout(()=>b(!1),1500)}}},[m,u,r,e.id]);if((0,n.useEffect)(()=>{w(Date.now());let e=window.setInterval(()=>w(Date.now()),6e4);return()=>window.clearInterval(e)},[]),"done"===A||i)return(0,a.jsx)(R,{session:e,onSelect:t,onSend:r,onKill:s,onRestore:l});let V=T?q.merge:E.length>0?q.respond:A in q?q[A]:"border-[rgba(255,255,255,0.08)]",F=A in P?P[A]:"text-[14px] font-semibold text-[var(--text-primary)]";return(0,a.jsxs)("div",{className:(0,j.cn)("rounded-[10px] border bg-[rgba(23,25,30,0.96)] p-3 shadow-[0_10px_24px_rgba(0,0,0,0.24)] transition-colors hover:border-[rgba(255,255,255,0.14)]",V),onClick:r=>{r.target.closest("a, button, input, textarea")||t?.(e.id)},children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(N,{activity:e.activity}),(0,a.jsx)("span",{className:"font-mono text-[11px] text-[var(--text-muted)] truncate max-w-[120px]",children:e.id}),(0,a.jsx)("span",{className:"shrink-0 rounded-full px-1.5 py-0.5 text-[9px] font-medium",style:{background:U.bg,color:U.text},children:e.projectId}),(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(e,t){let r=Math.floor((t-new Date(e).getTime())/6e4);if(r<1)return"now";if(r<60)return`${r}m`;let a=Math.floor(r/60);return a<24?`${a}h`:`${Math.floor(a/24)}d`}(e.createdAt,y)}),(0,a.jsx)("a",{href:(0,S.s)(e.id,{bridgeId:e.bridgeId,tab:"terminal"}),onClick:e=>e.stopPropagation(),className:"inline-flex h-5 w-5 items-center justify-center rounded text-[var(--text-faint)] hover:bg-[var(--vk-bg-hover)] hover:text-[var(--text-muted)]",title:"Open session",children:(0,a.jsx)(h.A,{className:"h-3 w-3"})})]}),(0,a.jsx)("div",{className:"mt-1.5",children:(0,a.jsx)("p",{className:(0,j.cn)("leading-snug line-clamp-2",F),children:e.summary||e.projectId})}),(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[e.branch&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 font-mono text-[10px] text-[var(--text-faint)]",children:[(0,a.jsx)(o.A,{className:"h-2.5 w-2.5 opacity-50"}),e.branch]}),O&&(0,a.jsxs)("a",{href:O.url,target:"_blank",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),className:"font-mono text-[11px] font-bold text-[var(--text-primary)] hover:underline",children:["#",O.number]}),O?.additions!=null&&O?.deletions!=null&&(0,a.jsx)(_,{additions:O.additions,deletions:O.deletions}),K&&(0,a.jsxs)("span",{className:"inline-flex items-center gap-1 rounded bg-[var(--color-accent-subtle)] px-1.5 py-0.5 text-[10px] font-medium text-[var(--color-accent)]",children:[(0,a.jsx)(C.N,{seed:{label:K},className:"h-4 w-4"}),K]})]}),E.length>0&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-1.5",children:[E.map(e=>(0,a.jsx)("span",{className:"inline-flex items-center rounded-full px-1.5 py-0.5 text-[10px] font-semibold",style:{background:e.bg,color:e.color,border:`1px solid ${e.borderColor}`},children:e.label},e.key)),O&&(0,a.jsx)(M,{status:O.ciStatus,compact:!0,prUrl:O.url}),O&&"none"!==O.reviewDecision&&"pending"!==O.reviewDecision&&(0,a.jsx)(I,{decision:O.reviewDecision})]}),(0,a.jsxs)("div",{className:"mt-2 flex items-center gap-3 border-t border-[var(--vk-border)] pt-2",children:[null!=W&&(0,a.jsxs)("span",{className:"font-mono text-[10px] text-[var(--text-faint)]",children:["$",W.toFixed(2)]}),(0,a.jsx)("span",{className:"text-[10px] text-[var(--text-faint)]",children:function(e,t){let r=new Date(t).getTime()-new Date(e).getTime();if(r<0)return"-";let a=Math.floor(r/1e3);if(a<60)return`${a}s`;let n=Math.floor(a/60);if(n<60)return`${n}m`;let s=Math.floor(n/60);return`${s}h ${n%60}m`}(e.createdAt,e.lastActivityAt)}),(0,a.jsx)("div",{className:"flex-1"}),(0,a.jsx)("span",{className:"text-[10px] capitalize text-[var(--text-muted)]",children:e.status.replace(/_/g," ")})]}),!$&&(0,a.jsxs)("div",{className:"mt-2 flex gap-2",children:[(0,a.jsx)("input",{type:"text",value:m,onChange:e=>g(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),Z())},placeholder:"Message agent...",className:"flex-1 rounded-md border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-2.5 py-1.5 text-[11px] text-[var(--text-primary)] placeholder-[var(--text-faint)] outline-none focus:border-[var(--color-accent)]",onClick:e=>e.stopPropagation()}),(0,a.jsx)("button",{onClick:e=>{e.stopPropagation(),Z()},disabled:u||0===m.trim().length,className:"rounded-md bg-[var(--color-accent)] px-2.5 py-1.5 text-[10px] font-medium text-white transition-opacity hover:opacity-90 disabled:opacity-40",children:u?"Sent":"Send"})]}),$&&(0,a.jsxs)("div",{className:"mt-2 flex flex-wrap gap-2",children:[L&&(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),l?.(e.id)},className:"inline-flex items-center gap-1 rounded-md border border-[var(--vk-border)] px-2 py-1 text-[10px] font-medium text-[var(--color-accent)] hover:bg-[var(--color-accent-subtle)]",children:[(0,a.jsx)(f,{className:"h-3 w-3"}),"Restore"]}),(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),s?.(e.id)},className:"inline-flex items-center gap-1 rounded-md border border-[color-mix(in_srgb,var(--status-error)_30%,transparent)] px-2 py-1 text-[10px] font-medium text-[var(--status-error)] hover:bg-[color-mix(in_srgb,var(--status-error)_8%,transparent)]",children:[(0,a.jsx)(k,{className:"h-3 w-3"}),"Cleanup"]})]})]})}function L({projects:e,projectsLoading:t=!1,projectsError:r=null,projectsRecovering:b=!1,sessions:f,onCreateWorkspace:h,onSelectSession:k}){let j=(0,n.useMemo)(()=>f.filter(e=>"archived"!==e.status),[f]),y=(0,n.useMemo)(()=>(function(e,t){let r=[];for(let a of e){let e=r.length;for(;e>0&&0>r[e-1].lastActivityAt.localeCompare(a.lastActivityAt);)e-=1;!(e>=t)&&(r.splice(e,0,a),r.length>t&&r.pop())}return r})(j,Math.max(j.length,12)),[j]),w=(0,n.useMemo)(()=>{let e=0,t=0,r=0;for(let a of j){let n=(0,v.n)(a);"done"!==n&&(e+=1),"merge"===n?(r+=1,t+=1):("respond"===n||"review"===n)&&(t+=1)}return{active:e,attention:t,merge:r}},[j]),N=0===e.length&&!!r&&b,C=0===e.length&&!!r&&!b,A=0===e.length&&t&&!r,M=0===e.length&&0===j.length&&!N&&!C&&!A,_=[{label:"Projects",value:String(e.length),icon:s.A,caption:"Linked workspaces"},{label:"Active sessions",value:String(w.active),icon:l.A,caption:"Agent sessions in progress"},{label:"Need attention",value:String(w.attention),icon:i.A,caption:"Awaiting review or input"},{label:"Merge ready",value:String(w.merge),icon:o.A,caption:"Cleared to land"}];return N||C||A?(0,a.jsx)("div",{className:`flex h-full min-h-0 w-full flex-col bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] ${u.DK}`,children:(0,a.jsx)("div",{className:"flex h-full min-h-0 w-full flex-1 items-center justify-center px-3 py-3 sm:px-4 sm:py-4",children:(0,a.jsx)(g.Zp,{className:"w-full max-w-[680px] border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_88%,transparent)]",children:(0,a.jsxs)(g.Wu,{className:"flex flex-col items-center px-6 py-10 text-center sm:px-10 sm:py-12",children:[(0,a.jsx)("span",{className:"inline-flex h-12 w-12 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:C?(0,a.jsx)(c.A,{className:"h-5 w-5","aria-hidden":"true"}):(0,a.jsx)(d.A,{className:"h-5 w-5 animate-spin","aria-hidden":"true"})}),(0,a.jsx)("h1",{className:"mt-5 text-[24px] font-semibold tracking-[-0.035em] text-[var(--vk-text-strong)] sm:text-[30px]",children:N?"Reconnecting to Conductor":C?"Projects are unavailable":"Loading your projects"}),(0,a.jsx)("p",{className:"mt-3 max-w-[520px] text-[14px] leading-6 text-[var(--vk-text-muted)]",children:N?"Your projects have not been removed. Conductor is retrying the project connection automatically.":C?"Conductor could not load projects from this connection. Check the bridge or local backend, then refresh the page.":"Conductor is retrieving your linked projects."})]})})})}):M?(0,a.jsx)("div",{className:`flex h-full min-h-0 w-full flex-col bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] ${u.DK}`,children:(0,a.jsxs)("div",{className:"mx-auto flex h-full min-h-0 w-full max-w-[1200px] flex-1 flex-col px-3 py-3 sm:px-4 sm:py-4",children:[(0,a.jsx)("div",{className:"mb-4 flex justify-end",children:(0,a.jsx)(p.$,{variant:"outline",size:"md",onClick:h,children:"Add workspace"})}),(0,a.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,a.jsx)(g.Zp,{className:"w-full max-w-[880px] border-[var(--vk-border)] bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_88%,transparent)]",children:(0,a.jsxs)(g.Wu,{className:"flex flex-col items-center px-6 py-12 text-center sm:px-10 sm:py-16",children:[(0,a.jsx)("span",{className:"inline-flex h-14 w-14 items-center justify-center rounded-[12px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,a.jsx)(x.A,{className:"h-6 w-6"})}),(0,a.jsx)("p",{className:"mt-5 text-[11px] uppercase tracking-[0.14em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,a.jsx)("h1",{className:"mt-3 max-w-[14ch] text-[30px] font-semibold leading-[1.02] tracking-[-0.05em] text-[var(--vk-text-strong)] sm:text-[44px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,a.jsx)("p",{className:"mt-4 max-w-[560px] text-[14px] leading-7 text-[var(--vk-text-muted)] sm:text-[15px]",children:"Start by linking a workspace. Once a project is connected, this page will show active sessions and recent work without sending you through an empty composer first."}),(0,a.jsxs)("div",{className:"mt-8 flex flex-wrap items-center justify-center gap-3",children:[(0,a.jsx)(p.$,{variant:"primary",size:"md",onClick:h,children:"Add workspace"}),(0,a.jsx)("div",{className:"inline-flex rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-3 py-2 text-[12px] text-[var(--vk-text-muted)]",children:"0 projects \xb7 0 active sessions"})]})]})})})]})}):(0,a.jsx)("div",{className:`flex h-full min-h-0 w-full flex-col bg-[linear-gradient(180deg,rgba(255,255,255,0.03),rgba(255,255,255,0))] ${u.DK}`,children:(0,a.jsxs)("div",{className:"flex h-full min-h-0 w-full flex-1 flex-col gap-4 px-3 py-3 sm:px-4",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between",children:[(0,a.jsxs)("div",{className:"max-w-3xl",children:[(0,a.jsx)("p",{className:"text-[11px] uppercase tracking-[0.12em] text-[var(--vk-text-muted)]",children:"Frontend Control Surface"}),(0,a.jsx)("h1",{className:"mt-1 text-[24px] font-semibold leading-[1.05] tracking-[-0.04em] text-[var(--vk-text-strong)] sm:text-[30px]",children:"Operate workspaces, sessions, and agents from one surface."}),(0,a.jsx)("p",{className:"mt-2 max-w-2xl text-[13px] leading-6 text-[var(--vk-text-muted)]",children:"The workspace entrypoint now exposes status and recent activity without forcing you into a blank composer first."})]}),(0,a.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,a.jsx)(p.$,{variant:"outline",size:"md",onClick:h,children:"Add workspace"})})]}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-3 xl:grid-cols-4",children:_.map(({label:e,value:t,icon:r,caption:n})=>(0,a.jsx)(g.Zp,{className:"bg-[color:color-mix(in_srgb,var(--vk-bg-panel)_86%,transparent)] [content-visibility:auto] [contain-intrinsic-size:104px]",children:(0,a.jsxs)(g.Wu,{className:"flex items-center gap-3 py-3",children:[(0,a.jsx)("span",{className:"inline-flex h-10 w-10 items-center justify-center rounded-[6px] border border-[var(--vk-border)] bg-[var(--vk-bg-main)] text-[var(--vk-text-normal)]",children:(0,a.jsx)(r,{className:"h-4 w-4"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[11px] uppercase tracking-[0.08em] text-[var(--vk-text-muted)]",children:e}),(0,a.jsx)("p",{className:"mt-1 text-[22px] font-semibold text-[var(--vk-text-strong)]",children:t}),(0,a.jsx)("p",{className:"mt-0.5 text-[10px] text-[var(--text-faint)]",children:n})]})]})},e))}),(0,a.jsx)("div",{className:"flex min-h-0 w-full flex-1",children:(0,a.jsxs)(g.Zp,{className:"flex min-h-0 w-full flex-1 flex-col",children:[(0,a.jsxs)(g.aR,{className:"justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[14px] font-semibold text-[var(--vk-text-strong)]",children:"Recent sessions"}),(0,a.jsx)("p",{className:"text-[12px] text-[var(--vk-text-muted)]",children:"Jump back into active work without hunting through the sidebar."})]}),(0,a.jsx)(m.E,{variant:"outline",children:j.length})]}),(0,a.jsx)(g.Wu,{className:`flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto ${u.hq}`,children:0===y.length?(0,a.jsx)("div",{className:"flex h-full min-h-[180px] items-center justify-center rounded-[6px] border border-dashed border-[var(--vk-border)] bg-[var(--vk-bg-main)] px-4 text-center text-[13px] text-[var(--vk-text-muted)]",children:"No sessions yet. Create or open a workspace to start work."}):y.map(e=>(0,a.jsx)(z,{session:e,onSelect:k},e.id))})]})})]})})}},90986:(e,t,r)=>{r.d(t,{E:()=>l});var a=r(54568),n=r(46916);let s={default:"border-[var(--vk-border)] bg-[var(--vk-bg-panel)] text-[var(--vk-text-muted)]",success:"border-transparent bg-transparent text-[var(--vk-green)]",warning:"border-transparent bg-transparent text-[var(--vk-orange)]",error:"border-transparent bg-transparent text-[var(--vk-red)]",info:"border-transparent bg-transparent text-[var(--vk-text-muted)]",outline:"border-[var(--vk-border)] bg-transparent text-[var(--vk-text-muted)]"};function l({variant:e="default",className:t,children:r}){return(0,a.jsx)("span",{className:(0,n.cn)("inline-flex items-center gap-1 rounded-[3px] border px-1.5 py-0.5 text-[11px] leading-none",s[e],t),children:r})}},98787:(e,t,r)=>{r.d(t,{A:()=>a});let a=(0,r(39789).A)("git-branch",[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]])}}]);
|