comisai 1.0.24 → 1.0.26

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 (192) hide show
  1. package/node_modules/@comis/agent/dist/bootstrap/sections/tool-descriptions.js +130 -10
  2. package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.d.ts +1 -1
  3. package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.js +9 -2
  4. package/node_modules/@comis/agent/dist/bridge/bridge-metrics.d.ts +8 -0
  5. package/node_modules/@comis/agent/dist/bridge/bridge-metrics.js +2 -0
  6. package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.d.ts +29 -0
  7. package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.js +242 -2
  8. package/node_modules/@comis/agent/dist/bridge/thinking-block-hash-invariant.d.ts +210 -0
  9. package/node_modules/@comis/agent/dist/bridge/thinking-block-hash-invariant.js +566 -0
  10. package/node_modules/@comis/agent/dist/context-engine/context-engine.js +8 -6
  11. package/node_modules/@comis/agent/dist/context-engine/signature-replay-scrubber.d.ts +51 -30
  12. package/node_modules/@comis/agent/dist/context-engine/signature-replay-scrubber.js +109 -36
  13. package/node_modules/@comis/agent/dist/executor/executor-context-engine-setup.js +5 -1
  14. package/node_modules/@comis/agent/dist/executor/executor-post-execution.js +22 -20
  15. package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.d.ts +2 -0
  16. package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.js +111 -15
  17. package/node_modules/@comis/agent/dist/executor/executor-response-filter.d.ts +20 -17
  18. package/node_modules/@comis/agent/dist/executor/executor-response-filter.js +132 -52
  19. package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.js +16 -3
  20. package/node_modules/@comis/agent/dist/executor/model-retry.d.ts +14 -0
  21. package/node_modules/@comis/agent/dist/executor/model-retry.js +72 -1
  22. package/node_modules/@comis/agent/dist/executor/pi-executor.d.ts +3 -0
  23. package/node_modules/@comis/agent/dist/executor/pi-executor.js +68 -9
  24. package/node_modules/@comis/agent/dist/executor/post-batch-continuation.d.ts +82 -0
  25. package/node_modules/@comis/agent/dist/executor/post-batch-continuation.js +200 -0
  26. package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body-injector.js +1 -9
  27. package/node_modules/@comis/agent/dist/executor/tool-deferral.d.ts +37 -2
  28. package/node_modules/@comis/agent/dist/executor/tool-deferral.js +45 -3
  29. package/node_modules/@comis/agent/dist/executor/tool-parallelism.js +0 -1
  30. package/node_modules/@comis/agent/dist/executor/types.d.ts +11 -2
  31. package/node_modules/@comis/agent/dist/index.d.ts +3 -1
  32. package/node_modules/@comis/agent/dist/index.js +2 -0
  33. package/node_modules/@comis/agent/dist/model/last-known-model.d.ts +36 -0
  34. package/node_modules/@comis/agent/dist/model/last-known-model.js +49 -0
  35. package/node_modules/@comis/agent/dist/model/model-registry-adapter.d.ts +16 -4
  36. package/node_modules/@comis/agent/dist/model/model-registry-adapter.js +65 -21
  37. package/node_modules/@comis/agent/dist/planner/types.d.ts +0 -2
  38. package/node_modules/@comis/agent/dist/session/comis-session-manager.d.ts +10 -0
  39. package/node_modules/@comis/agent/dist/session/comis-session-manager.js +5 -0
  40. package/node_modules/@comis/agent/dist/spawn/pi-mono-adapters.js +7 -0
  41. package/node_modules/@comis/agent/package.json +1 -1
  42. package/node_modules/@comis/channels/package.json +1 -1
  43. package/node_modules/@comis/cli/dist/client/rpc-client.js +6 -1
  44. package/node_modules/@comis/cli/dist/commands/doctor.js +5 -3
  45. package/node_modules/@comis/cli/dist/commands/health.js +5 -2
  46. package/node_modules/@comis/cli/dist/wizard/json-output.js +7 -3
  47. package/node_modules/@comis/cli/dist/wizard/steps/11-daemon-start.js +130 -0
  48. package/node_modules/@comis/cli/package.json +1 -1
  49. package/node_modules/@comis/core/dist/bootstrap.js +5 -0
  50. package/node_modules/@comis/core/dist/config/env-layer.d.ts +31 -0
  51. package/node_modules/@comis/core/dist/config/env-layer.js +41 -0
  52. package/node_modules/@comis/core/dist/config/immutable-keys.d.ts +2 -2
  53. package/node_modules/@comis/core/dist/config/immutable-keys.js +8 -3
  54. package/node_modules/@comis/core/dist/config/layered.d.ts +9 -0
  55. package/node_modules/@comis/core/dist/config/layered.js +11 -0
  56. package/node_modules/@comis/core/dist/config/managed-sections.d.ts +43 -4
  57. package/node_modules/@comis/core/dist/config/managed-sections.js +100 -6
  58. package/node_modules/@comis/core/dist/config/schema-agent.d.ts +39 -0
  59. package/node_modules/@comis/core/dist/config/schema-agent.js +14 -0
  60. package/node_modules/@comis/core/dist/config/schema.d.ts +4 -0
  61. package/node_modules/@comis/core/dist/config/schema.js +14 -0
  62. package/node_modules/@comis/core/dist/domain/execution-graph.d.ts +1 -1
  63. package/node_modules/@comis/core/dist/event-bus/events-agent.d.ts +17 -2
  64. package/node_modules/@comis/core/dist/exports/config.d.ts +2 -2
  65. package/node_modules/@comis/core/dist/exports/config.js +1 -1
  66. package/node_modules/@comis/core/package.json +1 -1
  67. package/node_modules/@comis/daemon/dist/daemon.d.ts +22 -0
  68. package/node_modules/@comis/daemon/dist/daemon.js +45 -0
  69. package/node_modules/@comis/daemon/dist/rpc/agent-handlers.d.ts +5 -2
  70. package/node_modules/@comis/daemon/dist/rpc/agent-handlers.js +80 -1
  71. package/node_modules/@comis/daemon/dist/rpc/agent-inline-workspace.d.ts +67 -0
  72. package/node_modules/@comis/daemon/dist/rpc/agent-inline-workspace.js +139 -0
  73. package/node_modules/@comis/daemon/dist/rpc/model-handlers.d.ts +3 -0
  74. package/node_modules/@comis/daemon/dist/rpc/model-handlers.js +29 -5
  75. package/node_modules/@comis/daemon/dist/rpc/probe-provider-auth.d.ts +30 -0
  76. package/node_modules/@comis/daemon/dist/rpc/probe-provider-auth.js +59 -0
  77. package/node_modules/@comis/daemon/dist/rpc/provider-handlers.d.ts +37 -0
  78. package/node_modules/@comis/daemon/dist/rpc/provider-handlers.js +330 -0
  79. package/node_modules/@comis/daemon/dist/rpc/rpc-dispatch.js +18 -1
  80. package/node_modules/@comis/daemon/dist/setup-docker-restart-warn.d.ts +4 -0
  81. package/node_modules/@comis/daemon/dist/setup-docker-restart-warn.js +30 -0
  82. package/node_modules/@comis/daemon/dist/wiring/setup-agents.d.ts +3 -1
  83. package/node_modules/@comis/daemon/dist/wiring/setup-agents.js +28 -2
  84. package/node_modules/@comis/daemon/dist/wiring/setup-cross-session.js +1 -0
  85. package/node_modules/@comis/daemon/dist/wiring/setup-tools.js +7 -4
  86. package/node_modules/@comis/daemon/package.json +1 -1
  87. package/node_modules/@comis/gateway/package.json +1 -1
  88. package/node_modules/@comis/infra/dist/index.d.ts +1 -0
  89. package/node_modules/@comis/infra/dist/index.js +2 -0
  90. package/node_modules/@comis/infra/dist/runtime/is-docker.d.ts +1 -0
  91. package/node_modules/@comis/infra/dist/runtime/is-docker.js +25 -0
  92. package/node_modules/@comis/infra/package.json +1 -1
  93. package/node_modules/@comis/memory/package.json +1 -1
  94. package/node_modules/@comis/scheduler/package.json +1 -1
  95. package/node_modules/@comis/shared/package.json +1 -1
  96. package/node_modules/@comis/skills/dist/bridge/tool-metadata-registry.js +1 -3
  97. package/node_modules/@comis/skills/dist/builtin/platform/admin-manage-factory.js +24 -1
  98. package/node_modules/@comis/skills/dist/builtin/platform/agents-manage-tool.d.ts +53 -7
  99. package/node_modules/@comis/skills/dist/builtin/platform/agents-manage-tool.js +218 -24
  100. package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.d.ts +4 -1
  101. package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.js +16 -1
  102. package/node_modules/@comis/skills/dist/builtin/platform/index.d.ts +1 -1
  103. package/node_modules/@comis/skills/dist/builtin/platform/index.js +1 -1
  104. package/node_modules/@comis/skills/dist/builtin/platform/providers-manage-tool.d.ts +56 -0
  105. package/node_modules/@comis/skills/dist/builtin/platform/providers-manage-tool.js +203 -0
  106. package/node_modules/@comis/skills/dist/index.d.ts +1 -1
  107. package/node_modules/@comis/skills/dist/index.js +2 -2
  108. package/node_modules/@comis/skills/dist/policy/tool-policy.js +0 -1
  109. package/node_modules/@comis/skills/package.json +1 -1
  110. package/node_modules/@comis/web/dist/assets/{agent-detail-BG9MGWWj.js → agent-detail-DqL6Artv.js} +270 -270
  111. package/node_modules/@comis/web/dist/assets/agent-editor-CNM_h94Y.js +2173 -0
  112. package/node_modules/@comis/web/dist/assets/{agent-list-LHCJ4rw2.js → agent-list-Dbh-xD_F.js} +170 -170
  113. package/node_modules/@comis/web/dist/assets/{approvals-q9VH_IKr.js → approvals-C-K6hN2U.js} +13 -13
  114. package/node_modules/@comis/web/dist/assets/billing-view-C1DmtyzK.js +375 -0
  115. package/node_modules/@comis/web/dist/assets/{channel-detail-CaInesJM.js → channel-detail-CtCH22N1.js} +265 -265
  116. package/node_modules/@comis/web/dist/assets/channel-list-C7xXn-60.js +323 -0
  117. package/node_modules/@comis/web/dist/assets/{chat-console-CNmzl0JW.js → chat-console-C51pjFwk.js} +243 -246
  118. package/node_modules/@comis/web/dist/assets/{config-editor-DX4ITw6y.js → config-editor-BLArYRB7.js} +477 -477
  119. package/node_modules/@comis/web/dist/assets/{context-dag-browser-BwiaF5tf.js → context-dag-browser-fuyMinNI.js} +105 -105
  120. package/node_modules/@comis/web/dist/assets/{context-engine-BZ5Am6hA.js → context-engine-Bngf2bH0.js} +136 -136
  121. package/node_modules/@comis/web/dist/assets/decorate-BvWYovGE.js +38 -0
  122. package/node_modules/@comis/web/dist/assets/{delivery-view-OfBZof-m.js → delivery-view-C80hucxX.js} +134 -134
  123. package/node_modules/@comis/web/dist/assets/{diagnostics-view-YFwCxgr2.js → diagnostics-view-Cl4VbHZ6.js} +82 -82
  124. package/node_modules/@comis/web/dist/assets/directive-BOYXJ-K-.js +1 -0
  125. package/node_modules/@comis/web/dist/assets/{extract-variables-BM5qyK-s.js → extract-variables-B7-Doo7l.js} +39 -39
  126. package/node_modules/@comis/web/dist/assets/{ic-array-editor-B7m6x7-S.js → ic-array-editor-BLoEyeLS.js} +29 -29
  127. package/node_modules/@comis/web/dist/assets/{ic-breadcrumb-CUMpp3BL.js → ic-breadcrumb-DqN6G3gc.js} +16 -16
  128. package/node_modules/@comis/web/dist/assets/{ic-budget-segment-bar-BtJ6x5mN.js → ic-budget-segment-bar-zLsMzjDO.js} +20 -20
  129. package/node_modules/@comis/web/dist/assets/ic-chat-message-ByFUoMm6.js +352 -0
  130. package/node_modules/@comis/web/dist/assets/{ic-confirm-dialog-CCDbB04e.js → ic-confirm-dialog-DGlPbV1T.js} +26 -26
  131. package/node_modules/@comis/web/dist/assets/{ic-connection-dot-CnT1b8xr.js → ic-connection-dot-C4nDHgY2.js} +13 -13
  132. package/node_modules/@comis/web/dist/assets/ic-data-table-CKIvr-ag.js +277 -0
  133. package/node_modules/@comis/web/dist/assets/ic-delivery-row-B3YwjjuM.js +67 -0
  134. package/node_modules/@comis/web/dist/assets/{ic-detail-panel-BF83r-if.js → ic-detail-panel-DiCe4hLr.js} +27 -27
  135. package/node_modules/@comis/web/dist/assets/{ic-empty-state-60l2ePhd.js → ic-empty-state-CM3Wbj2f.js} +19 -19
  136. package/node_modules/@comis/web/dist/assets/ic-graph-canvas-ByRjij68.js +359 -0
  137. package/node_modules/@comis/web/dist/assets/ic-icon-BGNCCPpZ.js +33 -0
  138. package/node_modules/@comis/web/dist/assets/{ic-layer-waterfall-COvEYMg5.js → ic-layer-waterfall-WkaFyu-l.js} +18 -18
  139. package/node_modules/@comis/web/dist/assets/ic-relative-time-B3UAnTqg.js +12 -0
  140. package/node_modules/@comis/web/dist/assets/{ic-search-input-CSOxY9g7.js → ic-search-input-B02AGw1i.js} +22 -22
  141. package/node_modules/@comis/web/dist/assets/{ic-select-Ce-Raudx.js → ic-select-BqfZISjw.js} +29 -29
  142. package/node_modules/@comis/web/dist/assets/ic-tabs-yBjkWKJH.js +95 -0
  143. package/node_modules/@comis/web/dist/assets/ic-tag-CvMVQFRR.js +33 -0
  144. package/node_modules/@comis/web/dist/assets/{ic-time-range-picker-CypCT68y.js → ic-time-range-picker-DXbYeBmY.js} +31 -31
  145. package/node_modules/@comis/web/dist/assets/{ic-tool-call-7MaXSsCW.js → ic-tool-call-Bh5kq-yY.js} +51 -51
  146. package/node_modules/@comis/web/dist/assets/index-BBkuC-EU.js +2792 -0
  147. package/node_modules/@comis/web/dist/assets/index-CVEaS9aY.css +2 -0
  148. package/node_modules/@comis/web/dist/assets/{mcp-management-BNZPnpDn.js → mcp-management-DB-phOo7.js} +209 -209
  149. package/node_modules/@comis/web/dist/assets/{media-config-BBvTYxOX.js → media-config-CRqZ1ZUH.js} +154 -154
  150. package/node_modules/@comis/web/dist/assets/{media-test-BkK3RCRK.js → media-test-C9vE20Oy.js} +259 -259
  151. package/node_modules/@comis/web/dist/assets/{memory-inspector-1hDGCGat.js → memory-inspector-CeqfnxMZ.js} +450 -450
  152. package/node_modules/@comis/web/dist/assets/{message-center-CXefwsUu.js → message-center-Daup7Mof.js} +290 -290
  153. package/node_modules/@comis/web/dist/assets/{models-C1qcU_j3.js → models-DLYnEU8E.js} +371 -371
  154. package/node_modules/@comis/web/dist/assets/observability-types-D0tkwElU.js +1 -0
  155. package/node_modules/@comis/web/dist/assets/{observe-view-C0VBhX4C.js → observe-view-BTSt_PO5.js} +399 -399
  156. package/node_modules/@comis/web/dist/assets/pipeline-builder-DknfzyLt.js +1495 -0
  157. package/node_modules/@comis/web/dist/assets/{pipeline-history-DkfOQ6SW.js → pipeline-history-JnHZdeU_.js} +124 -124
  158. package/node_modules/@comis/web/dist/assets/{pipeline-history-detail-hyHgD0ai.js → pipeline-history-detail-Dg4knsEb.js} +65 -65
  159. package/node_modules/@comis/web/dist/assets/{pipeline-list-BPW8hV-q.js → pipeline-list-AEnibjsp.js} +227 -227
  160. package/node_modules/@comis/web/dist/assets/{pipeline-monitor-Bip16T7e.js → pipeline-monitor-DG7RbIOO.js} +298 -298
  161. package/node_modules/@comis/web/dist/assets/{scheduler-BGgwKd06.js → scheduler-uL1fYKAT.js} +486 -486
  162. package/node_modules/@comis/web/dist/assets/{security-D15st4xx.js → security-C3DywRLH.js} +389 -389
  163. package/node_modules/@comis/web/dist/assets/{session-detail-SGEYNJ0M.js → session-detail-BtqCNWXV.js} +294 -294
  164. package/node_modules/@comis/web/dist/assets/session-key-parser-Dkqcj2Ss.js +1 -0
  165. package/node_modules/@comis/web/dist/assets/session-list-CJXWa2XT.js +231 -0
  166. package/node_modules/@comis/web/dist/assets/{setup-wizard-nT0tz9QP.js → setup-wizard-ywn7oJvu.js} +486 -494
  167. package/node_modules/@comis/web/dist/assets/{skills-D8yVfSUy.js → skills-DX0KYnWD.js} +329 -329
  168. package/node_modules/@comis/web/dist/assets/{subagents-HHXMeHYo.js → subagents-B8p5YJEB.js} +74 -74
  169. package/node_modules/@comis/web/dist/assets/{workspace-manager-BQlr10iH.js → workspace-manager-CgzNIrw1.js} +236 -236
  170. package/node_modules/@comis/web/dist/index.html +3 -2
  171. package/node_modules/@comis/web/package.json +1 -1
  172. package/package.json +15 -15
  173. package/node_modules/@comis/skills/dist/builtin/platform/agents-list-tool.d.ts +0 -19
  174. package/node_modules/@comis/skills/dist/builtin/platform/agents-list-tool.js +0 -39
  175. package/node_modules/@comis/web/dist/assets/agent-editor-C26Q_xCs.js +0 -2173
  176. package/node_modules/@comis/web/dist/assets/billing-view-CtYvBqTE.js +0 -375
  177. package/node_modules/@comis/web/dist/assets/channel-list-B8dj3O9a.js +0 -323
  178. package/node_modules/@comis/web/dist/assets/directive-DoeGSK_T.js +0 -1
  179. package/node_modules/@comis/web/dist/assets/ic-chat-message-CFyDJd0z.js +0 -352
  180. package/node_modules/@comis/web/dist/assets/ic-data-table-CKUNTxHw.js +0 -277
  181. package/node_modules/@comis/web/dist/assets/ic-delivery-row-GP5Fkygs.js +0 -67
  182. package/node_modules/@comis/web/dist/assets/ic-graph-canvas-C8FuSMe1.js +0 -359
  183. package/node_modules/@comis/web/dist/assets/ic-icon-xeGTVhVG.js +0 -33
  184. package/node_modules/@comis/web/dist/assets/ic-relative-time-3FqpjeAI.js +0 -12
  185. package/node_modules/@comis/web/dist/assets/ic-tabs-B7QtM_v8.js +0 -95
  186. package/node_modules/@comis/web/dist/assets/ic-tag-CPPUnDLF.js +0 -33
  187. package/node_modules/@comis/web/dist/assets/index-CEcM1R_C.js +0 -2830
  188. package/node_modules/@comis/web/dist/assets/index-CIJFuItj.css +0 -1
  189. package/node_modules/@comis/web/dist/assets/observability-types-D7jUtSde.js +0 -1
  190. package/node_modules/@comis/web/dist/assets/pipeline-builder-DcUUIrm0.js +0 -1496
  191. package/node_modules/@comis/web/dist/assets/session-key-parser-DPORMVyU.js +0 -1
  192. package/node_modules/@comis/web/dist/assets/session-list-6ybUTxbY.js +0 -231
@@ -1,24 +1,4 @@
1
- import{s as u,f as d,i as h,n as o,a as p,b,t as v}from"./index-CEcM1R_C.js";var f=Object.defineProperty,m=Object.getOwnPropertyDescriptor,a=(e,r,c,n)=>{for(var t=n>1?void 0:n?m(r,c):r,s=e.length-1,l;s>=0;s--)(l=e[s])&&(t=(n?l(r,c,t):l(t))||t);return n&&t&&f(r,c,t),t};let i=class extends p{constructor(){super(...arguments),this.value="",this.placeholder="Search...",this.debounce=300,this.disabled=!1,this._debounceTimer=null}disconnectedCallback(){super.disconnectedCallback(),this._cancelDebounce()}_cancelDebounce(){this._debounceTimer!==null&&(clearTimeout(this._debounceTimer),this._debounceTimer=null)}_onInput(e){const r=e.target;this.value=r.value,this._cancelDebounce(),this._debounceTimer=setTimeout(()=>{this._fireSearch()},this.debounce)}_onKeyDown(e){e.key==="Enter"&&(e.preventDefault(),this._cancelDebounce(),this._fireSearch())}_onClear(){this.value="",this._cancelDebounce(),this._fireSearch(),this.shadowRoot?.querySelector("input")?.focus()}_fireSearch(){this.dispatchEvent(new CustomEvent("search",{detail:this.value}))}render(){return b`
2
- <div class="container">
3
- <span class="search-icon" aria-hidden="true">\u{1F50D}</span>
4
- <input
5
- type="text"
6
- role="searchbox"
7
- aria-label="Search"
8
- .value=${this.value}
9
- placeholder=${this.placeholder}
10
- ?disabled=${this.disabled}
11
- @input=${this._onInput}
12
- @keydown=${this._onKeyDown}
13
- />
14
- <button
15
- class="clear-btn"
16
- aria-label="Clear search"
17
- ?hidden=${!this.value}
18
- @click=${this._onClear}
19
- >\u2715</button>
20
- </div>
21
- `}};i.styles=[u,d,h`
1
+ import{c as e,f as t,h as n,l as r,n as i,r as a,s as o,t as s}from"./decorate-BvWYovGE.js";var c=class extends r{constructor(...e){super(...e),this.value=``,this.placeholder=`Search...`,this.debounce=300,this.disabled=!1,this._debounceTimer=null}static{this.styles=[a,i,n`
22
2
  :host {
23
3
  display: block;
24
4
  }
@@ -89,4 +69,24 @@ import{s as u,f as d,i as h,n as o,a as p,b,t as v}from"./index-CEcM1R_C.js";var
89
69
  .clear-btn[hidden] {
90
70
  display: none;
91
71
  }
92
- `];a([o()],i.prototype,"value",2);a([o()],i.prototype,"placeholder",2);a([o({type:Number})],i.prototype,"debounce",2);a([o({type:Boolean})],i.prototype,"disabled",2);i=a([v("ic-search-input")],i);
72
+ `]}disconnectedCallback(){super.disconnectedCallback(),this._cancelDebounce()}_cancelDebounce(){this._debounceTimer!==null&&(clearTimeout(this._debounceTimer),this._debounceTimer=null)}_onInput(e){let t=e.target;this.value=t.value,this._cancelDebounce(),this._debounceTimer=setTimeout(()=>{this._fireSearch()},this.debounce)}_onKeyDown(e){e.key===`Enter`&&(e.preventDefault(),this._cancelDebounce(),this._fireSearch())}_onClear(){this.value=``,this._cancelDebounce(),this._fireSearch(),(this.shadowRoot?.querySelector(`input`))?.focus()}_fireSearch(){this.dispatchEvent(new CustomEvent(`search`,{detail:this.value}))}render(){return t`
73
+ <div class="container">
74
+ <span class="search-icon" aria-hidden="true">\u{1F50D}</span>
75
+ <input
76
+ type="text"
77
+ role="searchbox"
78
+ aria-label="Search"
79
+ .value=${this.value}
80
+ placeholder=${this.placeholder}
81
+ ?disabled=${this.disabled}
82
+ @input=${this._onInput}
83
+ @keydown=${this._onKeyDown}
84
+ />
85
+ <button
86
+ class="clear-btn"
87
+ aria-label="Clear search"
88
+ ?hidden=${!this.value}
89
+ @click=${this._onClear}
90
+ >\u2715</button>
91
+ </div>
92
+ `}};s([o()],c.prototype,`value`,void 0),s([o()],c.prototype,`placeholder`,void 0),s([o({type:Number})],c.prototype,`debounce`,void 0),s([o({type:Boolean})],c.prototype,`disabled`,void 0),c=s([e(`ic-search-input`)],c);
@@ -1,19 +1,4 @@
1
- import{s as u,f as v,i as f,n as c,a as g,A as h,b as d,t as y}from"./index-CEcM1R_C.js";var x=Object.defineProperty,m=Object.getOwnPropertyDescriptor,b=(e,a,s,r)=>{for(var t=r>1?void 0:r?m(a,s):a,i=e.length-1,l;i>=0;i--)(l=e[i])&&(t=(r?l(a,s,t):l(t))||t);return r&&t&&x(a,s,t),t};let n=class extends g{constructor(){super(...arguments),this.label="",this.checked=!1,this.disabled=!1}_toggle(){this.disabled||(this.checked=!this.checked,this.dispatchEvent(new CustomEvent("change",{detail:this.checked,bubbles:!0,composed:!0})))}_onKeyDown(e){(e.key===" "||e.key==="Enter")&&(e.preventDefault(),this._toggle())}render(){return d`
2
- ${this.label?d`<span class="toggle-label" ?data-disabled=${this.disabled} @click=${()=>this._toggle()}>${this.label}</span>`:h}
3
- <div
4
- class="track"
5
- role="switch"
6
- tabindex=${this.disabled?-1:0}
7
- aria-checked=${this.checked?"true":"false"}
8
- aria-label=${this.label||h}
9
- ?data-checked=${this.checked}
10
- ?data-disabled=${this.disabled}
11
- @click=${()=>this._toggle()}
12
- @keydown=${this._onKeyDown}
13
- >
14
- <div class="thumb"></div>
15
- </div>
16
- `}};n.styles=[u,v,f`
1
+ import{c as e,f as t,h as n,l as r,n as i,r as a,s as o,t as s,u as c}from"./decorate-BvWYovGE.js";var l=class extends r{constructor(...e){super(...e),this.label=``,this.checked=!1,this.disabled=!1}static{this.styles=[a,i,n`
17
2
  :host {
18
3
  display: inline-flex;
19
4
  align-items: center;
@@ -73,19 +58,22 @@ import{s as u,f as v,i as f,n as c,a as g,A as h,b as d,t as y}from"./index-CEcM
73
58
  .track[data-checked] .thumb {
74
59
  transform: translateX(16px);
75
60
  }
76
- `];b([c()],n.prototype,"label",2);b([c({type:Boolean})],n.prototype,"checked",2);b([c({type:Boolean})],n.prototype,"disabled",2);n=b([y("ic-toggle")],n);var $=Object.defineProperty,_=Object.getOwnPropertyDescriptor,p=(e,a,s,r)=>{for(var t=r>1?void 0:r?_(a,s):a,i=e.length-1,l;i>=0;i--)(l=e[i])&&(t=(r?l(a,s,t):l(t))||t);return r&&t&&$(a,s,t),t};let o=class extends g{constructor(){super(...arguments),this.label="",this.value="",this.options=[],this.disabled=!1}_onChange(e){const a=e.target.value;this.dispatchEvent(new CustomEvent("change",{detail:a,bubbles:!0,composed:!0}))}render(){return d`
77
- <div class="select-wrapper">
78
- ${this.label?d`<label>${this.label}</label>`:h}
79
- <select
80
- .value=${this.value}
81
- ?disabled=${this.disabled}
82
- aria-label=${this.label||h}
83
- @change=${this._onChange}
84
- >
85
- ${this.options.map(e=>d`<option value=${e.value} ?selected=${e.value===this.value}>${e.label}</option>`)}
86
- </select>
61
+ `]}_toggle(){this.disabled||(this.checked=!this.checked,this.dispatchEvent(new CustomEvent(`change`,{detail:this.checked,bubbles:!0,composed:!0})))}_onKeyDown(e){(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),this._toggle())}render(){return t`
62
+ ${this.label?t`<span class="toggle-label" ?data-disabled=${this.disabled} @click=${()=>this._toggle()}>${this.label}</span>`:c}
63
+ <div
64
+ class="track"
65
+ role="switch"
66
+ tabindex=${this.disabled?-1:0}
67
+ aria-checked=${this.checked?`true`:`false`}
68
+ aria-label=${this.label||c}
69
+ ?data-checked=${this.checked}
70
+ ?data-disabled=${this.disabled}
71
+ @click=${()=>this._toggle()}
72
+ @keydown=${this._onKeyDown}
73
+ >
74
+ <div class="thumb"></div>
87
75
  </div>
88
- `}};o.styles=[u,v,f`
76
+ `}};s([o()],l.prototype,`label`,void 0),s([o({type:Boolean})],l.prototype,`checked`,void 0),s([o({type:Boolean})],l.prototype,`disabled`,void 0),l=s([e(`ic-toggle`)],l);var u=class extends r{constructor(...e){super(...e),this.label=``,this.value=``,this.options=[],this.disabled=!1}static{this.styles=[a,i,n`
89
77
  :host {
90
78
  display: block;
91
79
  }
@@ -124,4 +112,16 @@ import{s as u,f as v,i as f,n as c,a as g,A as h,b as d,t as y}from"./index-CEcM
124
112
  opacity: 0.5;
125
113
  cursor: not-allowed;
126
114
  }
127
- `];p([c()],o.prototype,"label",2);p([c()],o.prototype,"value",2);p([c({type:Array})],o.prototype,"options",2);p([c({type:Boolean})],o.prototype,"disabled",2);o=p([y("ic-select")],o);
115
+ `]}_onChange(e){let t=e.target.value;this.dispatchEvent(new CustomEvent(`change`,{detail:t,bubbles:!0,composed:!0}))}render(){return t`
116
+ <div class="select-wrapper">
117
+ ${this.label?t`<label>${this.label}</label>`:c}
118
+ <select
119
+ .value=${this.value}
120
+ ?disabled=${this.disabled}
121
+ aria-label=${this.label||c}
122
+ @change=${this._onChange}
123
+ >
124
+ ${this.options.map(e=>t`<option value=${e.value} ?selected=${e.value===this.value}>${e.label}</option>`)}
125
+ </select>
126
+ </div>
127
+ `}};s([o()],u.prototype,`label`,void 0),s([o()],u.prototype,`value`,void 0),s([o({type:Array})],u.prototype,`options`,void 0),s([o({type:Boolean})],u.prototype,`disabled`,void 0),u=s([e(`ic-select`)],u);
@@ -0,0 +1,95 @@
1
+ import{c as e,f as t,h as n,l as r,n as i,r as a,s as o,t as s,u as c}from"./decorate-BvWYovGE.js";var l=class extends r{constructor(...e){super(...e),this.tabs=[],this.activeTab=``}static{this.styles=[a,i,n`
2
+ :host {
3
+ display: block;
4
+ }
5
+
6
+ .tablist {
7
+ display: flex;
8
+ border-bottom: 1px solid var(--ic-border);
9
+ gap: 0;
10
+ }
11
+
12
+ .tab {
13
+ padding: var(--ic-space-sm) var(--ic-space-md);
14
+ font-size: var(--ic-text-sm);
15
+ font-family: inherit;
16
+ background: none;
17
+ border: none;
18
+ border-bottom: 2px solid transparent;
19
+ color: var(--ic-text-muted);
20
+ cursor: pointer;
21
+ display: inline-flex;
22
+ align-items: center;
23
+ gap: var(--ic-space-xs);
24
+ transition: color var(--ic-transition), border-color var(--ic-transition);
25
+ white-space: nowrap;
26
+ }
27
+
28
+ .tab:hover:not(.tab--active) {
29
+ color: var(--ic-text);
30
+ }
31
+
32
+ .tab--active {
33
+ color: var(--ic-accent);
34
+ border-bottom-color: var(--ic-accent);
35
+ font-weight: 500;
36
+ }
37
+
38
+ .badge {
39
+ display: inline-flex;
40
+ align-items: center;
41
+ justify-content: center;
42
+ min-width: 1.25rem;
43
+ height: 1.25rem;
44
+ padding: 0 var(--ic-space-xs);
45
+ background: var(--ic-accent);
46
+ color: #fff;
47
+ font-size: var(--ic-text-xs);
48
+ font-weight: 600;
49
+ border-radius: 9999px;
50
+ line-height: 1;
51
+ }
52
+
53
+ .panels {
54
+ margin-top: var(--ic-space-md);
55
+ }
56
+
57
+ ::slotted([data-tab]) {
58
+ display: none;
59
+ }
60
+
61
+ ::slotted([data-tab][data-active]) {
62
+ display: block;
63
+ }
64
+ `]}willUpdate(e){(!this.activeTab||e.has(`tabs`))&&this.tabs.length>0&&!this.activeTab&&(this.activeTab=this.tabs[0].id)}updated(e){this._updatePanelVisibility()}_updatePanelVisibility(){let e=this.shadowRoot?.querySelector(`slot:not([name])`);if(!e)return;let t=e.assignedElements();for(let e of t){let t=e.dataset.tab;t&&(t===this.activeTab?e.setAttribute(`data-active`,``):e.removeAttribute(`data-active`))}}_selectTab(e){e!==this.activeTab&&(this.activeTab=e,this.dispatchEvent(new CustomEvent(`tab-change`,{detail:e})))}_onTabKeyDown(e){let t=Array.from(this.shadowRoot?.querySelectorAll(`[role="tab"]`)??[]),n=t.indexOf(e.target);if(n<0)return;let r=-1;switch(e.key){case`ArrowLeft`:e.preventDefault(),r=n>0?n-1:t.length-1;break;case`ArrowRight`:e.preventDefault(),r=n<t.length-1?n+1:0;break;case`Home`:e.preventDefault(),r=0;break;case`End`:e.preventDefault(),r=t.length-1;break;default:return}if(r>=0&&r<t.length){t[r].focus();let e=this.tabs[r]?.id;e&&this._selectTab(e)}}render(){let e=this.activeTab||(this.tabs.length>0?this.tabs[0].id:``);return t`
65
+ <div class="tablist" role="tablist">
66
+ ${this.tabs.map(n=>{let r=n.id===e;return t`
67
+ <button
68
+ role="tab"
69
+ id="tab-${n.id}"
70
+ class="tab ${r?`tab--active`:``}"
71
+ aria-selected=${r?`true`:`false`}
72
+ aria-controls="panel-${n.id}"
73
+ tabindex=${r?`0`:`-1`}
74
+ @click=${()=>this._selectTab(n.id)}
75
+ @keydown=${this._onTabKeyDown}
76
+ >
77
+ ${n.label}
78
+ ${n.badge&&n.badge>0?t`<span class="badge">${n.badge}</span>`:c}
79
+ </button>
80
+ `})}
81
+ </div>
82
+ <div class="panels">
83
+ ${this.tabs.map(n=>{let r=n.id===e;return t`
84
+ <div
85
+ role="tabpanel"
86
+ id="panel-${n.id}"
87
+ aria-labelledby="tab-${n.id}"
88
+ ?hidden=${!r}
89
+ >
90
+ <slot name=${n.id}></slot>
91
+ </div>
92
+ `})}
93
+ <slot @slotchange=${this._updatePanelVisibility}></slot>
94
+ </div>
95
+ `}};s([o({type:Array})],l.prototype,`tabs`,void 0),s([o()],l.prototype,`activeTab`,void 0),l=s([e(`ic-tabs`)],l);
@@ -0,0 +1,33 @@
1
+ import{c as e,f as t,h as n,l as r,r as i,s as a,t as o}from"./decorate-BvWYovGE.js";var s={default:`var(--ic-text-muted)`,success:`var(--ic-success)`,warning:`var(--ic-warning)`,error:`var(--ic-error)`,info:`var(--ic-info)`,accent:`var(--ic-accent)`,telegram:`var(--ic-telegram)`,discord:`var(--ic-discord)`,slack:`var(--ic-slack)`,whatsapp:`var(--ic-whatsapp)`,line:`var(--ic-line)`,signal:`var(--ic-signal)`,imessage:`var(--ic-imessage)`,irc:`var(--ic-irc)`},c=class extends r{constructor(...e){super(...e),this.variant=`default`,this.size=`sm`}static{this.styles=[i,n`
2
+ :host {
3
+ display: inline-block;
4
+ }
5
+
6
+ .tag {
7
+ display: inline-flex;
8
+ align-items: center;
9
+ border-radius: 9999px;
10
+ font-weight: 500;
11
+ white-space: nowrap;
12
+ line-height: 1;
13
+ }
14
+
15
+ .tag--sm {
16
+ padding: 2px 8px;
17
+ font-size: var(--ic-text-xs);
18
+ text-transform: uppercase;
19
+ letter-spacing: 0.02em;
20
+ }
21
+
22
+ .tag--md {
23
+ padding: 4px 12px;
24
+ font-size: var(--ic-text-sm);
25
+ }
26
+ `]}render(){let e=s[this.variant]??s.default;return t`
27
+ <span
28
+ class="tag ${this.size===`md`?`tag--md`:`tag--sm`}"
29
+ style="background-color: color-mix(in srgb, ${e} 10%, transparent); color: ${e};"
30
+ >
31
+ <slot></slot>
32
+ </span>
33
+ `}};o([a()],c.prototype,`variant`,void 0),o([a()],c.prototype,`size`,void 0),c=o([e(`ic-tag`)],c);
@@ -1,33 +1,4 @@
1
- import{s as d,f as m,i as v,n as p,r as u,a as b,A as h,b as l,t as f}from"./index-CEcM1R_C.js";var g=Object.defineProperty,_=Object.getOwnPropertyDescriptor,r=(e,a,o,i)=>{for(var t=i>1?void 0:i?_(a,o):a,c=e.length-1,n;c>=0;c--)(n=e[c])&&(t=(i?n(a,o,t):n(t))||t);return i&&t&&g(a,o,t),t};const x=[{label:"Today",sinceMs:864e5},{label:"7d",sinceMs:6048e5},{label:"30d",sinceMs:2592e6},{label:"Custom",sinceMs:0}];let s=class extends b{constructor(){super(...arguments),this.selected="7d",this.presets=x,this._customFrom="",this._customTo=""}_onPresetClick(e){this.selected=e.label,e.label!=="Custom"&&this.dispatchEvent(new CustomEvent("time-range-change",{detail:{sinceMs:e.sinceMs,label:e.label},bubbles:!0,composed:!0}))}_onCustomDateChange(){if(!this._customFrom||!this._customTo)return;const e=new Date(this._customFrom).getTime(),a=Date.now()-e;this.dispatchEvent(new CustomEvent("time-range-change",{detail:{sinceMs:a,label:"Custom"},bubbles:!0,composed:!0}))}render(){return l`
2
- <div class="presets">
3
- ${this.presets.map(e=>l`
4
- <button
5
- class="preset ${this.selected===e.label?"preset--active":"preset--inactive"}"
6
- @click=${()=>this._onPresetClick(e)}
7
- >
8
- ${e.label}
9
- </button>
10
- `)}
11
- </div>
12
- ${this.selected==="Custom"?l`
13
- <div class="custom-dates">
14
- <span class="date-label">From</span>
15
- <input
16
- type="date"
17
- class="date-input"
18
- .value=${this._customFrom}
19
- @change=${e=>{this._customFrom=e.target.value,this._onCustomDateChange()}}
20
- />
21
- <span class="date-label">To</span>
22
- <input
23
- type="date"
24
- class="date-input"
25
- .value=${this._customTo}
26
- @change=${e=>{this._customTo=e.target.value,this._onCustomDateChange()}}
27
- />
28
- </div>
29
- `:h}
30
- `}};s.styles=[d,m,v`
1
+ import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";var u=[{label:`Today`,sinceMs:864e5},{label:`7d`,sinceMs:6048e5},{label:`30d`,sinceMs:2592e6},{label:`Custom`,sinceMs:0}],d=class extends r{constructor(...e){super(...e),this.selected=`7d`,this.presets=u,this._customFrom=``,this._customTo=``}static{this.styles=[o,i,n`
31
2
  :host {
32
3
  display: block;
33
4
  }
@@ -90,4 +61,33 @@ import{s as d,f as m,i as v,n as p,r as u,a as b,A as h,b as l,t as f}from"./ind
90
61
  outline: 2px solid var(--ic-accent);
91
62
  outline-offset: 1px;
92
63
  }
93
- `];r([p({type:String})],s.prototype,"selected",2);r([p({attribute:!1})],s.prototype,"presets",2);r([u()],s.prototype,"_customFrom",2);r([u()],s.prototype,"_customTo",2);s=r([f("ic-time-range-picker")],s);
64
+ `]}_onPresetClick(e){this.selected=e.label,e.label!==`Custom`&&this.dispatchEvent(new CustomEvent(`time-range-change`,{detail:{sinceMs:e.sinceMs,label:e.label},bubbles:!0,composed:!0}))}_onCustomDateChange(){if(!this._customFrom||!this._customTo)return;let e=new Date(this._customFrom).getTime(),t=Date.now()-e;this.dispatchEvent(new CustomEvent(`time-range-change`,{detail:{sinceMs:t,label:`Custom`},bubbles:!0,composed:!0}))}render(){return t`
65
+ <div class="presets">
66
+ ${this.presets.map(e=>t`
67
+ <button
68
+ class="preset ${this.selected===e.label?`preset--active`:`preset--inactive`}"
69
+ @click=${()=>this._onPresetClick(e)}
70
+ >
71
+ ${e.label}
72
+ </button>
73
+ `)}
74
+ </div>
75
+ ${this.selected===`Custom`?t`
76
+ <div class="custom-dates">
77
+ <span class="date-label">From</span>
78
+ <input
79
+ type="date"
80
+ class="date-input"
81
+ .value=${this._customFrom}
82
+ @change=${e=>{this._customFrom=e.target.value,this._onCustomDateChange()}}
83
+ />
84
+ <span class="date-label">To</span>
85
+ <input
86
+ type="date"
87
+ class="date-input"
88
+ .value=${this._customTo}
89
+ @change=${e=>{this._customTo=e.target.value,this._onCustomDateChange()}}
90
+ />
91
+ </div>
92
+ `:l}
93
+ `}};c([s({type:String})],d.prototype,`selected`,void 0),c([s({attribute:!1})],d.prototype,`presets`,void 0),c([a()],d.prototype,`_customFrom`,void 0),c([a()],d.prototype,`_customTo`,void 0),d=c([e(`ic-time-range-picker`)],d);
@@ -1,53 +1,4 @@
1
- import{s as h,f,i as v,n as l,r as m,a as x,b as o,A as d,t as g}from"./index-CEcM1R_C.js";import"./ic-chat-message-CFyDJd0z.js";import"./ic-icon-xeGTVhVG.js";function b(e){return e.replace(/\b(?:NO_REPLY|HEARTBEAT_OK)\b/g,"").trim()}function y(e){if(!e.includes("[System context]")&&!e.includes("[End system context]"))return e;const t="[End system context]",i=e.lastIndexOf(t);if(i===-1)return e;const n=e.slice(i+t.length),s=n.match(/\s*\[[\w-]+\]\s+\S+\s+\([^)]*\):\s*/);if(s){const c=n.indexOf(s[0])+s[0].length;return n.slice(c).trim()}return n.trim()}function S(e,t){return t==="assistant"?b(e):t==="user"?y(e):e}var w=Object.defineProperty,_=Object.getOwnPropertyDescriptor,a=(e,t,i,n)=>{for(var s=n>1?void 0:n?_(t,i):t,c=e.length-1,u;c>=0;c--)(u=e[c])&&(s=(n?u(t,i,s):u(s))||s);return n&&s&&w(t,i,s),s};function p(e){if(e==null)return"";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}let r=class extends x{constructor(){super(...arguments),this.toolName="",this.input=null,this.output=null,this.expanded=!1,this.status="success",this._showFullOutput=!1}_toggleExpanded(){this.expanded=!this.expanded}_handleHeaderKeyDown(e){(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),this._toggleExpanded())}_renderStatus(){switch(this.status){case"running":return o`<ic-loading size="sm"></ic-loading>`;case"success":return o`<ic-icon name="check" size="16px" color="var(--ic-success)"></ic-icon>`;case"error":return o`<ic-icon name="x" size="16px" color="var(--ic-error)"></ic-icon>`}}_renderBody(){return this.expanded?o`
2
- <div class="body">
3
- ${this.input!=null?o`
4
- <div class="section">
5
- <div class="section-label">Input</div>
6
- <ic-code-block
7
- language=${typeof this.input=="string"?"":"json"}
8
- .code=${p(this.input)}
9
- ></ic-code-block>
10
- </div>
11
- `:d}
12
- ${this.output!=null?this._renderOutput():d}
13
- </div>
14
- `:d}_renderOutput(){const e=p(this.output),t=e.length>500&&!this._showFullOutput,i=t?e.slice(0,500)+"... (truncated)":e;return o`
15
- <div class="section">
16
- <div class="section-label">Output</div>
17
- <ic-code-block
18
- language=${typeof this.output=="string"?"":"json"}
19
- .code=${i}
20
- ></ic-code-block>
21
- ${t?o`
22
- <button class="show-full" @click=${()=>{this._showFullOutput=!0}}>
23
- Show full
24
- </button>
25
- `:d}
26
- </div>
27
- `}render(){const e=this.expanded?"chevron chevron--expanded":"chevron";return o`
28
- <div
29
- class="container"
30
- role="group"
31
- aria-label="Tool call: ${this.toolName}"
32
- >
33
- <button
34
- class="header"
35
- @click=${this._toggleExpanded}
36
- @keydown=${this._handleHeaderKeyDown}
37
- aria-expanded="${this.expanded}"
38
- >
39
- <span class=${e}>
40
- <ic-icon name="chevron-right" size="16px"></ic-icon>
41
- </span>
42
- <span class="tool-icon">
43
- <ic-icon name="skills" size="16px" color="var(--ic-text-muted)"></ic-icon>
44
- </span>
45
- <span class="tool-name">${this.toolName}</span>
46
- <span class="status">${this._renderStatus()}</span>
47
- </button>
48
- ${this._renderBody()}
49
- </div>
50
- `}};r.styles=[h,f,v`
1
+ import{c as e,f as t,h as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./decorate-BvWYovGE.js";import"./index-BBkuC-EU.js";import"./ic-icon-BGNCCPpZ.js";import"./ic-chat-message-ByFUoMm6.js";function u(e){return e.replace(/\b(?:NO_REPLY|HEARTBEAT_OK)\b/g,``).trim()}function d(e){if(!e.includes(`[System context]`)&&!e.includes(`[End system context]`))return e;let t=e.lastIndexOf(`[End system context]`);if(t===-1)return e;let n=e.slice(t+20),r=n.match(/\s*\[[\w-]+\]\s+\S+\s+\([^)]*\):\s*/);if(r){let e=n.indexOf(r[0])+r[0].length;return n.slice(e).trim()}return n.trim()}function f(e,t){return t===`assistant`?u(e):t===`user`?d(e):e}function p(e){if(e==null)return``;if(typeof e==`string`)return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}var m=class extends r{constructor(...e){super(...e),this.toolName=``,this.input=null,this.output=null,this.expanded=!1,this.status=`success`,this._showFullOutput=!1}static{this.styles=[o,i,n`
51
2
  :host {
52
3
  display: block;
53
4
  }
@@ -143,4 +94,53 @@ import{s as h,f,i as v,n as l,r as m,a as x,b as o,A as d,t as g}from"./index-CE
143
94
  .show-full:hover {
144
95
  text-decoration: underline;
145
96
  }
146
- `];a([l()],r.prototype,"toolName",2);a([l({attribute:!1})],r.prototype,"input",2);a([l({attribute:!1})],r.prototype,"output",2);a([l({type:Boolean})],r.prototype,"expanded",2);a([l()],r.prototype,"status",2);a([m()],r.prototype,"_showFullOutput",2);r=a([g("ic-tool-call")],r);export{y as a,S as c,b as s};
97
+ `]}_toggleExpanded(){this.expanded=!this.expanded}_handleHeaderKeyDown(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this._toggleExpanded())}_renderStatus(){switch(this.status){case`running`:return t`<ic-loading size="sm"></ic-loading>`;case`success`:return t`<ic-icon name="check" size="16px" color="var(--ic-success)"></ic-icon>`;case`error`:return t`<ic-icon name="x" size="16px" color="var(--ic-error)"></ic-icon>`}}_renderBody(){return this.expanded?t`
98
+ <div class="body">
99
+ ${this.input==null?l:t`
100
+ <div class="section">
101
+ <div class="section-label">Input</div>
102
+ <ic-code-block
103
+ language=${typeof this.input==`string`?``:`json`}
104
+ .code=${p(this.input)}
105
+ ></ic-code-block>
106
+ </div>
107
+ `}
108
+ ${this.output==null?l:this._renderOutput()}
109
+ </div>
110
+ `:l}_renderOutput(){let e=p(this.output),n=e.length>500&&!this._showFullOutput,r=n?e.slice(0,500)+`... (truncated)`:e;return t`
111
+ <div class="section">
112
+ <div class="section-label">Output</div>
113
+ <ic-code-block
114
+ language=${typeof this.output==`string`?``:`json`}
115
+ .code=${r}
116
+ ></ic-code-block>
117
+ ${n?t`
118
+ <button class="show-full" @click=${()=>{this._showFullOutput=!0}}>
119
+ Show full
120
+ </button>
121
+ `:l}
122
+ </div>
123
+ `}render(){let e=this.expanded?`chevron chevron--expanded`:`chevron`;return t`
124
+ <div
125
+ class="container"
126
+ role="group"
127
+ aria-label="Tool call: ${this.toolName}"
128
+ >
129
+ <button
130
+ class="header"
131
+ @click=${this._toggleExpanded}
132
+ @keydown=${this._handleHeaderKeyDown}
133
+ aria-expanded="${this.expanded}"
134
+ >
135
+ <span class=${e}>
136
+ <ic-icon name="chevron-right" size="16px"></ic-icon>
137
+ </span>
138
+ <span class="tool-icon">
139
+ <ic-icon name="skills" size="16px" color="var(--ic-text-muted)"></ic-icon>
140
+ </span>
141
+ <span class="tool-name">${this.toolName}</span>
142
+ <span class="status">${this._renderStatus()}</span>
143
+ </button>
144
+ ${this._renderBody()}
145
+ </div>
146
+ `}};c([s()],m.prototype,`toolName`,void 0),c([s({attribute:!1})],m.prototype,`input`,void 0),c([s({attribute:!1})],m.prototype,`output`,void 0),c([s({type:Boolean})],m.prototype,`expanded`,void 0),c([s()],m.prototype,`status`,void 0),c([a()],m.prototype,`_showFullOutput`,void 0),m=c([e(`ic-tool-call`)],m);export{u as n,d as r,f as t};