@inkeep/open-knowledge 0.42.0-beta.9 → 0.42.1

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 (119) hide show
  1. package/dist/{acp-harness-probe-DOzi_1ED.mjs → acp-harness-probe-BC8-tjIs.mjs} +2 -2
  2. package/dist/assets/skills/discovery/SKILL.md +1 -1
  3. package/dist/assets/skills/project/SKILL.md +1 -1
  4. package/dist/assets/skills/write-skill/SKILL.md +1 -1
  5. package/dist/cli.mjs +50 -50
  6. package/dist/constants-DafFdWJR.mjs +2 -0
  7. package/dist/{git-handle-B1TJqyoh.mjs → git-handle-BFhoHYr0.mjs} +2 -2
  8. package/dist/git-handle-CRnnMEIm.mjs +1 -0
  9. package/dist/index.mjs +1 -1
  10. package/dist/init-CY3jgzP0.mjs +1 -0
  11. package/dist/{init-CJBY0h7f.mjs → init-D7cD6zok.mjs} +4 -4
  12. package/dist/{launch-json-removal-CFvmMnMo.mjs → launch-json-removal-CTJjliTF.mjs} +2 -2
  13. package/dist/loader-BjQNNJAX.mjs +1 -0
  14. package/dist/{loader-CvlOZSkR.mjs → loader-CiE2EBJO.mjs} +2 -2
  15. package/dist/md-manager-CAqfesEA.mjs +2 -0
  16. package/dist/{open-browser-CXby8R3t.mjs → open-browser-Be1y1t9d.mjs} +2 -2
  17. package/dist/parse-worker.mjs +1 -1
  18. package/dist/preview-BMVXzzrS.mjs +1 -0
  19. package/dist/{preview-AkwIJF-W.mjs → preview-DXg4YbDp.mjs} +2 -2
  20. package/dist/public/assets/{ActivityModeContent-BYOU34x5.js → ActivityModeContent-CnhDNi-c.js} +1 -1
  21. package/dist/public/assets/{AgentDiffPane-CnYpYKgw.js → AgentDiffPane-BKvov9S5.js} +1 -1
  22. package/dist/public/assets/{AgentThreadClientBinder-aNRlyBpl.js → AgentThreadClientBinder-MaSL3zla.js} +1 -1
  23. package/dist/public/assets/{CodeMirrorPropInput-8sqIlsVF.js → CodeMirrorPropInput-ZGACWLSy.js} +1 -1
  24. package/dist/public/assets/{DocumentContext-D5LU2-RZ.js → DocumentContext-DDkluS7D.js} +20 -20
  25. package/dist/public/assets/{EditorModeToggle-D64ZxCxZ.js → EditorModeToggle-D0Db8Ydu.js} +1 -1
  26. package/dist/public/assets/{EnableSyncConfirmDialog-BeUuMUfa.js → EnableSyncConfirmDialog-B2sHRtLY.js} +1 -1
  27. package/dist/public/assets/FeedbackForm-DuEQbMOb.js +1 -0
  28. package/dist/public/assets/{GraphPanel-C_ZvUO1o.js → GraphPanel-1CKwHElx.js} +1 -1
  29. package/dist/public/assets/{LintConfigEditor-CmWBO8eN.js → LintConfigEditor-DKgxJcvl.js} +1 -1
  30. package/dist/public/assets/{ManagedArtifactProperties-hL8Gk4O1.js → ManagedArtifactProperties-9e_jj3hZ.js} +1 -1
  31. package/dist/public/assets/{McpConsentDialogBody-BqvQlEmy.js → McpConsentDialogBody-CYOKF_sf.js} +1 -1
  32. package/dist/public/assets/{MermaidDocEditor-C4nx_bCP.js → MermaidDocEditor-BNURUYJE.js} +1 -1
  33. package/dist/public/assets/{PropertyPanel-DlcDB4qF.js → PropertyPanel-BMIcO_AS.js} +1 -1
  34. package/dist/public/assets/{ReportBugDialogBody-Cz6r8X4G.js → ReportBugDialogBody-ByMe7BRT.js} +2 -2
  35. package/dist/public/assets/{SchemaConfigEditor-CRmLZgz9.js → SchemaConfigEditor-D7xbhgl6.js} +1 -1
  36. package/dist/public/assets/{SettingsDialogBody-DqSzMMsr.js → SettingsDialogBody-Bkz3Bpgp.js} +1 -1
  37. package/dist/public/assets/{ShareBranchSwitchDialog-CIds8xzv.js → ShareBranchSwitchDialog-C6G5A_aK.js} +1 -1
  38. package/dist/public/assets/{ShareReceiveDialog-BAEP9cfe.js → ShareReceiveDialog-DLEkjmkI.js} +1 -1
  39. package/dist/public/assets/{ShareReceiveMissDialog-DgHALd8T.js → ShareReceiveMissDialog-Ls1ECEge.js} +1 -1
  40. package/dist/public/assets/{SkillEditorActions-CJRnDLA3.js → SkillEditorActions-AGeWFFyT.js} +1 -1
  41. package/dist/public/assets/{SourceEditor-DBo24Kh4.js → SourceEditor-DI6JkRTr.js} +1 -1
  42. package/dist/public/assets/{TerminalPanel-DyeEsFY8.js → TerminalPanel-Bf_h8SIB.js} +1 -1
  43. package/dist/public/assets/{TerminalSessionsHost-C_Kpm1av.js → TerminalSessionsHost-B2cWbpj-.js} +2 -2
  44. package/dist/public/assets/{TerminalWindowApp-B2Q31qSO.js → TerminalWindowApp-2yCXBcQc.js} +1 -1
  45. package/dist/public/assets/ThreadView-D2BFrI_O.js +6 -0
  46. package/dist/public/assets/{TimelineDiffPane-94ZlUQPR.js → TimelineDiffPane-B9KqEt7q.js} +1 -1
  47. package/dist/public/assets/{agent-diff-store-Nx0XQusg.js → agent-diff-store-Bi0IQPgd.js} +1 -1
  48. package/dist/public/assets/{agent-visibility-CnzdlhVC.js → agent-visibility-HpfSUFqP.js} +1 -1
  49. package/dist/public/assets/{auth-state-cache-D-o9mDQf.js → auth-state-cache-BUVYaS5m.js} +1 -1
  50. package/dist/public/assets/client-version-FVbajnsJ.js +1 -0
  51. package/dist/public/assets/{config-provider-CGoD2yzK.js → config-provider-DIuwNlqX.js} +1 -1
  52. package/dist/public/assets/{dist-Dxs5l5f3.js → dist-Cal4LUep.js} +1 -1
  53. package/dist/public/assets/{doc-hash-BmhDnlQv.js → doc-hash-BSK-KaTu.js} +1 -1
  54. package/dist/public/assets/{documents-events-CnYTr2EX.js → documents-events-1HWCdfoh.js} +1 -1
  55. package/dist/public/assets/{file-tree-adapter-CqsJyRKs.js → file-tree-adapter-Dw7Dgyj1.js} +1 -1
  56. package/dist/public/assets/{file-tree-utils-DT-xGfQd.js → file-tree-utils-DiUPuK3N.js} +1 -1
  57. package/dist/public/assets/{globals-C6WpSvCs.js → globals-CXEWtNVL.js} +1 -1
  58. package/dist/public/assets/globals-GYHxaktb.css +1 -0
  59. package/dist/public/assets/index-Bh6-_Nba.js +2014 -0
  60. package/dist/public/assets/{lint-config-client-DWwcbNDR.js → lint-config-client-G_mrikOJ.js} +1 -1
  61. package/dist/public/assets/{markdownlint-rule-browser-FIuqfE86.js → markdownlint-rule-browser-rS3aDGOb.js} +1 -1
  62. package/dist/public/assets/{navigation-targets-WiJR7LAU.js → navigation-targets-Ci2h-vaL.js} +1 -1
  63. package/dist/public/assets/{open-managed-artifact-tab-epta6SQV.js → open-managed-artifact-tab-DfGutPkc.js} +1 -1
  64. package/dist/public/assets/{pending-receive-nav-store-DEu4B-Yy.js → pending-receive-nav-store-BuGLGemz.js} +1 -1
  65. package/dist/public/assets/{prop-types-Dq1Y_y68.js → prop-types-B-N3_i3c.js} +1 -1
  66. package/dist/public/assets/{receive-store-iF35zQOA.js → receive-store-CL0RH8Oa.js} +1 -1
  67. package/dist/public/assets/{selection-context-ES61tXh3.js → selection-context-zsjvL-8N.js} +1 -1
  68. package/dist/public/assets/{skill-actions-CnQNy6QY.js → skill-actions-C_5-d4BC.js} +1 -1
  69. package/dist/public/assets/{skills-api-D3bQVQ4F.js → skills-api-ChYiP1Zv.js} +1 -1
  70. package/dist/public/assets/{src-DL0JxhQ2.js → src-D8jPu2QV.js} +1 -1
  71. package/dist/public/assets/{tag-pill-input-DC-n23FS.js → tag-pill-input-B27HgfRy.js} +1 -1
  72. package/dist/public/assets/{target-navigation-intent-B61RCsTX.js → target-navigation-intent-ClG4AlV8.js} +1 -1
  73. package/dist/public/assets/{telemetry-impl-B0xfYfCD.js → telemetry-impl-DXiL3sBk.js} +1 -1
  74. package/dist/public/assets/{telemetry-startup-BYP0kNl2.js → telemetry-startup-Db44p95P.js} +1 -1
  75. package/dist/public/assets/{terminal-launch-events-CY0gttpS.js → terminal-launch-events-N4CMVbPT.js} +1 -1
  76. package/dist/public/assets/{terminal-telemetry-BO22BE3r.js → terminal-telemetry-DxTZB2oZ.js} +1 -1
  77. package/dist/public/assets/thread-client-CurKSSA8.js +1 -0
  78. package/dist/public/assets/{typing-burst-detector-CqVsFepb.js → typing-burst-detector-BP7d86JP.js} +1 -1
  79. package/dist/public/assets/{uninstall-CU9G6dEv.js → uninstall-DHjtqCbn.js} +1 -1
  80. package/dist/public/assets/{use-activity-panel-AnCM2KLb.js → use-activity-panel-35_3901z.js} +1 -1
  81. package/dist/public/assets/{use-apply-config-color-theme-r5IzVx3u.js → use-apply-config-color-theme-CK97Jvup.js} +1 -1
  82. package/dist/public/assets/{use-collab-url-C1DXOS9I.js → use-collab-url-D0INpn_f.js} +1 -1
  83. package/dist/public/assets/{use-live-xterm-theme-rgABb9gP.js → use-live-xterm-theme-C-fHLeXw.js} +1 -1
  84. package/dist/public/assets/{use-settings-route-B-L25JMs.js → use-settings-route-CXFzIfYo.js} +1 -1
  85. package/dist/public/assets/{use-terminal-enabled-8hGsIhI1.js → use-terminal-enabled-fhwpyN81.js} +1 -1
  86. package/dist/public/assets/{use-timeline-entry-diff-BigQON95.js → use-timeline-entry-diff-CHWJnnz2.js} +1 -1
  87. package/dist/public/assets/{use-workspace-NdYT_dp2.js → use-workspace-3T40FR83.js} +1 -1
  88. package/dist/public/assets/{workspace-paths-ai6F0DQ3.js → workspace-paths-B-NChZS2.js} +1 -1
  89. package/dist/public/index.html +37 -37
  90. package/dist/public/uninstall.html +4 -4
  91. package/dist/{repair-launch-json-CAdtcpGt.mjs → repair-launch-json-CyiLC6sz.mjs} +2 -2
  92. package/dist/{repair-mcp-configs-BlUiHB3J.mjs → repair-mcp-configs-MZhuDeWK.mjs} +2 -2
  93. package/dist/repair-skills-B1Zc-g_X.mjs +1 -0
  94. package/dist/{repair-skills-DllMOsvZ.mjs → repair-skills-CBmnNSO7.mjs} +2 -2
  95. package/dist/server-lock-DKRUWCqU.mjs +1 -0
  96. package/dist/{server-lock-Cr23NqXF.mjs → server-lock-vdpThyb4.mjs} +2 -2
  97. package/dist/{src-C4H4J7S8.mjs → src--Oy-0xgD.mjs} +2 -2
  98. package/dist/{src-CJ8mKCzo.mjs → src-DtcKZLt0.mjs} +87 -87
  99. package/dist/{src-CIFd3tOE.mjs → src-mOlBaMpr.mjs} +320 -320
  100. package/dist/{src-DHVO9P4d.mjs → src-o9XsfdYT.mjs} +1 -1
  101. package/dist/{start-DsU4nHte.mjs → start-BRjY-38U.mjs} +2 -2
  102. package/dist/start-BnM87E8e.mjs +1 -0
  103. package/dist/{write-project-skill-CeYehb7h.mjs → write-project-skill-B_HecSEZ.mjs} +4 -4
  104. package/package.json +4 -4
  105. package/dist/constants-BU4A6vbq.mjs +0 -2
  106. package/dist/git-handle-Dqp-QyuN.mjs +0 -1
  107. package/dist/init-Byoir7UR.mjs +0 -1
  108. package/dist/loader-BlJfxAty.mjs +0 -1
  109. package/dist/md-manager-B4llsKsm.mjs +0 -2
  110. package/dist/preview-ChQ6Nj5u.mjs +0 -1
  111. package/dist/public/assets/FeedbackForm-3Fe-DlHM.js +0 -1
  112. package/dist/public/assets/ThreadView-_sgiyOMC.js +0 -6
  113. package/dist/public/assets/client-version-CaNXATg1.js +0 -1
  114. package/dist/public/assets/globals-DF_8aGgC.css +0 -1
  115. package/dist/public/assets/index-e9suledE.js +0 -2014
  116. package/dist/public/assets/thread-client-CXDtD9Ce.js +0 -1
  117. package/dist/repair-skills-Buq5QlSJ.mjs +0 -1
  118. package/dist/server-lock-D335a5oG.mjs +0 -1
  119. package/dist/start-BcW2zDmT.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-DllMOsvZ.mjs";export{e as repairSkills};
@@ -1 +0,0 @@
1
- import{a as e,o as t,r as n}from"./server-lock-Cr23NqXF.mjs";export{n as markServerLockDraining,e as releaseServerLock,t as updateServerLockPort};
@@ -1 +0,0 @@
1
- import{_ as e,f as t,r as n}from"./start-DsU4nHte.mjs";export{n as bootStartServer,t as resolveHost,e as startCommand};