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,56 @@
1
+ /**
2
+ * Provider management tool: multi-action tool for LLM provider configuration.
3
+ *
4
+ * Supports 7 actions: list, get, create, update, delete, enable, disable.
5
+ * Destructive actions (create, delete) require approval via the ApprovalGate.
6
+ * All actions enforce admin trust level via createTrustGuard.
7
+ * Delegates to providers.* RPC handlers via rpcCall.
8
+ *
9
+ * @module
10
+ */
11
+ import type { AgentTool } from "@mariozechner/pi-agent-core";
12
+ import type { ApprovalGate } from "@comis/core";
13
+ import type { RpcCall } from "./cron-tool.js";
14
+ export declare const ProvidersManageToolParams: import("@sinclair/typebox").TObject<{
15
+ action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"list">, import("@sinclair/typebox").TLiteral<"get">, import("@sinclair/typebox").TLiteral<"create">, import("@sinclair/typebox").TLiteral<"update">, import("@sinclair/typebox").TLiteral<"delete">, import("@sinclair/typebox").TLiteral<"enable">, import("@sinclair/typebox").TLiteral<"disable">]>;
16
+ provider_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
+ config: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
18
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
19
+ name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
20
+ baseUrl: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
21
+ apiKeyName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
22
+ enabled: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
23
+ timeoutMs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
24
+ maxRetries: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
25
+ headers: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>>;
26
+ models: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
27
+ id: import("@sinclair/typebox").TString;
28
+ name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
29
+ reasoning: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
30
+ contextWindow: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
31
+ maxTokens: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TInteger>;
32
+ input: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"text">, import("@sinclair/typebox").TLiteral<"image">]>>>;
33
+ }>>>;
34
+ }>, import("@sinclair/typebox").TString]>>;
35
+ }>;
36
+ /**
37
+ * Create a provider management tool with 7 actions.
38
+ *
39
+ * Actions:
40
+ * - **list** -- List all configured providers
41
+ * - **get** -- Get provider configuration and status
42
+ * - **create** -- Register a new provider (requires approval)
43
+ * - **update** -- Modify provider configuration
44
+ * - **delete** -- Remove a provider (requires approval)
45
+ * - **enable** -- Enable a disabled provider
46
+ * - **disable** -- Disable a provider
47
+ *
48
+ * @param rpcCall - RPC call function for delegating to the daemon backend
49
+ * @param approvalGate - Optional approval gate for create/delete actions
50
+ * @param callbacks - Optional mutation lifecycle callbacks (onMutationStart/onMutationEnd)
51
+ * @returns AgentTool implementing the provider management interface
52
+ */
53
+ export declare function createProvidersManageTool(rpcCall: RpcCall, approvalGate?: ApprovalGate, callbacks?: {
54
+ onMutationStart?: () => void;
55
+ onMutationEnd?: () => void;
56
+ }): AgentTool<typeof ProvidersManageToolParams>;
@@ -0,0 +1,203 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ /**
3
+ * Provider management tool: multi-action tool for LLM provider configuration.
4
+ *
5
+ * Supports 7 actions: list, get, create, update, delete, enable, disable.
6
+ * Destructive actions (create, delete) require approval via the ApprovalGate.
7
+ * All actions enforce admin trust level via createTrustGuard.
8
+ * Delegates to providers.* RPC handlers via rpcCall.
9
+ *
10
+ * @module
11
+ */
12
+ import { Type } from "@sinclair/typebox";
13
+ import { readStringParam } from "./tool-helpers.js";
14
+ import { createAdminManageTool } from "./admin-manage-factory.js";
15
+ // ---------------------------------------------------------------------------
16
+ // Parameter schema
17
+ // ---------------------------------------------------------------------------
18
+ export const ProvidersManageToolParams = Type.Object({
19
+ action: Type.Union([
20
+ Type.Literal("list"),
21
+ Type.Literal("get"),
22
+ Type.Literal("create"),
23
+ Type.Literal("update"),
24
+ Type.Literal("delete"),
25
+ Type.Literal("enable"),
26
+ Type.Literal("disable"),
27
+ ], {
28
+ description: "Provider management action. Valid values: " +
29
+ "list (view all providers), get (read config), " +
30
+ "create (register new provider), update (modify config), " +
31
+ "delete (remove provider), enable/disable (toggle availability)",
32
+ }),
33
+ provider_id: Type.Optional(Type.String({
34
+ description: "The provider identifier (required for all actions except list) " +
35
+ "-- any user-chosen name (e.g., 'nvidia', 'deepseek', 'ollama-local', " +
36
+ "'groq', 'my-vllm', 'company-internal')",
37
+ })),
38
+ config: Type.Optional(Type.Union([
39
+ Type.Object({
40
+ type: Type.Optional(Type.String({
41
+ description: "Provider SDK type -- determines the API protocol. Common values: " +
42
+ "openai (any OpenAI-compatible endpoint), anthropic, google, ollama, " +
43
+ "groq, mistral, together, deepseek, cerebras, xai, openrouter. " +
44
+ "Use 'openai' for custom/self-hosted endpoints that speak the OpenAI " +
45
+ "API format (NVIDIA NIM, vLLM, LM Studio, llama.cpp, Fireworks, " +
46
+ "Perplexity, etc.)",
47
+ })),
48
+ name: Type.Optional(Type.String({ description: "Human-readable display name" })),
49
+ baseUrl: Type.Optional(Type.String({
50
+ description: "API base URL (e.g., https://integrate.api.nvidia.com/v1)",
51
+ })),
52
+ apiKeyName: Type.Optional(Type.String({
53
+ description: "SecretManager key name for the API key (NOT the key itself). " +
54
+ "Store the key first via gateway env_set. Required for cloud " +
55
+ "providers; may be omitted for type='ollama' once keyless " +
56
+ "registration lands (until then, all entries with models[] " +
57
+ "need a resolvable apiKeyName).",
58
+ })),
59
+ enabled: Type.Optional(Type.Boolean({
60
+ description: "Whether provider is active (default: true)",
61
+ })),
62
+ timeoutMs: Type.Optional(Type.Integer({
63
+ description: "Request timeout in ms (default: 120000)",
64
+ })),
65
+ maxRetries: Type.Optional(Type.Integer({
66
+ description: "Max retries for transient errors (default: 2)",
67
+ })),
68
+ headers: Type.Optional(Type.Record(Type.String(), Type.String(), {
69
+ description: "Custom headers for API requests",
70
+ })),
71
+ models: Type.Optional(Type.Array(Type.Object({
72
+ id: Type.String({
73
+ description: "Model ID at provider (e.g., moonshotai/kimi-k2.5)",
74
+ }),
75
+ name: Type.Optional(Type.String({ description: "Display name" })),
76
+ reasoning: Type.Optional(Type.Boolean({
77
+ description: "Supports extended thinking",
78
+ })),
79
+ contextWindow: Type.Optional(Type.Integer({
80
+ description: "Max context tokens",
81
+ })),
82
+ maxTokens: Type.Optional(Type.Integer({
83
+ description: "Max output tokens",
84
+ })),
85
+ input: Type.Optional(Type.Array(Type.Union([Type.Literal("text"), Type.Literal("image")]))),
86
+ }), { description: "User-defined model entries for this provider" })),
87
+ }, { description: "Provider configuration for create/update" }),
88
+ Type.String({
89
+ description: "Provider config as JSON string (fallback). Prefer object form.",
90
+ }),
91
+ ])),
92
+ });
93
+ const VALID_ACTIONS = ["list", "get", "create", "update", "delete", "enable", "disable"];
94
+ // ---------------------------------------------------------------------------
95
+ // Helpers
96
+ // ---------------------------------------------------------------------------
97
+ /** Coerce config from JSON string to object if LLM double-encoded it. */
98
+ function coerceConfig(p) {
99
+ const raw = p.config;
100
+ if (typeof raw === "string") {
101
+ try {
102
+ const parsed = JSON.parse(raw);
103
+ if (typeof parsed === "object" && parsed !== null && !Array.isArray(parsed)) {
104
+ return parsed;
105
+ }
106
+ }
107
+ catch { /* not valid JSON, fall through */ }
108
+ }
109
+ return raw;
110
+ }
111
+ // ---------------------------------------------------------------------------
112
+ // Factory
113
+ // ---------------------------------------------------------------------------
114
+ /**
115
+ * Create a provider management tool with 7 actions.
116
+ *
117
+ * Actions:
118
+ * - **list** -- List all configured providers
119
+ * - **get** -- Get provider configuration and status
120
+ * - **create** -- Register a new provider (requires approval)
121
+ * - **update** -- Modify provider configuration
122
+ * - **delete** -- Remove a provider (requires approval)
123
+ * - **enable** -- Enable a disabled provider
124
+ * - **disable** -- Disable a provider
125
+ *
126
+ * @param rpcCall - RPC call function for delegating to the daemon backend
127
+ * @param approvalGate - Optional approval gate for create/delete actions
128
+ * @param callbacks - Optional mutation lifecycle callbacks (onMutationStart/onMutationEnd)
129
+ * @returns AgentTool implementing the provider management interface
130
+ */
131
+ export function createProvidersManageTool(rpcCall, approvalGate, callbacks) {
132
+ return createAdminManageTool({
133
+ name: "providers_manage",
134
+ label: "Provider Management",
135
+ description: "Manage LLM providers: list, get, create, update, delete, enable, disable. " +
136
+ "Create/delete require approval. API keys must be stored separately via gateway env_set.",
137
+ parameters: ProvidersManageToolParams,
138
+ validActions: VALID_ACTIONS,
139
+ rpcPrefix: "providers",
140
+ gatedActions: ["create", "delete"],
141
+ actionOverrides: {
142
+ async list(_p, rpcCall, ctx) {
143
+ return rpcCall("providers.list", { _trustLevel: ctx.trustLevel });
144
+ },
145
+ async get(p, rpcCall, ctx) {
146
+ const providerId = readStringParam(p, "provider_id");
147
+ return rpcCall("providers.get", { providerId, _trustLevel: ctx.trustLevel });
148
+ },
149
+ async create(p, rpcCall, ctx) {
150
+ const providerId = readStringParam(p, "provider_id");
151
+ const config = coerceConfig(p);
152
+ callbacks?.onMutationStart?.();
153
+ try {
154
+ return await rpcCall("providers.create", { providerId, config, _trustLevel: ctx.trustLevel });
155
+ }
156
+ finally {
157
+ callbacks?.onMutationEnd?.();
158
+ }
159
+ },
160
+ async update(p, rpcCall, ctx) {
161
+ const providerId = readStringParam(p, "provider_id");
162
+ const config = coerceConfig(p);
163
+ callbacks?.onMutationStart?.();
164
+ try {
165
+ return await rpcCall("providers.update", { providerId, config, _trustLevel: ctx.trustLevel });
166
+ }
167
+ finally {
168
+ callbacks?.onMutationEnd?.();
169
+ }
170
+ },
171
+ async delete(p, rpcCall, ctx) {
172
+ const providerId = readStringParam(p, "provider_id");
173
+ callbacks?.onMutationStart?.();
174
+ try {
175
+ return await rpcCall("providers.delete", { providerId, _trustLevel: ctx.trustLevel });
176
+ }
177
+ finally {
178
+ callbacks?.onMutationEnd?.();
179
+ }
180
+ },
181
+ async enable(p, rpcCall, ctx) {
182
+ const providerId = readStringParam(p, "provider_id");
183
+ callbacks?.onMutationStart?.();
184
+ try {
185
+ return await rpcCall("providers.enable", { providerId, _trustLevel: ctx.trustLevel });
186
+ }
187
+ finally {
188
+ callbacks?.onMutationEnd?.();
189
+ }
190
+ },
191
+ async disable(p, rpcCall, ctx) {
192
+ const providerId = readStringParam(p, "provider_id");
193
+ callbacks?.onMutationStart?.();
194
+ try {
195
+ return await rpcCall("providers.disable", { providerId, _trustLevel: ctx.trustLevel });
196
+ }
197
+ finally {
198
+ callbacks?.onMutationEnd?.();
199
+ }
200
+ },
201
+ },
202
+ }, rpcCall, approvalGate, callbacks);
203
+ }
@@ -33,7 +33,7 @@ export { expandSkillForInvocation } from "./prompt/processor.js";
33
33
  export { scanSkillContent, type ContentScanResult, type ContentScanFinding } from "./prompt/content-scanner.js";
34
34
  export { createSTTProvider, createFallbackTranscription } from "./integrations/stt-factory.js";
35
35
  export { preprocessMessage } from "./integrations/media-preprocessor.js";
36
- export { createMemorySearchTool, createMemoryGetTool, createMemoryStoreTool, createSessionStatusTool, createSessionsListTool, createSessionsHistoryTool, createSessionsSendTool, createSessionsSpawnTool, createSessionSearchTool, createAgentsListTool, createSubagentsTool, createPipelineTool, createMessageTool, createCronTool, type RpcCall, createDiscordActionTool, createTelegramActionTool, createSlackActionTool, createWhatsAppActionTool, createImageTool, createTTSTool, createTranscribeAudioTool, createDescribeVideoTool, createExtractDocumentTool, createGatewayTool, createBrowserTool, createHeartbeatManageTool, createNotifyTool, createImageGenerateTool, createCtxSearchTool, createCtxInspectTool, createCtxRecallTool, createCtxExpandTool, createAgentsManageTool, createObsQueryTool, createMemoryManageTool, createSessionsManageTool, createModelsManageTool, createTokensManageTool, createChannelsManageTool, createSkillsManageTool, createMcpManageTool, createBackgroundTasksTool, createUnifiedSessionTool, createUnifiedMemoryTool, createUnifiedContextTool, } from "./builtin/platform/index.js";
36
+ export { createMemorySearchTool, createMemoryGetTool, createMemoryStoreTool, createSessionStatusTool, createSessionsListTool, createSessionsHistoryTool, createSessionsSendTool, createSessionsSpawnTool, createSessionSearchTool, createSubagentsTool, createPipelineTool, createMessageTool, createCronTool, type RpcCall, createDiscordActionTool, createTelegramActionTool, createSlackActionTool, createWhatsAppActionTool, createImageTool, createTTSTool, createTranscribeAudioTool, createDescribeVideoTool, createExtractDocumentTool, createGatewayTool, createBrowserTool, createHeartbeatManageTool, createNotifyTool, createImageGenerateTool, createCtxSearchTool, createCtxInspectTool, createCtxRecallTool, createCtxExpandTool, createAgentsManageTool, createObsQueryTool, createMemoryManageTool, createSessionsManageTool, createModelsManageTool, createProvidersManageTool, createTokensManageTool, createChannelsManageTool, createSkillsManageTool, createMcpManageTool, createBackgroundTasksTool, createUnifiedSessionTool, createUnifiedMemoryTool, createUnifiedContextTool, } from "./builtin/platform/index.js";
37
37
  export { createBrowserService } from "./browser/index.js";
38
38
  export type { BrowserService, ActParams } from "./browser/index.js";
39
39
  export { createTTSProvider } from "./integrations/tts-factory.js";
@@ -51,7 +51,7 @@ createMemorySearchTool, createMemoryGetTool, createMemoryStoreTool,
51
51
  // Session tools
52
52
  createSessionStatusTool, createSessionsListTool, createSessionsHistoryTool, createSessionsSendTool, createSessionsSpawnTool, createSessionSearchTool,
53
53
  // Agent tools
54
- createAgentsListTool, createSubagentsTool, createPipelineTool,
54
+ createSubagentsTool, createPipelineTool,
55
55
  // Messaging
56
56
  createMessageTool,
57
57
  // Scheduling
@@ -71,7 +71,7 @@ createImageGenerateTool,
71
71
  // Context DAG tools
72
72
  createCtxSearchTool, createCtxInspectTool, createCtxRecallTool, createCtxExpandTool,
73
73
  // Fleet management
74
- createAgentsManageTool, createObsQueryTool, createMemoryManageTool, createSessionsManageTool, createModelsManageTool, createTokensManageTool, createChannelsManageTool, createSkillsManageTool, createMcpManageTool,
74
+ createAgentsManageTool, createObsQueryTool, createMemoryManageTool, createSessionsManageTool, createModelsManageTool, createProvidersManageTool, createTokensManageTool, createChannelsManageTool, createSkillsManageTool, createMcpManageTool,
75
75
  // Background tasks
76
76
  createBackgroundTasksTool,
77
77
  // Unified tools (action dispatch -- consolidates individual tools)
@@ -97,7 +97,6 @@ export const TOOL_GROUPS = {
97
97
  "session_status",
98
98
  "session_search",
99
99
  "subagents",
100
- "agents_list",
101
100
  "pipeline",
102
101
  ],
103
102
  "group:platform_actions": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@comis/skills",
3
3
  "private": true,
4
- "version": "1.0.24",
4
+ "version": "1.0.26",
5
5
  "author": "Moshe Anconina",
6
6
  "license": "Apache-2.0",
7
7
  "description": "Skill system, MCP integration, and tool sandbox for Comis agents",