@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,473 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GitHub Copilot Workflow Actions for marktoflow
|
|
3
|
+
*
|
|
4
|
+
* Provides workflow action handlers that expose the full GitHub Copilot SDK
|
|
5
|
+
* capabilities to markdown workflows, including:
|
|
6
|
+
* - Chat with streaming support
|
|
7
|
+
* - Code review and analysis
|
|
8
|
+
* - Custom tools and MCP servers
|
|
9
|
+
* - Custom agents
|
|
10
|
+
* - Session management
|
|
11
|
+
*/
|
|
12
|
+
import { z } from 'zod';
|
|
13
|
+
import { GitHubCopilotClient, } from './github-copilot.js';
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// Workflow Action Schemas
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Schema for copilot.chat action
|
|
19
|
+
*/
|
|
20
|
+
export const CopilotChatSchema = z.object({
|
|
21
|
+
prompt: z.string().describe('The message to send to Copilot'),
|
|
22
|
+
model: z.string().optional().describe('Model to use (e.g., gpt-4.1, claude-sonnet-4.5)'),
|
|
23
|
+
systemMessage: z.string().optional().describe('Custom system message'),
|
|
24
|
+
attachments: z
|
|
25
|
+
.array(z.object({
|
|
26
|
+
type: z.enum(['file', 'directory']),
|
|
27
|
+
path: z.string(),
|
|
28
|
+
displayName: z.string().optional(),
|
|
29
|
+
}))
|
|
30
|
+
.optional()
|
|
31
|
+
.describe('File or directory attachments'),
|
|
32
|
+
streaming: z.boolean().optional().describe('Enable streaming mode'),
|
|
33
|
+
sessionId: z.string().optional().describe('Session ID to resume'),
|
|
34
|
+
excludeFiles: z.array(z.string()).optional().describe('Files to exclude from context'),
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Schema for copilot.codeReview action
|
|
38
|
+
*/
|
|
39
|
+
export const CopilotCodeReviewSchema = z.object({
|
|
40
|
+
prompt: z.string().describe('Code review request'),
|
|
41
|
+
files: z.array(z.string()).optional().describe('Files to review'),
|
|
42
|
+
focusAreas: z
|
|
43
|
+
.array(z.string())
|
|
44
|
+
.optional()
|
|
45
|
+
.describe('Areas to focus on (security, performance, quality)'),
|
|
46
|
+
outputFormat: z.enum(['markdown', 'json']).optional().describe('Output format'),
|
|
47
|
+
excludeFiles: z.array(z.string()).optional().describe('Files to exclude from context'),
|
|
48
|
+
});
|
|
49
|
+
/**
|
|
50
|
+
* Schema for copilot.codeModify action
|
|
51
|
+
*/
|
|
52
|
+
export const CopilotCodeModifySchema = z.object({
|
|
53
|
+
prompt: z.string().describe('Modification request'),
|
|
54
|
+
files: z.array(z.string()).optional().describe('Files to modify'),
|
|
55
|
+
dryRun: z.boolean().optional().describe('Preview changes without applying'),
|
|
56
|
+
excludeFiles: z.array(z.string()).optional().describe('Files to exclude from context'),
|
|
57
|
+
});
|
|
58
|
+
/**
|
|
59
|
+
* Schema for copilot.withTools action
|
|
60
|
+
*/
|
|
61
|
+
export const CopilotWithToolsSchema = z.object({
|
|
62
|
+
prompt: z.string().describe('Task for Copilot'),
|
|
63
|
+
tools: z
|
|
64
|
+
.array(z.object({
|
|
65
|
+
name: z.string(),
|
|
66
|
+
description: z.string().optional(),
|
|
67
|
+
parameters: z.record(z.unknown()).optional(),
|
|
68
|
+
}))
|
|
69
|
+
.describe('Tool definitions'),
|
|
70
|
+
model: z.string().optional(),
|
|
71
|
+
systemMessage: z.string().optional(),
|
|
72
|
+
excludeFiles: z.array(z.string()).optional().describe('Files to exclude from context'),
|
|
73
|
+
});
|
|
74
|
+
/**
|
|
75
|
+
* Schema for copilot.withAgents action
|
|
76
|
+
*/
|
|
77
|
+
export const CopilotWithAgentsSchema = z.object({
|
|
78
|
+
prompt: z.string().describe('Task for orchestration'),
|
|
79
|
+
agents: z
|
|
80
|
+
.array(z.object({
|
|
81
|
+
name: z.string(),
|
|
82
|
+
displayName: z.string().optional(),
|
|
83
|
+
description: z.string().optional(),
|
|
84
|
+
tools: z.array(z.string()).optional(),
|
|
85
|
+
prompt: z.string(),
|
|
86
|
+
}))
|
|
87
|
+
.describe('Custom agent definitions'),
|
|
88
|
+
model: z.string().optional(),
|
|
89
|
+
excludeFiles: z.array(z.string()).optional().describe('Files to exclude from context'),
|
|
90
|
+
});
|
|
91
|
+
/**
|
|
92
|
+
* Schema for copilot.withMcp action
|
|
93
|
+
*/
|
|
94
|
+
export const CopilotWithMcpSchema = z.object({
|
|
95
|
+
prompt: z.string().describe('Task to perform'),
|
|
96
|
+
mcpServers: z
|
|
97
|
+
.record(z.union([
|
|
98
|
+
z.object({
|
|
99
|
+
type: z.enum(['local', 'stdio']).optional(),
|
|
100
|
+
tools: z.union([z.array(z.string()), z.literal('*')]),
|
|
101
|
+
command: z.string(),
|
|
102
|
+
args: z.array(z.string()),
|
|
103
|
+
env: z.record(z.string()).optional(),
|
|
104
|
+
}),
|
|
105
|
+
z.object({
|
|
106
|
+
type: z.enum(['http', 'sse']),
|
|
107
|
+
tools: z.union([z.array(z.string()), z.literal('*')]),
|
|
108
|
+
url: z.string(),
|
|
109
|
+
headers: z.record(z.string()).optional(),
|
|
110
|
+
}),
|
|
111
|
+
]))
|
|
112
|
+
.describe('MCP server configurations'),
|
|
113
|
+
model: z.string().optional(),
|
|
114
|
+
excludeFiles: z.array(z.string()).optional().describe('Files to exclude from context'),
|
|
115
|
+
});
|
|
116
|
+
/**
|
|
117
|
+
* Schema for copilot.listModels action
|
|
118
|
+
*/
|
|
119
|
+
export const CopilotListModelsSchema = z.object({}).describe('List available models');
|
|
120
|
+
/**
|
|
121
|
+
* Schema for copilot.listSessions action
|
|
122
|
+
*/
|
|
123
|
+
export const CopilotListSessionsSchema = z.object({}).describe('List available sessions');
|
|
124
|
+
/**
|
|
125
|
+
* Schema for copilot.deleteSession action
|
|
126
|
+
*/
|
|
127
|
+
export const CopilotDeleteSessionSchema = z.object({
|
|
128
|
+
sessionId: z.string().describe('Session ID to delete'),
|
|
129
|
+
});
|
|
130
|
+
// ============================================================================
|
|
131
|
+
// Workflow Action Handlers
|
|
132
|
+
// ============================================================================
|
|
133
|
+
/**
|
|
134
|
+
* Create workflow-compatible Copilot action handlers
|
|
135
|
+
*
|
|
136
|
+
* Returns an object with methods that can be called from workflow actions:
|
|
137
|
+
* - copilot.chat
|
|
138
|
+
* - copilot.codeReview
|
|
139
|
+
* - copilot.codeModify
|
|
140
|
+
* - copilot.withTools
|
|
141
|
+
* - copilot.withAgents
|
|
142
|
+
* - copilot.withMcp
|
|
143
|
+
* - copilot.listModels
|
|
144
|
+
* - copilot.listSessions
|
|
145
|
+
* - copilot.deleteSession
|
|
146
|
+
*/
|
|
147
|
+
export function createCopilotActions(clientConfig) {
|
|
148
|
+
const client = new GitHubCopilotClient(clientConfig);
|
|
149
|
+
return {
|
|
150
|
+
/**
|
|
151
|
+
* Send a chat message to Copilot
|
|
152
|
+
*
|
|
153
|
+
* Usage in workflow:
|
|
154
|
+
* ```yaml
|
|
155
|
+
* action: copilot.chat
|
|
156
|
+
* inputs:
|
|
157
|
+
* prompt: "Explain this code"
|
|
158
|
+
* model: gpt-4.1
|
|
159
|
+
* attachments:
|
|
160
|
+
* - type: file
|
|
161
|
+
* path: ./src/index.ts
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
async chat(inputs) {
|
|
165
|
+
const parsed = CopilotChatSchema.parse(inputs);
|
|
166
|
+
const sessionConfig = {
|
|
167
|
+
model: parsed.model,
|
|
168
|
+
systemMessage: parsed.systemMessage,
|
|
169
|
+
streaming: parsed.streaming,
|
|
170
|
+
excludeFiles: parsed.excludeFiles,
|
|
171
|
+
};
|
|
172
|
+
if (parsed.sessionId) {
|
|
173
|
+
return client.resumeAndSend(parsed.sessionId, {
|
|
174
|
+
prompt: parsed.prompt,
|
|
175
|
+
attachments: parsed.attachments,
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
return client.sendWithSession({
|
|
179
|
+
prompt: parsed.prompt,
|
|
180
|
+
attachments: parsed.attachments,
|
|
181
|
+
}, sessionConfig);
|
|
182
|
+
},
|
|
183
|
+
/**
|
|
184
|
+
* Perform a code review
|
|
185
|
+
*
|
|
186
|
+
* Usage in workflow:
|
|
187
|
+
* ```yaml
|
|
188
|
+
* action: copilot.codeReview
|
|
189
|
+
* inputs:
|
|
190
|
+
* prompt: "Review for security issues"
|
|
191
|
+
* files:
|
|
192
|
+
* - src/auth.ts
|
|
193
|
+
* - src/api.ts
|
|
194
|
+
* focusAreas: [security, performance]
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
async codeReview(inputs) {
|
|
198
|
+
const parsed = CopilotCodeReviewSchema.parse(inputs);
|
|
199
|
+
const focusAreas = parsed.focusAreas || ['security', 'performance', 'quality', 'maintainability'];
|
|
200
|
+
const outputFormat = parsed.outputFormat || 'markdown';
|
|
201
|
+
let prompt = parsed.prompt;
|
|
202
|
+
if (parsed.files && parsed.files.length > 0) {
|
|
203
|
+
prompt += `\n\nFiles to review:\n${parsed.files.map((f) => `- ${f}`).join('\n')}`;
|
|
204
|
+
}
|
|
205
|
+
prompt += `\n\nFocus areas: ${focusAreas.join(', ')}`;
|
|
206
|
+
prompt += `\n\nProvide your review in ${outputFormat} format.`;
|
|
207
|
+
const systemMessage = `You are an expert code reviewer. Focus on these areas: ${focusAreas.join(', ')}.
|
|
208
|
+
For each issue found, provide:
|
|
209
|
+
- File path and line number (if applicable)
|
|
210
|
+
- Severity: critical, high, medium, low
|
|
211
|
+
- Category: ${focusAreas.join(', ')}
|
|
212
|
+
- Clear description
|
|
213
|
+
- Suggested fix
|
|
214
|
+
|
|
215
|
+
Be thorough but constructive.`;
|
|
216
|
+
const attachments = parsed.files?.map((f) => ({
|
|
217
|
+
type: 'file',
|
|
218
|
+
path: f,
|
|
219
|
+
})) || [];
|
|
220
|
+
return client.sendWithSession({ prompt, attachments }, { systemMessage, model: 'gpt-4.1', excludeFiles: parsed.excludeFiles });
|
|
221
|
+
},
|
|
222
|
+
/**
|
|
223
|
+
* Modify code with Copilot assistance
|
|
224
|
+
*
|
|
225
|
+
* Usage in workflow:
|
|
226
|
+
* ```yaml
|
|
227
|
+
* action: copilot.codeModify
|
|
228
|
+
* inputs:
|
|
229
|
+
* prompt: "Add TypeScript types to all function parameters"
|
|
230
|
+
* files: [src/utils.ts]
|
|
231
|
+
* dryRun: true
|
|
232
|
+
* ```
|
|
233
|
+
*/
|
|
234
|
+
async codeModify(inputs) {
|
|
235
|
+
const parsed = CopilotCodeModifySchema.parse(inputs);
|
|
236
|
+
let prompt = parsed.prompt;
|
|
237
|
+
if (parsed.files && parsed.files.length > 0) {
|
|
238
|
+
prompt += `\n\nFiles to modify:\n${parsed.files.map((f) => `- ${f}`).join('\n')}`;
|
|
239
|
+
}
|
|
240
|
+
if (parsed.dryRun) {
|
|
241
|
+
prompt += '\n\nThis is a dry run - describe the changes you would make but do not apply them.';
|
|
242
|
+
}
|
|
243
|
+
const attachments = parsed.files?.map((f) => ({
|
|
244
|
+
type: 'file',
|
|
245
|
+
path: f,
|
|
246
|
+
})) || [];
|
|
247
|
+
return client.sendWithSession({ prompt, attachments }, { model: 'gpt-4.1', excludeFiles: parsed.excludeFiles });
|
|
248
|
+
},
|
|
249
|
+
/**
|
|
250
|
+
* Run with custom tools
|
|
251
|
+
*
|
|
252
|
+
* Usage in workflow:
|
|
253
|
+
* ```yaml
|
|
254
|
+
* action: copilot.withTools
|
|
255
|
+
* inputs:
|
|
256
|
+
* prompt: "Get the weather and send a summary"
|
|
257
|
+
* tools:
|
|
258
|
+
* - name: get_weather
|
|
259
|
+
* description: Get weather for a location
|
|
260
|
+
* parameters:
|
|
261
|
+
* type: object
|
|
262
|
+
* properties:
|
|
263
|
+
* location: { type: string }
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
async withTools(inputs, toolHandlers) {
|
|
267
|
+
const parsed = CopilotWithToolsSchema.parse(inputs);
|
|
268
|
+
const tools = parsed.tools.map((t) => ({
|
|
269
|
+
name: t.name,
|
|
270
|
+
description: t.description,
|
|
271
|
+
parameters: t.parameters,
|
|
272
|
+
handler: async (args) => {
|
|
273
|
+
const handler = toolHandlers[t.name];
|
|
274
|
+
if (!handler) {
|
|
275
|
+
return { error: `No handler for tool: ${t.name}` };
|
|
276
|
+
}
|
|
277
|
+
return handler(args);
|
|
278
|
+
},
|
|
279
|
+
}));
|
|
280
|
+
return client.sendWithSession({ prompt: parsed.prompt }, {
|
|
281
|
+
model: parsed.model,
|
|
282
|
+
systemMessage: parsed.systemMessage,
|
|
283
|
+
tools,
|
|
284
|
+
excludeFiles: parsed.excludeFiles,
|
|
285
|
+
});
|
|
286
|
+
},
|
|
287
|
+
/**
|
|
288
|
+
* Run with custom agents
|
|
289
|
+
*
|
|
290
|
+
* Usage in workflow:
|
|
291
|
+
* ```yaml
|
|
292
|
+
* action: copilot.withAgents
|
|
293
|
+
* inputs:
|
|
294
|
+
* prompt: "Analyze and improve this module"
|
|
295
|
+
* agents:
|
|
296
|
+
* - name: analyzer
|
|
297
|
+
* description: Analyze code structure
|
|
298
|
+
* prompt: You are a code analysis expert...
|
|
299
|
+
* - name: improver
|
|
300
|
+
* description: Suggest improvements
|
|
301
|
+
* prompt: You are a code improvement expert...
|
|
302
|
+
* ```
|
|
303
|
+
*/
|
|
304
|
+
async withAgents(inputs) {
|
|
305
|
+
const parsed = CopilotWithAgentsSchema.parse(inputs);
|
|
306
|
+
const customAgents = parsed.agents.map((a) => ({
|
|
307
|
+
name: a.name,
|
|
308
|
+
displayName: a.displayName,
|
|
309
|
+
description: a.description,
|
|
310
|
+
tools: a.tools || null,
|
|
311
|
+
prompt: a.prompt,
|
|
312
|
+
}));
|
|
313
|
+
return client.sendWithSession({ prompt: parsed.prompt }, {
|
|
314
|
+
model: parsed.model,
|
|
315
|
+
customAgents,
|
|
316
|
+
excludeFiles: parsed.excludeFiles,
|
|
317
|
+
});
|
|
318
|
+
},
|
|
319
|
+
/**
|
|
320
|
+
* Run with MCP servers
|
|
321
|
+
*
|
|
322
|
+
* Usage in workflow:
|
|
323
|
+
* ```yaml
|
|
324
|
+
* action: copilot.withMcp
|
|
325
|
+
* inputs:
|
|
326
|
+
* prompt: "Open browser and navigate to example.com"
|
|
327
|
+
* mcpServers:
|
|
328
|
+
* playwright:
|
|
329
|
+
* tools: "*"
|
|
330
|
+
* command: npx
|
|
331
|
+
* args: ["@playwright/mcp@latest"]
|
|
332
|
+
* ```
|
|
333
|
+
*/
|
|
334
|
+
async withMcp(inputs) {
|
|
335
|
+
const parsed = CopilotWithMcpSchema.parse(inputs);
|
|
336
|
+
return client.sendWithSession({ prompt: parsed.prompt }, {
|
|
337
|
+
model: parsed.model,
|
|
338
|
+
mcpServers: parsed.mcpServers,
|
|
339
|
+
excludeFiles: parsed.excludeFiles,
|
|
340
|
+
});
|
|
341
|
+
},
|
|
342
|
+
/**
|
|
343
|
+
* List available models
|
|
344
|
+
*/
|
|
345
|
+
async listModels() {
|
|
346
|
+
return client.listModels();
|
|
347
|
+
},
|
|
348
|
+
/**
|
|
349
|
+
* List available sessions
|
|
350
|
+
*/
|
|
351
|
+
async listSessions() {
|
|
352
|
+
return client.listSessions();
|
|
353
|
+
},
|
|
354
|
+
/**
|
|
355
|
+
* Delete a session
|
|
356
|
+
*/
|
|
357
|
+
async deleteSession(inputs) {
|
|
358
|
+
const parsed = CopilotDeleteSessionSchema.parse(inputs);
|
|
359
|
+
return client.deleteSession(parsed.sessionId);
|
|
360
|
+
},
|
|
361
|
+
/**
|
|
362
|
+
* Get authentication status
|
|
363
|
+
*/
|
|
364
|
+
async getAuthStatus() {
|
|
365
|
+
return client.getAuthStatus();
|
|
366
|
+
},
|
|
367
|
+
/**
|
|
368
|
+
* Get CLI status
|
|
369
|
+
*/
|
|
370
|
+
async getStatus() {
|
|
371
|
+
return client.getStatus();
|
|
372
|
+
},
|
|
373
|
+
/**
|
|
374
|
+
* Get the underlying client for advanced use
|
|
375
|
+
*/
|
|
376
|
+
getClient() {
|
|
377
|
+
return client;
|
|
378
|
+
},
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
// ============================================================================
|
|
382
|
+
// Preset Agent Configurations
|
|
383
|
+
// ============================================================================
|
|
384
|
+
/**
|
|
385
|
+
* Preset custom agent configurations for common tasks
|
|
386
|
+
*/
|
|
387
|
+
export const CopilotPresetAgents = {
|
|
388
|
+
/**
|
|
389
|
+
* Code review team
|
|
390
|
+
*/
|
|
391
|
+
codeReviewTeam: [
|
|
392
|
+
{
|
|
393
|
+
name: 'code-reviewer',
|
|
394
|
+
displayName: 'Code Reviewer',
|
|
395
|
+
description: 'Review code for quality and best practices',
|
|
396
|
+
prompt: `You are a senior code reviewer. Focus on:
|
|
397
|
+
- Code quality and readability
|
|
398
|
+
- Potential bugs and edge cases
|
|
399
|
+
- Design patterns and architecture
|
|
400
|
+
- Performance considerations`,
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
name: 'security-auditor',
|
|
404
|
+
displayName: 'Security Auditor',
|
|
405
|
+
description: 'Audit code for security vulnerabilities',
|
|
406
|
+
prompt: `You are a security expert. Look for:
|
|
407
|
+
- OWASP Top 10 vulnerabilities
|
|
408
|
+
- Injection attacks (SQL, XSS, command)
|
|
409
|
+
- Authentication and authorization issues
|
|
410
|
+
- Data exposure and privacy concerns`,
|
|
411
|
+
},
|
|
412
|
+
{
|
|
413
|
+
name: 'test-analyzer',
|
|
414
|
+
displayName: 'Test Analyzer',
|
|
415
|
+
description: 'Analyze test coverage and quality',
|
|
416
|
+
prompt: `You are a testing expert. Analyze:
|
|
417
|
+
- Test coverage gaps
|
|
418
|
+
- Missing edge case tests
|
|
419
|
+
- Test quality and maintainability
|
|
420
|
+
- Suggest improvements`,
|
|
421
|
+
},
|
|
422
|
+
],
|
|
423
|
+
/**
|
|
424
|
+
* Documentation team
|
|
425
|
+
*/
|
|
426
|
+
documentationTeam: [
|
|
427
|
+
{
|
|
428
|
+
name: 'doc-writer',
|
|
429
|
+
displayName: 'Documentation Writer',
|
|
430
|
+
description: 'Write clear documentation',
|
|
431
|
+
prompt: `You are a technical writer. Create:
|
|
432
|
+
- Clear, concise documentation
|
|
433
|
+
- Code examples and usage guides
|
|
434
|
+
- API documentation
|
|
435
|
+
- README files`,
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
name: 'example-creator',
|
|
439
|
+
displayName: 'Example Creator',
|
|
440
|
+
description: 'Create code examples',
|
|
441
|
+
prompt: `You create practical code examples:
|
|
442
|
+
- Working code examples
|
|
443
|
+
- Step-by-step tutorials
|
|
444
|
+
- Best practice demonstrations`,
|
|
445
|
+
},
|
|
446
|
+
],
|
|
447
|
+
/**
|
|
448
|
+
* Refactoring team
|
|
449
|
+
*/
|
|
450
|
+
refactoringTeam: [
|
|
451
|
+
{
|
|
452
|
+
name: 'analyzer',
|
|
453
|
+
displayName: 'Code Analyzer',
|
|
454
|
+
description: 'Analyze code for refactoring opportunities',
|
|
455
|
+
prompt: `You analyze code for:
|
|
456
|
+
- Code smells and anti-patterns
|
|
457
|
+
- Duplication
|
|
458
|
+
- Complex functions
|
|
459
|
+
- Tight coupling`,
|
|
460
|
+
},
|
|
461
|
+
{
|
|
462
|
+
name: 'refactorer',
|
|
463
|
+
displayName: 'Refactorer',
|
|
464
|
+
description: 'Implement refactoring changes',
|
|
465
|
+
prompt: `You implement refactoring:
|
|
466
|
+
- Extract methods and classes
|
|
467
|
+
- Simplify complex logic
|
|
468
|
+
- Apply design patterns
|
|
469
|
+
- Maintain functionality`,
|
|
470
|
+
},
|
|
471
|
+
],
|
|
472
|
+
};
|
|
473
|
+
//# sourceMappingURL=github-copilot-workflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-copilot-workflow.js","sourceRoot":"","sources":["../../src/adapters/github-copilot-workflow.ts"],"names":[],"mappings":"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"}
|