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
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}:root{--ic-bg:#030712;--ic-surface:#111827;--ic-surface-2:#1f2937;--ic-border:#374151;--ic-text:#f9fafb;--ic-text-muted:#9ca3af;--ic-text-dim:#858d9d;--ic-accent:#3b82f6;--ic-accent-hover:#2563eb;--ic-success:#22c55e;--ic-warning:#eab308;--ic-error:#ef4444;--ic-info:#06b6d4;--ic-telegram:#26a5e4;--ic-discord:#5865f2;--ic-slack:#4a154b;--ic-whatsapp:#25d366;--ic-line:#00b900;--ic-signal:#3a76f0;--ic-imessage:#34c759;--ic-irc:#9ca3af;--ic-space-xs:4px;--ic-space-sm:8px;--ic-space-md:16px;--ic-space-lg:24px;--ic-space-xl:32px;--ic-space-2xl:48px;--ic-radius-sm:4px;--ic-radius-md:8px;--ic-radius-lg:12px;--ic-radius-xl:16px;--ic-font-mono:"JetBrains Mono", "Fira Code", monospace;--ic-font-sans:"Inter", system-ui, sans-serif;--ic-text-xs:12px;--ic-text-sm:14px;--ic-text-base:16px;--ic-text-lg:18px;--ic-text-xl:20px;--ic-text-2xl:24px;--ic-shadow-sm:0 1px 2px #0000004d;--ic-shadow-md:0 4px 6px #0000004d;--ic-shadow-lg:0 10px 15px #0000004d;--ic-transition:.15s ease;--ic-transition-slow:.3s ease}:focus-visible{outline:2px solid var(--ic-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.list-item{display:list-item}.table{display:table}.min-h-screen{min-height:100vh}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-all{-webkit-user-select:all;user-select:all}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
@@ -1,211 +1,4 @@
1
- import{a as f,I as v,A as o,b as s,s as b,f as w,i as y,n as m,r as l,t as $}from"./index-CEcM1R_C.js";import"./ic-empty-state-60l2ePhd.js";import"./ic-confirm-dialog-CCDbB04e.js";import"./ic-tag-CPPUnDLF.js";import"./ic-relative-time-3FqpjeAI.js";import"./ic-icon-xeGTVhVG.js";var x=Object.defineProperty,S=Object.getOwnPropertyDescriptor,a=(e,t,i,c)=>{for(var r=c>1?void 0:c?S(t,i):t,p=e.length-1,d;p>=0;p--)(d=e[p])&&(r=(c?d(t,i,r):d(r))||r);return c&&r&&x(t,i,r),r};let n=class extends f{constructor(){super(...arguments),this.rpcClient=null,this.apiClient=null,this.eventDispatcher=null,this._loadState="loading",this._servers=[],this._mcpConfig=[],this._expandedServer=null,this._serverDetail=null,this._showAddForm=!1,this._disconnectTarget=null,this._deleteTarget=null,this._detailLoading=!1,this._showInstructions=!1,this._testingServer=null,this._testResult=null,this._newServerName="",this._newServerTransport="stdio",this._newServerCommand="",this._newServerUrl="",this._newServerHeaders="",this._newServerEnv="",this._rpcStatusUnsub=null}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._rpcStatusUnsub?.(),this._rpcStatusUnsub=null}willUpdate(e){e.has("rpcClient")&&this.rpcClient&&this._tryLoad()}_tryLoad(){if(!this.rpcClient){this._loadState="loaded";return}this._rpcStatusUnsub?.(),this.rpcClient.status==="connected"?this._loadData():this._rpcStatusUnsub=this.rpcClient.onStatusChange(e=>{e==="connected"&&this._loadData()})}async _loadData(){if(this.rpcClient)try{const[e,t]=await Promise.all([this.rpcClient.call("mcp.list"),this.rpcClient.call("config.read")]);this._servers=e.servers??[],this._mcpConfig=t.config?.integrations?.mcp?.servers??[],this._loadState="loaded"}catch{this._loadState="error"}}async _loadServerDetail(e){if(this.rpcClient){this._detailLoading=!0;try{const t=await this.rpcClient.call("mcp.status",{name:e});this._serverDetail=t,this._expandedServer=e}catch{v.show(`Failed to load tools for ${e}`,"error"),this._expandedServer=null,this._serverDetail=null}finally{this._detailLoading=!1}}}async _patchConfig(e,t,i){if(!this.rpcClient)return!1;try{return await this.rpcClient.call("config.patch",{section:e,key:t,value:i}),!0}catch(c){const r=c instanceof Error?c.message:"Failed to update configuration";return v.show(r,"error"),!1}}_stripRedactedEnv(e){return e.map(t=>{if(!t.env||!Object.values(t.env).some(p=>p==="[REDACTED]"))return t;const{env:c,...r}=t;return r})}_requestDisconnect(e){this._disconnectTarget=e}async _confirmDisconnect(){const e=this._disconnectTarget;if(this._disconnectTarget=null,!(!e||!this.rpcClient))try{await this.rpcClient.call("mcp.disconnect",{name:e}),v.show(`Disconnected ${e}`,"success"),this._expandedServer===e&&(this._expandedServer=null,this._serverDetail=null),this._loadData()}catch{v.show(`Failed to disconnect ${e}`,"error")}}_cancelDisconnect(){this._disconnectTarget=null}async _handleReconnect(e){if(this.rpcClient)try{await this.rpcClient.call("mcp.reconnect",{name:e}),v.show(`Reconnected ${e}`,"success"),this._loadData()}catch{v.show(`Failed to reconnect ${e}`,"error")}}async _handleTest(e){if(this.rpcClient)try{const t=await this.rpcClient.call("mcp.test",{name:e});t.success?v.show(`${e}: test passed`,"success"):v.show(`${e}: test failed${t.message?" — "+t.message:""}`,"error")}catch{v.show(`Failed to test ${e}`,"error")}}_toggleTools(e){this._expandedServer===e?(this._expandedServer=null,this._serverDetail=null,this._showInstructions=!1):(this._showInstructions=!1,this._loadServerDetail(e))}async _toggleServer(e,t){const i=this._mcpConfig.map(r=>r.name===e?{...r,enabled:t}:r);await this._patchConfig("integrations","mcp.servers",this._stripRedactedEnv(i))&&(this._mcpConfig=i)}_removeServer(e){this._deleteTarget=e}async _confirmRemove(){const e=this._deleteTarget;if(this._deleteTarget=null,!e)return;const t=this._mcpConfig.filter(c=>c.name!==e);await this._patchConfig("integrations","mcp.servers",this._stripRedactedEnv(t))&&(this._mcpConfig=t,v.show(`Removed MCP server "${e}"`,"success"),this._loadData())}_cancelRemove(){this._deleteTarget=null}async _addServer(){if(!this._newServerName.trim()){v.show("Server name is required","error");return}const e=this._newServerName.trim();if(this._mcpConfig.some(d=>d.name===e)){v.show(`MCP server "${e}" already exists`,"error");return}if(this._newServerTransport==="stdio"&&!this._newServerCommand.trim()){v.show("Command is required for stdio transport","error");return}if(this._newServerTransport!=="stdio"&&!this._newServerUrl.trim()){v.show("URL is required for remote transport","error");return}const t={name:e,transport:this._newServerTransport,enabled:!0};if(this._newServerTransport==="stdio"){const d=this._newServerCommand.trim().split(/\s+/);t.command=d[0]??"",d.length>1&&(t.args=d.slice(1))}else t.url=this._newServerUrl.trim();const i=this._newServerHeaders.trim();if(i){const d={};for(const h of i.split(`
2
- `)){const u=h.indexOf(":");if(u>0){const g=h.slice(0,u).trim(),_=h.slice(u+1).trim();g&&(d[g]=_)}}Object.keys(d).length>0&&(t.headers=d)}const c=this._newServerEnv.trim();if(c){const d={};for(const h of c.split(`
3
- `)){const u=h.indexOf("=");u>0&&(d[h.slice(0,u).trim()]=h.slice(u+1).trim())}Object.keys(d).length>0&&(t.env=d)}const r=[...this._mcpConfig,t];await this._patchConfig("integrations","mcp.servers",this._stripRedactedEnv(r))&&(this._mcpConfig=r,this._newServerName="",this._newServerCommand="",this._newServerUrl="",this._newServerHeaders="",this._newServerEnv="",this._showAddForm=!1,v.show(`Added MCP server "${e}"`,"success"),this._loadData())}async _testServerConfig(e){if(!(!this.rpcClient||this._testingServer)){this._testingServer=e.name,this._testResult=null;try{const t={name:e.name,transport:e.transport};e.transport==="stdio"?(t.command=e.command,t.args=e.args):t.url=e.url,e.env&&Object.keys(e.env).length>0&&(t.env=e.env),e.headers&&Object.keys(e.headers).length>0&&(t.headers=e.headers);const i=await this.rpcClient.call("mcp.test",t);this._testResult={name:e.name,...i}}catch(t){const i=t instanceof Error?t.message:"Test failed",c=i==="Not connected"||i.includes("WebSocket");this._testResult={name:e.name,success:!1,error:c?"Daemon not connected -- wait for reconnection and try again":i}}finally{this._testingServer=null}}}_statusColor(e){switch(e){case"connected":return"green";case"disconnected":return"default";case"connecting":return"yellow";case"reconnecting":return"yellow";case"error":return"red";default:return"default"}}_renderAddServerForm(){return s`
4
- <div class="add-server-form">
5
- <div class="add-server-title">Add Server</div>
6
- <div class="add-server-row">
7
- <input
8
- class="add-server-input"
9
- type="text"
10
- placeholder="Server name"
11
- .value=${this._newServerName}
12
- @input=${e=>{this._newServerName=e.target.value}}
13
- />
14
- <select
15
- class="add-server-select"
16
- .value=${this._newServerTransport}
17
- @change=${e=>{this._newServerTransport=e.target.value}}
18
- >
19
- <option value="stdio">stdio</option>
20
- <option value="sse">sse</option>
21
- <option value="http">http</option>
22
- </select>
23
- </div>
24
- ${this._newServerTransport==="stdio"?s`
25
- <input
26
- class="add-server-input"
27
- type="text"
28
- placeholder="Command (e.g., npx -y @mcp/server)"
29
- .value=${this._newServerCommand}
30
- @input=${e=>{this._newServerCommand=e.target.value}}
31
- />
32
- `:s`
33
- <input
34
- class="add-server-input"
35
- type="text"
36
- placeholder=${this._newServerTransport==="sse"?"URL (e.g., http://localhost:3001/sse)":"URL (e.g., http://localhost:3001/mcp)"}
37
- .value=${this._newServerUrl}
38
- @input=${e=>{this._newServerUrl=e.target.value}}
39
- />
40
- `}
41
- ${this._newServerTransport!=="stdio"?s`
42
- <textarea
43
- class="add-server-input"
44
- rows="2"
45
- placeholder="Custom headers (one per line: Header-Name: value)"
46
- .value=${this._newServerHeaders}
47
- @input=${e=>{this._newServerHeaders=e.target.value}}
48
- style="resize:vertical;font-family:monospace;font-size:0.85rem"
49
- ></textarea>
50
- `:o}
51
- <textarea
52
- class="add-server-input"
53
- rows="2"
54
- placeholder="Environment variables (one per line: KEY=VALUE)"
55
- .value=${this._newServerEnv}
56
- @input=${e=>{this._newServerEnv=e.target.value}}
57
- style="resize:vertical;font-family:monospace;font-size:0.85rem"
58
- ></textarea>
59
- <div style="display: flex; gap: var(--ic-space-sm);">
60
- <button class="add-server-btn" @click=${()=>this._addServer()}>Add Server</button>
61
- <button class="cancel-btn" @click=${()=>{this._showAddForm=!1,this._newServerName="",this._newServerCommand="",this._newServerUrl="",this._newServerHeaders="",this._newServerEnv=""}}>Cancel</button>
62
- </div>
63
- </div>
64
- `}_renderCapabilityBadges(e){if(!e)return o;const t=[];return e.tools&&t.push(s`<ic-tag variant="info">tools</ic-tag>`),e.resources&&t.push(s`<ic-tag variant="accent">resources</ic-tag>`),e.prompts&&t.push(s`<ic-tag variant="success">prompts</ic-tag>`),t.length===0?o:s`<span class="capability-badges">${t}</span>`}_renderServerVersion(e){return e?s`<span class="server-version">${e.name} v${e.version}</span>`:o}_renderInstructions(){return this._serverDetail?.instructions?s`
65
- <div class="instructions-section">
66
- <button
67
- class="instructions-toggle"
68
- @click=${()=>{this._showInstructions=!this._showInstructions}}
69
- >
70
- ${this._showInstructions?"Hide Instructions":"Show Instructions"}
71
- </button>
72
- ${this._showInstructions?s`<div class="instructions-content">${this._serverDetail.instructions}</div>`:o}
73
- </div>
74
- `:o}_renderToolList(){return this._detailLoading?s`<div class="tool-loading">Loading tools...</div>`:!this._serverDetail||!this._serverDetail.tools.length?s`<div class="tool-loading">No tools discovered</div>`:s`
75
- <div class="tool-list">
76
- ${this._serverDetail.tools.map(e=>s`
77
- <div class="tool-entry">
78
- <div class="tool-name">${e.name}</div>
79
- <div class="tool-qualified">${e.qualifiedName}</div>
80
- ${e.description?s`<div class="tool-desc">${e.description}</div>`:o}
81
- </div>
82
- `)}
83
- </div>
84
- ${this._renderInstructions()}
85
- `}_renderTestResult(e){const t=this._testResult?.name===e?this._testResult:null;return t?t.success?s`<div class="server-test-result server-test-success">Connected -- ${t.toolCount} tool(s): ${t.tools?.join(", ")||"none"}</div>`:s`<div class="server-test-result server-test-error">${t.error}</div>`:o}_renderServer(e){const t=this._expandedServer===e.name,i=e.status==="connected",c=e.status==="disconnected"||e.status==="error"||e.status==="reconnecting",r=this._mcpConfig.find(p=>p.name===e.name);return s`
86
- <div class="server-card">
87
- <div class="server-header">
88
- <ic-tag color=${this._statusColor(e.status)}>${e.status==="reconnecting"&&e.reconnectAttempt?`reconnecting (${e.reconnectAttempt})`:e.status}</ic-tag>
89
- <span class="server-name">${e.name}</span>
90
- ${r?s`
91
- <ic-tag variant=${r.transport==="stdio"?"info":"accent"}>${r.transport}</ic-tag>
92
- `:o}
93
- <span class="server-tools-count">${e.toolCount} tool${e.toolCount!==1?"s":""}</span>
94
- ${this._renderCapabilityBadges(e.capabilities)}
95
- ${this._renderServerVersion(e.serverVersion)}
96
- ${e.lastHealthCheck?s`
97
- <span class="server-health">
98
- Last check: <ic-relative-time .timestamp=${e.lastHealthCheck}></ic-relative-time>
99
- </span>
100
- `:o}
101
- </div>
102
- ${e.status==="error"&&e.error?s`
103
- <span class="server-error">${e.error}</span>
104
- `:o}
105
- ${r?s`
106
- <span class="server-command">
107
- ${r.transport==="stdio"?`${r.command??""}${r.args?.length?" "+r.args.join(" "):""}`:r.url??""}
108
- </span>
109
- ${r.env&&Object.keys(r.env).length>0?s`<span class="server-env-badge" title=${Object.keys(r.env).join(", ")}>env: ${Object.keys(r.env).join(", ")}</span>`:o}
110
- ${r.headers&&Object.keys(r.headers).length>0?s`<span class="server-env-badge" title=${Object.keys(r.headers).join(", ")}>headers: ${Object.keys(r.headers).join(", ")}</span>`:o}
111
- `:o}
112
- <div class="server-actions">
113
- ${i?s`
114
- <button class="action-btn danger" @click=${()=>this._requestDisconnect(e.name)}>Disconnect</button>
115
- `:o}
116
- ${c?s`
117
- <button class="action-btn primary" @click=${()=>this._handleReconnect(e.name)}>Reconnect</button>
118
- `:o}
119
- <button class="action-btn" @click=${()=>this._handleTest(e.name)}>Test</button>
120
- <button class="action-btn" @click=${()=>this._toggleTools(e.name)}>
121
- ${t?"Hide Tools":"Tools"}
122
- </button>
123
- ${r?s`
124
- <input
125
- type="checkbox"
126
- class="toggle-checkbox"
127
- .checked=${r.enabled}
128
- @change=${p=>{this._toggleServer(e.name,p.target.checked)}}
129
- aria-label="Enable ${e.name}"
130
- />
131
- <button class="action-btn danger" @click=${()=>this._removeServer(e.name)}>Delete</button>
132
- `:o}
133
- </div>
134
- ${this._renderTestResult(e.name)}
135
- ${t?this._renderToolList():o}
136
- </div>
137
- `}_renderConfigOnlyServer(e){const t=this._testingServer===e.name;return s`
138
- <div class="server-card">
139
- <div class="server-header">
140
- <ic-tag color="default">not running</ic-tag>
141
- <span class="server-name">${e.name}</span>
142
- <ic-tag variant=${e.transport==="stdio"?"info":"accent"}>${e.transport}</ic-tag>
143
- </div>
144
- <span class="server-command">
145
- ${e.transport==="stdio"?`${e.command??""}${e.args?.length?" "+e.args.join(" "):""}`:e.url??""}
146
- </span>
147
- ${e.env&&Object.keys(e.env).length>0?s`<span class="server-env-badge" title=${Object.keys(e.env).join(", ")}>env: ${Object.keys(e.env).join(", ")}</span>`:o}
148
- ${e.headers&&Object.keys(e.headers).length>0?s`<span class="server-env-badge" title=${Object.keys(e.headers).join(", ")}>headers: ${Object.keys(e.headers).join(", ")}</span>`:o}
149
- <div class="server-actions">
150
- <button
151
- class="action-btn"
152
- ?disabled=${t}
153
- @click=${()=>this._testServerConfig(e)}
154
- >${t?"Testing...":"Test"}</button>
155
- <input
156
- type="checkbox"
157
- class="toggle-checkbox"
158
- .checked=${e.enabled}
159
- @change=${i=>{this._toggleServer(e.name,i.target.checked)}}
160
- aria-label="Enable ${e.name}"
161
- />
162
- <button class="action-btn danger" @click=${()=>this._removeServer(e.name)}>Delete</button>
163
- </div>
164
- ${this._renderTestResult(e.name)}
165
- </div>
166
- `}render(){if(this._loadState==="loading")return s`<ic-skeleton-view variant="list"></ic-skeleton-view>`;if(this._loadState==="error")return s`
167
- <div class="error-message">
168
- Failed to load MCP server data
169
- <br />
170
- <button class="retry-btn" @click=${()=>{this._loadData()}}>Retry</button>
171
- </div>
172
- `;const e=this._mcpConfig.filter(i=>!this._servers.some(c=>c.name===i.name)),t=this._servers.length>0||e.length>0;return s`
173
- ${this._showAddForm?this._renderAddServerForm():o}
174
- ${t?s`
175
- <div class="header-row">
176
- <span class="header-title">${this._servers.length+e.length} server${this._servers.length+e.length!==1?"s":""}</span>
177
- <button class="connect-btn" @click=${()=>{this._showAddForm=!0}}>Add Server</button>
178
- </div>
179
- <div class="server-list">
180
- ${this._servers.map(i=>this._renderServer(i))}
181
- ${e.map(i=>this._renderConfigOnlyServer(i))}
182
- </div>
183
- `:s`
184
- <ic-empty-state message="No MCP servers configured. Add a server to extend agent capabilities.">
185
- <button class="connect-btn" @click=${()=>{this._showAddForm=!0}}>Add Server</button>
186
- </ic-empty-state>
187
- `}
188
-
189
- <ic-confirm-dialog
190
- ?open=${this._disconnectTarget!==null}
191
- title="Disconnect MCP Server"
192
- message="This will disconnect the server and its tools will become unavailable."
193
- confirmLabel="Disconnect"
194
- variant="danger"
195
- @confirm=${this._confirmDisconnect}
196
- @cancel=${this._cancelDisconnect}
197
- ></ic-confirm-dialog>
198
-
199
- <ic-confirm-dialog
200
- ?open=${this._deleteTarget!==null}
201
- title="Delete MCP Server"
202
- message="This will remove the server from configuration. The server will be disconnected if currently running."
203
- confirmLabel="Delete"
204
- variant="danger"
205
- @confirm=${this._confirmRemove}
206
- @cancel=${this._cancelRemove}
207
- ></ic-confirm-dialog>
208
- `}};n.styles=[b,w,y`
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{a as u}from"./index-BBkuC-EU.js";import"./ic-tag-CvMVQFRR.js";import"./ic-confirm-dialog-DGlPbV1T.js";import"./ic-relative-time-B3UAnTqg.js";import"./ic-empty-state-CM3Wbj2f.js";var d=class extends r{constructor(...e){super(...e),this.rpcClient=null,this.apiClient=null,this.eventDispatcher=null,this._loadState=`loading`,this._servers=[],this._mcpConfig=[],this._expandedServer=null,this._serverDetail=null,this._showAddForm=!1,this._disconnectTarget=null,this._deleteTarget=null,this._detailLoading=!1,this._showInstructions=!1,this._testingServer=null,this._testResult=null,this._newServerName=``,this._newServerTransport=`stdio`,this._newServerCommand=``,this._newServerUrl=``,this._newServerHeaders=``,this._newServerEnv=``,this._rpcStatusUnsub=null}static{this.styles=[o,i,n`
209
2
  :host {
210
3
  display: block;
211
4
  }
@@ -579,4 +372,211 @@ import{a as f,I as v,A as o,b as s,s as b,f as w,i as y,n as m,r as l,t as $}fro
579
372
  max-height: 12rem;
580
373
  overflow-y: auto;
581
374
  }
582
- `];a([m({attribute:!1})],n.prototype,"rpcClient",2);a([m({attribute:!1})],n.prototype,"apiClient",2);a([m({attribute:!1})],n.prototype,"eventDispatcher",2);a([l()],n.prototype,"_loadState",2);a([l()],n.prototype,"_servers",2);a([l()],n.prototype,"_mcpConfig",2);a([l()],n.prototype,"_expandedServer",2);a([l()],n.prototype,"_serverDetail",2);a([l()],n.prototype,"_showAddForm",2);a([l()],n.prototype,"_disconnectTarget",2);a([l()],n.prototype,"_deleteTarget",2);a([l()],n.prototype,"_detailLoading",2);a([l()],n.prototype,"_showInstructions",2);a([l()],n.prototype,"_testingServer",2);a([l()],n.prototype,"_testResult",2);a([l()],n.prototype,"_newServerName",2);a([l()],n.prototype,"_newServerTransport",2);a([l()],n.prototype,"_newServerCommand",2);a([l()],n.prototype,"_newServerUrl",2);a([l()],n.prototype,"_newServerHeaders",2);a([l()],n.prototype,"_newServerEnv",2);n=a([$("ic-mcp-management")],n);export{n as IcMcpManagement};
375
+ `]}connectedCallback(){super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this._rpcStatusUnsub?.(),this._rpcStatusUnsub=null}willUpdate(e){e.has(`rpcClient`)&&this.rpcClient&&this._tryLoad()}_tryLoad(){if(!this.rpcClient){this._loadState=`loaded`;return}this._rpcStatusUnsub?.(),this.rpcClient.status===`connected`?this._loadData():this._rpcStatusUnsub=this.rpcClient.onStatusChange(e=>{e===`connected`&&this._loadData()})}async _loadData(){if(this.rpcClient)try{let[e,t]=await Promise.all([this.rpcClient.call(`mcp.list`),this.rpcClient.call(`config.read`)]);this._servers=e.servers??[],this._mcpConfig=t.config?.integrations?.mcp?.servers??[],this._loadState=`loaded`}catch{this._loadState=`error`}}async _loadServerDetail(e){if(this.rpcClient){this._detailLoading=!0;try{let t=await this.rpcClient.call(`mcp.status`,{name:e});this._serverDetail=t,this._expandedServer=e}catch{u.show(`Failed to load tools for ${e}`,`error`),this._expandedServer=null,this._serverDetail=null}finally{this._detailLoading=!1}}}async _patchConfig(e,t,n){if(!this.rpcClient)return!1;try{return await this.rpcClient.call(`config.patch`,{section:e,key:t,value:n}),!0}catch(e){let t=e instanceof Error?e.message:`Failed to update configuration`;return u.show(t,`error`),!1}}_stripRedactedEnv(e){return e.map(e=>{if(!e.env||!Object.values(e.env).some(e=>e===`[REDACTED]`))return e;let{env:t,...n}=e;return n})}_requestDisconnect(e){this._disconnectTarget=e}async _confirmDisconnect(){let e=this._disconnectTarget;if(this._disconnectTarget=null,!(!e||!this.rpcClient))try{await this.rpcClient.call(`mcp.disconnect`,{name:e}),u.show(`Disconnected ${e}`,`success`),this._expandedServer===e&&(this._expandedServer=null,this._serverDetail=null),this._loadData()}catch{u.show(`Failed to disconnect ${e}`,`error`)}}_cancelDisconnect(){this._disconnectTarget=null}async _handleReconnect(e){if(this.rpcClient)try{await this.rpcClient.call(`mcp.reconnect`,{name:e}),u.show(`Reconnected ${e}`,`success`),this._loadData()}catch{u.show(`Failed to reconnect ${e}`,`error`)}}async _handleTest(e){if(this.rpcClient)try{let t=await this.rpcClient.call(`mcp.test`,{name:e});t.success?u.show(`${e}: test passed`,`success`):u.show(`${e}: test failed${t.message?` — `+t.message:``}`,`error`)}catch{u.show(`Failed to test ${e}`,`error`)}}_toggleTools(e){this._expandedServer===e?(this._expandedServer=null,this._serverDetail=null,this._showInstructions=!1):(this._showInstructions=!1,this._loadServerDetail(e))}async _toggleServer(e,t){let n=this._mcpConfig.map(n=>n.name===e?{...n,enabled:t}:n);await this._patchConfig(`integrations`,`mcp.servers`,this._stripRedactedEnv(n))&&(this._mcpConfig=n)}_removeServer(e){this._deleteTarget=e}async _confirmRemove(){let e=this._deleteTarget;if(this._deleteTarget=null,!e)return;let t=this._mcpConfig.filter(t=>t.name!==e);await this._patchConfig(`integrations`,`mcp.servers`,this._stripRedactedEnv(t))&&(this._mcpConfig=t,u.show(`Removed MCP server "${e}"`,`success`),this._loadData())}_cancelRemove(){this._deleteTarget=null}async _addServer(){if(!this._newServerName.trim()){u.show(`Server name is required`,`error`);return}let e=this._newServerName.trim();if(this._mcpConfig.some(t=>t.name===e)){u.show(`MCP server "${e}" already exists`,`error`);return}if(this._newServerTransport===`stdio`&&!this._newServerCommand.trim()){u.show(`Command is required for stdio transport`,`error`);return}if(this._newServerTransport!==`stdio`&&!this._newServerUrl.trim()){u.show(`URL is required for remote transport`,`error`);return}let t={name:e,transport:this._newServerTransport,enabled:!0};if(this._newServerTransport===`stdio`){let e=this._newServerCommand.trim().split(/\s+/);t.command=e[0]??``,e.length>1&&(t.args=e.slice(1))}else t.url=this._newServerUrl.trim();let n=this._newServerHeaders.trim();if(n){let e={};for(let t of n.split(`
376
+ `)){let n=t.indexOf(`:`);if(n>0){let r=t.slice(0,n).trim(),i=t.slice(n+1).trim();r&&(e[r]=i)}}Object.keys(e).length>0&&(t.headers=e)}let r=this._newServerEnv.trim();if(r){let e={};for(let t of r.split(`
377
+ `)){let n=t.indexOf(`=`);n>0&&(e[t.slice(0,n).trim()]=t.slice(n+1).trim())}Object.keys(e).length>0&&(t.env=e)}let i=[...this._mcpConfig,t];await this._patchConfig(`integrations`,`mcp.servers`,this._stripRedactedEnv(i))&&(this._mcpConfig=i,this._newServerName=``,this._newServerCommand=``,this._newServerUrl=``,this._newServerHeaders=``,this._newServerEnv=``,this._showAddForm=!1,u.show(`Added MCP server "${e}"`,`success`),this._loadData())}async _testServerConfig(e){if(!(!this.rpcClient||this._testingServer)){this._testingServer=e.name,this._testResult=null;try{let t={name:e.name,transport:e.transport};e.transport===`stdio`?(t.command=e.command,t.args=e.args):t.url=e.url,e.env&&Object.keys(e.env).length>0&&(t.env=e.env),e.headers&&Object.keys(e.headers).length>0&&(t.headers=e.headers);let n=await this.rpcClient.call(`mcp.test`,t);this._testResult={name:e.name,...n}}catch(t){let n=t instanceof Error?t.message:`Test failed`,r=n===`Not connected`||n.includes(`WebSocket`);this._testResult={name:e.name,success:!1,error:r?`Daemon not connected -- wait for reconnection and try again`:n}}finally{this._testingServer=null}}}_statusColor(e){switch(e){case`connected`:return`green`;case`disconnected`:return`default`;case`connecting`:return`yellow`;case`reconnecting`:return`yellow`;case`error`:return`red`;default:return`default`}}_renderAddServerForm(){return t`
378
+ <div class="add-server-form">
379
+ <div class="add-server-title">Add Server</div>
380
+ <div class="add-server-row">
381
+ <input
382
+ class="add-server-input"
383
+ type="text"
384
+ placeholder="Server name"
385
+ .value=${this._newServerName}
386
+ @input=${e=>{this._newServerName=e.target.value}}
387
+ />
388
+ <select
389
+ class="add-server-select"
390
+ .value=${this._newServerTransport}
391
+ @change=${e=>{this._newServerTransport=e.target.value}}
392
+ >
393
+ <option value="stdio">stdio</option>
394
+ <option value="sse">sse</option>
395
+ <option value="http">http</option>
396
+ </select>
397
+ </div>
398
+ ${this._newServerTransport===`stdio`?t`
399
+ <input
400
+ class="add-server-input"
401
+ type="text"
402
+ placeholder="Command (e.g., npx -y @mcp/server)"
403
+ .value=${this._newServerCommand}
404
+ @input=${e=>{this._newServerCommand=e.target.value}}
405
+ />
406
+ `:t`
407
+ <input
408
+ class="add-server-input"
409
+ type="text"
410
+ placeholder=${this._newServerTransport===`sse`?`URL (e.g., http://localhost:3001/sse)`:`URL (e.g., http://localhost:3001/mcp)`}
411
+ .value=${this._newServerUrl}
412
+ @input=${e=>{this._newServerUrl=e.target.value}}
413
+ />
414
+ `}
415
+ ${this._newServerTransport===`stdio`?l:t`
416
+ <textarea
417
+ class="add-server-input"
418
+ rows="2"
419
+ placeholder="Custom headers (one per line: Header-Name: value)"
420
+ .value=${this._newServerHeaders}
421
+ @input=${e=>{this._newServerHeaders=e.target.value}}
422
+ style="resize:vertical;font-family:monospace;font-size:0.85rem"
423
+ ></textarea>
424
+ `}
425
+ <textarea
426
+ class="add-server-input"
427
+ rows="2"
428
+ placeholder="Environment variables (one per line: KEY=VALUE)"
429
+ .value=${this._newServerEnv}
430
+ @input=${e=>{this._newServerEnv=e.target.value}}
431
+ style="resize:vertical;font-family:monospace;font-size:0.85rem"
432
+ ></textarea>
433
+ <div style="display: flex; gap: var(--ic-space-sm);">
434
+ <button class="add-server-btn" @click=${()=>this._addServer()}>Add Server</button>
435
+ <button class="cancel-btn" @click=${()=>{this._showAddForm=!1,this._newServerName=``,this._newServerCommand=``,this._newServerUrl=``,this._newServerHeaders=``,this._newServerEnv=``}}>Cancel</button>
436
+ </div>
437
+ </div>
438
+ `}_renderCapabilityBadges(e){if(!e)return l;let n=[];return e.tools&&n.push(t`<ic-tag variant="info">tools</ic-tag>`),e.resources&&n.push(t`<ic-tag variant="accent">resources</ic-tag>`),e.prompts&&n.push(t`<ic-tag variant="success">prompts</ic-tag>`),n.length===0?l:t`<span class="capability-badges">${n}</span>`}_renderServerVersion(e){return e?t`<span class="server-version">${e.name} v${e.version}</span>`:l}_renderInstructions(){return this._serverDetail?.instructions?t`
439
+ <div class="instructions-section">
440
+ <button
441
+ class="instructions-toggle"
442
+ @click=${()=>{this._showInstructions=!this._showInstructions}}
443
+ >
444
+ ${this._showInstructions?`Hide Instructions`:`Show Instructions`}
445
+ </button>
446
+ ${this._showInstructions?t`<div class="instructions-content">${this._serverDetail.instructions}</div>`:l}
447
+ </div>
448
+ `:l}_renderToolList(){return this._detailLoading?t`<div class="tool-loading">Loading tools...</div>`:!this._serverDetail||!this._serverDetail.tools.length?t`<div class="tool-loading">No tools discovered</div>`:t`
449
+ <div class="tool-list">
450
+ ${this._serverDetail.tools.map(e=>t`
451
+ <div class="tool-entry">
452
+ <div class="tool-name">${e.name}</div>
453
+ <div class="tool-qualified">${e.qualifiedName}</div>
454
+ ${e.description?t`<div class="tool-desc">${e.description}</div>`:l}
455
+ </div>
456
+ `)}
457
+ </div>
458
+ ${this._renderInstructions()}
459
+ `}_renderTestResult(e){let n=this._testResult?.name===e?this._testResult:null;return n?n.success?t`<div class="server-test-result server-test-success">Connected -- ${n.toolCount} tool(s): ${n.tools?.join(`, `)||`none`}</div>`:t`<div class="server-test-result server-test-error">${n.error}</div>`:l}_renderServer(e){let n=this._expandedServer===e.name,r=e.status===`connected`,i=e.status===`disconnected`||e.status===`error`||e.status===`reconnecting`,a=this._mcpConfig.find(t=>t.name===e.name);return t`
460
+ <div class="server-card">
461
+ <div class="server-header">
462
+ <ic-tag color=${this._statusColor(e.status)}>${e.status===`reconnecting`&&e.reconnectAttempt?`reconnecting (${e.reconnectAttempt})`:e.status}</ic-tag>
463
+ <span class="server-name">${e.name}</span>
464
+ ${a?t`
465
+ <ic-tag variant=${a.transport===`stdio`?`info`:`accent`}>${a.transport}</ic-tag>
466
+ `:l}
467
+ <span class="server-tools-count">${e.toolCount} tool${e.toolCount===1?``:`s`}</span>
468
+ ${this._renderCapabilityBadges(e.capabilities)}
469
+ ${this._renderServerVersion(e.serverVersion)}
470
+ ${e.lastHealthCheck?t`
471
+ <span class="server-health">
472
+ Last check: <ic-relative-time .timestamp=${e.lastHealthCheck}></ic-relative-time>
473
+ </span>
474
+ `:l}
475
+ </div>
476
+ ${e.status===`error`&&e.error?t`
477
+ <span class="server-error">${e.error}</span>
478
+ `:l}
479
+ ${a?t`
480
+ <span class="server-command">
481
+ ${a.transport===`stdio`?`${a.command??``}${a.args?.length?` `+a.args.join(` `):``}`:a.url??``}
482
+ </span>
483
+ ${a.env&&Object.keys(a.env).length>0?t`<span class="server-env-badge" title=${Object.keys(a.env).join(`, `)}>env: ${Object.keys(a.env).join(`, `)}</span>`:l}
484
+ ${a.headers&&Object.keys(a.headers).length>0?t`<span class="server-env-badge" title=${Object.keys(a.headers).join(`, `)}>headers: ${Object.keys(a.headers).join(`, `)}</span>`:l}
485
+ `:l}
486
+ <div class="server-actions">
487
+ ${r?t`
488
+ <button class="action-btn danger" @click=${()=>this._requestDisconnect(e.name)}>Disconnect</button>
489
+ `:l}
490
+ ${i?t`
491
+ <button class="action-btn primary" @click=${()=>this._handleReconnect(e.name)}>Reconnect</button>
492
+ `:l}
493
+ <button class="action-btn" @click=${()=>this._handleTest(e.name)}>Test</button>
494
+ <button class="action-btn" @click=${()=>this._toggleTools(e.name)}>
495
+ ${n?`Hide Tools`:`Tools`}
496
+ </button>
497
+ ${a?t`
498
+ <input
499
+ type="checkbox"
500
+ class="toggle-checkbox"
501
+ .checked=${a.enabled}
502
+ @change=${t=>{this._toggleServer(e.name,t.target.checked)}}
503
+ aria-label="Enable ${e.name}"
504
+ />
505
+ <button class="action-btn danger" @click=${()=>this._removeServer(e.name)}>Delete</button>
506
+ `:l}
507
+ </div>
508
+ ${this._renderTestResult(e.name)}
509
+ ${n?this._renderToolList():l}
510
+ </div>
511
+ `}_renderConfigOnlyServer(e){let n=this._testingServer===e.name;return t`
512
+ <div class="server-card">
513
+ <div class="server-header">
514
+ <ic-tag color="default">not running</ic-tag>
515
+ <span class="server-name">${e.name}</span>
516
+ <ic-tag variant=${e.transport===`stdio`?`info`:`accent`}>${e.transport}</ic-tag>
517
+ </div>
518
+ <span class="server-command">
519
+ ${e.transport===`stdio`?`${e.command??``}${e.args?.length?` `+e.args.join(` `):``}`:e.url??``}
520
+ </span>
521
+ ${e.env&&Object.keys(e.env).length>0?t`<span class="server-env-badge" title=${Object.keys(e.env).join(`, `)}>env: ${Object.keys(e.env).join(`, `)}</span>`:l}
522
+ ${e.headers&&Object.keys(e.headers).length>0?t`<span class="server-env-badge" title=${Object.keys(e.headers).join(`, `)}>headers: ${Object.keys(e.headers).join(`, `)}</span>`:l}
523
+ <div class="server-actions">
524
+ <button
525
+ class="action-btn"
526
+ ?disabled=${n}
527
+ @click=${()=>this._testServerConfig(e)}
528
+ >${n?`Testing...`:`Test`}</button>
529
+ <input
530
+ type="checkbox"
531
+ class="toggle-checkbox"
532
+ .checked=${e.enabled}
533
+ @change=${t=>{this._toggleServer(e.name,t.target.checked)}}
534
+ aria-label="Enable ${e.name}"
535
+ />
536
+ <button class="action-btn danger" @click=${()=>this._removeServer(e.name)}>Delete</button>
537
+ </div>
538
+ ${this._renderTestResult(e.name)}
539
+ </div>
540
+ `}render(){if(this._loadState===`loading`)return t`<ic-skeleton-view variant="list"></ic-skeleton-view>`;if(this._loadState===`error`)return t`
541
+ <div class="error-message">
542
+ Failed to load MCP server data
543
+ <br />
544
+ <button class="retry-btn" @click=${()=>void this._loadData()}>Retry</button>
545
+ </div>
546
+ `;let e=this._mcpConfig.filter(e=>!this._servers.some(t=>t.name===e.name)),n=this._servers.length>0||e.length>0;return t`
547
+ ${this._showAddForm?this._renderAddServerForm():l}
548
+ ${n?t`
549
+ <div class="header-row">
550
+ <span class="header-title">${this._servers.length+e.length} server${this._servers.length+e.length===1?``:`s`}</span>
551
+ <button class="connect-btn" @click=${()=>{this._showAddForm=!0}}>Add Server</button>
552
+ </div>
553
+ <div class="server-list">
554
+ ${this._servers.map(e=>this._renderServer(e))}
555
+ ${e.map(e=>this._renderConfigOnlyServer(e))}
556
+ </div>
557
+ `:t`
558
+ <ic-empty-state message="No MCP servers configured. Add a server to extend agent capabilities.">
559
+ <button class="connect-btn" @click=${()=>{this._showAddForm=!0}}>Add Server</button>
560
+ </ic-empty-state>
561
+ `}
562
+
563
+ <ic-confirm-dialog
564
+ ?open=${this._disconnectTarget!==null}
565
+ title="Disconnect MCP Server"
566
+ message="This will disconnect the server and its tools will become unavailable."
567
+ confirmLabel="Disconnect"
568
+ variant="danger"
569
+ @confirm=${this._confirmDisconnect}
570
+ @cancel=${this._cancelDisconnect}
571
+ ></ic-confirm-dialog>
572
+
573
+ <ic-confirm-dialog
574
+ ?open=${this._deleteTarget!==null}
575
+ title="Delete MCP Server"
576
+ message="This will remove the server from configuration. The server will be disconnected if currently running."
577
+ confirmLabel="Delete"
578
+ variant="danger"
579
+ @confirm=${this._confirmRemove}
580
+ @cancel=${this._cancelRemove}
581
+ ></ic-confirm-dialog>
582
+ `}};c([s({attribute:!1})],d.prototype,`rpcClient`,void 0),c([s({attribute:!1})],d.prototype,`apiClient`,void 0),c([s({attribute:!1})],d.prototype,`eventDispatcher`,void 0),c([a()],d.prototype,`_loadState`,void 0),c([a()],d.prototype,`_servers`,void 0),c([a()],d.prototype,`_mcpConfig`,void 0),c([a()],d.prototype,`_expandedServer`,void 0),c([a()],d.prototype,`_serverDetail`,void 0),c([a()],d.prototype,`_showAddForm`,void 0),c([a()],d.prototype,`_disconnectTarget`,void 0),c([a()],d.prototype,`_deleteTarget`,void 0),c([a()],d.prototype,`_detailLoading`,void 0),c([a()],d.prototype,`_showInstructions`,void 0),c([a()],d.prototype,`_testingServer`,void 0),c([a()],d.prototype,`_testResult`,void 0),c([a()],d.prototype,`_newServerName`,void 0),c([a()],d.prototype,`_newServerTransport`,void 0),c([a()],d.prototype,`_newServerCommand`,void 0),c([a()],d.prototype,`_newServerUrl`,void 0),c([a()],d.prototype,`_newServerHeaders`,void 0),c([a()],d.prototype,`_newServerEnv`,void 0),d=c([e(`ic-mcp-management`)],d);export{d as IcMcpManagement};