@marktoflow/integrations 2.0.0-alpha.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.
- package/dist/adapters/claude-code.d.ts +16 -0
- package/dist/adapters/claude-code.d.ts.map +1 -0
- package/dist/adapters/claude-code.js +56 -0
- package/dist/adapters/claude-code.js.map +1 -0
- package/dist/adapters/ollama.d.ts +3 -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 +21 -0
- package/dist/adapters/opencode.d.ts.map +1 -0
- package/dist/adapters/opencode.js +119 -0
- package/dist/adapters/opencode.js.map +1 -0
- package/dist/claude-code.d.ts +16 -0
- package/dist/claude-code.d.ts.map +1 -0
- package/dist/claude-code.js +56 -0
- package/dist/claude-code.js.map +1 -0
- package/dist/github.d.ts +3 -0
- package/dist/github.d.ts.map +1 -0
- package/dist/github.js +13 -0
- package/dist/github.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +67 -0
- package/dist/index.js.map +1 -0
- package/dist/jira.d.ts +3 -0
- package/dist/jira.d.ts.map +1 -0
- package/dist/jira.js +21 -0
- package/dist/jira.js.map +1 -0
- package/dist/ollama.d.ts +3 -0
- package/dist/ollama.d.ts.map +1 -0
- package/dist/ollama.js +9 -0
- package/dist/ollama.js.map +1 -0
- package/dist/opencode.d.ts +19 -0
- package/dist/opencode.d.ts.map +1 -0
- package/dist/opencode.js +104 -0
- package/dist/opencode.js.map +1 -0
- package/dist/script.d.ts +3 -0
- package/dist/script.d.ts.map +1 -0
- package/dist/script.js +21 -0
- package/dist/script.js.map +1 -0
- package/dist/services/airtable.d.ts +145 -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/confluence.d.ts +205 -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 +212 -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/github.d.ts +3 -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 +92 -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 +116 -0
- package/dist/services/gmail.d.ts.map +1 -0
- package/dist/services/gmail.js +333 -0
- package/dist/services/gmail.js.map +1 -0
- package/dist/services/http.d.ts +120 -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 +3 -0
- package/dist/services/jira.d.ts.map +1 -0
- package/dist/services/jira.js +21 -0
- package/dist/services/jira.js.map +1 -0
- package/dist/services/linear.d.ts +163 -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/notion.d.ts +206 -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 +121 -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 +237 -0
- package/dist/services/outlook.d.ts.map +1 -0
- package/dist/services/outlook.js +475 -0
- package/dist/services/outlook.js.map +1 -0
- package/dist/services/slack-socket.d.ts +18 -0
- package/dist/services/slack-socket.d.ts.map +1 -0
- package/dist/services/slack-socket.js +46 -0
- package/dist/services/slack-socket.js.map +1 -0
- package/dist/services/slack.d.ts +3 -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/slack.d.ts +3 -0
- package/dist/slack.d.ts.map +1 -0
- package/dist/slack.js +11 -0
- package/dist/slack.js.map +1 -0
- package/dist/tools/script.d.ts +3 -0
- package/dist/tools/script.d.ts.map +1 -0
- package/dist/tools/script.js +21 -0
- package/dist/tools/script.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SDKInitializer } from '@marktoflow/core';
|
|
2
|
+
export declare class ClaudeCodeClient {
|
|
3
|
+
private options;
|
|
4
|
+
constructor(options?: {
|
|
5
|
+
cliPath?: string;
|
|
6
|
+
model?: string;
|
|
7
|
+
cwd?: string;
|
|
8
|
+
timeout?: number;
|
|
9
|
+
});
|
|
10
|
+
generate(inputs: {
|
|
11
|
+
prompt: string;
|
|
12
|
+
model?: string;
|
|
13
|
+
} | string): Promise<string>;
|
|
14
|
+
}
|
|
15
|
+
export declare const ClaudeCodeInitializer: SDKInitializer;
|
|
16
|
+
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,qBAAa,gBAAgB;IACf,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KACb;IAEA,QAAQ,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA4CrF;AAED,eAAO,MAAM,qBAAqB,EAAE,cAUnC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
export class ClaudeCodeClient {
|
|
3
|
+
options;
|
|
4
|
+
constructor(options = {}) {
|
|
5
|
+
this.options = options;
|
|
6
|
+
}
|
|
7
|
+
async generate(inputs) {
|
|
8
|
+
const prompt = typeof inputs === 'string' ? inputs : inputs.prompt;
|
|
9
|
+
const modelOverride = typeof inputs === 'string' ? undefined : inputs.model;
|
|
10
|
+
const cliPath = this.options.cliPath || 'claude';
|
|
11
|
+
const cwd = this.options.cwd || process.cwd();
|
|
12
|
+
const timeout = this.options.timeout || 120000;
|
|
13
|
+
const args = ['-p', prompt];
|
|
14
|
+
const model = modelOverride || this.options.model;
|
|
15
|
+
if (model) {
|
|
16
|
+
args.push('--model', model);
|
|
17
|
+
}
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
const process = spawn(cliPath, args, { cwd });
|
|
20
|
+
let stdout = '';
|
|
21
|
+
let stderr = '';
|
|
22
|
+
process.stdout.on('data', (data) => { stdout += data.toString(); });
|
|
23
|
+
process.stderr.on('data', (data) => { stderr += data.toString(); });
|
|
24
|
+
const timeoutId = setTimeout(() => {
|
|
25
|
+
process.kill();
|
|
26
|
+
reject(new Error(`Claude Code CLI timed out after ${timeout}ms`));
|
|
27
|
+
}, timeout);
|
|
28
|
+
process.on('close', (code) => {
|
|
29
|
+
clearTimeout(timeoutId);
|
|
30
|
+
if (code === 0) {
|
|
31
|
+
resolve(stdout.trim());
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// Check if stderr contains useful info even if code != 0
|
|
35
|
+
reject(new Error(`Claude Code CLI failed (exit code ${code})\nSTDOUT: ${stdout}\nSTDERR: ${stderr}`));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
process.on('error', (err) => {
|
|
39
|
+
clearTimeout(timeoutId);
|
|
40
|
+
reject(err);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export const ClaudeCodeInitializer = {
|
|
46
|
+
async initialize(_module, config) {
|
|
47
|
+
const options = config.options || {};
|
|
48
|
+
return new ClaudeCodeClient({
|
|
49
|
+
cliPath: options['cliPath'],
|
|
50
|
+
model: options['model'],
|
|
51
|
+
cwd: options['cwd'],
|
|
52
|
+
timeout: options['timeout'],
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=claude-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/adapters/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../../src/adapters/ollama.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,iBAAiB,EAAE,cAO/B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Ollama } from 'ollama';
|
|
2
|
+
export const OllamaInitializer = {
|
|
3
|
+
async initialize(_module, config) {
|
|
4
|
+
const host = config.options?.['host'] || config.auth?.['host'] || 'http://127.0.0.1:11434';
|
|
5
|
+
// The ollama package constructor takes an object with host
|
|
6
|
+
return new Ollama({ host });
|
|
7
|
+
},
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=ollama.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../../src/adapters/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,MAAkB;QACnD,MAAM,IAAI,GAAI,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAY,IAAK,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAY,IAAI,wBAAwB,CAAC;QAEnH,2DAA2D;QAC3D,OAAO,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SDKInitializer } from '@marktoflow/core';
|
|
2
|
+
export declare class OpenCodeClient {
|
|
3
|
+
private mode;
|
|
4
|
+
private serverUrl;
|
|
5
|
+
private cliPath;
|
|
6
|
+
private model;
|
|
7
|
+
private sdkClient;
|
|
8
|
+
constructor(options?: {
|
|
9
|
+
mode?: 'cli' | 'server' | 'auto';
|
|
10
|
+
serverUrl?: string;
|
|
11
|
+
cliPath?: string;
|
|
12
|
+
model?: string;
|
|
13
|
+
});
|
|
14
|
+
generate(inputs: {
|
|
15
|
+
prompt: string;
|
|
16
|
+
} | string): Promise<string>;
|
|
17
|
+
private generateViaServer;
|
|
18
|
+
private generateViaCli;
|
|
19
|
+
}
|
|
20
|
+
export declare const OpenCodeInitializer: SDKInitializer;
|
|
21
|
+
//# sourceMappingURL=opencode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../src/adapters/opencode.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG9D,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,SAAS,CAA+B;gBAEpC,OAAO,GAAE;QACnB,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KACX;IAaA,QAAQ,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAiBtD,iBAAiB;YAuCjB,cAAc;CAuC7B;AAED,eAAO,MAAM,mBAAmB,EAAE,cAUjC,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
import { createOpencodeClient } from '@opencode-ai/sdk';
|
|
3
|
+
export class OpenCodeClient {
|
|
4
|
+
mode;
|
|
5
|
+
serverUrl;
|
|
6
|
+
cliPath;
|
|
7
|
+
model;
|
|
8
|
+
sdkClient = null;
|
|
9
|
+
constructor(options = {}) {
|
|
10
|
+
this.mode = options.mode || 'auto';
|
|
11
|
+
this.serverUrl = options.serverUrl || 'http://localhost:4096';
|
|
12
|
+
this.cliPath = options.cliPath || 'opencode';
|
|
13
|
+
this.model = options.model;
|
|
14
|
+
if (this.mode === 'server' || this.mode === 'auto') {
|
|
15
|
+
this.sdkClient = createOpencodeClient({
|
|
16
|
+
baseUrl: this.serverUrl,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
async generate(inputs) {
|
|
21
|
+
const prompt = typeof inputs === 'string' ? inputs : inputs.prompt;
|
|
22
|
+
if (this.mode === 'server') {
|
|
23
|
+
return this.generateViaServer(prompt);
|
|
24
|
+
}
|
|
25
|
+
else if (this.mode === 'cli') {
|
|
26
|
+
return this.generateViaCli(prompt);
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
// Auto mode: try server, fall back to CLI
|
|
30
|
+
try {
|
|
31
|
+
return await this.generateViaServer(prompt);
|
|
32
|
+
}
|
|
33
|
+
catch (e) {
|
|
34
|
+
return this.generateViaCli(prompt);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
async generateViaServer(prompt) {
|
|
39
|
+
if (!this.sdkClient) {
|
|
40
|
+
throw new Error('OpenCode SDK client not initialized');
|
|
41
|
+
}
|
|
42
|
+
// Create session
|
|
43
|
+
const sessionRes = await this.sdkClient.session.create();
|
|
44
|
+
if (sessionRes.error) {
|
|
45
|
+
throw new Error(`Failed to create OpenCode session: ${JSON.stringify(sessionRes.error)}`);
|
|
46
|
+
}
|
|
47
|
+
const session = sessionRes.data;
|
|
48
|
+
if (!session || !session.id) {
|
|
49
|
+
throw new Error('Failed to create OpenCode session: No session ID returned');
|
|
50
|
+
}
|
|
51
|
+
// Send message
|
|
52
|
+
const response = await this.sdkClient.session.prompt({
|
|
53
|
+
path: { id: session.id },
|
|
54
|
+
body: {
|
|
55
|
+
parts: [{ type: 'text', text: prompt }]
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
if (response.error) {
|
|
59
|
+
throw new Error(`Failed to generate response: ${JSON.stringify(response.error)}`);
|
|
60
|
+
}
|
|
61
|
+
const data = response.data;
|
|
62
|
+
// Extract text
|
|
63
|
+
if (data.parts) {
|
|
64
|
+
return data.parts.map((p) => p.text || '').join('');
|
|
65
|
+
}
|
|
66
|
+
if (data.text) {
|
|
67
|
+
return data.text;
|
|
68
|
+
}
|
|
69
|
+
return JSON.stringify(data);
|
|
70
|
+
}
|
|
71
|
+
async generateViaCli(prompt) {
|
|
72
|
+
const args = ['run'];
|
|
73
|
+
if (this.model) {
|
|
74
|
+
args.push('--model', this.model);
|
|
75
|
+
}
|
|
76
|
+
args.push(prompt);
|
|
77
|
+
return new Promise((resolve, reject) => {
|
|
78
|
+
const process = spawn(this.cliPath, args, {
|
|
79
|
+
stdio: ['ignore', 'pipe', 'pipe']
|
|
80
|
+
});
|
|
81
|
+
let stdout = '';
|
|
82
|
+
let stderr = '';
|
|
83
|
+
process.stdout.on('data', d => {
|
|
84
|
+
stdout += d.toString();
|
|
85
|
+
});
|
|
86
|
+
process.stderr.on('data', d => {
|
|
87
|
+
stderr += d.toString();
|
|
88
|
+
});
|
|
89
|
+
process.on('close', code => {
|
|
90
|
+
if (code === 0) {
|
|
91
|
+
let output = stdout.trim();
|
|
92
|
+
// Strip <output> tags if present
|
|
93
|
+
if (output.startsWith('<output>') && output.endsWith('</output>')) {
|
|
94
|
+
output = output.slice(8, -9).trim();
|
|
95
|
+
}
|
|
96
|
+
resolve(output);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
reject(new Error(`OpenCode CLI failed (exit code ${code})\nSTDERR: ${stderr}`));
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
process.on('error', (err) => {
|
|
103
|
+
reject(err);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export const OpenCodeInitializer = {
|
|
109
|
+
async initialize(_module, config) {
|
|
110
|
+
const options = config.options || {};
|
|
111
|
+
return new OpenCodeClient({
|
|
112
|
+
mode: options['mode'],
|
|
113
|
+
serverUrl: options['serverUrl'],
|
|
114
|
+
cliPath: options['cliPath'],
|
|
115
|
+
model: options['model'],
|
|
116
|
+
});
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
//# sourceMappingURL=opencode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../src/adapters/opencode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SDKInitializer } from '@marktoflow/core';
|
|
2
|
+
export declare class ClaudeCodeClient {
|
|
3
|
+
private options;
|
|
4
|
+
constructor(options?: {
|
|
5
|
+
cliPath?: string;
|
|
6
|
+
model?: string;
|
|
7
|
+
cwd?: string;
|
|
8
|
+
timeout?: number;
|
|
9
|
+
});
|
|
10
|
+
generate(inputs: {
|
|
11
|
+
prompt: string;
|
|
12
|
+
model?: string;
|
|
13
|
+
} | string): Promise<string>;
|
|
14
|
+
}
|
|
15
|
+
export declare const ClaudeCodeInitializer: SDKInitializer;
|
|
16
|
+
//# sourceMappingURL=claude-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../src/claude-code.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,qBAAa,gBAAgB;IACf,OAAO,CAAC,OAAO;gBAAP,OAAO,GAAE;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KACb;IAEA,QAAQ,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CA4CrF;AAED,eAAO,MAAM,qBAAqB,EAAE,cAUnC,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { spawn } from 'node:child_process';
|
|
2
|
+
export class ClaudeCodeClient {
|
|
3
|
+
options;
|
|
4
|
+
constructor(options = {}) {
|
|
5
|
+
this.options = options;
|
|
6
|
+
}
|
|
7
|
+
async generate(inputs) {
|
|
8
|
+
const prompt = typeof inputs === 'string' ? inputs : inputs.prompt;
|
|
9
|
+
const modelOverride = typeof inputs === 'string' ? undefined : inputs.model;
|
|
10
|
+
const cliPath = this.options.cliPath || 'claude';
|
|
11
|
+
const cwd = this.options.cwd || process.cwd();
|
|
12
|
+
const timeout = this.options.timeout || 120000;
|
|
13
|
+
const args = ['-p', prompt];
|
|
14
|
+
const model = modelOverride || this.options.model;
|
|
15
|
+
if (model) {
|
|
16
|
+
args.push('--model', model);
|
|
17
|
+
}
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
const process = spawn(cliPath, args, { cwd });
|
|
20
|
+
let stdout = '';
|
|
21
|
+
let stderr = '';
|
|
22
|
+
process.stdout.on('data', (data) => { stdout += data.toString(); });
|
|
23
|
+
process.stderr.on('data', (data) => { stderr += data.toString(); });
|
|
24
|
+
const timeoutId = setTimeout(() => {
|
|
25
|
+
process.kill();
|
|
26
|
+
reject(new Error(`Claude Code CLI timed out after ${timeout}ms`));
|
|
27
|
+
}, timeout);
|
|
28
|
+
process.on('close', (code) => {
|
|
29
|
+
clearTimeout(timeoutId);
|
|
30
|
+
if (code === 0) {
|
|
31
|
+
resolve(stdout.trim());
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
// Check if stderr contains useful info even if code != 0
|
|
35
|
+
reject(new Error(`Claude Code CLI failed (exit code ${code})\nSTDOUT: ${stdout}\nSTDERR: ${stderr}`));
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
process.on('error', (err) => {
|
|
39
|
+
clearTimeout(timeoutId);
|
|
40
|
+
reject(err);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export const ClaudeCodeInitializer = {
|
|
46
|
+
async initialize(_module, config) {
|
|
47
|
+
const options = config.options || {};
|
|
48
|
+
return new ClaudeCodeClient({
|
|
49
|
+
cliPath: options['cliPath'],
|
|
50
|
+
model: options['model'],
|
|
51
|
+
cwd: options['cwd'],
|
|
52
|
+
timeout: options['timeout'],
|
|
53
|
+
});
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=claude-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../src/claude-code.ts"],"names":[],"mappings":"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"}
|
package/dist/github.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,iBAAiB,EAAE,cAW/B,CAAC"}
|
package/dist/github.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Octokit } from '@octokit/rest';
|
|
2
|
+
export const GitHubInitializer = {
|
|
3
|
+
async initialize(_module, config) {
|
|
4
|
+
const token = config.auth?.['token'];
|
|
5
|
+
// GitHub API can be used without token for public data, but usually we want a token
|
|
6
|
+
// We'll enforce token for now to match other integrations, or make it optional.
|
|
7
|
+
// Let's make it optional but recommended.
|
|
8
|
+
return new Octokit({
|
|
9
|
+
auth: token
|
|
10
|
+
});
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=github.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,MAAkB;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAW,CAAC;QAC/C,oFAAoF;QACpF,gFAAgF;QAChF,0CAA0C;QAE1C,OAAO,IAAI,OAAO,CAAC;YACjB,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { SDKRegistry } from '@marktoflow/core';
|
|
2
|
+
export declare function registerIntegrations(registry: SDKRegistry): void;
|
|
3
|
+
export * from './services/slack.js';
|
|
4
|
+
export * from './services/github.js';
|
|
5
|
+
export * from './services/jira.js';
|
|
6
|
+
export { GmailActions, GmailInitializer, GmailEmail, type GetEmailsOptions as GmailGetEmailsOptions, type GetEmailsResult as GmailGetEmailsResult, type SendEmailOptions as GmailSendEmailOptions, type CreateDraftOptions as GmailCreateDraftOptions, } from './services/gmail.js';
|
|
7
|
+
export { GmailTrigger, type GmailTriggerConfig, type GmailTriggerPayload, type GmailPubSubMessage, createGmailWebhookHandler, } from './services/gmail-trigger.js';
|
|
8
|
+
export { OutlookActions, OutlookInitializer, OutlookEmail, CalendarEvent, type GetEmailsOptions as OutlookGetEmailsOptions, type GetEmailsResult as OutlookGetEmailsResult, type SendEmailOptions as OutlookSendEmailOptions, type CreateDraftOptions as OutlookCreateDraftOptions, } from './services/outlook.js';
|
|
9
|
+
export { OutlookTrigger, type OutlookTriggerConfig, type OutlookTriggerPayload, type GraphSubscription, type GraphNotification, createOutlookWebhookHandler, } from './services/outlook-trigger.js';
|
|
10
|
+
export * from './services/linear.js';
|
|
11
|
+
export { NotionClient, NotionInitializer, NotionPage, NotionDatabase, NotionBlock, type CreatePageOptions as NotionCreatePageOptions, type QueryDatabaseOptions, type SearchOptions as NotionSearchOptions, } from './services/notion.js';
|
|
12
|
+
export * from './services/discord.js';
|
|
13
|
+
export * from './services/airtable.js';
|
|
14
|
+
export * from './services/confluence.js';
|
|
15
|
+
export * from './services/http.js';
|
|
16
|
+
export { SlackSocketTrigger } from './services/slack-socket.js';
|
|
17
|
+
export * from './adapters/ollama.js';
|
|
18
|
+
export * from './adapters/claude-code.js';
|
|
19
|
+
export * from './adapters/opencode.js';
|
|
20
|
+
export * from './tools/script.js';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAuB/C,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,WAAW,QAiCzD;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;AAGvC,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// Services
|
|
2
|
+
import { SlackInitializer } from './services/slack.js';
|
|
3
|
+
import { GitHubInitializer } from './services/github.js';
|
|
4
|
+
import { JiraInitializer } from './services/jira.js';
|
|
5
|
+
import { GmailInitializer } from './services/gmail.js';
|
|
6
|
+
import { OutlookInitializer } from './services/outlook.js';
|
|
7
|
+
import { LinearInitializer } from './services/linear.js';
|
|
8
|
+
import { NotionInitializer } from './services/notion.js';
|
|
9
|
+
import { DiscordInitializer } from './services/discord.js';
|
|
10
|
+
import { AirtableInitializer } from './services/airtable.js';
|
|
11
|
+
import { ConfluenceInitializer } from './services/confluence.js';
|
|
12
|
+
import { HttpInitializer } from './services/http.js';
|
|
13
|
+
// AI Adapters
|
|
14
|
+
import { OllamaInitializer } from './adapters/ollama.js';
|
|
15
|
+
import { ClaudeCodeInitializer } from './adapters/claude-code.js';
|
|
16
|
+
import { OpenCodeInitializer } from './adapters/opencode.js';
|
|
17
|
+
// Tools
|
|
18
|
+
import { ScriptInitializer } from './tools/script.js';
|
|
19
|
+
export function registerIntegrations(registry) {
|
|
20
|
+
// Communication & Collaboration
|
|
21
|
+
registry.registerInitializer('@slack/web-api', SlackInitializer);
|
|
22
|
+
registry.registerInitializer('discord', DiscordInitializer);
|
|
23
|
+
// Email
|
|
24
|
+
registry.registerInitializer('googleapis', GmailInitializer);
|
|
25
|
+
registry.registerInitializer('@microsoft/microsoft-graph-client', OutlookInitializer);
|
|
26
|
+
// Project Management & Issue Tracking
|
|
27
|
+
registry.registerInitializer('jira.js', JiraInitializer);
|
|
28
|
+
registry.registerInitializer('linear', LinearInitializer);
|
|
29
|
+
// Documentation & Knowledge
|
|
30
|
+
registry.registerInitializer('notion', NotionInitializer);
|
|
31
|
+
registry.registerInitializer('confluence', ConfluenceInitializer);
|
|
32
|
+
// Developer Tools
|
|
33
|
+
registry.registerInitializer('@octokit/rest', GitHubInitializer);
|
|
34
|
+
// Data & Databases
|
|
35
|
+
registry.registerInitializer('airtable', AirtableInitializer);
|
|
36
|
+
// Generic HTTP
|
|
37
|
+
registry.registerInitializer('http', HttpInitializer);
|
|
38
|
+
// AI Adapters
|
|
39
|
+
registry.registerInitializer('ollama', OllamaInitializer);
|
|
40
|
+
registry.registerInitializer('claude-code', ClaudeCodeInitializer);
|
|
41
|
+
registry.registerInitializer('opencode', OpenCodeInitializer);
|
|
42
|
+
// Tools
|
|
43
|
+
registry.registerInitializer('script', ScriptInitializer);
|
|
44
|
+
}
|
|
45
|
+
// Export all services
|
|
46
|
+
export * from './services/slack.js';
|
|
47
|
+
export * from './services/github.js';
|
|
48
|
+
export * from './services/jira.js';
|
|
49
|
+
export { GmailActions, GmailInitializer, } from './services/gmail.js';
|
|
50
|
+
export { GmailTrigger, createGmailWebhookHandler, } from './services/gmail-trigger.js';
|
|
51
|
+
export { OutlookActions, OutlookInitializer, } from './services/outlook.js';
|
|
52
|
+
export { OutlookTrigger, createOutlookWebhookHandler, } from './services/outlook-trigger.js';
|
|
53
|
+
export * from './services/linear.js';
|
|
54
|
+
export { NotionClient, NotionInitializer, } from './services/notion.js';
|
|
55
|
+
export * from './services/discord.js';
|
|
56
|
+
export * from './services/airtable.js';
|
|
57
|
+
export * from './services/confluence.js';
|
|
58
|
+
export * from './services/http.js';
|
|
59
|
+
// Export triggers
|
|
60
|
+
export { SlackSocketTrigger } from './services/slack-socket.js';
|
|
61
|
+
// Export AI adapters
|
|
62
|
+
export * from './adapters/ollama.js';
|
|
63
|
+
export * from './adapters/claude-code.js';
|
|
64
|
+
export * from './adapters/opencode.js';
|
|
65
|
+
// Export tools
|
|
66
|
+
export * from './tools/script.js';
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/jira.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jira.d.ts","sourceRoot":"","sources":["../src/jira.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,eAAe,EAAE,cAoB7B,CAAC"}
|
package/dist/jira.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Version3Client } from 'jira.js';
|
|
2
|
+
export const JiraInitializer = {
|
|
3
|
+
async initialize(_module, config) {
|
|
4
|
+
const host = config.auth?.['host'];
|
|
5
|
+
const email = config.auth?.['email'];
|
|
6
|
+
const apiToken = config.auth?.['api_token'];
|
|
7
|
+
if (!host || !email || !apiToken) {
|
|
8
|
+
throw new Error('Jira SDK requires auth.host, auth.email, and auth.api_token');
|
|
9
|
+
}
|
|
10
|
+
return new Version3Client({
|
|
11
|
+
host,
|
|
12
|
+
authentication: {
|
|
13
|
+
basic: {
|
|
14
|
+
email,
|
|
15
|
+
apiToken,
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=jira.js.map
|
package/dist/jira.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jira.js","sourceRoot":"","sources":["../src/jira.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGzC,MAAM,CAAC,MAAM,eAAe,GAAmB;IAC7C,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,MAAkB;QACnD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAW,CAAC;QAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,OAAO,CAAW,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAW,CAAC;QAEtD,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,IAAI,cAAc,CAAC;YACxB,IAAI;YACJ,cAAc,EAAE;gBACd,KAAK,EAAE;oBACL,KAAK;oBACL,QAAQ;iBACT;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
package/dist/ollama.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.d.ts","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE9D,eAAO,MAAM,iBAAiB,EAAE,cAO/B,CAAC"}
|
package/dist/ollama.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Ollama } from 'ollama';
|
|
2
|
+
export const OllamaInitializer = {
|
|
3
|
+
async initialize(_module, config) {
|
|
4
|
+
const host = config.options?.['host'] || config.auth?.['host'] || 'http://127.0.0.1:11434';
|
|
5
|
+
// The ollama package constructor takes an object with host
|
|
6
|
+
return new Ollama({ host });
|
|
7
|
+
},
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=ollama.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollama.js","sourceRoot":"","sources":["../src/ollama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,MAAM,CAAC,MAAM,iBAAiB,GAAmB;IAC/C,KAAK,CAAC,UAAU,CAAC,OAAgB,EAAE,MAAkB;QACnD,MAAM,IAAI,GAAI,MAAM,CAAC,OAAO,EAAE,CAAC,MAAM,CAAY,IAAK,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,CAAY,IAAI,wBAAwB,CAAC;QAEnH,2DAA2D;QAC3D,OAAO,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SDKInitializer } from '@marktoflow/core';
|
|
2
|
+
export declare class OpenCodeClient {
|
|
3
|
+
private mode;
|
|
4
|
+
private serverUrl;
|
|
5
|
+
private cliPath;
|
|
6
|
+
private sdkClient;
|
|
7
|
+
constructor(options?: {
|
|
8
|
+
mode?: 'cli' | 'server' | 'auto';
|
|
9
|
+
serverUrl?: string;
|
|
10
|
+
cliPath?: string;
|
|
11
|
+
});
|
|
12
|
+
generate(inputs: {
|
|
13
|
+
prompt: string;
|
|
14
|
+
} | string): Promise<string>;
|
|
15
|
+
private generateViaServer;
|
|
16
|
+
private generateViaCli;
|
|
17
|
+
}
|
|
18
|
+
export declare const OpenCodeInitializer: SDKInitializer;
|
|
19
|
+
//# sourceMappingURL=opencode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../src/opencode.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAG9D,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAA+B;gBAEpC,OAAO,GAAE;QACnB,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KACb;IAYA,QAAQ,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAiBtD,iBAAiB;YAuCjB,cAAc;CA2B7B;AAED,eAAO,MAAM,mBAAmB,EAAE,cASjC,CAAC"}
|