@inkeep/open-knowledge 0.42.0-beta.8 → 0.42.0

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 (122) hide show
  1. package/dist/{acp-harness-probe-BLfn73i6.mjs → acp-harness-probe-C3Si3Oe6.mjs} +2 -2
  2. package/dist/assets/skills/discovery/SKILL.md +1 -1
  3. package/dist/assets/skills/project/SKILL.md +2 -2
  4. package/dist/assets/skills/project/references/components-and-visuals.md +0 -4
  5. package/dist/assets/skills/write-skill/SKILL.md +2 -2
  6. package/dist/assets/skills/write-skill/references/pressure-testing.md +1 -1
  7. package/dist/cli.mjs +50 -50
  8. package/dist/constants-W4BDL0X1.mjs +2 -0
  9. package/dist/{git-handle-CnUwtybc.mjs → git-handle-JgY8Ytwb.mjs} +2 -2
  10. package/dist/git-handle-maG17s4k.mjs +1 -0
  11. package/dist/index.mjs +1 -1
  12. package/dist/{init-WcxdIpWm.mjs → init-BRlzdKw6.mjs} +4 -4
  13. package/dist/init-CVeJ6jGy.mjs +1 -0
  14. package/dist/{launch-json-removal-DcIuSt6G.mjs → launch-json-removal-D3bQuZax.mjs} +2 -2
  15. package/dist/{loader-DKjlOOL4.mjs → loader-BiH3mrIJ.mjs} +2 -2
  16. package/dist/loader-DXTwcp6f.mjs +1 -0
  17. package/dist/md-manager-BHEZ9tjn.mjs +2 -0
  18. package/dist/{open-browser-Dx055WwC.mjs → open-browser-BqBGMi_2.mjs} +2 -2
  19. package/dist/parse-worker.mjs +1 -1
  20. package/dist/{preview-Cb6ctP_a.mjs → preview-DB8FUJNR.mjs} +2 -2
  21. package/dist/preview-zru6Ga5A.mjs +1 -0
  22. package/dist/public/assets/{ActivityModeContent-BarAfjGw.js → ActivityModeContent-Cga3MNl5.js} +1 -1
  23. package/dist/public/assets/{AgentDiffPane-Bgwp1tZy.js → AgentDiffPane-D51hdGMm.js} +1 -1
  24. package/dist/public/assets/{AgentThreadClientBinder-D_mhB_uV.js → AgentThreadClientBinder-D_oI6JYB.js} +1 -1
  25. package/dist/public/assets/{CodeMirrorPropInput-L6IjOKBK.js → CodeMirrorPropInput-C5y2rXYX.js} +1 -1
  26. package/dist/public/assets/{DocumentContext-CpOTF1vT.js → DocumentContext-9aHVrow4.js} +2 -2
  27. package/dist/public/assets/{EditorModeToggle-DeKVTMB4.js → EditorModeToggle-v_8_QyqL.js} +1 -1
  28. package/dist/public/assets/{EnableSyncConfirmDialog-BCmpMth-.js → EnableSyncConfirmDialog-DGzRLORN.js} +1 -1
  29. package/dist/public/assets/FeedbackForm-C2LaBRN9.js +1 -0
  30. package/dist/public/assets/{GraphPanel-1CKwHElx.js → GraphPanel-Bp-rgKAp.js} +1 -1
  31. package/dist/public/assets/{LintConfigEditor-DXChjQ1V.js → LintConfigEditor-P94jXYrX.js} +1 -1
  32. package/dist/public/assets/{ManagedArtifactProperties-skq9H6rG.js → ManagedArtifactProperties-RLiPia3Z.js} +1 -1
  33. package/dist/public/assets/{McpConsentDialogBody-CYOKF_sf.js → McpConsentDialogBody-DQKGlIrW.js} +1 -1
  34. package/dist/public/assets/{MermaidDocEditor-pNUP6YpL.js → MermaidDocEditor-LMmhg9P3.js} +1 -1
  35. package/dist/public/assets/{PropertyPanel-DX8x1BVg.js → PropertyPanel-BInrc8Dz.js} +1 -1
  36. package/dist/public/assets/{ReportBugDialogBody-C3LwtOik.js → ReportBugDialogBody-CN9m_7Kk.js} +2 -2
  37. package/dist/public/assets/{SchemaConfigEditor-BKg4WPNk.js → SchemaConfigEditor-DgQ8bbvw.js} +1 -1
  38. package/dist/public/assets/{SettingsDialogBody-BPaBfLAb.js → SettingsDialogBody-BCxbiRlp.js} +1 -1
  39. package/dist/public/assets/{ShareBranchSwitchDialog-C6G5A_aK.js → ShareBranchSwitchDialog-C5BWlfbq.js} +1 -1
  40. package/dist/public/assets/{ShareReceiveDialog-DLEkjmkI.js → ShareReceiveDialog-CI2Mloot.js} +1 -1
  41. package/dist/public/assets/{ShareReceiveMissDialog-Db_rUJdZ.js → ShareReceiveMissDialog-ohgoelQ3.js} +1 -1
  42. package/dist/public/assets/{SkillEditorActions-AGeWFFyT.js → SkillEditorActions-B3vkquAC.js} +1 -1
  43. package/dist/public/assets/{SourceEditor-DKIoo25b.js → SourceEditor-DEzHIX3Z.js} +1 -1
  44. package/dist/public/assets/{TerminalPanel-Bf_h8SIB.js → TerminalPanel-BNrFiNj3.js} +1 -1
  45. package/dist/public/assets/{TerminalSessionsHost-DPgpO6i4.js → TerminalSessionsHost-BApXyKBm.js} +2 -2
  46. package/dist/public/assets/{TerminalWindowApp-DeHfBl6y.js → TerminalWindowApp-CT-DB-wX.js} +1 -1
  47. package/dist/public/assets/ThreadView-B0tKB64Q.js +6 -0
  48. package/dist/public/assets/{TimelineDiffPane-CQ7YSDnI.js → TimelineDiffPane-ErJoJPn_.js} +1 -1
  49. package/dist/public/assets/{agent-diff-store-Bi0IQPgd.js → agent-diff-store-CL1zJhM8.js} +1 -1
  50. package/dist/public/assets/{agent-visibility-HpfSUFqP.js → agent-visibility-DboUkSIR.js} +1 -1
  51. package/dist/public/assets/{auth-state-cache-BMSP_iQ1.js → auth-state-cache-HjMem9G-.js} +1 -1
  52. package/dist/public/assets/client-version-Cx5VddNZ.js +1 -0
  53. package/dist/public/assets/{config-provider-Bd6kn_Wi.js → config-provider-BvRqIV8_.js} +1 -1
  54. package/dist/public/assets/{dist-Cal4LUep.js → dist-CRnLx168.js} +148 -148
  55. package/dist/public/assets/{doc-hash-BSK-KaTu.js → doc-hash-DaHNz5tZ.js} +1 -1
  56. package/dist/public/assets/{documents-events-1HWCdfoh.js → documents-events-CO5GMB1j.js} +1 -1
  57. package/dist/public/assets/{file-tree-adapter-Dw7Dgyj1.js → file-tree-adapter-CMkAk18U.js} +1 -1
  58. package/dist/public/assets/{file-tree-utils-DiUPuK3N.js → file-tree-utils-DW5kpGI7.js} +1 -1
  59. package/dist/public/assets/{globals-C6WpSvCs.js → globals-CXEWtNVL.js} +1 -1
  60. package/dist/public/assets/globals-GYHxaktb.css +1 -0
  61. package/dist/public/assets/index-BvwEhh3F.js +2014 -0
  62. package/dist/public/assets/{lint-config-client-G_mrikOJ.js → lint-config-client-ClOK3XHG.js} +1 -1
  63. package/dist/public/assets/{markdownlint-rule-browser-rS3aDGOb.js → markdownlint-rule-browser-BkNWMW9T.js} +1 -1
  64. package/dist/public/assets/{navigation-targets-Ci2h-vaL.js → navigation-targets-BvMgbXSl.js} +1 -1
  65. package/dist/public/assets/{open-managed-artifact-tab-DfGutPkc.js → open-managed-artifact-tab-uWUnYmu7.js} +1 -1
  66. package/dist/public/assets/{pending-receive-nav-store-h6XBq4Wh.js → pending-receive-nav-store-ZP5ClzoO.js} +1 -1
  67. package/dist/public/assets/{prop-types-B-N3_i3c.js → prop-types-CaVq0ILj.js} +1 -1
  68. package/dist/public/assets/{receive-store-CL0RH8Oa.js → receive-store-O26Klsmj.js} +1 -1
  69. package/dist/public/assets/{selection-context-BeZk6OlH.js → selection-context-Cl9EWdbI.js} +1 -1
  70. package/dist/public/assets/{skill-actions-C_5-d4BC.js → skill-actions-BOEtYQao.js} +1 -1
  71. package/dist/public/assets/{skills-api-ChYiP1Zv.js → skills-api-BxZRuTIF.js} +1 -1
  72. package/dist/public/assets/{src-IvJo911P.js → src-BPnSaHfB.js} +1 -1
  73. package/dist/public/assets/{tag-pill-input-B27HgfRy.js → tag-pill-input-D3yKn_j2.js} +1 -1
  74. package/dist/public/assets/{target-navigation-intent-ClG4AlV8.js → target-navigation-intent-DKN8qckv.js} +1 -1
  75. package/dist/public/assets/{telemetry-impl-B0xfYfCD.js → telemetry-impl-DXiL3sBk.js} +1 -1
  76. package/dist/public/assets/{telemetry-startup-BYP0kNl2.js → telemetry-startup-Db44p95P.js} +1 -1
  77. package/dist/public/assets/{terminal-launch-events-N4CMVbPT.js → terminal-launch-events-cbz64adZ.js} +1 -1
  78. package/dist/public/assets/{terminal-telemetry-DxTZB2oZ.js → terminal-telemetry-B-8TrAWX.js} +1 -1
  79. package/dist/public/assets/thread-client-CurKSSA8.js +1 -0
  80. package/dist/public/assets/{typing-burst-detector-zU1P7TwH.js → typing-burst-detector-DNp0nd7d.js} +1 -1
  81. package/dist/public/assets/{uninstall-M1UiY2qw.js → uninstall-B_24eCu8.js} +1 -1
  82. package/dist/public/assets/{use-activity-panel-CfJPrmBg.js → use-activity-panel-CcjzkedG.js} +1 -1
  83. package/dist/public/assets/{use-apply-config-color-theme-CK97Jvup.js → use-apply-config-color-theme-CsOxA7Ln.js} +1 -1
  84. package/dist/public/assets/{use-collab-url-D0INpn_f.js → use-collab-url-DKVO0F_k.js} +1 -1
  85. package/dist/public/assets/{use-live-xterm-theme-C-fHLeXw.js → use-live-xterm-theme-DxXMX-ZB.js} +1 -1
  86. package/dist/public/assets/{use-settings-route-CXFzIfYo.js → use-settings-route-R3f95s9q.js} +1 -1
  87. package/dist/public/assets/{use-terminal-enabled-skhgA3z3.js → use-terminal-enabled-FmmwhtBs.js} +1 -1
  88. package/dist/public/assets/{use-timeline-entry-diff-D8H1ml6L.js → use-timeline-entry-diff-CqINluw6.js} +1 -1
  89. package/dist/public/assets/{use-workspace-3T40FR83.js → use-workspace-DQ7VjlT1.js} +1 -1
  90. package/dist/public/assets/{workspace-paths-B-NChZS2.js → workspace-paths-CFyvLimb.js} +1 -1
  91. package/dist/public/index.html +37 -37
  92. package/dist/public/uninstall.html +4 -4
  93. package/dist/{repair-launch-json-Bgt1JPap.mjs → repair-launch-json-CyzMH3Dg.mjs} +2 -2
  94. package/dist/{repair-mcp-configs-JOnTDbtQ.mjs → repair-mcp-configs-Bk1NyiZ4.mjs} +2 -2
  95. package/dist/{repair-skills-wN4Q8hDX.mjs → repair-skills-C0Geadpr.mjs} +2 -2
  96. package/dist/repair-skills-D19a_XVe.mjs +1 -0
  97. package/dist/server-lock-DUfHjP3M.mjs +1 -0
  98. package/dist/{server-lock-TC0vRJO5.mjs → server-lock-rqh-yT8R.mjs} +2 -2
  99. package/dist/{src-BkLr-Kxa.mjs → src-CfIUSiib.mjs} +2 -2
  100. package/dist/{src-Cedat7Lt.mjs → src-DF_K89lg.mjs} +1 -1
  101. package/dist/{src-C4HvLmg1.mjs → src-Q2mWJGdH.mjs} +120 -120
  102. package/dist/src-phea8qFf.mjs +3265 -0
  103. package/dist/start-C651KlAq.mjs +1 -0
  104. package/dist/{start-CrZJy3Yc.mjs → start-CNop6WpI.mjs} +2 -2
  105. package/dist/{write-project-skill-7eiqv4-L.mjs → write-project-skill-CG87XS-d.mjs} +4 -4
  106. package/package.json +4 -4
  107. package/dist/constants-WSErvfZx.mjs +0 -2
  108. package/dist/git-handle-Ceb067pB.mjs +0 -1
  109. package/dist/init-C8rkx5j9.mjs +0 -1
  110. package/dist/loader-BzBN0303.mjs +0 -1
  111. package/dist/md-manager-BrzjirTk.mjs +0 -2
  112. package/dist/preview-DhJpRIag.mjs +0 -1
  113. package/dist/public/assets/FeedbackForm-CeQduxl0.js +0 -1
  114. package/dist/public/assets/ThreadView-DN1Ly5aA.js +0 -6
  115. package/dist/public/assets/client-version-CiCsKDVd.js +0 -1
  116. package/dist/public/assets/globals-DF_8aGgC.css +0 -1
  117. package/dist/public/assets/index-BPmTXHv2.js +0 -2014
  118. package/dist/public/assets/thread-client-CXDtD9Ce.js +0 -1
  119. package/dist/repair-skills-CWDsNblG.mjs +0 -1
  120. package/dist/server-lock-CcpmJhRb.mjs +0 -1
  121. package/dist/src-ZTjj6Vbn.mjs +0 -3267
  122. package/dist/start-CFsgb8aj.mjs +0 -1
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./react-f2sANaYj.js";import{t as n}from"./compiler-runtime-BfE3aGVn.js";import{n as r}from"./dist-BLAMau9Z.js";import{t as i}from"./dist-q14fBS3T.js";var a=e(t(),1),o=n(),s=`ok-acp-agent-settings-v1`;function c(e){return`${e.source}:${e.id}`}function l(){try{let e=localStorage.getItem(s);if(e===null)return{};let t=JSON.parse(e);return typeof t==`object`&&t?t:{}}catch{return{}}}function u(e){try{localStorage.setItem(s,JSON.stringify(e))}catch(e){console.warn(`[acp-settings] could not persist agent settings`,e)}}function d(e,t,n){let r=l(),i=r[e]??{};r[e]={...i,config:{...i.config,[t]:n}},u(r)}function f(e){let t=l()[e]?.config;if(typeof t!=`object`||!t)return;let n={};for(let[e,r]of Object.entries(t))(typeof r==`string`||typeof r==`boolean`)&&(n[e]=r);return Object.keys(n).length>0?n:void 0}function p(e,t){if(t===``)return;let n=l();n[e]={...n[e]??{},modeId:t},u(n)}function m(e){let t=l()[e]?.modeId;return typeof t==`string`&&t!==``?t:void 0}var h=64e3;function g(e){if(typeof e!=`object`||!e)return null;let t=e;return t.type===`text`&&typeof t.text==`string`?t.text:null}var _=class{items=[];plan=[];turnActive=!1;tokenUsage=null;terminals={};toolCallIndex=new Map;permissionIndex=new Map;permissionByToolCall=new Map;permissionsByToolCall={};messageIndex=new Map;runtimeConsentIndex=new Map;lastConsentIndex=null;appliedCount=0;dirty=!1;snapshot={items:[],plan:[],turnActive:!1,tokenUsage:null,terminals:{},permissionsByToolCall:{}};sync(e){e.length<this.appliedCount&&this.reset();for(let t=this.appliedCount;t<e.length;t++)this.applyEvent(e[t]);return this.appliedCount=e.length,this.dirty&&=(this.snapshot={items:[...this.items],plan:this.plan,turnActive:this.turnActive,tokenUsage:this.tokenUsage,terminals:{...this.terminals},permissionsByToolCall:{...this.permissionsByToolCall}},!1),this.snapshot}reset(){this.items=[],this.plan=[],this.turnActive=!1,this.tokenUsage=null,this.terminals={},this.toolCallIndex=new Map,this.permissionIndex=new Map,this.permissionByToolCall=new Map,this.permissionsByToolCall={},this.messageIndex=new Map,this.runtimeConsentIndex=new Map,this.lastConsentIndex=null,this.appliedCount=0,this.dirty=!0}applyEvent(e){switch(this.dirty=!0,e.kind){case`user_message`:this.items.push({kind:`message`,role:`user`,text:e.content,messageId:`user-${this.items.length}`}),this.messageIndex.clear();break;case`turn_started`:this.turnActive=!0;break;case`turn_ended`:this.turnActive=!1,this.messageIndex.clear();break;case`status`:if(e.status===`exited`&&(this.turnActive=!1),this.lastConsentIndex!==null){let t=this.items[this.lastConsentIndex];t?.kind===`runtime_consent`&&t.install===`running`&&(e.status===`spawning`||e.status===`ready`||e.status===`running`?this.items[this.lastConsentIndex]={...t,install:`done`}:(e.status===`error`||e.status===`exited`)&&(this.items[this.lastConsentIndex]={...t,install:`failed`}))}e.status===`error`&&e.detail?this.items.push({kind:`notice`,text:e.detail,tone:`error`}):e.status===`auth_required`&&e.detail&&this.items.push({kind:`notice`,text:e.detail,tone:`info`});break;case`permission_request`:{let t=e.toolCall.toolCallId??null,n={kind:`permission`,requestId:e.requestId,title:e.toolCall.title??`Permission required`,toolKind:e.toolCall.kind??`other`,options:e.options,resolved:null,toolCallId:t,mergedIntoToolCall:t!==null&&this.toolCallIndex.has(t)};this.permissionIndex.set(e.requestId,this.items.length),t!==null&&(this.permissionByToolCall.set(t,this.items.length),this.permissionsByToolCall[t]=n),this.items.push(n);break}case`permission_resolved`:{let t=this.permissionIndex.get(e.requestId);if(t===void 0)break;let n=this.items[t];if(n.kind!==`permission`)break;let r={...n,resolved:{optionId:e.optionId,auto:e.auto}};this.items[t]=r,r.toolCallId!==null&&(this.permissionsByToolCall[r.toolCallId]=r);break}case`runtime_consent_request`:this.runtimeConsentIndex.set(e.requestId,this.items.length),this.lastConsentIndex=this.items.length,this.items.push({kind:`runtime_consent`,requestId:e.requestId,runtime:e.runtime,displayName:e.displayName,provides:e.provides,version:e.version,approxSizeMB:e.approxSizeMB,sourceHost:e.sourceHost,agentName:e.agentName,resolved:null,install:null,progress:null});break;case`runtime_consent_resolved`:{let t=this.runtimeConsentIndex.get(e.requestId);if(t===void 0)break;let n=this.items[t];if(n.kind!==`runtime_consent`)break;this.items[t]={...n,resolved:e.decision,install:e.decision===`granted`?`running`:null};break}case`runtime_install_progress`:{if(this.lastConsentIndex===null)break;let t=this.items[this.lastConsentIndex];if(t===void 0||t.kind!==`runtime_consent`)break;this.items[this.lastConsentIndex]={...t,progress:{receivedBytes:e.receivedBytes??0,totalBytes:e.totalBytes??null}};break}case`terminal_created`:this.terminals[e.terminalId]={terminalId:e.terminalId,command:e.command,args:e.args,output:``,truncated:!1,exit:null};break;case`terminal_output`:{let t=this.terminals[e.terminalId];if(t===void 0)break;let n=t.output+e.chunk,r=t.truncated;n.length>h&&(n=n.slice(-h),r=!0),this.terminals[e.terminalId]={...t,output:n,truncated:r};break}case`terminal_exit`:{let t=this.terminals[e.terminalId];if(t===void 0)break;this.terminals[e.terminalId]={...t,exit:{exitCode:e.exitCode,signal:e.signal}};break}case`session_update`:this.applyUpdate(e.update);break;default:break}}mergePermissionInto(e){let t=this.permissionByToolCall.get(e);if(t===void 0)return;let n=this.items[t];if(n===void 0||n.kind!==`permission`||n.mergedIntoToolCall)return;let r={...n,mergedIntoToolCall:!0};this.items[t]=r,this.permissionsByToolCall[e]=r}pushMessageChunk(e,t,n){let r=`${e}:${t}`,i=this.messageIndex.get(r);if(i!==void 0&&i===this.items.length-1){let e=this.items[i];this.items[i]={...e,text:e.text+n};return}this.messageIndex.set(r,this.items.length),this.items.push({kind:`message`,role:e,text:n,messageId:t})}applyUpdate(e){switch(e.sessionUpdate){case`agent_message_chunk`:{let t=g(e.content);t!==null&&this.pushMessageChunk(`agent`,y(e),t);break}case`agent_thought_chunk`:{let t=g(e.content);t!==null&&this.pushMessageChunk(`thought`,y(e),t);break}case`user_message_chunk`:{let t=g(e.content);t!==null&&this.pushMessageChunk(`user`,y(e),t);break}case`tool_call`:{let t={kind:`tool_call`,toolCallId:e.toolCallId,title:e.title??`Tool call`,toolKind:e.kind??`other`,status:e.status??`pending`,diffs:[],terminalIds:[],content:[],locations:b(e.locations),rawInput:e.rawInput};x(t,e.content),this.toolCallIndex.set(e.toolCallId,this.items.length),this.items.push(t),this.mergePermissionInto(e.toolCallId);break}case`tool_call_update`:{let t=this.toolCallIndex.get(e.toolCallId);if(t===void 0)break;let n=this.items[t];if(n.kind!==`tool_call`)break;let r={...n,diffs:[...n.diffs],terminalIds:[...n.terminalIds],content:[...n.content]};e.status&&(r.status=e.status),e.title&&(r.title=e.title),e.locations&&(r.locations=b(e.locations));let i=e.rawInput;i!==void 0&&(r.rawInput=i),x(r,e.content),this.items[t]=r;break}case`plan`:{let t=e.entries;Array.isArray(t)&&(this.plan=t.map(e=>e).filter(e=>typeof e.content==`string`).map(e=>({content:e.content,priority:typeof e.priority==`string`?e.priority:void 0,status:typeof e.status==`string`?e.status:void 0})));break}case`usage_update`:{let t=e;this.tokenUsage={used:typeof t.used==`number`?t.used:void 0,size:typeof t.size==`number`?t.size:void 0};break}default:{let t=e.usage;t!==void 0&&(this.tokenUsage={used:t.used,size:t.size});break}}}};function v(e){let t=e.resolved;if(t===null)return null;if(t.optionId===null)return t.auto?{kind:`dismissed`}:{kind:`denied`,auto:!1,optionName:null};let n=e.options.find(e=>e.optionId===t.optionId);if(n===void 0)return{kind:`dismissed`};let r=n.kind.startsWith(`reject`),i=n.kind.startsWith(`allow`);return!r&&!i?{kind:`dismissed`}:{kind:r?`denied`:`approved`,auto:t.auto,optionName:n.name}}function y(e){let t=e.messageId;return typeof t==`string`?t:`default`}function b(e){return Array.isArray(e)?e.map(e=>e).filter(e=>typeof e.path==`string`).map(e=>({path:e.path,line:typeof e.line==`number`?e.line:void 0})):[]}function x(e,t){if(Array.isArray(t))for(let n of t){let t=n;if(t.type===`diff`&&typeof t.path==`string`&&typeof t.newText==`string`)e.diffs.push({path:t.path,oldText:typeof t.oldText==`string`?t.oldText:null,newText:t.newText});else if(t.type===`terminal`&&typeof t.terminalId==`string`)e.terminalIds.includes(t.terminalId)||e.terminalIds.push(t.terminalId);else if(t.type===`content`){let n=g(t.content);n!==null&&e.content.push(n)}else{let n=g(t);n!==null&&e.content.push(n)}}}var S=500,C=15e3,w=3e4,T=9e4,E=8e3,D=class extends Error{code;constructor(e,t){super(t),this.name=`ThreadResumeError`,this.code=e}},O=class extends Error{constructor(){super(`agent-thread channel is not connected`),this.name=`ThreadChannelUnavailableError`}},k=class{url=null;ws=null;reconnectDelay=S;reconnectTimer=null;threads=new Map;listeners=new Set;pendingCreates=new Map;pendingResumes=new Map;openedArchived=new Set;reqCounter=0;status=`idle`;version=0;setUrl(e){e!==this.url&&(this.url=e,this.teardownSocket(),e===null?this.setStatus(`idle`):this.connect())}subscribe=e=>(this.listeners.add(e),()=>this.listeners.delete(e));threadsSnapshot=[];threadsSnapshotVersion=-1;getThreads=()=>(this.threadsSnapshotVersion!==this.version&&(this.threadsSnapshot=[...this.threads.values()].map(e=>e.info).sort((e,t)=>e.createdAt-t.createdAt),this.threadsSnapshotVersion=this.version),this.threadsSnapshot);openTabsSnapshot=[];openTabsSnapshotVersion=-1;getOpenTabs=()=>(this.openTabsSnapshotVersion!==this.version&&(this.openTabsSnapshot=[...this.threads.values()].map(e=>e.info).filter(e=>e.archived!==!0||this.openedArchived.has(e.threadId)).sort((e,t)=>e.createdAt-t.createdAt),this.openTabsSnapshotVersion=this.version),this.openTabsSnapshot);archivedSnapshot=[];archivedSnapshotVersion=-1;getArchivedThreads=()=>(this.archivedSnapshotVersion!==this.version&&(this.archivedSnapshot=[...this.threads.values()].map(e=>e.info).filter(e=>e.archived===!0).sort((e,t)=>t.lastActivityAt-e.lastActivityAt),this.archivedSnapshotVersion=this.version),this.archivedSnapshot);getThread=e=>this.threads.get(e)??null;modelBuilders=new Map;getThreadModel=e=>{let t=this.threads.get(e);if(t===void 0)return null;let n=this.modelBuilders.get(e);return n===void 0&&(n=new _,this.modelBuilders.set(e,n)),n.sync(t.events)};getConnectionStatus=()=>this.status;async createThread(e){this.connectNow(),await this.waitForOpen(E),this.reqCounter+=1;let t=`create-${this.reqCounter}`,n=new Promise((e,n)=>{let r=setTimeout(()=>{this.pendingCreates.delete(t),n(Error(`thread creation timed out`))},w);this.pendingCreates.set(t,{resolve:e,reject:n,timer:r})}),r=c(e.agent),i=f(r),a=m(r),o=i!==void 0||a!==void 0?{...i===void 0?{}:{config:i},...a===void 0?{}:{modeId:a}}:void 0;return this.send({op:`create`,reqId:t,...e,...o===void 0?{}:{settings:o}}),n}prompt(e,t){this.reqCounter+=1,this.send({op:`prompt`,threadId:e,reqId:`prompt-${this.reqCounter}`,content:t})}editQueued(e,t,n){let r=n.trim();r!==``&&this.send({op:`queue_edit`,threadId:e,id:t,content:r})}removeQueued(e,t){this.send({op:`queue_remove`,threadId:e,id:t})}respondPermission(e,t,n){this.send({op:`permission_response`,threadId:e,requestId:t,outcome:n})}respondRuntimeConsent(e,t,n){this.send({op:`runtime_consent_response`,threadId:e,requestId:t,outcome:n})}cancel(e){this.send({op:`cancel`,threadId:e})}setMode(e,t){this.send({op:`set_mode`,threadId:e,modeId:t})}renameThread(e,t){let n=t.trim();n!==``&&this.send({op:`rename`,threadId:e,title:n})}setConfigOption(e,t,n){this.send({op:`set_config_option`,threadId:e,configId:t,value:n})}closeThread(e){let t=this.threads.get(e);if(t?.info.archived===!0){this.send({op:`unsubscribe`,threadId:e}),this.openedArchived.delete(e),this.modelBuilders.delete(e),this.threads.set(e,{info:t.info,events:[],lastSeq:-1}),this.bump();return}this.send({op:`close`,threadId:e}),this.openedArchived.delete(e),this.modelBuilders.delete(e),this.threads.delete(e)&&this.bump()}openArchivedThread(e){let t=this.threads.get(e);t===void 0||t.info.archived!==!0||this.openedArchived.has(e)||(this.openedArchived.add(e),this.send({op:`subscribe`,threadId:e,sinceSeq:t.lastSeq+1}),this.bump())}deleteThread(e){this.send({op:`delete`,threadId:e}),this.openedArchived.delete(e),this.modelBuilders.delete(e),this.threads.delete(e)&&this.bump()}async resumeThread(e,t){this.connectNow(),await this.waitForOpen(E),this.reqCounter+=1;let n=`resume-${this.reqCounter}`,r=new Promise((e,t)=>{let r=setTimeout(()=>{this.pendingResumes.delete(n),t(new D(`timeout`,`resume timed out`))},T);this.pendingResumes.set(n,{resolve:e,reject:t,timer:r})});return this.send({op:`resume`,threadId:e,reqId:n,prompt:t}),r}connectNow(){this.url===null||this.ws!==null||(this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null),this.reconnectDelay=S,this.connect())}waitForOpen(e){return this.ws!==null&&this.ws.readyState===WebSocket.OPEN?Promise.resolve():new Promise((t,n)=>{let r=e=>{clearTimeout(a),i(),e?t():n(new O)},i=this.subscribe(()=>{this.ws!==null&&this.ws.readyState===WebSocket.OPEN&&r(!0)}),a=setTimeout(()=>r(!1),e)})}connect(){if(this.url===null)return;this.setStatus(`connecting`);let e;try{e=new WebSocket(this.url)}catch{this.scheduleReconnect();return}this.ws=e,e.onopen=()=>{if(this.ws===e){this.reconnectDelay=S,this.setStatus(`open`),this.send({op:`list`});for(let[e,t]of this.threads)t.info.archived===!0&&!this.openedArchived.has(e)||this.send({op:`subscribe`,threadId:e,sinceSeq:t.lastSeq+1})}},e.onmessage=t=>{if(this.ws!==e||typeof t.data!=`string`)return;let n;try{n=JSON.parse(t.data)}catch{return}this.handleFrame(n)},e.onclose=()=>{this.ws===e&&(this.ws=null,this.setStatus(`closed`),this.scheduleReconnect())},e.onerror=()=>{}}teardownSocket(){this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null);for(let e of this.pendingCreates.values())clearTimeout(e.timer),e.reject(new O);this.pendingCreates.clear();for(let e of this.pendingResumes.values())clearTimeout(e.timer),e.reject(new O);this.pendingResumes.clear();let e=this.ws;if(this.ws=null,e!==null)try{e.close()}catch{}}scheduleReconnect(){if(this.url===null||this.reconnectTimer!==null)return;let e=this.reconnectDelay;this.reconnectDelay=Math.min(this.reconnectDelay*2,C),this.reconnectTimer=setTimeout(()=>{this.reconnectTimer=null,this.connect()},e)}send(e){let t=this.ws;if(!(t===null||t.readyState!==WebSocket.OPEN))try{t.send(JSON.stringify(e))}catch{}}handleFrame(e){switch(e.op){case`created`:{let t=this.pendingCreates.get(e.reqId);t!==void 0&&(this.pendingCreates.delete(e.reqId),clearTimeout(t.timer),t.resolve(e.info)),this.upsertInfo(e.info);return}case`threads`:{let t=new Set;for(let n of e.threads){t.add(n.threadId);let e=this.threads.has(n.threadId);this.upsertInfo(n),!e&&n.archived!==!0&&this.send({op:`subscribe`,threadId:n.threadId,sinceSeq:0})}let n=!1;for(let e of Array.from(this.threads.keys()))t.has(e)||(this.threads.delete(e),this.modelBuilders.delete(e),this.openedArchived.delete(e),n=!0);n&&this.bump();return}case`resumed`:{let t=this.pendingResumes.get(e.reqId);t!==void 0&&(this.pendingResumes.delete(e.reqId),clearTimeout(t.timer),t.resolve(e.info)),this.upsertInfo(e.info);return}case`subscribed`:this.upsertInfo(e.info);return;case`info`:this.upsertInfo(e.info);return;case`event`:this.appendEvents(e.threadId,e.seq,[e.event]);return;case`events`:this.appendEvents(e.threadId,e.fromSeq,e.events);return;case`error`:if(e.reqId!==void 0){let t=this.pendingCreates.get(e.reqId);if(t!==void 0){this.pendingCreates.delete(e.reqId),clearTimeout(t.timer),t.reject(Error(e.message));return}let n=this.pendingResumes.get(e.reqId);if(n!==void 0){this.pendingResumes.delete(e.reqId),clearTimeout(n.timer),n.reject(new D(e.code,e.message));return}if(e.reqId.startsWith(`prompt-`)){r.error(i._({id:`XNBGZw`,values:{0:e.message}}));return}}console.warn(`[agent-threads] server error frame:`,e.code,e.message);return;default:return}}appendEvents(e,t,n){let r=this.threads.get(e);if(r===void 0||n.length===0)return;let i=Math.max(r.lastSeq+1-t,0);if(i>=n.length)return;let a=i===0?n:n.slice(i),o=r.info;for(let e of a)o=A(o,e);this.threads.set(e,{info:o,events:[...r.events,...a],lastSeq:t+n.length-1}),this.bump()}upsertInfo(e){let t=this.threads.get(e.threadId);t===void 0?this.threads.set(e.threadId,{info:e,events:[],lastSeq:-1}):e.archived===!0&&t.info.archived!==!0?(this.openedArchived.delete(e.threadId),this.modelBuilders.delete(e.threadId),this.threads.set(e.threadId,{info:e,events:[],lastSeq:-1})):this.threads.set(e.threadId,{...t,info:e}),this.bump()}setStatus(e){this.status!==e&&(this.status=e,this.bump())}bump(){this.version+=1;for(let e of this.listeners)e()}};function A(e,t){switch(t.kind){case`status`:return{...e,status:t.status,lastActivityAt:t.ts};case`title_changed`:return{...e,title:t.title,lastActivityAt:t.ts};default:return{...e,lastActivityAt:t.ts}}}var j=new k;function M(){return j}function N(){return(0,a.useSyncExternalStore)(j.subscribe,j.getOpenTabs,j.getOpenTabs)}function P(){return(0,a.useSyncExternalStore)(j.subscribe,j.getArchivedThreads,j.getArchivedThreads)}function F(e){let t=(0,o.c)(2),n;t[0]===e?n=t[1]:(n=()=>j.getThread(e),t[0]=e,t[1]=n);let r=n;return(0,a.useSyncExternalStore)(j.subscribe,r,r)}function I(e){let t=(0,o.c)(2),n;t[0]===e?n=t[1]:(n=()=>j.getThreadModel(e),t[0]=e,t[1]=n);let r=n;return(0,a.useSyncExternalStore)(j.subscribe,r,r)}function L(){return(0,a.useSyncExternalStore)(j.subscribe,j.getConnectionStatus,j.getConnectionStatus)}function R(e){if(e===null)return null;try{let t=new URL(e);return t.pathname=`/collab/thread`,t.search=``,t.toString()}catch{return null}}export{F as a,P as c,c as d,d as f,R as i,N as l,D as n,L as o,p,M as r,I as s,O as t,v as u};
@@ -1 +0,0 @@
1
- import{t as e}from"./repair-skills-wN4Q8hDX.mjs";export{e as repairSkills};
@@ -1 +0,0 @@
1
- import{a as e,o as t,r as n}from"./server-lock-TC0vRJO5.mjs";export{n as markServerLockDraining,e as releaseServerLock,t as updateServerLockPort};