@inkeep/open-knowledge 0.54.0-beta.0 → 0.54.0-beta.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 (112) hide show
  1. package/dist/{acp-harness-probe-BAU5A5o3.mjs → acp-harness-probe-BzmgSqA8.mjs} +2 -2
  2. package/dist/cli.mjs +6 -6
  3. package/dist/constants-DeP_CxzR.mjs +2 -0
  4. package/dist/index.mjs +1 -1
  5. package/dist/{init-DqyJAJAm.mjs → init-DM4P6gP4.mjs} +3 -3
  6. package/dist/init-DdBm3BKa.mjs +1 -0
  7. package/dist/{launch-json-removal-CBpeW9Ah.mjs → launch-json-removal-CdDuUhcm.mjs} +2 -2
  8. package/dist/{loader-BkusT1hI.mjs → loader-CLFEaGX8.mjs} +2 -2
  9. package/dist/loader-D0CeoXvV.mjs +1 -0
  10. package/dist/{open-browser-BqA6XiT0.mjs → open-browser-DYnRS1jz.mjs} +2 -2
  11. package/dist/{preview-kSEjxYuX.mjs → preview-DNJ9Xnme.mjs} +2 -2
  12. package/dist/preview-ohubTKxE.mjs +1 -0
  13. package/dist/public/assets/{ActivityModeContent-CQnmKBGo.js → ActivityModeContent-BLw3WMWz.js} +1 -1
  14. package/dist/public/assets/{AgentDiffPane-BMJtHPB0.js → AgentDiffPane-DrZCRBSs.js} +1 -1
  15. package/dist/public/assets/{AgentThreadClientBinder-CSCbo226.js → AgentThreadClientBinder-CWcDlN8A.js} +1 -1
  16. package/dist/public/assets/{ChangedOutsideBadge-DGYi7hdZ.js → ChangedOutsideBadge-BRBEndlT.js} +1 -1
  17. package/dist/public/assets/{CodeMirrorPropInput-DywYyBz8.js → CodeMirrorPropInput-B5_xejDl.js} +1 -1
  18. package/dist/public/assets/{DocumentContext-CKR9tIsX.js → DocumentContext-y4udwaSS.js} +1 -1
  19. package/dist/public/assets/{EditorModeToggle-CiWiUMD4.js → EditorModeToggle-BlT04JPF.js} +1 -1
  20. package/dist/public/assets/{EnableSyncConfirmDialog-PNZ3-bzD.js → EnableSyncConfirmDialog-BKrwMqLx.js} +1 -1
  21. package/dist/public/assets/FeedbackForm-CW1RBxOz.js +1 -0
  22. package/dist/public/assets/{ImportSkillDialog-D_zbPvrz.js → ImportSkillDialog-Cx_uO9te.js} +1 -1
  23. package/dist/public/assets/{LintConfigEditor-CmDISx0R.js → LintConfigEditor-DpkMgp67.js} +1 -1
  24. package/dist/public/assets/{ManagedArtifactProperties-D1j8yV7G.js → ManagedArtifactProperties-DQV6Xkkp.js} +1 -1
  25. package/dist/public/assets/ManagedArtifactProperties-DfOLsWxL.js +1 -0
  26. package/dist/public/assets/{MermaidDocEditor-CClwSJEd.js → MermaidDocEditor-D02-RjZh.js} +1 -1
  27. package/dist/public/assets/{SchemaConfigEditor-DmzRjNLX.js → SchemaConfigEditor-CMR-IQnf.js} +1 -1
  28. package/dist/public/assets/{SessionsHost-DvCES4YX.js → SessionsHost-aL9Yi0YA.js} +2 -2
  29. package/dist/public/assets/{SettingsDialogBody-CGs75yJY.js → SettingsDialogBody-DgU6z-4x.js} +1 -1
  30. package/dist/public/assets/{ShareReceiveMissDialog-B-CD8c9A.js → ShareReceiveMissDialog-C6Fw1jSy.js} +1 -1
  31. package/dist/public/assets/{SkillToolbarControls-BbJJTW3S.js → SkillToolbarControls-CV5iqOyh.js} +1 -1
  32. package/dist/public/assets/{SourceEditor-Dakmm381.js → SourceEditor-Cgcjeeix.js} +1 -1
  33. package/dist/public/assets/{TerminalWindowApp-Bzecjegv.js → TerminalWindowApp-pFQbcyvr.js} +1 -1
  34. package/dist/public/assets/{TextDocEditor-B73XTMKM.js → TextDocEditor-BIvaeGcP.js} +1 -1
  35. package/dist/public/assets/ThreadView-uJiWLV3S.js +10 -0
  36. package/dist/public/assets/{TimelineDiffPane-BnuEYjxI.js → TimelineDiffPane-DP3x-bCT.js} +1 -1
  37. package/dist/public/assets/{agent-diff-store-CJK-vc6Z.js → agent-diff-store-BvJOHqlb.js} +1 -1
  38. package/dist/public/assets/{auth-state-cache-BR8S3JrV.js → auth-state-cache-B-pvyyml.js} +1 -1
  39. package/dist/public/assets/{client-version-stzG9fok.js → client-version-Dl9MDBtc.js} +1 -1
  40. package/dist/public/assets/{comment-chips-VYzrfZOz.js → comment-chips-JdDlBBOC.js} +1 -1
  41. package/dist/public/assets/{config-provider-K5pliovj.js → config-provider-BEm_X5z4.js} +3 -3
  42. package/dist/public/assets/{follow-file-CoVZeHYJ.js → follow-file-DXj47N4P.js} +4 -4
  43. package/dist/public/assets/globals-CJLw9I7s.css +1 -0
  44. package/dist/public/assets/i18n-9-u0vIHQ.js +1 -0
  45. package/dist/public/assets/{index-CQiP7zms.js → index-BfoZXcbJ.js} +7 -7
  46. package/dist/public/assets/messages-70uyb6Sl.js +1 -0
  47. package/dist/public/assets/messages-BZmGV91Y.js +1 -0
  48. package/dist/public/assets/messages-C5UOlhWV.js +1 -0
  49. package/dist/public/assets/messages-C9FmY7uu.js +1 -0
  50. package/dist/public/assets/messages-CW3KcnxY.js +1 -0
  51. package/dist/public/assets/messages-CaxDnJNi.js +1 -0
  52. package/dist/public/assets/messages-CdzCdHWg.js +1 -0
  53. package/dist/public/assets/messages-D0j48ldR.js +1 -0
  54. package/dist/public/assets/messages-DvPjiVuw.js +1 -0
  55. package/dist/public/assets/messages-h8GDTlCf.js +1 -0
  56. package/dist/public/assets/messages-vdVQRalr.js +1 -0
  57. package/dist/public/assets/{pending-receive-nav-store-CaeSNfXj.js → pending-receive-nav-store-NNPZxbyU.js} +1 -1
  58. package/dist/public/assets/{selection-context-DPs8vxvW.js → selection-context-DaBEt_qe.js} +1 -1
  59. package/dist/public/assets/{skill-actions-CzmorCTi.js → skill-actions-rrqHJf1p.js} +1 -1
  60. package/dist/public/assets/{src-B87zThCs.js → src-D9vfSdRg.js} +1 -1
  61. package/dist/public/assets/{telemetry-impl-DSYzVKpq.js → telemetry-impl-CyzYpIO_.js} +1 -1
  62. package/dist/public/assets/{telemetry-startup-Da9NTocG.js → telemetry-startup-D_qndbLQ.js} +1 -1
  63. package/dist/public/assets/thread-client-CDd-DZmX.js +1 -0
  64. package/dist/public/assets/{typing-burst-detector-BY-anD9p.js → typing-burst-detector-4lnkqJUG.js} +1 -1
  65. package/dist/public/assets/{uninstall-wgIMFaoT.js → uninstall-DvHaOfxL.js} +1 -1
  66. package/dist/public/assets/{use-activity-panel-DqTP5DTk.js → use-activity-panel-YwUA1Y9R.js} +1 -1
  67. package/dist/public/assets/{use-open-skill-BK6woDan.js → use-open-skill-CLA3orpv.js} +1 -1
  68. package/dist/public/assets/{use-popular-skills-Wut1asdd.js → use-popular-skills-DRLF7dJB.js} +1 -1
  69. package/dist/public/assets/{use-terminal-enabled-CuoUv2VD.js → use-terminal-enabled-NR-FDyhW.js} +1 -1
  70. package/dist/public/assets/{use-timeline-entry-diff-Ci46DL5w.js → use-timeline-entry-diff-D_UL2qvn.js} +1 -1
  71. package/dist/public/index.html +23 -23
  72. package/dist/public/uninstall.html +5 -5
  73. package/dist/{repair-launch-json-CbCU3tYc.mjs → repair-launch-json-ggaqjMTx.mjs} +2 -2
  74. package/dist/{repair-mcp-configs-DDEeRKrI.mjs → repair-mcp-configs-C9fi2PGL.mjs} +2 -2
  75. package/dist/{repair-skills-DTNqAGfI.mjs → repair-skills-CfH-4HV1.mjs} +2 -2
  76. package/dist/repair-skills-eHShRAdH.mjs +1 -0
  77. package/dist/{skill-teardown-ottam6sV.mjs → skill-teardown-BDCZSEP-.mjs} +2 -2
  78. package/dist/{src-BA3VPog2.mjs → src-CzlLKhaZ.mjs} +2 -2
  79. package/dist/{src-BF0nCoer.mjs → src-DCqoFl4a.mjs} +1 -1
  80. package/dist/src-Da93CAF3.mjs +2040 -0
  81. package/dist/src-EOQRkCBx.mjs +1 -0
  82. package/dist/start-ClRDnoCe.mjs +1 -0
  83. package/dist/{start-BbzEXh_C.mjs → start-D7fayOIn.mjs} +4 -4
  84. package/dist/{ui-B7mhq8_g.mjs → ui-CGn0Cm6_.mjs} +3 -3
  85. package/dist/{write-project-skill-DWGQrWRr.mjs → write-project-skill-Bzg8sfOX.mjs} +2 -2
  86. package/package.json +4 -4
  87. package/dist/constants-CdO7Ip8K.mjs +0 -2
  88. package/dist/init-Cc1kMhai.mjs +0 -1
  89. package/dist/loader-COoyAZy6.mjs +0 -1
  90. package/dist/preview-eDBiuPbb.mjs +0 -1
  91. package/dist/public/assets/FeedbackForm-CNHw5U32.js +0 -1
  92. package/dist/public/assets/ManagedArtifactProperties-C5neRevI.js +0 -1
  93. package/dist/public/assets/ThreadView-Dyqxn2Co.js +0 -10
  94. package/dist/public/assets/globals-Cl9DVROF.css +0 -1
  95. package/dist/public/assets/i18n-DdNV3ihn.js +0 -1
  96. package/dist/public/assets/messages-BD6xU0hl.js +0 -1
  97. package/dist/public/assets/messages-BrOihCC2.js +0 -1
  98. package/dist/public/assets/messages-CeGZ3qGI.js +0 -1
  99. package/dist/public/assets/messages-DLAxD4Ea.js +0 -1
  100. package/dist/public/assets/messages-DiRAd1Pa.js +0 -1
  101. package/dist/public/assets/messages-DoSs73jK.js +0 -1
  102. package/dist/public/assets/messages-FGGtYX0Z.js +0 -1
  103. package/dist/public/assets/messages-QNJusJtV.js +0 -1
  104. package/dist/public/assets/messages-T7J7xjCi.js +0 -1
  105. package/dist/public/assets/messages-rE7VifgH.js +0 -1
  106. package/dist/public/assets/messages-zscDryNK.js +0 -1
  107. package/dist/public/assets/thread-client-DnaLPSLV.js +0 -1
  108. package/dist/repair-skills-DI3Fy43j.mjs +0 -1
  109. package/dist/src-BPm9wAhY.mjs +0 -1
  110. package/dist/src-BXlWNOZp.mjs +0 -2040
  111. package/dist/start-CfJGPzvO.mjs +0 -1
  112. /package/dist/public/assets/{globals-CI7YXh9U.js → globals-DMS6iUdG.js} +0 -0
@@ -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{t as r}from"./dist-DUfEoSbR.js";import{n as i}from"./dist-B6jB2qbD2.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.status===`auth_required`)&&(e.failure!==void 0||(e.detail??``)!==``)&&this.items.push({kind:`notice`,text:e.detail??``,tone:e.status===`error`?`error`:`info`,failure:e.failure??null});break;case`permission_request`:{let t=e.toolCall.toolCallId??null,n={kind:`permission`,requestId:e.requestId,title:e.toolCall.title??r._({id:`Ya3PlJ`}),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??r._({id:`EvIJVD`}),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=9e4,D=18e4,O=8e3,k=1e4,A=class extends Error{code;constructor(e,t){super(t),this.name=`ThreadResumeError`,this.code=e}},j=class extends Error{constructor(){super(`agent-thread channel is not connected`),this.name=`ThreadChannelUnavailableError`}},M=class{url=null;ws=null;reconnectDelay=S;reconnectTimer=null;threads=new Map;listeners=new Set;pendingCreates=new Map;pendingResumes=new Map;pendingRetries=new Map;pendingAuths=new Map;pendingQueueEdits=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(O),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})}steer(e,t){let n=t.trim();n!==``&&(this.reqCounter+=1,this.send({op:`steer`,threadId:e,reqId:`steer-${this.reqCounter}`,content:n}))}editQueued(e,t,n){let r=n.trim();if(r===``)return Promise.resolve();this.reqCounter+=1;let i=`queue-edit-${this.reqCounter}`,a=new Promise((e,t)=>{let n=setTimeout(()=>{this.pendingQueueEdits.delete(i),e()},k);this.pendingQueueEdits.set(i,{resolve:e,reject:t,timer:n})});return this.send({op:`queue_edit`,threadId:e,id:t,content:r,reqId:i}),a}holdQueued(e,t,n){this.send({op:`queue_hold`,threadId:e,id:t,held:n})}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(O),this.reqCounter+=1;let n=`resume-${this.reqCounter}`,r=new Promise((e,t)=>{let r=setTimeout(()=>{this.pendingResumes.delete(n),t(new A(`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}async retryThread(e){this.connectNow(),await this.waitForOpen(O),this.reqCounter+=1;let t=`retry-${this.reqCounter}`,n=new Promise((e,n)=>{let r=setTimeout(()=>{this.pendingRetries.delete(t),n(Error(`retry timed out`))},E);this.pendingRetries.set(t,{resolve:e,reject:n,timer:r})});return this.send({op:`retry`,threadId:e,reqId:t}),n}async authenticateThread(e,t){this.connectNow(),await this.waitForOpen(O),this.reqCounter+=1;let n=`authenticate-${this.reqCounter}`,r=new Promise((e,t)=>{let r=setTimeout(()=>{this.pendingAuths.delete(n),t(Error(`sign-in timed out`))},D);this.pendingAuths.set(n,{resolve:e,reject:t,timer:r})});return this.send({op:`authenticate`,threadId:e,reqId:n,methodId: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 j)},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 j);this.pendingCreates.clear();for(let e of this.pendingResumes.values())clearTimeout(e.timer),e.reject(new j);this.pendingResumes.clear();for(let e of this.pendingRetries.values())clearTimeout(e.timer),e.reject(new j);this.pendingRetries.clear();for(let e of this.pendingAuths.values())clearTimeout(e.timer),e.reject(new j);this.pendingAuths.clear();for(let e of this.pendingQueueEdits.values())clearTimeout(e.timer),e.resolve();this.pendingQueueEdits.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`retried`:{let t=this.pendingRetries.get(e.reqId);t!==void 0&&(this.pendingRetries.delete(e.reqId),clearTimeout(t.timer),t.resolve(e.info)),this.upsertInfo(e.info);return}case`authenticated`:{let t=this.pendingAuths.get(e.reqId);t!==void 0&&(this.pendingAuths.delete(e.reqId),clearTimeout(t.timer),t.resolve(e.info)),this.upsertInfo(e.info);return}case`subscribed`:this.upsertInfo(e.info);return;case`queue_edited`:{let t=this.pendingQueueEdits.get(e.reqId);t!==void 0&&(this.pendingQueueEdits.delete(e.reqId),clearTimeout(t.timer),t.resolve());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 A(e.code,e.message));return}let a=this.pendingRetries.get(e.reqId);if(a!==void 0){this.pendingRetries.delete(e.reqId),clearTimeout(a.timer),a.reject(Error(e.message));return}let o=this.pendingAuths.get(e.reqId);if(o!==void 0){this.pendingAuths.delete(e.reqId),clearTimeout(o.timer),o.reject(Error(e.message));return}let s=this.pendingQueueEdits.get(e.reqId);if(s!==void 0){this.pendingQueueEdits.delete(e.reqId),clearTimeout(s.timer),s.reject(Error(e.message));return}if(e.reqId.startsWith(`prompt-`)||e.reqId.startsWith(`steer-`)){i.error(r._({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=N(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 N(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 P=new M;function F(){return P}function I(){return(0,a.useSyncExternalStore)(P.subscribe,P.getOpenTabs,P.getOpenTabs)}function L(){return(0,a.useSyncExternalStore)(P.subscribe,P.getArchivedThreads,P.getArchivedThreads)}function R(e){let t=(0,o.c)(2),n;t[0]===e?n=t[1]:(n=()=>P.getThread(e),t[0]=e,t[1]=n);let r=n;return(0,a.useSyncExternalStore)(P.subscribe,r,r)}function z(e){let t=(0,o.c)(2),n;t[0]===e?n=t[1]:(n=()=>P.getThreadModel(e),t[0]=e,t[1]=n);let r=n;return(0,a.useSyncExternalStore)(P.subscribe,r,r)}function B(){return(0,a.useSyncExternalStore)(P.subscribe,P.getConnectionStatus,P.getConnectionStatus)}function V(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{R as a,L as c,c as d,d as f,V as i,I as l,A as n,B as o,p,F as r,z as s,j as t,v as u};
@@ -1 +0,0 @@
1
- import{t as e}from"./repair-skills-DTNqAGfI.mjs";export{e as repairSkills};
@@ -1 +0,0 @@
1
- import"./src-BqZfalMj.mjs";import"./write-project-skill-DWGQrWRr.mjs";import"./src-BA3VPog2.mjs";import"./acp-harness-probe-BAU5A5o3.mjs";import"./init-DqyJAJAm.mjs";import{n as e}from"./loader-BkusT1hI.mjs";import"./skill-teardown-ottam6sV.mjs";import"./preview-kSEjxYuX.mjs";import"./mcp-migrate-event-B1gJf6bG.mjs";export{e as loadConfig};