spec-cat 0.1.23 → 0.1.25
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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/8_4qvbip.js +36 -0
- package/.output/public/_nuxt/B2xLiDuD.js +1 -0
- package/.output/public/_nuxt/{-EMqkm_u.js → BPrZX-_J.js} +1 -1
- package/.output/public/_nuxt/Bze5ywup.js +1 -0
- package/.output/public/_nuxt/{FbKhJXKu.js → BzfYDrv2.js} +2 -2
- package/.output/public/_nuxt/CiXy_SW9.js +64 -0
- package/.output/public/_nuxt/{BDd_kh9e.js → DIlI3WTI.js} +1 -1
- package/.output/public/_nuxt/{CYVeOpC3.js → Drn_WUL3.js} +1 -1
- package/.output/public/_nuxt/{DgiJut-o.js → O3PivLp-.js} +1 -1
- package/.output/public/_nuxt/UOLai9rz.js +93 -0
- package/.output/public/_nuxt/{CDLI67Cr.js → _ZoYWOkW.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/392a3a4f-4bcd-4eb0-ba33-8b058c4668bf.json +1 -0
- package/.output/public/_nuxt/{default.eSO6fRPf.css → default.D3bZ26KV.css} +1 -1
- package/.output/public/_nuxt/entry.mJra9RkV.css +1 -0
- package/.output/public/_nuxt/oZhDUS0h.js +1 -0
- package/.output/public/_nuxt/{Bk4uZfKR.js → ovAaTTn7.js} +1 -1
- package/.output/public/_nuxt/useTheme.CYTdpguX.css +1 -0
- package/.output/server/chunks/_/eventBus.mjs +52 -0
- package/.output/server/chunks/_/eventBus.mjs.map +1 -0
- package/.output/server/chunks/_/geminiProvider.mjs +99 -25
- package/.output/server/chunks/_/geminiProvider.mjs.map +1 -1
- package/.output/server/chunks/_/jobPersister.mjs +4 -3
- package/.output/server/chunks/_/jobPersister.mjs.map +1 -1
- package/.output/server/chunks/_/jobQueue.mjs +14 -54
- package/.output/server/chunks/_/jobQueue.mjs.map +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs.map +1 -1
- package/.output/server/chunks/nitro/nitro.mjs +643 -643
- package/.output/server/chunks/routes/_ws.mjs +6 -2
- package/.output/server/chunks/routes/_ws.mjs.map +1 -1
- package/.output/server/chunks/routes/api/conversations/_conversationId/archive.post.mjs +6 -0
- package/.output/server/chunks/routes/api/conversations/_conversationId/archive.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +1 -0
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/jobs/_id/cancel.post.mjs +1 -0
- package/.output/server/chunks/routes/api/jobs/_id/cancel.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/jobs/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/jobs/_id_.get.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/bin/spec-cat.js +15 -0
- package/package.json +1 -1
- package/.output/public/_nuxt/BJKzOiTU.js +0 -1
- package/.output/public/_nuxt/C9Qk2Hno.js +0 -1
- package/.output/public/_nuxt/CLPz4Oer.js +0 -1
- package/.output/public/_nuxt/CZbP5QXb.js +0 -1
- package/.output/public/_nuxt/DQtVbA-s.js +0 -150
- package/.output/public/_nuxt/DXWMFGmi.js +0 -1
- package/.output/public/_nuxt/builds/meta/53b5c409-86a8-4624-8a0f-5bf31ab82deb.json +0 -1
- package/.output/public/_nuxt/entry.BtencOYX.css +0 -1
- package/.output/public/_nuxt/useTheme.Dp77PlfC.css +0 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { n as defineWebSocketHandler } from '../nitro/nitro.mjs';
|
|
2
|
-
import { e as eventBus, G as GLOBAL_CHANNEL
|
|
2
|
+
import { e as eventBus, G as GLOBAL_CHANNEL } from '../_/eventBus.mjs';
|
|
3
|
+
import { n as normalizeImageAttachments, j as jobQueue } from '../_/jobQueue.mjs';
|
|
3
4
|
import { s as startPersisting } from '../_/jobPersister.mjs';
|
|
4
5
|
import 'node:http';
|
|
5
6
|
import 'node:https';
|
|
@@ -169,9 +170,12 @@ function handlePermissionResponse(peer, msg) {
|
|
|
169
170
|
}
|
|
170
171
|
function handleAbort(peer) {
|
|
171
172
|
const conn = getPeerConnection(peer.id);
|
|
172
|
-
console.log("[WS] Abort requested for peer:", peer.id);
|
|
173
|
+
console.log("[WS] Abort requested for peer:", peer.id, "conversationId:", conn.conversationId);
|
|
173
174
|
if (conn.conversationId) {
|
|
174
175
|
jobQueue.abort(conn.conversationId);
|
|
176
|
+
console.log("[WS] jobQueue.abort() called for conversation:", conn.conversationId);
|
|
177
|
+
} else {
|
|
178
|
+
console.warn("[WS] Abort skipped \u2014 no conversationId bound to this peer!");
|
|
175
179
|
}
|
|
176
180
|
peer.send(JSON.stringify({ type: "aborted" }));
|
|
177
181
|
console.log("[WS] Abort completed for peer:", peer.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_ws.mjs","sources":["../../../../server/routes/_ws.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_ws.mjs","sources":["../../../../server/routes/_ws.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { existsSync } from 'node:fs';
|
|
|
4
4
|
import { rm } from 'node:fs/promises';
|
|
5
5
|
import { promisify } from 'node:util';
|
|
6
6
|
import { r as readConversationStorageState, g as generateArchivedConversationId, w as writeConversationStorageState } from '../../../../_/conversationStore.mjs';
|
|
7
|
+
import { e as eventBus, G as GLOBAL_CHANNEL } from '../../../../_/eventBus.mjs';
|
|
7
8
|
import 'node:http';
|
|
8
9
|
import 'node:https';
|
|
9
10
|
import 'node:crypto';
|
|
@@ -105,6 +106,11 @@ const archive_post = defineEventHandler(async (event) => {
|
|
|
105
106
|
conversations,
|
|
106
107
|
archivedConversations
|
|
107
108
|
});
|
|
109
|
+
eventBus.emit(GLOBAL_CHANNEL, {
|
|
110
|
+
type: "notification",
|
|
111
|
+
notificationEvent: "conversation_archived",
|
|
112
|
+
conversationId
|
|
113
|
+
});
|
|
108
114
|
return {
|
|
109
115
|
success: true,
|
|
110
116
|
archived: snapshot,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.post.mjs","sources":["../../../../../../../server/api/conversations/[conversationId]/archive.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"archive.post.mjs","sources":["../../../../../../../server/api/conversations/[conversationId]/archive.post.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.get.mjs","sources":["../../../../../server/api/jobs/index.get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.get.mjs","sources":["../../../../../server/api/jobs/index.get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,kBAAA,kBAAA,CAAA,CAAA,KAAA,KAAA;AACA,EAAA,MAAA,KAAA,GAAA,SAAA,KAAA,CAAA;AACA,EAAA,MAAA,iBAAA,OAAA,KAAA,CAAA,cAAA,KAAA,QAAA,GAAA,MAAA,cAAA,GAAA,MAAA;AAEA,EAAA,IAAA,cAAA,EAAA;AACA,IAAA,OAAA,QAAA,CAAA,QAAA,CAAA,cAAA,CAAA,CAAA,IAAA,YAAA,CAAA;AAAA,EACA;AAEA,EAAA,OAAA,QAAA,CAAA,WAAA,EAAA,CAAA,GAAA,CAAA,YAAA,CAAA;AACA,CAAA,CAAA;AAEA,SAAA,aAAA,GAAA,EAAA;AACA,EAAA,OAAA;AAAA,IACA,IAAA,GAAA,CAAA,EAAA;AAAA,IACA,gBAAA,GAAA,CAAA,cAAA;AAAA,IACA,QAAA,GAAA,CAAA,MAAA;AAAA,IACA,QAAA,GAAA,CAAA,MAAA;AAAA,IACA,WAAA,GAAA,CAAA,SAAA;AAAA,IACA,UAAA,EAAA,IAAA,MAAA,CAAA;AAAA,GACA;AACA;;;;"}
|
|
@@ -25,6 +25,7 @@ import 'node:os';
|
|
|
25
25
|
import 'node:module';
|
|
26
26
|
import 'node:fs/promises';
|
|
27
27
|
import 'node:url';
|
|
28
|
+
import '../../_/eventBus.mjs';
|
|
28
29
|
import '../../_/aiProviderSelection.mjs';
|
|
29
30
|
import '../../_/aiProviderRegistry.mjs';
|
|
30
31
|
import '../../_/providerProcessError.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.post.mjs","sources":["../../../../../server/api/jobs/index.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.post.mjs","sources":["../../../../../server/api/jobs/index.post.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancel.post.mjs","sources":["../../../../../../../server/api/jobs/[id]/cancel.post.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cancel.post.mjs","sources":["../../../../../../../server/api/jobs/[id]/cancel.post.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,oBAAA,kBAAA,CAAA,CAAA,KAAA,KAAA;AACA,EAAA,MAAA,EAAA,GAAA,cAAA,CAAA,KAAA,EAAA,IAAA,CAAA;AACA,EAAA,IAAA,CAAA,EAAA,EAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,aAAA,EAAA,sBAAA,CAAA;AAAA,EACA;AAEA,EAAA,MAAA,GAAA,GAAA,QAAA,CAAA,MAAA,CAAA,EAAA,CAAA;AACA,EAAA,IAAA,CAAA,GAAA,EAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,aAAA,EAAA,iBAAA,CAAA;AAAA,EACA;AAEA,EAAA,IAAA,GAAA,CAAA,MAAA,KAAA,MAAA,IAAA,GAAA,CAAA,WAAA,OAAA,EAAA;AACA,IAAA,OAAA,EAAA,OAAA,EAAA,KAAA,EAAA,MAAA,EAAA,sBAAA,EAAA;AAAA,EACA;AAEA,EAAA,QAAA,CAAA,KAAA,CAAA,IAAA,cAAA,CAAA;AACA,EAAA,OAAA,EAAA,SAAA,IAAA,EAAA;AACA,CAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_id_.get.mjs","sources":["../../../../../../server/api/jobs/[id].get.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_id_.get.mjs","sources":["../../../../../../server/api/jobs/[id].get.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,iBAAA,kBAAA,CAAA,CAAA,KAAA,KAAA;AACA,EAAA,MAAA,EAAA,GAAA,cAAA,CAAA,KAAA,EAAA,IAAA,CAAA;AACA,EAAA,IAAA,CAAA,EAAA,EAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,aAAA,EAAA,sBAAA,CAAA;AAAA,EACA;AAEA,EAAA,MAAA,GAAA,GAAA,QAAA,CAAA,MAAA,CAAA,EAAA,CAAA;AACA,EAAA,IAAA,CAAA,GAAA,EAAA;AACA,IAAA,MAAA,YAAA,EAAA,UAAA,EAAA,GAAA,EAAA,aAAA,EAAA,iBAAA,CAAA;AAAA,EACA;AAEA,EAAA,MAAA,KAAA,GAAA,SAAA,KAAA,CAAA;AACA,EAAA,MAAA,MAAA,GAAA,OAAA,KAAA,CAAA,MAAA,KAAA,WAAA,QAAA,CAAA,KAAA,CAAA,MAAA,EAAA,EAAA,CAAA,GAAA,CAAA;AACA,EAAA,MAAA,cAAA,MAAA,CAAA,QAAA,CAAA,MAAA,CAAA,IAAA,MAAA,IAAA,IAAA,MAAA,GAAA,CAAA;AAEA,EAAA,OAAA;AAAA,IACA,IAAA,GAAA,CAAA,EAAA;AAAA,IACA,gBAAA,GAAA,CAAA,cAAA;AAAA,IACA,QAAA,GAAA,CAAA,MAAA;AAAA,IACA,QAAA,GAAA,CAAA,MAAA;AAAA,IACA,WAAA,GAAA,CAAA,SAAA;AAAA,IACA,MAAA,EAAA,GAAA,CAAA,MAAA,CAAA,KAAA,CAAA,WAAA,CAAA;AAAA,IACA,UAAA,EAAA,IAAA,MAAA,CAAA;AAAA,GACA;AACA,CAAA,CAAA;;;;"}
|
package/bin/spec-cat.js
CHANGED
|
@@ -10,6 +10,21 @@ const __dirname = dirname(__filename)
|
|
|
10
10
|
const packageRoot = resolve(__dirname, '..')
|
|
11
11
|
const serverEntry = resolve(packageRoot, '.output/server/index.mjs')
|
|
12
12
|
|
|
13
|
+
const CYAN = '\x1b[36m'
|
|
14
|
+
const DIM = '\x1b[2m'
|
|
15
|
+
const RESET = '\x1b[0m'
|
|
16
|
+
|
|
17
|
+
console.log(`${CYAN}
|
|
18
|
+
____ ____ _
|
|
19
|
+
/ ___| _ __ ___ ___ / ___|__ _| |_
|
|
20
|
+
\\___ \\| '_ \\ / _ \\/ __|| | / _\` | __|
|
|
21
|
+
___) | |_) | __/ (__ | |__| (_| | |_
|
|
22
|
+
|____/| .__/ \\___|\\___| \\____\\__,_|\\__|
|
|
23
|
+
|_|
|
|
24
|
+
${RESET}`)
|
|
25
|
+
console.log(`${DIM} initializing...${RESET}`)
|
|
26
|
+
console.log()
|
|
27
|
+
|
|
13
28
|
if (!existsSync(serverEntry)) {
|
|
14
29
|
console.error('[spec-cat] Missing build output: .output/server/index.mjs')
|
|
15
30
|
console.error('[spec-cat] Reinstall the package, or if developing locally run: pnpm build')
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{y as o,z as n,A as r,d as P,K as p,O as k,Q as D,S as j,U as C,B as d,P as m,C as v,G as g,g as B,k as f,M as E}from"./FbKhJXKu.js";import{a as V,u as z}from"./CLPz4Oer.js";import{_ as Z}from"./DlAUqK2U.js";function H(e,i){return o(),n("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[r("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m20.25 7.5-.625 10.632a2.25 2.25 0 0 1-2.247 2.118H6.622a2.25 2.25 0 0 1-2.247-2.118L3.75 7.5M10 11.25h4M3.375 7.5h17.25c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125H3.375c-.621 0-1.125.504-1.125 1.125v1.5c0 .621.504 1.125 1.125 1.125Z"})])}function M(e,i){return o(),n("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[r("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M17.25 6.75 22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3-4.5 16.5"})])}function N(e,i){return o(),n("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[r("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M2.25 12.75V12A2.25 2.25 0 0 1 4.5 9.75h15A2.25 2.25 0 0 1 21.75 12v.75m-8.69-6.44-2.12-2.12a1.5 1.5 0 0 0-1.061-.44H4.5A2.25 2.25 0 0 0 2.25 6v12a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9a2.25 2.25 0 0 0-2.25-2.25h-5.379a1.5 1.5 0 0 1-1.06-.44Z"})])}function re(e,i){return o(),n("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[r("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z"})])}function I(e,i){return o(),n("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[r("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"m16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L6.832 19.82a4.5 4.5 0 0 1-1.897 1.13l-2.685.8.8-2.685a4.5 4.5 0 0 1 1.13-1.897L16.863 4.487Zm0 0L19.5 7.125"})])}function oe(e,i){return o(),n("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},[r("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z"})])}const K={class:"flex items-start justify-between gap-2"},U={class:"flex-1 min-w-0"},F={key:1,class:"flex items-center gap-2"},G={class:"text-sm font-mono text-retro-text truncate"},O={key:0,class:"text-xs font-mono text-retro-green bg-retro-green/10 px-1.5 py-0.5 rounded flex-shrink-0"},Q={key:2,class:"text-xs font-mono text-retro-cyan bg-retro-cyan/10 px-1.5 py-0.5 rounded border border-retro-cyan/30 flex-shrink-0"},R={class:"text-xs text-retro-muted mt-1 truncate"},Y={class:"text-xs text-retro-muted/60 mt-1"},q={class:"truncate"},J={class:"truncate"},W={class:"truncate"},X=P({__name:"ConversationItem",props:{conversation:{},isActive:{type:Boolean},isStreaming:{type:Boolean},isPreviewing:{type:Boolean}},emits:["select","archive","rename"],setup(e,{emit:i}){const l=e,u=i,c=B(!1),h=B("");function S(){h.value=l.conversation.title,c.value=!0}function b(){const s=h.value.trim();s&&s!==l.conversation.title&&u("rename",s),c.value=!1}function T(){c.value=!1}const y=V();async function w(s){try{await navigator.clipboard.writeText(s),y.success("Copied to clipboard",1500)}catch{y.error("Failed to copy")}}const $=f(()=>{const s=l.conversation.messages;if(!s.length)return"No messages";const t=s[s.length-1],a=t.content.slice(0,60);return a.length<t.content.length?a+"...":a}),L=f(()=>{const s=new Date(l.conversation.updatedAt),a=new Date().getTime()-s.getTime(),x=Math.floor(a/(1e3*60*60*24));return x===0?s.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}):x===1?"Yesterday":x<7?`${x} days ago`:s.toLocaleDateString()});return(s,t)=>(o(),n("div",{class:p(["p-3 rounded border cursor-pointer transition-colors",[e.isPreviewing&&e.isActive?"border-retro-magenta bg-retro-magenta/15 ring-1 ring-retro-magenta/40":e.isPreviewing?"border-retro-magenta/40 bg-retro-magenta/5":e.isActive?"border-retro-cyan/80 bg-retro-cyan/8":"border-retro-border hover:border-retro-cyan/40",e.isStreaming&&e.isPreviewing&&e.isActive?"streaming-preview-active-border":e.isStreaming&&e.isPreviewing?"streaming-preview-border":e.isStreaming&&e.isActive?"streaming-active-border":e.isStreaming?"streaming-border":"",e.conversation.finalized?"opacity-50":""]]),onClick:t[8]||(t[8]=a=>u("select"))},[r("div",K,[r("div",U,[c.value?(o(),n("div",{key:0,class:"flex gap-2",onClick:t[1]||(t[1]=k(()=>{},["stop"]))},[D(r("input",{"onUpdate:modelValue":t[0]||(t[0]=a=>h.value=a),onKeyup:[C(b,["enter"]),C(T,["escape"])],onBlur:b,class:"flex-1 px-2 py-1 text-sm font-mono bg-retro-black border border-retro-cyan rounded text-retro-text focus:outline-none focus:ring-1 focus:ring-retro-cyan",autofocus:""},null,544),[[j,h.value]])])):(o(),n("div",F,[r("h3",G,d(e.conversation.title),1),e.conversation.finalized?(o(),n("span",O," finalized ")):e.isPreviewing?(o(),n("span",{key:1,class:p(["text-xs font-mono px-1.5 py-0.5 rounded border border-retro-magenta/30 flex-shrink-0",e.isActive?"text-retro-magenta bg-retro-magenta/15":"text-retro-magenta/80 bg-retro-magenta/5"])}," previewing ",2)):m("",!0),e.isStreaming?(o(),n("span",Q," streaming ")):m("",!0)])),r("p",R,d($.value),1),r("p",Y,d(L.value),1),e.conversation.worktreeBranch||e.conversation.baseBranch?(o(),n("div",{key:2,class:"mt-1.5 flex flex-wrap gap-1",onClick:t[5]||(t[5]=k(()=>{},["stop"]))},[e.conversation.baseBranch?(o(),n("button",{key:0,onClick:t[2]||(t[2]=a=>w(e.conversation.baseBranch)),class:"inline-flex items-center gap-1 px-1.5 py-0.5 text-xs font-mono rounded border border-retro-cyan/30 text-retro-cyan hover:border-retro-cyan hover:bg-retro-cyan/10 transition-colors max-w-full",title:"Click to copy base branch"},[v(g(M),{class:"w-3 h-3 flex-shrink-0"}),r("span",q,"base: "+d(e.conversation.baseBranch),1)])):m("",!0),r("button",{onClick:t[3]||(t[3]=a=>w(e.conversation.worktreeBranch)),class:"inline-flex items-center gap-1 px-1.5 py-0.5 text-xs font-mono rounded border border-retro-green/30 text-retro-green hover:border-retro-green hover:bg-retro-green/10 transition-colors max-w-full",title:"Click to copy branch"},[v(g(M),{class:"w-3 h-3 flex-shrink-0"}),r("span",J,d(e.conversation.worktreeBranch),1)]),e.conversation.worktreePath?(o(),n("button",{key:1,onClick:t[4]||(t[4]=a=>w(e.conversation.worktreePath)),class:"inline-flex items-center gap-1 px-1.5 py-0.5 text-xs font-mono rounded border border-retro-muted/30 text-retro-muted hover:border-retro-muted hover:bg-retro-muted/10 transition-colors max-w-full",title:"Click to copy path"},[v(g(N),{class:"w-3 h-3 flex-shrink-0"}),r("span",W,d(e.conversation.worktreePath),1)])):m("",!0)])):m("",!0)]),r("div",{class:"flex gap-1 flex-shrink-0",onClick:t[7]||(t[7]=k(()=>{},["stop"]))},[r("button",{onClick:S,class:"p-1 hover:bg-retro-panel rounded transition-colors",title:"Rename conversation"},[v(g(I),{class:"w-4 h-4 text-retro-muted hover:text-retro-cyan"})]),r("button",{onClick:t[6]||(t[6]=a=>u("archive")),class:"p-1 hover:bg-retro-cyan/20 rounded transition-colors",title:"Archive conversation"},[v(g(H),{class:"w-4 h-4 text-retro-muted hover:text-retro-cyan"})])])])],2))}}),ne=Z(X,[["__scopeId","data-v-3d162cc0"]]);function A(e){typeof document>"u"||(e==="dark"?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark"),document.cookie=`spec-cat-theme=${e};path=/;SameSite=Lax`)}function se(){const e=z(),i=f(()=>e.theme),l=f(()=>e.theme==="dark");function u(){const c=e.theme==="dark"?"light":"dark";e.setTheme(c),A(c)}return E(()=>e.theme,c=>{A(c)},{immediate:!0}),{theme:i,isDark:l,toggleTheme:u}}export{ne as C,re as a,N as b,I as c,M as d,H as e,oe as r,se as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as f,r as m,a as v,C as b}from"./BJKzOiTU.js";import{u as w}from"./CLPz4Oer.js";import{d as S,o as h,z as n,A as r,G as s,H as l,I as k,J as $,k as x,y as o,B as y,C as A}from"./FbKhJXKu.js";import"./DlAUqK2U.js";const _={class:"min-h-screen bg-retro-black text-retro-text font-mono"},I={class:"h-14 border-b border-retro-border bg-retro-panel/50 px-8 flex items-center justify-between"},D={class:"grid grid-cols-2 gap-8 p-12"},z={class:"px-2 py-0.5 bg-retro-panel border border-retro-border text-[10px] text-retro-muted font-bold rounded uppercase tracking-tight"},N=S({__name:"design-guide",setup(B){const{isDark:g,toggleTheme:d}=f(),u=w();h(async()=>{await u.hydrate()});const c=[{id:"m1",role:"user",content:"Design System Validation Message",timestamp:new Date().toISOString()}],p=x(()=>{const a=[];for(const e of[!0,!1])a.push({id:`finalized-${e}`,label:`Finalized | ${e?"Active":"Inactive"}`,state:{isActive:e,isFinalized:!0,isPreviewing:!1,isStreaming:!1},conversation:{id:`c-f-${e}`,title:`Finalized Case (${e?"Active":"Idle"})`,messages:c,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),cwd:"/repo",finalized:!0}});for(const e of[!0,!1])for(const t of[!0,!1])for(const i of[!0,!1])a.push({id:`normal-${e}-${t}-${i}`,label:`${e?"Active":"Idle"} | ${t?"Preview":"Normal"} | ${i?"Streaming":"Static"}`,state:{isActive:e,isFinalized:!1,isPreviewing:t,isStreaming:i},conversation:{id:`c-n-${e}-${t}-${i}`,title:`${t?"Preview":"Normal"} (${e?"Active":"Idle"})`,messages:c,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),cwd:"/repo",finalized:!1,worktreeBranch:t?"feature/ui-fix":void 0,hasWorktree:t}});return a});return(a,e)=>(o(),n("div",_,[r("header",I,[e[1]||(e[1]=r("h1",{class:"text-lg font-bold text-retro-cyan uppercase tracking-widest"},"Design Guide",-1)),r("button",{onClick:e[0]||(e[0]=(...t)=>s(d)&&s(d)(...t)),class:"p-2 rounded border border-retro-border hover:border-retro-cyan transition-colors bg-retro-black"},[s(g)?(o(),l(s(m),{key:0,class:"w-5 h-5 text-retro-yellow"})):(o(),l(s(v),{key:1,class:"w-5 h-5 text-retro-cyan"}))])]),r("div",D,[(o(!0),n(k,null,$(p.value,t=>(o(),n("div",{key:t.id,class:"space-y-2 p-4 border border-retro-border rounded-lg"},[r("span",z,y(t.label),1),A(b,{conversation:t.conversation,"is-active":t.state.isActive,"is-streaming":t.state.isStreaming,"is-previewing":t.state.isPreviewing},null,8,["conversation","is-active","is-streaming","is-previewing"])]))),128))])]))}});export{N as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{$ as h,a0 as u,g as M}from"./FbKhJXKu.js";const v="claude",l="sonnet",f=[{value:"sonnet",label:"Sonnet",description:"Balanced performance and cost"},{value:"opus",label:"Opus",description:"Most capable, higher cost"},{value:"haiku",label:"Haiku",description:"Fast and cost-effective"}];function g(e){if(!e)return{};const o={},t=typeof e.claudeModel=="string"&&f.some(d=>d.value===e.claudeModel)?e.claudeModel:void 0;typeof e.providerId=="string"?(o.providerId=e.providerId,typeof e.providerModelKey=="string"&&e.providerModelKey.length>0?o.providerModelKey=e.providerModelKey:t?o.providerModelKey=t:o.providerModelKey=l):t&&(o.providerId="claude",o.providerModelKey=t),(e.theme==="dark"||e.theme==="light")&&(o.theme=e.theme);const r=e.permissionMode;return r&&["plan","ask","auto","bypass"].includes(String(r))&&(o.permissionMode=r),typeof e.autoGenerateCommitMessages=="boolean"&&(o.autoGenerateCommitMessages=e.autoGenerateCommitMessages),o}const y=h("settings",{state:()=>({providerId:v,providerModelKey:l,theme:"dark",permissionMode:"ask",autoGenerateCommitMessages:!1,_hydrated:!1}),getters:{providerSelection:e=>({providerId:e.providerId,modelKey:e.providerModelKey})},actions:{async hydrate(){if(!this._hydrated)try{const e=await $fetch("/api/settings"),o=g(e);o.providerId!==void 0&&(this.providerId=o.providerId),o.providerModelKey!==void 0&&(this.providerModelKey=o.providerModelKey),o.theme!==void 0&&(this.theme=o.theme),o.permissionMode!==void 0&&(this.permissionMode=o.permissionMode),o.autoGenerateCommitMessages!==void 0&&(this.autoGenerateCommitMessages=o.autoGenerateCommitMessages),this._hydrated=!0}catch(e){console.error("Failed to load settings:",e)}},setTheme(e){this.theme=e,this._saveToServer()},setProviderSelection(e){this.providerId=e.providerId,this.providerModelKey=typeof e.modelKey=="string"&&e.modelKey.length>0?e.modelKey:l,this._saveToServer(!0)},setPermissionMode(e){this.permissionMode=e,this._saveToServer()},setAutoGenerateCommitMessages(e){this.autoGenerateCommitMessages=e,this._saveToServer()},resetToDefaults(){this.providerId=v,this.providerModelKey=l,this.theme="dark",this.permissionMode="ask",this.autoGenerateCommitMessages=!1,this._saveToServer()},_saveToServer(e=!1){const o={providerId:this.providerId,providerModelKey:this.providerModelKey,claudeModel:this.providerId==="claude"?this.providerModelKey:void 0,theme:this.theme,permissionMode:this.permissionMode,autoGenerateCommitMessages:this.autoGenerateCommitMessages};$fetch("/api/settings",{method:"POST",body:o}).then(t=>{if(!e||!t?.settings)return;const r=t.settings.providerId,d=t.settings.providerModelKey;typeof r=="string"&&(this.providerId=r),typeof d=="string"&&d.length>0&&(this.providerModelKey=d)}).catch(t=>{console.error("Failed to save settings:",t)})}}}),_=Object.freeze(Object.defineProperty({__proto__:null,useSettingsStore:y},Symbol.toStringTag,{value:"Module"})),n=M([]);function K(){const e=(i,s="info",a=3e3)=>{const p=`toast-${Date.now()}-${Math.random().toString(36).slice(2)}`,c={id:p,message:i,type:s,duration:a};return n.value.push(c),a>0&&setTimeout(()=>{o(p)},a),p},o=i=>{const s=n.value.findIndex(a=>a.id===i);s!==-1&&n.value.splice(s,1)},t=(i,s)=>e(i,"success",s),r=(i,s)=>e(i,"error",s),d=(i,s)=>e(i,"info",s),m=(i,s)=>e(i,"warning",s);return{toasts:u(n),add:e,remove:o,success:t,error:r,info:d,warning:m}}const S=Object.freeze(Object.defineProperty({__proto__:null,useToast:K},Symbol.toStringTag,{value:"Module"}));export{l as D,K as a,v as b,S as c,_ as s,y as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as q,aa as C,ab as G,W as U,ac as X,M as L,ad as z,k as M,ae as j,af as J,g as Y,s as k,Y as Q,ag as Z,G as K,ah as ee,ai as te,aj as V,d as ae,y as h,z as p,A as b,B as E,P,I,J as T,K as O,E as se}from"./FbKhJXKu.js";const re={trailing:!0};function ne(e,t=25,o={}){if(o={...re,...o},!Number.isFinite(t))throw new TypeError("Expected `wait` to be a finite number");let l,r,_=[],s,a;const g=(d,u)=>(s=oe(e,d,u),s.finally(()=>{if(s=null,o.trailing&&a&&!r){const y=g(d,a);return a=null,y}}),s),D=function(...d){return o.trailing&&(a=d),s||new Promise(u=>{const y=!r&&o.leading;clearTimeout(r),r=setTimeout(()=>{r=null;const n=o.leading?l:g(this,d);a=null;for(const c of _)c(n);_=[]},t),y?(l=g(this,d),u(l)):_.push(u)})},i=d=>{d&&(clearTimeout(d),r=null)};return D.isPending=()=>!!r,D.cancel=()=>{i(r),_=[],a=null},D.flush=()=>{if(i(r),!a||s)return;const d=a;return a=null,g(this,d)},D}async function oe(e,t,o){return await e.apply(t,o)}const ie=Symbol.for("nuxt:client-only"),ce=e=>e==="defer"||e===!1;function He(...e){const t=typeof e[e.length-1]=="string"?e.pop():void 0;le(e[0],e[1])&&e.unshift(t);let[o,l,r={}]=e,_=!1;const s=M(()=>te(o));if(typeof s.value!="string")throw new TypeError("[nuxt] [useAsyncData] key must be a string.");if(typeof l!="function")throw new TypeError("[nuxt] [useAsyncData] handler must be a function.");const a=q();r.server??=!0,r.default??=de,r.getCachedData??=F,r.lazy??=!1,r.immediate??=!0,r.deep??=C.deep,r.dedupe??="cancel",r._functionName,a._asyncData[s.value];function g(){const n={cause:"initial",dedupe:r.dedupe};return a._asyncData[s.value]?._init||(n.cachedData=r.getCachedData(s.value,a,{cause:"initial"}),a._asyncData[s.value]=H(a,s.value,l,r,n.cachedData)),()=>a._asyncData[s.value].execute(n)}const D=g(),i=a._asyncData[s.value];i._deps++;const d=r.server!==!1&&a.payload.serverRendered;{let n=function(m){const f=a._asyncData[m];f?._deps&&(f._deps--,f._deps===0&&f?._off())};const c=j();if(c&&d&&r.immediate&&!c.sp&&(c.sp=[]),c&&!c._nuxtOnBeforeMountCbs){c._nuxtOnBeforeMountCbs=[];const m=c._nuxtOnBeforeMountCbs;G(()=>{m.forEach(f=>{f()}),m.splice(0,m.length)}),U(()=>m.splice(0,m.length))}const S=c&&(c._nuxtClientOnly||X(ie,!1));d&&a.isHydrating&&(i.error.value||i.data.value!=null)?(i.pending.value=!1,i.status.value=i.error.value?"error":"success"):c&&(!S&&a.payload.serverRendered&&a.isHydrating||r.lazy)&&r.immediate?c._nuxtOnBeforeMountCbs.push(D):r.immediate&&D();const v=J(),x=L(s,(m,f)=>{if((m||f)&&m!==f){_=!0;const B=a._asyncData[f]?.data.value!==C.value,W=a._asyncDataPromises[f]!==void 0,R={cause:"initial",dedupe:r.dedupe};if(!a._asyncData[m]?._init){let A;f&&B?A=a._asyncData[f].data.value:(A=r.getCachedData(m,a,{cause:"initial"}),R.cachedData=A),a._asyncData[m]=H(a,m,l,r,A)}a._asyncData[m]._deps++,f&&n(f),(r.immediate||B||W)&&a._asyncData[m].execute(R),V(()=>{_=!1})}},{flush:"sync"}),w=r.watch?L(r.watch,()=>{_||(a._asyncData[s.value]?._execute.isPending()&&V(()=>{a._asyncData[s.value]?._execute.flush()}),a._asyncData[s.value]?._execute({cause:"watch",dedupe:r.dedupe}))}):()=>{};v&&z(()=>{x(),w(),n(s.value)})}const u={data:N(()=>a._asyncData[s.value]?.data),pending:N(()=>a._asyncData[s.value]?.pending),status:N(()=>a._asyncData[s.value]?.status),error:N(()=>a._asyncData[s.value]?.error),refresh:(...n)=>a._asyncData[s.value]?._init?a._asyncData[s.value].execute(...n):g()(),execute:(...n)=>u.refresh(...n),clear:()=>{const n=a._asyncData[s.value];if(n?._abortController)try{n._abortController.abort(new DOMException("AsyncData aborted by user.","AbortError"))}finally{n._abortController=void 0}$(a,s.value)}},y=Promise.resolve(a._asyncDataPromises[s.value]).then(()=>u);return Object.assign(y,u),y}function N(e){return M({get(){return e()?.value},set(t){const o=e();o&&(o.value=t)}})}function le(e,t){return!(typeof e=="string"||typeof e=="object"&&e!==null||typeof e=="function"&&typeof t=="function")}function $(e,t){t in e.payload.data&&(e.payload.data[t]=void 0),t in e.payload._errors&&(e.payload._errors[t]=C.errorValue),e._asyncData[t]&&(e._asyncData[t].data.value=void 0,e._asyncData[t].error.value=C.errorValue,e._asyncData[t].pending.value=!1,e._asyncData[t].status.value="idle"),t in e._asyncDataPromises&&(e._asyncDataPromises[t]=void 0)}function ue(e,t){const o={};for(const l of t)o[l]=e[l];return o}function H(e,t,o,l,r){e.payload._errors[t]??=C.errorValue;const _=l.getCachedData!==F,s=o,a=l.deep?Y:k,g=r!=null,D=e.hook("app:data:refresh",async d=>{(!d||d.includes(t))&&await i.execute({cause:"refresh:hook"})}),i={data:a(g?r:l.default()),pending:k(!g),error:ee(e.payload._errors,t),status:k("idle"),execute:(...d)=>{const[u,y=void 0]=d,n=u&&y===void 0&&typeof u=="object"?u:{};if(e._asyncDataPromises[t]&&ce(n.dedupe??l.dedupe))return e._asyncDataPromises[t];if(n.cause==="initial"||e.isHydrating){const v="cachedData"in n?n.cachedData:l.getCachedData(t,e,{cause:n.cause??"refresh:manual"});if(v!=null)return e.payload.data[t]=i.data.value=v,i.error.value=C.errorValue,i.status.value="success",Promise.resolve(v)}i.pending.value=!0,i._abortController&&i._abortController.abort(new DOMException("AsyncData request cancelled by deduplication","AbortError")),i._abortController=new AbortController,i.status.value="pending";const c=new AbortController,S=new Promise((v,x)=>{try{const w=n.timeout??l.timeout,m=fe([i._abortController?.signal,n?.signal],c.signal,w);if(m.aborted){const f=m.reason;x(f instanceof Error?f:new DOMException(String(f??"Aborted"),"AbortError"));return}return m.addEventListener("abort",()=>{const f=m.reason;x(f instanceof Error?f:new DOMException(String(f??"Aborted"),"AbortError"))},{once:!0,signal:c.signal}),Promise.resolve(s(e,{signal:m})).then(v,x)}catch(w){x(w)}}).then(async v=>{let x=v;l.transform&&(x=await l.transform(v)),l.pick&&(x=ue(x,l.pick)),e.payload.data[t]=x,i.data.value=x,i.error.value=C.errorValue,i.status.value="success"}).catch(v=>{if(e._asyncDataPromises[t]&&e._asyncDataPromises[t]!==S||i._abortController?.signal.aborted)return e._asyncDataPromises[t];if(typeof DOMException<"u"&&v instanceof DOMException&&v.name==="AbortError")return i.status.value="idle",e._asyncDataPromises[t];i.error.value=Z(v),i.data.value=K(l.default()),i.status.value="error"}).finally(()=>{i.pending.value=!1,c.abort(),delete e._asyncDataPromises[t]});return e._asyncDataPromises[t]=S,e._asyncDataPromises[t]},_execute:ne((...d)=>i.execute(...d),0,{leading:!0}),_default:l.default,_deps:0,_init:!0,_hash:void 0,_off:()=>{D(),e._asyncData[t]?._init&&(e._asyncData[t]._init=!1),_||Q(()=>{e._asyncData[t]?._init||($(e,t),i.execute=()=>Promise.resolve(),i.data.value=C.value)})}};return i}const de=()=>C.value,F=(e,t,o)=>{if(t.isHydrating)return t.payload.data[e];if(o.cause!=="refresh:manual"&&o.cause!=="refresh:hook")return t.static.data[e]};function fe(e,t,o){const l=e.filter(s=>!!s);if(typeof o=="number"&&o>=0){const s=AbortSignal.timeout?.(o);s&&l.push(s)}if(AbortSignal.any)return AbortSignal.any(l);const r=new AbortController;for(const s of l)if(s.aborted){const a=s.reason??new DOMException("Aborted","AbortError");try{r.abort(a)}catch{r.abort()}return r.signal}const _=()=>{const a=l.find(g=>g.aborted)?.reason??new DOMException("Aborted","AbortError");try{r.abort(a)}catch{r.abort()}};for(const s of l)s.addEventListener?.("abort",_,{once:!0,signal:t});return r.signal}function $e(){return`blk-${Date.now()}-${Math.random().toString(36).substring(2,6)}`}function Fe(e){return Array.isArray(e.contentBlocks)&&e.contentBlocks.length>0}const me={plan:"Plan Mode",ask:"Ask Before",auto:"Auto Edit",bypass:"Bypass"},We={plan:"The assistant will create a plan before making changes",ask:"The assistant will ask before each action",auto:"The assistant can read and edit files automatically",bypass:"Skip all permission checks (dangerous)"},qe=300,Ge=600,Ue=400;function Xe(){return`msg-${Date.now()}-${Math.random().toString(36).substring(2,8)}`}const ze=2,je=100,Je=80;function Ye(){return`conv-${Math.random().toString(36).slice(2,12)}`}function Qe(e){const o=e.trim().replace(/\n/g," ");return o.length<=50?o:o.slice(0,50).trim()+"..."}function Ze(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"&&typeof t.cwd=="string"}function Ke(e){if(!e||typeof e!="object")return!1;const t=e;return typeof t.id=="string"&&typeof t.sourceConversationId=="string"&&typeof t.title=="string"&&Array.isArray(t.messages)&&typeof t.createdAt=="string"&&typeof t.updatedAt=="string"&&typeof t.archivedAt=="string"&&typeof t.cwd=="string"}const ye={class:"space-y-3"},_e={key:0,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},be={key:1,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},ge={class:"text-xs font-mono text-retro-yellow"},he={key:2,class:"rounded border border-retro-border bg-retro-panel px-4 py-3"},pe={key:3,class:"space-y-4"},ve={key:0,class:"text-xs font-mono text-retro-muted"},De={key:1,class:"text-xs font-mono text-retro-muted"},xe={class:"flex flex-col gap-2"},Ce={class:"flex flex-col gap-2"},Ee={class:"flex items-start justify-between gap-3"},Se={class:"text-sm font-mono text-retro-text"},we={key:0,class:"text-xs font-mono text-retro-yellow"},Pe={key:1,class:"text-xs font-mono text-retro-yellow"},Me={class:"text-xs text-retro-muted leading-tight"},Ae={class:"flex flex-wrap gap-2"},Oe={key:0,class:"text-xs font-mono text-retro-yellow"},Ne={class:"space-y-1.5"},ke=["value","checked","disabled","onChange"],Ie={class:"flex-1 space-y-0.5"},Te={class:"flex items-center gap-2"},Be={class:"text-sm font-mono text-retro-text"},Re={key:0,class:"text-[0.55rem] font-mono uppercase tracking-[0.25em] text-retro-cyan border border-retro-cyan rounded-full px-2 py-0.5"},Le={class:"text-xs text-retro-muted leading-tight"},et=ae({__name:"ProviderSelector",props:{providers:{},selected:{},permissionMode:{},pending:{type:Boolean},errorMessage:{}},emits:["select"],setup(e,{emit:t}){const o=e,l=t,r=[{key:"streaming",label:"Streaming"},{key:"permissions",label:"Permissions"},{key:"resume",label:"Session Resume"},{key:"autoCommit",label:"Auto Commit"}],_=M(()=>o.permissionMode==="ask"||o.permissionMode==="plan"),s=M(()=>me[o.permissionMode]),a=M(()=>!0);function g(u){const y=!_.value||u.capabilities.permissions,n=!a.value||u.capabilities.streaming;return y&&n}function D(u){return _.value&&!u.capabilities.permissions?`${u.name} cannot be used with ${s.value} because it does not expose permission prompts.`:a.value&&!u.capabilities.streaming?`${u.name} is unavailable because streaming runtime prerequisites are not satisfied.`:null}function i(u,y){g(u)&&l("select",{providerId:u.id,modelKey:y})}function d(u,y){return o.selected.providerId===u&&o.selected.modelKey===y}return(u,y)=>(h(),p("div",ye,[e.pending?(h(),p("div",_e,[...y[0]||(y[0]=[b("p",{class:"text-xs font-mono text-retro-text"},"Loading providers…",-1)])])):e.errorMessage?(h(),p("div",be,[b("p",ge,"Unable to load providers: "+E(e.errorMessage),1)])):e.providers.length===0?(h(),p("div",he,[...y[1]||(y[1]=[b("p",{class:"text-xs font-mono text-retro-muted"},"No AI providers are configured on the server. Check with your administrator.",-1)])])):(h(),p("div",pe,[_.value?(h(),p("p",ve," Permission mode "+E(s.value)+" requires a provider that supports permission prompts. Incompatible providers are disabled. ",1)):P("",!0),a.value?(h(),p("p",De," Chat currently requires a provider with streaming support. Providers without streaming are shown for preparation but disabled. ")):P("",!0),(h(!0),p(I,null,T(e.providers,n=>(h(),p("article",{key:n.id,class:O(["rounded border border-retro-border bg-retro-panel p-4 space-y-3 transition",{"border-retro-cyan bg-retro-cyan/5":e.selected.providerId===n.id,"hover:border-retro-muted":e.selected.providerId!==n.id}])},[b("div",xe,[b("div",Ce,[b("div",Ee,[b("span",Se,E(n.name),1),_.value&&!n.capabilities.permissions?(h(),p("div",we," Permissions missing ")):a.value&&!n.capabilities.streaming?(h(),p("div",Pe," Streaming missing ")):P("",!0)]),b("p",Me,E(n.description),1),b("div",Ae,[(h(),p(I,null,T(r,c=>b("span",{key:c.key,class:O(["inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 text-[0.6rem] font-mono uppercase tracking-[0.18em]",n.capabilities[c.key]?"border-retro-cyan/70 text-retro-cyan bg-retro-cyan/10":"border-retro-border text-retro-muted bg-retro-dark/60"])},[b("span",{class:O(["h-1.5 w-1.5 rounded-full",n.capabilities[c.key]?"bg-retro-cyan":"bg-retro-muted"])},null,2),se(" "+E(c.label),1)],2)),64))])])]),D(n)?(h(),p("p",Oe,E(D(n)),1)):P("",!0),b("div",Ne,[(h(!0),p(I,null,T(n.models,c=>(h(),p("label",{key:c.key,class:O(["flex items-start gap-3 px-3 py-2 rounded border cursor-pointer transition-colors",[d(n.id,c.key)?"border-retro-cyan bg-retro-cyan/10":"border-retro-border bg-retro-panel hover:border-retro-muted",g(n)?"":"opacity-60 cursor-not-allowed"]])},[b("input",{type:"radio",name:"provider-model",value:`${n.id}:${c.key}`,checked:d(n.id,c.key),disabled:!g(n),class:"mt-1 h-3.5 w-3.5 text-retro-cyan accent-retro-cyan",onChange:S=>i(n,c.key)},null,40,ke),b("div",Ie,[b("div",Te,[b("span",Be,E(c.label),1),c.default?(h(),p("span",Re," Default ")):P("",!0)]),b("p",Le,E(c.description),1)])],2))),128))])],2))),128))]))]))}});export{je as M,Ue as P,ze as S,Je as W,et as _,Ke as a,qe as b,Ge as c,Ye as d,Qe as e,$e as f,Xe as g,Fe as h,Ze as i,me as j,We as k,He as u};
|