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.
- package/node_modules/@comis/agent/dist/bootstrap/sections/tool-descriptions.js +130 -10
- package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.d.ts +1 -1
- package/node_modules/@comis/agent/dist/bootstrap/sections/tooling-sections.js +9 -2
- package/node_modules/@comis/agent/dist/bridge/bridge-metrics.d.ts +8 -0
- package/node_modules/@comis/agent/dist/bridge/bridge-metrics.js +2 -0
- package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.d.ts +29 -0
- package/node_modules/@comis/agent/dist/bridge/pi-event-bridge.js +242 -2
- package/node_modules/@comis/agent/dist/bridge/thinking-block-hash-invariant.d.ts +210 -0
- package/node_modules/@comis/agent/dist/bridge/thinking-block-hash-invariant.js +566 -0
- package/node_modules/@comis/agent/dist/context-engine/context-engine.js +8 -6
- package/node_modules/@comis/agent/dist/context-engine/signature-replay-scrubber.d.ts +51 -30
- package/node_modules/@comis/agent/dist/context-engine/signature-replay-scrubber.js +109 -36
- package/node_modules/@comis/agent/dist/executor/executor-context-engine-setup.js +5 -1
- package/node_modules/@comis/agent/dist/executor/executor-post-execution.js +22 -20
- package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.d.ts +2 -0
- package/node_modules/@comis/agent/dist/executor/executor-prompt-runner.js +111 -15
- package/node_modules/@comis/agent/dist/executor/executor-response-filter.d.ts +20 -17
- package/node_modules/@comis/agent/dist/executor/executor-response-filter.js +132 -52
- package/node_modules/@comis/agent/dist/executor/executor-tool-assembly.js +16 -3
- package/node_modules/@comis/agent/dist/executor/model-retry.d.ts +14 -0
- package/node_modules/@comis/agent/dist/executor/model-retry.js +72 -1
- package/node_modules/@comis/agent/dist/executor/pi-executor.d.ts +3 -0
- package/node_modules/@comis/agent/dist/executor/pi-executor.js +68 -9
- package/node_modules/@comis/agent/dist/executor/post-batch-continuation.d.ts +82 -0
- package/node_modules/@comis/agent/dist/executor/post-batch-continuation.js +200 -0
- package/node_modules/@comis/agent/dist/executor/stream-wrappers/request-body-injector.js +1 -9
- package/node_modules/@comis/agent/dist/executor/tool-deferral.d.ts +37 -2
- package/node_modules/@comis/agent/dist/executor/tool-deferral.js +45 -3
- package/node_modules/@comis/agent/dist/executor/tool-parallelism.js +0 -1
- package/node_modules/@comis/agent/dist/executor/types.d.ts +11 -2
- package/node_modules/@comis/agent/dist/index.d.ts +3 -1
- package/node_modules/@comis/agent/dist/index.js +2 -0
- package/node_modules/@comis/agent/dist/model/last-known-model.d.ts +36 -0
- package/node_modules/@comis/agent/dist/model/last-known-model.js +49 -0
- package/node_modules/@comis/agent/dist/model/model-registry-adapter.d.ts +16 -4
- package/node_modules/@comis/agent/dist/model/model-registry-adapter.js +65 -21
- package/node_modules/@comis/agent/dist/planner/types.d.ts +0 -2
- package/node_modules/@comis/agent/dist/session/comis-session-manager.d.ts +10 -0
- package/node_modules/@comis/agent/dist/session/comis-session-manager.js +5 -0
- package/node_modules/@comis/agent/dist/spawn/pi-mono-adapters.js +7 -0
- package/node_modules/@comis/agent/package.json +1 -1
- package/node_modules/@comis/channels/package.json +1 -1
- package/node_modules/@comis/cli/dist/client/rpc-client.js +6 -1
- package/node_modules/@comis/cli/dist/commands/doctor.js +5 -3
- package/node_modules/@comis/cli/dist/commands/health.js +5 -2
- package/node_modules/@comis/cli/dist/wizard/json-output.js +7 -3
- package/node_modules/@comis/cli/dist/wizard/steps/11-daemon-start.js +130 -0
- package/node_modules/@comis/cli/package.json +1 -1
- package/node_modules/@comis/core/dist/bootstrap.js +5 -0
- package/node_modules/@comis/core/dist/config/env-layer.d.ts +31 -0
- package/node_modules/@comis/core/dist/config/env-layer.js +41 -0
- package/node_modules/@comis/core/dist/config/immutable-keys.d.ts +2 -2
- package/node_modules/@comis/core/dist/config/immutable-keys.js +8 -3
- package/node_modules/@comis/core/dist/config/layered.d.ts +9 -0
- package/node_modules/@comis/core/dist/config/layered.js +11 -0
- package/node_modules/@comis/core/dist/config/managed-sections.d.ts +43 -4
- package/node_modules/@comis/core/dist/config/managed-sections.js +100 -6
- package/node_modules/@comis/core/dist/config/schema-agent.d.ts +39 -0
- package/node_modules/@comis/core/dist/config/schema-agent.js +14 -0
- package/node_modules/@comis/core/dist/config/schema.d.ts +4 -0
- package/node_modules/@comis/core/dist/config/schema.js +14 -0
- package/node_modules/@comis/core/dist/domain/execution-graph.d.ts +1 -1
- package/node_modules/@comis/core/dist/event-bus/events-agent.d.ts +17 -2
- package/node_modules/@comis/core/dist/exports/config.d.ts +2 -2
- package/node_modules/@comis/core/dist/exports/config.js +1 -1
- package/node_modules/@comis/core/package.json +1 -1
- package/node_modules/@comis/daemon/dist/daemon.d.ts +22 -0
- package/node_modules/@comis/daemon/dist/daemon.js +45 -0
- package/node_modules/@comis/daemon/dist/rpc/agent-handlers.d.ts +5 -2
- package/node_modules/@comis/daemon/dist/rpc/agent-handlers.js +80 -1
- package/node_modules/@comis/daemon/dist/rpc/agent-inline-workspace.d.ts +67 -0
- package/node_modules/@comis/daemon/dist/rpc/agent-inline-workspace.js +139 -0
- package/node_modules/@comis/daemon/dist/rpc/model-handlers.d.ts +3 -0
- package/node_modules/@comis/daemon/dist/rpc/model-handlers.js +29 -5
- package/node_modules/@comis/daemon/dist/rpc/probe-provider-auth.d.ts +30 -0
- package/node_modules/@comis/daemon/dist/rpc/probe-provider-auth.js +59 -0
- package/node_modules/@comis/daemon/dist/rpc/provider-handlers.d.ts +37 -0
- package/node_modules/@comis/daemon/dist/rpc/provider-handlers.js +330 -0
- package/node_modules/@comis/daemon/dist/rpc/rpc-dispatch.js +18 -1
- package/node_modules/@comis/daemon/dist/setup-docker-restart-warn.d.ts +4 -0
- package/node_modules/@comis/daemon/dist/setup-docker-restart-warn.js +30 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-agents.d.ts +3 -1
- package/node_modules/@comis/daemon/dist/wiring/setup-agents.js +28 -2
- package/node_modules/@comis/daemon/dist/wiring/setup-cross-session.js +1 -0
- package/node_modules/@comis/daemon/dist/wiring/setup-tools.js +7 -4
- package/node_modules/@comis/daemon/package.json +1 -1
- package/node_modules/@comis/gateway/package.json +1 -1
- package/node_modules/@comis/infra/dist/index.d.ts +1 -0
- package/node_modules/@comis/infra/dist/index.js +2 -0
- package/node_modules/@comis/infra/dist/runtime/is-docker.d.ts +1 -0
- package/node_modules/@comis/infra/dist/runtime/is-docker.js +25 -0
- package/node_modules/@comis/infra/package.json +1 -1
- package/node_modules/@comis/memory/package.json +1 -1
- package/node_modules/@comis/scheduler/package.json +1 -1
- package/node_modules/@comis/shared/package.json +1 -1
- package/node_modules/@comis/skills/dist/bridge/tool-metadata-registry.js +1 -3
- package/node_modules/@comis/skills/dist/builtin/platform/admin-manage-factory.js +24 -1
- package/node_modules/@comis/skills/dist/builtin/platform/agents-manage-tool.d.ts +53 -7
- package/node_modules/@comis/skills/dist/builtin/platform/agents-manage-tool.js +218 -24
- package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.d.ts +4 -1
- package/node_modules/@comis/skills/dist/builtin/platform/gateway-tool.js +16 -1
- package/node_modules/@comis/skills/dist/builtin/platform/index.d.ts +1 -1
- package/node_modules/@comis/skills/dist/builtin/platform/index.js +1 -1
- package/node_modules/@comis/skills/dist/builtin/platform/providers-manage-tool.d.ts +56 -0
- package/node_modules/@comis/skills/dist/builtin/platform/providers-manage-tool.js +203 -0
- package/node_modules/@comis/skills/dist/index.d.ts +1 -1
- package/node_modules/@comis/skills/dist/index.js +2 -2
- package/node_modules/@comis/skills/dist/policy/tool-policy.js +0 -1
- package/node_modules/@comis/skills/package.json +1 -1
- package/node_modules/@comis/web/dist/assets/{agent-detail-BG9MGWWj.js → agent-detail-DqL6Artv.js} +270 -270
- package/node_modules/@comis/web/dist/assets/agent-editor-CNM_h94Y.js +2173 -0
- package/node_modules/@comis/web/dist/assets/{agent-list-LHCJ4rw2.js → agent-list-Dbh-xD_F.js} +170 -170
- package/node_modules/@comis/web/dist/assets/{approvals-q9VH_IKr.js → approvals-C-K6hN2U.js} +13 -13
- package/node_modules/@comis/web/dist/assets/billing-view-C1DmtyzK.js +375 -0
- package/node_modules/@comis/web/dist/assets/{channel-detail-CaInesJM.js → channel-detail-CtCH22N1.js} +265 -265
- package/node_modules/@comis/web/dist/assets/channel-list-C7xXn-60.js +323 -0
- package/node_modules/@comis/web/dist/assets/{chat-console-CNmzl0JW.js → chat-console-C51pjFwk.js} +243 -246
- package/node_modules/@comis/web/dist/assets/{config-editor-DX4ITw6y.js → config-editor-BLArYRB7.js} +477 -477
- package/node_modules/@comis/web/dist/assets/{context-dag-browser-BwiaF5tf.js → context-dag-browser-fuyMinNI.js} +105 -105
- package/node_modules/@comis/web/dist/assets/{context-engine-BZ5Am6hA.js → context-engine-Bngf2bH0.js} +136 -136
- package/node_modules/@comis/web/dist/assets/decorate-BvWYovGE.js +38 -0
- package/node_modules/@comis/web/dist/assets/{delivery-view-OfBZof-m.js → delivery-view-C80hucxX.js} +134 -134
- package/node_modules/@comis/web/dist/assets/{diagnostics-view-YFwCxgr2.js → diagnostics-view-Cl4VbHZ6.js} +82 -82
- package/node_modules/@comis/web/dist/assets/directive-BOYXJ-K-.js +1 -0
- package/node_modules/@comis/web/dist/assets/{extract-variables-BM5qyK-s.js → extract-variables-B7-Doo7l.js} +39 -39
- package/node_modules/@comis/web/dist/assets/{ic-array-editor-B7m6x7-S.js → ic-array-editor-BLoEyeLS.js} +29 -29
- package/node_modules/@comis/web/dist/assets/{ic-breadcrumb-CUMpp3BL.js → ic-breadcrumb-DqN6G3gc.js} +16 -16
- package/node_modules/@comis/web/dist/assets/{ic-budget-segment-bar-BtJ6x5mN.js → ic-budget-segment-bar-zLsMzjDO.js} +20 -20
- package/node_modules/@comis/web/dist/assets/ic-chat-message-ByFUoMm6.js +352 -0
- package/node_modules/@comis/web/dist/assets/{ic-confirm-dialog-CCDbB04e.js → ic-confirm-dialog-DGlPbV1T.js} +26 -26
- package/node_modules/@comis/web/dist/assets/{ic-connection-dot-CnT1b8xr.js → ic-connection-dot-C4nDHgY2.js} +13 -13
- package/node_modules/@comis/web/dist/assets/ic-data-table-CKIvr-ag.js +277 -0
- package/node_modules/@comis/web/dist/assets/ic-delivery-row-B3YwjjuM.js +67 -0
- package/node_modules/@comis/web/dist/assets/{ic-detail-panel-BF83r-if.js → ic-detail-panel-DiCe4hLr.js} +27 -27
- package/node_modules/@comis/web/dist/assets/{ic-empty-state-60l2ePhd.js → ic-empty-state-CM3Wbj2f.js} +19 -19
- package/node_modules/@comis/web/dist/assets/ic-graph-canvas-ByRjij68.js +359 -0
- package/node_modules/@comis/web/dist/assets/ic-icon-BGNCCPpZ.js +33 -0
- package/node_modules/@comis/web/dist/assets/{ic-layer-waterfall-COvEYMg5.js → ic-layer-waterfall-WkaFyu-l.js} +18 -18
- package/node_modules/@comis/web/dist/assets/ic-relative-time-B3UAnTqg.js +12 -0
- package/node_modules/@comis/web/dist/assets/{ic-search-input-CSOxY9g7.js → ic-search-input-B02AGw1i.js} +22 -22
- package/node_modules/@comis/web/dist/assets/{ic-select-Ce-Raudx.js → ic-select-BqfZISjw.js} +29 -29
- package/node_modules/@comis/web/dist/assets/ic-tabs-yBjkWKJH.js +95 -0
- package/node_modules/@comis/web/dist/assets/ic-tag-CvMVQFRR.js +33 -0
- package/node_modules/@comis/web/dist/assets/{ic-time-range-picker-CypCT68y.js → ic-time-range-picker-DXbYeBmY.js} +31 -31
- package/node_modules/@comis/web/dist/assets/{ic-tool-call-7MaXSsCW.js → ic-tool-call-Bh5kq-yY.js} +51 -51
- package/node_modules/@comis/web/dist/assets/index-BBkuC-EU.js +2792 -0
- package/node_modules/@comis/web/dist/assets/index-CVEaS9aY.css +2 -0
- package/node_modules/@comis/web/dist/assets/{mcp-management-BNZPnpDn.js → mcp-management-DB-phOo7.js} +209 -209
- package/node_modules/@comis/web/dist/assets/{media-config-BBvTYxOX.js → media-config-CRqZ1ZUH.js} +154 -154
- package/node_modules/@comis/web/dist/assets/{media-test-BkK3RCRK.js → media-test-C9vE20Oy.js} +259 -259
- package/node_modules/@comis/web/dist/assets/{memory-inspector-1hDGCGat.js → memory-inspector-CeqfnxMZ.js} +450 -450
- package/node_modules/@comis/web/dist/assets/{message-center-CXefwsUu.js → message-center-Daup7Mof.js} +290 -290
- package/node_modules/@comis/web/dist/assets/{models-C1qcU_j3.js → models-DLYnEU8E.js} +371 -371
- package/node_modules/@comis/web/dist/assets/observability-types-D0tkwElU.js +1 -0
- package/node_modules/@comis/web/dist/assets/{observe-view-C0VBhX4C.js → observe-view-BTSt_PO5.js} +399 -399
- package/node_modules/@comis/web/dist/assets/pipeline-builder-DknfzyLt.js +1495 -0
- package/node_modules/@comis/web/dist/assets/{pipeline-history-DkfOQ6SW.js → pipeline-history-JnHZdeU_.js} +124 -124
- package/node_modules/@comis/web/dist/assets/{pipeline-history-detail-hyHgD0ai.js → pipeline-history-detail-Dg4knsEb.js} +65 -65
- package/node_modules/@comis/web/dist/assets/{pipeline-list-BPW8hV-q.js → pipeline-list-AEnibjsp.js} +227 -227
- package/node_modules/@comis/web/dist/assets/{pipeline-monitor-Bip16T7e.js → pipeline-monitor-DG7RbIOO.js} +298 -298
- package/node_modules/@comis/web/dist/assets/{scheduler-BGgwKd06.js → scheduler-uL1fYKAT.js} +486 -486
- package/node_modules/@comis/web/dist/assets/{security-D15st4xx.js → security-C3DywRLH.js} +389 -389
- package/node_modules/@comis/web/dist/assets/{session-detail-SGEYNJ0M.js → session-detail-BtqCNWXV.js} +294 -294
- package/node_modules/@comis/web/dist/assets/session-key-parser-Dkqcj2Ss.js +1 -0
- package/node_modules/@comis/web/dist/assets/session-list-CJXWa2XT.js +231 -0
- package/node_modules/@comis/web/dist/assets/{setup-wizard-nT0tz9QP.js → setup-wizard-ywn7oJvu.js} +486 -494
- package/node_modules/@comis/web/dist/assets/{skills-D8yVfSUy.js → skills-DX0KYnWD.js} +329 -329
- package/node_modules/@comis/web/dist/assets/{subagents-HHXMeHYo.js → subagents-B8p5YJEB.js} +74 -74
- package/node_modules/@comis/web/dist/assets/{workspace-manager-BQlr10iH.js → workspace-manager-CgzNIrw1.js} +236 -236
- package/node_modules/@comis/web/dist/index.html +3 -2
- package/node_modules/@comis/web/package.json +1 -1
- package/package.json +15 -15
- package/node_modules/@comis/skills/dist/builtin/platform/agents-list-tool.d.ts +0 -19
- package/node_modules/@comis/skills/dist/builtin/platform/agents-list-tool.js +0 -39
- package/node_modules/@comis/web/dist/assets/agent-editor-C26Q_xCs.js +0 -2173
- package/node_modules/@comis/web/dist/assets/billing-view-CtYvBqTE.js +0 -375
- package/node_modules/@comis/web/dist/assets/channel-list-B8dj3O9a.js +0 -323
- package/node_modules/@comis/web/dist/assets/directive-DoeGSK_T.js +0 -1
- package/node_modules/@comis/web/dist/assets/ic-chat-message-CFyDJd0z.js +0 -352
- package/node_modules/@comis/web/dist/assets/ic-data-table-CKUNTxHw.js +0 -277
- package/node_modules/@comis/web/dist/assets/ic-delivery-row-GP5Fkygs.js +0 -67
- package/node_modules/@comis/web/dist/assets/ic-graph-canvas-C8FuSMe1.js +0 -359
- package/node_modules/@comis/web/dist/assets/ic-icon-xeGTVhVG.js +0 -33
- package/node_modules/@comis/web/dist/assets/ic-relative-time-3FqpjeAI.js +0 -12
- package/node_modules/@comis/web/dist/assets/ic-tabs-B7QtM_v8.js +0 -95
- package/node_modules/@comis/web/dist/assets/ic-tag-CPPUnDLF.js +0 -33
- package/node_modules/@comis/web/dist/assets/index-CEcM1R_C.js +0 -2830
- package/node_modules/@comis/web/dist/assets/index-CIJFuItj.css +0 -1
- package/node_modules/@comis/web/dist/assets/observability-types-D7jUtSde.js +0 -1
- package/node_modules/@comis/web/dist/assets/pipeline-builder-DcUUIrm0.js +0 -1496
- package/node_modules/@comis/web/dist/assets/session-key-parser-DPORMVyU.js +0 -1
- 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,
|
|
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
|
-
|
|
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)
|