claudia-orchestrator 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/services/claude-process-manager.d.ts +3 -0
- package/dist/services/claude-process-manager.d.ts.map +1 -1
- package/dist/services/claude-process-manager.js +12 -5
- package/dist/services/claude-process-manager.js.map +1 -1
- package/dist/web/assets/{main-DJLrtNy8.js → main-B-yaBVy1.js} +1 -1
- package/dist/web/index.html +1 -1
- package/package.json +1 -1
|
@@ -99,6 +99,9 @@ export declare class ClaudeProcessManager extends EventEmitter {
|
|
|
99
99
|
* - "default": Use Claude's default permission behavior (prompts for approval)
|
|
100
100
|
* - "acceptEdits": Auto-accept file edits but prompt for other tools
|
|
101
101
|
* - "plan": Plan mode - research only, no edits
|
|
102
|
+
*
|
|
103
|
+
* @param includeMcpPermissionTool - Whether to include MCP permission tool flags.
|
|
104
|
+
* Set to false for resume operations where MCP config is not passed.
|
|
102
105
|
*/
|
|
103
106
|
private applyPermissionMode;
|
|
104
107
|
private buildStartArgs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-process-manager.d.ts","sourceRoot":"","sources":["../../src/services/claude-process-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"claude-process-manager.d.ts","sourceRoot":"","sources":["../../src/services/claude-process-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -633,10 +633,10 @@ export class ClaudeProcessManager extends EventEmitter {
|
|
|
633
633
|
args.push(config.message);
|
|
634
634
|
args.push('--resume', config.sessionId, '--output-format', 'stream-json', '--input-format', 'stream-json', // Enable stdin for AskUserQuestion responses
|
|
635
635
|
'--verbose');
|
|
636
|
-
// Apply permission mode
|
|
637
|
-
this.applyPermissionMode(args, config.permissionMode);
|
|
636
|
+
// Apply permission mode - but don't include MCP permission tool since we're not passing --mcp-config
|
|
638
637
|
// NOTE: MCP config disabled for resume - it causes Claude to hang waiting for MCP server init
|
|
639
638
|
// The MCP permission server creates a circular dependency when spawned during resume
|
|
639
|
+
this.applyPermissionMode(args, config.permissionMode, false);
|
|
640
640
|
this.logger.debug('Built Claude resume args', { args, hasMCPConfig: !!this.mcpConfigPath });
|
|
641
641
|
return args;
|
|
642
642
|
}
|
|
@@ -647,19 +647,26 @@ export class ClaudeProcessManager extends EventEmitter {
|
|
|
647
647
|
* - "default": Use Claude's default permission behavior (prompts for approval)
|
|
648
648
|
* - "acceptEdits": Auto-accept file edits but prompt for other tools
|
|
649
649
|
* - "plan": Plan mode - research only, no edits
|
|
650
|
+
*
|
|
651
|
+
* @param includeMcpPermissionTool - Whether to include MCP permission tool flags.
|
|
652
|
+
* Set to false for resume operations where MCP config is not passed.
|
|
650
653
|
*/
|
|
651
|
-
applyPermissionMode(args, permissionMode) {
|
|
654
|
+
applyPermissionMode(args, permissionMode, includeMcpPermissionTool = true) {
|
|
652
655
|
switch (permissionMode) {
|
|
653
656
|
case 'default':
|
|
654
657
|
// Use MCP permission prompt tool to delegate approval to the dashboard
|
|
655
658
|
// The tool must be pre-allowed so Claude can use it without prompting
|
|
656
|
-
if (
|
|
659
|
+
// Only include MCP tool flags if MCP config is being passed (not for resume)
|
|
660
|
+
if (this.mcpConfigPath && includeMcpPermissionTool) {
|
|
657
661
|
args.push('--permission-prompt-tool', 'mcp__claudia-permissions__permission_prompt');
|
|
658
662
|
args.push('--allowedTools', 'mcp__claudia-permissions__permission_prompt');
|
|
659
663
|
this.logger.debug('Permission mode: default (using MCP permission prompt)');
|
|
660
664
|
}
|
|
661
665
|
else {
|
|
662
|
-
|
|
666
|
+
// For resume or when no MCP config, fall back to bypass permissions
|
|
667
|
+
// ASK mode can't work without the MCP permission tool on resume
|
|
668
|
+
args.push('--dangerously-skip-permissions');
|
|
669
|
+
this.logger.debug('Permission mode: default but no MCP available, falling back to bypass');
|
|
663
670
|
}
|
|
664
671
|
break;
|
|
665
672
|
case 'acceptEdits':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-process-manager.js","sourceRoot":"","sources":["../../src/services/claude-process-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-process-manager.js","sourceRoot":"","sources":["../../src/services/claude-process-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,7 +137,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${t.do
|
|
|
137
137
|
`)&&!Je.endsWith(" "))return null;const Ft=Se.substring(Pe+1);return Ft.includes(" ")||Ft.includes(`
|
|
138
138
|
`)?null:{triggerIndex:Pe,query:Ft,type:"command"}},Xn=ke=>{if(!Fe)return[];if(!ke)return Fe.slice(0,50);const le=ke.toLowerCase();return Fe.filter(Se=>Se.name.toLowerCase().includes(le)).slice(0,50)},Pt=ke=>{if(!Xe)return[];if(!ke)return Xe.slice(0,50);const le=ke.toLowerCase();return Xe.filter(Se=>Se.name.toLowerCase().includes(le)).slice(0,50)},Jt=()=>{Ut({isActive:!1,triggerIndex:-1,query:"",suggestions:[],focusedIndex:-1,type:"file"})},or=ke=>{if(!ct.current)return;const le=ct.current.selectionStart;if(Ye.type==="command"){const Se=U.substring(0,Ye.triggerIndex)+ke+" "+U.substring(le);$(Se),Jt(),setTimeout(()=>{if(ct.current){const Pe=Ye.triggerIndex+ke.length+1;ct.current.setSelectionRange(Pe,Pe),ct.current.focus(),sr()}},0)}else{const Se=U.substring(0,Ye.triggerIndex+1)+ke+" "+U.substring(le);$(Se),Jt(),setTimeout(()=>{if(ct.current){const Pe=Ye.triggerIndex+1+ke.length+1;ct.current.setSelectionRange(Pe,Pe),ct.current.focus(),sr()}},0)}},qt=ke=>{const le=ke.target.value;$(le),sr();const Se=ke.target.selectionStart,Pe=Qt(le,Se);if(Pe&&G){const Je=Pt(Pe.query);Ut(Ft=>({isActive:!0,triggerIndex:Pe.triggerIndex,query:Pe.query,suggestions:Je,type:Pe.type,focusedIndex:Ft.focusedIndex>=0&&Ft.focusedIndex<Je.length?Ft.focusedIndex:-1}));return}if(d){const Je=$e(le,Se);if(Je){const Ft=Xn(Je.query);Ut(Kn=>({isActive:!0,triggerIndex:Je.triggerIndex,query:Je.query,suggestions:Ft,type:Je.type,focusedIndex:Kn.focusedIndex>=0&&Kn.focusedIndex<Ft.length?Kn.focusedIndex:-1}));return}}Jt()},mn=ke=>{const le=U.trim();!le||a||s&&ee==="Select directory"||(r(le,s?ee:v,u?ne:void 0,ke),$(""),Jt())},_t=ke=>{if(Ye.isActive)switch(ke.key){case"ArrowDown":ke.preventDefault(),Ye.suggestions.length>0&&Ut(le=>({...le,focusedIndex:le.focusedIndex<0?0:(le.focusedIndex+1)%le.suggestions.length}));break;case"ArrowUp":ke.preventDefault(),Ye.suggestions.length>0&&Ut(le=>({...le,focusedIndex:le.focusedIndex<0||le.focusedIndex===0?le.suggestions.length-1:le.focusedIndex-1}));break;case"Enter":case"Tab":if(!ke.metaKey&&!ke.ctrlKey&&(ke.preventDefault(),Ye.suggestions.length>0)){const le=Ye.focusedIndex>=0?Ye.focusedIndex:0,Se=Ye.suggestions[le],Pe=(Ye.type==="command",Se.name);or(Pe)}break;case" ":Jt();break;case"Escape":ke.preventDefault(),Jt(),setTimeout(()=>ct.current?.focus(),0);break}else if(ke.key==="Enter"){if(ke.shiftKey)return;ke.preventDefault(),mn(Z)}},sr=()=>{const ke=ct.current;if(ke){ke.style.height="auto";const le=Math.floor(window.innerHeight*.8);ke.style.height=`${Math.min(ke.scrollHeight,le)}px`}};m.useEffect(()=>{sr()},[U]),m.useEffect(()=>{const ke=()=>{sr()};return window.addEventListener("resize",ke),()=>window.removeEventListener("resize",ke)},[]);const Rr=ke=>{ue(ke),A?.(ke)},Ir=ke=>{pe(ke),P?.(ke)},Ur=async()=>{gt==="idle"&&await _r()},oo=async()=>{if(gt==="recording"){const ke=await $r();if(ke)try{const le=await we.transcribeAudio(ke.audioBase64,ke.mimeType);if(ct.current&&le.text.trim()){const Pe=ct.current.selectionStart,Je=U.substring(0,Pe),Ft=U.substring(Pe),Kn=le.text.trim(),Te=(Je.length>0&&!Je.endsWith(" ")&&!Je.endsWith(`
|
|
139
139
|
`)?" ":"")+Kn,ei=Je+Te+Ft;$(ei),setTimeout(()=>{if(ct.current){const ba=Pe+Te.length;ct.current.setSelectionRange(ba,ba),ct.current.focus(),sr()}},0)}else le.text.trim()||console.warn("No speech detected in audio")}catch(le){console.error("Transcription failed:",le)}finally{de()}else de()}},Ni=async()=>{(gt==="recording"||gt==="processing")&&(await $r(),de())};return l.jsxs("form",{ref:Vn,className:"w-full relative",onSubmit:ke=>{ke.preventDefault(),mn(Z)},children:[l.jsxs("div",{className:Ee("rounded-lg overflow-hidden border transition-all duration-300",x&&I?"border-green-500/50":x&&H?"border-amber-500/50":"border-border"),children:[x&&l.jsx("div",{className:Ee("flex items-center gap-2 px-3 py-1.5 border-b text-sm",I?"bg-green-500/10 border-green-500/30":H?"bg-amber-500/10 border-amber-500/30":"bg-muted/30 border-border"),children:I?l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"relative flex h-2 w-2",children:[l.jsx("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full bg-green-400 opacity-75"}),l.jsx("span",{className:"relative inline-flex rounded-full h-2 w-2 bg-green-500"})]}),l.jsx("span",{className:"text-green-600 dark:text-green-400 font-medium",children:"Active"}),l.jsx("span",{className:"text-green-600/70 dark:text-green-400/70 tabular-nums",children:yr})]}):H?l.jsxs(l.Fragment,{children:[l.jsx(pr,{size:14,className:"animate-spin text-amber-500"}),l.jsx("span",{className:"text-amber-600 dark:text-amber-400 font-medium",children:"Initializing"})]}):l.jsx("span",{className:"text-muted-foreground",children:"Inactive"})}),l.jsx("div",{className:"flex flex-col items-center justify-center w-full bg-transparent cursor-text",children:l.jsxs("div",{className:Ee("relative flex w-full",b?"min-h-[44px] items-center":"min-h-[73px] items-end"),children:[l.jsxs("div",{className:Ee("relative flex flex-1",b?"min-h-[44px] items-center":"mx-5 min-h-[73px] items-start"),children:[gt==="recording"||gt==="processing"?l.jsx("div",{className:"w-full min-h-[80px] pb-[34px] bg-transparent overflow-hidden flex items-center justify-start",children:l.jsx(tne,{audioData:_e,isRecording:gt==="recording",isPaused:gt==="processing"})}):l.jsx(Oo,{ref:ct,className:Ee("max-h-[80vh] border-none bg-transparent text-foreground font-sans leading-relaxed resize-none outline-none overflow-y-auto scrollbar-thin ring-0 focus-visible:ring-0 focus-visible:ring-offset-0",b?"min-h-[40px] py-2 pl-3 pr-12 text-sm":"min-h-[80px] pt-4 pr-[60px] pb-[50px] text-base"),placeholder:N&&p?"Deny and tell Claude what to do":i,value:U,onChange:qt,onKeyDown:_t,rows:1,disabled:(a||o)&&!(N&&p)}),gt==="processing"&&l.jsx("textarea",{ref:ct,className:"absolute opacity-0 pointer-events-none -top-[9999px]",value:U,onChange:qt,rows:1,disabled:!0})]}),(s||u)&>==="idle"&&l.jsx("div",{className:"absolute bottom-2 left-6 right-10 flex items-center justify-center overflow-visible",children:l.jsx("div",{className:"flex gap-2 w-full justify-between",children:l.jsxs("div",{className:"flex gap-2",children:[s&&l.jsx(ine,{selectedDirectory:ee,recentDirectories:w,onDirectorySelect:Rr}),u&&l.jsx(ane,{selectedModel:ne,availableModels:O,onModelSelect:Ir})]})})}),l.jsxs("div",{className:Ee("absolute flex items-center justify-center gap-2",b?"right-1.5 bottom-1.5":"right-2.5 bottom-2"),children:[gt==="recording"||gt==="processing"?l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(Io,{children:l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsx(ze,{type:"button",variant:"secondary",size:"icon",className:"w-8 h-8 hover:scale-[1.03]",onClick:oo,disabled:gt==="processing",children:gt==="processing"?l.jsx(pr,{size:16,className:"animate-spin"}):l.jsx(Et,{size:16})})}),l.jsx(Wr,{children:l.jsx("p",{children:gt==="processing"?"Processing...":"Accept recording"})})]})}),l.jsx(Io,{children:l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsx(ze,{type:"button",variant:"secondary",size:"icon",className:"w-8 h-8 hover:scale-[1.03]",onClick:Ni,disabled:gt==="processing",children:l.jsx(Bi,{size:16})})}),l.jsx(Wr,{children:l.jsx("p",{children:"Discard recording"})})]})})]}):g&&me&&l.jsx(Io,{children:l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsx(ze,{type:"button",variant:"ghost",size:"sm",className:Ee("h-8 px-2 text-muted-foreground hover:bg-muted/50 rounded-full",ve&&"bg-red-300 text-red-900 hover:bg-red-400 hover:text-red-950"),onClick:Ur,disabled:o,children:ve?l.jsx(NQ,{size:16}):l.jsx(PQ,{size:16})})}),l.jsx(Wr,{children:l.jsx("p",{children:ve?`Error: ${ve}`:"Start voice recording"})})]})}),N&&p?l.jsxs("div",{className:"flex gap-2",children:[l.jsxs(ze,{type:"button",className:"h-8 min-w-[60px] px-3 py-0.5 bg-blue-600 text-white hover:bg-blue-700 border-0 shadow-none rounded-full flex items-center gap-1.5",onClick:()=>T?.(N.id,"approve"),children:[l.jsx(Et,{size:14}),l.jsx("span",{children:"Accept"})]}),l.jsxs(ze,{type:"button",className:"h-8 min-w-[60px] px-3 py-0.5 bg-muted text-muted-foreground hover:bg-muted/80 border-0 shadow-none rounded-full flex items-center gap-1.5",onClick:()=>{const ke=U.trim();T?.(N.id,"deny",ke||void 0),$("")},children:[l.jsx(Bi,{size:14}),l.jsx("span",{children:"Deny"})]})]}):I?l.jsxs("div",{className:"flex items-center gap-1",children:[l.jsx(Io,{children:l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsx(ze,{type:"button",size:"icon",variant:"ghost",className:"h-8 w-8 text-muted-foreground hover:bg-muted",onClick:()=>R?.(),children:l.jsx(_Q,{size:16})})}),l.jsx(Wr,{children:l.jsx("p",{children:"Stop (SIGTERM)"})})]})}),l.jsx(Io,{children:l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsx(ze,{type:"button",size:"icon",variant:"ghost",className:"h-8 w-8 text-red-500 hover:bg-red-500/10",onClick:()=>K?.(),children:l.jsx(xc,{size:16})})}),l.jsx(Wr,{children:l.jsx("p",{children:"Kill (SIGKILL)"})})]})})]}):gt==="idle"&&l.jsx(ze,{type:"button",className:`h-8 w-8 p-0 border-0 shadow-none ${!U.trim()||a||o||s&&ee==="Select directory"?"bg-muted text-muted-foreground":"bg-accent text-accent-foreground hover:bg-accent/90"}`,disabled:!U.trim()||a||o||s&&ee==="Select directory",onClick:()=>mn(Z),children:a?l.jsx(pr,{size:16,className:"animate-spin"}):l.jsx($4,{size:16})})]})]})})]}),(d||G)&&l.jsx(one,{suggestions:Ye.suggestions,onSelect:or,onClose:Jt,isOpen:Ye.isActive&&Ye.suggestions.length>0,focusedIndex:Ye.focusedIndex,type:Ye.type,onFocusReturn:()=>ct.current?.focus()}),N&&p&&l.jsx(I5,{permissionRequest:N,isVisible:!0})]})});function lne(){let e=sessionStorage.getItem("connectionDebugTraceId");return e||(e=`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`,sessionStorage.setItem("connectionDebugTraceId",e)),e}let ag=!1,Ns=null;function cne(){return ag}function une(){return Ns}function Sn(e,t,n){if(!ag)return;const r=Ns?`[${Ns.slice(0,8)}]`:"";console.log(`%c[ConnDebug]%c ${r} %c${e}%c:${t}`,"background: #4a5568; color: white; padding: 1px 4px; border-radius: 2px;","color: #718096;","color: #48bb78; font-weight: bold;","color: #9ae6b4;",n||""),fetch("/api/debug/connection/log",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({component:e,event:t,details:n,traceId:Ns})}).catch(()=>{})}async function dne(){ag=!0,Ns=lne();try{await fetch("/api/debug/connection/enable",{method:"POST"}),console.log("%c[ConnDebug] Enabled%c - trace ID: %c"+Ns,"background: #48bb78; color: white; padding: 2px 6px; border-radius: 3px;","color: #9ae6b4;","color: #48bb78; font-weight: bold;"),console.log("%c[ConnDebug]%c Backend logs: ~/.claudia/logs/connection-debug.log","background: #4a5568; color: white; padding: 1px 4px; border-radius: 2px;","color: #a0aec0;")}catch(e){console.error("[ConnDebug] Failed to enable backend logging:",e)}Sn("Debug","enabled",{url:window.location.href,userAgent:navigator.userAgent,timestamp:new Date().toISOString()})}async function fne(){Sn("Debug","disabled"),ag=!1,Ns=null;try{await fetch("/api/debug/connection/disable",{method:"POST"}),console.log("%c[ConnDebug] Disabled","background: #718096; color: white; padding: 2px 6px; border-radius: 3px;")}catch(e){console.error("[ConnDebug] Failed to disable backend logging:",e)}}async function pne(e=200){try{return(await(await fetch(`/api/debug/connection/logs?limit=${e}`)).json()).logs}catch(t){return console.error("[ConnDebug] Failed to fetch logs:",t),[]}}async function hne(){try{await fetch("/api/debug/connection/logs",{method:"DELETE"}),console.log("[ConnDebug] Logs cleared")}catch(e){console.error("[ConnDebug] Failed to clear logs:",e)}}async function mne(){const e=await pne();console.log("%c[ConnDebug] Recent Logs ("+e.length+")","background: #4a5568; color: white; padding: 4px 8px; border-radius: 3px; font-size: 14px;"),e.forEach(t=>{const n=t,r=n.source==="frontend"?"#48bb78":"#4299e1";console.log(`%c${n.source}%c ${n.timestamp.slice(11,23)} %c${n.component}%c:${n.event}`,`background: ${r}; color: white; padding: 1px 4px; border-radius: 2px;`,"color: #718096;","color: #ed8936;","color: #fbd38d;",n.details||"")})}typeof window<"u"&&(window.__enableConnectionDebug=dne,window.__disableConnectionDebug=fne,window.__viewConnectionLogs=mne,window.__clearConnectionLogs=hne,window.__connectionDebug={log:Sn,isEnabled:cne,getTraceId:une});const eP=5,gne=Vi.maxAttempts,yne=Vi.initialDelayMs;function xne(e,t){const[n,r]=m.useState(new Map),i=m.useRef(new Map),a=m.useRef(t),o=m.useRef([]);m.useEffect(()=>{a.current=t},[t]);const s=m.useCallback(()=>{let h=0;return i.current.forEach(g=>{(g.connectionState==="connecting"||g.connectionState==="connected")&&h++}),h},[]),u=m.useCallback(h=>{const g=i.current.get(h);g&&(g.retryTimeout&&clearTimeout(g.retryTimeout),g.reader&&g.reader.cancel().catch(()=>{}),g.abortController&&g.abortController.abort(),g.connectionState="disconnected",g.reader=null,g.abortController=null,i.current.set(h,g),r(new Map(i.current)),a.current.onStreamDisconnect?.(h),d())},[]),d=m.useCallback(()=>{const h=a.current.maxConcurrentConnections||eP,g=s();for(;o.current.length>0&&g<h;){const x=o.current.shift();x&&p(x)}},[]),p=m.useCallback(async h=>{const g=i.current.get(h);if(g&&(g.connectionState==="connecting"||g.connectionState==="connected")){Sn("useMultipleStreams","connect-skipped-existing",{streamingId:h.slice(0,8),state:g.connectionState});return}const x=a.current.maxConcurrentConnections||eP;if(s()>=x){o.current.includes(h)||(o.current.push(h),Sn("useMultipleStreams","connect-queued",{streamingId:h.slice(0,8),queueLength:o.current.length,activeCount:s()}));return}Sn("useMultipleStreams","connect-starting",{streamingId:h.slice(0,8),activeCount:s()});const b=g||{streamingId:h,connectionState:"connecting",reader:null,abortController:null,retryCount:0};b.connectionState="connecting",b.abortController=new AbortController,i.current.set(h,b),r(new Map(i.current));try{const v=await fetch(`/api/stream/${h}`,{signal:b.abortController.signal});if(!v.ok)throw new Error(`Stream connection failed: ${v.status}`);if(!v.body)throw new Error("No response body");const A=v.body.getReader();b.reader=A,b.connectionState="connected",b.retryCount=0,i.current.set(h,b),r(new Map(i.current)),a.current.onStreamConnect?.(h);const w=new TextDecoder;let k="";for(;;){const{done:j,value:P}=await A.read();if(j)break;const O=w.decode(P,{stream:!0});k+=O;const N=k.split(`
|
|
140
|
-
`);k=N.pop()||"";for(const T of N)if(T.trim())try{let R=T;if(T.startsWith("data: ")&&(R=T.substring(6)),T.startsWith(":"))continue;const K=JSON.parse(R);b.lastEvent=K,b.lastEventTime=new Date,i.current.set(h,b),r(new Map(i.current)),a.current.onStreamMessage(h,K)}catch(R){console.error("Failed to parse stream message:",T,R)}}}catch(v){if(!(v instanceof Error&&v.name==="AbortError")){console.error(`Stream error for ${h}:`,v),Sn("useMultipleStreams","stream-error",{streamingId:h.slice(0,8),error:v instanceof Error?v.message:String(v),retryCount:b.retryCount}),b.connectionState="error",i.current.set(h,b),r(new Map(i.current)),a.current.onStreamError?.(h,v instanceof Error?v:new Error(String(v)));const A=a.current.maxRetries||gne;if(b.retryCount<A){b.retryCount++;const w=(a.current.initialRetryDelay||yne)*Math.pow(2,b.retryCount-1);Sn("useMultipleStreams","scheduling-retry",{streamingId:h.slice(0,8),attempt:b.retryCount,delayMs:w}),b.retryTimeout=setTimeout(()=>{p(h)},w)}else Sn("useMultipleStreams","max-retries-reached",{streamingId:h.slice(0,8),attempts:b.retryCount})}}finally{const v=i.current.get(h);v&&(v.connectionState==="connecting"||v.connectionState==="connected")&&u(h)}},[u,s]);return m.useEffect(()=>{const h=new Set(Array.from(i.current.keys())),g=new Set(e);h.forEach(x=>{g.has(x)||u(x)}),e.forEach(x=>{h.has(x)||p(x)})},[e,p,u]),m.useEffect(()=>()=>{i.current.forEach((h,g)=>{u(g)}),o.current=[]},[u]),{connections:n,getConnectionState:h=>n.get(h),reconnect:p,disconnect:u,activeConnectionCount:s()}}function vne(e,t){const n={lastEvent:e,lastEventTime:new Date().toISOString()};switch(e.type){case"connected":return{...n,currentStatus:"Running",connectionState:"connected"};case"system":if("subtype"in e&&e.subtype==="init")return{...n,currentStatus:"Initializing...",connectionState:"connected"};break;case"user":return{lastEvent:e,lastEventTime:new Date().toISOString()};case"assistant":return bne(e,n);case"result":return Ane(e,n);case"closed":return{...n,currentStatus:"Closed",connectionState:"disconnected"};case"error":return{...n,currentStatus:"Error occurred",connectionState:"error"};case"permission_request":return{...n,currentStatus:"Awaiting approval..."}}return n}function bne(e,t){const n=e.message,r={...t};if(n.content&&Array.isArray(n.content)){const i=n.content.filter(a=>typeof a=="object"&&"type"in a&&a.type==="tool_use");if(i.length>0){const a=i[0];if(typeof a=="object"&&"name"in a){const o=a.name;r.currentStatus=Sne(o)}}else r.currentStatus="Thinking..."}else r.currentStatus="Processing...";return r}function Ane(e,t){const n={...t};switch(e.subtype){case"success":n.currentStatus="Completed",n.connectionState="disconnected";break;case"error_max_turns":n.currentStatus="Max turns reached",n.connectionState="disconnected";break;default:n.currentStatus="Finished",n.connectionState="disconnected"}return e.usage&&(n.toolMetrics={linesAdded:0,linesRemoved:0,editCount:0,writeCount:0}),n}function Sne(e){return{Read:"Reading file...",Write:"Writing file...",Edit:"Editing file...",MultiEdit:"Editing multiple sections...",NotebookRead:"Reading notebook...",NotebookEdit:"Editing notebook...",Grep:"Searching files...",Glob:"Finding files...",LS:"Listing directory...",Bash:"Running command...",Task:"Running task...",WebFetch:"Fetching web content...",WebSearch:"Searching web...",TodoRead:"Reading To-Do...",TodoWrite:"Updating To-Do...",exit_plan_mode:"Finalizing plan..."}[e]||`Running ${e}...`}const U5=m.createContext(void 0);function wne({children:e}){const[t,n]=m.useState(new Map),[r,i]=m.useState([]),a=m.useRef(new Map),o=m.useCallback((b,v)=>{const A=a.current.get(b)||{connectionState:"connected",currentStatus:"Running"},w=vne(v),k={...A,...w};a.current.set(b,k),n(new Map(a.current))},[]),s=m.useCallback((b,v)=>{const A=a.current.get(b)||{connectionState:"error",currentStatus:"Error"};Sn("StreamStatusContext","stream-error",{streamingId:b.slice(0,8),error:v.message,previousState:A.connectionState});const w={...A,connectionState:"error",currentStatus:`Error: ${v.message}`,lastEventTime:new Date().toISOString()};a.current.set(b,w),n(new Map(a.current))},[]),u=m.useCallback(b=>{Sn("StreamStatusContext","stream-connected",{streamingId:b.slice(0,8)});const v={connectionState:"connected",currentStatus:"Running",lastEventTime:new Date().toISOString()};a.current.set(b,v),n(new Map(a.current))},[]),d=m.useCallback(b=>{const v=a.current.get(b);if(Sn("StreamStatusContext","stream-disconnected",{streamingId:b.slice(0,8),previousState:v?.connectionState,previousStatus:v?.currentStatus}),v&&v.connectionState!=="disconnected"){const A={...v,connectionState:"disconnected",lastEventTime:new Date().toISOString()};a.current.set(b,A),n(new Map(a.current))}},[]),{activeConnectionCount:p}=xne(r,{onStreamMessage:o,onStreamError:s,onStreamConnect:u,onStreamDisconnect:d,maxConcurrentConnections:5,maxRetries:3,initialRetryDelay:1e3}),h=m.useCallback(b=>{const v=b.filter(A=>A&&A.length>0);i(A=>{const w=new Set([...A,...v]);return Array.from(w)}),v.forEach(A=>{if(!a.current.has(A)){const w={connectionState:"connecting",currentStatus:"Connecting...",lastEventTime:new Date().toISOString()};a.current.set(A,w)}}),n(new Map(a.current))},[]),g=m.useCallback(b=>{i(v=>v.filter(A=>A!==b)),a.current.delete(b),n(new Map(a.current))},[]),x=m.useCallback(b=>t.get(b),[t]);return l.jsx(U5.Provider,{value:{streamStatuses:t,subscribeToStreams:h,unsubscribeFromStream:g,getStreamStatus:x,activeStreamCount:p},children:e})}function kne(){const e=m.useContext(U5);if(e===void 0)throw new Error("useStreamStatus must be used within a StreamStatusProvider");return e}const q5={status:"disconnected",error:null,reconnectAttempt:0,lastConnectedAt:null,lastDisconnectedAt:null};function jne(e,t){switch(t.type){case"CONNECT_START":return{...e,status:"connecting",error:null,reconnectAttempt:0};case"CONNECT_SUCCESS":return{...e,status:"connected",error:null,reconnectAttempt:0,lastConnectedAt:new Date};case"DISCONNECT":return e.status==="connected"?{...e,status:"reconnecting",error:t.error||null,reconnectAttempt:1,lastDisconnectedAt:new Date}:e.status==="connecting"?{...e,status:"reconnecting",error:t.error||null,reconnectAttempt:1,lastDisconnectedAt:new Date}:e;case"RECONNECT_START":return{...e,status:"reconnecting",reconnectAttempt:t.attempt};case"RECONNECT_FAILED":return{...e,status:"reconnecting",error:t.error,reconnectAttempt:t.attempt};case"GIVE_UP":return{...e,status:"failed",error:t.error};case"RESET":return{...q5,lastConnectedAt:e.lastConnectedAt,lastDisconnectedAt:e.lastDisconnectedAt};default:return e}}const D5=m.createContext(void 0);function tP(e){switch(e.type){case"session":return`session:${e.sessionId}`;case"activity":return"activity";case"insights":return`insights:${e.sessionId}`}}function Ene({children:e}){const[t,n]=m.useReducer(jne,q5),r=m.useRef(null),i=m.useRef(null),a=m.useRef(null),o=m.useRef(null),s=m.useRef(new Map),u=m.useRef(!0),d=m.useRef(new Set),p=m.useCallback(()=>{i.current&&(clearTimeout(i.current),i.current=null),a.current&&(clearTimeout(a.current),a.current=null),o.current&&(clearTimeout(o.current),o.current=null)},[]),h=m.useCallback(()=>{p(),r.current&&(r.current.close(),r.current=null)},[p]),g=m.useCallback(()=>{o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{u.current&&(console.warn("[StreamContext] Heartbeat timeout - connection stale, forcing reconnect"),Sn("StreamContext","heartbeat-timeout",{timeoutMs:_E}),r.current&&(r.current.close(),r.current=null),n({type:"DISCONNECT",error:new Error("Connection stale (no heartbeat)")}))},_E)},[]),x=m.useCallback(()=>{if(!u.current)return;h(),n({type:"CONNECT_START"});const O="/api/conversations/activity-stream";console.warn("[StreamContext] Connecting to activity stream..."),Sn("StreamContext","connecting",{url:O});const N=new EventSource(O);r.current=N,a.current=setTimeout(()=>{N.readyState===EventSource.CONNECTING&&(console.warn("[StreamContext] Connection timeout"),N.close(),u.current&&n({type:"DISCONNECT",error:new Error("Connection timeout")}))},SI),N.onopen=()=>{a.current&&(clearTimeout(a.current),a.current=null),console.warn("[StreamContext] Connected"),Sn("StreamContext","connected"),u.current&&(n({type:"CONNECT_SUCCESS"}),g())},N.onmessage=T=>{g();try{const R=JSON.parse(T.data);(R.type==="session-ended"||R.type==="insights")&&console.warn("[StreamContext] SSE:",R.type,R.sessionId?.slice(0,8)||"");const K=Nne(R);if(K){const I=tP(K),H=s.current.get(I);R.type==="insights"&&console.warn("[StreamContext] Dispatching insights to",I,"subscribers:",H?.size||0),H&&H.forEach(V=>{try{V(R)}catch(Q){console.error("[StreamContext] Subscriber callback error:",Q)}})}}catch(R){console.error("[StreamContext] Failed to parse message:",R)}},N.onerror=()=>{p(),N.close(),r.current=null,u.current&&(console.warn("[StreamContext] Connection error"),Sn("StreamContext","connection-error",{readyState:N.readyState}),n({type:"DISCONNECT",error:new Error("Connection lost")}))}},[h,p,g]),b=m.useCallback(O=>{if(!u.current)return;if(O>Vi.maxAttempts){console.warn("[StreamContext] Max reconnection attempts reached"),n({type:"GIVE_UP",error:new Error("Connection failed after multiple attempts")});return}const N=wI(O);console.warn(`[StreamContext] Reconnecting in ${N}ms (attempt ${O}/${Vi.maxAttempts})`),n({type:"RECONNECT_START",attempt:O}),i.current=setTimeout(()=>{u.current&&x()},N)},[x]);m.useEffect(()=>{t.status==="reconnecting"&&t.reconnectAttempt>0&&(i.current||b(t.reconnectAttempt))},[t.status,t.reconnectAttempt,b]),m.useEffect(()=>{const O=()=>{document.visibilityState==="visible"&&(console.warn("[StreamContext] Tab became visible"),(t.status==="failed"||t.status==="disconnected")&&(n({type:"RESET"}),x()))};return document.addEventListener("visibilitychange",O),()=>{document.removeEventListener("visibilitychange",O)}},[t.status,x]);const v=m.useCallback((O,N)=>{const T=tP(O);return s.current.has(T)||s.current.set(T,new Set),s.current.get(T).add(N),d.current.add(T),()=>{const R=s.current.get(T);R&&(R.delete(N),R.size===0&&(s.current.delete(T),d.current.delete(T)))}},[]),A=m.useCallback(()=>{console.warn("[StreamContext] Manual reconnect triggered"),h(),n({type:"RESET"}),x()},[h,x]);m.useEffect(()=>(u.current=!0,x(),()=>{u.current=!1,h()}),[x,h]);const w=t.status==="connected",k=t.status==="reconnecting",j=m.useMemo(()=>t.status==="failed"?t.error?.message||"Connection failed":t.status==="reconnecting"?`Reconnecting... (attempt ${t.reconnectAttempt}/${Vi.maxAttempts})`:null,[t.status,t.error,t.reconnectAttempt]),P=m.useMemo(()=>({connectionState:t,subscribe:v,reconnect:A,isConnected:w,isReconnecting:k,errorMessage:j}),[t,v,A,w,k,j]);return l.jsx(D5.Provider,{value:P,children:e})}function H5(){const e=m.useContext(D5);if(e===void 0)throw new Error("useStream must be used within a StreamProvider");return e}function Qu(e,t){const{subscribe:n}=H5(),r=m.useRef(t);m.useEffect(()=>{r.current=t},[t]),m.useEffect(()=>e?n(e,a=>{r.current(a)}):void 0,[e,n])}function Nne(e){switch(e.type){case"activity":return{type:"activity"};case"insights":case"insights-status":return{type:"activity"};case"session-ended":return{type:"activity"};case"turn-captured":return{type:"activity"};case"current-work":case"current-work-clear":return{type:"activity"};case"connected":case"ping":return null;default:return console.warn("[StreamContext] Unknown message type:",e.type),null}}const V5=m.createContext(void 0),nP=20,rP=40,Er={all:["conversations"],list:e=>[...Er.all,"list",e],details:e=>[...Er.all,"details",e]},Cne=3e4,Pne=30*1e3;function One({children:e}){const t=IS(),[n,r]=m.useState({archived:!1}),[i,a]=m.useState([]),[o,s]=m.useState(!1),[u,d]=m.useState(!0),{subscribeToStreams:p,getStreamStatus:h,streamStatuses:g}=kne(),x=Cr.useRef(Date.now()),[b,v]=m.useState({}),[A,w]=m.useState(new Set),[k,j]=m.useState(new Set),{connectionState:P}=H5(),O=m.useRef(P.status);m.useEffect(()=>{const U=O.current,$=P.status;O.current=$,$==="connected"&&(U==="reconnecting"||U==="disconnected")&&(console.warn("[Conversations] SSE reconnected - refetching to catch missed events",{prevStatus:U,currentStatus:$}),Sn("ConversationsContext","reconnect-refetch",{prevStatus:U}),t.invalidateQueries({queryKey:Er.all}))},[P.status,t]);const N=m.useRef({all:!1,sessionIds:new Set}),T=m.useRef(null),R=m.useCallback(U=>{U?N.current.sessionIds.add(U):N.current.all=!0,T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{const{all:$,sessionIds:ee}=N.current;console.warn("[Conversations] Debounce fired - invalidating queries",{all:$,sessionCount:ee.size}),$&&t.invalidateQueries({queryKey:Er.all}),ee.forEach(ue=>{t.invalidateQueries({queryKey:["insights",ue]})}),N.current={all:!1,sessionIds:new Set},T.current=null},500)},[t]),K=m.useRef({}),I=m.useCallback(U=>{const $=U;switch($.type){case"insights-status":{const ee=$.timestamps||{};let ue=!1;for(const[ne,pe]of Object.entries(ee)){const Z=K.current[ne];Z&&pe>Z&&(console.warn("[Conversations] Detected missed insight update for session:",ne.slice(0,8)),ue=!0)}K.current=ee,ue&&(console.warn("[Conversations] Refetching due to missed insights updates"),t.invalidateQueries({queryKey:Er.all}));break}case"activity":{const{sessionId:ee,recentActions:ue}=$;ee&&ue&&Array.isArray(ue)&&v(ne=>{if(ue.length>0)return{...ne,[ee]:ue};{const pe={...ne};return delete pe[ee],pe}});break}case"insights":{const{sessionId:ee,identityImage:ue,insightType:ne,traceId:pe}=$;if(!ee)break;console.warn("[Conversations] Insights SSE received",{traceId:pe,insightType:ne,sessionId:ee.slice(0,8),hasImage:!!ue}),j(he=>{if(!he.has(ee))return he;const se=new Set(he);return se.delete(ee),se});const Z=new Date().toISOString();K.current[ee]=Z;const ae=t.getQueryData(["insights",ee]);console.warn("[Conversations] Updating insights cache",{traceId:pe,sessionId:ee.slice(0,8),hadCache:!!ae,newPatchedAt:Z}),t.setQueryData(["insights",ee],he=>he?{...he,patchedAt:Z}:(console.warn("[Conversations] No existing insights cache to update",{traceId:pe,sessionId:ee.slice(0,8)}),he)),ue&&t.setQueriesData({queryKey:Er.all},he=>he?.conversations?{...he,conversations:he.conversations.map(se=>se.sessionId===ee?{...se,sessionInfo:{...se.sessionInfo,identity_image:ue}}:se)}:he),console.warn("[Conversations] Triggering invalidations",{traceId:pe,sessionId:ee.slice(0,8)}),t.invalidateQueries({queryKey:["insights",ee]}),R();break}case"session-ended":{const{sessionId:ee}=$;if(!ee)break;console.warn("[Conversations] Session ended:",ee.slice(0,8)),Sn("ConversationsContext","session-ended-received",{sessionId:ee.slice(0,8)}),j(ue=>{const ne=new Set(ue);return ne.add(ee),setTimeout(()=>{j(pe=>{if(!pe.has(ee))return pe;const Z=new Set(pe);return Z.delete(ee),Z})},15e3),ne}),w(ue=>{const ne=new Set(ue);return ne.delete(ee),ne}),v(ue=>{const ne={...ue};return delete ne[ee],ne}),t.invalidateQueries({queryKey:Er.all});break}}},[t,R]);Qu({type:"activity"},I),m.useEffect(()=>()=>{T.current&&clearTimeout(T.current)},[]);const H=void 0,{data:V,isLoading:Q,error:F}=eh({queryKey:Er.list(n),queryFn:async()=>{const U=await we.getConversations({limit:nP,offset:0,sortBy:"updated",order:"desc",...n});return{conversations:U.conversations,hasMore:U.conversations.length===nP}},placeholderData:U=>U});m.useEffect(()=>{a([]),d(V?.hasMore??!0)},[n,V?.hasMore]);const J=V?.conversations??[],G=Cr.useMemo(()=>{const U=new Set(J.map(ee=>ee.sessionId)),$=i.filter(ee=>!U.has(ee.sessionId));return[...J,...$]},[J,i]);m.useEffect(()=>{const U=G.filter($=>$.status==="ongoing"&&$.streamingId).map($=>$.streamingId);Sn("ConversationsContext","subscribe-effect-triggered",{ongoingCount:U.length,ongoingStreamIds:U.map($=>$.slice(0,8)),totalConversations:G.length}),U.length>0&&p(U)},[G,p]);const te=Cr.useMemo(()=>G.map(U=>{if(U.streamingId&&U.status==="ongoing"){const $=h(U.streamingId);if($)return{...U,liveStatus:$,status:$.connectionState==="disconnected"&&$.currentStatus==="Completed"?"completed":U.status}}return U}),[G,g,h]),L=Cr.useMemo(()=>{const U={};return te.forEach($=>{if($.projectPath){const ee=$.projectPath.split("/"),ue=ee[ee.length-1]||$.projectPath;(!U[$.projectPath]||new Date($.updatedAt)>new Date(U[$.projectPath].lastDate))&&(U[$.projectPath]={lastDate:$.updatedAt,shortname:ue})}}),U},[te,H]),Y=m.useRef(new Set);m.useEffect(()=>{const U=Array.from(A).filter($=>!Y.current.has($));U.length!==0&&(U.forEach($=>{Y.current.add($),t.prefetchQuery({queryKey:Er.details($),queryFn:()=>we.getConversationDetails($),staleTime:3e4})}),console.warn("[Prefetch] Prefetching conversation details for active sessions:",U.length))},[A,t]),m.useEffect(()=>{const U={},$={};let ee=[];const ne=setInterval(async()=>{if(document.visibilityState!=="visible")return;const Z=G.map(ae=>ae.sessionId);if(Z.length!==0)try{const{mtimes:ae,activeSessionIds:he,insightMtimes:se}=await we.checkInsightsActivity(Z,U,ee);ee=he;let Fe=!1;for(const[Oe,Xe]of Object.entries(ae))U[Oe]!==void 0&&U[Oe]!==Xe&&(Fe=!0),U[Oe]=Xe;if(se)for(const[Oe,Xe]of Object.entries(se))$[Oe]!==void 0&&$[Oe]!==Xe&&(Fe=!0),$[Oe]=Xe;w(new Set(he)),Fe&&t.invalidateQueries({queryKey:Er.all})}catch{}},Cne),pe=()=>{document.visibilityState==="visible"?Date.now()-x.current>Pne&&t.invalidateQueries({queryKey:Er.all}):x.current=Date.now()};return document.addEventListener("visibilitychange",pe),()=>{clearInterval(ne),document.removeEventListener("visibilitychange",pe)}},[t,G]);const D=m.useCallback(async U=>{const $=U||n;if(!(o||!u)){s(!0);try{const ee=await we.getConversations({limit:rP,offset:G.length,sortBy:"updated",order:"desc",...$});ee.conversations.length===0?d(!1):(a(ue=>{const ne=new Set(ue.map(Z=>Z.sessionId)),pe=ee.conversations.filter(Z=>!ne.has(Z.sessionId));return[...ue,...pe]}),d(ee.conversations.length===rP))}catch(ee){console.error("Error loading more conversations:",ee)}finally{s(!1)}}},[n,o,u,G.length]),B=m.useCallback(()=>te.length===0?null:[...te].sort(($,ee)=>new Date(ee.updatedAt).getTime()-new Date($.updatedAt).getTime())[0]?.projectPath||null,[te]),W=m.useCallback(async()=>{await t.refetchQueries({queryKey:Er.all})},[t]);return l.jsx(V5.Provider,{value:{conversations:te,loading:Q,loadingMore:o,hasMore:u,error:F?"Failed to load conversations":null,recentDirectories:L,activeFilters:n,setActiveFilters:r,loadMoreConversations:D,getMostRecentWorkingDirectory:B,invalidateConversations:W,recentActions:b,pendingInsightsUpdates:k},children:e})}function og(){const e=m.useContext(V5);if(e===void 0)throw new Error("useConversations must be used within a ConversationsProvider");return e}const K5=m.createContext(void 0);function Tne({children:e}){const[t,n]=m.useState("free"),[r,i]=m.useState({maxSessions:null,insightsEnabled:!1}),[a,o]=m.useState(!1),[s,u]=m.useState(null),[d,p]=m.useState(!0),[h,g]=m.useState(null),x=m.useCallback(async()=>{try{p(!0),g(null);const w=await we.getLicense();n(w.tier),i(w.limits),o(w.isBetaMode),u(w.license)}catch(w){g(w instanceof Error?w:new Error("Failed to load license")),n("free"),i({maxSessions:null,insightsEnabled:!1}),o(!1),u(null)}finally{p(!1)}},[]);m.useEffect(()=>{x()},[x]);const b=m.useCallback(async w=>{try{const k=await we.activateLicense(w);return k.success?(await x(),{success:!0}):{success:!1,error:k.error||"Activation failed"}}catch(k){return{success:!1,error:k instanceof Error?k.message:"Activation failed"}}},[x]),v=m.useCallback(async()=>{try{await we.deactivateLicense(),await x()}catch(w){throw g(w instanceof Error?w:new Error("Failed to deactivate license")),w}},[x]),A=r.insightsEnabled;return l.jsx(K5.Provider,{value:{tier:t,limits:r,isBetaMode:a,license:s,isLoading:d,error:h,hasInsights:A,activateLicense:b,deactivateLicense:v,refresh:x},children:e})}function Rne(){const e=m.useContext(K5);if(!e)throw new Error("useLicense must be used within a LicenseProvider");return e}function Ine({sessionId:e,isArchived:t=!1,insightsPanelOpen:n,onToggleInsightsPanel:r,crossSessionSidebarOpen:i,onToggleCrossSessionSidebar:a,isReviewMode:o,isReviewLoading:s,onStartReview:u,isSessionActive:d}){const p=Sd(),{invalidateConversations:h}=og(),{isBetaMode:g}=Rne(),[x,b]=m.useState(!1),v=async()=>{if(!e){console.warn("[Archive] No sessionId, returning early");return}console.warn("[Archive] Starting archive for session:",e);try{console.warn("[Archive] Calling api.updateSession..."),await we.updateSession(e,{archived:!t}),console.warn("[Archive] api.updateSession succeeded, invalidating..."),await h(),console.warn("[Archive] Invalidation done, navigating to /"),p("/"),console.warn("[Archive] navigate() called")}catch(w){console.error(`[Archive] Failed to ${t?"unarchive":"archive"} session:`,w)}},A=async()=>{if(e)try{await navigator.clipboard.writeText(e)}catch(w){console.error("Failed to copy session ID:",w)}};return l.jsx(Io,{children:l.jsxs("div",{className:"flex justify-between items-center gap-3 px-4 py-3 border-b border-border/50 bg-background transition-colors relative overflow-hidden",children:[l.jsx("div",{className:"absolute inset-0 bg-[linear-gradient(rgba(0,255,255,0.03)_1px,transparent_1px),linear-gradient(90deg,rgba(0,255,255,0.03)_1px,transparent_1px)] bg-[size:20px_20px] pointer-events-none"}),l.jsxs("div",{className:"relative flex items-center gap-3",children:[a&&!i&&l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsx("button",{onClick:a,"aria-label":"Open sessions sidebar",className:"lg:hidden p-1.5 rounded-sm text-muted-foreground hover:text-cyan-400 hover:bg-cyan-500/5 hover:shadow-[2px_2px_0_rgba(0,255,255,0.5),-2px_-2px_0_rgba(168,85,247,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 cursor-pointer",children:l.jsx(_4,{size:18})})}),l.jsx(Wr,{children:l.jsx("p",{children:"Open sessions"})})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(qs,{size:16,className:"text-cyan-400"}),l.jsx("span",{className:"font-mono text-sm font-bold text-cyan-400 tracking-wider",children:"CLAUDIA"}),g&&l.jsx("span",{className:"font-mono text-[10px] text-purple-400 uppercase tracking-widest",children:"[BETA]"}),l.jsx("span",{className:"font-mono text-[10px] text-muted-foreground/30 select-none",children:"b19f923"})]})]}),l.jsxs("div",{className:"relative hidden md:flex items-center gap-3",children:[r&&l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsxs("button",{onClick:r,"aria-label":n?"Hide history panel":"Show history panel",className:"flex items-center gap-2 px-3 py-1.5 rounded-sm bg-background/80 backdrop-blur-sm border border-amber-500/30 text-amber-400 text-xs font-mono font-bold uppercase tracking-wider hover:border-amber-400 hover:bg-amber-500/5 hover:shadow-[2px_2px_0_rgba(245,158,11,0.5),-2px_-2px_0_rgba(0,255,255,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 cursor-pointer",children:[n?l.jsx(qN,{size:14}):l.jsx(DN,{size:14}),l.jsx("span",{children:n?"HIDE":"HISTORY"})]})}),l.jsx(Wr,{children:l.jsx("p",{children:n?"Hide history":"Show history"})})]}),e&&l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsxs("button",{onClick:A,"aria-label":"Copy session ID",className:"flex items-center gap-2 px-3 py-1.5 rounded-sm bg-background/80 backdrop-blur-sm border border-blue-500/30 text-blue-400 text-xs font-mono font-bold uppercase tracking-wider hover:border-blue-400 hover:bg-blue-500/5 hover:shadow-[2px_2px_0_rgba(59,130,246,0.5),-2px_-2px_0_rgba(34,197,94,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 cursor-pointer",children:[l.jsx(Cb,{size:14}),l.jsx("span",{children:"COPY ID"})]})}),l.jsx(Wr,{children:l.jsx("p",{children:"Copy session ID"})})]}),!t&&!o&&u&&l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsxs("button",{onClick:u,disabled:!e||d||s,"aria-label":"Complete & Review",className:"flex items-center gap-2 px-3 py-1.5 rounded-sm bg-background/80 backdrop-blur-sm border border-emerald-500/30 text-emerald-400 text-xs font-mono font-bold uppercase tracking-wider hover:border-emerald-400 hover:bg-emerald-500/5 hover:shadow-[2px_2px_0_rgba(16,185,129,0.5),-2px_-2px_0_rgba(0,255,255,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:shadow-none disabled:hover:translate-x-0 disabled:hover:translate-y-0",children:[s?l.jsx(pr,{size:14,className:"animate-spin"}):l.jsx(Nb,{size:14}),l.jsx("span",{children:s?"ANALYZING...":"COMPLETE & REVIEW"})]})}),l.jsx(Wr,{children:l.jsx("p",{children:d?"Stop session first to review":s?"Analyzing session...":"Analyze session and review recommendations"})})]}),l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsxs("button",{onClick:v,disabled:!e,"aria-label":t?"Unarchive Task":"Archive Task",className:"flex items-center gap-2 px-3 py-1.5 rounded-sm bg-background/80 backdrop-blur-sm border border-rose-500/30 text-rose-400 text-xs font-mono font-bold uppercase tracking-wider hover:border-rose-400 hover:bg-rose-500/5 hover:shadow-[2px_2px_0_rgba(244,63,94,0.5),-2px_-2px_0_rgba(0,255,255,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:shadow-none disabled:hover:translate-x-0 disabled:hover:translate-y-0",children:[l.jsx(Eb,{size:14}),l.jsx("span",{children:t?"RESTORE":"ARCHIVE"})]})}),l.jsx(Wr,{children:l.jsx("p",{children:t?"Unarchive Task":"Archive Task"})})]})]}),l.jsx("div",{className:"relative md:hidden",children:l.jsxs(sw,{open:x,onOpenChange:b,modal:!0,children:[l.jsx(c5,{asChild:!0,children:l.jsx("button",{type:"button",className:"relative flex items-center justify-center w-10 h-10 rounded-sm bg-background/80 backdrop-blur-sm border border-cyan-500/30 text-cyan-400 hover:border-cyan-400 hover:bg-cyan-500/5 active:bg-cyan-500/10 transition-all duration-100 cursor-pointer touch-manipulation","aria-label":"Menu",children:x?l.jsx(Bi,{size:20}):l.jsx(AQ,{size:20})})}),l.jsx(ng,{align:"end",sideOffset:8,className:"w-52 p-2 bg-background/95 backdrop-blur-md border border-cyan-500/30 rounded-sm z-[100]",children:l.jsxs("div",{className:"flex flex-col gap-1",children:[r&&l.jsxs("button",{onClick:()=>{r(),b(!1)},className:"flex items-center gap-3 w-full px-3 py-2.5 rounded-sm text-amber-400 text-sm font-mono font-bold uppercase tracking-wider hover:bg-amber-500/10 transition-colors cursor-pointer",children:[n?l.jsx(qN,{size:16}):l.jsx(DN,{size:16}),l.jsx("span",{children:n?"Hide History":"History"})]}),e&&l.jsxs("button",{onClick:()=>{A(),b(!1)},className:"flex items-center gap-3 w-full px-3 py-2.5 rounded-sm text-blue-400 text-sm font-mono font-bold uppercase tracking-wider hover:bg-blue-500/10 transition-colors cursor-pointer",children:[l.jsx(Cb,{size:16}),l.jsx("span",{children:"Copy ID"})]}),!t&&!o&&u&&l.jsxs("button",{onClick:()=>{!d&&!s&&(u(),b(!1))},disabled:!e||d||s,className:"flex items-center gap-3 w-full px-3 py-2.5 rounded-sm text-emerald-400 text-sm font-mono font-bold uppercase tracking-wider hover:bg-emerald-500/10 transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",children:[s?l.jsx(pr,{size:16,className:"animate-spin"}):l.jsx(Nb,{size:16}),l.jsx("span",{children:s?"Analyzing...":"Review"})]}),l.jsxs("button",{onClick:()=>{v(),b(!1)},disabled:!e,className:"flex items-center gap-3 w-full px-3 py-2.5 rounded-sm text-rose-400 text-sm font-mono font-bold uppercase tracking-wider hover:bg-rose-500/10 transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",children:[l.jsx(Eb,{size:16}),l.jsx("span",{children:t?"Restore":"Archive"})]})]})})]})})]})})}function F5(e){return e?Math.floor((Date.now()-new Date(e).getTime())/1e3):0}function iP(e){if(!e)return null;const t=F5(e);if(t<5)return"just now";if(t<60)return`${t}s ago`;const n=Math.floor(t/60);if(n<60)return`${n}m ago`;const r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function Une({insights:e,isLoading:t,isOpen:n,onClose:r,syncState:i,isPendingInsightsUpdate:a=!1,sessionId:o}){const[,s]=m.useState(0),[u,d]=m.useState([]),[p,h]=m.useState(!1),[g,x]=m.useState(new Set),[b,v]=m.useState(null);m.useEffect(()=>{if(!o){d([]);return}h(!0),we.getSessionTurns(o).then(H=>d(H.turns||[])).catch(()=>d([])).finally(()=>h(!1))},[o]);const A=m.useCallback(H=>{const V=H;V.type==="turn-captured"&&V.sessionId===o&&V.turn&&(d(Q=>Q.some(F=>F.id===V.turn.id)?Q:[...Q,V.turn]),v(null))},[o]);Qu({type:"activity"},A);const w=m.useCallback(H=>{const V=H;V.type==="current-work"&&V.sessionId===o&&v({summary:V.summary,userMessage:V.userMessage,startedAt:V.startedAt})},[o]);Qu({type:"activity"},w);const k=m.useCallback(H=>{const V=H;V.type==="current-work-clear"&&V.sessionId===o&&v(null)},[o]);Qu({type:"activity"},k),m.useEffect(()=>{v(null)},[o]);const j=H=>{x(V=>{const Q=new Set(V);return Q.has(H)?Q.delete(H):Q.add(H),Q})};m.useEffect(()=>{if(!i?.lastUpdateTime)return;let H;const V=()=>{const F=F5(i.lastUpdateTime)<60?1e3:1e4;H=setTimeout(()=>{s(J=>J+1),V()},F)};return V(),()=>clearTimeout(H)},[i?.lastUpdateTime]);const P=e?.currentTask,O=e?.outstanding||[],N=H=>{switch(H){case"decision":return{bg:"bg-purple-500/10",text:"text-purple-400",border:"border-purple-500/20"};case"fix":return{bg:"bg-green-500/10",text:"text-green-400",border:"border-green-500/20"};case"debug":return{bg:"bg-amber-500/10",text:"text-amber-400",border:"border-amber-500/20"};case"discovery":return{bg:"bg-cyan-500/10",text:"text-cyan-400",border:"border-cyan-500/20"};case"pivot":return{bg:"bg-orange-500/10",text:"text-orange-400",border:"border-orange-500/20"};case"friction":return{bg:"bg-red-500/10",text:"text-red-400",border:"border-red-500/20"};case"build":return{bg:"bg-blue-500/10",text:"text-blue-400",border:"border-blue-500/20"};default:return{bg:"bg-muted/30",text:"text-muted-foreground",border:"border-border/30"}}};if(n===!1)return null;if(t&&!e)return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"md:hidden fixed inset-0 z-50 bg-background/95 backdrop-blur-sm overflow-y-auto",children:l.jsx("div",{className:"p-5",children:l.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground/50",children:[l.jsx(pr,{size:14,className:"animate-spin"}),l.jsx("span",{children:"Loading history..."})]})})}),l.jsx("aside",{className:"hidden md:block w-[480px] border-l border-border/50 bg-card/30 flex-shrink-0 overflow-y-auto",children:l.jsx("div",{className:"p-5",children:l.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground/50",children:[l.jsx(pr,{size:14,className:"animate-spin"}),l.jsx("span",{children:"Loading history..."})]})})})]});if(!e)return null;const T=u.length>0,R=P||O.length>0;if(!T&&!R&&!!!b)return null;const I=l.jsxs("div",{className:"p-5 space-y-6",children:[b&&l.jsxs("div",{className:"flex flex-col",children:[l.jsx("div",{className:"text-xs uppercase tracking-wider text-muted-foreground/50 mb-3",children:"CURRENTLY"}),l.jsx("div",{className:"space-y-0",children:l.jsx("div",{className:"py-2",children:l.jsxs("div",{className:"flex items-start gap-2 px-2 -mx-2 py-1.5 -my-1.5",children:[l.jsxs("div",{className:"flex flex-col items-center w-12 flex-shrink-0",children:[l.jsx("span",{className:"text-sm",children:"⚡"}),l.jsx("span",{className:"text-[9px] text-amber-400 uppercase tracking-wide mt-0.5",children:"working"})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"text-[13px] text-foreground/80 leading-snug",children:b.summary}),l.jsx("div",{className:"text-[10px] text-muted-foreground/40 mt-1.5",children:iP(b.startedAt)})]})]})})})]}),u.length>0&&l.jsxs("div",{className:"flex flex-col min-h-0 flex-1",children:[l.jsxs("div",{className:"text-xs uppercase tracking-wider text-muted-foreground/50 mb-3",children:["History",p&&l.jsx(pr,{size:10,className:"inline ml-2 animate-spin"})]}),l.jsx("div",{className:"space-y-0 overflow-y-auto flex-1 min-h-0",children:[...u].reverse().map((H,V,Q)=>{const J=H.tag.replace(/[\p{Extended_Pictographic}\p{Variation_Selector}\s]+/gu,"").trim()||"action",G=N(J),te=g.has(H.id),L=H.actions.length>0&&H.actions[0]!=="Details unavailable";return l.jsxs("div",{children:[l.jsxs("div",{className:"py-2",children:[l.jsxs("button",{onClick:()=>j(H.id),className:"w-full text-left flex items-start gap-2 cursor-pointer rounded-md px-2 -mx-2 py-1.5 -my-1.5 hover:bg-muted/20 transition-colors",children:[l.jsxs("div",{className:"flex flex-col items-center w-12 flex-shrink-0",children:[l.jsx("span",{className:"text-sm",children:H.icon}),l.jsx("span",{className:`text-[9px] ${G.text} uppercase tracking-wide mt-0.5`,children:J})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:`text-[13px] text-foreground/80 leading-snug ${te?"":"line-clamp-2"}`,children:H.headline}),l.jsxs("div",{className:"text-[10px] text-muted-foreground/40 mt-1",children:[iP(H.timestamp),H.toolCount>0&&` · ${H.toolCount} tools`,L&&!te&&` · ${H.actions.length} actions`]})]})]}),te&&L&&l.jsx("div",{className:"mt-3 space-y-1.5",children:H.actions.map((Y,D)=>l.jsx("div",{className:"w-full bg-muted/30 rounded-md px-3 py-2.5 text-[13px] text-foreground/80 leading-relaxed",children:Y},D))})]}),V<Q.length-1&&l.jsx("div",{className:"border-t border-border/20"})]},H.id)})})]}),!T&&R&&l.jsxs("div",{children:[P&&l.jsxs("div",{className:"text-sm text-accent mb-2",children:["→ ",P]}),O.length>0&&l.jsx("div",{className:"space-y-2",children:O.map((H,V)=>l.jsxs("div",{className:"flex items-center gap-2 text-sm text-foreground/70",children:[l.jsx(gc,{size:6,className:"text-amber-500/70 flex-shrink-0"}),l.jsx("span",{children:H})]},V))})]})]});return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"md:hidden fixed inset-0 z-50 bg-background flex flex-col",children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border/50 flex-shrink-0",children:[l.jsx("span",{className:"text-xs uppercase tracking-wider text-muted-foreground/50 font-mono",children:"Session History"}),r&&l.jsx("button",{onClick:r,className:"p-2 -m-2 text-muted-foreground hover:text-foreground transition-colors","aria-label":"Close history",children:l.jsx(Bi,{size:20})})]}),l.jsx("div",{className:"flex-1 overflow-y-auto",children:I})]}),l.jsx("aside",{className:"hidden md:flex md:flex-col w-[480px] border-l border-border/50 bg-card/30 flex-shrink-0 overflow-hidden",children:l.jsx("div",{className:"flex-1 overflow-y-auto scrollbar-auto-hide",children:I})})]})}function Wi({label:e,icon:t,children:n,variant:r="default",size:i="compact",className:a=""}){const o=i==="compact"?"p-3":"p-4",s=i==="compact"?"text-[11px]":"text-xs",u=i==="compact"?"gap-1.5":"gap-2",d=i==="compact"?"mb-2":"mb-2.5",p=i==="compact"?"text-xs":"text-base",h=i==="compact"?"text-xs":"text-sm",x={muted:{border:"border-border/20",bg:"bg-muted/5",headerText:"text-muted-foreground/50",contentText:"text-muted-foreground/70"},default:{border:"border-border/30",bg:"bg-card/20",headerText:"text-muted-foreground/60",contentText:"text-foreground/80"},emphasis:{border:"border-border/40",bg:"bg-card/30",headerText:"text-muted-foreground/70",contentText:"text-foreground"},warning:{border:"border-amber-500/30",bg:"bg-amber-500/5",headerText:"text-amber-500/70",contentText:"text-foreground/80"},success:{border:"border-emerald-500/30",bg:"bg-emerald-500/5",headerText:"text-emerald-500/70",contentText:"text-foreground/80"}}[r];return l.jsxs("div",{className:`border ${x.border} rounded-lg ${o} ${x.bg} ${a}`,children:[l.jsxs("div",{className:`${s} uppercase tracking-wider ${x.headerText} ${d} flex items-center ${u}`,children:[t&&l.jsx("span",{className:`${p} leading-none`,children:t}),e]}),l.jsx("div",{className:`${h} leading-relaxed ${x.contentText}`,children:n})]})}function L5({isOpen:e,onClose:t}){if(!e)return null;const n=()=>{window.open("https://claudia.dev/upgrade","_blank")},r=()=>{window.location.hash="/settings?tab=license",t()};return l.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[l.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:t}),l.jsxs("div",{className:"relative z-10 w-full max-w-md p-6 mx-4 bg-card border border-border rounded-lg shadow-xl",children:[l.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[l.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-full bg-primary/10",children:l.jsx(Mu,{className:"w-6 h-6 text-primary"})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("h2",{className:"text-xl font-semibold text-foreground mb-1",children:"Upgrade to Pro"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"You've reached the free tier limit of 1 concurrent session"})]})]}),l.jsxs("div",{className:"mb-6 space-y-3",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-emerald-500/10 flex items-center justify-center mt-0.5",children:l.jsx("div",{className:"w-2 h-2 rounded-full bg-emerald-500"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"Unlimited concurrent sessions"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Work on multiple projects simultaneously"})]})]}),l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-emerald-500/10 flex items-center justify-center mt-0.5",children:l.jsx("div",{className:"w-2 h-2 rounded-full bg-emerald-500"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"AI-powered insights"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Understand session progress and context at a glance"})]})]}),l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-emerald-500/10 flex items-center justify-center mt-0.5",children:l.jsx("div",{className:"w-2 h-2 rounded-full bg-emerald-500"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"Support development"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Help fund ongoing improvements and features"})]})]})]}),l.jsxs("div",{className:"mb-6 p-4 bg-muted/50 rounded-lg border border-border/50",children:[l.jsxs("div",{className:"flex items-baseline justify-between mb-1",children:[l.jsx("span",{className:"text-2xl font-bold text-foreground",children:"$25"}),l.jsx("span",{className:"text-sm text-muted-foreground",children:"/month"})]}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Cancel anytime, no commitments"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("button",{onClick:n,className:"w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors font-medium",children:[l.jsx("span",{children:"Upgrade to Pro"}),l.jsx(hh,{className:"w-4 h-4"})]}),l.jsx("button",{onClick:r,className:"w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Already have a license key?"}),l.jsx("button",{onClick:t,className:"w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Maybe later"})]})]})]})}const qne={workflow:jd,codebase:_u,claude:xc,infra:NS},aP={workflow:"text-emerald-400",codebase:"text-sky-400",claude:"text-purple-400",infra:"text-amber-400"};function Dne({rec:e,onDismiss:t}){const n=qne[e.category]||jd,r=aP[e.category]||aP.workflow;return l.jsx("div",{className:"py-3 border-b border-border/10 last:border-b-0 group",children:l.jsxs("div",{className:"flex items-start gap-2",children:[l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"flex items-center gap-2 mb-1.5",children:l.jsxs("span",{className:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wider font-medium ${r} bg-current/10`,children:[l.jsx(n,{size:10}),e.category]})}),l.jsx("div",{className:"text-sm text-foreground/90",children:e.suggestion}),l.jsx("div",{className:"text-xs text-muted-foreground/50 mt-1",children:e.friction})]}),l.jsx("button",{onClick:()=>t(e.id),className:"shrink-0 px-2 py-1 rounded-sm opacity-0 group-hover:opacity-100 cursor-pointer bg-background/80 backdrop-blur-sm border border-red-500/30 text-red-400 text-[10px] font-mono font-bold uppercase tracking-wider hover:border-red-400 hover:bg-red-500/5 hover:shadow-[2px_2px_0_rgba(239,68,68,0.5),-2px_-2px_0_rgba(0,255,255,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 focus:outline-none focus-visible:ring-1 focus-visible:ring-red-500/50",children:"Dismiss"})]})})}function oP({recommendations:e,onLaunch:t,onDismiss:n}){return l.jsxs("div",{className:"space-y-2",children:[e.map(r=>l.jsx(Dne,{rec:r,onDismiss:n},r.id)),t&&l.jsxs("button",{onClick:t,className:"w-full mt-3 py-2 px-4 rounded-sm cursor-pointer bg-background/80 backdrop-blur-sm border border-purple-500/30 text-purple-400 text-xs font-mono font-bold uppercase tracking-wider hover:border-purple-400 hover:bg-purple-500/5 hover:shadow-[2px_2px_0_rgba(168,85,247,0.5),-2px_-2px_0_rgba(0,255,255,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 flex items-center justify-center gap-2 focus:outline-none focus-visible:ring-1 focus-visible:ring-purple-500/50",children:[l.jsx(ES,{size:14}),l.jsx("span",{children:"Start Session"})]})]})}function Hne({recommendations:e,onClick:t,onDismiss:n,isLaunching:r=!1}){const i=e.length,[a,o]=m.useState(!1),[s,u]=m.useState(!1),d=m.useRef(null),p=()=>{d.current&&(clearTimeout(d.current),d.current=null),u(!0)},h=()=>{d.current=setTimeout(()=>{u(!1)},100)},g=()=>{o(v=>!v)},x=l.jsx("div",{className:"hidden md:block",children:l.jsxs(sw,{open:s,onOpenChange:u,children:[l.jsx(ite,{asChild:!0,children:l.jsx("div",{className:`p-2.5 transition-all cursor-pointer border-r-2 rounded-lg
|
|
140
|
+
`);k=N.pop()||"";for(const T of N)if(T.trim())try{let R=T;if(T.startsWith("data: ")&&(R=T.substring(6)),T.startsWith(":"))continue;const K=JSON.parse(R);b.lastEvent=K,b.lastEventTime=new Date,i.current.set(h,b),r(new Map(i.current)),a.current.onStreamMessage(h,K)}catch(R){console.error("Failed to parse stream message:",T,R)}}}catch(v){if(!(v instanceof Error&&v.name==="AbortError")){console.error(`Stream error for ${h}:`,v),Sn("useMultipleStreams","stream-error",{streamingId:h.slice(0,8),error:v instanceof Error?v.message:String(v),retryCount:b.retryCount}),b.connectionState="error",i.current.set(h,b),r(new Map(i.current)),a.current.onStreamError?.(h,v instanceof Error?v:new Error(String(v)));const A=a.current.maxRetries||gne;if(b.retryCount<A){b.retryCount++;const w=(a.current.initialRetryDelay||yne)*Math.pow(2,b.retryCount-1);Sn("useMultipleStreams","scheduling-retry",{streamingId:h.slice(0,8),attempt:b.retryCount,delayMs:w}),b.retryTimeout=setTimeout(()=>{p(h)},w)}else Sn("useMultipleStreams","max-retries-reached",{streamingId:h.slice(0,8),attempts:b.retryCount})}}finally{const v=i.current.get(h);v&&(v.connectionState==="connecting"||v.connectionState==="connected")&&u(h)}},[u,s]);return m.useEffect(()=>{const h=new Set(Array.from(i.current.keys())),g=new Set(e);h.forEach(x=>{g.has(x)||u(x)}),e.forEach(x=>{h.has(x)||p(x)})},[e,p,u]),m.useEffect(()=>()=>{i.current.forEach((h,g)=>{u(g)}),o.current=[]},[u]),{connections:n,getConnectionState:h=>n.get(h),reconnect:p,disconnect:u,activeConnectionCount:s()}}function vne(e,t){const n={lastEvent:e,lastEventTime:new Date().toISOString()};switch(e.type){case"connected":return{...n,currentStatus:"Running",connectionState:"connected"};case"system":if("subtype"in e&&e.subtype==="init")return{...n,currentStatus:"Initializing...",connectionState:"connected"};break;case"user":return{lastEvent:e,lastEventTime:new Date().toISOString()};case"assistant":return bne(e,n);case"result":return Ane(e,n);case"closed":return{...n,currentStatus:"Closed",connectionState:"disconnected"};case"error":return{...n,currentStatus:"Error occurred",connectionState:"error"};case"permission_request":return{...n,currentStatus:"Awaiting approval..."}}return n}function bne(e,t){const n=e.message,r={...t};if(n.content&&Array.isArray(n.content)){const i=n.content.filter(a=>typeof a=="object"&&"type"in a&&a.type==="tool_use");if(i.length>0){const a=i[0];if(typeof a=="object"&&"name"in a){const o=a.name;r.currentStatus=Sne(o)}}else r.currentStatus="Thinking..."}else r.currentStatus="Processing...";return r}function Ane(e,t){const n={...t};switch(e.subtype){case"success":n.currentStatus="Completed",n.connectionState="disconnected";break;case"error_max_turns":n.currentStatus="Max turns reached",n.connectionState="disconnected";break;default:n.currentStatus="Finished",n.connectionState="disconnected"}return e.usage&&(n.toolMetrics={linesAdded:0,linesRemoved:0,editCount:0,writeCount:0}),n}function Sne(e){return{Read:"Reading file...",Write:"Writing file...",Edit:"Editing file...",MultiEdit:"Editing multiple sections...",NotebookRead:"Reading notebook...",NotebookEdit:"Editing notebook...",Grep:"Searching files...",Glob:"Finding files...",LS:"Listing directory...",Bash:"Running command...",Task:"Running task...",WebFetch:"Fetching web content...",WebSearch:"Searching web...",TodoRead:"Reading To-Do...",TodoWrite:"Updating To-Do...",exit_plan_mode:"Finalizing plan..."}[e]||`Running ${e}...`}const U5=m.createContext(void 0);function wne({children:e}){const[t,n]=m.useState(new Map),[r,i]=m.useState([]),a=m.useRef(new Map),o=m.useCallback((b,v)=>{const A=a.current.get(b)||{connectionState:"connected",currentStatus:"Running"},w=vne(v),k={...A,...w};a.current.set(b,k),n(new Map(a.current))},[]),s=m.useCallback((b,v)=>{const A=a.current.get(b)||{connectionState:"error",currentStatus:"Error"};Sn("StreamStatusContext","stream-error",{streamingId:b.slice(0,8),error:v.message,previousState:A.connectionState});const w={...A,connectionState:"error",currentStatus:`Error: ${v.message}`,lastEventTime:new Date().toISOString()};a.current.set(b,w),n(new Map(a.current))},[]),u=m.useCallback(b=>{Sn("StreamStatusContext","stream-connected",{streamingId:b.slice(0,8)});const v={connectionState:"connected",currentStatus:"Running",lastEventTime:new Date().toISOString()};a.current.set(b,v),n(new Map(a.current))},[]),d=m.useCallback(b=>{const v=a.current.get(b);if(Sn("StreamStatusContext","stream-disconnected",{streamingId:b.slice(0,8),previousState:v?.connectionState,previousStatus:v?.currentStatus}),v&&v.connectionState!=="disconnected"){const A={...v,connectionState:"disconnected",lastEventTime:new Date().toISOString()};a.current.set(b,A),n(new Map(a.current))}},[]),{activeConnectionCount:p}=xne(r,{onStreamMessage:o,onStreamError:s,onStreamConnect:u,onStreamDisconnect:d,maxConcurrentConnections:5,maxRetries:3,initialRetryDelay:1e3}),h=m.useCallback(b=>{const v=b.filter(A=>A&&A.length>0);i(A=>{const w=new Set([...A,...v]);return Array.from(w)}),v.forEach(A=>{if(!a.current.has(A)){const w={connectionState:"connecting",currentStatus:"Connecting...",lastEventTime:new Date().toISOString()};a.current.set(A,w)}}),n(new Map(a.current))},[]),g=m.useCallback(b=>{i(v=>v.filter(A=>A!==b)),a.current.delete(b),n(new Map(a.current))},[]),x=m.useCallback(b=>t.get(b),[t]);return l.jsx(U5.Provider,{value:{streamStatuses:t,subscribeToStreams:h,unsubscribeFromStream:g,getStreamStatus:x,activeStreamCount:p},children:e})}function kne(){const e=m.useContext(U5);if(e===void 0)throw new Error("useStreamStatus must be used within a StreamStatusProvider");return e}const q5={status:"disconnected",error:null,reconnectAttempt:0,lastConnectedAt:null,lastDisconnectedAt:null};function jne(e,t){switch(t.type){case"CONNECT_START":return{...e,status:"connecting",error:null,reconnectAttempt:0};case"CONNECT_SUCCESS":return{...e,status:"connected",error:null,reconnectAttempt:0,lastConnectedAt:new Date};case"DISCONNECT":return e.status==="connected"?{...e,status:"reconnecting",error:t.error||null,reconnectAttempt:1,lastDisconnectedAt:new Date}:e.status==="connecting"?{...e,status:"reconnecting",error:t.error||null,reconnectAttempt:1,lastDisconnectedAt:new Date}:e;case"RECONNECT_START":return{...e,status:"reconnecting",reconnectAttempt:t.attempt};case"RECONNECT_FAILED":return{...e,status:"reconnecting",error:t.error,reconnectAttempt:t.attempt};case"GIVE_UP":return{...e,status:"failed",error:t.error};case"RESET":return{...q5,lastConnectedAt:e.lastConnectedAt,lastDisconnectedAt:e.lastDisconnectedAt};default:return e}}const D5=m.createContext(void 0);function tP(e){switch(e.type){case"session":return`session:${e.sessionId}`;case"activity":return"activity";case"insights":return`insights:${e.sessionId}`}}function Ene({children:e}){const[t,n]=m.useReducer(jne,q5),r=m.useRef(null),i=m.useRef(null),a=m.useRef(null),o=m.useRef(null),s=m.useRef(new Map),u=m.useRef(!0),d=m.useRef(new Set),p=m.useCallback(()=>{i.current&&(clearTimeout(i.current),i.current=null),a.current&&(clearTimeout(a.current),a.current=null),o.current&&(clearTimeout(o.current),o.current=null)},[]),h=m.useCallback(()=>{p(),r.current&&(r.current.close(),r.current=null)},[p]),g=m.useCallback(()=>{o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{u.current&&(console.warn("[StreamContext] Heartbeat timeout - connection stale, forcing reconnect"),Sn("StreamContext","heartbeat-timeout",{timeoutMs:_E}),r.current&&(r.current.close(),r.current=null),n({type:"DISCONNECT",error:new Error("Connection stale (no heartbeat)")}))},_E)},[]),x=m.useCallback(()=>{if(!u.current)return;h(),n({type:"CONNECT_START"});const O="/api/conversations/activity-stream";console.warn("[StreamContext] Connecting to activity stream..."),Sn("StreamContext","connecting",{url:O});const N=new EventSource(O);r.current=N,a.current=setTimeout(()=>{N.readyState===EventSource.CONNECTING&&(console.warn("[StreamContext] Connection timeout"),N.close(),u.current&&n({type:"DISCONNECT",error:new Error("Connection timeout")}))},SI),N.onopen=()=>{a.current&&(clearTimeout(a.current),a.current=null),console.warn("[StreamContext] Connected"),Sn("StreamContext","connected"),u.current&&(n({type:"CONNECT_SUCCESS"}),g())},N.onmessage=T=>{g();try{const R=JSON.parse(T.data);(R.type==="session-ended"||R.type==="insights")&&console.warn("[StreamContext] SSE:",R.type,R.sessionId?.slice(0,8)||"");const K=Nne(R);if(K){const I=tP(K),H=s.current.get(I);R.type==="insights"&&console.warn("[StreamContext] Dispatching insights to",I,"subscribers:",H?.size||0),H&&H.forEach(V=>{try{V(R)}catch(Q){console.error("[StreamContext] Subscriber callback error:",Q)}})}}catch(R){console.error("[StreamContext] Failed to parse message:",R)}},N.onerror=()=>{p(),N.close(),r.current=null,u.current&&(console.warn("[StreamContext] Connection error"),Sn("StreamContext","connection-error",{readyState:N.readyState}),n({type:"DISCONNECT",error:new Error("Connection lost")}))}},[h,p,g]),b=m.useCallback(O=>{if(!u.current)return;if(O>Vi.maxAttempts){console.warn("[StreamContext] Max reconnection attempts reached"),n({type:"GIVE_UP",error:new Error("Connection failed after multiple attempts")});return}const N=wI(O);console.warn(`[StreamContext] Reconnecting in ${N}ms (attempt ${O}/${Vi.maxAttempts})`),n({type:"RECONNECT_START",attempt:O}),i.current=setTimeout(()=>{u.current&&x()},N)},[x]);m.useEffect(()=>{t.status==="reconnecting"&&t.reconnectAttempt>0&&(i.current||b(t.reconnectAttempt))},[t.status,t.reconnectAttempt,b]),m.useEffect(()=>{const O=()=>{document.visibilityState==="visible"&&(console.warn("[StreamContext] Tab became visible"),(t.status==="failed"||t.status==="disconnected")&&(n({type:"RESET"}),x()))};return document.addEventListener("visibilitychange",O),()=>{document.removeEventListener("visibilitychange",O)}},[t.status,x]);const v=m.useCallback((O,N)=>{const T=tP(O);return s.current.has(T)||s.current.set(T,new Set),s.current.get(T).add(N),d.current.add(T),()=>{const R=s.current.get(T);R&&(R.delete(N),R.size===0&&(s.current.delete(T),d.current.delete(T)))}},[]),A=m.useCallback(()=>{console.warn("[StreamContext] Manual reconnect triggered"),h(),n({type:"RESET"}),x()},[h,x]);m.useEffect(()=>(u.current=!0,x(),()=>{u.current=!1,h()}),[x,h]);const w=t.status==="connected",k=t.status==="reconnecting",j=m.useMemo(()=>t.status==="failed"?t.error?.message||"Connection failed":t.status==="reconnecting"?`Reconnecting... (attempt ${t.reconnectAttempt}/${Vi.maxAttempts})`:null,[t.status,t.error,t.reconnectAttempt]),P=m.useMemo(()=>({connectionState:t,subscribe:v,reconnect:A,isConnected:w,isReconnecting:k,errorMessage:j}),[t,v,A,w,k,j]);return l.jsx(D5.Provider,{value:P,children:e})}function H5(){const e=m.useContext(D5);if(e===void 0)throw new Error("useStream must be used within a StreamProvider");return e}function Qu(e,t){const{subscribe:n}=H5(),r=m.useRef(t);m.useEffect(()=>{r.current=t},[t]),m.useEffect(()=>e?n(e,a=>{r.current(a)}):void 0,[e,n])}function Nne(e){switch(e.type){case"activity":return{type:"activity"};case"insights":case"insights-status":return{type:"activity"};case"session-ended":return{type:"activity"};case"turn-captured":return{type:"activity"};case"current-work":case"current-work-clear":return{type:"activity"};case"connected":case"ping":return null;default:return console.warn("[StreamContext] Unknown message type:",e.type),null}}const V5=m.createContext(void 0),nP=20,rP=40,Er={all:["conversations"],list:e=>[...Er.all,"list",e],details:e=>[...Er.all,"details",e]},Cne=3e4,Pne=30*1e3;function One({children:e}){const t=IS(),[n,r]=m.useState({archived:!1}),[i,a]=m.useState([]),[o,s]=m.useState(!1),[u,d]=m.useState(!0),{subscribeToStreams:p,getStreamStatus:h,streamStatuses:g}=kne(),x=Cr.useRef(Date.now()),[b,v]=m.useState({}),[A,w]=m.useState(new Set),[k,j]=m.useState(new Set),{connectionState:P}=H5(),O=m.useRef(P.status);m.useEffect(()=>{const U=O.current,$=P.status;O.current=$,$==="connected"&&(U==="reconnecting"||U==="disconnected")&&(console.warn("[Conversations] SSE reconnected - refetching to catch missed events",{prevStatus:U,currentStatus:$}),Sn("ConversationsContext","reconnect-refetch",{prevStatus:U}),t.invalidateQueries({queryKey:Er.all}))},[P.status,t]);const N=m.useRef({all:!1,sessionIds:new Set}),T=m.useRef(null),R=m.useCallback(U=>{U?N.current.sessionIds.add(U):N.current.all=!0,T.current&&clearTimeout(T.current),T.current=setTimeout(()=>{const{all:$,sessionIds:ee}=N.current;console.warn("[Conversations] Debounce fired - invalidating queries",{all:$,sessionCount:ee.size}),$&&t.invalidateQueries({queryKey:Er.all}),ee.forEach(ue=>{t.invalidateQueries({queryKey:["insights",ue]})}),N.current={all:!1,sessionIds:new Set},T.current=null},500)},[t]),K=m.useRef({}),I=m.useCallback(U=>{const $=U;switch($.type){case"insights-status":{const ee=$.timestamps||{};let ue=!1;for(const[ne,pe]of Object.entries(ee)){const Z=K.current[ne];Z&&pe>Z&&(console.warn("[Conversations] Detected missed insight update for session:",ne.slice(0,8)),ue=!0)}K.current=ee,ue&&(console.warn("[Conversations] Refetching due to missed insights updates"),t.invalidateQueries({queryKey:Er.all}));break}case"activity":{const{sessionId:ee,recentActions:ue}=$;ee&&ue&&Array.isArray(ue)&&v(ne=>{if(ue.length>0)return{...ne,[ee]:ue};{const pe={...ne};return delete pe[ee],pe}});break}case"insights":{const{sessionId:ee,identityImage:ue,insightType:ne,traceId:pe}=$;if(!ee)break;console.warn("[Conversations] Insights SSE received",{traceId:pe,insightType:ne,sessionId:ee.slice(0,8),hasImage:!!ue}),j(he=>{if(!he.has(ee))return he;const se=new Set(he);return se.delete(ee),se});const Z=new Date().toISOString();K.current[ee]=Z;const ae=t.getQueryData(["insights",ee]);console.warn("[Conversations] Updating insights cache",{traceId:pe,sessionId:ee.slice(0,8),hadCache:!!ae,newPatchedAt:Z}),t.setQueryData(["insights",ee],he=>he?{...he,patchedAt:Z}:(console.warn("[Conversations] No existing insights cache to update",{traceId:pe,sessionId:ee.slice(0,8)}),he)),ue&&t.setQueriesData({queryKey:Er.all},he=>he?.conversations?{...he,conversations:he.conversations.map(se=>se.sessionId===ee?{...se,sessionInfo:{...se.sessionInfo,identity_image:ue}}:se)}:he),console.warn("[Conversations] Triggering invalidations",{traceId:pe,sessionId:ee.slice(0,8)}),t.invalidateQueries({queryKey:["insights",ee]}),R();break}case"session-ended":{const{sessionId:ee}=$;if(!ee)break;console.warn("[Conversations] Session ended:",ee.slice(0,8)),Sn("ConversationsContext","session-ended-received",{sessionId:ee.slice(0,8)}),j(ue=>{const ne=new Set(ue);return ne.add(ee),setTimeout(()=>{j(pe=>{if(!pe.has(ee))return pe;const Z=new Set(pe);return Z.delete(ee),Z})},15e3),ne}),w(ue=>{const ne=new Set(ue);return ne.delete(ee),ne}),v(ue=>{const ne={...ue};return delete ne[ee],ne}),t.invalidateQueries({queryKey:Er.all});break}}},[t,R]);Qu({type:"activity"},I),m.useEffect(()=>()=>{T.current&&clearTimeout(T.current)},[]);const H=void 0,{data:V,isLoading:Q,error:F}=eh({queryKey:Er.list(n),queryFn:async()=>{const U=await we.getConversations({limit:nP,offset:0,sortBy:"updated",order:"desc",...n});return{conversations:U.conversations,hasMore:U.conversations.length===nP}},placeholderData:U=>U});m.useEffect(()=>{a([]),d(V?.hasMore??!0)},[n,V?.hasMore]);const J=V?.conversations??[],G=Cr.useMemo(()=>{const U=new Set(J.map(ee=>ee.sessionId)),$=i.filter(ee=>!U.has(ee.sessionId));return[...J,...$]},[J,i]);m.useEffect(()=>{const U=G.filter($=>$.status==="ongoing"&&$.streamingId).map($=>$.streamingId);Sn("ConversationsContext","subscribe-effect-triggered",{ongoingCount:U.length,ongoingStreamIds:U.map($=>$.slice(0,8)),totalConversations:G.length}),U.length>0&&p(U)},[G,p]);const te=Cr.useMemo(()=>G.map(U=>{if(U.streamingId&&U.status==="ongoing"){const $=h(U.streamingId);if($)return{...U,liveStatus:$,status:$.connectionState==="disconnected"&&$.currentStatus==="Completed"?"completed":U.status}}return U}),[G,g,h]),L=Cr.useMemo(()=>{const U={};return te.forEach($=>{if($.projectPath){const ee=$.projectPath.split("/"),ue=ee[ee.length-1]||$.projectPath;(!U[$.projectPath]||new Date($.updatedAt)>new Date(U[$.projectPath].lastDate))&&(U[$.projectPath]={lastDate:$.updatedAt,shortname:ue})}}),U},[te,H]),Y=m.useRef(new Set);m.useEffect(()=>{const U=Array.from(A).filter($=>!Y.current.has($));U.length!==0&&(U.forEach($=>{Y.current.add($),t.prefetchQuery({queryKey:Er.details($),queryFn:()=>we.getConversationDetails($),staleTime:3e4})}),console.warn("[Prefetch] Prefetching conversation details for active sessions:",U.length))},[A,t]),m.useEffect(()=>{const U={},$={};let ee=[];const ne=setInterval(async()=>{if(document.visibilityState!=="visible")return;const Z=G.map(ae=>ae.sessionId);if(Z.length!==0)try{const{mtimes:ae,activeSessionIds:he,insightMtimes:se}=await we.checkInsightsActivity(Z,U,ee);ee=he;let Fe=!1;for(const[Oe,Xe]of Object.entries(ae))U[Oe]!==void 0&&U[Oe]!==Xe&&(Fe=!0),U[Oe]=Xe;if(se)for(const[Oe,Xe]of Object.entries(se))$[Oe]!==void 0&&$[Oe]!==Xe&&(Fe=!0),$[Oe]=Xe;w(new Set(he)),Fe&&t.invalidateQueries({queryKey:Er.all})}catch{}},Cne),pe=()=>{document.visibilityState==="visible"?Date.now()-x.current>Pne&&t.invalidateQueries({queryKey:Er.all}):x.current=Date.now()};return document.addEventListener("visibilitychange",pe),()=>{clearInterval(ne),document.removeEventListener("visibilitychange",pe)}},[t,G]);const D=m.useCallback(async U=>{const $=U||n;if(!(o||!u)){s(!0);try{const ee=await we.getConversations({limit:rP,offset:G.length,sortBy:"updated",order:"desc",...$});ee.conversations.length===0?d(!1):(a(ue=>{const ne=new Set(ue.map(Z=>Z.sessionId)),pe=ee.conversations.filter(Z=>!ne.has(Z.sessionId));return[...ue,...pe]}),d(ee.conversations.length===rP))}catch(ee){console.error("Error loading more conversations:",ee)}finally{s(!1)}}},[n,o,u,G.length]),B=m.useCallback(()=>te.length===0?null:[...te].sort(($,ee)=>new Date(ee.updatedAt).getTime()-new Date($.updatedAt).getTime())[0]?.projectPath||null,[te]),W=m.useCallback(async()=>{await t.refetchQueries({queryKey:Er.all})},[t]);return l.jsx(V5.Provider,{value:{conversations:te,loading:Q,loadingMore:o,hasMore:u,error:F?"Failed to load conversations":null,recentDirectories:L,activeFilters:n,setActiveFilters:r,loadMoreConversations:D,getMostRecentWorkingDirectory:B,invalidateConversations:W,recentActions:b,pendingInsightsUpdates:k},children:e})}function og(){const e=m.useContext(V5);if(e===void 0)throw new Error("useConversations must be used within a ConversationsProvider");return e}const K5=m.createContext(void 0);function Tne({children:e}){const[t,n]=m.useState("free"),[r,i]=m.useState({maxSessions:null,insightsEnabled:!1}),[a,o]=m.useState(!1),[s,u]=m.useState(null),[d,p]=m.useState(!0),[h,g]=m.useState(null),x=m.useCallback(async()=>{try{p(!0),g(null);const w=await we.getLicense();n(w.tier),i(w.limits),o(w.isBetaMode),u(w.license)}catch(w){g(w instanceof Error?w:new Error("Failed to load license")),n("free"),i({maxSessions:null,insightsEnabled:!1}),o(!1),u(null)}finally{p(!1)}},[]);m.useEffect(()=>{x()},[x]);const b=m.useCallback(async w=>{try{const k=await we.activateLicense(w);return k.success?(await x(),{success:!0}):{success:!1,error:k.error||"Activation failed"}}catch(k){return{success:!1,error:k instanceof Error?k.message:"Activation failed"}}},[x]),v=m.useCallback(async()=>{try{await we.deactivateLicense(),await x()}catch(w){throw g(w instanceof Error?w:new Error("Failed to deactivate license")),w}},[x]),A=r.insightsEnabled;return l.jsx(K5.Provider,{value:{tier:t,limits:r,isBetaMode:a,license:s,isLoading:d,error:h,hasInsights:A,activateLicense:b,deactivateLicense:v,refresh:x},children:e})}function Rne(){const e=m.useContext(K5);if(!e)throw new Error("useLicense must be used within a LicenseProvider");return e}function Ine({sessionId:e,isArchived:t=!1,insightsPanelOpen:n,onToggleInsightsPanel:r,crossSessionSidebarOpen:i,onToggleCrossSessionSidebar:a,isReviewMode:o,isReviewLoading:s,onStartReview:u,isSessionActive:d}){const p=Sd(),{invalidateConversations:h}=og(),{isBetaMode:g}=Rne(),[x,b]=m.useState(!1),v=async()=>{if(!e){console.warn("[Archive] No sessionId, returning early");return}console.warn("[Archive] Starting archive for session:",e);try{console.warn("[Archive] Calling api.updateSession..."),await we.updateSession(e,{archived:!t}),console.warn("[Archive] api.updateSession succeeded, invalidating..."),await h(),console.warn("[Archive] Invalidation done, navigating to /"),p("/"),console.warn("[Archive] navigate() called")}catch(w){console.error(`[Archive] Failed to ${t?"unarchive":"archive"} session:`,w)}},A=async()=>{if(e)try{await navigator.clipboard.writeText(e)}catch(w){console.error("Failed to copy session ID:",w)}};return l.jsx(Io,{children:l.jsxs("div",{className:"flex justify-between items-center gap-3 px-4 py-3 border-b border-border/50 bg-background transition-colors relative overflow-hidden",children:[l.jsx("div",{className:"absolute inset-0 bg-[linear-gradient(rgba(0,255,255,0.03)_1px,transparent_1px),linear-gradient(90deg,rgba(0,255,255,0.03)_1px,transparent_1px)] bg-[size:20px_20px] pointer-events-none"}),l.jsxs("div",{className:"relative flex items-center gap-3",children:[a&&!i&&l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsx("button",{onClick:a,"aria-label":"Open sessions sidebar",className:"lg:hidden p-1.5 rounded-sm text-muted-foreground hover:text-cyan-400 hover:bg-cyan-500/5 hover:shadow-[2px_2px_0_rgba(0,255,255,0.5),-2px_-2px_0_rgba(168,85,247,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 cursor-pointer",children:l.jsx(_4,{size:18})})}),l.jsx(Wr,{children:l.jsx("p",{children:"Open sessions"})})]}),l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx(qs,{size:16,className:"text-cyan-400"}),l.jsx("span",{className:"font-mono text-sm font-bold text-cyan-400 tracking-wider",children:"CLAUDIA"}),g&&l.jsx("span",{className:"font-mono text-[10px] text-purple-400 uppercase tracking-widest",children:"[BETA]"}),l.jsx("span",{className:"font-mono text-[10px] text-muted-foreground/30 select-none",children:"e7e5c79"})]})]}),l.jsxs("div",{className:"relative hidden md:flex items-center gap-3",children:[r&&l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsxs("button",{onClick:r,"aria-label":n?"Hide history panel":"Show history panel",className:"flex items-center gap-2 px-3 py-1.5 rounded-sm bg-background/80 backdrop-blur-sm border border-amber-500/30 text-amber-400 text-xs font-mono font-bold uppercase tracking-wider hover:border-amber-400 hover:bg-amber-500/5 hover:shadow-[2px_2px_0_rgba(245,158,11,0.5),-2px_-2px_0_rgba(0,255,255,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 cursor-pointer",children:[n?l.jsx(qN,{size:14}):l.jsx(DN,{size:14}),l.jsx("span",{children:n?"HIDE":"HISTORY"})]})}),l.jsx(Wr,{children:l.jsx("p",{children:n?"Hide history":"Show history"})})]}),e&&l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsxs("button",{onClick:A,"aria-label":"Copy session ID",className:"flex items-center gap-2 px-3 py-1.5 rounded-sm bg-background/80 backdrop-blur-sm border border-blue-500/30 text-blue-400 text-xs font-mono font-bold uppercase tracking-wider hover:border-blue-400 hover:bg-blue-500/5 hover:shadow-[2px_2px_0_rgba(59,130,246,0.5),-2px_-2px_0_rgba(34,197,94,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 cursor-pointer",children:[l.jsx(Cb,{size:14}),l.jsx("span",{children:"COPY ID"})]})}),l.jsx(Wr,{children:l.jsx("p",{children:"Copy session ID"})})]}),!t&&!o&&u&&l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsxs("button",{onClick:u,disabled:!e||d||s,"aria-label":"Complete & Review",className:"flex items-center gap-2 px-3 py-1.5 rounded-sm bg-background/80 backdrop-blur-sm border border-emerald-500/30 text-emerald-400 text-xs font-mono font-bold uppercase tracking-wider hover:border-emerald-400 hover:bg-emerald-500/5 hover:shadow-[2px_2px_0_rgba(16,185,129,0.5),-2px_-2px_0_rgba(0,255,255,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:shadow-none disabled:hover:translate-x-0 disabled:hover:translate-y-0",children:[s?l.jsx(pr,{size:14,className:"animate-spin"}):l.jsx(Nb,{size:14}),l.jsx("span",{children:s?"ANALYZING...":"COMPLETE & REVIEW"})]})}),l.jsx(Wr,{children:l.jsx("p",{children:d?"Stop session first to review":s?"Analyzing session...":"Analyze session and review recommendations"})})]}),l.jsxs(gi,{children:[l.jsx(yi,{asChild:!0,children:l.jsxs("button",{onClick:v,disabled:!e,"aria-label":t?"Unarchive Task":"Archive Task",className:"flex items-center gap-2 px-3 py-1.5 rounded-sm bg-background/80 backdrop-blur-sm border border-rose-500/30 text-rose-400 text-xs font-mono font-bold uppercase tracking-wider hover:border-rose-400 hover:bg-rose-500/5 hover:shadow-[2px_2px_0_rgba(244,63,94,0.5),-2px_-2px_0_rgba(0,255,255,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:shadow-none disabled:hover:translate-x-0 disabled:hover:translate-y-0",children:[l.jsx(Eb,{size:14}),l.jsx("span",{children:t?"RESTORE":"ARCHIVE"})]})}),l.jsx(Wr,{children:l.jsx("p",{children:t?"Unarchive Task":"Archive Task"})})]})]}),l.jsx("div",{className:"relative md:hidden",children:l.jsxs(sw,{open:x,onOpenChange:b,modal:!0,children:[l.jsx(c5,{asChild:!0,children:l.jsx("button",{type:"button",className:"relative flex items-center justify-center w-10 h-10 rounded-sm bg-background/80 backdrop-blur-sm border border-cyan-500/30 text-cyan-400 hover:border-cyan-400 hover:bg-cyan-500/5 active:bg-cyan-500/10 transition-all duration-100 cursor-pointer touch-manipulation","aria-label":"Menu",children:x?l.jsx(Bi,{size:20}):l.jsx(AQ,{size:20})})}),l.jsx(ng,{align:"end",sideOffset:8,className:"w-52 p-2 bg-background/95 backdrop-blur-md border border-cyan-500/30 rounded-sm z-[100]",children:l.jsxs("div",{className:"flex flex-col gap-1",children:[r&&l.jsxs("button",{onClick:()=>{r(),b(!1)},className:"flex items-center gap-3 w-full px-3 py-2.5 rounded-sm text-amber-400 text-sm font-mono font-bold uppercase tracking-wider hover:bg-amber-500/10 transition-colors cursor-pointer",children:[n?l.jsx(qN,{size:16}):l.jsx(DN,{size:16}),l.jsx("span",{children:n?"Hide History":"History"})]}),e&&l.jsxs("button",{onClick:()=>{A(),b(!1)},className:"flex items-center gap-3 w-full px-3 py-2.5 rounded-sm text-blue-400 text-sm font-mono font-bold uppercase tracking-wider hover:bg-blue-500/10 transition-colors cursor-pointer",children:[l.jsx(Cb,{size:16}),l.jsx("span",{children:"Copy ID"})]}),!t&&!o&&u&&l.jsxs("button",{onClick:()=>{!d&&!s&&(u(),b(!1))},disabled:!e||d||s,className:"flex items-center gap-3 w-full px-3 py-2.5 rounded-sm text-emerald-400 text-sm font-mono font-bold uppercase tracking-wider hover:bg-emerald-500/10 transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",children:[s?l.jsx(pr,{size:16,className:"animate-spin"}):l.jsx(Nb,{size:16}),l.jsx("span",{children:s?"Analyzing...":"Review"})]}),l.jsxs("button",{onClick:()=>{v(),b(!1)},disabled:!e,className:"flex items-center gap-3 w-full px-3 py-2.5 rounded-sm text-rose-400 text-sm font-mono font-bold uppercase tracking-wider hover:bg-rose-500/10 transition-colors cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",children:[l.jsx(Eb,{size:16}),l.jsx("span",{children:t?"Restore":"Archive"})]})]})})]})})]})})}function F5(e){return e?Math.floor((Date.now()-new Date(e).getTime())/1e3):0}function iP(e){if(!e)return null;const t=F5(e);if(t<5)return"just now";if(t<60)return`${t}s ago`;const n=Math.floor(t/60);if(n<60)return`${n}m ago`;const r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function Une({insights:e,isLoading:t,isOpen:n,onClose:r,syncState:i,isPendingInsightsUpdate:a=!1,sessionId:o}){const[,s]=m.useState(0),[u,d]=m.useState([]),[p,h]=m.useState(!1),[g,x]=m.useState(new Set),[b,v]=m.useState(null);m.useEffect(()=>{if(!o){d([]);return}h(!0),we.getSessionTurns(o).then(H=>d(H.turns||[])).catch(()=>d([])).finally(()=>h(!1))},[o]);const A=m.useCallback(H=>{const V=H;V.type==="turn-captured"&&V.sessionId===o&&V.turn&&(d(Q=>Q.some(F=>F.id===V.turn.id)?Q:[...Q,V.turn]),v(null))},[o]);Qu({type:"activity"},A);const w=m.useCallback(H=>{const V=H;V.type==="current-work"&&V.sessionId===o&&v({summary:V.summary,userMessage:V.userMessage,startedAt:V.startedAt})},[o]);Qu({type:"activity"},w);const k=m.useCallback(H=>{const V=H;V.type==="current-work-clear"&&V.sessionId===o&&v(null)},[o]);Qu({type:"activity"},k),m.useEffect(()=>{v(null)},[o]);const j=H=>{x(V=>{const Q=new Set(V);return Q.has(H)?Q.delete(H):Q.add(H),Q})};m.useEffect(()=>{if(!i?.lastUpdateTime)return;let H;const V=()=>{const F=F5(i.lastUpdateTime)<60?1e3:1e4;H=setTimeout(()=>{s(J=>J+1),V()},F)};return V(),()=>clearTimeout(H)},[i?.lastUpdateTime]);const P=e?.currentTask,O=e?.outstanding||[],N=H=>{switch(H){case"decision":return{bg:"bg-purple-500/10",text:"text-purple-400",border:"border-purple-500/20"};case"fix":return{bg:"bg-green-500/10",text:"text-green-400",border:"border-green-500/20"};case"debug":return{bg:"bg-amber-500/10",text:"text-amber-400",border:"border-amber-500/20"};case"discovery":return{bg:"bg-cyan-500/10",text:"text-cyan-400",border:"border-cyan-500/20"};case"pivot":return{bg:"bg-orange-500/10",text:"text-orange-400",border:"border-orange-500/20"};case"friction":return{bg:"bg-red-500/10",text:"text-red-400",border:"border-red-500/20"};case"build":return{bg:"bg-blue-500/10",text:"text-blue-400",border:"border-blue-500/20"};default:return{bg:"bg-muted/30",text:"text-muted-foreground",border:"border-border/30"}}};if(n===!1)return null;if(t&&!e)return l.jsxs(l.Fragment,{children:[l.jsx("div",{className:"md:hidden fixed inset-0 z-50 bg-background/95 backdrop-blur-sm overflow-y-auto",children:l.jsx("div",{className:"p-5",children:l.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground/50",children:[l.jsx(pr,{size:14,className:"animate-spin"}),l.jsx("span",{children:"Loading history..."})]})})}),l.jsx("aside",{className:"hidden md:block w-[480px] border-l border-border/50 bg-card/30 flex-shrink-0 overflow-y-auto",children:l.jsx("div",{className:"p-5",children:l.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground/50",children:[l.jsx(pr,{size:14,className:"animate-spin"}),l.jsx("span",{children:"Loading history..."})]})})})]});if(!e)return null;const T=u.length>0,R=P||O.length>0;if(!T&&!R&&!!!b)return null;const I=l.jsxs("div",{className:"p-5 space-y-6",children:[b&&l.jsxs("div",{className:"flex flex-col",children:[l.jsx("div",{className:"text-xs uppercase tracking-wider text-muted-foreground/50 mb-3",children:"CURRENTLY"}),l.jsx("div",{className:"space-y-0",children:l.jsx("div",{className:"py-2",children:l.jsxs("div",{className:"flex items-start gap-2 px-2 -mx-2 py-1.5 -my-1.5",children:[l.jsxs("div",{className:"flex flex-col items-center w-12 flex-shrink-0",children:[l.jsx("span",{className:"text-sm",children:"⚡"}),l.jsx("span",{className:"text-[9px] text-amber-400 uppercase tracking-wide mt-0.5",children:"working"})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"text-[13px] text-foreground/80 leading-snug",children:b.summary}),l.jsx("div",{className:"text-[10px] text-muted-foreground/40 mt-1.5",children:iP(b.startedAt)})]})]})})})]}),u.length>0&&l.jsxs("div",{className:"flex flex-col min-h-0 flex-1",children:[l.jsxs("div",{className:"text-xs uppercase tracking-wider text-muted-foreground/50 mb-3",children:["History",p&&l.jsx(pr,{size:10,className:"inline ml-2 animate-spin"})]}),l.jsx("div",{className:"space-y-0 overflow-y-auto flex-1 min-h-0",children:[...u].reverse().map((H,V,Q)=>{const J=H.tag.replace(/[\p{Extended_Pictographic}\p{Variation_Selector}\s]+/gu,"").trim()||"action",G=N(J),te=g.has(H.id),L=H.actions.length>0&&H.actions[0]!=="Details unavailable";return l.jsxs("div",{children:[l.jsxs("div",{className:"py-2",children:[l.jsxs("button",{onClick:()=>j(H.id),className:"w-full text-left flex items-start gap-2 cursor-pointer rounded-md px-2 -mx-2 py-1.5 -my-1.5 hover:bg-muted/20 transition-colors",children:[l.jsxs("div",{className:"flex flex-col items-center w-12 flex-shrink-0",children:[l.jsx("span",{className:"text-sm",children:H.icon}),l.jsx("span",{className:`text-[9px] ${G.text} uppercase tracking-wide mt-0.5`,children:J})]}),l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:`text-[13px] text-foreground/80 leading-snug ${te?"":"line-clamp-2"}`,children:H.headline}),l.jsxs("div",{className:"text-[10px] text-muted-foreground/40 mt-1",children:[iP(H.timestamp),H.toolCount>0&&` · ${H.toolCount} tools`,L&&!te&&` · ${H.actions.length} actions`]})]})]}),te&&L&&l.jsx("div",{className:"mt-3 space-y-1.5",children:H.actions.map((Y,D)=>l.jsx("div",{className:"w-full bg-muted/30 rounded-md px-3 py-2.5 text-[13px] text-foreground/80 leading-relaxed",children:Y},D))})]}),V<Q.length-1&&l.jsx("div",{className:"border-t border-border/20"})]},H.id)})})]}),!T&&R&&l.jsxs("div",{children:[P&&l.jsxs("div",{className:"text-sm text-accent mb-2",children:["→ ",P]}),O.length>0&&l.jsx("div",{className:"space-y-2",children:O.map((H,V)=>l.jsxs("div",{className:"flex items-center gap-2 text-sm text-foreground/70",children:[l.jsx(gc,{size:6,className:"text-amber-500/70 flex-shrink-0"}),l.jsx("span",{children:H})]},V))})]})]});return l.jsxs(l.Fragment,{children:[l.jsxs("div",{className:"md:hidden fixed inset-0 z-50 bg-background flex flex-col",children:[l.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border/50 flex-shrink-0",children:[l.jsx("span",{className:"text-xs uppercase tracking-wider text-muted-foreground/50 font-mono",children:"Session History"}),r&&l.jsx("button",{onClick:r,className:"p-2 -m-2 text-muted-foreground hover:text-foreground transition-colors","aria-label":"Close history",children:l.jsx(Bi,{size:20})})]}),l.jsx("div",{className:"flex-1 overflow-y-auto",children:I})]}),l.jsx("aside",{className:"hidden md:flex md:flex-col w-[480px] border-l border-border/50 bg-card/30 flex-shrink-0 overflow-hidden",children:l.jsx("div",{className:"flex-1 overflow-y-auto scrollbar-auto-hide",children:I})})]})}function Wi({label:e,icon:t,children:n,variant:r="default",size:i="compact",className:a=""}){const o=i==="compact"?"p-3":"p-4",s=i==="compact"?"text-[11px]":"text-xs",u=i==="compact"?"gap-1.5":"gap-2",d=i==="compact"?"mb-2":"mb-2.5",p=i==="compact"?"text-xs":"text-base",h=i==="compact"?"text-xs":"text-sm",x={muted:{border:"border-border/20",bg:"bg-muted/5",headerText:"text-muted-foreground/50",contentText:"text-muted-foreground/70"},default:{border:"border-border/30",bg:"bg-card/20",headerText:"text-muted-foreground/60",contentText:"text-foreground/80"},emphasis:{border:"border-border/40",bg:"bg-card/30",headerText:"text-muted-foreground/70",contentText:"text-foreground"},warning:{border:"border-amber-500/30",bg:"bg-amber-500/5",headerText:"text-amber-500/70",contentText:"text-foreground/80"},success:{border:"border-emerald-500/30",bg:"bg-emerald-500/5",headerText:"text-emerald-500/70",contentText:"text-foreground/80"}}[r];return l.jsxs("div",{className:`border ${x.border} rounded-lg ${o} ${x.bg} ${a}`,children:[l.jsxs("div",{className:`${s} uppercase tracking-wider ${x.headerText} ${d} flex items-center ${u}`,children:[t&&l.jsx("span",{className:`${p} leading-none`,children:t}),e]}),l.jsx("div",{className:`${h} leading-relaxed ${x.contentText}`,children:n})]})}function L5({isOpen:e,onClose:t}){if(!e)return null;const n=()=>{window.open("https://claudia.dev/upgrade","_blank")},r=()=>{window.location.hash="/settings?tab=license",t()};return l.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center",children:[l.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:t}),l.jsxs("div",{className:"relative z-10 w-full max-w-md p-6 mx-4 bg-card border border-border rounded-lg shadow-xl",children:[l.jsxs("div",{className:"flex items-start gap-4 mb-4",children:[l.jsx("div",{className:"flex items-center justify-center w-12 h-12 rounded-full bg-primary/10",children:l.jsx(Mu,{className:"w-6 h-6 text-primary"})}),l.jsxs("div",{className:"flex-1",children:[l.jsx("h2",{className:"text-xl font-semibold text-foreground mb-1",children:"Upgrade to Pro"}),l.jsx("p",{className:"text-sm text-muted-foreground",children:"You've reached the free tier limit of 1 concurrent session"})]})]}),l.jsxs("div",{className:"mb-6 space-y-3",children:[l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-emerald-500/10 flex items-center justify-center mt-0.5",children:l.jsx("div",{className:"w-2 h-2 rounded-full bg-emerald-500"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"Unlimited concurrent sessions"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Work on multiple projects simultaneously"})]})]}),l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-emerald-500/10 flex items-center justify-center mt-0.5",children:l.jsx("div",{className:"w-2 h-2 rounded-full bg-emerald-500"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"AI-powered insights"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Understand session progress and context at a glance"})]})]}),l.jsxs("div",{className:"flex items-start gap-3",children:[l.jsx("div",{className:"flex-shrink-0 w-5 h-5 rounded-full bg-emerald-500/10 flex items-center justify-center mt-0.5",children:l.jsx("div",{className:"w-2 h-2 rounded-full bg-emerald-500"})}),l.jsxs("div",{children:[l.jsx("p",{className:"text-sm font-medium text-foreground",children:"Support development"}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Help fund ongoing improvements and features"})]})]})]}),l.jsxs("div",{className:"mb-6 p-4 bg-muted/50 rounded-lg border border-border/50",children:[l.jsxs("div",{className:"flex items-baseline justify-between mb-1",children:[l.jsx("span",{className:"text-2xl font-bold text-foreground",children:"$25"}),l.jsx("span",{className:"text-sm text-muted-foreground",children:"/month"})]}),l.jsx("p",{className:"text-xs text-muted-foreground",children:"Cancel anytime, no commitments"})]}),l.jsxs("div",{className:"space-y-2",children:[l.jsxs("button",{onClick:n,className:"w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-primary text-primary-foreground rounded-md hover:bg-primary/90 transition-colors font-medium",children:[l.jsx("span",{children:"Upgrade to Pro"}),l.jsx(hh,{className:"w-4 h-4"})]}),l.jsx("button",{onClick:r,className:"w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Already have a license key?"}),l.jsx("button",{onClick:t,className:"w-full px-4 py-2 text-sm text-muted-foreground hover:text-foreground transition-colors",children:"Maybe later"})]})]})]})}const qne={workflow:jd,codebase:_u,claude:xc,infra:NS},aP={workflow:"text-emerald-400",codebase:"text-sky-400",claude:"text-purple-400",infra:"text-amber-400"};function Dne({rec:e,onDismiss:t}){const n=qne[e.category]||jd,r=aP[e.category]||aP.workflow;return l.jsx("div",{className:"py-3 border-b border-border/10 last:border-b-0 group",children:l.jsxs("div",{className:"flex items-start gap-2",children:[l.jsxs("div",{className:"flex-1 min-w-0",children:[l.jsx("div",{className:"flex items-center gap-2 mb-1.5",children:l.jsxs("span",{className:`inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wider font-medium ${r} bg-current/10`,children:[l.jsx(n,{size:10}),e.category]})}),l.jsx("div",{className:"text-sm text-foreground/90",children:e.suggestion}),l.jsx("div",{className:"text-xs text-muted-foreground/50 mt-1",children:e.friction})]}),l.jsx("button",{onClick:()=>t(e.id),className:"shrink-0 px-2 py-1 rounded-sm opacity-0 group-hover:opacity-100 cursor-pointer bg-background/80 backdrop-blur-sm border border-red-500/30 text-red-400 text-[10px] font-mono font-bold uppercase tracking-wider hover:border-red-400 hover:bg-red-500/5 hover:shadow-[2px_2px_0_rgba(239,68,68,0.5),-2px_-2px_0_rgba(0,255,255,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 focus:outline-none focus-visible:ring-1 focus-visible:ring-red-500/50",children:"Dismiss"})]})})}function oP({recommendations:e,onLaunch:t,onDismiss:n}){return l.jsxs("div",{className:"space-y-2",children:[e.map(r=>l.jsx(Dne,{rec:r,onDismiss:n},r.id)),t&&l.jsxs("button",{onClick:t,className:"w-full mt-3 py-2 px-4 rounded-sm cursor-pointer bg-background/80 backdrop-blur-sm border border-purple-500/30 text-purple-400 text-xs font-mono font-bold uppercase tracking-wider hover:border-purple-400 hover:bg-purple-500/5 hover:shadow-[2px_2px_0_rgba(168,85,247,0.5),-2px_-2px_0_rgba(0,255,255,0.3)] hover:translate-x-[-1px] hover:translate-y-[-1px] transition-all duration-100 flex items-center justify-center gap-2 focus:outline-none focus-visible:ring-1 focus-visible:ring-purple-500/50",children:[l.jsx(ES,{size:14}),l.jsx("span",{children:"Start Session"})]})]})}function Hne({recommendations:e,onClick:t,onDismiss:n,isLaunching:r=!1}){const i=e.length,[a,o]=m.useState(!1),[s,u]=m.useState(!1),d=m.useRef(null),p=()=>{d.current&&(clearTimeout(d.current),d.current=null),u(!0)},h=()=>{d.current=setTimeout(()=>{u(!1)},100)},g=()=>{o(v=>!v)},x=l.jsx("div",{className:"hidden md:block",children:l.jsxs(sw,{open:s,onOpenChange:u,children:[l.jsx(ite,{asChild:!0,children:l.jsx("div",{className:`p-2.5 transition-all cursor-pointer border-r-2 rounded-lg
|
|
141
141
|
hover:bg-muted/30 border-r-purple-500/60
|
|
142
142
|
${r?"opacity-50 pointer-events-none":""}`,onMouseEnter:p,onMouseLeave:h,children:l.jsxs("div",{className:"flex gap-3",children:[l.jsx("div",{className:"flex flex-col items-center shrink-0",children:l.jsx("div",{className:"w-12 h-[72px] rounded-md border border-purple-500/30 bg-gradient-to-br from-purple-500/15 to-purple-500/5 flex items-center justify-center",children:l.jsx(Mu,{size:22,className:"text-purple-400"})})}),l.jsx("div",{className:"flex-1 min-w-0 space-y-2",children:l.jsx(Wi,{label:"Improvements",icon:"✨",variant:"default",size:"compact",children:l.jsxs("span",{className:"text-foreground/80",children:[i," recommendation",i!==1?"s":""," ready"]})})})]})})}),l.jsxs(ng,{className:"w-96 p-0 border-purple-500/30 bg-background/95 backdrop-blur-md overflow-hidden",side:"right",align:"start",sideOffset:8,onMouseEnter:p,onMouseLeave:h,children:[l.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-purple-500/20 bg-purple-500/5",children:[l.jsx(Mu,{size:16,className:"text-purple-400"}),l.jsx("span",{className:"text-xs font-semibold uppercase tracking-wider text-purple-400",children:"Pending Improvements"}),l.jsxs("span",{className:"ml-auto text-xs text-muted-foreground",children:[i," items"]})]}),l.jsx("div",{className:"p-3 max-h-[400px] overflow-y-auto",children:l.jsx(oP,{recommendations:e,onLaunch:t,onDismiss:n})})]})]})}),b=l.jsxs("div",{className:`md:hidden p-2.5 transition-all cursor-pointer border-r-2 rounded-lg
|
|
143
143
|
border-r-purple-500/60 ${a?"bg-purple-500/5":"hover:bg-muted/30"}
|
package/dist/web/index.html
CHANGED
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
<!-- GitHub Mona Sans and Hubot Sans -->
|
|
37
37
|
<link href="https://cdn.jsdelivr.net/npm/@aspect-ui/mona-sans@1.0.1/mona-sans.min.css" rel="stylesheet">
|
|
38
38
|
<script src="https://unpkg.com/@alenaksu/json-viewer@2.1.0/dist/json-viewer.bundle.js"></script>
|
|
39
|
-
<script type="module" crossorigin src="/assets/main-
|
|
39
|
+
<script type="module" crossorigin src="/assets/main-B-yaBVy1.js"></script>
|
|
40
40
|
<link rel="stylesheet" crossorigin href="/assets/main-BTtDgj87.css">
|
|
41
41
|
</head>
|
|
42
42
|
<body>
|