@alexjbarnes/cockpit 0.3.1 → 0.4.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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +10 -2
- package/.next/build-manifest.json +4 -4
- package/.next/next-server.js.nft.json +1 -1
- package/.next/prerender-manifest.json +21 -45
- package/.next/react-loadable-manifest.json +279 -267
- package/.next/routes-manifest.json +68 -12
- package/.next/server/app/(app)/agents/[name]/page.js +3 -3
- package/.next/server/app/(app)/agents/[name]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/agents/[name]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/agents/page.js +2 -2
- package/.next/server/app/(app)/agents/page.js.nft.json +1 -1
- package/.next/server/app/(app)/agents/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/claude-md/edit/page.js +2 -2
- package/.next/server/app/(app)/claude-md/edit/page.js.nft.json +1 -1
- package/.next/server/app/(app)/claude-md/edit/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/claude-md/page.js +2 -2
- package/.next/server/app/(app)/claude-md/page.js.nft.json +1 -1
- package/.next/server/app/(app)/claude-md/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/commands/[name]/page.js +3 -3
- package/.next/server/app/(app)/commands/[name]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/commands/[name]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/commands/page.js +2 -2
- package/.next/server/app/(app)/commands/page.js.nft.json +1 -1
- package/.next/server/app/(app)/commands/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/hooks/[event]/page.js +3 -3
- package/.next/server/app/(app)/hooks/[event]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/hooks/[event]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/hooks/page.js +2 -2
- package/.next/server/app/(app)/hooks/page.js.nft.json +1 -1
- package/.next/server/app/(app)/hooks/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/inbox/[id]/page.js +2 -2
- package/.next/server/app/(app)/inbox/[id]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/inbox/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/inbox/page.js +2 -2
- package/.next/server/app/(app)/inbox/page.js.nft.json +1 -1
- package/.next/server/app/(app)/inbox/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/jobs/[id]/edit/page.js +2 -2
- package/.next/server/app/(app)/jobs/[id]/edit/page.js.nft.json +1 -1
- package/.next/server/app/(app)/jobs/[id]/edit/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/jobs/[id]/page.js +2 -2
- package/.next/server/app/(app)/jobs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/jobs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page.js +2 -2
- package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/jobs/[id]/runs/[runId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/jobs/page.js +2 -2
- package/.next/server/app/(app)/jobs/page.js.nft.json +1 -1
- package/.next/server/app/(app)/jobs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/mcp-servers/[name]/page.js +2 -2
- package/.next/server/app/(app)/mcp-servers/[name]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/mcp-servers/[name]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/mcp-servers/page.js +2 -2
- package/.next/server/app/(app)/mcp-servers/page.js.nft.json +1 -1
- package/.next/server/app/(app)/mcp-servers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/page.js +2 -2
- package/.next/server/app/(app)/page.js.nft.json +1 -1
- package/.next/server/app/(app)/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/plugins/page.js +2 -0
- package/.next/server/app/(app)/{files → plugins}/page.js.nft.json +1 -1
- package/.next/server/app/(app)/plugins/page_client-reference-manifest.js +1 -0
- package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page.js +4 -4
- package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/reviews/[owner]/[repo]/[number]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/reviews/[owner]/[repo]/page.js +2 -2
- package/.next/server/app/(app)/reviews/[owner]/[repo]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/reviews/[owner]/[repo]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/reviews/page.js +2 -2
- package/.next/server/app/(app)/reviews/page.js.nft.json +1 -1
- package/.next/server/app/(app)/reviews/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/sessions/[id]/page.js +2 -2
- package/.next/server/app/(app)/sessions/[id]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/sessions/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/settings/appearance/page.js +2 -2
- package/.next/server/app/(app)/settings/appearance/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/appearance/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/settings/notifications/page.js +2 -2
- package/.next/server/app/(app)/settings/notifications/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/notifications/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/settings/page.js +2 -2
- package/.next/server/app/(app)/settings/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/settings/providers/[id]/page.js +2 -2
- package/.next/server/app/(app)/settings/providers/[id]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/providers/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/settings/providers/new/page.js +2 -2
- package/.next/server/app/(app)/settings/providers/new/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/providers/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/settings/providers/page.js +2 -2
- package/.next/server/app/(app)/settings/providers/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/providers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/settings/session/page.js +2 -2
- package/.next/server/app/(app)/settings/session/page.js.nft.json +1 -1
- package/.next/server/app/(app)/settings/session/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/skills/[name]/page.js +3 -3
- package/.next/server/app/(app)/skills/[name]/page.js.nft.json +1 -1
- package/.next/server/app/(app)/skills/[name]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(app)/skills/page.js +2 -2
- package/.next/server/app/(app)/skills/page.js.nft.json +1 -1
- package/.next/server/app/(app)/skills/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error/page.js +3 -3
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/agents.html +1 -1
- package/.next/server/app/agents.rsc +4 -4
- package/.next/server/app/agents.segments/!KGFwcCk/agents/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/agents.segments/!KGFwcCk/agents.segment.rsc +1 -1
- package/.next/server/app/agents.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/agents.segments/_full.segment.rsc +4 -4
- package/.next/server/app/agents.segments/_head.segment.rsc +1 -1
- package/.next/server/app/agents.segments/_index.segment.rsc +2 -2
- package/.next/server/app/agents.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/agents/[name]/route.js +1 -1
- package/.next/server/app/api/agents/route.js +1 -1
- package/.next/server/app/api/assistant-session/route.js +1 -0
- package/.next/server/app/api/assistant-session/route.js.nft.json +1 -0
- package/.next/server/app/api/assistant-session/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/auth/check/route.js +1 -1
- package/.next/server/app/api/auth/login/route.js +1 -1
- package/.next/server/app/api/auth/setup/route.js +1 -1
- package/.next/server/app/api/auth/ws-token/route.js +1 -1
- package/.next/server/app/api/btw/route.js +2 -2
- package/.next/server/app/api/claude-md/route.js +1 -1
- package/.next/server/app/api/commands/[name]/route.js +1 -1
- package/.next/server/app/api/commands/route.js +1 -1
- package/.next/server/app/api/config/cwd/route.js +1 -0
- package/.next/server/app/api/config/cwd/route.js.nft.json +1 -0
- package/.next/server/app/api/config/cwd/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/defaults/route.js +1 -1
- package/.next/server/app/api/filesystem/browse/route.js +1 -1
- package/.next/server/app/api/filesystem/files/route.js +1 -1
- package/.next/server/app/api/filesystem/mkdir/route.js +1 -1
- package/.next/server/app/api/filesystem/read/route.js +1 -1
- package/.next/server/app/api/git/clone/route.js +1 -1
- package/.next/server/app/api/git/commit/route.js +1 -1
- package/.next/server/app/api/git/diff/route.js +1 -1
- package/.next/server/app/api/git/discard/route.js +1 -1
- package/.next/server/app/api/git/generate-message/route.js +2 -2
- package/.next/server/app/api/git/push/route.js +1 -1
- package/.next/server/app/api/git/status/route.js +1 -1
- package/.next/server/app/api/github/file-content/route.js +1 -1
- package/.next/server/app/api/github/orgs/route.js +1 -1
- package/.next/server/app/api/github/prs/checks/route.js +1 -1
- package/.next/server/app/api/github/prs/diff/route.js +1 -1
- package/.next/server/app/api/github/prs/review/route.js +1 -1
- package/.next/server/app/api/github/prs/route.js +1 -1
- package/.next/server/app/api/github/prs/view/route.js +1 -1
- package/.next/server/app/api/github/repos/route.js +1 -1
- package/.next/server/app/api/github/review-session/route.js +1 -1
- package/.next/server/app/api/github/review-session/route.js.nft.json +1 -1
- package/.next/server/app/api/health/route.js +1 -1
- package/.next/server/app/api/hooks/route.js +1 -1
- package/.next/server/app/api/inbox/[id]/route.js +1 -5
- package/.next/server/app/api/inbox/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/inbox/route.js +1 -5
- package/.next/server/app/api/inbox/route.js.nft.json +1 -1
- package/.next/server/app/api/jobs/[id]/route.js +1 -1
- package/.next/server/app/api/jobs/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/jobs/[id]/runs/[runId]/route.js +1 -1
- package/.next/server/app/api/jobs/[id]/runs/[runId]/transcript/route.js +1 -1
- package/.next/server/app/api/jobs/[id]/runs/[runId]/transcript/route.js.nft.json +1 -1
- package/.next/server/app/api/jobs/[id]/runs/route.js +1 -1
- package/.next/server/app/api/jobs/[id]/stop/route.js +1 -0
- package/.next/server/app/api/jobs/[id]/stop/route.js.nft.json +1 -0
- package/.next/server/app/api/jobs/[id]/stop/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/jobs/[id]/trigger/route.js +1 -1
- package/.next/server/app/api/jobs/[id]/trigger/route.js.nft.json +1 -1
- package/.next/server/app/api/jobs/mcp-discover/route.js +1 -1
- package/.next/server/app/api/jobs/mcp-discover/route.js.nft.json +1 -1
- package/.next/server/app/api/jobs/route.js +1 -1
- package/.next/server/app/api/jobs/route.js.nft.json +1 -1
- package/.next/server/app/api/jobs/status/route.js +1 -1
- package/.next/server/app/api/mcp-servers/[name]/route.js +1 -1
- package/.next/server/app/api/mcp-servers/[name]/test/route.js +1 -1
- package/.next/server/app/api/mcp-servers/[name]/tools/route.js +1 -0
- package/.next/server/app/api/mcp-servers/[name]/tools/route.js.nft.json +1 -0
- package/.next/server/app/api/mcp-servers/[name]/tools/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/mcp-servers/route.js +1 -1
- package/.next/server/app/api/notifications/route.js +1 -1
- package/.next/server/app/api/notifications/test/route.js +3 -3
- package/.next/server/app/api/plugins/[id]/route.js +1 -0
- package/.next/server/app/api/plugins/[id]/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/[id]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/plugins/install/route.js +1 -0
- package/.next/server/app/api/plugins/install/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/install/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/plugins/marketplaces/[name]/route.js +1 -0
- package/.next/server/app/api/plugins/marketplaces/[name]/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/marketplaces/[name]/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/plugins/marketplaces/route.js +1 -0
- package/.next/server/app/api/plugins/marketplaces/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/marketplaces/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/plugins/route.js +1 -0
- package/.next/server/app/api/plugins/route.js.nft.json +1 -0
- package/.next/server/app/api/plugins/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/providers/[id]/route.js +1 -1
- package/.next/server/app/api/providers/route.js +1 -1
- package/.next/server/app/api/reviews/pinned/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/mcp/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/search/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/search/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/[id]/tabs/route.js +1 -1
- package/.next/server/app/api/sessions/bulk-delete/route.js +1 -1
- package/.next/server/app/api/sessions/bulk-delete/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/by-ids/route.js +1 -1
- package/.next/server/app/api/sessions/by-ids/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/group/route.js +1 -1
- package/.next/server/app/api/sessions/group/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/pinned/route.js +1 -1
- package/.next/server/app/api/sessions/route.js +1 -1
- package/.next/server/app/api/sessions/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/search/route.js +1 -1
- package/.next/server/app/api/sessions/search/route.js.nft.json +1 -1
- package/.next/server/app/api/sessions/thinking/route.js +1 -1
- package/.next/server/app/api/sessions/thinking/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[name]/route.js +1 -1
- package/.next/server/app/api/skills/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/route.js +1 -1
- package/.next/server/app/api/terminal/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/terminal/route.js +1 -1
- package/.next/server/app/api/terminal/route.js.nft.json +1 -1
- package/.next/server/app/api/usage/route.js +1 -1
- package/.next/server/app/api/version/changelog/route.js +1 -1
- package/.next/server/app/api/version/cockpit/changelog/route.js +1 -1
- package/.next/server/app/api/version/cockpit/route.js +1 -1
- package/.next/server/app/api/version/route.js +2 -2
- package/.next/server/app/claude-md/edit.html +1 -1
- package/.next/server/app/claude-md/edit.rsc +4 -4
- package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md/edit/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md/edit.segment.rsc +1 -1
- package/.next/server/app/claude-md/edit.segments/!KGFwcCk/claude-md.segment.rsc +1 -1
- package/.next/server/app/claude-md/edit.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/claude-md/edit.segments/_full.segment.rsc +4 -4
- package/.next/server/app/claude-md/edit.segments/_head.segment.rsc +1 -1
- package/.next/server/app/claude-md/edit.segments/_index.segment.rsc +2 -2
- package/.next/server/app/claude-md/edit.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/claude-md.html +1 -1
- package/.next/server/app/claude-md.rsc +4 -4
- package/.next/server/app/claude-md.segments/!KGFwcCk/claude-md/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/claude-md.segments/!KGFwcCk/claude-md.segment.rsc +1 -1
- package/.next/server/app/claude-md.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/claude-md.segments/_full.segment.rsc +4 -4
- package/.next/server/app/claude-md.segments/_head.segment.rsc +1 -1
- package/.next/server/app/claude-md.segments/_index.segment.rsc +2 -2
- package/.next/server/app/claude-md.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/commands.html +1 -1
- package/.next/server/app/commands.rsc +4 -4
- package/.next/server/app/commands.segments/!KGFwcCk/commands/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/commands.segments/!KGFwcCk/commands.segment.rsc +1 -1
- package/.next/server/app/commands.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/commands.segments/_full.segment.rsc +4 -4
- package/.next/server/app/commands.segments/_head.segment.rsc +1 -1
- package/.next/server/app/commands.segments/_index.segment.rsc +2 -2
- package/.next/server/app/commands.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/hooks.html +1 -1
- package/.next/server/app/hooks.rsc +4 -4
- package/.next/server/app/hooks.segments/!KGFwcCk/hooks/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/hooks.segments/!KGFwcCk/hooks.segment.rsc +1 -1
- package/.next/server/app/hooks.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/hooks.segments/_full.segment.rsc +4 -4
- package/.next/server/app/hooks.segments/_head.segment.rsc +1 -1
- package/.next/server/app/hooks.segments/_index.segment.rsc +2 -2
- package/.next/server/app/hooks.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/inbox.html +1 -1
- package/.next/server/app/inbox.rsc +4 -4
- package/.next/server/app/inbox.segments/!KGFwcCk/inbox/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/inbox.segments/!KGFwcCk/inbox.segment.rsc +1 -1
- package/.next/server/app/inbox.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/inbox.segments/_full.segment.rsc +4 -4
- package/.next/server/app/inbox.segments/_head.segment.rsc +1 -1
- package/.next/server/app/inbox.segments/_index.segment.rsc +2 -2
- package/.next/server/app/inbox.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +4 -4
- package/.next/server/app/index.segments/!KGFwcCk/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/jobs.html +1 -1
- package/.next/server/app/jobs.rsc +4 -4
- package/.next/server/app/jobs.segments/!KGFwcCk/jobs/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/jobs.segments/!KGFwcCk/jobs.segment.rsc +1 -1
- package/.next/server/app/jobs.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/jobs.segments/_full.segment.rsc +4 -4
- package/.next/server/app/jobs.segments/_head.segment.rsc +1 -1
- package/.next/server/app/jobs.segments/_index.segment.rsc +2 -2
- package/.next/server/app/jobs.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login/page.js +2 -2
- package/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +3 -3
- package/.next/server/app/login.segments/_full.segment.rsc +3 -3
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +2 -2
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/mcp-servers.html +1 -1
- package/.next/server/app/mcp-servers.rsc +4 -4
- package/.next/server/app/mcp-servers.segments/!KGFwcCk/mcp-servers/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/mcp-servers.segments/!KGFwcCk/mcp-servers.segment.rsc +1 -1
- package/.next/server/app/mcp-servers.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/mcp-servers.segments/_full.segment.rsc +4 -4
- package/.next/server/app/mcp-servers.segments/_head.segment.rsc +1 -1
- package/.next/server/app/mcp-servers.segments/_index.segment.rsc +2 -2
- package/.next/server/app/mcp-servers.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/plugins.html +1 -0
- package/.next/server/app/{changes.meta → plugins.meta} +3 -3
- package/.next/server/app/{changes.rsc → plugins.rsc} +4 -4
- package/.next/server/app/{files.segments/!KGFwcCk/files → plugins.segments/!KGFwcCk/plugins}/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/{changes.segments/!KGFwcCk/changes.segment.rsc → plugins.segments/!KGFwcCk/plugins.segment.rsc} +1 -1
- package/.next/server/app/{changes.segments → plugins.segments}/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/{changes.segments → plugins.segments}/_full.segment.rsc +4 -4
- package/.next/server/app/{changes.segments → plugins.segments}/_head.segment.rsc +1 -1
- package/.next/server/app/{files.segments → plugins.segments}/_index.segment.rsc +2 -2
- package/.next/server/app/{changes.segments → plugins.segments}/_tree.segment.rsc +2 -2
- package/.next/server/app/reviews.html +1 -1
- package/.next/server/app/reviews.rsc +4 -4
- package/.next/server/app/reviews.segments/!KGFwcCk/reviews/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/reviews.segments/!KGFwcCk/reviews.segment.rsc +1 -1
- package/.next/server/app/reviews.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/reviews.segments/_full.segment.rsc +4 -4
- package/.next/server/app/reviews.segments/_head.segment.rsc +1 -1
- package/.next/server/app/reviews.segments/_index.segment.rsc +2 -2
- package/.next/server/app/reviews.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/appearance.html +1 -1
- package/.next/server/app/settings/appearance.rsc +4 -4
- package/.next/server/app/settings/appearance.segments/!KGFwcCk/settings/appearance/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/appearance.segments/!KGFwcCk/settings/appearance.segment.rsc +1 -1
- package/.next/server/app/settings/appearance.segments/!KGFwcCk/settings.segment.rsc +1 -1
- package/.next/server/app/settings/appearance.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/settings/appearance.segments/_full.segment.rsc +4 -4
- package/.next/server/app/settings/appearance.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/appearance.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/appearance.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/notifications.html +1 -1
- package/.next/server/app/settings/notifications.rsc +4 -4
- package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings/notifications/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings/notifications.segment.rsc +1 -1
- package/.next/server/app/settings/notifications.segments/!KGFwcCk/settings.segment.rsc +1 -1
- package/.next/server/app/settings/notifications.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/settings/notifications.segments/_full.segment.rsc +4 -4
- package/.next/server/app/settings/notifications.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/notifications.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/notifications.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/providers/new.html +1 -1
- package/.next/server/app/settings/providers/new.rsc +4 -4
- package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings/providers/new/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings/providers/new.segment.rsc +1 -1
- package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings/providers.segment.rsc +1 -1
- package/.next/server/app/settings/providers/new.segments/!KGFwcCk/settings.segment.rsc +1 -1
- package/.next/server/app/settings/providers/new.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/settings/providers/new.segments/_full.segment.rsc +4 -4
- package/.next/server/app/settings/providers/new.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/providers/new.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/providers/new.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/providers.html +1 -1
- package/.next/server/app/settings/providers.rsc +4 -4
- package/.next/server/app/settings/providers.segments/!KGFwcCk/settings/providers/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/providers.segments/!KGFwcCk/settings/providers.segment.rsc +1 -1
- package/.next/server/app/settings/providers.segments/!KGFwcCk/settings.segment.rsc +1 -1
- package/.next/server/app/settings/providers.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/settings/providers.segments/_full.segment.rsc +4 -4
- package/.next/server/app/settings/providers.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/providers.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/providers.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings/session.html +1 -1
- package/.next/server/app/settings/session.rsc +4 -4
- package/.next/server/app/settings/session.segments/!KGFwcCk/settings/session/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings/session.segments/!KGFwcCk/settings/session.segment.rsc +1 -1
- package/.next/server/app/settings/session.segments/!KGFwcCk/settings.segment.rsc +1 -1
- package/.next/server/app/settings/session.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/settings/session.segments/_full.segment.rsc +4 -4
- package/.next/server/app/settings/session.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings/session.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings/session.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +4 -4
- package/.next/server/app/settings.segments/!KGFwcCk/settings/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/settings.segments/!KGFwcCk/settings.segment.rsc +1 -1
- package/.next/server/app/settings.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_full.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
- package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
- package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/skills.html +1 -1
- package/.next/server/app/skills.rsc +4 -4
- package/.next/server/app/skills.segments/!KGFwcCk/skills/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/skills.segments/!KGFwcCk/skills.segment.rsc +1 -1
- package/.next/server/app/skills.segments/!KGFwcCk.segment.rsc +2 -2
- package/.next/server/app/skills.segments/_full.segment.rsc +4 -4
- package/.next/server/app/skills.segments/_head.segment.rsc +1 -1
- package/.next/server/app/skills.segments/_index.segment.rsc +2 -2
- package/.next/server/app/skills.segments/_tree.segment.rsc +2 -2
- package/.next/server/app-paths-manifest.json +10 -2
- package/.next/server/chunks/1011.js +1 -1
- package/.next/server/chunks/1327.js +1 -1
- package/.next/server/chunks/1979.js +7 -2
- package/.next/server/chunks/2666.js +1 -0
- package/.next/server/chunks/3136.js +11 -0
- package/.next/server/chunks/319.js +45 -0
- package/.next/server/chunks/3445.js +2 -2
- package/.next/server/chunks/3764.js +1 -1
- package/.next/server/chunks/4053.js +4971 -0
- package/.next/server/chunks/5292.js +201 -0
- package/.next/server/chunks/5318.js +1 -1
- package/.next/server/chunks/5472.js +1 -1
- package/.next/server/chunks/6304.js +1 -1
- package/.next/server/chunks/6705.js +1 -1
- package/.next/server/chunks/7539.js +5 -0
- package/.next/server/chunks/7891.js +1 -0
- package/.next/server/chunks/8578.js +1 -1
- package/.next/server/chunks/8728.js +1 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/12644.84908edd1bec8b5a.js +1 -0
- package/.next/static/chunks/1550-9a32fa02f6722fc7.js +25 -0
- package/.next/static/chunks/18977.393a8bc1bef44fc4.js +1 -0
- package/.next/static/chunks/{2503.bb9d3528c3c7ccae.js → 2503.68e12779c4b14adb.js} +1 -1
- package/.next/static/chunks/25781-c77dc5d11fb85d82.js +201 -0
- package/.next/static/chunks/{27455.1bce740b63d7c3cc.js → 27455.8f2189c777c63368.js} +1 -1
- package/.next/static/chunks/33072.3d32bb7b2a85ca9b.js +1 -0
- package/.next/static/chunks/39267.0c93a6bed8e46ac0.js +1 -0
- package/.next/static/chunks/52333.ff3bf0753b68875e.js +1 -0
- package/.next/static/chunks/69940.42e1ca99efc62caf.js +1 -0
- package/.next/static/chunks/70400.ffe0412efe741888.js +1 -0
- package/.next/static/chunks/7113.336a2a8deabe2aa5.js +1 -0
- package/.next/static/chunks/{71642.852436e8f0287b89.js → 71642.e11bcaa30efbf1f2.js} +1 -1
- package/.next/static/chunks/{72839.a5325a99f8c12fed.js → 72839.225c36dd5e767a20.js} +1 -1
- package/.next/static/chunks/{69427.a0b463c808aa54c8.js → 81272.b0027c9bc80050aa.js} +1 -1
- package/.next/static/chunks/85853.421f0c913b3d332b.js +1 -0
- package/.next/static/chunks/86155.3c5c1468fa2f446e.js +1 -0
- package/.next/static/chunks/86339.ba009abde9765665.js +1 -0
- package/.next/static/chunks/86939-51ae17d3d12c0310.js +1 -0
- package/.next/static/chunks/93794-b87eef7d177fe7b3.js +32 -0
- package/.next/static/chunks/989-6074551b2b54a168.js +3 -0
- package/.next/static/chunks/app/(app)/agents/[name]/page-6954a12623e4bdcf.js +8 -0
- package/.next/static/chunks/app/(app)/agents/{page-6fcfd7ab6781814e.js → page-b984c01f39aed22e.js} +1 -1
- package/.next/static/chunks/app/(app)/claude-md/edit/page-575c5ccdc585516c.js +1 -0
- package/.next/static/chunks/app/(app)/claude-md/{page-cd9e2176a12ba241.js → page-aab6df0c14c657f3.js} +1 -1
- package/.next/static/chunks/app/(app)/commands/[name]/page-ea86a4400fd29210.js +6 -0
- package/.next/static/chunks/app/(app)/commands/{page-f126b608b04747ac.js → page-3867a45c1378c6fe.js} +1 -1
- package/.next/static/chunks/app/(app)/hooks/[event]/{page-28038323fd29adfa.js → page-2c41e810c15a1149.js} +2 -2
- package/.next/static/chunks/app/(app)/hooks/{page-f1f39284e53c0344.js → page-49f9dbb78a3f97df.js} +1 -1
- package/.next/static/chunks/app/(app)/inbox/[id]/page-885a258b67e47b00.js +1 -0
- package/.next/static/chunks/app/(app)/inbox/page-592249fc155b9fe4.js +1 -0
- package/.next/static/chunks/app/(app)/jobs/[id]/edit/page-121bf977a839488c.js +1 -0
- package/.next/static/chunks/app/(app)/jobs/[id]/page-ba516fa01db89ea0.js +1 -0
- package/.next/static/chunks/app/(app)/jobs/[id]/runs/[runId]/page-0650e6f678fae5b8.js +1 -0
- package/.next/static/chunks/app/(app)/jobs/page-da3fe23a43277e67.js +1 -0
- package/.next/static/chunks/app/(app)/{layout-ce9e1be301c60fe5.js → layout-3cd80708648e0723.js} +1 -1
- package/.next/static/chunks/app/(app)/mcp-servers/[name]/{page-d6d805a27ec0b0c0.js → page-9290a7940a32d9ac.js} +1 -1
- package/.next/static/chunks/app/(app)/mcp-servers/page-1e828264f81ee08c.js +1 -0
- package/.next/static/chunks/app/(app)/{page-027a5382da30ddb9.js → page-2d171ffc3e1945e1.js} +1 -1
- package/.next/static/chunks/app/(app)/plugins/page-7e70e0b3ead44a99.js +1 -0
- package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/[number]/page-4396e9d6df189336.js +13 -0
- package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/{page-c5fd013309ab3eba.js → page-76a072cbfe3d9f0e.js} +1 -1
- package/.next/static/chunks/app/(app)/reviews/{page-47530d93bb9d4a76.js → page-deaa44f0ce253da8.js} +1 -1
- package/.next/static/chunks/app/(app)/sessions/[id]/page-95bcce2e0b9f827a.js +1 -0
- package/.next/static/chunks/app/(app)/settings/appearance/{page-95902da748ac5f1e.js → page-433fcfb9b95fb22e.js} +1 -1
- package/.next/static/chunks/app/(app)/settings/notifications/page-e5309337f125a059.js +1 -0
- package/.next/static/chunks/app/(app)/settings/{page-8ed16a66fdde10cd.js → page-353ef8c508418af1.js} +1 -1
- package/.next/static/chunks/app/(app)/settings/providers/[id]/page-2cacea2e60ba435c.js +1 -0
- package/.next/static/chunks/app/(app)/settings/providers/new/page-d40acef3abfc7c19.js +1 -0
- package/.next/static/chunks/app/(app)/settings/providers/page-098d8f399c663944.js +1 -0
- package/.next/static/chunks/app/(app)/settings/session/page-706118ba33c2b99f.js +1 -0
- package/.next/static/chunks/app/(app)/skills/[name]/page-7dd7c0f316742c01.js +6 -0
- package/.next/static/chunks/app/(app)/skills/{page-c52773eacb27c04e.js → page-48d0bbe201180fc8.js} +1 -1
- package/.next/static/chunks/app/_global-error/page-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/agents/[name]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/agents/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/assistant-session/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/auth/check/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/auth/setup/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/auth/ws-token/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/btw/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/claude-md/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/commands/[name]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/commands/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/config/cwd/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/defaults/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/filesystem/browse/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/filesystem/files/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/filesystem/mkdir/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/filesystem/read/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/git/clone/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/git/commit/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/git/diff/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/git/discard/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/git/generate-message/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/git/push/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/git/status/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/github/file-content/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/github/orgs/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/github/prs/checks/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/github/prs/diff/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/github/prs/review/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/github/prs/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/github/prs/view/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/github/repos/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/github/review-session/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/health/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/hooks/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/inbox/[id]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/inbox/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/jobs/[id]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/transcript/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/jobs/[id]/runs/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/jobs/[id]/stop/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/jobs/[id]/trigger/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/jobs/mcp-discover/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/jobs/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/jobs/status/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/mcp-servers/[name]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/mcp-servers/[name]/test/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/mcp-servers/[name]/tools/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/mcp-servers/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/notifications/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/notifications/test/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/plugins/[id]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/plugins/install/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/plugins/marketplaces/[name]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/plugins/marketplaces/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/plugins/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/providers/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/reviews/pinned/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/context/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/mcp/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/search/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/[id]/tabs/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/bulk-delete/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/by-ids/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/group/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/pinned/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/search/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/sessions/thinking/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/skills/[name]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/skills/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/terminal/[id]/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/terminal/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/usage/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/version/changelog/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/version/cockpit/changelog/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/version/cockpit/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/app/api/version/route-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/{framework-6fd9f138158c42e0.js → framework-45a1aae1a0f575fd.js} +1 -1
- package/.next/static/chunks/{main-5dac9bfffcc23702.js → main-eb9ff0b73c75808a.js} +3 -3
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-bf8153dffcb47d46.js +1 -0
- package/.next/static/chunks/webpack-76a545b642140725.js +1 -0
- package/.next/static/css/483101dd9c42fb97.css +1 -0
- package/.next/static/mmHo0MmzQHWjZATtI-VbH/_buildManifest.js +1 -0
- package/README.md +2 -2
- package/dist/server.js +10 -0
- package/dist/src/lib/cli-commands.js +147 -0
- package/dist/src/lib/models.js +8 -0
- package/dist/src/lib/paste-detect.js +161 -0
- package/dist/src/server/assistant-settings.js +35 -0
- package/dist/src/server/claude-bin.js +21 -0
- package/dist/src/server/cli-init-fetch.js +6 -1
- package/dist/src/server/inbox.js +2 -2
- package/dist/src/server/job-scheduler.js +146 -4
- package/dist/src/server/job-storage.js +33 -0
- package/dist/src/server/mcp/cockpit-agent-prompt.js +5 -0
- package/dist/src/server/mcp/cockpit-config-server.js +632 -0
- package/dist/src/server/mcp/run-context.js +23 -0
- package/dist/src/server/notifications.js +51 -10
- package/dist/src/server/plugins.js +103 -0
- package/dist/src/server/providers.js +25 -2
- package/dist/src/server/pty-runtime.js +112 -3
- package/dist/src/server/pty-session.js +7 -4
- package/dist/src/server/session-manager.js +338 -100
- package/dist/src/server/singleton.js +9 -0
- package/dist/src/server/terminal-buffer.js +17 -0
- package/dist/src/server/terminal-manager.js +9 -13
- package/dist/src/server/transcript.js +39 -22
- package/dist/src/server/ws-handler.js +18 -6
- package/next.config.ts +1 -0
- package/package.json +3 -2
- package/.next/server/app/(app)/changes/page.js +0 -2
- package/.next/server/app/(app)/changes/page.js.nft.json +0 -1
- package/.next/server/app/(app)/changes/page_client-reference-manifest.js +0 -1
- package/.next/server/app/(app)/files/page.js +0 -2
- package/.next/server/app/(app)/files/page_client-reference-manifest.js +0 -1
- package/.next/server/app/changes.html +0 -1
- package/.next/server/app/changes.segments/!KGFwcCk/changes/__PAGE__.segment.rsc +0 -9
- package/.next/server/app/changes.segments/_index.segment.rsc +0 -5
- package/.next/server/app/files.html +0 -1
- package/.next/server/app/files.meta +0 -16
- package/.next/server/app/files.rsc +0 -23
- package/.next/server/app/files.segments/!KGFwcCk/files.segment.rsc +0 -5
- package/.next/server/app/files.segments/!KGFwcCk.segment.rsc +0 -7
- package/.next/server/app/files.segments/_full.segment.rsc +0 -23
- package/.next/server/app/files.segments/_head.segment.rsc +0 -6
- package/.next/server/app/files.segments/_tree.segment.rsc +0 -2
- package/.next/server/chunks/3006.js +0 -199
- package/.next/server/chunks/4342.js +0 -1
- package/.next/server/chunks/4352.js +0 -1
- package/.next/server/chunks/4445.js +0 -1
- package/.next/server/chunks/63.js +0 -45
- package/.next/server/chunks/7782.js +0 -6
- package/.next/server/chunks/8148.js +0 -1
- package/.next/server/chunks/9599.js +0 -11
- package/.next/static/I-rxZaJEzhe3ZUTjSqB11/_buildManifest.js +0 -1
- package/.next/static/chunks/18977.a98edaf19c6df2d4.js +0 -1
- package/.next/static/chunks/26126-97874904b42befb8.js +0 -1
- package/.next/static/chunks/31010-6e87f77b97544424.js +0 -1
- package/.next/static/chunks/33072.9c3cd19e8d515dea.js +0 -1
- package/.next/static/chunks/3765-d323c6675307a63e.js +0 -20
- package/.next/static/chunks/39267.ef60669ade47cf4c.js +0 -1
- package/.next/static/chunks/41487-d802643f4a8fad3c.js +0 -199
- package/.next/static/chunks/48273-fb393846bb4333c0.js +0 -6
- package/.next/static/chunks/52333.f98d1cca9a127b34.js +0 -1
- package/.next/static/chunks/6935-f436a624267529fb.js +0 -1
- package/.next/static/chunks/70400.1816c247ad90f9bc.js +0 -1
- package/.next/static/chunks/7113.39704408fef3d26e.js +0 -1
- package/.next/static/chunks/85853.39872899093b140a.js +0 -1
- package/.next/static/chunks/86155.40f687f9aaa13854.js +0 -1
- package/.next/static/chunks/86339.4dbd51a9b9871f65.js +0 -1
- package/.next/static/chunks/86939-dfc6f8eb395caa89.js +0 -1
- package/.next/static/chunks/93794-5f89a674d8cefcff.js +0 -32
- package/.next/static/chunks/989-94bf2b9d242776c3.js +0 -3
- package/.next/static/chunks/app/(app)/agents/[name]/page-8bdd0359043537d4.js +0 -8
- package/.next/static/chunks/app/(app)/changes/page-4549a5bd72d77e3e.js +0 -1
- package/.next/static/chunks/app/(app)/claude-md/edit/page-08e6e120e71979f4.js +0 -1
- package/.next/static/chunks/app/(app)/commands/[name]/page-7cdfdef29ded0aa0.js +0 -6
- package/.next/static/chunks/app/(app)/files/page-f526eb95821e000e.js +0 -1
- package/.next/static/chunks/app/(app)/inbox/[id]/page-bc1ff3a0db0114a4.js +0 -1
- package/.next/static/chunks/app/(app)/inbox/page-82e03870103ce9bd.js +0 -1
- package/.next/static/chunks/app/(app)/jobs/[id]/edit/page-7fb788f772ff2129.js +0 -1
- package/.next/static/chunks/app/(app)/jobs/[id]/page-a5856b9ae967ff59.js +0 -1
- package/.next/static/chunks/app/(app)/jobs/[id]/runs/[runId]/page-b7c513402db11db6.js +0 -1
- package/.next/static/chunks/app/(app)/jobs/page-e9bbd6c116b9699f.js +0 -1
- package/.next/static/chunks/app/(app)/mcp-servers/page-4b7276d43451cd43.js +0 -1
- package/.next/static/chunks/app/(app)/reviews/[owner]/[repo]/[number]/page-9ab2955c455bb5fa.js +0 -13
- package/.next/static/chunks/app/(app)/sessions/[id]/page-94f891e1b54fd05f.js +0 -1
- package/.next/static/chunks/app/(app)/settings/notifications/page-229f1db6beb1d19c.js +0 -1
- package/.next/static/chunks/app/(app)/settings/providers/[id]/page-13654263246617b3.js +0 -1
- package/.next/static/chunks/app/(app)/settings/providers/new/page-e1798e321ccbc6df.js +0 -1
- package/.next/static/chunks/app/(app)/settings/providers/page-0bb4c1db2ee35b3d.js +0 -1
- package/.next/static/chunks/app/(app)/settings/session/page-ab216a8fa37a0f76.js +0 -1
- package/.next/static/chunks/app/(app)/skills/[name]/page-8ab85d5090967ee4.js +0 -6
- package/.next/static/chunks/app/_global-error/page-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/agents/[name]/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/agents/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/auth/check/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/auth/setup/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/auth/ws-token/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/btw/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/claude-md/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/commands/[name]/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/commands/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/defaults/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/filesystem/browse/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/filesystem/files/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/filesystem/mkdir/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/filesystem/read/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/git/clone/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/git/commit/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/git/diff/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/git/discard/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/git/generate-message/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/git/push/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/git/status/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/github/file-content/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/github/orgs/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/github/prs/checks/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/github/prs/diff/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/github/prs/review/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/github/prs/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/github/prs/view/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/github/repos/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/github/review-session/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/health/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/hooks/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/inbox/[id]/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/inbox/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/jobs/[id]/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/jobs/[id]/runs/[runId]/transcript/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/jobs/[id]/runs/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/jobs/[id]/trigger/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/jobs/mcp-discover/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/jobs/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/jobs/status/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/mcp-servers/[name]/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/mcp-servers/[name]/test/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/mcp-servers/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/notifications/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/notifications/test/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/providers/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/reviews/pinned/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/context/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/mcp/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/search/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/[id]/tabs/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/bulk-delete/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/by-ids/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/group/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/pinned/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/search/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/sessions/thinking/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/skills/[name]/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/skills/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/terminal/[id]/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/terminal/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/usage/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/version/changelog/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/version/cockpit/changelog/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/version/cockpit/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/app/api/version/route-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-fc747760bd4c8a4b.js +0 -1
- package/.next/static/chunks/webpack-e31bb45fa59caed8.js +0 -1
- package/.next/static/css/3f8af4ae6f812d5c.css +0 -1
- /package/.next/static/{I-rxZaJEzhe3ZUTjSqB11 → mmHo0MmzQHWjZATtI-VbH}/_ssgManifest.js +0 -0
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[48273],{11701:(e,t,s)=>{s.d(t,{G:()=>a});var n=s(12115);let r="(min-width: 768px)";function a(){let[e,t]=(0,n.useState)(()=>window.matchMedia(r).matches);return(0,n.useEffect)(()=>{let e=window.matchMedia(r),s=e=>t(e.matches);return e.addEventListener("change",s),()=>e.removeEventListener("change",s)},[]),e}},55181:(e,t,s)=>{s.d(t,{I:()=>eO});var n=s(95155),r=s(92571),a=s(11012),l=s(92298),o=s(19805),i=s(73321),c=s(12115);function d(e){if("system"===e.role)return"";if("user"===e.role)return e.content;let t=e.blocks.filter(e=>"text"===e.type).map(e=>e.text);return t.length>0?t.join("\n"):e.content}var u=s(8081);let m=e=>e.replace(/^\[Attached [^\]]+\]\n*/gm,"").trim();var x=s(89323),p=s(22317),h=s(53972),f=s(40980),g=s(3765),b=s(25494),v=s(9005),j=s(66763),w=s(5045),y=s(16449),k=s(12651),N=s(64577),C=s(19707),S=s(8962),A=s(49804),$=s(82749),I=s(28750),q=s(50981),D=s(55737),E=s(76721),_=s(65738),T=s(36483),M=s(15561),R=s(40852),U=s(9383),P=s(25182),z=s(14283),L=s(18189),F=s(64233),O=s(30966),W=s(18402),B=s(88074),H=s(45160),Q=s(89239);function J({open:e,onOpenChange:t,sessionId:s,initData:a}){let l=(0,i.useRouter)(),[o,d]=(0,c.useState)([]),[u,m]=(0,c.useState)(!1),[x,p]=(0,c.useState)(null),[h,g]=(0,c.useState)(null);(0,c.useEffect)(()=>{a?.mcpServers&&d(a.mcpServers.map(e=>({name:e.name,status:e.status})))},[a]);let b=(0,c.useCallback)(()=>{s&&(m(!0),fetch(`/api/sessions/${encodeURIComponent(s)}/mcp`).then(e=>{if(!e.ok)throw Error("Failed to fetch");return e.json()}).then(e=>{e.mcpServers&&d(e.mcpServers)}).catch(()=>{}).finally(()=>m(!1)))},[s]);(0,c.useEffect)(()=>{if(!e)return;let s=e=>{"Escape"===e.key&&t(!1)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[e,t]);let j=(0,c.useCallback)(async(e,t)=>{if(!s)return;let n="disabled"===t;g(e),d(t=>t.map(t=>t.name===e?{...t,status:n?"connecting":"disabled"}:t));try{await fetch(`/api/sessions/${encodeURIComponent(s)}/mcp`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"toggle",serverName:e,enabled:n})}),d(t=>t.map(t=>t.name===e?{...t,status:n?"connected":"disabled"}:t))}catch{d(s=>s.map(s=>s.name===e?{...s,status:t}:s))}finally{g(null)}},[s]),w=(0,c.useCallback)(async e=>{if(s){g(e),d(t=>t.map(t=>t.name===e?{...t,status:"connecting",error:void 0}:t));try{await fetch(`/api/sessions/${encodeURIComponent(s)}/mcp`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"reconnect",serverName:e})}),d(t=>t.map(t=>t.name===e?{...t,status:"connected"}:t))}catch{d(t=>t.map(t=>t.name===e?{...t,status:"failed"}:t))}finally{g(null)}}},[s]);return 0!==(a?.mcpServers?.length??0)&&e?(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onMouseDown:e=>{e.target===e.currentTarget&&t(!1)},children:(0,n.jsxs)("div",{className:"w-full max-w-lg mx-4 rounded-lg border bg-background p-5 shadow-lg max-h-[80vh] flex flex-col",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(D.A,{className:"h-4 w-4"}),(0,n.jsx)("h2",{className:"text-base font-semibold",children:"MCP Servers"}),(0,n.jsx)(H.E,{variant:"secondary",className:"text-xs",children:o.length})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1",children:[(0,n.jsx)(Q.$,{variant:"ghost",size:"icon",onClick:b,title:"Refresh",children:(0,n.jsx)($.A,{className:(0,f.cn)("h-4 w-4",u&&"animate-spin")})}),(0,n.jsx)(Q.$,{variant:"ghost",size:"icon",onClick:()=>t(!1),children:(0,n.jsx)(v.A,{className:"h-4 w-4"})})]})]}),u&&0===o.length&&(0,n.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,n.jsx)(r.A,{className:"h-5 w-5 animate-spin text-muted-foreground"})}),!u&&x&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:x}),o.length>0&&(0,n.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto border rounded",children:o.map(e=>(0,n.jsxs)("div",{className:"flex items-center gap-3 px-3 py-2.5 border-b last:border-b-0",children:[(0,n.jsx)("div",{className:(0,f.cn)("h-2 w-2 rounded-full shrink-0",function(e){switch(e){case"connected":return"bg-green-500";case"disabled":return"bg-muted-foreground/40";case"failed":return"bg-red-500";default:return"bg-yellow-500"}}(e.status))}),(0,n.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("span",{className:"font-mono text-sm font-bold truncate",children:e.name}),e.scope&&(0,n.jsx)(H.E,{variant:"outline",className:"text-[10px] shrink-0",children:e.scope})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:function(e){switch(e){case"connected":return"Connected";case"connecting":return"Connecting...";case"disabled":return"Disabled";case"failed":return"Failed";default:return e}}(e.status)}),e.tools&&e.tools.length>0&&(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:[e.tools.length," tools"]}),e.config?.type&&(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:e.config.type})]}),e.error&&(0,n.jsx)("p",{className:"text-xs text-red-500 mt-0.5 truncate",children:e.error})]}),(0,n.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:["failed"===e.status&&s&&(0,n.jsx)(Q.$,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>w(e.name),disabled:h===e.name,title:"Reconnect",children:(0,n.jsx)($.A,{className:(0,f.cn)("h-3.5 w-3.5",h===e.name&&"animate-spin")})}),s&&(0,n.jsx)(Q.$,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>j(e.name,e.status),disabled:h===e.name,title:"disabled"===e.status?"Enable":"Disable",children:"disabled"===e.status?(0,n.jsx)(O.A,{className:"h-3.5 w-3.5"}):(0,n.jsx)(W.A,{className:"h-3.5 w-3.5"})})]})]},e.name))}),!u&&0===o.length&&!x&&(0,n.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No MCP servers configured"}),(0,n.jsx)("div",{className:"flex justify-end mt-3",children:(0,n.jsxs)(Q.$,{variant:"outline",size:"sm",className:"gap-1.5",onClick:()=>{t(!1),l.push("/mcp-servers")},children:[(0,n.jsx)(B.A,{className:"h-3.5 w-3.5"}),"Manage servers"]})})]})}):null}let K=[{name:"Explore",description:"Fast codebase exploration"},{name:"Plan",description:"Design implementation plans"},{name:"general-purpose",description:"Multi-step tasks and code changes"},{name:"claude-code-guide",description:"Claude Code documentation"}];function Y({query:e,cwd:t,selectedIndex:s,onSelect:r,onItemsChange:a,initAgents:l}){let o=(0,c.useRef)(null),[i,d]=(0,c.useState)([]),[u,m]=(0,c.useState)([]),x=(0,c.useRef)(null);(0,c.useEffect)(()=>{if(l)return;let e=new URLSearchParams;t&&e.set("cwd",t),fetch(`/api/agents?${e}`).then(e=>e.json()).then(e=>m(e.agents)).catch(()=>{})},[t,l]),(0,c.useEffect)(()=>(x.current&&clearTimeout(x.current),x.current=setTimeout(()=>{let s=new URLSearchParams({cwd:t});e&&s.set("query",e),fetch(`/api/filesystem/files?${s}`).then(e=>e.json()).then(e=>d(e.files)).catch(()=>d([]))},150),()=>{x.current&&clearTimeout(x.current)}),[e,t]);let p=e.toLowerCase(),f=(0,c.useMemo)(()=>{if(l&&l.length>0)return l.map(e=>({name:e.name,description:e.description}));let e=new Set(u.map(e=>e.name));return[...K.filter(t=>!e.has(t.name)).map(e=>({name:e.name,description:e.description})),...u.map(e=>({name:e.name,description:e.description}))]},[l,u]),g=(0,c.useMemo)(()=>f.filter(e=>e.name.toLowerCase().includes(p)).map(e=>({value:e.name,label:e.name,description:e.description,kind:"agent"})),[p,f]),b=(0,c.useMemo)(()=>i.map(e=>({value:e,label:e,kind:"file"})),[i]),v=(0,c.useMemo)(()=>[...g,...b],[g,b]);return((0,c.useEffect)(()=>{a?.(v)},[v,a]),(0,c.useEffect)(()=>{let e=o.current;if(!e)return;let t=e.querySelector(`[data-index="${s}"]`);t?.scrollIntoView({block:"nearest"})},[s]),0===v.length)?null:(0,n.jsxs)("div",{ref:o,className:"absolute bottom-full left-0 mb-1 w-80 max-h-60 overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md",children:[g.length>0&&b.length>0&&(0,n.jsx)("div",{className:"px-3 py-1 text-xs text-muted-foreground font-medium",children:"Agents"}),g.map((e,t)=>(0,n.jsxs)("button",{type:"button","data-index":t,className:`flex w-full items-baseline gap-3 px-3 py-2 text-sm text-left ${t===s?"bg-accent text-accent-foreground":""}`,onMouseDown:t=>{t.preventDefault(),r(e.value)},children:[(0,n.jsx)("span",{className:"font-mono font-bold shrink-0",children:e.label}),(0,n.jsx)("span",{className:"text-muted-foreground truncate",children:e.description})]},e.value)),b.length>0&&g.length>0&&(0,n.jsx)("div",{className:"px-3 py-1 text-xs text-muted-foreground font-medium",children:"Files"}),b.map((e,t)=>{let a=g.length+t,l=(0,h.uk)(e.value),o=(0,h.ww)(e.value)||null;return(0,n.jsxs)("button",{type:"button","data-index":a,className:`flex w-full items-baseline gap-3 px-3 py-2 text-sm text-left ${a===s?"bg-accent text-accent-foreground":""}`,onMouseDown:t=>{t.preventDefault(),r(e.value)},children:[(0,n.jsx)("span",{className:"font-mono font-bold shrink-0",children:l}),o&&(0,n.jsx)("span",{className:"text-muted-foreground truncate",children:o})]},e.value)})]})}let V=[{command:"/clear",description:"Clear conversation and start fresh"},{command:"/compact",description:"Compact conversation context"},{command:"/cost",description:"Show token usage"},{command:"/context",description:"Show context window usage"},{command:"/model",description:"Show or switch model"},{command:"/rename",description:"Rename this session"},{command:"/commit",description:"Commit changes"},{command:"/review",description:"Review code changes"},{command:"/help",description:"Show available commands"}],G=[{command:"/btw",description:"Nudge Claude while it's working"},{command:"/mcp",description:"Show MCP server status"}];function X({query:e,selectedIndex:t,onSelect:s,cwd:r,onItemsChange:a,initCommands:l}){let o,i,d,u,m=(0,c.useRef)(null),[x,p]=(0,c.useState)([]);(0,c.useEffect)(()=>{if(l)return;let e=new URLSearchParams;r&&e.set("cwd",r),Promise.all([fetch(`/api/skills?${e}`).then(e=>e.json()).then(e=>e.skills.map(e=>({command:"/"+e.name,description:e.description||"Custom skill"}))).catch(()=>[]),fetch(`/api/commands?${e}`).then(e=>e.json()).then(e=>e.commands.map(e=>({command:"/"+e.name,description:e.description||"Custom command"}))).catch(()=>[])]).then(([e,t])=>{let s=new Set,n=[];for(let t of e)s.add(t.command),n.push(t);for(let e of t)s.has(e.command)||n.push(e);p(n)})},[r,l]);let h=l?(o=new Map(V.map(e=>[e.command,e])),d=new Set((i=l.map(e=>{let t=e.startsWith("/")?e:"/"+e;return o.get(t)||{command:t,description:""}})).map(e=>e.command)),[...i,...V.filter(e=>!d.has(e.command))]):(u=new Set(V.map(e=>e.command)),[...V,...x.filter(e=>!u.has(e.command))]),f=new Set,g=[];for(let e of[...h,...G])f.has(e.command)||(f.add(e.command),g.push(e));let b=g.filter(t=>t.command.startsWith("/"+e));return((0,c.useEffect)(()=>{a?.(b)},[b.length,a,b]),(0,c.useEffect)(()=>{let e=m.current;if(!e)return;let s=e.children[t];s?.scrollIntoView({block:"nearest"})},[t]),0===b.length)?null:(0,n.jsx)("div",{ref:m,className:"absolute bottom-full left-0 mb-1 w-80 max-h-60 overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md",children:b.map((e,r)=>(0,n.jsxs)("button",{type:"button",className:`flex w-full items-baseline gap-3 px-3 py-2 text-sm text-left ${r===t?"bg-accent text-accent-foreground":""}`,onMouseDown:t=>{t.preventDefault(),s(e)},children:[(0,n.jsx)("span",{className:"font-mono font-bold shrink-0",children:e.command}),(0,n.jsx)("span",{className:"text-muted-foreground truncate",children:e.description})]},e.command))})}var Z=s(42763);let ee={asm:"asm",awk:"awk",batch:"bat",c:"c",clojure:"clj",cmake:"cmake",cobol:"cob",coffeescript:"coffee",cpp:"cpp",cs:"cs",css:"css",csv:"csv",dart:"dart",diff:"diff",dockerfile:"dockerfile",elixir:"ex",erlang:"erl",fortran:"f90",gleam:"gleam",go:"go",gradle:"gradle",groovy:"groovy",h:"h",handlebars:"hbs",haskell:"hs",hcl:"tf",hpp:"hpp",html:"html",ini:"ini",java:"java",javascript:"js",json:"json",jsonc:"jsonc",jsonl:"jsonl",jsx:"jsx",julia:"jl",kotlin:"kt",latex:"tex",less:"less",lisp:"lisp",lua:"lua",makefile:"makefile",markdown:"md",matlab:"m",nim:"nim",objectivec:"m",ocaml:"ml",odin:"odin",pascal:"pas",perl:"pl",php:"php",powershell:"ps1",prolog:"pl",proto:"proto",python:"py",r:"r",rst:"rst",ruby:"rb",rust:"rs",scala:"scala",scheme:"scm",scss:"scss",shell:"sh",solidity:"sol",sql:"sql",svelte:"svelte",svg:"svg",swift:"swift",tcl:"tcl",toml:"toml",tsx:"tsx",typescript:"ts",vba:"vba",verilog:"v",vhdl:"vhdl",vue:"vue",xml:"xml",yaml:"yaml",yara:"yar",zig:"zig"};function et(e){return e.split(/\r?\n/).length>=10}let es=null;async function en(e){try{es||(es=Promise.all([s.e(63690),s.e(30272),s.e(63660),s.e(5056),s.e(37087),s.e(56251),s.e(12674),s.e(77607),s.e(43209)]).then(s.bind(s,55681)).then(e=>e.Magika.create()));let t=await es,n=new TextEncoder().encode(e.slice(0,8192)),r=(await t.identifyBytes(n)).prediction.output.label;if("txt"===r||"unknown"===r||"empty"===r)return null;return ee[r]?r:null}catch{return null}}var er=s(64350);function ea(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}function el({usage:e,onCompact:t}){let[s,r]=(0,c.useState)(!1);(0,c.useEffect)(()=>{if(!s)return;let e=e=>{"Escape"===e.key&&r(!1)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[s]);let a=Math.round(e.used/e.total*100),l=a>80?"#ef4444":a>50?"#f97316":"#22c55e",o=2*Math.PI*6,i=Math.min(a,100)/100*o;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{onClick:()=>r(!0),className:"flex items-center justify-center w-8 h-6 rounded-md hover:bg-muted transition-colors",title:`Context: ${a}%`,"data-testid":"context-indicator",children:(0,n.jsxs)("svg",{width:14,height:14,className:"-rotate-90",children:[(0,n.jsx)("circle",{cx:7,cy:7,r:6,fill:"none",stroke:"currentColor",strokeWidth:2,className:"text-muted-foreground/25"}),(0,n.jsx)("circle",{cx:7,cy:7,r:6,fill:"none",stroke:l,strokeWidth:2,strokeDasharray:o,strokeDashoffset:o-i,strokeLinecap:"round"})]})}),s&&(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onMouseDown:e=>{e.target===e.currentTarget&&r(!1)},children:(0,n.jsxs)("div",{className:"w-full max-w-sm mx-4 rounded-lg border bg-background p-5 shadow-lg",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsx)("h2",{className:"text-base font-semibold",children:"Context Usage"}),(0,n.jsx)(Q.$,{variant:"ghost",size:"icon",onClick:()=>r(!1),children:(0,n.jsx)(v.A,{className:"h-4 w-4"})})]}),(0,n.jsxs)("div",{className:"flex justify-between text-sm mb-2",children:[(0,n.jsx)("span",{children:"Tokens used"}),(0,n.jsxs)("span",{className:"text-muted-foreground",children:[a,"%"]})]}),(0,n.jsx)("div",{className:"h-2.5 rounded-full bg-muted overflow-hidden mb-2",children:(0,n.jsx)("div",{className:"h-full rounded-full transition-all",style:{width:`${Math.min(a,100)}%`,backgroundColor:l}})}),(0,n.jsxs)("div",{className:"flex justify-between text-xs text-muted-foreground",children:[(0,n.jsxs)("span",{"data-testid":"context-used",children:[ea(e.used)," used"]}),(0,n.jsxs)("span",{"data-testid":"context-total",children:[ea(e.total)," total"]})]}),t&&(0,n.jsxs)(Q.$,{variant:"outline",size:"sm",className:"w-full mt-4",onClick:()=>{t(),r(!1)},children:[(0,n.jsx)(er.A,{className:"h-3.5 w-3.5 mr-2"}),"Compact now"]})]})})]})}var eo=s(65377);function ei({open:e,prompts:t,onSelect:s,onClose:r}){let[a,l]=(0,c.useState)(""),[o,i]=(0,c.useState)(0),d=(0,c.useRef)(null),u=(0,c.useRef)(null),m=(0,c.useMemo)(()=>{if(!a.trim())return t;let e=a.toLowerCase();return t.filter(t=>t.toLowerCase().includes(e))},[t,a]);(0,c.useEffect)(()=>{e&&(l(""),i(0),requestAnimationFrame(()=>d.current?.focus()))},[e]),(0,c.useEffect)(()=>{i(0)},[a]),(0,c.useEffect)(()=>{if(!u.current)return;let e=u.current.children;e[o]&&e[o].scrollIntoView({block:"nearest"})},[o]);let x=(0,c.useCallback)(e=>{if("Escape"===e.key){e.preventDefault(),r();return}if("ArrowUp"===e.key){e.preventDefault(),i(e=>e<m.length-1?e+1:0);return}if("ArrowDown"===e.key){e.preventDefault(),i(e=>e>0?e-1:m.length-1);return}if("Enter"===e.key){e.preventDefault(),m[o]&&s(m[o]);return}},[m,o,s,r]);return e?(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-end justify-center",onMouseDown:e=>e.target===e.currentTarget&&r(),children:(0,n.jsxs)("div",{className:"w-full max-w-3xl mb-24 mx-4 rounded-lg border bg-background shadow-lg overflow-hidden",onKeyDown:x,children:[(0,n.jsxs)("div",{ref:u,className:"max-h-80 overflow-y-auto p-1 flex flex-col-reverse",children:[0===m.length&&(0,n.jsx)("div",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:a?"No matching prompts":"No prompt history"}),m.map((e,t)=>(0,n.jsxs)("button",{onClick:()=>s(e),onMouseEnter:()=>i(t),className:`flex w-full items-start gap-2 rounded px-3 py-2 text-left text-sm transition-colors ${o===t?"bg-accent text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,n.jsx)("span",{className:"shrink-0 font-mono text-xs text-muted-foreground/50 w-5 text-right pt-0.5",children:t+1}),(0,n.jsx)("span",{className:"line-clamp-2 break-all",children:e})]},`${t}-${e.slice(0,20)}`))]}),(0,n.jsxs)("div",{className:"border-t px-3 py-2 flex items-center gap-2",children:[(0,n.jsx)(eo.A,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,n.jsx)("input",{ref:d,value:a,onChange:e=>l(e.target.value),placeholder:"Search prompts...",className:"flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground"}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground shrink-0",children:[m.length," prompt",1!==m.length?"s":""]})]})]})}):null}var ec=s(18986),ed=s(36619);function eu({open:e,onOpenChange:t,messages:s,paused:r,onDelete:a,onEdit:l,onResume:o}){return((0,c.useEffect)(()=>{if(!e)return;let s=e=>{"Escape"===e.key&&t(!1)};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[e,t]),e)?(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onMouseDown:e=>{e.target===e.currentTarget&&t(!1)},children:(0,n.jsxs)("div",{className:"w-full max-w-md mx-4 rounded-lg border bg-background p-5 shadow-lg",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,n.jsx)("h2",{className:"text-base font-semibold",children:"Queued Messages"}),(0,n.jsx)(Q.$,{variant:"ghost",size:"icon",onClick:()=>t(!1),children:(0,n.jsx)(v.A,{className:"h-4 w-4"})})]}),0===s.length?(0,n.jsx)("p",{className:"text-sm text-muted-foreground py-4 text-center",children:"No queued messages"}):(0,n.jsx)("div",{className:"space-y-2 max-h-64 overflow-y-auto",children:s.map((e,s)=>(0,n.jsxs)("div",{className:"flex items-start gap-3 rounded-md border border-border px-3 py-2.5",children:[(0,n.jsxs)("span",{className:"text-xs text-muted-foreground mt-0.5 shrink-0",children:[s+1,"."]}),(0,n.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,n.jsx)("p",{className:"text-sm break-words line-clamp-3",children:e.text}),(0,n.jsx)("span",{className:`text-[10px] mt-0.5 inline-block ${r?"text-yellow-500":"text-muted-foreground"}`,children:r?"paused":"queued"})]}),(0,n.jsxs)("div",{className:"flex gap-1 shrink-0",children:[(0,n.jsx)("button",{onClick:()=>{l(e.id),t(!1)},className:"p-1 rounded hover:bg-muted text-muted-foreground hover:text-foreground transition-colors",title:"Edit (move to input)",children:(0,n.jsx)(ec.A,{className:"h-3.5 w-3.5"})}),(0,n.jsx)("button",{onClick:()=>a(e.id),className:"p-1 rounded hover:bg-muted text-muted-foreground hover:text-destructive transition-colors",title:"Delete",children:(0,n.jsx)(_.A,{className:"h-3.5 w-3.5"})})]})]},e.id))}),r&&s.length>0&&(0,n.jsx)("div",{className:"mt-4 pt-4 border-t",children:(0,n.jsxs)(Q.$,{variant:"default",size:"sm",className:"w-full",onClick:()=>{o(),t(!1)},children:[(0,n.jsx)(ed.A,{className:"h-3.5 w-3.5 mr-2"}),"Resume queue"]})})]})}):null}let em=[{value:"haiku",label:"Haiku"},{value:"sonnet",label:"Sonnet"},{value:"opus",label:"Opus"}];function ex(e,t){let s=e.replace(/\[.*\]$/,"");if("opus"===s||"sonnet"===s||"haiku"===s)return{alias:s,entry:(0,u.zQ)(s)??null,contextSize:t};let n=(0,u.bs)(s)??null;return{alias:n?.alias??null,entry:n,contextSize:t}}function ep(e){return 1===(0,u.r5)(e.alias).length&&e.isDefault?e.alias:e.modelId}let eh=[{value:"low",label:"Low"},{value:"medium",label:"Medium"},{value:"high",label:"High"},{value:"xhigh",label:"XHigh"},{value:"max",label:"Max"}],ef=new Set(["image/png","image/jpeg","image/gif","image/webp"]),eg=new Set([".txt",".md",".py",".js",".ts",".tsx",".jsx",".json",".csv",".xml",".yaml",".yml",".html",".css",".log",".sh",".go",".rs",".java",".c",".cpp",".h",".rb",".swift",".kt",".toml",".cfg",".ini",".env",".sql",".r",".lua",".pl",".php"]);function eb(e){return new Promise(t=>{let s=new FileReader;s.onload=()=>{t(s.result.split(",")[1]||null)},s.onerror=()=>t(null),s.readAsDataURL(e)})}let ev=["image/*",".pdf",...Array.from(eg)].join(","),ej=new Map;function ew({sessionId:e,promptHistory:t=[],onSend:s,onInterrupt:a,isResponding:l,bypassActive:o,onSetBypass:i,planMode:d,onSetPlanMode:m,thinkingLevel:p,onSetThinking:h,currentModel:f,currentContextSize:g,onSetModel:O,contextUsage:W,dismissKeyboard:B,cwd:H,onCompact:K,initData:V,hasQueuedMessage:G,queuedMessages:es,queuePaused:er,onDeleteQueued:ea,onEditQueued:eo,onResumeQueue:ec,restoredText:ed,onClearRestoredText:ey,btw:ek,onDismissBtw:eN,currentRuntime:eC,onSetRuntime:eS,onRestart:eA,providers:e$}){let eI,eq,eD,eE,e_,eT,eM,eR,eU,eP,ez,eL,eF,{connected:eO}=(0,x.h)(),[eW,eB]=(0,c.useState)(()=>ej.get(e)||""),[eH,eQ]=(0,c.useState)(!1),[eJ,eK]=(0,c.useState)(!1);(0,c.useEffect)(()=>{eB(ej.get(e)||"")},[e]),(0,c.useEffect)(()=>{ej.set(e,eW)},[e,eW]),(0,c.useEffect)(()=>{ed&&(eB(ed),ey?.(),tc.current?.focus())},[ed,ey]);let[eY,eV]=(0,c.useState)(!1),[eG,eX]=(0,c.useState)(0),[eZ,e0]=(0,c.useState)(!1),[e1,e5]=(0,c.useState)("model"),[e3,e2]=(0,c.useState)("anthropic"),[e4,e8]=(0,c.useState)(0),[e6,e7]=(0,c.useState)(0),[e9,te]=(0,c.useState)([]),[tt,ts]=(0,c.useState)([]),[tn,tr]=(0,c.useState)([]),[ta,tl]=(0,c.useState)(!1),[to,ti]=(0,c.useState)(null),tc=(0,c.useRef)(null),td=(0,c.useRef)(null),tu=(0,c.useRef)([]),tm=(0,c.useRef)([]),tx=(0,c.useRef)(!1),tp=(eI=eW.slice(0,e6).match(/(?:^|\s)\/([^\s]*)$/))?{active:!0,query:eI[1],start:e6-1-eI[1].length}:{active:!1,query:"",start:0},th=tp.active,tf=tp.query,tg=(eq=eW.slice(0,e6).match(/@([^\s]*)$/))?{active:!0,query:eq[1],start:e6-eq[0].length}:{active:!1,query:"",start:0},tb=!th&&tg.active&&!!H,tv=(0,c.useCallback)(e=>{let t=eW.slice(0,tp.start),s=eW.slice(e6);eB(t+e.command+" "+s),eX(0);let n=tp.start+e.command.length+1;e7(n),requestAnimationFrame(()=>{let e=tc.current;e&&(e.focus(),e.setSelectionRange(n,n))})},[eW,tp.start,e6]),tj=(0,c.useCallback)(e=>{eB(eW.slice(0,tg.start)+"@"+e+" "+eW.slice(e6)),e8(0);let t=tg.start+1+e.length+1;e7(t),requestAnimationFrame(()=>{let e=tc.current;e&&(e.focus(),e.setSelectionRange(t,t))})},[eW,tg.start,e6]),tw=e9.length>0||tt.length>0||tn.length>0,ty=(0,c.useCallback)(()=>{let e=eW.trim();if((e||tw)&&eO){if(/^\/mcp\s*$/i.test(e)){eB(""),eK(!0);return}s(e,e9.length>0?e9:void 0,tt.length>0?tt:void 0,tn.length>0?tn:void 0),eB(""),te([]),ts([]),tr([]),eX(0),tc.current&&(tc.current.style.height="auto",B&&"ontouchstart"in window?tc.current.blur():tc.current.focus())}},[eW,tw,e9,tt,tn,s,B,eO]),tk=(0,c.useCallback)(e=>{if(th){let t=tm.current;if(t.length>0){if("ArrowDown"===e.key){e.preventDefault(),eX(e=>(e+1)%t.length);return}if("ArrowUp"===e.key){e.preventDefault(),eX(e=>(e-1+t.length)%t.length);return}if("Enter"===e.key||"Tab"===e.key){e.preventDefault(),tv(t[eG]);return}}if("Escape"===e.key){e.preventDefault(),e.stopPropagation(),eB(eW.slice(0,tp.start)+eW.slice(e6));let t=tp.start;e7(t),requestAnimationFrame(()=>{let e=tc.current;e&&e.setSelectionRange(t,t)});return}}if(tb&&tu.current.length>0){let t=tu.current.length;if("ArrowDown"===e.key){e.preventDefault(),e8(e=>(e+1)%t);return}if("ArrowUp"===e.key){e.preventDefault(),e8(e=>(e-1+t)%t);return}if("Enter"===e.key||"Tab"===e.key){e.preventDefault(),tj(tu.current[e4].value);return}if("Escape"===e.key){e.preventDefault(),e.stopPropagation(),eB(eW.slice(0,tg.start)+eW.slice(e6));let t=tg.start;e7(t),requestAnimationFrame(()=>{let e=tc.current;e&&e.setSelectionRange(t,t)});return}}if("Tab"===e.key&&!e.shiftKey){e.preventDefault(),m(!d);return}if("Escape"===e.key&&l){e.preventDefault(),a();return}if("ArrowUp"===e.key&&!eW.trim()&&t.length>0){e.preventDefault(),eV(!0);return}"Enter"!==e.key||e.shiftKey||tx.current||(e.preventDefault(),ty())},[th,tb,eG,e4,ty,tv,tj,eW,tg.start,tp.start,e6,l,a,d,m,t]),tN=(0,c.useCallback)(()=>{let e=tc.current;e&&(e.style.height="auto",e.style.height=Math.min(e.scrollHeight,200)+"px")},[]),tC=(0,c.useRef)(0),tS=(0,c.useCallback)(e=>{tC.current+=1;let t=tC.current,s=t>1?`-${t}`:"",n=`paste${s}`;tr(t=>[...t,{name:n,content:e}]),en(e).then(t=>{if(!t)return;let r=ee[t];if(!r)return;let a=`paste${s}.${r}`;tr(s=>s.map(s=>s.name===n&&s.content===e?{...s,name:a,language:t}:s))})},[]),tA=(0,c.useCallback)(e=>{let t=e.target.value,s=t.length-eW.length;if(s>0){let n=e.target.selectionStart??t.length,r=t.slice(n-s,n);if(et(r)){let e=t.slice(0,n-s);eB(e+t.slice(n)),tS(r),e7(e.length),eX(0),e8(0);return}}eB(t),e7(e.target.selectionStart??0),eX(0),e8(0)},[eW,tS]),t$=(0,c.useCallback)(async e=>{for(let t of e)if(ef.has(t.type)){let e=await function(e){return e.size<=35e5?eb(e).then(t=>t?{mediaType:e.type,data:t}:null):function(e){return new Promise(t=>{let s=URL.createObjectURL(e),n=new Image;n.onload=()=>{URL.revokeObjectURL(s);let r=document.createElement("canvas"),a=Math.sqrt(35e5/e.size),l=Math.round(n.width*a),o=Math.round(n.height*a);r.width=l,r.height=o;let i=r.getContext("2d");if(!i)return void t(null);i.drawImage(n,0,0,l,o);let c=.85,d=r.toDataURL("image/jpeg",c).split(",")[1]||"";for(;d.length>45e5&&c>.3;)c-=.1,d=r.toDataURL("image/jpeg",c).split(",")[1]||"";t({mediaType:"image/jpeg",data:d})},n.onerror=()=>{URL.revokeObjectURL(s),t(null)},n.src=s})}(e)}(t);e&&te(t=>[...t,e])}else if("application/pdf"===t.type){let e=await eb(t);e&&ts(s=>[...s,{mediaType:"application/pdf",data:e,name:t.name}])}else if(eg.has(function(e){let t=e.lastIndexOf(".");return t>=0?e.slice(t).toLowerCase():""}(t.name))||t.type.startsWith("text/")){let e=await function(e){return new Promise(t=>{let s=new FileReader;s.onload=()=>t(s.result),s.onerror=()=>t(null),s.readAsText(e)})}(t);null!==e&&tr(s=>[...s,{name:t.name,content:e}])}},[]),tI=(0,c.useCallback)(e=>{tx.current=!0,requestAnimationFrame(()=>{tx.current=!1});let t=e.clipboardData?.items;if(!t)return;let s=[];for(let e=0;e<t.length;e++){let n=t[e];if("file"===n.kind){let e=n.getAsFile();e&&s.push(e)}}if(0===s.length&&e.clipboardData?.files?.length)for(let t=0;t<e.clipboardData.files.length;t++)s.push(e.clipboardData.files[t]);if(0===s.length){let t=e.clipboardData?.getData("text/html");if(t){let e=t.match(/<img[^>]+src="(data:image\/[^;]+;base64,[^"]+)"/);if(e){let[t,n]=e[1].split(","),r=t.match(/data:([^;]+)/);if(r&&n){let e=r[1],t=atob(n),a=new Uint8Array(t.length);for(let e=0;e<t.length;e++)a[e]=t.charCodeAt(e);let l=new Blob([a],{type:e});s.push(new File([l],`pasted-image.${e.split("/")[1]||"png"}`,{type:e}))}}}}if(s.length>0){e.preventDefault(),t$(s);return}let n=e.clipboardData?.getData("text/plain");n&&et(n)&&(e.preventDefault(),tS(n))},[t$,tS]),tq=(0,c.useCallback)(e=>{e.preventDefault(),tl(!0)},[]),tD=(0,c.useCallback)(e=>{e.preventDefault(),tl(!1)},[]),tE=(0,c.useCallback)(e=>{e.preventDefault(),tl(!1);let t=[];if(e.dataTransfer?.files)for(let s=0;s<e.dataTransfer.files.length;s++)t.push(e.dataTransfer.files[s]);t.length>0&&t$(t)},[t$]),t_=(0,c.useCallback)(e=>{te(t=>t.filter((t,s)=>s!==e))},[]),tT=(0,c.useCallback)(e=>{ts(t=>t.filter((t,s)=>s!==e))},[]),tM=(0,c.useCallback)(e=>{tr(t=>t.filter((t,s)=>s!==e))},[]),tR=(0,c.useCallback)(()=>{td.current?.click()},[]),tU=(0,c.useCallback)(e=>{let t=e.target.files;t&&0!==t.length&&(t$(Array.from(t)),e.target.value="")},[t$]);return(0,n.jsxs)("div",{className:`border-t bg-background px-1 pt-2 pb-1 ${ta?"ring-2 ring-primary ring-inset":""}`,onDragOver:tq,onDragLeave:tD,onDrop:tE,children:[(0,n.jsxs)("div",{className:"mx-auto max-w-3xl",children:[ek&&(0,n.jsxs)("div",{className:"mb-2 rounded-md border border-input bg-muted/50 p-2",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between mb-1",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,n.jsx)(b.A,{className:"h-3.5 w-3.5"}),(0,n.jsx)("span",{children:"Side question"})]}),(0,n.jsx)("button",{onClick:eN,className:"text-muted-foreground hover:text-foreground",children:(0,n.jsx)(v.A,{className:"h-3.5 w-3.5"})})]}),(0,n.jsx)("p",{className:"text-sm font-medium px-1 mb-1",children:ek.question}),ek.loading&&(0,n.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground px-1 py-1",children:[(0,n.jsx)(r.A,{className:"h-3.5 w-3.5 animate-spin"}),(0,n.jsx)("span",{children:"Thinking..."})]}),ek.error&&(0,n.jsx)("p",{className:"text-xs text-destructive px-1",children:ek.error}),ek.answer&&(0,n.jsx)(F.Y,{variant:"lite",content:ek.answer,className:"text-xs px-1 border-t pt-1 max-h-48 overflow-y-auto"})]}),eZ&&(eD=ex(f,g),eE=[{id:"anthropic",name:"Anthropic"},...(e$||[]).filter(e=>!e.isBuiltin).map(e=>({id:e.id,name:e.name}))],eT=(e_=eD.alias?(0,u.r5)(eD.alias):[]).length>1,eM=(e,t)=>f===t.modelId||f===`${e.id}:${t.modelId}`,eR=(()=>{if(eD.entry)return eD.entry.contextSizes;if(!e$||!f)return[];for(let e of e$){let t=e.models.find(t=>eM(e,t));if(t)return t.contextSizes??[]}return[]})(),eP=new Set((eU=(()=>{if(!e$||!f)return[];for(let e of e$){let t=e.models.find(t=>eM(e,t));if(t)return t.effortLevels??[]}return[]})()).length>0?eU:(0,u.iz)(eD.entry)),ez=eh.filter(e=>eP.has(e.value)),(0,n.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onMouseDown:e=>{e.target===e.currentTarget&&e0(!1)},children:(0,n.jsxs)("div",{className:"w-full max-w-xl mx-4 rounded-lg border bg-background shadow-lg overflow-hidden flex flex-col max-h-[85vh]",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b shrink-0",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(j.A,{className:"h-4 w-4"}),(0,n.jsx)("h2",{className:"text-sm font-semibold",children:"Session settings"})]}),(0,n.jsx)("button",{onClick:()=>e0(!1),className:"rounded p-1 text-muted-foreground hover:text-foreground hover:bg-muted",children:(0,n.jsx)(v.A,{className:"h-4 w-4"})})]}),(0,n.jsxs)("div",{className:"flex flex-1 min-h-0",children:[(0,n.jsxs)("aside",{className:"w-28 border-r shrink-0 p-2 flex flex-col gap-1",children:[(0,n.jsxs)("button",{onClick:()=>e5("model"),className:`flex items-center gap-2 px-3 py-2 rounded text-xs font-medium transition-colors ${"model"===e1?"bg-primary/10 text-primary border-l-2 border-primary":"text-muted-foreground hover:text-foreground hover:bg-muted border-l-2 border-transparent"}`,children:[(0,n.jsx)(w.A,{className:"h-3.5 w-3.5"}),"Model"]}),(0,n.jsxs)("button",{onClick:()=>e5("runtime"),className:`flex items-center gap-2 px-3 py-2 rounded text-xs font-medium transition-colors ${"runtime"===e1?"bg-primary/10 text-primary border-l-2 border-primary":"text-muted-foreground hover:text-foreground hover:bg-muted border-l-2 border-transparent"}`,children:[(0,n.jsx)(y.A,{className:"h-3.5 w-3.5"}),"Harness"]})]}),(0,n.jsxs)("div",{className:"flex-1 overflow-y-auto p-4 space-y-4 min-h-[320px]",children:["model"===e1&&(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(k.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,n.jsx)("span",{className:"text-xs font-medium text-foreground",children:"Provider"})]}),(0,n.jsx)("select",{value:e3,onChange:e=>e2(e.target.value),className:"rounded border border-input bg-background px-2 py-1 text-xs focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",children:eE.map(e=>(0,n.jsx)("option",{value:e.id,children:e.name},e.id))})]}),"anthropic"===e3?(0,n.jsx)("div",{className:"space-y-0.5",children:em.map(e=>{let t=(0,u.zQ)(e.value),s=eD.alias===e.value;return(0,n.jsxs)("button",{onClick:()=>{var t;let s;return O((t=e.value,(s=(0,u.zQ)(t))?ep(s):t))},className:`flex w-full items-center gap-3 rounded px-3 py-2 text-xs transition-colors ${s?"bg-primary/10 text-primary":"hover:bg-muted text-foreground"}`,children:[(0,n.jsx)("div",{className:"w-3 shrink-0",children:s?(0,n.jsx)(N.A,{className:"h-3 w-3"}):(0,n.jsx)("div",{className:"h-3 w-3 rounded-full border border-muted-foreground/40"})}),(0,n.jsx)("span",{className:"font-mono font-medium",children:e.label}),t&&(0,n.jsx)("span",{className:"text-muted-foreground ml-auto",children:t.modelId})]},e.value)})}):(eL=e$?.find(e=>e.id===e3))?(0,n.jsx)("div",{className:"space-y-0.5",children:eL.models.map(e=>{let t=`${eL.id}:${e.modelId}`,s=f===t||f===e.modelId;return(0,n.jsxs)("button",{onClick:()=>O(t),className:`flex w-full items-center gap-3 rounded px-3 py-2 text-xs transition-colors ${s?"bg-primary/10 text-primary":"hover:bg-muted text-foreground"}`,children:[(0,n.jsx)("div",{className:"w-3 shrink-0",children:s?(0,n.jsx)(N.A,{className:"h-3 w-3"}):(0,n.jsx)("div",{className:"h-3 w-3 rounded-full border border-muted-foreground/40"})}),(0,n.jsx)("span",{className:"font-mono font-medium",children:e.modelId}),(0,n.jsx)("span",{className:"text-muted-foreground ml-auto",children:e.displayName})]},e.modelId)})}):null,eT&&(0,n.jsxs)("div",{className:"flex items-center gap-2 pt-1",children:[(0,n.jsx)(C.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:"Version"}),(0,n.jsx)("div",{className:"ml-auto flex gap-1",children:e_.map(e=>(0,n.jsx)("button",{onClick:()=>O(ep(e)),className:`rounded px-2 py-0.5 text-xs transition-colors ${eD.entry?.modelId===e.modelId?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:e.version},e.modelId))})]}),eR.length>=2&&(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(S.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:"Context"}),(0,n.jsx)("div",{className:"ml-auto flex gap-1",children:eR.map(e=>(0,n.jsx)("button",{onClick:()=>O(f,e),className:`rounded px-2 py-0.5 text-xs transition-colors ${eD.contextSize===e?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:u.XR[e].label},e))})]}),eP.size>0&&(0,n.jsxs)("div",{className:"flex items-start gap-2",children:[(0,n.jsx)(w.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0 mt-0.5"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground py-0.5 shrink-0",children:"Thinking"}),(0,n.jsx)("div",{className:"ml-auto flex flex-wrap gap-1 justify-end",children:ez.map(e=>(0,n.jsx)("button",{onClick:()=>h(e.value),"data-testid":`thinking-${e.value}`,className:`rounded px-2 py-0.5 text-xs transition-colors ${p===e.value?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:e.label},e.value))})]})]}),"runtime"===e1&&(0,n.jsxs)("div",{className:"space-y-5",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(y.A,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:"Agent harness:"}),(0,n.jsx)("span",{className:"text-xs font-medium text-foreground",children:"Claude Code"})]}),eS&&(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)(A.A,{className:"h-3.5 w-3.5 text-muted-foreground shrink-0"}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:"Backend"}),(0,n.jsxs)("div",{className:"ml-auto flex gap-1",children:[(0,n.jsx)("button",{onClick:()=>eS("pty"),"data-testid":"runtime-pty",className:`rounded px-2 py-0.5 text-xs transition-colors ${"pty"===eC?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:"PTY"}),(0,n.jsx)("button",{onClick:()=>eS("stream"),"data-testid":"runtime-stream",className:`rounded px-2 py-0.5 text-xs transition-colors ${"stream"===eC?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:"Stream"})]})]}),(0,n.jsxs)("button",{onClick:()=>{eA?.(),e0(!1)},className:"flex w-full items-center justify-center gap-2 rounded-lg border border-border px-4 py-2.5 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors",children:[(0,n.jsx)($.A,{className:"h-3.5 w-3.5"}),"Restart agent harness"]}),(0,n.jsxs)("button",{onClick:()=>i(!o),className:"flex w-full items-center justify-between rounded-lg border border-border px-4 py-3 text-xs hover:bg-muted/50 transition-colors",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[o?(0,n.jsx)(I.A,{className:"h-4 w-4 text-orange-500"}):(0,n.jsx)(q.A,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsx)("span",{className:o?"text-orange-500 font-medium":"text-muted-foreground",children:"Bypass all permissions"})]}),(0,n.jsx)("span",{className:`inline-flex h-5 w-9 items-center rounded-full transition-colors shrink-0 ${o?"bg-orange-500":"bg-muted-foreground/30"}`,children:(0,n.jsx)("span",{className:`inline-block h-4 w-4 rounded-full bg-white transition-transform shadow-sm ${o?"translate-x-4.5":"translate-x-0.5"}`})})]}),V?.mcpServers&&V.mcpServers.length>0&&(0,n.jsxs)("button",{onClick:()=>eK(!0),className:"flex w-full items-center justify-between rounded-lg border border-border px-4 py-3 text-xs hover:bg-muted/50 transition-colors",children:[(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsx)(D.A,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsx)("span",{className:"text-muted-foreground",children:"MCP Servers"})]}),(0,n.jsxs)("span",{className:"flex items-center gap-1 text-muted-foreground",children:[V.mcpServers.filter(e=>"connected"===e.status).length,"/",V.mcpServers.length,(0,n.jsx)(E.A,{className:"h-3 w-3"})]})]})]})]})]}),(0,n.jsx)("div",{className:"flex items-center justify-end px-5 py-3 border-t shrink-0",children:(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsx)("button",{onClick:()=>e0(!1),className:"px-3 py-1.5 text-xs rounded-md border border-input text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",children:"Cancel"}),(0,n.jsx)("button",{onClick:()=>e0(!1),className:"px-4 py-1.5 text-xs rounded-md bg-primary text-primary-foreground hover:brightness-110 transition-all",children:"Done"})]})})]})})),tw&&(0,n.jsxs)("div",{className:"mb-1 flex gap-2 flex-wrap px-9",children:[e9.map((e,t)=>(0,n.jsxs)("div",{className:"relative group",children:[(0,n.jsx)("img",{src:`data:${e.mediaType};base64,${e.data}`,className:"h-16 rounded border object-contain cursor-pointer",alt:"",onClick:()=>ti({type:"image",src:`data:${e.mediaType};base64,${e.data}`,index:t})}),(0,n.jsx)("button",{onClick:()=>t_(t),className:"absolute top-0.5 right-0.5 opacity-0 group-hover:opacity-100 transition-opacity text-destructive",children:(0,n.jsx)(_.A,{className:"h-3.5 w-3.5"})})]},`img-${t}`)),tt.map((e,t)=>(0,n.jsxs)("div",{className:"relative group flex items-center gap-1.5 rounded border px-2 py-1 text-xs bg-muted h-16",children:[(0,n.jsx)(T.A,{className:"h-4 w-4 text-red-500 shrink-0"}),(0,n.jsx)("span",{className:"truncate max-w-[120px]",children:e.name}),(0,n.jsx)("button",{onClick:()=>tT(t),className:"absolute top-0.5 right-0.5 opacity-0 group-hover:opacity-100 transition-opacity text-destructive",children:(0,n.jsx)(_.A,{className:"h-3.5 w-3.5"})})]},`doc-${t}`)),tn.map((e,t)=>(0,n.jsxs)("div",{className:"relative group flex items-center gap-1.5 rounded border px-2 py-1 text-xs bg-muted h-16 cursor-pointer",onClick:()=>ti({type:"text",content:e.content,name:e.name,index:t}),children:[(0,n.jsx)(T.A,{className:"h-4 w-4 text-muted-foreground shrink-0"}),(0,n.jsx)("span",{className:"truncate max-w-[120px]",children:e.name}),(0,n.jsx)("button",{onClick:e=>{e.stopPropagation(),tM(t)},className:"absolute top-0.5 right-0.5 opacity-0 group-hover:opacity-100 transition-opacity text-destructive",children:(0,n.jsx)(_.A,{className:"h-3.5 w-3.5"})})]},`txt-${t}`))]}),G&&(0,n.jsxs)("button",{type:"button",onClick:()=>eQ(!0),className:"mb-2 mx-9 flex items-center gap-2 rounded-md border border-dashed px-3 py-1.5 text-xs hover:bg-muted transition-colors cursor-pointer",children:[(0,n.jsx)(b.A,{className:`h-3.5 w-3.5 shrink-0 ${er?"text-yellow-500":"text-primary"}`}),(0,n.jsxs)("span",{className:er?"text-yellow-500":"text-muted-foreground",children:[es?.length??0," message",(es?.length??0)!==1?"s":""," ",er?"paused":"queued"]}),(0,n.jsx)("span",{className:"text-muted-foreground/50 ml-auto",children:"click to manage"})]}),(0,n.jsxs)("div",{className:"relative flex items-stretch gap-1",children:[th&&(0,n.jsx)(X,{query:tf,selectedIndex:eG,onSelect:tv,cwd:H,onItemsChange:e=>{tm.current=e},initCommands:V?.slashCommands}),tb&&H&&(0,n.jsx)(Y,{query:tg.query,cwd:H,selectedIndex:e4,onSelect:tj,onItemsChange:e=>{tu.current=e},initAgents:V?.agents}),(0,n.jsx)("input",{ref:td,type:"file",accept:ev,multiple:!0,onChange:tU,className:"hidden"}),(0,n.jsxs)("div",{className:"flex flex-col items-center justify-evenly w-8 shrink-0",children:[W&&(0,n.jsx)(el,{usage:W,onCompact:K}),(0,n.jsx)(Q.$,{size:"icon",variant:"ghost","data-testid":"btn-session-settings",className:`h-8 w-8 ${o?"text-orange-500":""}`,onClick:()=>e0(e=>{if(!e)if(ex(f,g).alias)e2("anthropic");else{let e=e$?.find(e=>e.models.some(e=>e.modelId===f));e2(e?.id??"anthropic")}return!e}),children:(0,n.jsx)(j.A,{className:"h-4 w-4"})})]}),(0,n.jsxs)("div",{className:"relative flex-1 mr-1",children:[(0,n.jsx)("textarea",{ref:tc,"data-testid":"message-input",value:eW,onChange:tA,onKeyDown:tk,onInput:tN,onPaste:tI,placeholder:G?er?"Queue paused (send to discard, or manage in modal)":"Message queued (Esc to interrupt)":l?"Use /btw to nudge, or type to queue...":d?"Plan with Claude...":"Send a message...",rows:2,className:`w-full resize-none rounded-md border bg-background px-3 py-2 pb-7 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 overflow-y-auto scrollbar-none ${d?"border-blue-500/50 focus-visible:ring-blue-500/50":"border-input focus-visible:ring-ring"}`}),(0,n.jsx)("button",{onClick:tR,title:"Attach file",className:"absolute bottom-2.5 right-1.5 rounded p-1 text-muted-foreground hover:text-foreground hover:bg-muted transition-colors disabled:opacity-50",children:(0,n.jsx)(M.A,{className:"h-4 w-4"})})]}),(0,n.jsxs)("div",{className:"flex flex-col items-center justify-center w-12 shrink-0 overflow-visible",children:[eO?!l||eW.trim()||tw?(0,n.jsx)(Q.$,{size:"icon",className:"h-8 w-8",onClick:ty,disabled:!eW.trim()&&!tw,"data-testid":"btn-send",children:(0,n.jsx)(U.A,{className:"h-4 w-4"})}):(0,n.jsx)(Q.$,{size:"icon",variant:"destructive",className:"h-8 w-8",onClick:()=>a(),children:(0,n.jsx)(R.A,{className:"h-4 w-4"})}):(0,n.jsx)(Q.$,{size:"icon",variant:"ghost",className:"h-8 w-8",disabled:!0,title:"Connecting...",children:(0,n.jsx)(r.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}),(0,n.jsxs)("button",{onClick:()=>m(!d),title:d?"Switch to Build mode (Tab)":"Switch to Plan mode (Tab)",className:`mt-4 flex items-center gap-0.5 whitespace-nowrap rounded-full px-1.5 py-0.5 text-[10px] font-medium transition-colors ${d?"bg-blue-500/15 text-blue-500 hover:bg-blue-500/25":"bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground"}`,children:[d?(0,n.jsx)(P.A,{className:"h-2.5 w-2.5"}):(0,n.jsx)(z.A,{className:"h-2.5 w-2.5"}),d?"Plan":"Build"]})]})]})]}),(0,n.jsx)(Z.lG,{open:null!==to,onOpenChange:()=>ti(null),className:"max-w-3xl",children:(0,n.jsxs)(Z.Cf,{className:"max-h-[80vh] overflow-auto",onClose:()=>ti(null),onDelete:()=>{to&&("image"===to.type?t_(to.index):tM(to.index),ti(null))},children:[to?.type==="image"&&(0,n.jsx)("img",{src:to.src,className:"w-full rounded object-contain",alt:""}),to?.type==="text"&&((eF=(0,L.WG)(to.name))?(0,n.jsx)(L.NG,{code:to.content,language:eF,fullHeight:!0}):(0,n.jsx)("pre",{className:"whitespace-pre-wrap text-sm font-mono",children:to.content}))]})}),(0,n.jsx)(eu,{open:eH,onOpenChange:eQ,messages:es??[],paused:er??!1,onDelete:ea??(()=>{}),onEdit:eo??(()=>{}),onResume:ec??(()=>{})}),(0,n.jsx)(J,{open:eJ,onOpenChange:eK,sessionId:e,initData:V}),(0,n.jsx)(ei,{open:eY,prompts:t,onSelect:e=>{eV(!1),eB(e),requestAnimationFrame(()=>tc.current?.focus())},onClose:()=>{eV(!1),requestAnimationFrame(()=>tc.current?.focus())}})]})}var ey=s(513);function ek({currentModel:e,currentContextSize:t,onSelect:s,providers:r,slot:a}){let l=function(e){let t=[];for(let s of e)for(let e of s.models){let n=e.effortLevels.length>0?`Thinking: ${e.effortLevels.join(", ")}`:"No thinking";t.push({key:`${s.id}::${e.modelId}`,value:e.modelId,label:e.displayName,description:n,providerId:s.id,providerName:s.name,sizes:e.contextSizes})}return t}(r),o="";return(0,n.jsx)("div",{className:"mx-auto max-w-3xl",children:(0,n.jsxs)("div",{className:"rounded-lg border border-border bg-card p-4 space-y-1",children:[(0,n.jsxs)("div",{className:"flex items-baseline justify-between pb-2",children:[(0,n.jsx)("div",{className:"text-sm font-medium",children:a?`Switch ${a} model`:"Switch model"}),(0,n.jsxs)("div",{className:"text-xs text-muted-foreground font-mono",children:["Current: ",e]})]}),l.map(r=>{let a=r.providerName!==o;o=r.providerName;let l=r.value===e;return(0,n.jsxs)("div",{children:[a&&(0,n.jsx)("div",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider pt-3 pb-1 px-3",children:r.providerName}),(0,n.jsxs)("button",{onClick:()=>s(r.value),className:`w-full flex items-center gap-3 rounded-md px-3 py-2 text-left text-sm transition-colors ${l?"bg-primary/10 text-primary":"hover:bg-muted text-foreground"}`,children:[(0,n.jsx)("div",{className:"w-4 shrink-0",children:l&&(0,n.jsx)(N.A,{className:"h-4 w-4"})}),(0,n.jsx)("span",{className:"font-mono font-bold",children:r.value}),(0,n.jsx)("span",{className:"text-muted-foreground",children:r.label}),(0,n.jsx)("span",{className:"text-muted-foreground ml-auto text-xs",children:r.description})]}),r.sizes.length>=2&&(0,n.jsx)("div",{className:"flex gap-1 pl-10 pt-1 pb-2",children:r.sizes.map(a=>(0,n.jsx)("button",{onClick:()=>s(r.value,a),className:`rounded px-2 py-0.5 text-xs transition-colors ${r.value===e&&t===a?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:text-foreground"}`,children:u.XR[a].label},a))})]},r.key)})]})})}var eN=s(69203);let eC={session:"session",localSettings:"project (local)",projectSettings:"project",userSettings:"global",cliArg:"session"};function eS({permission:e,onRespond:t}){let s=(0,c.useRef)(null);(0,c.useEffect)(()=>{s.current?.focus()},[]);let r=(0,c.useMemo)(()=>{if(!e.input)return{};try{return JSON.parse(e.input)}catch{return{}}},[e.input]),a=function(e,t){switch(e){case"Bash":case"bash":{let e=t.command||"";return e.length>80?e.slice(0,80)+"...":e}case"Write":case"write":case"Edit":case"edit":case"Read":case"read":{let e=t.file_path||"";return e?(0,h._1)(e):""}default:return""}}(e.toolName,r),l=e.suggestions,o=l&&l.length>0;return(0,n.jsx)("div",{className:"mx-auto max-w-3xl","data-testid":"permission-prompt",children:(0,n.jsx)("div",{className:"rounded-lg border border-yellow-500/50 bg-yellow-500/10 p-4",children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)(eN.A,{className:"h-5 w-5 shrink-0 text-yellow-500 mt-0.5"}),(0,n.jsxs)("div",{className:"flex-1 min-w-0 space-y-2",children:[(0,n.jsxs)("div",{className:"text-sm font-medium",children:["Permission requested: ",(0,n.jsx)("span",{className:"font-mono",children:e.toolName})]}),a&&(0,n.jsx)("div",{className:"font-mono text-xs text-muted-foreground truncate",children:a}),e.input&&(0,n.jsx)("pre",{className:"overflow-x-auto rounded bg-black/10 dark:bg-white/5 p-2 text-[11px] leading-relaxed max-h-32 overflow-y-auto",children:e.input.length>500?e.input.slice(0,500)+"\n... (truncated)":e.input}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2 pt-1",children:[(0,n.jsx)("button",{ref:s,onClick:()=>t(e.requestId,!0,"allow"),className:"rounded bg-primary px-3 py-1 text-xs font-medium text-primary-foreground hover:bg-primary/90","data-testid":"btn-allow",children:"Allow"}),o?l.map((s,r)=>(0,n.jsx)("button",{onClick:()=>t(e.requestId,!0,"allow_always",r),className:"rounded bg-primary/70 px-3 py-1 text-xs font-medium text-primary-foreground hover:bg-primary/60",title:JSON.stringify(s,null,2),children:function(e){let t=eC[e.destination||""]||e.destination||"session";if("setMode"===e.type&&e.mode)return`${e.mode} mode (${t})`;if("addDirectories"===e.type&&e.directories?.length){let s=e.directories[0],n=(0,h.uk)(s)||s;return`Allow dir ${n} (${t})`}if(!e.rules?.length)return`Always allow (${t})`;let s=e.rules[0],n=s.toolName,r=s.ruleContent;if(!r)return`Always ${n} (${t})`;let a=r.length>30?r.slice(0,30)+"...":r;return`${n}(${a}) (${t})`}(s)},r)):(0,n.jsxs)("button",{onClick:()=>t(e.requestId,!0,"allow_always"),className:"rounded bg-primary/70 px-3 py-1 text-xs font-medium text-primary-foreground hover:bg-primary/60",children:["Always for ",e.toolName]}),(0,n.jsx)("button",{onClick:()=>t(e.requestId,!0,"allow_all"),className:"rounded bg-orange-600 px-3 py-1 text-xs font-medium text-white hover:bg-orange-700",children:"Bypass All"}),(0,n.jsx)("button",{onClick:()=>t(e.requestId,!1,"deny"),className:"rounded bg-muted px-3 py-1 text-xs font-medium text-muted-foreground hover:bg-muted/80",children:"Deny"})]})]})]})})})}var eA=s(36672),e$=s(52750),eI=s(89723);let eq=[{label:"Yes, clear context and auto-accept edits",clearContext:!0,autoAccept:!0},{label:"Yes, clear context and manually approve edits",clearContext:!0,autoAccept:!1},{label:"Yes, auto-accept edits",clearContext:!1,autoAccept:!0},{label:"Yes, manually approve edits",clearContext:!1,autoAccept:!1}],eD=[{label:"Yes, clear context and implement",clearContext:!0,autoAccept:!0},{label:"Yes, continue implementing",clearContext:!1,autoAccept:!0}];function eE({permission:e,bypassActive:t,onRespond:s,onSendMessage:r,onSetBypass:a,onSetPlanMode:l}){let o=t?eD:eq,[i,d]=(0,c.useState)(0),[u,m]=(0,c.useState)(!1),[x,p]=(0,c.useState)(""),[h,f]=(0,c.useState)(!1),g=(0,c.useRef)(null),b=(0,c.useRef)(null),v=(0,c.useMemo)(()=>{if(!e.input)return[];try{return JSON.parse(e.input).allowedPrompts||[]}catch{return[]}},[e.input]);(0,c.useEffect)(()=>{g.current?.focus()},[]),(0,c.useEffect)(()=>{u&&b.current?.focus()},[u]);let j=(0,c.useCallback)(t=>{let n=o[t];if(n.autoAccept&&a(!0),n.clearContext){let t=e.planFilePath?` at ${e.planFilePath}`:"";s(e.requestId,!1,"deny"),l(!1),setTimeout(()=>{r("/clear"),setTimeout(()=>r(`Implement the plan${t}`),200)},100)}else s(e.requestId,!0,"allow")},[o,e.requestId,e.planFilePath,s,r,a,l]),w=(0,c.useCallback)(()=>{s(e.requestId,!1,"deny"),setTimeout(()=>l(!0),100)},[e.requestId,s,l]),y=(0,c.useCallback)(()=>{let t=x.trim();t&&(s(e.requestId,!1,"deny"),setTimeout(()=>r(t),100))},[x,e.requestId,s,r]),k=(0,c.useCallback)(e=>{if(u)return void("Escape"===e.key?(e.preventDefault(),m(!1),g.current?.focus()):"Enter"!==e.key||e.shiftKey||(e.preventDefault(),y()));if("Escape"===e.key){e.preventDefault(),w();return}"ArrowUp"===e.key||"k"===e.key?(e.preventDefault(),d(e=>Math.max(0,e-1))):"ArrowDown"===e.key||"j"===e.key?(e.preventDefault(),d(e=>Math.min(o.length+1,e+1))):"Enter"===e.key&&(e.preventDefault(),i===o.length?m(!0):i===o.length+1?w():j(i))},[o,u,i,j,y,w]);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"mx-auto max-w-3xl","data-testid":"plan-approval-prompt",children:(0,n.jsx)("div",{ref:g,tabIndex:-1,onKeyDown:k,className:"rounded-lg border border-blue-500/50 bg-blue-500/10 p-4 outline-none",children:(0,n.jsxs)("div",{className:"flex items-start gap-3",children:[(0,n.jsx)(eA.A,{className:"h-5 w-5 shrink-0 text-blue-500 mt-0.5"}),(0,n.jsxs)("div",{className:"flex-1 min-w-0 space-y-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2",children:[(0,n.jsx)("div",{className:"text-sm font-medium",children:"Would you like to proceed?"}),e.planContent&&(0,n.jsxs)("button",{onClick:()=>f(!0),className:"flex items-center gap-1 rounded px-1.5 py-0.5 text-xs text-blue-500 hover:bg-blue-500/10",children:[(0,n.jsx)(e$.A,{className:"h-3 w-3"}),"View plan"]})]}),v.length>0&&(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("div",{className:"text-xs text-muted-foreground",children:"Permissions requested for implementation:"}),(0,n.jsx)("ul",{className:"text-xs text-muted-foreground space-y-0.5",children:v.map((e,t)=>(0,n.jsxs)("li",{className:"flex items-center gap-1.5 pl-2",children:[(0,n.jsx)("span",{className:"font-mono text-foreground/70",children:e.tool}),(0,n.jsx)("span",{children:e.prompt})]},t))})]}),(0,n.jsxs)("div",{className:"space-y-0.5",children:[o.map((e,t)=>(0,n.jsxs)("button",{onClick:()=>j(t),onMouseEnter:()=>d(t),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-xs transition-colors ${i===t?"bg-blue-600/20 text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,n.jsxs)("span",{className:"shrink-0 font-mono text-blue-500 w-4",children:[t+1,"."]}),(0,n.jsx)("span",{children:e.label}),0===t&&(0,n.jsx)("span",{className:"ml-auto text-[10px] text-muted-foreground hidden sm:inline",children:"default"})]},t)),(0,n.jsxs)("button",{onClick:()=>m(!0),onMouseEnter:()=>d(o.length),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-xs transition-colors ${i===o.length?"bg-blue-600/20 text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,n.jsxs)("span",{className:"shrink-0 font-mono text-blue-500 w-4",children:[o.length+1,"."]}),(0,n.jsx)("span",{children:"Tell Claude what to change"})]}),(0,n.jsxs)("button",{onClick:w,onMouseEnter:()=>d(o.length+1),className:`flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-xs transition-colors ${i===o.length+1?"bg-blue-600/20 text-foreground":"text-muted-foreground hover:text-foreground"}`,children:[(0,n.jsx)("span",{className:"shrink-0 font-mono text-muted-foreground w-4",children:"Esc"}),(0,n.jsx)("span",{children:"Dismiss"})]})]}),u&&(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsx)("textarea",{ref:b,value:x,onChange:e=>p(e.target.value),placeholder:"Describe what you'd like to change about the plan...",className:"w-full rounded border border-border bg-background px-3 py-2 text-xs resize-none focus:outline-none focus:ring-1 focus:ring-blue-500",rows:3}),(0,n.jsxs)("div",{className:"flex gap-2",children:[(0,n.jsxs)("button",{onClick:y,disabled:!x.trim(),className:"flex items-center gap-1.5 rounded bg-blue-600 px-3 py-1.5 text-xs font-medium text-white hover:bg-blue-700 disabled:opacity-50 disabled:cursor-not-allowed",children:[(0,n.jsx)(U.A,{className:"h-3 w-3"}),"Send feedback"]}),(0,n.jsx)("button",{onClick:()=>{m(!1),g.current?.focus()},className:"rounded px-3 py-1.5 text-xs text-muted-foreground hover:bg-muted",children:"Cancel"})]})]})]})]})})}),e.planContent&&e.planFilePath&&(0,n.jsx)(eI.G,{open:h,onOpenChange:f,content:e.planContent,filePath:e.planFilePath})]})}var e_=s(40638),eT=s(67401);function eM(e){try{return JSON.parse(e).questions||[]}catch{return[]}}function eR({tool:e}){let t=(0,c.useMemo)(()=>eM(e.input),[e.input]),s=(0,c.useMemo)(()=>(function(e){let t=new Map;for(let s of e.matchAll(/"([^"]+)"="([^"]+)"/g))t.set(s[1],s[2]);return t})(e.output||""),[e.output]);return 0===t.length?null:(0,n.jsx)("div",{className:"rounded-lg border border-border bg-background/50 p-3 space-y-3",children:t.map((e,t)=>{let r=s.get(e.question),a=r&&!e.options.some(e=>e.label===r);return(0,n.jsxs)("div",{className:"space-y-2",children:[(0,n.jsxs)("div",{className:"text-sm font-medium flex items-center gap-2",children:[(0,n.jsx)(e_.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),e.question]}),(0,n.jsxs)("div",{className:"space-y-0.5 pl-6",children:[e.options.map((e,t)=>{let s=r===e.label;return(0,n.jsxs)("div",{className:`flex w-full items-start gap-2.5 rounded-md px-2.5 py-2 text-xs ${s?"bg-primary/10":""}`,children:[s?(0,n.jsx)(N.A,{className:"h-3.5 w-3.5 shrink-0 mt-0.5 text-primary"}):(0,n.jsx)(eT.A,{className:"h-3.5 w-3.5 shrink-0 mt-0.5 text-muted-foreground/40"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:s?"font-medium text-foreground":"text-muted-foreground",children:e.label}),s&&e.description&&(0,n.jsx)("div",{className:"text-muted-foreground text-[11px] mt-0.5",children:e.description})]})]},t)}),a&&(0,n.jsxs)("div",{className:"flex w-full items-start gap-2.5 rounded-md px-2.5 py-2 text-xs bg-primary/10",children:[(0,n.jsx)(ec.A,{className:"h-3.5 w-3.5 shrink-0 mt-0.5 text-primary"}),(0,n.jsx)("div",{className:"min-w-0",children:(0,n.jsx)("div",{className:"font-medium text-foreground",children:r})})]})]})]},t)})})}let eU="__other__";function eP({questions:e,requestId:t,onSubmit:s}){let[r,a]=(0,c.useState)({}),[l,o]=(0,c.useState)({}),[i,d]=(0,c.useState)(!1),u=(0,c.useRef)({}),m=(0,c.useCallback)((e,t)=>{i||a(s=>({...s,[e]:s[e]===t?"":t}))},[i]),x=(0,c.useCallback)(e=>{i||(a(t=>({...t,[e]:eU})),setTimeout(()=>u.current[e]?.focus(),0))},[i]),p=e.every(e=>{let t=r[e.question];return!!t&&(t!==eU||!!l[e.question]?.trim())}),h=(0,c.useCallback)(()=>{if(!p||i)return;d(!0);let n={};for(let t of e){let e=r[t.question];n[t.question]=e===eU?l[t.question]:e}s(t,n)},[p,i,t,r,l,e,s]);return(0,n.jsx)("div",{className:"rounded-lg border border-border bg-card p-4",children:(0,n.jsxs)("div",{className:"space-y-3",children:[e.map((e,t)=>{let s=r[e.question],a=s===eU;return(0,n.jsxs)("div",{className:"space-y-2",children:[e.header&&(0,n.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-muted-foreground font-medium",children:e.header}),(0,n.jsxs)("div",{className:"text-sm font-medium flex items-center gap-2",children:[(0,n.jsx)(e_.A,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),e.question]}),(0,n.jsxs)("div",{className:"space-y-0.5 pl-6",children:[e.options.map((t,r)=>{let a=s===t.label,l=i?"div":"button";return(0,n.jsxs)(l,{onClick:i?void 0:()=>m(e.question,t.label),className:`flex w-full items-start gap-2.5 rounded-md px-2.5 py-2 text-xs text-left transition-colors ${a?"bg-primary/10":i?"":"hover:bg-muted/50 cursor-pointer"}`,children:[a?(0,n.jsx)(N.A,{className:"h-3.5 w-3.5 shrink-0 mt-0.5 text-primary"}):(0,n.jsx)(eT.A,{className:"h-3.5 w-3.5 shrink-0 mt-0.5 text-muted-foreground/40"}),(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("div",{className:a?"font-medium text-foreground":i?"text-muted-foreground":"text-foreground",children:t.label}),t.description&&(0,n.jsx)("div",{className:"text-muted-foreground text-[11px] mt-0.5",children:t.description})]})]},r)}),i?a&&(0,n.jsxs)("div",{className:"flex w-full items-start gap-2.5 rounded-md px-2.5 py-2 text-xs bg-primary/10",children:[(0,n.jsx)(N.A,{className:"h-3.5 w-3.5 shrink-0 mt-0.5 text-primary"}),(0,n.jsx)("div",{className:"min-w-0",children:(0,n.jsx)("div",{className:"font-medium text-foreground",children:l[e.question]})})]}):(0,n.jsxs)("div",{className:`rounded-md transition-colors ${a?"bg-primary/10":"hover:bg-muted/50"}`,children:[(0,n.jsxs)("button",{type:"button",onClick:()=>x(e.question),className:"flex w-full items-start gap-2.5 px-2.5 py-2 text-xs text-left cursor-pointer",children:[a?(0,n.jsx)(N.A,{className:"h-3.5 w-3.5 shrink-0 mt-0.5 text-primary"}):(0,n.jsx)(eT.A,{className:"h-3.5 w-3.5 shrink-0 mt-0.5 text-muted-foreground/40"}),(0,n.jsx)("div",{className:"min-w-0 flex-1",children:(0,n.jsx)("div",{className:a?"font-medium text-foreground":"text-foreground",children:"Other"})})]}),a&&(0,n.jsx)("div",{className:"px-2.5 pb-2 pl-9",children:(0,n.jsx)("input",{ref:t=>{u.current[e.question]=t},type:"text",value:l[e.question]||"",onChange:t=>o(s=>({...s,[e.question]:t.target.value})),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),h())},placeholder:"Tell Claude what to do instead...",className:"w-full rounded border border-border bg-background px-2 py-1 text-xs text-foreground placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-primary"})})]})]})]},t)}),!i&&(0,n.jsx)("div",{className:"flex justify-end pt-1",children:(0,n.jsx)("button",{disabled:!p,onClick:h,className:`rounded px-4 py-1.5 text-xs font-medium transition-colors ${p?"bg-primary text-primary-foreground hover:bg-primary/90":"bg-muted text-muted-foreground cursor-not-allowed"}`,children:"Submit"})})]})})}var ez=s(99314);function eL({count:e,onCopy:t,onCancel:s}){return(0,n.jsx)("div",{className:"fixed bottom-20 left-1/2 -translate-x-1/2 z-50 animate-in slide-in-from-bottom-4 fade-in duration-200",children:(0,n.jsxs)("div",{className:"flex items-center gap-2 rounded-full border bg-background px-4 py-2 shadow-lg",children:[(0,n.jsxs)("span",{className:"text-sm text-muted-foreground whitespace-nowrap",children:[e," selected"]}),(0,n.jsxs)(Q.$,{size:"sm",variant:"default",onClick:t,className:"gap-1.5",children:[(0,n.jsx)(ez.A,{className:"h-3.5 w-3.5"}),"Copy"]}),(0,n.jsx)(Q.$,{size:"sm",variant:"ghost",onClick:s,children:(0,n.jsx)(v.A,{className:"h-3.5 w-3.5"})})]})})}function eF({open:e,models:t,onStrip:s,onNewSession:l,onCancel:o}){let[i,d]=(0,c.useState)(!1),u=async()=>{d(!0);try{await s()}finally{d(!1)}};return(0,n.jsx)(Z.lG,{open:e,onOpenChange:e=>!e&&o(),children:(0,n.jsxs)(Z.Cf,{onClose:o,children:[(0,n.jsx)(Z.c7,{children:(0,n.jsxs)(Z.L3,{className:"flex items-center gap-2",children:[(0,n.jsx)(a.A,{className:"h-5 w-5 text-amber-500"}),"Incompatible Thinking Blocks"]})}),(0,n.jsxs)("div",{className:"space-y-3 mt-1",children:[(0,n.jsxs)("p",{className:"text-sm text-muted-foreground",children:["This session contains thinking blocks from ",(0,n.jsx)("span",{className:"font-mono text-foreground",children:t.join(", ")}),". Anthropic models cannot continue a conversation that includes non-Anthropic thinking blocks."]}),(0,n.jsxs)("div",{className:"flex flex-col gap-2 pt-2",children:[(0,n.jsx)(Q.$,{onClick:u,disabled:i,variant:"default",children:i?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.A,{className:"h-4 w-4 animate-spin mr-2"}),"Stripping..."]}):"Strip thinking blocks and switch"}),(0,n.jsx)(Q.$,{onClick:l,variant:"outline",disabled:i,children:"Start a new session instead"}),(0,n.jsx)(Q.$,{onClick:o,variant:"ghost",disabled:i,className:"text-muted-foreground",children:"Cancel"})]})]})]})})}function eO({sessionId:e,cwd:t,initialName:s,initialContext:b,historyView:v,onSendMessage:j,className:w}){let{messages:y,historyLoaded:k,isResponding:N,errorActive:C,pendingPermissions:S,pendingQuestions:A,modelPicker:$,currentModel:I,currentContextSize:q,bypassActive:D,planMode:E,thinkingLevel:_,contextUsage:T,rateLimitStatus:M,apiError:R,sessionName:U,initData:P,activeModelId:z,hasQueuedMessage:L,queuedMessages:F,queuePaused:O,backgroundTasks:W,todos:B,btw:H,promptHistory:Q,hasMoreHistory:J,loadingMore:K,requestMoreHistory:Y,sendMessage:V,interrupt:G,respondToPermission:X,respondToQuestion:Z,setModel:ee,setBypassAll:et,setPlanMode:es,setThinkingLevel:en,cancelQueuedMessage:er,deleteQueuedMessage:ea,editQueuedMessage:el,resumeQueue:eo,restoredText:ei,clearRestoredText:ec,dismissBtw:ed,retry:eu,currentRuntime:em,setRuntime:ex,restartSession:ep,thinkingCheck:eh,confirmThinkingStrip:ef,cancelThinkingCheck:eg}=function(e,t,s){let{send:n,subscribe:r,connected:a}=(0,x.h)(),[l,o]=(0,c.useState)([]),[i,d]=(0,c.useState)(!1),[p,h]=(0,c.useState)([]),[f,g]=(0,c.useState)([]),[b,v]=(0,c.useState)(null),[j,w]=(0,c.useState)("sonnet"),[y,k]=(0,c.useState)(u.w6),[N,C]=(0,c.useState)("stream"),[S,A]=(0,c.useState)(!1),[$,I]=(0,c.useState)(!1),[q,D]=(0,c.useState)("high"),[E,_]=(0,c.useState)(!1),[T,M]=(0,c.useState)(null),[R,U]=(0,c.useState)(null),[P,z]=(0,c.useState)(null),[L,F]=(0,c.useState)([]),[O,W]=(0,c.useState)(null),[B,H]=(0,c.useState)(null),[Q,J]=(0,c.useState)(null),[K,Y]=(0,c.useState)([]),[V,G]=(0,c.useState)([]),[X,Z]=(0,c.useState)(null),[ee,et]=(0,c.useState)([]),[es,en]=(0,c.useState)(!1),[er,ea]=(0,c.useState)(!1),[el,eo]=(0,c.useState)(!1),[ei,ec]=(0,c.useState)([]),[ed,eu]=(0,c.useState)(!1),[em,ex]=(0,c.useState)(null),[ep,eh]=(0,c.useState)(!1),ef=(0,c.useRef)(void 0),eg=(0,c.useRef)(!1),eb=(0,c.useRef)([]),ev=(0,c.useRef)(j),ej=(0,c.useRef)(null),ew=(0,c.useRef)([]),ey=(0,c.useRef)(null),ek=(0,c.useRef)([]),eN=(0,c.useRef)(null);null!==eN.current&&eN.current!==e&&(ey.current=null,ek.current=[],eN.current=null,et([]),en(!1),ea(!1)),(0,c.useEffect)(()=>{eb.current=l},[l]),(0,c.useEffect)(()=>{ev.current=j},[j]),(0,c.useEffect)(()=>{if(a){h([]),g(e=>(e.length>0&&console.log(`[question-debug] connect: clearing ${e.length} pendingQuestions`,e.map(e=>e.requestId)),[]));let r=eN.current===e;console.log(`[session] sending session:connect for ${e.slice(0,8)}`),window.__sessionConnectTime=performance.now(),n({type:"session:connect",sessionId:e,cwd:t||void 0,lastMessageId:r?ey.current:void 0,historyView:s||void 0})}},[a,e,t,s,n]),(0,c.useEffect)(()=>r(t=>{if(!("sessionId"in t)||t.sessionId===e)switch(t.type){case"history":{let s=t.messages;if(s.length>0&&(ey.current=s[s.length-1].id),t.delta)ej.current=null,ew.current=[],o(e=>{let t=e.filter(e=>"streaming"!==e.id);if(0===s.length)return t.length===e.length?e:t;let n=new Set(t.map(e=>e.id)),r=s.filter(e=>!n.has(e.id));if(0===r.length&&t.length===e.length)return e;let a=new Set(r.filter(e=>"user"===e.role).map(e=>e.content));return[...a.size>0?t.filter(e=>!("user"===e.role&&e.id.startsWith("user-")&&a.has(e.content))):t,...r]});else{let e=new Set,t=s.filter(t=>!e.has(t.id)&&(e.add(t.id),!0));o(t),ej.current=null,ew.current=[];for(let e=t.length-1;e>=0;e--){let s=t[e];if("assistant"===s.role&&s.model){J(s.model);break}}}if(t.status){let e="running"===t.status;d(e),eg.current=e,"idle"===t.status&&(ej.current=null,ew.current=[],o(e=>e.filter(e=>"streaming"!==e.id)),g(e=>(e.length>0&&console.log(`[question-debug] history:idle clearing ${e.length} pendingQuestions`,e.map(e=>e.requestId)),[])),U(null),Y(e=>e.some(e=>"running"===e.status)?e.filter(e=>"running"!==e.status):e))}void 0!==t.hasMore&&en(t.hasMore),t.promptHistory&&et(t.promptHistory);let n=window.__sessionConnectTime;n&&console.log(`[session] history received for ${e.slice(0,8)} in ${(performance.now()-n).toFixed(0)}ms (${s.length} msgs, delta=${!!t.delta}, hasMore=${!!t.hasMore})`),_(!0),eN.current=e;break}case"history:more":{let e=t.messages;en(t.hasMore),ea(!1),e.length>0&&o(t=>{let s=new Set(t.map(e=>e.id)),n=e.filter(e=>!s.has(e.id));return 0===n.length?t:[...n,...t]});break}case"session:transcript":{let e=t.messages;e.length>0&&(ey.current=e[e.length-1].id);for(let t=e.length-1;t>=0;t--)if("assistant"===e[t].role&&e[t].model){J(e[t].model);break}if(o(t=>(function(e,t){let s=new Set(t.filter(e=>"user"===e.role).map(e=>m(e.content))),n=new Set(t.filter(e=>"system"===e.role).map(e=>e.content)),r=new Map;for(let s of t){if("user"!==s.role||s.images?.length){r.set(s.id,s);continue}let t=m(s.content),n=e.find(e=>"user"===e.role&&(e.images?.length||e.documents?.length)&&m(e.content)===t);r.set(s.id,n?{...s,content:n.content,images:n.images,documents:n.documents,textFiles:n.textFiles}:s)}let a=new Set(t.map(e=>e.id)),l=new Map;for(let n of e){if(!n.id.startsWith("user-")||a.has(n.id))continue;let e=m(n.content);if(!s.has(e))continue;let r=t.find(t=>"user"===t.role&&m(t.content)===e&&!l.has(t.id));r&&l.set(n.id,r.id)}let o=[];for(let t=0;t<e.length;t++){let r=e[t];if("streaming"===r.id||a.has(r.id)||l.has(r.id))continue;let i="system"===r.role&&!n.has(r.content),c=r.id.startsWith("user-")&&!s.has(m(r.content));(i||c)&&o.push({msg:r,prevIdx:t})}let i=t.map(e=>r.get(e.id));for(let{msg:t,prevIdx:s}of o){let n=-1;for(let t=s-1;t>=0;t--){let s=e[t],r=l.get(s.id)||s.id,a=i.findIndex(e=>e.id===r);if(a>=0){n=a;break}}i.splice(n+1,0,t)}return i})(t,e)),"pty"!==N)break;let s=new Map;for(let t of e)for(let e of t.toolUses)if("Agent"===e.name)try{let t=JSON.parse(e.input||"{}"),n=t.subagent_type||"",r=t.description||"";n&&r&&s.set(n,r)}catch{}s.size>0&&Y(e=>{let t=!1,n=e.map(e=>e.title&&s.has(e.title)&&(!e.description||e.description===e.title)?(t=!0,{...e,description:s.get(e.title)}):e);return t?n:e});break}case"session:streaming_snapshot":{ew.current=t.toolUses.filter(e=>"Agent"===e.name&&"running"===e.status),ej.current={content:t.content,toolUses:t.toolUses,blocks:t.blocks};let e={id:"streaming",role:"assistant",content:t.content,toolUses:t.toolUses,blocks:t.blocks,timestamp:Date.now()};o(s=>{let n=s.filter(e=>"streaming"!==e.id),r=n.findLastIndex(e=>"user"===e.role);return[...n.filter((e,s)=>e.id!==t.messageId||s<=r),e]});break}case"assistant:thinking":{if(ew.current.length>0)break;o(e=>e.filter(e=>"compact-progress"!==e.id)),ej.current||(ej.current={content:"",toolUses:[],blocks:[]});let e=ej.current.blocks,s=e[e.length-1];s&&"thinking"===s.type?(s.text+=t.text,t.tokens&&(s.tokens=(s.tokens??0)+t.tokens),t.redacted&&(s.redacted=!0),t.durationMs&&(s.durationMs=t.durationMs)):e.push({type:"thinking",text:t.text,tokens:t.tokens,redacted:t.redacted,durationMs:t.durationMs});let n=ej.current;o(e=>{let t={id:"streaming",role:"assistant",content:n.content,toolUses:n.toolUses,blocks:[...n.blocks],timestamp:Date.now()},s=e[e.length-1];return s?.id==="streaming"?[...e.slice(0,-1),t]:[...e,t]});break}case"assistant:text":{if(ew.current.length>0)break;o(e=>e.filter(e=>"compact-progress"!==e.id)),ej.current||(ej.current={content:"",toolUses:[],blocks:[]}),ej.current.content+=t.text;let e=ej.current.blocks,s=e[e.length-1];s&&"text"===s.type?s.text+=t.text:e.push({type:"text",text:t.text});let n=ej.current;o(e=>{let t=e[e.length-1],s={id:"streaming",role:"assistant",content:n.content,toolUses:n.toolUses,blocks:[...n.blocks],timestamp:Date.now()};return t?.id==="streaming"?[...e.slice(0,-1),s]:[...e,s]});break}case"assistant:tool_use":{o(e=>e.filter(e=>"compact-progress"!==e.id)),ej.current||(ej.current={content:"",toolUses:[],blocks:[]});let e=ej.current.toolUses.find(e=>e.id===t.toolId&&"running"===e.status);if(e)e.input=t.input,e.status="done";else{let e={id:t.toolId||t.name+"-"+Date.now(),name:t.name,input:t.input||"",output:"",status:t.input?"done":"running"},s="Agent"===e.name,n=ew.current,r=!1!==t.isMainThread;if(n.length>0&&!r){let t=n[n.length-1];t.children||(t.children=[]),t.children.push(e)}else ej.current.toolUses.push(e),ej.current.blocks.push({type:"tool_use",toolUse:e});s&&n.push(e)}let s=ej.current;o(e=>{let t={id:"streaming",role:"assistant",content:s.content,toolUses:[...s.toolUses],blocks:[...s.blocks],timestamp:Date.now()},n=e[e.length-1];return n?.id==="streaming"?[...e.slice(0,-1),t]:[...e,t]});break}case"assistant:tool_result":{if(!ej.current)break;let e=ew.current,s=e.findIndex(e=>e.id===t.toolId);if(-1!==s)e[s].output=t.output,t.filePath&&(e[s].filePath=t.filePath),e[s].status="done",e.splice(s,1);else if(e.length>0)for(let s of e){let e=s.children?.find(e=>e.id===t.toolId);if(e){e.output=t.output,t.filePath&&(e.filePath=t.filePath),e.status="done";break}}else{let e=ej.current.toolUses.find(e=>e.id===t.toolId);e&&(e.output=t.output,t.filePath&&(e.filePath=t.filePath),e.status="done")}let n=ej.current;o(e=>{let t={id:"streaming",role:"assistant",content:n.content,toolUses:[...n.toolUses],blocks:[...n.blocks],timestamp:Date.now()},s=e[e.length-1];return s?.id==="streaming"?[...e.slice(0,-1),t]:[...e,t]});break}case"assistant:message_done":{let e=ej.current?.toolUses||[],s=ej.current?.blocks||[];ej.current=null,ew.current=[],t.message.model&&J(t.message.model),o(n=>{let r={...t.message};e.length>r.toolUses.length&&(r.toolUses=e),s.length>(r.blocks?.length??0)&&(r.blocks=s),ey.current=r.id;let a=n.findIndex(e=>"streaming"===e.id),l=n.filter(e=>"streaming"!==e.id);if(l.some(e=>e.id===r.id))return l;if(a>=0){let e=[...l];return e.splice(a,0,r),e}return[...l,r]});break}case"assistant:tool_progress":{if(!ej.current)break;let e=ew.current,s=e.find(e=>e.id===t.toolId);if(s)s.output+=t.content;else if(e.length>0){let s=!1;for(let n of e){let e=n.children?.find(e=>e.id===t.toolId);if(e){e.output+=t.content,s=!0;break}}if(!s){let e=ej.current.toolUses.find(e=>e.id===t.toolId);e&&(e.output+=t.content)}}else{let e=ej.current.toolUses.find(e=>e.id===t.toolId);e&&(e.output+=t.content)}let n=ej.current;o(e=>{let t={id:"streaming",role:"assistant",content:n.content,toolUses:[...n.toolUses],blocks:[...n.blocks],timestamp:Date.now()},s=e[e.length-1];return s?.id==="streaming"?[...e.slice(0,-1),t]:[...e,t]});break}case"session:rate_limit":"rate_limited"===t.status?U(t.status):U(null);break;case"session:suggestions":F(t.suggestions);break;case"session:init":H(t.data),t.data?.model&&J(t.data.model);break;case"session:todos":G(t.todos);break;case"session:task_update":Y(e=>e.find(e=>e.taskId===t.task.taskId)?e.map(e=>e.taskId===t.task.taskId?{...e,status:t.task.status,title:e.title||t.task.title,description:t.task.description||e.description,activity:t.task.activity||e.activity,summary:t.task.summary||e.summary}:e):[...e,t.task]),"completed"===t.task.status&&setTimeout(()=>{Y(e=>e.filter(e=>e.taskId!==t.task.taskId))},5e3);break;case"assistant:tool_children":o(e=>e.map(e=>{if(e.id!==t.messageId)return e;let s=e.toolUses.map(e=>e.id===t.toolId?{...e,children:t.children}:e),n=e.blocks.map(e=>"tool_use"===e.type&&e.toolUse.id===t.toolId?{...e,toolUse:{...e.toolUse,children:t.children}}:e);return{...e,toolUses:s,blocks:n}}));break;case"session:status":{let e="running"===t.status;d(e),eg.current=e,e&&(z(null),eh(!1),clearTimeout(ef.current)),"idle"===t.status&&(ej.current=null,ew.current=[],o(e=>e.filter(e=>"streaming"!==e.id)),g(e=>(e.length>0&&console.log(`[question-debug] status:idle clearing ${e.length} pendingQuestions`,e.map(e=>e.requestId)),[])),U(null),Y(e=>0===e.filter(e=>"running"===e.status).length?e:e.filter(e=>"running"!==e.status)));break}case"session:error":{console.error("Session error:",t.error),ej.current=null,ew.current=[];let e=t.error||"Unknown error",s=e.match(/"message"\s*:\s*"([^"]+)"/);z(s?s[1]:e.slice(0,200)),(/\(HTTP 529\)/.test(e)||/API Error: 529\b/.test(e))&&(eh(!0),clearTimeout(ef.current),ef.current=setTimeout(()=>eh(!1),15e3));break}case"session:queued":if(eo(t.count>0),t.messages&&ec(t.messages),void 0!==t.paused&&eu(t.paused),t.cancelledText){ex(t.cancelledText);let e=ek.current,s=e.findIndex(e=>e.text===t.cancelledText);-1!==s&&e.splice(s,1)}if(t.editText&&ex(t.editText),t.sentText){let e=ek.current,s=e.findIndex(e=>e.text===t.sentText),n=-1!==s?e.splice(s,1)[0]:null,r={id:"user-queued-"+Date.now(),role:"user",content:t.sentText,toolUses:[],blocks:[],timestamp:Date.now(),images:n?.images,documents:n?.documents,textFiles:n?.textFiles};o(e=>[...e,r])}break;case"session:clear":o(e=>[...e,{id:"clear-"+Date.now(),role:"system",content:"__context_reset__",toolUses:[],blocks:[],timestamp:Date.now()}]),ey.current=null,ej.current=null,ew.current=[],Y([]),G([]),eo(!1),ec([]),eu(!1),h([]),g([]);break;case"session:system":{let e="__model_picker::";if(t.text.startsWith(e)){let s=t.text.slice(e.length);v(s),w(s);break}let s="__model::";if(t.text.startsWith(s)){w(t.text.slice(s.length));break}let n="__bypass_state::";if(t.text.startsWith(n)){A("on"===t.text.slice(n.length));break}let r="__plan_state::";if(t.text.startsWith(r)){I("on"===t.text.slice(r.length));break}let a="__thinking_level::";if(t.text.startsWith(a)){D(t.text.slice(a.length));break}let l="__runtime::";if(t.text.startsWith(l)){C(t.text.slice(l.length));break}if("__compact_boundary__"===t.text){o(e=>{let t="compact-done-"+Date.now();return e.some(e=>"compact-progress"===e.id)?e.map(e=>"compact-progress"===e.id?{...e,id:t,content:"__compacted__"}:e):[...e,{id:t,role:"system",content:"__compacted__",toolUses:[],blocks:[],timestamp:Date.now()}]});break}let i="__compact::";if(t.text.startsWith(i)){let e=t.text.slice(i.length);"start"===e?o(e=>e.some(e=>"compact-progress"===e.id)?e:[...e,{id:"compact-progress",role:"system",content:"__compacting__",toolUses:[],blocks:[],timestamp:Date.now()}]):"done"===e&&o(e=>e.map(e=>"compact-progress"===e.id?{...e,id:"compact-done-"+Date.now(),content:"__compacted__"}:e));break}if(t.text.startsWith("__"))break;let c={id:"system-"+Date.now(),role:"system",content:t.text,toolUses:[],blocks:[],timestamp:Date.now()};o(e=>[...e,c]);break}case"session:info_updated":W(t.info.name),t.info.model&&w(t.info.model),t.info.contextSize&&k(t.info.contextSize),t.info.runtime&&C(t.info.runtime);break;case"session:usage":M(t.usage);break;case"permission:request":h(e=>[...e,{requestId:t.requestId,toolName:t.toolName,input:t.input,suggestions:t.suggestions,planFilePath:t.planFilePath,planContent:t.planContent}]);break;case"question:request":console.log("[question-debug] question:request received",t.requestId),console.trace("[question-debug] question:request stack"),g(e=>(console.log(`[question-debug] question:request adding to ${e.length} existing`,[...e.map(e=>e.requestId),t.requestId]),[...e,{requestId:t.requestId,questions:t.questions}]))}}),[e,r,N]);let eC=(0,c.useCallback)(()=>{if(er||!es)return;let t=eb.current[0];t&&(ea(!0),n({type:"history:request_more",sessionId:e,beforeMessageId:t.id}))},[er,es,e,n]),eS=(0,c.useRef)(0),eA=(0,c.useCallback)(async()=>{try{let s=new URLSearchParams;t&&s.set("cwd",t);let n=await fetch(`/api/sessions/${e}?${s}`);if(!n.ok)return void console.warn(`[fallback] HTTP check failed (${n.status})`);let r=await n.json();if("idle"===r.session.status){console.log("[fallback] session is idle, recovering");let e=new Set,t=r.messages.filter(t=>!e.has(t.id)&&(e.add(t.id),!0));o(t),t.length>0&&(ey.current=t[t.length-1].id);for(let e=t.length-1;e>=0;e--){let s=t[e];if("assistant"===s.role&&s.model){J(s.model);break}}d(!1),eg.current=!1,ej.current=null,ew.current=[]}}catch{}},[e,t]);(0,c.useEffect)(()=>{if(!i){eS.current=0;return}eS.current=Date.now();let t=r(t=>{"sessionId"in t&&t.sessionId===e&&("assistant:text"===t.type||"assistant:thinking"===t.type||"assistant:tool_use"===t.type||"assistant:tool_result"===t.type||"session:status"===t.type)&&(eS.current=Date.now())}),s=setInterval(async()=>{Date.now()-eS.current<1e4||(console.log("[fallback] no events for 10s, checking session via HTTP"),await eA())},5e3),n=()=>{"visible"===document.visibilityState&&eg.current&&(console.log("[fallback] page visible while responding, checking session"),eA())};return document.addEventListener("visibilitychange",n),()=>{t(),clearInterval(s),document.removeEventListener("visibilitychange",n)}},[i,e,r,eA]);let e$=(0,c.useCallback)((s,r,a,l)=>{let i=s;if(l?.length&&(i=l.map(e=>`<file path="${e.name}">
|
|
2
|
-
${e.content}
|
|
3
|
-
</file>`).join("\n\n")+(s?"\n\n"+s:"")),eg.current&&/^\/btw\s/i.test(s.trim())){let e=s.trim().replace(/^\/btw\s+/i,"");if(!e)return;Z({question:e,answer:null,loading:!0,error:null}),fetch("/api/btw",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({question:e,context:eb.current.filter(e=>"user"===e.role||"assistant"===e.role).slice(-20).map(e=>({role:e.role,content:e.content.slice(0,2e3)})),model:ev.current,cwd:t})}).then(e=>e.json()).then(e=>{e.error?Z(t=>t?{...t,loading:!1,error:e.error}:null):Z(t=>t?{...t,loading:!1,answer:e.answer}:null)}).catch(e=>{Z(t=>t?{...t,loading:!1,error:e.message}:null)});return}if(eg.current){ek.current.push({text:s,images:r,documents:a,textFiles:l}),n({type:"message:send",sessionId:e,text:i,images:r?.length?r:void 0,documents:a?.length?a:void 0});return}ed&&(ek.current=[],ec([]),eu(!1),eo(!1));let c={id:"user-"+Date.now(),role:"user",content:s,toolUses:[],blocks:[],timestamp:Date.now(),images:r?.length?r:void 0,documents:a?.length?a:void 0,textFiles:l?.length?l:void 0};o(e=>[...e,c]),F([]);let d=s.replace(/^\[Attached [^\]]+\]\n*/gm,"").trim();d&&!d.startsWith("/")&&et(e=>e[0]===d?e:[d,...e.filter(e=>e!==d)]),n({type:"message:send",sessionId:e,text:i,images:r?.length?r:void 0,documents:a?.length?a:void 0})},[n,e,ed,t]),eI=(0,c.useCallback)(()=>{n({type:"session:interrupt",sessionId:e})},[n,e]),eq=(0,c.useCallback)((t,s,r,a)=>{n({type:"permission:response",sessionId:e,requestId:t,allowed:s,permissionMode:r,suggestionIndex:a}),h(e=>e.filter(e=>e.requestId!==t))},[n,e]),eD=(0,c.useCallback)((t,s)=>{console.log("[question-debug] respondToQuestion",t),n({type:"question:response",sessionId:e,requestId:t,answers:s}),g(e=>(console.log("[question-debug] marking answered, current pending:",e.map(e=>({id:e.requestId,answered:e.answered}))),e.map(e=>e.requestId===t?{...e,answered:!0}:e)))},[n,e]),[eE,e_]=(0,c.useState)(null),eT=(0,c.useCallback)((t,s)=>{v(null),w(t),void 0!==s&&k(s),n({type:"session:set_model",sessionId:e,model:t,contextSize:s})},[n,e]),eM=(0,c.useCallback)(async(t,s)=>{let n=t.replace(/\[.*\]$/,"");if(!(n.startsWith("claude")||null!==(0,u.AX)(n)))return void eT(t,s);try{let n=await fetch(`/api/sessions/thinking?sessionId=${encodeURIComponent(e)}`),r=await n.json();if(r.hasNonAnthropicThinking){v(null),e_({pending:!0,targetModel:t,models:r.models,contextSize:s});return}}catch{}eT(t,s)},[e,eT]),eR=(0,c.useCallback)((e,t)=>{eM(e,t)},[eM]),eU=(0,c.useCallback)(async()=>{if(!eE)return;let{targetModel:t,contextSize:s}=eE;await fetch("/api/sessions/thinking",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e})}),e_(null),eT(t,s)},[eE,e,eT]),eP=(0,c.useCallback)(()=>{e_(null)},[]),ez=(0,c.useCallback)((t,s)=>{"main"===t&&w(s),n({type:"session:set_model_slot",sessionId:e,slot:t,modelId:s})},[n,e]),eL=(0,c.useCallback)(t=>{A(t),n({type:"permission:set_bypass",sessionId:e,enabled:t})},[n,e]),eF=(0,c.useCallback)(t=>{I(t),n({type:"session:set_plan_mode",sessionId:e,enabled:t})},[n,e]),eO=(0,c.useCallback)(t=>{D(t),o(e=>[...e,{id:"thinking-"+Date.now(),role:"system",content:`Thinking: ${t}`,toolUses:[],blocks:[],timestamp:Date.now()}]),n({type:"session:set_thinking",sessionId:e,level:t})},[n,e]),eW=(0,c.useCallback)(()=>{n({type:"message:cancel_queued",sessionId:e})},[n,e]),eB=(0,c.useCallback)(t=>{n({type:"message:delete_queued",sessionId:e,messageId:t})},[n,e]),eH=(0,c.useCallback)(t=>{n({type:"message:edit_queued",sessionId:e,messageId:t})},[n,e]),eQ=(0,c.useCallback)(()=>{n({type:"message:resume_queue",sessionId:e})},[n,e]),eJ=(0,c.useCallback)(()=>{ex(null)},[]),eK=(0,c.useCallback)(()=>{if(X?.answer){let e=Date.now();o(t=>[...t,{id:`btw-q-${e}`,role:"user",content:`[side question] ${X.question}`,toolUses:[],blocks:[],timestamp:e},{id:`btw-a-${e}`,role:"assistant",content:X.answer,toolUses:[],blocks:[],timestamp:e+1}])}Z(null)},[X]),eY=(0,c.useCallback)(()=>{z(null),n({type:"message:send",sessionId:e,text:"Continue from where you left off."})},[n,e]);return{messages:l,historyLoaded:E,isResponding:i,errorActive:ep,pendingPermissions:p,pendingQuestions:f,modelPicker:b,currentModel:j,currentContextSize:y,bypassActive:S,planMode:$,thinkingLevel:q,contextUsage:T,rateLimitStatus:R,apiError:P,suggestions:L,sessionName:O,initData:B,activeModelId:Q,hasQueuedMessage:el,queuedMessages:ei,queuePaused:ed,backgroundTasks:K,todos:V,btw:X,promptHistory:ee,hasMoreHistory:es,loadingMore:er,requestMoreHistory:eC,sendMessage:e$,interrupt:eI,respondToPermission:eq,respondToQuestion:eD,setModel:eR,setModelSlot:ez,setBypassAll:eL,setPlanMode:eF,setThinkingLevel:eO,cancelQueuedMessage:eW,deleteQueuedMessage:eB,editQueuedMessage:eH,resumeQueue:eQ,restoredText:em,clearRestoredText:eJ,dismissBtw:eK,retry:eY,currentRuntime:N,setRuntime:(0,c.useCallback)(t=>{C(t),n({type:"session:set_runtime",sessionId:e,runtime:t})},[n,e]),restartSession:(0,c.useCallback)(()=>{n({type:"session:restart",sessionId:e})},[n,e]),thinkingCheck:eE,confirmThinkingStrip:eU,cancelThinkingCheck:eP}}(e,t,v),{settings:eb}=(0,p.t)(),ev=(0,i.useRouter)(),{setHeader:ej,setBackgroundTasks:eN,setTodos:eC,setInitData:eA,setRuntime:e$}=(0,g.E2)(),eI=(0,c.useRef)(null),eq=(0,c.useRef)(!0),[eD,e_]=(0,c.useState)(!1),eT=(0,c.useRef)(0),[eU,ez]=(0,c.useState)(50),eW=(0,c.useRef)(0),eB=(0,c.useRef)(0),{selectedIds:eH,selectionMode:eQ,enterSelection:eJ,toggleSelect:eK,clearSelection:eY,copySelected:eV}=function(){let[e,t]=(0,c.useState)(new Set),s=e.size>0,n=(0,c.useCallback)(e=>{t(new Set([e]))},[]),r=(0,c.useCallback)(e=>{t(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),a=(0,c.useCallback)(()=>{t(new Set)},[]),l=(0,c.useCallback)(async s=>{let n=s.filter(t=>e.has(t.id)&&"system"!==t.role).map(d).filter(Boolean).join("\n\n---\n\n");if(n)if(navigator.clipboard?.writeText)await navigator.clipboard.writeText(n);else{let e=document.createElement("textarea");e.value=n,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)}t(new Set)},[e]);return{selectedIds:e,selectionMode:s,enterSelection:n,toggleSelect:r,clearSelection:a,copySelected:l}}(),eG=(0,c.useRef)(new Set),[eX,eZ]=(0,c.useState)(!1),[e0,e1]=(0,c.useState)([]);(0,c.useEffect)(()=>{eZ(matchMedia("(pointer: coarse)").matches)},[]),(0,c.useEffect)(()=>{fetch("/api/providers").then(e=>e.json()).then(e=>{Array.isArray(e)&&e1(e)}).catch(()=>{})},[]);let e5=(0,c.useMemo)(()=>{let e=new Set;return y.filter(t=>!e.has(t.id)&&(e.add(t.id),!0))},[y]),e3=Math.max(0,e5.length-eU),e2=(0,c.useMemo)(()=>e5.slice(e3),[e5,e3]),e4=e3>0;(0,c.useEffect)(()=>{ez(50)},[]);let{send:e8}=(0,x.h)(),e6=(0,c.useCallback)(t=>{e8({type:"message:send",sessionId:e,text:`/rename ${t}`})},[e8,e]);(0,c.useEffect)(()=>{ej({title:U||s||(t?(0,h.uk)(t):"")||"Session",onRename:e6})},[U,s,t,ej,e6]),(0,c.useEffect)(()=>{eN(W)},[W,eN]),(0,c.useEffect)(()=>{eC(B)},[B,eC]),(0,c.useEffect)(()=>{eA(P)},[P,eA]),(0,c.useEffect)(()=>{e$(em)},[em,e$]),(0,c.useLayoutEffect)(()=>{let e=eI.current;if(!e||0===eB.current)return;let t=e.scrollHeight-eB.current;t>0&&(e.scrollTop+=t,eT.current=Date.now()+150),eB.current=0},[]);let e7=(0,c.useCallback)(()=>{if(Date.now()<eT.current)return;let e=eI.current;if(!e)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight;eq.current=t<80,e_(t>300),e.scrollTop<800&&Date.now()>eW.current&&(eW.current=Date.now()+100,e4?(eB.current=e.scrollHeight,ez(e=>e+30)):J&&!K&&(eB.current=e.scrollHeight,Y()))},[e4,J,K,Y]),e9=(0,c.useCallback)(()=>{let e=eI.current;e&&(e.scrollTop=e.scrollHeight),eT.current=Date.now()+150,e_(!1)},[]);(0,c.useEffect)(()=>{eq.current&&e9()},[y,N,A,S,e9]),(0,c.useEffect)(()=>{if(!k)return;let e="cockpit:scrollPos:"+window.location.pathname,t=sessionStorage.getItem(e);if(!t)return;sessionStorage.removeItem(e);let s=Number(t),n=eI.current;n&&s>0&&(eq.current=!1,requestAnimationFrame(()=>{n.scrollTop=s}))},[k]),(0,c.useEffect)(()=>{let e=window.visualViewport;if(!e)return;let t=()=>{eq.current&&e9()};return e.addEventListener("resize",t),()=>e.removeEventListener("resize",t)},[e9]),(0,c.useEffect)(()=>{if(eX)return;let e=eI.current,t=()=>{document.activeElement?.closest("textarea, input, [contenteditable]")||document.activeElement!==e&&(e?.focus({preventScroll:!0}),eq.current&&e9())},s=()=>{"visible"===document.visibilityState&&eq.current&&e9()};return e?.addEventListener("pointermove",t),window.addEventListener("focus",t),document.addEventListener("visibilitychange",s),()=>{e?.removeEventListener("pointermove",t),window.removeEventListener("focus",t),document.removeEventListener("visibilitychange",s)}},[eX,e9]),(0,c.useEffect)(()=>{let e=e=>{if("Escape"!==e.key||!(N||C)||document.querySelector(".fixed.inset-0.z-50"))return;let t=e.target?.tagName;"TEXTAREA"!==t&&"INPUT"!==t&&(e.preventDefault(),G())};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[N,C,G]);let te=(0,c.useRef)(!1),tt=(0,c.useCallback)((e,t,s,n)=>{eq.current=!0,b&&!te.current&&0===y.length?(te.current=!0,V(`${e}
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
${b}`,t,s,n)):V(e,t,s,n)},[V,b,y.length]);(0,c.useEffect)(()=>{j&&j(e=>tt(e))},[j,tt]);let ts=(0,c.useCallback)(()=>{V("/compact")},[V]),tn=(0,c.useCallback)(()=>{eV(e5)},[eV,e5]),tr=(0,c.useCallback)(async()=>{if(!t)return;eg();let e=eh?.targetModel;try{let s=await fetch("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:t,runtime:em,model:e})});if(s.ok){let e=await s.json();ev.push(`/sessions/${e.sessionId}?cwd=${encodeURIComponent(t)}`)}}catch{}},[t,em,eh?.targetModel,eg,ev]);return(0,n.jsxs)("div",{className:(0,f.cn)("flex flex-col flex-1 min-h-0",w),children:[(0,n.jsx)("div",{ref:eI,"data-chat-scroll":!0,tabIndex:eX?void 0:-1,className:"flex-1 min-h-0 overflow-y-auto p-4 outline-none",onScroll:e7,children:(0,n.jsxs)("div",{className:"mx-auto max-w-3xl lg:max-w-4xl xl:max-w-5xl 2xl:max-w-6xl space-y-4",children:[0===e5.length&&(0,n.jsx)("div",{className:"flex flex-col items-center pt-20 text-sm text-muted-foreground",children:k?(0,n.jsx)("p",{children:"Send a message to start the conversation."}):(0,n.jsx)(r.A,{className:"h-5 w-5 animate-spin"})}),(e4||K)&&(0,n.jsx)("div",{className:"flex justify-center py-2",children:(0,n.jsx)(r.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}),e2.map((e,t)=>{let s=t>0&&"__compacted__"===e2[t-1].content;if("assistant"===e.role){let{before:t,questionBlock:r,after:a}=function(e){let t=e.findIndex(e=>"tool_use"===e.type&&"AskUserQuestion"===e.toolUse.name);if(t<0)return{before:e,questionBlock:null,after:[]};let s=e[t];return{before:e.slice(0,t),questionBlock:s,after:e.slice(t+1).filter(e=>"tool_use"!==e.type||"AskUserQuestion"!==e.toolUse.name)}}(e.blocks||[]);if(r){let l=A.find(e=>!e.answered),o=!!r.toolUse.output;return console.log(`[question-debug] Place1 render: msgId=${e.id.slice(0,8)}, hasOutput=${o}, pending=${!!l}, pendingCount=${A.length}`),(0,n.jsxs)("div",{"data-message-id":e.id,className:"space-y-4",children:[t.length>0&&(0,n.jsx)(ey.s,{message:{...e,blocks:t,content:""},collapsedByDefault:s,expandedToolIds:eG,selectionMode:eQ,selected:eH.has(e.id),onEnterSelection:eJ,onToggleSelect:eK}),(0,n.jsx)("div",{className:"flex w-full justify-start",children:(0,n.jsx)("div",{className:"max-w-[85%]",children:o?(0,n.jsx)(eR,{tool:r.toolUse}):l?(0,n.jsx)(eP,{questions:eM(l.questions),onSubmit:Z,requestId:l.requestId}):null})}),a.length>0&&(0,n.jsx)(ey.s,{message:{...e,blocks:a,content:""},collapsedByDefault:!1,expandedToolIds:eG,selectionMode:eQ,selected:eH.has(e.id),onEnterSelection:eJ,onToggleSelect:eK})]},e.id)}}return(0,n.jsx)("div",{"data-message-id":e.id,className:"space-y-4",children:(0,n.jsx)(ey.s,{message:e,collapsedByDefault:s,expandedToolIds:eG,selectionMode:eQ,selected:eH.has(e.id),onEnterSelection:eJ,onToggleSelect:eK})},e.id)}),(N||C)&&0===S.length&&!A.some(e=>!e.answered)&&(0,n.jsxs)("div",{className:"flex items-center gap-2 text-muted-foreground",children:[(0,n.jsx)(r.A,{className:"h-4 w-4 animate-spin"}),C&&!N&&(0,n.jsx)("span",{className:"text-xs text-red-500",children:"API error, retrying..."}),M&&(0,n.jsx)("span",{className:"text-xs",children:"Rate limited, retrying..."})]}),R&&!N&&!C&&(0,n.jsx)("div",{className:"flex w-full justify-start",children:(0,n.jsxs)("div",{className:"max-w-[85%] rounded-lg border border-red-500/30 bg-red-500/5 px-4 py-3",children:[(0,n.jsxs)("div",{className:"flex items-center gap-2 text-red-500 mb-1",children:[(0,n.jsx)(a.A,{className:"h-4 w-4 shrink-0"}),(0,n.jsx)("span",{className:"text-sm font-medium",children:"API Error"})]}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground mb-3",children:R}),(0,n.jsxs)("button",{onClick:eu,className:"flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-xs hover:bg-muted transition-colors",children:[(0,n.jsx)(l.A,{className:"h-3 w-3"}),"Retry"]})]})}),S.map(e=>"ExitPlanMode"===e.toolName?(0,n.jsx)(eE,{permission:e,bypassActive:D,onRespond:X,onSendMessage:V,onSetBypass:et,onSetPlanMode:es},e.requestId):(0,n.jsx)(eS,{permission:e,onRespond:X},e.requestId)),A.some(e=>!e.answered)&&!e2.some(e=>"assistant"===e.role&&(e.blocks||[]).some(e=>"tool_use"===e.type&&"AskUserQuestion"===e.toolUse.name&&!e.toolUse.output))&&A.filter(e=>!e.answered).map(e=>(0,n.jsx)("div",{className:"flex w-full justify-start",children:(0,n.jsx)("div",{className:"max-w-[85%]",children:(0,n.jsx)(eP,{questions:eM(e.questions),onSubmit:Z,requestId:e.requestId})})},e.requestId)),null!==$&&(0,n.jsx)(ek,{currentModel:$,currentContextSize:q,activeModelId:z,onSelect:(e,t)=>ee(e,t),providers:e0}),(0,n.jsx)(eF,{open:null!==eh,models:eh?.models??[],onStrip:ef,onNewSession:tr,onCancel:eg}),(0,n.jsx)("div",{})]})}),eQ&&(0,n.jsx)(eL,{count:eH.size,onCopy:tn,onCancel:eY}),eD&&(0,n.jsx)("div",{className:"relative z-10 flex justify-center pointer-events-none",style:{marginTop:-52},children:(0,n.jsx)("button",{onClick:()=>{e9(),eq.current=!0,e_(!1)},className:"pointer-events-auto rounded-full border bg-background/90 backdrop-blur p-3 shadow-md text-muted-foreground hover:text-foreground transition-colors",children:(0,n.jsx)(o.A,{className:"h-5 w-5"})})}),(0,n.jsx)("div",{className:"shrink-0",children:(0,n.jsx)(ew,{sessionId:e,promptHistory:Q,onSend:tt,onInterrupt:G,isResponding:N||C,bypassActive:D,onSetBypass:et,planMode:E,onSetPlanMode:es,thinkingLevel:_,onSetThinking:en,currentModel:I,currentContextSize:q,onSetModel:ee,contextUsage:T,dismissKeyboard:eb.dismissKeyboardOnSend,cwd:t,onCompact:ts,initData:P,hasQueuedMessage:L,queuedMessages:F,queuePaused:O,onCancelQueued:er,onDeleteQueued:ea,onEditQueued:el,onResumeQueue:eo,restoredText:ei,onClearRestoredText:ec,btw:H,onDismissBtw:ed,currentRuntime:em,onSetRuntime:ex,onRestart:ep,providers:e0})})]})}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[52333],{52333:(e,o,t)=>{t.d(o,{default:()=>n});let n=Object.freeze(JSON.parse('{"name":"Pierre Light","type":"light","colors":{"editor.background":"#ffffff","editor.foreground":"#070707","foreground":"#070707","focusBorder":"#009fff","selection.background":"#dfebff","editor.selectionBackground":"#009fff2e","editor.lineHighlightBackground":"#dfebff8c","editorCursor.foreground":"#009fff","editorLineNumber.foreground":"#84848A","editorLineNumber.activeForeground":"#6C6C71","editorIndentGuide.background":"#eeeeef","editorIndentGuide.activeBackground":"#dbdbdd","diffEditor.insertedTextBackground":"#00cab133","diffEditor.deletedTextBackground":"#ff2e3f33","sideBar.background":"#f8f8f8","sideBar.foreground":"#6C6C71","sideBar.border":"#eeeeef","sideBarTitle.foreground":"#070707","sideBarSectionHeader.background":"#f8f8f8","sideBarSectionHeader.foreground":"#6C6C71","sideBarSectionHeader.border":"#eeeeef","activityBar.background":"#f8f8f8","activityBar.foreground":"#070707","activityBar.border":"#eeeeef","activityBar.activeBorder":"#009fff","activityBarBadge.background":"#009fff","activityBarBadge.foreground":"#ffffff","titleBar.activeBackground":"#f8f8f8","titleBar.activeForeground":"#070707","titleBar.inactiveBackground":"#f8f8f8","titleBar.inactiveForeground":"#84848A","titleBar.border":"#eeeeef","list.activeSelectionBackground":"#dfebffcc","list.activeSelectionForeground":"#070707","list.inactiveSelectionBackground":"#dfebff73","list.hoverBackground":"#dfebff59","list.focusOutline":"#009fff","tab.activeBackground":"#ffffff","tab.activeForeground":"#070707","tab.activeBorderTop":"#009fff","tab.inactiveBackground":"#f8f8f8","tab.inactiveForeground":"#84848A","tab.border":"#eeeeef","editorGroupHeader.tabsBackground":"#f8f8f8","editorGroupHeader.tabsBorder":"#eeeeef","panel.background":"#f8f8f8","panel.border":"#eeeeef","panelTitle.activeBorder":"#009fff","panelTitle.activeForeground":"#070707","panelTitle.inactiveForeground":"#84848A","statusBar.background":"#f8f8f8","statusBar.foreground":"#6C6C71","statusBar.border":"#eeeeef","statusBar.noFolderBackground":"#f8f8f8","statusBar.debuggingBackground":"#ffca00","statusBar.debuggingForeground":"#ffffff","statusBarItem.remoteBackground":"#f8f8f8","statusBarItem.remoteForeground":"#6C6C71","input.background":"#f2f2f3","input.border":"#dbdbdd","input.foreground":"#070707","input.placeholderForeground":"#8E8E95","dropdown.background":"#f2f2f3","dropdown.border":"#dbdbdd","dropdown.foreground":"#070707","button.background":"#009fff","button.foreground":"#ffffff","button.hoverBackground":"#1aa9ff","textLink.foreground":"#009fff","textLink.activeForeground":"#009fff","gitDecoration.addedResourceForeground":"#00cab1","gitDecoration.conflictingResourceForeground":"#ffca00","gitDecoration.modifiedResourceForeground":"#009fff","gitDecoration.deletedResourceForeground":"#ff2e3f","gitDecoration.untrackedResourceForeground":"#00cab1","gitDecoration.ignoredResourceForeground":"#84848A","terminal.titleForeground":"#6C6C71","terminal.titleInactiveForeground":"#84848A","terminal.background":"#f8f8f8","terminal.foreground":"#6C6C71","terminal.ansiBlack":"#1F1F21","terminal.ansiRed":"#ff2e3f","terminal.ansiGreen":"#0dbe4e","terminal.ansiYellow":"#ffca00","terminal.ansiBlue":"#009fff","terminal.ansiMagenta":"#c635e4","terminal.ansiCyan":"#08c0ef","terminal.ansiWhite":"#c6c6c8","terminal.ansiBrightBlack":"#1F1F21","terminal.ansiBrightRed":"#ff2e3f","terminal.ansiBrightGreen":"#0dbe4e","terminal.ansiBrightYellow":"#ffca00","terminal.ansiBrightBlue":"#009fff","terminal.ansiBrightMagenta":"#c635e4","terminal.ansiBrightCyan":"#08c0ef","terminal.ansiBrightWhite":"#c6c6c8"},"tokenColors":[{"scope":["comment","punctuation.definition.comment"],"settings":{"foreground":"#84848A"}},{"scope":"comment markup.link","settings":{"foreground":"#84848A"}},{"scope":["string","constant.other.symbol"],"settings":{"foreground":"#199f43"}},{"scope":["punctuation.definition.string.begin","punctuation.definition.string.end"],"settings":{"foreground":"#199f43"}},{"scope":["constant.numeric","constant.language.boolean"],"settings":{"foreground":"#1ca1c7"}},{"scope":"constant","settings":{"foreground":"#d5a910"}},{"scope":"punctuation.definition.constant","settings":{"foreground":"#d5a910"}},{"scope":"constant.language","settings":{"foreground":"#1ca1c7"}},{"scope":"variable.other.constant","settings":{"foreground":"#d5a910"}},{"scope":"keyword","settings":{"foreground":"#fc2b73"}},{"scope":"keyword.control","settings":{"foreground":"#fc2b73"}},{"scope":["storage","storage.type","storage.modifier"],"settings":{"foreground":"#fc2b73"}},{"scope":"token.storage","settings":{"foreground":"#fc2b73"}},{"scope":["keyword.operator.new","keyword.operator.expression.instanceof","keyword.operator.expression.typeof","keyword.operator.expression.void","keyword.operator.expression.delete","keyword.operator.expression.in","keyword.operator.expression.of","keyword.operator.expression.keyof"],"settings":{"foreground":"#fc2b73"}},{"scope":"keyword.operator.delete","settings":{"foreground":"#fc2b73"}},{"scope":["variable","identifier","meta.definition.variable"],"settings":{"foreground":"#d47628"}},{"scope":["variable.other.readwrite","meta.object-literal.key","support.variable.property","support.variable.object.process","support.variable.object.node"],"settings":{"foreground":"#d47628"}},{"scope":"variable.language","settings":{"foreground":"#d5a910"}},{"scope":"variable.parameter.function","settings":{"foreground":"#79797F"}},{"scope":"function.parameter","settings":{"foreground":"#79797F"}},{"scope":"variable.parameter","settings":{"foreground":"#79797F"}},{"scope":"variable.parameter.function.language.python","settings":{"foreground":"#d5a910"}},{"scope":"variable.parameter.function.python","settings":{"foreground":"#d5a910"}},{"scope":["support.function","entity.name.function","meta.function-call","meta.require","support.function.any-method","variable.function"],"settings":{"foreground":"#7b43f8"}},{"scope":"keyword.other.special-method","settings":{"foreground":"#7b43f8"}},{"scope":"entity.name.function","settings":{"foreground":"#7b43f8"}},{"scope":"support.function.console","settings":{"foreground":"#7b43f8"}},{"scope":["support.type","entity.name.type","entity.name.class","storage.type"],"settings":{"foreground":"#c635e4"}},{"scope":["support.class","entity.name.type.class"],"settings":{"foreground":"#c635e4"}},{"scope":["entity.name.class","variable.other.class.js","variable.other.class.ts"],"settings":{"foreground":"#c635e4"}},{"scope":"entity.name.class.identifier.namespace.type","settings":{"foreground":"#c635e4"}},{"scope":"entity.name.type.namespace","settings":{"foreground":"#d5a910"}},{"scope":"entity.other.inherited-class","settings":{"foreground":"#c635e4"}},{"scope":"entity.name.namespace","settings":{"foreground":"#d5a910"}},{"scope":"keyword.operator","settings":{"foreground":"#79797F"}},{"scope":["keyword.operator.logical","keyword.operator.bitwise","keyword.operator.channel"],"settings":{"foreground":"#08c0ef"}},{"scope":["keyword.operator.arithmetic","keyword.operator.comparison","keyword.operator.relational","keyword.operator.increment","keyword.operator.decrement"],"settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.assignment","settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.assignment.compound","settings":{"foreground":"#fc2b73"}},{"scope":["keyword.operator.assignment.compound.js","keyword.operator.assignment.compound.ts"],"settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.ternary","settings":{"foreground":"#fc2b73"}},{"scope":"keyword.operator.optional","settings":{"foreground":"#fc2b73"}},{"scope":"punctuation","settings":{"foreground":"#79797F"}},{"scope":"punctuation.separator.delimiter","settings":{"foreground":"#79797F"}},{"scope":"punctuation.separator.key-value","settings":{"foreground":"#79797F"}},{"scope":"punctuation.terminator","settings":{"foreground":"#79797F"}},{"scope":"meta.brace","settings":{"foreground":"#79797F"}},{"scope":"meta.brace.square","settings":{"foreground":"#79797F"}},{"scope":"meta.brace.round","settings":{"foreground":"#79797F"}},{"scope":"function.brace","settings":{"foreground":"#79797F"}},{"scope":["punctuation.definition.parameters","punctuation.definition.typeparameters"],"settings":{"foreground":"#79797F"}},{"scope":["punctuation.definition.block","punctuation.definition.tag"],"settings":{"foreground":"#79797F"}},{"scope":["meta.tag.tsx","meta.tag.jsx","meta.tag.js","meta.tag.ts"],"settings":{"foreground":"#79797F"}},{"scope":"keyword.operator.expression.import","settings":{"foreground":"#7b43f8"}},{"scope":"keyword.operator.module","settings":{"foreground":"#fc2b73"}},{"scope":"support.type.object.console","settings":{"foreground":"#d47628"}},{"scope":["support.module.node","support.type.object.module","entity.name.type.module"],"settings":{"foreground":"#d5a910"}},{"scope":"support.constant.math","settings":{"foreground":"#d5a910"}},{"scope":"support.constant.property.math","settings":{"foreground":"#d5a910"}},{"scope":"support.constant.json","settings":{"foreground":"#d5a910"}},{"scope":"support.type.object.dom","settings":{"foreground":"#08c0ef"}},{"scope":["support.variable.dom","support.variable.property.dom"],"settings":{"foreground":"#d47628"}},{"scope":"support.variable.property.process","settings":{"foreground":"#d5a910"}},{"scope":"meta.property.object","settings":{"foreground":"#d47628"}},{"scope":"variable.parameter.function.js","settings":{"foreground":"#d47628"}},{"scope":["keyword.other.template.begin","keyword.other.template.end"],"settings":{"foreground":"#199f43"}},{"scope":["keyword.other.substitution.begin","keyword.other.substitution.end"],"settings":{"foreground":"#199f43"}},{"scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end"],"settings":{"foreground":"#fc2b73"}},{"scope":"meta.template.expression","settings":{"foreground":"#79797F"}},{"scope":"punctuation.section.embedded","settings":{"foreground":"#d47628"}},{"scope":"variable.interpolation","settings":{"foreground":"#d47628"}},{"scope":["punctuation.section.embedded.begin","punctuation.section.embedded.end"],"settings":{"foreground":"#fc2b73"}},{"scope":"punctuation.quasi.element","settings":{"foreground":"#fc2b73"}},{"scope":["support.type.primitive.ts","support.type.builtin.ts","support.type.primitive.tsx","support.type.builtin.tsx"],"settings":{"foreground":"#c635e4"}},{"scope":"support.type.type.flowtype","settings":{"foreground":"#7b43f8"}},{"scope":"support.type.primitive","settings":{"foreground":"#c635e4"}},{"scope":"support.variable.magic.python","settings":{"foreground":"#d52c36"}},{"scope":"variable.parameter.function.language.special.self.python","settings":{"foreground":"#d5a910"}},{"scope":["punctuation.separator.period.python","punctuation.separator.element.python","punctuation.parenthesis.begin.python","punctuation.parenthesis.end.python"],"settings":{"foreground":"#79797F"}},{"scope":["punctuation.definition.arguments.begin.python","punctuation.definition.arguments.end.python","punctuation.separator.arguments.python","punctuation.definition.list.begin.python","punctuation.definition.list.end.python"],"settings":{"foreground":"#79797F"}},{"scope":"support.type.python","settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.logical.python","settings":{"foreground":"#fc2b73"}},{"scope":"meta.function-call.generic.python","settings":{"foreground":"#7b43f8"}},{"scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#d5a910"}},{"scope":"meta.function.decorator.python","settings":{"foreground":"#7b43f8"}},{"scope":["support.token.decorator.python","meta.function.decorator.identifier.python"],"settings":{"foreground":"#08c0ef"}},{"scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#79797F"}},{"scope":"support.function.std.rust","settings":{"foreground":"#7b43f8"}},{"scope":"entity.name.lifetime.rust","settings":{"foreground":"#d5a910"}},{"scope":"variable.language.rust","settings":{"foreground":"#d52c36"}},{"scope":"keyword.operator.misc.rust","settings":{"foreground":"#79797F"}},{"scope":"keyword.operator.sigil.rust","settings":{"foreground":"#fc2b73"}},{"scope":"support.constant.core.rust","settings":{"foreground":"#d5a910"}},{"scope":["meta.function.c","meta.function.cpp"],"settings":{"foreground":"#d52c36"}},{"scope":["punctuation.section.block.begin.bracket.curly.cpp","punctuation.section.block.end.bracket.curly.cpp","punctuation.terminator.statement.c","punctuation.section.block.begin.bracket.curly.c","punctuation.section.block.end.bracket.curly.c","punctuation.section.parens.begin.bracket.round.c","punctuation.section.parens.end.bracket.round.c","punctuation.section.parameters.begin.bracket.round.c","punctuation.section.parameters.end.bracket.round.c"],"settings":{"foreground":"#79797F"}},{"scope":["keyword.operator.assignment.c","keyword.operator.comparison.c","keyword.operator.c","keyword.operator.increment.c","keyword.operator.decrement.c","keyword.operator.bitwise.shift.c"],"settings":{"foreground":"#fc2b73"}},{"scope":["keyword.operator.assignment.cpp","keyword.operator.comparison.cpp","keyword.operator.cpp","keyword.operator.increment.cpp","keyword.operator.decrement.cpp","keyword.operator.bitwise.shift.cpp"],"settings":{"foreground":"#fc2b73"}},{"scope":["punctuation.separator.c","punctuation.separator.cpp"],"settings":{"foreground":"#fc2b73"}},{"scope":["support.type.posix-reserved.c","support.type.posix-reserved.cpp"],"settings":{"foreground":"#08c0ef"}},{"scope":["keyword.operator.sizeof.c","keyword.operator.sizeof.cpp"],"settings":{"foreground":"#fc2b73"}},{"scope":"variable.c","settings":{"foreground":"#79797F"}},{"scope":["storage.type.annotation.java","storage.type.object.array.java"],"settings":{"foreground":"#d5a910"}},{"scope":"source.java","settings":{"foreground":"#d52c36"}},{"scope":["punctuation.section.block.begin.java","punctuation.section.block.end.java","punctuation.definition.method-parameters.begin.java","punctuation.definition.method-parameters.end.java","meta.method.identifier.java","punctuation.section.method.begin.java","punctuation.section.method.end.java","punctuation.terminator.java","punctuation.section.class.begin.java","punctuation.section.class.end.java","punctuation.section.inner-class.begin.java","punctuation.section.inner-class.end.java","meta.method-call.java","punctuation.section.class.begin.bracket.curly.java","punctuation.section.class.end.bracket.curly.java","punctuation.section.method.begin.bracket.curly.java","punctuation.section.method.end.bracket.curly.java","punctuation.separator.period.java","punctuation.bracket.angle.java","punctuation.definition.annotation.java","meta.method.body.java"],"settings":{"foreground":"#79797F"}},{"scope":"meta.method.java","settings":{"foreground":"#7b43f8"}},{"scope":["storage.modifier.import.java","storage.type.java","storage.type.generic.java"],"settings":{"foreground":"#d5a910"}},{"scope":"keyword.operator.instanceof.java","settings":{"foreground":"#fc2b73"}},{"scope":"meta.definition.variable.name.java","settings":{"foreground":"#d52c36"}},{"scope":"token.variable.parameter.java","settings":{"foreground":"#79797F"}},{"scope":"import.storage.java","settings":{"foreground":"#d5a910"}},{"scope":"token.package.keyword","settings":{"foreground":"#fc2b73"}},{"scope":"token.package","settings":{"foreground":"#79797F"}},{"scope":"token.storage.type.java","settings":{"foreground":"#d5a910"}},{"scope":"keyword.operator.assignment.go","settings":{"foreground":"#d5a910"}},{"scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#fc2b73"}},{"scope":"entity.name.package.go","settings":{"foreground":"#d5a910"}},{"scope":["support.other.namespace.use.php","support.other.namespace.use-as.php","support.other.namespace.php","entity.other.alias.php","meta.interface.php"],"settings":{"foreground":"#d5a910"}},{"scope":"keyword.operator.error-control.php","settings":{"foreground":"#fc2b73"}},{"scope":"keyword.operator.type.php","settings":{"foreground":"#fc2b73"}},{"scope":["punctuation.section.array.begin.php","punctuation.section.array.end.php"],"settings":{"foreground":"#79797F"}},{"scope":["storage.type.php","meta.other.type.phpdoc.php","keyword.other.type.php","keyword.other.array.phpdoc.php"],"settings":{"foreground":"#d5a910"}},{"scope":["meta.function-call.php","meta.function-call.object.php","meta.function-call.static.php"],"settings":{"foreground":"#7b43f8"}},{"scope":["punctuation.definition.parameters.begin.bracket.round.php","punctuation.definition.parameters.end.bracket.round.php","punctuation.separator.delimiter.php","punctuation.section.scope.begin.php","punctuation.section.scope.end.php","punctuation.terminator.expression.php","punctuation.definition.arguments.begin.bracket.round.php","punctuation.definition.arguments.end.bracket.round.php","punctuation.definition.storage-type.begin.bracket.round.php","punctuation.definition.storage-type.end.bracket.round.php","punctuation.definition.array.begin.bracket.round.php","punctuation.definition.array.end.bracket.round.php","punctuation.definition.begin.bracket.round.php","punctuation.definition.end.bracket.round.php","punctuation.definition.begin.bracket.curly.php","punctuation.definition.end.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php","punctuation.definition.section.switch-block.start.bracket.curly.php","punctuation.definition.section.switch-block.begin.bracket.curly.php","punctuation.definition.section.switch-block.end.bracket.curly.php"],"settings":{"foreground":"#79797F"}},{"scope":["support.constant.ext.php","support.constant.std.php","support.constant.core.php","support.constant.parser-token.php"],"settings":{"foreground":"#d5a910"}},{"scope":["entity.name.goto-label.php","support.other.php"],"settings":{"foreground":"#7b43f8"}},{"scope":["keyword.operator.logical.php","keyword.operator.bitwise.php","keyword.operator.arithmetic.php"],"settings":{"foreground":"#08c0ef"}},{"scope":"keyword.operator.regexp.php","settings":{"foreground":"#fc2b73"}},{"scope":"keyword.operator.comparison.php","settings":{"foreground":"#08c0ef"}},{"scope":["keyword.operator.heredoc.php","keyword.operator.nowdoc.php"],"settings":{"foreground":"#fc2b73"}},{"scope":"variable.other.class.php","settings":{"foreground":"#d52c36"}},{"scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"scope":"variable.other.generic-type.haskell","settings":{"foreground":"#fc2b73"}},{"scope":"storage.type.haskell","settings":{"foreground":"#d5a910"}},{"scope":"storage.type.cs","settings":{"foreground":"#d5a910"}},{"scope":"entity.name.variable.local.cs","settings":{"foreground":"#d52c36"}},{"scope":"entity.name.label.cs","settings":{"foreground":"#d5a910"}},{"scope":["entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#d5a910"}},{"scope":["punctuation.definition.delayed.unison","punctuation.definition.list.begin.unison","punctuation.definition.list.end.unison","punctuation.definition.ability.begin.unison","punctuation.definition.ability.end.unison","punctuation.operator.assignment.as.unison","punctuation.separator.pipe.unison","punctuation.separator.delimiter.unison","punctuation.definition.hash.unison"],"settings":{"foreground":"#d52c36"}},{"scope":"support.constant.edge","settings":{"foreground":"#fc2b73"}},{"scope":"support.type.prelude.elm","settings":{"foreground":"#08c0ef"}},{"scope":"support.constant.elm","settings":{"foreground":"#d5a910"}},{"scope":"entity.global.clojure","settings":{"foreground":"#d5a910"}},{"scope":"meta.symbol.clojure","settings":{"foreground":"#d52c36"}},{"scope":"constant.keyword.clojure","settings":{"foreground":"#08c0ef"}},{"scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#d52c36"}},{"scope":"storage.modifier.import.groovy","settings":{"foreground":"#d5a910"}},{"scope":"meta.method.groovy","settings":{"foreground":"#7b43f8"}},{"scope":"meta.definition.variable.name.groovy","settings":{"foreground":"#d52c36"}},{"scope":"meta.definition.class.inherited.classes.groovy","settings":{"foreground":"#199f43"}},{"scope":"support.variable.semantic.hlsl","settings":{"foreground":"#d5a910"}},{"scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#fc2b73"}},{"scope":["text.variable","text.bracketed"],"settings":{"foreground":"#d52c36"}},{"scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#d5a910"}},{"scope":"meta.scope.prerequisites.makefile","settings":{"foreground":"#d52c36"}},{"scope":"source.makefile","settings":{"foreground":"#d5a910"}},{"scope":"source.ini","settings":{"foreground":"#199f43"}},{"scope":"constant.language.symbol.ruby","settings":{"foreground":"#08c0ef"}},{"scope":["function.parameter.ruby","function.parameter.cs"],"settings":{"foreground":"#79797F"}},{"scope":"constant.language.symbol.elixir","settings":{"foreground":"#08c0ef"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#fc2b73"}},{"scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#fc2b73"}},{"scope":"entity.name.function.xi","settings":{"foreground":"#d5a910"}},{"scope":"entity.name.class.xi","settings":{"foreground":"#08c0ef"}},{"scope":"constant.character.character-class.regexp.xi","settings":{"foreground":"#d52c36"}},{"scope":"constant.regexp.xi","settings":{"foreground":"#fc2b73"}},{"scope":"keyword.control.xi","settings":{"foreground":"#08c0ef"}},{"scope":"invalid.xi","settings":{"foreground":"#79797F"}},{"scope":"beginning.punctuation.definition.quote.markdown.xi","settings":{"foreground":"#199f43"}},{"scope":"beginning.punctuation.definition.list.markdown.xi","settings":{"foreground":"#84848A"}},{"scope":"constant.character.xi","settings":{"foreground":"#7b43f8"}},{"scope":"accent.xi","settings":{"foreground":"#7b43f8"}},{"scope":"wikiword.xi","settings":{"foreground":"#d5a910"}},{"scope":"constant.other.color.rgb-value.xi","settings":{"foreground":"#070707"}},{"scope":"punctuation.definition.tag.xi","settings":{"foreground":"#84848A"}},{"scope":["support.constant.property-value.scss","support.constant.property-value.css"],"settings":{"foreground":"#d5a910"}},{"scope":["keyword.operator.css","keyword.operator.scss","keyword.operator.less"],"settings":{"foreground":"#08c0ef"}},{"scope":["support.constant.color.w3c-standard-color-name.css","support.constant.color.w3c-standard-color-name.scss"],"settings":{"foreground":"#d5a910"}},{"scope":"punctuation.separator.list.comma.css","settings":{"foreground":"#79797F"}},{"scope":"support.type.vendored.property-name.css","settings":{"foreground":"#08c0ef"}},{"scope":"support.type.property-name.css","settings":{"foreground":"#08c0ef"}},{"scope":"support.type.property-name","settings":{"foreground":"#79797F"}},{"scope":"support.constant.property-value","settings":{"foreground":"#79797F"}},{"scope":"support.constant.font-name","settings":{"foreground":"#d5a910"}},{"scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#16a994","fontStyle":"normal"}},{"scope":"entity.other.attribute-name.id","settings":{"foreground":"#7b43f8","fontStyle":"normal"}},{"scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#08c0ef"}},{"scope":"meta.selector","settings":{"foreground":"#fc2b73"}},{"scope":"selector.sass","settings":{"foreground":"#d52c36"}},{"scope":"rgb-value","settings":{"foreground":"#08c0ef"}},{"scope":"inline-color-decoration rgb-value","settings":{"foreground":"#d5a910"}},{"scope":"less rgb-value","settings":{"foreground":"#d5a910"}},{"scope":"control.elements","settings":{"foreground":"#d5a910"}},{"scope":"keyword.operator.less","settings":{"foreground":"#d5a910"}},{"scope":"entity.name.tag","settings":{"foreground":"#d52c36"}},{"scope":"entity.other.attribute-name","settings":{"foreground":"#16a994","fontStyle":"normal"}},{"scope":"constant.character.entity","settings":{"foreground":"#d52c36"}},{"scope":"meta.tag","settings":{"foreground":"#79797F"}},{"scope":"invalid.illegal.bad-ampersand.html","settings":{"foreground":"#79797F"}},{"scope":"markup.heading","settings":{"foreground":"#d52c36"}},{"scope":["markup.heading punctuation.definition.heading","entity.name.section"],"settings":{"foreground":"#7b43f8"}},{"scope":"entity.name.section.markdown","settings":{"foreground":"#d52c36"}},{"scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#d52c36"}},{"scope":"markup.heading.setext","settings":{"foreground":"#79797F"}},{"scope":["markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#d52c36"}},{"scope":["markup.bold","todo.bold"],"settings":{"foreground":"#d5a910"}},{"scope":"punctuation.definition.bold","settings":{"foreground":"#d5a910"}},{"scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#d5a910"}},{"scope":["markup.italic","punctuation.definition.italic","todo.emphasis"],"settings":{"foreground":"#fc2b73","fontStyle":"italic"}},{"scope":"emphasis md","settings":{"foreground":"#fc2b73"}},{"scope":"markup.italic.markdown","settings":{"fontStyle":"italic"}},{"scope":["markup.underline.link.markdown","markup.underline.link.image.markdown"],"settings":{"foreground":"#fc2b73"}},{"scope":["string.other.link.title.markdown","string.other.link.description.markdown"],"settings":{"foreground":"#7b43f8"}},{"scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#d52c36"}},{"scope":["markup.inline.raw.markdown","markup.inline.raw.string.markdown"],"settings":{"foreground":"#199f43"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#d52c36"}},{"scope":"punctuation.definition.list.markdown","settings":{"foreground":"#d52c36"}},{"scope":"beginning.punctuation.definition.list.markdown","settings":{"foreground":"#d52c36"}},{"scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown"],"settings":{"foreground":"#d52c36"}},{"scope":"markup.quote.markdown","settings":{"foreground":"#84848A"}},{"scope":"keyword.other.unit","settings":{"foreground":"#d52c36"}},{"scope":"markup.changed.diff","settings":{"foreground":"#d5a910"}},{"scope":["meta.diff.header.from-file","meta.diff.header.to-file","punctuation.definition.from-file.diff","punctuation.definition.to-file.diff"],"settings":{"foreground":"#7b43f8"}},{"scope":"markup.inserted.diff","settings":{"foreground":"#199f43"}},{"scope":"markup.deleted.diff","settings":{"foreground":"#d52c36"}},{"scope":"string.regexp","settings":{"foreground":"#17a5af"}},{"scope":"constant.other.character-class.regexp","settings":{"foreground":"#d52c36"}},{"scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#d5a910"}},{"scope":"constant.character.escape","settings":{"foreground":"#1ca1c7"}},{"scope":"source.json meta.structure.dictionary.json > string.quoted.json","settings":{"foreground":"#d52c36"}},{"scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#d52c36"}},{"scope":["source.json meta.structure.dictionary.json > value.json > string.quoted.json","source.json meta.structure.array.json > value.json > string.quoted.json","source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation","source.json meta.structure.array.json > value.json > string.quoted.json > punctuation"],"settings":{"foreground":"#199f43"}},{"scope":["source.json meta.structure.dictionary.json > constant.language.json","source.json meta.structure.array.json > constant.language.json"],"settings":{"foreground":"#08c0ef"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#d52c36"}},{"scope":"support.type.property-name.json punctuation","settings":{"foreground":"#d52c36"}},{"scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#79797F"}},{"scope":"block.scope.end","settings":{"foreground":"#79797F"}},{"scope":"block.scope.begin","settings":{"foreground":"#79797F"}},{"scope":"token.info-token","settings":{"foreground":"#7b43f8"}},{"scope":"token.warn-token","settings":{"foreground":"#d5a910"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#fc2b73"}},{"scope":"invalid.illegal","settings":{"foreground":"#070707"}},{"scope":"invalid.broken","settings":{"foreground":"#070707"}},{"scope":"invalid.deprecated","settings":{"foreground":"#070707"}},{"scope":"invalid.unimplemented","settings":{"foreground":"#070707"}}],"semanticTokenColors":{"comment":"#84848A","string":"#199f43","number":"#1ca1c7","regexp":"#17a5af","keyword":"#fc2b73","variable":"#d47628","parameter":"#79797F","property":"#d47628","function":"#7b43f8","method":"#7b43f8","type":"#c635e4","class":"#c635e4","namespace":"#d5a910","enumMember":"#08c0ef","variable.constant":"#d5a910","variable.defaultLibrary":"#d5a910"}}'))}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6935],{6935:(e,t,s)=>{s.d(t,{V:()=>X});var n=s(95155),l=s(63690),a=s(20660),r=s(64577),i=s(44354),o=s(83212),c=s(19257),d=s(797),u=s(12363),f=s(92571),h=s(94088),m=s(1275),x=s(15480),p=s(19707),g=s(58309),j=s(99537);let w=(0,j.A)("arrow-up-from-line",[["path",{d:"m18 9-6-6-6 6",key:"kcunyi"}],["path",{d:"M12 3v14",key:"7cf3v8"}],["path",{d:"M5 21h14",key:"11awu3"}]]),k=(0,j.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"}]]);var y=s(9383),N=s(65738),b=s(73321),C=s(12115),v=s(3765),S=s(55181),A=s(57594),E=s(43493),F=s(89239),R=s(11701),M=s(22317),z=s(89323),I=s(30090),L=s(40980);function P({checked:e,onChange:t,onClick:s}){return(0,n.jsx)("button",{type:"button",role:"checkbox","aria-checked":e,onClick:e=>{s?.(e),t()},className:(0,L.cn)("h-4 w-4 shrink-0 rounded border flex items-center justify-center transition-colors",e?"border-primary bg-primary text-primary-foreground":"border-muted-foreground/40 bg-transparent hover:border-muted-foreground/60"),children:e&&(0,n.jsx)(r.A,{className:"h-3 w-3",strokeWidth:3})})}function $(e){switch(e){case"added":case"untracked":return(0,n.jsx)(i.A,{className:"h-3.5 w-3.5 text-green-500 shrink-0"});case"deleted":return(0,n.jsx)(o.A,{className:"h-3.5 w-3.5 text-red-500 shrink-0"});case"renamed":return(0,n.jsx)(c.A,{className:"h-3.5 w-3.5 text-blue-500 shrink-0"});default:return(0,n.jsx)(d.A,{className:"h-3.5 w-3.5 text-yellow-500 shrink-0"})}}function T(){return!("u"<typeof document)&&document.documentElement.classList.contains("dark")}function D(e,t,s){let n=t.split(/\r?\n/).map(e=>e+"\n"),l=s.split(/\r?\n/).map(e=>e+"\n");for(let t of e.hunks){let e=t.deletionStart-1-t.deletionLineIndex,s=t.additionStart-1-t.additionLineIndex;for(let n of(t.deletionLineIndex=t.deletionStart-1,t.additionLineIndex=t.additionStart-1,t.hunkContent))n.deletionLineIndex+=e,n.additionLineIndex+=s}e.deletionLines=n,e.additionLines=l,e.isPartial=!1}function O({files:e,selectedFile:t,checkedFiles:s,onFileClick:l,onContextMenu:a,onToggleFile:r,onToggleAll:i}){return 0===e.length?(0,n.jsx)("div",{className:"flex items-center justify-center py-12 text-sm text-muted-foreground",children:"Working tree clean"}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"px-3 py-1.5 border-b flex items-center gap-2",children:[(0,n.jsx)(P,{checked:s.size===e.length,onChange:i}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:"Select all"})]}),e.map(e=>(0,n.jsxs)("div",{className:(0,L.cn)("flex items-center gap-2 px-3 py-1.5 text-sm cursor-pointer border-b last:border-b-0 hover:bg-muted/50",t===e.path&&"bg-muted"),onClick:()=>l(e),onContextMenu:t=>a(t,e),children:[(0,n.jsx)(P,{checked:s.has(e.path),onChange:()=>r(e.path),onClick:e=>e.stopPropagation()}),$(e.status),(0,n.jsx)("span",{className:"font-mono text-xs truncate flex-1 min-w-0 text-left",dir:"rtl",title:e.path,children:(0,n.jsx)("bdo",{dir:"ltr",children:e.path})}),(e.additions>0||e.deletions>0)&&(0,n.jsxs)("span",{className:"text-xs font-mono shrink-0 flex items-center gap-1",children:[e.additions>0&&(0,n.jsxs)("span",{className:"text-green-500",children:["+",e.additions]}),e.deletions>0&&(0,n.jsxs)("span",{className:"text-red-500",children:["-",e.deletions]})]}),(0,n.jsx)("span",{className:(0,L.cn)("text-xs font-mono shrink-0","added"===e.status||"untracked"===e.status?"text-green-500":"deleted"===e.status?"text-red-500":"text-yellow-500"),children:function(e){switch(e){case"added":return"A";case"deleted":return"D";case"renamed":return"R";case"untracked":return"?";default:return"M"}}(e.status)})]},e.path))]})}function U({files:e,cwd:t,diffStyle:s,scrollToFile:r,onScrolled:i,onViewFile:o,checkedFiles:c,onToggleFile:d,refreshKey:x}){let[p,g]=(0,C.useState)(new Map),j=(0,C.useRef)(new Map),w=(0,C.useRef)(new Set),k=(0,C.useRef)(x),[y,N]=(0,C.useState)(new Set),b=(0,C.useCallback)(e=>{g(t=>{let s=new Map(t);return s.set(e,{diff:t.get(e)?.diff||null,fileDiff:t.get(e)?.fileDiff||null,loading:!0}),s}),fetch(`/api/git/diff?cwd=${encodeURIComponent(t)}&file=${encodeURIComponent(e)}`).then(e=>{if(!e.ok)throw Error("Failed");return e.json()}).then(t=>{let s=null;try{let e=(0,l.J2)(t.diff);e.length>0&&e[0].files.length>0&&(s=e[0].files[0],null!=t.oldContent&&null!=t.newContent&&D(s,t.oldContent,t.newContent))}catch{}g(n=>{let l=new Map(n);return l.set(e,{diff:t.diff,fileDiff:s,loading:!1}),l})}).catch(()=>{g(t=>{let s=new Map(t);return s.set(e,{diff:null,fileDiff:null,loading:!1}),s})})},[t]);(0,C.useEffect)(()=>{let t=x!==k.current;k.current=x,t&&w.current.clear();let s=new Set(e.map(e=>e.path));for(let t of e.filter(e=>!w.current.has(e.path)))w.current.add(t.path),b(t.path);for(let e of w.current)s.has(e)||w.current.delete(e)},[e,b,x]),(0,C.useEffect)(()=>{if(!r)return;let e=j.current.get(r);e&&e.scrollIntoView({behavior:"smooth",block:"start"}),i()},[r,i]);let v=(0,C.useCallback)(e=>{N(t=>{let s=new Set(t);return s.has(e)?s.delete(e):s.add(e),s})},[]),S=(0,C.useCallback)(e=>{d(e),c.has(e)||N(t=>new Set(t).add(e))},[d,c]);return 0===e.length?(0,n.jsx)("div",{className:"flex items-center justify-center h-full text-sm text-muted-foreground",children:"No changes"}):(0,n.jsx)("div",{className:"p-4 space-y-3",children:e.map(e=>{let t=p.get(e.path),l=c.has(e.path),r=y.has(e.path);return(0,n.jsx)("div",{ref:t=>{t&&j.current.set(e.path,t)},className:(0,L.cn)("rounded border overflow-clip",l&&!r&&"opacity-60"),children:r?(0,n.jsxs)("div",{className:"flex items-center gap-2 w-full px-4 py-2 text-sm text-muted-foreground",children:[(0,n.jsx)(P,{checked:l,onChange:()=>{d(e.path),l&&N(t=>{let s=new Set(t);return s.delete(e.path),s})},onClick:e=>e.stopPropagation()}),(0,n.jsxs)("button",{onClick:()=>v(e.path),className:"flex items-center gap-2 flex-1 min-w-0 hover:text-foreground transition-colors",children:[(0,n.jsx)(u.A,{className:"h-3.5 w-3.5 shrink-0"}),(0,n.jsx)("span",{className:"font-mono text-xs truncate text-left",dir:"rtl",title:e.path,children:(0,n.jsx)("bdo",{dir:"ltr",children:e.path})})]})]}):t?.loading&&!t.diff?(0,n.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,n.jsx)(f.A,{className:"h-4 w-4 animate-spin text-muted-foreground"})}):t?.diff?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"sticky top-0 z-10 flex items-center gap-2 px-4 py-1.5 text-sm border-b bg-muted/80 backdrop-blur-sm","data-testid":"sticky-diff-header",children:[$(e.status),(0,n.jsx)("span",{className:"font-mono text-xs truncate flex-1 min-w-0 text-left",dir:"rtl",title:e.path,children:(0,n.jsx)("bdo",{dir:"ltr",children:e.path})}),(0,n.jsx)(P,{checked:l,onChange:()=>S(e.path),onClick:e=>e.stopPropagation()}),(0,n.jsx)("button",{onClick:()=>v(e.path),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",title:"Collapse",children:(0,n.jsx)(h.A,{className:"h-3 w-3"})}),(0,n.jsx)("button",{onClick:()=>o(e.path),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",children:(0,n.jsx)(m.A,{className:"h-3 w-3"})})]}),(0,n.jsx)(A.sU,{fallback:(0,n.jsx)("pre",{className:"p-4 text-xs text-muted-foreground whitespace-pre-wrap",children:t.diff}),children:t.fileDiff?(0,n.jsx)(a.Q,{fileDiff:t.fileDiff,options:{theme:{dark:"pierre-dark",light:"pierre-light"},themeType:T()?"dark":"light",overflow:"wrap",diffStyle:s,disableFileHeader:!0,hunkSeparators:"line-info",expansionLineCount:20,unsafeCSS:A.j8}}):(0,n.jsx)("pre",{className:"p-4 text-xs text-muted-foreground whitespace-pre-wrap",children:t.diff})})]}):(0,n.jsx)("div",{className:"px-4 py-3 text-xs text-muted-foreground",children:"No diff available"})},e.path)})})}let J=new Map;function X({cwd:e,sessionId:t,embeddedChat:s=!0,manageSidebar:i=!0}){let o,c,d,{settings:j}=(0,M.t)(),{setSidebarSection:_,removeSidebarSection:W,closeSidebar:G}=(0,v.E2)(),{send:V,subscribe:H}=(0,z.h)(),Q=(0,b.useRouter)(),q=(0,R.G)(),[K,Y]=(0,C.useState)(null),[B,Z]=(0,C.useState)(!0),[ee,et]=(0,C.useState)(null),es=J.get(e)||{selectedFile:null,commitMsg:"",commitPanelOpen:window.matchMedia("(min-width: 768px)").matches,pushOnCommit:!1,stackedMode:!0,chatRatio:.3},[en,el]=(0,C.useState)(es.selectedFile),[ea,er]=(0,C.useState)(null),[ei,eo]=(0,C.useState)(null),[ec,ed]=(0,C.useState)(!1),[eu,ef]=(0,C.useState)(null),[eh,em]=(0,C.useState)(es.commitMsg),[ex,ep]=(0,C.useState)(!1),[eg,ej]=(0,C.useState)(null),{checkedFiles:ew,toggleFile:ek,toggleAll:ey,setCheckedFiles:eN}=(0,I.e)(e),[eb,eC]=(0,C.useState)(es.pushOnCommit),[ev,eS]=(0,C.useState)(es.commitPanelOpen),[eA,eE]=(0,C.useState)(!1),[eF,eR]=(0,C.useState)(!1),[eM,ez]=(0,C.useState)(null),[eI,eL]=(0,C.useState)(es.stackedMode),[eP,e$]=(0,C.useState)(es.chatRatio),[eT,eD]=(0,C.useState)(null),[eO,eU]=(0,C.useState)(0),eJ=(0,C.useRef)(null);(0,C.useEffect)(()=>{J.set(e,{selectedFile:en,commitMsg:eh,commitPanelOpen:ev,pushOnCommit:eb,stackedMode:eI,chatRatio:eP})},[e,en,eh,ev,eb,eI,eP]);let eX=(0,C.useCallback)(t=>{t?.refresh||Z(!0),et(null);let s=new URLSearchParams({cwd:e});t?.gitFetch&&s.set("fetch","1"),fetch(`/api/git/status?${s}`).then(e=>{if(!e.ok)throw Error("Failed");return e.json()}).then(e=>{Y(e),t?.refresh&&eU(e=>e+1)}).catch(()=>et("Not a git repository")).finally(()=>Z(!1))},[e]);(0,C.useEffect)(()=>{eX()},[eX]),(0,C.useEffect)(()=>{V({type:"watch:cwd",cwd:e})},[V,e]);let e_=(0,C.useRef)(null);(0,C.useEffect)(()=>{if(t)return H(e=>{if("session:status"!==e.type||!("sessionId"in e)||e.sessionId!==t)return;let s=e_.current;e_.current=e.status,"running"===s&&"idle"===e.status&&eX({refresh:!0})})},[t,H,eX]),(0,C.useEffect)(()=>H(e=>{"session:fs_changed"===e.type&&eX({refresh:!0})}),[H,eX]);let eW=(0,C.useCallback)(t=>{ed(!0),er(null),eo(null),fetch(`/api/git/diff?cwd=${encodeURIComponent(e)}&file=${encodeURIComponent(t)}`).then(e=>{if(!e.ok)throw Error("Failed");return e.json()}).then(e=>{er(e.diff);try{let t=(0,l.J2)(e.diff);if(t.length>0&&t[0].files.length>0){let s=t[0].files[0];null!=e.oldContent&&null!=e.newContent&&D(s,e.oldContent,e.newContent),eo(s)}}catch{}}).catch(()=>er(null)).finally(()=>ed(!1))},[e]),eG=(0,C.useRef)(eO);(0,C.useEffect)(()=>{if(!en||eI)return;let t=eG.current!==eO;eG.current=eO,t?fetch(`/api/git/diff?cwd=${encodeURIComponent(e)}&file=${encodeURIComponent(en)}`).then(e=>{if(!e.ok)throw Error("Failed");return e.json()}).then(e=>{er(e.diff);try{let t=(0,l.J2)(e.diff);if(t.length>0&&t[0].files.length>0){let s=t[0].files[0];null!=e.oldContent&&null!=e.newContent&&D(s,e.oldContent,e.newContent),eo(s)}}catch{}}).catch(()=>{}):eW(en)},[eI,en,eW,eO,e]),(0,C.useEffect)(()=>{if(!K||0===K.files.length||en||eI)return;let e=K.files[0];el(e.path),eW(e.path)},[K,en,eI,eW]);let eV=(0,C.useCallback)(e=>{eI?eD(e.path):(el(e.path),eW(e.path),ef(null),G())},[eI,eW,G]),eH=(0,C.useCallback)((e,t)=>{e.preventDefault(),ef({x:e.clientX,y:e.clientY,file:t})},[]),eQ=(0,C.useCallback)(async t=>{ef(null);try{if(!(await fetch("/api/git/discard",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,file:t.path,status:t.status})})).ok)throw Error("Failed");en===t.path&&(el(null),er(null)),eX()}catch{}},[e,en,eX]),eq=(0,C.useCallback)(async()=>{if(eh.trim()&&0!==ew.size){ep(!0),ej(null);try{let t=await fetch("/api/git/commit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,message:eh.trim(),files:Array.from(ew),push:eb})});if(!t.ok){let e=await t.json();throw Error(e.error||"Failed to commit")}ej({ok:!0,message:eb?"Committed and pushed":"Committed"}),em(""),eN(new Set),el(null),er(null),eX()}catch(e){ej({ok:!1,message:e instanceof Error?e.message:"Failed"})}finally{ep(!1)}}},[e,eh,ew,eb,eX,eN]),eK=(0,C.useCallback)(async()=>{if(0!==ew.size){eE(!0);try{let t=await fetch("/api/git/generate-message",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,files:Array.from(ew)})}),s=await t.json();if(!t.ok)throw Error(s.error||"Failed");s.message&&em(s.message)}catch(e){console.error("[generate-message]",e)}finally{eE(!1)}}},[e,ew]),eY=(0,C.useCallback)(async()=>{eR(!0),ez(null);try{let t=await fetch("/api/git/push",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e})});if(!t.ok){let e=await t.json();throw Error(e.error||"Failed to push")}ez({ok:!0,message:"Pushed"}),eX()}catch(e){ez({ok:!1,message:e instanceof Error?e.message:"Failed"})}finally{eR(!1)}},[e,eX]),eB=(0,C.useCallback)(()=>{K&&ey(K.files.map(e=>e.path))},[K,ey]),eZ=(0,C.useCallback)(e=>{let t=window.innerWidth||1;e$(s=>Math.max(.15,Math.min(.5,s+e/t)))},[]),e0=(0,C.useCallback)(()=>{eD(null)},[]),e1=(0,C.useCallback)(t=>{let s=t.startsWith("/")?t:`${e}/${t}`;Q.push(`/files?cwd=${encodeURIComponent(e)}&file=${encodeURIComponent(s)}`)},[e,Q]);if((0,C.useEffect)(()=>{if(i)return K&&0!==K.files.length?(_({id:"git-changes",title:"Changes",order:20,badge:String(K.files.length),content:(0,n.jsx)(O,{files:K.files,selectedFile:eI?null:en,checkedFiles:ew,onFileClick:eV,onContextMenu:eH,onToggleFile:ek,onToggleAll:eB})}),()=>W("git-changes")):void W("git-changes")},[i,K,en,ew,eI,eV,eH,ek,eB,_,W]),(0,C.useEffect)(()=>{if(!eu)return;let e=e=>{eJ.current&&!eJ.current.contains(e.target)&&ef(null)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[eu]),B)return(0,n.jsx)("div",{className:"flex items-center justify-center flex-1",children:(0,n.jsx)(f.A,{className:"h-6 w-6 animate-spin text-muted-foreground"})});if(ee)return(0,n.jsx)("div",{className:"flex items-center justify-center flex-1",children:(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:ee})});if(!K)return null;let e5=s&&q&&!!t;return(0,n.jsxs)("div",{className:"flex flex-col flex-1 min-h-0",children:[(0,n.jsxs)("div",{className:"shrink-0 border-b px-4 py-2 flex items-center gap-3",children:[(0,n.jsx)(x.A,{className:"h-4 w-4 text-muted-foreground"}),(0,n.jsx)("span",{className:"font-mono text-sm font-bold",children:K.branch}),(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:[K.files.length," file",1!==K.files.length?"s":""," changed"]}),(o=K.files.reduce((e,t)=>e+t.additions,0),c=K.files.reduce((e,t)=>e+t.deletions,0),o>0||c>0?(0,n.jsxs)("span",{className:"text-xs font-mono flex items-center gap-1",children:[o>0&&(0,n.jsxs)("span",{className:"text-green-500",children:["+",o]}),c>0&&(0,n.jsxs)("span",{className:"text-red-500",children:["-",c]})]}):null),K.ahead>0&&(0,n.jsxs)("span",{className:"text-xs text-muted-foreground",children:[K.ahead," unpushed"]}),eM&&(0,n.jsxs)("span",{className:(0,L.cn)("text-xs flex items-center gap-1",eM.ok?"text-green-500":"text-red-500"),children:[eM.ok&&(0,n.jsx)(r.A,{className:"h-3 w-3"}),eM.message]}),(0,n.jsx)("div",{className:"flex-1"}),K.files.length>0&&(0,n.jsxs)("div",{className:"flex items-center gap-0.5 rounded-md border p-0.5",children:[(0,n.jsx)("button",{onClick:()=>eL(!0),className:(0,L.cn)("rounded px-1.5 py-0.5 text-xs transition-colors",eI?"bg-primary text-primary-foreground":"text-muted-foreground hover:text-foreground"),title:"Stacked view",children:(0,n.jsx)(p.A,{className:"h-3.5 w-3.5"})}),(0,n.jsx)("button",{onClick:()=>eL(!1),className:(0,L.cn)("rounded px-1.5 py-0.5 text-xs transition-colors",eI?"text-muted-foreground hover:text-foreground":"bg-primary text-primary-foreground"),title:"Single file view",children:(0,n.jsx)(g.A,{className:"h-3.5 w-3.5"})})]}),K.ahead>0&&(0,n.jsxs)(F.$,{variant:"outline",size:"sm",onClick:eY,disabled:eF,className:"gap-1.5",children:[eF?(0,n.jsx)(f.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(w,{className:"h-3.5 w-3.5"}),"Push"]}),(0,n.jsx)(F.$,{variant:"ghost",size:"sm",onClick:()=>eX({gitFetch:!0}),children:"Refresh"})]}),(0,n.jsxs)("div",{className:"flex-1 min-h-0 flex flex-row",children:[(0,n.jsxs)("div",{className:"flex-1 min-w-0 flex flex-col",children:[(0,n.jsx)("div",{className:"flex-1 min-h-0 overflow-y-auto",children:eI?(0,n.jsx)(U,{files:K.files,cwd:e,diffStyle:j.diffStyle,scrollToFile:eT,onScrolled:e0,onViewFile:e1,checkedFiles:ew,onToggleFile:ek,refreshKey:eO}):ec?(0,n.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,n.jsx)(f.A,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):en&&ea?(0,n.jsx)("div",{className:"p-4",children:(0,n.jsxs)("div",{className:"rounded-lg border overflow-hidden",children:[(d=K.files.find(e=>e.path===en))?(0,n.jsxs)("div",{className:"sticky top-0 z-10 flex items-center gap-2 px-4 py-1.5 text-sm border-b bg-muted/80 backdrop-blur-sm",children:[$(d.status),(0,n.jsx)("span",{className:"font-mono text-xs truncate flex-1 min-w-0 text-left",dir:"rtl",title:d.path,children:(0,n.jsx)("bdo",{dir:"ltr",children:d.path})}),(0,n.jsx)(P,{checked:ew.has(d.path),onChange:()=>ek(d.path),onClick:e=>e.stopPropagation()}),(0,n.jsx)("button",{onClick:()=>e1(d.path),className:"flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground transition-colors",title:"Open in editor",children:(0,n.jsx)(m.A,{className:"h-3 w-3"})})]}):null,(0,n.jsx)(A.sU,{fallback:(0,n.jsx)("pre",{className:"p-4 text-xs text-muted-foreground whitespace-pre-wrap",children:ea}),children:ei?(0,n.jsx)(a.Q,{fileDiff:ei,options:{theme:{dark:"pierre-dark",light:"pierre-light"},themeType:T()?"dark":"light",overflow:"wrap",diffStyle:j.diffStyle,disableFileHeader:!0,hunkSeparators:"line-info",expansionLineCount:20,unsafeCSS:A.j8}}):(0,n.jsx)("pre",{className:"p-4 text-xs text-muted-foreground whitespace-pre-wrap",children:ea})})]})}):(0,n.jsx)("div",{className:"flex items-center justify-center h-full text-sm text-muted-foreground text-center px-4",children:K.files.length>0?"Select a file from the sidebar to view changes":"No changes"})}),K.files.length>0&&(0,n.jsxs)("div",{className:"shrink-0 border-t",children:[(0,n.jsxs)("button",{onClick:()=>eS(!ev),className:"w-full px-4 py-2 flex items-center gap-2 text-sm font-medium hover:bg-muted/50",children:[ev?(0,n.jsx)(u.A,{className:"h-3.5 w-3.5"}):(0,n.jsx)(h.A,{className:"h-3.5 w-3.5"}),"Commit (",ew.size," file",1!==ew.size?"s":"",")"]}),ev&&(0,n.jsxs)("div",{className:"px-4 pb-3 space-y-2",children:[(0,n.jsx)("textarea",{value:eh,onChange:e=>em(e.target.value),placeholder:"Commit message...",className:"w-full rounded border bg-background px-3 py-2 text-sm resize-none focus:outline-none focus:ring-1 focus:ring-ring",rows:3}),(0,n.jsxs)("div",{className:"flex items-center gap-3",children:[(0,n.jsxs)(F.$,{size:"sm",variant:"outline",onClick:eK,disabled:eA||0===ew.size,className:"gap-1.5",children:[eA?(0,n.jsx)(f.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(k,{className:"h-3.5 w-3.5"}),eA?"Generating...":"Generate"]}),(0,n.jsxs)("label",{className:"flex items-center gap-1.5 text-xs text-muted-foreground cursor-pointer",children:[(0,n.jsx)(P,{checked:eb,onChange:()=>eC(!eb)}),"Push after commit"]}),(0,n.jsx)("div",{className:"flex-1"}),eg&&(0,n.jsxs)("span",{className:(0,L.cn)("text-xs flex items-center gap-1",eg.ok?"text-green-500":"text-red-500"),children:[eg.ok&&(0,n.jsx)(r.A,{className:"h-3 w-3"}),eg.message]}),(0,n.jsxs)(F.$,{size:"sm",onClick:eq,disabled:ex||!eh.trim()||0===ew.size,className:"gap-1.5",children:[ex?(0,n.jsx)(f.A,{className:"h-3.5 w-3.5 animate-spin"}):(0,n.jsx)(y.A,{className:"h-3.5 w-3.5"}),eb?"Commit & Push":"Commit"]})]})]})]})]}),e5&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(E.X,{onResize:eZ}),(0,n.jsx)("div",{className:"flex flex-col shrink-0 border-l min-h-0",style:{width:`${100*eP}%`},children:(0,n.jsx)(S.I,{sessionId:t,cwd:e})})]})]}),eu&&(0,n.jsx)("div",{ref:eJ,className:"fixed z-50 rounded border bg-background shadow-lg py-1 min-w-[140px]",style:{left:eu.x,top:eu.y},children:(0,n.jsxs)("button",{onClick:()=>eQ(eu.file),className:"w-full px-3 py-1.5 text-sm text-left hover:bg-muted flex items-center gap-2 text-red-500",children:[(0,n.jsx)(N.A,{className:"h-3.5 w-3.5"}),"Discard changes"]})})]})}},43493:(e,t,s)=>{s.d(t,{X:()=>a});var n=s(95155),l=s(12115);function a({onResize:e}){let t=(0,l.useRef)(!1),s=(0,l.useRef)(0),r=(0,l.useCallback)(n=>{n.preventDefault(),t.current=!0,s.current=n.clientX;let l=n=>{if(!t.current)return;let l=s.current-n.clientX;s.current=n.clientX,e(l)},a=()=>{t.current=!1,document.removeEventListener("mousemove",l),document.removeEventListener("mouseup",a),document.body.style.cursor="",document.body.style.userSelect=""};document.body.style.cursor="col-resize",document.body.style.userSelect="none",document.addEventListener("mousemove",l),document.addEventListener("mouseup",a)},[e]);return(0,n.jsx)("div",{onMouseDown:r,className:"w-1 shrink-0 cursor-col-resize bg-border hover:bg-primary/30 transition-colors"})}}}]);
|