@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
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Outcomes & Grading Tools
|
|
3
|
+
*
|
|
4
|
+
* MCP tools for managing rubrics, outcomes, and evaluations.
|
|
5
|
+
*/
|
|
6
|
+
export declare const outcomeTools: {
|
|
7
|
+
rubric_list: {
|
|
8
|
+
name: string;
|
|
9
|
+
annotations: {
|
|
10
|
+
title: string;
|
|
11
|
+
readOnlyHint: boolean;
|
|
12
|
+
destructiveHint: boolean;
|
|
13
|
+
openWorldHint: boolean;
|
|
14
|
+
};
|
|
15
|
+
description: string;
|
|
16
|
+
inputSchema: {
|
|
17
|
+
type: "object";
|
|
18
|
+
properties: {
|
|
19
|
+
status: {
|
|
20
|
+
type: string;
|
|
21
|
+
enum: string[];
|
|
22
|
+
description: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
rubric_create: {
|
|
28
|
+
name: string;
|
|
29
|
+
annotations: {
|
|
30
|
+
title: string;
|
|
31
|
+
readOnlyHint: boolean;
|
|
32
|
+
destructiveHint: boolean;
|
|
33
|
+
openWorldHint: boolean;
|
|
34
|
+
};
|
|
35
|
+
description: string;
|
|
36
|
+
inputSchema: {
|
|
37
|
+
type: "object";
|
|
38
|
+
properties: {
|
|
39
|
+
name: {
|
|
40
|
+
type: string;
|
|
41
|
+
description: string;
|
|
42
|
+
};
|
|
43
|
+
description: {
|
|
44
|
+
type: string;
|
|
45
|
+
description: string;
|
|
46
|
+
};
|
|
47
|
+
rubric_content: {
|
|
48
|
+
type: string;
|
|
49
|
+
description: string;
|
|
50
|
+
};
|
|
51
|
+
criteria: {
|
|
52
|
+
type: string;
|
|
53
|
+
items: {
|
|
54
|
+
type: string;
|
|
55
|
+
properties: {
|
|
56
|
+
id: {
|
|
57
|
+
type: string;
|
|
58
|
+
};
|
|
59
|
+
name: {
|
|
60
|
+
type: string;
|
|
61
|
+
};
|
|
62
|
+
description: {
|
|
63
|
+
type: string;
|
|
64
|
+
};
|
|
65
|
+
weight: {
|
|
66
|
+
type: string;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
required: string[];
|
|
70
|
+
};
|
|
71
|
+
description: string;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
required: string[];
|
|
75
|
+
};
|
|
76
|
+
};
|
|
77
|
+
outcome_define: {
|
|
78
|
+
name: string;
|
|
79
|
+
annotations: {
|
|
80
|
+
title: string;
|
|
81
|
+
readOnlyHint: boolean;
|
|
82
|
+
destructiveHint: boolean;
|
|
83
|
+
openWorldHint: boolean;
|
|
84
|
+
};
|
|
85
|
+
description: string;
|
|
86
|
+
inputSchema: {
|
|
87
|
+
type: "object";
|
|
88
|
+
properties: {
|
|
89
|
+
description: {
|
|
90
|
+
type: string;
|
|
91
|
+
description: string;
|
|
92
|
+
};
|
|
93
|
+
rubric_id: {
|
|
94
|
+
type: string;
|
|
95
|
+
description: string;
|
|
96
|
+
};
|
|
97
|
+
max_iterations: {
|
|
98
|
+
type: string;
|
|
99
|
+
description: string;
|
|
100
|
+
};
|
|
101
|
+
session_id: {
|
|
102
|
+
type: string;
|
|
103
|
+
description: string;
|
|
104
|
+
};
|
|
105
|
+
task_id: {
|
|
106
|
+
type: string;
|
|
107
|
+
description: string;
|
|
108
|
+
};
|
|
109
|
+
agent_id: {
|
|
110
|
+
type: string;
|
|
111
|
+
description: string;
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
required: string[];
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
outcome_status: {
|
|
118
|
+
name: string;
|
|
119
|
+
annotations: {
|
|
120
|
+
title: string;
|
|
121
|
+
readOnlyHint: boolean;
|
|
122
|
+
destructiveHint: boolean;
|
|
123
|
+
openWorldHint: boolean;
|
|
124
|
+
};
|
|
125
|
+
description: string;
|
|
126
|
+
inputSchema: {
|
|
127
|
+
type: "object";
|
|
128
|
+
properties: {
|
|
129
|
+
outcome_id: {
|
|
130
|
+
type: string;
|
|
131
|
+
description: string;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
required: string[];
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
//# sourceMappingURL=outcomes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outcomes.d.ts","sourceRoot":"","sources":["../../src/tools/outcomes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8HxB,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Outcomes & Grading Tools
|
|
3
|
+
*
|
|
4
|
+
* MCP tools for managing rubrics, outcomes, and evaluations.
|
|
5
|
+
*/
|
|
6
|
+
// ============================================
|
|
7
|
+
// Tool Definitions
|
|
8
|
+
// ============================================
|
|
9
|
+
export const outcomeTools = {
|
|
10
|
+
rubric_list: {
|
|
11
|
+
name: 'rubric_list',
|
|
12
|
+
annotations: {
|
|
13
|
+
title: 'List Rubrics',
|
|
14
|
+
readOnlyHint: true,
|
|
15
|
+
destructiveHint: false,
|
|
16
|
+
openWorldHint: false,
|
|
17
|
+
},
|
|
18
|
+
description: 'List outcome rubrics for the organization. Rubrics define success criteria for agent work.',
|
|
19
|
+
inputSchema: {
|
|
20
|
+
type: 'object',
|
|
21
|
+
properties: {
|
|
22
|
+
status: {
|
|
23
|
+
type: 'string',
|
|
24
|
+
enum: ['active', 'archived'],
|
|
25
|
+
description: 'Filter by status (default: all)',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
rubric_create: {
|
|
31
|
+
name: 'rubric_create',
|
|
32
|
+
annotations: {
|
|
33
|
+
title: 'Create Rubric',
|
|
34
|
+
readOnlyHint: false,
|
|
35
|
+
destructiveHint: false,
|
|
36
|
+
openWorldHint: false,
|
|
37
|
+
},
|
|
38
|
+
description: 'Create a new outcome rubric with criteria for evaluating agent output quality.',
|
|
39
|
+
inputSchema: {
|
|
40
|
+
type: 'object',
|
|
41
|
+
properties: {
|
|
42
|
+
name: {
|
|
43
|
+
type: 'string',
|
|
44
|
+
description: 'Rubric name (e.g., "Code Review Quality")',
|
|
45
|
+
},
|
|
46
|
+
description: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
description: 'What this rubric evaluates',
|
|
49
|
+
},
|
|
50
|
+
rubric_content: {
|
|
51
|
+
type: 'string',
|
|
52
|
+
description: 'Markdown rubric text with criteria sections',
|
|
53
|
+
},
|
|
54
|
+
criteria: {
|
|
55
|
+
type: 'array',
|
|
56
|
+
items: {
|
|
57
|
+
type: 'object',
|
|
58
|
+
properties: {
|
|
59
|
+
id: { type: 'string' },
|
|
60
|
+
name: { type: 'string' },
|
|
61
|
+
description: { type: 'string' },
|
|
62
|
+
weight: { type: 'number' },
|
|
63
|
+
},
|
|
64
|
+
required: ['id', 'name'],
|
|
65
|
+
},
|
|
66
|
+
description: 'Structured criteria list (1-50 items)',
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
required: ['name', 'rubric_content', 'criteria'],
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
outcome_define: {
|
|
73
|
+
name: 'outcome_define',
|
|
74
|
+
annotations: {
|
|
75
|
+
title: 'Define Outcome',
|
|
76
|
+
readOnlyHint: false,
|
|
77
|
+
destructiveHint: false,
|
|
78
|
+
openWorldHint: false,
|
|
79
|
+
},
|
|
80
|
+
description: 'Define a success outcome for an agent task. Links to a rubric and sets up auto-grading.',
|
|
81
|
+
inputSchema: {
|
|
82
|
+
type: 'object',
|
|
83
|
+
properties: {
|
|
84
|
+
description: {
|
|
85
|
+
type: 'string',
|
|
86
|
+
description: 'What the agent should achieve (e.g., "Build analysis report")',
|
|
87
|
+
},
|
|
88
|
+
rubric_id: {
|
|
89
|
+
type: 'string',
|
|
90
|
+
description: 'Rubric ID to use for grading (format: rub_xxxxx)',
|
|
91
|
+
},
|
|
92
|
+
max_iterations: {
|
|
93
|
+
type: 'number',
|
|
94
|
+
description: 'Max evaluation iterations (1-20, default: 3)',
|
|
95
|
+
},
|
|
96
|
+
session_id: {
|
|
97
|
+
type: 'string',
|
|
98
|
+
description: 'Session ID to link to (format: ses_xxxxx)',
|
|
99
|
+
},
|
|
100
|
+
task_id: {
|
|
101
|
+
type: 'string',
|
|
102
|
+
description: 'Task ID to link to',
|
|
103
|
+
},
|
|
104
|
+
agent_id: {
|
|
105
|
+
type: 'string',
|
|
106
|
+
description: 'Agent working on this outcome',
|
|
107
|
+
},
|
|
108
|
+
},
|
|
109
|
+
required: ['description'],
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
outcome_status: {
|
|
113
|
+
name: 'outcome_status',
|
|
114
|
+
annotations: {
|
|
115
|
+
title: 'Check Outcome Status',
|
|
116
|
+
readOnlyHint: true,
|
|
117
|
+
destructiveHint: false,
|
|
118
|
+
openWorldHint: false,
|
|
119
|
+
},
|
|
120
|
+
description: 'Check the status of an outcome including evaluation history and scores.',
|
|
121
|
+
inputSchema: {
|
|
122
|
+
type: 'object',
|
|
123
|
+
properties: {
|
|
124
|
+
outcome_id: {
|
|
125
|
+
type: 'string',
|
|
126
|
+
description: 'Outcome ID (format: out_xxxxx)',
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
required: ['outcome_id'],
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
};
|
|
133
|
+
// ============================================
|
|
134
|
+
// Handler Functions
|
|
135
|
+
// ============================================
|
|
136
|
+
//# sourceMappingURL=outcomes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outcomes.js","sourceRoot":"","sources":["../../src/tools/outcomes.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* Tools for managing scheduled agent task execution via Claude Desktop / Cursor.
|
|
5
5
|
* Supports creating, listing, pausing/resuming, and deleting agent schedules.
|
|
6
6
|
*/
|
|
7
|
-
import { DobbyClient } from '../lib/dobby-client.js';
|
|
8
7
|
export declare const scheduleTools: {
|
|
9
8
|
create_schedule: {
|
|
10
9
|
name: string;
|
|
@@ -147,50 +146,4 @@ export declare const scheduleTools: {
|
|
|
147
146
|
};
|
|
148
147
|
};
|
|
149
148
|
};
|
|
150
|
-
export declare function handleCreateSchedule(client: DobbyClient, args: {
|
|
151
|
-
name: string;
|
|
152
|
-
task_title: string;
|
|
153
|
-
task_description: string;
|
|
154
|
-
task_priority?: string;
|
|
155
|
-
schedule_type: string;
|
|
156
|
-
frequency?: string;
|
|
157
|
-
time?: string;
|
|
158
|
-
timezone?: string;
|
|
159
|
-
day_of_week?: number;
|
|
160
|
-
day_of_month?: number;
|
|
161
|
-
schedule_at?: string;
|
|
162
|
-
overlap_policy?: string;
|
|
163
|
-
}): Promise<{
|
|
164
|
-
content: {
|
|
165
|
-
type: "text";
|
|
166
|
-
text: string;
|
|
167
|
-
}[];
|
|
168
|
-
}>;
|
|
169
|
-
export declare function handleListSchedules(client: DobbyClient, args: {
|
|
170
|
-
enabled_only?: boolean;
|
|
171
|
-
limit?: number;
|
|
172
|
-
}): Promise<{
|
|
173
|
-
content: {
|
|
174
|
-
type: "text";
|
|
175
|
-
text: string;
|
|
176
|
-
}[];
|
|
177
|
-
}>;
|
|
178
|
-
export declare function handlePauseSchedule(client: DobbyClient, args: {
|
|
179
|
-
schedule_id: string;
|
|
180
|
-
action: string;
|
|
181
|
-
reason?: string;
|
|
182
|
-
}): Promise<{
|
|
183
|
-
content: {
|
|
184
|
-
type: "text";
|
|
185
|
-
text: string;
|
|
186
|
-
}[];
|
|
187
|
-
}>;
|
|
188
|
-
export declare function handleDeleteSchedule(client: DobbyClient, args: {
|
|
189
|
-
schedule_id: string;
|
|
190
|
-
}): Promise<{
|
|
191
|
-
content: {
|
|
192
|
-
type: "text";
|
|
193
|
-
text: string;
|
|
194
|
-
}[];
|
|
195
|
-
}>;
|
|
196
149
|
//# sourceMappingURL=schedules.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/tools/schedules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"schedules.d.ts","sourceRoot":"","sources":["../../src/tools/schedules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyJzB,CAAC"}
|
package/dist/tools/schedules.js
CHANGED
|
@@ -152,113 +152,4 @@ export const scheduleTools = {
|
|
|
152
152
|
// ============================================
|
|
153
153
|
// Tool Handlers
|
|
154
154
|
// ============================================
|
|
155
|
-
export async function handleCreateSchedule(client, args) {
|
|
156
|
-
// Build schedule_config for recurring schedules
|
|
157
|
-
let scheduleConfig = undefined;
|
|
158
|
-
if (args.schedule_type === 'recurring') {
|
|
159
|
-
scheduleConfig = {
|
|
160
|
-
frequency: args.frequency || 'daily',
|
|
161
|
-
time: args.time || '09:00',
|
|
162
|
-
timezone: args.timezone || 'Asia/Jerusalem',
|
|
163
|
-
dayOfWeek: args.day_of_week,
|
|
164
|
-
dayOfMonth: args.day_of_month,
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
const result = await client.createSchedule({
|
|
168
|
-
name: args.name,
|
|
169
|
-
task_title: args.task_title,
|
|
170
|
-
task_description: args.task_description,
|
|
171
|
-
task_priority: args.task_priority || 'medium',
|
|
172
|
-
schedule_type: args.schedule_type,
|
|
173
|
-
schedule_config: scheduleConfig,
|
|
174
|
-
schedule_at: args.schedule_at,
|
|
175
|
-
overlap_policy: args.overlap_policy || 'skip',
|
|
176
|
-
});
|
|
177
|
-
const schedule = result.schedule;
|
|
178
|
-
const lines = [
|
|
179
|
-
`Schedule created successfully!`,
|
|
180
|
-
``,
|
|
181
|
-
`Schedule: ${schedule.name}`,
|
|
182
|
-
`ID: ${schedule.id}`,
|
|
183
|
-
`Type: ${schedule.scheduleType === 'recurring' ? 'Recurring' : 'One-time'}`,
|
|
184
|
-
];
|
|
185
|
-
if (schedule.scheduleDescription) {
|
|
186
|
-
lines.push(`When: ${schedule.scheduleDescription}`);
|
|
187
|
-
}
|
|
188
|
-
if (schedule.nextRunAt) {
|
|
189
|
-
lines.push(`Next run: ${new Date(schedule.nextRunAt).toLocaleString()}`);
|
|
190
|
-
}
|
|
191
|
-
lines.push(`Overlap policy: ${schedule.overlapPolicy}`);
|
|
192
|
-
lines.push(`Task: "${schedule.taskTitle}"`);
|
|
193
|
-
return {
|
|
194
|
-
content: [{ type: 'text', text: lines.join('\n') }],
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
export async function handleListSchedules(client, args) {
|
|
198
|
-
const result = await client.listSchedules({
|
|
199
|
-
enabled_only: args.enabled_only !== false,
|
|
200
|
-
limit: args.limit || 20,
|
|
201
|
-
});
|
|
202
|
-
const schedules = result.schedules;
|
|
203
|
-
if (!schedules || schedules.length === 0) {
|
|
204
|
-
return {
|
|
205
|
-
content: [
|
|
206
|
-
{
|
|
207
|
-
type: 'text',
|
|
208
|
-
text: 'No agent schedules found. Use create_schedule to set one up.',
|
|
209
|
-
},
|
|
210
|
-
],
|
|
211
|
-
};
|
|
212
|
-
}
|
|
213
|
-
const lines = [`Agent Schedules (${schedules.length})`, ''];
|
|
214
|
-
for (const s of schedules) {
|
|
215
|
-
const status = s.paused
|
|
216
|
-
? 'Paused'
|
|
217
|
-
: s.enabled
|
|
218
|
-
? 'Active'
|
|
219
|
-
: 'Disabled';
|
|
220
|
-
lines.push(`${status} **${s.name}** (${s.id})`);
|
|
221
|
-
if (s.scheduleDescription) {
|
|
222
|
-
lines.push(` ${s.scheduleDescription}`);
|
|
223
|
-
}
|
|
224
|
-
if (s.nextRunAt) {
|
|
225
|
-
lines.push(` Next: ${new Date(s.nextRunAt).toLocaleString()}`);
|
|
226
|
-
}
|
|
227
|
-
if (s.lastRunAt) {
|
|
228
|
-
lines.push(` Last: ${s.lastRunStatus} at ${new Date(s.lastRunAt).toLocaleString()}`);
|
|
229
|
-
}
|
|
230
|
-
lines.push(` Runs: ${s.totalRuns} total, ${s.totalSuccesses} success, ${s.totalFailures} failed`);
|
|
231
|
-
lines.push('');
|
|
232
|
-
}
|
|
233
|
-
return {
|
|
234
|
-
content: [{ type: 'text', text: lines.join('\n') }],
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
export async function handlePauseSchedule(client, args) {
|
|
238
|
-
const result = await client.pauseSchedule({
|
|
239
|
-
schedule_id: args.schedule_id,
|
|
240
|
-
action: args.action,
|
|
241
|
-
reason: args.reason,
|
|
242
|
-
});
|
|
243
|
-
const action = args.action === 'pause' ? 'paused' : 'resumed';
|
|
244
|
-
return {
|
|
245
|
-
content: [
|
|
246
|
-
{
|
|
247
|
-
type: 'text',
|
|
248
|
-
text: `Schedule ${args.schedule_id} has been ${action}.\n${args.reason ? `Reason: ${args.reason}` : ''}`,
|
|
249
|
-
},
|
|
250
|
-
],
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
export async function handleDeleteSchedule(client, args) {
|
|
254
|
-
await client.deleteSchedule(args.schedule_id);
|
|
255
|
-
return {
|
|
256
|
-
content: [
|
|
257
|
-
{
|
|
258
|
-
type: 'text',
|
|
259
|
-
text: `Schedule ${args.schedule_id} has been deleted (disabled).`,
|
|
260
|
-
},
|
|
261
|
-
],
|
|
262
|
-
};
|
|
263
|
-
}
|
|
264
155
|
//# sourceMappingURL=schedules.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../src/tools/schedules.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"schedules.js","sourceRoot":"","sources":["../../src/tools/schedules.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/services.d.ts
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*
|
|
4
4
|
* MCP tools for discovering available services and capabilities.
|
|
5
5
|
*/
|
|
6
|
-
import { DobbyClient } from '../lib/dobby-client.js';
|
|
7
6
|
export declare const serviceTools: {
|
|
8
7
|
list_services: {
|
|
9
8
|
name: string;
|
|
@@ -26,19 +25,4 @@ export declare const serviceTools: {
|
|
|
26
25
|
};
|
|
27
26
|
};
|
|
28
27
|
};
|
|
29
|
-
export declare function handleListServices(client: DobbyClient, args: {
|
|
30
|
-
category?: string;
|
|
31
|
-
}): Promise<{
|
|
32
|
-
content: {
|
|
33
|
-
type: "text";
|
|
34
|
-
text: string;
|
|
35
|
-
}[];
|
|
36
|
-
isError?: undefined;
|
|
37
|
-
} | {
|
|
38
|
-
content: {
|
|
39
|
-
type: "text";
|
|
40
|
-
text: string;
|
|
41
|
-
}[];
|
|
42
|
-
isError: boolean;
|
|
43
|
-
}>;
|
|
44
28
|
//# sourceMappingURL=services.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/tools/services.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../src/tools/services.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;CAsBxB,CAAC"}
|
package/dist/tools/services.js
CHANGED
|
@@ -31,142 +31,7 @@ export const serviceTools = {
|
|
|
31
31
|
// ============================================
|
|
32
32
|
// Tool Handlers
|
|
33
33
|
// ============================================
|
|
34
|
-
export async function handleListServices(client, args) {
|
|
35
|
-
try {
|
|
36
|
-
const data = await client.listServices({
|
|
37
|
-
category: args.category || 'all',
|
|
38
|
-
});
|
|
39
|
-
const text = formatServiceDiscovery(data, args.category);
|
|
40
|
-
return {
|
|
41
|
-
content: [{ type: 'text', text }],
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
catch (error) {
|
|
45
|
-
return {
|
|
46
|
-
content: [
|
|
47
|
-
{
|
|
48
|
-
type: 'text',
|
|
49
|
-
text: `Failed to discover services: ${error.message}`,
|
|
50
|
-
},
|
|
51
|
-
],
|
|
52
|
-
isError: true,
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
34
|
// ============================================
|
|
57
35
|
// Formatting
|
|
58
36
|
// ============================================
|
|
59
|
-
function formatServiceDiscovery(data, category) {
|
|
60
|
-
let text = '# Available Services\n\n';
|
|
61
|
-
// Context
|
|
62
|
-
if (data.context) {
|
|
63
|
-
text += `## Your Access Context\n`;
|
|
64
|
-
text += `- **Organization:** ${data.context.org_id}\n`;
|
|
65
|
-
text += `- **Tenant:** ${data.context.tenant_id}\n`;
|
|
66
|
-
text += `- **Key Type:** ${data.context.key_type}\n`;
|
|
67
|
-
text += `- **Scopes:** ${data.context.scopes.join(', ')}\n\n`;
|
|
68
|
-
}
|
|
69
|
-
const showAll = !category || category === 'all';
|
|
70
|
-
// LLM Models (connected + available)
|
|
71
|
-
if (data.llm && (showAll || category === 'llm')) {
|
|
72
|
-
const totalConnected = data.llm.total_connected_models || 0;
|
|
73
|
-
const totalAvailable = data.llm.total_available_models || 0;
|
|
74
|
-
text += `## LLM Models (${totalConnected} connected, ${totalAvailable} available to connect)\n\n`;
|
|
75
|
-
// Connected providers
|
|
76
|
-
if (data.llm.connected_providers?.length > 0) {
|
|
77
|
-
text += `### Connected Providers\n`;
|
|
78
|
-
for (const provider of data.llm.connected_providers) {
|
|
79
|
-
const validIcon = provider.is_valid ? '✅' : '⚠️';
|
|
80
|
-
text += `#### ${validIcon} ${provider.provider_name}`;
|
|
81
|
-
if (provider.key_prefix)
|
|
82
|
-
text += ` (key: ${provider.key_prefix}…)`;
|
|
83
|
-
text += '\n';
|
|
84
|
-
for (const model of provider.models || []) {
|
|
85
|
-
text += `- **${model.display_name || model.name}** (\`${model.id}\`) — ${model.context_window?.toLocaleString()} ctx`;
|
|
86
|
-
if (model.supports_vision)
|
|
87
|
-
text += ' | vision';
|
|
88
|
-
text += '\n';
|
|
89
|
-
}
|
|
90
|
-
text += '\n';
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
text += `### Connected Providers\n`;
|
|
95
|
-
text += `_No LLM providers connected yet._\n\n`;
|
|
96
|
-
}
|
|
97
|
-
// Available providers (catalog)
|
|
98
|
-
if (data.llm.available_providers?.length > 0) {
|
|
99
|
-
text += `### Available to Connect\n`;
|
|
100
|
-
for (const provider of data.llm.available_providers) {
|
|
101
|
-
text += `- **${provider.provider_name}** — ${provider.models?.length || 0} models available\n`;
|
|
102
|
-
}
|
|
103
|
-
text += '\n';
|
|
104
|
-
}
|
|
105
|
-
if (data.llm.policy) {
|
|
106
|
-
text += `### Policy Limits\n`;
|
|
107
|
-
if (data.llm.policy.max_cost_per_request != null)
|
|
108
|
-
text += `- Max cost/request: $${data.llm.policy.max_cost_per_request}\n`;
|
|
109
|
-
if (data.llm.policy.daily_cost_limit != null)
|
|
110
|
-
text += `- Daily limit: $${data.llm.policy.daily_cost_limit}\n`;
|
|
111
|
-
if (data.llm.policy.rate_limit_rpm != null)
|
|
112
|
-
text += `- Rate limit: ${data.llm.policy.rate_limit_rpm} RPM\n`;
|
|
113
|
-
text += '\n';
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
// MCP Tools (unchanged)
|
|
117
|
-
if (data.mcp_tools && (showAll || category === 'mcp_tools')) {
|
|
118
|
-
text += `## MCP Tools (${data.mcp_tools.total_tools} total)\n\n`;
|
|
119
|
-
text += `Read: ${data.mcp_tools.read_tools} | Execute: ${data.mcp_tools.execute_tools}\n\n`;
|
|
120
|
-
for (const tool of data.mcp_tools.available || []) {
|
|
121
|
-
const icon = tool.accessible ? '✅' : '🔒';
|
|
122
|
-
text += `- ${icon} **${tool.name}** [${tool.scope}] — ${tool.description}\n`;
|
|
123
|
-
}
|
|
124
|
-
text += '\n';
|
|
125
|
-
}
|
|
126
|
-
// Integrations (replaces old mcp_servers)
|
|
127
|
-
if (data.integrations && (showAll || category === 'integrations')) {
|
|
128
|
-
const connectedCount = data.integrations.connected?.length || 0;
|
|
129
|
-
const availableCount = data.integrations.available?.length || 0;
|
|
130
|
-
text += `## Integrations (${connectedCount} connected, ${availableCount} available)\n\n`;
|
|
131
|
-
if (data.integrations.connected?.length > 0) {
|
|
132
|
-
text += `### Connected\n`;
|
|
133
|
-
for (const integ of data.integrations.connected) {
|
|
134
|
-
const validIcon = integ.is_valid ? '✅' : '⚠️';
|
|
135
|
-
text += `- ${validIcon} **${integ.name}** [${integ.category}]`;
|
|
136
|
-
if (integ.key_prefix)
|
|
137
|
-
text += ` (key: ${integ.key_prefix}…)`;
|
|
138
|
-
text += '\n';
|
|
139
|
-
}
|
|
140
|
-
text += '\n';
|
|
141
|
-
}
|
|
142
|
-
if (data.integrations.available?.length > 0) {
|
|
143
|
-
text += `### Available to Connect\n`;
|
|
144
|
-
for (const integ of data.integrations.available) {
|
|
145
|
-
text += `- **${integ.name}** [${integ.category}] — ${integ.description}\n`;
|
|
146
|
-
}
|
|
147
|
-
text += '\n';
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
// Managed Services (unchanged)
|
|
151
|
-
if (data.managed_services?.length > 0 && (showAll || category === 'managed_services')) {
|
|
152
|
-
const enabled = data.managed_services.filter((s) => s.is_enabled);
|
|
153
|
-
const disabled = data.managed_services.filter((s) => !s.is_enabled);
|
|
154
|
-
text += `## Managed Services (${enabled.length} enabled, ${disabled.length} available)\n\n`;
|
|
155
|
-
if (enabled.length > 0) {
|
|
156
|
-
text += `### Enabled\n`;
|
|
157
|
-
for (const svc of enabled) {
|
|
158
|
-
text += `- ✅ **${svc.name}** [${svc.category}] — ${svc.description}\n`;
|
|
159
|
-
}
|
|
160
|
-
text += '\n';
|
|
161
|
-
}
|
|
162
|
-
if (disabled.length > 0) {
|
|
163
|
-
text += `### Available (not enabled)\n`;
|
|
164
|
-
for (const svc of disabled) {
|
|
165
|
-
text += `- ${svc.name} [${svc.category}] — ${svc.description}\n`;
|
|
166
|
-
}
|
|
167
|
-
text += '\n';
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
return text;
|
|
171
|
-
}
|
|
172
37
|
//# sourceMappingURL=services.js.map
|