@marktoflow/integrations 2.0.0-alpha.12
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 +1341 -0
- package/dist/adapters/claude-agent-hooks.d.ts.map +1 -0
- package/dist/adapters/claude-agent-hooks.js +339 -0
- package/dist/adapters/claude-agent-hooks.js.map +1 -0
- package/dist/adapters/claude-agent-types.d.ts +426 -0
- package/dist/adapters/claude-agent-types.d.ts.map +1 -0
- package/dist/adapters/claude-agent-types.js +62 -0
- package/dist/adapters/claude-agent-types.js.map +1 -0
- package/dist/adapters/claude-agent-workflow.d.ts +393 -0
- package/dist/adapters/claude-agent-workflow.d.ts.map +1 -0
- package/dist/adapters/claude-agent-workflow.js +445 -0
- package/dist/adapters/claude-agent-workflow.js.map +1 -0
- package/dist/adapters/claude-agent.d.ts +189 -0
- package/dist/adapters/claude-agent.d.ts.map +1 -0
- package/dist/adapters/claude-agent.js +504 -0
- package/dist/adapters/claude-agent.js.map +1 -0
- package/dist/adapters/claude-code.d.ts +34 -0
- package/dist/adapters/claude-code.d.ts.map +1 -0
- package/dist/adapters/claude-code.js +89 -0
- package/dist/adapters/claude-code.js.map +1 -0
- package/dist/adapters/codex-types.d.ts +463 -0
- package/dist/adapters/codex-types.d.ts.map +1 -0
- package/dist/adapters/codex-types.js +53 -0
- package/dist/adapters/codex-types.js.map +1 -0
- package/dist/adapters/codex-workflow.d.ts +414 -0
- package/dist/adapters/codex-workflow.d.ts.map +1 -0
- package/dist/adapters/codex-workflow.js +470 -0
- package/dist/adapters/codex-workflow.js.map +1 -0
- package/dist/adapters/codex.d.ts +154 -0
- package/dist/adapters/codex.d.ts.map +1 -0
- package/dist/adapters/codex.js +416 -0
- package/dist/adapters/codex.js.map +1 -0
- package/dist/adapters/github-copilot-types.d.ts +1012 -0
- package/dist/adapters/github-copilot-types.d.ts.map +1 -0
- package/dist/adapters/github-copilot-types.js +80 -0
- package/dist/adapters/github-copilot-types.js.map +1 -0
- package/dist/adapters/github-copilot-workflow.d.ts +462 -0
- package/dist/adapters/github-copilot-workflow.d.ts.map +1 -0
- package/dist/adapters/github-copilot-workflow.js +473 -0
- package/dist/adapters/github-copilot-workflow.js.map +1 -0
- package/dist/adapters/github-copilot.d.ts +280 -0
- package/dist/adapters/github-copilot.d.ts.map +1 -0
- package/dist/adapters/github-copilot.js +468 -0
- package/dist/adapters/github-copilot.js.map +1 -0
- package/dist/adapters/ollama.d.ts.map +1 -0
- package/dist/adapters/ollama.js +9 -0
- package/dist/adapters/ollama.js.map +1 -0
- package/dist/adapters/opencode.d.ts +41 -0
- package/dist/adapters/opencode.d.ts.map +1 -0
- package/dist/adapters/opencode.js +148 -0
- package/dist/adapters/opencode.js.map +1 -0
- package/dist/index.d.ts +52 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +161 -0
- package/dist/index.js.map +1 -0
- package/dist/services/ai-browser.d.ts +112 -0
- package/dist/services/ai-browser.d.ts.map +1 -0
- package/dist/services/ai-browser.js +363 -0
- package/dist/services/ai-browser.js.map +1 -0
- package/dist/services/airtable.d.ts.map +1 -0
- package/dist/services/airtable.js +295 -0
- package/dist/services/airtable.js.map +1 -0
- package/dist/services/asana.d.ts +159 -0
- package/dist/services/asana.d.ts.map +1 -0
- package/dist/services/asana.js +196 -0
- package/dist/services/asana.js.map +1 -0
- package/dist/services/aws-s3.d.ts +89 -0
- package/dist/services/aws-s3.d.ts.map +1 -0
- package/dist/services/aws-s3.js +154 -0
- package/dist/services/aws-s3.js.map +1 -0
- package/dist/services/confluence.d.ts.map +1 -0
- package/dist/services/confluence.js +356 -0
- package/dist/services/confluence.js.map +1 -0
- package/dist/services/discord.d.ts.map +1 -0
- package/dist/services/discord.js +279 -0
- package/dist/services/discord.js.map +1 -0
- package/dist/services/dropbox.d.ts +134 -0
- package/dist/services/dropbox.d.ts.map +1 -0
- package/dist/services/dropbox.js +190 -0
- package/dist/services/dropbox.js.map +1 -0
- package/dist/services/github.d.ts.map +1 -0
- package/dist/services/github.js +13 -0
- package/dist/services/github.js.map +1 -0
- package/dist/services/gmail-trigger.d.ts.map +1 -0
- package/dist/services/gmail-trigger.js +172 -0
- package/dist/services/gmail-trigger.js.map +1 -0
- package/dist/services/gmail.d.ts.map +1 -0
- package/dist/services/gmail.js +372 -0
- package/dist/services/gmail.js.map +1 -0
- package/dist/services/google-calendar.d.ts.map +1 -0
- package/dist/services/google-calendar.js +357 -0
- package/dist/services/google-calendar.js.map +1 -0
- package/dist/services/google-docs.d.ts.map +1 -0
- package/dist/services/google-docs.js +332 -0
- package/dist/services/google-docs.js.map +1 -0
- package/dist/services/google-drive.d.ts.map +1 -0
- package/dist/services/google-drive.js +327 -0
- package/dist/services/google-drive.js.map +1 -0
- package/dist/services/google-sheets.d.ts.map +1 -0
- package/dist/services/google-sheets.js +391 -0
- package/dist/services/google-sheets.js.map +1 -0
- package/dist/services/http.d.ts.map +1 -0
- package/dist/services/http.js +284 -0
- package/dist/services/http.js.map +1 -0
- package/dist/services/jira.d.ts.map +1 -0
- package/dist/services/jira.js +35 -0
- package/dist/services/jira.js.map +1 -0
- package/dist/services/linear.d.ts.map +1 -0
- package/dist/services/linear.js +326 -0
- package/dist/services/linear.js.map +1 -0
- package/dist/services/mailchimp.d.ts +169 -0
- package/dist/services/mailchimp.d.ts.map +1 -0
- package/dist/services/mailchimp.js +180 -0
- package/dist/services/mailchimp.js.map +1 -0
- package/dist/services/mysql.d.ts.map +1 -0
- package/dist/services/mysql.js +250 -0
- package/dist/services/mysql.js.map +1 -0
- package/dist/services/notion.d.ts.map +1 -0
- package/dist/services/notion.js +358 -0
- package/dist/services/notion.js.map +1 -0
- package/dist/services/outlook-trigger.d.ts.map +1 -0
- package/dist/services/outlook-trigger.js +204 -0
- package/dist/services/outlook-trigger.js.map +1 -0
- package/dist/services/outlook.d.ts.map +1 -0
- package/dist/services/outlook.js +486 -0
- package/dist/services/outlook.js.map +1 -0
- package/dist/services/playwright.d.ts +678 -0
- package/dist/services/playwright.d.ts.map +1 -0
- package/dist/services/playwright.js +1141 -0
- package/dist/services/playwright.js.map +1 -0
- package/dist/services/postgres.d.ts.map +1 -0
- package/dist/services/postgres.js +230 -0
- package/dist/services/postgres.js.map +1 -0
- package/dist/services/sendgrid.d.ts +43 -0
- package/dist/services/sendgrid.d.ts.map +1 -0
- package/dist/services/sendgrid.js +87 -0
- package/dist/services/sendgrid.js.map +1 -0
- package/dist/services/shopify.d.ts +160 -0
- package/dist/services/shopify.d.ts.map +1 -0
- package/dist/services/shopify.js +166 -0
- package/dist/services/shopify.js.map +1 -0
- package/dist/services/slack-socket.d.ts.map +1 -0
- package/dist/services/slack-socket.js +48 -0
- package/dist/services/slack-socket.js.map +1 -0
- package/dist/services/slack.d.ts.map +1 -0
- package/dist/services/slack.js +11 -0
- package/dist/services/slack.js.map +1 -0
- package/dist/services/stripe.d.ts +275 -0
- package/dist/services/stripe.d.ts.map +1 -0
- package/dist/services/stripe.js +229 -0
- package/dist/services/stripe.js.map +1 -0
- package/dist/services/supabase.d.ts.map +1 -0
- package/dist/services/supabase.js +328 -0
- package/dist/services/supabase.js.map +1 -0
- package/dist/services/teams.d.ts +224 -0
- package/dist/services/teams.d.ts.map +1 -0
- package/dist/services/teams.js +229 -0
- package/dist/services/teams.js.map +1 -0
- package/dist/services/telegram.d.ts.map +1 -0
- package/dist/services/telegram.js +247 -0
- package/dist/services/telegram.js.map +1 -0
- package/dist/services/trello.d.ts +160 -0
- package/dist/services/trello.d.ts.map +1 -0
- package/dist/services/trello.js +194 -0
- package/dist/services/trello.js.map +1 -0
- package/dist/services/twilio.d.ts +126 -0
- package/dist/services/twilio.d.ts.map +1 -0
- package/dist/services/twilio.js +153 -0
- package/dist/services/twilio.js.map +1 -0
- package/dist/services/whatsapp.d.ts.map +1 -0
- package/dist/services/whatsapp.js +253 -0
- package/dist/services/whatsapp.js.map +1 -0
- package/dist/services/zendesk.d.ts +134 -0
- package/dist/services/zendesk.d.ts.map +1 -0
- package/dist/services/zendesk.js +148 -0
- package/dist/services/zendesk.js.map +1 -0
- package/dist/tools/script.d.ts +21 -0
- package/dist/tools/script.d.ts.map +1 -0
- package/dist/tools/script.js +136 -0
- package/dist/tools/script.js.map +1 -0
- package/package.json +98 -0
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Agent Workflow Actions for marktoflow
|
|
3
|
+
*
|
|
4
|
+
* Provides workflow action handlers that expose the full Claude Agent SDK
|
|
5
|
+
* capabilities to markdown workflows, including:
|
|
6
|
+
* - Agentic task execution with built-in tools
|
|
7
|
+
* - Subagent delegation
|
|
8
|
+
* - Custom MCP tool integration
|
|
9
|
+
* - Session management
|
|
10
|
+
* - Streaming with callbacks
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import { ClaudeAgentClient, createCustomTool, createMcpServer, } from './claude-agent.js';
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// Workflow Action Schemas
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Schema for agent.run action
|
|
19
|
+
*/
|
|
20
|
+
export const AgentRunSchema = z.object({
|
|
21
|
+
prompt: z.string().describe('The task for the agent to perform'),
|
|
22
|
+
tools: z
|
|
23
|
+
.array(z.enum([
|
|
24
|
+
'Read',
|
|
25
|
+
'Write',
|
|
26
|
+
'Edit',
|
|
27
|
+
'Bash',
|
|
28
|
+
'Glob',
|
|
29
|
+
'Grep',
|
|
30
|
+
'WebSearch',
|
|
31
|
+
'WebFetch',
|
|
32
|
+
'Task',
|
|
33
|
+
'TodoWrite',
|
|
34
|
+
]))
|
|
35
|
+
.optional()
|
|
36
|
+
.describe('Built-in tools to enable'),
|
|
37
|
+
model: z.string().optional().describe('Model to use'),
|
|
38
|
+
cwd: z.string().optional().describe('Working directory'),
|
|
39
|
+
permissionMode: z
|
|
40
|
+
.enum(['default', 'acceptEdits', 'bypassPermissions', 'plan'])
|
|
41
|
+
.optional()
|
|
42
|
+
.describe('Permission mode for tool execution'),
|
|
43
|
+
maxTurns: z.number().optional().describe('Maximum conversation turns'),
|
|
44
|
+
maxBudgetUsd: z.number().optional().describe('Maximum spending in USD'),
|
|
45
|
+
systemPrompt: z.string().optional().describe('Custom system prompt'),
|
|
46
|
+
resume: z.string().optional().describe('Session ID to resume'),
|
|
47
|
+
});
|
|
48
|
+
/**
|
|
49
|
+
* Schema for agent.codeReview action
|
|
50
|
+
*/
|
|
51
|
+
export const AgentCodeReviewSchema = z.object({
|
|
52
|
+
prompt: z.string().describe('What code to review'),
|
|
53
|
+
focusAreas: z
|
|
54
|
+
.array(z.string())
|
|
55
|
+
.optional()
|
|
56
|
+
.describe('Areas to focus on (security, performance, quality)'),
|
|
57
|
+
severity: z
|
|
58
|
+
.enum(['all', 'critical', 'high', 'medium'])
|
|
59
|
+
.optional()
|
|
60
|
+
.describe('Minimum severity to report'),
|
|
61
|
+
outputFormat: z.enum(['markdown', 'json', 'sarif']).optional().describe('Output format'),
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* Schema for agent.codeModify action
|
|
65
|
+
*/
|
|
66
|
+
export const AgentCodeModifySchema = z.object({
|
|
67
|
+
prompt: z.string().describe('What modifications to make'),
|
|
68
|
+
files: z.array(z.string()).optional().describe('Specific files to modify'),
|
|
69
|
+
dryRun: z.boolean().optional().describe('Preview changes without applying'),
|
|
70
|
+
createBackup: z.boolean().optional().describe('Create backup before modifying'),
|
|
71
|
+
});
|
|
72
|
+
/**
|
|
73
|
+
* Schema for agent.research action
|
|
74
|
+
*/
|
|
75
|
+
export const AgentResearchSchema = z.object({
|
|
76
|
+
prompt: z.string().describe('Research topic or question'),
|
|
77
|
+
sources: z
|
|
78
|
+
.array(z.enum(['web', 'codebase', 'docs']))
|
|
79
|
+
.optional()
|
|
80
|
+
.describe('Sources to search'),
|
|
81
|
+
depth: z.enum(['quick', 'thorough', 'comprehensive']).optional().describe('Research depth'),
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* Schema for agent.withSubagents action
|
|
85
|
+
*/
|
|
86
|
+
export const AgentWithSubagentsSchema = z.object({
|
|
87
|
+
prompt: z.string().describe('Main task for orchestration'),
|
|
88
|
+
agents: z
|
|
89
|
+
.record(z.object({
|
|
90
|
+
description: z.string(),
|
|
91
|
+
tools: z.array(z.string()).optional(),
|
|
92
|
+
prompt: z.string().optional(),
|
|
93
|
+
model: z.enum(['sonnet', 'opus', 'haiku']).optional(),
|
|
94
|
+
}))
|
|
95
|
+
.describe('Subagent definitions'),
|
|
96
|
+
});
|
|
97
|
+
/**
|
|
98
|
+
* Schema for agent.withMcp action
|
|
99
|
+
*/
|
|
100
|
+
export const AgentWithMcpSchema = z.object({
|
|
101
|
+
prompt: z.string().describe('Task to perform'),
|
|
102
|
+
mcpServers: z
|
|
103
|
+
.record(z.object({
|
|
104
|
+
type: z.enum(['stdio', 'http', 'sse']),
|
|
105
|
+
command: z.string().optional(),
|
|
106
|
+
args: z.array(z.string()).optional(),
|
|
107
|
+
url: z.string().optional(),
|
|
108
|
+
env: z.record(z.string()).optional(),
|
|
109
|
+
}))
|
|
110
|
+
.describe('MCP server configurations'),
|
|
111
|
+
});
|
|
112
|
+
// ============================================================================
|
|
113
|
+
// Workflow Action Handlers
|
|
114
|
+
// ============================================================================
|
|
115
|
+
/**
|
|
116
|
+
* Create a workflow-compatible Claude Agent client with action handlers
|
|
117
|
+
*
|
|
118
|
+
* Returns an object with methods that can be called from workflow actions:
|
|
119
|
+
* - agent.run
|
|
120
|
+
* - agent.codeReview
|
|
121
|
+
* - agent.codeModify
|
|
122
|
+
* - agent.research
|
|
123
|
+
* - agent.withSubagents
|
|
124
|
+
* - agent.withMcp
|
|
125
|
+
*/
|
|
126
|
+
export function createAgentActions(baseOptions) {
|
|
127
|
+
const client = new ClaudeAgentClient(baseOptions);
|
|
128
|
+
return {
|
|
129
|
+
/**
|
|
130
|
+
* Run an agentic task with full capabilities
|
|
131
|
+
*
|
|
132
|
+
* Usage in workflow:
|
|
133
|
+
* ```yaml
|
|
134
|
+
* action: agent.run
|
|
135
|
+
* inputs:
|
|
136
|
+
* prompt: "Find and fix all TypeScript errors"
|
|
137
|
+
* tools: [Read, Edit, Bash, Glob]
|
|
138
|
+
* permissionMode: acceptEdits
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
async run(inputs) {
|
|
142
|
+
const parsed = AgentRunSchema.parse(inputs);
|
|
143
|
+
return client.run(parsed.prompt, {
|
|
144
|
+
allowedTools: parsed.tools,
|
|
145
|
+
model: parsed.model,
|
|
146
|
+
cwd: parsed.cwd,
|
|
147
|
+
permissionMode: parsed.permissionMode,
|
|
148
|
+
maxTurns: parsed.maxTurns,
|
|
149
|
+
maxBudgetUsd: parsed.maxBudgetUsd,
|
|
150
|
+
systemPrompt: parsed.systemPrompt,
|
|
151
|
+
resume: parsed.resume,
|
|
152
|
+
});
|
|
153
|
+
},
|
|
154
|
+
/**
|
|
155
|
+
* Perform a comprehensive code review
|
|
156
|
+
*
|
|
157
|
+
* Usage in workflow:
|
|
158
|
+
* ```yaml
|
|
159
|
+
* action: agent.codeReview
|
|
160
|
+
* inputs:
|
|
161
|
+
* prompt: "Review the authentication module for security issues"
|
|
162
|
+
* focusAreas: [security, performance]
|
|
163
|
+
* outputFormat: json
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
async codeReview(inputs) {
|
|
167
|
+
const parsed = AgentCodeReviewSchema.parse(inputs);
|
|
168
|
+
const focusAreas = parsed.focusAreas || ['security', 'performance', 'quality', 'maintainability'];
|
|
169
|
+
const severity = parsed.severity || 'all';
|
|
170
|
+
const outputFormat = parsed.outputFormat || 'markdown';
|
|
171
|
+
const systemPrompt = `You are an expert code reviewer. Focus on these areas: ${focusAreas.join(', ')}.
|
|
172
|
+
Report issues with severity ${severity === 'all' ? 'all levels' : `${severity} and above`}.
|
|
173
|
+
Format your response as ${outputFormat}.`;
|
|
174
|
+
return client.codeReview(parsed.prompt, {
|
|
175
|
+
systemPrompt,
|
|
176
|
+
outputFormat: outputFormat === 'json'
|
|
177
|
+
? {
|
|
178
|
+
type: 'json_schema',
|
|
179
|
+
schema: {
|
|
180
|
+
type: 'object',
|
|
181
|
+
properties: {
|
|
182
|
+
issues: {
|
|
183
|
+
type: 'array',
|
|
184
|
+
items: {
|
|
185
|
+
type: 'object',
|
|
186
|
+
properties: {
|
|
187
|
+
file: { type: 'string' },
|
|
188
|
+
line: { type: 'number' },
|
|
189
|
+
severity: { type: 'string' },
|
|
190
|
+
category: { type: 'string' },
|
|
191
|
+
description: { type: 'string' },
|
|
192
|
+
suggestion: { type: 'string' },
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
summary: { type: 'string' },
|
|
197
|
+
recommendation: { type: 'string' },
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
}
|
|
201
|
+
: undefined,
|
|
202
|
+
});
|
|
203
|
+
},
|
|
204
|
+
/**
|
|
205
|
+
* Modify code with agent assistance
|
|
206
|
+
*
|
|
207
|
+
* Usage in workflow:
|
|
208
|
+
* ```yaml
|
|
209
|
+
* action: agent.codeModify
|
|
210
|
+
* inputs:
|
|
211
|
+
* prompt: "Add TypeScript types to all function parameters"
|
|
212
|
+
* files: [src/utils.ts, src/helpers.ts]
|
|
213
|
+
* dryRun: false
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
async codeModify(inputs) {
|
|
217
|
+
const parsed = AgentCodeModifySchema.parse(inputs);
|
|
218
|
+
let prompt = parsed.prompt;
|
|
219
|
+
if (parsed.files && parsed.files.length > 0) {
|
|
220
|
+
prompt += `\n\nFocus on these files: ${parsed.files.join(', ')}`;
|
|
221
|
+
}
|
|
222
|
+
if (parsed.dryRun) {
|
|
223
|
+
prompt += '\n\nThis is a dry run - describe the changes but do not apply them.';
|
|
224
|
+
return client.analyzeCode(prompt);
|
|
225
|
+
}
|
|
226
|
+
return client.modifyCode(prompt, {
|
|
227
|
+
enableFileCheckpointing: parsed.createBackup,
|
|
228
|
+
});
|
|
229
|
+
},
|
|
230
|
+
/**
|
|
231
|
+
* Research a topic using web and codebase
|
|
232
|
+
*
|
|
233
|
+
* Usage in workflow:
|
|
234
|
+
* ```yaml
|
|
235
|
+
* action: agent.research
|
|
236
|
+
* inputs:
|
|
237
|
+
* prompt: "What are the best practices for error handling in TypeScript?"
|
|
238
|
+
* sources: [web, codebase]
|
|
239
|
+
* depth: thorough
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
async research(inputs) {
|
|
243
|
+
const parsed = AgentResearchSchema.parse(inputs);
|
|
244
|
+
const sources = parsed.sources || ['web', 'codebase'];
|
|
245
|
+
const depth = parsed.depth || 'thorough';
|
|
246
|
+
// Determine tools based on sources
|
|
247
|
+
const tools = [];
|
|
248
|
+
if (sources.includes('web')) {
|
|
249
|
+
tools.push('WebSearch', 'WebFetch');
|
|
250
|
+
}
|
|
251
|
+
if (sources.includes('codebase') || sources.includes('docs')) {
|
|
252
|
+
tools.push('Read', 'Glob', 'Grep');
|
|
253
|
+
}
|
|
254
|
+
// Adjust max turns based on depth
|
|
255
|
+
const maxTurns = depth === 'quick' ? 10 : depth === 'thorough' ? 25 : 50;
|
|
256
|
+
return client.runWithTools(parsed.prompt, tools, { maxTurns });
|
|
257
|
+
},
|
|
258
|
+
/**
|
|
259
|
+
* Orchestrate multiple specialized subagents
|
|
260
|
+
*
|
|
261
|
+
* Usage in workflow:
|
|
262
|
+
* ```yaml
|
|
263
|
+
* action: agent.withSubagents
|
|
264
|
+
* inputs:
|
|
265
|
+
* prompt: "Analyze and improve the API module"
|
|
266
|
+
* agents:
|
|
267
|
+
* analyzer:
|
|
268
|
+
* description: "Analyze code structure"
|
|
269
|
+
* tools: [Read, Glob, Grep]
|
|
270
|
+
* improver:
|
|
271
|
+
* description: "Suggest and implement improvements"
|
|
272
|
+
* tools: [Read, Edit, Write]
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
async withSubagents(inputs) {
|
|
276
|
+
const parsed = AgentWithSubagentsSchema.parse(inputs);
|
|
277
|
+
return client.runWithSubagents(parsed.prompt, parsed.agents);
|
|
278
|
+
},
|
|
279
|
+
/**
|
|
280
|
+
* Run with external MCP servers
|
|
281
|
+
*
|
|
282
|
+
* Usage in workflow:
|
|
283
|
+
* ```yaml
|
|
284
|
+
* action: agent.withMcp
|
|
285
|
+
* inputs:
|
|
286
|
+
* prompt: "Open the browser and navigate to example.com"
|
|
287
|
+
* mcpServers:
|
|
288
|
+
* playwright:
|
|
289
|
+
* type: stdio
|
|
290
|
+
* command: npx
|
|
291
|
+
* args: ["@playwright/mcp@latest"]
|
|
292
|
+
* ```
|
|
293
|
+
*/
|
|
294
|
+
async withMcp(inputs) {
|
|
295
|
+
const parsed = AgentWithMcpSchema.parse(inputs);
|
|
296
|
+
return client.run(parsed.prompt, {
|
|
297
|
+
mcpServers: parsed.mcpServers,
|
|
298
|
+
});
|
|
299
|
+
},
|
|
300
|
+
/**
|
|
301
|
+
* Generate a simple response (backwards compatible)
|
|
302
|
+
*/
|
|
303
|
+
async generate(inputs) {
|
|
304
|
+
return client.generate(inputs);
|
|
305
|
+
},
|
|
306
|
+
/**
|
|
307
|
+
* Resume a previous session
|
|
308
|
+
*/
|
|
309
|
+
async resume(inputs) {
|
|
310
|
+
return client.resumeSession(inputs.sessionId, inputs.prompt);
|
|
311
|
+
},
|
|
312
|
+
/**
|
|
313
|
+
* Get the underlying client for advanced use
|
|
314
|
+
*/
|
|
315
|
+
getClient() {
|
|
316
|
+
return client;
|
|
317
|
+
},
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
// ============================================================================
|
|
321
|
+
// Preset Subagent Configurations
|
|
322
|
+
// ============================================================================
|
|
323
|
+
/**
|
|
324
|
+
* Preset subagent configurations for common tasks
|
|
325
|
+
*/
|
|
326
|
+
export const PresetSubagents = {
|
|
327
|
+
/**
|
|
328
|
+
* Code review team
|
|
329
|
+
*/
|
|
330
|
+
codeReviewTeam: {
|
|
331
|
+
'code-reviewer': {
|
|
332
|
+
description: 'Review code for quality, correctness, and best practices',
|
|
333
|
+
tools: ['Read', 'Glob', 'Grep'],
|
|
334
|
+
prompt: `You are a senior code reviewer. Focus on:
|
|
335
|
+
- Code quality and readability
|
|
336
|
+
- Potential bugs and edge cases
|
|
337
|
+
- Design patterns and architecture
|
|
338
|
+
- Performance considerations`,
|
|
339
|
+
},
|
|
340
|
+
'security-auditor': {
|
|
341
|
+
description: 'Audit code for security vulnerabilities',
|
|
342
|
+
tools: ['Read', 'Glob', 'Grep'],
|
|
343
|
+
prompt: `You are a security expert. Look for:
|
|
344
|
+
- OWASP Top 10 vulnerabilities
|
|
345
|
+
- Injection attacks (SQL, XSS, command)
|
|
346
|
+
- Authentication and authorization issues
|
|
347
|
+
- Data exposure and privacy concerns
|
|
348
|
+
- Cryptographic weaknesses`,
|
|
349
|
+
},
|
|
350
|
+
'test-analyzer': {
|
|
351
|
+
description: 'Analyze test coverage and quality',
|
|
352
|
+
tools: ['Read', 'Glob', 'Grep', 'Bash'],
|
|
353
|
+
prompt: `You are a testing expert. Analyze:
|
|
354
|
+
- Test coverage gaps
|
|
355
|
+
- Missing edge case tests
|
|
356
|
+
- Test quality and maintainability
|
|
357
|
+
- Suggest improvements`,
|
|
358
|
+
},
|
|
359
|
+
},
|
|
360
|
+
/**
|
|
361
|
+
* Documentation team
|
|
362
|
+
*/
|
|
363
|
+
documentationTeam: {
|
|
364
|
+
'doc-writer': {
|
|
365
|
+
description: 'Write clear documentation',
|
|
366
|
+
tools: ['Read', 'Write', 'Glob'],
|
|
367
|
+
prompt: `You are a technical writer. Create:
|
|
368
|
+
- Clear, concise documentation
|
|
369
|
+
- Code examples and usage guides
|
|
370
|
+
- API documentation
|
|
371
|
+
- README files`,
|
|
372
|
+
},
|
|
373
|
+
'example-creator': {
|
|
374
|
+
description: 'Create code examples',
|
|
375
|
+
tools: ['Read', 'Write', 'Glob'],
|
|
376
|
+
prompt: `You are an example creator. Write:
|
|
377
|
+
- Working code examples
|
|
378
|
+
- Step-by-step tutorials
|
|
379
|
+
- Best practice demonstrations`,
|
|
380
|
+
},
|
|
381
|
+
},
|
|
382
|
+
/**
|
|
383
|
+
* Refactoring team
|
|
384
|
+
*/
|
|
385
|
+
refactoringTeam: {
|
|
386
|
+
analyzer: {
|
|
387
|
+
description: 'Analyze code for refactoring opportunities',
|
|
388
|
+
tools: ['Read', 'Glob', 'Grep'],
|
|
389
|
+
prompt: `You analyze code for:
|
|
390
|
+
- Code smells and anti-patterns
|
|
391
|
+
- Duplication
|
|
392
|
+
- Complex functions
|
|
393
|
+
- Tight coupling`,
|
|
394
|
+
},
|
|
395
|
+
refactorer: {
|
|
396
|
+
description: 'Implement refactoring changes',
|
|
397
|
+
tools: ['Read', 'Edit', 'Write', 'Glob'],
|
|
398
|
+
prompt: `You implement refactoring:
|
|
399
|
+
- Extract methods and classes
|
|
400
|
+
- Simplify complex logic
|
|
401
|
+
- Apply design patterns
|
|
402
|
+
- Maintain functionality`,
|
|
403
|
+
},
|
|
404
|
+
verifier: {
|
|
405
|
+
description: 'Verify refactoring correctness',
|
|
406
|
+
tools: ['Read', 'Bash', 'Glob'],
|
|
407
|
+
prompt: `You verify changes:
|
|
408
|
+
- Run tests
|
|
409
|
+
- Check type safety
|
|
410
|
+
- Verify behavior preservation`,
|
|
411
|
+
},
|
|
412
|
+
},
|
|
413
|
+
};
|
|
414
|
+
// ============================================================================
|
|
415
|
+
// MCP Tool Helpers
|
|
416
|
+
// ============================================================================
|
|
417
|
+
/**
|
|
418
|
+
* Helper to create workflow-integrated MCP tools
|
|
419
|
+
*
|
|
420
|
+
* Example usage:
|
|
421
|
+
* ```typescript
|
|
422
|
+
* const dbTool = await createWorkflowTool(
|
|
423
|
+
* 'query_database',
|
|
424
|
+
* 'Query the application database',
|
|
425
|
+
* z.object({ query: z.string() }),
|
|
426
|
+
* async (args) => {
|
|
427
|
+
* const result = await db.query(args.query);
|
|
428
|
+
* return JSON.stringify(result);
|
|
429
|
+
* }
|
|
430
|
+
* );
|
|
431
|
+
* ```
|
|
432
|
+
*/
|
|
433
|
+
export async function createWorkflowTool(name, description, schema, handler) {
|
|
434
|
+
return createCustomTool(name, description, schema, async (args) => ({
|
|
435
|
+
content: [{ type: 'text', text: await handler(args) }],
|
|
436
|
+
}));
|
|
437
|
+
}
|
|
438
|
+
/**
|
|
439
|
+
* Create an MCP server from workflow tool definitions
|
|
440
|
+
*/
|
|
441
|
+
export async function createWorkflowMcpServer(name, tools) {
|
|
442
|
+
const mcpTools = await Promise.all(tools.map((t) => createWorkflowTool(t.name, t.description, t.schema, t.handler)));
|
|
443
|
+
return createMcpServer(name, mcpTools);
|
|
444
|
+
}
|
|
445
|
+
//# sourceMappingURL=claude-agent-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-agent-workflow.js","sourceRoot":"","sources":["../../src/adapters/claude-agent-workflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Agent SDK Adapter for marktoflow
|
|
3
|
+
*
|
|
4
|
+
* This adapter provides deep integration with the Claude Agent SDK,
|
|
5
|
+
* enabling agentic workflows with built-in tools, MCP support,
|
|
6
|
+
* session management, and streaming capabilities.
|
|
7
|
+
*
|
|
8
|
+
* Unlike the CLI-based claude-code adapter, this uses the SDK directly
|
|
9
|
+
* for lower latency and richer functionality.
|
|
10
|
+
*/
|
|
11
|
+
import { SDKInitializer } from '@marktoflow/core';
|
|
12
|
+
import { ClaudeAgentOptions, SDKMessage, SDKResultMessage, AgentResult, StreamCallback, BuiltInTool, SubagentDefinition, McpServerConfig, HookCallback, HookEvent, ToolPermissionHandler, ToolPermissionResult, PermissionMode } from './claude-agent-types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Client for interacting with Claude via the Agent SDK
|
|
15
|
+
*
|
|
16
|
+
* Provides multiple interfaces for different use cases:
|
|
17
|
+
* - generate(): Simple prompt-response (compatible with old interface)
|
|
18
|
+
* - query(): Full agentic capabilities with streaming
|
|
19
|
+
* - runWithTools(): Execute with specific built-in tools
|
|
20
|
+
* - runWithSubagents(): Delegate to specialized subagents
|
|
21
|
+
*/
|
|
22
|
+
export declare class ClaudeAgentClient {
|
|
23
|
+
private sdk;
|
|
24
|
+
private options;
|
|
25
|
+
private currentQuery;
|
|
26
|
+
private sessionId;
|
|
27
|
+
constructor(options?: ClaudeAgentOptions);
|
|
28
|
+
/**
|
|
29
|
+
* Initialize the Agent SDK (lazy loading)
|
|
30
|
+
*/
|
|
31
|
+
private getSDK;
|
|
32
|
+
/**
|
|
33
|
+
* Generate a response from Claude (simple interface)
|
|
34
|
+
*
|
|
35
|
+
* This method is compatible with the old CLI-based interface,
|
|
36
|
+
* but uses the Agent SDK under the hood for better performance.
|
|
37
|
+
*
|
|
38
|
+
* @param inputs - Prompt string or object with prompt and options
|
|
39
|
+
* @returns The generated response text
|
|
40
|
+
*/
|
|
41
|
+
generate(inputs: {
|
|
42
|
+
prompt: string;
|
|
43
|
+
model?: string;
|
|
44
|
+
} | string): Promise<string>;
|
|
45
|
+
/**
|
|
46
|
+
* Run an agentic query with full capabilities
|
|
47
|
+
*
|
|
48
|
+
* @param prompt - The task for the agent to perform
|
|
49
|
+
* @param options - Override options for this query
|
|
50
|
+
* @returns Complete result with all messages and metadata
|
|
51
|
+
*/
|
|
52
|
+
run(prompt: string, options?: Partial<ClaudeAgentOptions>): Promise<AgentResult>;
|
|
53
|
+
/**
|
|
54
|
+
* Stream messages from an agentic query
|
|
55
|
+
*
|
|
56
|
+
* @param prompt - The task for the agent to perform
|
|
57
|
+
* @param callback - Called for each message received
|
|
58
|
+
* @param options - Override options for this query
|
|
59
|
+
* @returns Complete result after streaming finishes
|
|
60
|
+
*/
|
|
61
|
+
stream(prompt: string, callback: StreamCallback, options?: Partial<ClaudeAgentOptions>): Promise<AgentResult>;
|
|
62
|
+
/**
|
|
63
|
+
* Get the async generator for a query
|
|
64
|
+
*
|
|
65
|
+
* Use this for fine-grained control over message processing.
|
|
66
|
+
*
|
|
67
|
+
* @param prompt - The task for the agent to perform
|
|
68
|
+
* @param options - Override options for this query
|
|
69
|
+
* @returns Async generator yielding SDK messages
|
|
70
|
+
*/
|
|
71
|
+
query(prompt: string, options?: Partial<ClaudeAgentOptions>): AsyncGenerator<SDKMessage, void, unknown>;
|
|
72
|
+
/**
|
|
73
|
+
* Run with specific built-in tools enabled
|
|
74
|
+
*
|
|
75
|
+
* @param prompt - The task for the agent to perform
|
|
76
|
+
* @param tools - List of tools to enable
|
|
77
|
+
* @param options - Additional options
|
|
78
|
+
*/
|
|
79
|
+
runWithTools(prompt: string, tools: BuiltInTool[], options?: Partial<ClaudeAgentOptions>): Promise<AgentResult>;
|
|
80
|
+
/**
|
|
81
|
+
* Run a code analysis task
|
|
82
|
+
*
|
|
83
|
+
* @param prompt - What to analyze
|
|
84
|
+
* @param options - Additional options
|
|
85
|
+
*/
|
|
86
|
+
analyzeCode(prompt: string, options?: Partial<ClaudeAgentOptions>): Promise<AgentResult>;
|
|
87
|
+
/**
|
|
88
|
+
* Run a code modification task
|
|
89
|
+
*
|
|
90
|
+
* @param prompt - What to modify
|
|
91
|
+
* @param options - Additional options
|
|
92
|
+
*/
|
|
93
|
+
modifyCode(prompt: string, options?: Partial<ClaudeAgentOptions>): Promise<AgentResult>;
|
|
94
|
+
/**
|
|
95
|
+
* Run a bash command task
|
|
96
|
+
*
|
|
97
|
+
* @param prompt - What commands to run
|
|
98
|
+
* @param options - Additional options
|
|
99
|
+
*/
|
|
100
|
+
runCommands(prompt: string, options?: Partial<ClaudeAgentOptions>): Promise<AgentResult>;
|
|
101
|
+
/**
|
|
102
|
+
* Run a web research task
|
|
103
|
+
*
|
|
104
|
+
* @param prompt - What to research
|
|
105
|
+
* @param options - Additional options
|
|
106
|
+
*/
|
|
107
|
+
webResearch(prompt: string, options?: Partial<ClaudeAgentOptions>): Promise<AgentResult>;
|
|
108
|
+
/**
|
|
109
|
+
* Run with subagents for specialized tasks
|
|
110
|
+
*
|
|
111
|
+
* @param prompt - The main task
|
|
112
|
+
* @param agents - Subagent definitions
|
|
113
|
+
* @param options - Additional options
|
|
114
|
+
*/
|
|
115
|
+
runWithSubagents(prompt: string, agents: Record<string, SubagentDefinition>, options?: Partial<ClaudeAgentOptions>): Promise<AgentResult>;
|
|
116
|
+
/**
|
|
117
|
+
* Run a code review with specialized subagents
|
|
118
|
+
*
|
|
119
|
+
* @param prompt - What to review
|
|
120
|
+
* @param options - Additional options
|
|
121
|
+
*/
|
|
122
|
+
codeReview(prompt: string, options?: Partial<ClaudeAgentOptions>): Promise<AgentResult>;
|
|
123
|
+
/**
|
|
124
|
+
* Resume a previous session
|
|
125
|
+
*
|
|
126
|
+
* @param sessionId - The session ID to resume
|
|
127
|
+
* @param prompt - New prompt to continue with
|
|
128
|
+
* @param options - Additional options
|
|
129
|
+
*/
|
|
130
|
+
resumeSession(sessionId: string, prompt: string, options?: Partial<ClaudeAgentOptions>): Promise<AgentResult>;
|
|
131
|
+
/**
|
|
132
|
+
* Get the last session ID
|
|
133
|
+
*/
|
|
134
|
+
getSessionId(): string | null;
|
|
135
|
+
/**
|
|
136
|
+
* Interrupt the current query
|
|
137
|
+
*/
|
|
138
|
+
interrupt(): Promise<void>;
|
|
139
|
+
/**
|
|
140
|
+
* Convert marktoflow options to Agent SDK options
|
|
141
|
+
*/
|
|
142
|
+
private convertToSDKOptions;
|
|
143
|
+
/**
|
|
144
|
+
* OpenAI-compatible chat interface for workflow compatibility
|
|
145
|
+
*/
|
|
146
|
+
chat: {
|
|
147
|
+
completions: (inputs: {
|
|
148
|
+
model?: string;
|
|
149
|
+
messages: Array<{
|
|
150
|
+
role: string;
|
|
151
|
+
content: string;
|
|
152
|
+
}>;
|
|
153
|
+
}) => Promise<{
|
|
154
|
+
choices: Array<{
|
|
155
|
+
message: {
|
|
156
|
+
content: string;
|
|
157
|
+
};
|
|
158
|
+
}>;
|
|
159
|
+
}>;
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Create a custom MCP tool for use with the Agent SDK
|
|
164
|
+
*
|
|
165
|
+
* @param name - Tool name
|
|
166
|
+
* @param description - Tool description
|
|
167
|
+
* @param schema - Zod schema for input validation
|
|
168
|
+
* @param handler - Function to execute when tool is called
|
|
169
|
+
*/
|
|
170
|
+
export declare function createCustomTool<T>(name: string, description: string, schema: T, handler: (args: unknown) => Promise<{
|
|
171
|
+
content: Array<{
|
|
172
|
+
type: string;
|
|
173
|
+
text: string;
|
|
174
|
+
}>;
|
|
175
|
+
}>): Promise<unknown>;
|
|
176
|
+
/**
|
|
177
|
+
* Create an in-process MCP server
|
|
178
|
+
*
|
|
179
|
+
* @param name - Server name
|
|
180
|
+
* @param tools - Array of tools created with createCustomTool
|
|
181
|
+
* @param version - Server version
|
|
182
|
+
*/
|
|
183
|
+
export declare function createMcpServer(name: string, tools: unknown[], version?: string): Promise<unknown>;
|
|
184
|
+
/**
|
|
185
|
+
* Initializer for the SDK Registry
|
|
186
|
+
*/
|
|
187
|
+
export declare const ClaudeAgentInitializer: SDKInitializer;
|
|
188
|
+
export type { ClaudeAgentOptions, SDKMessage, SDKResultMessage, AgentResult, StreamCallback, BuiltInTool, SubagentDefinition, McpServerConfig, HookCallback, HookEvent, ToolPermissionHandler, ToolPermissionResult, PermissionMode, };
|
|
189
|
+
//# sourceMappingURL=claude-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-agent.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-agent.ts"],"names":[],"mappings":"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"}
|