@seqyuan/annovibe 0.8.146 → 0.8.147

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.
Files changed (73) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +10 -10
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +4 -4
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/_not-found.html +1 -1
  15. package/.next/server/app/_not-found.rsc +2 -2
  16. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  19. package/.next/server/app/api/agent/runtime/route.js +1 -1
  20. package/.next/server/app/api/internal/runtime/route.js +1 -1
  21. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  22. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  23. package/.next/server/app/api/sessions/[id]/shadowed/route.js +1 -1
  24. package/.next/server/app/api/version/route.js +1 -1
  25. package/.next/server/app/index.html +1 -1
  26. package/.next/server/app/index.rsc +6 -6
  27. package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  28. package/.next/server/app/index.segments/_full.segment.rsc +6 -6
  29. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  30. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/login.html +1 -1
  32. package/.next/server/app/login.rsc +2 -2
  33. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  34. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  35. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  36. package/.next/server/app/page.js +4 -4
  37. package/.next/server/app/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/smoke/page.js +2 -2
  39. package/.next/server/app/smoke/page_client-reference-manifest.js +1 -1
  40. package/.next/server/app/smoke/session-stream/page.js +1 -1
  41. package/.next/server/app/smoke/session-stream/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/smoke/session-stream.html +1 -1
  43. package/.next/server/app/smoke/session-stream.rsc +6 -6
  44. package/.next/server/app/smoke/session-stream.segments/_full.segment.rsc +6 -6
  45. package/.next/server/app/smoke/session-stream.segments/_tree.segment.rsc +2 -2
  46. package/.next/server/app/smoke/session-stream.segments/smoke/session-stream/__PAGE__.segment.rsc +6 -6
  47. package/.next/server/app/smoke.html +3 -51
  48. package/.next/server/app/smoke.rsc +5 -5
  49. package/.next/server/app/smoke.segments/_full.segment.rsc +5 -5
  50. package/.next/server/app/smoke.segments/_tree.segment.rsc +2 -2
  51. package/.next/server/app/smoke.segments/smoke/__PAGE__.segment.rsc +5 -5
  52. package/.next/server/app-paths-manifest.json +10 -10
  53. package/.next/server/chunks/3048.js +264 -0
  54. package/.next/server/chunks/7180.js +22 -0
  55. package/.next/server/middleware-build-manifest.js +1 -1
  56. package/.next/server/pages/404.html +1 -1
  57. package/.next/server/pages/500.html +1 -1
  58. package/.next/server/preview-props.json +3 -3
  59. package/.next/server/server-reference-manifest.json +1 -1
  60. package/.next/static/chunks/3449-773a78c2b25dadd5.js +260 -0
  61. package/.next/static/chunks/8477-e7cabb053e63e504.js +22 -0
  62. package/.next/static/chunks/app/{page-de91c8247d46a20b.js → page-1ea50af93da7d407.js} +4 -4
  63. package/.next/static/chunks/app/smoke/{page-7226fa31540df8a8.js → page-bad59997a18b33e8.js} +2 -2
  64. package/.next/static/chunks/app/smoke/session-stream/{page-ed9bc29486c9e75d.js → page-9f43d950df17f1d3.js} +2 -2
  65. package/.next/static/css/be5cdd302b05dc22.css +1 -0
  66. package/package.json +1 -1
  67. package/.next/server/chunks/4801.js +0 -22
  68. package/.next/server/chunks/8305.js +0 -264
  69. package/.next/static/chunks/6630-afa0ca63437a28c6.js +0 -22
  70. package/.next/static/chunks/9867-11130aa00dcc6aa8.js +0 -260
  71. package/.next/static/css/d68ecb6695873888.css +0 -1
  72. /package/.next/static/{MHc4xkUiwo0WjuBfXFXEz → 33lxcaITML1UfRwyCMnDs}/_buildManifest.js +0 -0
  73. /package/.next/static/{MHc4xkUiwo0WjuBfXFXEz → 33lxcaITML1UfRwyCMnDs}/_ssgManifest.js +0 -0
@@ -0,0 +1,22 @@
1
+ "use strict";exports.id=7180,exports.ids=[7180],exports.modules={29947:(a,b,c)=>{c.d(b,{ES:()=>l,IB:()=>m,SN:()=>e,tE:()=>n});let d="subagent",e=["retain","recall","reflect"],f=[],g=["read","bash","edit","write"],h=["bash","read","edit","write","grep","find","ls"],i=[...h,"kernel_plot_run","kernel_plot_inspect","kernel_plot_stop","kernel_plot_artifacts"],j=[...h,d];function k(a){return[...a].sort().join(",")}function l(a){let b=a.filter(a=>a.active).map(a=>a.name),c=b.filter(a=>!e.includes(a)),f=k(b),l=k(c);return""===f?"none":f===k(g)?"default":f===k(h)?"full":f===k(i)?"workbench":f===k(j)?"agent":""===l?"none":l===k(g)?"default":l===k(h)?"full":l===k(i)?"workbench":l===k(j)||b.includes(d)?"agent":"default"}function m(a){return e.filter(b=>a.some(a=>a.active&&a.name===b))}function n(a,b){return[...new Set([...function(a){switch(a){case"none":return f;case"default":return g;case"workbench":return i;case"agent":return j;default:return h}}(a),...b])]}},77180:(a,b,c)=>{c.d(b,{T:()=>ab});var d=c(67484);function e(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>("object"!=typeof a||null===a||Array.isArray(a)||"toolCall"!==a.type?null:{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input})??a);return{...a,content:c}}let f={isStreaming:!1,streamingMessage:null};function g(){return{role:"assistant",content:[],model:"",provider:"",timestamp:Date.now()}}function h(a,b,c){if(!Number.isInteger(b)||void 0===b||b<0)return a;let d=a.streamingMessage??g(),e=[...d.content],f=c(e[b]);return f?(e[b]=f,{isStreaming:!0,streamingMessage:{...d,content:e}}):a}function i(a){if(a.id||a.toolName)return{...a.id?{id:a.id}:{},...a.toolName?{toolName:a.toolName}:{}};let b=a.partial,c=a.contentIndex;if(!b||!Array.isArray(b.content)||void 0===c)return{};let d=b.content[c];return d&&"toolCall"===d.type?{..."string"==typeof d.id?{id:d.id}:"string"==typeof d.toolCallId?{id:d.toolCallId}:{},..."string"==typeof d.name?{toolName:d.name}:"string"==typeof d.toolName?{toolName:d.toolName}:{}}:{}}function j(a,b){switch(b.type){case"start":return{isStreaming:!0,streamingMessage:a.streamingMessage??g()};case"text_start":return h(a,b.contentIndex,a=>a?.type==="text"?a:{type:"text",text:""});case"text_delta":return h(a,b.contentIndex,a=>({type:"text",text:(a?.type==="text"?a.text:"")+(b.delta??"")}));case"text_end":return h(a,b.contentIndex,a=>({type:"text",text:b.content??(a?.type==="text"?a.text:"")}));case"thinking_start":return h(a,b.contentIndex,a=>a?.type==="thinking"?a:{type:"thinking",thinking:""});case"thinking_delta":return h(a,b.contentIndex,a=>({type:"thinking",thinking:(a?.type==="thinking"?a.thinking:"")+(b.delta??"")}));case"thinking_end":return h(a,b.contentIndex,a=>({type:"thinking",thinking:b.content??(a?.type==="thinking"?a.thinking:"")}));case"toolcall_start":return h(a,b.contentIndex,a=>{let c=i(b);return a?.type==="toolCall"?{...a,...c.id?{toolCallId:c.id}:{},...c.toolName?{toolName:c.toolName}:{},rawInput:a.rawInput??""}:{type:"toolCall",toolCallId:c.id??"",toolName:c.toolName??"tool",input:{},rawInput:""}});case"toolcall_delta":return h(a,b.contentIndex,a=>{let c=i(b),d=a?.type==="toolCall"?a:{type:"toolCall",toolCallId:c.id??"",toolName:c.toolName??"tool",input:{}};return{...d,...c.id?{toolCallId:c.id}:{},...c.toolName?{toolName:c.toolName}:{},rawInput:(d.rawInput??"")+(b.delta??"")}});case"toolcall_end":return h(a,b.contentIndex,()=>({type:"toolCall",toolCallId:b.toolCall?.id??"",toolName:b.toolCall?.name??"tool",input:b.toolCall?.arguments??{}}));default:return a}}function k(a,b){switch(b.type){case"start":return{isStreaming:!0,streamingMessage:null};case"snapshot":return"assistant"===b.message.role?{isStreaming:!0,streamingMessage:b.message}:a;case"delta":return j(a,b.event);case"deltas":{let c=a;for(let a of b.events)c=j(c,a);return c}case"end":case"reset":return f;default:return a}}let l=new Set(["text_delta","thinking_delta","toolcall_delta"]);function m(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function n(a){if(!a||"object"!=typeof a)return"?";switch(a.type){case"text":return`text:${"string"==typeof a.text?a.text.length:-1}`;case"thinking":return`thinking:${"string"==typeof a.thinking?a.thinking.length:-1}`;case"toolCall":return`toolCall:${String(a.toolCallId??a.id??"")}`;default:return String(a.type??"")}}function o(a,b,c,d){if(0===a.length||0===c.length)return c;let e=a.length===c.length,f=new Map,g=[];for(let c=0;c<a.length;c++){let d=b[c];d&&f.set(d,a[c]),g[c]=a[c]}let h=!1,i=c.map((a,b)=>{let c=d[b],i=c?f.get(c):e?g[b]:void 0;return i&&function(a,b){if(a===b)return!0;if(a.role!==b.role||a.timestamp!==b.timestamp)return!1;if("assistant"===a.role){let c=a.content,d=b.content;if(!Array.isArray(c)||!Array.isArray(d))return!0;if(c.length!==d.length)return!1;for(let a=0;a<c.length;a++)if(n(c[a])!==n(d[a]))return!1}return!0}(i,a)?i:(h=!0,a)});return!h&&e?a:i}function p(a){if("assistant"!==a.role)return null;let b=a.timestamp;return"number"!=typeof b?null:`assistant:${b}`}class q extends Error{constructor(a,b,c){super(a),this.status=b,this.code=c,this.name="AgentCommandError"}}async function r(a,b){let c=await fetch(`/api/agent/${encodeURIComponent(a)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await c.json().catch(()=>({}));if(!c.ok||d.error)throw new q(d.error??`HTTP ${c.status}`,c.status,d.code);return d.data}async function s(a,b,c){let d,e=new TextDecoder,f="",g=a=>{if(a.startsWith("id: ")){d=a.slice(4);return}if(!a.startsWith("data: "))return;let c=a.slice(6);if("[DONE]"!==c)try{b(c,d)}catch{}finally{d=void 0}},h=new Promise(a=>{c?.aborted?a():c?.addEventListener("abort",()=>a(),{once:!0})});for(;;){let b=await Promise.race([a.read(),h.then(()=>({done:!0,value:void 0}))]);if(b.done)break;let c=(f+=e.decode(b.value,{stream:!0})).split("\n");for(let a of(f=c.pop()||"",c))g(a)}if(f.trim())for(let a of f.split("\n"))g(a)}let t="__annovibeStreamSessions__",u="__annovibeStreamListeners__",v="__annovibeStreamErrorCallbacks__";function w(){let a=globalThis;return a[t]||(a[t]=new Map),a[t]}function x(){let a=globalThis;return a[v]||(a[v]=new Map),a[v]}function y(a){return{sessionId:a,phase:"idle",startedAt:null,lastEventAt:null,lastHeartbeatAt:null,reconnectCount:0,lastSyncReason:null,accumulatedText:"",toolCalls:[],toolResults:[],statusText:null,streamingMessage:null,isStreaming:!1,error:null}}function z(a,b){let c;for(let d of(!(c=globalThis)[u]&&(c[u]=new Map),c[u]).get(a)??[])try{d(b)}catch{}}function A(a){a.textThrottleTimer&&(clearTimeout(a.textThrottleTimer),a.textThrottleTimer=null),a.textDirty&&(a.textDirty=!1,C(a))}function B(a,b=!1){let c=Date.now();if(a.snapshot.lastEventAt=c,!b){a.textDirty=!0,a.textThrottleTimer||(a.textThrottleTimer=setTimeout(()=>{a.textThrottleTimer=null,a.textDirty&&(a.textDirty=!1,C(a))},100));return}A(a),C(a)}function C(a,b){let c=Date.now(),d=function(a){let b=[];for(let c of a.toolCalls.values())b.push({type:"toolCall",toolCallId:c.toolCallId,toolName:c.toolName,input:c.input??{}});let c=a.accumulatedText.trim();return c&&b.push({type:"text",text:c}),b}(a),e=(b??a.snapshot.phase)==="active";a.snapshot={...a.snapshot,phase:b??a.snapshot.phase,lastEventAt:c,accumulatedText:a.accumulatedText,toolCalls:[...a.toolCalls.values()],toolResults:[...a.toolResults.values()],statusText:e?function(a){if(a.activeToolId){let b=a.toolCalls.get(a.activeToolId);if(b){let a=Math.max(0,Math.floor((Date.now()-b.startedAt)/1e3));return`Running ${b.toolName||"tool"}… (${a}s)`}}return a.accumulatedText.trim()?"Generating response…":a.toolCalls.size>0?"Finishing tool results…":null}(a):a.snapshot.statusText,streamingMessage:e&&d.length>0?{role:"assistant",content:d}:null,isStreaming:e},z(a.snapshot.sessionId,{type:"snapshot-updated",snapshot:a.snapshot})}function D(a){E(a),a.idleCheckTimer=setInterval(()=>{if("connected"!==a.connectionState)return;let b=Math.max(a.snapshot.lastEventAt??0,a.snapshot.lastHeartbeatAt??0);if(Date.now()-b>=18e4){F(a),A(a);let b="Stream idle timeout — no activity for 180s.";a.snapshot={...a.snapshot,phase:"error",isStreaming:!1,streamingMessage:null,statusText:null,error:b},E(a),z(a.snapshot.sessionId,{type:"error",snapshot:a.snapshot});let c=x().get(a.snapshot.sessionId);if(c)try{c(a.snapshot.sessionId,b)}catch{}}},1e4)}function E(a){a.idleCheckTimer&&(clearInterval(a.idleCheckTimer),a.idleCheckTimer=null)}function F(a){a.toolProgressTimer&&(clearInterval(a.toolProgressTimer),a.toolProgressTimer=null)}function G(a){let b=w(),c=b.get(a);return c||(c={snapshot:y(a),accumulatedText:"",toolCalls:new Map,toolResults:new Map,toolProgressTimer:null,activeToolId:null,textThrottleTimer:null,textDirty:!1,connectionState:"idle",idleCheckTimer:null},b.set(a,c)),c}function H(a,b){let c=x();return c.set(a,b),()=>{c.get(a)===b&&c.delete(a)}}function I(a){let b=w(),c=b.get(a);c&&(F(c),E(c),A(c)),b.delete(a)}function J(a){let b=w().get(a);b&&(b.snapshot={...b.snapshot,reconnectCount:b.snapshot.reconnectCount+1,lastSyncReason:"sse-reconnect",lastEventAt:Date.now()},B(b,!0))}let K={runtime:"idle",phase:null,retry:null,isCompacting:!1,compactError:null,error:null,queued:{steering:[],followUp:[]}};function L(a){return{steering:Array.isArray(a?.steering)?a.steering:[],followUp:Array.isArray(a?.followUp)?a.followUp:[]}}let M={runtime:"running",phase:{kind:"waiting_model"}},N={runtime:"idle",phase:null};var O=c(31343);async function P(a,b){if(!b.length)return[];let c=await fetch("/api/images/upload",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:a,images:b.map(a=>({data:a.data,mimeType:a.mimeType,name:a.name}))})}),d=await c.json().catch(()=>({}));if(!c.ok||d.error)throw Error(d.error??`Upload failed (HTTP ${c.status})`);return(d.uploaded??[]).map((a,c)=>({...a,previewUrl:b[c]?.previewUrl}))}c(81537);let Q="__annovibeSessionMessageCache__";function R(){let a=globalThis;if(!a[Q]){var b;let c={entries:new Map,cleanupTimer:null};a[Q]=c,(b=c).cleanupTimer||(b.cleanupTimer=setInterval(()=>{let a=Date.now();for(let[c,d]of b.entries)a-d.loadedAt>72e5&&b.entries.delete(c)},6e4))}return a[Q]}function S(a){let b=R(),c=b.entries.get(a);return c?Date.now()-c.loadedAt>72e5?(b.entries.delete(a),null):(c.loadedAt=Date.now(),{...c,messages:[...c.messages],entryIds:[...c.entryIds]}):null}function T(a,b,c,d,e){let f=R(),g=f.entries.get(a);if(!g)return;let h=new Set(g.entryIds),i=[],j=[];for(let a=0;a<b.length;a++){let d=c[a];d&&!h.has(d)&&(i.push(b[a]),j.push(d))}0!==i.length&&f.entries.set(a,{...g,messages:[...i,...g.messages],entryIds:[...j,...g.entryIds],hasMore:d,loadedMessagesCount:e,loadedAt:Date.now()})}function U(a){R().entries.delete(a)}var V=c(29947);let W=[500,1500,3e3];function X(a,b){return new DOMException(a,b)}function Y(){return"u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,11)}-${Math.random().toString(36).slice(2,11)}`}function Z(a,b){return a.trim()||0!==b?`text:${a}|images:${b}`:null}function $(a){return"string"==typeof a?Z(a,0):Array.isArray(a)?Z(a.filter(a=>!!a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n"),a.filter(a=>!!a&&"object"==typeof a&&"image"===a.type).length):null}function _(a){let b=new Map;for(let c of a){let a="user"!==c.role?null:$(c.content);a&&b.set(a,(b.get(a)??0)+1)}return b}function aa(a,b,c){return a.sessionId===b&&(!a.leafId||c.includes(a.leafId))}function ab(a){let{session:b,newSessionCwd:c,onAgentEnd:g,onSessionCreated:h,onSessionForked:i,modelsRefreshKey:j,onBranchDataChange:n,chatInputRef:t}=a,u=null===b&&null!==c,[v,x]=(0,d.useState)(null),[C,Q]=(0,d.useState)(!u),[ab,ac]=(0,d.useState)(null),[ad,ae]=(0,d.useState)(null),[af,ag]=(0,d.useState)([]),[ah,ai]=(0,d.useState)([]),[aj,ak]=(0,d.useState)(0),[al,am]=(0,d.useState)(!1),[an,ao]=(0,d.useState)(0),[ap,aq]=(0,d.useReducer)(k,f),ar=(0,d.useRef)([]),as=(0,d.useRef)(null);(0,d.useCallback)(()=>{ar.current=[],null!==as.current&&(clearTimeout(as.current),as.current=null)},[]);let at=(0,d.useCallback)(()=>{null!==as.current&&(clearTimeout(as.current),as.current=null);let a=ar.current;0!==a.length&&(ar.current=[],aq({type:"deltas",events:function(a){let b=[];for(let c of a){let a=b[b.length-1];if(a&&a.type===c.type&&l.has(a.type)&&"string"==typeof a.delta&&"string"==typeof c.delta&&Number.isInteger(a.contentIndex)&&a.contentIndex===c.contentIndex&&a.id===c.id&&a.toolName===c.toolName&&void 0===a.content&&void 0===c.content&&void 0===a.partial&&void 0===c.partial&&void 0===a.toolCall&&void 0===c.toolCall&&1){b[b.length-1]={...a,delta:`${a.delta}${c.delta}`};continue}b.push(c)}return b}(a)}))},[]),au=(0,d.useCallback)(a=>{ar.current.push(a);let b=function({pendingCount:a,timerArmed:b,flushMs:c=40,maxPending:d=400}){return a<=0?{flushNow:!1,armTimer:!1,delayMs:0}:a>=d?{flushNow:!0,armTimer:!1,delayMs:0}:{flushNow:!1,armTimer:!b,delayMs:c}}({pendingCount:ar.current.length,timerArmed:null!==as.current});b.flushNow?at():b.armTimer&&(as.current=setTimeout(()=>{as.current=null,at()},b.delayMs))},[at]),av=(0,d.useCallback)(a=>{var b;"delta"!==(b=a.type)&&"deltas"!==b&&at(),aq(a)},[at]),[aw,ax]=(0,d.useState)(!1),[ay,az]=(0,d.useState)({}),[aA,aB]=(0,d.useState)([]),[aC,aD]=(0,d.useState)({}),[aE,aF]=(0,d.useState)({}),[aG,aH]=(0,d.useState)(null),[aI,aJ]=(0,d.useState)("full"),[aK,aL]=(0,d.useState)([...V.SN]),[aM,aN]=(0,d.useState)([]),[aO,aP]=(0,d.useState)("auto"),[aQ,aR]=(0,d.useState)(null),[aS,aT]=(0,d.useState)(null),[aU,aV]=(0,d.useState)(null),[aW,aX]=(0,d.useState)(null),[aY,aZ]=(0,d.useState)(null),[a$,a_]=(0,d.useState)(null),[a0,a1]=(0,d.useState)(!1),[a2,a3]=(0,d.useState)(null),[a4,a5]=(0,d.useState)(null),[a6,a7]=(0,d.useState)(null),[a8,a9]=(0,d.useState)({steering:[],followUp:[]}),[ba,bb]=(0,d.useState)(null),bc=(0,d.useRef)(b?.id??null),bd=function({sessionIdRef:a,onEvent:b,onReconnect:c,reconnectBaseMs:e=1e3,reconnectMaxMs:f=3e4}){let g=(0,d.useRef)(null),h=(0,d.useRef)({onEvent:b,onReconnect:c});h.current={onEvent:b,onReconnect:c};let i=(0,d.useCallback)(()=>{g.current?.close(),g.current=null},[]),j=(0,d.useCallback)(()=>{let a=g.current;return!!a&&"closed"!==a.state&&"error"!==a.state},[]);return{connect:(0,d.useCallback)((b,c={})=>{g.current?.close(),g.current=null;let d=`/api/agent/${encodeURIComponent(b)}/events${c.replay?"?replay=1":""}`;return!function(a){let b=G(a);if("active"===b.snapshot.phase)return B(b,!0),D(b),b.snapshot;let c=Date.now();b.snapshot={...y(a),phase:"active",startedAt:c,lastEventAt:c,isStreaming:!0,streamingMessage:{role:"assistant",content:[]}},D(b),B(b,!0),b.snapshot}(b),new Promise((i,j)=>{let k=!1,l=!1,m=null,n=a=>{if(!k){if(k=!0,clearTimeout(o),a){m?.close(),g.current===m&&(g.current=null),j(a);return}i()}},o=setTimeout(()=>{c.requireConnected?n(Error("Timed out waiting for event stream connection")):n()},c.timeoutMs??3e4);g.current=m=function(a){let{url:b,onEvent:c,onStateChange:d,onFatalError:e,maxReconnectAttempts:f=1/0,reconnectBaseMs:g=1e3,reconnectMaxMs:h=3e4,autoReconnect:i=!0}=a,j="idle",k=new AbortController,l=0,m=null,n=null,o=!1,p=(a,b)=>{b&&(n=b),c(a,b)},q=a=>{j!==a&&(j=a,d?.(a))},r=()=>{null!==m&&(clearTimeout(m),m=null)},t=()=>{if(o)return;if(!i)return void q("error");if(l>=f){q("error"),e?.(Error(`Max reconnect attempts (${f}) reached`));return}let a=Math.min(h,g*2**l);l+=1,q("connecting"),m=setTimeout(()=>{m=null,u()},a)},u=async()=>{if(!o){r(),k=new AbortController,q("connecting");try{let a=await fetch(b,{signal:k.signal,headers:{Accept:"text/event-stream","Cache-Control":"no-cache",...n?{"Last-Event-ID":n}:{}}});if(!a.ok)throw Error(`HTTP ${a.status}: ${a.statusText}`);let c=a.body;if(!c)throw Error("Response has no readable body");let d=c.getReader();if(q("connected"),l=0,await s(d,p,k.signal),k.signal.aborted)try{await d.cancel()}catch{}d.releaseLock(),q("closed"),!o&&i&&t()}catch(a){if(o||a instanceof DOMException&&"AbortError"===a.name)return void q("closed");q("error"),i&&t()}}};return{get state(){return j},connect:()=>{o=!1,l=0,r(),u()},close:()=>{o=!0,r(),k.abort(),q("closed")},get abortController(){return k}}}({url:d,onEvent:c=>{try{let d=JSON.parse(c);if("connected"===d.type&&n(),a.current!==b)return;h.current.onEvent(d)}catch{}},onStateChange:a=>{!function(a,b){let c=w().get(a);if(!c)return;let d=c.connectionState;c.connectionState=b,"connected"===b&&"connected"!==d&&(c.snapshot={...c.snapshot,lastEventAt:Date.now(),lastHeartbeatAt:Date.now()},D(c)),"connected"!==b&&"connected"===d&&E(c)}(b,a),"connected"===a&&(l&&(J(b),h.current.onReconnect?.(b)),l=!0)},reconnectBaseMs:e,reconnectMaxMs:f}),m.connect()})},[e,f,a]),disconnect:i,isActive:j,readerRef:g}}({sessionIdRef:bc,onEvent:a=>bw.current?.(a),onReconnect:a=>bx.current?.(a,"sse_reconnected")}),{disconnect:be,isActive:bf}=bd,bg=bd.readerRef,{statuses:bh,widgets:bi,dialog:bj,notices:bk,applyFromState:bl,handleEvent:bm,respond:bn,dismissNotice:bo}=function({chatInputRef:a,sessionIdRef:b,onError:c,noticeTtlMs:e=8e3}){let[f,g]=(0,d.useState)([]),[h,i]=(0,d.useState)([]),[j,k]=(0,d.useState)(null),[l,m]=(0,d.useState)([]),n=(0,d.useRef)(new Set),o=(0,d.useCallback)(()=>{for(let a of n.current)clearTimeout(a);n.current.clear()},[]),p=(0,d.useCallback)((a,b)=>{let c={id:`${Date.now()}-${Math.random().toString(36).slice(2,8)}`,message:a,type:b};m(a=>[...a,c].slice(-4));let d=setTimeout(()=>{n.current.delete(d),m(a=>a.filter(a=>a.id!==c.id))},e);n.current.add(d)},[e]),q=(0,d.useCallback)(a=>{a&&(Array.isArray(a.extensionStatuses)&&g(a.extensionStatuses),Array.isArray(a.extensionWidgets)&&i(a.extensionWidgets))},[]),s=(0,d.useCallback)(b=>{if("extension_error"===b.type)return p("string"==typeof b.error?b.error:"Extension command failed","error"),!0;if("extension_ui_request"!==b.type)return!1;let c="string"==typeof b.method?b.method:"";if("select"===c||"confirm"===c||"input"===c||"editor"===c)return k({id:String(b.id??""),method:c,title:"string"==typeof b.title?b.title:"",...Array.isArray(b.options)?{options:b.options}:{},..."string"==typeof b.message?{message:b.message}:{},..."string"==typeof b.placeholder?{placeholder:b.placeholder}:{},..."string"==typeof b.prefill?{prefill:b.prefill}:{}}),!0;if("notify"===c){let a="warning"===b.notifyType||"error"===b.notifyType?b.notifyType:"info";return p(String(b.message??""),a),!0}if("setStatus"===c){let a=String(b.statusKey??"");if(!a)return!0;let c="string"==typeof b.statusText?b.statusText:null;return g(b=>{let d=b.filter(b=>b.key!==a);return c?[...d,{key:a,text:c}]:d}),!0}if("setWidget"===c){let a=String(b.widgetKey??"");if(!a)return!0;let c=Array.isArray(b.widgetLines)?b.widgetLines.filter(a=>"string"==typeof a):null;return i(d=>{let e=d.filter(b=>b.key!==a);return c&&c.length>0?[...e,{key:a,lines:c,placement:"string"==typeof b.widgetPlacement?b.widgetPlacement:"aboveEditor"}]:e}),!0}return"dismiss"===c?k(a=>a?.id===b.id?null:a):"set_editor_text"===c&&"string"==typeof b.text?a?.current?.setText?.(b.text):"setTitle"===c&&"string"==typeof b.title&&(document.title=b.title),!0},[a,p]),t=(0,d.useCallback)(async(a,d)=>{let e=b.current;if(k(b=>b?.id===a?null:b),e)try{await r(e,{type:"extension_ui_response",id:a,...d})}catch(a){c(a instanceof Error?a.message:String(a))}},[c,b]);return{statuses:f,widgets:h,dialog:j,notices:l,applyFromState:q,handleEvent:s,respond:t,dismissNotice:(0,d.useCallback)(a=>{m(b=>b.filter(b=>b.id!==a))},[]),reset:(0,d.useCallback)(()=>{o(),g([]),i([]),k(null),m([])},[o])}}({chatInputRef:t,sessionIdRef:bc,onError:bb}),bp=(0,d.useRef)(!1),{live:bq,running:br,isRunning:bs,begin:bt,finish:bu,handleEvent:bv}=function({onRunningChange:a,onDone:b,flushMs:c=60}={}){let[e,f]=(0,d.useState)(null),[g,h]=(0,d.useState)(!1),i=(0,d.useRef)(!1),j=(0,d.useRef)(""),k=(0,d.useRef)(null),l=(0,d.useRef)({onRunningChange:a,onDone:b});l.current={onRunningChange:a,onDone:b};let m=(0,d.useCallback)(()=>{k.current&&(clearTimeout(k.current),k.current=null)},[]),n=(0,d.useCallback)(a=>{m(),j.current="",i.current=!0,h(!0),f({command:a,output:""}),l.current.onRunningChange?.(!0,a)},[m]),o=(0,d.useCallback)(()=>{m(),j.current="",i.current=!1,h(!1),f(null),l.current.onRunningChange?.(!1)},[m]);return{live:e,running:g,isRunning:(0,d.useCallback)(()=>i.current,[]),begin:n,finish:o,handleEvent:(0,d.useCallback)(a=>{if("bash_execution_start"===a.type){let b=String(a.command??"");return m(),j.current="",i.current=!0,h(!0),f({command:b,output:""}),l.current.onRunningChange?.(!0,b),!0}if("bash_execution_update"===a.type){let b="string"==typeof a.chunk?a.chunk:"";return!b||(j.current+=b,k.current||(k.current=setTimeout(()=>{k.current=null;let a=j.current;j.current="",a&&f(b=>b?{...b,output:b.output+a}:b)},c)),!0)}return"bash_done"===a.type&&(m(),j.current="",i.current=!1,h(!1),f(null),l.current.onRunningChange?.(!1),l.current.onDone?.(),!0)},[m,c])}}({onRunningChange:(a,b)=>{bp.current=a,ax(a),a7(a?{kind:"running_tools",tools:[{id:"bash",name:"bash",args:b}]}:null)}}),bw=(0,d.useRef)(null),bx=(0,d.useRef)(null),by=(0,d.useRef)(null),bz=(0,d.useRef)(!1),bA=(0,d.useRef)(null),bB=(0,d.useRef)(!1),bC=(0,d.useRef)(null),bD=(0,d.useRef)(null),bE=(0,d.useRef)(new Map),bF=(0,d.useRef)(new Map),bG=(0,d.useRef)(new Map),bH=(0,d.useRef)(new Map),bI=(0,d.useRef)(null),bJ=(0,d.useRef)([]),bK=(0,d.useRef)(null),bL=(0,d.useRef)(0),bM=(0,d.useRef)(!1),bN=(0,d.useRef)(0),bO=(0,d.useRef)(!1);(0,d.useRef)(!1),(0,d.useRef)(0);let bP=(0,d.useRef)(null),bQ=(0,d.useRef)(null),bR=(0,d.useRef)(0);(0,d.useRef)(!1);let bS=a.setNewSessionModel??aH,bT=a.setToolPreset??aJ,bU=a.setMemoryTools??aL,bV=aY??v?.context.model??a$??null,bW=u?aG:bV,bX=(0,d.useCallback)(()=>(0,V.tE)(aI,aK),[aK,aI]),bY=(0,d.useCallback)(a=>a?.length?a.map((a,b)=>{let c=`Attachment ${b+1}: ${a.fileName} (${a.mimeType||"application/octet-stream"}, ${a.size} bytes)`;if(a.extractedText){let b=a.truncated?"\n[The extracted text was truncated before sending.]":"";return`${c}
2
+ ${b}
3
+ ${a.extractedText}`.trim()}return`${c}
4
+ [Text extraction unavailable: ${a.extractionError??"unsupported file type"}]`}).join("\n\n---\n\n"):"",[]),bZ=(0,d.useCallback)(async a=>{let b=await fetch(`/api/agent/${encodeURIComponent(a)}/prepare`,{method:"POST"});if(!b.ok)throw Error((await b.json().catch(()=>({}))).error??`Failed to prepare session (HTTP ${b.status})`)},[]),b$=(()=>{let a={input:0,output:0,cacheRead:0,cacheWrite:0};for(let b of af){if("assistant"!==b.role)continue;let c=b.usage;c&&(a.input+=c.input??0,a.output+=c.output??0,a.cacheRead+=c.cacheRead??0,a.cacheWrite+=c.cacheWrite??0)}return a.input+a.output+a.cacheRead+a.cacheWrite>0?{tokens:a}:null})(),b_=(0,d.useRef)(!1),b0=(0,d.useCallback)(async()=>{let a=bc.current;if(!a||b_.current||bO.current)return;b_.current=!0,bM.current=!0;let b=0,c=S(a);b=c?c.loadedMessagesCount:50;try{for(;;)try{let c=await fetch(`/api/sessions/${encodeURIComponent(a)}?limit=100&offset=${b}&deferThinking=1&deferMedia=1`);if(!c.ok)break;let d=await c.json();if(bc.current!==a)break;let e=d.context.messages,f=d.context.entryIds??[];if(0===e.length)break;ag(a=>[...e,...a]),ai(a=>{let b=[...f,...a];return bJ.current=b,b});let g=b+e.length;if(ao(g),bN.current=g,am(d.hasMore??!1),T(a,e,f,d.hasMore??!1,g),b=g,!d.hasMore)break;await new Promise(a=>setTimeout(a,800))}catch{break}}finally{b_.current=!1,bO.current=!0,bM.current=!1}},[]),b1=(0,d.useCallback)(async(a,b=!1,c=!1,d=!1)=>{var e;let f=null;try{if(b&&Q(!0),!c&&!bp.current&&!d){let c=S(a);if(c)return ak(c.totalMessages),am(c.hasMore),ao(c.loadedMessagesCount),ag(c.messages),bJ.current=c.entryIds,ai(c.entryIds),bI.current=c.leafId,ae(c.leafId),bN.current=c.loadedMessagesCount,b&&Q(!1),c.hasMore&&!bO.current&&setTimeout(()=>{b0()},1500),null}let g=c?`/api/sessions/${encodeURIComponent(a)}?includeState&deferThinking=1&deferMedia=1`:`/api/sessions/${encodeURIComponent(a)}?limit=50&offset=0&deferThinking=1&deferMedia=1`,h=bQ.current;if(h?.sid===a&&!b)return null;h?.controller.abort(X("Session load superseded","AbortError"));let i=new AbortController;f=i,bQ.current={sid:a,controller:i};let j=setTimeout(()=>{i.abort(X("Session load timed out after 30 seconds","TimeoutError"))},3e4),k=await fetch(g,{signal:i.signal}).finally(()=>clearTimeout(j));if(bc.current&&bc.current!==a)return null;if(404===k.status)return b&&(x(null),bI.current=null,ae(null),ag([]),ac(null)),null;if(!k.ok)throw Error(`HTTP ${k.status}`);let l=await k.json();c?(ak(l.totalMessages??l.context.messages.length),am(!1)):(ak(l.totalMessages??l.context.messages.length),am(l.hasMore??!1)),ao(l.context.messages.length),x(l),bI.current=l.leafId,ae(l.leafId);let m=l.context.messages,n=_(m),q=new Map,r=Date.now();for(let[b,c]of bE.current)if(c.sessionId===a){if(r-c.createdAt>12e4){bE.current.delete(b);continue}if(c.confirmKey){let a=n.get(c.confirmKey)??0,d=q.get(c.confirmKey)??0;a-d>c.confirmCountAtCreate&&(bE.current.delete(b),q.set(c.confirmKey,d+1))}}bF.current=n;let s=l.context.entryIds??[],t=[...bE.current.values()].filter(b=>aa(b,a,s)).map(a=>a.message),u=t.length>0?[...m,...t]:m,v=function(a,b,c){if(0===b.size)return a;let d=!1,e=a.map(a=>{let e=p(a);if(!e)return a;let f=b.get(e);return f?c-f.observedAt>5e3||function(a,b){let c=a.timestamp,d=b.timestamp;if("number"!=typeof c||"number"!=typeof d||c!==d||a.role!==b.role)return!1;try{return JSON.stringify(a)===JSON.stringify(b)}catch{return!1}}(f.message,a)?(b.delete(e),a):(d=!0,f.message):a});return d?e:a}(u,bH.current,Date.now()),w=bG.current.get(a);if(w){for(let[a,b]of w)r-b>12e4&&w.delete(a);0===w.size&&bG.current.delete(a)}let y=w?.size?w:null,z=y?new Set(s):null,A=!!y&&!!z&&[...y.keys()].some(a=>!z.has(a));y&&z&&!A&&bG.current.delete(a);let B=v.length;if(!c&&(bN.current>B||A))ak(l.totalMessages??l.context.messages.length),am(l.hasMore??!1);else{let b=bJ.current;ag(a=>o(a,b,v,s)),bJ.current=s,ai(s),c?bN.current=B:bN.current=Math.max(bN.current,B),e={sessionId:a,leafId:l.leafId,messages:v,entryIds:s,totalMessages:l.totalMessages??l.context.messages.length,hasMore:!c&&(l.hasMore??!1),loadedMessagesCount:l.context.messages.length},R().entries.set(a,{...e,loadedAt:Date.now()})}return aZ(a=>{if(!a)return null;let b=l.context.model;return b?.provider===a.provider&&b.modelId===a.modelId?null:a}),ac(null),!l.agentState?.state?.thinkingLevel&&l.context.thinkingLevel&&"off"!==l.context.thinkingLevel&&aP(l.context.thinkingLevel),l.agentState??null}catch(a){if(a instanceof DOMException&&("AbortError"===a.name||"TimeoutError"===a.name)||a instanceof Error&&/aborted without reason|AbortError|Session load (?:timed out|superseded)/i.test(a.message))return null;return ac(String(a)),null}finally{f&&bQ.current?.controller===f&&(bQ.current=null),b&&Q(!1)}},[b0]),b2=(0,d.useRef)(!1),b3=(0,d.useCallback)(async()=>{if(b2.current)return;b2.current=!0;let a=bc.current;if(!a){b2.current=!1;return}try{let b=await fetch(`/api/sessions/${encodeURIComponent(a)}?limit=50&offset=${an}&deferThinking=1&deferMedia=1`);if(!b.ok)return;let c=await b.json(),d=c.context.messages,e=c.context.entryIds??[];ag(a=>[...d,...a]),ai(a=>{let b=[...e,...a];return bJ.current=b,b}),ao(a=>a+d.length),am(c.hasMore??!1),T(a,d,e,c.hasMore??!1,an+d.length)}catch{}finally{b2.current=!1}},[an]),b4=(0,d.useCallback)(async a=>{let b=bc.current;if(!b)return[];let c=bI.current,d=c?`?leafId=${encodeURIComponent(c)}`:"";try{let c=await fetch(`/api/sessions/${encodeURIComponent(b)}/shadowed${d}`);if(!c.ok)return[];let e=await c.json(),f=e.groups?.find(b=>b.compactionEntryId===a);return f?.messages??[]}catch{return[]}},[]),b5=(0,d.useCallback)(async(a,b)=>{try{let c=b?`/api/sessions/${encodeURIComponent(a)}/context?leafId=${encodeURIComponent(b)}&deferThinking=1&deferMedia=1`:`/api/sessions/${encodeURIComponent(a)}/context?deferThinking=1&deferMedia=1`,d=await fetch(c);if(!d.ok)throw Error(`HTTP ${d.status}`);let e=await d.json(),f=e.context.messages,g=e.context.entryIds??[],h=_(f),i=new Map,j=Date.now();for(let[b,c]of bE.current)if(c.sessionId===a){if(j-c.createdAt>12e4){bE.current.delete(b);continue}if(c.confirmKey){let a=h.get(c.confirmKey)??0,d=i.get(c.confirmKey)??0;a-d>c.confirmCountAtCreate&&(bE.current.delete(b),i.set(c.confirmKey,d+1))}}bF.current=h;let k=[...bE.current.values()].filter(b=>aa(b,a,g)).map(a=>a.message),l=bJ.current,m=k.length>0?[...f,...k]:f;ag(a=>o(a,l,m,g)),bJ.current=g,ai(g)}catch(a){console.error("Failed to load context:",a)}},[]),b6=(0,d.useCallback)(async a=>{try{let b=await r(a,{type:"get_tools"});b&&(bT((0,V.ES)(b)),bU((0,V.IB)(b)))}catch(a){console.error("Failed to load tools:",a)}},[bU,bT]),b7=(0,d.useCallback)(async a=>{try{let b=await r(a,{type:"get_commands"});aN(Array.isArray(b?.commands)?b.commands:[])}catch{aN([])}},[]),b8=bd.connect,b9=(0,d.useCallback)(async(a,b="manual")=>{if(!a||bc.current!==a)return;let c=bL.current;try{let b=await fetch(`/api/agent/${encodeURIComponent(a)}`),e=await b.json().catch(()=>({}));if(bc.current!==a||bL.current!==c)return;if(e.running){var d;bp.current=!0,ax(!0),a7((d=e.state,d?.phase==="running_tools"?{kind:"running_tools",tools:(d.activeTools??[]).map(a=>({id:a.id,name:a.name}))}:d?.phase==="streaming"||d?.phase==="compacting"||d?.phase==="idle"?null:{kind:"waiting_model"})),bf()||(J(a),b8(a,{replay:!0}))}else bp.current=!1,be(),I(a),ax(!1),a7(null),aR(null),av({type:"end"}),U(a),await b1(a,!1,!1,!0);e.state?.contextUsage!==void 0&&aT(e.state.contextUsage??null),e.state?.systemPrompt!==void 0&&aV(e.state.systemPrompt??null),e.state?.isCompacting!==void 0&&a1(e.state.isCompacting),e.state?.thinkingLevel!==void 0&&aP(e.state.thinkingLevel??"auto"),e.state?.queuedMessages!==void 0&&a9(L(e.state.queuedMessages)),bl(e.state),e.state?.isBashRunning&&bt("")}catch{}},[b8,b1,bl,bt,be,bf,av]),ca=(0,d.useRef)(K);ca.current={runtime:aw?"running":"idle",phase:a6,retry:aQ,isCompacting:a0,compactError:a2,error:ba,queued:a8};let cb=(0,d.useCallback)(a=>{if(void 0!==a.runtime){let b="running"===a.runtime;bp.current=b,ax(b)}void 0!==a.phase&&a7(a.phase),void 0!==a.retry&&aR(a.retry),void 0!==a.isCompacting&&a1(a.isCompacting),void 0!==a.compactError&&a3(a.compactError),void 0!==a.error&&bb(a.error),void 0!==a.queued&&a9(a.queued)},[]),cc=(0,d.useCallback)(a=>{bP.current&&clearTimeout(bP.current);let b=bL.current,c=0,d=async()=>{if(bc.current!==a||bp.current||bL.current!==b)return;U(a),await b1(a,!1,!1,!0);let e=W[c++];void 0===e||bc.current!==a||bp.current||bL.current!==b||(bP.current=setTimeout(()=>{bP.current=null,d()},e))};d()},[b1]),cd=(0,d.useCallback)(a=>{fetch(`/api/agent/${encodeURIComponent(a)}`).then(a=>a.json()).then(a=>{a.state?.contextUsage!==void 0&&aT(a.state.contextUsage??null),a.state?.systemPrompt!==void 0&&aV(a.state.systemPrompt??null),a.state?.isCompacting!==void 0&&a1(a.state.isCompacting)}).catch(()=>{})},[]),ce=(0,d.useCallback)(a=>{for(let[b,c]of bE.current)c.sessionId===a&&"prompt"===c.kind&&bE.current.delete(b)},[]),cf=(0,d.useCallback)((a,b,c)=>{"assistant"===b.role&&"error"===b.stopReason&&b.errorMessage?.trim()&&bb(`Model response failed: ${b.errorMessage.trim()}`);let d=e(b),f=p(d);if(f&&bH.current.set(f,{observedAt:Date.now(),message:d}),!(c&&bJ.current.includes(c))){if(a&&c){let b=bG.current.get(a)??new Map;b.set(c,Date.now()),bG.current.set(a,b)}ag(a=>a.some(a=>(function(a,b){let c=a.timestamp,d=b.timestamp;if("number"!=typeof c||"number"!=typeof d||c!==d||a.role!==b.role)return!1;try{return JSON.stringify(a)===JSON.stringify(b)}catch{return!1}})(a,d))?a:[...a,d]),c&&ai(a=>{if(a.includes(c))return a;let b=[...a,c];return bJ.current=b,b})}},[]);bw.current=(0,d.useCallback)(a=>{let b=bc.current;"message_update"!==a.type&&at(),b&&function(a,b){let c=G(a),d=Date.now();switch(b.type){case"agent_start":if("active"===c.snapshot.phase)return B(c,!0),c.snapshot;return F(c),c.accumulatedText="",c.toolCalls.clear(),c.toolResults.clear(),c.activeToolId=null,c.snapshot={...y(a),phase:"active",startedAt:d,lastEventAt:d,isStreaming:!0,streamingMessage:{role:"assistant",content:[]}},D(c),B(c,!0),c.snapshot;case"message_update":{let a=b.message;if(a?.role==="assistant"){let b=a.content;for(let a of Array.isArray(b)?b:[])"object"==typeof a&&null!==a&&"type"in a&&("text"===a.type?c.accumulatedText=a.text??"":"toolCall"===a.type&&a.toolCallId&&!c.toolCalls.has(a.toolCallId)&&c.toolCalls.set(a.toolCallId,{...a,startedAt:d}))}else{let a=b.assistantMessageEvent;a?.type==="text_delta"?c.accumulatedText+=a.delta??"":a?.type==="text_end"?c.accumulatedText=a.content??c.accumulatedText:(a?.type==="toolcall_start"||a?.type==="toolcall_delta")&&a.id&&!c.toolCalls.has(a.id)&&c.toolCalls.set(a.id,{type:"toolCall",toolCallId:a.id,toolName:a.toolName??"tool",input:{},startedAt:d})}return B(c,!1),c.snapshot}case"tool_execution_start":{let a="string"==typeof b.toolCallId?b.toolCallId:"",e="string"==typeof b.toolName?b.toolName:"tool",f=b.input??{};if(!a)return c.snapshot;let g=c.toolCalls.get(a);return c.toolCalls.set(a,{type:"toolCall",toolCallId:a,toolName:e,input:g&&Object.keys(g.input).length>0?g.input:f,startedAt:g?.startedAt??d}),c.activeToolId=a,F(c),c.activeToolId&&(c.toolProgressTimer=setInterval(()=>B(c,!0),1e3)),B(c,!0),c.snapshot}case"tool_execution_end":{let a="string"==typeof b.toolCallId?b.toolCallId:"",e="string"==typeof b.toolName?b.toolName:"tool",f="string"==typeof b.result?b.result:JSON.stringify(b.result??"");if(a){let g=c.toolCalls.get(a);g&&c.toolCalls.set(a,{...g,endedAt:d}),c.toolResults.set(a,{role:"toolResult",toolCallId:a,toolName:e,content:[{type:"text",text:f}],isError:!!b.isError,timestamp:d}),c.activeToolId===a&&(c.activeToolId=null,F(c))}return B(c,!0),c.snapshot}case"message_end":return A(c),B(c,!0),c.snapshot;case"agent_end":{if(A(c),F(c),c.activeToolId=null,!0===b.willRetry)return c.accumulatedText="",c.toolCalls.clear(),c.toolResults.clear(),c.snapshot={...c.snapshot,phase:"active",lastEventAt:d,accumulatedText:"",toolCalls:[],toolResults:[],statusText:null,streamingMessage:null,isStreaming:!0,error:null},D(c),z(a,{type:"snapshot-updated",snapshot:c.snapshot}),c.snapshot;E(c);let e="string"==typeof b.error?b.error:null;return c.snapshot={...c.snapshot,phase:e?"error":"completed",isStreaming:!1,streamingMessage:null,statusText:null,error:e},z(a,e?{type:"error",snapshot:c.snapshot}:{type:"completed",snapshot:c.snapshot}),c.snapshot}case"heartbeat":return c.snapshot={...c.snapshot,lastHeartbeatAt:d},c.snapshot;default:return c.snapshot}}(b,a),"heartbeat"!==a.type&&(bR.current=Date.now());let c=function(a,b,c){let d=c.sessionId;switch(b.type){case"prompt_admitted":case"agent_start":return{patch:{...M,error:null},streamAction:{type:"start"},effects:[]};case"agent_end":if(!0===b.willRetry)return{patch:M,effects:[]};return{patch:{...N,retry:null},streamAction:{type:"end"},effects:d?[{type:"completion-sync",sessionId:d},{type:"refresh-runtime",sessionId:d}]:[]};case"agent_settled":{let b={phase:null,retry:null};if("running"===a.runtime)return b.runtime="idle",{patch:b,streamAction:{type:"end"},effects:[]};return{patch:b,effects:[]}}case"message_start":case"message_update":{let c,d=b.message;if(d?.role==="user")return{patch:{},effects:[]};let e={};"idle"===a.runtime?(e.runtime="running",e.phase={kind:"waiting_model"}):e.phase=null;let f=b.assistantMessageEvent;return d?.role==="assistant"?c={type:"snapshot",message:d}:f&&(c={type:"delta",event:f}),{patch:e,streamAction:c,effects:[]}}case"message_end":{let c=b.message;if(!c||"user"===c.role)return{patch:{},effects:[]};let e=[{type:"completed-message",message:c,entryId:"string"==typeof b.__entryId?b.__entryId:null,sessionId:d}];if("running"===a.runtime)return{patch:{phase:{kind:"waiting_model"}},streamAction:{type:"reset"},effects:e};return{patch:{},effects:e}}case"replay_gap":return{patch:{},effects:d?[{type:"reload",sessionId:d,reason:"replay_gap"}]:[]};case"prompt_done":if("running"!==a.runtime||!d)return{patch:{},effects:[]};return{patch:{},effects:[{type:"reconcile",sessionId:d,reason:"prompt_done"}]};case"prompt_error":{let a="string"==typeof b.error&&b.error.trim()?b.error.trim():"The model request failed before producing a response.";return{patch:{...N,retry:null,error:`Model request failed: ${a}`},streamAction:{type:"end"},effects:d?[{type:"clear-stream",sessionId:d},{type:"reload",sessionId:d,reason:"prompt_error"}]:[]}}case"tool_execution_start":{let c="string"==typeof b.toolCallId?b.toolCallId:"",d="string"==typeof b.toolName?b.toolName:"tool",e=b.args,f="bash"===d&&"string"==typeof e?.command?e.command:void 0,g=a.phase?.kind==="running_tools"?[...a.phase.tools]:[];return c&&!g.some(a=>a.id===c)&&g.push({id:c,name:d,args:f}),{patch:{phase:{kind:"running_tools",tools:g}},effects:[]}}case"tool_execution_update":{let d="string"==typeof b.toolCallId?b.toolCallId:"";if(!d)return{patch:{},effects:[]};let e="string"==typeof b.toolName?b.toolName:"",f=c.toolProgress?.(b.partialResult),g=a.phase?.kind==="running_tools"?[...a.phase.tools]:[],h=g.find(a=>a.id===d),i={id:d,name:e||h?.name||"tool",args:h?.args,progress:f??h?.progress};return{patch:{phase:{kind:"running_tools",tools:[...g.filter(a=>a.id!==d),i]}},effects:[]}}case"tool_execution_end":{let c="string"==typeof b.toolCallId?b.toolCallId:"";if(a.phase?.kind!=="running_tools")return{patch:{},effects:[]};let d=a.phase.tools.filter(a=>a.id!==c);return{patch:{phase:0===d.length?{kind:"waiting_model"}:{kind:"running_tools",tools:d}},effects:[]}}case"extension_ui_request":case"extension_error":return{patch:{},effects:[{type:"delegate-extension",event:b}]};case"bash_execution_start":case"bash_execution_update":return{patch:{},effects:[{type:"delegate-bash",event:b}]};case"bash_done":return{patch:{},effects:[{type:"delegate-bash",event:b},...d?[{type:"reload",sessionId:d,reason:"bash_done"}]:[]]};case"queue_update":return{patch:{queued:L({steering:Array.isArray(b.steering)?b.steering:[],followUp:Array.isArray(b.followUp)?b.followUp:[]})},effects:[]};case"auto_retry_start":return{patch:{...M,error:null,retry:{attempt:b.attempt,maxAttempts:b.maxAttempts,errorMessage:b.errorMessage}},effects:[]};case"auto_retry_end":if(!1===b.success&&"string"==typeof b.finalError&&b.finalError.trim())return{patch:{retry:null,error:`Model response failed after retries: ${b.finalError.trim()}`},effects:[]};return{patch:!0===b.success?{retry:null,error:null}:{retry:null},effects:[]};case"auto_compaction_start":case"compaction_start":return{patch:{isCompacting:!0,compactError:null},effects:[]};case"auto_compaction_end":case"compaction_end":{let a="string"==typeof b.errorMessage&&b.errorMessage.trim()?b.errorMessage:null,c=[];return!a&&!0!==b.aborted&&d&&c.push({type:"reload",sessionId:d,reason:"compaction_end"}),{patch:{isCompacting:!1,...a?{compactError:a}:{}},effects:c}}default:return{patch:{},effects:[]}}}(ca.current,a,{sessionId:b,toolProgress:a=>(function(a){if(!m(a))return null;let b=a.content;if(!Array.isArray(b))return null;let c=b.filter(a=>m(a)&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n").split(/\r?\n/),d="";for(let a=c.length-1;a>=0&&!(d=c[a].trim());a-=1);if(!d)return null;let e=d.replace(/\s+/g," ");return e.length<=500?e:`...${e.slice(-497)}`})(a)??void 0});switch(cb(c.patch),c.streamAction?.type){case"start":av({type:"start"});break;case"end":av({type:"end"});break;case"reset":av({type:"reset"});break;case"delta":au(c.streamAction.event);break;case"snapshot":av({type:"snapshot",message:e(c.streamAction.message)})}for(let a of c.effects)switch(a.type){case"completion-sync":cc(a.sessionId);break;case"refresh-runtime":cd(a.sessionId);break;case"reload":U(a.sessionId),b1(a.sessionId,!1,!1,!0);break;case"clear-stream":be(),I(a.sessionId),ce(a.sessionId);break;case"reconcile":b9(a.sessionId,a.reason);break;case"delegate-extension":bm(a.event);break;case"delegate-bash":bv(a.event);break;case"completed-message":cf(a.sessionId,a.message,a.entryId)}c.effects.some(a=>"completion-sync"===a.type||"clear-stream"===a.type)&&g?.()},[b1,g,b9,bm,bv,be,cb,cc,cd,cf,ce,at,au,av]);let cg=(0,d.useCallback)(async(a,d,e,f)=>{if(!a.trim()&&!d?.length&&!e?.length||aw)return;bL.current+=1;let g=bY(e),i=a.trim()?g?`${a}
5
+
6
+ Attached document text:
7
+
8
+ ${g}`:a:g?`Attached document text:
9
+
10
+ ${g}`:"",j=[],k=u?c:b?.cwd??v?.info?.cwd;if(d?.length&&k)try{j=await P(k,d)}catch(a){bb(a instanceof Error?a.message:String(a));return}let l=j.length?j.map(a=>{var b;return{type:"image",path:a.path,mimeType:a.mimeType,name:a.name,source:{type:"url",url:(b=a.path,`/api/files/${(0,O.HG)(b)}?type=read`),media_type:a.mimeType}}}):d?.map(a=>({type:"image",source:{type:"base64",media_type:a.mimeType,data:a.data}})),m={role:"user",content:l?.length?[...i.trim()?[{type:"text",text:i}]:[],...l]:i,timestamp:Date.now()},n=Y(),o=u?null:b?.id??null;o&&U(o);let p=bI.current,s=$(m.content);bE.current.set(n,{localId:n,sessionId:o??"__new__",leafId:p,message:m,createdAt:Date.now(),kind:"prompt",confirmKey:s,confirmCountAtCreate:u?0:s?bF.current.get(s)??0:0}),ag(a=>[...a,m]),bb(null),bp.current=!0,ax(!0),a7({kind:"waiting_model"}),av({type:"start"}),bB.current=!0;let w=aA.find(a=>a.provider===bV?.provider&&a.id===bV?.modelId)?.input,x=!w||0===w.length||w.includes("image")?d?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0;try{if(u&&c){aG&&a_(aG);let b=f??bX(),d=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:c,type:"prompt",message:i,toolNames:b,deferPrompt:!0,...x?.length?{images:x}:{},...aG?{provider:aG.provider,modelId:aG.modelId}:{},..."auto"!==aO?{thinkingLevel:aO}:{}})}),e=await d.json().catch(()=>({}));if(!d.ok||e.error||!e.sessionId)throw Error(e.error??`HTTP ${d.status}`);let g=e.sessionId;bc.current=g;let j=bE.current.get(n);j&&(j.sessionId=g),by.current?.(),by.current=H(g,()=>{bc.current===g&&(ax(!1),a7(null))}),bK.current=g,await b8(g,{requireConnected:!0,timeoutMs:1e4}),await r(g,{type:"prompt",message:i,toolNames:b,...x?.length?{images:x}:{}}),h?.({id:g,path:"",cwd:c,name:void 0,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:1,firstMessage:a})}else if(b){let a=f??bX();await bZ(b.id),by.current?.(),by.current=H(b.id,()=>{bc.current===b.id&&(ax(!1),a7(null))}),await b8(b.id,{requireConnected:!0,timeoutMs:1e4}),await r(b.id,{type:"prompt",message:i,toolNames:a,leafId:p,...bV?{provider:bV.provider,modelId:bV.modelId}:{},..."auto"!==aO?{thinkingLevel:aO}:{},...x?.length?{images:x}:{}})}}catch(c){let b=bc.current;if(bE.current.delete(n),ag(a=>a.filter(a=>a!==m)),c instanceof q&&(409===c.status||"SESSION_BUSY"===c.code)){bb("This session is already running in another tab. Showing that active run instead."),bp.current=!0,ax(!0),a7({kind:"waiting_model"}),av({type:"start"}),b&&(be(),J(b),b8(b,{replay:!0}),bx.current?.(b,"prompt_conflict"));return}if(console.error("Failed to send message:",c),u&&bc.current){let a=bc.current;bc.current=null,bK.current=null,fetch(`/api/sessions/${encodeURIComponent(a)}`,{method:"DELETE"}).catch(()=>{})}t?.current&&a.trim()&&t.current.insertIfEmpty(a),t?.current&&d?.length&&t.current.addBase64Images?.(d.map(({data:a,mimeType:b})=>({data:a,mimeType:b}))),bb(c instanceof Error?c.message:String(c)),be(),b&&I(b),bp.current=!1,ax(!1),a7(null),av({type:"end"})}},[u,c,aG,bX,aO,b,v?.info?.cwd,aw,b8,h,bY,aA,bV,bZ,t,be,av]),ch=(0,d.useCallback)(async()=>{let a=bc.current;if(!a)return;let b=bs();bp.current=!1,bu(),bb(null),ax(!1),a7(null),av({type:"end"}),be(),I(a),U(a);try{await r(a,{type:b?"abort_bash":"abort"}),await b1(a,!1,!1,!0)}catch(b){console.error("Failed to abort:",b),await b1(a,!1,!1,!0)}finally{b&&bu()}},[bu,bs,b1,be,av]),ci=(0,d.useCallback)(async(a,b)=>{let c=bc.current,d=a.trim();if(c&&d){bb(null),bt(d);try{await r(c,{type:"bash",command:d,excludeFromContext:b})}catch(a){bb(a instanceof Error?a.message:String(a))}finally{bu(),U(c),await b1(c,!1,!1,!0)}}},[bt,bu,b1]),cj=(0,d.useCallback)(async a=>{let b=bc.current;if(b){aX(a);try{let{cancelled:c,newSessionId:d}=await r(b,{type:"fork",entryId:a})??{};!c&&d&&i?.(d)}catch(a){console.error("Fork failed:",a)}finally{aX(null)}}},[i]),ck=(0,d.useCallback)(async a=>{let d=bc.current,e=v?.info?.cwd??b?.cwd??c??null;if(!d||!e)return{ok:!1,error:"No active session to fork"};if(bp.current)return{ok:!1,error:"Agent is still running"};try{let b=bX(),c=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:e,type:"prompt",parentSessionId:d,deferPrompt:!0,toolNames:b,...bV?{provider:bV.provider,modelId:bV.modelId}:{},..."auto"!==aO?{thinkingLevel:aO}:{}})}),f=await c.json().catch(()=>({}));if(!c.ok||f.error||!f.sessionId)return{ok:!1,error:f.error??`HTTP ${c.status}`};let g=f.sessionId;try{await r(g,{type:"append_message",message:a,customType:"fork_handoff",display:!0})}catch{}return h?.({id:g,path:"",cwd:e,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:1,firstMessage:a.slice(0,120),parentSessionId:d}),{ok:!0}}catch(a){return{ok:!1,error:a instanceof Error?a.message:String(a)}}},[v?.info?.cwd,b?.cwd,c,bV,aO,bX,h]),cl=(0,d.useCallback)(async a=>{let b=bc.current;b&&(bG.current.delete(b),U(b),bI.current=a,ae(a),await b5(b,a))},[b5]);(0,d.useCallback)(async a=>{bI.current=a,ae(a);let b=bc.current;b&&(bG.current.delete(b),U(b),await b5(b,a))},[b5]);let cm=(0,d.useCallback)(async(a,b)=>{if(u)return void bS({provider:a,modelId:b});let c=bc.current;if(c)try{var d;bb(null);let e=await r(c,{type:"set_model",provider:a,modelId:b}),f={provider:e.provider,modelId:e.id};e.thinkingLevel&&(d=e.thinkingLevel,"auto"===d||"off"===d||"minimal"===d||"low"===d||"medium"===d||"high"===d||"xhigh"===d)&&aP(e.thinkingLevel),aZ(f),x(a=>a?{...a,context:{...a.context,model:f}}:a)}catch(b){let a=b instanceof Error?b.message:String(b);console.error("Failed to set model:",b),bb(a)}},[u,bS]),cn=(0,d.useCallback)(async()=>{let a=bc.current;if(a&&!a0){a1(!0),a3(null),a5(null);try{let b=await r(a,{type:"compact"});b?.reducedBy!=null&&a5(`Compacted ~${b.tokensBefore??"?"} → ~${b.tokensAfter??"?"} tokens (−${b.reducedBy})`),await b1(a,!0)}catch(a){a3(a instanceof Error?a.message:String(a))}finally{a1(!1)}}},[a0,b1]),co=(0,d.useCallback)(async(a,b,c)=>{let d=bc.current;if(!d)return;U(d);let e=bY(c),f=a.trim()?e?`${a}
11
+
12
+ Attached document text:
13
+
14
+ ${e}`:a:e?`Attached document text:
15
+
16
+ ${e}`:"",g=aA.find(a=>a.provider===bV?.provider&&a.id===bV?.modelId)?.input,h=!g||0===g.length||g.includes("image")?b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0,i={role:"user",content:`[steer] ${f}`,timestamp:Date.now()},j=Y(),k=Z(f,h?.length??0);bE.current.set(j,{localId:j,sessionId:d,leafId:bI.current,message:i,createdAt:Date.now(),kind:"steer",confirmKey:k,confirmCountAtCreate:k?bF.current.get(k)??0:0}),ag(a=>[...a,i]);try{await r(d,{type:"steer",message:f,...h?.length?{images:h}:{}})}catch(a){bE.current.delete(j),console.error("Failed to steer:",a)}},[bY,aA,bV]),cp=(0,d.useCallback)(async(a,b,c)=>{let d=bc.current;if(!d)return;U(d);let e=bY(c),f=a.trim()?e?`${a}
17
+
18
+ Attached document text:
19
+
20
+ ${e}`:a:e?`Attached document text:
21
+
22
+ ${e}`:"",g=aA.find(a=>a.provider===bV?.provider&&a.id===bV?.modelId)?.input,h=!g||0===g.length||g.includes("image")?b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})):void 0,i={role:"user",content:f,timestamp:Date.now()},j=Y(),k=Z(f,h?.length??0);bE.current.set(j,{localId:j,sessionId:d,leafId:bI.current,message:i,createdAt:Date.now(),kind:"follow_up",confirmKey:k,confirmCountAtCreate:k?bF.current.get(k)??0:0}),ag(a=>[...a,i]);try{await r(d,{type:"follow_up",message:f,...h?.length?{images:h}:{}})}catch(a){bE.current.delete(j),console.error("Failed to follow up:",a)}},[bY,aA,bV]),cq=(0,d.useCallback)(async()=>{let a=bc.current;if(a)try{await r(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[]),cr=(0,d.useCallback)(async a=>{if(aP(a),"auto"===a)return;let b=bc.current;if(b)try{await r(b,{type:"set_thinking_level",level:a})}catch(a){console.error("Failed to set thinking level:",a)}},[]),cs=(0,d.useCallback)(async a=>{bT(a);let b=(0,V.tE)(a,aK),c=bc.current;if(c)try{await r(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set tools:",a)}},[aK,bT]),ct=(0,d.useCallback)(async a=>{bU(a);let b=(0,V.tE)(aI,a),c=bc.current;if(c)try{await r(c,{type:"set_tools",toolNames:b})}catch(a){console.error("Failed to set memory tools:",a)}},[bU,aI]);(0,d.useCallback)((a="smooth")=>{bC.current?.scrollIntoView({behavior:a})},[]),(0,d.useCallback)(()=>{let a=bD.current,b=bA.current;if(!a||!b)return;let c=b.getBoundingClientRect().top-a.getBoundingClientRect().top+a.scrollTop;a.scrollTo({top:c-16,behavior:"smooth"})},[]);let cu=(0,d.useCallback)(async()=>{let a=bc.current;if(a)try{await r(a,{type:"clear_queue"}),a9({steering:[],followUp:[]})}catch(a){bb(a instanceof Error?a.message:String(a))}},[]);return{data:v,loading:C,error:ab,activeLeafId:ad,messages:af,entryIds:ah,streamState:ap,agentRunning:aw,modelNames:ay,modelList:aA,modelThinkingLevels:aC,modelThinkingLevelMaps:aE,newSessionModel:aG,toolPreset:aI,memoryTools:aK,thinkingLevel:aO,retryInfo:aQ,queuedMessages:a8,extensionStatuses:bh,extensionWidgets:bi,extensionDialog:bj,extensionNotices:bk,bashLive:bq,bashRunning:br,contextUsage:aS,systemPrompt:aU,forkingEntryId:aW,isCompacting:a0,compactError:a2,compactInfo:a4,currentModel:bV,displayModel:bW,sessionStats:b$,agentPhase:a6,agentError:ba,isNew:u,sessionIdRef:bc,sseReaderRef:bg,messagesEndRef:bC,scrollContainerRef:bD,lastUserMsgRef:bA,pendingScrollToUserRef:bB,initialScrollDoneRef:bz,handleSend:cg,handleAbort:ch,handleFork:cj,handleNavigate:cl,handleModelChange:cm,handleCompact:cn,handleSteer:co,handleFollowUp:cp,handleAbortCompaction:cq,handleToolPresetChange:cs,handleMemoryToolsChange:ct,handleThinkingLevelChange:cr,handleClearQueue:cu,handleBash:ci,respondToExtensionUi:bn,dismissExtensionNotice:bo,loadTools:b6,loadSlashCommands:b7,slashCommands:aM,setActiveLeafId:ae,setData:x,setMessages:ag,dispatch:aq,setAgentRunning:ax,setForkingEntryId:aX,forkToNewSession:ck,loadMoreMessages:b3,hasMoreMessages:al,totalMessages:aj,loadedMessagesCount:an,loadShadowedMessages:b4,handleAgentEventRef:bw}}},81537:(a,b,c)=>{c.d(b,{O:()=>k});let d=new Set,e=null,f=null,g=null,h=null,i=null,j=!1;function k(a){return d.add(a),e&&a(e),()=>{if(d.delete(a),0===d.size&&j){if(j=!1,h&&clearTimeout(h),h=null,g&&(clearInterval(g),g=null),i?.(),i=null,f){try{f.port.postMessage({type:"disconnect"})}catch{}try{f.port.close()}catch{}}f=null,e=null}}}}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/MHc4xkUiwo0WjuBfXFXEz/_buildManifest.js","static/MHc4xkUiwo0WjuBfXFXEz/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-19f3f7824a602f3b.js","static/chunks/4bd1b696-8cd12253b448cc13.js","static/chunks/3794-fba3f76785a3c234.js","static/chunks/main-app-a8a207cb34d209aa.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/33lxcaITML1UfRwyCMnDs/_buildManifest.js","static/33lxcaITML1UfRwyCMnDs/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-19f3f7824a602f3b.js","static/chunks/4bd1b696-8cd12253b448cc13.js","static/chunks/3794-fba3f76785a3c234.js","static/chunks/main-app-a8a207cb34d209aa.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="__variable_9e44ca"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9bcd6051db4f8890.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/d68ecb6695873888.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-19f3f7824a602f3b.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-fba3f76785a3c234.js" async=""></script><script src="/_next/static/chunks/main-app-a8a207cb34d209aa.js" async=""></script><script src="/_next/static/chunks/app/layout-31265427e43f6876.js" async=""></script><script src="/_next/static/chunks/app/error-6309e3e4cdf79d40.js" async=""></script><script src="/_next/static/chunks/app/global-error-7595c826cec2c048.js" async=""></script><meta name="robots" content="noindex"/><title>AnnoVibe</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="shortcut icon" href="/icon.svg" type="image/svg+xml"/><link rel="icon" href="/icon.svg" type="image/svg+xml"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var t=localStorage.getItem(\"pi-theme\");if(t===\"dark\")document.documentElement.classList.add(\"dark\")}catch(e){}})();","id":"theme-init"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-19f3f7824a602f3b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"static/chunks/app/layout-31265427e43f6876.js\"\n3:I[42593,[\"7177\",\"$2\"],\"\"]\n4:I[57121,[],\"\"]\n5:\"static/chunks/app/error-6309e3e4cdf79d40.js\"\n6:I[87460,[\"8039\",\"$5\"],\"default\"]\n7:I[74581,[],\"\"]\nb:I[90484,[],\"OutletBoundary\"]\nc:\"$Sreact.suspense\"\ne:\"ViewportBoundary\"\nf:I[90484,[],\"$e\"]\n11:\"MetadataBoundary\"\n12:I[90484,[],\"$11\"]\n14:\"static/chunks/app/global-error-7595c826cec2c048.js\"\n15:I[54690,[\"4219\",\"$14\"],\"default\"]\n:HL[\"/_next/static/media/7deddc85b7ffd1dc-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/ec14413c594b3356-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/9bcd6051db4f8890.css\",\"style\"]\n:HL[\"/_next/static/css/d68ecb6695873888.css\",\"style\"]\n9:X\na:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$c\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@d\"}]}]]}],\"p\":false,\"v\":null}}]]\n8:[[\"children\",{\"s\":\"_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$9\"},\"c\":\"$Qa\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9bcd6051db4f8890.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/d68ecb6695873888.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_9e44ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"$L3\",null,{\"id\":\"theme-init\",\"strategy\":\"beforeInteractive\",\"children\":\"(function(){try{var t=localStorage.getItem(\\\"pi-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}]}],[\"$\",\"body\",null,{\"style\":{\"height\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$6\",\"errorStyles\":[],\"errorScripts\":null,\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q8\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"$L12\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$15\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"MHc4xkUiwo0WjuBfXFXEz\"}\n9:C\n10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n16:I[86869,[],\"IconMark\"]\nd:null\n13:[[\"$\",\"title\",\"0\",{\"children\":\"AnnoVibe\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"shortcut icon\",\"href\":\"/icon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L16\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="__variable_9e44ca"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9bcd6051db4f8890.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/be5cdd302b05dc22.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-19f3f7824a602f3b.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-fba3f76785a3c234.js" async=""></script><script src="/_next/static/chunks/main-app-a8a207cb34d209aa.js" async=""></script><script src="/_next/static/chunks/app/layout-31265427e43f6876.js" async=""></script><script src="/_next/static/chunks/app/error-6309e3e4cdf79d40.js" async=""></script><script src="/_next/static/chunks/app/global-error-7595c826cec2c048.js" async=""></script><meta name="robots" content="noindex"/><title>AnnoVibe</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="shortcut icon" href="/icon.svg" type="image/svg+xml"/><link rel="icon" href="/icon.svg" type="image/svg+xml"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script>(self.__next_s=self.__next_s||[]).push([0,{"children":"(function(){try{var t=localStorage.getItem(\"pi-theme\");if(t===\"dark\")document.documentElement.classList.add(\"dark\")}catch(e){}})();","id":"theme-init"}])</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-19f3f7824a602f3b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:\"static/chunks/app/layout-31265427e43f6876.js\"\n3:I[42593,[\"7177\",\"$2\"],\"\"]\n4:I[57121,[],\"\"]\n5:\"static/chunks/app/error-6309e3e4cdf79d40.js\"\n6:I[87460,[\"8039\",\"$5\"],\"default\"]\n7:I[74581,[],\"\"]\nb:I[90484,[],\"OutletBoundary\"]\nc:\"$Sreact.suspense\"\ne:\"ViewportBoundary\"\nf:I[90484,[],\"$e\"]\n11:\"MetadataBoundary\"\n12:I[90484,[],\"$11\"]\n14:\"static/chunks/app/global-error-7595c826cec2c048.js\"\n15:I[54690,[\"4219\",\"$14\"],\"default\"]\n:HL[\"/_next/static/media/7deddc85b7ffd1dc-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/ec14413c594b3356-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/9bcd6051db4f8890.css\",\"style\"]\n:HL[\"/_next/static/css/be5cdd302b05dc22.css\",\"style\"]\n9:X\na:[[\"children\",{\"s\":\"__PAGE__\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$c\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@d\"}]}]]}],\"p\":false,\"v\":null}}]]\n8:[[\"children\",{\"s\":\"_not-found\",\"h\":512,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$9\"},\"c\":\"$Qa\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9bcd6051db4f8890.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/be5cdd302b05dc22.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_9e44ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"$L3\",null,{\"id\":\"theme-init\",\"strategy\":\"beforeInteractive\",\"children\":\"(function(){try{var t=localStorage.getItem(\\\"pi-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}]}],[\"$\",\"body\",null,{\"style\":{\"height\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$6\",\"errorStyles\":[],\"errorScripts\":null,\"template\":[\"$\",\"$L7\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],\"p\":false,\"v\":null},\"c\":\"$Q8\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lf\",null,{\"children\":\"$L10\"}],[\"$\",\"$L12\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$c\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L13\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$15\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"33lxcaITML1UfRwyCMnDs\"}\n9:C\n10:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n16:I[86869,[],\"IconMark\"]\nd:null\n13:[[\"$\",\"title\",\"0\",{\"children\":\"AnnoVibe\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"shortcut icon\",\"href\":\"/icon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/icon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L16\",\"4\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-19f3f7824a602f3b.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-fba3f76785a3c234.js" async=""></script><script src="/_next/static/chunks/main-app-a8a207cb34d209aa.js" async=""></script><script src="/_next/static/chunks/app/error-6309e3e4cdf79d40.js" async=""></script><script src="/_next/static/chunks/app/global-error-7595c826cec2c048.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-19f3f7824a602f3b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:\"static/chunks/app/error-6309e3e4cdf79d40.js\"\n4:I[87460,[\"8039\",\"$3\"],\"default\"]\n5:I[74581,[],\"\"]\n9:I[90484,[],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:\"ViewportBoundary\"\nd:I[90484,[],\"$c\"]\nf:\"MetadataBoundary\"\n10:I[90484,[],\"$f\"]\n12:\"static/chunks/app/global-error-7595c826cec2c048.js\"\n13:I[54690,[\"4219\",\"$12\"],\"default\"]\n6:X\n8:[[\"children\",{\"s\":\"__PAGE__\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],\"p\":false,\"v\":null}}]]\n7:[[\"children\",{\"s\":\"_global-error\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$6\"},\"c\":\"$Q8\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$4\",\"errorStyles\":[],\"errorScripts\":null,\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$6\"},\"c\":\"$Q7\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"$L10\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$13\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"MHc4xkUiwo0WjuBfXFXEz\"}\n6:C\ne:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nb:null\n11:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-19f3f7824a602f3b.js"/><script src="/_next/static/chunks/4bd1b696-8cd12253b448cc13.js" async=""></script><script src="/_next/static/chunks/3794-fba3f76785a3c234.js" async=""></script><script src="/_next/static/chunks/main-app-a8a207cb34d209aa.js" async=""></script><script src="/_next/static/chunks/app/error-6309e3e4cdf79d40.js" async=""></script><script src="/_next/static/chunks/app/global-error-7595c826cec2c048.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-19f3f7824a602f3b.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:\"static/chunks/app/error-6309e3e4cdf79d40.js\"\n4:I[87460,[\"8039\",\"$3\"],\"default\"]\n5:I[74581,[],\"\"]\n9:I[90484,[],\"OutletBoundary\"]\na:\"$Sreact.suspense\"\nc:\"ViewportBoundary\"\nd:I[90484,[],\"$c\"]\nf:\"MetadataBoundary\"\n10:I[90484,[],\"$f\"]\n12:\"static/chunks/app/global-error-7595c826cec2c048.js\"\n13:I[54690,[\"4219\",\"$12\"],\"default\"]\n6:X\n8:[[\"children\",{\"s\":\"__PAGE__\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@b\"}]}]]}],\"p\":false,\"v\":null}}]]\n7:[[\"children\",{\"s\":\"_global-error\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$6\"},\"c\":\"$Q8\"}]]\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"t\":{\"t\":{\"s\":\"\",\"h\":528,\"d\":{\"r\":[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$4\",\"errorStyles\":[],\"errorScripts\":null,\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],\"p\":false,\"v\":\"$6\"},\"c\":\"$Q7\"},\"h\":{\"r\":[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Ld\",null,{\"children\":\"$Le\"}],[\"$\",\"$L10\",null,{\"children\":[[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$a\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}],null]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],\"p\":false,\"v\":null}},\"m\":\"$undefined\",\"G\":[\"$13\",[]],\"S\":true,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"33lxcaITML1UfRwyCMnDs\"}\n6:C\ne:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\nb:null\n11:[]\n"])</script></body></html>
@@ -1,5 +1,5 @@
1
1
  {
2
- "previewModeId": "3b9c46306d53a52247f52b5a2b2ca87f",
3
- "previewModeSigningKey": "b5b52ae63cc11da74e6b710638d2e9315c5e97cd6ba355002314961688792c7c",
4
- "previewModeEncryptionKey": "9d8fec1ac1fd30b4b329023224a2971f0d619be11983a68a1aa080d67f48845a"
2
+ "previewModeId": "44db3b444460f48ee8e299df9431eaad",
3
+ "previewModeSigningKey": "d5a45ae8c43347db9a2fb2e103661bd5d6d8379e33c87e6a35e8a3003cf54761",
4
+ "previewModeEncryptionKey": "9c8f0f4cd488efa4f68ded94291f85129aa1a64b8aedc8712e872a254a6dd406"
5
5
  }
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"B6l1TKZWxtt/zdJnCxw/j/nT+Szb1eqO21wskHEjzHk="}
1
+ {"node":{},"edge":{},"encryptionKey":"GYit5JgyLOPfm3l64D+Ll/KsO0qVKOBMfVUBoJYg4Yw="}