claude-mux 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.beads/README.md +81 -0
- package/.beads/config.yaml +62 -0
- package/.beads/interactions.jsonl +0 -0
- package/.beads/issues.jsonl +5 -0
- package/.beads/metadata.json +4 -0
- package/.eslintrc.json +25 -0
- package/.gitattributes +3 -0
- package/.prettierrc +7 -0
- package/CLAUDE.md +123 -0
- package/LICENSE +21 -0
- package/PLAN-beads-integration.md +250 -0
- package/README.md +366 -0
- package/dist/app.d.ts +2 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +147 -0
- package/dist/app.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +65 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/index.d.ts +5 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +5 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/serve.d.ts +8 -0
- package/dist/commands/serve.d.ts.map +1 -0
- package/dist/commands/serve.js +59 -0
- package/dist/commands/serve.js.map +1 -0
- package/dist/commands/setup.d.ts +4 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +12 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/tui.d.ts +9 -0
- package/dist/commands/tui.d.ts.map +1 -0
- package/dist/commands/tui.js +234 -0
- package/dist/commands/tui.js.map +1 -0
- package/dist/commands/uninstall.d.ts +4 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +12 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/components/Header.d.ts +7 -0
- package/dist/components/Header.d.ts.map +1 -0
- package/dist/components/Header.js +14 -0
- package/dist/components/Header.js.map +1 -0
- package/dist/components/HelpDialog.d.ts +6 -0
- package/dist/components/HelpDialog.d.ts.map +1 -0
- package/dist/components/HelpDialog.js +14 -0
- package/dist/components/HelpDialog.js.map +1 -0
- package/dist/components/SessionEntry.d.ts +17 -0
- package/dist/components/SessionEntry.d.ts.map +1 -0
- package/dist/components/SessionEntry.js +102 -0
- package/dist/components/SessionEntry.js.map +1 -0
- package/dist/components/SessionList.d.ts +14 -0
- package/dist/components/SessionList.d.ts.map +1 -0
- package/dist/components/SessionList.js +57 -0
- package/dist/components/SessionList.js.map +1 -0
- package/dist/components/StatusBar.d.ts +6 -0
- package/dist/components/StatusBar.d.ts.map +1 -0
- package/dist/components/StatusBar.js +7 -0
- package/dist/components/StatusBar.js.map +1 -0
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +6 -0
- package/dist/components/index.js.map +1 -0
- package/dist/db/index.d.ts +2 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +3 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/schema.d.ts +4 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +23 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/db/sessions-json.d.ts +85 -0
- package/dist/db/sessions-json.d.ts.map +1 -0
- package/dist/db/sessions-json.js +242 -0
- package/dist/db/sessions-json.js.map +1 -0
- package/dist/db/sessions.d.ts +38 -0
- package/dist/db/sessions.d.ts.map +1 -0
- package/dist/db/sessions.js +87 -0
- package/dist/db/sessions.js.map +1 -0
- package/dist/hooks/claude-mux-hook.d.ts +15 -0
- package/dist/hooks/claude-mux-hook.d.ts.map +1 -0
- package/dist/hooks/claude-mux-hook.js +396 -0
- package/dist/hooks/claude-mux-hook.js.map +1 -0
- package/dist/hooks/claude-watch-hook.d.ts +15 -0
- package/dist/hooks/claude-watch-hook.d.ts.map +1 -0
- package/dist/hooks/claude-watch-hook.js +396 -0
- package/dist/hooks/claude-watch-hook.js.map +1 -0
- package/dist/server/custom-server.d.ts +13 -0
- package/dist/server/custom-server.d.ts.map +1 -0
- package/dist/server/custom-server.js +63 -0
- package/dist/server/custom-server.js.map +1 -0
- package/dist/server/index.d.ts +9 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +1143 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/middleware/cors.d.ts +2 -0
- package/dist/server/middleware/cors.d.ts.map +1 -0
- package/dist/server/middleware/cors.js +11 -0
- package/dist/server/middleware/cors.js.map +1 -0
- package/dist/server/routes/sessions.d.ts +3 -0
- package/dist/server/routes/sessions.d.ts.map +1 -0
- package/dist/server/routes/sessions.js +78 -0
- package/dist/server/routes/sessions.js.map +1 -0
- package/dist/server/routes/stream.d.ts +3 -0
- package/dist/server/routes/stream.d.ts.map +1 -0
- package/dist/server/routes/stream.js +45 -0
- package/dist/server/routes/stream.js.map +1 -0
- package/dist/server/types.d.ts +28 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +2 -0
- package/dist/server/types.js.map +1 -0
- package/dist/server/watcher.d.ts +22 -0
- package/dist/server/watcher.d.ts.map +1 -0
- package/dist/server/watcher.js +119 -0
- package/dist/server/watcher.js.map +1 -0
- package/dist/server/websocket.d.ts +51 -0
- package/dist/server/websocket.d.ts.map +1 -0
- package/dist/server/websocket.js +156 -0
- package/dist/server/websocket.js.map +1 -0
- package/dist/server/ws-handlers.d.ts +174 -0
- package/dist/server/ws-handlers.d.ts.map +1 -0
- package/dist/server/ws-handlers.js +695 -0
- package/dist/server/ws-handlers.js.map +1 -0
- package/dist/setup/hooks.d.ts +44 -0
- package/dist/setup/hooks.d.ts.map +1 -0
- package/dist/setup/hooks.js +267 -0
- package/dist/setup/hooks.js.map +1 -0
- package/dist/setup/index.d.ts +3 -0
- package/dist/setup/index.d.ts.map +1 -0
- package/dist/setup/index.js +3 -0
- package/dist/setup/index.js.map +1 -0
- package/dist/setup/wizard.d.ts +4 -0
- package/dist/setup/wizard.d.ts.map +1 -0
- package/dist/setup/wizard.js +72 -0
- package/dist/setup/wizard.js.map +1 -0
- package/dist/tmux/detect.d.ts +25 -0
- package/dist/tmux/detect.d.ts.map +1 -0
- package/dist/tmux/detect.js +71 -0
- package/dist/tmux/detect.js.map +1 -0
- package/dist/tmux/navigate.d.ts +13 -0
- package/dist/tmux/navigate.d.ts.map +1 -0
- package/dist/tmux/navigate.js +41 -0
- package/dist/tmux/navigate.js.map +1 -0
- package/dist/tmux/pane.d.ts +57 -0
- package/dist/tmux/pane.d.ts.map +1 -0
- package/dist/tmux/pane.js +156 -0
- package/dist/tmux/pane.js.map +1 -0
- package/dist/tmux/resize.d.ts +10 -0
- package/dist/tmux/resize.d.ts.map +1 -0
- package/dist/tmux/resize.js +25 -0
- package/dist/tmux/resize.js.map +1 -0
- package/dist/utils/paths.d.ts +7 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +9 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/pid.d.ts +5 -0
- package/dist/utils/pid.d.ts.map +1 -0
- package/dist/utils/pid.js +14 -0
- package/dist/utils/pid.js.map +1 -0
- package/dist/utils/version.d.ts +6 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +6 -0
- package/dist/utils/version.js.map +1 -0
- package/dist/web/client/_app/immutable/assets/0.WptSHSUl.css +1 -0
- package/dist/web/client/_app/immutable/assets/2.s6Kx4oz1.css +1 -0
- package/dist/web/client/_app/immutable/assets/4.DoNWy7tW.css +1 -0
- package/dist/web/client/_app/immutable/assets/AllSessionsPanel.CGHY3HLy.css +1 -0
- package/dist/web/client/_app/immutable/chunks/-3mUPuLP.js +1 -0
- package/dist/web/client/_app/immutable/chunks/B5U4_V3d.js +1 -0
- package/dist/web/client/_app/immutable/chunks/BHwiZXRv.js +1 -0
- package/dist/web/client/_app/immutable/chunks/C9P-coqM.js +1 -0
- package/dist/web/client/_app/immutable/chunks/Cegv0r8x.js +1 -0
- package/dist/web/client/_app/immutable/chunks/DU91Ml7U.js +3 -0
- package/dist/web/client/_app/immutable/chunks/DmdO6ygw.js +1 -0
- package/dist/web/client/_app/immutable/chunks/HKNo9LID.js +5 -0
- package/dist/web/client/_app/immutable/chunks/U4ip-C0d.js +2 -0
- package/dist/web/client/_app/immutable/chunks/cgUjKIhX.js +2 -0
- package/dist/web/client/_app/immutable/entry/app.CGIBnoln.js +2 -0
- package/dist/web/client/_app/immutable/entry/start.CJk8zB1j.js +1 -0
- package/dist/web/client/_app/immutable/nodes/0.CqlJ9a31.js +1 -0
- package/dist/web/client/_app/immutable/nodes/1.BQUZh2-w.js +1 -0
- package/dist/web/client/_app/immutable/nodes/2.CCV1YdgF.js +1 -0
- package/dist/web/client/_app/immutable/nodes/3.D9tDCdq8.js +1 -0
- package/dist/web/client/_app/immutable/nodes/4.BqPyNkFA.js +6 -0
- package/dist/web/client/_app/version.json +1 -0
- package/dist/web/client/robots.txt +3 -0
- package/dist/web/env.js +32 -0
- package/dist/web/handler.js +744 -0
- package/dist/web/index.js +49 -0
- package/dist/web/server/chunks/0-BHWsmCJv.js +23 -0
- package/dist/web/server/chunks/0-BHWsmCJv.js.map +1 -0
- package/dist/web/server/chunks/1-YRx6A8Tm.js +17 -0
- package/dist/web/server/chunks/1-YRx6A8Tm.js.map +1 -0
- package/dist/web/server/chunks/2-eC6JuGAo.js +22 -0
- package/dist/web/server/chunks/2-eC6JuGAo.js.map +1 -0
- package/dist/web/server/chunks/3-Bk-wV20p.js +32 -0
- package/dist/web/server/chunks/3-Bk-wV20p.js.map +1 -0
- package/dist/web/server/chunks/4-nteBgDrW.js +21 -0
- package/dist/web/server/chunks/4-nteBgDrW.js.map +1 -0
- package/dist/web/server/chunks/AllSessionsPanel.svelte_svelte_type_style_lang-Bt4B0-oi.js +35 -0
- package/dist/web/server/chunks/AllSessionsPanel.svelte_svelte_type_style_lang-Bt4B0-oi.js.map +1 -0
- package/dist/web/server/chunks/_layout.svelte-BIF9eZCY.js +453 -0
- package/dist/web/server/chunks/_layout.svelte-BIF9eZCY.js.map +1 -0
- package/dist/web/server/chunks/_page.svelte-Be6iabRn.js +34 -0
- package/dist/web/server/chunks/_page.svelte-Be6iabRn.js.map +1 -0
- package/dist/web/server/chunks/_page.svelte-C_fGJVSE.js +576 -0
- package/dist/web/server/chunks/_page.svelte-C_fGJVSE.js.map +1 -0
- package/dist/web/server/chunks/_page.svelte-CnfJk6cu.js +2722 -0
- package/dist/web/server/chunks/_page.svelte-CnfJk6cu.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-3WAmKvn2.js +34 -0
- package/dist/web/server/chunks/_server.ts-3WAmKvn2.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-BAWJCSFb.js +29 -0
- package/dist/web/server/chunks/_server.ts-BAWJCSFb.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-BPpMOZCm.js +24 -0
- package/dist/web/server/chunks/_server.ts-BPpMOZCm.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-BUKgRb6U.js +13 -0
- package/dist/web/server/chunks/_server.ts-BUKgRb6U.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-BVHUS8fm.js +41 -0
- package/dist/web/server/chunks/_server.ts-BVHUS8fm.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-BrF3od0O.js +45 -0
- package/dist/web/server/chunks/_server.ts-BrF3od0O.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-C4oPmOJR.js +38 -0
- package/dist/web/server/chunks/_server.ts-C4oPmOJR.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-CDAUUmG_.js +21 -0
- package/dist/web/server/chunks/_server.ts-CDAUUmG_.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-CR0uWvpz.js +24 -0
- package/dist/web/server/chunks/_server.ts-CR0uWvpz.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-CSqdCNGi.js +21 -0
- package/dist/web/server/chunks/_server.ts-CSqdCNGi.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-DI9fzUo9.js +52 -0
- package/dist/web/server/chunks/_server.ts-DI9fzUo9.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-DNjJTClI.js +46 -0
- package/dist/web/server/chunks/_server.ts-DNjJTClI.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-DdbOAkOj.js +22 -0
- package/dist/web/server/chunks/_server.ts-DdbOAkOj.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-Df2isGQc.js +41 -0
- package/dist/web/server/chunks/_server.ts-Df2isGQc.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-Vpw25_-3.js +12 -0
- package/dist/web/server/chunks/_server.ts-Vpw25_-3.js.map +1 -0
- package/dist/web/server/chunks/_server.ts-WldRpSRi.js +26 -0
- package/dist/web/server/chunks/_server.ts-WldRpSRi.js.map +1 -0
- package/dist/web/server/chunks/alert-dialog-description-DDA6u-nS.js +2890 -0
- package/dist/web/server/chunks/alert-dialog-description-DDA6u-nS.js.map +1 -0
- package/dist/web/server/chunks/auth-DrUf-v4J.js +51 -0
- package/dist/web/server/chunks/auth-DrUf-v4J.js.map +1 -0
- package/dist/web/server/chunks/button-D6xS9rHt.js +2335 -0
- package/dist/web/server/chunks/button-D6xS9rHt.js.map +1 -0
- package/dist/web/server/chunks/chunk-EKzHsMy_.js +42 -0
- package/dist/web/server/chunks/chunks-DmdqVYC7.js +58 -0
- package/dist/web/server/chunks/chunks-DmdqVYC7.js.map +1 -0
- package/dist/web/server/chunks/client-CUrSQijh.js +18 -0
- package/dist/web/server/chunks/client-CUrSQijh.js.map +1 -0
- package/dist/web/server/chunks/clsx-FzI4_gi0.js +332 -0
- package/dist/web/server/chunks/clsx-FzI4_gi0.js.map +1 -0
- package/dist/web/server/chunks/error.svelte-D-c-9pTE.js +27 -0
- package/dist/web/server/chunks/error.svelte-D-c-9pTE.js.map +1 -0
- package/dist/web/server/chunks/events-BDBlYddw.js +89 -0
- package/dist/web/server/chunks/events-BDBlYddw.js.map +1 -0
- package/dist/web/server/chunks/exports-CCurQ-Tl.js +131 -0
- package/dist/web/server/chunks/exports-CCurQ-Tl.js.map +1 -0
- package/dist/web/server/chunks/hooks.server-BK1bopsh.js +86 -0
- package/dist/web/server/chunks/hooks.server-BK1bopsh.js.map +1 -0
- package/dist/web/server/chunks/index2-BQnysSj-.js +2588 -0
- package/dist/web/server/chunks/index2-BQnysSj-.js.map +1 -0
- package/dist/web/server/chunks/internal-DLENj6YI.js +61 -0
- package/dist/web/server/chunks/internal-DLENj6YI.js.map +1 -0
- package/dist/web/server/chunks/pane-Dg3pKvsm.js +94 -0
- package/dist/web/server/chunks/pane-Dg3pKvsm.js.map +1 -0
- package/dist/web/server/chunks/sessions-json-DgfkCLO7.js +107 -0
- package/dist/web/server/chunks/sessions-json-DgfkCLO7.js.map +1 -0
- package/dist/web/server/chunks/sessions.svelte-Ds82MvkB.js +178 -0
- package/dist/web/server/chunks/sessions.svelte-Ds82MvkB.js.map +1 -0
- package/dist/web/server/chunks/state.svelte-xeAZvWZ6.js +7 -0
- package/dist/web/server/chunks/state.svelte-xeAZvWZ6.js.map +1 -0
- package/dist/web/server/chunks/ws-handlers-B4r5eSP2.js +733 -0
- package/dist/web/server/chunks/ws-handlers-B4r5eSP2.js.map +1 -0
- package/dist/web/server/index.js +4907 -0
- package/dist/web/server/index.js.map +1 -0
- package/dist/web/server/manifest.js +233 -0
- package/dist/web/server/manifest.js.map +1 -0
- package/docs/images/desktop-dashboard.png +0 -0
- package/docs/images/desktop-session.png +0 -0
- package/docs/images/mobile-dashboard.png +0 -0
- package/docs/images/mobile-session.png +0 -0
- package/docs/release-checklist.md +228 -0
- package/docs/removing-hooks.md +135 -0
- package/docs/state-transitions.md +109 -0
- package/package.json +71 -0
- package/src/app.tsx +188 -0
- package/src/cli.ts +83 -0
- package/src/commands/index.ts +4 -0
- package/src/commands/serve.ts +75 -0
- package/src/commands/setup.ts +13 -0
- package/src/commands/tui.ts +255 -0
- package/src/commands/uninstall.ts +13 -0
- package/src/components/Header.tsx +32 -0
- package/src/components/HelpDialog.tsx +45 -0
- package/src/components/SessionEntry.tsx +202 -0
- package/src/components/SessionList.tsx +98 -0
- package/src/components/StatusBar.tsx +26 -0
- package/src/components/index.ts +5 -0
- package/src/db/index.ts +20 -0
- package/src/db/sessions-json.ts +314 -0
- package/src/hooks/claude-mux-hook.ts +498 -0
- package/src/server/watcher.ts +128 -0
- package/src/server/ws-handlers.ts +922 -0
- package/src/setup/hooks.ts +333 -0
- package/src/setup/index.ts +2 -0
- package/src/setup/wizard.ts +81 -0
- package/src/tmux/detect.ts +87 -0
- package/src/tmux/navigate.ts +42 -0
- package/src/tmux/pane.ts +167 -0
- package/src/tmux/resize.ts +28 -0
- package/src/utils/paths.ts +11 -0
- package/src/utils/pid.ts +12 -0
- package/src/utils/version.ts +5 -0
- package/tests/components/Header.test.tsx +42 -0
- package/tests/components/SessionEntry-extended.test.tsx +165 -0
- package/tests/components/SessionEntry.test.tsx +138 -0
- package/tests/components/SessionList.test.tsx +110 -0
- package/tests/components/StatusBar.test.tsx +31 -0
- package/tests/db/index.test.ts +78 -0
- package/tests/db/sessions.test.ts +230 -0
- package/tests/server/integration.test.ts +319 -0
- package/tests/server/sessions.test.ts +114 -0
- package/tests/setup/hooks-integration.test.ts +148 -0
- package/tests/setup/hooks.test.ts +123 -0
- package/tests/tmux/detect.test.ts +54 -0
- package/tests/tmux/navigate.test.ts +30 -0
- package/tests/utils/pid.test.ts +17 -0
- package/tsconfig.cli.json +9 -0
- package/tsconfig.json +22 -0
- package/vitest.config.ts +29 -0
- package/web/.svelte-kit/adapter-bun/.vite/manifest.json +408 -0
- package/web/.svelte-kit/adapter-bun/_app/immutable/assets/AllSessionsPanel.BKhqOrbV.css +1 -0
- package/web/.svelte-kit/adapter-bun/_app/immutable/assets/_layout.WptSHSUl.css +1 -0
- package/web/.svelte-kit/adapter-bun/_app/immutable/assets/_page.DldLgTc-.css +1 -0
- package/web/.svelte-kit/adapter-bun/_app/immutable/assets/_page.DoNWy7tW.css +1 -0
- package/web/.svelte-kit/adapter-bun/chunks/AllSessionsPanel.svelte_svelte_type_style_lang.js +49 -0
- package/web/.svelte-kit/adapter-bun/chunks/alert-dialog-description.js +2670 -0
- package/web/.svelte-kit/adapter-bun/chunks/auth.js +59 -0
- package/web/.svelte-kit/adapter-bun/chunks/button.js +82 -0
- package/web/.svelte-kit/adapter-bun/chunks/client.js +29 -0
- package/web/.svelte-kit/adapter-bun/chunks/context.js +133 -0
- package/web/.svelte-kit/adapter-bun/chunks/environment.js +34 -0
- package/web/.svelte-kit/adapter-bun/chunks/events.js +121 -0
- package/web/.svelte-kit/adapter-bun/chunks/exports.js +174 -0
- package/web/.svelte-kit/adapter-bun/chunks/false.js +4 -0
- package/web/.svelte-kit/adapter-bun/chunks/index.js +59 -0
- package/web/.svelte-kit/adapter-bun/chunks/index2.js +2828 -0
- package/web/.svelte-kit/adapter-bun/chunks/internal.js +920 -0
- package/web/.svelte-kit/adapter-bun/chunks/pane.js +82 -0
- package/web/.svelte-kit/adapter-bun/chunks/sessions-json.js +124 -0
- package/web/.svelte-kit/adapter-bun/chunks/sessions.svelte.js +229 -0
- package/web/.svelte-kit/adapter-bun/chunks/shared.js +542 -0
- package/web/.svelte-kit/adapter-bun/chunks/state.svelte.js +16 -0
- package/web/.svelte-kit/adapter-bun/chunks/utils.js +43 -0
- package/web/.svelte-kit/adapter-bun/chunks/ws-handlers.js +782 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/auth/login/_server.ts.js +22 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/auth/logout/_server.ts.js +9 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/beads/_server.ts.js +22 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/browse/_server.ts.js +50 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/chrome/_server.ts.js +30 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/files/image/_server.ts.js +53 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/health/_server.ts.js +7 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/projects/new-session/_server.ts.js +44 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_id_/_server.ts.js +20 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_id_/kill/_server.ts.js +36 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_id_/restart/_server.ts.js +40 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_id_/screenshots/_server.ts.js +28 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_id_/send/_server.ts.js +29 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_server.ts.js +49 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/sessions/_target_/output/_server.ts.js +14 -0
- package/web/.svelte-kit/adapter-bun/entries/endpoints/api/tmux/panes/_server.ts.js +21 -0
- package/web/.svelte-kit/adapter-bun/entries/fallbacks/error.svelte.js +27 -0
- package/web/.svelte-kit/adapter-bun/entries/hooks.server.js +105 -0
- package/web/.svelte-kit/adapter-bun/entries/pages/_layout.svelte.js +499 -0
- package/web/.svelte-kit/adapter-bun/entries/pages/_page.svelte.js +3057 -0
- package/web/.svelte-kit/adapter-bun/entries/pages/login/_page.server.ts.js +15 -0
- package/web/.svelte-kit/adapter-bun/entries/pages/login/_page.svelte.js +37 -0
- package/web/.svelte-kit/adapter-bun/entries/pages/session/_target_/_page.svelte.js +653 -0
- package/web/.svelte-kit/adapter-bun/index.js +3864 -0
- package/web/.svelte-kit/adapter-bun/internal.js +13 -0
- package/web/.svelte-kit/adapter-bun/manifest-full.js +167 -0
- package/web/.svelte-kit/adapter-bun/manifest.js +171 -0
- package/web/.svelte-kit/adapter-bun/nodes/0.js +8 -0
- package/web/.svelte-kit/adapter-bun/nodes/1.js +8 -0
- package/web/.svelte-kit/adapter-bun/nodes/2.js +8 -0
- package/web/.svelte-kit/adapter-bun/nodes/3.js +10 -0
- package/web/.svelte-kit/adapter-bun/nodes/4.js +8 -0
- package/web/.svelte-kit/adapter-bun/remote-entry.js +541 -0
- package/web/.svelte-kit/adapter-node/.vite/manifest.json +223 -0
- package/web/.svelte-kit/adapter-node/_app/immutable/assets/_layout.4NiX29PU.css +1 -0
- package/web/.svelte-kit/adapter-node/_app/immutable/assets/_page.BEMzYUGV.css +1 -0
- package/web/.svelte-kit/adapter-node/_app/immutable/assets/_page.DOJn7TG7.css +1 -0
- package/web/.svelte-kit/adapter-node/chunks/context.js +121 -0
- package/web/.svelte-kit/adapter-node/chunks/environment.js +34 -0
- package/web/.svelte-kit/adapter-node/chunks/exports.js +174 -0
- package/web/.svelte-kit/adapter-node/chunks/false.js +4 -0
- package/web/.svelte-kit/adapter-node/chunks/index.js +59 -0
- package/web/.svelte-kit/adapter-node/chunks/index2.js +2710 -0
- package/web/.svelte-kit/adapter-node/chunks/internal.js +1005 -0
- package/web/.svelte-kit/adapter-node/chunks/sessions-json.js +109 -0
- package/web/.svelte-kit/adapter-node/chunks/sessions.svelte.js +67 -0
- package/web/.svelte-kit/adapter-node/chunks/shared.js +542 -0
- package/web/.svelte-kit/adapter-node/chunks/state.svelte.js +16 -0
- package/web/.svelte-kit/adapter-node/chunks/utils.js +43 -0
- package/web/.svelte-kit/adapter-node/entries/endpoints/api/browse/_server.ts.js +50 -0
- package/web/.svelte-kit/adapter-node/entries/endpoints/api/health/_server.ts.js +7 -0
- package/web/.svelte-kit/adapter-node/entries/endpoints/api/projects/new-session/_server.ts.js +44 -0
- package/web/.svelte-kit/adapter-node/entries/endpoints/api/sessions/_id_/_server.ts.js +20 -0
- package/web/.svelte-kit/adapter-node/entries/endpoints/api/sessions/_id_/kill/_server.ts.js +30 -0
- package/web/.svelte-kit/adapter-node/entries/endpoints/api/sessions/_id_/send/_server.ts.js +22 -0
- package/web/.svelte-kit/adapter-node/entries/endpoints/api/sessions/_server.ts.js +126 -0
- package/web/.svelte-kit/adapter-node/entries/endpoints/api/sessions/_target_/output/_server.ts.js +14 -0
- package/web/.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js +44 -0
- package/web/.svelte-kit/adapter-node/entries/pages/_layout.svelte.js +12 -0
- package/web/.svelte-kit/adapter-node/entries/pages/_page.svelte.js +87 -0
- package/web/.svelte-kit/adapter-node/entries/pages/session/_target_/_page.svelte.js +76 -0
- package/web/.svelte-kit/adapter-node/index.js +3864 -0
- package/web/.svelte-kit/adapter-node/internal.js +13 -0
- package/web/.svelte-kit/adapter-node/manifest-full.js +103 -0
- package/web/.svelte-kit/adapter-node/manifest.js +107 -0
- package/web/.svelte-kit/adapter-node/nodes/0.js +8 -0
- package/web/.svelte-kit/adapter-node/nodes/1.js +8 -0
- package/web/.svelte-kit/adapter-node/nodes/2.js +8 -0
- package/web/.svelte-kit/adapter-node/nodes/3.js +8 -0
- package/web/.svelte-kit/adapter-node/remote-entry.js +541 -0
- package/web/.svelte-kit/ambient.d.ts +187 -0
- package/web/.svelte-kit/generated/client/app.js +33 -0
- package/web/.svelte-kit/generated/client/matchers.js +1 -0
- package/web/.svelte-kit/generated/client/nodes/0.js +1 -0
- package/web/.svelte-kit/generated/client/nodes/1.js +1 -0
- package/web/.svelte-kit/generated/client/nodes/2.js +1 -0
- package/web/.svelte-kit/generated/client/nodes/3.js +1 -0
- package/web/.svelte-kit/generated/client/nodes/4.js +1 -0
- package/web/.svelte-kit/generated/client-optimized/app.js +33 -0
- package/web/.svelte-kit/generated/client-optimized/matchers.js +1 -0
- package/web/.svelte-kit/generated/client-optimized/nodes/0.js +1 -0
- package/web/.svelte-kit/generated/client-optimized/nodes/1.js +1 -0
- package/web/.svelte-kit/generated/client-optimized/nodes/2.js +1 -0
- package/web/.svelte-kit/generated/client-optimized/nodes/3.js +1 -0
- package/web/.svelte-kit/generated/client-optimized/nodes/4.js +1 -0
- package/web/.svelte-kit/generated/root.js +3 -0
- package/web/.svelte-kit/generated/root.svelte +68 -0
- package/web/.svelte-kit/generated/server/internal.js +53 -0
- package/web/.svelte-kit/non-ambient.d.ts +73 -0
- package/web/.svelte-kit/output/client/.vite/manifest.json +203 -0
- package/web/.svelte-kit/output/client/_app/immutable/assets/0.WptSHSUl.css +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/assets/2.s6Kx4oz1.css +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/assets/4.DoNWy7tW.css +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/assets/AllSessionsPanel.CGHY3HLy.css +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/-3mUPuLP.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/B5U4_V3d.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/BHwiZXRv.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/C9P-coqM.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/Cegv0r8x.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/DU91Ml7U.js +3 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/DmdO6ygw.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/HKNo9LID.js +5 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/U4ip-C0d.js +2 -0
- package/web/.svelte-kit/output/client/_app/immutable/chunks/cgUjKIhX.js +2 -0
- package/web/.svelte-kit/output/client/_app/immutable/entry/app.CGIBnoln.js +2 -0
- package/web/.svelte-kit/output/client/_app/immutable/entry/start.CJk8zB1j.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/nodes/0.CqlJ9a31.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/nodes/1.BQUZh2-w.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/nodes/2.CCV1YdgF.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/nodes/3.D9tDCdq8.js +1 -0
- package/web/.svelte-kit/output/client/_app/immutable/nodes/4.BqPyNkFA.js +6 -0
- package/web/.svelte-kit/output/client/_app/version.json +1 -0
- package/web/.svelte-kit/output/client/robots.txt +3 -0
- package/web/.svelte-kit/output/server/.vite/manifest.json +408 -0
- package/web/.svelte-kit/output/server/_app/immutable/assets/AllSessionsPanel.BKhqOrbV.css +1 -0
- package/web/.svelte-kit/output/server/_app/immutable/assets/_layout.WptSHSUl.css +1 -0
- package/web/.svelte-kit/output/server/_app/immutable/assets/_page.DldLgTc-.css +1 -0
- package/web/.svelte-kit/output/server/_app/immutable/assets/_page.DoNWy7tW.css +1 -0
- package/web/.svelte-kit/output/server/chunks/AllSessionsPanel.svelte_svelte_type_style_lang.js +49 -0
- package/web/.svelte-kit/output/server/chunks/alert-dialog-description.js +2670 -0
- package/web/.svelte-kit/output/server/chunks/auth.js +59 -0
- package/web/.svelte-kit/output/server/chunks/button.js +82 -0
- package/web/.svelte-kit/output/server/chunks/client.js +29 -0
- package/web/.svelte-kit/output/server/chunks/context.js +133 -0
- package/web/.svelte-kit/output/server/chunks/environment.js +34 -0
- package/web/.svelte-kit/output/server/chunks/events.js +121 -0
- package/web/.svelte-kit/output/server/chunks/exports.js +174 -0
- package/web/.svelte-kit/output/server/chunks/false.js +4 -0
- package/web/.svelte-kit/output/server/chunks/index.js +59 -0
- package/web/.svelte-kit/output/server/chunks/index2.js +2828 -0
- package/web/.svelte-kit/output/server/chunks/internal.js +920 -0
- package/web/.svelte-kit/output/server/chunks/pane.js +82 -0
- package/web/.svelte-kit/output/server/chunks/sessions-json.js +124 -0
- package/web/.svelte-kit/output/server/chunks/sessions.svelte.js +229 -0
- package/web/.svelte-kit/output/server/chunks/shared.js +542 -0
- package/web/.svelte-kit/output/server/chunks/state.svelte.js +16 -0
- package/web/.svelte-kit/output/server/chunks/utils.js +43 -0
- package/web/.svelte-kit/output/server/chunks/ws-handlers.js +782 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/auth/login/_server.ts.js +22 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/auth/logout/_server.ts.js +9 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/beads/_server.ts.js +22 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/browse/_server.ts.js +50 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/chrome/_server.ts.js +30 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/files/image/_server.ts.js +53 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/health/_server.ts.js +7 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/projects/new-session/_server.ts.js +44 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_id_/_server.ts.js +20 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_id_/kill/_server.ts.js +36 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_id_/restart/_server.ts.js +40 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_id_/screenshots/_server.ts.js +28 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_id_/send/_server.ts.js +29 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_server.ts.js +49 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/sessions/_target_/output/_server.ts.js +14 -0
- package/web/.svelte-kit/output/server/entries/endpoints/api/tmux/panes/_server.ts.js +21 -0
- package/web/.svelte-kit/output/server/entries/fallbacks/error.svelte.js +27 -0
- package/web/.svelte-kit/output/server/entries/hooks.server.js +105 -0
- package/web/.svelte-kit/output/server/entries/pages/_layout.svelte.js +499 -0
- package/web/.svelte-kit/output/server/entries/pages/_page.svelte.js +3057 -0
- package/web/.svelte-kit/output/server/entries/pages/login/_page.server.ts.js +15 -0
- package/web/.svelte-kit/output/server/entries/pages/login/_page.svelte.js +37 -0
- package/web/.svelte-kit/output/server/entries/pages/session/_target_/_page.svelte.js +653 -0
- package/web/.svelte-kit/output/server/index.js +3864 -0
- package/web/.svelte-kit/output/server/internal.js +13 -0
- package/web/.svelte-kit/output/server/manifest-full.js +167 -0
- package/web/.svelte-kit/output/server/manifest.js +167 -0
- package/web/.svelte-kit/output/server/nodes/0.js +8 -0
- package/web/.svelte-kit/output/server/nodes/1.js +8 -0
- package/web/.svelte-kit/output/server/nodes/2.js +8 -0
- package/web/.svelte-kit/output/server/nodes/3.js +10 -0
- package/web/.svelte-kit/output/server/nodes/4.js +8 -0
- package/web/.svelte-kit/output/server/remote-entry.js +541 -0
- package/web/.svelte-kit/tsconfig.json +58 -0
- package/web/.svelte-kit/types/route_meta_data.json +55 -0
- package/web/.svelte-kit/types/src/routes/$types.d.ts +24 -0
- package/web/.svelte-kit/types/src/routes/api/auth/login/$types.d.ts +10 -0
- package/web/.svelte-kit/types/src/routes/api/auth/logout/$types.d.ts +10 -0
- package/web/.svelte-kit/types/src/routes/api/beads/$types.d.ts +10 -0
- package/web/.svelte-kit/types/src/routes/api/browse/$types.d.ts +10 -0
- package/web/.svelte-kit/types/src/routes/api/chrome/$types.d.ts +10 -0
- package/web/.svelte-kit/types/src/routes/api/files/image/$types.d.ts +10 -0
- package/web/.svelte-kit/types/src/routes/api/health/$types.d.ts +10 -0
- package/web/.svelte-kit/types/src/routes/api/projects/new-session/$types.d.ts +10 -0
- package/web/.svelte-kit/types/src/routes/api/sessions/$types.d.ts +10 -0
- package/web/.svelte-kit/types/src/routes/api/sessions/[id]/$types.d.ts +11 -0
- package/web/.svelte-kit/types/src/routes/api/sessions/[id]/kill/$types.d.ts +11 -0
- package/web/.svelte-kit/types/src/routes/api/sessions/[id]/restart/$types.d.ts +11 -0
- package/web/.svelte-kit/types/src/routes/api/sessions/[id]/screenshots/$types.d.ts +11 -0
- package/web/.svelte-kit/types/src/routes/api/sessions/[id]/send/$types.d.ts +11 -0
- package/web/.svelte-kit/types/src/routes/api/sessions/[target]/output/$types.d.ts +11 -0
- package/web/.svelte-kit/types/src/routes/api/tmux/panes/$types.d.ts +10 -0
- package/web/.svelte-kit/types/src/routes/login/$types.d.ts +25 -0
- package/web/.svelte-kit/types/src/routes/login/proxy+page.server.ts +19 -0
- package/web/.svelte-kit/types/src/routes/session/[target]/$types.d.ts +19 -0
- package/web/README.md +42 -0
- package/web/components.json +16 -0
- package/web/package.json +35 -0
- package/web/src/app.css +128 -0
- package/web/src/app.d.ts +13 -0
- package/web/src/app.html +11 -0
- package/web/src/hooks.server.ts +156 -0
- package/web/src/lib/assets/favicon.svg +1 -0
- package/web/src/lib/components/AllSessionsPanel.svelte +789 -0
- package/web/src/lib/components/BeadsPanel.svelte +146 -0
- package/web/src/lib/components/IssueItem.svelte +287 -0
- package/web/src/lib/components/ScreenshotsPanel.svelte +336 -0
- package/web/src/lib/components/SessionsSidebar.svelte +312 -0
- package/web/src/lib/components/TerminalRenderer.svelte +189 -0
- package/web/src/lib/components/ui/alert-dialog/alert-dialog-action.svelte +18 -0
- package/web/src/lib/components/ui/alert-dialog/alert-dialog-cancel.svelte +18 -0
- package/web/src/lib/components/ui/alert-dialog/alert-dialog-content.svelte +29 -0
- package/web/src/lib/components/ui/alert-dialog/alert-dialog-description.svelte +17 -0
- package/web/src/lib/components/ui/alert-dialog/alert-dialog-footer.svelte +20 -0
- package/web/src/lib/components/ui/alert-dialog/alert-dialog-header.svelte +20 -0
- package/web/src/lib/components/ui/alert-dialog/alert-dialog-overlay.svelte +20 -0
- package/web/src/lib/components/ui/alert-dialog/alert-dialog-portal.svelte +7 -0
- package/web/src/lib/components/ui/alert-dialog/alert-dialog-title.svelte +17 -0
- package/web/src/lib/components/ui/alert-dialog/alert-dialog-trigger.svelte +7 -0
- package/web/src/lib/components/ui/alert-dialog/alert-dialog.svelte +7 -0
- package/web/src/lib/components/ui/alert-dialog/index.ts +37 -0
- package/web/src/lib/components/ui/badge/badge.svelte +50 -0
- package/web/src/lib/components/ui/badge/index.ts +2 -0
- package/web/src/lib/components/ui/button/button.svelte +86 -0
- package/web/src/lib/components/ui/button/index.ts +17 -0
- package/web/src/lib/components/ui/checkbox/checkbox.svelte +36 -0
- package/web/src/lib/components/ui/checkbox/index.ts +6 -0
- package/web/src/lib/components/ui/dialog/dialog-close.svelte +7 -0
- package/web/src/lib/components/ui/dialog/dialog-content.svelte +45 -0
- package/web/src/lib/components/ui/dialog/dialog-description.svelte +17 -0
- package/web/src/lib/components/ui/dialog/dialog-footer.svelte +20 -0
- package/web/src/lib/components/ui/dialog/dialog-header.svelte +20 -0
- package/web/src/lib/components/ui/dialog/dialog-overlay.svelte +20 -0
- package/web/src/lib/components/ui/dialog/dialog-portal.svelte +7 -0
- package/web/src/lib/components/ui/dialog/dialog-title.svelte +17 -0
- package/web/src/lib/components/ui/dialog/dialog-trigger.svelte +7 -0
- package/web/src/lib/components/ui/dialog/dialog.svelte +7 -0
- package/web/src/lib/components/ui/dialog/index.ts +34 -0
- package/web/src/lib/components/ui/scroll-area/index.ts +10 -0
- package/web/src/lib/components/ui/scroll-area/scroll-area-scrollbar.svelte +31 -0
- package/web/src/lib/components/ui/scroll-area/scroll-area.svelte +43 -0
- package/web/src/lib/components/ui/textarea/index.ts +7 -0
- package/web/src/lib/components/ui/textarea/textarea.svelte +23 -0
- package/web/src/lib/index.ts +1 -0
- package/web/src/lib/server/auth.ts +90 -0
- package/web/src/lib/stores/beads.svelte.ts +163 -0
- package/web/src/lib/stores/input-injection.svelte.ts +39 -0
- package/web/src/lib/stores/preferences.svelte.ts +55 -0
- package/web/src/lib/stores/sessions.svelte.ts +108 -0
- package/web/src/lib/stores/terminal.svelte.ts +96 -0
- package/web/src/lib/stores/websocket-base.svelte.ts +209 -0
- package/web/src/lib/types/terminal.ts +31 -0
- package/web/src/lib/utils/terminal-parser.ts +239 -0
- package/web/src/lib/utils.ts +13 -0
- package/web/src/routes/+layout.svelte +450 -0
- package/web/src/routes/+page.svelte +19 -0
- package/web/src/routes/api/auth/login/+server.ts +34 -0
- package/web/src/routes/api/auth/logout/+server.ts +10 -0
- package/web/src/routes/api/beads/+server.ts +28 -0
- package/web/src/routes/api/browse/+server.ts +59 -0
- package/web/src/routes/api/chrome/+server.ts +35 -0
- package/web/src/routes/api/files/image/+server.ts +64 -0
- package/web/src/routes/api/health/+server.ts +6 -0
- package/web/src/routes/api/projects/new-session/+server.ts +50 -0
- package/web/src/routes/api/sessions/+server.ts +62 -0
- package/web/src/routes/api/sessions/[id]/+server.ts +19 -0
- package/web/src/routes/api/sessions/[id]/kill/+server.ts +46 -0
- package/web/src/routes/api/sessions/[id]/restart/+server.ts +59 -0
- package/web/src/routes/api/sessions/[id]/screenshots/+server.ts +32 -0
- package/web/src/routes/api/sessions/[id]/send/+server.ts +31 -0
- package/web/src/routes/api/sessions/[target]/output/+server.ts +13 -0
- package/web/src/routes/api/tmux/panes/+server.ts +32 -0
- package/web/src/routes/login/+page.server.ts +18 -0
- package/web/src/routes/login/+page.svelte +69 -0
- package/web/src/routes/session/[target]/+page.svelte +450 -0
- package/web/static/robots.txt +3 -0
- package/web/svelte.config.js +20 -0
- package/web/tsconfig.json +20 -0
- package/web/vite.config.ts +154 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{l as o,a as r}from"../chunks/DU91Ml7U.js";export{o as load_css,r as start};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as Re,s as z,a as o,f as u,t as Te,c as xe,w as Ue}from"../chunks/U4ip-C0d.js";import{s as M,Z as Be,g as e,d as v,p as De,c as i,b as a,r as s,t as P,a as ze,x as le,n as ve,k as Ae,ad as pe,ab as Ne,ak as Oe}from"../chunks/BHwiZXRv.js";import{i as R,p as Fe,s as We,a as Me,b as He}from"../chunks/B5U4_V3d.js";import{c as Y,s as ue,d as he,B as Ie,a as Se,h as $e,e as Le}from"../chunks/cgUjKIhX.js";import{R as Ke,e as je,a as Pe,p as Xe,s as Je}from"../chunks/HKNo9LID.js";import{g as Ve}from"../chunks/DU91Ml7U.js";import{i as Ye}from"../chunks/Cegv0r8x.js";import{B as qe,A as Ze}from"../chunks/DmdO6ygw.js";const Ge=!0,Ce=Ge;class Qe extends Ke{#e=M(Be([]));get issues(){return e(this.#e)}set issues(t){v(this.#e,t,!0)}#t=M("open");get filter(){return e(this.#t)}set filter(t){v(this.#t,t,!0)}#s=M(null);get currentProject(){return e(this.#s)}set currentProject(t){v(this.#s,t,!0)}#i=M(!1);get loading(){return e(this.#i)}set loading(t){v(this.#i,t,!0)}#a=M(null);get error(){return e(this.#a)}set error(t){v(this.#a,t,!0)}get filteredIssues(){const t=this.issues;switch(this.filter){case"ready":return t.filter(b=>b.status==="open"&&(!b.dependencies||!b.dependencies.some(K=>K.type==="blocked_by")));case"open":return t.filter(b=>b.status!=="closed"&&b.status!=="deferred");default:return t}}get issueCount(){return this.filteredIssues.length}getWsUrl(){const t=window.location.protocol==="https:"?"wss:":"ws:",p=encodeURIComponent(this.currentProject||"");return`${t}//${window.location.host}/api/beads/stream?project=${p}`}getLogPrefix(){return"[beads]"}shouldReconnect(){return!!this.currentProject}handleMessage(t){try{const p=JSON.parse(t.data);p.issues&&(this.issues=p.issues,this.error=null)}catch(p){console.error("[beads] Failed to parse message:",p)}}onConnected(){this.loading=!1,this.error=null}onDisconnected(){}setProject(t){t!==this.currentProject&&(this.currentProject&&this.doDisconnect(),this.currentProject=t,this.issues=[],this.error=null,t&&Ce&&(this.loading=!0,this.doConnect()))}setFilter(t){this.filter=t}refresh(){this.currentProject&&this.forceReconnect()}connect(){this.currentProject&&Ce&&this.doConnect()}disconnect(){this.doDisconnect()}}const de=new Qe;var et=u('<div class="description svelte-1yk20pg"> </div>'),tt=u('<div class="detail-row svelte-1yk20pg"><span class="detail-label svelte-1yk20pg">Assignee</span> <span class="detail-value svelte-1yk20pg"> </span></div>'),st=u('<div class="detail-row svelte-1yk20pg"><span class="detail-label svelte-1yk20pg">Owner</span> <span class="detail-value svelte-1yk20pg"> </span></div>'),it=u('<div class="detail-row svelte-1yk20pg"><span class="detail-label svelte-1yk20pg">Dependencies</span> <span class="detail-value svelte-1yk20pg"> </span></div>'),at=u('<div class="detail-row svelte-1yk20pg"><span class="detail-label svelte-1yk20pg">Updated</span> <span class="detail-value svelte-1yk20pg"> </span></div>'),nt=u("<iconify-icon></iconify-icon> Use ID",3),rt=u('<div class="issue-details svelte-1yk20pg"><div class="full-title svelte-1yk20pg"> </div> <!> <div class="details-mobile svelte-1yk20pg"><div class="detail-row svelte-1yk20pg"><span class="detail-label svelte-1yk20pg">Status</span> <span class="detail-value status-value svelte-1yk20pg"> </span></div> <div class="detail-row svelte-1yk20pg"><span class="detail-label svelte-1yk20pg">Type</span> <span class="detail-value svelte-1yk20pg"> </span></div></div> <div class="details-desktop svelte-1yk20pg"><div class="detail-row svelte-1yk20pg"><span class="detail-label svelte-1yk20pg">Status</span> <span class="detail-value status-value svelte-1yk20pg"> </span></div> <div class="detail-row svelte-1yk20pg"><span class="detail-label svelte-1yk20pg">Type</span> <span class="detail-value svelte-1yk20pg"> </span></div> <!> <!> <!> <div class="detail-row svelte-1yk20pg"><span class="detail-label svelte-1yk20pg">Created</span> <span class="detail-value svelte-1yk20pg"> </span></div> <!> <div class="detail-row svelte-1yk20pg"><span class="detail-label svelte-1yk20pg">ID</span> <span class="detail-value id-value svelte-1yk20pg"> </span></div></div> <!></div>'),ot=u('<div><button class="issue-item svelte-1yk20pg" type="button"><span class="status-dot svelte-1yk20pg"></span> <span class="issue-title svelte-1yk20pg"> </span> <span class="priority-badge svelte-1yk20pg"> </span> <iconify-icon></iconify-icon></button> <!></div>',2);function lt(oe,t){De(t,!0);let p=M(!1);function b(h){switch(h){case"in_progress":return"#27ae60";case"open":return"#f39c12";case"blocked":return"#e74c3c";default:return"#888888"}}function K(h){switch(h){case 0:return"#e74c3c";case 1:return"#e67e22";case 2:return"#f39c12";case 3:return"#3498db";default:return"#888888"}}function B(h){return h.replace("_"," ")}function S(h){return h?new Date(h).toLocaleDateString():"—"}function Z(){v(p,!e(p))}function F(h){h.stopPropagation(),t.onSelect?.(t.issue)}var X=ot();let y;var C=i(X);C.__click=Z;var te=i(C),se=a(te,2),T=i(se,!0);s(se);var D=a(se,2),H=i(D);s(D);var J=a(D,2);P(()=>Y(J,"icon",e(p)?"mdi:chevron-up":"mdi:chevron-down")),ue(J,1,"chevron svelte-1yk20pg"),s(C);var N=a(C,2);{var $=h=>{var m=rt(),j=i(m),ie=i(j,!0);s(j);var G=a(j,2);{var re=l=>{var _=et(),E=i(_,!0);s(_),P(()=>z(E,t.issue.description)),o(l,_)};R(G,l=>{t.issue.description&&l(re)})}var q=a(G,2),c=i(q),x=a(i(c),2),L=i(x,!0);s(x),s(c);var n=a(c,2),f=a(i(n),2),g=i(f,!0);s(f),s(n),s(q);var I=a(q,2),W=i(I),A=a(i(W),2),U=i(A,!0);s(A),s(W);var O=a(W,2),r=a(i(O),2),d=i(r,!0);s(r),s(O);var k=a(O,2);{var w=l=>{var _=tt(),E=a(i(_),2),ee=i(E,!0);s(E),s(_),P(()=>z(ee,t.issue.assignee)),o(l,_)};R(k,l=>{t.issue.assignee&&l(w)})}var ae=a(k,2);{var me=l=>{var _=st(),E=a(i(_),2),ee=i(E,!0);s(E),s(_),P(()=>z(ee,t.issue.owner)),o(l,_)};R(ae,l=>{t.issue.owner&&l(me)})}var ce=a(ae,2);{var ge=l=>{var _=it(),E=a(i(_),2),ee=i(E,!0);s(E),s(_),P(be=>z(ee,be),[()=>t.issue.dependencies.map(be=>be.depends_on_id).join(", ")]),o(l,_)};R(ce,l=>{t.issue.dependencies&&t.issue.dependencies.length>0&&l(ge)})}var ne=a(ce,2),V=a(i(ne),2),_e=i(V,!0);s(V),s(ne);var ye=a(ne,2);{var we=l=>{var _=at(),E=a(i(_),2),ee=i(E,!0);s(E),s(_),P(be=>z(ee,be),[()=>S(t.issue.updated_at)]),o(l,_)};R(ye,l=>{t.issue.updated_at&&l(we)})}var fe=a(ye,2),ke=a(i(fe),2),Ee=i(ke,!0);s(ke),s(fe),s(I);var Q=a(I,2);Ie(Q,{variant:"outline",size:"sm",onclick:F,class:"use-id-btn",children:(l,_)=>{var E=nt(),ee=le(E);Y(ee,"icon","mdi:arrow-right-circle"),ve(),o(l,E)},$$slots:{default:!0}}),s(m),P((l,_,E,ee,be)=>{z(ie,t.issue.title),he(x,`color: ${l??""}`),z(L,_),z(g,t.issue.issue_type),he(A,`color: ${E??""}`),z(U,ee),z(d,t.issue.issue_type),z(_e,be),z(Ee,t.issue.id)},[()=>b(t.issue.status),()=>B(t.issue.status),()=>b(t.issue.status),()=>B(t.issue.status),()=>S(t.issue.created_at)]),o(h,m)};R(N,h=>{e(p)&&h($)})}s(X),P((h,m)=>{y=ue(X,1,"issue-wrapper svelte-1yk20pg",null,y,{expanded:e(p)}),he(te,`background: ${h??""}`),z(T,t.issue.title),he(D,`background: ${m??""}`),z(H,`P${t.issue.priority??""}`)},[()=>b(t.issue.status),()=>K(t.issue.priority)]),o(oe,X),ze()}Re(["click"]);var ct=u('<div class="loading svelte-ye9143">Loading issues...</div>'),dt=u('<div class="error svelte-ye9143"> </div>'),vt=u('<div class="empty svelte-ye9143">No issues</div>'),ut=u('<div class="panel-content svelte-ye9143"><div class="filter-buttons svelte-ye9143"></div> <div><!></div></div>'),_t=u('<div class="beads-panel svelte-ye9143"><button class="panel-header svelte-ye9143" type="button"><iconify-icon></iconify-icon> <span>Issues</span> <!> <iconify-icon></iconify-icon></button> <!></div>',2);function ft(oe,t){De(t,!0);let p=M(!0);Ae(()=>{de.setProject(t.project)});function b(){v(p,!e(p))}function K(T){de.setFilter(T)}function B(T){t.onSelect?.(T)}const S=[{label:"Ready",value:"ready"},{label:"Open",value:"open"},{label:"All",value:"all"}];var Z=_t(),F=i(Z);F.__click=b;var X=i(F);Y(X,"icon","mdi:checkbox-multiple-marked-outline");var y=a(X,4);qe(y,{variant:"outline",class:"ml-auto issue-count",children:(T,D)=>{ve();var H=Te();P(()=>z(H,de.issueCount)),o(T,H)},$$slots:{default:!0}});var C=a(y,2);P(()=>Y(C,"icon",e(p)?"mdi:chevron-down":"mdi:chevron-right")),ue(C,1,"chevron svelte-ye9143"),s(F);var te=a(F,2);{var se=T=>{var D=ut(),H=i(D);je(H,21,()=>S,m=>m.value,(m,j)=>{{let ie=pe(()=>de.filter===e(j).value?"default":"ghost");Ie(m,{get variant(){return e(ie)},size:"sm",onclick:()=>K(e(j).value),class:"filter-btn",children:(G,re)=>{ve();var q=Te();P(()=>z(q,e(j).label)),o(G,q)},$$slots:{default:!0}})}}),s(H);var J=a(H,2),N=i(J);{var $=m=>{var j=ct();o(m,j)},h=m=>{var j=xe(),ie=le(j);{var G=q=>{var c=dt(),x=i(c,!0);s(c),P(()=>z(x,de.error)),o(q,c)},re=q=>{var c=xe(),x=le(c);{var L=f=>{var g=vt();o(f,g)},n=f=>{var g=xe(),I=le(g);je(I,17,()=>de.filteredIssues,W=>W.id,(W,A)=>{lt(W,{get issue(){return e(A)},onSelect:B})}),o(f,g)};R(x,f=>{de.filteredIssues.length===0?f(L):f(n,!1)},!0)}o(q,c)};R(ie,q=>{de.error?q(G):q(re,!1)},!0)}o(m,j)};R(N,m=>{de.loading?m($):m(h,!1)})}s(J),s(D),o(T,D)};R(te,T=>{e(p)&&T(se)})}s(Z),o(oe,Z),ze()}Re(["click"]);var pt=u('<div class="empty svelte-i8iwb7">No screenshots</div>'),ht=u("<iconify-icon></iconify-icon>",2),mt=u('<div class="screenshot-item svelte-i8iwb7"><button class="thumbnail svelte-i8iwb7"><img loading="lazy" class="svelte-i8iwb7"/></button> <!></div>'),gt=u('<div class="screenshots-grid svelte-i8iwb7"></div>'),yt=u('<div class="panel-content svelte-i8iwb7"><!></div>'),wt=u("<iconify-icon></iconify-icon> <span>Close</span>",3),bt=u("<iconify-icon></iconify-icon> <span>Delete</span>",3),kt=u('<div class="modal-overlay svelte-i8iwb7" role="dialog" aria-modal="true" tabindex="-1"><div class="modal-content svelte-i8iwb7" role="document"><img class="modal-image svelte-i8iwb7"/> <div class="modal-actions svelte-i8iwb7"><!> <!></div> <div class="swipe-hint svelte-i8iwb7"><iconify-icon></iconify-icon> <span>Swipe left to close</span></div></div></div>',2),St=u('<div class="screenshots-panel svelte-i8iwb7"><button class="panel-header svelte-i8iwb7" type="button"><iconify-icon></iconify-icon> <span>Screenshots</span> <!> <iconify-icon></iconify-icon></button> <!></div> <!>',3);function xt(oe,t){De(t,!0);let p=M(!0),b=M(null),K=M(0),B=M(0),S=M(!1);function Z(){v(p,!e(p))}async function F(c){await fetch(`/api/sessions/${encodeURIComponent(t.sessionId)}/screenshots?path=${encodeURIComponent(c)}`,{method:"DELETE"}),e(b)===c&&v(b,null)}function X(c){v(b,c,!0)}function y(){v(b,null),D()}function C(c){return c.split("/").pop()||c}function te(c){v(K,c.touches[0].clientX,!0),v(B,e(K),!0),v(S,!0)}function se(c){e(S)&&v(B,c.touches[0].clientX,!0)}function T(){if(!e(S))return;e(B)-e(K)<-100&&y(),D()}function D(){v(S,!1),v(K,0),v(B,0)}const H=pe(()=>e(S)?Math.min(0,e(B)-e(K)):0);var J=St(),N=le(J),$=i(N);$.__click=Z;var h=i($);Y(h,"icon","mdi:image-multiple");var m=a(h,4);qe(m,{variant:"outline",class:"ml-auto screenshot-count",children:(c,x)=>{ve();var L=Te();P(()=>z(L,t.screenshots.length)),o(c,L)},$$slots:{default:!0}});var j=a(m,2);P(()=>Y(j,"icon",e(p)?"mdi:chevron-down":"mdi:chevron-right")),ue(j,1,"chevron svelte-i8iwb7"),s($);var ie=a($,2);{var G=c=>{var x=yt(),L=i(x);{var n=g=>{var I=pt();o(g,I)},f=g=>{var I=gt();je(I,21,()=>t.screenshots,W=>W.path,(W,A)=>{var U=mt(),O=i(U);O.__click=()=>X(e(A).path);var r=i(O);s(O);var d=a(O,2);Ie(d,{variant:"ghost",size:"icon-sm",class:"dismiss-btn",onclick:()=>F(e(A).path),title:"Dismiss screenshot",children:(k,w)=>{var ae=ht();Y(ae,"icon","mdi:close"),o(k,ae)},$$slots:{default:!0}}),s(U),P((k,w,ae)=>{Se(O,"title",k),Se(r,"src",`/api/files/image?path=${w??""}`),Se(r,"alt",ae)},[()=>C(e(A).path),()=>encodeURIComponent(e(A).path),()=>C(e(A).path)]),o(W,U)}),s(I),o(g,I)};R(L,g=>{t.screenshots.length===0?g(n):g(f,!1)})}s(x),o(c,x)};R(ie,c=>{e(p)&&c(G)})}s(N);var re=a(N,2);{var q=c=>{var x=kt();x.__click=y,x.__keydown=U=>U.key==="Escape"&&y();var L=i(x);L.__click=U=>U.stopPropagation(),L.__touchstart=te,L.__touchmove=se,L.__touchend=T;var n=i(L),f=a(n,2),g=i(f);Ie(g,{variant:"secondary",size:"sm",onclick:y,class:"modal-btn",children:(U,O)=>{var r=wt(),d=le(r);Y(d,"icon","mdi:close"),ve(2),o(U,r)},$$slots:{default:!0}});var I=a(g,2);Ie(I,{variant:"destructive",size:"sm",onclick:()=>F(e(b)),class:"modal-btn",children:(U,O)=>{var r=bt(),d=le(r);Y(d,"icon","mdi:delete"),ve(2),o(U,r)},$$slots:{default:!0}}),s(f);var W=a(f,2),A=i(W);Y(A,"icon","mdi:gesture-swipe-left"),ve(2),s(W),s(L),s(x),P((U,O)=>{he(L,`transform: translateX(${e(H)??""}px)`),Se(n,"src",`/api/files/image?path=${U??""}`),Se(n,"alt",O)},[()=>encodeURIComponent(e(b)),()=>C(e(b))]),o(c,x)};R(re,c=>{e(b)&&c(q)})}o(oe,J),ze()}Re(["click","keydown","touchstart","touchmove","touchend"]);var It=u("<iconify-icon></iconify-icon>",2),Et=u('<div class="session-action svelte-1wiqrar"> </div>'),Pt=u('<a><span class="icon-slot svelte-1wiqrar"><span class="state-dot svelte-1wiqrar"></span></span> <div class="session-info svelte-1wiqrar"><div class="session-name svelte-1wiqrar"> </div> <!></div></a>'),Rt=u('<div class="empty svelte-1wiqrar">No active sessions</div>'),Dt=u('<div class="sessions-list svelte-1wiqrar"></div>'),zt=u('<div class="sessions-panel"><button class="panel-header svelte-1wiqrar" type="button"><iconify-icon></iconify-icon> <span>Sessions</span> <!> <iconify-icon></iconify-icon></button> <!></div>',2),Tt=u('<nav class="sidebar-sessions svelte-1wiqrar"><div class="sidebar-header svelte-1wiqrar"><a href="/" class="home-link svelte-1wiqrar"><iconify-icon></iconify-icon> <span> </span></a> <!></div> <div class="scroll-content svelte-1wiqrar"><!> <!> <!></div></nav>',2);function jt(oe,t){De(t,!0);const p=()=>Me(Xe,"$page",b),[b,K]=We();let B=Fe(t,"hideSessionsList",3,!1),S=M(!0);function Z(){v(S,!e(S))}const F=pe(()=>p().url.pathname.startsWith("/session/")),X=pe(()=>p().params.target?decodeURIComponent(p().params.target):null),y=pe(()=>Pe.sessions.find(n=>n.tmux_target===e(X)||n.id===e(X))),C=pe(()=>{const n=e(y)?.cwd||e(y)?.git_root;if(!n)return null;const f=n.split("/").filter(Boolean);return f[f.length-1]||null}),te=pe(()=>{const n=e(y)?.git_root||e(y)?.cwd;return n?Pe.sessions.filter(f=>f.git_root===n||f.cwd===n):Pe.sessions});async function se(){const n=e(y)?.cwd||e(y)?.git_root;if(!n)return;const g=await(await fetch("/api/projects/new-session",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:n})})).json();if(g.ok&&g.session){const I=g.session+":1.1";t.onSelect?.(),Ve(`/session/${encodeURIComponent(I)}`)}}function T(n){e(F)&&(Ye.inject(n.id),t.onSelect?.())}var D=Tt(),H=i(D),J=i(H);J.__click=function(...n){t.onSelect?.apply(this,n)};var N=i(J);Y(N,"icon","mdi:folder-outline");var $=a(N,2),h=i($,!0);s($),s(J);var m=a(J,2);{var j=n=>{Ie(n,{variant:"ghost",size:"icon-sm",onclick:se,title:"New session in this project",class:"new-session-btn",children:(f,g)=>{var I=It();Y(I,"icon","mdi:plus"),o(f,I)},$$slots:{default:!0}})};R(m,n=>{e(y)?.cwd&&n(j)})}s(H);var ie=a(H,2),G=i(ie);{var re=n=>{var f=zt(),g=i(f);g.__click=Z;var I=i(g);Y(I,"icon","mdi:console");var W=a(I,4);qe(W,{variant:"outline",class:"ml-auto session-count",children:(r,d)=>{ve();var k=Te();P(()=>z(k,e(te).length)),o(r,k)},$$slots:{default:!0}});var A=a(W,2);P(()=>Y(A,"icon",e(S)?"mdi:chevron-down":"mdi:chevron-right")),ue(A,1,"chevron svelte-1wiqrar"),s(g);var U=a(g,2);{var O=r=>{var d=Dt();je(d,21,()=>e(te),k=>k.id,(k,w)=>{var ae=xe(),me=le(ae);{var ce=ge=>{var ne=Pt();let V;ne.__click=function(...l){t.onSelect?.apply(this,l)};var _e=i(ne),ye=i(_e);s(_e);var we=a(_e,2),fe=i(we),ke=i(fe,!0);s(fe);var Ee=a(fe,2);{var Q=l=>{var _=Et(),E=i(_,!0);s(_),P(()=>z(E,e(w).current_action)),o(l,_)};R(Ee,l=>{e(w).current_action&&l(Q)})}s(we),s(ne),P((l,_)=>{Se(ne,"href",`/session/${l??""}`),V=ue(ne,1,"session-item svelte-1wiqrar",null,V,{active:e(w).tmux_target===e(X)||e(w).id===e(X)}),he(ye,`background: ${_??""}`),z(ke,e(w).pane_title||e(w).tmux_target)},[()=>encodeURIComponent(e(w).tmux_target),()=>Je(e(w).state)]),o(ge,ne)};R(me,ge=>{e(w).tmux_target&&ge(ce)})}o(k,ae)},k=>{var w=Rt();o(k,w)}),s(d),o(r,d)};R(U,r=>{e(S)&&r(O)})}s(f),o(n,f)};R(G,n=>{B()||n(re)})}var q=a(G,2);{var c=n=>{ft(n,{get project(){return e(y).git_root},onSelect:T})};R(q,n=>{e(y)?.beads_enabled&&n(c)})}var x=a(q,2);{var L=n=>{xt(n,{get sessionId(){return e(y).id},get screenshots(){return e(y).screenshots}})};R(x,n=>{e(y)?.screenshots&&e(y).screenshots.length>0&&n(L)})}s(ie),s(D),P(()=>z(h,e(C)||"Sessions")),o(oe,D),ze(),K()}Re(["click"]);var qt=Ue(u('<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/> <meta name="apple-mobile-web-app-capable" content="yes"/> <script src="https://code.iconify.design/iconify-icon/2.1.0/iconify-icon.min.js"><\/script>',1)),Lt=u('<aside><!> <div class="resize-handle svelte-12qhfyh" role="separator" aria-orientation="vertical"></div></aside>'),Ct=u('<button class="backdrop svelte-12qhfyh" aria-label="Close menu"></button>'),Wt=u('<div><!> <main class="content svelte-12qhfyh"><button class="hamburger svelte-12qhfyh" aria-label="Toggle menu"><iconify-icon></iconify-icon></button> <!></main> <aside><div class="resize-handle resize-handle-left svelte-12qhfyh" role="separator" aria-orientation="vertical"></div> <!> <div class="resize-handle resize-handle-right svelte-12qhfyh" role="separator" aria-orientation="vertical"></div></aside> <!></div>',2);function Ht(oe,t){De(t,!0);const p=()=>Me(Xe,"$page",b),[b,K]=We();let B=M(!1),S=M(null),Z=0,F=0,X=!1;const y=1200;let C=M(!1);const te="claude-mux-sidebar-width",se="claude-mux-split-panel-width",T=200,D=500,H=250,J=350;let N=M(H),$=M(J),h=M(!1),m=M(!1),j=0;const ie=pe(()=>p().url.pathname.startsWith("/session/"));Ne(()=>{Pe.connect();{v(C,window.innerWidth>=y);const r=()=>{v(C,window.innerWidth>=y)};window.addEventListener("resize",r);const d=localStorage.getItem(te);if(d){const w=parseInt(d,10);w>=T&&w<=D&&v(N,w,!0)}const k=localStorage.getItem(se);if(k){const w=parseInt(k,10);w>=T&&w<=D&&v($,w,!0)}return()=>window.removeEventListener("resize",r)}}),Oe(()=>{Pe.disconnect()});function G(r){r.preventDefault(),v(h,!0),e(S)&&(j=e(S).getBoundingClientRect().right),document.addEventListener("mousemove",re),document.addEventListener("mouseup",q)}function re(r){if(e(h))if(e(C)){const d=Math.min(D,Math.max(T,j-r.clientX));v(N,d,!0)}else{const d=j-e(N),k=Math.min(D,Math.max(T,r.clientX-d));v(N,k,!0)}}function q(){v(h,!1),document.removeEventListener("mousemove",re),document.removeEventListener("mouseup",q),localStorage.setItem(te,e(N).toString())}function c(r){r.preventDefault(),v(m,!0),document.addEventListener("mousemove",x),document.addEventListener("mouseup",L)}function x(r){if(!e(m))return;const d=Math.min(D,Math.max(T,r.clientX));v($,d,!0)}function L(){v(m,!1),document.removeEventListener("mousemove",x),document.removeEventListener("mouseup",L),localStorage.setItem(se,e($).toString())}function n(){v(B,!1)}function f(r){Z=r.touches[0].clientX,F=Z,X=!0}function g(r){if(!X||!e(S))return;F=r.touches[0].clientX;const d=F-Z;d<0&&(e(S).style.transform=`translateX(${d}px)`)}function I(){if(!X||!e(S))return;X=!1,F-Z<-80&&n(),e(S).style.transform=""}var W=xe();$e("12qhfyh",r=>{var d=qt();ve(4),o(r,d)});var A=le(W);{var U=r=>{var d=Wt();let k;var w=i(d);{var ae=Q=>{var l=Lt();let _;var E=i(l);Ze(E,{compact:!0});var ee=a(E,2);ee.__mousedown=c,s(l),P(()=>{_=ue(l,1,"split-panel svelte-12qhfyh",null,_,{resizing:e(m)}),he(l,`--split-panel-width: ${e($)??""}px`)}),o(Q,l)};R(w,Q=>{e(C)&&Q(ae)})}var me=a(w,2),ce=i(me);ce.__click=()=>v(B,!e(B));var ge=i(ce);Y(ge,"icon","mdi:menu"),s(ce);var ne=a(ce,2);Le(ne,()=>t.children),s(me);var V=a(me,2);let _e;V.__touchstart=f,V.__touchmove=g,V.__touchend=I;var ye=i(V);ye.__mousedown=G;var we=a(ye,2);jt(we,{onSelect:n,get hideSessionsList(){return e(C)}});var fe=a(we,2);fe.__mousedown=G,s(V),He(V,Q=>v(S,Q),()=>e(S));var ke=a(V,2);{var Ee=Q=>{var l=Ct();l.__click=n,o(Q,l)};R(ke,Q=>{e(B)&&Q(Ee)})}s(d),P(()=>{k=ue(d,1,"app-shell svelte-12qhfyh",null,k,{"split-view":e(C),"resizing-any":e(h)||e(m)}),_e=ue(V,1,"sidebar svelte-12qhfyh",null,_e,{open:e(B),resizing:e(h)}),he(V,`--sidebar-width: ${e(N)??""}px`)}),o(r,d)},O=r=>{var d=xe(),k=le(d);Le(k,()=>t.children),o(r,d)};R(A,r=>{e(ie)?r(U):r(O,!1)})}o(oe,W),ze(),K()}Re(["mousedown","click","touchstart","touchmove","touchend"]);export{Ht as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as u,f as h,s}from"../chunks/U4ip-C0d.js";import{i as g}from"../chunks/-3mUPuLP.js";import{p as l,x as v,t as d,a as x,c as e,r as o,b as _}from"../chunks/BHwiZXRv.js";import{s as $,p}from"../chunks/DU91Ml7U.js";const b={get error(){return p.error},get status(){return p.status}};$.updated.check;const m=b;var k=h("<h1> </h1> <p> </p>",1);function y(i,c){l(c,!1),g();var t=k(),r=v(t),f=e(r,!0);o(r);var a=_(r,2),n=e(a,!0);o(a),d(()=>{s(f,m.status),s(n,m.error?.message)}),u(i,t),x()}export{y as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as r,f as t}from"../chunks/U4ip-C0d.js";import"../chunks/-3mUPuLP.js";import{e as s,$ as m,c as i,r as p}from"../chunks/BHwiZXRv.js";import{h as n}from"../chunks/cgUjKIhX.js";import{A as c}from"../chunks/DmdO6ygw.js";var d=t('<div class="root-page svelte-1uha8ag"><!></div>');function $(o){var a=d();n("1uha8ag",f=>{s(()=>{m.title="claude-mux"})});var e=i(a);c(e,{}),p(a),r(o,a)}export{$ as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{e as C,a as m,t as P,f as _,s as y}from"../chunks/U4ip-C0d.js";import{p as B,t as v,g as s,a as L,s as h,e as N,c as i,b as x,$ as O,r as l,n as T,d as o}from"../chunks/BHwiZXRv.js";import{i as W}from"../chunks/B5U4_V3d.js";import{h as q,B as z,b as D,r as E}from"../chunks/cgUjKIhX.js";import{g as J}from"../chunks/DU91Ml7U.js";var A=_('<p class="text-sm text-red-400"> </p>'),F=_('<div class="flex min-h-screen items-center justify-center bg-stone-950 p-4"><div class="w-full max-w-sm space-y-6"><div class="text-center"><h1 class="text-2xl font-bold text-stone-100">Claude Watch</h1> <p class="mt-2 text-sm text-stone-400">Enter password to continue</p></div> <form class="space-y-4"><div><input type="password" placeholder="Password" required class="w-full rounded-md border border-stone-700 bg-stone-900 px-4 py-2 text-stone-100 placeholder-stone-500 focus:border-stone-500 focus:outline-none focus:ring-1 focus:ring-stone-500 disabled:opacity-50"/></div> <!> <!></form></div></div>');function Q(w,$){B($,!0);let d=h(""),r=h(""),n=h(!1);async function S(e){e.preventDefault(),o(r,""),o(n,!0);try{const t=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:s(d)})}),a=await t.json();if(t.ok){J("/");return}else o(r,a.error||"Login failed",!0)}catch{o(r,"Network error")}finally{o(n,!1)}}var p=F();q("1x05zx6",e=>{N(()=>{O.title="Login - Claude Watch"})});var g=i(p),c=x(i(g),2),f=i(c),u=i(f);E(u),l(f);var b=x(f,2);{var j=e=>{var t=A(),a=i(t,!0);l(t),v(()=>y(a,s(r))),m(e,t)};W(b,e=>{s(r)&&e(j)})}var k=x(b,2);z(k,{type:"submit",class:"w-full",get disabled(){return s(n)},children:(e,t)=>{T();var a=P();v(()=>y(a,s(n)?"Signing in...":"Sign in")),m(e,a)},$$slots:{default:!0}}),l(c),l(g),l(p),v(()=>u.disabled=s(n)),C("submit",c,S),D(u,()=>s(d),e=>o(d,e)),m(w,p),L()}export{Q as component};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{b as It,d as ce,a as i,s as K,c as Kt,t as Z,f as h,g as de,e as At}from"../chunks/U4ip-C0d.js";import{t as z,h as Bt,i as Mt,a0 as pe,ae as ue,F as Ht,af as fe,ag as me,ah as he,ai as ve,L as _e,aj as V,s as E,g as e,d as x,ad as L,Z as ge,p as Lt,x as g,c as S,b as f,r as T,n as $,a as Ft,k as ht,ak as ye,al as $e,$ as be,am as we}from"../chunks/BHwiZXRv.js";import{p as Te,i as _t,b as Ut,s as xe,a as Se}from"../chunks/B5U4_V3d.js";import{c as O}from"../chunks/C9P-coqM.js";import{s as vt,h as Ce,B as k,a as ke,b as Pe,c as P,d as ze}from"../chunks/cgUjKIhX.js";import{R as Re,e as Ne,s as je,a as Oe,A as Ee,b as Ie,c as Ae,d as Be,f as Me,g as He,h as Ue,i as We,p as De}from"../chunks/HKNo9LID.js";import{g as Je}from"../chunks/DU91Ml7U.js";import{i as Wt}from"../chunks/Cegv0r8x.js";function Ke(r,s,l=!1,u=!1,j=!1){var p=r,y="";z(()=>{var v=pe;if(y===(y=s()??"")){Bt&&Mt();return}if(v.nodes!==null&&(ue(v.nodes.start,v.nodes.end),v.nodes=null),y!==""){if(Bt){Ht.data;for(var m=Mt(),d=m;m!==null&&(m.nodeType!==fe||m.data!=="");)d=m,m=me(m);if(m===null)throw he(),ve;It(Ht,d),p=_e(m);return}var n=y+"";l?n=`<svg>${n}</svg>`:u&&(n=`<math>${n}</math>`);var w=ce(n);if((l||u)&&(w=V(w)),It(V(w),w.lastChild),l||u)for(;V(w);)p.before(V(w));else p.before(w)}})}const b={userPrompt:/^❯\s/,claudeResponse:/^●\s+\S/,workingIndicator:/^●\s*$/,toolResult:/^(\s*)⎿/,indentedContent:/^(\s{2,}|\t)/,separator:/^─{5,}/,toolCall:/^●\s+([\w-]+)\s*\(/,mcpToolCall:/^●\s+([\w-]+)\s+-\s+([\w_]+)\s+\(MCP\)/,spinner:/[⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏⠐⠂⠄]/,statusHint:/(Esc to interrupt|ctrl\+c to interrupt|Esc to cancel|to cycle\))/i,progressBar:/^\s*[\w-]+\s+\[.*\]\s+\w+@/};function Le(r,s){return b.separator.test(r)?"separator":b.mcpToolCall.test(r)||b.toolCall.test(r)?"tool-call":b.workingIndicator.test(r)?"spinner":b.userPrompt.test(r)?"user-prompt":b.claudeResponse.test(r)?"claude-response":b.toolResult.test(r)?"tool-result":s==="tool-call"&&b.indentedContent.test(r)?"tool-call":s==="tool-result"&&b.indentedContent.test(r)?"tool-result":b.statusHint.test(r)||b.progressBar.test(r)?"status":b.spinner.test(r)&&r.length<100?"spinner":"plain"}function Fe(r){const s=r.match(b.mcpToolCall);if(s)return`${s[1]}:${s[2]}`;const l=r.match(b.toolCall);if(l)return l[1]}function Ge(r){return b.toolCall.test(r)||b.mcpToolCall.test(r)}const Ye={"user-prompt":{plain:!1,spinner:!1},"claude-response":{plain:!1,spinner:!1},"tool-call":{"tool-call":!1,"tool-result":!1,spinner:!1},"tool-result":{"tool-result":!1,spinner:!1},separator:{},status:{status:!1},spinner:{spinner:!1},plain:{plain:!1}};function qe(r,s,l){if(!r||s==="separator"||s==="user-prompt"||s==="tool-call"&&Ge(l))return!0;const u=Ye[r.type]?.[s];return u!==void 0?u:r.type!==s}function Ze(r){if(!r||r.trim()==="")return[];const s=r.split(`
|
|
2
|
+
`),l=[];let u=null,j=0;for(const p of s){if(p.trim()==="")continue;const y=u?.type??null,v=Le(p,y);if(qe(u,v,p)){if(u&&u.content.trim()&&l.push(u),u={id:++j,type:v,content:p},v==="tool-call"){const m=Fe(p);m&&(u.metadata={toolName:m})}}else u&&(u.content+=`
|
|
3
|
+
`+p)}return u&&u.content.trim()&&l.push(u),l}function Qe(r){return{userPrompts:r.filter(s=>s.type==="user-prompt").length,claudeResponses:r.filter(s=>s.type==="claude-response").length,toolCalls:r.filter(s=>s.type==="tool-call").length,hasActiveSpinner:r.some(s=>s.type==="spinner")}}class Ve extends Re{#t=E("");get output(){return e(this.#t)}set output(s){x(this.#t,s,!0)}#e=L(()=>Ze(this.output));get parsedBlocks(){return e(this.#e)}set parsedBlocks(s){x(this.#e,s)}#s=L(()=>Qe(this.parsedBlocks));get stats(){return e(this.#s)}set stats(s){x(this.#s,s)}target=null;resizeTimer=null;lastSentSize=null;getWsUrl(){const s=window.location.protocol==="https:"?"wss:":"ws:",l=encodeURIComponent(this.target);return`${s}//${window.location.host}/api/sessions/${l}/stream`}getLogPrefix(){return"[terminal]"}shouldReconnect(){return this.target!==null}handleMessage(s){const l=JSON.parse(s.data);l.output!==void 0&&(this.output=l.output)}connect(s){if(s&&!(this.ws&&this.target===s)){if(this.ws){const l=this.target;this.target=null,this.doDisconnect(),this.target=l}this.target!==s&&(this.output=""),this.target=s,this.doConnect()}}disconnect(){this.resizeTimer&&(clearTimeout(this.resizeTimer),this.resizeTimer=null),this.lastSentSize=null,this.target=null,this.doDisconnect()}sendResize(s,l){!this.ws||this.ws.readyState!==WebSocket.OPEN||this.lastSentSize?.cols===s&&this.lastSentSize?.rows===l||(this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout(()=>{this.ws&&this.ws.readyState===WebSocket.OPEN&&(this.ws.send(JSON.stringify({type:"resize",cols:s,rows:l})),this.lastSentSize={cols:s,rows:l}),this.resizeTimer=null},150))}}const J=new Ve,Gt="claude-mux-preferences",Dt={terminalTheming:!0};function Xe(){try{const r=localStorage.getItem(Gt);if(r)return{...Dt,...JSON.parse(r)}}catch{}return Dt}function Jt(r){try{localStorage.setItem(Gt,JSON.stringify(r))}catch{}}class ts{#t=E(ge(Xe()));get prefs(){return e(this.#t)}set prefs(s){x(this.#t,s,!0)}get terminalTheming(){return this.prefs.terminalTheming}set terminalTheming(s){this.prefs.terminalTheming=s,Jt(this.prefs)}toggle(s){typeof this.prefs[s]=="boolean"&&(this.prefs[s]=!this.prefs[s],Jt(this.prefs))}}const X=new ts;var es=h("<span> </span>"),ss=h(`<span><!><!></span>
|
|
4
|
+
`,1),os=h("<pre></pre>");function rs(r,s){Lt(s,!0);const l=Te(s,"class",3,""),u={"user-prompt":"terminal-user-prompt","claude-response":"terminal-claude-response","tool-call":"terminal-tool-call","tool-result":"terminal-tool-result",separator:"terminal-separator",status:"terminal-status",spinner:"terminal-spinner",plain:"terminal-plain"},j={Read:"tool-read",Write:"tool-write",Edit:"tool-edit",Update:"tool-edit",NotebookEdit:"tool-edit",Glob:"tool-search",Grep:"tool-search",Search:"tool-search",Bash:"tool-bash",Task:"tool-task",WebFetch:"tool-web",WebSearch:"tool-web",TodoWrite:"tool-todo","chrome-devtools":"tool-browser",mcp:"tool-browser"};function p(d){if(!d)return"tool-default";if(j[d])return j[d];for(const[n,w]of Object.entries(j))if(d.toLowerCase().includes(n.toLowerCase()))return w;return"tool-default"}function y(d){return d.split(`
|
|
5
|
+
`).map(n=>/^\s*\d+\s*\+/.test(n)?`<span class="diff-add">${v(n)}</span>`:/^\s*\d+\s*-/.test(n)?`<span class="diff-remove">${v(n)}</span>`:v(n)).join(`
|
|
6
|
+
`)}function v(d){return d.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}var m=os();Ne(m,21,()=>s.blocks,d=>d.id,(d,n)=>{var w=ss(),R=g(w),W=S(R);{var tt=_=>{var C=es(),F=S(C,!0);T(C),z(Q=>{vt(C,1,`tool-badge ${Q??""}`,"svelte-k7hba9"),K(F,e(n).metadata.toolName)},[()=>p(e(n).metadata.toolName)]),i(_,C)};_t(W,_=>{e(n).type==="tool-call"&&e(n).metadata?.toolName&&_(tt)})}var et=f(W);{var st=_=>{var C=Kt(),F=g(C);Ke(F,()=>y(e(n).content)),i(_,C)},ot=_=>{var C=Z();z(()=>K(C,e(n).content)),i(_,C)};_t(et,_=>{e(n).type==="tool-result"?_(st):_(ot,!1)})}T(R),$(),z(_=>vt(R,1,`terminal-block ${(u[e(n).type]||"terminal-plain")??""} ${_??""}`,"svelte-k7hba9"),[()=>e(n).type==="tool-call"?p(e(n).metadata?.toolName):""]),i(d,w)}),T(m),z(()=>vt(m,1,`terminal-renderer ${l()??""}`,"svelte-k7hba9")),i(r,m),Ft()}var as=h('<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/> <link rel="preconnect" href="https://fonts.googleapis.com"/> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/> <link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"/>',1),ns=h("<iconify-icon></iconify-icon> <span> </span>",3),is=h("<iconify-icon></iconify-icon> <span>Fit</span>",3),ls=h("<iconify-icon></iconify-icon> <span>Theme</span>",3),cs=h("<iconify-icon></iconify-icon> <span>Kill</span>",3),ds=h('<pre class="raw-output svelte-15bjeev"> </pre>'),ps=h("<iconify-icon></iconify-icon> <span>Up</span>",3),us=h("<iconify-icon></iconify-icon> <span>Down</span>",3),fs=h("<iconify-icon></iconify-icon> <span>Space</span>",3),ms=h("<iconify-icon></iconify-icon> <span>Tab</span>",3),hs=h("<iconify-icon></iconify-icon> <span>Ctrl-L</span>",3),vs=h("<iconify-icon></iconify-icon> <span>/clear</span>",3),_s=h("<iconify-icon></iconify-icon> <span>Esc</span>",3),gs=h("<iconify-icon></iconify-icon> <span>Ctrl-C</span>",3),ys=h("<iconify-icon></iconify-icon>",2),$s=h("<!> <!>",1),bs=h("<!> <!>",1),ws=h("<!> <!>",1),Ts=h('<div class="session-container svelte-15bjeev"><header class="header svelte-15bjeev"><div class="title-row svelte-15bjeev"><span class="state svelte-15bjeev"></span> <div class="title-info svelte-15bjeev"><span class="target svelte-15bjeev"> </span> <span class="status svelte-15bjeev"> </span></div></div> <div class="header-actions svelte-15bjeev"><!> <!> <!> <!></div></header> <div class="output svelte-15bjeev"><!></div> <div class="toolbar svelte-15bjeev"><!> <!> <!> <!> <!> <!> <!> <!></div> <form class="input-row svelte-15bjeev"><textarea placeholder="Type a message..." class="svelte-15bjeev"></textarea> <!></form></div> <!>',1);function Os(r,s){Lt(s,!0);const l=()=>Se(De,"$page",u),[u,j]=xe(),p=L(()=>l().params.target?decodeURIComponent(l().params.target):null),y=L(()=>Oe.sessions.find(t=>t.tmux_target===e(p)||t.id===e(p)));let v=E(""),m=E(!1),d=E(null),n=E(null),w=E(!1),R=E(!1),W=null;function tt(){W||(W=document.createElement("canvas"));const t=W.getContext("2d");if(!t)return{width:7.8,height:18.2};t.font="13px 'SF Mono', Monaco, 'Cascadia Code', monospace";const a=t.measureText("M").width,o=13*1.4;return{width:a,height:o}}function et(){if(!e(d))return null;const t=32,a=e(d).clientWidth-t,o=e(d).clientHeight-t;if(a<=0||o<=0)return null;const{width:c,height:N}=tt(),A=Math.floor(a/c)-1,D=Math.floor(o/N);return A<10||D<3?null:{cols:A,rows:D}}function st(){const t=et();t&&J.sendResize(t.cols,t.rows)}ht(()=>{J.connect(e(p))}),ht(()=>{const t=Wt.pendingIssueId;t&&(x(v,e(v)?e(v)+" "+t:t,!0),Wt.clear(),e(n)&&(e(n).focus(),setTimeout(Q,0)))}),ye(()=>{J.disconnect()});function ot(){if(!e(d))return;const{scrollTop:t,scrollHeight:a,clientHeight:o}=e(d);x(w,a-t-o>50)}ht(()=>{e(d)&&J.output&&!e(w)&&(e(d).scrollTop=e(d).scrollHeight)});async function _(t){await fetch(`/api/sessions/${encodeURIComponent(e(p))}/send`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({keys:t})})}async function C(){if(!e(v).trim()){await _("Enter");return}await fetch(`/api/sessions/${encodeURIComponent(e(p))}/send`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:e(v)})}),x(v,""),e(n)&&(e(n).style.height="auto")}function F(t){t.key==="Enter"&&!t.shiftKey&&(t.preventDefault(),C())}function Q(){if(!e(n))return;e(n).style.height="0";const t=Math.max(48,Math.min(e(n).scrollHeight,150));e(n).style.height=t+"px"}async function Yt(){e(y)&&(await fetch(`/api/sessions/${encodeURIComponent(e(y).id)}/kill`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({pid:e(y).pid,tmux_target:e(y).tmux_target})}),x(m,!1),Je("/"))}function qt(){if(!e(p))return;const t=`tmux attach -t "${e(p).split(":")[0]}"`;if(navigator.clipboard?.writeText)navigator.clipboard.writeText(t);else{const a=document.createElement("textarea");a.value=t,a.style.position="fixed",a.style.opacity="0",document.body.appendChild(a),a.select(),document.execCommand("copy"),document.body.removeChild(a)}x(R,!0),setTimeout(()=>{x(R,!1)},2e3)}var gt=Ts();Ce("15bjeev",t=>{var a=as();$(6),$e(()=>{be.title=(e(y)?.pane_title||e(p)||"Session")??""}),i(t,a)});var rt=g(gt),at=S(rt),nt=S(at),yt=S(nt),$t=f(yt,2),it=S($t),Zt=S(it,!0);T(it);var bt=f(it,2),Qt=S(bt,!0);T(bt),T($t),T(nt);var wt=f(nt,2),Tt=S(wt);{let t=L(()=>e(R)?"bg-green-800 text-green-300":"");k(Tt,{variant:"secondary",size:"toolbar",onclick:qt,title:"Copy tmux attach command",get class(){return e(t)},children:(a,o)=>{var c=ns(),N=g(c);z(()=>P(N,"icon",e(R)?"mdi:check":"mdi:content-copy"));var A=f(N,2),D=S(A,!0);T(A),z(()=>K(D,e(R)?"Copied!":"Tmux")),i(a,c)},$$slots:{default:!0}})}var xt=f(Tt,2);k(xt,{variant:"secondary",size:"toolbar",onclick:st,title:"Resize tmux pane to fit viewport",children:(t,a)=>{var o=is(),c=g(o);P(c,"icon","mdi:fit-to-screen"),$(2),i(t,o)},$$slots:{default:!0}});var St=f(xt,2);{let t=L(()=>X.terminalTheming?"secondary":"ghost");k(St,{get variant(){return e(t)},size:"toolbar",onclick:()=>X.toggle("terminalTheming"),title:"Toggle syntax highlighting",children:(a,o)=>{var c=ls(),N=g(c);z(()=>P(N,"icon",X.terminalTheming?"mdi:palette":"mdi:palette-outline")),$(2),i(a,c)},$$slots:{default:!0}})}var Vt=f(St,2);k(Vt,{variant:"ghost-destructive",size:"toolbar",onclick:()=>x(m,!0),title:"Kill Session",children:(t,a)=>{var o=cs(),c=g(o);P(c,"icon","mdi:power"),$(2),i(t,o)},$$slots:{default:!0}}),T(wt),T(at);var G=f(at,2),Xt=S(G);{var te=t=>{rs(t,{get blocks(){return J.parsedBlocks}})},ee=t=>{var a=ds(),o=S(a,!0);T(a),z(()=>K(o,J.output)),i(t,a)};_t(Xt,t=>{X.terminalTheming?t(te):t(ee,!1)})}T(G),Ut(G,t=>x(d,t),()=>e(d));var lt=f(G,2),Ct=S(lt);k(Ct,{variant:"secondary",size:"toolbar",class:"flex-1",onclick:()=>_("Up"),children:(t,a)=>{var o=ps(),c=g(o);P(c,"icon","mdi:arrow-up"),$(2),i(t,o)},$$slots:{default:!0}});var kt=f(Ct,2);k(kt,{variant:"secondary",size:"toolbar",class:"flex-1",onclick:()=>_("Down"),children:(t,a)=>{var o=us(),c=g(o);P(c,"icon","mdi:arrow-down"),$(2),i(t,o)},$$slots:{default:!0}});var Pt=f(kt,2);k(Pt,{variant:"secondary",size:"toolbar",class:"flex-1",onclick:()=>_("Space"),children:(t,a)=>{var o=fs(),c=g(o);P(c,"icon","mdi:keyboard-space"),$(2),i(t,o)},$$slots:{default:!0}});var zt=f(Pt,2);k(zt,{variant:"secondary",size:"toolbar",class:"flex-1",onclick:()=>_("Tab"),children:(t,a)=>{var o=ms(),c=g(o);P(c,"icon","mdi:keyboard-tab"),$(2),i(t,o)},$$slots:{default:!0}});var Rt=f(zt,2);k(Rt,{variant:"secondary",size:"toolbar",class:"flex-1",onclick:()=>_("C-l"),children:(t,a)=>{var o=hs(),c=g(o);P(c,"icon","mdi:eraser"),$(2),i(t,o)},$$slots:{default:!0}});var Nt=f(Rt,2);k(Nt,{variant:"secondary",size:"toolbar",class:"flex-1",onclick:async()=>{await fetch(`/api/sessions/${encodeURIComponent(e(p))}/send`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:"/clear"})})},children:(t,a)=>{var o=vs(),c=g(o);P(c,"icon","mdi:broom"),$(2),i(t,o)},$$slots:{default:!0}});var jt=f(Nt,2);k(jt,{variant:"secondary",size:"toolbar",class:"flex-1",onclick:()=>_("Escape"),children:(t,a)=>{var o=_s(),c=g(o);P(c,"icon","mdi:stop"),$(2),i(t,o)},$$slots:{default:!0}});var se=f(jt,2);k(se,{variant:"ghost-destructive",size:"toolbar",class:"flex-1",onclick:()=>_("C-c"),children:(t,a)=>{var o=gs(),c=g(o);P(c,"icon","mdi:cancel"),$(2),i(t,o)},$$slots:{default:!0}}),T(lt);var ct=f(lt,2),I=S(ct);we(I),ke(I,"rows",1),I.__keydown=F,I.__input=Q,Ut(I,t=>x(n,t),()=>e(n));var oe=f(I,2);k(oe,{type:"submit",variant:"success",class:"min-w-[52px] min-h-[48px] text-lg",children:(t,a)=>{var o=ys();P(o,"icon","mdi:send"),i(t,o)},$$slots:{default:!0}}),T(ct),T(rt);var re=f(rt,2);O(re,()=>We,(t,a)=>{a(t,{get open(){return e(m)},set open(o){x(m,o,!0)},children:(o,c)=>{var N=Kt(),A=g(N);O(A,()=>Ee,(D,ae)=>{ae(D,{children:(ne,xs)=>{var Ot=ws(),Et=g(Ot);O(Et,()=>Ie,(dt,pt)=>{pt(dt,{children:(ut,le)=>{var Y=$s(),q=g(Y);O(q,()=>Ae,(B,M)=>{M(B,{children:(H,mt)=>{$();var U=Z("Kill this session?");i(H,U)},$$slots:{default:!0}})});var ft=f(q,2);O(ft,()=>Be,(B,M)=>{M(B,{children:(H,mt)=>{$();var U=Z("This will terminate the Claude process.");i(H,U)},$$slots:{default:!0}})}),i(ut,Y)},$$slots:{default:!0}})});var ie=f(Et,2);O(ie,()=>Me,(dt,pt)=>{pt(dt,{children:(ut,le)=>{var Y=bs(),q=g(Y);O(q,()=>He,(B,M)=>{M(B,{children:(H,mt)=>{$();var U=Z("Cancel");i(H,U)},$$slots:{default:!0}})});var ft=f(q,2);O(ft,()=>Ue,(B,M)=>{M(B,{onclick:Yt,class:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:(H,mt)=>{$();var U=Z("Kill");i(H,U)},$$slots:{default:!0}})}),i(ut,Y)},$$slots:{default:!0}})}),i(ne,Ot)},$$slots:{default:!0}})}),i(o,N)},$$slots:{default:!0}})}),z(t=>{ze(yt,`background: ${t??""}`),K(Zt,e(y)?.pane_title||e(p)),K(Qt,e(y)?.current_action||e(y)?.state||"idle")},[()=>je(e(y)?.state||"idle")]),At("scroll",G,ot),At("submit",ct,t=>{t.preventDefault(),C()}),Pe(I,()=>e(v),t=>x(v,t)),i(r,gt),Ft(),j()}de(["keydown","input"]);export{Os as component};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"1769802166152"}
|
package/dist/web/env.js
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
// src/env.ts
|
|
3
|
+
var expected = new Set([
|
|
4
|
+
"SOCKET_PATH",
|
|
5
|
+
"HOST",
|
|
6
|
+
"PORT",
|
|
7
|
+
"ORIGIN",
|
|
8
|
+
"XFF_DEPTH",
|
|
9
|
+
"ADDRESS_HEADER",
|
|
10
|
+
"PROTOCOL_HEADER",
|
|
11
|
+
"HOST_HEADER",
|
|
12
|
+
"PORT_HEADER",
|
|
13
|
+
"BODY_SIZE_LIMIT",
|
|
14
|
+
"IDLE_TIMEOUT"
|
|
15
|
+
]);
|
|
16
|
+
if ("") {
|
|
17
|
+
for (const name in Bun.env) {
|
|
18
|
+
if (name.startsWith("")) {
|
|
19
|
+
const unprefixed = name.slice("".length);
|
|
20
|
+
if (!expected.has(unprefixed)) {
|
|
21
|
+
throw new Error(`You should change envPrefix (${""}) to avoid conflicts with existing environment variables \u2014 unexpectedly saw ${name}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function env(name, fallback) {
|
|
27
|
+
const prefixed = "" + name;
|
|
28
|
+
return prefixed in Bun.env ? Bun.env[prefixed] : fallback;
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
env
|
|
32
|
+
};
|