@wrongstack/webui 1.0.4 → 1.0.6

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 (128) hide show
  1. package/dist/assets/AgentRosterView-Cat9dDuY.js +12 -0
  2. package/dist/assets/AnalyticsDashboard-BAC5fpQO.js +1 -0
  3. package/dist/assets/AudienceMemoryPanel-BOaFRWeR.js +3 -0
  4. package/dist/assets/ChangesView-D0oqt9WQ.js +1 -0
  5. package/dist/assets/ChimeraReviewsView-xYqbuZGK.js +1 -0
  6. package/dist/assets/ChronicleDashboard-BDaOO8qg.js +1 -0
  7. package/dist/assets/CodeEditor-BgJIgzjz.js +2 -0
  8. package/dist/assets/CodeMap-D47WG8ZE.js +1 -0
  9. package/dist/assets/CronJobsPanel-oxmSB2ni.js +1 -0
  10. package/dist/assets/{DeadCodeScanPanel-CSr2alPo.js → DeadCodeScanPanel-DAOBcPPB.js} +1 -1
  11. package/dist/assets/{DebugDashboard-Ctw40UDW.js → DebugDashboard-P6-449d1.js} +1 -1
  12. package/dist/assets/DesignGalleryView-BUYdq9xj.js +1 -0
  13. package/dist/assets/GoalView-DfVrI8Br.js +1 -0
  14. package/dist/assets/KanbanView-DYzC0SvN.js +3 -0
  15. package/dist/assets/MailboxDetailView-CidOf8tE.js +1 -0
  16. package/dist/assets/MemoryDrawer-D2iiRUm3.js +1 -0
  17. package/dist/assets/MemoryManager-ajwrcppd.js +1 -0
  18. package/dist/assets/ProcessMonitor-D4q3YZ99.js +1 -0
  19. package/dist/assets/PromptJournalView-BRTW81Ev.js +1 -0
  20. package/dist/assets/QueuePanel--kMl1y82.js +1 -0
  21. package/dist/assets/RefreshDebugView-Dty8h6nr.js +1 -0
  22. package/dist/assets/RepositoryHistoryView-DGlHg9K7.js +2 -0
  23. package/dist/assets/{RequirementIntakeView-BkztR0C2.js → RequirementIntakeView-DXimEE5N.js} +1 -1
  24. package/dist/assets/SageTabs-DC4wv_Gu.js +2 -0
  25. package/dist/assets/{SddFlowGraph-dcuamshO.js → SddFlowGraph-BNd4F2pW.js} +1 -1
  26. package/dist/assets/SddHub-Dfsg4kpC.js +2 -0
  27. package/dist/assets/SessionInspectView-CFKKgcpn.js +1 -0
  28. package/dist/assets/SessionList-C_5GxI2E.js +1 -0
  29. package/dist/assets/SessionsDashboard-yTvoFIQH.js +1 -0
  30. package/dist/assets/SetupScreen-BCgcO4L-.js +1 -0
  31. package/dist/assets/SkillDetailView-BZ-xB1C6.js +3 -0
  32. package/dist/assets/TechStackView-DPmmgBtE.js +2 -0
  33. package/dist/assets/TerminalPanel-Cjineyx0.js +1 -0
  34. package/dist/assets/{activity-KXlU1-QD.js → activity-B6W4JEPC.js} +6 -6
  35. package/dist/assets/{activity-ClXUH80G.js → activity-BYWZhxvD.js} +6 -6
  36. package/dist/assets/{activity-B9cZQdVv.js → activity-C2ThLEx6.js} +6 -6
  37. package/dist/assets/{activity-ByjzcTzj.js → activity-Co3aH0eV.js} +6 -6
  38. package/dist/assets/{activity-DBsqMkAC.js → activity-D8QpThnB.js} +6 -6
  39. package/dist/assets/{activity-PRYzlsxa.js → activity-DBzijhvU.js} +6 -6
  40. package/dist/assets/{activity-DFMEXTAP.js → activity-DaNFfhdh.js} +6 -6
  41. package/dist/assets/{button-Bv5PYkY5.js → button-CN_h6kNT.js} +1 -1
  42. package/dist/assets/chat-store-Dl3XHXs8.js +1 -0
  43. package/dist/assets/codemap-activity-store-RqE4L9Os.js +1 -0
  44. package/dist/assets/common-5rSj2oHt.js +1 -0
  45. package/dist/assets/common-B5Uslzr2.js +1 -0
  46. package/dist/assets/common-BnhmJl6b.js +1 -0
  47. package/dist/assets/{common-BBHmIHQW.js → common-CmkkiJUR.js} +1 -1
  48. package/dist/assets/common-CpZ-DoXd.js +1 -0
  49. package/dist/assets/common-Ct-Iodid.js +1 -0
  50. package/dist/assets/common-D9w3BalB.js +1 -0
  51. package/dist/assets/config-store-Dq6MhrIA.js +22 -0
  52. package/dist/assets/{dialog-DyGu9hTX.js → dialog-DNsBc-EF.js} +1 -1
  53. package/dist/assets/{empty-state-Dy__H8vX.js → empty-state-BFPCt03_.js} +1 -1
  54. package/dist/assets/i18n-CRIAwjnX.js +3 -0
  55. package/dist/assets/index-BI1MMjfc.js +170 -0
  56. package/dist/assets/index-DO49jK02.css +1 -0
  57. package/dist/assets/{input-DdFYcw53.js → input-BnTFqRjn.js} +1 -1
  58. package/dist/assets/mailbox-store-CV5--Nmh.js +1 -0
  59. package/dist/assets/{markdown-BzXmcdZg.js → markdown-BzOXYqOo.js} +2 -2
  60. package/dist/assets/{monaco-LhToOuuW.js → monaco-COtIgMfE.js} +4 -4
  61. package/dist/assets/{monaco-theme-BOzs6u2L.js → monaco-theme-ruX2YdTu.js} +1 -1
  62. package/dist/assets/react-core-wiHys0m2.js +9 -0
  63. package/dist/assets/roster-ws-BviY2gOb.js +1 -0
  64. package/dist/assets/{shared-hOwESeA9.js → shared-h0I65HLY.js} +1 -1
  65. package/dist/assets/stores-BOo4b1ZG.js +7 -0
  66. package/dist/assets/{ts.worker-Dj4vg72D.js → ts.worker-9_CJKYKz.js} +16 -16
  67. package/dist/assets/ui-store-D2CzZVyU.js +1 -0
  68. package/dist/assets/utils-sO9lidp6.js +1 -0
  69. package/dist/assets/{vector-memory-panel-BK3Q4TEg.js → vector-memory-panel-BtQElVO4.js} +1 -1
  70. package/dist/assets/{vendor-CkMYDhDf.js → vendor-Cvuk-OYN.js} +27 -27
  71. package/dist/assets/view-navigation-Ca7VJMhX.js +1 -0
  72. package/dist/assets/{xyflow-BlkaZTzI.js → xyflow-BqDBClm9.js} +1 -1
  73. package/dist/components/ConfirmDialog.d.ts +4 -0
  74. package/dist/components/activity-bar/index.d.ts +29 -1
  75. package/dist/hooks/useDesktopBridge.d.ts +3 -1
  76. package/dist/hooks/ws-handlers/chat-handlers.d.ts +1 -0
  77. package/dist/index.html +19 -14
  78. package/dist/index.js +8121 -7670
  79. package/dist/lib/desktop-host.d.ts +3 -0
  80. package/dist/lib/ws-client.d.ts +4 -4
  81. package/dist/stores/chat-lanes.d.ts +1 -0
  82. package/dist/stores/ui-store-types.d.ts +17 -0
  83. package/dist/types/runtime.d.ts +11 -0
  84. package/dist/types/server-message.d.ts +2 -2
  85. package/package.json +9 -9
  86. package/dist/assets/AgentRosterView-CoD9SgNh.js +0 -12
  87. package/dist/assets/AnalyticsDashboard-SAH8yxTa.js +0 -1
  88. package/dist/assets/AudienceMemoryPanel-C_JHPr_q.js +0 -3
  89. package/dist/assets/ChangesView-BRdNlV9e.js +0 -1
  90. package/dist/assets/ChimeraReviewsView-B8ecsRM9.js +0 -1
  91. package/dist/assets/ChronicleDashboard-B2qq4Ax7.js +0 -1
  92. package/dist/assets/CodeEditor-B-zhjWYw.js +0 -2
  93. package/dist/assets/CodeMap-BgOJwRYK.js +0 -1
  94. package/dist/assets/CronJobsPanel-CsbjBcuL.js +0 -1
  95. package/dist/assets/DesignGalleryView-DFMq7qzt.js +0 -1
  96. package/dist/assets/GoalView-CHO3i5LQ.js +0 -1
  97. package/dist/assets/KanbanView-DxCgCuzq.js +0 -3
  98. package/dist/assets/MailboxDetailView-CjOZymFt.js +0 -1
  99. package/dist/assets/MemoryDrawer-DlTa24j0.js +0 -1
  100. package/dist/assets/MemoryManager-BvhuaBnp.js +0 -1
  101. package/dist/assets/ProcessMonitor-BB1j59e7.js +0 -1
  102. package/dist/assets/PromptJournalView-BxhsHl73.js +0 -1
  103. package/dist/assets/QueuePanel-SirB3W9f.js +0 -1
  104. package/dist/assets/RefreshDebugView-DVUmjUXS.js +0 -1
  105. package/dist/assets/RepositoryHistoryView-Cr-UBUel.js +0 -2
  106. package/dist/assets/SageTabs-Bb04xdXQ.js +0 -2
  107. package/dist/assets/SddHub-E6nNmKTl.js +0 -2
  108. package/dist/assets/SessionInspectView-M3HH5k-z.js +0 -1
  109. package/dist/assets/SessionList-BkRdBhqJ.js +0 -1
  110. package/dist/assets/SessionsDashboard-BW_sONY5.js +0 -1
  111. package/dist/assets/SetupScreen-CoQOGYNC.js +0 -1
  112. package/dist/assets/SkillDetailView-3YHXo_2F.js +0 -3
  113. package/dist/assets/TechStackView-Bs8OpeDl.js +0 -2
  114. package/dist/assets/TerminalPanel-Mv04uw-A.js +0 -1
  115. package/dist/assets/common-C3PzxyXg.js +0 -1
  116. package/dist/assets/common-CUWL8eNX.js +0 -1
  117. package/dist/assets/common-CvSB5NM3.js +0 -1
  118. package/dist/assets/common-DT2FL9xN.js +0 -1
  119. package/dist/assets/common-DuR5FTPN.js +0 -1
  120. package/dist/assets/common-xPePelft.js +0 -1
  121. package/dist/assets/i18n-CEYnEdVi.js +0 -2
  122. package/dist/assets/index-VSjrOYGx.css +0 -1
  123. package/dist/assets/index-r9OdFrxf.js +0 -176
  124. package/dist/assets/react-core-D0Ec-185.js +0 -9
  125. package/dist/assets/roster-ws-BDcOlcE2.js +0 -1
  126. package/dist/assets/ui-store-vtaLeTKu.js +0 -1
  127. package/dist/assets/utils-YeTxmVPQ.js +0 -1
  128. package/dist/assets/ws-client-BG2ZSPmv.js +0 -22
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-D0Ec-185.js";import{W as r,w as i}from"./vendor-CkMYDhDf.js";import{t as a}from"./utils-YeTxmVPQ.js";var o=e(t(),1),s=n(),c=i(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-[background-color,border-color,color,box-shadow,transform] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:translate-y-px`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-sm shadow-primary/15 hover:bg-primary/90 hover:shadow-md hover:shadow-primary/20`,destructive:`bg-destructive text-destructive-foreground shadow-sm shadow-destructive/15 hover:bg-destructive/90`,outline:`border border-input bg-card/70 shadow-sm hover:border-primary/35 hover:bg-accent/70 hover:text-accent-foreground`,secondary:`border border-border/60 bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80`,ghost:`hover:bg-accent/70 hover:text-accent-foreground`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-10 px-4 py-2`,sm:`h-9 rounded-md px-3`,lg:`h-11 rounded-md px-8`,icon:`h-10 w-10`}},defaultVariants:{variant:`default`,size:`default`}}),l=o.forwardRef(({className:e,variant:t,size:n,asChild:i=!1,...o},l)=>(0,s.jsx)(i?r:`button`,{className:a(c({variant:t,size:n,className:e})),ref:l,...o}));l.displayName=`Button`;export{l as t};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-wiHys0m2.js";import{W as r,w as i}from"./vendor-Cvuk-OYN.js";import{t as a}from"./utils-sO9lidp6.js";var o=e(t(),1),s=n(),c=i(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-[background-color,border-color,color,box-shadow,transform] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 active:translate-y-px`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-sm shadow-primary/15 hover:bg-primary/90 hover:shadow-md hover:shadow-primary/20`,destructive:`bg-destructive text-destructive-foreground shadow-sm shadow-destructive/15 hover:bg-destructive/90`,outline:`border border-input bg-card/70 shadow-sm hover:border-primary/35 hover:bg-accent/70 hover:text-accent-foreground`,secondary:`border border-border/60 bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80`,ghost:`hover:bg-accent/70 hover:text-accent-foreground`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-10 px-4 py-2`,sm:`h-9 rounded-md px-3`,lg:`h-11 rounded-md px-8`,icon:`h-10 w-10`}},defaultVariants:{variant:`default`,size:`default`}}),l=o.forwardRef(({className:e,variant:t,size:n,asChild:i=!1,...o},l)=>(0,s.jsx)(i?r:`button`,{className:a(c({variant:t,size:n,className:e})),ref:l,...o}));l.displayName=`Button`;export{l as t};
@@ -0,0 +1 @@
1
+ import{Ct as e,Dt as t,It as n,Lt as r,Mt as i,Tt as a,wt as o}from"./config-store-Dq6MhrIA.js";import{Fa as s}from"./vendor-Cvuk-OYN.js";var c=new WeakMap;function l(n){let r=c.get(n);if(r)return r;let i=n.activeSessionId,a=n.lanes[i]??e,o=t(i),s={messages:a.messages,currentAssistantMessageId:a.currentAssistantMessageId,currentToolId:a.currentToolId,isLoading:a.isLoading,abortController:a.abortController,executions:a.executions,toolMessageIdsByUseId:a.toolMessageIdsByUseId,queue:a.queue,runStart:a.runStart,refining:a.refining,pendingRefinement:a.pendingRefinement,thinkingBuffer:a.thinkingBuffer,thinkingStartedAt:a.thinkingStartedAt,thinkingLogBuffer:a.thinkingLogBuffer,thinkingLogStartedAt:a.thinkingLogStartedAt,boundSessionId:i===`__unbound__`?null:i,addMessage:o.addMessage,setMessages:o.setMessages,updateMessage:o.updateMessage,appendToMessage:o.appendToMessage,finalizeMessage:o.finalizeMessage,setToolResult:o.setToolResult,appendToolProgress:o.appendToolProgress,appendToolProgressLines:o.appendToolProgressLines,getToolMessageId:o.getToolMessageId,setToolResultByUseId:o.setToolResultByUseId,appendToolProgressLinesByUseId:o.appendToolProgressLinesByUseId,setLoading:o.setLoading,setAbortController:o.setAbortController,clearMessages:o.clearMessages,setBoundSessionId:u,setCurrentAssistantMessage:o.setCurrentAssistantMessage,setCurrentToolId:o.setCurrentToolId,truncateAfter:o.truncateAfter,addExecution:o.addExecution,updateExecution:o.updateExecution,enqueue:o.enqueue,dequeue:o.dequeue,dequeueDrainable:o.dequeueDrainable,removeQueued:o.removeQueued,clearQueue:o.clearQueue,setRefining:o.setRefining,setPendingRefinement:o.setPendingRefinement,removeMessage:o.removeMessage,updateLastUserMessage:o.updateLastUserMessage,setRunStart:o.setRunStart,appendThinking:o.appendThinking,clearThinking:o.clearThinking,flushThinkingLog:o.flushThinkingLog,clearThinkingLog:o.clearThinkingLog,switchSession:u};return c.set(n,s),s}function u(e){n(e)}function d(){return l(r.getState())}function f(e){let t=typeof e==`function`?e(d()):e;if(!t)return;let{boundSessionId:n,...r}=t;n!==void 0&&u(n);let s={},c={};for(let[e,t]of Object.entries(r))typeof t==`function`?c[e]=t:s[e]=t;Object.keys(s).length>0&&o().patch(s),Object.keys(c).length>0&&i(a(),c)}function p(e){return r.subscribe((t,n)=>e(l(t),l(n)))}var m=Object.assign(function(e){return s(r,t=>e(l(t)))},{getState:d,getInitialState:d,setState:f,subscribe:p,persist:r.persist});export{m as t};
@@ -0,0 +1 @@
1
+ import{Pa as e}from"./vendor-Cvuk-OYN.js";var t=8e3,n=2500,r=18e5,i=200,a=500,o={read:`read`,read_file:`read`,write:`write`,write_file:`write`,edit:`edit`,patch:`edit`,apply_patch:`edit`,replace:`edit`,delete:`delete`,delete_file:`delete`,remove:`delete`,grep:`search`,glob:`search`,search:`search`,"codebase-search":`search`,"codebase-index":`index`,remember:`memory`,forget:`memory`,memory_search:`memory`,memory_update:`memory`,memory_delete:`memory`};function s(e,t=``){return e===`rename`?`edit`:e in{read:1,write:1,edit:1,delete:1,search:1}?e:o[t]}function c(e){let t=[];for(let n of[`path`,`file`,`filePath`,`target`]){let r=e[n];typeof r==`string`&&t.push(r)}let n=e.files;if(typeof n==`string`&&t.push(n),Array.isArray(n))for(let e of n)typeof e==`string`&&t.push(e);return[...new Set(t)]}function l(e,t){let n=typeof t.old_string==`string`?t.old_string.trim():``,r=typeof t.new_string==`string`?t.new_string.trim():``;if(n||r)return`${n.replace(/\s+/g,` `).slice(0,42)||`∅`} → ${r.replace(/\s+/g,` `).slice(0,42)||`∅`}`;if(typeof t.patch==`string`){let n=d(t);return`${e} +${n?.added??0} −${n?.removed??0}`}let i=typeof t.content==`string`?t.content:void 0;if(i!==void 0){let t=i.length===0?0:i.split(/\r?\n/).length;return`${e} ${t} line${t===1?``:`s`}`}for(let e of[`query`,`pattern`,`old_string`,`new_string`,`text`,`command`]){let n=t[e];if(typeof n==`string`&&n.trim()){let t=n.trim().replace(/\s+/g,` `).slice(0,96);return e===`query`?`"${t}"`:e===`pattern`?`/${t}/`:e===`command`?`$ ${t}`:t}}return e}function u(e){return e.trim().replace(/\s+/g,` `).slice(0,72)}function d(e){let t=typeof e.old_string==`string`?e.old_string:void 0,n=typeof e.new_string==`string`?e.new_string:void 0;if(t!==void 0||n!==void 0){let e=t?t.split(/\r?\n/).length:0;return{added:n?n.split(/\r?\n/).length:0,removed:e,...t?{before:u(t)}:{},...n?{after:u(n)}:{}}}let r=typeof e.patch==`string`?e.patch:void 0;if(r){let e=r.split(/\r?\n/),t=e.filter(e=>e.startsWith(`+`)&&!e.startsWith(`+++`)),n=e.filter(e=>e.startsWith(`-`)&&!e.startsWith(`---`));return{added:t.length,removed:n.length,...n[0]?{before:u(n[0].slice(1))}:{},...t[0]?{after:u(t[0].slice(1))}:{}}}let i=typeof e.content==`string`?e.content:void 0;if(i!==void 0)return{added:i.length===0?0:i.split(/\r?\n/).length,removed:0,...i?{after:u(i)}:{}}}function f(e){let t=e.status??`observed`;return{...e,id:e.id??`${e.toolUseId??`event`}:${e.filePath}:${e.timestamp}`,status:t,source:e.source??`legacy`,agentName:e.agentName??e.agent,agent:e.agent??e.agentName}}function p(e,t){let n=e.get(t.filePath)??[];if(e.set(t.filePath,[t,...n].slice(0,i)),e.size<=a)return;let r=[...e.entries()].sort((e,t)=>(e[1][0]?.timestamp??0)-(t[1][0]?.timestamp??0))[0]?.[0];r&&e.delete(r)}function m(e){return`${e.sessionId??`unscoped`}:${e.agentId??e.agentName??e.agent??`external`}`}function h(e){let t=new Map;for(let n of e){let e=n.agentId??`external`,r=n.agentName??n.agent??`External process`,i=n.sessionId??`unscoped`,a=m(n),o=t.get(a);o?(o.operations.push(n),o.startedAt=Math.min(o.startedAt,n.timestamp)):t.set(a,{key:a,agentId:e,agentName:r,sessionId:i,operations:[n],startedAt:n.timestamp})}return[...t.values()].sort((e,t)=>e.startedAt-t.startedAt)}function g(e,t,n){let r=String(e.name??`unknown`),i=e.input&&typeof e.input==`object`?e.input:{},a=Date.now(),o=String(e.id??`${r}:${a}`),c=d(i);return(t.length>0?t:[{filePath:`(tool:${r})`,operation:`execute`}]).map((u,d)=>({id:`${o}:${d}`,toolUseId:o,filePath:u.filePath,type:u.operation===`execute`?`execute`:s(u.operation,r)??`edit`,toolName:r,summary:l(r,i),timestamp:a,status:n,source:`tool`,attribution:t.length>0?`exact`:`correlated`,...c?{change:c}:{},sessionId:typeof e.sessionId==`string`?e.sessionId:void 0,traceId:typeof e.traceId==`string`?e.traceId:void 0,agentId:typeof e.agentId==`string`?e.agentId:`leader`,agentName:typeof e.agentName==`string`?e.agentName:`LEADER`,...u.line?{line:u.line}:{},...u.endLine?{endLine:u.endLine}:{}}))}function _(e){let t=e.payload??{};if(e.type===`tool.started`||e.type===`tool.executed`||e.type===`codemap.tool_started`||e.type===`codemap.tool_executed`)return g(t,Array.isArray(t.fileTargets)?t.fileTargets:c(t.input&&typeof t.input==`object`?t.input:{}).map(e=>({filePath:e,operation:o[String(t.name??``)]??`edit`})),e.type===`tool.started`||e.type===`codemap.tool_started`?`active`:`completed`);if(e.type===`provider.response`){let e=t.blocks;if(!Array.isArray(e))return[];let n=[];for(let t of e){if(!t||typeof t!=`object`)continue;let e=t;if(e.type!==`tool_use`)continue;let r=String(e.name??``),i=o[r];if(!i)continue;let a=e.input&&typeof e.input==`object`?e.input:{},s=c(a),u=Date.now();s.length===0&&(i===`memory`||i===`search`||i===`index`)&&s.push(`(global)`);for(let e of s)n.push({filePath:e,type:i,toolName:r,summary:l(r,a),timestamp:u})}return n}if(e.type===`tool.progress`){let e=t.event&&typeof t.event==`object`?t.event:void 0;if(e?.type!==`file_changed`||typeof e.path!=`string`)return[];let n=String(e.operation??`edit`);return[{id:`${String(t.id??`progress`)}:${e.path}:${Date.now()}`,toolUseId:typeof t.id==`string`?t.id:void 0,filePath:e.path,type:s(n)??`edit`,toolName:String(t.name??`deterministic-tool`),summary:String(e.text??`tool reported file change`),timestamp:Date.now(),status:`active`,source:`deterministic`,sessionId:typeof t.sessionId==`string`?t.sessionId:void 0,traceId:typeof t.traceId==`string`?t.traceId:void 0,agentId:typeof t.agentId==`string`?t.agentId:void 0,agentName:typeof t.agentName==`string`?t.agentName:void 0,line:typeof e.line==`number`?e.line:void 0,endLine:typeof e.endLine==`number`?e.endLine:void 0,attribution:`exact`}]}if(e.type===`codemap.file_event`){let e=s(String(t.operation??`edit`))??`edit`;return typeof t.filePath==`string`?[{filePath:t.filePath,type:e,toolName:typeof t.toolName==`string`?t.toolName:String(t.source??`watcher`),summary:`${String(t.source??`external`)} ${String(t.operation??`changed`)}`,timestamp:typeof t.at==`number`?t.at:Date.now(),status:t.phase===`started`?`active`:`observed`,source:t.source??`external`,sessionId:typeof t.sessionId==`string`?t.sessionId:void 0,traceId:typeof t.traceId==`string`?t.traceId:void 0,agentId:typeof t.agentId==`string`?t.agentId:void 0,agentName:typeof t.agentName==`string`?t.agentName:void 0,toolUseId:typeof t.toolUseId==`string`?t.toolUseId:void 0,line:typeof t.line==`number`?t.line:void 0,endLine:typeof t.endLine==`number`?t.endLine:void 0}]:[]}return e.type===`file.saved`&&typeof t.filePath==`string`?[{filePath:t.filePath,type:`write`,toolName:`save`,summary:``,timestamp:Date.now(),source:`editor`}]:e.type===`memory.event`&&typeof t.event==`string`?[{filePath:`(memory)`,type:`memory`,toolName:`memory.${t.event}`,summary:String(t.memoryId??``),timestamp:Date.now()}]:[]}var v=e((e,i)=>({history:new Map,pulses:new Map,activeOperations:new Map,totalCount:0,recordActivity(n){let r=f(n);e(e=>{let n=new Map(e.history),i=new Map(e.pulses);return p(n,r),i.set(r.filePath,Date.now()+t),{history:n,pulses:i,totalCount:e.totalCount+1}})},startActivities(n){if(n.length===0)return;let r=n.map(e=>f({...e,status:`active`}));e(e=>{let n=new Map(e.history),i=new Map(e.pulses),a=new Map(e.activeOperations);for(let e of r)if(p(n,e),i.set(e.filePath,Date.now()+t),e.toolUseId){let t=a.get(e.toolUseId)??[];a.set(e.toolUseId,[...t,e])}return{history:n,pulses:i,activeOperations:a,totalCount:e.totalCount+r.length}})},finishTool(n,r){let i=r.timestamp??Date.now();e(e=>{let a=e.activeOperations.get(n)??[];if(a.length===0)return e;let o=new Map(e.history),s=new Map(e.pulses);for(let e of a){let a=o.get(e.filePath)??[];o.set(e.filePath,a.map(e=>e.toolUseId===n?{...e,status:r.ok?`completed`:`failed`,ok:r.ok,completedAt:i,durationMs:r.durationMs??i-e.timestamp}:e)),s.set(e.filePath,Date.now()+t)}let c=new Map(e.activeOperations);return c.delete(n),{history:o,pulses:s,activeOperations:c}})},recordFileEvent(r){let i=f({...r,attribution:r.attribution??(r.agentId?`exact`:`external`)});e(e=>{let r=(e.history.get(i.filePath)??[]).find(e=>e.source!==`watcher`&&e.source!==`external`&&Math.abs(i.timestamp-e.timestamp)<=n);if(r){let n=new Map(e.history);n.set(i.filePath,(n.get(i.filePath)??[]).map(e=>e.id===r.id?{...e,watcherConfirmed:e.watcherConfirmed||i.source===`watcher`||i.source===`editor`}:e));let a=new Map(e.pulses);return a.set(i.filePath,Date.now()+t),{history:n,pulses:a}}let a=i.toolUseId?e.activeOperations.get(i.toolUseId):void 0;if(a&&a.length>0){let n=a[0],r=f({...i,status:`active`,source:i.source??`deterministic`,sessionId:i.sessionId??n.sessionId,traceId:i.traceId??n.traceId,agentId:i.agentId??n.agentId,agentName:i.agentName??n.agentName,agent:i.agent??n.agent,attribution:`exact`}),o=new Map(e.history),s=new Map(e.pulses),c=new Map(e.activeOperations);return p(o,r),s.set(r.filePath,Date.now()+t),c.set(i.toolUseId,[...a,r]),{history:o,pulses:s,activeOperations:c,totalCount:e.totalCount+1}}let o=[...e.activeOperations.values()].flat().filter(e=>e.filePath.startsWith(`(tool:`)&&Math.abs(i.timestamp-e.timestamp)<=3e5);if(o.length===1){let n=o[0],r=f({...i,id:`${n.toolUseId}:${i.filePath}:${i.timestamp}`,toolUseId:n.toolUseId,toolName:n.toolName,summary:`${n.toolName} → filesystem ${i.type}`,status:`active`,source:`deterministic`,sessionId:n.sessionId,traceId:n.traceId,agentId:n.agentId,agentName:n.agentName,agent:n.agent,watcherConfirmed:!0,attribution:`correlated`}),a=new Map(e.history),s=new Map(e.pulses),c=new Map(e.activeOperations);if(p(a,r),s.set(r.filePath,Date.now()+t),r.toolUseId){let e=c.get(r.toolUseId)??[];c.set(r.toolUseId,[...e,r])}return{history:a,pulses:s,activeOperations:c,totalCount:e.totalCount+1}}let s=new Map(e.history),c=new Map(e.pulses);return p(s,i),c.set(i.filePath,Date.now()+t),{history:s,pulses:c,totalCount:e.totalCount+1}})},resolveActivitySymbol(t,n,r){e(e=>{let i=new Map(e.history);i.set(n,(i.get(n)??[]).map(e=>e.toolUseId===t?{...e,symbol:r}:e));let a=new Map(e.activeOperations),o=a.get(t);return o&&a.set(t,o.map(e=>e.filePath===n?{...e,symbol:r}:e)),{history:i,activeOperations:a}})},getActivityForFile(e){return i().history.get(e)??[]},getActiveForFile(e){return[...i().activeOperations.values()].flat().filter(t=>t.filePath===e)},getActiveOperations(){return[...i().activeOperations.values()].flat()},getAgentPresences(){return h(i().getActiveOperations())},getPulsingFiles(){return i()._sweep(),new Set(i().pulses.keys())},getPulseType(e){if(i()._sweep(),i().pulses.has(e))return i().history.get(e)?.[0]?.type},clear(){e({history:new Map,pulses:new Map,activeOperations:new Map,totalCount:0})},_sweep(){let t=Date.now(),n=[...i().pulses].filter(([,e])=>e<t).map(([e])=>e),a=[...i().activeOperations].filter(([,e])=>e.every(e=>t-e.timestamp>r)).map(([e])=>e);(n.length!==0||a.length!==0)&&e(e=>{let r=new Map(e.pulses);for(let e of n)r.delete(e);if(a.length===0)return{pulses:r};let i=new Map(e.history),o=new Map(e.activeOperations);for(let e of a){for(let n of o.get(e)??[])i.set(n.filePath,(i.get(n.filePath)??[]).map(n=>n.toolUseId===e?{...n,status:`failed`,ok:!1,completedAt:t,durationMs:t-n.timestamp,summary:`${n.summary||n.toolName} · telemetry timeout`}:n));o.delete(e)}return{pulses:r,history:i,activeOperations:o}})}}));export{v as i,_ as n,h as r,m as t};
@@ -0,0 +1 @@
1
+ var e={ok:`Tamam`,cancel:`İptal`,create:`Oluştur`,save:`Kaydet`,saved:`Kaydedildi`,dismiss:`Dismiss`,close:`Kapat`,yes:`Evet`,no:`Hayır`,delete:`Sil`,remove:`Kaldır`,add:`Ekle`,edit:`Düzenle`,rename:`Yeniden adlandır`,retry:`Yeniden dene`,reset:`Sıfırla`,apply:`Uygula`,confirm:`Onayla`,back:`Geri`,next:`İleri`,done:`Bitti`,refresh:`Yenile`,copy:`Kopyala`,copied:`Kopyalandı`,copyFailed:`Kopyalanamadı — pano erişimi engellendi.`,open:`Aç`,start:`Başlat`,stop:`Durdur`,pause:`Duraklat`,resume:`Sürdür`,continue:`Devam et`,clear:`Temizle`,search:`Ara`,loading:`Yükleniyor…`,saving:`Kaydediliyor…`,searchPlaceholder:`Ara…`,always:`Her zaman`,deny:`Reddet`,undo:`Geri al`,all:`Tümü`},t={title:`Onay gerekli: {{tool}}`,descriptionEdit:`Vekil bir dosyayı değiştirmek istiyor. Aşağıdaki isteği inceleyin ve devam edip etmeyeceğinize karar verin.`,descriptionTool:`Vekil bu aracı çalıştırmak istiyor. Aşağıdaki isteği inceleyin ve devam edip etmeyeceğinize karar verin.`,fileModification:`Dosya değişikliği`,toolExecution:`Araç çalıştırma`,riskSuffix:`{{risk}} risk`,command:`Komut`,inputLabel:`Girdi:`,trustSuggestionTitle:`Güven kalıbı önerisi`,trustSuggestionHint:`Her Zaman'ı seçmek, bu proje için eşleşen çağrıları beyaz listeye alır.`,yoloDestructiveNote:`YOLO açık. Bu onay yine de gösteriliyor çünkü istek yıkıcı olarak sınıflandırıldı.`,brainCountdown:`Onayın bekleniyor · Brain {{time}} sonra devralacak`,brainDeciding:`Süre doldu · Brain karar veriyor…`,skipApprovalsTitle:`Sonraki onayları atla`,skipApprovalsHint:`YOLO modunu etkinleştir; vekil izin istemeden çalışır. Yıkıcı işlemler yine de onay ister.`,enableYoloTitle:`YOLO modunu etkinleştir (bu ve gelecekteki yıkıcı olmayan çağrıları otomatik onayla)`,enableYoloBtn:`YOLO'yu etkinleştir`,denyAlways:`Her zaman reddet`,denyAlwaysTitle:`Bu ve kalıpla eşleşen tüm gelecek çağrıları reddet (d)`,noTitle:`Bu tek çağrıyı reddet (Esc / n)`,alwaysTitle:`Onayla ve kalıbı proje için hatırla (a)`,yesTitle:`Bu tek çağrıyı onayla (y)`},n={connected:`Bağlı`,disconnected:`Bağlı değil`,notConnectedRetry:`Sunucuya bağlı değil — bağlantı kurulunca tekrar deneyin.`,connecting:`Bağlanıyor…`,reconnecting:`Yeniden bağlanıyor…`,ready:`Hazır`,error:`Hata`,offline:`Çevrimdışı`,online:`Çevrimiçi`,live:`Canlı`,budgetWarning:`bütçe uyarısı`,running:`Çalışıyor`,inProgress:`Devam ediyor`,working:`çalışıyor`},r={justNow:`az önce`,secondsAgo_one:`{{count}} saniye önce`,secondsAgo_other:`{{count}} saniye önce`,minutesAgo_one:`{{count}} dakika önce`,minutesAgo_other:`{{count}} dakika önce`,hoursAgo_one:`{{count}} saat önce`,hoursAgo_other:`{{count}} saat önce`,daysAgo_one:`{{count}} gün önce`,daysAgo_other:`{{count}} gün önce`,compactSecondsAgo:`{{count}} sn önce`,compactMinutesAgo:`{{count}} dk önce`,compactHoursAgo:`{{count}} sa önce`},i={title:`Bir şeyler ters gitti`,body:`Bir oluşturma hatası oluştu. Oturumunuz sunucuda hâlâ etkin — yeniden yüklemek kaldığınız yerden devam eder.`,reload:`Sayfayı yeniden yükle`,tryAgain:`Tekrar dene`,panelTitle:`{{name}} bir hatayla karşılaştı`},a={noActivity:`Etkinlik yok`,noActivityYet:`Henüz etkinlik yok`,activityMax:`Etkinlik sparkline: en fazla {{count}} olay`,activityPeak:`Etkinlik sparkline — tepe {{count}} olay/kova`},o=`{{name}} yükleniyor…`,s={action:e,confirm:t,status:n,time:r,error:i,sparkline:a,loadingNamed:o};export{e as action,t as confirm,s as default,i as error,o as loadingNamed,a as sparkline,n as status,r as time};
@@ -0,0 +1 @@
1
+ var e={ok:`OK`,cancel:`Cancelar`,create:`Crear`,save:`Guardar`,saved:`Guardado`,dismiss:`Dismiss`,close:`Cerrar`,yes:`Sí`,no:`No`,delete:`Eliminar`,remove:`Quitar`,add:`Añadir`,edit:`Editar`,rename:`Renombrar`,retry:`Reintentar`,reset:`Restablecer`,apply:`Aplicar`,confirm:`Confirmar`,back:`Atrás`,next:`Siguiente`,done:`Hecho`,refresh:`Actualizar`,copy:`Copiar`,copied:`Copiado`,copyFailed:`Error al copiar: acceso al portapapeles bloqueado.`,open:`Abrir`,start:`Iniciar`,stop:`Detener`,pause:`Pausar`,resume:`Reanudar`,continue:`Continuar`,clear:`Limpiar`,search:`Buscar`,loading:`Cargando…`,saving:`Guardando…`,searchPlaceholder:`Buscar…`,always:`Siempre`,deny:`Denegar`,undo:`Deshacer`,all:`Todos`},t={title:`Aprobación requerida: {{tool}}`,descriptionEdit:`El agente quiere modificar un archivo. Revisa la solicitud a continuación y decide si deseas continuar.`,descriptionTool:`El agente quiere ejecutar esta herramienta. Revisa la solicitud a continuación y decide si deseas continuar.`,fileModification:`Modificación de archivo`,toolExecution:`Ejecución de herramienta`,riskSuffix:`riesgo {{risk}}`,command:`Comando`,inputLabel:`Entrada:`,trustSuggestionTitle:`Sugerencia de patrón de confianza`,trustSuggestionHint:`Elegir Siempre añadirá a la lista de permitidas las llamadas coincidentes para este proyecto.`,yoloDestructiveNote:`YOLO está activado. Este aviso se sigue mostrando porque la solicitud se clasificó como destructiva.`,brainCountdown:`Esperando tu aprobación · Brain tomará el control en {{time}}`,brainDeciding:`Tiempo agotado · Brain está decidiendo…`,skipApprovalsTitle:`Omitir aprobaciones futuras`,skipApprovalsHint:`Activa el modo YOLO y el agente ejecuta sin preguntar. Las operaciones destructivas siguen solicitando confirmación.`,enableYoloTitle:`Activar modo YOLO (aprobar automáticamente esta y futuras llamadas no destructivas)`,enableYoloBtn:`Activar YOLO`,denyAlways:`Denegar siempre`,denyAlwaysTitle:`Rechazar esta y todas las futuras llamadas que coincidan con el patrón (d)`,noTitle:`Rechazar solo esta llamada (Esc / n)`,alwaysTitle:`Aprobar y recordar el patrón para el proyecto (a)`,yesTitle:`Aprobar solo esta llamada (y)`},n={connected:`Conectado`,disconnected:`Desconectado`,notConnectedRetry:`Sin conexión con el servidor: inténtalo de nuevo al reconectar.`,connecting:`Conectando…`,reconnecting:`Reconectando…`,ready:`Listo`,error:`Error`,offline:`Sin conexión`,online:`En línea`,live:`En vivo`,budgetWarning:`alerta de presupuesto`,running:`En ejecución`,inProgress:`En progreso`,working:`trabajando`},r={justNow:`justo ahora`,secondsAgo_one:`hace {{count}} segundo`,secondsAgo_other:`hace {{count}} segundos`,minutesAgo_one:`hace {{count}} minuto`,minutesAgo_other:`hace {{count}} minutos`,hoursAgo_one:`hace {{count}} hora`,hoursAgo_other:`hace {{count}} horas`,daysAgo_one:`hace {{count}} día`,daysAgo_other:`hace {{count}} días`,compactSecondsAgo:`hace {{count}} s`,compactMinutesAgo:`hace {{count}} min`,compactHoursAgo:`hace {{count}} h`},i={title:`Algo salió mal`,body:`Ocurrió un error de renderizado. Tu sesión sigue activa en el servidor — recargar continuará donde lo dejaste.`,reload:`Recargar página`,tryAgain:`Reintentar`,panelTitle:`{{name}} encontró un error`},a={noActivity:`Sin actividad`,noActivityYet:`Aún sin actividad`,activityMax:`Sparkline de actividad: máx {{count}} eventos`,activityPeak:`Sparkline de actividad — pico {{count}} eventos/intervalo`},o=`Cargando {{name}}…`,s={action:e,confirm:t,status:n,time:r,error:i,sparkline:a,loadingNamed:o};export{e as action,t as confirm,s as default,i as error,o as loadingNamed,a as sparkline,n as status,r as time};
@@ -0,0 +1 @@
1
+ var e={ok:`OK`,cancel:`Annulla`,create:`Crea`,save:`Salva`,saved:`Salvato`,dismiss:`Dismiss`,close:`Chiudi`,yes:`Sì`,no:`No`,delete:`Elimina`,remove:`Rimuovi`,add:`Aggiungi`,edit:`Modifica`,rename:`Rinomina`,retry:`Riprova`,reset:`Ripristina`,apply:`Applica`,confirm:`Conferma`,back:`Indietro`,next:`Avanti`,done:`Fatto`,refresh:`Aggiorna`,copy:`Copia`,copied:`Copiato`,copyFailed:`Copia non riuscita — accesso agli appunti bloccato.`,open:`Apri`,start:`Avvia`,stop:`Ferma`,pause:`Sospendi`,resume:`Riprendi`,continue:`Continua`,clear:`Cancella`,search:`Cerca`,loading:`Caricamento…`,saving:`Salvataggio…`,searchPlaceholder:`Cerca…`,always:`Sempre`,deny:`Nega`,undo:`Annulla`,all:`Tutti`},t={title:`Approvazione richiesta: {{tool}}`,descriptionEdit:`L'agente vuole modificare un file. Rivedi la richiesta qui sotto e decidi se procedere.`,descriptionTool:`L'agente vuole eseguire questo strumento. Rivedi la richiesta qui sotto e decidi se procedere.`,fileModification:`Modifica file`,toolExecution:`Esecuzione strumento`,riskSuffix:`Rischio {{risk}}`,command:`Comando`,inputLabel:`Input:`,trustSuggestionTitle:`Suggerimento pattern attendibile`,trustSuggestionHint:`Scegliendo Sempre le chiamate corrispondenti verranno aggiunte all'allowlist per questo progetto.`,yoloDestructiveNote:`YOLO è attivo. Questo prompt viene comunque mostrato perché la richiesta è stata classificata come distruttiva.`,brainCountdown:`In attesa della tua approvazione · Brain subentrerà tra {{time}}`,brainDeciding:`Tempo scaduto · Brain sta decidendo…`,skipApprovalsTitle:`Salta le approvazioni future`,skipApprovalsHint:`Abilita la modalità YOLO e l'agente procede senza chiedere. Le operazioni distruttive richiedono comunque conferma.`,enableYoloTitle:`Abilita la modalità YOLO (approva automaticamente questa e le future chiamate non distruttive)`,enableYoloBtn:`Abilita YOLO`,denyAlways:`Nega sempre`,denyAlwaysTitle:`Rifiuta questa e tutte le future chiamate corrispondenti al pattern (d)`,noTitle:`Rifiuta questa singola chiamata (Esc / n)`,alwaysTitle:`Approva e ricorda il pattern per il progetto (a)`,yesTitle:`Approva questa singola chiamata (y)`},n={connected:`Connesso`,disconnected:`Disconnesso`,notConnectedRetry:`Non connesso al server — riprova dopo la riconnessione.`,connecting:`Connessione…`,reconnecting:`Riconnessione…`,ready:`Pronto`,error:`Errore`,offline:`Offline`,online:`Online`,live:`Live`,budgetWarning:`avviso budget`,running:`In corso`,inProgress:`In corso`,working:`lavora`},r={justNow:`adesso`,secondsAgo_one:`{{count}} secondo fa`,secondsAgo_other:`{{count}} secondi fa`,minutesAgo_one:`{{count}} minuto fa`,minutesAgo_other:`{{count}} minuti fa`,hoursAgo_one:`{{count}} ora fa`,hoursAgo_other:`{{count}} ore fa`,daysAgo_one:`{{count}} giorno fa`,daysAgo_other:`{{count}} giorni fa`,compactSecondsAgo:`{{count}} s fa`,compactMinutesAgo:`{{count}} min fa`,compactHoursAgo:`{{count}} h fa`},i={title:`Qualcosa è andato storto`,body:`Si è verificato un errore di rendering. La tua sessione è ancora attiva sul server — ricaricare riprenderà da dove eri rimasto.`,reload:`Ricarica pagina`,tryAgain:`Riprova`,panelTitle:`{{name}} ha riscontrato un errore`},a={noActivity:`Nessuna attività`,noActivityYet:`Nessuna attività ancora`,activityMax:`Sparkline attività: max {{count}} eventi`,activityPeak:`Sparkline attività — picco {{count}} eventi/intervallo`},o=`Caricamento di {{name}}…`,s={action:e,confirm:t,status:n,time:r,error:i,sparkline:a,loadingNamed:o};export{e as action,t as confirm,s as default,i as error,o as loadingNamed,a as sparkline,n as status,r as time};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-hePW80VL.js";var t=e({action:()=>n,confirm:()=>r,default:()=>l,error:()=>o,loadingNamed:()=>c,sparkline:()=>s,status:()=>i,time:()=>a}),n={ok:`OK`,cancel:`Cancel`,create:`Create`,save:`Save`,saved:`Saved`,close:`Close`,dismiss:`Dismiss`,yes:`Yes`,no:`No`,delete:`Delete`,remove:`Remove`,add:`Add`,edit:`Edit`,rename:`Rename`,retry:`Retry`,reset:`Reset`,apply:`Apply`,confirm:`Confirm`,back:`Back`,next:`Next`,done:`Done`,refresh:`Refresh`,copy:`Copy`,copied:`Copied`,copyFailed:`Copy failed — clipboard access was blocked.`,open:`Open`,start:`Start`,stop:`Stop`,pause:`Pause`,resume:`Resume`,continue:`Continue`,clear:`Clear`,search:`Search`,loading:`Loading…`,saving:`Saving…`,searchPlaceholder:`Search…`,always:`Always`,deny:`Deny`,undo:`Undo`,all:`All`},r={title:`Approval required: {{tool}}`,descriptionEdit:`The agent wants to modify a file. Review the request below and decide whether to proceed.`,descriptionTool:`The agent wants to run this tool. Review the request below and decide whether to proceed.`,fileModification:`File modification`,toolExecution:`Tool execution`,riskSuffix:`{{risk}} risk`,command:`Command`,inputLabel:`Input:`,trustSuggestionTitle:`Trust pattern suggestion`,trustSuggestionHint:`Picking Always will whitelist matching calls for this project.`,yoloDestructiveNote:`YOLO is on. This prompt is still shown because the request was classified as destructive.`,skipApprovalsTitle:`Skip future approvals`,skipApprovalsHint:`Enable YOLO mode and the agent runs without asking. Destructive operations still ask for confirmation.`,enableYoloTitle:`Enable YOLO mode (auto-approve this and future non-destructive calls)`,enableYoloBtn:`Enable YOLO`,denyAlways:`Deny always`,denyAlwaysTitle:`Reject this and all future calls matching the pattern (d)`,noTitle:`Reject this single call (Esc / n)`,alwaysTitle:`Approve and remember the pattern for the project (a)`,yesTitle:`Approve this single call (y)`},i={connected:`Connected`,disconnected:`Disconnected`,notConnectedRetry:`Not connected to the server — try again once reconnected.`,connecting:`Connecting…`,reconnecting:`Reconnecting…`,ready:`Ready`,error:`Error`,offline:`Offline`,online:`Online`,live:`Live`,budgetWarning:`budget warning`,running:`Running`,inProgress:`In Progress`,working:`working`},a={justNow:`just now`,secondsAgo_one:`{{count}} second ago`,secondsAgo_other:`{{count}} seconds ago`,minutesAgo_one:`{{count}} minute ago`,minutesAgo_other:`{{count}} minutes ago`,hoursAgo_one:`{{count}} hour ago`,hoursAgo_other:`{{count}} hours ago`,daysAgo_one:`{{count}} day ago`,daysAgo_other:`{{count}} days ago`,compactSecondsAgo:`{{count}}s ago`,compactMinutesAgo:`{{count}}m ago`,compactHoursAgo:`{{count}}h ago`},o={title:`Something went wrong`,body:`A rendering error occurred. Your session is still active on the server — reloading will pick up where you left off.`,reload:`Reload page`,tryAgain:`Try again`,panelTitle:`{{name}} hit an error`},s={noActivity:`No activity`,noActivityYet:`No activity yet`,activityMax:`Activity sparkline: max {{count}} events`,activityPeak:`Activity sparkline — peak {{count}} events/bucket`},c=`Loading {{name}}…`,l={action:n,confirm:r,status:i,time:a,error:o,sparkline:s,loadingNamed:c};export{t as n,l as t};
1
+ import{n as e}from"./rolldown-runtime-hePW80VL.js";var t=e({action:()=>n,confirm:()=>r,default:()=>l,error:()=>o,loadingNamed:()=>c,sparkline:()=>s,status:()=>i,time:()=>a}),n={ok:`OK`,cancel:`Cancel`,create:`Create`,save:`Save`,saved:`Saved`,close:`Close`,dismiss:`Dismiss`,yes:`Yes`,no:`No`,delete:`Delete`,remove:`Remove`,add:`Add`,edit:`Edit`,rename:`Rename`,retry:`Retry`,reset:`Reset`,apply:`Apply`,confirm:`Confirm`,back:`Back`,next:`Next`,done:`Done`,refresh:`Refresh`,copy:`Copy`,copied:`Copied`,copyFailed:`Copy failed — clipboard access was blocked.`,open:`Open`,start:`Start`,stop:`Stop`,pause:`Pause`,resume:`Resume`,continue:`Continue`,clear:`Clear`,search:`Search`,loading:`Loading…`,saving:`Saving…`,searchPlaceholder:`Search…`,always:`Always`,deny:`Deny`,undo:`Undo`,all:`All`},r={title:`Approval required: {{tool}}`,descriptionEdit:`The agent wants to modify a file. Review the request below and decide whether to proceed.`,descriptionTool:`The agent wants to run this tool. Review the request below and decide whether to proceed.`,fileModification:`File modification`,toolExecution:`Tool execution`,riskSuffix:`{{risk}} risk`,command:`Command`,inputLabel:`Input:`,trustSuggestionTitle:`Trust pattern suggestion`,trustSuggestionHint:`Picking Always will whitelist matching calls for this project.`,yoloDestructiveNote:`YOLO is on. This prompt is still shown because the request was classified as destructive.`,brainCountdown:`Waiting for your approval · Brain takes over in {{time}}`,brainDeciding:`Time expired · Brain is deciding…`,skipApprovalsTitle:`Skip future approvals`,skipApprovalsHint:`Enable YOLO mode and the agent runs without asking. Destructive operations still ask for confirmation.`,enableYoloTitle:`Enable YOLO mode (auto-approve this and future non-destructive calls)`,enableYoloBtn:`Enable YOLO`,denyAlways:`Deny always`,denyAlwaysTitle:`Reject this and all future calls matching the pattern (d)`,noTitle:`Reject this single call (Esc / n)`,alwaysTitle:`Approve and remember the pattern for the project (a)`,yesTitle:`Approve this single call (y)`},i={connected:`Connected`,disconnected:`Disconnected`,notConnectedRetry:`Not connected to the server — try again once reconnected.`,connecting:`Connecting…`,reconnecting:`Reconnecting…`,ready:`Ready`,error:`Error`,offline:`Offline`,online:`Online`,live:`Live`,budgetWarning:`budget warning`,running:`Running`,inProgress:`In Progress`,working:`working`},a={justNow:`just now`,secondsAgo_one:`{{count}} second ago`,secondsAgo_other:`{{count}} seconds ago`,minutesAgo_one:`{{count}} minute ago`,minutesAgo_other:`{{count}} minutes ago`,hoursAgo_one:`{{count}} hour ago`,hoursAgo_other:`{{count}} hours ago`,daysAgo_one:`{{count}} day ago`,daysAgo_other:`{{count}} days ago`,compactSecondsAgo:`{{count}}s ago`,compactMinutesAgo:`{{count}}m ago`,compactHoursAgo:`{{count}}h ago`},o={title:`Something went wrong`,body:`A rendering error occurred. Your session is still active on the server — reloading will pick up where you left off.`,reload:`Reload page`,tryAgain:`Try again`,panelTitle:`{{name}} hit an error`},s={noActivity:`No activity`,noActivityYet:`No activity yet`,activityMax:`Activity sparkline: max {{count}} events`,activityPeak:`Activity sparkline — peak {{count}} events/bucket`},c=`Loading {{name}}…`,l={action:n,confirm:r,status:i,time:a,error:o,sparkline:s,loadingNamed:c};export{t as n,l as t};
@@ -0,0 +1 @@
1
+ var e={ok:`OK`,cancel:`Abbrechen`,create:`Erstellen`,save:`Speichern`,saved:`Gespeichert`,dismiss:`Dismiss`,close:`Schließen`,yes:`Ja`,no:`Nein`,delete:`Löschen`,remove:`Entfernen`,add:`Hinzufügen`,edit:`Bearbeiten`,rename:`Umbenennen`,retry:`Erneut versuchen`,reset:`Zurücksetzen`,apply:`Anwenden`,confirm:`Bestätigen`,back:`Zurück`,next:`Weiter`,done:`Fertig`,refresh:`Aktualisieren`,copy:`Kopieren`,copied:`Kopiert`,copyFailed:`Kopieren fehlgeschlagen — Zugriff auf die Zwischenablage blockiert.`,open:`Öffnen`,start:`Starten`,stop:`Stopp`,pause:`Pausieren`,resume:`Fortsetzen`,continue:`Weiter`,clear:`Leeren`,search:`Suchen`,loading:`Lädt…`,saving:`Wird gespeichert…`,searchPlaceholder:`Suchen…`,always:`Immer`,deny:`Ablehnen`,undo:`Rückgängig`,all:`Alle`},t={title:`Freigabe erforderlich: {{tool}}`,descriptionEdit:`Der Agent möchte eine Datei ändern. Überprüfe die Anfrage unten und entscheide, ob du fortfahren möchtest.`,descriptionTool:`Der Agent möchte dieses Tool ausführen. Überprüfe die Anfrage unten und entscheide, ob du fortfahren möchtest.`,fileModification:`Dateiänderung`,toolExecution:`Tool-Ausführung`,riskSuffix:`{{risk}} Risiko`,command:`Befehl`,inputLabel:`Eingabe:`,trustSuggestionTitle:`Vorschlag für Vertrauensmuster`,trustSuggestionHint:`Wenn du Immer wählst, werden übereinstimmende Aufrufe für dieses Projekt auf die Whitelist gesetzt.`,yoloDestructiveNote:`YOLO ist aktiv. Diese Abfrage wird trotzdem angezeigt, da die Anfrage als destruktiv eingestuft wurde.`,brainCountdown:`Warte auf deine Bestätigung · Brain übernimmt in {{time}}`,brainDeciding:`Zeit abgelaufen · Brain entscheidet…`,skipApprovalsTitle:`Zukünftige Freigaben überspringen`,skipApprovalsHint:`Aktiviere den YOLO-Modus und der Agent läuft ohne Nachfrage. Destruktive Vorgänge fragen weiterhin nach.`,enableYoloTitle:`YOLO-Modus aktivieren (diesen und zukünftige nicht-destruktive Aufrufe automatisch freigeben)`,enableYoloBtn:`YOLO aktivieren`,denyAlways:`Immer ablehnen`,denyAlwaysTitle:`Diesen und alle zukünftigen, zum Muster passenden Aufrufe ablehnen (d)`,noTitle:`Diesen einzelnen Aufruf ablehnen (Esc / n)`,alwaysTitle:`Freigeben und das Muster für das Projekt speichern (a)`,yesTitle:`Diesen einzelnen Aufruf freigeben (y)`},n={connected:`Verbunden`,disconnected:`Getrennt`,notConnectedRetry:`Keine Verbindung zum Server — nach dem Wiederverbinden erneut versuchen.`,connecting:`Verbindung wird hergestellt…`,reconnecting:`Verbindung wird wiederhergestellt…`,ready:`Bereit`,error:`Fehler`,offline:`Offline`,online:`Online`,live:`Live`,budgetWarning:`Budget-Warnung`,running:`Läuft`,inProgress:`In Arbeit`,working:`arbeitet`},r={justNow:`gerade eben`,secondsAgo_one:`vor {{count}} Sekunde`,secondsAgo_other:`vor {{count}} Sekunden`,minutesAgo_one:`vor {{count}} Minute`,minutesAgo_other:`vor {{count}} Minuten`,hoursAgo_one:`vor {{count}} Stunde`,hoursAgo_other:`vor {{count}} Stunden`,daysAgo_one:`vor {{count}} Tag`,daysAgo_other:`vor {{count}} Tagen`,compactSecondsAgo:`vor {{count}} s`,compactMinutesAgo:`vor {{count}} min`,compactHoursAgo:`vor {{count}} Std.`},i={title:`Etwas ist schiefgelaufen`,body:`Ein Render-Fehler ist aufgetreten. Deine Sitzung ist auf dem Server noch aktiv — Neuladen setzt dort fort, wo du aufgehört hast.`,reload:`Seite neu laden`,tryAgain:`Erneut versuchen`,panelTitle:`{{name}} ist auf einen Fehler gestoßen`},a={noActivity:`Keine Aktivität`,noActivityYet:`Noch keine Aktivität`,activityMax:`Aktivitäts-Sparkline: max. {{count}} Ereignisse`,activityPeak:`Aktivitäts-Sparkline — Spitze {{count}} Ereignisse/Intervall`},o=`{{name}} wird geladen…`,s={action:e,confirm:t,status:n,time:r,error:i,sparkline:a,loadingNamed:o};export{e as action,t as confirm,s as default,i as error,o as loadingNamed,a as sparkline,n as status,r as time};
@@ -0,0 +1 @@
1
+ var e={ok:`OK`,cancel:`Annuler`,create:`Créer`,save:`Enregistrer`,saved:`Enregistré`,dismiss:`Dismiss`,close:`Fermer`,yes:`Oui`,no:`Non`,delete:`Supprimer`,remove:`Retirer`,add:`Ajouter`,edit:`Modifier`,rename:`Renommer`,retry:`Réessayer`,reset:`Réinitialiser`,apply:`Appliquer`,confirm:`Confirmer`,back:`Retour`,next:`Suivant`,done:`Terminé`,refresh:`Actualiser`,copy:`Copier`,copied:`Copié`,copyFailed:`Échec de la copie — accès au presse-papiers bloqué.`,open:`Ouvrir`,start:`Démarrer`,stop:`Arrêter`,pause:`Pause`,resume:`Reprendre`,continue:`Continuer`,clear:`Effacer`,search:`Rechercher`,loading:`Chargement…`,saving:`Enregistrement…`,searchPlaceholder:`Rechercher…`,always:`Toujours`,deny:`Refuser`,undo:`Annuler`,all:`Tous`},t={title:`Approbation requise : {{tool}}`,descriptionEdit:`L'agent souhaite modifier un fichier. Examinez la demande ci-dessous et décidez s'il faut poursuivre.`,descriptionTool:`L'agent souhaite exécuter cet outil. Examinez la demande ci-dessous et décidez s'il faut poursuivre.`,fileModification:`Modification de fichier`,toolExecution:`Exécution d'outil`,riskSuffix:`Risque {{risk}}`,command:`Commande`,inputLabel:`Entrée :`,trustSuggestionTitle:`Suggestion de motif de confiance`,trustSuggestionHint:`Choisir Toujours ajoutera les appels correspondants à la liste blanche pour ce projet.`,yoloDestructiveNote:`YOLO est activé. Cette confirmation s'affiche encore car la requête a été classée comme destructrice.`,brainCountdown:`En attente de votre approbation · Brain prend le relais dans {{time}}`,brainDeciding:`Délai écoulé · Brain décide…`,skipApprovalsTitle:`Ignorer les futures approbations`,skipApprovalsHint:`Activez le mode YOLO et l'agent agit sans demander. Les opérations destructrices continuent de demander confirmation.`,enableYoloTitle:`Activer le mode YOLO (auto-approuver cet appel et les futurs appels non destructeurs)`,enableYoloBtn:`Activer YOLO`,denyAlways:`Toujours refuser`,denyAlwaysTitle:`Refuser cet appel et tous les futurs appels correspondant au motif (d)`,noTitle:`Refuser cet appel unique (Échap / n)`,alwaysTitle:`Approuver et mémoriser le motif pour le projet (a)`,yesTitle:`Approuver cet appel unique (y)`},n={connected:`Connecté`,disconnected:`Déconnecté`,notConnectedRetry:`Non connecté au serveur — réessayez après la reconnexion.`,connecting:`Connexion…`,reconnecting:`Reconnexion…`,ready:`Prêt`,error:`Erreur`,offline:`Hors ligne`,online:`En ligne`,live:`En direct`,budgetWarning:`alerte budget`,running:`En cours`,inProgress:`En cours`,working:`travaille`},r={justNow:`à l'instant`,secondsAgo_one:`il y a {{count}} seconde`,secondsAgo_other:`il y a {{count}} secondes`,minutesAgo_one:`il y a {{count}} minute`,minutesAgo_other:`il y a {{count}} minutes`,hoursAgo_one:`il y a {{count}} heure`,hoursAgo_other:`il y a {{count}} heures`,daysAgo_one:`il y a {{count}} jour`,daysAgo_other:`il y a {{count}} jours`,compactSecondsAgo:`il y a {{count}} s`,compactMinutesAgo:`il y a {{count}} min`,compactHoursAgo:`il y a {{count}} h`},i={title:`Une erreur est survenue`,body:`Une erreur de rendu s'est produite. Votre session est toujours active sur le serveur — recharger reprendra là où vous étiez.`,reload:`Recharger la page`,tryAgain:`Réessayer`,panelTitle:`{{name}} a rencontré une erreur`},a={noActivity:`Aucune activité`,noActivityYet:`Pas encore d'activité`,activityMax:`Sparkline d'activité : max {{count}} événements`,activityPeak:`Sparkline d'activité — pic {{count}} événements/intervalle`},o=`Chargement de {{name}}…`,s={action:e,confirm:t,status:n,time:r,error:i,sparkline:a,loadingNamed:o};export{e as action,t as confirm,s as default,i as error,o as loadingNamed,a as sparkline,n as status,r as time};
@@ -0,0 +1 @@
1
+ var e={ok:`OK`,cancel:`Cancelar`,create:`Criar`,save:`Salvar`,saved:`Salvo`,dismiss:`Dismiss`,close:`Fechar`,yes:`Sim`,no:`Não`,delete:`Excluir`,remove:`Remover`,add:`Adicionar`,edit:`Editar`,rename:`Renomear`,retry:`Tentar novamente`,reset:`Redefinir`,apply:`Aplicar`,confirm:`Confirmar`,back:`Voltar`,next:`Avançar`,done:`Concluído`,refresh:`Atualizar`,copy:`Copiar`,copied:`Copiado`,copyFailed:`Falha ao copiar — acesso à área de transferência bloqueado.`,open:`Abrir`,start:`Iniciar`,stop:`Parar`,pause:`Pausar`,resume:`Retomar`,continue:`Continuar`,clear:`Limpar`,search:`Buscar`,loading:`Carregando…`,saving:`Salvando…`,searchPlaceholder:`Buscar…`,always:`Sempre`,deny:`Negar`,undo:`Desfazer`,all:`Todos`},t={title:`Aprovação necessária: {{tool}}`,descriptionEdit:`O agente deseja modificar um arquivo. Revise a solicitação abaixo e decida se deseja prosseguir.`,descriptionTool:`O agente deseja executar esta ferramenta. Revise a solicitação abaixo e decida se deseja prosseguir.`,fileModification:`Modificação de arquivo`,toolExecution:`Execução de ferramenta`,riskSuffix:`risco {{risk}}`,command:`Comando`,inputLabel:`Entrada:`,trustSuggestionTitle:`Sugestão de padrão de confiança`,trustSuggestionHint:`Escolher Sempre vai permitir chamadas correspondentes para este projeto.`,yoloDestructiveNote:`YOLO está ativado. Esta confirmação ainda é exibida porque a solicitação foi classificada como destrutiva.`,brainCountdown:`Aguardando sua aprovação · Brain assume em {{time}}`,brainDeciding:`Tempo esgotado · Brain está decidindo…`,skipApprovalsTitle:`Pular aprovações futuras`,skipApprovalsHint:`Ative o modo YOLO e o agente executará sem perguntar. Operações destrutivas ainda exigem confirmação.`,enableYoloTitle:`Ativar modo YOLO (aprovar automaticamente esta e futuras chamadas não destrutivas)`,enableYoloBtn:`Ativar YOLO`,denyAlways:`Negar sempre`,denyAlwaysTitle:`Rejeitar esta e todas as futuras chamadas correspondentes ao padrão (d)`,noTitle:`Rejeitar esta única chamada (Esc / n)`,alwaysTitle:`Aprovar e lembrar o padrão para o projeto (a)`,yesTitle:`Aprovar esta única chamada (y)`},n={connected:`Conectado`,disconnected:`Desconectado`,notConnectedRetry:`Sem conexão com o servidor — tente novamente após reconectar.`,connecting:`Conectando…`,reconnecting:`Reconectando…`,ready:`Pronto`,error:`Erro`,offline:`Offline`,online:`Online`,live:`Ao vivo`,budgetWarning:`alerta de orçamento`,running:`Em execução`,inProgress:`Em progresso`,working:`trabalhando`},r={justNow:`agora mesmo`,secondsAgo_one:`há {{count}} segundo`,secondsAgo_other:`há {{count}} segundos`,minutesAgo_one:`há {{count}} minuto`,minutesAgo_other:`há {{count}} minutos`,hoursAgo_one:`há {{count}} hora`,hoursAgo_other:`há {{count}} horas`,daysAgo_one:`há {{count}} dia`,daysAgo_other:`há {{count}} dias`,compactSecondsAgo:`há {{count}} s`,compactMinutesAgo:`há {{count}} min`,compactHoursAgo:`há {{count}} h`},i={title:`Algo deu errado`,body:`Ocorreu um erro de renderização. Sua sessão ainda está ativa no servidor — recarregar continuará de onde você parou.`,reload:`Recarregar página`,tryAgain:`Tentar novamente`,panelTitle:`{{name}} encontrou um erro`},a={noActivity:`Sem atividade`,noActivityYet:`Sem atividade ainda`,activityMax:`Sparkline de atividade: máx {{count}} eventos`,activityPeak:`Sparkline de atividade — pico {{count}} eventos/intervalo`},o=`Carregando {{name}}…`,s={action:e,confirm:t,status:n,time:r,error:i,sparkline:a,loadingNamed:o};export{e as action,t as confirm,s as default,i as error,o as loadingNamed,a as sparkline,n as status,r as time};
@@ -0,0 +1,22 @@
1
+ import{n as e,r as t}from"./rolldown-runtime-hePW80VL.js";import{i as n,t as r}from"./react-core-wiHys0m2.js";import{Ba as i,Fa as a,J as o,La as s,Mi as c,Na as l,Pa as u,Vi as d,dt as f,ur as p}from"./vendor-Cvuk-OYN.js";import{i as m,n as h}from"./i18n-CRIAwjnX.js";import{n as g,t as ee}from"./utils-sO9lidp6.js";import{n as _}from"./ui-store-D2CzZVyU.js";function te(e,t){if(e==null){let e=Error(t?`Expected ${t} to be defined`:`Expected value to be defined`);throw e.name=`ExpectDefinedError`,e}return e}function ne(e){if(!e||typeof e!=`object`||Array.isArray(e))return[];let t=e.steps;if(!Array.isArray(t))return[];let n=[];for(let e of t){if(!e||typeof e!=`object`||Array.isArray(e))continue;let t=e.text;if(typeof t!=`string`||!t.trim())continue;let r=n.length===0&&e.auto===!0;if(n.push(r?{index:n.length+1,text:t.trim(),auto:!0}:{index:n.length+1,text:t.trim()}),n.length>=se)break}return n}function re(e){return e!==`tool_use`&&e!==`tool_call`}function ie(e){let t=[],n=e.split(`
2
+ `),r=0,i=null;for(let e of n){let n=r;r+=e.length+1;let a=e.trim(),o=/^(`{3,}|~{3,})/.exec(a)?.[1];if(o!==void 0){if(i===null){i={markerChar:o[0],markerLength:o.length,start:n};continue}o[0]===i.markerChar&&o.length>=i.markerLength&&a===o&&(t.push([i.start,r]),i=null)}}return i!==null&&t.push([i.start,e.length]),t}function ae(e,t,n,r){let i=n;for(;;){let n=e.indexOf(t,i);if(n===-1)return-1;if(!r.some(([e,t])=>n>=e&&n<t))return n;i=n+1}}var oe=/^(?:(\d+)[.)]\s*|[-*•]\s*)(.+?)(\s+auto="true")?$/,se=6;function ce(e,t=!0){return t?de(e):ue(e)}function le(e,t,n,r){e.push(r?{index:t,text:n,auto:!0}:{index:t,text:n})}function ue(e){let t=e.split(`
3
+ `),n=[],r=new Set;for(let e of t){let t=e.trim();if(!t)continue;let i=oe.exec(t);if(!i)continue;let a=i[1],o=i[2].trim(),s;if(s=a===void 0?n.length+1:Number.parseInt(a,10),r.has(s))continue;r.add(s);let c=!!i[3]&&n.length===0&&s===1;if(le(n,s,o,c),n.length>=se)break}return{steps:n,texts:n.map(e=>e.text),stripped:e,autoTexts:n.filter(e=>e.auto).map(e=>e.text)}}function de(e){let t={steps:[],texts:[],stripped:e,autoTexts:[]},n=ie(e),r=e=>!n.some(([t,n])=>e>=t&&e<n),i=/<nextsteps\b[^>]*>\s*\n+/gi,a=null;for(let t=i.exec(e);t!==null;t=i.exec(e))if(r(t.index)){a={index:t.index,length:t[0].length};break}if(a===null)return t;let o=a.index+a.length,s=e.slice(o).split(`
4
+ `),c=[],l=new Set;for(let e of s){let t=e.trim();if(!t)continue;let n=oe.exec(t);if(!n)break;let r=n[1],i=n[2].trim(),a;if(a=r===void 0?c.length+1:Number.parseInt(r,10),l.has(a))continue;l.add(a);let o=!!n[3]&&c.length===0&&a===1;if(le(c,a,i,o),c.length>=se)break}if(c.length===0)return t;let u=ae(e,`</nextsteps>`,o,n);if(u===-1)return t;let d=c.map(e=>e.text),f=c.filter(e=>e.auto).map(e=>e.text),p=u+12;return e[p]===`
5
+ `&&(p+=1),{steps:c,texts:d,stripped:(e.slice(0,a.index)+e.slice(p)).replace(/\n{3,}/g,`
6
+
7
+ `).trim(),autoTexts:f}}function fe(e){let t=ie(e),n=e=>!t.some(([t,n])=>e>=t&&e<n),r=``,i=0,a=/<next_?steps\b[^>]*>/gi;for(let t=a.exec(e);t!==null;t=a.exec(e)){if(!n(t.index))continue;let o;if(t[0].endsWith(`/>`))o=t[0].length;else{let r=/<\/next_?steps\s*>/gi;r.lastIndex=t.index+t[0].length,o=-1;for(let i=r.exec(e);i!==null;i=r.exec(e))if(n(i.index)){o=i.index+i[0].length-t.index;break}o===-1&&(o=t[0].length)}r+=e.slice(i,t.index),i=t.index+o,a.lastIndex=i}return r+=e.slice(i),r.replace(/\n{3,}/g,`
8
+
9
+ `).trim()}var pe=new Map;function v(e){let t=pe.get(e);t!==void 0&&(clearTimeout(t),pe.delete(e))}var me=0;function he(e){me=e}function ge(){return me+=1,me}function _e(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.text!=`string`||t.mode!==`btw`&&t.mode!==`steer`&&t.mode!==`queue`||typeof t.addedAt!=`number`||!Number.isFinite(t.addedAt))return null;let n=typeof t.itemId==`number`&&Number.isSafeInteger(t.itemId)&&t.itemId>0?t.itemId:ge();return me=Math.max(me,n),{text:t.text,mode:t.mode,addedAt:t.addedAt,itemId:n,...t.images?{images:t.images}:{}}}var ve=1800;function ye(e){if(!e)return e;let t=e.split(/\n{2,}/),n=[];for(let e of t)n.length>0&&n[n.length-1]?.trim()===e.trim()||n.push(e);return n.map(e=>{let t=e.split(`
10
+ `),n=[];for(let e of t)n.length>0&&e.trim().length>0&&n[n.length-1]?.trim()===e.trim()||n.push(e);return n.join(`
11
+ `)}).join(`
12
+
13
+ `)}var be=2097152;function y(e,t=be){if(e.length<=t)return e;if(t<=55){let n=Math.ceil(t/2);return e.slice(0,n)+e.slice(e.length-(t-n))}let n=t-55,r=Math.ceil(n/2);return e.slice(0,r)+`
14
+
15
+ … [older streamed text omitted to protect memory] …
16
+
17
+ `+e.slice(e.length-(n-r))}var xe=new WeakMap;function Se(e){if(e===void 0)return 0;let t=typeof e==`object`&&!!e;if(t){let t=xe.get(e);if(t!==void 0)return t}let n;try{n=JSON.stringify(e).length*2}catch{n=be*2}return t&&xe.set(e,n),n}function Ce(e,t){let n=y(e.content,t),r=e.toolResult===void 0?void 0:y(e.toolResult,t),i=e.thinkingLog?{...e.thinkingLog,text:y(e.thinkingLog.text,t)}:void 0,a=Se(e.toolInput)>t*2?`[tool input omitted from live transcript to protect memory]`:e.toolInput;return n===e.content&&r===e.toolResult&&i?.text===e.thinkingLog?.text&&a===e.toolInput?e:{...e,content:n,...r===void 0?{}:{toolResult:r},...i?{thinkingLog:i}:{},...a===void 0?{}:{toolInput:a}}}function we(e){let t=384+e.content.length*2+(e.toolResult?.length??0)*2+(e.thinkingLog?.text.length??0)*2+Se(e.toolInput);for(let n of e.attachments??[])t+=(n.dataUrl?.length??0)*2+192;for(let n of e.sageLines??[])t+=n.length*2;for(let n of e.progressLines??[])t+=n.length*2;return t}function Te(e,t={}){let n=Math.max(1,Math.floor(t.maxMessages??1e3)),r=Math.max(1,Math.floor(t.maxBytes??50331648)),i=Math.max(1,Math.floor(t.maxFieldChars??2097152)),a=[],o=0;for(let t=e.length-1;t>=0&&a.length<n;--t){let n=Ce(e[t],i),s=we(n);if(s>r&&n.attachments?.some(e=>e.dataUrl)&&(n={...n,attachments:n.attachments.map(e=>({...e,dataUrl:void 0}))},s=we(n)),a.length>0&&o+s>r)break;a.push(n),o+=s}return a.reverse(),a}function Ee(e){let t=new Map;for(let n of e)n.role===`tool`&&n.toolUseId&&t.set(n.toolUseId,n.id);return t}function De(e){let t=new Map;for(let n of e)n.role===`tool`&&n.toolUseId&&t.set(n.toolUseId,{id:n.toolUseId,name:n.toolName??`tool`,input:n.toolInput,output:n.toolResult,durationMs:n.toolDurationMs,ok:n.isError!==!0,startedAt:n.timestamp,...n.toolResult===void 0?{}:{completedAt:n.timestamp}});return t}var Oe={maxReconnectAttempts:10,initialBackoffMs:1e3,maxBackoffMs:3e4,backoffMultiplier:2,jitterRatio:0,queueLimit:1e3,heartbeatIntervalMs:0,heartbeatTimeoutMs:0};function ke(){return{phase:`idle`,reconnectAttempt:0,lastActivityAt:null,stopped:!1}}function Ae(e){return e.stopped?e:{...e,phase:`connecting`}}function je(e,t=Date.now()){return{...e,phase:`open`,reconnectAttempt:0,lastActivityAt:t,stopped:!1}}function Me(e,t=Date.now()){return{...e,lastActivityAt:t}}function Ne(e){return{...e,phase:`closed`,stopped:!0}}function Pe(e){return{...e,phase:`idle`,reconnectAttempt:0,stopped:!1}}function Fe(e,t,n=Date.now(),r=Math.random){if(e.stopped||e.reconnectAttempt>=t.maxReconnectAttempts)return{state:{...e,phase:`closed`},plan:null};let i=e.reconnectAttempt+1,a=Math.min(t.initialBackoffMs*t.backoffMultiplier**(i-1),t.maxBackoffMs),o=(r()*2-1)*t.jitterRatio,s=Math.max(0,Math.round(a*(1+o)));return{state:{...e,phase:`reconnecting`,reconnectAttempt:i},plan:{attempt:i,delayMs:s,retryAt:n+s}}}var Ie=`abort,ping,user_message,tool.confirm_result,topic.advice,completion.request,model.switch,model.refine,model.fallback_choice,autonomy.switch,context.clear,context.compact,context.debug,context.editor.open,context.editor.validate,context.editor.apply,context.mode.create,context.mode.delete,context.mode.switch,context.mode.update,context.modes.list,context.repair,mode.switch,modes.list,session.checkpoints,session.delete,session.focus,session.inspect,session.new,session.rename,session.resume,session.rewind,session.save,session.subscribe,sessions.list,side_effects.list,stats.get,todo.update,todos.clear,todos.get,todos.remove`.split(`,`),Le=[`collab.join`,`collab.leave`,`collab.annotate`,`collab.resolve`,`collab.request_pause`,`collab.resume`,`collab.grant_control`,`collab.inject_tool`,`mailbox.action`,`mailbox.agents`,`mailbox.clear`,`mailbox.compact`,`mailbox.messages`,`mailbox.purge`,`mailbox.send`],Re=`brain.ask,brain.config.get,brain.config.set,brain.risk,brain.status,chronicle.facet,chronicle.facets,chronicle.graph,chronicle.metrics,chronicle.query,chronicle.status,config.doctor,design.list,design.materialize,design.set,design.state,design.swap,design.tune,design.use,design.verify,memory.list,memory.sage.backfillRecoverable,memory.sage.candidateResolve,memory.sage.delete,memory.sage.forFile,memory.sage.get,memory.sage.graph,memory.sage.list,memory.sage.listCandidates,memory.sage.listPage,memory.sage.recover,memory.sage.remember,memory.sage.searchBreakdown,memory.sage.update`.split(`,`),ze=`auth.oauth.cancel,auth.oauth.code,auth.oauth.list,auth.oauth.start,chimera.finding.transition,chimera.report.add_note,chimera.report.get,chimera.report.transition,chimera.reports.list,chimera.reports.query,mcp.add,mcp.disable,mcp.discover,mcp.enable,mcp.list,mcp.prompt.get,mcp.prompts,mcp.remove,mcp.resource.read,mcp.resources,mcp.restart,mcp.sleep,mcp.update,mcp.wake,provider.audit.get,prompts.content,prompts.create,prompts.favorite,prompts.journal,prompts.list,prompts.recent,prompts.search,prompts.used,skills.content,skills.create,skills.edit,skills.export,skills.install,skills.list,skills.uninstall,skills.update`.split(`,`),Be=`goal-state.get,goal.addTask,goal.assess,goal.assignTask,goal.clear,goal.get,goal.list,goal.load,goal.moveTask,goal.pause,goal.resume,goal.retryTask,goal.revert,goal.runTask,goal.save,goal.selectPhase,goal.start,goal.state,goal.status,goal.stop,goal.taskStatus,goal.toggleAutonomous,plan.get,plan.item.update,plan.template_use,task.update,tasks.get`.split(`,`),Ve=`sdd.board.cancel_task,sdd.board.cleanup_worktrees,sdd.board.delete_task,sdd.board.destroy,sdd.board.get,sdd.board.list,sdd.board.pause,sdd.board.reassign,sdd.board.resume,sdd.board.retry,sdd.board.retry_all_failed,sdd.board.rollback,sdd.board.set_task_fallbacks,sdd.board.set_task_model,sdd.board.set_task_verification,sdd.board.split_task,sdd.board.stop,sdd.run.from_graph,sdd.run.from_spec,sdd.run.start,sdd.spec.approve,sdd.spec.discard,sdd.spec.get,sdd.spec.message,sdd.spec.rewind,sdd.spec.start,specs.get,specs.list,specs.taskStatus`.split(`,`),He=`files.create,files.delete,files.list,files.move,files.read,files.rename,files.skeleton,files.tree,files.write,git.changes,git.commit,git.diff,git.discard,git.info,git.history,git.commit_detail,git.commit_file_diff,git.stage,git.unstage,projects.add,projects.list,projects.select,working_dir.set,worktree.cleanup,worktree.diff,worktree.merge,worktree.remove,worktree.scan,shell.open,process.kill,process.killAll,process.list,terminal.close,terminal.create,terminal.input,terminal.resize`.split(`,`),Ue=`codebase.index.server.shutdown,connections.health,connections.service_action,diag.get,key.add,key.delete,key.set_active,key.update,prefs.get,prefs.update,provider.add,provider.clear_models,provider.custom_models.remove,provider.custom_models.set,provider.models,provider.models.search,provider.probe,provider.quota.get,provider.remove,provider.status.clear,provider.status.get,provider.status.retry,provider.undo_clear,provider.update,providers.list,providers.saved,system_prompt.get,tool.disable,tool.enable,tools.list,webui.shutdown`.split(`,`),We=`error,log,pong,side_effects,agent.status_changed,agent.timeline.message,client.status_update,chimera.report_available,compaction.failed,completion.result,context.compacted,context.debug,context.editor.snapshot,context.editor.validation,context.editor.applied,context.mode.changed,context.modes.list,context.repaired,ctx.max_context,ctx.pct,delegate.completed,delegate.started,iteration.completed,iteration.limit_reached,iteration.started,model.refine_result,modes.list,provider.active_blocked,provider.error,provider.fallback,provider.fallback_pending,provider.model_switched,provider.response,provider.retry,provider.status_changed,provider.stream_error,provider.text_delta,provider.thinking_delta,run.result,session.checkpoints,session.damaged,session.end,session.inspect,session.rewound,session.resume_progress,session.run_state,session.start,session.stats,sessions.list,sessions.status_update,stats.get,token.cost_estimate_unavailable,token.threshold,tool.confirm_needed,tool.confirm_resolved,tool.disabled,tool.enabled,tool.executed,tool.loop_detected,tool.progress,tool.started,topic.advice_result,tools.list,trust.persisted`.split(`,`),Ge=[`collab.annotation.added`,`collab.annotation.resolved`,`collab.event`,`collab.injection.granted`,`collab.participant.joined`,`collab.participant.left`,`collab.pause.granted`,`collab.pause.released`,`collab.state`,`mailbox.action_result`,`mailbox.agent_registered`,`mailbox.agent_deregistered`,`mailbox.agents`,`mailbox.cleared`,`mailbox.compacted`,`mailbox.event`,`mailbox.messages`,`mailbox.sent`,`mailbox.purged`,`mailbox.received`,`subagent.budget_extended`,`subagent.event`],Ke=`brain.answer,brain.config,brain.event,brain.status,chronicle.error,chronicle.facet_result,chronicle.facets_result,chronicle.graph_result,chronicle.metrics_result,chronicle.query_result,chronicle.status_result,config.doctor.result,design.list,design.materialize,design.set,design.state,design.swap,design.tune,design.use,design.verify,memory.event,memory.list,memory.sage.backfillRecoverable,memory.sage.candidateResolve,memory.sage.delete,memory.sage.forFile,memory.sage.get,memory.sage.graph,memory.sage.list,memory.sage.listCandidates,memory.sage.listPage,memory.sage.recover,memory.sage.remember,memory.sage.searchBreakdown,memory.sage.update`.split(`,`),qe=`chimera.finding.updated,chimera.report.detail,chimera.report.note_added,chimera.report.updated,chimera.reports,mcp.content.error,mcp.content.selected,mcp.list,mcp.operation_result,mcp.prompts,mcp.resources,mcp.server.added,mcp.server.connected,mcp.server.disconnected,mcp.server.discovered,mcp.server.error,mcp.server.reconnected,mcp.server.removed,mcp.server.sleeping,mcp.server.updated,mcp.server.waking,provider.audit.history,prompts.content,prompts.created,prompts.favorite,prompts.journal,prompts.list,prompts.recent,prompts.search,prompts.used,skills.content,skills.created,skills.edited,skills.exported,skills.installed,skills.list,skills.uninstalled,skills.updated`.split(`,`),Je=`budget.decision,budget.threshold_reached,coordinator.stats,coordinator.status,eternal.iteration,fleet.concurrency_update,goal-state.updated,goal.assess.result,goal.list,goal.paused,goal.resumed,goal.saved,goal.error,goal.stopped,goal.failed,goal.completed,goal.cleared,goal.reverted,goal.progress,goal.state,in_flight.ended,in_flight.started,plan.updated,task.completed,task.failed,task.pending,task.started,tasks.updated,todos.cleared,todos.updated`.split(`,`),Ye=[`kanban.task.activity`,`sdd.board.lifecycle_result`,`sdd.board.list`,`sdd.board.snapshot`,`sdd.run.started`,`sdd.spec.agent_text`,`sdd.spec.error`,`sdd.spec.snapshot`,`specs.detail`,`specs.list`],Xe=[`consensus.vote_cast`,`consensus.vote_initiated`,`consensus.vote_resolved`,`cron.job_fired`,`cron.snapshot`,`techstack.job.cancelled`,`techstack.job.failed`,`techstack.job.progress`,`techstack.job.started`,`techstack.report.delivered`,`techstack.report.ready`,`techstack.snapshot.updated`,`techstack.workspace.completed`],Ze=`checkpoint.written,codemap.file_event,codemap.index_updated,codemap.tool_executed,codemap.tool_started,file.saved,files.created,files.deleted,files.list,files.moved,files.read,files.renamed,files.skeleton_result,files.tree,files.tree.changed,files.written,git.action_result,git.changes,git.diff,git.info,git.history,git.commit_detail,git.commit_file_diff,process.list,projects.added,projects.list,projects.selected,terminal.exit,terminal.output,working_dir.changed,worktree.cleanup_result,worktree.diff_result,worktree.event,worktree.merge_result,worktree.orphans,worktree.state`.split(`,`),Qe=[`auth.oauth.status`,`auth.oauth.providers`,`codebase.index.server.shutdown_result`,`connections.auto_heal_status`,`connections.health_error`,`connections.health_result`,`connections.service_action_result`,`diag.get`,`key.operation_result`,`model.switch_result`,`prefs.updated`,`provider.catalog`,`provider.models`,`provider.models.search_result`,`provider.probe`,`provider.quota`,`provider.status.snapshot`,`providers.saved`,`system_prompt.info`],$e=[...Ie,...Le,...He,...Ue,...Be,...Ve,...Re,...ze],et=[...We,...Ge,...Ze,...Qe,...Je,...Ye,...Xe,...Ke,...qe],tt=new Set($e),nt=new Set(et);function rt(e,t){return(t===`client`?tt:nt).has(e)||e.startsWith(`kanban.`)&&e.length>7||e.startsWith(`agent-roster.`)&&e.length>13}var it=new Set([`__proto__`,`constructor`,`prototype`]),at=32;function ot(e,t,n){if(n>at)return{code:`too_deep`,message:`Protocol payload exceeds the nesting limit`,path:t};if(typeof e!=`object`||!e)return null;for(let r of Object.keys(e)){let i=`${t}.${r}`;if(it.has(r))return{code:`unsafe_key`,message:`Unsafe protocol key: ${r}`,path:i};let a=ot(e[r],i,n+1);if(a)return a}return null}function st(e,t){if(typeof e!=`object`||!e||Array.isArray(e))return{ok:!1,issue:{code:`invalid_envelope`,message:`Protocol message must be an object`}};let n=e;if(typeof n.type!=`string`||n.type.length===0)return{ok:!1,issue:{code:`invalid_type`,message:`Protocol message type must be a non-empty string`}};if(!rt(n.type,t))return{ok:!1,issue:{code:`unknown_type`,message:`Unknown ${t} message: ${n.type}`}};if(t===`server`&&!Object.hasOwn(n,`payload`))return{ok:!1,issue:{code:`invalid_envelope`,message:`Server protocol messages require a payload`}};let r=ot(n,`$`,0);return r?{ok:!1,issue:r}:{ok:!0,message:e}}function ct(e,t){try{return st(JSON.parse(e),t)}catch{return{ok:!1,issue:{code:`invalid_envelope`,message:`Protocol frame is not valid JSON`}}}}function b(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function x(e,t=``){return typeof e==`string`?e:t}function lt(e,t=0){return typeof e==`number`&&Number.isFinite(e)?e:t}function ut(e){let t=b(e.payload);if(!t)return null;switch(e.type){case`provider.thinking_delta`:{let e=x(t.text);return e?{kind:`thinking-delta`,text:e}:null}case`provider.text_delta`:{let e=x(t.text);return e?{kind:`text-delta`,text:e,messageId:x(t.messageId)}:null}case`provider.response`:return{kind:`response`,content:t.content,stopReason:x(t.stopReason)};case`run.result`:return{kind:`run-result`,status:x(t.status),iterations:lt(t.iterations,1),...typeof t.finalText==`string`?{finalText:t.finalText}:{}};case`error`:return{kind:`error`,message:x(t.message,`Run failed`)};default:return null}}function dt(e){let t=b(e.payload);if(!t)return null;if(e.type===`tool.started`){let e=x(t.name,`tool`);return{kind:`started`,id:x(t.id,e),name:e,input:t.input,messageId:x(t.messageId)}}if(e.type===`tool.progress`){let e=b(t.event);return{kind:`progress`,id:x(t.id),name:x(t.name,`tool`),eventType:x(e?.type),text:x(e?.text).trim()}}return e.type===`tool.executed`?{kind:`executed`,id:x(t.id),name:x(t.name),ok:t.ok!==!1,durationMs:lt(t.durationMs),...typeof t.output==`string`?{output:t.output}:{},...Array.isArray(t.sage)?{sage:t.sage.filter(e=>typeof e==`string`)}:{}}:null}function ft(e){if(typeof e==`number`&&Number.isFinite(e))return e}function pt(e){return typeof e==`string`&&e.length>0?e:void 0}function mt(e){let t=b(e.payload);if(!t)return null;switch(e.type){case`fleet.concurrency_update`:return{kind:`concurrency`,active:lt(t.fleetConcurrency),maximum:lt(t.fleetConcurrencyMax),maxSpawns:ft(t.maxSpawns),usedSpawns:ft(t.usedSpawns),remainingSpawns:ft(t.remainingSpawns),maxSpawnsSource:pt(t.maxSpawnsSource),maxConcurrentSource:pt(t.maxConcurrentSource),effectiveSource:pt(t.effectiveSource),checkpointMaxSpawns:ft(t.checkpointMaxSpawns),ceilingMismatch:t.ceilingMismatch===!0||void 0};case`client.status_update`:return{kind:`client-status`,status:t};case`sessions.status_update`:return{kind:`sessions`,sessions:Array.isArray(t.sessions)?t.sessions:[]};case`coordinator.stats`:return{kind:`coordinator`,agents:Array.isArray(t.subagentStatuses)?t.subagentStatuses.filter(e=>b(e)!==null):[]};default:return null}}var ht=[`protocol.directional-decoder`,`protocol.recursive-key-safety`,`chronicle.query`,`chronicle.facet`,`chronicle.facets`,`chronicle.graph`,`chronicle.metrics`,`chronicle.status`,`connections.health`,`context.topic-boundary`,`sdd.interview.continuity`,`sdd.run.from_graph`];function gt(e){let t=e.protocolVersion,n=t===void 0,r=n?1:Math.min(t,1),i=n||Number.isInteger(t)&&t>=1,a=new Set(e.protocolCapabilities??[]);return{compatible:i,legacyPeer:n,version:r,capabilities:ht.filter(e=>a.has(e))}}var S=4,C=`__unbound__`;function _t(){return{messages:[],currentAssistantMessageId:null,currentToolId:null,isLoading:!1,abortController:null,executions:new Map,toolMessageIdsByUseId:new Map,queue:[],runStart:null,refining:!1,pendingRefinement:null,thinkingBuffer:``,thinkingStartedAt:null,thinkingLogBuffer:``,thinkingLogStartedAt:null,pendingConfirm:null,pendingFallback:null}}var vt=_t(),w=u()(l(()=>({lanes:{},activeSessionId:C}),{name:`wrongstack-chat-lanes`,version:2,partialize:e=>({lanes:Object.fromEntries(Object.entries(e.lanes).slice(0,S).map(([e,t])=>[e,{messages:t.messages.slice(-200).map(e=>e.attachments?.some(e=>e.dataUrl)?{...e,attachments:e.attachments.map(e=>({...e,dataUrl:void 0}))}:e),queue:t.queue.filter(e=>e.alreadyDispatched!==!0).map(e=>e.images?{...e,images:void 0}:e),thinkingLogBuffer:t.thinkingLogBuffer}]))}),merge:(e,t)=>{let n=e??{},r={};for(let[e,t]of Object.entries(n.lanes??{}).slice(0,S)){let n=_t();n.messages=Te(Array.isArray(t.messages)?t.messages:[]),n.executions=De(n.messages),n.toolMessageIdsByUseId=Ee(n.messages),n.queue=(Array.isArray(t.queue)?t.queue:[]).flatMap(e=>{let t=_e(e);return t?(he(Math.max(t.itemId,0)),[t]):[]}),n.thinkingLogBuffer=typeof t.thinkingLogBuffer==`string`?t.thinkingLogBuffer:``,r[e]=n}return{...t,lanes:r,activeSessionId:C}},onRehydrateStorage:()=>(e,t)=>{t||typeof window<`u`&&(window.__wrongstackChatRehydrated=!0)}}));function T(e){return e?w.getState().lanes[e]??vt:vt}function yt(e){return e?e in w.getState().lanes:!1}function bt(){return Object.keys(w.getState().lanes)}function xt(e){return e?(w.getState().lanes[e]||w.setState(t=>({lanes:{...t.lanes,[e]:_t()}})),e):C}var St=new Set;function Ct(e){return St.add(e),()=>{St.delete(e)}}function wt(e){let t=w.getState().lanes[e];if(t){for(let e of t.queue)e.itemId!==void 0&&v(e.itemId);w.setState(t=>{let n={...t.lanes};return delete n[e],{lanes:n}})}Ot.delete(e);for(let t of St)try{t(e)}catch{}}function Tt(e){if(!e||e===`__unbound__`)return;let t=w.getState(),n=t.lanes[C];if(!n)return;let r=t.lanes[e],i=!r||r.messages.length===0&&r.queue.length===0,a=n.messages.length===0&&n.queue.length===0;Ot.delete(C),w.setState(t=>{let r={...t.lanes};return delete r[C],i&&!a?r[e]=n:r[e]||(r[e]=_t()),{lanes:r}})}function Et(e){let t=e||`__unbound__`,n=w.getState();n.activeSessionId===t&&n.lanes[t]||(xt(t),w.setState({activeSessionId:t}))}function Dt(){return w.getState().activeSessionId}function E(e,t){w.setState(n=>{let r=n.lanes[e]??_t(),i=t(r);return i?{lanes:{...n.lanes,[e]:{...r,...i}}}:n.lanes[e]?{}:{lanes:{...n.lanes,[e]:r}}})}var Ot=new Map;function kt(e){let{lanes:t}=w.getState();for(let[n,r]of Object.entries(t))r.pendingConfirm?.id===e&&E(n,()=>({pendingConfirm:null}))}function At(e){let{lanes:t}=w.getState();for(let[n,r]of Object.entries(t))r.pendingFallback?.requestId===e&&E(n,()=>({pendingFallback:null}))}function D(e){let t=e||`__unbound__`,n=Ot.get(t);if(n)return n;let r=()=>w.getState().lanes[t]??vt,i={sessionId:t,get messages(){return r().messages},get currentAssistantMessageId(){return r().currentAssistantMessageId},get currentToolId(){return r().currentToolId},get isLoading(){return r().isLoading},get abortController(){return r().abortController},get executions(){return r().executions},get toolMessageIdsByUseId(){return r().toolMessageIdsByUseId},get queue(){return r().queue},get runStart(){return r().runStart},get refining(){return r().refining},get pendingRefinement(){return r().pendingRefinement},get thinkingBuffer(){return r().thinkingBuffer},get thinkingStartedAt(){return r().thinkingStartedAt},get thinkingLogBuffer(){return r().thinkingLogBuffer},get thinkingLogStartedAt(){return r().thinkingLogStartedAt},get pendingConfirm(){return r().pendingConfirm},patch:e=>E(t,()=>e),addMessage:e=>{let n=e.id??`msg_${Date.now()}_${g().slice(0,8)}`,r={...e,id:n,timestamp:e.timestamp??Date.now()};return E(t,t=>{let i=Te([...t.messages,r]),a=Ee(i),o=t.executions;if(o.size>0){let e=new Map,t=!1;for(let[n,r]of o)a.has(n)?e.set(n,r):t=!0;t&&(o=e)}if(r.role===`tool`&&r.toolUseId){let e=new Map(a);e.set(r.toolUseId,n),a=e}return{messages:i,toolMessageIdsByUseId:a,...o===t.executions?{}:{executions:o},currentAssistantMessageId:e.role===`assistant`?n:t.currentAssistantMessageId}}),n},setMessages:e=>{let n=Te(e);E(t,()=>({messages:n,currentAssistantMessageId:null,currentToolId:null,executions:De(n),toolMessageIdsByUseId:Ee(n),thinkingBuffer:``,thinkingStartedAt:null,thinkingLogBuffer:``,thinkingLogStartedAt:null}))},updateMessage:(e,n)=>E(t,t=>({messages:t.messages.map(t=>t.id===e?{...t,...n}:t)})),appendToMessage:(e,n)=>E(t,t=>({messages:t.messages.map(t=>t.id===e?{...t,content:y(t.content+n)}:t)})),finalizeMessage:(e,n)=>{let r=n?.final!==!1;E(t,t=>({messages:t.messages.map(t=>{if(t.id!==e)return t;if(t.role!==`assistant`)return{...t,content:ye(t.content),streaming:!1};let n=ce(t.content),i=r&&n.steps.length>0?{steps:n.steps}:void 0;return{...t,content:ye(n.stripped),streaming:!1,...i?{nextSteps:i}:{}}})}))},setToolResult:(e,n,r)=>E(t,t=>({messages:t.messages.map(t=>t.id===e?{...t,toolResult:y(n),isError:!r,progressLines:void 0}:t)})),appendToolProgress:(e,t)=>{i.appendToolProgressLines(e,[t])},appendToolProgressLines:(e,n)=>{n.length!==0&&E(t,t=>({messages:t.messages.map(t=>{if(t.id!==e)return t;let r=t.progressLines??[];return r.push(...n),r.length>30&&r.splice(0,r.length-30),{...t,progressLines:r}})}))},getToolMessageId:e=>r().toolMessageIdsByUseId.get(e),setToolResultByUseId:(e,t,n)=>{let a=r().toolMessageIdsByUseId.get(e);a&&i.setToolResult(a,t,n)},appendToolProgressLinesByUseId:(e,t)=>{let n=r().toolMessageIdsByUseId.get(e);n&&i.appendToolProgressLines(n,t)},setLoading:e=>E(t,()=>({isLoading:e})),setAbortController:e=>E(t,()=>({abortController:e})),clearMessages:()=>E(t,()=>({messages:[],currentAssistantMessageId:null,currentToolId:null,executions:new Map,toolMessageIdsByUseId:new Map,thinkingBuffer:``,thinkingStartedAt:null,thinkingLogBuffer:``,thinkingLogStartedAt:null,pendingConfirm:null})),setCurrentAssistantMessage:e=>E(t,()=>({currentAssistantMessageId:e})),setCurrentToolId:e=>E(t,()=>({currentToolId:e})),truncateAfter:e=>E(t,t=>{let n=t.messages.findIndex(t=>t.id===e);if(n===-1)return;let r=t.messages.slice(0,n+1);return{messages:r,currentAssistantMessageId:null,currentToolId:null,toolMessageIdsByUseId:Ee(r)}}),addExecution:e=>E(t,t=>{let n=new Map(t.executions);return n.set(e.id,e),{executions:n}}),updateExecution:(e,n)=>E(t,t=>{let r=new Map(t.executions),i=r.get(e);if(i)return r.set(e,{...i,...n}),{executions:r}}),setRefining:e=>E(t,()=>({refining:e})),setPendingConfirm:e=>E(t,()=>({pendingConfirm:e})),setPendingFallback:e=>E(t,()=>({pendingFallback:e})),setPendingRefinement:(e,n,r=`queue`)=>E(t,()=>({pendingRefinement:e===null?null:{text:e,images:n??[],mode:r}})),enqueue:(e,n=`queue`,r,a)=>{let o=Date.now(),s=ge();if(E(t,t=>({queue:[...t.queue,{text:e,mode:n,addedAt:o,itemId:s,...r?.length?{images:r}:{},...a?{alreadyDispatched:!0}:{}}]})),!a)return;let c=setTimeout(()=>{pe.delete(s);let e=null;E(t,t=>{let n=t.queue.find(e=>e.itemId===s&&e.alreadyDispatched===!0);if(n&&n.bubbleAdded!==!0){let t=n.images??[];e={role:`user`,content:n.text,...t.length>0?{attachments:t.map(e=>({id:e.id,kind:`image`,dataUrl:e.dataUrl,mediaType:e.mediaType,bytes:e.bytes,name:e.name}))}:{}}}return{queue:t.queue.filter(e=>e.itemId!==s||e.alreadyDispatched!==!0)}}),e&&i.addMessage(e)},ve);pe.set(s,c)},dequeue:()=>{let e=r().queue;if(e.length===0)return null;let[n,...i]=e;return n?.itemId!==void 0&&v(n.itemId),E(t,()=>({queue:i})),te(n)},dequeueDrainable:()=>{let e=[],n={popped:null},r=t=>{let n=t.images??[];e.push({role:`user`,content:t.text,...n.length>0?{attachments:n.map(e=>({id:e.id,kind:`image`,dataUrl:e.dataUrl,mediaType:e.mediaType,bytes:e.bytes,name:e.name}))}:{}})};E(t,t=>{let i=t.queue.findIndex(e=>e.alreadyDispatched!==!0);if(i===-1){for(let e of t.queue)e.alreadyDispatched===!0&&e.bubbleAdded!==!0&&r(e);return e.length===0?void 0:{queue:t.queue.filter(e=>e.alreadyDispatched!==!0||e.bubbleAdded===!0)}}for(let e=0;e<i;e+=1){let n=t.queue[e];n.bubbleAdded!==!0&&r(n)}n.popped=t.queue[i];let a=t.queue.map((e,t)=>t<i&&e.bubbleAdded!==!0&&e.alreadyDispatched===!0?{...e,bubbleAdded:!0}:e);return{queue:[...a.slice(0,i),...a.slice(i+1)]}});for(let t of e)i.addMessage(t);let a=n.popped;return a?.itemId!==void 0&&v(a.itemId),a},removeQueued:e=>E(t,t=>{let n=t.queue[e];return n?.itemId!==void 0&&v(n.itemId),{queue:t.queue.filter((t,n)=>n!==e)}}),clearQueue:()=>E(t,e=>{for(let t of e.queue)t.itemId!==void 0&&v(t.itemId);return{queue:[]}}),removeMessage:e=>E(t,t=>{let n=t.messages.filter(t=>t.id!==e);return{messages:n,toolMessageIdsByUseId:Ee(n)}}),updateLastUserMessage:e=>E(t,t=>{for(let n=t.messages.length-1;n>=0;n--)if(t.messages[n].role===`user`){let r=[...t.messages];return r[n]={...r[n],content:e},{messages:r}}}),setRunStart:e=>E(t,()=>({runStart:e})),appendThinking:e=>E(t,t=>({thinkingBuffer:y(t.thinkingBuffer+e),thinkingStartedAt:t.thinkingStartedAt??Date.now(),thinkingLogBuffer:y(t.thinkingLogBuffer+e),thinkingLogStartedAt:t.thinkingLogStartedAt??Date.now()})),clearThinking:()=>E(t,()=>({thinkingBuffer:``,thinkingStartedAt:null})),flushThinkingLog:e=>{let t=r(),n=t.thinkingLogBuffer.trim();if(!n)return;let a=t.thinkingLogStartedAt??Date.now();i.addMessage({role:`system`,content:``,thinkingLog:{iteration:e,text:n,startedAt:a,durationMs:Math.max(0,Date.now()-a)}}),i.clearThinkingLog()},clearThinkingLog:()=>E(t,()=>({thinkingLogBuffer:``,thinkingLogStartedAt:null}))};return Ot.set(t,i),i}function jt(e,t){let n=D(e);for(let[e,r]of Object.entries(t))typeof r==`function`&&(n[e]=r)}function Mt(){return D(w.getState().activeSessionId)}var Nt=u()((e,t)=>({bySession:{},recordReport:n=>!n.reportId||t().bySession[n.sessionId]?.some(e=>e.reportId===n.reportId)?!1:(e(e=>({bySession:{...e.bySession,[n.sessionId]:[...e.bySession[n.sessionId]??[],n]}})),!0),markActioned:(t,n,r)=>{e(e=>{let i=e.bySession[t];return i?.some(e=>e.reportId===n)?{bySession:{...e.bySession,[t]:i.map(e=>e.reportId===n?{...e,actionedAt:e.actionedAt??r}:e)}}:e})},hydrateReports:(t,n)=>{n.length!==0&&e(e=>{let r=new Set((e.bySession[t]??[]).map(e=>e.reportId)),i=n.filter(e=>e.reportId&&!r.has(e.reportId));return i.length===0?e:{bySession:{...e.bySession,[t]:[...e.bySession[t]??[],...i]}}})},forgetSession:t=>{e(e=>{if(!(t in e.bySession))return e;let n={...e.bySession};return delete n[t],{bySession:n}})}})),Pt=`signal`,Ft=`wrongstack-palette`,It=[{id:`signal`,labelKey:`settings:general.paletteSignal`,swatch:`hsl(345.9 99% 58.8%)`,swatchSecondary:`hsl(37.5 98.4% 50%)`},{id:`emerald-gold`,labelKey:`settings:general.paletteEmeraldGold`,swatch:`hsl(152 66% 48%)`,swatchSecondary:`hsl(42 96% 54%)`},{id:`blue-navy`,labelKey:`settings:general.paletteBlueNavy`,swatch:`hsl(213 90% 60%)`,swatchSecondary:`hsl(36 96% 54%)`},{id:`purple-pink`,labelKey:`settings:general.palettePurplePink`,swatch:`hsl(263 82% 66%)`,swatchSecondary:`hsl(332 94% 62%)`},{id:`cyan-teal`,labelKey:`settings:general.paletteCyanTeal`,swatch:`hsl(180 76% 46%)`,swatchSecondary:`hsl(36 96% 54%)`},{id:`rose-copper`,labelKey:`settings:general.paletteRoseCopper`,swatch:`hsl(14 82% 56%)`,swatchSecondary:`hsl(34 96% 54%)`},{id:`indigo-amber`,labelKey:`settings:general.paletteIndigoAmber`,swatch:`hsl(233 74% 58%)`,swatchSecondary:`hsl(38 96% 54%)`},{id:`sage-sand`,labelKey:`settings:general.paletteSageSand`,swatch:`hsl(130 28% 55%)`,swatchSecondary:`hsl(36 55% 72%)`},{id:`slate-violet`,labelKey:`settings:general.paletteSlateViolet`,swatch:`hsl(248 50% 55%)`,swatchSecondary:`hsl(285 52% 62%)`},{id:`coral-mint`,labelKey:`settings:general.paletteCoralMint`,swatch:`hsl(12 85% 62%)`,swatchSecondary:`hsl(162 55% 55%)`},{id:`arctic-ember`,labelKey:`settings:general.paletteArcticEmber`,swatch:`hsl(195 85% 58%)`,swatchSecondary:`hsl(14 85% 55%)`},{id:`moss-rust`,labelKey:`settings:general.paletteMossRust`,swatch:`hsl(100 45% 38%)`,swatchSecondary:`hsl(18 70% 48%)`}];function Lt(e){return typeof e==`string`&&It.some(t=>t.id===e)}function Rt(e){return It.find(t=>t.id===e)??It[0]}function zt(e,t){if(typeof window>`u`)return t;try{let n=window.localStorage.getItem(e);return Lt(n)?n:t}catch{return t}}function Bt(e,t){t===`signal`?e.removeAttribute(`data-palette`):e.setAttribute(`data-palette`,t)}function O(){return{session:null,totalTokens:{input:0,output:0,cacheRead:0,cacheWrite:0},lastInputTokens:0,cost:0,startTime:null,maxContext:0,contextLimitWarning:null,cacheStats:null,inputCost:0,outputCost:0,cacheReadCost:0,reasoningEffortLevels:void 0,effortSupported:void 0,projectReasoningEffort:void 0,mode:`default`,contextMode:`balanced`,iteration:null,todos:[],droppedTools:0,lastVisitedAt:0}}var Vt=O(),k=`__unbound__`,A=u()(l(()=>({lanes:{},activeSessionId:k,projectName:``,projectRoot:``,cwd:``,modes:[],contextModes:[],appVersion:``,latestVersion:``,updateAvailable:!1}),{name:`wrongstack-session-lanes`,version:2,partialize:e=>({projectName:e.projectName,projectRoot:e.projectRoot,cwd:e.cwd,lanes:Object.fromEntries(Object.entries(e.lanes).slice(0,S).map(([e,t])=>[e,{session:t.session,mode:t.mode,contextMode:t.contextMode,lastInputTokens:t.lastInputTokens,lastVisitedAt:t.lastVisitedAt}]))}),merge:(e,t)=>{let n=e??{},r={};for(let[e,t]of Object.entries(n.lanes??{}).slice(0,S)){let n=O(),i=t;i.session&&typeof i.session==`object`&&(n.session=i.session),typeof i.mode==`string`&&(n.mode=i.mode),typeof i.contextMode==`string`&&(n.contextMode=i.contextMode),typeof i.lastInputTokens==`number`&&(n.lastInputTokens=i.lastInputTokens),typeof i.lastVisitedAt==`number`&&(n.lastVisitedAt=i.lastVisitedAt),r[e]=n}return{...t,lanes:r,activeSessionId:k,projectName:typeof n.projectName==`string`?n.projectName:``,projectRoot:typeof n.projectRoot==`string`?n.projectRoot:``,cwd:typeof n.cwd==`string`?n.cwd:``}},onRehydrateStorage:()=>(e,t)=>{t||typeof window<`u`&&(window.__wrongstackSessionRehydrated=!0)}}));function j(e){return e?A.getState().lanes[e]??Vt:Vt}function Ht(e){return e?e in A.getState().lanes:!1}function Ut(){return Object.keys(A.getState().lanes)}function M(e){return e?(A.getState().lanes[e]||A.setState(t=>({lanes:{...t.lanes,[e]:O()}})),e):k}function Wt(e){A.getState().lanes[e]&&(qt.delete(e),A.setState(t=>{let n={...t.lanes};return delete n[e],{lanes:n}}))}function Gt(e){e&&e!==`__unbound__`&&A.getState().lanes.__unbound__&&(qt.delete(k),A.setState(t=>{let n={...t.lanes};return delete n[k],n[e]||(n[e]=O()),{lanes:n}}))}function N(e){let t=e||`__unbound__`;Et(t);let n=A.getState();n.activeSessionId===t&&n.lanes[t]||(M(t),A.setState({activeSessionId:t}),I(t).touch())}function P(){return A.getState().activeSessionId}function Kt(){let e=A(e=>e.activeSessionId);return e&&e!==`__unbound__`?e:null}function F(e,t){A.setState(n=>{let r=n.lanes[e]??O(),i=t(r);return i?{lanes:{...n.lanes,[e]:{...r,...i}}}:n.lanes[e]?{}:{lanes:{...n.lanes,[e]:r}}})}var qt=new Map;function I(e){let t=e||`__unbound__`,n=qt.get(t);if(n)return n;let r=()=>A.getState().lanes[t]??Vt,i={sessionId:t,get data(){return r()},patch:e=>F(t,()=>e),touch:()=>F(t,()=>({lastVisitedAt:Date.now()})),setSession:e=>F(t,t=>{let n=t.session?.id!==e?.id||t.session?.provider!==e?.provider||t.session?.model!==e?.model;return{session:e,lastVisitedAt:Date.now(),...n?{contextLimitWarning:null,cacheStats:null,reasoningEffortLevels:void 0,effortSupported:void 0}:{}}}),startSession:e=>F(t,()=>({session:e,startTime:Date.now(),iteration:null,todos:[],lastInputTokens:0,totalTokens:{input:0,output:0,cacheRead:0,cacheWrite:0},cost:0,lastVisitedAt:Date.now(),droppedTools:0,contextLimitWarning:null,cacheStats:null,reasoningEffortLevels:void 0,effortSupported:void 0})),endSession:()=>F(t,()=>({session:null,startTime:null,iteration:null,droppedTools:0,contextLimitWarning:null,cacheStats:null,reasoningEffortLevels:void 0,effortSupported:void 0})),updateUsage:(e,n)=>F(t,t=>{let r=e.input+(e.cacheRead??0)+(e.cacheWrite??0),i=e.cacheRead??0,a=e.cacheWrite??0,o=t.totalTokens.input+e.input,s=(t.totalTokens.cacheRead??0)+i,c=(t.totalTokens.cacheWrite??0)+a,l=n??t.session?.provider??`unknown`,u=[...t.cacheStats?.providers??[]],d=u.findIndex(e=>e.provider===l),f=d>=0?u[d]:{provider:l,input:0,cacheRead:0,cacheWrite:0,hitRatio:0},p=f.input+e.input,m=f.cacheRead+i,h=f.cacheWrite+a,g=p+m+h,ee={provider:l,input:p,cacheRead:m,cacheWrite:h,hitRatio:g>0?Math.min(1,Math.max(0,m/g)):0};d>=0?u[d]=ee:u.push(ee),u.sort((e,t)=>t.cacheRead-e.cacheRead);let _=o+s+c;return{totalTokens:{input:o,output:t.totalTokens.output+e.output,cacheRead:s,cacheWrite:c},lastInputTokens:r||t.lastInputTokens,cacheStats:{readTokens:s,writeTokens:c,hitRatio:_>0?Math.min(1,Math.max(0,s/_)):0,coverageTokens:i,providers:u}}}),addCost:e=>F(t,t=>({cost:t.cost+e})),setEnvRates:e=>F(t,t=>({maxContext:e.maxContext??t.maxContext,mode:e.mode??t.mode,contextMode:e.contextMode??t.contextMode,inputCost:e.inputCost??t.inputCost,outputCost:e.outputCost??t.outputCost,cacheReadCost:e.cacheReadCost??t.cacheReadCost,reasoningEffortLevels:e.hasReasoningEffortKey?e.reasoningEffortLevels:t.reasoningEffortLevels,effortSupported:e.hasEffortSupportedKey?e.effortSupported:t.effortSupported,projectReasoningEffort:e.hasProjectEffortKey?e.projectReasoningEffort:t.projectReasoningEffort})),setIteration:e=>F(t,()=>({iteration:e})),setContextUsage:(e,n)=>F(t,t=>({lastInputTokens:e,maxContext:n??t.maxContext})),setContextLimitWarning:e=>F(t,()=>({contextLimitWarning:e})),setCacheStats:e=>F(t,()=>({cacheStats:e})),setTodos:e=>F(t,()=>({todos:e})),setDroppedTools:e=>F(t,()=>({droppedTools:e}))};return qt.set(t,i),i}function L(){return I(A.getState().activeSessionId)}function R(e){A.setState(e)}function Jt(){return{projectRoot:``,tree:[],openFiles:[],activeFilePath:null,treeLoading:!1,error:null,targetLine:null,projectIdentity:``,hydratingPaths:new Set}}function Yt(e){return{projectRoot:e.projectRoot,tree:e.tree,openFiles:e.openFiles,activeFilePath:e.activeFilePath,treeLoading:e.treeLoading,error:e.error,targetLine:e.targetLine,projectIdentity:e.projectIdentity,hydratingPaths:e.hydratingPaths}}function Xt(e){return{projectRoot:e.projectRoot,tree:e.tree,openFiles:e.openFiles,activeFilePath:e.activeFilePath,treeLoading:e.treeLoading,error:e.error,targetLine:e.targetLine,projectIdentity:e.projectIdentity,hydratingPaths:e.hydratingPaths}}function z(e,t,n){if(t&&e.fileSessionId!==t){let r=e.filesBySession[t]??Jt();return{filesBySession:{...e.filesBySession,[t]:n(r)}}}let r=n(Yt(e)),i=e.fileSessionId?{filesBySession:{...e.filesBySession,[e.fileSessionId]:r}}:{};return{...Xt(r),...i}}function Zt(e,t){return e.fileSessionId?{filesBySession:{...e.filesBySession,[e.fileSessionId]:{...Yt(e),...t}}}:{}}function Qt(e,t){let n=e??{},r=Array.isArray(n.openFilePaths)?n.openFilePaths.filter(e=>typeof e==`string`&&e.length>0):[],i=r.map(e=>({path:e,content:``,dirty:!1,savedContent:``})),a=typeof n.activeFilePath==`string`&&r.includes(n.activeFilePath)?n.activeFilePath:r[0]??null;return{...t,projectIdentity:typeof n.projectIdentity==`string`?n.projectIdentity:t.projectIdentity,openFiles:i,activeFilePath:a}}var $t=u()(l((e,t)=>({projectRoot:``,tree:[],openFiles:[],activeFilePath:null,treeLoading:!1,error:null,targetLine:null,projectIdentity:``,hydratingPaths:new Set,fileSessionId:null,filesBySession:{},bindSessionFiles:t=>e(e=>{if(e.fileSessionId===t)return{};let n={...e.filesBySession};return e.fileSessionId&&(n[e.fileSessionId]=Yt(e)),{fileSessionId:t,filesBySession:n,...Xt((t?n[t]:void 0)??Jt())}}),forgetSessionFiles:t=>e(e=>{let n={...e.filesBySession};return delete n[t],e.fileSessionId===t?{filesBySession:n,fileSessionId:null,...Jt()}:{filesBySession:n}}),jumpToLine:(t,n,r)=>e(e=>{let i={line:t,col:n};return z(e,r,e=>({...e,targetLine:i}))}),clearTargetLine:()=>e(e=>({targetLine:null,...Zt(e,{targetLine:null})})),setTree:(t,n,r)=>e(e=>z(e,r,e=>({...e,projectRoot:t,tree:n,treeLoading:!1,error:null}))),openFile:(t,n,r)=>e(e=>z(e,r,e=>{if(e.openFiles.find(e=>e.path===t)){let r=e.openFiles.map(e=>e.path===t?{...e,content:n,dirty:!1,savedContent:n}:e);return{...e,openFiles:r,activeFilePath:t}}let r=[...e.openFiles,{path:t,content:n,dirty:!1,savedContent:n}];return{...e,openFiles:r,activeFilePath:t}})),closeFile:(t,n)=>e(e=>z(e,n,e=>{let n=e.openFiles.findIndex(e=>e.path===t);if(n===-1)return e;let r=[...e.openFiles];r.splice(n,1);let i=e.activeFilePath;return e.activeFilePath===t&&(i=r.length===0?null:n<r.length?r[n].path:r[r.length-1].path),{...e,openFiles:r,activeFilePath:i}})),setActiveFile:(t,n)=>e(e=>z(e,n,e=>({...e,activeFilePath:t}))),updateContent:(t,n)=>{e(e=>{let r=e.openFiles.map(e=>e.path===t?{...e,content:n,dirty:n!==e.savedContent}:e);return{openFiles:r,...Zt(e,{openFiles:r})}})},markSaved:(t,n)=>e(e=>z(e,n,e=>({...e,openFiles:e.openFiles.map(e=>e.path===t?{...e,dirty:!1,savedContent:e.content}:e)}))),setTreeLoading:(t,n)=>e(e=>z(e,n,e=>({...e,treeLoading:t}))),setError:(t,n)=>e(e=>z(e,n,e=>({...e,error:t}))),clearOpenTabs:t=>e(e=>z(e,t,e=>({...e,openFiles:[],activeFilePath:null}))),setProjectIdentity:(t,n)=>e(e=>z(e,n,e=>({...e,projectIdentity:t}))),setHydratingPaths:(t,n)=>e(e=>z(e,n,e=>({...e,hydratingPaths:new Set(t)}))),hydrateFileContent:(n,r,i)=>{let a=t(),o=!1;return e(z(a,i,e=>{if(!e.hydratingPaths.has(n))return e;let t=new Set(e.hydratingPaths);t.delete(n);let i=e.openFiles.find(e=>e.path===n);if(!i||i.dirty||i.content!==``||i.savedContent!==``)return{...e,hydratingPaths:t};o=!0;let a=e.openFiles.map(e=>e.path===n?{...e,content:r,savedContent:r,dirty:!1}:e);return{...e,hydratingPaths:t,openFiles:a}})),o},hydrateFileFailed:(t,n)=>e(e=>z(e,n,e=>{if(!e.hydratingPaths.has(t))return e;let n=new Set(e.hydratingPaths);n.delete(t);let r=e.openFiles.find(e=>e.path===t),i=(!r||r.content===``&&!r.dirty&&r.savedContent===``)&&r?e.openFiles.filter(e=>e.path!==t):e.openFiles,a=e.activeFilePath===t?i[0]?.path??null:e.activeFilePath;return{...e,hydratingPaths:n,openFiles:i,activeFilePath:a}}))}),{name:`wrongstack-file-store`,version:2,partialize:e=>({openFilePaths:e.openFiles.map(e=>e.path),activeFilePath:e.activeFilePath,projectIdentity:e.projectIdentity}),migrate:()=>({openFilePaths:[],activeFilePath:null,projectIdentity:``}),merge:(e,t)=>Qt(e,t)}));function en(){return{selectedPath:null,diff:null,loadingDiff:!1}}function tn(e){return{selectedPath:e.selectedPath,diff:e.diff,loadingDiff:e.loadingDiff}}function nn(e,t){return e.gitChangesSessionId?{gitChangesBySession:{...e.gitChangesBySession,[e.gitChangesSessionId]:{...tn(e),...t}}}:{}}var rn=u()(e=>({files:[],error:null,repoPrefix:``,dirs:{},loadingList:!1,selectedPath:null,diff:null,loadingDiff:!1,gitChangesSessionId:null,gitChangesBySession:{},setFiles:(t,n,r=``,i={})=>e({files:t,error:n,repoPrefix:r,dirs:i,loadingList:!1}),setListLoading:t=>e({loadingList:t}),select:t=>e(e=>({selectedPath:t,diff:null,loadingDiff:!!t,...nn(e,{selectedPath:t,diff:null,loadingDiff:!!t})})),setDiff:t=>e(e=>({diff:t,loadingDiff:!1,...nn(e,{diff:t,loadingDiff:!1})})),setDiffLoading:t=>e(e=>({loadingDiff:t,...nn(e,{loadingDiff:t})})),bindSessionGitChanges:t=>e(e=>{if(e.gitChangesSessionId===t)return{};let n={...e.gitChangesBySession};e.gitChangesSessionId&&(n[e.gitChangesSessionId]=tn(e));let r=(t?n[t]:void 0)??en();return{gitChangesSessionId:t,gitChangesBySession:n,selectedPath:r.selectedPath,diff:r.diff,loadingDiff:r.loadingDiff}}),forgetSessionGitChanges:t=>e(e=>{let n={...e.gitChangesBySession};return delete n[t],e.gitChangesSessionId===t?{gitChangesBySession:n,gitChangesSessionId:null,...en()}:{gitChangesBySession:n}}),clear:()=>e(e=>({files:[],error:null,repoPrefix:``,dirs:{},selectedPath:null,diff:null,loadingDiff:!1,...nn(e,{selectedPath:null,diff:null,loadingDiff:!1})}))})),an=new WeakMap,on=new Set([`projectName`,`projectRoot`,`cwd`,`modes`,`contextModes`,`appVersion`,`latestVersion`,`updateAvailable`]);function sn(e){let t=an.get(e);if(t)return t;let n=e.activeSessionId,r=e.lanes[n]??Vt,i=I(n),a={session:r.session,totalTokens:r.totalTokens,lastInputTokens:r.lastInputTokens,cost:r.cost,startTime:r.startTime,maxContext:r.maxContext,contextLimitWarning:r.contextLimitWarning,cacheStats:r.cacheStats,inputCost:r.inputCost,outputCost:r.outputCost,cacheReadCost:r.cacheReadCost,reasoningEffortLevels:r.reasoningEffortLevels,effortSupported:r.effortSupported,projectReasoningEffort:r.projectReasoningEffort,mode:r.mode,contextMode:r.contextMode,iteration:r.iteration,todos:r.todos,droppedTools:r.droppedTools,lastVisitedAt:r.lastVisitedAt,projectName:e.projectName,projectRoot:e.projectRoot,cwd:e.cwd,modes:e.modes,contextModes:e.contextModes,appVersion:e.appVersion,latestVersion:e.latestVersion,updateAvailable:e.updateAvailable,setSession:un,updateUsage:i.updateUsage,addCost:i.addCost,startSession:dn,endSession:i.endSession,setEnv:fn,setIteration:i.setIteration,setContextUsage:i.setContextUsage,setContextLimitWarning:i.setContextLimitWarning,setCacheStats:i.setCacheStats,setModes:pn,setContextModes:mn,setTodos:i.setTodos,setUpdateInfo:hn,setDroppedTools:i.setDroppedTools,switchSession:gn};return an.set(e,a),a}function cn(e){$t.getState().bindSessionFiles(e),rn.getState().bindSessionGitChanges(e)}function ln(e){h.getState().bindSession(e??null),_.getState().bindSessionChrome(e??null),cn(e??null);let t=e||`__unbound__`;P()!==t&&(P()===`__unbound__`&&t!==`__unbound__`&&Tt(t),N(t),Et(t))}function un(e){ln(e?.id??null),L().setSession(e)}function dn(e){ln(e.id),L().startSession(e)}function fn(e){let t={};e.projectRoot!==void 0&&(t.projectRoot=e.projectRoot),e.projectName!==void 0&&(t.projectName=e.projectName),e.cwd!==void 0&&(t.cwd=e.cwd),Object.keys(t).length>0&&R(t),L().setEnvRates({maxContext:e.maxContext,mode:e.mode,contextMode:e.contextMode,inputCost:e.inputCost,outputCost:e.outputCost,cacheReadCost:e.cacheReadCost,reasoningEffortLevels:e.reasoningEffortLevels,hasReasoningEffortKey:`reasoningEffortLevels`in e,effortSupported:e.effortSupported,hasEffortSupportedKey:`effortSupported`in e,projectReasoningEffort:e.projectReasoningEffort,hasProjectEffortKey:`projectReasoningEffort`in e})}function pn(e){R({modes:e})}function mn(e){R({contextModes:e})}function hn(e){R(e)}function gn(e){h.getState().bindSession(e),cn(e),N(e);let t=A.getState().lanes[e],n=t?.session?.provider,r=t?.session?.model;n&&r?va.getState().setConfig({provider:n,model:r}):n&&va.getState().setConfig({provider:n})}function _n(){return sn(A.getState())}function vn(e){let t=typeof e==`function`?e(_n()):e;if(!t)return;if(`session`in t){let e=t.session;ln(e?.id??null)}let n={},r={};for(let[e,i]of Object.entries(t))typeof i!=`function`&&(on.has(e)?n[e]=i:r[e]=i);Object.keys(n).length>0&&R(n),Object.keys(r).length>0&&L().patch(r)}function yn(e){return A.subscribe((t,n)=>e(sn(t),sn(n)))}var bn=Object.assign(function(e){return a(A,t=>e(sn(t)))},{getState:_n,getInitialState:_n,setState:vn,subscribe:yn,persist:A.persist}),xn={has(e){return e in A.getState().lanes},get(e){let t=A.getState().lanes[e];if(t)return{session:t.session,provider:t.session?.provider,model:t.session?.model,mode:t.mode,contextMode:t.contextMode,totalTokens:t.totalTokens,lastInputTokens:t.lastInputTokens,cost:t.cost,startTime:t.startTime,maxContext:t.maxContext,reasoningEffortLevels:t.reasoningEffortLevels,cacheStats:t.cacheStats,iteration:t.iteration,todos:t.todos}},set(e,t){let n={};t.session!==void 0&&(n.session=t.session),t.mode!==void 0&&(n.mode=t.mode),t.contextMode!==void 0&&(n.contextMode=t.contextMode),t.totalTokens!==void 0&&(n.totalTokens=t.totalTokens),t.lastInputTokens!==void 0&&(n.lastInputTokens=t.lastInputTokens),t.cost!==void 0&&(n.cost=t.cost),t.startTime!==void 0&&(n.startTime=t.startTime),t.maxContext!==void 0&&(n.maxContext=t.maxContext),t.reasoningEffortLevels!==void 0&&(n.reasoningEffortLevels=t.reasoningEffortLevels),t.cacheStats!==void 0&&(n.cacheStats=t.cacheStats),t.iteration!==void 0&&(n.iteration=t.iteration),t.todos!==void 0&&(n.todos=t.todos),I(e).patch(n)},delete(e){A.setState(t=>{let n={...t.lanes};return delete n[e],{lanes:n}})},clear(){A.setState({lanes:{},activeSessionId:k})}},Sn=8e3;function Cn(){return`toast_${g()}`}var B=u()(l(e=>({notifications:[],toasts:[],push:t=>{let n=Cn(),r=t.ttl??3500,i=Date.now(),a={id:n,message:t.message,variant:t.variant,timestamp:i,read:!1,ttl:r,action:t.action},o={id:n,message:t.message,variant:t.variant,ttl:r,action:t.action};return e(e=>({toasts:[...e.toasts,o],notifications:[a,...e.notifications].slice(0,100)})),n},dismissToast:t=>e(e=>({toasts:e.toasts.filter(e=>e.id!==t)})),markAsRead:t=>e(e=>({notifications:e.notifications.map(e=>e.id===t?{...e,read:!0}:e)})),markAllAsRead:()=>e(e=>({notifications:e.notifications.map(e=>e.read?e:{...e,read:!0})})),removeNotification:t=>e(e=>({notifications:e.notifications.filter(e=>e.id!==t),toasts:e.toasts.filter(e=>e.id!==t)})),clearAll:()=>e(()=>({notifications:[]}))}),{name:`wrongstack-notifications-history`,partialize:e=>({notifications:e.notifications.map(({action:e,...t})=>({...t,...e?{action:{label:e.label,onClick:()=>{}}}:{}}))})})),wn={success:(e,t=3500)=>B.getState().push({message:e,variant:`success`,ttl:t}),error:(e,t=6e3)=>B.getState().push({message:e,variant:`error`,ttl:t}),warn:(e,t=4500)=>B.getState().push({message:e,variant:`warn`,ttl:t}),info:(e,t=3500)=>B.getState().push({message:e,variant:`info`,ttl:t}),undoable:(e,t,n=i.t(`common:action.undo`),r=Sn)=>B.getState().push({message:e,variant:`info`,ttl:r,action:{label:n,onClick:t}}),dismiss:e=>B.getState().dismissToast(e)},V=t(n(),1),H=r();function Tn({variant:e}){return e===`success`?(0,H.jsx)(d,{className:`h-4 w-4 text-success`}):e===`error`?(0,H.jsx)(c,{className:`h-4 w-4 text-destructive`}):e===`warn`?(0,H.jsx)(f,{className:`h-4 w-4 text-warning`}):(0,H.jsx)(p,{className:`h-4 w-4 text-info`})}function En({entry:e}){let{t}=s(),n=B(e=>e.dismissToast);return(0,V.useEffect)(()=>{let t=setTimeout(()=>n(e.id),e.ttl);return()=>clearTimeout(t)},[e.id,e.ttl,n]),(0,H.jsxs)(`div`,{className:ee(`flex items-start gap-2 rounded-lg border bg-popover shadow-lg px-3 py-2 text-sm max-w-sm`,`animate-message`,e.variant===`error`&&`border-destructive/40`,e.variant===`warn`&&`border-warning/40`,e.variant===`success`&&`border-success/40`),children:[(0,H.jsx)(Tn,{variant:e.variant}),(0,H.jsx)(`div`,{className:`flex-1 min-w-0 whitespace-pre-wrap break-words leading-snug`,children:e.message}),e.action&&(0,H.jsx)(`button`,{type:`button`,onClick:()=>{e.action?.onClick(),n(e.id)},className:`shrink-0 font-medium text-primary hover:underline`,children:e.action.label}),(0,H.jsx)(`button`,{type:`button`,onClick:()=>n(e.id),className:`text-muted-foreground hover:text-foreground`,title:t(`activity:toast.dismiss`),"aria-label":t(`activity:toast.dismiss`),children:(0,H.jsx)(o,{className:`h-3.5 w-3.5`})})]})}function Dn(){let{t:e}=s(),t=B(e=>e.toasts);return t.length===0?null:(0,H.jsx)(`section`,{className:`fixed bottom-4 right-4 z-[60] flex flex-col gap-2 pointer-events-auto`,"aria-label":e(`activity:toaster.notifications`),"aria-live":`polite`,children:t.map(e=>(0,H.jsx)(En,{entry:e},e.id))})}function On(e,t=140){let n=e.replace(/\s+/g,` `).trim();return n.length<=t?n:`${n.slice(0,t).trimEnd()}…`}function kn(e){typeof requestAnimationFrame==`function`?requestAnimationFrame(e):queueMicrotask(e)}var An=new class{pending=new Map;scheduled=!1;push(e,t,n){if(!t)return;let r=this.pending.get(e);r?(r.buffer+=t,r.flush=n):this.pending.set(e,{buffer:t,flush:n}),this.schedule()}schedule(){this.scheduled||(this.scheduled=!0,kn(()=>{this.scheduled=!1,this.drain()}))}drain(){if(this.pending.size===0)return;let e=Array.from(this.pending.entries());this.pending.clear();for(let[t,n]of e)n.buffer&&n.flush(t,n.buffer)}drop(e){this.pending.delete(e)}dropAll(){this.pending.clear()}flush(e){let t=this.pending.get(e);t&&(this.pending.delete(e),t.buffer&&t.flush(e,t.buffer))}flushAll(){this.drain()}},jn={listTools(e){this.send({type:`tools.list`},e)},listMemory(e){this.send({type:`memory.list`},e)},listSageMemories(e){this.send({type:`memory.sage.list`},e)},listSageMemoriesPage(e,t){this.send({type:`memory.sage.listPage`,payload:{...e}},t)},listMemoryCandidates(e,t){this.send({type:`memory.sage.listCandidates`,payload:{...e}},t)},searchSageBreakdown(e,t){this.send({type:`memory.sage.searchBreakdown`,payload:{query:e.query,...e.limit===void 0?{}:{limit:e.limit},...e.includeStale===void 0?{}:{includeStale:e.includeStale}}},t)},getSage(e,t){this.send({type:`memory.sage.get`,payload:{id:e}},t)},getSageGraph(e,t,n){this.send({type:`memory.sage.graph`,payload:{query:e,...t}},n)},updateSage(e,t,n){this.send({type:`memory.sage.update`,payload:{id:e,...t}},n)},deleteSage(e,t){this.send({type:`memory.sage.delete`,payload:{id:e,force:!0,...t===void 0?{}:{reason:t}}})},rememberSage(e,t){this.send({type:`memory.sage.remember`,payload:e},t)},findMemoriesForFile(e,t){this.send({type:`memory.sage.forFile`,payload:e},t)},recoverSage(e,t){this.send({type:`memory.sage.recover`,payload:e},t)},resolveMemoryCandidate(e,t){this.send({type:`memory.sage.candidateResolve`,payload:e},t)},backfillRecoverable(e,t){this.send({type:`memory.sage.backfillRecoverable`,payload:e},t)},listMcpServers(){this.send({type:`mcp.list`})},addMcpServer(e){this.send({type:`mcp.add`,payload:e})},removeMcpServer(e){this.send({type:`mcp.remove`,payload:{name:e}})},updateMcpServer(e){this.send({type:`mcp.update`,payload:e})},wakeMcpServer(e){this.send({type:`mcp.wake`,payload:{name:e}})},sleepMcpServer(e){this.send({type:`mcp.sleep`,payload:{name:e}})},discoverMcpServer(e){this.send({type:`mcp.discover`,payload:{name:e}})},listMcpResources(e,t=!1){this.send({type:`mcp.resources`,payload:{name:e,refresh:t}})},listMcpPrompts(e,t=!1){this.send({type:`mcp.prompts`,payload:{name:e,refresh:t}})},readMcpResource(e,t){this.send({type:`mcp.resource.read`,payload:{name:e,uri:t}})},getMcpPrompt(e,t,n){this.send({type:`mcp.prompt.get`,payload:{name:e,prompt:t,...n===void 0?{}:{arguments:n}}})},enableMcpServer(e){this.send({type:`mcp.enable`,payload:{name:e}})},disableMcpServer(e){this.send({type:`mcp.disable`,payload:{name:e}})},restartMcpServer(e){this.send({type:`mcp.restart`,payload:{name:e}})},listSkills(e){this.send({type:`skills.list`},e)},getSkillContent(e,t){this.send({type:`skills.content`,payload:{name:e,source:t}})},installSkill(e,t){this.send({type:`skills.install`,payload:{ref:e,global:t}})},uninstallSkill(e,t){this.send({type:`skills.uninstall`,payload:{name:e,global:t}})},checkForUpdates(e,t){this.send({type:`skills.update`,payload:{name:e,global:t}})},createSkill(e,t,n){this.send({type:`skills.create`,payload:{name:e,description:t,scope:n}})},editSkill(e,t){this.send({type:`skills.edit`,payload:{name:e,body:t}})},exportAllSkills(){this.send({type:`skills.export`})},getDiag(e){this.send({type:`diag.get`,payload:this.withSession({})},e)},getStats(e){this.send({type:`stats.get`,payload:this.withSession({})},e)},saveSession(){this.send({type:`session.save`,payload:this.withSession({})})},resumeSessionById(e){this.send({type:`session.resume`,payload:this.withSession({id:e})})},focusSessionById(e){this.send({type:`session.focus`,payload:this.withSession({id:e})})},listModes(){this.send({type:`modes.list`})},switchMode(e){this.send({type:`mode.switch`,payload:this.withSession({id:e})})},listFiles(e,t,n){this.send({type:`files.list`,payload:{query:e,limit:t,path:n}})},requestCompletion(e){this.send({type:`completion.request`,payload:e})},getTodos(){this.send({type:`todos.get`,payload:this.withSession({})})},clearTodos(){this.send({type:`todos.clear`,payload:this.withSession({})})},removeTodo(e){let t=typeof e==`number`?{index:e}:{id:e};this.send({type:`todos.remove`,payload:this.withSession(t)})},updateTodoStatus(e,t){this.send({type:`todo.update`,payload:this.withSession({id:e,status:t})})},getTasks(){this.send({type:`tasks.get`,payload:this.withSession({})})},updateTaskStatus(e,t){this.send({type:`task.update`,payload:this.withSession({id:e,status:t})})},getPlan(){this.send({type:`plan.get`,payload:this.withSession({})})},updatePlanItem(e,t){this.send({type:`plan.item.update`,payload:this.withSession({target:e,status:t})})},listSessions(e=50){this.send({type:`sessions.list`,payload:this.withSession({limit:e})})},deleteSession(e){this.send({type:`session.delete`,payload:this.withSession({id:e})})},renameSession(e,t){this.send({type:`session.rename`,payload:{id:e,name:t}})},inspectSession(e){this.send({type:`session.inspect`,payload:{id:e}})},setWorkingDir(e){this.send({type:`working_dir.set`,payload:{path:e}})},resumeSession(e){this.send({type:`session.resume`,payload:this.withSession({id:e})})},ping(){this.send({type:`ping`})},refineModel(e,t){this.send({type:`model.refine`,payload:this.withSession({text:e,...t?.timeoutMs===void 0?{}:{timeoutMs:t.timeoutMs},...t?.provider===void 0?{}:{provider:t.provider},...t?.model===void 0?{}:{model:t.model},...t?.previousRefined===void 0?{}:{previousRefined:t.previousRefined},...t?.previousEnglish===void 0?{}:{previousEnglish:t.previousEnglish},...t?.retryFeedback===void 0?{}:{retryFeedback:t.retryFeedback}})})}};function Mn(e){Object.assign(e.prototype,jn)}function Nn(e){try{let t=new URL(e),n=new URL(_a());return t.hostname===n.hostname}catch{return!0}}async function Pn(e){if(typeof window>`u`)return e;if(document.cookie.split(`;`).some(e=>e.trim().startsWith(`ws_token=`))){let t=e;return Nn(e)&&(t=pa(e)),ma(),t}let t=da(e)??fa();if(!t)return e;let n=_a()+`/ws-auth?token=${encodeURIComponent(t)}`;try{let t=await fetch(n,{method:`GET`,credentials:`same-origin`,cache:`no-store`});if(!t.ok)console.warn(JSON.stringify({level:`warn`,event:`ws_client.ws_auth_failed`,status:t.status,timestamp:new Date().toISOString()}));else{let t=e;return Nn(e)&&(t=pa(e)),ma(),t}}catch(e){console.warn(JSON.stringify({level:`warn`,event:`ws_client.ws_auth_error`,message:e instanceof Error?e.message:String(e),timestamp:new Date().toISOString()}))}return e}function Fn(e,t,n=3e4){let r=!1,i=setTimeout(()=>{try{e.close()}catch{}t.onTimeout()},n);return e.onopen=()=>{t.isCurrentGeneration()&&(clearTimeout(i),r=!0,t.onOpen())},e.onmessage=e=>{if(!t.isCurrentGeneration())return;let n=ct(String(e.data),`server`);n.ok?t.onMessage(n.message):console.error(JSON.stringify({level:`error`,event:`ws_client.message_rejected`,code:n.issue.code,message:n.issue.message,timestamp:new Date().toISOString()}))},e.onerror=e=>{t.isCurrentGeneration()&&(console.error(JSON.stringify({level:`error`,event:`ws_client.error`,message:e instanceof Error?e.message:String(e),timestamp:new Date().toISOString()})),r||(clearTimeout(i),t.onError(`Connection error (see browser devtools)`)))},e.onclose=e=>{if(!t.isCurrentGeneration())return;if(!r){clearTimeout(i);let n=e.reason||`Closed with code ${e.code}`;t.onClose(n,!0);return}let n;e.reason?n=`${e.reason} (code ${e.code})`:e.code!==1e3&&(n=`Closed with code ${e.code}`),t.onClose(n,!1)},{cancelTimeout:()=>clearTimeout(i)}}function In(e,t,n){let r=Fe(e,{...Oe,maxReconnectAttempts:t,queueLimit:n});return{state:r.state,plan:r.plan}}function Ln(e,t,n,r){if(e===`open`)return{reconnectTimer:t,connectionState:n};t&&clearTimeout(t);let i=Pe(n);return r().catch(e=>console.warn(JSON.stringify({level:`warn`,event:`ws_client.reconnect_failed`,message:e instanceof Error?e.message:String(e),timestamp:new Date().toISOString()}))),{reconnectTimer:null,connectionState:i}}function Rn(e){return{type:`provider.clear_models`,payload:{providerId:e}}}function zn(e,t){return{type:`provider.undo_clear`,payload:{providerId:e,previousModels:[...t]}}}function Bn(e){return{type:`provider.update`,payload:e}}var Vn={getGitInfo(){this.send({type:`git.info`})},getGitChanges(){this.send({type:`git.changes`})},getGitHistory(e){this.send({type:`git.history`,payload:e})},getGitCommitDetail(e){this.send({type:`git.commit_detail`,payload:{hash:e}})},getGitCommitFileDiff(e,t,n){this.send({type:`git.commit_file_diff`,payload:{hash:e,path:t,...n?{previousPath:n}:{}}})},getGitDiff(e){this.send({type:`git.diff`,payload:{path:e}})},stageGit(e){let t=Array.isArray(e)?e:[e];this.send({type:`git.stage`,payload:{paths:t}})},unstageGit(e){let t=Array.isArray(e)?e:[e];this.send({type:`git.unstage`,payload:{paths:t}})},discardGit(e){let t=Array.isArray(e)?e:[e];this.send({type:`git.discard`,payload:{paths:t}})},commitGit(e){this.send({type:`git.commit`,payload:{message:e}})},getProviderQuota(){this.send({type:`provider.quota.get`})},getProviderStatus(){this.send({type:`provider.status.get`})},getProviderAuditHistory(e){this.send({type:`provider.audit.get`,payload:{count:e}})},retryProviderModel(e,t){this.send({type:`provider.status.retry`,payload:{providerId:e,model:t}})},clearProviderStatus(e,t){this.send({type:`provider.status.clear`,payload:{providerId:e,model:t}})},newSession(e){this.send({type:`session.new`,payload:{...e??{}}})},getSystemPrompt(){this.send({type:`system_prompt.get`,payload:this.withSession({})})},setSystemPromptVariant(e){this.send({type:`prefs.update`,payload:this.withSession({systemPromptVariant:e})})},listProviders(){this.send({type:`providers.list`})},listProviderModels(e){this.send({type:`provider.models`,payload:{providerId:e}})},listSavedProviders(){this.send({type:`providers.saved`})},searchProviderModels(e,t){this.send({type:`provider.models.search`,payload:{query:e,...t===void 0?{}:{limit:t}}})},addKey(e,t,n){this.send({type:`key.add`,payload:{providerId:e,label:t,apiKey:n}})},updateKey(e,t,n){this.send({type:`key.update`,payload:{providerId:e,label:t,apiKey:n}})},deleteKey(e,t){this.send({type:`key.delete`,payload:{providerId:e,label:t}})},setActiveKey(e,t){this.send({type:`key.set_active`,payload:{providerId:e,label:t}})},addProvider(e,t,n,r,i,a){this.send({type:`provider.add`,payload:{id:e,family:t,baseUrl:n,apiKey:r,...i?{models:i}:{},...a?{customModels:a}:{}}})},removeProvider(e){this.send({type:`provider.remove`,payload:{providerId:e}})},listOAuthProviders(){this.send({type:`auth.oauth.list`})},startOAuth(e,t){this.send({type:`auth.oauth.start`,payload:t?{kind:e,providerId:t}:{kind:e}})},submitOAuthCode(e,t){this.send({type:`auth.oauth.code`,payload:{kind:e,input:t}})},cancelOAuth(e){this.send({type:`auth.oauth.cancel`,payload:{kind:e}})},probeProvider(e,t){this.send({type:`provider.probe`,payload:t===void 0?{providerId:e}:{providerId:e,timeoutMs:t}})},clearProviderModels(e){this.send(Rn(e))},undoProviderClear(e,t){this.send(zn(e,t))},setCustomModel(e,t,n){this.send({type:`provider.custom_models.set`,payload:{providerId:e,modelId:t,customModel:n}})},removeCustomModel(e,t){this.send({type:`provider.custom_models.remove`,payload:{providerId:e,modelId:t}})},updateProvider(e){this.send(Bn(e))},clearContext(){this.send({type:`context.clear`,payload:this.withSession({})})},compactContext(e=!1){this.send({type:`context.compact`,payload:this.withSession({aggressive:e})})},repairContext(){this.send({type:`context.repair`,payload:this.withSession({})})},openContextEditor(){this.send({type:`context.editor.open`,payload:this.withSession({})})},validateContextEditor(e,t,n,r){this.send({type:`context.editor.validate`,payload:this.withSession({baseRevision:e,messages:t,removals:n,allowRepair:r})})},applyContextEditor(e,t,n,r){this.send({type:`context.editor.apply`,payload:this.withSession({baseRevision:e,messages:t,removals:n,allowRepair:r})})},debugContext(e){this.send({type:`context.debug`,payload:this.withSession({})},e)},listContextModes(){this.send({type:`context.modes.list`,payload:this.withSession({})})},switchContextMode(e){this.send({type:`context.mode.switch`,payload:this.withSession({id:e})})},createContextMode(e){this.send({type:`context.mode.create`,payload:this.withSession(e)})},updateContextMode(e,t){this.send({type:`context.mode.update`,payload:this.withSession({id:e,...t})})},deleteContextMode(e){this.send({type:`context.mode.delete`,payload:this.withSession({id:e})})},switchAutonomy(e){this.send({type:`autonomy.switch`,payload:this.withSession({mode:e})})},updatePrefs(e){this.send({type:`prefs.update`,payload:this.withSession(e)})},getPrefs(e){this.send({type:`prefs.get`,payload:this.withSession({},e)})}};function Hn(e){Object.assign(e.prototype,Vn)}var Un={"context.debug":`context.debug`,"diag.get":`diag.get`,"memory.list":`memory.list`,"memory.sage.get":`memory.sage.get`,"memory.sage.graph":`memory.sage.graph`,"memory.sage.list":`memory.sage.list`,"memory.sage.listCandidates":`memory.sage.listCandidates`,"memory.sage.listPage":`memory.sage.listPage`,"memory.sage.remember":`memory.sage.remember`,"memory.sage.update":`memory.sage.update`,"skills.list":`skills.list`,"stats.get":`stats.get`,"tools.list":`tools.list`},Wn=3e4,Gn=15e3,Kn=class{suppressedChatEchoes=new Map;echoSweepTimer=null;registerSuppression(e,t){if(t.echoToChat!==!1||!Un[e.type])return;let n=t.requestId??`suppress_${Date.now()}_${g().slice(0,8)}`;this.suppressedChatEchoes.set(n,Date.now()+Wn),this.ensureEchoSweep();let r=e.payload??{};r.requestId=n,e.payload=r}consumeSuppressedChatEcho(e,t){if(!t)return!1;let n=t.payload?.requestId;if(typeof n!=`string`||n.length===0)return!1;let r=this.suppressedChatEchoes.get(n);return r!==void 0&&(this.suppressedChatEchoes.delete(n),r>Date.now())}ensureEchoSweep(){this.echoSweepTimer||=setInterval(()=>{this.sweepSuppressedChatEchoes(Date.now())},Gn)}sweepSuppressedChatEchoes(e){for(let[t,n]of this.suppressedChatEchoes)n<=e&&this.suppressedChatEchoes.delete(t);this.suppressedChatEchoes.size===0&&this.echoSweepTimer&&(clearInterval(this.echoSweepTimer),this.echoSweepTimer=null)}clear(){this.echoSweepTimer&&=(clearInterval(this.echoSweepTimer),null),this.suppressedChatEchoes.clear()}};function qn(e,t,n,r,i){let a;for(;e.messageQueue.length>0&&(e.messageQueue.length>=r||e.messageQueueChars+n.length>i);){let t=e.messageQueue.shift();if(!t)break;a??=t;let n=e.messageQueueWeights.get(t)??JSON.stringify(t).length;e.messageQueueChars=Math.max(0,e.messageQueueChars-n),e.messageQueueWeights.delete(t)}return a&&console.warn(JSON.stringify({level:`warn`,event:`ws_client.message_queue_full`,cap:r,charCap:i,droppedType:a.type,timestamp:new Date().toISOString()})),e.messageQueue.push(t),e.messageQueueWeights.set(t,n.length),e.messageQueueChars+=n.length,!0}function Jn(e,t){let n=e.messageQueue.splice(0);e.messageQueueChars=0;for(let e of n)try{t(e)}catch(e){console.warn(JSON.stringify({level:`warn`,event:`ws.flush_failed`,message:e instanceof Error?e.message:String(e)}))}}var Yn={sendMessage(e,t,n=!1,r){let i=`msg_${Date.now()}_${g().slice(0,8)}`,a=this.withSession({id:i,content:e,timestamp:Date.now(),...n?{freshContext:!0}:{},...t&&t.length>0?{images:t}:{}},r);return a.sessionId&&this.armedResends.delete(a.sessionId),this.send({type:`user_message`,payload:a}),i},getChimeraReports(e){this.send({type:`chimera.reports.list`,payload:this.withSession({sessionId:e??``},e)})},adviseTopic(e,t=1e4){let n=g();return new Promise(r=>{let i=!1,a=e=>{i||(i=!0,clearTimeout(s),o(),r(e))},o=this.on(`topic.advice_result`,e=>{e.payload.requestId===n&&a(e.payload)}),s=setTimeout(()=>{a({requestId:n,suggestNewContext:!1,confidence:0,reason:`Topic check timed out; continuing in the current context.`,source:`local`})},t);this.send({type:`topic.advice`,payload:this.withSession({requestId:n,prompt:e})})})},sendMailboxMessage(e,t){let n=`mbox_${Date.now()}_${g().slice(0,8)}`;return this.send({type:`mailbox.send`,payload:this.withSession({requestId:n,to:e.to,type:e.type,audience:e.audience??`all`,subject:e.subject,body:e.body,priority:e.priority??`normal`},t)}),n},sendAbort(e){this.send({type:`abort`,payload:this.withSession({},e)})},subscribeSessions(e){let t=Array.from(new Set(e.filter(e=>typeof e==`string`&&e)));if(t.length===0||t.length===this.subscribedSessionIds.length&&t.every((e,t)=>e===this.subscribedSessionIds[t]))return;this.subscribedSessionIds=t;let n=this.replayOnNextSubscribe?t:[];this.replayOnNextSubscribe=!1,this.send({type:`session.subscribe`,payload:this.withSession({sessionIds:t,...n.length>0?{replayFor:n}:{}})})},clearSessionSubscription(){this.subscribedSessionIds=[],this.replayOnNextSubscribe=!0},sendConfirm(e,t){this.pendingConfirms.has(e)&&this.pendingConfirms.delete(e),this.send({type:`tool.confirm_result`,payload:this.withSession({id:e,decision:t})})},switchModel(e,t,n=8e3){let r=g();return new Promise(i=>{let a=!1,o=e=>{a||(a=!0,clearTimeout(c),s(),i(e))},s=this.on(`model.switch_result`,e=>{let t=e.payload;t.requestId===r&&o(t)}),c=setTimeout(()=>{o({requestId:r,success:!1,message:`Model switch timed out. Please try again.`,provider:e,model:t,runActive:!1})},n);this.send({type:`model.switch`,payload:this.withSession({provider:e,model:t,requestId:r})})})},shutdownCodebaseIndexServer(e=8e3){let t=g();return new Promise(n=>{let r=!1,i=e=>{r||(r=!0,clearTimeout(o),a(),n(e))},a=this.on(`codebase.index.server.shutdown_result`,e=>{e.payload.requestId&&e.payload.requestId!==t||i(e.payload)}),o=setTimeout(()=>{i({requestId:t,stopped:!1,reason:`Codebase index server shutdown timed out.`})},e);this.send({type:`codebase.index.server.shutdown`,payload:{requestId:t}},{queueIfDisconnected:!1})||i({requestId:t,stopped:!1,reason:`WebSocket is not connected.`})})}};function Xn(e){Object.assign(e.prototype,Yn)}var Zn=`#pending-new-session`;function Qn(e){if(e.type===`session.new`)return Zn;if(e.type!==`session.resume`)return null;let t=e.payload?.id;return typeof t==`string`&&t.length>0?t:Zn}function $n(e,t,n){return!e||!n.sessionId?!1:e===`#pending-new-session`?n.reset===!0&&!t.has(n.sessionId):e===n.sessionId}function er(e,t){if(t){if(e.size>=64){let t=e.values().next();t.done||e.delete(t.value)}e.add(t)}}function tr(e,t,n){if(!t)return!1;let r=Date.now(),i=e.get(t);if(i&&r-i.armedAt<15e3)return!1;if(e.size>=8){let t=e.keys().next();t.done||e.delete(t.value)}return e.set(t,{...n,armedAt:r}),!0}function nr(e,t,n){let r=e.get(t);r&&(e.delete(t),yt(t)&&n(r.content,r.images,r.freshContext===!0,t))}function rr(e,t){for(let[n,r]of e)r.expiresAtMs<=t&&e.delete(n)}var ir=e({WrongStackWebSocketClient:()=>or,getWSClient:()=>cr}),ar=class e{ws=null;url;handlers=new Map;maxReconnectAttempts=10;shouldReconnect=!0;reconnectTimer=null;connectPromise=null;socketGeneration=0;messageQueue=[];messageQueueChars=0;messageQueueWeights=new WeakMap;connectionState=ke();static MAX_QUEUED_MESSAGES=1e3;static MAX_QUEUED_CHARS=16777216;pendingConfirms=new Map;static PENDING_CONFIRM_TTL_MS=18e4;sessionId=null;pendingSwapTarget=null;requestedSwitchSessionId=null;seenSessionIds=new Set;replayOnNextSubscribe=!0;subscribedSessionIds=[];armedResends=new Map;lastErrorText;statusListeners=new Set;currentStatus={state:`connecting`};echoSuppression=new Kn;get suppressedChatEchoes(){return this.echoSuppression.suppressedChatEchoes}get echoSweepTimer(){return this.echoSuppression.echoSweepTimer}set echoSweepTimer(e){this.echoSuppression.echoSweepTimer=e}protocolCapabilities=new Set;protocolVersion=null;supportsCapability(e){return this.protocolCapabilities.has(e)}get negotiatedProtocolVersion(){return this.protocolVersion}onStatus(e){return this.statusListeners.add(e),e(this.currentStatus),()=>this.statusListeners.delete(e)}get status(){return this.currentStatus}setStatus(e){this.currentStatus=e;for(let t of this.statusListeners)try{t(e)}catch{}}constructor(e){this.url=e??ga()}withSession(e,t){let n=t||Ji();return n?{...e,sessionId:n}:e}async ensureAuthCookie(){this.url=await Pn(this.url)}connect(){return this.ws?.readyState===WebSocket.OPEN?Promise.resolve():(this.connectPromise||=this.openSocket().finally(()=>{this.connectPromise=null}),this.connectPromise)}async openSocket(){return await this.ensureAuthCookie(),this.connectionState=Ae(this.connectionState),new Promise((e,t)=>{if(this.ws?.readyState===WebSocket.OPEN){e();return}this.setStatus({state:`connecting`});let n=++this.socketGeneration;try{let r=new WebSocket(this.url);this.ws=r,r.binaryType=`arraybuffer`;let i=!1,a=()=>{i||(i=!0,this.attemptReconnect())};Fn(r,{isCurrentGeneration:()=>this.socketGeneration===n,onOpen:()=>{this.connectionState=je(this.connectionState),this.lastErrorText=void 0,this.setStatus({state:`open`}),this.flushMessageQueue(),this.send({type:`provider.quota.get`}),e()},onMessage:e=>{this.connectionState=Me(this.connectionState),this.handleMessage(e)},onError:e=>{this.lastErrorText=e,t(Error(e)),a()},onClose:(e,n)=>{if(this.pendingSwapTarget=null,this.requestedSwitchSessionId=null,n){this.lastErrorText=e,t(Error(e)),a();return}e&&!this.lastErrorText&&(this.lastErrorText=e),this.attemptReconnect()},onTimeout:()=>{this.ws===r&&(this.ws=null),this.lastErrorText=`Connection timeout`,t(Error(`Connection timeout`)),a()}})}catch(e){if(this.socketGeneration!==n)return;this.lastErrorText=m(e),this.setStatus({state:`closed`,error:this.lastErrorText}),t(e)}})}attemptReconnect(){if(!this.shouldReconnect){this.connectionState=Ne(this.connectionState),this.reconnectTimer=null,this.setStatus({state:`closed`,error:this.lastErrorText??`Disconnected`});return}let t=In(this.connectionState,this.maxReconnectAttempts,e.MAX_QUEUED_MESSAGES);if(this.connectionState=t.state,!t.plan){this.reconnectTimer=null,this.setStatus({state:`closed`,error:this.lastErrorText??`Disconnected`});return}this.setStatus({state:`reconnecting`,attempt:t.plan.attempt,nextRetryAt:t.plan.retryAt,lastError:this.lastErrorText}),this.reconnectTimer=setTimeout(async()=>{if(this.reconnectTimer=null,this.shouldReconnect)try{await this.connect()}catch(e){console.error(JSON.stringify({level:`error`,event:`ws_client.reconnect_failed`,message:e instanceof Error?e.message:String(e),timestamp:new Date().toISOString()}))}},t.plan.delayMs)}retryNow(){let e=Ln(this.currentStatus.state,this.reconnectTimer,this.connectionState,()=>this.connect());this.reconnectTimer=e.reconnectTimer,this.connectionState=e.connectionState}flushMessageQueue(){let e={messageQueue:this.messageQueue,messageQueueChars:this.messageQueueChars,messageQueueWeights:this.messageQueueWeights};Jn(e,e=>this.send(e)),this.messageQueueChars=e.messageQueueChars}handleMessage(t){if(t.type===`tool.confirm_needed`){let n=t.payload;this.sweepExpiredPendingConfirms(Date.now()),this.pendingConfirms.set(n.id,{expiresAtMs:Date.now()+e.PENDING_CONFIRM_TTL_MS}),this.emit(t);return}if(t.type===`tool.confirm_resolved`){let e=t.payload;typeof e.id==`string`&&this.pendingConfirms.delete(e.id),this.emit(t);return}if(t.type===`session.start`){let e=t.payload,n=gt(e);this.sessionId=e.sessionId,this.protocolVersion=n.version,this.protocolCapabilities=new Set(n.capabilities),this.requestedSwitchSessionId=this.matchesPendingSwap(e)?e.sessionId:null,this.requestedSwitchSessionId&&(this.pendingSwapTarget=null),this.rememberSeenSession(e.sessionId),this.emit(t),this.consumeArmedResend(e.sessionId);return}t.type===`error`&&(t.payload.phase===`session.new`||t.payload.phase===`session.resume`)&&(this.pendingSwapTarget=null),this.emit(t)}matchesPendingSwap(e){return $n(this.pendingSwapTarget,this.seenSessionIds,e)}rememberSeenSession(e){er(this.seenSessionIds,e)}consumeRequestedSwitch(e){return!e||this.requestedSwitchSessionId!==e?!1:(this.requestedSwitchSessionId=null,!0)}armNotReadyResend(e,t){return tr(this.armedResends,e,t)}consumeArmedResend(e){nr(this.armedResends,e,(e,t,n,r)=>{this.sendMessage(e,t,n,r)})}sweepExpiredPendingConfirms(e){rr(this.pendingConfirms,e)}emit(e){let t=this.handlers.get(e.type);if(t)for(let n of t)try{n(e)}catch(t){console.error(JSON.stringify({level:`error`,event:`ws_client.handler_error`,messageType:e.type,message:t instanceof Error?t.message:String(t),timestamp:new Date().toISOString()}))}}send(e,t={}){let n=this.constructor,r=n.MAX_QUEUED_MESSAGES,i=n.MAX_QUEUED_CHARS,a=st(e,`client`);if(!a.ok)return console.error(JSON.stringify({level:`error`,event:`ws_client.outbound_message_rejected`,code:a.issue.code,message:a.issue.message,timestamp:new Date().toISOString()})),!1;this.echoSuppression.registerSuppression(e,t);let o=JSON.stringify(a.message),s=this.ws?.readyState===WebSocket.OPEN;if(!s&&o.length>i)return console.warn(JSON.stringify({level:`warn`,event:`ws_client.message_queue_full`,cap:r,charCap:i,droppedType:e.type,reason:`message_too_large`,timestamp:new Date().toISOString()})),!1;let c=Qn(e);if(c){if(this.pendingSwapTarget===c)return!1;this.pendingSwapTarget=c}if(e.type===`context.clear`?An.dropAll():(e.type===`session.new`||e.type===`session.resume`)&&An.flushAll(),s)return this.ws?.send(o),!0;{if(t.queueIfDisconnected===!1)return!1;let n={messageQueue:this.messageQueue,messageQueueChars:this.messageQueueChars,messageQueueWeights:this.messageQueueWeights},a=qn(n,e,o,r,i);return this.messageQueueChars=n.messageQueueChars,a}}consumeSuppressedChatEcho(e,t){return this.echoSuppression.consumeSuppressedChatEcho(e,t)}on(e,t){let n=this.handlers.get(e);return n||(n=new Set,this.handlers.set(e,n)),n.add(t),()=>n?.delete(t)}off(e,t){this.handlers.get(e)?.delete(t)}disconnect(){this.shouldReconnect=!1,this.connectionState=Ne(this.connectionState),this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.messageQueue.length=0,this.messageQueueChars=0,this.pendingSwapTarget=null,this.requestedSwitchSessionId=null,this.pendingConfirms.clear(),this.echoSuppression.clear(),this.ws?.close(),this.ws=null}get isConnected(){return this.ws?.readyState===WebSocket.OPEN}get currentSessionId(){return this.sessionId}};Mn(ar),Hn(ar),Xn(ar);var or=ar,sr=null;function cr(e){return sr||=new or(e),sr}function lr(e){return e.replace(/\s+/g,` `).trim().toLowerCase()}[`NOTE: The todo board has not changed since the previous automatic continuation — this exact instruction is being repeated.`,`Before anything else, bring the board up to date so the loop stays grounded:`,`- mark work that is actually finished as completed,`,`- split the current item into smaller concrete sub-items if it needs more than one turn,`,`- remove or reword items that no longer apply.`,`Then continue the work. If you are blocked, state exactly what is blocking you instead of repeating the same turn.`].join(`
18
+ `);function ur(){let e=new Map,t=new Set;return{recordAttempt(t){let n=(e.get(t)??0)+1;return e.set(t,n),n},getAttempts(t){return e.get(t)??0},markSkipped(e){t.add(e)},isSkipped(e){return t.has(e)},reset(){e.clear(),t.clear()},snapshot(){let n={},r=new Set([...e.keys(),...t]);for(let i of r)n[i]={attempts:e.get(i)??0,skipped:t.has(i)};return n}}}var dr=[`Pivoting to the next open item — previous todo still pending after {attempts} attempt(s).`,`Shifting focus to a different task while the previous item ({label}) remains open after {attempts} attempt(s).`,`No board progress on the current item after {attempts} attempt(s). Continuing with the next todo.`,`The previous item is still unresolved after {attempts} try(ies). Moving on down the list.`,`Advancing to the next piece of work after {attempts} unproductive attempt(s) on the prior one.`,`Taking a different angle — the stalled item ({label}) stays open after {attempts} attempt(s). Pressing ahead.`,`The todo board shows no movement on the current task after {attempts} attempt(s). Switching gears.`,`No change on the board from the last {attempts} continuation(s). Proceeding to the next open item.`];function fr(e,t,n,r){let i=dr[Math.max(0,Math.min(n-1,dr.length-1))].replace(/\{attempts\}/g,()=>String(n)).replace(/\{label\}/g,()=>e.content.slice(0,72));if(!t)return[i,``,`No more open items remain on the todo list. What has been accomplished and what should I do next?`].join(`
19
+ `);let a=t.status===`in_progress`&&t.activeForm?t.activeForm:t.content,o=r.filter(e=>e.status===`completed`).length,s=r.length,c=[i,``,`Proceed with: ${a}`];return s>0&&(c.push(``,`Todo board (${o}/${s} done):`),c.push(...r.slice(0,20).map(e=>` ${e.status===`completed`?`[x]`:e.status===`in_progress`?`[~]`:`[ ]`} ${e.content.replace(/\n|\r/g,` `)}`))),c.push(``,`If this item is already done, mark it complete and move to the next open todo. Keep the board honest as you work.`),c.join(`
20
+ `)}function pr(e,t){if(e.length===0||!t)return null;let n=t.toLowerCase(),r=e.find(e=>e.status===`in_progress`);if(r){let e=(r.activeForm??r.content).toLowerCase();if(e.length>5&&n.includes(e))return{id:r.id,content:r.activeForm??r.content}}for(let t of e){if(t.status===`completed`||r&&t.id===r.id)continue;let e=(t.activeForm??t.content).toLowerCase();if(e.length>5&&n.includes(e))return{id:t.id,content:t.activeForm??t.content}}let i=e.find(e=>e.status!==`completed`);return i?{id:i.id,content:i.activeForm??i.content}:null}function mr(e={}){let t=(e,t)=>e===void 0||!Number.isFinite(e)?t:Math.floor(e),n=Math.max(2,t(e.repeatThreshold,2)),r=Math.max(n,t(e.windowSize,3)),i=[],a=null;function o(e){let t=lr(e);i.push(t),i.length>r&&(i=i.slice(i.length-r));let a=0;for(let e=i.length-1;e>=0&&i[e]===t;e--)a++;return{normalized:t,runLength:a,shouldHalt:a>=n}}function s(e){let t=o(e);return t.shouldHalt?a===t.normalized?{...t,action:`halt`}:(a=t.normalized,{...t,shouldHalt:!1,action:`steer`}):(a=null,{...t,shouldHalt:!1,action:`feed`})}function c(){i=[],a=null}function l(){return i.slice()}function u(){return i.length}return{record:o,recordGrounded:s,reset:c,history:l,size:u}}var hr=`__unbound__`,gr=8,U=new Map;function _r(){return{streak:0,capWarned:!1,loopHalted:!1,loopGuard:mr(),continuationTracker:ur()}}function vr(e){let t=e??hr,n=U.get(t);if(n)return n;if(U.size>=gr){let e=U.keys().next().value;e!==void 0&&U.delete(e)}let r=_r();return U.set(t,r),r}function yr(e){U.delete(e)}function br(){let e=h(e=>e.autoProceedMaxIterations),t=h(e=>e.autonomy),n=Kt(),r=bn(e=>e.session?.id??null),i=n??r,a=vr(i),o=(0,V.useRef)(a.streak),s=(0,V.useRef)(a.capWarned),c=(0,V.useRef)(t),l=(0,V.useRef)(i);(0,V.useEffect)(()=>{o.current=a.streak,s.current=a.capWarned}),(0,V.useEffect)(()=>{if(l.current===i)return;if(l.current===null&&i){let e=U.get(hr);e&&!U.has(i)&&(U.set(i,e),U.delete(hr))}let e=vr(i);o.current=e.streak,s.current=e.capWarned,l.current=i},[i]),(0,V.useEffect)(()=>{let e=c.current===`auto`,n=t===`auto`;!e&&n&&(a.capWarned=!1,s.current=!1),e&&!n&&(a.streak=0,o.current=0,a.loopHalted=!1,a.loopGuard.reset(),a.continuationTracker.reset()),c.current=t},[t,a]);let u=(0,V.useCallback)(()=>a.loopHalted?!1:e<=0||a.streak<e,[e,a]),d=(0,V.useCallback)(()=>{let t=e;return t>0&&a.streak>=t?!1:(a.streak+=1,o.current=a.streak,t>0&&a.streak>=t&&(a.capWarned=!0,s.current=!0),!0)},[e,a]),f=(0,V.useCallback)(e=>{if(a.loopHalted)return!1;let t=a.loopGuard.record(e);return t.shouldHalt&&(a.loopHalted=!0),!t.shouldHalt},[a]),p=(0,V.useCallback)((e,t)=>{if(a.loopHalted)return{canFeed:!1,halted:!0};if(!a.loopGuard.recordGrounded(e).shouldHalt)return{canFeed:!0};let n=pr(t,e);if(n){let e=a.continuationTracker.recordAttempt(n.id);if(a.continuationTracker.markSkipped(n.id),Object.values(a.continuationTracker.snapshot()).reduce((e,t)=>e+t.attempts,0)<=9){let r=t.filter(e=>e.status!==`completed`).find(e=>e.id!==n.id&&!a.continuationTracker.isSkipped(e.id));if(r){let i=t.find(e=>e.id===n.id);i&&(i.status=`pending`);let o=fr({id:n.id,content:n.content},r,e,t);return a.loopGuard.reset(),{canFeed:!1,advancement:o}}}}return a.loopHalted=!0,{canFeed:!1,halted:!0}},[a]),m=(0,V.useCallback)(()=>{a.streak=0,o.current=0,a.capWarned=!1,s.current=!1,a.loopHalted=!1,a.loopGuard.reset(),a.continuationTracker.reset()},[a]),g=(0,V.useCallback)(()=>{a.capWarned=!1,s.current=!1},[a]);return{streak:o.current,capWarned:s.current,canAutoSubmit:u,recordAutoSubmit:d,recordPrompt:f,recordGroundedPrompt:p,reset:m,resetCapWarned:g}}var xr=u(e=>({pending:null,selected:0,setPending:t=>e({pending:t,selected:0}),clear:()=>e({pending:null,selected:0}),move:t=>e(e=>{if(!e.pending||e.pending.candidates.length===0)return e;let n=e.pending.candidates.length;return{selected:(e.selected+t+n)%n}}),setSelected:t=>e({selected:Math.max(0,t)})}));function Sr(e,t){return t?e===t:!e}function Cr(e){return e===`running`}function wr(e,t){let n=+!Cr(e.status),r=+!Cr(t.status);return n===r?e.startedAt-t.startedAt:n-r}function Tr(e){let t=0,n=0,r=0;for(let i of e)i.status===`running`?t++:i.status===`completed`?n++:(i.status===`failed`||i.status===`timeout`)&&r++;return{running:t,completed:n,failed:r,total:e.length}}var Er=85,Dr=70;function Or(e){let t=Number.isFinite(e)?Math.max(0,Math.min(100,Math.round(e))):0;return{clamped:t,severity:t>=Er?`high`:t>=Dr?`medium`:`low`}}function kr(e){return e==null||!Number.isFinite(e)||e<0?`0`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(Math.round(e))}function Ar(e){if(e==null||!Number.isFinite(e)||e<=0)return`$0`;if(e<.01){let t=e.toFixed(5);return t===`0.00000`?`$0`:`$`+t.replace(/(\d)0+$/,`$1`).replace(/\.$/,``)}return`$`+e.toFixed(3)}function jr(e){if(e==null||!Number.isFinite(e)||e<0)return`—`;let t=Math.floor(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60);if(n<60)return`${n}m ${t%60}s`;let r=Math.floor(n/60);return r<24?`${r}h ${n%60}m`:`${Math.floor(r/24)}d`}function Mr(e,t=Date.now()){let{clamped:n,severity:r}=Or(e.ctxPct);return{ctxClamped:n,ctxSeverity:r,elapsed:!Number.isFinite(e.startedAt)||e.startedAt<=0?`—`:jr(e.status===`running`?t-e.startedAt:(e.completedAt??t)-e.startedAt),cost:Ar(e.costUsd),iterationCount:e.iteration,toolCount:e.toolCalls,tokensIn:kr(e.tokensIn),tokensOut:kr(e.tokensOut)}}var Nr=12,Pr=20,Fr=500,Ir=200,Lr=[];function Rr(e,t,n){return{id:e,name:t?.trim()||e,sessionId:n,status:`running`,iteration:0,toolCalls:0,costUsd:0,ctxPct:0,ctxTokens:0,maxContext:0,extensions:0,startedAt:Date.now(),toolLog:[],sparklineBins:Array(Nr).fill(0)}}var zr=0;function W(){return`tl_${Date.now()}_${++zr}`}function G(e,t){return[t,...e].slice(0,Pr)}function Br(e){switch(e){case`text`:case`thinking`:case`tool_use`:case`tool_result`:case`error`:case`status`:case`system`:return e;default:return`status`}}function Vr(e,t){return e.subagentId!==t.subagentId||e.kind!==t.kind||e.iteration!==t.iteration||e.toolName!==t.toolName||e.toolOk!==t.toolOk?!1:e.kind===`text`||e.kind===`thinking`}function K(e,t){let n=e[e.length-1];return n&&Vr(n,t)?[...e.slice(0,-1),{...n,content:`${n.content}${t.content}`,ts:t.ts}].slice(-1e3):[...e,t].slice(-1e3)}function Hr(e){return[e[0]+1,...e.slice(0,11)]}function Ur(e){return Number.isFinite(e)?Math.max(0,Math.min(100,e)):0}var q=u()((e,t)=>({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,fleetConcurrencyMax:4,fleetMaxSpawns:void 0,fleetUsedSpawns:void 0,fleetRemainingSpawns:void 0,fleetBudgetSource:void 0,fleetCheckpointMaxSpawns:void 0,fleetCeilingMismatch:!1,eventTimeline:[],agentTimeline:[],agentTranscripts:new Map,pushAgentTimelineEntry:t=>e(e=>{let n={id:`agent_tl_${Date.now()}_${Math.random().toString(36).slice(2,6)}`,...t,kind:Br(t.kind)},r=new Map(e.agents);n.subagentId&&n.subagentId!==`leader`&&!r.has(n.subagentId)&&r.set(n.subagentId,Rr(n.subagentId,n.agentName,n.sessionId));let i=new Map(e.agentTranscripts);return i.set(n.subagentId,K(i.get(n.subagentId)??[],n)),{agents:r,agentTimeline:[n,...e.agentTimeline].slice(0,Fr),agentTranscripts:i}}),hydrateAgentSessions:(t,n)=>e(e=>{if(!Array.isArray(t)||t.length===0)return e;let r=new Map(e.agents),i=new Map(e.agentTranscripts);for(let e of t){if(!e?.subagentId||e.subagentId===`leader`)continue;let t=e.subagentId,a=e.agentName?.trim()||t,o=r.get(t);if(o)e.task&&!o.description&&(o.description=e.task,r.set(t,o));else{let i=Rr(t,a,n);e.status&&(i.status=e.status),e.task&&(i.description=e.task),r.set(t,i)}if(Array.isArray(e.transcript)&&e.transcript.length>0){let n=i.get(t)??[];if(n.length===0)i.set(t,e.transcript.slice(-1e3));else{let r=[...n];for(let t of e.transcript)r.some(e=>e.id===t.id||e.ts===t.ts&&e.content===t.content&&e.kind===t.kind)||(r=K(r,t));i.set(t,r.slice(-1e3))}}}return{agents:r,agentTranscripts:i}}),clear:()=>e({agents:new Map,leaderId:void 0,fleetTokensIn:0,fleetTokensOut:0,fleetConcurrency:0,fleetConcurrencyMax:4,fleetMaxSpawns:void 0,fleetUsedSpawns:void 0,fleetRemainingSpawns:void 0,fleetBudgetSource:void 0,fleetCheckpointMaxSpawns:void 0,fleetCeilingMismatch:!1,eventTimeline:[],agentTimeline:[],agentTranscripts:new Map}),getAgentsBySession:e=>{let n=[];for(let r of t().agents.values())r.sessionId===e&&n.push(r);return n},getAgentTranscript:e=>t().agentTranscripts.get(e)??Lr,clearFinishedAgents:t=>e(e=>{let n=new Map(e.agents),r=new Set,i=0,a=0;for(let[e,o]of n)o.status!==`running`&&Sr(o.sessionId,t)&&(n.delete(e),r.add(e),i+=o.tokensIn??0,a+=o.tokensOut??0);let o=new Map(e.agentTranscripts);for(let e of r)o.delete(e);return{agents:n,agentTranscripts:o,agentTimeline:e.agentTimeline.filter(e=>!r.has(e.subagentId)),eventTimeline:e.eventTimeline.filter(e=>!r.has(e.agentId)),leaderId:e.leaderId&&r.has(e.leaderId)?void 0:e.leaderId,fleetTokensIn:Math.max(0,e.fleetTokensIn-i),fleetTokensOut:Math.max(0,e.fleetTokensOut-a)}}),removeAgent:t=>e(e=>{let n=e.agents.get(t);if(!n)return e;let r=new Map(e.agents);r.delete(t);let i=new Map(e.agentTranscripts);return i.delete(t),{agents:r,agentTranscripts:i,agentTimeline:e.agentTimeline.filter(e=>e.subagentId!==t),eventTimeline:e.eventTimeline.filter(e=>e.agentId!==t),leaderId:e.leaderId===t?void 0:e.leaderId,fleetTokensIn:Math.max(0,e.fleetTokensIn-(n.tokensIn??0)),fleetTokensOut:Math.max(0,e.fleetTokensOut-(n.tokensOut??0))}}),applyEvent:t=>e(e=>{let n=new Map(e.agents),r=new Map(e.agentTranscripts),i=e.eventTimeline,a=e.leaderId,o=e.fleetTokensIn,s=e.fleetTokensOut;if(t.kind===`session_stopped`&&t.sessionId){let i=new Set,a=0,o=0;for(let[e,s]of n)s.sessionId===t.sessionId&&(n.delete(e),r.delete(e),i.add(e),a+=s.tokensIn??0,o+=s.tokensOut??0);return{agents:n,agentTranscripts:r,agentTimeline:e.agentTimeline.filter(e=>!i.has(e.subagentId)),eventTimeline:e.eventTimeline.filter(e=>!i.has(e.agentId)),leaderId:e.leaderId&&i.has(e.leaderId)?void 0:e.leaderId,fleetTokensIn:Math.max(0,e.fleetTokensIn-a),fleetTokensOut:Math.max(0,e.fleetTokensOut-o)}}if(t.kind===`removed`&&t.subagentId){let i=n.get(t.subagentId);return n.delete(t.subagentId),r.delete(t.subagentId),{agents:n,agentTranscripts:r,agentTimeline:e.agentTimeline.filter(e=>e.subagentId!==t.subagentId),eventTimeline:e.eventTimeline.filter(e=>e.agentId!==t.subagentId),leaderId:e.leaderId===t.subagentId?void 0:e.leaderId,fleetTokensIn:Math.max(0,e.fleetTokensIn-(i?.tokensIn??0)),fleetTokensOut:Math.max(0,e.fleetTokensOut-(i?.tokensOut??0))}}if(t.kind===`leader_updated`&&t.subagentId){let e=n.get(t.subagentId)??Rr(t.subagentId,t.name,t.sessionId),r=t.sessionId||e.sessionId;for(let[e,i]of n)e!==t.subagentId&&i.isLeader&&(r&&i.sessionId&&i.sessionId!==r||n.set(e,{...i,isLeader:!1}));let o=t.name?.trim()||e.name;return a=t.subagentId,n.set(t.subagentId,{...e,isLeader:!0,name:o}),(!e.isLeader||o!==e.name)&&(i=G(i,{id:W(),kind:`leader_updated`,agentId:t.subagentId,agentName:o,timestamp:Date.now(),message:`${o} became leader`})),{agents:n,leaderId:a,eventTimeline:i}}if(!t.subagentId)return e;let c=n.get(t.subagentId)??Rr(t.subagentId,t.name,t.sessionId),l={...c},u=Date.now(),d=t.subagentId===`leader`||c.isLeader,f=!1;switch(t.kind){case`spawned`:if(l.name=t.name?.trim()||l.name,l.provider=t.provider??l.provider,l.model=t.model??l.model,l.description=t.description??l.description,l.taskId=t.taskId??l.taskId,l.sessionId=t.sessionId??l.sessionId,l.status=`running`,l.sparklineBins=Array(Nr).fill(0),i=G(i,{id:W(),kind:`spawned`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} spawned`}),!d&&t.description){let e=r.get(t.subagentId)??[];e.length===0&&(r.set(t.subagentId,K(e,{id:`agent_tl_${u}_spawn`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:`🎯 Spawned: ${t.description}`,kind:`system`,iteration:0,ts:new Date(u).toISOString()})),f=!0)}break;case`task_started`:if(l.description=t.description??l.description,l.taskId=t.taskId??l.taskId,l.status=`running`,i=G(i,{id:W(),kind:`task_started`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} started: ${t.description??`new task`}`}),!d&&(t.description||t.taskId)){let e=t.description||t.taskId,n=r.get(t.subagentId)??[];n[n.length-1]?.content.includes(e)||(r.set(t.subagentId,K(n,{id:`agent_tl_${u}_task`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:`🎯 Task: ${e}`,kind:`status`,iteration:0,ts:new Date(u).toISOString()})),f=!0)}break;case`tool_executed`:{let e=typeof t.ok!=`boolean`||t.ok,n=typeof t.durationMs==`number`?t.durationMs:0;if(l.lastTool=t.toolName??l.lastTool,l.toolCalls+=1,l.toolLog=[{name:t.toolName??`unknown`,ok:e,durationMs:n,at:u},...l.toolLog].slice(0,50),l.sparklineBins=Hr(l.sparklineBins),i=G(i,{id:W(),kind:`tool_executed`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} ${e?`✓`:`✗`} ${t.toolName??`tool`}`,value:n}),!d){let i=n>0?`Completed in ${n}ms`:e?`Success`:`Failed`,a=r.get(t.subagentId)??[];r.set(t.subagentId,K(a,{id:`agent_tl_${u}_tool_${Math.random().toString(36).slice(2,6)}`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:i,kind:`tool_result`,toolName:t.toolName,toolOk:e,iteration:l.iteration,ts:new Date(u).toISOString()})),f=!0}break}case`iteration_summary`:if(l.iteration=t.iteration??l.iteration,typeof t.toolCalls==`number`&&(l.toolCalls=t.toolCalls),typeof t.costUsd==`number`&&(l.costUsd=t.costUsd),l.currentTool=t.currentTool??l.currentTool,typeof t.partialText==`string`&&t.partialText&&(l.partialText=t.partialText),l.sparklineBins=Hr(l.sparklineBins),i=G(i,{id:W(),kind:`iteration_summary`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} iter ${t.iteration??l.iteration} · ${t.currentTool?`${t.currentTool}`:``}`,value:t.costUsd}),!d&&typeof t.partialText==`string`&&t.partialText){let e=r.get(t.subagentId)??[];r.set(t.subagentId,K(e,{id:`agent_tl_${u}_iter_${t.iteration??0}`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:t.partialText,kind:`text`,iteration:t.iteration??l.iteration,costUsd:t.costUsd,ts:new Date(u).toISOString()})),f=!0}break;case`budget_warning`:{let e=t.budgetKind??`budget`,n=typeof t.used==`number`?t.used:0,r=typeof t.limit==`number`?t.limit:0;l.budgetWarning={kind:e,used:n,limit:r},i=G(i,{id:W(),kind:`budget_warning`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} hit ${e} budget ${n}/${r}`,value:n});break}case`budget_extended`:l.extensions=t.totalExtensions??l.extensions+1,l.budgetWarning=void 0,i=G(i,{id:W(),kind:`budget_extended`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} extended budget ⚡×${l.extensions}`});break;case`ctx_pct`:l.ctxPct=Ur(Math.round(Math.max(0,t.load??0)*100)),l.ctxTokens=t.tokens??l.ctxTokens,l.maxContext=t.maxContext??l.maxContext,l.ctxPct>=80&&!l.budgetWarning&&(l.budgetWarning=l.ctxPct>=100?{kind:`hard`,used:l.ctxPct,limit:100}:{kind:`soft`,used:l.ctxPct,limit:100}),typeof t.costUsd==`number`&&(l.costUsd=t.costUsd),typeof t.tokensIn==`number`&&(l.tokensIn=t.tokensIn,o=o-(c.tokensIn??0)+t.tokensIn),typeof t.tokensOut==`number`&&(l.tokensOut=t.tokensOut,s=s-(c.tokensOut??0)+t.tokensOut),i=G(i,{id:W(),kind:`ctx_pct`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} ctx ${l.ctxPct}%`,value:l.ctxPct});break;case`task_completed`:{l.status=t.status===`success`?`completed`:t.status??`completed`,typeof t.iterations==`number`&&(l.iteration=t.iterations),typeof t.toolCalls==`number`&&(l.toolCalls=t.toolCalls),l.error=t.error,l.currentTool=void 0,l.completedAt=u,l.failureReason=t.failureReason??l.failureReason,typeof t.finalText==`string`&&t.finalText&&(l.finalText=fe(t.finalText));let e=t.status===`success`?`✓ completed`:t.status===`failed`?`✗ failed${t.failureReason?` (${t.failureReason})`:``}`:t.status===`timeout`?`⏱ timeout${t.failureReason?` (${t.failureReason})`:``}`:`stopped`;if(i=G(i,{id:W(),kind:`task_completed`,agentId:t.subagentId,agentName:l.name,timestamp:u,message:`${l.name} ${e}`,value:l.costUsd}),!d){let e=r.get(t.subagentId)??[];if(typeof t.finalText==`string`&&t.finalText){let n=fe(t.finalText);e.some(e=>e.kind===`text`&&e.content.includes(n))||(r.set(t.subagentId,K(e,{id:`agent_tl_${u}_done_text`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:n,kind:`text`,iteration:t.iterations??l.iteration,ts:new Date(u).toISOString()})),f=!0)}if(t.status===`failed`||t.status===`timeout`){let e=t.error?.message??(t.failureReason?`Failed: ${t.failureReason}`:`Agent ${t.status}`);r.set(t.subagentId,K(r.get(t.subagentId)??[],{id:`agent_tl_${u}_err`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:e,kind:`error`,iteration:t.iterations??l.iteration,ts:new Date(u).toISOString()})),f=!0}else t.finalText||(r.set(t.subagentId,K(r.get(t.subagentId)??[],{id:`agent_tl_${u}_done_status`,subagentId:t.subagentId,sessionId:t.sessionId,agentName:l.name,content:`Task completed successfully`,kind:`status`,iteration:t.iterations??l.iteration,ts:new Date(u).toISOString()})),f=!0)}break}}n.set(t.subagentId,l);let p=!1;if(n.size>Ir)for(let[e,i]of n){if(n.size<=Ir)break;i.status!==`running`&&e!==t.subagentId&&(n.delete(e),r.delete(e),p=!0,o=Math.max(0,o-(i.tokensIn??0)),s=Math.max(0,s-(i.tokensOut??0)),a===e&&(a=void 0))}return{agents:n,agentTranscripts:f||p?r:e.agentTranscripts,leaderId:a,fleetTokensIn:o,fleetTokensOut:s,eventTimeline:i}})})),Wr=e=>{let t=Array.from(e.agents.values());return t.sort((e,t)=>e===t||e.id===t.id?0:e.isLeader===t.isLeader?wr(e,t):e.isLeader?-1:1),t},Gr=Object.freeze({leaderId:void 0,tokensIn:0,tokensOut:0,totalCost:0,running:0,completed:0,failed:0,total:0}),Kr=`\0unattributed`,qr=new WeakMap;function Jr(e){let t=qr.get(e);if(t)return t;let n=new Map;for(let t of e.values()){let e=t.sessionId||Kr,r=n.get(e);r||(r={...Gr},n.set(e,r)),r.total++,t.status===`running`?r.running++:t.status===`completed`?r.completed++:(t.status===`failed`||t.status===`timeout`)&&r.failed++,Number.isFinite(t.costUsd)&&t.costUsd>0&&(r.totalCost+=t.costUsd),r.tokensIn+=t.tokensIn??0,r.tokensOut+=t.tokensOut??0,t.isLeader&&(r.leaderId=t.id)}return qr.set(e,n),n}var Yr=(e,t)=>t?Jr(e.agents).get(t)??Gr:Gr,Xr=(e,t)=>{if(!t){if(!e.leaderId)return;let t=e.agents.get(e.leaderId);return t&&!t.sessionId?e.leaderId:void 0}let n=Jr(e.agents).get(t)?.leaderId;if(n)return n;let r=e.leaderId;if(!r)return;let i=e.agents.get(r);return i&&i.sessionId===t?r:void 0};function Zr(e){let t=Kt(),n=e??(t||void 0);return q(e=>Xr(e,n))}function Qr(e){let t=Kt(),n=e??(t||void 0);return q(e=>Yr(e,n))}var $r=u()(e=>({entries:[],loading:!1,error:null,setEntries:(t,n=null)=>e({entries:t,error:n,loading:!1}),setLoading:t=>e({loading:t}),removeEntry:t=>e(e=>({entries:e.entries.filter(e=>e.id!==t)})),updateEntryName:(t,n)=>e(e=>({entries:e.entries.map(e=>{if(e.id!==t)return e;let r=n.trim();if(!r){let{name:t,...n}=e;return n}return{...e,name:r}})})),rebindCurrent:t=>e(e=>e.entries.every(e=>e.isCurrent===(e.id===t))?{}:{entries:e.entries.map(e=>({...e,isCurrent:e.id===t}))}),clearHistory:()=>e({entries:[]})})),ei=u()(e=>({candidates:[],offer:t=>{e({candidates:[...new Set(t.filter(e=>typeof e==`string`&&e.length>0))]})},dismiss:()=>e({candidates:[]})})),ti=3e5,ni=new Map;function ri(e){let t=ni.get(e);t!==void 0&&(clearTimeout(t),ni.delete(e))}var ii=u()(e=>({startedAt:{},progress:{},begin:t=>{t&&(ri(t),ni.set(t,setTimeout(()=>{ni.delete(t),ii.getState().end(t)},ti)),e(e=>({startedAt:{...e.startedAt,[t]:Date.now()}})))},update:(t,n)=>{t&&e(e=>({progress:{...e.progress,[t]:{...n,loadedBytes:Math.max(0,n.loadedBytes),totalBytes:Math.max(0,n.totalBytes),updatedAt:Date.now()}}}))},end:t=>{t&&(ri(t),e(e=>{if(!(t in e.startedAt)&&!(t in e.progress))return e;let{[t]:n,...r}=e.startedAt,{[t]:i,...a}=e.progress;return{startedAt:r,progress:a}}))},clear:()=>{for(let e of[...ni.keys()])ri(e);e({startedAt:{},progress:{}})}})),ai={start:`Starting`,resolve_id:`Resolving session id`,reserve_ownership:`Reserving ownership`,open_journal:`Reading journal`,activate_ownership:`Taking ownership`,replay_history:`Rebuilding timeline`,read_sidecars:`Reading todos and sidecars`,swap_writer:`Attaching session`,flush_journal:`Flushing journal`,repoint_sidecars:`Repointing sidecars`,restore_model:`Restoring provider and model`,finalize_previous_session:`Closing previous session`,token_accounting:`Restoring token accounting`,complete:`Finalizing`};function oi(e){return e?ai[e]??e.replaceAll(`_`,` `):`Reading journal`}function si(e){if(!e||e.totalBytes<=0)return null;let t=Math.round(e.loadedBytes/e.totalBytes*100);return Math.max(0,Math.min(100,t))}function ci(e){return e>=1048576?`${(e/1048576).toFixed(1)} MB`:e>=1024?`${Math.round(e/1024)} KB`:`${e} B`}var li=u()(e=>({info:null,currentBySession:{},pickerOpen:!1,pickerStartsSession:!1,promptedThisSession:!1,setInfo:(t,n)=>e(e=>({info:t,currentBySession:n?{...e.currentBySession,[n]:t.current}:e.currentBySession})),dropSession:t=>e(e=>{if(!(t in e.currentBySession))return e;let n={...e.currentBySession};return delete n[t],{currentBySession:n}}),openPicker:t=>e({pickerOpen:!0,pickerStartsSession:t?.startsSession===!0,promptedThisSession:!0}),closePicker:()=>e({pickerOpen:!1,pickerStartsSession:!1}),markPrompted:()=>e({promptedThisSession:!0})}));function ui(e,t){return(t?e.currentBySession[t]:void 0)??e.info?.current??`default`}var di=`leader`;function fi(){return{started:0,ok:0,failed:0,totalMs:0}}function pi(){return{started:0,ok:0,failed:0,totalMs:0,toolCalls:0}}function mi(e){return{sessionId:e,firstActivityAt:Date.now(),lastActivityAt:Date.now(),perTool:{},perAgent:{},delegations:pi()}}function hi(e,t){let n=e[t];if(n)return{record:e,bucket:n};let r=fi();return{record:{...e,[t]:r},bucket:r}}function gi(e,t){let n=e[t];if(n)return{sessions:e,session:n};let r=mi(t);return{sessions:{...e,[t]:r},session:r}}var _i=u(e=>({sessions:{},recordToolStarted:(t,n)=>e(e=>{let r=n.agentName||`leader`,{sessions:i,session:a}=gi(e.sessions,t),o=hi(a.perTool,n.name),s=hi(a.perAgent,r),c={...a,lastActivityAt:Date.now(),perTool:{...o.record,[n.name]:{...o.bucket,started:o.bucket.started+1}},perAgent:{...s.record,[r]:{...s.bucket,started:s.bucket.started+1}}};return{sessions:{...i,[t]:c}}}),recordToolExecuted:(t,n)=>e(e=>{let r=n.agentName||`leader`,{sessions:i,session:a}=gi(e.sessions,t),o=hi(a.perTool,n.name),s=hi(a.perAgent,r),c=Math.max(0,n.durationMs??0),l={...a,lastActivityAt:Date.now(),perTool:{...o.record,[n.name]:{...o.bucket,ok:o.bucket.ok+ +!!n.ok,failed:o.bucket.failed+ +!n.ok,totalMs:o.bucket.totalMs+c}},perAgent:{...s.record,[r]:{...s.bucket,ok:s.bucket.ok+ +!!n.ok,failed:s.bucket.failed+ +!n.ok,totalMs:s.bucket.totalMs+c}}};return{sessions:{...i,[t]:l}}}),recordDelegateStarted:(t,n)=>e(e=>{let{sessions:n,session:r}=gi(e.sessions,t),i={...r,lastActivityAt:Date.now(),delegations:{...r.delegations,started:r.delegations.started+1}};return{sessions:{...n,[t]:i}}}),recordDelegateCompleted:(t,n)=>e(e=>{let{sessions:r,session:i}=gi(e.sessions,t),a={...i,lastActivityAt:Date.now(),delegations:{...i.delegations,ok:i.delegations.ok+ +!!n.ok,failed:i.delegations.failed+ +!n.ok,toolCalls:i.delegations.toolCalls+Math.max(0,n.toolCalls??0)}};return{sessions:{...r,[t]:a}}}),resetSession:t=>e(e=>{if(!(t in e.sessions))return e;let n={...e.sessions};return delete n[t],{sessions:n}}),clearAll:()=>e({sessions:{}})}));function vi(e){let t=Object.values(e.perAgent).reduce((e,t)=>e+t.started,0),n=Object.values(e.perAgent).reduce((e,t)=>e+t.ok+t.failed,0);return Math.max(0,t-n)}var J=S,yi=`wrongstack.open_session_tabs`;function bi(){if(typeof window>`u`)return[];try{let e=localStorage.getItem(yi);if(!e)return[];let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`string`&&e.length>0).slice(0,J):[]}catch{return[]}}function xi(e){if(!(typeof window>`u`))try{localStorage.setItem(yi,JSON.stringify(e.slice(0,J)))}catch{}}function Si(e){if(!(typeof window>`u`))try{let t=new URL(window.location.href);if(t.searchParams.get(`session`)===e)return;t.searchParams.set(`session`,e),window.history.replaceState({},``,t.toString())}catch{}}function Y(){let e=P();return e&&e!==`__unbound__`?e:null}function Ci(e){M(e),Et(e),N(e),bn.getState().switchSession(e);let t=_.getState();t.bindSessionChrome(e),t.setSubagentChatFocus(null,e);let n=T(e),r=n.pendingConfirm;r?t.showConfirm(r):t.hideConfirm();let i=n.pendingFallback;i?xr.getState().setPending(i):xr.getState().clear(),$r.getState().rebindCurrent(e),t.setQueuePanelOpen(!1),t.setProcessMonitorOpen(!1),t.setCronJobsOpen(!1),Si(e)}function wi(e){if(T(e).isLoading)return!0;for(let t of q.getState().agents.values())if(t.sessionId===e&&t.status===`running`)return!0;return!1}function Ti(e){let t=T(e),n=t.isLoading,r=[],a=0;for(let t of q.getState().agents.values())t.sessionId===e&&(t.status===`running`?r.push({id:t.id,name:t.name??t.id,brief:t.description?On(t.description,120):``}):a+=1);let o=t.queue.length,s=[];n&&s.push(i.t(`activity:sessions.warnLeaderRunning`,{defaultValue:`Leader run in progress`}));for(let e of r)s.push(i.t(`activity:sessions.warnSubagentLine`,{defaultValue:`{{name}} — running{{suffix}}`,name:e.name,suffix:e.brief?`: ${e.brief}`:``}));a>0&&s.push(i.t(`activity:sessions.warnFinishedAgents`,{defaultValue:`{{count}} finished subagent(s) on record`,count:a})),o>0&&s.push(i.t(`activity:sessions.warnQueuedMessages`,{defaultValue:`{{count}} queued message(s)`,count:o}));let c=!n&&r.length===0&&a===0&&o===0&&t.messages.length===0;return{sessionId:e,isBusy:n||r.length>0,isEmpty:c,leaderRunning:n,runningAgents:r,finishedAgents:a,queuedMessages:o,lines:s}}function Ei(e){if(!wi(e))return;let t=Ti(e);if(t.lines.length===0)return;let n=j(e).session?.title??e.slice(0,8);wn.warn(i.t(`activity:sessions.stillRunningToast`,{defaultValue:`"{{title}}" keeps running in background:
21
+ {{lines}}`,title:n,lines:t.lines.join(`
22
+ `)}),7e3)}function Di(e){wt(e),Wt(e),h.getState().forgetSession(e),li.getState().dropSession(e),_.getState().forgetSession(e),$t.getState().forgetSessionFiles(e),rn.getState().forgetSessionGitChanges(e),q.getState().applyEvent({kind:`session_stopped`,sessionId:e}),Nt.getState().forgetSession(e),_i.getState().resetSession(e),yr(e)}function Oi(e){let t=P();if(t!==`__unbound__`&&e.includes(t))return;let n=e[e.length-1];if(n!==void 0){Ci(n),X.getState().markSeen(n);return}Et(null),N(k),_.getState().hideConfirm(),xr.getState().clear()}function ki(e){try{cr().focusSessionById(e)}catch{}}function Ai(e){let t=Y(),n=t&&!e.includes(t)?[...e,t]:e;if(n.length!==0)try{cr().subscribeSessions(n)}catch{}}var ji=(e,t)=>{if(e.length===0)return null;let n=e[0],r=j(n).lastVisitedAt||0;for(let t=1;t<e.length;t+=1){let i=e[t],a=j(i).lastVisitedAt||0;a>r&&(n=i,r=a)}return n};function Mi(e){let t=new Set(e.filter(e=>typeof e==`string`&&e.length>0)),n=X.getState().openTabIds,r=n.filter(e=>t.has(e));if(r.length===n.length)return r;for(let e of n)t.has(e)||Di(e);return xi(r),X.setState({openTabIds:r}),r}var Ni=!1;function Pi(e,t={}){if(Ni)return[];if(Ni=!0,e===void 0)return Fi(t);let n=new Set(e.filter(e=>typeof e==`string`&&e.length>0)),r=X.getState().openTabIds.filter(e=>!n.has(e));Mi(e);let i=Fi(t);return r.length>0&&ei.getState().offer(r),i}function Fi(e={}){if(Y())return[];let t=e.now??Date.now(),n=e.pickForeground??ji,r=X.getState().openTabIds.slice(0,J);if(r.length===0)return[];for(let e of r)xt(e),M(e),h.getState().bindSession(e),_.getState().bindSessionChrome(e),$r.getState().rebindCurrent(e);let i=n(r,t)??r[0];return i&&(Ci(i),X.getState().markSeen(i),ki(i)),Ai(r),r}var X=u((e,t)=>({openTabIds:bi(),lastSeenCounts:{},attention:{},setOpenTabIds:n=>{let r=new Set,i=[];for(let e of n)if(e&&!r.has(e)&&(r.add(e),i.push(e),i.length===J))break;let a=t().openTabIds.filter(e=>!r.has(e));for(let e of a)Di(e);let o=e=>Object.fromEntries(Object.entries(e).filter(([e])=>r.has(e)));e({openTabIds:i,lastSeenCounts:o(t().lastSeenCounts),attention:o(t().attention)}),xi(i),a.length>0&&Oi(i)},openTab:(n,r)=>{if(!n)return{success:!1,reason:`tabs_full`};let a=r?.recycleReentry===!0,o=Y(),s=[...t().openTabIds];if(o&&!s.includes(o)&&s.length<J&&s.push(o),n===o){if(!t().openTabIds.includes(n)){let e=[...s.slice(0,J-1),n];t().setOpenTabIds(e)}return t().markSeen(n),{success:!0,reason:`already_active`}}if(s.includes(n))return o&&!a&&Ei(o),Ci(n),t().markSeen(n),T(n).messages.length===0&&ii.getState().begin(n),ki(n),{success:!0,reason:`switched`};if(s.length<J){o&&!a&&Ei(o);let i=[...s,n];return e({openTabIds:i}),xi(i),Ci(n),t().markSeen(n),r?.resumeSession&&(ii.getState().begin(n),r.resumeSession(n)),{success:!0,reason:a?`replaced_empty_tab`:`opened_new_tab`}}let c=s.find(e=>{if(e===o||wi(e))return!1;let t=$r.getState().entries.find(t=>t.id===e);if(t&&(t.tokenTotal>0||(t.messageCount??0)>0))return!1;let n=T(e);return Ti(e).isEmpty&&n.pendingConfirm===null&&n.pendingFallback===null&&n.pendingRefinement===null});return c?(o&&!a&&Ei(o),t().closeTab(c),t().openTab(n,{...r,recycleReentry:!0})):(wn.error(i.t(`activity:sessions.allTabsRunning`,{defaultValue:`Maksimum 4 aktif sekme dolu. Başka bir oturum açmak için önce bir sekmeyi kapatın.`})),{success:!1,reason:`tabs_full`})},closeTab:n=>{let r=t().openTabIds.filter(e=>e!==n);Di(n);let{[n]:i,...a}=t().lastSeenCounts,{[n]:o,...s}=t().attention;e({openTabIds:r,lastSeenCounts:a,attention:s}),xi(r),Oi(r),Ai(r)},closeTabsForSessions:e=>{let n=new Set(e.filter(e=>!wi(e))),r=[...t().openTabIds];if(n.size===0)return[];if(r.length===0)return[...n];let i=r.filter(e=>!n.has(e));if(i.length===0){let e=Y(),t=e&&n.has(e)?e:r[r.length-1];i=[t],n.delete(t)}return t().setOpenTabIds(i),Ai(i),[...n]},swapTabSession:(n,r)=>{if(!n||!r||n===r)return;let i=t().openTabIds,a=i.indexOf(n);if(a===-1)return;let o=Y()===n;Di(n);let s=i.map((e,t)=>t===a?r:e),{[n]:c,...l}=t().lastSeenCounts,{[n]:u,...d}=t().attention;e({openTabIds:s,lastSeenCounts:l,attention:d}),xi(s),o&&(Ci(r),t().markSeen(r)),Ai(s)},markSeen:t=>e(e=>({lastSeenCounts:{...e.lastSeenCounts,[t]:T(t).messages.length},attention:{...e.attention,[t]:!1}})),setAttention:(t,n)=>e(e=>({attention:{...e.attention,[t]:n}}))}));function Ii(e,t){let n=T(e),r=j(e),i=X.getState(),a=A.getState().activeSessionId,o=0,s=0;for(let t of q.getState().agents.values())t.sessionId===e&&(s+=1,t.status===`running`&&(o+=1));let c=i.lastSeenCounts[e]??n.messages.length,l=e===a,u=r.totalTokens.input+r.totalTokens.output;return{slot:t,sessionId:e,isActive:l,title:_.getState().sessionNicknames[e]||r.session?.title||e.slice(0,8),provider:r.session?.provider??``,model:r.session?.model??``,mode:r.mode,isRunning:n.isLoading,messageCount:n.messages.length,unread:l?0:Math.max(0,n.messages.length-c),queued:n.queue.length,agentsRunning:o,agentsTotal:s,tokens:u,cost:r.cost,contextPct:r.maxContext>0&&r.lastInputTokens>0?Math.min(100,Math.round(r.lastInputTokens/r.maxContext*100)):0,needsAttention:!l&&i.attention[e]===!0}}var Z={provider:`hsl(var(--info))`,agent:`hsl(var(--primary))`,tool:`hsl(var(--warning))`,mailbox:`hsl(var(--success))`,session:`hsl(var(--primary))`,system:`hsl(var(--muted-foreground))`,success:`hsl(var(--success))`,error:`hsl(var(--destructive))`},Li={"provider:call":`hsl(var(--info))`,"provider:delta":`hsl(var(--primary))`,"agent:tool":`hsl(var(--warning))`,"mailbox:send":`hsl(var(--success))`,default:`hsl(var(--muted-foreground))`},Ri=1200,zi=0;function Q(){return`viz_${Date.now()}_${++zi}`}function Bi(e){return Math.max(0,Math.min(100,Math.round((typeof e==`number`&&Number.isFinite(e)?e:0)*100)))}function Vi(e,t=!1){if(t&&e.target){if(e.kind===`agent:tool`||e.kind===`tool:executed`||e.kind===`tool:started`)return`tool`;if(e.source===`leader`||e.source===`coordinator`)return`coordinator`;if(e.kind.startsWith(`provider:`))return`provider`;if(e.kind.startsWith(`mailbox:`))return`mailbox`}switch(e.kind){case`provider:call`:case`provider:delta`:case`provider:response`:return`provider`;case`agent:spawned`:case`agent:tool`:case`agent:status`:case`agent:text`:case`agent:ctx`:case`budget:warning`:case`budget:extended`:return`agent`;case`tool:started`:case`tool:executed`:case`tool:progress`:return`tool`;case`mailbox:send`:case`mailbox:deliver`:return`mailbox`;case`collab:event`:return`system`;case`session:start`:case`session:end`:case`iteration:start`:case`iteration:end`:case`eternal:iteration`:case`fleet:snapshot`:return`session`;case`context:compacted`:case`context:repaired`:case`cost:update`:return`system`;case`error`:return`error`;default:return`system`}}function Hi(e){switch(e){case`provider:call`:case`provider:delta`:case`agent:tool`:case`tool:started`:case`tool:progress`:case`iteration:start`:case`agent:text`:return`streaming`;case`agent:status`:case`iteration:end`:return`completed`;case`error`:return`error`;case`tool:executed`:return`completed`;case`session:end`:return`idle`;default:return`active`}}function Ui(e,t){return t-e<250}function Wi(e,t,n){if(e.size<=t)return e;let r=[...e.entries()].sort((e,t)=>n(e[1])-n(t[1]));for(let[n]of r.slice(0,e.size-t))e.delete(n);return e}function $(e,t){if(e===t)return!0;if(!e||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n){let n=e[r],i=t[r];if(n!==i){if(n==null||i==null||typeof n!=typeof i)return!1;if(typeof n==`object`){if(Array.isArray(n)||Array.isArray(i)||!$(n,i))return!1;continue}return!1}}return!0}function Gi(e,t,n){let r=t.source,i={id:r,kind:Vi(t),label:t.label,status:Hi(t.kind),activity:1,color:t.color??Z[Vi(t)],lastSeenAt:n},a=e.nodes.get(r),o=a?{...a,...i}:i,s=!$(a,o);a&&s&&Ui(a.lastSeenAt,n)&&$({...a,activity:o.activity,lastSeenAt:o.lastSeenAt},o)&&(o=a,s=!1);let c,l=!1,u;if(t.target){u=t.target;let r={id:u,kind:Vi(t,!0),label:u,status:Hi(t.kind),activity:.8,color:t.color??Z[Vi(t,!0)],lastSeenAt:n},i=e.nodes.get(u);c=i?{...i,...r}:r,l=!$(i,c),i&&l&&Ui(i.lastSeenAt,n)&&$({...i,activity:c.activity,lastSeenAt:c.lastSeenAt},c)&&(c=i,l=!1)}let d,f=!1,p;if(t.target&&r){p=`${r}->${t.target}`;let i=e.edges.get(p),a={id:p,source:r,target:t.target,kind:t.kind,label:t.label,intensity:i?Math.min(1,i.intensity+.3):.7,color:t.color??Z[Vi(t)]??Z.agent,lastActiveAt:n,totalMagnitude:(i?.totalMagnitude??0)+(t.magnitude??0)};d=i?{...i,...a}:a,f=!$(i,d),i&&f&&Ui(i.lastActiveAt,n)&&$({...i,lastActiveAt:d.lastActiveAt},d)&&(d=i,f=!1)}let m=e.nodes,h=e.edges;return(s||l)&&(m=new Map(e.nodes),s&&m.set(r,o),l&&c&&u&&m.set(u,c)),f&&d&&p&&(h=new Map(e.edges),h.set(p,d)),m!==e.nodes&&(m=Wi(m,400,e=>e.lastSeenAt)),h!==e.edges&&(h=Wi(h,Ri,e=>e.lastActiveAt)),{nodes:m,edges:h}}function Ki(e,t){switch(e){case`provider.text_delta`:{let e=t.text??``;return{id:Q(),kind:`provider:delta`,timestamp:Date.now(),source:`provider`,target:`leader`,label:e.slice(0,60),magnitude:e.length,data:{text:e},color:Z.provider,flowGroup:`provider`}}case`provider.response`:{let e=t.usage,n=(e?.input??0)+(e?.output??0);return{id:Q(),kind:`provider:response`,timestamp:Date.now(),source:`provider`,target:`leader`,label:`${(e?.input??0).toLocaleString(`en-US`)} in / ${(e?.output??0).toLocaleString(`en-US`)} out`,magnitude:n,data:t,color:Z.provider,flowGroup:`provider`}}case`provider.stream_error`:{let e=t.message??`Provider stream error`;return{id:Q(),kind:`error`,timestamp:Date.now(),source:`provider`,target:`leader`,label:e.slice(0,80),magnitude:1,data:t,color:Z.error,flowGroup:`provider`}}case`tool.started`:{let e=t.name??`tool`;return{id:Q(),kind:`tool:started`,timestamp:Date.now(),source:e,target:`filesystem`,label:e,magnitude:1,data:t,color:Z.tool,flowGroup:`tool:${e}`}}case`tool.executed`:{let e=t.name??`tool`,n=t.ok??!0;return{id:Q(),kind:`tool:executed`,timestamp:Date.now(),source:e,target:`leader`,label:`${e} ${n?`✓`:`✗`} (${t.durationMs??0}ms)`,magnitude:t.durationMs??0,data:t,color:n?Z.tool:Z.error,flowGroup:`tool:${e}`}}case`tool.progress`:{let e=t.name??`tool`,n=t.event?.text??``;return{id:Q(),kind:`tool:progress`,timestamp:Date.now(),source:e,target:`leader`,label:n.slice(0,60)||e,magnitude:n.length,data:t,color:Z.tool,flowGroup:`tool:${e}`}}case`codemap.tool_started`:{let e=t.name??`tool`,n=t.agentId??`subagent`;return{id:Q(),kind:`tool:started`,timestamp:Date.now(),source:n,target:e,label:e,magnitude:1,data:t,color:Z.tool,flowGroup:`agent:${n}`}}case`codemap.tool_executed`:{let e=t.name??`tool`,n=t.agentId??`subagent`,r=t.ok??!0;return{id:Q(),kind:`tool:executed`,timestamp:Date.now(),source:n,target:e,label:`${e} ${r?`✓`:`✗`} (${t.durationMs??0}ms)`,magnitude:t.durationMs??0,data:t,color:r?Z.tool:Z.error,flowGroup:`agent:${n}`}}case`tool.loop_detected`:{let e=t.tools??``,n=t.kind??`loop`,r=t.action===`steer`;return{id:Q(),kind:r?`agent:status`:`error`,timestamp:Date.now(),source:e||n,target:`leader`,label:`${n} loop x${t.repeatCount??0}`,magnitude:t.repeatCount??1,data:t,color:r?Z.agent:Z.error,flowGroup:`tool`}}case`delegate.started`:{let e=t.target??`delegate`,n=t.task??``;return{id:Q(),kind:`agent:status`,timestamp:Date.now(),source:`leader`,target:e,label:n.slice(0,80)||`Delegating to ${e}`,magnitude:1,data:t,color:Z.agent,flowGroup:`delegate:${e}`}}case`delegate.completed`:{let e=t.subagentId??t.target??`delegate`,n=t.ok??!1;return{id:Q(),kind:n?`agent:status`:`error`,timestamp:Date.now(),source:e,target:`leader`,label:(t.summary??t.status??`delegate completed`).slice(0,80),magnitude:t.durationMs??1,data:t,color:n?Z.agent:Z.error,flowGroup:`delegate:${e}`}}case`subagent.event`:{let e=t.kind,n=t.subagentId??`unknown`,r=t.name??n;switch(e){case`spawned`:return{id:Q(),kind:`agent:spawned`,timestamp:Date.now(),source:n,target:`session`,label:`${r} spawned`,magnitude:1,data:t,color:Z.agent,flowGroup:`agent:${n}`};case`tool_executed`:{let e=t.toolName??`tool`,r=t.ok??!0;return{id:Q(),kind:`agent:tool`,timestamp:Date.now(),source:n,target:e,label:e,magnitude:t.durationMs??0,data:t,color:r?Z.tool:Z.error,flowGroup:`agent:${n}`}}case`task_completed`:{let e=t.status??`completed`;return{id:Q(),kind:`agent:status`,timestamp:Date.now(),source:n,target:`session`,label:`${r} ${e}`,magnitude:1,data:t,color:e===`success`?Z.success:Z.error,flowGroup:`agent:${n}`}}case`ctx_pct`:return{id:Q(),kind:`agent:ctx`,timestamp:Date.now(),source:n,target:`session`,label:`ctx ${Bi(t.load)}%`,magnitude:t.tokens??0,data:t,color:Z.agent,flowGroup:`agent:${n}`};case`iteration_summary`:return{id:Q(),kind:`agent:text`,timestamp:Date.now(),source:n,target:`session`,label:(t.partialText??``).slice(0,80)||`iter ${t.iteration??0}`,magnitude:t.costUsd??0,data:t,color:Z.agent,flowGroup:`agent:${n}`};case`budget_extended`:return{id:Q(),kind:`budget:extended`,timestamp:Date.now(),source:n,target:`session`,label:`${r} extended budget`,magnitude:t.totalExtensions??1,data:t,color:Z.tool,flowGroup:`agent:${n}`};case`budget_warning`:return{id:Q(),kind:`budget:warning`,timestamp:Date.now(),source:n,target:`session`,label:`${r} hit ${t.budgetKind??`budget`} ${t.used??0}/${t.limit??0}`,magnitude:t.used??1,data:t,color:Z.error,flowGroup:`agent:${n}`}}return null}case`mailbox.event`:{let e=t.event,n=t.from??`?`,r=t.to??`?`,i=t.subject??``,a=e===`mailbox.sent`;return{id:Q(),kind:a?`mailbox:send`:`mailbox:deliver`,timestamp:Date.now(),source:n,target:r,label:i||(a?`→ ${r}`:`← ${n}`),magnitude:1,data:t,color:Z.mailbox,flowGroup:`mailbox`}}case`iteration.started`:{let e=t.index??0;return{id:Q(),kind:`iteration:start`,timestamp:Date.now(),source:`leader`,target:`session`,label:`Iteration ${e}`,magnitude:e,data:t,color:Z.agent,flowGroup:`iteration`}}case`iteration.completed`:{let e=t.index??0;return{id:Q(),kind:`iteration:end`,timestamp:Date.now(),source:`leader`,target:`session`,label:`Iteration ${e} done`,magnitude:e,data:t,color:Z.session,flowGroup:`iteration`}}case`ctx.pct`:{let e=t.tokens??0;return{id:Q(),kind:`agent:ctx`,timestamp:Date.now(),source:`leader`,target:`session`,label:`ctx ${Bi(t.load)}%`,magnitude:e,data:t,color:Z.agent,flowGroup:`leader`}}case`error`:{let e=t.message??`Error`;return{id:Q(),kind:`error`,timestamp:Date.now(),source:t.phase??`system`,target:`session`,label:e,magnitude:1,data:t,color:Z.error,flowGroup:`error`}}case`context.compacted`:return{id:Q(),kind:`context:compacted`,timestamp:Date.now(),source:`system`,target:`session`,label:`Compacted: ${(t.saved??0).toLocaleString(`en-US`)} tokens`,magnitude:t.saved??0,data:t,color:`hsl(var(--info))`,flowGroup:`context`};case`compaction.failed`:{let e=t.message??`Compaction failed`;return{id:Q(),kind:`error`,timestamp:Date.now(),source:`compactor`,target:`session`,label:e.slice(0,80),magnitude:t.tokens??1,data:t,color:Z.error,flowGroup:`context`}}case`context.repaired`:return{id:Q(),kind:`context:repaired`,timestamp:Date.now(),source:`system`,target:`session`,label:`Repaired: ${t.removedMessages??0} msgs`,magnitude:t.removedMessages??0,data:t,color:`hsl(var(--info))`,flowGroup:`context`};case`session.start`:{let e=t.sessionId??`?`,n=t.projectName??``;return{id:Q(),kind:`session:start`,timestamp:Date.now(),source:`session`,target:`leader`,label:n||e.slice(0,12),magnitude:1,data:t,color:Z.session,flowGroup:`session`}}case`sessions.status_update`:{let e=t.sessions??[];return{id:Q(),kind:`fleet:snapshot`,timestamp:Date.now(),source:`system`,target:`session`,label:`${e.length} session(s)`,magnitude:e.length,data:t,color:Z.system,flowGroup:`fleet`}}default:return null}}var qi=u()((e,t)=>({events:[],toolEvents:[],nodes:new Map,edges:new Map,isActive:!1,maxEvents:2e3,counters:{totalTokens:0,totalCost:0,totalToolCalls:0,activeAgents:0,completedTasks:0,errors:0,mailboxMessages:0},pushEvent:t=>e(e=>{let n={...t,id:t.id??Q(),timestamp:t.timestamp||Date.now()},r=[n,...e.events];r.length>e.maxEvents&&(r.length=e.maxEvents);let i=t.kind===`agent:tool`||t.kind===`tool:started`||t.kind===`tool:progress`||t.kind===`tool:executed`?[n,...e.toolEvents].slice(0,600):e.toolEvents,{nodes:a,edges:o}=Gi(e,t,Date.now());return{events:r,toolEvents:i,nodes:a,edges:o}}),upsertNode:t=>e(e=>{let n=new Map(e.nodes),r=n.get(t.id);return n.set(t.id,{...r,...t,lastSeenAt:t.lastSeenAt===void 0?Date.now():t.lastSeenAt}),{nodes:n}}),removeNode:t=>e(e=>{let n=new Map(e.nodes);n.delete(t);let r=new Map(e.edges);for(let[e,n]of r)(n.source===t||n.target===t)&&r.delete(e);return{nodes:n,edges:r}}),upsertEdge:t=>e(e=>{let n=new Map(e.edges),r=n.get(t.id);return n.set(t.id,{...r,...t,lastActiveAt:t.lastActiveAt===void 0?Date.now():t.lastActiveAt,intensity:t.intensity??r?.intensity??.5,color:t.color??Li[t.kind]??Li.default,totalMagnitude:(r?.totalMagnitude??0)+(t.totalMagnitude??0)}),{edges:n}}),removeEdge:t=>e(e=>{let n=new Map(e.edges);return n.delete(t),{edges:n}}),clear:()=>e({events:[],toolEvents:[],nodes:new Map,edges:new Map,counters:{totalTokens:0,totalCost:0,totalToolCalls:0,activeAgents:0,completedTasks:0,errors:0,mailboxMessages:0}}),setActive:t=>e({isActive:t}),decayActivity:()=>e(e=>{let t=new Map(e.nodes);for(let[e,n]of t)if(n.activity>=.01){let r=n.activity*.92;t.set(e,{...n,activity:r<.01?0:r})}let n=new Map(e.edges);for(let[e,t]of n)if(t.intensity>=.01){let r=t.intensity*.9;n.set(e,{...t,intensity:r<.01?0:r})}return{nodes:t,edges:n}}),prunesStale:t=>e(e=>{let n=Date.now()-t,r=new Map(e.nodes);for(let[e,t]of r)t.lastSeenAt<n&&r.delete(e);let i=new Map(e.edges);for(let[e,t]of i)t.lastActiveAt<n&&i.delete(e);return{nodes:r,edges:i,events:e.events.filter(e=>e.timestamp>n)}})}));function Ji(){let e=P();return e&&e!==`__unbound__`?e:bn.getState().session?.id??null}function Yi(e){let t=e.payload?.sessionId,n=Ji();return t!==``&&(!t&&n&&sa(e.type),!t||!n||t===n)}function Xi(e){let t=e.payload?.sessionId;return typeof t==`string`&&t.length>0?t:null}function Zi(){let e=new Set(X.getState().openTabIds),t=Dt();for(let n of bt())if(!(n===`__unbound__`||n===t||e.has(n))&&!T(n).isLoading)return wt(n),Wt(n),!0;return!1}function Qi(e){let t=Xi(e);return t?yt(t)?D(t):bt().length<S||Zi()?(xt(t),D(t)):(ra(e.type,t),null):Dt()===`__unbound__`?D(C):(ta(e.type),null)}function $i(e){let t=Xi(e);return t?Ht(t)?I(t):Ut().length<S||Zi()?(M(t),I(t)):(aa(e.type,t),null):P()===`__unbound__`?I(k):null}var ea=new Set;function ta(e){ea.has(e)||(ea.add(e),console.warn(JSON.stringify({level:`warn`,event:`ws_client.untagged_chat_event`,messageType:e,reason:`chat event carried no sessionId; dropped to protect other tabs`,timestamp:new Date().toISOString()})))}var na=new Set;function ra(e,t){na.has(t)||(na.add(t),console.warn(JSON.stringify({level:`warn`,event:`ws_client.chat_lane_overflow`,messageType:e,sessionId:t,reason:`no lane for this session and all four lanes are taken; event dropped`,timestamp:new Date().toISOString()})))}var ia=new Set;function aa(e,t){ia.has(t)||(ia.add(t),console.warn(JSON.stringify({level:`warn`,event:`ws_client.session_lane_overflow`,messageType:e,sessionId:t,reason:`no session lane for this session and all four lanes are taken; token/cost accounting event dropped`,timestamp:new Date().toISOString()})))}var oa=new Set;function sa(e){oa.has(e)||(oa.add(e),console.warn(JSON.stringify({level:`warn`,event:`ws_client.untagged_guard_event`,messageType:e,reason:`untagged frame passed a session guard while a session was bound; if this event is session-scoped, the server surface forgot to stamp sessionId`,timestamp:new Date().toISOString()})))}function ca(e){let t=Ki(e.type,e.payload);t&&(qi.getState().pushEvent(t),qi.getState().setActive(!0))}function la(e,t,n){let r=e.payload??{};for(let[e,n]of Object.entries(t)){let t=r[e];if(!ua(t,n))return null}if(n)for(let[e,t]of Object.entries(n)){let n=r[e];if(n!=null&&!ua(n,t))return null}return r}function ua(e,t){switch(t){case`string`:return typeof e==`string`;case`number`:return typeof e==`number`;case`boolean`:return typeof e==`boolean`;case`object`:return typeof e==`object`&&!!e&&!Array.isArray(e);case`array`:return Array.isArray(e);default:return!1}}function da(e){try{return new URL(e).searchParams.get(`token`)}catch{return null}}function fa(){if(typeof window>`u`||!window.location)return null;try{let e=window.location.search??``;return new URLSearchParams(e).get(`token`)}catch{return null}}function pa(e){try{let t=new URL(e);return t.searchParams.delete(`token`),t.toString()}catch{return e}}function ma(){if(!(typeof window>`u`||!window.location||!window.history?.replaceState))try{let e=window.location.href;if(!e)return;let t=new URL(e);if(!t.searchParams.has(`token`))return;t.searchParams.delete(`token`),window.history.replaceState(window.history.state,document.title,t.toString())}catch{}}function ha(){if(typeof document>`u`)return null;let e=document.querySelector(`meta[name="wrongstack-ws-url"]`)?.getAttribute(`content`)?.trim();if(!e)return null;try{let t=new URL(e);if(t.protocol!==`ws:`&&t.protocol!==`wss:`)return null;let n=fa();return n&&!t.searchParams.has(`token`)&&t.searchParams.set(`token`,n),t.toString()}catch{return null}}function ga(){let e=ha();if(e)return e;if(typeof window>`u`||!window.location?.hostname)return`ws://127.0.0.1:3456`;let t=window.location.protocol===`https:`?`wss`:`ws`,n=window.location.hostname.toLowerCase(),r=window.location.port,i=fa(),a=i?`?token=${encodeURIComponent(i)}`:``;return`${t}://${n===`localhost`||n===`127.0.0.1`||n===`[::1]`||n===`::1`?`127.0.0.1`:n}${r?`:${r}`:``}${a}`}function _a(){if(typeof window>`u`||!window.location?.hostname)return`http://127.0.0.1:3456`;let e=window.location.protocol===`https:`?`https`:`http`,t=window.location.hostname.toLowerCase(),n=window.location.port?`:${window.location.port}`:``;return t===`localhost`||t===`127.0.0.1`||t===`[::1]`||t===`::1`?`${e}://127.0.0.1${n}`:`${e}://${window.location.hostname}${n}`}var va=u()(l(e=>({provider:``,model:``,wsUrl:ga(),wsConnected:!1,wsStatus:{state:`connecting`},theme:`system`,palette:`signal`,autoConnect:!0,soundOnComplete:!1,setProvider:t=>e({provider:t}),setModel:t=>e({model:t}),setConfig:t=>e(t),setTheme:t=>e({theme:t}),setPalette:t=>e({palette:t}),setWsConnected:t=>e({wsConnected:t}),setWsStatus:t=>e({wsStatus:t,wsConnected:t.state===`open`}),setSoundOnComplete:t=>e({soundOnComplete:t})}),{name:`wrongstack-config`,partialize:e=>({provider:e.provider,model:e.model,baseUrl:e.baseUrl,theme:e.theme,palette:e.palette,autoConnect:e.autoConnect,soundOnComplete:e.soundOnComplete}),merge:(e,t)=>{let{apiKey:n,...r}=e??{};return{...t,...r,wsUrl:ga(),wsConnected:!1,wsStatus:{state:`connecting`},palette:Lt(r.palette)?r.palette:zt(Ft,t.palette)}}}));export{bn as $,Xr as A,bt as At,Tr as B,dt as Bt,ci as C,vt as Ct,ei as D,D as Dt,ii as E,Tt as Et,wr as F,At as Ft,ir as G,xr as H,ce as Ht,Mr as I,Et as It,Dn as J,An as K,Ar as L,w as Lt,q as M,jt as Mt,Qr as N,T as Nt,$r as O,xt as Ot,Zr as P,kt as Pt,xn as Q,jr as R,ut as Rt,li as S,C as St,oi as T,Dt as Tt,br as U,ne as Ut,Sr as V,re as Vt,cr as W,te as Wt,B as X,wn as Y,cn as Z,X as _,Bt as _t,Xi as a,Gt as at,_i as b,zt as bt,$i as c,I as ct,J as d,R as dt,rn as et,Ti as f,Kt as ft,Ii as g,Ft as gt,Pi as h,It as ht,Yi as i,P as it,Wr as j,Ct as jt,Lr as k,yt as kt,qi as l,Ut as lt,Di as m,Pt as mt,Qi as n,k as nt,ca as o,M as ot,wi as p,A as pt,On as q,Ji as r,L as rt,la as s,j as st,va as t,$t as tt,Ki as u,N as ut,di as v,Rt as vt,si as w,Mt as wt,ui as x,Nt as xt,vi as y,Lt as yt,kr as z,mt as zt};
@@ -1 +1 @@
1
- import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-D0Ec-185.js";import{A as r,D as i,E as a,K as o,O as s,T as c,j as l,k as u}from"./vendor-CkMYDhDf.js";import{t as d}from"./utils-YeTxmVPQ.js";var f=e(t(),1),p=n(),m=c,h=r,g=f.forwardRef(({className:e,...t},n)=>(0,p.jsx)(u,{ref:n,className:d(`fixed inset-0 z-50 bg-black/65 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t}));g.displayName=u.displayName;var _=f.forwardRef(({className:e,children:t,showCloseButton:n=!0,...r},s)=>(0,p.jsxs)(h,{children:[(0,p.jsx)(g,{}),(0,p.jsxs)(i,{ref:s,className:d(`fixed left-[50%] top-[50%] z-50 grid max-h-[calc(100dvh-2rem)] w-[calc(100vw-1.5rem)] max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-border/70 bg-card p-5 shadow-2xl duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:p-6`,e),...r,children:[t,n&&(0,p.jsxs)(a,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,p.jsx)(o,{className:`h-4 w-4`}),(0,p.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));_.displayName=i.displayName;var v=({className:e,...t})=>(0,p.jsx)(`div`,{className:d(`flex flex-col space-y-1.5 text-center sm:text-left`,e),...t});v.displayName=`DialogHeader`;var y=({className:e,...t})=>(0,p.jsx)(`div`,{className:d(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});y.displayName=`DialogFooter`;var b=f.forwardRef(({className:e,...t},n)=>(0,p.jsx)(l,{ref:n,className:d(`text-lg font-semibold leading-none`,e),...t}));b.displayName=l.displayName;var x=f.forwardRef(({className:e,...t},n)=>(0,p.jsx)(s,{ref:n,className:d(`text-sm text-muted-foreground`,e),...t}));x.displayName=s.displayName;export{v as a,y as i,_ as n,b as o,x as r,m as t};
1
+ import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./react-core-wiHys0m2.js";import{A as r,D as i,E as a,J as o,O as s,T as c,j as l,k as u}from"./vendor-Cvuk-OYN.js";import{t as d}from"./utils-sO9lidp6.js";var f=e(t(),1),p=n(),m=c,h=r,g=f.forwardRef(({className:e,...t},n)=>(0,p.jsx)(u,{ref:n,className:d(`fixed inset-0 z-50 bg-black/65 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t}));g.displayName=u.displayName;var _=f.forwardRef(({className:e,children:t,showCloseButton:n=!0,...r},s)=>(0,p.jsxs)(h,{children:[(0,p.jsx)(g,{}),(0,p.jsxs)(i,{ref:s,className:d(`fixed left-[50%] top-[50%] z-50 grid max-h-[calc(100dvh-2rem)] w-[calc(100vw-1.5rem)] max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-border/70 bg-card p-5 shadow-2xl duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:p-6`,e),...r,children:[t,n&&(0,p.jsxs)(a,{className:`absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground`,children:[(0,p.jsx)(o,{className:`h-4 w-4`}),(0,p.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]}));_.displayName=i.displayName;var v=({className:e,...t})=>(0,p.jsx)(`div`,{className:d(`flex flex-col space-y-1.5 text-center sm:text-left`,e),...t});v.displayName=`DialogHeader`;var y=({className:e,...t})=>(0,p.jsx)(`div`,{className:d(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});y.displayName=`DialogFooter`;var b=f.forwardRef(({className:e,...t},n)=>(0,p.jsx)(l,{ref:n,className:d(`text-lg font-semibold leading-none`,e),...t}));b.displayName=l.displayName;var x=f.forwardRef(({className:e,...t},n)=>(0,p.jsx)(s,{ref:n,className:d(`text-sm text-muted-foreground`,e),...t}));x.displayName=s.displayName;export{v as a,y as i,_ as n,b as o,x as r,m as t};
@@ -1 +1 @@
1
- import{t as e}from"./react-core-D0Ec-185.js";import{t}from"./utils-YeTxmVPQ.js";var n=e();function r({icon:e,title:r,description:i,action:a,className:o,panel:s=!0}){return(0,n.jsx)(`div`,{className:t(`flex min-h-0 min-w-0 flex-1 items-center justify-center p-4`,s&&`bg-[hsl(var(--surface-2)/0.45)]`,o),children:(0,n.jsxs)(`div`,{className:`ws-surface flex max-w-md flex-col items-center gap-3 rounded-xl p-6 text-center text-muted-foreground`,children:[e&&(0,n.jsx)(`span`,{className:`flex h-12 w-12 items-center justify-center rounded-lg bg-primary/10 text-primary`,children:e}),(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{className:`text-base font-semibold text-foreground`,children:r}),i&&(0,n.jsx)(`p`,{className:`mt-1 text-sm`,children:i})]}),a&&(0,n.jsx)(`button`,{type:`button`,onClick:a.onClick,className:`mt-1 rounded-md border border-border/70 bg-card/70 px-4 py-2 text-sm text-foreground shadow-sm transition-colors hover:bg-accent`,children:a.label})]})})}export{r as t};
1
+ import{t as e}from"./react-core-wiHys0m2.js";import{t}from"./utils-sO9lidp6.js";var n=e();function r({icon:e,title:r,description:i,action:a,className:o,panel:s=!0}){return(0,n.jsx)(`div`,{className:t(`flex min-h-0 min-w-0 flex-1 items-center justify-center p-4`,s&&`bg-[hsl(var(--surface-2)/0.45)]`,o),children:(0,n.jsxs)(`div`,{className:`ws-surface flex max-w-md flex-col items-center gap-3 rounded-xl p-6 text-center text-muted-foreground`,children:[e&&(0,n.jsx)(`span`,{className:`flex h-12 w-12 items-center justify-center rounded-lg bg-primary/10 text-primary`,children:e}),(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`p`,{className:`text-base font-semibold text-foreground`,children:r}),i&&(0,n.jsx)(`p`,{className:`mt-1 text-sm`,children:i})]}),a&&(0,n.jsx)(`button`,{type:`button`,onClick:a.onClick,className:`mt-1 rounded-md border border-border/70 bg-card/70 px-4 py-2 text-sm text-foreground shadow-sm transition-colors hover:bg-accent`,children:a.label})]})})}export{r as t};
@@ -0,0 +1,3 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chat-BITJe8-v.js","assets/rolldown-runtime-hePW80VL.js","assets/commandPalette-BovBiPec.js","assets/common-CmkkiJUR.js","assets/setup-qooXjj4V.js","assets/toasts-DZ6HdKgG.js"])))=>i.map(i=>d[i]);
2
+ import{Ba as e,Na as t,Pa as n,Ra as r,za as i}from"./vendor-Cvuk-OYN.js";import{t as a}from"./chat-BITJe8-v.js";import{t as o}from"./commandPalette-BovBiPec.js";import{t as s}from"./common-CmkkiJUR.js";import{t as c}from"./setup-qooXjj4V.js";import{t as l}from"./toasts-DZ6HdKgG.js";import{t as u}from"./vite-preload-Czpn1I53.js";var d=(e,t,n)=>{let r=t.lastIndexOf(`?`),i=e[r===-1||r<t.lastIndexOf(`/`)?t:t.slice(0,r)];return i?typeof i==`function`?i():Promise.resolve(i):new Promise((e,r)=>{(typeof queueMicrotask==`function`?queueMicrotask:setTimeout)(r.bind(null,Error(`Unknown variable dynamic import: `+t+(t.split(`/`).length===n?``:`. Note that variables only represent file names one level deep.`))))})},f=[{type:`anthropic_key`,regex:/(?<![A-Za-z0-9])sk-ant-api\d+-[A-Za-z0-9_-]{20,}(?![A-Za-z0-9])/g,anchor:`sk-ant-`},{type:`openai_key`,regex:/(?<![A-Za-z0-9])sk-(?:proj-)?[A-Za-z0-9_-]{20,}(?![A-Za-z0-9])/g,anchor:`sk-`},{type:`xai_key`,regex:/(?<![A-Za-z0-9])xai-[A-Za-z0-9]{20,}(?![A-Za-z0-9])/g,anchor:`xai-`},{type:`github_pat`,regex:/(?<![A-Za-z0-9])ghp_[A-Za-z0-9]{36,}(?![A-Za-z0-9])/g,anchor:`ghp_`},{type:`github_pat_v2`,regex:/(?<![A-Za-z0-9])github_pat_[A-Za-z0-9_]{50,}(?![A-Za-z0-9])/g,anchor:`github_pat_`},{type:`aws_access_key`,regex:/(?<![A-Za-z0-9])AKIA[0-9A-Z]{16}(?![A-Za-z0-9])/g,anchor:`AKIA`},{type:`gcp_key`,regex:/(?<![A-Za-z0-9])AIza[0-9A-Za-z_-]{35}(?![A-Za-z0-9])/g,anchor:`AIza`},{type:`slack_token`,regex:/(?<![A-Za-z0-9-])xox[abpos]-[A-Za-z0-9-]{10,}(?![A-Za-z0-9-])/g,anchor:`xox`},{type:`stripe_key`,regex:/(?<![A-Za-z0-9])sk_(?:live|test)_[A-Za-z0-9]{24,}(?![A-Za-z0-9])/g,anchor:`sk_`},{type:`twilio_sid`,regex:/(?<![A-Za-z0-9])AC[a-f0-9]{32}(?![A-Za-z0-9])/g,anchor:`AC`},{type:`telegram_bot_token`,regex:/\/bot\d+:[A-Za-z0-9_-]{20,}(?![A-Za-z0-9_-])/g,anchor:`/bot`},{type:`jwt`,regex:/(?<![A-Za-z0-9/+=])eyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}(?![A-Za-z0-9/+=])/g,anchor:`eyJ`},{type:`private_key`,regex:/(?:^|\n)-----BEGIN (?:RSA|EC|OPENSSH|DSA|PGP)? ?PRIVATE KEY-----[\s\S]*?-----END[^-]*-----(?:\n|$)/g,anchor:`-----BEGIN`},{type:`mongodb_uri`,regex:/mongodb(?:\+srv)?:\/\/[^\s"'`]+/g,anchor:`mongodb`},{type:`postgres_uri`,regex:/postgres(?:ql)?:\/\/[^\s"'`]+/g,anchor:`postgres`},{type:`mysql_uri`,regex:/mysql:\/\/[^\s"'`]+/g,anchor:`mysql://`},{type:`redis_uri`,regex:/redis:\/\/[^\s"'`]+/g,anchor:`redis://`},{type:`huggingface_token`,regex:/(?<![A-Za-z0-9])hf_[A-Za-z0-9]{34}(?![A-Za-z0-9])/g,anchor:`hf_`},{type:`replicate_token`,regex:/(?<![A-Za-z0-9])r8_[A-Za-z0-9]{40,}(?![A-Za-z0-9])/g,anchor:`r8_`},{type:`perplexity_key`,regex:/(?<![A-Za-z0-9])pplx-[A-Za-z0-9]{40,}(?![A-Za-z0-9])/g,anchor:`pplx-`},{type:`groq_key`,regex:/(?<![A-Za-z0-9])gsk_[A-Za-z0-9]{40,}(?![A-Za-z0-9])/g,anchor:`gsk_`},{type:`bearer_token`,regex:/(?:^|[^A-Za-z0-9_.~+/-])Bearer\s+[A-Za-z0-9._~+/-]{12,512}=*(?=$|[^A-Za-z0-9_.~+/-])/g,anchor:`Bearer`},{type:`high_entropy_env`,regex:/(^|\s)([A-Z_]{4,}(?:KEY|TOKEN|SECRET|PASSWORD|PWD|PASSPHRASE))\s*[:=]\s*['"]?([A-Za-z0-9_/+=-]{20,512})['"]?(?=\s|$)/g,anchor:[`KEY`,`TOKEN`,`SECRET`,`PASSWORD`,`PWD`,`PASSPHRASE`]},{type:`json_credential_key`,regex:/("[A-Za-z0-9_-]*(?:api[-_]?key|token|secret|password|authorization|bearer|private_key|access_token|refresh_token|client_secret)"\s*:\s*")([^"\\]{8,512})(")/gi,anchor:[`Key"`,`key"`,`KEY"`,`token"`,`Token"`,`TOKEN"`,`secret"`,`Secret"`,`SECRET"`,`password"`,`Password"`,`PASSWORD"`,`authorization"`,`Authorization"`,`bearer"`,`Bearer"`]},{type:`github_oauth_token`,regex:/(?<![A-Za-z0-9])gh[ousr]_[A-Za-z0-9]{36,}(?![A-Za-z0-9])/g,anchor:[`gho_`,`ghu_`,`ghs_`,`ghr_`]},{type:`gitlab_pat`,regex:/(?<![A-Za-z0-9])glpat-[A-Za-z0-9_-]{20,}(?![A-Za-z0-9_-])/g,anchor:`glpat-`},{type:`gitlab_runner_token`,regex:/(?<![A-Za-z0-9])glrt-[A-Za-z0-9_-]{20,}(?![A-Za-z0-9_-])/g,anchor:`glrt-`},{type:`npm_token`,regex:/(?<![A-Za-z0-9])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,anchor:`npm_`},{type:`slack_app_token`,regex:/(?<![A-Za-z0-9-])xapp-\d-[A-Za-z0-9-]{10,}(?![A-Za-z0-9-])/g,anchor:`xapp-`},{type:`slack_webhook`,regex:/https:\/\/hooks\.slack\.com\/services\/T[A-Za-z0-9_-]+\/B[A-Za-z0-9_-]+\/[A-Za-z0-9]{16,}/g,anchor:`hooks.slack.com`},{type:`sendgrid_key`,regex:/(?<![A-Za-z0-9])SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}(?![A-Za-z0-9_-])/g,anchor:`SG.`},{type:`digitalocean_token`,regex:/(?<![A-Za-z0-9])dop_v1_[a-f0-9]{64}(?![A-Za-z0-9])/g,anchor:`dop_v1_`},{type:`doppler_token`,regex:/(?<![A-Za-z0-9])dp\.(?:pt|st|sa|scim|audit)\.[A-Za-z0-9]{40,}(?![A-Za-z0-9])/g,anchor:`dp.`},{type:`shopify_token`,regex:/(?<![A-Za-z0-9])shp(?:at|ca|pa|ss)_[a-fA-F0-9]{32}(?![A-Za-z0-9])/g,anchor:`shp`},{type:`docker_pat`,regex:/(?<![A-Za-z0-9])dckr_pat_[A-Za-z0-9_-]{20,}(?![A-Za-z0-9_-])/g,anchor:`dckr_pat_`},{type:`linear_key`,regex:/(?<![A-Za-z0-9])lin_api_[A-Za-z0-9]{40,}(?![A-Za-z0-9])/g,anchor:`lin_api_`},{type:`atlassian_token`,regex:/(?<![A-Za-z0-9])ATATT3[A-Za-z0-9_\-=]{40,}(?![A-Za-z0-9_\-=])/g,anchor:`ATATT3`},{type:`square_token`,regex:/(?<![A-Za-z0-9])(?:sq0(?:atp|csp)-|EAAA)[A-Za-z0-9_-]{20,}(?![A-Za-z0-9_-])/g,anchor:[`sq0atp-`,`sq0csp-`,`EAAA`]},{type:`google_oauth_client_secret`,regex:/(?<![A-Za-z0-9_-])GOCSPX-[A-Za-z0-9_-]{20,}(?![A-Za-z0-9_-])/g,anchor:`GOCSPX-`}],p=f.filter(e=>e.type!==`high_entropy_env`&&e.type!==`json_credential_key`),m=new RegExp(p.map(e=>`(${e.regex.source})`).join(`|`),`g`),h=f.find(e=>e.type===`high_entropy_env`).regex,g=f.find(e=>e.type===`json_credential_key`).regex,_=p.map(e=>`[REDACTED:${e.type}]`),v=65536,y=1024,b=/-----BEGIN (?:RSA|EC|OPENSSH|DSA|PGP)? ?PRIVATE KEY-----/,x=`-----END`,S=65536,C=64;function w(e,t,n){let r=e.slice(t,n).lastIndexOf(`-----BEGIN `);if(r===-1)return n;let i=e.slice(t+r),a=b.exec(i);if(a?.index!==0)return n;let o=a[0].length,s=Math.min(e.length,t+r+S),c=i.indexOf(x,o);if(c===-1||t+r+c>=s+C)return n;let l=i.indexOf(`
3
+ `,c),u=l===-1?e.length:t+r+l+1;return Math.max(n,u)}var T=[...new Set(f.flatMap(e=>typeof e.anchor==`string`?[e.anchor]:[...e.anchor]))];function E(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}var D=new RegExp(T.map(E).join(`|`));function O(e){return D.test(e)}var k=new class{scrub(e){if(!e||!O(e))return e;if(e.length<=v)return this.scrubOne(e);let t=[],n=0;for(;n<e.length;){let r=Math.min(n+v,e.length);if(r<e.length){let t=Math.min(r+y,e.length),i=-1;for(let n=r;n<t;n++){let t=e.charCodeAt(n);if(t===32||t===9||t===10||t===13){i=n;break}}r=i===-1?r:i+1,r=w(e,n,r)}t.push(this.scrubOne(e.slice(n,r))),n=r}return t.join(``)}scrubOne(e){if(!O(e))return e;let t=e.replace(m,function(e){for(let t=1;t<=p.length;t++)if(arguments[t]!==void 0){let n=_[t-1];return n===void 0?e:n}return e});return t=t.replace(h,(e,t,n,r)=>`${t}${n}=[REDACTED:high_entropy_env]`),t=t.replace(g,(e,t,n,r)=>`${t}[REDACTED:json_credential_key]${r}`),t}scrubObject(e){let t=new WeakSet,n=e=>{if(typeof e==`string`)return this.scrub(e);if(typeof e!=`object`||!e||t.has(e))return e;if(t.add(e),Array.isArray(e))return e.map(n);let r={};for(let[t,i]of Object.entries(e))r[t]=n(i);return r};return n(e)}scrubObjectShared(e){let t=new WeakSet,n=e=>{if(typeof e==`string`)return this.scrub(e);if(typeof e!=`object`||!e||t.has(e))return e;if(t.add(e),Array.isArray(e)){let t;for(let r=0;r<e.length;r++){let i=e[r],a=n(i);a!==i&&(t??=[...e],t[r]=a)}return t??e}let r=e,i;for(let e of Object.keys(r)){let t=r[e],a=n(t);a!==t&&(i??={...r},i[e]=a)}return i??e};return n(e)}};function A(e){return k.scrub(e)}function j(e){return A(M(e))}function M(e){return e instanceof Error?e.message:String(e)}var N=[`en`,`tr`,`de`,`fr`,`it`,`es`,`pt-BR`],P=[{code:`en`,name:`English`},{code:`tr`,name:`Türkçe`},{code:`de`,name:`Deutsch`},{code:`fr`,name:`Français`},{code:`it`,name:`Italiano`},{code:`es`,name:`Español`},{code:`pt-BR`,name:`Português (Brasil)`}],F=new Set(N);function I(){return typeof navigator>`u`||!navigator.language?`en`:R(navigator.language)}function L(e){return!e||typeof e!=`string`?I():R(e)}function R(e){let t=e.trim().toLowerCase();if(!t)return`en`;if(F.has(t))return t;let n=t.split(`-`)[0];return n&&F.has(n)?n:n===`pt`?`pt-BR`:`en`}var z=[`subagentsAllowed`,`subagentsPolicyLocked`,`autonomy`,`autonomyDelayMs`,`autoProceedMaxIterations`,`yolo`,`maxIterations`,`contextStrategy`,`contextMode`,`contextAutoCompact`,`tokenSavingTier`,`systemPromptVariant`,`reasoningMode`,`reasoningEffort`,`reasoningPreserve`,`nextPrediction`,`nextStepsTool`],B=new Set(z);function V(e,t){let n=W.getState();if(!e||e===n.activeSessionId)return n[t];let r=n.bySession[e]?.[t];if(r!==void 0)return r;let i=n.sessionDefaults[t];return i===void 0?n[t]:i}function H(e){let t={},n={};for(let[r,i]of Object.entries(e))B.has(r)&&typeof i!=`function`?t[r]=i:n[r]=i;return{scoped:t,shared:n}}var U={subagentsAllowed:!0,subagentsPolicyLocked:!1,autonomy:`auto`,autonomyDelayMs:15e3,autoProceedMaxIterations:0,yolo:!0,yoloConfirm:{"disk-wipe":!0,"system-halt":!0,"delete-outside":!0,"git-history":!0,publish:!0,"download-and-run":!0,"bulk-delete":!0,"agent-state":!0,"credential-bind":!0},maxIterations:0,chime:!0,confirmExit:!0,fleetChatVerbosity:`off`,nextPrediction:!0,nextStepsTool:!1,fallbackModels:[],fallbackProfiles:{},favoriteModels:[],favoriteModelsOnly:!1,modelMatrix:{},modelTiers:{},fallbackAuto:!0,modelAvailabilitySchedule:[],featureMcp:!0,featurePlugins:!0,featureMemory:!0,featureSkills:!0,featureModelsRegistry:!0,indexOnStart:!0,contextAutoCompact:!0,contextStrategy:`hybrid`,contextMode:`balanced`,tokenSavingTier:`auto`,maxConcurrent:10,titleAnimation:!0,logLevel:`warn`,auditLevel:`full`,enhanceEnabled:!0,enhanceDelayMs:15e3,enhanceCountdownMs:3e3,enhanceLanguage:`english`,refinerProvider:``,refinerModel:``,refinerFallbackProfile:``,thinkingWord:`thinking`,statuslineMode:`minimum`,animationStyle:`rainbow`,showThinkingLogs:!0,groupToolCalls:!0,autoCollapseInput:!1,showModelReasoning:!1,showAgentSwarmPanel:`bottom`,allowOutsideProjectRoot:!0,reasoningMode:`auto`,reasoningEffort:`medium`,reasoningPreserve:!1,cacheTtl:`default`,breakerEnabled:!1,breakerAutoKillResetMs:6e4,fsAccess:`unrestricted`,debugStream:!0,hqEnabled:!1,hqUrl:``,hqToken:``,hqRawContent:!1,tgConfigured:!1,tgSessionEnd:!1,tgDelegate:!0,tgLongToolMs:3e4,uiLocale:I(),chimeraAutoFix:`off`,readSymbols:!1,showSageMemoryInject:!1,sageMemoryInjectThreshold:.85,preRefineSeconds:3,multiDiffSummaryThreshold:5,chimeraEnabled:!0,chimeraProvider:``,chimeraModel:``,chimeraMaxFiles:15,autoReviewEnabled:!1,autoReviewProvider:``,autoReviewModel:``,autoReviewFallbackProfile:``,autoReviewModelSelection:`round-robin`,autoReviewFallbackModels:[],autoReviewDebounceMs:15e3,autoReviewMaxFilesPerBatch:15,autoReviewMaxConcurrentReviews:2,autoReviewCascadeOn:`off`,pluginsEnabled:{},wrongProxyEnabled:!1,wrongProxyUrl:`http://localhost:3444`,keyboardShortcuts:!1,bySession:{},sessionDefaults:{},activeSessionId:null},W=n()(t(e=>({...U,set:t=>e(e=>{let{scoped:n,shared:r}=H(t);if(Object.keys(n).length===0)return{...r};let i=e.activeSessionId;return{...r,...n,sessionDefaults:{...e.sessionDefaults,...n},...i?{bySession:{...e.bySession,[i]:{...e.bySession[i]??{},...n}}}:{}}}),bindSession:t=>e(e=>{if(e.activeSessionId===t)return{};let n={...e.bySession};if(e.activeSessionId){let t={};for(let n of z)t[n]=e[n];n[e.activeSessionId]={...n[e.activeSessionId]??{},...t}}return{...t?{...e.sessionDefaults,...n[t]??{}}:e.sessionDefaults,bySession:n,activeSessionId:t}}),applyRemote:(t,n)=>e(e=>{let{scoped:r,shared:i}=H(t);if(!n||n===e.activeSessionId){let t=n??e.activeSessionId;return{...i,...r,...t&&Object.keys(r).length>0?{bySession:{...e.bySession,[t]:{...e.bySession[t]??{},...r}}}:{}}}return Object.keys(r).length===0?{...i}:{...i,bySession:{...e.bySession,[n]:{...e.bySession[n]??{},...r}}}}),forgetSession:t=>e(e=>{let n=t in e.bySession,r=e.activeSessionId===t;if(!n&&!r)return{};let i={...e.bySession};return delete i[t],{bySession:i,...r?{activeSessionId:null}:{}}}),reset:()=>e(U)}),{name:`wrongstack-local-prefs`,version:17,migrate:(e,t)=>{let n=e??{};return t<12&&n.autoReviewDebounceMs===5e3&&(n.autoReviewDebounceMs=15e3),typeof n.fleetChatVerbosity!=`string`&&(n.fleetChatVerbosity=n.streamFleet===!0?`full`:(n.streamFleet,`off`),delete n.streamFleet),n.fleetChatVerbosity!==`off`&&n.fleetChatVerbosity!==`full`&&(n.fleetChatVerbosity=`off`),[`hybrid`,`intelligent`,`selective`].includes(n.contextStrategy)||(n.contextStrategy=`hybrid`),n.auditLevel===`verbose`&&(n.auditLevel=`full`),[`minimal`,`standard`,`full`].includes(n.auditLevel)||(n.auditLevel=`full`),typeof n.autoProceedMaxIterations!=`number`&&(n.autoProceedMaxIterations=0),(!n.fallbackProfiles||typeof n.fallbackProfiles!=`object`||Array.isArray(n.fallbackProfiles))&&(n.fallbackProfiles={}),Array.isArray(n.favoriteModels)||(n.favoriteModels=[]),typeof n.favoriteModelsOnly!=`boolean`&&(n.favoriteModelsOnly=!1),Array.isArray(n.modelAvailabilitySchedule)||(n.modelAvailabilitySchedule=[]),(!n.modelMatrix||typeof n.modelMatrix!=`object`||Array.isArray(n.modelMatrix))&&(n.modelMatrix={}),(typeof n.uiLocale!=`string`||!n.uiLocale)&&(n.uiLocale=I()),typeof n.breakerEnabled!=`boolean`&&(n.breakerEnabled=!1),typeof n.breakerAutoKillResetMs!=`number`&&(n.breakerAutoKillResetMs=6e4),n.fsAccess!==`unrestricted`&&n.fsAccess!==`project`&&(n.fsAccess=`unrestricted`),typeof n.debugStream!=`boolean`&&(n.debugStream=!1),typeof n.wrongProxyEnabled!=`boolean`&&(n.wrongProxyEnabled=!1),(typeof n.wrongProxyUrl!=`string`||n.wrongProxyUrl.trim().length===0)&&(n.wrongProxyUrl=`http://localhost:3444`),typeof n.chimeraEnabled!=`boolean`&&(n.chimeraEnabled=!0),typeof n.chimeraProvider!=`string`&&(n.chimeraProvider=``),typeof n.chimeraModel!=`string`&&(n.chimeraModel=``),n.chimeraAutoFix!==`off`&&n.chimeraAutoFix!==`ask`&&n.chimeraAutoFix!==`auto`&&(n.chimeraAutoFix=`off`),(typeof n.chimeraMaxFiles!=`number`||!Number.isFinite(n.chimeraMaxFiles)||n.chimeraMaxFiles<1)&&(n.chimeraMaxFiles=15),typeof n.autoReviewEnabled!=`boolean`&&(n.autoReviewEnabled=!1),typeof n.autoReviewProvider!=`string`&&(n.autoReviewProvider=``),typeof n.autoReviewModel!=`string`&&(n.autoReviewModel=``),typeof n.autoReviewFallbackProfile!=`string`&&(n.autoReviewFallbackProfile=``),n.autoReviewModelSelection!==`round-robin`&&n.autoReviewModelSelection!==`random`&&(n.autoReviewModelSelection=`round-robin`),Array.isArray(n.autoReviewFallbackModels)||(n.autoReviewFallbackModels=[]),(typeof n.autoReviewDebounceMs!=`number`||!Number.isFinite(n.autoReviewDebounceMs)||n.autoReviewDebounceMs<0)&&(n.autoReviewDebounceMs=15e3),(typeof n.autoReviewMaxFilesPerBatch!=`number`||!Number.isFinite(n.autoReviewMaxFilesPerBatch)||n.autoReviewMaxFilesPerBatch<1)&&(n.autoReviewMaxFilesPerBatch=15),(typeof n.autoReviewMaxConcurrentReviews!=`number`||!Number.isFinite(n.autoReviewMaxConcurrentReviews)||n.autoReviewMaxConcurrentReviews<1)&&(n.autoReviewMaxConcurrentReviews=2),n.autoReviewCascadeOn!==`off`&&n.autoReviewCascadeOn!==`critical`&&n.autoReviewCascadeOn!==`high`&&(n.autoReviewCascadeOn=`off`),typeof n.showModelReasoning!=`boolean`&&(n.showModelReasoning=!0),typeof n.autoCollapseInput!=`boolean`&&(n.autoCollapseInput=!1),typeof n.showAgentSwarmPanel==`boolean`?n.showAgentSwarmPanel=n.showAgentSwarmPanel?`bottom`:`off`:(typeof n.showAgentSwarmPanel!=`string`||![`bottom`,`sidebar`,`off`].includes(n.showAgentSwarmPanel))&&(n.showAgentSwarmPanel=`bottom`),typeof n.allowOutsideProjectRoot!=`boolean`&&(n.allowOutsideProjectRoot=!0),typeof n.readSymbols!=`boolean`&&(n.readSymbols=!1),typeof n.showSageMemoryInject!=`boolean`&&(n.showSageMemoryInject=!1),(typeof n.sageMemoryInjectThreshold!=`number`||!Number.isFinite(n.sageMemoryInjectThreshold)||n.sageMemoryInjectThreshold<0||n.sageMemoryInjectThreshold>1)&&(n.sageMemoryInjectThreshold=.85),(typeof n.preRefineSeconds!=`number`||!Number.isFinite(n.preRefineSeconds)||n.preRefineSeconds<0)&&(n.preRefineSeconds=3),(typeof n.bySession!=`object`||n.bySession===null||Array.isArray(n.bySession))&&(n.bySession={}),(typeof n.sessionDefaults!=`object`||n.sessionDefaults===null||Array.isArray(n.sessionDefaults))&&(n.sessionDefaults={}),typeof n.activeSessionId!=`string`&&(n.activeSessionId=null),(typeof n.multiDiffSummaryThreshold!=`number`||!Number.isFinite(n.multiDiffSummaryThreshold)||n.multiDiffSummaryThreshold<0)&&(n.multiDiffSummaryThreshold=5),typeof n.keyboardShortcuts!=`boolean`&&(n.keyboardShortcuts=!1),n},partialize:e=>{let{hqToken:t,...n}=e;return n},merge:(e,t)=>{let{hqToken:n,...r}=e??{};return{...t,...r,hqToken:``}}})),G=[`common`,`activity`,`chat`,`commandPalette`,`settings`,`setup`,`toasts`];function K(){try{return L(W.getState().uiLocale)}catch{return`en`}}e.use(r).use(i((e,t)=>d(Object.assign({"./locales/de/activity.json":()=>u(()=>import(`./activity-DBzijhvU.js`),[]),"./locales/de/chat.json":()=>u(()=>import(`./chat-BHsbpaVt.js`),[]),"./locales/de/commandPalette.json":()=>u(()=>import(`./commandPalette-aaAou3Tl.js`),[]),"./locales/de/common.json":()=>u(()=>import(`./common-CpZ-DoXd.js`),[]),"./locales/de/settings.json":()=>u(()=>import(`./settings-CxqeEzzD.js`),[]),"./locales/de/setup.json":()=>u(()=>import(`./setup-B9oerXTs.js`),[]),"./locales/de/toasts.json":()=>u(()=>import(`./toasts-BsmyGP95.js`),[]),"./locales/en/activity.json":()=>u(()=>import(`./activity-B6W4JEPC.js`),[]),"./locales/en/chat.json":()=>u(()=>import(`./chat-BITJe8-v.js`).then(e=>e.n),__vite__mapDeps([0,1])),"./locales/en/commandPalette.json":()=>u(()=>import(`./commandPalette-BovBiPec.js`).then(e=>e.n),__vite__mapDeps([2,1])),"./locales/en/common.json":()=>u(()=>import(`./common-CmkkiJUR.js`).then(e=>e.n),__vite__mapDeps([3,1])),"./locales/en/settings.json":()=>u(()=>import(`./settings-DKSmPD2M.js`),[]),"./locales/en/setup.json":()=>u(()=>import(`./setup-qooXjj4V.js`).then(e=>e.n),__vite__mapDeps([4,1])),"./locales/en/toasts.json":()=>u(()=>import(`./toasts-DZ6HdKgG.js`).then(e=>e.n),__vite__mapDeps([5,1])),"./locales/es/activity.json":()=>u(()=>import(`./activity-Co3aH0eV.js`),[]),"./locales/es/chat.json":()=>u(()=>import(`./chat-6dE2AJNN.js`),[]),"./locales/es/commandPalette.json":()=>u(()=>import(`./commandPalette-Nlxs0V7J.js`),[]),"./locales/es/common.json":()=>u(()=>import(`./common-B5Uslzr2.js`),[]),"./locales/es/settings.json":()=>u(()=>import(`./settings-CAfe70nd.js`),[]),"./locales/es/setup.json":()=>u(()=>import(`./setup-Cmq_aIjv.js`),[]),"./locales/es/toasts.json":()=>u(()=>import(`./toasts-DizCJjAR.js`),[]),"./locales/fr/activity.json":()=>u(()=>import(`./activity-C2ThLEx6.js`),[]),"./locales/fr/chat.json":()=>u(()=>import(`./chat-B3AJmhGD.js`),[]),"./locales/fr/commandPalette.json":()=>u(()=>import(`./commandPalette-Dfk74u87.js`),[]),"./locales/fr/common.json":()=>u(()=>import(`./common-Ct-Iodid.js`),[]),"./locales/fr/settings.json":()=>u(()=>import(`./settings-D90wMI-3.js`),[]),"./locales/fr/setup.json":()=>u(()=>import(`./setup-BWlr07i_.js`),[]),"./locales/fr/toasts.json":()=>u(()=>import(`./toasts-CgXHu8ZB.js`),[]),"./locales/it/activity.json":()=>u(()=>import(`./activity-D8QpThnB.js`),[]),"./locales/it/chat.json":()=>u(()=>import(`./chat-mSbSzPl5.js`),[]),"./locales/it/commandPalette.json":()=>u(()=>import(`./commandPalette-CUh_kgfp.js`),[]),"./locales/it/common.json":()=>u(()=>import(`./common-BnhmJl6b.js`),[]),"./locales/it/settings.json":()=>u(()=>import(`./settings-DWXLaAFN.js`),[]),"./locales/it/setup.json":()=>u(()=>import(`./setup-DK5JTuqw.js`),[]),"./locales/it/toasts.json":()=>u(()=>import(`./toasts-bPl097de.js`),[]),"./locales/pt-BR/activity.json":()=>u(()=>import(`./activity-DaNFfhdh.js`),[]),"./locales/pt-BR/chat.json":()=>u(()=>import(`./chat-_Xp5fDnj.js`),[]),"./locales/pt-BR/commandPalette.json":()=>u(()=>import(`./commandPalette-tFxIIhvU.js`),[]),"./locales/pt-BR/common.json":()=>u(()=>import(`./common-D9w3BalB.js`),[]),"./locales/pt-BR/settings.json":()=>u(()=>import(`./settings-AxDNIcz1.js`),[]),"./locales/pt-BR/setup.json":()=>u(()=>import(`./setup-B-xPcuTH.js`),[]),"./locales/pt-BR/toasts.json":()=>u(()=>import(`./toasts-NC2MT4uN.js`),[]),"./locales/tr/activity.json":()=>u(()=>import(`./activity-BYWZhxvD.js`),[]),"./locales/tr/chat.json":()=>u(()=>import(`./chat-U-Jjb8_k.js`),[]),"./locales/tr/commandPalette.json":()=>u(()=>import(`./commandPalette-CGMq-qlP.js`),[]),"./locales/tr/common.json":()=>u(()=>import(`./common-5rSj2oHt.js`),[]),"./locales/tr/settings.json":()=>u(()=>import(`./settings-BcejxgTD.js`),[]),"./locales/tr/setup.json":()=>u(()=>import(`./setup-CQ4-lz5u.js`),[]),"./locales/tr/toasts.json":()=>u(()=>import(`./toasts-tCVo15mP.js`),[])}),`./locales/${e}/${t}.json`,4))).init({lng:K(),fallbackLng:`en`,supportedLngs:[...N],ns:[...G],defaultNS:`common`,partialBundledLanguages:!0,resources:{en:{common:s,chat:a,commandPalette:o,setup:c,toasts:l}},interpolation:{escapeValue:!1},react:{useSuspense:!1},returnNull:!1});function q(e){typeof document<`u`&&(document.documentElement.lang=e)}q(e.language||`en`);var J=[`activity`,`settings`];e.loadNamespaces(J).catch(e=>{console.warn(JSON.stringify({level:`warn`,event:`i18n_deferred_namespace_prefetch_failed`,namespaces:J,error:j(e),timestamp:new Date().toISOString()}))}),W.subscribe((t,n)=>{let r=t.uiLocale;r&&r!==n.uiLocale&&r!==e.language&&e.changeLanguage(r).then(()=>q(r))});function Y(){window.wrongstackDesktopHost?.onLocaleChanged?.(t=>{if(!t)return;let n=L(t);if(n===e.language)return;let r=W.getState();r.uiLocale!==n&&r.set({uiLocale:n}),e.changeLanguage(n).then(()=>q(n))})}try{Y()}catch{}export{j as i,W as n,P as r,V as t};