@marktoflow/integrations 2.0.0-alpha.4 → 2.0.0-alpha.6
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 +153 -1
- package/dist/adapters/github-copilot.d.ts +78 -0
- package/dist/adapters/github-copilot.d.ts.map +1 -0
- package/dist/adapters/github-copilot.js +161 -0
- package/dist/adapters/github-copilot.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -22,11 +22,13 @@ Standard integrations for marktoflow - connect to Slack, GitHub, Jira, Gmail, an
|
|
|
22
22
|
- **Confluence** - Wiki page management
|
|
23
23
|
- **HTTP** - Generic HTTP requests with auth
|
|
24
24
|
|
|
25
|
-
### AI Agent Adapters (
|
|
25
|
+
### AI Agent Adapters (4)
|
|
26
26
|
|
|
27
27
|
- **Ollama** - Local LLM integration
|
|
28
28
|
- **Claude Code** - Anthropic Claude integration
|
|
29
29
|
- **OpenCode** - OpenCode AI integration
|
|
30
|
+
- **GitHub Copilot** - GitHub Copilot CLI integration
|
|
31
|
+
- **GitHub Copilot** - GitHub Copilot CLI integration
|
|
30
32
|
|
|
31
33
|
## Installation
|
|
32
34
|
|
|
@@ -391,6 +393,156 @@ OpenCode AI integration.
|
|
|
391
393
|
export OPENCODE_API_KEY=your-key
|
|
392
394
|
```
|
|
393
395
|
|
|
396
|
+
### GitHub Copilot
|
|
397
|
+
|
|
398
|
+
GitHub Copilot CLI integration with advanced agentic capabilities.
|
|
399
|
+
|
|
400
|
+
**Requirements**:
|
|
401
|
+
|
|
402
|
+
- GitHub Copilot subscription (Individual, Business, or Enterprise)
|
|
403
|
+
- Copilot CLI installed: [Installation Guide](https://docs.github.com/en/copilot/how-tos/set-up/install-copilot-cli)
|
|
404
|
+
|
|
405
|
+
**Installation**:
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
# Install Copilot CLI
|
|
409
|
+
npm install -g @githubnext/github-copilot-cli
|
|
410
|
+
|
|
411
|
+
# Verify installation
|
|
412
|
+
copilot --version
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
**Authentication**:
|
|
416
|
+
|
|
417
|
+
The GitHub Copilot adapter uses **OAuth authentication** managed by the Copilot CLI, not API keys. Authentication is a one-time setup:
|
|
418
|
+
|
|
419
|
+
```bash
|
|
420
|
+
# Authenticate with GitHub via OAuth
|
|
421
|
+
copilot auth login
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
This command will:
|
|
425
|
+
|
|
426
|
+
1. Open your browser to GitHub's OAuth consent page
|
|
427
|
+
2. Prompt you to authorize GitHub Copilot CLI
|
|
428
|
+
3. Save the OAuth token locally in `~/.copilot/`
|
|
429
|
+
|
|
430
|
+
**No API keys are required** - the adapter automatically uses the CLI's stored OAuth token. Your GitHub Copilot subscription determines your access level.
|
|
431
|
+
|
|
432
|
+
**Verify Authentication**:
|
|
433
|
+
|
|
434
|
+
```bash
|
|
435
|
+
# Test CLI connectivity
|
|
436
|
+
copilot --version
|
|
437
|
+
copilot ping
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
**Basic Usage**:
|
|
441
|
+
|
|
442
|
+
```yaml
|
|
443
|
+
tools:
|
|
444
|
+
copilot:
|
|
445
|
+
adapter: github-copilot
|
|
446
|
+
config:
|
|
447
|
+
model: gpt-4.1 # Optional, defaults to gpt-4.1
|
|
448
|
+
|
|
449
|
+
steps:
|
|
450
|
+
- action: copilot.send
|
|
451
|
+
inputs:
|
|
452
|
+
prompt: 'Explain TypeScript generics'
|
|
453
|
+
output_variable: explanation
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
**Streaming Responses**:
|
|
457
|
+
|
|
458
|
+
```yaml
|
|
459
|
+
steps:
|
|
460
|
+
- action: copilot.stream
|
|
461
|
+
inputs:
|
|
462
|
+
prompt: 'Write a function to calculate fibonacci'
|
|
463
|
+
onChunk: '${print_chunk}' # Callback for each chunk
|
|
464
|
+
output_variable: code
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
**With File Attachments**:
|
|
468
|
+
|
|
469
|
+
```yaml
|
|
470
|
+
steps:
|
|
471
|
+
- action: copilot.send
|
|
472
|
+
inputs:
|
|
473
|
+
prompt: 'Review this code for security issues'
|
|
474
|
+
attachments:
|
|
475
|
+
- type: file
|
|
476
|
+
path: ./src/app.ts
|
|
477
|
+
displayName: app.ts
|
|
478
|
+
output_variable: review
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
**System Message Customization**:
|
|
482
|
+
|
|
483
|
+
```yaml
|
|
484
|
+
steps:
|
|
485
|
+
- action: copilot.send
|
|
486
|
+
inputs:
|
|
487
|
+
prompt: 'Help me optimize this function'
|
|
488
|
+
systemMessage: |
|
|
489
|
+
You are a performance optimization expert.
|
|
490
|
+
Focus on time and space complexity.
|
|
491
|
+
output_variable: suggestions
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
**External CLI Server**:
|
|
495
|
+
|
|
496
|
+
For development or shared CLI instances:
|
|
497
|
+
|
|
498
|
+
```bash
|
|
499
|
+
# Terminal 1: Start CLI in server mode
|
|
500
|
+
copilot --server --port 4321
|
|
501
|
+
|
|
502
|
+
# Terminal 2: Use in workflow
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
```yaml
|
|
506
|
+
tools:
|
|
507
|
+
copilot:
|
|
508
|
+
adapter: github-copilot
|
|
509
|
+
auth:
|
|
510
|
+
cli_url: localhost:4321 # Connect to external server
|
|
511
|
+
```
|
|
512
|
+
|
|
513
|
+
**Configuration Options**:
|
|
514
|
+
|
|
515
|
+
- `model`: Model to use (gpt-4.1, gpt-5, claude-sonnet-4.5, etc.)
|
|
516
|
+
- `cli_path`: Custom path to CLI binary (default: 'copilot')
|
|
517
|
+
- `cli_url`: External CLI server URL (mutually exclusive with cli_path)
|
|
518
|
+
- `autoStart`: Auto-start CLI (default: true)
|
|
519
|
+
- `logLevel`: Log verbosity (info, debug, error, warning, none, all)
|
|
520
|
+
|
|
521
|
+
**Troubleshooting Authentication**:
|
|
522
|
+
|
|
523
|
+
If you encounter authentication issues:
|
|
524
|
+
|
|
525
|
+
```bash
|
|
526
|
+
# Check if authenticated
|
|
527
|
+
copilot ping
|
|
528
|
+
|
|
529
|
+
# Re-authenticate if needed
|
|
530
|
+
copilot auth logout
|
|
531
|
+
copilot auth login
|
|
532
|
+
|
|
533
|
+
# Verify subscription status at https://github.com/settings/copilot
|
|
534
|
+
```
|
|
535
|
+
|
|
536
|
+
**Note**: The adapter does **not** require or use API keys. All authentication is handled through the CLI's OAuth flow.
|
|
537
|
+
|
|
538
|
+
**Advanced Features** (See [COPILOT_SDK_ANALYSIS.md](../../docs/COPILOT_SDK_ANALYSIS.md)):
|
|
539
|
+
|
|
540
|
+
- Custom tool definitions
|
|
541
|
+
- MCP server integration
|
|
542
|
+
- Session persistence
|
|
543
|
+
- Infinite sessions (automatic context compaction)
|
|
544
|
+
- Multi-turn conversations
|
|
545
|
+
|
|
394
546
|
## Advanced Usage
|
|
395
547
|
|
|
396
548
|
### Custom Integration
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { SDKInitializer } from '@marktoflow/core';
|
|
2
|
+
type LogLevel = 'info' | 'none' | 'error' | 'warning' | 'debug' | 'all';
|
|
3
|
+
/**
|
|
4
|
+
* GitHub Copilot adapter client that wraps CopilotClient
|
|
5
|
+
* and provides a simplified interface for marktoflow workflows.
|
|
6
|
+
*/
|
|
7
|
+
export declare class GitHubCopilotClient {
|
|
8
|
+
private client;
|
|
9
|
+
private defaultModel;
|
|
10
|
+
constructor(options?: {
|
|
11
|
+
cliPath?: string;
|
|
12
|
+
model?: string;
|
|
13
|
+
cliUrl?: string;
|
|
14
|
+
autoStart?: boolean;
|
|
15
|
+
logLevel?: LogLevel;
|
|
16
|
+
});
|
|
17
|
+
/**
|
|
18
|
+
* Send a message to Copilot and wait for the complete response.
|
|
19
|
+
*/
|
|
20
|
+
send(inputs: {
|
|
21
|
+
prompt: string;
|
|
22
|
+
model?: string;
|
|
23
|
+
attachments?: Array<{
|
|
24
|
+
type: 'file' | 'directory';
|
|
25
|
+
path: string;
|
|
26
|
+
displayName?: string;
|
|
27
|
+
}>;
|
|
28
|
+
systemMessage?: string;
|
|
29
|
+
}): Promise<string>;
|
|
30
|
+
/**
|
|
31
|
+
* Send a message to Copilot and stream the response.
|
|
32
|
+
* Returns the full response after streaming completes.
|
|
33
|
+
*/
|
|
34
|
+
stream(inputs: {
|
|
35
|
+
prompt: string;
|
|
36
|
+
model?: string;
|
|
37
|
+
attachments?: Array<{
|
|
38
|
+
type: 'file' | 'directory';
|
|
39
|
+
path: string;
|
|
40
|
+
displayName?: string;
|
|
41
|
+
}>;
|
|
42
|
+
systemMessage?: string;
|
|
43
|
+
onChunk?: (chunk: string) => void;
|
|
44
|
+
onComplete?: (fullResponse: string) => void;
|
|
45
|
+
}): Promise<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Create a persistent session for multi-turn conversations.
|
|
48
|
+
* Caller is responsible for managing session lifecycle.
|
|
49
|
+
*/
|
|
50
|
+
createSession(options?: {
|
|
51
|
+
model?: string;
|
|
52
|
+
sessionId?: string;
|
|
53
|
+
systemMessage?: string;
|
|
54
|
+
}): Promise<import("@github/copilot-sdk").CopilotSession>;
|
|
55
|
+
/**
|
|
56
|
+
* Stop the Copilot CLI client.
|
|
57
|
+
*/
|
|
58
|
+
stop(): Promise<void>;
|
|
59
|
+
/**
|
|
60
|
+
* Ping the Copilot CLI to check connectivity.
|
|
61
|
+
*/
|
|
62
|
+
ping(): Promise<{
|
|
63
|
+
message: string;
|
|
64
|
+
timestamp: number;
|
|
65
|
+
}>;
|
|
66
|
+
/**
|
|
67
|
+
* Check if the Copilot CLI is authenticated and ready.
|
|
68
|
+
* Returns true if ping succeeds, false otherwise.
|
|
69
|
+
*/
|
|
70
|
+
checkAuth(): Promise<boolean>;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* SDK Initializer for GitHub Copilot.
|
|
74
|
+
* Supports both authentication via CLI path and external CLI server URL.
|
|
75
|
+
*/
|
|
76
|
+
export declare const GitHubCopilotInitializer: SDKInitializer;
|
|
77
|
+
export {};
|
|
78
|
+
//# sourceMappingURL=github-copilot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-copilot.d.ts","sourceRoot":"","sources":["../../src/adapters/github-copilot.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,KAAK,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,CAAC;AAExE;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,YAAY,CAAS;gBAG3B,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;KAChB;IAyBR;;OAEG;IACG,IAAI,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,KAAK,CAAC;YAClB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;YAC3B,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,OAAO,CAAC,MAAM,CAAC;IAsBnB;;;OAGG;IACG,MAAM,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,KAAK,CAAC;YAClB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;YAC3B,IAAI,EAAE,MAAM,CAAC;YACb,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;QACH,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QAClC,UAAU,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;KAC7C,GAAG,OAAO,CAAC,MAAM,CAAC;IAgDnB;;;OAGG;IACG,aAAa,CACjB,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACnB;IAaR;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAO3B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7D;;;OAGG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAQpC;AAED;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,cAatC,CAAC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { CopilotClient } from '@github/copilot-sdk';
|
|
2
|
+
/**
|
|
3
|
+
* GitHub Copilot adapter client that wraps CopilotClient
|
|
4
|
+
* and provides a simplified interface for marktoflow workflows.
|
|
5
|
+
*/
|
|
6
|
+
export class GitHubCopilotClient {
|
|
7
|
+
client;
|
|
8
|
+
defaultModel;
|
|
9
|
+
constructor(options = {}) {
|
|
10
|
+
// cliUrl and cliPath are mutually exclusive
|
|
11
|
+
const clientConfig = {
|
|
12
|
+
autoStart: options.autoStart ?? true,
|
|
13
|
+
logLevel: options.logLevel || 'info',
|
|
14
|
+
};
|
|
15
|
+
if (options.cliUrl) {
|
|
16
|
+
// When connecting to external server, don't set cliPath
|
|
17
|
+
clientConfig.cliUrl = options.cliUrl;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
// When spawning CLI, set cliPath
|
|
21
|
+
clientConfig.cliPath = options.cliPath || 'copilot';
|
|
22
|
+
}
|
|
23
|
+
this.client = new CopilotClient(clientConfig);
|
|
24
|
+
this.defaultModel = options.model || 'gpt-4.1';
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Send a message to Copilot and wait for the complete response.
|
|
28
|
+
*/
|
|
29
|
+
async send(inputs) {
|
|
30
|
+
const session = await this.client.createSession({
|
|
31
|
+
model: inputs.model || this.defaultModel,
|
|
32
|
+
systemMessage: inputs.systemMessage
|
|
33
|
+
? {
|
|
34
|
+
content: inputs.systemMessage,
|
|
35
|
+
}
|
|
36
|
+
: undefined,
|
|
37
|
+
});
|
|
38
|
+
try {
|
|
39
|
+
const response = await session.sendAndWait({
|
|
40
|
+
prompt: inputs.prompt,
|
|
41
|
+
attachments: inputs.attachments,
|
|
42
|
+
});
|
|
43
|
+
return response?.data.content || '';
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
await session.destroy();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Send a message to Copilot and stream the response.
|
|
51
|
+
* Returns the full response after streaming completes.
|
|
52
|
+
*/
|
|
53
|
+
async stream(inputs) {
|
|
54
|
+
const session = await this.client.createSession({
|
|
55
|
+
model: inputs.model || this.defaultModel,
|
|
56
|
+
streaming: true,
|
|
57
|
+
systemMessage: inputs.systemMessage
|
|
58
|
+
? {
|
|
59
|
+
content: inputs.systemMessage,
|
|
60
|
+
}
|
|
61
|
+
: undefined,
|
|
62
|
+
});
|
|
63
|
+
let fullResponse = '';
|
|
64
|
+
return new Promise((resolve, reject) => {
|
|
65
|
+
session.on((event) => {
|
|
66
|
+
if (event.type === 'assistant.message_delta') {
|
|
67
|
+
const chunk = event.data.deltaContent;
|
|
68
|
+
fullResponse += chunk;
|
|
69
|
+
if (inputs.onChunk) {
|
|
70
|
+
inputs.onChunk(chunk);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else if (event.type === 'assistant.message') {
|
|
74
|
+
// Final message received
|
|
75
|
+
fullResponse = event.data.content || fullResponse;
|
|
76
|
+
}
|
|
77
|
+
else if (event.type === 'session.idle') {
|
|
78
|
+
// Session finished processing
|
|
79
|
+
if (inputs.onComplete) {
|
|
80
|
+
inputs.onComplete(fullResponse);
|
|
81
|
+
}
|
|
82
|
+
session
|
|
83
|
+
.destroy()
|
|
84
|
+
.then(() => resolve(fullResponse))
|
|
85
|
+
.catch(reject);
|
|
86
|
+
}
|
|
87
|
+
else if (event.type === 'session.error') {
|
|
88
|
+
reject(new Error(event.data.message || 'Session error occurred'));
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
// Send the message
|
|
92
|
+
session
|
|
93
|
+
.send({
|
|
94
|
+
prompt: inputs.prompt,
|
|
95
|
+
attachments: inputs.attachments,
|
|
96
|
+
})
|
|
97
|
+
.catch(reject);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Create a persistent session for multi-turn conversations.
|
|
102
|
+
* Caller is responsible for managing session lifecycle.
|
|
103
|
+
*/
|
|
104
|
+
async createSession(options = {}) {
|
|
105
|
+
return this.client.createSession({
|
|
106
|
+
model: options.model || this.defaultModel,
|
|
107
|
+
sessionId: options.sessionId,
|
|
108
|
+
systemMessage: options.systemMessage
|
|
109
|
+
? {
|
|
110
|
+
content: options.systemMessage,
|
|
111
|
+
}
|
|
112
|
+
: undefined,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Stop the Copilot CLI client.
|
|
117
|
+
*/
|
|
118
|
+
async stop() {
|
|
119
|
+
const errors = await this.client.stop();
|
|
120
|
+
if (errors.length > 0) {
|
|
121
|
+
throw new Error(`Errors during stop: ${errors.map((e) => e.message).join(', ')}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Ping the Copilot CLI to check connectivity.
|
|
126
|
+
*/
|
|
127
|
+
async ping() {
|
|
128
|
+
return this.client.ping();
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Check if the Copilot CLI is authenticated and ready.
|
|
132
|
+
* Returns true if ping succeeds, false otherwise.
|
|
133
|
+
*/
|
|
134
|
+
async checkAuth() {
|
|
135
|
+
try {
|
|
136
|
+
await this.ping();
|
|
137
|
+
return true;
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* SDK Initializer for GitHub Copilot.
|
|
146
|
+
* Supports both authentication via CLI path and external CLI server URL.
|
|
147
|
+
*/
|
|
148
|
+
export const GitHubCopilotInitializer = {
|
|
149
|
+
async initialize(_module, config) {
|
|
150
|
+
const options = config.options || {};
|
|
151
|
+
const auth = config.auth || {};
|
|
152
|
+
return new GitHubCopilotClient({
|
|
153
|
+
cliPath: auth['cli_path'] || options['cliPath'],
|
|
154
|
+
cliUrl: auth['cli_url'] || options['cliUrl'],
|
|
155
|
+
model: options['model'] || 'gpt-4.1',
|
|
156
|
+
autoStart: options['autoStart'] ?? true,
|
|
157
|
+
logLevel: options['logLevel'] || 'info',
|
|
158
|
+
});
|
|
159
|
+
},
|
|
160
|
+
};
|
|
161
|
+
//# sourceMappingURL=github-copilot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-copilot.js","sourceRoot":"","sources":["../../src/adapters/github-copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,qBAAqB,CAAC;AAKlE;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACtB,MAAM,CAAgB;IACtB,YAAY,CAAS;IAE7B,YACE,UAMI,EAAE;QAEN,4CAA4C;QAC5C,MAAM,YAAY,GAKd;YACF,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,IAAI;YACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,MAAM;SACrC,CAAC;QAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,wDAAwD;YACxD,YAAY,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;QACtD,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI,SAAS,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,MASV;QACC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC9C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY;YACxC,aAAa,EAAE,MAAM,CAAC,aAAa;gBACjC,CAAC,CAAC;oBACE,OAAO,EAAE,MAAM,CAAC,aAAa;iBAC9B;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC;gBACzC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC,CAAC;YAEH,OAAO,QAAQ,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,MAWZ;QACC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC9C,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY;YACxC,SAAS,EAAE,IAAI;YACf,aAAa,EAAE,MAAM,CAAC,aAAa;gBACjC,CAAC,CAAC;oBACE,OAAO,EAAE,MAAM,CAAC,aAAa;iBAC9B;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;QAEH,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAmB,EAAE,EAAE;gBACjC,IAAI,KAAK,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;oBAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;oBACtC,YAAY,IAAI,KAAK,CAAC;oBACtB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACxB,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;oBAC9C,yBAAyB;oBACzB,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,YAAY,CAAC;gBACpD,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBACzC,8BAA8B;oBAC9B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;wBACtB,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBAClC,CAAC;oBACD,OAAO;yBACJ,OAAO,EAAE;yBACT,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;yBACjC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBAC1C,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,wBAAwB,CAAC,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,mBAAmB;YACnB,OAAO;iBACJ,IAAI,CAAC;gBACJ,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,WAAW,EAAE,MAAM,CAAC,WAAW;aAChC,CAAC;iBACD,KAAK,CAAC,MAAM,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CACjB,UAII,EAAE;QAEN,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY;YACzC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,aAAa,EAAE,OAAO,CAAC,aAAa;gBAClC,CAAC,CAAC;oBACE,OAAO,EAAE,OAAO,CAAC,aAAa;iBAC/B;gBACH,CAAC,CAAC,SAAS;SACd,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmB;IACtD,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,MAAkB;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAE/B,OAAO,IAAI,mBAAmB,CAAC;YAC7B,OAAO,EAAG,IAAI,CAAC,UAAU,CAAY,IAAK,OAAO,CAAC,SAAS,CAAY;YACvE,MAAM,EAAG,IAAI,CAAC,SAAS,CAAY,IAAK,OAAO,CAAC,QAAQ,CAAY;YACpE,KAAK,EAAG,OAAO,CAAC,OAAO,CAAY,IAAI,SAAS;YAChD,SAAS,EAAG,OAAO,CAAC,WAAW,CAAa,IAAI,IAAI;YACpD,QAAQ,EAAG,OAAO,CAAC,UAAU,CAAc,IAAI,MAAM;SACtD,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,5 +17,6 @@ export { SlackSocketTrigger } from './services/slack-socket.js';
|
|
|
17
17
|
export * from './adapters/ollama.js';
|
|
18
18
|
export * from './adapters/claude-code.js';
|
|
19
19
|
export * from './adapters/opencode.js';
|
|
20
|
+
export * from './adapters/github-copilot.js';
|
|
20
21
|
export * from './tools/script.js';
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAwB/C,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,QAkCzD;AAGD,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,UAAU,EACV,KAAK,gBAAgB,IAAI,qBAAqB,EAC9C,KAAK,eAAe,IAAI,oBAAoB,EAC5C,KAAK,gBAAgB,IAAI,qBAAqB,EAC9C,KAAK,kBAAkB,IAAI,uBAAuB,GACnD,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,KAAK,gBAAgB,IAAI,uBAAuB,EAChD,KAAK,eAAe,IAAI,sBAAsB,EAC9C,KAAK,gBAAgB,IAAI,uBAAuB,EAChD,KAAK,kBAAkB,IAAI,yBAAyB,GACrD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,WAAW,EACX,KAAK,iBAAiB,IAAI,uBAAuB,EACjD,KAAK,oBAAoB,EACzB,KAAK,aAAa,IAAI,mBAAmB,GAC1C,MAAM,sBAAsB,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAG7C,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ import { HttpInitializer } from './services/http.js';
|
|
|
14
14
|
import { OllamaInitializer } from './adapters/ollama.js';
|
|
15
15
|
import { ClaudeCodeInitializer } from './adapters/claude-code.js';
|
|
16
16
|
import { OpenCodeInitializer } from './adapters/opencode.js';
|
|
17
|
+
import { GitHubCopilotInitializer } from './adapters/github-copilot.js';
|
|
17
18
|
// Tools
|
|
18
19
|
import { ScriptInitializer } from './tools/script.js';
|
|
19
20
|
export function registerIntegrations(registry) {
|
|
@@ -39,6 +40,7 @@ export function registerIntegrations(registry) {
|
|
|
39
40
|
registry.registerInitializer('ollama', OllamaInitializer);
|
|
40
41
|
registry.registerInitializer('claude-code', ClaudeCodeInitializer);
|
|
41
42
|
registry.registerInitializer('opencode', OpenCodeInitializer);
|
|
43
|
+
registry.registerInitializer('github-copilot', GitHubCopilotInitializer);
|
|
42
44
|
// Tools
|
|
43
45
|
registry.registerInitializer('script', ScriptInitializer);
|
|
44
46
|
}
|
|
@@ -62,6 +64,7 @@ export { SlackSocketTrigger } from './services/slack-socket.js';
|
|
|
62
64
|
export * from './adapters/ollama.js';
|
|
63
65
|
export * from './adapters/claude-code.js';
|
|
64
66
|
export * from './adapters/opencode.js';
|
|
67
|
+
export * from './adapters/github-copilot.js';
|
|
65
68
|
// Export tools
|
|
66
69
|
export * from './tools/script.js';
|
|
67
70
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,cAAc;AACd,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marktoflow/integrations",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.6",
|
|
4
4
|
"description": "Standard integrations for marktoflow",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "https://github.com/scottgl9/marktoflow.git",
|
|
10
|
+
"url": "git+https://github.com/scottgl9/marktoflow.git",
|
|
11
11
|
"directory": "packages/integrations"
|
|
12
12
|
},
|
|
13
13
|
"homepage": "https://github.com/scottgl9/marktoflow#readme",
|
|
@@ -27,7 +27,8 @@
|
|
|
27
27
|
"clean": "rm -rf dist"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@
|
|
30
|
+
"@github/copilot-sdk": "^0.1.18",
|
|
31
|
+
"@marktoflow/core": "2.0.0-alpha.6",
|
|
31
32
|
"@microsoft/microsoft-graph-client": "^3.0.7",
|
|
32
33
|
"@octokit/rest": "^22.0.1",
|
|
33
34
|
"@opencode-ai/sdk": "^1.1.34",
|