@dobbyai/mcp-external 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +67 -14
  2. package/dist/__tests__/tools/services.test.d.ts +2 -0
  3. package/dist/__tests__/tools/services.test.d.ts.map +1 -0
  4. package/dist/__tests__/tools/services.test.js +223 -0
  5. package/dist/__tests__/tools/services.test.js.map +1 -0
  6. package/dist/lib/dobby-client.d.ts +9 -0
  7. package/dist/lib/dobby-client.d.ts.map +1 -1
  8. package/dist/lib/dobby-client.js +37 -0
  9. package/dist/lib/dobby-client.js.map +1 -1
  10. package/dist/resources/index.d.ts.map +1 -1
  11. package/dist/resources/index.js +27 -0
  12. package/dist/resources/index.js.map +1 -1
  13. package/dist/tools/crew-builder.d.ts +165 -0
  14. package/dist/tools/crew-builder.d.ts.map +1 -0
  15. package/dist/tools/crew-builder.js +306 -0
  16. package/dist/tools/crew-builder.js.map +1 -0
  17. package/dist/tools/crewai.d.ts +140 -0
  18. package/dist/tools/crewai.d.ts.map +1 -0
  19. package/dist/tools/crewai.js +226 -0
  20. package/dist/tools/crewai.js.map +1 -0
  21. package/dist/tools/index.d.ts +453 -0
  22. package/dist/tools/index.d.ts.map +1 -1
  23. package/dist/tools/index.js +83 -0
  24. package/dist/tools/index.js.map +1 -1
  25. package/dist/tools/jira.d.ts +437 -0
  26. package/dist/tools/jira.d.ts.map +1 -0
  27. package/dist/tools/jira.js +628 -0
  28. package/dist/tools/jira.js.map +1 -0
  29. package/dist/tools/mcp-tools.d.ts +90 -0
  30. package/dist/tools/mcp-tools.d.ts.map +1 -0
  31. package/dist/tools/mcp-tools.js +203 -0
  32. package/dist/tools/mcp-tools.js.map +1 -0
  33. package/dist/tools/services.d.ts +38 -0
  34. package/dist/tools/services.d.ts.map +1 -0
  35. package/dist/tools/services.js +166 -0
  36. package/dist/tools/services.js.map +1 -0
  37. package/package.json +1 -1
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Crew Builder Tools
3
+ *
4
+ * MCP tools for creating and running CrewAI crews from YAML configurations
5
+ * through the Dobby gateway proxy (managed service: crewai-local).
6
+ *
7
+ * These tools work with the Crew AI Service (mcp/crew-ai/) which runs
8
+ * as an internal Docker container. All requests are proxied through
9
+ * the gateway at /api/v1/gateway/agents/proxy with provider_id='crewai-local'.
10
+ *
11
+ * Tools:
12
+ * crew_validate — Validate YAML configs without running
13
+ * crew_kickoff — Create crew from YAML and start execution
14
+ * crew_status — Check run status and results
15
+ * crew_list — List recent crew runs
16
+ */
17
+ import { DobbyClient } from '../lib/dobby-client.js';
18
+ export declare const crewBuilderTools: {
19
+ crew_validate: {
20
+ name: string;
21
+ description: string;
22
+ inputSchema: {
23
+ type: "object";
24
+ properties: {
25
+ agents_yaml: {
26
+ type: string;
27
+ description: string;
28
+ };
29
+ tasks_yaml: {
30
+ type: string;
31
+ description: string;
32
+ };
33
+ };
34
+ required: string[];
35
+ };
36
+ };
37
+ crew_kickoff: {
38
+ name: string;
39
+ description: string;
40
+ inputSchema: {
41
+ type: "object";
42
+ properties: {
43
+ agents_yaml: {
44
+ type: string;
45
+ description: string;
46
+ };
47
+ tasks_yaml: {
48
+ type: string;
49
+ description: string;
50
+ };
51
+ variables: {
52
+ type: string;
53
+ description: string;
54
+ additionalProperties: {
55
+ type: string;
56
+ };
57
+ };
58
+ process_type: {
59
+ type: string;
60
+ enum: string[];
61
+ description: string;
62
+ };
63
+ };
64
+ required: string[];
65
+ };
66
+ };
67
+ crew_status: {
68
+ name: string;
69
+ description: string;
70
+ inputSchema: {
71
+ type: "object";
72
+ properties: {
73
+ run_id: {
74
+ type: string;
75
+ description: string;
76
+ };
77
+ };
78
+ required: string[];
79
+ };
80
+ };
81
+ crew_list: {
82
+ name: string;
83
+ description: string;
84
+ inputSchema: {
85
+ type: "object";
86
+ properties: {
87
+ limit: {
88
+ type: string;
89
+ description: string;
90
+ };
91
+ status_filter: {
92
+ type: string;
93
+ enum: string[];
94
+ description: string;
95
+ };
96
+ };
97
+ };
98
+ };
99
+ };
100
+ export declare function handleCrewValidate(client: DobbyClient, args: {
101
+ agents_yaml: string;
102
+ tasks_yaml: string;
103
+ }): Promise<{
104
+ content: {
105
+ type: "text";
106
+ text: string;
107
+ }[];
108
+ isError?: undefined;
109
+ } | {
110
+ content: {
111
+ type: "text";
112
+ text: string;
113
+ }[];
114
+ isError: boolean;
115
+ }>;
116
+ export declare function handleCrewKickoff(client: DobbyClient, args: {
117
+ agents_yaml: string;
118
+ tasks_yaml: string;
119
+ variables?: Record<string, string>;
120
+ process_type?: string;
121
+ }): Promise<{
122
+ content: {
123
+ type: "text";
124
+ text: string;
125
+ }[];
126
+ isError?: undefined;
127
+ } | {
128
+ content: {
129
+ type: "text";
130
+ text: string;
131
+ }[];
132
+ isError: boolean;
133
+ }>;
134
+ export declare function handleCrewStatus(client: DobbyClient, args: {
135
+ run_id: string;
136
+ }): Promise<{
137
+ content: {
138
+ type: "text";
139
+ text: string;
140
+ }[];
141
+ isError?: undefined;
142
+ } | {
143
+ content: {
144
+ type: "text";
145
+ text: string;
146
+ }[];
147
+ isError: boolean;
148
+ }>;
149
+ export declare function handleCrewList(client: DobbyClient, args: {
150
+ limit?: number;
151
+ status_filter?: string;
152
+ }): Promise<{
153
+ content: {
154
+ type: "text";
155
+ text: string;
156
+ }[];
157
+ isError?: undefined;
158
+ } | {
159
+ content: {
160
+ type: "text";
161
+ text: string;
162
+ }[];
163
+ isError: boolean;
164
+ }>;
165
+ //# sourceMappingURL=crew-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crew-builder.d.ts","sourceRoot":"","sources":["../../src/tools/crew-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMrD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6G5B,CAAC;AAuDF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GA+ClD;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IACJ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;;;;;;;;;;;;GAgCF;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GAoDzB;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GA6CjD"}
@@ -0,0 +1,306 @@
1
+ /**
2
+ * Crew Builder Tools
3
+ *
4
+ * MCP tools for creating and running CrewAI crews from YAML configurations
5
+ * through the Dobby gateway proxy (managed service: crewai-local).
6
+ *
7
+ * These tools work with the Crew AI Service (mcp/crew-ai/) which runs
8
+ * as an internal Docker container. All requests are proxied through
9
+ * the gateway at /api/v1/gateway/agents/proxy with provider_id='crewai-local'.
10
+ *
11
+ * Tools:
12
+ * crew_validate — Validate YAML configs without running
13
+ * crew_kickoff — Create crew from YAML and start execution
14
+ * crew_status — Check run status and results
15
+ * crew_list — List recent crew runs
16
+ */
17
+ // ============================================
18
+ // Tool Definitions
19
+ // ============================================
20
+ export const crewBuilderTools = {
21
+ crew_validate: {
22
+ name: 'crew_validate',
23
+ description: 'Validate CrewAI YAML configurations (agents and tasks) without running them. ' +
24
+ 'Use this to check for errors before starting a kickoff. ' +
25
+ 'Returns validation errors or confirms the configuration is valid.',
26
+ inputSchema: {
27
+ type: 'object',
28
+ properties: {
29
+ agents_yaml: {
30
+ type: 'string',
31
+ description: 'YAML content defining agents. Each agent needs: role, goal, backstory. ' +
32
+ 'Example:\n' +
33
+ 'researcher:\n' +
34
+ ' role: Research Analyst\n' +
35
+ ' goal: Find information about {topic}\n' +
36
+ ' backstory: You are an expert researcher.',
37
+ },
38
+ tasks_yaml: {
39
+ type: 'string',
40
+ description: 'YAML content defining tasks. Each task needs: description, expected_output, agent. ' +
41
+ 'Example:\n' +
42
+ 'research_task:\n' +
43
+ ' description: Research {topic}\n' +
44
+ ' expected_output: A detailed report\n' +
45
+ ' agent: researcher',
46
+ },
47
+ },
48
+ required: ['agents_yaml', 'tasks_yaml'],
49
+ },
50
+ },
51
+ crew_kickoff: {
52
+ name: 'crew_kickoff',
53
+ description: 'Create a CrewAI crew from YAML configurations and start execution. ' +
54
+ 'Agents and tasks are defined in YAML with {placeholder} variable substitution. ' +
55
+ 'Returns a run_id to track progress with crew_status. ' +
56
+ 'The crew runs asynchronously — check status to get results.',
57
+ inputSchema: {
58
+ type: 'object',
59
+ properties: {
60
+ agents_yaml: {
61
+ type: 'string',
62
+ description: 'YAML content defining agents (role, goal, backstory per agent)',
63
+ },
64
+ tasks_yaml: {
65
+ type: 'string',
66
+ description: 'YAML content defining tasks (description, expected_output, agent per task)',
67
+ },
68
+ variables: {
69
+ type: 'object',
70
+ description: 'Key-value pairs to substitute {placeholders} in YAML. ' +
71
+ 'E.g., {"topic": "AI agents"} replaces all {topic} occurrences.',
72
+ additionalProperties: { type: 'string' },
73
+ },
74
+ process_type: {
75
+ type: 'string',
76
+ enum: ['sequential', 'hierarchical'],
77
+ description: 'Crew process type. Sequential runs tasks in order, hierarchical uses a manager agent. Default: sequential.',
78
+ },
79
+ },
80
+ required: ['agents_yaml', 'tasks_yaml'],
81
+ },
82
+ },
83
+ crew_status: {
84
+ name: 'crew_status',
85
+ description: 'Check the status of a local CrewAI crew execution. ' +
86
+ 'Returns the state (pending/running/completed/failed), agent outputs, ' +
87
+ 'result when complete, or error message if failed.',
88
+ inputSchema: {
89
+ type: 'object',
90
+ properties: {
91
+ run_id: {
92
+ type: 'string',
93
+ description: 'The run ID returned from crew_kickoff.',
94
+ },
95
+ },
96
+ required: ['run_id'],
97
+ },
98
+ },
99
+ crew_list: {
100
+ name: 'crew_list',
101
+ description: 'List recent local CrewAI crew runs with their status, timing, and summary info.',
102
+ inputSchema: {
103
+ type: 'object',
104
+ properties: {
105
+ limit: {
106
+ type: 'number',
107
+ description: 'Maximum number of runs to return (default: 10).',
108
+ },
109
+ status_filter: {
110
+ type: 'string',
111
+ enum: ['running', 'completed', 'failed', 'all'],
112
+ description: 'Filter by run status (default: all).',
113
+ },
114
+ },
115
+ },
116
+ },
117
+ };
118
+ async function callCrewBuilderProxy(client, payload) {
119
+ const url = `${client.apiUrl}/api/v1/gateway/agents/proxy`;
120
+ const response = await fetch(url, {
121
+ method: 'POST',
122
+ headers: {
123
+ 'Content-Type': 'application/json',
124
+ Authorization: `Bearer ${client.apiKey}`,
125
+ ...(client.tenantId ? { 'X-Tenant-Id': client.tenantId } : {}),
126
+ },
127
+ body: JSON.stringify({
128
+ ...payload,
129
+ provider_id: 'crewai-local',
130
+ }),
131
+ });
132
+ if (!response.ok) {
133
+ const errBody = await response.json().catch(() => ({
134
+ error: `Gateway proxy returned ${response.status}`,
135
+ }));
136
+ throw new Error(errBody.error ||
137
+ errBody.detail ||
138
+ `Gateway proxy error: HTTP ${response.status}`);
139
+ }
140
+ return response.json();
141
+ }
142
+ // ============================================
143
+ // Tool Handlers
144
+ // ============================================
145
+ export async function handleCrewValidate(client, args) {
146
+ try {
147
+ const data = await callCrewBuilderProxy(client, {
148
+ action: 'validate',
149
+ provider_id: 'crewai-local',
150
+ agents_yaml: args.agents_yaml,
151
+ tasks_yaml: args.tasks_yaml,
152
+ });
153
+ const resp = data.response || {};
154
+ let text = `# Crew YAML Validation\n\n`;
155
+ if (resp.valid) {
156
+ text += `✅ **Valid** — Configuration is ready to run.\n\n`;
157
+ }
158
+ else {
159
+ text += `❌ **Invalid** — Found ${resp.errors?.length || 0} error(s):\n\n`;
160
+ for (const error of resp.errors || []) {
161
+ text += `- ${error}\n`;
162
+ }
163
+ text += `\n`;
164
+ }
165
+ if (resp.agents?.length > 0) {
166
+ text += `## Agents (${resp.agents.length})\n\n`;
167
+ for (const agent of resp.agents) {
168
+ text += `- **${agent.name}** — ${agent.role} (${agent.goal})\n`;
169
+ }
170
+ text += `\n`;
171
+ }
172
+ if (resp.tasks?.length > 0) {
173
+ text += `## Tasks (${resp.tasks.length})\n\n`;
174
+ for (const task of resp.tasks) {
175
+ text += `- **${task.name}** → agent: \`${task.agent}\` — ${task.description}\n`;
176
+ }
177
+ }
178
+ return { content: [{ type: 'text', text }] };
179
+ }
180
+ catch (error) {
181
+ return {
182
+ content: [
183
+ { type: 'text', text: `Crew validation failed: ${error.message}` },
184
+ ],
185
+ isError: true,
186
+ };
187
+ }
188
+ }
189
+ export async function handleCrewKickoff(client, args) {
190
+ try {
191
+ const data = await callCrewBuilderProxy(client, {
192
+ action: 'local_kickoff',
193
+ provider_id: 'crewai-local',
194
+ agents_yaml: args.agents_yaml,
195
+ tasks_yaml: args.tasks_yaml,
196
+ variables: args.variables || {},
197
+ process_type: args.process_type || 'sequential',
198
+ });
199
+ const resp = data.response || {};
200
+ let text = `# Crew Kickoff Started\n\n`;
201
+ text += `- **Run ID:** \`${resp.run_id}\`\n`;
202
+ text += `- **Status:** ${resp.status}\n`;
203
+ text += `- **Agents:** ${resp.agent_count}\n`;
204
+ text += `- **Tasks:** ${resp.task_count}\n`;
205
+ text += `- **Process:** ${resp.process_type}\n`;
206
+ text += `- **Latency:** ${data.latency_ms}ms\n\n`;
207
+ text += `Use \`crew_status\` with run_id \`${resp.run_id}\` to check progress.`;
208
+ return { content: [{ type: 'text', text }] };
209
+ }
210
+ catch (error) {
211
+ return {
212
+ content: [
213
+ { type: 'text', text: `Crew kickoff failed: ${error.message}` },
214
+ ],
215
+ isError: true,
216
+ };
217
+ }
218
+ }
219
+ export async function handleCrewStatus(client, args) {
220
+ try {
221
+ const data = await callCrewBuilderProxy(client, {
222
+ action: 'local_status',
223
+ provider_id: 'crewai-local',
224
+ run_id: args.run_id,
225
+ });
226
+ const resp = data.response || {};
227
+ let text = `# Crew Run Status\n\n`;
228
+ text += `- **Run ID:** \`${resp.run_id}\`\n`;
229
+ text += `- **Status:** ${resp.status}\n`;
230
+ text += `- **Process:** ${resp.process_type}\n`;
231
+ text += `- **Agents:** ${resp.agent_count}\n`;
232
+ text += `- **Tasks:** ${resp.task_count}\n`;
233
+ if (resp.started_at) {
234
+ text += `- **Started:** ${resp.started_at}\n`;
235
+ }
236
+ if (resp.completed_at) {
237
+ text += `- **Completed:** ${resp.completed_at}\n`;
238
+ }
239
+ if (resp.duration_ms != null) {
240
+ text += `- **Duration:** ${resp.duration_ms}ms\n`;
241
+ }
242
+ if (resp.error_message) {
243
+ text += `\n## Error\n\n\`\`\`\n${resp.error_message}\n\`\`\`\n`;
244
+ }
245
+ if (resp.agent_outputs?.length > 0) {
246
+ text += `\n## Agent Outputs\n\n`;
247
+ for (const output of resp.agent_outputs) {
248
+ text += `### ${output.task || 'Task'}\n\n${output.output}\n\n`;
249
+ }
250
+ }
251
+ if (resp.result) {
252
+ text += `\n## Final Result\n\n${resp.result}\n`;
253
+ }
254
+ return { content: [{ type: 'text', text }] };
255
+ }
256
+ catch (error) {
257
+ return {
258
+ content: [
259
+ { type: 'text', text: `Failed to get crew status: ${error.message}` },
260
+ ],
261
+ isError: true,
262
+ };
263
+ }
264
+ }
265
+ export async function handleCrewList(client, args) {
266
+ try {
267
+ const data = await callCrewBuilderProxy(client, {
268
+ action: 'list_runs',
269
+ provider_id: 'crewai-local',
270
+ limit: args.limit || 10,
271
+ status: args.status_filter,
272
+ });
273
+ const resp = data.response || {};
274
+ const runs = resp.runs || [];
275
+ let text = `# Crew Runs (${runs.length})\n\n`;
276
+ if (runs.length === 0) {
277
+ text += `_No crew runs found._\n`;
278
+ }
279
+ else {
280
+ for (const run of runs) {
281
+ const statusIcon = run.status === 'completed' ? '✅' :
282
+ run.status === 'running' ? '🔄' :
283
+ run.status === 'failed' ? '❌' : '⏳';
284
+ text += `- ${statusIcon} **${run.run_id}** [${run.status}] — `;
285
+ text += `${run.agent_count} agents, ${run.task_count} tasks`;
286
+ if (run.duration_ms != null) {
287
+ text += ` (${run.duration_ms}ms)`;
288
+ }
289
+ if (run.has_error) {
290
+ text += ` ⚠️`;
291
+ }
292
+ text += `\n`;
293
+ }
294
+ }
295
+ return { content: [{ type: 'text', text }] };
296
+ }
297
+ catch (error) {
298
+ return {
299
+ content: [
300
+ { type: 'text', text: `Failed to list crew runs: ${error.message}` },
301
+ ],
302
+ isError: true,
303
+ };
304
+ }
305
+ }
306
+ //# sourceMappingURL=crew-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crew-builder.js","sourceRoot":"","sources":["../../src/tools/crew-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,140 @@
1
+ /**
2
+ * CrewAI Tools
3
+ *
4
+ * MCP tools for interacting with CrewAI agents through the Dobby gateway proxy.
5
+ * All calls go through /api/v1/gateway/agents/proxy which handles:
6
+ * - credential decryption
7
+ * - connection lookup
8
+ * - request forwarding
9
+ */
10
+ import { DobbyClient } from '../lib/dobby-client.js';
11
+ export declare const crewaiTools: {
12
+ crewai_health: {
13
+ name: string;
14
+ description: string;
15
+ inputSchema: {
16
+ type: "object";
17
+ properties: {
18
+ connection_id: {
19
+ type: string;
20
+ description: string;
21
+ };
22
+ };
23
+ };
24
+ };
25
+ crewai_inputs: {
26
+ name: string;
27
+ description: string;
28
+ inputSchema: {
29
+ type: "object";
30
+ properties: {
31
+ connection_id: {
32
+ type: string;
33
+ description: string;
34
+ };
35
+ };
36
+ };
37
+ };
38
+ crewai_kickoff: {
39
+ name: string;
40
+ description: string;
41
+ inputSchema: {
42
+ type: "object";
43
+ properties: {
44
+ inputs: {
45
+ type: string;
46
+ description: string;
47
+ additionalProperties: {
48
+ type: string;
49
+ };
50
+ };
51
+ connection_id: {
52
+ type: string;
53
+ description: string;
54
+ };
55
+ };
56
+ required: string[];
57
+ };
58
+ };
59
+ crewai_status: {
60
+ name: string;
61
+ description: string;
62
+ inputSchema: {
63
+ type: "object";
64
+ properties: {
65
+ kickoff_id: {
66
+ type: string;
67
+ description: string;
68
+ };
69
+ connection_id: {
70
+ type: string;
71
+ description: string;
72
+ };
73
+ };
74
+ required: string[];
75
+ };
76
+ };
77
+ };
78
+ export declare function handleCrewAIHealth(client: DobbyClient, args: {
79
+ connection_id?: string;
80
+ }): Promise<{
81
+ content: {
82
+ type: "text";
83
+ text: string;
84
+ }[];
85
+ isError?: undefined;
86
+ } | {
87
+ content: {
88
+ type: "text";
89
+ text: string;
90
+ }[];
91
+ isError: boolean;
92
+ }>;
93
+ export declare function handleCrewAIInputs(client: DobbyClient, args: {
94
+ connection_id?: string;
95
+ }): Promise<{
96
+ content: {
97
+ type: "text";
98
+ text: string;
99
+ }[];
100
+ isError?: undefined;
101
+ } | {
102
+ content: {
103
+ type: "text";
104
+ text: string;
105
+ }[];
106
+ isError: boolean;
107
+ }>;
108
+ export declare function handleCrewAIKickoff(client: DobbyClient, args: {
109
+ inputs: Record<string, string>;
110
+ connection_id?: string;
111
+ }): Promise<{
112
+ content: {
113
+ type: "text";
114
+ text: string;
115
+ }[];
116
+ isError?: undefined;
117
+ } | {
118
+ content: {
119
+ type: "text";
120
+ text: string;
121
+ }[];
122
+ isError: boolean;
123
+ }>;
124
+ export declare function handleCrewAIStatus(client: DobbyClient, args: {
125
+ kickoff_id: string;
126
+ connection_id?: string;
127
+ }): Promise<{
128
+ content: {
129
+ type: "text";
130
+ text: string;
131
+ }[];
132
+ isError?: undefined;
133
+ } | {
134
+ content: {
135
+ type: "text";
136
+ text: string;
137
+ }[];
138
+ isError: boolean;
139
+ }>;
140
+ //# sourceMappingURL=crewai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crewai.d.ts","sourceRoot":"","sources":["../../src/tools/crewai.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAMrD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EvB,CAAC;AAkDF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GAyBjC;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GAgCjC;AAED,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GA4BjE;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;GA+CrD"}