@dobbyai/mcp-external 1.1.0 → 1.2.0
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/README.md +44 -14
- package/dist/__tests__/agent-mail-tools.test.js +19 -26
- package/dist/__tests__/agent-mail-tools.test.js.map +1 -1
- package/dist/__tests__/auth.test.js +50 -5
- package/dist/__tests__/auth.test.js.map +1 -1
- package/dist/__tests__/doctor.test.d.ts +16 -0
- package/dist/__tests__/doctor.test.d.ts.map +1 -0
- package/dist/__tests__/doctor.test.js +258 -0
- package/dist/__tests__/doctor.test.js.map +1 -0
- package/dist/__tests__/external-agents-tools.test.d.ts +11 -0
- package/dist/__tests__/external-agents-tools.test.d.ts.map +1 -0
- package/dist/__tests__/external-agents-tools.test.js +619 -0
- package/dist/__tests__/external-agents-tools.test.js.map +1 -0
- package/dist/__tests__/gateway-bearer.test.d.ts +12 -0
- package/dist/__tests__/gateway-bearer.test.d.ts.map +1 -0
- package/dist/__tests__/gateway-bearer.test.js +112 -0
- package/dist/__tests__/gateway-bearer.test.js.map +1 -0
- package/dist/__tests__/gateway-key-resolver.test.d.ts +10 -0
- package/dist/__tests__/gateway-key-resolver.test.d.ts.map +1 -0
- package/dist/__tests__/gateway-key-resolver.test.js +125 -0
- package/dist/__tests__/gateway-key-resolver.test.js.map +1 -0
- package/dist/__tests__/http-concurrency.test.d.ts +20 -0
- package/dist/__tests__/http-concurrency.test.d.ts.map +1 -0
- package/dist/__tests__/http-concurrency.test.js +254 -0
- package/dist/__tests__/http-concurrency.test.js.map +1 -0
- package/dist/__tests__/integration/protocol.test.js +14 -8
- package/dist/__tests__/integration/protocol.test.js.map +1 -1
- package/dist/__tests__/mcp-integrations.test.js +20 -30
- package/dist/__tests__/mcp-integrations.test.js.map +1 -1
- package/dist/__tests__/memory-graph-tools.test.js +27 -38
- package/dist/__tests__/memory-graph-tools.test.js.map +1 -1
- package/dist/__tests__/registry-dispatch.test.d.ts +11 -0
- package/dist/__tests__/registry-dispatch.test.d.ts.map +1 -0
- package/dist/__tests__/registry-dispatch.test.js +30 -0
- package/dist/__tests__/registry-dispatch.test.js.map +1 -0
- package/dist/__tests__/registry-listing-parity.test.d.ts +2 -0
- package/dist/__tests__/registry-listing-parity.test.d.ts.map +1 -0
- package/dist/__tests__/registry-listing-parity.test.js +89 -0
- package/dist/__tests__/registry-listing-parity.test.js.map +1 -0
- package/dist/__tests__/role-cap.test.d.ts +2 -0
- package/dist/__tests__/role-cap.test.d.ts.map +1 -0
- package/dist/__tests__/role-cap.test.js +113 -0
- package/dist/__tests__/role-cap.test.js.map +1 -0
- package/dist/__tests__/schedule-tools.test.js +15 -20
- package/dist/__tests__/schedule-tools.test.js.map +1 -1
- package/dist/__tests__/server-gateway-key.test.d.ts +18 -0
- package/dist/__tests__/server-gateway-key.test.d.ts.map +1 -0
- package/dist/__tests__/server-gateway-key.test.js +148 -0
- package/dist/__tests__/server-gateway-key.test.js.map +1 -0
- package/dist/__tests__/server-user-scoped.test.d.ts +34 -0
- package/dist/__tests__/server-user-scoped.test.d.ts.map +1 -0
- package/dist/__tests__/server-user-scoped.test.js +577 -0
- package/dist/__tests__/server-user-scoped.test.js.map +1 -0
- package/dist/__tests__/task-id-pattern.test.d.ts +12 -0
- package/dist/__tests__/task-id-pattern.test.d.ts.map +1 -0
- package/dist/__tests__/task-id-pattern.test.js +43 -0
- package/dist/__tests__/task-id-pattern.test.js.map +1 -0
- package/dist/__tests__/tiers.test.js +152 -56
- package/dist/__tests__/tiers.test.js.map +1 -1
- package/dist/__tests__/tools/hosted-agents.test.d.ts +9 -0
- package/dist/__tests__/tools/hosted-agents.test.d.ts.map +1 -0
- package/dist/__tests__/tools/hosted-agents.test.js +301 -0
- package/dist/__tests__/tools/hosted-agents.test.js.map +1 -0
- package/dist/__tests__/tools/llm-providers.test.d.ts +10 -0
- package/dist/__tests__/tools/llm-providers.test.d.ts.map +1 -0
- package/dist/__tests__/tools/llm-providers.test.js +105 -0
- package/dist/__tests__/tools/llm-providers.test.js.map +1 -0
- package/dist/__tests__/tools/services.test.js +139 -98
- package/dist/__tests__/tools/services.test.js.map +1 -1
- package/dist/__tests__/tools.test.js +24 -15
- package/dist/__tests__/tools.test.js.map +1 -1
- package/dist/__tests__/transport.test.js +365 -23
- package/dist/__tests__/transport.test.js.map +1 -1
- package/dist/__tests__/validate-credentials.test.d.ts +9 -0
- package/dist/__tests__/validate-credentials.test.d.ts.map +1 -0
- package/dist/__tests__/validate-credentials.test.js +172 -0
- package/dist/__tests__/validate-credentials.test.js.map +1 -0
- package/dist/__tests__/web-eval-tools.test.js +21 -32
- package/dist/__tests__/web-eval-tools.test.js.map +1 -1
- package/dist/__tests__/whoami.test.d.ts +11 -0
- package/dist/__tests__/whoami.test.d.ts.map +1 -0
- package/dist/__tests__/whoami.test.js +194 -0
- package/dist/__tests__/whoami.test.js.map +1 -0
- package/dist/__tests__/workflow-tools.test.js +20 -27
- package/dist/__tests__/workflow-tools.test.js.map +1 -1
- package/dist/__tests__/workloads.test.d.ts +9 -0
- package/dist/__tests__/workloads.test.d.ts.map +1 -0
- package/dist/__tests__/workloads.test.js +169 -0
- package/dist/__tests__/workloads.test.js.map +1 -0
- package/dist/auth/token-verifier.d.ts +11 -6
- package/dist/auth/token-verifier.d.ts.map +1 -1
- package/dist/auth/token-verifier.js +41 -19
- package/dist/auth/token-verifier.js.map +1 -1
- package/dist/connectors/claude-desktop.d.ts.map +1 -1
- package/dist/connectors/claude-desktop.js +3 -2
- package/dist/connectors/claude-desktop.js.map +1 -1
- package/dist/connectors/cursor.d.ts.map +1 -1
- package/dist/connectors/cursor.js +3 -2
- package/dist/connectors/cursor.js.map +1 -1
- package/dist/connectors/setup.d.ts.map +1 -1
- package/dist/connectors/setup.js +2 -1
- package/dist/connectors/setup.js.map +1 -1
- package/dist/connectors/vscode.d.ts.map +1 -1
- package/dist/connectors/vscode.js +3 -2
- package/dist/connectors/vscode.js.map +1 -1
- package/dist/connectors/windsurf.d.ts.map +1 -1
- package/dist/connectors/windsurf.js +3 -2
- package/dist/connectors/windsurf.js.map +1 -1
- package/dist/doctor.d.ts +34 -0
- package/dist/doctor.d.ts.map +1 -0
- package/dist/doctor.js +134 -0
- package/dist/doctor.js.map +1 -0
- package/dist/http-server.d.ts +24 -3
- package/dist/http-server.d.ts.map +1 -1
- package/dist/http-server.js +342 -62
- package/dist/http-server.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +72 -208
- package/dist/index.js.map +1 -1
- package/dist/lib/consts.d.ts +21 -0
- package/dist/lib/consts.d.ts.map +1 -0
- package/dist/lib/consts.js +30 -0
- package/dist/lib/consts.js.map +1 -0
- package/dist/lib/dobby-client.d.ts +50 -23
- package/dist/lib/dobby-client.d.ts.map +1 -1
- package/dist/lib/dobby-client.js +105 -54
- package/dist/lib/dobby-client.js.map +1 -1
- package/dist/lib/gateway-key-resolver.d.ts +38 -0
- package/dist/lib/gateway-key-resolver.d.ts.map +1 -0
- package/dist/lib/gateway-key-resolver.js +59 -0
- package/dist/lib/gateway-key-resolver.js.map +1 -0
- package/dist/lib/log.d.ts +25 -0
- package/dist/lib/log.d.ts.map +1 -0
- package/dist/lib/log.js +36 -0
- package/dist/lib/log.js.map +1 -0
- package/dist/server.d.ts +175 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +1017 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/agent-mail.d.ts +0 -41
- package/dist/tools/agent-mail.d.ts.map +1 -1
- package/dist/tools/agent-mail.js +0 -222
- package/dist/tools/agent-mail.js.map +1 -1
- package/dist/tools/agent-versions.d.ts +93 -0
- package/dist/tools/agent-versions.d.ts.map +1 -0
- package/dist/tools/agent-versions.js +99 -0
- package/dist/tools/agent-versions.js.map +1 -0
- package/dist/tools/approvals.d.ts +0 -34
- package/dist/tools/approvals.d.ts.map +1 -1
- package/dist/tools/approvals.js +0 -81
- package/dist/tools/approvals.js.map +1 -1
- package/dist/tools/claude-code-sync.d.ts +40 -0
- package/dist/tools/claude-code-sync.d.ts.map +1 -0
- package/dist/tools/claude-code-sync.js +52 -0
- package/dist/tools/claude-code-sync.js.map +1 -0
- package/dist/tools/control-plane.d.ts +118 -0
- package/dist/tools/control-plane.d.ts.map +1 -0
- package/dist/tools/control-plane.js +135 -0
- package/dist/tools/control-plane.js.map +1 -0
- package/dist/tools/crew-builder.d.ts +0 -66
- package/dist/tools/crew-builder.d.ts.map +1 -1
- package/dist/tools/crew-builder.js +0 -185
- package/dist/tools/crew-builder.js.map +1 -1
- package/dist/tools/crewai.d.ts +0 -63
- package/dist/tools/crewai.d.ts.map +1 -1
- package/dist/tools/crewai.js +0 -145
- package/dist/tools/crewai.js.map +1 -1
- package/dist/tools/exa.d.ts +0 -35
- package/dist/tools/exa.d.ts.map +1 -1
- package/dist/tools/exa.js +0 -103
- package/dist/tools/exa.js.map +1 -1
- package/dist/tools/external-agents.d.ts +440 -0
- package/dist/tools/external-agents.d.ts.map +1 -0
- package/dist/tools/external-agents.js +386 -0
- package/dist/tools/external-agents.js.map +1 -0
- package/dist/tools/github-mcp.d.ts +0 -75
- package/dist/tools/github-mcp.d.ts.map +1 -1
- package/dist/tools/github-mcp.js +0 -162
- package/dist/tools/github-mcp.js.map +1 -1
- package/dist/tools/governance.d.ts +162 -18
- package/dist/tools/governance.d.ts.map +1 -1
- package/dist/tools/governance.js +208 -93
- package/dist/tools/governance.js.map +1 -1
- package/dist/tools/hosted-agents.d.ts +216 -0
- package/dist/tools/hosted-agents.d.ts.map +1 -0
- package/dist/tools/hosted-agents.js +214 -0
- package/dist/tools/hosted-agents.js.map +1 -0
- package/dist/tools/index.d.ts +3933 -1219
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +412 -393
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/jira.d.ts +0 -176
- package/dist/tools/jira.d.ts.map +1 -1
- package/dist/tools/jira.js +0 -365
- package/dist/tools/jira.js.map +1 -1
- package/dist/tools/llm-providers.d.ts +50 -0
- package/dist/tools/llm-providers.d.ts.map +1 -0
- package/dist/tools/llm-providers.js +41 -0
- package/dist/tools/llm-providers.js.map +1 -0
- package/dist/tools/mcp-metrics.d.ts +0 -15
- package/dist/tools/mcp-metrics.d.ts.map +1 -1
- package/dist/tools/mcp-metrics.js +0 -217
- package/dist/tools/mcp-metrics.js.map +1 -1
- package/dist/tools/mcp-tools.d.ts +0 -29
- package/dist/tools/mcp-tools.d.ts.map +1 -1
- package/dist/tools/mcp-tools.js +0 -131
- package/dist/tools/mcp-tools.js.map +1 -1
- package/dist/tools/mem0.d.ts +0 -41
- package/dist/tools/mem0.d.ts.map +1 -1
- package/dist/tools/mem0.js +65 -165
- package/dist/tools/mem0.js.map +1 -1
- package/dist/tools/memory-graph.d.ts +0 -46
- package/dist/tools/memory-graph.d.ts.map +1 -1
- package/dist/tools/memory-graph.js +0 -386
- package/dist/tools/memory-graph.js.map +1 -1
- package/dist/tools/memory-stores.d.ts +141 -0
- package/dist/tools/memory-stores.d.ts.map +1 -0
- package/dist/tools/memory-stores.js +147 -0
- package/dist/tools/memory-stores.js.map +1 -0
- package/dist/tools/messages.d.ts +0 -20
- package/dist/tools/messages.d.ts.map +1 -1
- package/dist/tools/messages.js +0 -49
- package/dist/tools/messages.js.map +1 -1
- package/dist/tools/moltbook.d.ts +0 -236
- package/dist/tools/moltbook.d.ts.map +1 -1
- package/dist/tools/moltbook.js +0 -458
- package/dist/tools/moltbook.js.map +1 -1
- package/dist/tools/monitoring-attribution.d.ts +71 -0
- package/dist/tools/monitoring-attribution.d.ts.map +1 -0
- package/dist/tools/monitoring-attribution.js +74 -0
- package/dist/tools/monitoring-attribution.js.map +1 -0
- package/dist/tools/ops.d.ts +0 -80
- package/dist/tools/ops.d.ts.map +1 -1
- package/dist/tools/ops.js +0 -209
- package/dist/tools/ops.js.map +1 -1
- package/dist/tools/orchestrations.d.ts +109 -0
- package/dist/tools/orchestrations.d.ts.map +1 -0
- package/dist/tools/orchestrations.js +115 -0
- package/dist/tools/orchestrations.js.map +1 -0
- package/dist/tools/outcomes.d.ts +138 -0
- package/dist/tools/outcomes.d.ts.map +1 -0
- package/dist/tools/outcomes.js +136 -0
- package/dist/tools/outcomes.js.map +1 -0
- package/dist/tools/schedules.d.ts +0 -47
- package/dist/tools/schedules.d.ts.map +1 -1
- package/dist/tools/schedules.js +0 -109
- package/dist/tools/schedules.js.map +1 -1
- package/dist/tools/services.d.ts +0 -16
- package/dist/tools/services.d.ts.map +1 -1
- package/dist/tools/services.js +0 -135
- package/dist/tools/services.js.map +1 -1
- package/dist/tools/sessions.d.ts +124 -0
- package/dist/tools/sessions.d.ts.map +1 -0
- package/dist/tools/sessions.js +130 -0
- package/dist/tools/sessions.js.map +1 -0
- package/dist/tools/setup-status.d.ts +29 -0
- package/dist/tools/setup-status.d.ts.map +1 -0
- package/dist/tools/setup-status.js +35 -0
- package/dist/tools/setup-status.js.map +1 -0
- package/dist/tools/tasks.d.ts +0 -57
- package/dist/tools/tasks.d.ts.map +1 -1
- package/dist/tools/tasks.js +8 -217
- package/dist/tools/tasks.js.map +1 -1
- package/dist/tools/tiers.d.ts +23 -7
- package/dist/tools/tiers.d.ts.map +1 -1
- package/dist/tools/tiers.js +180 -79
- package/dist/tools/tiers.js.map +1 -1
- package/dist/tools/unified-agents.d.ts +0 -19
- package/dist/tools/unified-agents.d.ts.map +1 -1
- package/dist/tools/unified-agents.js +2 -103
- package/dist/tools/unified-agents.js.map +1 -1
- package/dist/tools/web-eval.d.ts +0 -43
- package/dist/tools/web-eval.d.ts.map +1 -1
- package/dist/tools/web-eval.js +0 -211
- package/dist/tools/web-eval.js.map +1 -1
- package/dist/tools/workflow.d.ts +0 -66
- package/dist/tools/workflow.d.ts.map +1 -1
- package/dist/tools/workflow.js +2 -409
- package/dist/tools/workflow.js.map +1 -1
- package/dist/tools/workloads.d.ts +81 -0
- package/dist/tools/workloads.d.ts.map +1 -0
- package/dist/tools/workloads.js +81 -0
- package/dist/tools/workloads.js.map +1 -0
- package/package.json +7 -6
- package/dist/tools/knowledge-base.d.ts +0 -144
- package/dist/tools/knowledge-base.d.ts.map +0 -1
- package/dist/tools/knowledge-base.js +0 -179
- package/dist/tools/knowledge-base.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-mcp.js","sourceRoot":"","sources":["../../src/tools/github-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"github-mcp.js","sourceRoot":"","sources":["../../src/tools/github-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,20 @@
|
|
|
2
2
|
* Governance MCP Tools
|
|
3
3
|
*
|
|
4
4
|
* Policy-as-Code operations via MCP for Claude Desktop/Cursor/VS Code users.
|
|
5
|
-
*
|
|
5
|
+
* 6 tools:
|
|
6
6
|
* 1. export_policies — Export org governance policies as YAML/JSON
|
|
7
7
|
* 2. import_policies — Import policies from YAML/JSON
|
|
8
8
|
* 3. validate_policies — Dry-run validate a policy document
|
|
9
9
|
* 4. apply_guardrail — Apply a guardrail template to an org
|
|
10
|
+
* 5. create_policy — Create a rule-based/keyword policy at Org/Tenant/Process layer
|
|
11
|
+
* 6. list_policies — List policies visible to a tenant
|
|
12
|
+
*
|
|
13
|
+
* create_policy/list_policies definitions are kept byte-identical to
|
|
14
|
+
* @dobbyai/capability-core's governanceCapabilities entries of the same id
|
|
15
|
+
* (description/inputSchema/annotations) — see
|
|
16
|
+
* packages/capability-core/src/capabilities/governance.ts. Do not edit one
|
|
17
|
+
* without the other.
|
|
10
18
|
*/
|
|
11
|
-
import { DobbyClient } from '../lib/dobby-client.js';
|
|
12
19
|
export declare const governanceTools: {
|
|
13
20
|
export_policies: {
|
|
14
21
|
name: string;
|
|
@@ -109,21 +116,158 @@ export declare const governanceTools: {
|
|
|
109
116
|
required: string[];
|
|
110
117
|
};
|
|
111
118
|
};
|
|
119
|
+
create_policy: {
|
|
120
|
+
name: string;
|
|
121
|
+
annotations: {
|
|
122
|
+
title: string;
|
|
123
|
+
readOnlyHint: boolean;
|
|
124
|
+
destructiveHint: boolean;
|
|
125
|
+
openWorldHint: boolean;
|
|
126
|
+
};
|
|
127
|
+
description: string;
|
|
128
|
+
inputSchema: {
|
|
129
|
+
type: "object";
|
|
130
|
+
properties: {
|
|
131
|
+
tenant_id: {
|
|
132
|
+
type: string;
|
|
133
|
+
description: string;
|
|
134
|
+
};
|
|
135
|
+
layer: {
|
|
136
|
+
type: string;
|
|
137
|
+
enum: number[];
|
|
138
|
+
description: string;
|
|
139
|
+
};
|
|
140
|
+
scope_id: {
|
|
141
|
+
type: string;
|
|
142
|
+
description: string;
|
|
143
|
+
};
|
|
144
|
+
text: {
|
|
145
|
+
type: string;
|
|
146
|
+
minLength: number;
|
|
147
|
+
maxLength: number;
|
|
148
|
+
description: string;
|
|
149
|
+
};
|
|
150
|
+
severity: {
|
|
151
|
+
type: string;
|
|
152
|
+
enum: string[];
|
|
153
|
+
description: string;
|
|
154
|
+
};
|
|
155
|
+
is_active: {
|
|
156
|
+
type: string;
|
|
157
|
+
description: string;
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
required: string[];
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
list_policies: {
|
|
164
|
+
name: string;
|
|
165
|
+
annotations: {
|
|
166
|
+
title: string;
|
|
167
|
+
readOnlyHint: boolean;
|
|
168
|
+
destructiveHint: boolean;
|
|
169
|
+
openWorldHint: boolean;
|
|
170
|
+
};
|
|
171
|
+
description: string;
|
|
172
|
+
inputSchema: {
|
|
173
|
+
type: "object";
|
|
174
|
+
properties: {
|
|
175
|
+
tenant_id: {
|
|
176
|
+
type: string;
|
|
177
|
+
description: string;
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
required: string[];
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
update_policy: {
|
|
184
|
+
name: string;
|
|
185
|
+
annotations: {
|
|
186
|
+
title: string;
|
|
187
|
+
readOnlyHint: boolean;
|
|
188
|
+
destructiveHint: boolean;
|
|
189
|
+
openWorldHint: boolean;
|
|
190
|
+
};
|
|
191
|
+
description: string;
|
|
192
|
+
inputSchema: {
|
|
193
|
+
type: "object";
|
|
194
|
+
properties: {
|
|
195
|
+
tenant_id: {
|
|
196
|
+
type: string;
|
|
197
|
+
description: string;
|
|
198
|
+
};
|
|
199
|
+
policy_id: {
|
|
200
|
+
type: string;
|
|
201
|
+
description: string;
|
|
202
|
+
};
|
|
203
|
+
text: {
|
|
204
|
+
type: string;
|
|
205
|
+
minLength: number;
|
|
206
|
+
maxLength: number;
|
|
207
|
+
description: string;
|
|
208
|
+
};
|
|
209
|
+
severity: {
|
|
210
|
+
type: string;
|
|
211
|
+
enum: string[];
|
|
212
|
+
description: string;
|
|
213
|
+
};
|
|
214
|
+
is_active: {
|
|
215
|
+
type: string;
|
|
216
|
+
description: string;
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
required: string[];
|
|
220
|
+
};
|
|
221
|
+
};
|
|
222
|
+
delete_policy: {
|
|
223
|
+
name: string;
|
|
224
|
+
annotations: {
|
|
225
|
+
title: string;
|
|
226
|
+
readOnlyHint: boolean;
|
|
227
|
+
destructiveHint: boolean;
|
|
228
|
+
openWorldHint: boolean;
|
|
229
|
+
};
|
|
230
|
+
description: string;
|
|
231
|
+
inputSchema: {
|
|
232
|
+
type: "object";
|
|
233
|
+
properties: {
|
|
234
|
+
tenant_id: {
|
|
235
|
+
type: string;
|
|
236
|
+
description: string;
|
|
237
|
+
};
|
|
238
|
+
policy_id: {
|
|
239
|
+
type: string;
|
|
240
|
+
description: string;
|
|
241
|
+
};
|
|
242
|
+
};
|
|
243
|
+
required: string[];
|
|
244
|
+
};
|
|
245
|
+
};
|
|
246
|
+
test_policy: {
|
|
247
|
+
name: string;
|
|
248
|
+
annotations: {
|
|
249
|
+
title: string;
|
|
250
|
+
readOnlyHint: boolean;
|
|
251
|
+
destructiveHint: boolean;
|
|
252
|
+
openWorldHint: boolean;
|
|
253
|
+
};
|
|
254
|
+
description: string;
|
|
255
|
+
inputSchema: {
|
|
256
|
+
type: "object";
|
|
257
|
+
properties: {
|
|
258
|
+
tenant_id: {
|
|
259
|
+
type: string;
|
|
260
|
+
description: string;
|
|
261
|
+
};
|
|
262
|
+
sample_text: {
|
|
263
|
+
type: string;
|
|
264
|
+
minLength: number;
|
|
265
|
+
maxLength: number;
|
|
266
|
+
description: string;
|
|
267
|
+
};
|
|
268
|
+
};
|
|
269
|
+
required: string[];
|
|
270
|
+
};
|
|
271
|
+
};
|
|
112
272
|
};
|
|
113
|
-
export declare function handleExportPolicies(args: {
|
|
114
|
-
organization_id: string;
|
|
115
|
-
format?: string;
|
|
116
|
-
}, client: DobbyClient): Promise<string>;
|
|
117
|
-
export declare function handleImportPolicies(args: {
|
|
118
|
-
organization_id: string;
|
|
119
|
-
content: string;
|
|
120
|
-
}, client: DobbyClient): Promise<string>;
|
|
121
|
-
export declare function handleValidatePolicies(args: {
|
|
122
|
-
organization_id: string;
|
|
123
|
-
content: string;
|
|
124
|
-
}, client: DobbyClient): Promise<string>;
|
|
125
|
-
export declare function handleApplyGuardrail(args: {
|
|
126
|
-
organization_id: string;
|
|
127
|
-
template: string;
|
|
128
|
-
}, client: DobbyClient): Promise<string>;
|
|
129
273
|
//# sourceMappingURL=governance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2R3B,CAAC"}
|
package/dist/tools/governance.js
CHANGED
|
@@ -2,170 +2,285 @@
|
|
|
2
2
|
* Governance MCP Tools
|
|
3
3
|
*
|
|
4
4
|
* Policy-as-Code operations via MCP for Claude Desktop/Cursor/VS Code users.
|
|
5
|
-
*
|
|
5
|
+
* 6 tools:
|
|
6
6
|
* 1. export_policies — Export org governance policies as YAML/JSON
|
|
7
7
|
* 2. import_policies — Import policies from YAML/JSON
|
|
8
8
|
* 3. validate_policies — Dry-run validate a policy document
|
|
9
9
|
* 4. apply_guardrail — Apply a guardrail template to an org
|
|
10
|
+
* 5. create_policy — Create a rule-based/keyword policy at Org/Tenant/Process layer
|
|
11
|
+
* 6. list_policies — List policies visible to a tenant
|
|
12
|
+
*
|
|
13
|
+
* create_policy/list_policies definitions are kept byte-identical to
|
|
14
|
+
* @dobbyai/capability-core's governanceCapabilities entries of the same id
|
|
15
|
+
* (description/inputSchema/annotations) — see
|
|
16
|
+
* packages/capability-core/src/capabilities/governance.ts. Do not edit one
|
|
17
|
+
* without the other.
|
|
10
18
|
*/
|
|
11
19
|
// ============================================
|
|
12
20
|
// Tool Definitions
|
|
13
21
|
// ============================================
|
|
14
22
|
export const governanceTools = {
|
|
15
23
|
export_policies: {
|
|
16
|
-
name:
|
|
24
|
+
name: "export_policies",
|
|
17
25
|
annotations: {
|
|
18
|
-
title:
|
|
26
|
+
title: "Export Policies",
|
|
19
27
|
readOnlyHint: true,
|
|
20
28
|
destructiveHint: false,
|
|
21
29
|
openWorldHint: false,
|
|
22
30
|
},
|
|
23
|
-
description:
|
|
31
|
+
description: "Export all governance policies for an organization as YAML or JSON. Returns a PolicyDocument with organization policies, gateway config, budgets, and kill-switch state. Useful for backup, version control, or cross-org deployment.",
|
|
24
32
|
inputSchema: {
|
|
25
|
-
type:
|
|
33
|
+
type: "object",
|
|
26
34
|
properties: {
|
|
27
35
|
organization_id: {
|
|
28
|
-
type:
|
|
29
|
-
description:
|
|
36
|
+
type: "string",
|
|
37
|
+
description: "Organization ID (org_xxx)",
|
|
30
38
|
},
|
|
31
39
|
format: {
|
|
32
|
-
type:
|
|
33
|
-
enum: [
|
|
34
|
-
description:
|
|
35
|
-
default:
|
|
40
|
+
type: "string",
|
|
41
|
+
enum: ["yaml", "json"],
|
|
42
|
+
description: "Export format (default: yaml)",
|
|
43
|
+
default: "yaml",
|
|
36
44
|
},
|
|
37
45
|
},
|
|
38
|
-
required: [
|
|
46
|
+
required: ["organization_id"],
|
|
39
47
|
},
|
|
40
48
|
},
|
|
41
49
|
import_policies: {
|
|
42
|
-
name:
|
|
50
|
+
name: "import_policies",
|
|
43
51
|
annotations: {
|
|
44
|
-
title:
|
|
52
|
+
title: "Import Policies",
|
|
45
53
|
readOnlyHint: false,
|
|
46
54
|
destructiveHint: true,
|
|
47
55
|
openWorldHint: false,
|
|
48
56
|
},
|
|
49
|
-
description:
|
|
57
|
+
description: "Import governance policies from a YAML/JSON document into an organization. Upserts policies by name — existing policies are updated, new ones are created. Kill-switch state is NOT imported for safety.",
|
|
50
58
|
inputSchema: {
|
|
51
|
-
type:
|
|
59
|
+
type: "object",
|
|
52
60
|
properties: {
|
|
53
61
|
organization_id: {
|
|
54
|
-
type:
|
|
55
|
-
description:
|
|
62
|
+
type: "string",
|
|
63
|
+
description: "Target organization ID (org_xxx)",
|
|
56
64
|
},
|
|
57
65
|
content: {
|
|
58
|
-
type:
|
|
59
|
-
description:
|
|
66
|
+
type: "string",
|
|
67
|
+
description: "Policy document content (YAML or JSON string)",
|
|
60
68
|
},
|
|
61
69
|
},
|
|
62
|
-
required: [
|
|
70
|
+
required: ["organization_id", "content"],
|
|
63
71
|
},
|
|
64
72
|
},
|
|
65
73
|
validate_policies: {
|
|
66
|
-
name:
|
|
74
|
+
name: "validate_policies",
|
|
67
75
|
annotations: {
|
|
68
|
-
title:
|
|
76
|
+
title: "Validate Policies",
|
|
69
77
|
readOnlyHint: true,
|
|
70
78
|
destructiveHint: false,
|
|
71
79
|
openWorldHint: false,
|
|
72
80
|
},
|
|
73
|
-
description:
|
|
81
|
+
description: "Dry-run validate a policy document without applying it. Returns validation errors, warnings, and a diff showing what would change compared to current org state.",
|
|
74
82
|
inputSchema: {
|
|
75
|
-
type:
|
|
83
|
+
type: "object",
|
|
76
84
|
properties: {
|
|
77
85
|
organization_id: {
|
|
78
|
-
type:
|
|
79
|
-
description:
|
|
86
|
+
type: "string",
|
|
87
|
+
description: "Organization ID to validate against (org_xxx)",
|
|
80
88
|
},
|
|
81
89
|
content: {
|
|
82
|
-
type:
|
|
83
|
-
description:
|
|
90
|
+
type: "string",
|
|
91
|
+
description: "Policy document content (YAML or JSON string)",
|
|
84
92
|
},
|
|
85
93
|
},
|
|
86
|
-
required: [
|
|
94
|
+
required: ["organization_id", "content"],
|
|
87
95
|
},
|
|
88
96
|
},
|
|
89
97
|
apply_guardrail: {
|
|
90
|
-
name:
|
|
98
|
+
name: "apply_guardrail",
|
|
91
99
|
annotations: {
|
|
92
|
-
title:
|
|
100
|
+
title: "Apply Guardrail",
|
|
93
101
|
readOnlyHint: false,
|
|
94
102
|
destructiveHint: true,
|
|
95
103
|
openWorldHint: false,
|
|
96
104
|
},
|
|
97
|
-
description:
|
|
105
|
+
description: "Apply a pre-built guardrail template to an organization. Templates include: conservative, balanced, enterprise, hipaa, sox, gdpr. Each template configures organization policies, gateway settings, and content rules appropriate for the compliance scenario.",
|
|
98
106
|
inputSchema: {
|
|
99
|
-
type:
|
|
107
|
+
type: "object",
|
|
100
108
|
properties: {
|
|
101
109
|
organization_id: {
|
|
102
|
-
type:
|
|
103
|
-
description:
|
|
110
|
+
type: "string",
|
|
111
|
+
description: "Organization ID (org_xxx)",
|
|
104
112
|
},
|
|
105
113
|
template: {
|
|
106
|
-
type:
|
|
107
|
-
enum: [
|
|
108
|
-
|
|
114
|
+
type: "string",
|
|
115
|
+
enum: [
|
|
116
|
+
"conservative",
|
|
117
|
+
"balanced",
|
|
118
|
+
"enterprise",
|
|
119
|
+
"hipaa",
|
|
120
|
+
"sox",
|
|
121
|
+
"gdpr",
|
|
122
|
+
],
|
|
123
|
+
description: "Guardrail template name",
|
|
124
|
+
},
|
|
125
|
+
},
|
|
126
|
+
required: ["organization_id", "template"],
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
create_policy: {
|
|
130
|
+
name: "create_policy",
|
|
131
|
+
annotations: {
|
|
132
|
+
title: "Create Policy",
|
|
133
|
+
readOnlyHint: false,
|
|
134
|
+
destructiveHint: true,
|
|
135
|
+
openWorldHint: false,
|
|
136
|
+
},
|
|
137
|
+
description: "Define a rule-based/keyword policy at the Org, Tenant, or Process layer — whichever layer the caller has admin access to for that tenant/org. Platform layer (1) is Dobby-internal only and is NEVER available via this tool. layer=2 (Org) and layer=3 (Tenant) auto-resolve their scope_id server-side from the tenant when omitted; layer=4 (Process) requires scope_id to be a valid workflow_id (external_workload_id) belonging to the tenant.",
|
|
138
|
+
inputSchema: {
|
|
139
|
+
type: "object",
|
|
140
|
+
properties: {
|
|
141
|
+
tenant_id: {
|
|
142
|
+
type: "string",
|
|
143
|
+
description: "Tenant ID to author the policy under (tenant_xxx)",
|
|
144
|
+
},
|
|
145
|
+
layer: {
|
|
146
|
+
type: "number",
|
|
147
|
+
enum: [2, 3, 4],
|
|
148
|
+
description: "Policy layer: 2=Org, 3=Tenant, 4=Process. Layer 1 (Platform) is never accepted — it is Dobby-internal only.",
|
|
149
|
+
},
|
|
150
|
+
scope_id: {
|
|
151
|
+
type: "string",
|
|
152
|
+
description: "Optional scope target. Only meaningful for layer=4 (Process), where it must be the workflow_id (external_workload_id) to attach the policy to. For layer=2/3 the scope (org_id/tenant_id) is auto-resolved server-side when omitted.",
|
|
153
|
+
},
|
|
154
|
+
text: {
|
|
155
|
+
type: "string",
|
|
156
|
+
minLength: 1,
|
|
157
|
+
maxLength: 8000,
|
|
158
|
+
description: 'Free-text policy/keyword rule, e.g. "block Tel Aviv" (1-8000 chars).',
|
|
159
|
+
},
|
|
160
|
+
severity: {
|
|
161
|
+
type: "string",
|
|
162
|
+
enum: ["critical", "high", "medium", "low"],
|
|
163
|
+
description: "Policy severity.",
|
|
164
|
+
},
|
|
165
|
+
is_active: {
|
|
166
|
+
type: "boolean",
|
|
167
|
+
description: "Whether the policy is active on creation (default: true).",
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
required: ["tenant_id", "layer", "text", "severity"],
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
list_policies: {
|
|
174
|
+
name: "list_policies",
|
|
175
|
+
annotations: {
|
|
176
|
+
title: "List Policies",
|
|
177
|
+
readOnlyHint: true,
|
|
178
|
+
destructiveHint: false,
|
|
179
|
+
openWorldHint: false,
|
|
180
|
+
},
|
|
181
|
+
description: "List governance policies visible to a tenant across the layers the tenant's policies route surfaces (typically Org + Tenant, plus Process-layer policies when a workflow_id is in scope). Platform-layer (1) policies are Dobby-internal and are never returned via this tool.",
|
|
182
|
+
inputSchema: {
|
|
183
|
+
type: "object",
|
|
184
|
+
properties: {
|
|
185
|
+
tenant_id: {
|
|
186
|
+
type: "string",
|
|
187
|
+
description: "Tenant ID to list policies for (tenant_xxx)",
|
|
188
|
+
},
|
|
189
|
+
},
|
|
190
|
+
required: ["tenant_id"],
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
update_policy: {
|
|
194
|
+
name: "update_policy",
|
|
195
|
+
annotations: {
|
|
196
|
+
title: "Update Policy",
|
|
197
|
+
readOnlyHint: false,
|
|
198
|
+
destructiveHint: true,
|
|
199
|
+
openWorldHint: false,
|
|
200
|
+
},
|
|
201
|
+
description: "Edit an existing user-authored policy by id — change its rule text, severity, or active state. Imported/framework/Platform-layer policies are immutable and return a conflict. At least one field (text/severity/is_active) must be provided.",
|
|
202
|
+
inputSchema: {
|
|
203
|
+
type: "object",
|
|
204
|
+
properties: {
|
|
205
|
+
tenant_id: {
|
|
206
|
+
type: "string",
|
|
207
|
+
description: "Tenant ID the policy belongs to (tenant_xxx)",
|
|
208
|
+
},
|
|
209
|
+
policy_id: {
|
|
210
|
+
type: "string",
|
|
211
|
+
description: "The policy to edit (pol_xxx)",
|
|
212
|
+
},
|
|
213
|
+
text: {
|
|
214
|
+
type: "string",
|
|
215
|
+
minLength: 1,
|
|
216
|
+
maxLength: 8000,
|
|
217
|
+
description: "New free-text rule (e.g. corrected keyword).",
|
|
218
|
+
},
|
|
219
|
+
severity: {
|
|
220
|
+
type: "string",
|
|
221
|
+
enum: ["critical", "high", "medium", "low"],
|
|
222
|
+
description: "New severity.",
|
|
223
|
+
},
|
|
224
|
+
is_active: {
|
|
225
|
+
type: "boolean",
|
|
226
|
+
description: "Enable or disable the policy without deleting it (false = paused).",
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
required: ["tenant_id", "policy_id"],
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
delete_policy: {
|
|
233
|
+
name: "delete_policy",
|
|
234
|
+
annotations: {
|
|
235
|
+
title: "Delete Policy",
|
|
236
|
+
readOnlyHint: false,
|
|
237
|
+
destructiveHint: true,
|
|
238
|
+
openWorldHint: false,
|
|
239
|
+
},
|
|
240
|
+
description: "Deactivate a user-authored policy by id (soft-delete — sets it inactive and tears down any live enforcement; it stops applying but the audit record is retained). Imported/framework/Platform-layer policies cannot be deleted.",
|
|
241
|
+
inputSchema: {
|
|
242
|
+
type: "object",
|
|
243
|
+
properties: {
|
|
244
|
+
tenant_id: {
|
|
245
|
+
type: "string",
|
|
246
|
+
description: "Tenant ID the policy belongs to (tenant_xxx)",
|
|
247
|
+
},
|
|
248
|
+
policy_id: {
|
|
249
|
+
type: "string",
|
|
250
|
+
description: "The policy to deactivate (pol_xxx)",
|
|
251
|
+
},
|
|
252
|
+
},
|
|
253
|
+
required: ["tenant_id", "policy_id"],
|
|
254
|
+
},
|
|
255
|
+
},
|
|
256
|
+
test_policy: {
|
|
257
|
+
name: "test_policy",
|
|
258
|
+
annotations: {
|
|
259
|
+
title: "Test Policy (dry run)",
|
|
260
|
+
readOnlyHint: true,
|
|
261
|
+
destructiveHint: false,
|
|
262
|
+
openWorldHint: false,
|
|
263
|
+
},
|
|
264
|
+
description: "Dry-run a sample of text against the tenant's currently-active Org + Tenant + Platform policies WITHOUT saving anything — see which policies would flag it and why. Useful to confirm a rule works (e.g. does 'block Tel Aviv' catch 'I want to fly to Tel Aviv?') before trusting it. Framework/AI-evaluated policies report as not-testable rather than a fabricated result.",
|
|
265
|
+
inputSchema: {
|
|
266
|
+
type: "object",
|
|
267
|
+
properties: {
|
|
268
|
+
tenant_id: {
|
|
269
|
+
type: "string",
|
|
270
|
+
description: "Tenant ID whose active policies to test against",
|
|
271
|
+
},
|
|
272
|
+
sample_text: {
|
|
273
|
+
type: "string",
|
|
274
|
+
minLength: 1,
|
|
275
|
+
maxLength: 8000,
|
|
276
|
+
description: "The sample content to evaluate (treated as both an inbound prompt and an outbound output).",
|
|
109
277
|
},
|
|
110
278
|
},
|
|
111
|
-
required: [
|
|
279
|
+
required: ["tenant_id", "sample_text"],
|
|
112
280
|
},
|
|
113
281
|
},
|
|
114
282
|
};
|
|
115
283
|
// ============================================
|
|
116
284
|
// Tool Handlers
|
|
117
285
|
// ============================================
|
|
118
|
-
export async function handleExportPolicies(args, client) {
|
|
119
|
-
const format = args.format || 'yaml';
|
|
120
|
-
const response = await client.post(`/api/v1/organizations/${args.organization_id}/policies/export`, { format });
|
|
121
|
-
if (typeof response === 'string') {
|
|
122
|
-
return response;
|
|
123
|
-
}
|
|
124
|
-
return JSON.stringify(response, null, 2);
|
|
125
|
-
}
|
|
126
|
-
export async function handleImportPolicies(args, client) {
|
|
127
|
-
const response = await client.post(`/api/v1/organizations/${args.organization_id}/policies/import`, { content: args.content });
|
|
128
|
-
const result = response;
|
|
129
|
-
if (result.success) {
|
|
130
|
-
return `Import successful: ${result.policiesCreated} created, ${result.policiesUpdated} updated` +
|
|
131
|
-
(result.gatewayPolicyUpdated ? ', gateway policy updated' : '') +
|
|
132
|
-
(result.errors?.length ? `\nWarnings: ${result.errors.join('; ')}` : '');
|
|
133
|
-
}
|
|
134
|
-
return `Import failed: ${result.errors?.join('; ') || 'Unknown error'}`;
|
|
135
|
-
}
|
|
136
|
-
export async function handleValidatePolicies(args, client) {
|
|
137
|
-
const response = await client.post(`/api/v1/organizations/${args.organization_id}/policies/validate`, { content: args.content });
|
|
138
|
-
const result = response;
|
|
139
|
-
const lines = [];
|
|
140
|
-
lines.push(`Valid: ${result.valid ? 'Yes' : 'No'}`);
|
|
141
|
-
if (result.errors?.length) {
|
|
142
|
-
lines.push(`\nErrors (${result.errors.length}):`);
|
|
143
|
-
result.errors.forEach((e) => lines.push(` - ${e.path}: ${e.message}`));
|
|
144
|
-
}
|
|
145
|
-
if (result.warnings?.length) {
|
|
146
|
-
lines.push(`\nWarnings (${result.warnings.length}):`);
|
|
147
|
-
result.warnings.forEach((w) => lines.push(` - ${w.path}: ${w.message}`));
|
|
148
|
-
}
|
|
149
|
-
if (result.diff) {
|
|
150
|
-
const d = result.diff;
|
|
151
|
-
if (d.added?.length)
|
|
152
|
-
lines.push(`\nAdded: ${d.added.join(', ')}`);
|
|
153
|
-
if (d.removed?.length)
|
|
154
|
-
lines.push(`Removed: ${d.removed.join(', ')}`);
|
|
155
|
-
if (d.changed?.length) {
|
|
156
|
-
lines.push(`Changed (${d.changed.length}):`);
|
|
157
|
-
d.changed.forEach((c) => lines.push(` - ${c.path}`));
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
return lines.join('\n');
|
|
161
|
-
}
|
|
162
|
-
export async function handleApplyGuardrail(args, client) {
|
|
163
|
-
const response = await client.post(`/api/v1/organizations/${args.organization_id}/policies/templates`, { template: args.template });
|
|
164
|
-
const result = response;
|
|
165
|
-
if (result.success) {
|
|
166
|
-
return `Guardrail '${args.template}' applied: ${result.policiesCreated} policies created, ${result.policiesUpdated} updated` +
|
|
167
|
-
(result.gatewayPolicyUpdated ? ', gateway config updated' : '');
|
|
168
|
-
}
|
|
169
|
-
return `Failed to apply template: ${result.errors?.join('; ') || result.error || 'Unknown error'}`;
|
|
170
|
-
}
|
|
171
286
|
//# sourceMappingURL=governance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"governance.js","sourceRoot":"","sources":["../../src/tools/governance.ts"],"names":[],"mappings":"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"}
|