@seqyuan/annodex 0.1.56 → 0.1.58

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 (78) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +8 -8
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  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/_global-error.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +2 -2
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  22. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  25. package/.next/server/app/api/internal/runtime/route.js +1 -1
  26. package/.next/server/app/api/version/route.js +1 -1
  27. package/.next/server/app/docs/changelog/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/docs/changelog.html +2 -2
  29. package/.next/server/app/docs/changelog.rsc +2 -2
  30. package/.next/server/app/docs/changelog.segments/_full.segment.rsc +2 -2
  31. package/.next/server/app/docs/changelog.segments/_head.segment.rsc +1 -1
  32. package/.next/server/app/docs/changelog.segments/_index.segment.rsc +2 -2
  33. package/.next/server/app/docs/changelog.segments/_tree.segment.rsc +2 -2
  34. package/.next/server/app/docs/changelog.segments/docs/changelog/__PAGE__.segment.rsc +1 -1
  35. package/.next/server/app/docs/changelog.segments/docs/changelog.segment.rsc +1 -1
  36. package/.next/server/app/docs/changelog.segments/docs.segment.rsc +1 -1
  37. package/.next/server/app/index.html +1 -1
  38. package/.next/server/app/index.rsc +2 -2
  39. package/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  40. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  41. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  42. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  43. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  44. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  45. package/.next/server/app/login.html +1 -1
  46. package/.next/server/app/login.rsc +2 -2
  47. package/.next/server/app/login.segments/_full.segment.rsc +2 -2
  48. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  49. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  50. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  51. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  52. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  53. package/.next/server/app/page_client-reference-manifest.js +1 -1
  54. package/.next/server/app/workspace/page.js +11 -11
  55. package/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/workspace.html +1 -1
  57. package/.next/server/app/workspace.rsc +3 -3
  58. package/.next/server/app/workspace.segments/_full.segment.rsc +3 -3
  59. package/.next/server/app/workspace.segments/_head.segment.rsc +1 -1
  60. package/.next/server/app/workspace.segments/_index.segment.rsc +2 -2
  61. package/.next/server/app/workspace.segments/_tree.segment.rsc +2 -2
  62. package/.next/server/app/workspace.segments/workspace/__PAGE__.segment.rsc +2 -2
  63. package/.next/server/app/workspace.segments/workspace.segment.rsc +1 -1
  64. package/.next/server/app-paths-manifest.json +8 -8
  65. package/.next/server/chunks/402.js +1 -1
  66. package/.next/server/chunks/6429.js +2 -2
  67. package/.next/server/chunks/6983.js +1 -1
  68. package/.next/server/middleware-build-manifest.js +1 -1
  69. package/.next/server/pages/404.html +1 -1
  70. package/.next/server/pages/500.html +1 -1
  71. package/.next/server/server-reference-manifest.json +1 -1
  72. package/.next/static/chunks/app/workspace/page-a5559754b1543e36.js +262 -0
  73. package/.next/static/css/a79090e5f63d164f.css +1 -0
  74. package/package.json +1 -1
  75. package/.next/static/chunks/app/workspace/page-74f6dd37ae8078e0.js +0 -262
  76. package/.next/static/css/b348172dccf4fc09.css +0 -1
  77. /package/.next/static/{J5i1iPyQwH3dIlgQM8SFk → nb0-liIW7sA4gYpqpjLnR}/_buildManifest.js +0 -0
  78. /package/.next/static/{J5i1iPyQwH3dIlgQM8SFk → nb0-liIW7sA4gYpqpjLnR}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
1
  "use strict";exports.id=6429,exports.ids=[6429],exports.modules={4087:(a,b,c)=>{let d=c(29021),e=c(33873),f=c(21820);function g(){return process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??e.join(f.homedir(),".config","annodex")}function h(){return e.join(g(),"settings.json")}function i(){let a=h();if(!d.existsSync(a))return{};try{let b=JSON.parse(d.readFileSync(a,"utf8"));return"object"!=typeof b||null===b||Array.isArray(b)?{}:b}catch{return{}}}function j(){let a=i();return{autoRestart:"boolean"==typeof a.autoRestart?a.autoRestart:void 0}}function k(a){let b=g();d.existsSync(b)||d.mkdirSync(b,{recursive:!0});let c={...i(),..."boolean"==typeof a?.autoRestart?{autoRestart:a.autoRestart}:{}};return d.writeFileSync(h(),JSON.stringify(c,null,2),"utf8"),j()}a.exports={readAppSettings:j,writeAppSettings:k,ensureAppSettings:function(a={autoRestart:!0}){return"boolean"==typeof i().autoRestart?j():k(a)}}},9805:(a,b,c)=>{c.d(b,{FE:()=>h,zN:()=>i});let d='<widget-capability>\nYou can create interactive visualizations using the `show-widget` code fence.\n\nUse `show-widget` by default when visual output is the primary answer. This includes charts, diagrams, flowcharts, dashboards, UI prototypes, mockups, SVG illustrations, icons, logos, infographics, timelines, hierarchies, comparison views, and visual explanations.\n\nFor diagrams, flowcharts, architecture maps, sequence-style explanations, and Markdown-to-diagram requests, prefer `show-widget` with SVG/HTML over Mermaid. Widgets stream more reliably in this UI. Use Mermaid only when the user explicitly asks for Mermaid source, raw Mermaid, raw Markdown, or a saved Mermaid/Markdown file.\n\nFormat:\n```show-widget\n{"title":"Human-readable title","widget_code":"<raw HTML/SVG string>"}\n```\n\nDetailed specs:\nWhen a `<widget-guidelines>` block is present, follow it. It contains the module-specific design rules for the current request.\n\nRequired rules:\n1. `widget_code` is a JSON string: escape quotes and newlines. Always close the JSON object and fence.\n2. Do not include DOCTYPE, html, head, body, iframe, object, embed, form, link, base, or meta tags.\n3. Keep outer backgrounds transparent. The host supplies theme variables.\n4. Use a single concise widget per fence. For multiple widgets, interleave prose and use a separate `show-widget` fence for each widget.\n5. Streaming order: SVG puts `<defs>` before visible shapes; HTML uses `<style>`, then visible markup, then `<script>` last.\n6. Prefer responsive SVG for static visuals and small HTML widgets for controls.\n7. SVG widgets use `<svg width="100%" viewBox="0 0 680 H">` and keep all content inside the viewBox.\n8. Interactive controls must visibly update the output. For Chart.js, call `chart.update()` after changes.\n9. Clickable drill-down actions call `window.__widgetSendMessage("short request")`.\n10. Cross-widget filters publish with `window.__widgetPublish("topic", { key: "value" })`; other widgets listen for `widget-filter`.\n11. Allowed CDN hosts: `cdnjs.cloudflare.com`, `cdn.jsdelivr.net`, `unpkg.com`, `esm.sh`.\n12. CDN scripts must use an `onload` initializer plus an `if (window.Lib) init();` fallback.\n13. Use `min-height` instead of fixed outer `height` to prevent clipping.\n14. Title should be human-readable in the user\'s language.\n15. Put explanatory prose outside the code fence.\n16. Do not output raw ```svg, ```html, or plain Mermaid for visual answers unless the user explicitly asks for source code, raw Markdown, raw Mermaid, or a saved file.\n17. Do not convert Markdown outlines into Mermaid by default. Render them as a `show-widget` diagram unless Mermaid/source text is explicitly requested.\n</widget-capability>',e=/\n?\s*<widget-capability>[\s\S]*?<\/widget-capability>\s*/g,f=/\n?\s*<visualization_harness>[\s\S]*?<\/visualization_harness>\s*/g,g=/\n?\s*<widget-guidelines\b[^>]*>[\s\S]*?<\/widget-guidelines>\s*/g;function h(a){return a.replace(e,"\n").replace(f,"\n").replace(g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function i(a){return a.includes("<widget-capability>")?a:a.trim()?`${a.trimEnd()}
2
2
 
3
- ${d}`:d}},11002:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{WK:()=>j,z2:()=>k});var e=c(46983),f=c(65369),g=a([e]);function h(a){return"agentMessage"===a.type&&"string"==typeof a.text?a.text:"reasoning"===a.type?[...a.summary??[],...a.content??[]].join("\n"):"plan"===a.type&&"string"==typeof a.text?a.text:""}function i(a){return"commandExecution"===a.type?"bash":"fileChange"===a.type?"edit":"mcpToolCall"===a.type?a.tool||a.server||"mcp":"dynamicToolCall"===a.type?a.tool||"tool":"collabAgentToolCall"===a.type?"agents":a.type}e=(g.then?(await g)():g)[0];class l{constructor(a,b,c,d){this.threadId=a,this.cwd=b,this.connection=c,this.baseInstructions=d,this.listeners=[],this.cleanupFns=[],this._alive=!0,this._isStreaming=!1,this._isCompacting=!1,this._accumulatedText="",this._activeTurnId=null,this._activeAgentItemId=null,this._activeItems=new Map,this._currentModel=null,this._wireModel=null,this._sandboxMode="workspace-write",this._pendingApprovals=new Map,this.setupNotifications()}get sessionId(){return this.threadId}get sessionFile(){return""}get isAlive(){return this._alive}get isStreaming(){return this._isStreaming}get isCompacting(){return this._isCompacting}get model(){return this._currentModel}get wireModel(){return this._wireModel}get sandboxMode(){return this._sandboxMode}onEvent(a){return this.listeners.push(a),()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}emit(a){for(let b of this.listeners)try{b(a)}catch{}}assistantMeta(){return{model:this._currentModel?.modelId??"",provider:this._currentModel?.provider??""}}restoreActiveTurnFromThread(a){let b=[...a?.turns??[]].reverse().find(a=>(0,e.pU)(a));if(!b)return;this._isStreaming=!0,this._activeTurnId=b.id;let c=[...b.items??[]].reverse().find(a=>"agentMessage"===a.type);c?.type==="agentMessage"&&(this._activeAgentItemId=c.id,this._accumulatedText=h(c))}setupNotifications(){let a=this.connection.onAnyNotification((a,b)=>this.handleCodexNotification(a,b));this.cleanupFns.push(a);let b=this.connection.onServerRequest(a=>this.handleServerRequest(a));this.cleanupFns.push(b)}handleCodexNotification(a,b){switch(a){case"turn/started":this.handleTurnStarted(b);break;case"item/agentMessage/delta":this.handleAgentMessageDelta(b);break;case"item/reasoning/textDelta":case"item/reasoning/summaryTextDelta":this.handleReasoningDelta(b);break;case"item/started":this.handleItemStarted(b);break;case"item/completed":this.handleItemCompleted(b);break;case"turn/completed":this.handleTurnCompleted(b);break;case"turn/failed":case"error":this.handleError(b);break;case"thread/status/changed":this.handleThreadStatusChanged(b);break;case"thread/compacted":this.handleCompacted(b)}}ensureStreamingStarted(a){a&&(this._activeTurnId=a),this._isStreaming||(this._isStreaming=!0,this.emit({type:"agent_start"}),this.emit({type:"message_start",message:{role:"assistant",content:[],...this.assistantMeta()}}))}activeItem(a,b){let c=this._activeItems.get(a);if(c)return c;let d={kind:b,textSoFar:"",receivedDelta:!1};return this._activeItems.set(a,d),d}emitTextUpdate(a){this.emit({type:"message_update",message:{role:"assistant",content:[{type:"text",text:a}],...this.assistantMeta()}})}emitThinkingUpdate(a){this.emit({type:"message_update",message:{role:"assistant",content:[{type:"thinking",thinking:a}],...this.assistantMeta()}})}sandboxPolicy(){return"danger-full-access"===this._sandboxMode?{type:"dangerFullAccess"}:{type:"workspaceWrite",writableRoots:this.cwd?[this.cwd]:[],readOnlyAccess:{type:"fullAccess"},networkAccess:!0,excludeTmpdirEnvVar:!1,excludeSlashTmp:!1}}approvalPolicy(){return"danger-full-access"===this._sandboxMode?"never":"on-request"}requestBelongsToSession(a){return("string"==typeof a?.threadId?a.threadId:"string"==typeof a?.conversationId?a.conversationId:null)===this.threadId}isLegacyApprovalMethod(a){return"execCommandApproval"===a||"applyPatchApproval"===a}handleServerRequest(a){if("item/commandExecution/requestApproval"!==a.method&&"item/fileChange/requestApproval"!==a.method&&"item/permissions/requestApproval"!==a.method&&"execCommandApproval"!==a.method&&"applyPatchApproval"!==a.method)return;let b=a.params;if(!this.requestBelongsToSession(b))return;let c="string"==typeof b?.itemId?b.itemId:"string"==typeof b?.callId?b.callId:null;if(!c)return;let d="string"==typeof b?.approvalId&&b.approvalId?b.approvalId:null,e=d?`${c}:${d}`:c,f=`${a.method}:${e}`;return new Promise(b=>{this._pendingApprovals.set(f,{request:{id:f,method:a.method,serverRequestId:a.id,params:a.params},resolve:b}),this.emit({type:"approval_request",requestId:f,method:a.method,params:a.params})})}eventBelongsToThread(a){return a.threadId===this.threadId}handleTurnStarted(a){this.eventBelongsToThread(a)&&this.ensureStreamingStarted(a.turnId)}handleAgentMessageDelta(a){if(!this.eventBelongsToThread(a))return;let b=a.delta??"";if(!b)return;this.ensureStreamingStarted(a.turnId),this._activeAgentItemId=a.itemId;let c=this.activeItem(a.itemId,"text");c.textSoFar+=b,c.receivedDelta=!0,this._accumulatedText=c.textSoFar,this.emitTextUpdate(c.textSoFar)}handleReasoningDelta(a){if(!this.eventBelongsToThread(a))return;let b=a.delta??"";if(!b)return;this.ensureStreamingStarted(a.turnId);let c=this.activeItem(a.itemId,"thinking");c.textSoFar+=b,c.receivedDelta=!0,this.emitThinkingUpdate(c.textSoFar)}handleItemStarted(a){if(!this.eventBelongsToThread(a))return;let b=a.item;if("commandExecution"===b.type||"fileChange"===b.type||"mcpToolCall"===b.type||"dynamicToolCall"===b.type||"collabAgentToolCall"===b.type){if(this._activeTurnId=a.turnId,"collabAgentToolCall"===b.type)return void this.emit({type:"subagent_progress",runs:(0,f.k8)(b,Date.now())});this.emit({type:"tool_execution_start",toolCallId:b.id,toolName:i(b)})}}handleItemCompleted(a){if(!this.eventBelongsToThread(a))return;let b=a.item;if(this._activeTurnId=a.turnId,"agentMessage"===b.type){this.ensureStreamingStarted(a.turnId);let c=this._activeItems.get(b.id),d=h(b),e=c?.textSoFar||d||this._accumulatedText;!c?.receivedDelta&&e&&this.emitTextUpdate(e),this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:e}],...this.assistantMeta()}}),this._activeItems.delete(b.id),this._accumulatedText="",this._activeAgentItemId=null}else if("reasoning"===b.type){let c=this._activeItems.get(b.id),d=c?.textSoFar||h(b);d&&!c?.receivedDelta&&(this.ensureStreamingStarted(a.turnId),this.emitThinkingUpdate(d)),this._activeItems.delete(b.id)}else if("collabAgentToolCall"===b.type)this.emit({type:"subagent_progress",runs:(0,f.k8)(b,Date.now())});else("commandExecution"===b.type||"fileChange"===b.type||"mcpToolCall"===b.type||"dynamicToolCall"===b.type)&&this.emit({type:"tool_execution_end",toolCallId:b.id,toolName:i(b),result:function(a){if("commandExecution"===a.type){let b=a.aggregatedOutput??"",c=null!==a.exitCode&&void 0!==a.exitCode?`Exit code: ${a.exitCode}`:"";return b?c?`${b}
4
- ${c}`:b:c}return"fileChange"===a.type?JSON.stringify(a.changes??[]):"mcpToolCall"===a.type?a.error?"string"==typeof a.error?a.error:JSON.stringify(a.error):a.result?"string"==typeof a.result?a.result:JSON.stringify(a.result):"":"dynamicToolCall"===a.type?JSON.stringify(a.contentItems??[]):"collabAgentToolCall"===a.type?JSON.stringify(a.agentsStates??[]):""}(b),isError:"status"in b&&"string"==typeof b.status?"failed"===b.status||"declined"===b.status:"dynamicToolCall"===b.type&&!1===b.success})}handleTurnCompleted(a){if(!this.eventBelongsToThread(a))return;this._isStreaming=!1,this._activeTurnId=null;let b=!1;for(let[a,c]of[...this._activeItems])"text"===c.kind&&c.textSoFar&&(this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:c.textSoFar}],...this.assistantMeta()}}),b=!0),this._activeItems.delete(a);b&&(this._accumulatedText=""),this._accumulatedText&&(this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:this._accumulatedText}],...this.assistantMeta()}}),this._accumulatedText=""),this.emit({type:"agent_end",...a.turn?.status==="failed"?{error:a.turn.error?.message??"Turn failed"}:{}})}handleThreadStatusChanged(a){this.eventBelongsToThread(a)&&a.status?.type==="idle"&&this._isStreaming&&(this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear(),this.emit({type:"agent_end"}))}handleCompacted(a){this.eventBelongsToThread(a)&&(this._isCompacting=!1,this.emit({type:"compaction_end"}))}handleError(a){if(!this.eventBelongsToThread(a))return;let b=a.error?.message||a.error?.additionalDetails||"Codex turn failed";this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear(),this.emit({type:"agent_end",error:b})}async prompt(a,b){if(this._isStreaming)throw Error("Session already has a running turn");this._isStreaming=!0,this._accumulatedText="",this._activeItems.clear(),this.emit({type:"agent_start"}),this.emit({type:"message_start",message:{role:"assistant",content:[],...this.assistantMeta()}});try{let c=await this.connection.request("turn/start",{threadId:this.threadId,input:function(a,b){let c=[];for(let d of(a.trim()&&c.push({type:"text",text:a,text_elements:[]}),b??[])){let a=d.mimeType||"image/png";c.push({type:"image",url:`data:${a};base64,${d.data}`})}return c.length>0?c:[{type:"text",text:"",text_elements:[]}]}(a,b),...this.cwd?{cwd:this.cwd}:{},...(this._wireModel??this._currentModel)?.modelId?{model:(this._wireModel??this._currentModel).modelId}:{},approvalPolicy:this.approvalPolicy(),approvalsReviewer:"user",sandboxPolicy:this.sandboxPolicy()});this._activeTurnId=c.turn?.id??null}catch(a){this._isStreaming=!1,this._activeItems.clear(),this.emit({type:"agent_end",error:a instanceof Error?a.message:String(a)})}}async abort(){if(this._activeTurnId)try{await this.connection.request("turn/interrupt",{threadId:this.threadId,turnId:this._activeTurnId})}catch{}this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear()}async setModel(a,b,c){this._currentModel={provider:a,modelId:b},this._wireModel=c??null}async setSandboxMode(a){this._sandboxMode=a}async resume(a,b){let c=await this.connection.request("thread/resume",{threadId:this.threadId,...this.cwd?{cwd:this.cwd}:{},...a?.modelId?{model:a.modelId}:{},...a?.provider?{modelProvider:a.provider}:{},...b?{baseInstructions:b}:{},approvalPolicy:this.approvalPolicy(),sandbox:this._sandboxMode});if(a&&this._currentModel)this._wireModel=a;else if(c.model){let a=(0,e.g8)(c.modelProvider??c.thread?.modelProvider)??"codex";await this.setModel(a,c.model,c.modelProvider?{provider:c.modelProvider,modelId:c.model}:void 0)}this.restoreActiveTurnFromThread(c.thread)}async fork(){try{let a=await this.connection.request("thread/fork",{threadId:this.threadId,persistExtendedHistory:!0}),b=a.thread?.id;if(!b)return{cancelled:!0};return{newThreadId:b}}catch{return{cancelled:!0}}}async navigateTree(a){try{let b=await this.connection.request("thread/read",{threadId:this.threadId,includeTurns:!0}),c=b.thread?.turns??[],d=c.findIndex(b=>b.items.some(b=>b.id===a));if(d<0||d>=c.length-1)return{cancelled:!1};let e=c.length-d-1;return await this.connection.request("thread/rollback",{threadId:this.threadId,numTurns:e}),{cancelled:!1}}catch{return{cancelled:!0}}}async compact(){this._isCompacting=!0,this.emit({type:"compaction_start"});try{await this.connection.request("thread/compact/start",{threadId:this.threadId})}catch(a){this._isCompacting=!1,this.emit({type:"compaction_end",errorMessage:a instanceof Error?a.message:String(a)})}}async rename(a){try{await this.connection.request("thread/name/set",{threadId:this.threadId,name:a})}catch{}}async resolveApproval(a,b){let c=this._pendingApprovals.get(a);if(!c)throw Error(`Approval request not found: ${a}`);this._pendingApprovals.delete(a),"item/permissions/requestApproval"===c.request.method?c.resolve({permissions:b.permissions??{},scope:b.scope??"turn"}):this.isLegacyApprovalMethod(c.request.method)?c.resolve({decision:"accept"===b.decision||"acceptForSession"===b.decision||"approved"===b.decision?"approved":"denied"}):c.resolve({decision:b.decision??"decline"}),this.emit({type:"approval_resolved",requestId:a})}destroy(){if(this._alive){for(let a of(this._alive=!1,this._isStreaming=!1,this.cleanupFns))try{a()}catch{}for(let[,a]of(this.cleanupFns=[],this.listeners=[],this._pendingApprovals))"item/permissions/requestApproval"===a.request.method?a.resolve({permissions:{},scope:"turn"}):this.isLegacyApprovalMethod(a.request.method)?a.resolve({decision:"denied"}):a.resolve({decision:"cancel"});this._pendingApprovals.clear()}}}async function j(a,b){let c=await a.request("thread/start",{cwd:b.cwd,...b.baseInstructions?{baseInstructions:b.baseInstructions}:{},...b.model?{model:(b.wireModel??b.model).modelId,modelProvider:(b.wireModel??b.model).provider}:{},approvalPolicy:"danger-full-access"===b.sandboxMode?"never":"on-request",sandbox:b.sandboxMode??"workspace-write",experimentalRawEvents:!1,persistExtendedHistory:!0}),d=c.thread?.id;if(!d)throw Error("Failed to create codex thread: no thread.id returned");let f=new l(d,b.cwd,a,b.baseInstructions);return await f.setSandboxMode(b.sandboxMode??"workspace-write"),b.model?f.setModel(b.model.provider,b.model.modelId,b.wireModel):b.acceptReturnedModel&&c.model&&f.setModel((0,e.g8)(c.modelProvider)??"codex",c.model,c.modelProvider?{provider:c.modelProvider,modelId:c.model}:void 0),f}async function k(a,b,c,d={}){let f=await a.request("thread/resume",{threadId:b,cwd:c,...d.baseInstructions?{baseInstructions:d.baseInstructions}:{},...d.model?{model:(d.wireModel??d.model).modelId,modelProvider:(d.wireModel??d.model).provider}:{},approvalPolicy:"danger-full-access"===d.sandboxMode?"never":"on-request",sandbox:d.sandboxMode??"workspace-write"}),g=new l(b,c,a);return await g.setSandboxMode(d.sandboxMode??"workspace-write"),d.model?g.setModel(d.model.provider,d.model.modelId,d.wireModel):f.model&&g.setModel((0,e.g8)(f.modelProvider??f.thread?.modelProvider)??"codex",f.model,f.modelProvider?{provider:f.modelProvider,modelId:f.model}:void 0),g.restoreActiveTurnFromThread(f.thread),g}d()}catch(a){d(a)}})},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>x,Bj:()=>y,OF:()=>z});var e=c(11002),f=c(46983),g=c(55132),h=c(9805),i=c(29021),j=c(33873),k=c(21820),l=c(40402),m=c(26257),n=c(72801),o=c(54167),p=c(4087),q=c(75120),r=a([e,f,l]);function s(a){return a instanceof Error?a.message:String(a)}function t(a,b,c){return(0,o.w5)(a.providers,b,c)}[e,f,l]=r.then?(await r)():r;class A{constructor(a,b={}){this.inner=a,this.listeners=[],this.cleanupEventSub=null,this.idleTimer=null,this.onDestroyCallback=null,this.busyOperations=new Set,this.busyStartedAtMs=null,this.activeTools=new Map,this.runStartedAtMs=null,this.firstModelEventAtMs=null,this.lastEventAtMs=null,this.lastEventType=null,this.errorMessage=null,this._alive=!0,this._thinkingLevel="auto",this._enabledExtensions=[],this._serverConnection=a.connection,this._needsResumeBeforePrompt=b.needsResumeBeforePrompt??!0,this._sandboxMode=a.sandboxMode}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile}get cwd(){return this.inner.cwd}isAlive(){return this._alive&&this.inner.isAlive}isBusy(){return this.busyOperations.size>0||this.inner.isStreaming||this.inner.isCompacting}getRuntimeStatus(){let a=Date.now(),b=this.getRuntimePhase(),c=this.runStartedAtMs??(this.isBusy()?this.busyStartedAtMs:null);return{sessionId:this.sessionId,sessionFile:this.sessionFile,cwd:this.cwd||null,busy:this.isBusy(),enabledExtensions:[...this._enabledExtensions],operations:[...this.busyOperations],isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,phase:b,model:this.inner.model?{provider:this.inner.model.provider,id:this.inner.model.modelId}:null,sandboxMode:this._sandboxMode,activeTools:[...this.activeTools.values()],runStartedAt:c?new Date(c).toISOString():null,firstModelEventAt:this.firstModelEventAtMs?new Date(this.firstModelEventAtMs).toISOString():null,lastEventAt:this.lastEventAtMs?new Date(this.lastEventAtMs).toISOString():null,lastEventType:this.lastEventType,uptimeMs:this.isBusy()&&c?a-c:null,waitingForModelMs:"waiting_model"===b&&c?a-c:null,pendingMessageCount:0,errorMessage:this.errorMessage}}start(){this.cleanupEventSub?.(),this.cleanupEventSub=this.inner.onEvent(a=>{this.resetIdleTimer(),this.emitToListeners(a)}),this.resetIdleTimer()}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isBusy()?this.resetIdleTimer():this.destroy()},6e5)}onEvent(a){return this.listeners.push(a),()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}setEnabledExtensions(a){this._enabledExtensions=[...new Set(a.filter(Boolean))].sort()}get enabledExtensions(){return[...this._enabledExtensions]}async send(a){this.resetIdleTimer();let b=a.type;switch(b){case"prompt":{let b=a.images,c=a.message;return this.trackBusy("prompt",(async()=>{if(this.inner.isStreaming||(await this.resumeWithCurrentModel(),this.inner.isStreaming))throw Error("Session already has a running turn");await this.inner.prompt(c,b?.map(a=>({data:a.data,mimeType:a.mimeType})))})()).catch(a=>this.emitAgentError(a)),null}case"abort":return await this.inner.abort(),this.emitToListeners({type:"agent_end"}),null;case"get_state":{let a=(0,n.l)((0,l.bd)(this.inner.sessionId),this.inner.model?.modelId);return{sessionId:this.inner.sessionId,sessionFile:"",isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,autoCompactionEnabled:!0,autoRetryEnabled:!0,model:this.inner.model?{id:this.inner.model.modelId,provider:this.inner.model.provider,...a.contextUsage?.contextWindow?{contextWindow:a.contextUsage.contextWindow}:{}}:void 0,messageCount:0,pendingMessageCount:0,contextUsage:a.contextUsage,systemPrompt:this.inner.baseInstructions??"",thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,enabledExtensions:[...this._enabledExtensions]}}case"set_model":{let{provider:b,modelId:c}=a,d=(0,g.Dw)(),e=(0,g.wB)(d,b),h=(0,g.AX)(d,c,e??b),i=h?.provider.id??e??b,j=h?.modelId??c,k=(0,f.kW)(d.providers,i,j);return await this.inner.setModel(i,j,k),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider??i,modelId:this.inner.model?.modelId??j,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),{id:j,provider:i}}case"set_sandbox_mode":{let b="danger-full-access"===a.mode?"danger-full-access":"workspace-write";return this._sandboxMode=b,await this.inner.setSandboxMode(b),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),{mode:this._sandboxMode}}case"set_enabled_extensions":{let b=Array.isArray(a.ids)?a.ids.filter(a=>"string"==typeof a):[];return this.setEnabledExtensions(b),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),{enabledExtensions:[...this._enabledExtensions]}}case"resolve_approval":{let b="string"==typeof a.requestId?a.requestId:"";if(!b)throw Error("requestId is required");return await this.inner.resolveApproval(b,{decision:"string"==typeof a.decision?a.decision:void 0,permissions:a.permissions,scope:"session"===a.scope?"session":"turn"}),{ok:!0}}case"rename":{let b="string"==typeof a.name?a.name:"";return await this.inner.rename(b),null}case"fork":{let a=await this.inner.fork();if("newThreadId"in a)return(0,m.yJ)(a.newThreadId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),this.destroy(),{cancelled:!1,newSessionId:a.newThreadId};return{cancelled:!0}}case"navigate_tree":{let b=a.targetId;return{cancelled:(await this.inner.navigateTree(b)).cancelled}}case"compact":return await this.trackBusy("compact",this.inner.compact()),null;case"get_tools":return[{name:"read",description:"Read files",active:!0},{name:"bash",description:"Run shell commands",active:!0},{name:"edit",description:"Edit files",active:!0},{name:"write",description:"Create files",active:!0},{name:"grep",description:"Search files",active:!0},{name:"find",description:"List files",active:!0}];case"set_tools":case"abort_compaction":case"set_auto_compaction":case"set_auto_retry":return null;case"set_thinking_level":return this._thinkingLevel="string"==typeof a.level?a.level:"auto",(0,m.yJ)(this.sessionId,{cwd:this.cwd,thinkingLevel:this._thinkingLevel,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),null;default:throw Error(`Unsupported command: ${b}`)}}async trackBusy(a,b){let c=!this.isBusy()&&0===this.busyOperations.size;this.busyOperations.add(a),(c||!this.busyStartedAtMs)&&(this.busyStartedAtMs=Date.now()),"prompt"===a&&(this.runStartedAtMs=this.busyStartedAtMs,this.firstModelEventAtMs=null,this.errorMessage=null,this.activeTools.clear(),this.lastEventAtMs=this.busyStartedAtMs,this.lastEventType="prompt"),this.resetIdleTimer();try{return await b}finally{this.busyOperations.delete(a),this.isBusy()||0!==this.busyOperations.size||(this.busyStartedAtMs=null),this.resetIdleTimer()}}emitToListeners(a){for(let b of(this.recordRuntimeEvent(a),"agent_end"===a.type&&(this.busyOperations.delete("prompt"),this.busyStartedAtMs=this.isBusy()||this.busyOperations.size>0?this.busyStartedAtMs:null),this.listeners))try{b(a)}catch{}}emitAgentError(a){let b={type:"agent_end",error:s(a)};this.emitToListeners(b)}getRuntimePhase(){return this.inner.isCompacting||this.busyOperations.has("compact")?"compacting":this.activeTools.size>0?"running_tools":this.inner.isStreaming||this.busyOperations.has("prompt")?this.firstModelEventAtMs?"streaming":"waiting_model":"idle"}recordRuntimeEvent(a){let b=Date.now();switch(this.lastEventAtMs=b,this.lastEventType=a.type,a.type){case"agent_start":this.runStartedAtMs??=b,this.firstModelEventAtMs=null,this.errorMessage=null,this.activeTools.clear();break;case"message_update":case"message_end":this.firstModelEventAtMs??=b;break;case"tool_execution_start":{this.firstModelEventAtMs??=b;let c="string"==typeof a.toolCallId&&a.toolCallId?a.toolCallId:`tool:${b}`,d="string"==typeof a.toolName&&a.toolName?a.toolName:"tool";this.activeTools.set(c,{id:c,name:d});break}case"tool_execution_end":{let b="string"==typeof a.toolCallId?a.toolCallId:"";b&&this.activeTools.delete(b),a.isError&&"string"==typeof a.result&&a.result&&(this.errorMessage=a.result);break}case"subagent_progress":this.firstModelEventAtMs??=b,this.recordSubagentTools(a.runs);break;case"compaction_start":case"auto_compaction_start":this.runStartedAtMs??=b;break;case"compaction_end":case"auto_compaction_end":"string"==typeof a.errorMessage&&a.errorMessage&&(this.errorMessage=a.errorMessage);break;case"agent_end":this.activeTools.clear(),"string"==typeof a.error&&a.error&&(this.errorMessage=a.error)}}recordSubagentTools(a){if(Array.isArray(a))for(let b of a){if("object"!=typeof b||null===b)continue;let a=b.id??b.threadId??b.agent,c="string"==typeof a&&a?`subagent:${a}`:`subagent:${Date.now()}`,d=b.agent??b.role??b.threadId,e="string"==typeof d&&d?d:"agent",f="string"==typeof b.status?b.status:"";"running"===f||"pending"===f?this.activeTools.set(c,{id:c,name:e}):this.activeTools.delete(c)}}resolveCurrentModel(){let a=(0,g.Dw)(),b=(0,m.zZ)(this.sessionId),c=t(a,b?.provider,b?.modelId),d=(0,f.g8)(c.provider)??c.provider,e=d?(0,g.wB)(a,d):this.inner.model?.provider,h=c.modelId??this.inner.model?.modelId;if(!h)return null;let i=(0,g.AX)(a,h,e),j=i?.provider.id??e,k=i?.modelId??h;return j&&k?{provider:j,modelId:k,wireModel:(0,f.kW)(a.providers,j,k)}:null}async resumeWithCurrentModel(){let a=this.resolveCurrentModel();if(!this._needsResumeBeforePrompt){a&&await this.inner.setModel(a.provider,a.modelId,a.wireModel),this._needsResumeBeforePrompt=!0;return}a?(await this.inner.setModel(a.provider,a.modelId,a.wireModel),await this.inner.resume(a.wireModel,this.inner.baseInstructions),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:a.provider,modelId:a.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions})):await this.inner.resume(void 0,this.inner.baseInstructions)}destroy(){this._alive&&(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.cleanupEventSub?.(),this.inner.destroy(),(0,f.sM)(this._serverConnection),this.onDestroyCallback?.())}}function u(){if(!globalThis.__annodexSessions){globalThis.__annodexSessions=new Map;let a=()=>globalThis.__annodexSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__annodexSessions}function v(){return globalThis.__annodexSessionAliases||(globalThis.__annodexSessionAliases=new Map),globalThis.__annodexSessionAliases}function w(a){let b=a,c=new Set;for(;!c.has(b);){c.add(b);let a=v().get(b);if(!a)break;b=a}return b}function x(a){return u().get(w(a))}function y(){let a=[...u().values()].filter(a=>a.isAlive()).map(a=>a.getRuntimeStatus()),b=a.filter(a=>a.busy);return{busy:b.length>0,activeSessions:a.length,busySessions:b,sessions:a}}async function z(a,b,c,d,n,o,r){let x=u(),y=(globalThis.__annodexStartLocks||(globalThis.__annodexStartLocks=new Map),globalThis.__annodexStartLocks),z=w(a),B=x.get(z);if(B?.isAlive())return{session:B,realSessionId:z};let C=y.get(z);if(C)return C;let D=(async()=>{let d,u=(0,g.Dw)(),w=function(a,b){let c=(0,l.$M)(),d=["## Annodex Runtime Rules — higher priority than persona guidance\n\nThese rules override conflicting language in persona-style files such as SOUL.md.\n\n- When the user explicitly asks for an external action in the current conversation, treat that request as authorization to execute it with available tools.\n- Do not refuse solely because the action touches GitHub, Vercel, remote APIs, publishing systems, or other external services.\n- Distinguish authorization from capability. If a tool such as `gh`, `git`, `curl`, or `vercel` may solve the task, try it before claiming it is unavailable. Report the concrete failure only if the command or permission is actually missing.\n- Ask before acting only when the user has not clearly requested the action, the action is unexpectedly destructive beyond the stated request, or it would reveal or transfer secrets beyond the user's instruction."],e=(()=>{let a=(0,j.join)(c,"SOUL.md"),b=(0,j.join)((0,k.homedir)(),".pi","agent","SOUL.md");if(!(0,i.existsSync)(a)&&(0,i.existsSync)(b))try{let c=(0,i.readFileSync)(b,"utf-8");(0,i.existsSync)((0,j.dirname)(a))||(0,i.mkdirSync)((0,j.dirname)(a),{recursive:!0}),(0,i.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,j.join)(c,"soul.md");return(0,i.existsSync)(a)?a:d})();if((0,i.existsSync)(e))try{let a=(0,i.readFileSync)(e,"utf-8").trim();a&&d.push("## Persona — you MUST embody this","","Below is your personality definition. You MUST adopt this persona and tone in all replies. Avoid stiff, generic, or AI-assistant-style responses. Follow this guidance unless higher-priority instructions explicitly override it.","",a)}catch{}let f=(()=>{let a=(0,j.join)(c,"HARNESS.md"),b=(0,j.join)((0,k.homedir)(),".pi","agent","HARNESS.md");if(!(0,i.existsSync)(a)&&(0,i.existsSync)(b))try{let c=(0,i.readFileSync)(b,"utf-8");(0,i.existsSync)((0,j.dirname)(a))||(0,i.mkdirSync)((0,j.dirname)(a),{recursive:!0}),(0,i.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,j.join)(c,"harness.md");return(0,i.existsSync)(a)?a:d})();if((0,i.existsSync)(f))try{let a=(0,i.readFileSync)(f,"utf-8").trim();a&&d.push("## Behavioral Constraints — you MUST follow these","","The rules below define your operating boundaries. You MUST comply with every constraint. These are NOT suggestions — they are mandatory behavioral rules that supersede conflicting persona preferences.","",a)}catch{}for(let b of[(0,j.join)(a,"AGENTS.md"),(0,j.join)(a,"CLAUDE.md")])if((0,i.existsSync)(b))try{let a=(0,i.readFileSync)(b,"utf-8").trim();if(a){d.push("## Project Instructions","",a);break}}catch{}let g=(0,i.existsSync)((0,j.join)(a,"MEMORY.md"))?(0,j.join)(a,"MEMORY.md"):(0,j.join)(a,"memory.md");if((0,i.existsSync)(g))try{let a=(0,i.readFileSync)(g,"utf-8").trim();a&&d.push("## Project Memory","",a)}catch{}let m=d.join("\n\n");return m=b.generativeUI?(0,h.zN)((0,h.FE)(m)):(0,h.FE)(m)}(c,u),y=(0,q.IE)(c).map(a=>a.id),z=b?(0,l.Qx)(a):null,B=b?(0,m.zZ)(a):null,C=t(u,z?.provider,z?.modelId),D=C.provider?(0,g.wB)(u,C.provider):void 0,E=n??(C.modelId?{provider:D,modelId:C.modelId}:void 0),F=E?.provider??D,G=o??z?.thinkingLevel,H=r??B?.sandboxMode??(0,p.readAppSettings)().defaultSandboxMode??"workspace-write",I=E?null:(0,g.fZ)(u),J=E??I??void 0,K=J?.provider??F,L=J?(0,g.AX)(u,J.modelId,K):null,M=L?.modelId??J?.modelId,N=L?.provider.id??K,O=M&&N?(0,f.kW)(u.providers,N,M):void 0,P=await (0,f.gu)(c,(0,f.H3)(u.providers));if(b)try{d=await (0,e.z2)(P,a,c,{baseInstructions:w,sandboxMode:H,...M&&N?{model:{provider:N,modelId:M},wireModel:O}:{}})}catch(f){if(!/thread not found|not found/i.test(s(f)))throw f;if(b&&(0,l.PF)(a))throw Error(`Codex thread not found for existing session ${a}. Check the session provider/model configuration.`);d=await (0,e.WK)(P,{cwd:c,baseInstructions:w,acceptReturnedModel:!!u.codexDefaults.model,sandboxMode:H,...M&&N?{model:{provider:N,modelId:M},wireModel:O}:{}})}else d=await (0,e.WK)(P,{cwd:c,baseInstructions:w,acceptReturnedModel:!!u.codexDefaults.model,sandboxMode:H,...M&&N?{model:{provider:N,modelId:M},wireModel:O}:{}});let Q=d.model?.provider??N,R=d.model?.modelId??M;Q&&R&&await d.setModel(Q,R,(0,f.kW)(u.providers,Q,R));let S=new A(d,{needsResumeBeforePrompt:!!b});S.setEnabledExtensions(y);let T=d.sessionId;return a&&a!==T&&v().set(a,T),(0,m.yJ)(T,{cwd:c,provider:d.model?.provider??Q,modelId:d.model?.modelId??R,thinkingLevel:G,sandboxMode:H,extensions:y}),G&&await S.send({type:"set_thinking_level",level:G}),S.start(),S.onDestroy(()=>{x.delete(T);let a=v();for(let[b,c]of(a.delete(T),a))c===T&&a.delete(b)}),x.set(T,S),{session:S,realSessionId:T}})().finally(()=>y.delete(z));return y.set(z,D),D}d()}catch(a){d(a)}})},75120:(a,b,c)=>{c.d(b,{IE:()=>p,In:()=>m,N8:()=>h,NR:()=>n,YJ:()=>k,d2:()=>g,nD:()=>o,wf:()=>l});var d=c(29021),e=c(33873),f=c(21820);function g(){return(0,e.join)(process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex"),"extensions.json")}function h(a){return(0,e.join)(a,".codex","extensions.json")}function i(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function j(a){let b=function(a){if(!(0,d.existsSync)(a))return null;try{return JSON.parse((0,d.readFileSync)(a,"utf-8"))}catch{return null}}(a),c=i(b)&&Array.isArray(b.extensions)?b.extensions:[],e=a.replace(/\\/g,"/").endsWith("/.codex/extensions.json")?"project":"global";return{extensions:c.map(a=>(function(a,b){var c;if(!i(a))return null;let d="string"==typeof a.id?a.id.trim():"",e="string"==typeof a.name?a.name.trim():"";return d&&e?{id:d,name:e,description:"string"==typeof a.description?a.description:void 0,source:"string"==typeof a.source?a.source:void 0,enabled:"boolean"==typeof a.enabled?a.enabled:void 0,scope:"project"===a.scope?"project":b,installPath:"string"==typeof a.installPath?a.installPath:void 0,transport:i(c=a.transport)?{type:"http"===c.type?"http":"stdio",command:"string"==typeof c.command?c.command:void 0,args:Array.isArray(c.args)?c.args.filter(a=>"string"==typeof a):void 0,url:"string"==typeof c.url?c.url:void 0}:{type:"stdio"},env:i(a.env)?Object.fromEntries(Object.entries(a.env).filter(([,a])=>"string"==typeof a)):void 0,notes:"string"==typeof a.notes?a.notes:void 0}:null})(a,e)).filter(a=>null!==a)}}function k(){return j(g())}function l(a){return j(h(a))}function m(a,b){let c;return c=(0,e.dirname)(a),(0,d.existsSync)(c)||(0,d.mkdirSync)(c,{recursive:!0}),(0,d.writeFileSync)(a,JSON.stringify({extensions:b.extensions},null,2),"utf-8"),b}function n(a,b){let c=j(a).extensions.filter(a=>a.id!==b.id).concat(b);return m(a,{extensions:c})}function o(a){let b=k().extensions.map(a=>({...a,scope:a.scope??"global"}));if(!a)return b;let c=l(a).extensions.map(a=>({...a,scope:"project"})),d=new Map;for(let a of b)d.set(a.id,a);for(let a of c)d.set(a.id,{...d.get(a.id),...a,scope:"project"});return[...d.values()].sort((a,b)=>a.name.localeCompare(b.name))}function p(a){return o(a).filter(a=>!1!==a.enabled)}}};
3
+ ${d}`:d}},11002:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{WK:()=>k,z2:()=>l});var e=c(46983),f=c(65369),g=c(46696),h=a([e]);function i(a){return"agentMessage"===a.type&&"string"==typeof a.text?a.text:"reasoning"===a.type?[...a.summary??[],...a.content??[]].join("\n"):"plan"===a.type&&"string"==typeof a.text?a.text:""}function j(a){return"commandExecution"===a.type?"bash":"fileChange"===a.type?"edit":"mcpToolCall"===a.type?a.tool||a.server||"mcp":"dynamicToolCall"===a.type?a.tool||"tool":"collabAgentToolCall"===a.type?"agents":a.type}e=(h.then?(await h)():h)[0];class m{constructor(a,b,c,d){this.threadId=a,this.cwd=b,this.connection=c,this.baseInstructions=d,this.listeners=[],this.cleanupFns=[],this._alive=!0,this._isStreaming=!1,this._isCompacting=!1,this._threadGoal=null,this._accumulatedText="",this._activeTurnId=null,this._activeAgentItemId=null,this._activeItems=new Map,this._currentModel=null,this._wireModel=null,this._sandboxMode="workspace-write",this._pendingApprovals=new Map,this.setupNotifications()}get sessionId(){return this.threadId}get sessionFile(){return""}get isAlive(){return this._alive}get isStreaming(){return this._isStreaming}get isCompacting(){return this._isCompacting}get threadGoal(){return this._threadGoal}get model(){return this._currentModel}get wireModel(){return this._wireModel}get sandboxMode(){return this._sandboxMode}onEvent(a){return this.listeners.push(a),()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}emit(a){for(let b of this.listeners)try{b(a)}catch{}}assistantMeta(){return{model:this._currentModel?.modelId??"",provider:this._currentModel?.provider??""}}restoreActiveTurnFromThread(a){let b=[...a?.turns??[]].reverse().find(a=>(0,e.pU)(a));if(!b)return;this._isStreaming=!0,this._activeTurnId=b.id;let c=[...b.items??[]].reverse().find(a=>"agentMessage"===a.type);c?.type==="agentMessage"&&(this._activeAgentItemId=c.id,this._accumulatedText=i(c))}setupNotifications(){let a=this.connection.onAnyNotification((a,b)=>this.handleCodexNotification(a,b));this.cleanupFns.push(a);let b=this.connection.onServerRequest(a=>this.handleServerRequest(a));this.cleanupFns.push(b)}handleCodexNotification(a,b){switch(a){case"turn/started":this.handleTurnStarted(b);break;case"item/agentMessage/delta":this.handleAgentMessageDelta(b);break;case"item/reasoning/textDelta":case"item/reasoning/summaryTextDelta":this.handleReasoningDelta(b);break;case"item/started":this.handleItemStarted(b);break;case"item/completed":this.handleItemCompleted(b);break;case"turn/completed":this.handleTurnCompleted(b);break;case"turn/failed":case"error":this.handleError(b);break;case"thread/status/changed":this.handleThreadStatusChanged(b);break;case"thread/compacted":this.handleCompacted(b);break;case"thread/goal/updated":this.handleGoalUpdated(b);break;case"thread/goal/cleared":this.handleGoalCleared(b)}}ensureStreamingStarted(a){a&&(this._activeTurnId=a),this._isStreaming||(this._isStreaming=!0,this.emit({type:"agent_start"}),this.emit({type:"message_start",message:{role:"assistant",content:[],...this.assistantMeta()}}))}activeItem(a,b){let c=this._activeItems.get(a);if(c)return c;let d={kind:b,textSoFar:"",receivedDelta:!1};return this._activeItems.set(a,d),d}emitTextUpdate(a){this.emit({type:"message_update",message:{role:"assistant",content:[{type:"text",text:a}],...this.assistantMeta()}})}emitThinkingUpdate(a){this.emit({type:"message_update",message:{role:"assistant",content:[{type:"thinking",thinking:a}],...this.assistantMeta()}})}sandboxPolicy(){return"danger-full-access"===this._sandboxMode?{type:"dangerFullAccess"}:{type:"workspaceWrite",writableRoots:this.cwd?[this.cwd]:[],readOnlyAccess:{type:"fullAccess"},networkAccess:!0,excludeTmpdirEnvVar:!1,excludeSlashTmp:!1}}approvalPolicy(){return"danger-full-access"===this._sandboxMode?"never":"on-request"}requestBelongsToSession(a){return("string"==typeof a?.threadId?a.threadId:"string"==typeof a?.conversationId?a.conversationId:null)===this.threadId}isLegacyApprovalMethod(a){return"execCommandApproval"===a||"applyPatchApproval"===a}handleServerRequest(a){if("item/commandExecution/requestApproval"!==a.method&&"item/fileChange/requestApproval"!==a.method&&"item/permissions/requestApproval"!==a.method&&"execCommandApproval"!==a.method&&"applyPatchApproval"!==a.method)return;let b=a.params;if(!this.requestBelongsToSession(b))return;let c="string"==typeof b?.itemId?b.itemId:"string"==typeof b?.callId?b.callId:null;if(!c)return;let d="string"==typeof b?.approvalId&&b.approvalId?b.approvalId:null,e=d?`${c}:${d}`:c,f=`${a.method}:${e}`;return new Promise(b=>{this._pendingApprovals.set(f,{request:{id:f,method:a.method,serverRequestId:a.id,params:a.params},resolve:b}),this.emit({type:"approval_request",requestId:f,method:a.method,params:a.params})})}eventBelongsToThread(a){return a.threadId===this.threadId}handleTurnStarted(a){this.eventBelongsToThread(a)&&this.ensureStreamingStarted(a.turnId)}handleAgentMessageDelta(a){if(!this.eventBelongsToThread(a))return;let b=a.delta??"";if(!b)return;this.ensureStreamingStarted(a.turnId),this._activeAgentItemId=a.itemId;let c=this.activeItem(a.itemId,"text");c.textSoFar+=b,c.receivedDelta=!0,this._accumulatedText=c.textSoFar,this.emitTextUpdate(c.textSoFar)}handleReasoningDelta(a){if(!this.eventBelongsToThread(a))return;let b=a.delta??"";if(!b)return;this.ensureStreamingStarted(a.turnId);let c=this.activeItem(a.itemId,"thinking");c.textSoFar+=b,c.receivedDelta=!0,this.emitThinkingUpdate(c.textSoFar)}handleItemStarted(a){if(!this.eventBelongsToThread(a))return;let b=a.item;if("commandExecution"===b.type||"fileChange"===b.type||"mcpToolCall"===b.type||"dynamicToolCall"===b.type||"collabAgentToolCall"===b.type){if(this._activeTurnId=a.turnId,"collabAgentToolCall"===b.type)return void this.emit({type:"subagent_progress",runs:(0,f.k8)(b,Date.now())});this.emit({type:"tool_execution_start",toolCallId:b.id,toolName:j(b)})}}handleItemCompleted(a){if(!this.eventBelongsToThread(a))return;let b=a.item;if(this._activeTurnId=a.turnId,"agentMessage"===b.type){this.ensureStreamingStarted(a.turnId);let c=this._activeItems.get(b.id),d=i(b),e=c?.textSoFar||d||this._accumulatedText;!c?.receivedDelta&&e&&this.emitTextUpdate(e),this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:e}],...this.assistantMeta()}}),this._activeItems.delete(b.id),this._accumulatedText="",this._activeAgentItemId=null}else if("reasoning"===b.type){let c=this._activeItems.get(b.id),d=c?.textSoFar||i(b);d&&!c?.receivedDelta&&(this.ensureStreamingStarted(a.turnId),this.emitThinkingUpdate(d)),this._activeItems.delete(b.id)}else if("collabAgentToolCall"===b.type)this.emit({type:"subagent_progress",runs:(0,f.k8)(b,Date.now())});else("commandExecution"===b.type||"fileChange"===b.type||"mcpToolCall"===b.type||"dynamicToolCall"===b.type)&&this.emit({type:"tool_execution_end",toolCallId:b.id,toolName:j(b),result:function(a){if("commandExecution"===a.type){let b=a.aggregatedOutput??"",c=null!==a.exitCode&&void 0!==a.exitCode?`Exit code: ${a.exitCode}`:"";return b?c?`${b}
4
+ ${c}`:b:c}return"fileChange"===a.type?JSON.stringify(a.changes??[]):"mcpToolCall"===a.type?a.error?"string"==typeof a.error?a.error:JSON.stringify(a.error):a.result?"string"==typeof a.result?a.result:JSON.stringify(a.result):"":"dynamicToolCall"===a.type?JSON.stringify(a.contentItems??[]):"collabAgentToolCall"===a.type?JSON.stringify(a.agentsStates??[]):""}(b),isError:"status"in b&&"string"==typeof b.status?"failed"===b.status||"declined"===b.status:"dynamicToolCall"===b.type&&!1===b.success})}handleTurnCompleted(a){if(!this.eventBelongsToThread(a))return;this._isStreaming=!1,this._activeTurnId=null;let b=!1;for(let[a,c]of[...this._activeItems])"text"===c.kind&&c.textSoFar&&(this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:c.textSoFar}],...this.assistantMeta()}}),b=!0),this._activeItems.delete(a);b&&(this._accumulatedText=""),this._accumulatedText&&(this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:this._accumulatedText}],...this.assistantMeta()}}),this._accumulatedText=""),this.emit({type:"agent_end",...a.turn?.status==="failed"?{error:a.turn.error?.message??"Turn failed"}:{}})}handleThreadStatusChanged(a){this.eventBelongsToThread(a)&&a.status?.type==="idle"&&this._isStreaming&&(this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear(),this.emit({type:"agent_end"}))}handleCompacted(a){this.eventBelongsToThread(a)&&(this._isCompacting=!1,this.emit({type:"compaction_end"}))}handleGoalUpdated(a){if(!this.eventBelongsToThread(a))return;let b=(0,g.Bt)(a.goal);b&&(this._threadGoal=b,this.emit({type:"goal_updated",goal:b}))}handleGoalCleared(a){this.eventBelongsToThread(a)&&(this._threadGoal=null,this.emit({type:"goal_cleared"}))}handleError(a){if(!this.eventBelongsToThread(a))return;let b=a.error?.message||a.error?.additionalDetails||"Codex turn failed";this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear(),this.emit({type:"agent_end",error:b})}async prompt(a,b){if(this._isStreaming)throw Error("Session already has a running turn");this._isStreaming=!0,this._accumulatedText="",this._activeItems.clear(),this.emit({type:"agent_start"}),this.emit({type:"message_start",message:{role:"assistant",content:[],...this.assistantMeta()}});try{let c=await this.connection.request("turn/start",{threadId:this.threadId,input:function(a,b){let c=[];for(let d of(a.trim()&&c.push({type:"text",text:a,text_elements:[]}),b??[])){let a=d.mimeType||"image/png";c.push({type:"image",url:`data:${a};base64,${d.data}`})}return c.length>0?c:[{type:"text",text:"",text_elements:[]}]}(a,b),...this.cwd?{cwd:this.cwd}:{},...(this._wireModel??this._currentModel)?.modelId?{model:(this._wireModel??this._currentModel).modelId}:{},approvalPolicy:this.approvalPolicy(),approvalsReviewer:"user",sandboxPolicy:this.sandboxPolicy()});this._activeTurnId=c.turn?.id??null}catch(a){this._isStreaming=!1,this._activeItems.clear(),this.emit({type:"agent_end",error:a instanceof Error?a.message:String(a)})}}async abort(){if(this._activeTurnId)try{await this.connection.request("turn/interrupt",{threadId:this.threadId,turnId:this._activeTurnId})}catch{}this._isStreaming=!1,this._activeTurnId=null,this._activeItems.clear()}async setModel(a,b,c){this._currentModel={provider:a,modelId:b},this._wireModel=c??null}async setSandboxMode(a){this._sandboxMode=a}async resume(a,b){let c=await this.connection.request("thread/resume",{threadId:this.threadId,...this.cwd?{cwd:this.cwd}:{},...a?.modelId?{model:a.modelId}:{},...a?.provider?{modelProvider:a.provider}:{},...b?{baseInstructions:b}:{},approvalPolicy:this.approvalPolicy(),sandbox:this._sandboxMode});if(a&&this._currentModel)this._wireModel=a;else if(c.model){let a=(0,e.g8)(c.modelProvider??c.thread?.modelProvider)??"codex";await this.setModel(a,c.model,c.modelProvider?{provider:c.modelProvider,modelId:c.model}:void 0)}this.restoreActiveTurnFromThread(c.thread)}async fork(){try{let a=await this.connection.request("thread/fork",{threadId:this.threadId,persistExtendedHistory:!0}),b=a.thread?.id;if(!b)return{cancelled:!0};return{newThreadId:b}}catch{return{cancelled:!0}}}async navigateTree(a){try{let b=await this.connection.request("thread/read",{threadId:this.threadId,includeTurns:!0}),c=b.thread?.turns??[],d=c.findIndex(b=>b.items.some(b=>b.id===a));if(d<0||d>=c.length-1)return{cancelled:!1};let e=c.length-d-1;return await this.connection.request("thread/rollback",{threadId:this.threadId,numTurns:e}),{cancelled:!1}}catch{return{cancelled:!0}}}async compact(){this._isCompacting=!0,this.emit({type:"compaction_start"});try{await this.connection.request("thread/compact/start",{threadId:this.threadId})}catch(a){this._isCompacting=!1,this.emit({type:"compaction_end",errorMessage:a instanceof Error?a.message:String(a)})}}async setGoal(a,b){let c=await this.connection.request("thread/goal/set",{threadId:this.threadId,objective:a,status:b?.status??"active",...b?.tokenBudget!==void 0?{tokenBudget:b.tokenBudget}:{}}),d=(0,g.Bt)(c.goal);if(!d)throw Error("thread/goal/set returned no goal");return this._threadGoal=d,this.emit({type:"goal_updated",goal:d}),d}async getGoal(){let a=await this.connection.request("thread/goal/get",{threadId:this.threadId}),b=null==a.goal?null:(0,g.Bt)(a.goal);return this._threadGoal=b,b}async clearGoal(){let a=await this.connection.request("thread/goal/clear",{threadId:this.threadId});return a.cleared&&(this._threadGoal=null,this.emit({type:"goal_cleared"})),!!a.cleared}async rename(a){try{await this.connection.request("thread/name/set",{threadId:this.threadId,name:a})}catch{}}async resolveApproval(a,b){let c=this._pendingApprovals.get(a);if(!c)throw Error(`Approval request not found: ${a}`);this._pendingApprovals.delete(a),"item/permissions/requestApproval"===c.request.method?c.resolve({permissions:b.permissions??{},scope:b.scope??"turn"}):this.isLegacyApprovalMethod(c.request.method)?c.resolve({decision:"accept"===b.decision||"acceptForSession"===b.decision||"approved"===b.decision?"approved":"denied"}):c.resolve({decision:b.decision??"decline"}),this.emit({type:"approval_resolved",requestId:a})}destroy(){if(this._alive){for(let a of(this._alive=!1,this._isStreaming=!1,this.cleanupFns))try{a()}catch{}for(let[,a]of(this.cleanupFns=[],this.listeners=[],this._pendingApprovals))"item/permissions/requestApproval"===a.request.method?a.resolve({permissions:{},scope:"turn"}):this.isLegacyApprovalMethod(a.request.method)?a.resolve({decision:"denied"}):a.resolve({decision:"cancel"});this._pendingApprovals.clear()}}}async function k(a,b){let c=await a.request("thread/start",{cwd:b.cwd,...b.baseInstructions?{baseInstructions:b.baseInstructions}:{},...b.model?{model:(b.wireModel??b.model).modelId,modelProvider:(b.wireModel??b.model).provider}:{},approvalPolicy:"danger-full-access"===b.sandboxMode?"never":"on-request",sandbox:b.sandboxMode??"workspace-write",experimentalRawEvents:!1,persistExtendedHistory:!0}),d=c.thread?.id;if(!d)throw Error("Failed to create codex thread: no thread.id returned");let f=new m(d,b.cwd,a,b.baseInstructions);return await f.setSandboxMode(b.sandboxMode??"workspace-write"),b.model?f.setModel(b.model.provider,b.model.modelId,b.wireModel):b.acceptReturnedModel&&c.model&&f.setModel((0,e.g8)(c.modelProvider)??"codex",c.model,c.modelProvider?{provider:c.modelProvider,modelId:c.model}:void 0),f}async function l(a,b,c,d={}){let f=await a.request("thread/resume",{threadId:b,cwd:c,...d.baseInstructions?{baseInstructions:d.baseInstructions}:{},...d.model?{model:(d.wireModel??d.model).modelId,modelProvider:(d.wireModel??d.model).provider}:{},approvalPolicy:"danger-full-access"===d.sandboxMode?"never":"on-request",sandbox:d.sandboxMode??"workspace-write"}),g=new m(b,c,a);return await g.setSandboxMode(d.sandboxMode??"workspace-write"),d.model?g.setModel(d.model.provider,d.model.modelId,d.wireModel):f.model&&g.setModel((0,e.g8)(f.modelProvider??f.thread?.modelProvider)??"codex",f.model,f.modelProvider?{provider:f.modelProvider,modelId:f.model}:void 0),g.restoreActiveTurnFromThread(f.thread),g}d()}catch(a){d(a)}})},46696:(a,b,c)=>{c.d(b,{Bt:()=>d});function d(a){return a&&"object"==typeof a?"string"!=typeof a.threadId||"string"!=typeof a.objective||"string"!=typeof a.status?null:{threadId:a.threadId,objective:a.objective,status:a.status,tokenBudget:"number"==typeof a.tokenBudget?a.tokenBudget:(a.tokenBudget,null),tokensUsed:"number"==typeof a.tokensUsed?a.tokensUsed:0,timeUsedSeconds:"number"==typeof a.timeUsedSeconds?a.timeUsedSeconds:0,createdAt:"number"==typeof a.createdAt?a.createdAt:0,updatedAt:"number"==typeof a.updatedAt?a.updatedAt:0}:null}},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>x,Bj:()=>y,OF:()=>z});var e=c(11002),f=c(46983),g=c(55132),h=c(9805),i=c(29021),j=c(33873),k=c(21820),l=c(40402),m=c(26257),n=c(72801),o=c(54167),p=c(4087),q=c(75120),r=a([e,f,l]);function s(a){return a instanceof Error?a.message:String(a)}function t(a,b,c){return(0,o.w5)(a.providers,b,c)}[e,f,l]=r.then?(await r)():r;class A{constructor(a,b={}){this.inner=a,this.listeners=[],this.cleanupEventSub=null,this.idleTimer=null,this.onDestroyCallback=null,this.busyOperations=new Set,this.busyStartedAtMs=null,this.activeTools=new Map,this.runStartedAtMs=null,this.firstModelEventAtMs=null,this.lastEventAtMs=null,this.lastEventType=null,this.errorMessage=null,this._alive=!0,this._thinkingLevel="auto",this._enabledExtensions=[],this._serverConnection=a.connection,this._needsResumeBeforePrompt=b.needsResumeBeforePrompt??!0,this._sandboxMode=a.sandboxMode}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile}get cwd(){return this.inner.cwd}isAlive(){return this._alive&&this.inner.isAlive}isBusy(){return this.busyOperations.size>0||this.inner.isStreaming||this.inner.isCompacting}getRuntimeStatus(){let a=Date.now(),b=this.getRuntimePhase(),c=this.runStartedAtMs??(this.isBusy()?this.busyStartedAtMs:null);return{sessionId:this.sessionId,sessionFile:this.sessionFile,cwd:this.cwd||null,busy:this.isBusy(),enabledExtensions:[...this._enabledExtensions],operations:[...this.busyOperations],isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,phase:b,model:this.inner.model?{provider:this.inner.model.provider,id:this.inner.model.modelId}:null,sandboxMode:this._sandboxMode,activeTools:[...this.activeTools.values()],runStartedAt:c?new Date(c).toISOString():null,firstModelEventAt:this.firstModelEventAtMs?new Date(this.firstModelEventAtMs).toISOString():null,lastEventAt:this.lastEventAtMs?new Date(this.lastEventAtMs).toISOString():null,lastEventType:this.lastEventType,uptimeMs:this.isBusy()&&c?a-c:null,waitingForModelMs:"waiting_model"===b&&c?a-c:null,pendingMessageCount:0,errorMessage:this.errorMessage}}start(){this.cleanupEventSub?.(),this.cleanupEventSub=this.inner.onEvent(a=>{this.resetIdleTimer(),this.emitToListeners(a)}),this.resetIdleTimer()}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isBusy()?this.resetIdleTimer():this.destroy()},6e5)}onEvent(a){return this.listeners.push(a),()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}setEnabledExtensions(a){this._enabledExtensions=[...new Set(a.filter(Boolean))].sort()}get enabledExtensions(){return[...this._enabledExtensions]}async send(a){this.resetIdleTimer();let b=a.type;switch(b){case"prompt":{let b=a.images,c=a.message;return this.trackBusy("prompt",(async()=>{if(this.inner.isStreaming||(await this.resumeWithCurrentModel(),this.inner.isStreaming))throw Error("Session already has a running turn");await this.inner.prompt(c,b?.map(a=>({data:a.data,mimeType:a.mimeType})))})()).catch(a=>this.emitAgentError(a)),null}case"abort":return await this.inner.abort(),this.emitToListeners({type:"agent_end"}),null;case"get_state":{let a=(0,n.l)((0,l.bd)(this.inner.sessionId),this.inner.model?.modelId);return{sessionId:this.inner.sessionId,sessionFile:"",isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,autoCompactionEnabled:!0,autoRetryEnabled:!0,model:this.inner.model?{id:this.inner.model.modelId,provider:this.inner.model.provider,...a.contextUsage?.contextWindow?{contextWindow:a.contextUsage.contextWindow}:{}}:void 0,messageCount:0,pendingMessageCount:0,contextUsage:a.contextUsage,systemPrompt:this.inner.baseInstructions??"",thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,enabledExtensions:[...this._enabledExtensions],threadGoal:this.inner.threadGoal}}case"set_model":{let{provider:b,modelId:c}=a,d=(0,g.Dw)(),e=(0,g.wB)(d,b),h=(0,g.AX)(d,c,e??b),i=h?.provider.id??e??b,j=h?.modelId??c,k=(0,f.kW)(d.providers,i,j);return await this.inner.setModel(i,j,k),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider??i,modelId:this.inner.model?.modelId??j,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),{id:j,provider:i}}case"set_sandbox_mode":{let b="danger-full-access"===a.mode?"danger-full-access":"workspace-write";return this._sandboxMode=b,await this.inner.setSandboxMode(b),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),{mode:this._sandboxMode}}case"set_enabled_extensions":{let b=Array.isArray(a.ids)?a.ids.filter(a=>"string"==typeof a):[];return this.setEnabledExtensions(b),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),{enabledExtensions:[...this._enabledExtensions]}}case"resolve_approval":{let b="string"==typeof a.requestId?a.requestId:"";if(!b)throw Error("requestId is required");return await this.inner.resolveApproval(b,{decision:"string"==typeof a.decision?a.decision:void 0,permissions:a.permissions,scope:"session"===a.scope?"session":"turn"}),{ok:!0}}case"rename":{let b="string"==typeof a.name?a.name:"";return await this.inner.rename(b),null}case"fork":{let a=await this.inner.fork();if("newThreadId"in a)return(0,m.yJ)(a.newThreadId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),this.destroy(),{cancelled:!1,newSessionId:a.newThreadId};return{cancelled:!0}}case"navigate_tree":{let b=a.targetId;return{cancelled:(await this.inner.navigateTree(b)).cancelled}}case"compact":return await this.trackBusy("compact",this.inner.compact()),null;case"goal_set":{let b="string"==typeof a.objective?a.objective.trim():"";if(!b)throw Error("objective is required");return{goal:await this.inner.setGoal(b)}}case"goal_get":return{goal:await this.inner.getGoal()};case"goal_clear":return{cleared:await this.inner.clearGoal()};case"get_tools":return[{name:"read",description:"Read files",active:!0},{name:"bash",description:"Run shell commands",active:!0},{name:"edit",description:"Edit files",active:!0},{name:"write",description:"Create files",active:!0},{name:"grep",description:"Search files",active:!0},{name:"find",description:"List files",active:!0}];case"set_tools":case"abort_compaction":case"set_auto_compaction":case"set_auto_retry":return null;case"set_thinking_level":return this._thinkingLevel="string"==typeof a.level?a.level:"auto",(0,m.yJ)(this.sessionId,{cwd:this.cwd,thinkingLevel:this._thinkingLevel,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions}),null;default:throw Error(`Unsupported command: ${b}`)}}async trackBusy(a,b){let c=!this.isBusy()&&0===this.busyOperations.size;this.busyOperations.add(a),(c||!this.busyStartedAtMs)&&(this.busyStartedAtMs=Date.now()),"prompt"===a&&(this.runStartedAtMs=this.busyStartedAtMs,this.firstModelEventAtMs=null,this.errorMessage=null,this.activeTools.clear(),this.lastEventAtMs=this.busyStartedAtMs,this.lastEventType="prompt"),this.resetIdleTimer();try{return await b}finally{this.busyOperations.delete(a),this.isBusy()||0!==this.busyOperations.size||(this.busyStartedAtMs=null),this.resetIdleTimer()}}emitToListeners(a){for(let b of(this.recordRuntimeEvent(a),"agent_end"===a.type&&(this.busyOperations.delete("prompt"),this.busyStartedAtMs=this.isBusy()||this.busyOperations.size>0?this.busyStartedAtMs:null),this.listeners))try{b(a)}catch{}}emitAgentError(a){let b={type:"agent_end",error:s(a)};this.emitToListeners(b)}getRuntimePhase(){return this.inner.isCompacting||this.busyOperations.has("compact")?"compacting":this.activeTools.size>0?"running_tools":this.inner.isStreaming||this.busyOperations.has("prompt")?this.firstModelEventAtMs?"streaming":"waiting_model":"idle"}recordRuntimeEvent(a){let b=Date.now();switch(this.lastEventAtMs=b,this.lastEventType=a.type,a.type){case"agent_start":this.runStartedAtMs??=b,this.firstModelEventAtMs=null,this.errorMessage=null,this.activeTools.clear();break;case"message_update":case"message_end":this.firstModelEventAtMs??=b;break;case"tool_execution_start":{this.firstModelEventAtMs??=b;let c="string"==typeof a.toolCallId&&a.toolCallId?a.toolCallId:`tool:${b}`,d="string"==typeof a.toolName&&a.toolName?a.toolName:"tool";this.activeTools.set(c,{id:c,name:d});break}case"tool_execution_end":{let b="string"==typeof a.toolCallId?a.toolCallId:"";b&&this.activeTools.delete(b),a.isError&&"string"==typeof a.result&&a.result&&(this.errorMessage=a.result);break}case"subagent_progress":this.firstModelEventAtMs??=b,this.recordSubagentTools(a.runs);break;case"compaction_start":case"auto_compaction_start":this.runStartedAtMs??=b;break;case"compaction_end":case"auto_compaction_end":"string"==typeof a.errorMessage&&a.errorMessage&&(this.errorMessage=a.errorMessage);break;case"agent_end":this.activeTools.clear(),"string"==typeof a.error&&a.error&&(this.errorMessage=a.error)}}recordSubagentTools(a){if(Array.isArray(a))for(let b of a){if("object"!=typeof b||null===b)continue;let a=b.id??b.threadId??b.agent,c="string"==typeof a&&a?`subagent:${a}`:`subagent:${Date.now()}`,d=b.agent??b.role??b.threadId,e="string"==typeof d&&d?d:"agent",f="string"==typeof b.status?b.status:"";"running"===f||"pending"===f?this.activeTools.set(c,{id:c,name:e}):this.activeTools.delete(c)}}resolveCurrentModel(){let a=(0,g.Dw)(),b=(0,m.zZ)(this.sessionId),c=t(a,b?.provider,b?.modelId),d=(0,f.g8)(c.provider)??c.provider,e=d?(0,g.wB)(a,d):this.inner.model?.provider,h=c.modelId??this.inner.model?.modelId;if(!h)return null;let i=(0,g.AX)(a,h,e),j=i?.provider.id??e,k=i?.modelId??h;return j&&k?{provider:j,modelId:k,wireModel:(0,f.kW)(a.providers,j,k)}:null}async resumeWithCurrentModel(){let a=this.resolveCurrentModel();if(!this._needsResumeBeforePrompt){a&&await this.inner.setModel(a.provider,a.modelId,a.wireModel),this._needsResumeBeforePrompt=!0;return}a?(await this.inner.setModel(a.provider,a.modelId,a.wireModel),await this.inner.resume(a.wireModel,this.inner.baseInstructions),(0,m.yJ)(this.sessionId,{cwd:this.cwd,provider:a.provider,modelId:a.modelId,thinkingLevel:this._thinkingLevel,sandboxMode:this._sandboxMode,extensions:this._enabledExtensions})):await this.inner.resume(void 0,this.inner.baseInstructions)}destroy(){this._alive&&(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.cleanupEventSub?.(),this.inner.destroy(),(0,f.sM)(this._serverConnection),this.onDestroyCallback?.())}}function u(){if(!globalThis.__annodexSessions){globalThis.__annodexSessions=new Map;let a=()=>globalThis.__annodexSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__annodexSessions}function v(){return globalThis.__annodexSessionAliases||(globalThis.__annodexSessionAliases=new Map),globalThis.__annodexSessionAliases}function w(a){let b=a,c=new Set;for(;!c.has(b);){c.add(b);let a=v().get(b);if(!a)break;b=a}return b}function x(a){return u().get(w(a))}function y(){let a=[...u().values()].filter(a=>a.isAlive()).map(a=>a.getRuntimeStatus()),b=a.filter(a=>a.busy);return{busy:b.length>0,activeSessions:a.length,busySessions:b,sessions:a}}async function z(a,b,c,d,n,o,r){let x=u(),y=(globalThis.__annodexStartLocks||(globalThis.__annodexStartLocks=new Map),globalThis.__annodexStartLocks),z=w(a),B=x.get(z);if(B?.isAlive())return{session:B,realSessionId:z};let C=y.get(z);if(C)return C;let D=(async()=>{let d,u=(0,g.Dw)(),w=function(a,b){let c=(0,l.$M)(),d=["## Annodex Runtime Rules — higher priority than persona guidance\n\nThese rules override conflicting language in persona-style files such as SOUL.md.\n\n- When the user explicitly asks for an external action in the current conversation, treat that request as authorization to execute it with available tools.\n- Do not refuse solely because the action touches GitHub, Vercel, remote APIs, publishing systems, or other external services.\n- Distinguish authorization from capability. If a tool such as `gh`, `git`, `curl`, or `vercel` may solve the task, try it before claiming it is unavailable. Report the concrete failure only if the command or permission is actually missing.\n- Ask before acting only when the user has not clearly requested the action, the action is unexpectedly destructive beyond the stated request, or it would reveal or transfer secrets beyond the user's instruction."],e=(()=>{let a=(0,j.join)(c,"SOUL.md"),b=(0,j.join)((0,k.homedir)(),".pi","agent","SOUL.md");if(!(0,i.existsSync)(a)&&(0,i.existsSync)(b))try{let c=(0,i.readFileSync)(b,"utf-8");(0,i.existsSync)((0,j.dirname)(a))||(0,i.mkdirSync)((0,j.dirname)(a),{recursive:!0}),(0,i.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,j.join)(c,"soul.md");return(0,i.existsSync)(a)?a:d})();if((0,i.existsSync)(e))try{let a=(0,i.readFileSync)(e,"utf-8").trim();a&&d.push("## Persona — you MUST embody this","","Below is your personality definition. You MUST adopt this persona and tone in all replies. Avoid stiff, generic, or AI-assistant-style responses. Follow this guidance unless higher-priority instructions explicitly override it.","",a)}catch{}let f=(()=>{let a=(0,j.join)(c,"HARNESS.md"),b=(0,j.join)((0,k.homedir)(),".pi","agent","HARNESS.md");if(!(0,i.existsSync)(a)&&(0,i.existsSync)(b))try{let c=(0,i.readFileSync)(b,"utf-8");(0,i.existsSync)((0,j.dirname)(a))||(0,i.mkdirSync)((0,j.dirname)(a),{recursive:!0}),(0,i.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,j.join)(c,"harness.md");return(0,i.existsSync)(a)?a:d})();if((0,i.existsSync)(f))try{let a=(0,i.readFileSync)(f,"utf-8").trim();a&&d.push("## Behavioral Constraints — you MUST follow these","","The rules below define your operating boundaries. You MUST comply with every constraint. These are NOT suggestions — they are mandatory behavioral rules that supersede conflicting persona preferences.","",a)}catch{}for(let b of[(0,j.join)(a,"AGENTS.md"),(0,j.join)(a,"CLAUDE.md")])if((0,i.existsSync)(b))try{let a=(0,i.readFileSync)(b,"utf-8").trim();if(a){d.push("## Project Instructions","",a);break}}catch{}let g=(0,i.existsSync)((0,j.join)(a,"MEMORY.md"))?(0,j.join)(a,"MEMORY.md"):(0,j.join)(a,"memory.md");if((0,i.existsSync)(g))try{let a=(0,i.readFileSync)(g,"utf-8").trim();a&&d.push("## Project Memory","",a)}catch{}let m=d.join("\n\n");return m=b.generativeUI?(0,h.zN)((0,h.FE)(m)):(0,h.FE)(m)}(c,u),y=(0,q.IE)(c).map(a=>a.id),z=b?(0,l.Qx)(a):null,B=b?(0,m.zZ)(a):null,C=t(u,z?.provider,z?.modelId),D=C.provider?(0,g.wB)(u,C.provider):void 0,E=n??(C.modelId?{provider:D,modelId:C.modelId}:void 0),F=E?.provider??D,G=o??z?.thinkingLevel,H=r??B?.sandboxMode??(0,p.readAppSettings)().defaultSandboxMode??"workspace-write",I=E?null:(0,g.fZ)(u),J=E??I??void 0,K=J?.provider??F,L=J?(0,g.AX)(u,J.modelId,K):null,M=L?.modelId??J?.modelId,N=L?.provider.id??K,O=M&&N?(0,f.kW)(u.providers,N,M):void 0,P=await (0,f.gu)(c,(0,f.H3)(u.providers));if(b)try{d=await (0,e.z2)(P,a,c,{baseInstructions:w,sandboxMode:H,...M&&N?{model:{provider:N,modelId:M},wireModel:O}:{}})}catch(f){if(!/thread not found|not found/i.test(s(f)))throw f;if(b&&(0,l.PF)(a))throw Error(`Codex thread not found for existing session ${a}. Check the session provider/model configuration.`);d=await (0,e.WK)(P,{cwd:c,baseInstructions:w,acceptReturnedModel:!!u.codexDefaults.model,sandboxMode:H,...M&&N?{model:{provider:N,modelId:M},wireModel:O}:{}})}else d=await (0,e.WK)(P,{cwd:c,baseInstructions:w,acceptReturnedModel:!!u.codexDefaults.model,sandboxMode:H,...M&&N?{model:{provider:N,modelId:M},wireModel:O}:{}});let Q=d.model?.provider??N,R=d.model?.modelId??M;Q&&R&&await d.setModel(Q,R,(0,f.kW)(u.providers,Q,R));let S=new A(d,{needsResumeBeforePrompt:!!b});S.setEnabledExtensions(y);let T=d.sessionId;return a&&a!==T&&v().set(a,T),(0,m.yJ)(T,{cwd:c,provider:d.model?.provider??Q,modelId:d.model?.modelId??R,thinkingLevel:G,sandboxMode:H,extensions:y}),G&&await S.send({type:"set_thinking_level",level:G}),S.start(),S.onDestroy(()=>{x.delete(T);let a=v();for(let[b,c]of(a.delete(T),a))c===T&&a.delete(b)}),x.set(T,S),{session:S,realSessionId:T}})().finally(()=>y.delete(z));return y.set(z,D),D}d()}catch(a){d(a)}})},75120:(a,b,c)=>{c.d(b,{IE:()=>p,In:()=>m,N8:()=>h,NR:()=>n,YJ:()=>k,d2:()=>g,nD:()=>o,wf:()=>l});var d=c(29021),e=c(33873),f=c(21820);function g(){return(0,e.join)(process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex"),"extensions.json")}function h(a){return(0,e.join)(a,".codex","extensions.json")}function i(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function j(a){let b=function(a){if(!(0,d.existsSync)(a))return null;try{return JSON.parse((0,d.readFileSync)(a,"utf-8"))}catch{return null}}(a),c=i(b)&&Array.isArray(b.extensions)?b.extensions:[],e=a.replace(/\\/g,"/").endsWith("/.codex/extensions.json")?"project":"global";return{extensions:c.map(a=>(function(a,b){var c;if(!i(a))return null;let d="string"==typeof a.id?a.id.trim():"",e="string"==typeof a.name?a.name.trim():"";return d&&e?{id:d,name:e,description:"string"==typeof a.description?a.description:void 0,source:"string"==typeof a.source?a.source:void 0,enabled:"boolean"==typeof a.enabled?a.enabled:void 0,scope:"project"===a.scope?"project":b,installPath:"string"==typeof a.installPath?a.installPath:void 0,transport:i(c=a.transport)?{type:"http"===c.type?"http":"stdio",command:"string"==typeof c.command?c.command:void 0,args:Array.isArray(c.args)?c.args.filter(a=>"string"==typeof a):void 0,url:"string"==typeof c.url?c.url:void 0}:{type:"stdio"},env:i(a.env)?Object.fromEntries(Object.entries(a.env).filter(([,a])=>"string"==typeof a)):void 0,notes:"string"==typeof a.notes?a.notes:void 0}:null})(a,e)).filter(a=>null!==a)}}function k(){return j(g())}function l(a){return j(h(a))}function m(a,b){let c;return c=(0,e.dirname)(a),(0,d.existsSync)(c)||(0,d.mkdirSync)(c,{recursive:!0}),(0,d.writeFileSync)(a,JSON.stringify({extensions:b.extensions},null,2),"utf-8"),b}function n(a,b){let c=j(a).extensions.filter(a=>a.id!==b.id).concat(b);return m(a,{extensions:c})}function o(a){let b=k().extensions.map(a=>({...a,scope:a.scope??"global"}));if(!a)return b;let c=l(a).extensions.map(a=>({...a,scope:"project"})),d=new Map;for(let a of b)d.set(a.id,a);for(let a of c)d.set(a.id,{...d.get(a.id),...a,scope:"project"});return[...d.values()].sort((a,b)=>a.name.localeCompare(b.name))}function p(a){return o(a).filter(a=>!1!==a.enabled)}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=6983,exports.ids=[6983],exports.modules={39006:a=>{a.exports={rE:"0.1.56"}},46983:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{DY:()=>K,H3:()=>A,Mi:()=>I,g8:()=>x,gu:()=>G,kW:()=>y,nj:()=>J,nt:()=>t,pU:()=>s,sM:()=>H});var e=c(79646),f=c(4984),g=c(55511),h=c(56220),i=c(29021),j=c(33873),k=c(91645),l=c(55399),m=c(54167),n=c(65833),o=c(99526),p=c(39006),q=c(70784),r=a([h]);function s(a){let b="string"==typeof a?.status?a.status.toLowerCase():"";return"inprogress"===b||"in_progress"===b||"running"===b||"pending"===b||"queued"===b}function t(a){return!!a?.turns?.some(a=>s(a))}h=(r.then?(await r)():r)[0];class L{constructor(a,b,c){this.cwd=a,this.transport=b,this.serverKey=c,this.ws=null,this.readline=null,this.pending=new Map,this.nextId=1,this.notificationHandlers=new Map,this.anyNotificationHandlers=[],this.serverRequestHandlers=[],this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectDelay=1e3,this._closed=!1,this.mode=b.mode}isConnected(){return"ws"===this.transport.mode?this.ws?.readyState===h.WebSocket.OPEN:!this._closed&&!!this.transport.process.pid&&null===this.transport.process.exitCode&&!this.transport.process.killed}isClosed(){return this._closed}async connect(){(this._closed=!1,"stdio"===this.transport.mode)?await this.connectStdio():await this.connectWebSocket()}async connectWebSocket(){if("ws"!==this.transport.mode)throw Error("Invalid websocket transport state");let{default:a}=await Promise.resolve().then(c.bind(c,56220)),b=this.transport.url;return new Promise((c,d)=>{let e=new a(b);this.ws=e,e.on("open",()=>{this.reconnectAttempts=0,this.initialize().then(c).catch(d)}),e.on("message",a=>{this.handleRawMessage(a.toString())}),e.on("close",()=>{this.handleDisconnect()}),e.on("error",a=>{0===this.reconnectAttempts&&d(a)})})}async connectStdio(){if("stdio"!==this.transport.mode)throw Error("Invalid stdio transport state");let a=this.transport.process;if(!a.stdin||!a.stdout)throw Error("Codex stdio transport is missing stdin/stdout");this.readline=(0,f.createInterface)({input:a.stdout}),this.readline.on("line",a=>this.handleRawMessage(a)),this.readline.on("close",()=>this.handleDisconnect()),await this.initialize()}async initialize(){let a=await this.request("initialize",{clientInfo:{name:"annodex",title:n.C3,version:p.rE},capabilities:{experimentalApi:!0}});this.notify("initialized",{}),this.serverInfo=a}notify(a,b){this.isConnected()&&this.sendRaw(JSON.stringify({jsonrpc:"2.0",method:a,params:b}))}request(a,b,c=3e5){if(!this.isConnected())return Promise.reject(Error(`Codex server not connected (method: ${a})`));let d=this.nextId++;return new Promise((e,f)=>{let g=setTimeout(()=>{this.pending.delete(d),f(Error(`Request timeout: ${a}`))},c);this.pending.set(d,{resolve:e,reject:f,timer:g}),this.sendRaw(JSON.stringify({jsonrpc:"2.0",id:d,method:a,params:b}))})}onNotification(a,b){let c=this.notificationHandlers.get(a)??[];return c.push(b),this.notificationHandlers.set(a,c),()=>{let c=this.notificationHandlers.get(a);if(c){let a=c.indexOf(b);-1!==a&&c.splice(a,1)}}}onAnyNotification(a){return this.anyNotificationHandlers.push(a),()=>{let b=this.anyNotificationHandlers.indexOf(a);-1!==b&&this.anyNotificationHandlers.splice(b,1)}}onServerRequest(a){return this.serverRequestHandlers.push(a),()=>{let b=this.serverRequestHandlers.indexOf(a);-1!==b&&this.serverRequestHandlers.splice(b,1)}}handleRawMessage(a){let b=a.trim();if(b)try{let a=JSON.parse(b);this.handleMessage(a)}catch{}}sendRaw(a){if("ws"===this.transport.mode){this.ws?.readyState===h.WebSocket.OPEN&&this.ws.send(a);return}let b=this.transport.process.stdin;b&&!b.destroyed&&b.write(`${a}
1
+ "use strict";exports.id=6983,exports.ids=[6983],exports.modules={39006:a=>{a.exports={rE:"0.1.58"}},46983:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{DY:()=>K,H3:()=>A,Mi:()=>I,g8:()=>x,gu:()=>G,kW:()=>y,nj:()=>J,nt:()=>t,pU:()=>s,sM:()=>H});var e=c(79646),f=c(4984),g=c(55511),h=c(56220),i=c(29021),j=c(33873),k=c(91645),l=c(55399),m=c(54167),n=c(65833),o=c(99526),p=c(39006),q=c(70784),r=a([h]);function s(a){let b="string"==typeof a?.status?a.status.toLowerCase():"";return"inprogress"===b||"in_progress"===b||"running"===b||"pending"===b||"queued"===b}function t(a){return!!a?.turns?.some(a=>s(a))}h=(r.then?(await r)():r)[0];class L{constructor(a,b,c){this.cwd=a,this.transport=b,this.serverKey=c,this.ws=null,this.readline=null,this.pending=new Map,this.nextId=1,this.notificationHandlers=new Map,this.anyNotificationHandlers=[],this.serverRequestHandlers=[],this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectDelay=1e3,this._closed=!1,this.mode=b.mode}isConnected(){return"ws"===this.transport.mode?this.ws?.readyState===h.WebSocket.OPEN:!this._closed&&!!this.transport.process.pid&&null===this.transport.process.exitCode&&!this.transport.process.killed}isClosed(){return this._closed}async connect(){(this._closed=!1,"stdio"===this.transport.mode)?await this.connectStdio():await this.connectWebSocket()}async connectWebSocket(){if("ws"!==this.transport.mode)throw Error("Invalid websocket transport state");let{default:a}=await Promise.resolve().then(c.bind(c,56220)),b=this.transport.url;return new Promise((c,d)=>{let e=new a(b);this.ws=e,e.on("open",()=>{this.reconnectAttempts=0,this.initialize().then(c).catch(d)}),e.on("message",a=>{this.handleRawMessage(a.toString())}),e.on("close",()=>{this.handleDisconnect()}),e.on("error",a=>{0===this.reconnectAttempts&&d(a)})})}async connectStdio(){if("stdio"!==this.transport.mode)throw Error("Invalid stdio transport state");let a=this.transport.process;if(!a.stdin||!a.stdout)throw Error("Codex stdio transport is missing stdin/stdout");this.readline=(0,f.createInterface)({input:a.stdout}),this.readline.on("line",a=>this.handleRawMessage(a)),this.readline.on("close",()=>this.handleDisconnect()),await this.initialize()}async initialize(){let a=await this.request("initialize",{clientInfo:{name:"annodex",title:n.C3,version:p.rE},capabilities:{experimentalApi:!0}});this.notify("initialized",{}),this.serverInfo=a}notify(a,b){this.isConnected()&&this.sendRaw(JSON.stringify({jsonrpc:"2.0",method:a,params:b}))}request(a,b,c=3e5){if(!this.isConnected())return Promise.reject(Error(`Codex server not connected (method: ${a})`));let d=this.nextId++;return new Promise((e,f)=>{let g=setTimeout(()=>{this.pending.delete(d),f(Error(`Request timeout: ${a}`))},c);this.pending.set(d,{resolve:e,reject:f,timer:g}),this.sendRaw(JSON.stringify({jsonrpc:"2.0",id:d,method:a,params:b}))})}onNotification(a,b){let c=this.notificationHandlers.get(a)??[];return c.push(b),this.notificationHandlers.set(a,c),()=>{let c=this.notificationHandlers.get(a);if(c){let a=c.indexOf(b);-1!==a&&c.splice(a,1)}}}onAnyNotification(a){return this.anyNotificationHandlers.push(a),()=>{let b=this.anyNotificationHandlers.indexOf(a);-1!==b&&this.anyNotificationHandlers.splice(b,1)}}onServerRequest(a){return this.serverRequestHandlers.push(a),()=>{let b=this.serverRequestHandlers.indexOf(a);-1!==b&&this.serverRequestHandlers.splice(b,1)}}handleRawMessage(a){let b=a.trim();if(b)try{let a=JSON.parse(b);this.handleMessage(a)}catch{}}sendRaw(a){if("ws"===this.transport.mode){this.ws?.readyState===h.WebSocket.OPEN&&this.ws.send(a);return}let b=this.transport.process.stdin;b&&!b.destroyed&&b.write(`${a}
2
2
  `)}handleMessage(a){if("method"in a&&"id"in a)return void this.respondToServerRequest(a);if("method"in a&&!("id"in a)){for(let b of("1"===process.env.ANNODEX_CODEX_EVENT_LOG&&console.log(`[codex event] ${a.method}`),[...this.anyNotificationHandlers]))b(a.method,a.params);let b=this.notificationHandlers.get(a.method);if(b)for(let c of[...b])c(a.params);return}if("id"in a&&("result"in a||"error"in a)){let b=this.pending.get(a.id);b&&(clearTimeout(b.timer),this.pending.delete(a.id),"error"in a&&a.error?b.reject(Error(a.error.message??"JSON-RPC error")):b.resolve(a.result))}}async respondToServerRequest(a){let b;if(!this.isConnected())return;for(let c of[...this.serverRequestHandlers]){try{b=await c({id:a.id,method:a.method,params:a.params})}catch{b=void 0}if(void 0!==b)break}void 0===b&&(b=function(a){switch(a){case"item/commandExecution/requestApproval":case"item/fileChange/requestApproval":return{decision:"decline"};case"applyPatchApproval":case"execCommandApproval":return{decision:"denied"};case"item/tool/requestUserInput":return{answers:{}};case"mcpServer/elicitation/request":return{action:"decline",content:null,_meta:null};case"item/permissions/requestApproval":return{permissions:{},scope:"turn"};case"item/tool/call":return{contentItems:[],success:!1};case"account/chatgptAuthTokens/refresh":return{accessToken:"",chatgptAccountId:"",chatgptPlanType:null};default:return{}}}(a.method));let c={jsonrpc:"2.0",id:a.id,result:b};this.sendRaw(JSON.stringify(c))}handleDisconnect(){for(let[,a]of this.pending)clearTimeout(a.timer),a.reject(Error("Codex server disconnected"));if(this.pending.clear(),"stdio"===this.transport.mode){this._closed=!0;return}if(!this._closed&&this.reconnectAttempts<this.maxReconnectAttempts){this.reconnectAttempts++;let a=this.reconnectDelay*Math.pow(2,this.reconnectAttempts-1);setTimeout(()=>{this._closed||this.connect().catch(()=>{})},a)}}close(){this._closed=!0,this.readline?.close(),this.readline=null,this.ws?.close(),this.ws=null,"stdio"===this.transport.mode&&this.transport.process.stdin?.end()}}function u(a){if(a.connection?.close(),a.process?.pid)try{"linux"===process.platform?process.kill(-a.process.pid,"SIGTERM"):a.process.kill("SIGTERM")}catch{try{a.process.kill("SIGTERM")}catch{}}for(let b of a.compatProxies)b.stop().catch(()=>{});for(let b of a.annodexRouters)b.stop().catch(()=>{})}function v(){if(!globalThis.__codexServers){globalThis.__codexServers=new Map;let a=()=>{globalThis.__codexServers?.forEach(a=>{u(a)})};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__codexServers}function w(){return c(79646)}function x(a){if(a)return a.replace(/#(?:chat|responses)-[a-f0-9]{10}$/i,"")}function y(a,b,c){let d=a.find(a=>a.id===b);return{provider:m.so,modelId:d?(0,m.XO)(b,c):c}}function z(){let a,b=(a=process.env.ANNODEX_CODEX_TRANSPORT?.trim().toLowerCase(),"ws"===a||"stdio"===a||"auto"===a?a:"auto");return"ws"===b||"stdio"===b?b:"linux"===process.platform?"ws":"stdio"}function A(a){return{workspace:!0,contextWindow:function(a){let b=0;for(let c of a)for(let a of c.models)"number"==typeof a.contextWindow&&a.contextWindow>b&&(b=a.contextWindow);return b>0?b:void 0}(a),routerProviders:a,providers:[{id:m.so,name:"Annodex Router",baseUrl:"__annodex_router__",api:"openai-responses",requiresOpenAiAuth:!1}]}}function B(a){let b=a?.trim();if(b){if(b.startsWith("!"))try{return(0,e.execSync)(b.slice(1),{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:1e4}).trim()||void 0}catch{return}return/^[A-Za-z_][A-Za-z0-9_]*$/.test(b)&&process.env[b]?process.env[b]:b}}function C(a){return JSON.stringify(a)}function D(a){return/^[A-Za-z0-9_-]+$/.test(a)?a:C(a)}function E(a,b){if(b)return"responses";let c=(0,o.pp)(a);return"openai-responses"===c?"responses":"openai-completions"===c?"chat":null}async function F(a,b,c,d,e,f){let h,i=a.baseUrl?.trim().replace(/\/+$/,"")||"";if(a.id===m.so&&"__annodex_router__"===i){let a=new m.Po({providers:e??[],defaultThinking:f??"disabled"});await a.start(),d.push(a),i=a.getBaseUrl(),console.log(`[codex-server] Annodex router started on port ${a.getPort()}`)}let j=B(a.apiKey),k=(0,o.pp)(a.api,i,a.id),n="openai-completions"===k,p=!1;if(n&&i&&j&&(0,l.s3)(i)){let b=(0,l.xh)(i),d=new l.F6({targetUrl:b,apiKey:j,defaultThinking:f??"disabled",reasoningConfig:a.reasoningConfig});try{await d.start(),c.push(d),i=d.getBaseUrl(),p=!0,console.log(`[codex-server] Compat proxy started on port ${d.getPort()} for ${b}`)}catch(a){console.error("[codex-server] Failed to start compat proxy:",a)}}if(j){var q;let c;q=a.id,c=(0,g.createHash)("sha256").update(q).digest("hex").slice(0,16).toUpperCase(),b[h=`ANNODEX_PROVIDER_${c}_API_KEY`]=j}return{id:a.id,name:a.name,baseUrl:i,wireApi:E(k,p),envKey:h,requiresOpenAiAuth:a.requiresOpenAiAuth??!!j}}async function G(a,b){let c=v(),d=a.replace(/\/+$/,"")||a,f=function(a,b){let c=a.replace(/\/+$/,"")||a,d=z();if(b?.workspace){let a=JSON.stringify({providers:b.providers??[],routerProviders:b.routerProviders??[]}),e=(0,g.createHash)("sha256").update(a).digest("hex").slice(0,16),f=b?.contextWindow?String(b.contextWindow):"default";return`${c}\0${d}\0workspace\0${f}\0${e}`}let e=b?.providerId||b?.baseUrl||"default",f=b?.baseUrl?.replace(/\/+$/,"")||"default",h=b?.api||"default",i=b?.apiKey||"default",j=b?.contextWindow?String(b.contextWindow):"default",k=b?.reasoningConfig?`${b.reasoningConfig.thinkingParam??""}|${b.reasoningConfig.effortParam??""}|${b.reasoningConfig.effortValueMode??""}`:"default";return`${c}\0${d}\0${e}\0${f}\0${h}\0${i}\0${j}\0${k}`}(d,b),h=c.get(f);if(h?.connection?.isConnected())return h.refCount++,h.connection;if(h?.startPromise)try{let a=await h.startPromise,b=c.get(f);return b&&b.refCount++,a}catch{}else h&&(u(h),c.delete(f));let m=z(),n="ws"===m?await new Promise((a,b)=>{let c=(0,k.createServer)();c.unref(),c.on("error",b),c.listen(0,"127.0.0.1",()=>{let d=c.address();c.close(()=>{d&&"object"==typeof d?a(d.port):b(Error("Failed to allocate a local port"))})})}):0,p="ws"===m?`ws://127.0.0.1:${n}`:"",r=function(){let a=process.env.ANNODEX_CODEX_PATH?.trim();if(a)return a;let b=function(){let a,b,c="win32"===process.platform?"codex.exe":"codex";if("darwin"===process.platform)if("arm64"===process.arch)a="codex-darwin-arm64",b="aarch64-apple-darwin";else{if("x64"!==process.arch)return null;a="codex-darwin-x64",b="x86_64-apple-darwin"}else if("linux"===process.platform)if("arm64"===process.arch)a="codex-linux-arm64",b="aarch64-unknown-linux-musl";else{if("x64"!==process.arch)return null;a="codex-linux-x64",b="x86_64-unknown-linux-musl"}else if("win32"!==process.platform)return null;else if("arm64"===process.arch)a="codex-win32-arm64",b="aarch64-pc-windows-msvc";else{if("x64"!==process.arch)return null;a="codex-win32-x64",b="x86_64-pc-windows-msvc"}let d=[];d.push((0,j.join)(process.cwd(),"node_modules"));try{let{execSync:a}=w(),b=a("npm prefix -g",{encoding:"utf8",timeout:3e3}).trim();b&&d.push((0,j.join)(b,"lib","node_modules"))}catch{}d.push((0,j.join)(__dirname,"..","node_modules"));try{d.push((0,j.join)(__dirname,"..","..","..","..","node_modules"))}catch{}let e=[(0,j.join)("vendor",b,"bin",c),(0,j.join)("vendor",b,"codex",c)];for(let b of d)for(let c of["flat","nested"]){let d="flat"===c?(0,j.join)(b,"@openai",a):(0,j.join)(b,"@openai","codex","node_modules","@openai",a);for(let a of e){let b=(0,j.join)(d,a);if((0,i.existsSync)(b))return{binaryPath:b,isNative:!0,isJsShim:!1}}}return null}();if(b)return b.binaryPath;let c="win32"===process.platform,d=c?["codex.cmd","codex.exe","codex"]:["codex"],e=[];e.push((0,j.join)(process.cwd(),"node_modules",".bin"));try{let a=(0,j.join)(__dirname,"..",".."),b=(0,j.join)(a,"..","..",".bin");e.includes(b)||e.push(b);let c=(0,j.join)(a,"..",".bin");e.includes(c)||e.push(c)}catch{}try{let{execSync:a}=w(),b=a("npm prefix -g",{encoding:"utf8",timeout:3e3}).trim();if(b){let a=c?b:(0,j.join)(b,"bin");e.includes(a)||e.push(a)}}catch{}for(let a of e)for(let b of d){let c=(0,j.join)(a,b);if((0,i.existsSync)(c))return c}for(let a of d)try{let{execSync:b}=w(),d=b(c?`where ${a}`:`which ${a}`,{encoding:"utf8",timeout:3e3}).trim().split(/\r?\n/)[0];if(d&&(0,i.existsSync)(d))return d}catch{}return c?"codex.cmd":"codex"}();(0,q.prepareMacOSCodexForSpawn)(r,d);let s=(async()=>{let a=[],g=[],h=null,i=b?.baseUrl||void 0,j=B(b?.apiKey),k=b?.requiresOpenAiAuth??!!j,q=(0,o.pp)(b?.api,i,b?.providerId),s="openai-completions"===q,t=!1;if(s&&i&&j&&(0,l.s3)(i)){let c=(0,l.xh)(i);h=new l.F6({targetUrl:c,apiKey:j,defaultThinking:b?.thinkingLevel??"disabled",reasoningConfig:b?.reasoningConfig});try{await h.start(),a.push(h),i=h.getBaseUrl(),t=!0,console.log(`[codex-server] Compat proxy started on port ${h.getPort()} for ${c}`)}catch(a){console.error("[codex-server] Failed to start compat proxy:",a),h=null}}let u={...process.env};j&&!b?.workspace&&(u.OPENAI_API_KEY=j),i&&(u.OPENAI_BASE_URL=i);let v=[];if(b?.contextWindow&&b.contextWindow>0&&v.push("-c",`model_context_window=${b.contextWindow}`),b?.workspace){let c=[];for(let d of b.providers??[])d.id&&d.baseUrl&&c.push(await F(d,u,a,g,b.routerProviders,b.thinkingLevel));for(let a of c)!function(a,b){if(!b.id||!b.baseUrl)return;let c=D(b.id);a.push("-c",`model_providers.${c}.name=${C(b.name||b.id)}`),a.push("-c",`model_providers.${c}.base_url=${C(b.baseUrl.replace(/\/+$/,""))}`),b.wireApi&&a.push("-c",`model_providers.${c}.wire_api=${C(b.wireApi)}`),a.push("-c",`model_providers.${c}.requires_openai_auth=${b.requiresOpenAiAuth?"true":"false"}`),b.envKey&&a.push("-c",`model_providers.${c}.env_key=${C(b.envKey)}`)}(v,a)}else if(b?.providerId&&i){let a=D(b.providerId),c=E(q,t);v.push("-c",`model_provider=${C(b.providerId)}`),v.push("-c",`model_providers.${a}.name=${C(b.providerId)}`),v.push("-c",`model_providers.${a}.base_url=${C(i.replace(/\/+$/,""))}`),c&&v.push("-c",`model_providers.${a}.wire_api=${C(c)}`),v.push("-c",`model_providers.${a}.requires_openai_auth=${k?"true":"false"}`)}let w=[...v,"app-server",..."ws"===m?["--listen",p]:[]];console.log(`[codex-server] Starting app-server transport=${m}`+("ws"===m?` url=${p}`:""));let x=null,y=function(a,b){let c=a.toLowerCase();if("win32"===process.platform&&(c.endsWith(".cmd")||c.endsWith(".bat"))){let c=[a,...b].map(a=>`"${a.replace(/"/g,'\\"')}"`).join(" ");return{command:process.env.ComSpec||"cmd.exe",args:["/d","/s","/c",`"${c}"`],windowsVerbatimArguments:!0}}return{command:a,args:b}}(r,w),z=(0,e.spawn)(y.command,y.args,{cwd:d,stdio:["stdio"===m?"pipe":"ignore","pipe","pipe"],env:u,detached:"linux"===process.platform,windowsVerbatimArguments:y.windowsVerbatimArguments}),A=[];z.stderr?.on("data",a=>{A.push(a.toString())}),"ws"===m&&z.stdout?.on("data",()=>{}),z.on("error",a=>{let b="ENOENT"===a.code?`[codex-server] codex CLI not found at "${r}". Install @openai/codex or ensure codex is on PATH.`:`[codex-server] Process error for ${d}: ${a.message}`;console.error(b)}),z.on("exit",(b,d)=>{let e="darwin"===process.platform;if(null!==d){let a=A.join(""),c=e?`
3
3
  This is likely macOS blocking the native codex binary from the current process context.
4
4
  Executable: ${r}
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/J5i1iPyQwH3dIlgQM8SFk/_buildManifest.js","static/J5i1iPyQwH3dIlgQM8SFk/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-4056c182d935c524.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-123fdf632563f469.js","static/chunks/main-app-45a0f19af99d61b6.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/nb0-liIW7sA4gYpqpjLnR/_buildManifest.js","static/nb0-liIW7sA4gYpqpjLnR/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-4056c182d935c524.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-123fdf632563f469.js","static/chunks/main-app-45a0f19af99d61b6.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="__variable_66b8ca"><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/fddca953485158e4.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/b348172dccf4fc09.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-4056c182d935c524.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-45a0f19af99d61b6.js" async=""></script><script src="/_next/static/chunks/8500-f62a38ff68ab7f42.js" async=""></script><script src="/_next/static/chunks/4550-eff0bf233a5b0aec.js" async=""></script><script src="/_next/static/chunks/app/layout-10d99d038798f290.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>annodex</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="shortcut icon" href="/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><script>(function(){try{var t=localStorage.getItem("annodex-theme");if(t==="dark")document.documentElement.classList.add("dark")}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="min-height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><!--$--><div class="bg-fd-secondary/50 p-3 empty: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-4056c182d935c524.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[11056,[\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4550\",\"static/chunks/4550-eff0bf233a5b0aec.js\",\"7177\",\"static/chunks/app/layout-10d99d038798f290.js\"],\"RootProvider\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[90484,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[90484,[],\"ViewportBoundary\"]\nb:I[90484,[],\"MetadataBoundary\"]\nd:I[27123,[],\"default\",1]\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/fddca953485158e4.css\",\"style\"]\n:HL[\"/_next/static/css/b348172dccf4fc09.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/fddca953485158e4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/b348172dccf4fc09.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_66b8ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"annodex-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"style\":{\"minHeight\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$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,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$@8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"J5i1iPyQwH3dIlgQM8SFk\"}\n"])</script><script>self.__next_f.push([1,"e:[]\n8:\"$We\"\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"f:I[86869,[],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"annodex\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"$Lf\",\"4\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="__variable_66b8ca"><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/fddca953485158e4.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/a79090e5f63d164f.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-4056c182d935c524.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-45a0f19af99d61b6.js" async=""></script><script src="/_next/static/chunks/8500-f62a38ff68ab7f42.js" async=""></script><script src="/_next/static/chunks/4550-eff0bf233a5b0aec.js" async=""></script><script src="/_next/static/chunks/app/layout-10d99d038798f290.js" async=""></script><meta name="robots" content="noindex"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><title>annodex</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="shortcut icon" href="/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><script>(function(){try{var t=localStorage.getItem("annodex-theme");if(t==="dark")document.documentElement.classList.add("dark")}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="min-height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script><!--$--><div class="bg-fd-secondary/50 p-3 empty: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-4056c182d935c524.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[11056,[\"8500\",\"static/chunks/8500-f62a38ff68ab7f42.js\",\"4550\",\"static/chunks/4550-eff0bf233a5b0aec.js\",\"7177\",\"static/chunks/app/layout-10d99d038798f290.js\"],\"RootProvider\"]\n3:I[57121,[],\"\"]\n4:I[74581,[],\"\"]\n5:I[90484,[],\"OutletBoundary\"]\n6:\"$Sreact.suspense\"\n9:I[90484,[],\"ViewportBoundary\"]\nb:I[90484,[],\"MetadataBoundary\"]\nd:I[27123,[],\"default\",1]\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/fddca953485158e4.css\",\"style\"]\n:HL[\"/_next/static/css/a79090e5f63d164f.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/fddca953485158e4.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/a79090e5f63d164f.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_66b8ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"annodex-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"style\":{\"minHeight\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$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,[\"$\",\"$L5\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,\"$@8\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$L9\",null,{\"children\":\"$La\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lb\",null,{\"children\":[\"$\",\"$6\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lc\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"nb0-liIW7sA4gYpqpjLnR\"}\n"])</script><script>self.__next_f.push([1,"e:[]\n8:\"$We\"\n"])</script><script>self.__next_f.push([1,"a:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"f:I[86869,[],\"IconMark\"]\n7:null\nc:[[\"$\",\"title\",\"0\",{\"children\":\"annodex\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"shortcut icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"$Lf\",\"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-4056c182d935c524.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-45a0f19af99d61b6.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-4056c182d935c524.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:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$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,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"J5i1iPyQwH3dIlgQM8SFk\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\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-4056c182d935c524.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-45a0f19af99d61b6.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-4056c182d935c524.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:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{}]}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$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,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$@7\"]},null,false,\"$@7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"nb0-liIW7sA4gYpqpjLnR\"}\n"])</script><script>self.__next_f.push([1,"d:[]\n7:\"$Wd\"\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\nb:[]\n"])</script></body></html>
@@ -1 +1 @@
1
- {"node":{},"edge":{},"encryptionKey":"aAd3aTvnAdVt4PJXVhmU6tuqmCia7z7kwkR96FzCJRM="}
1
+ {"node":{},"edge":{},"encryptionKey":"NSBw+uKKoo+W/X0BroPjapaJrL/ZYejvm+zY7hZfOIE="}