@devflow-tools/adapters 0.12.6 → 0.13.1
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/claude.d.ts +3 -0
- package/dist/claude.d.ts.map +1 -0
- package/dist/claude.js +33 -0
- package/dist/claude.js.map +1 -0
- package/dist/cline.d.ts +3 -0
- package/dist/cline.d.ts.map +1 -0
- package/dist/cline.js +38 -0
- package/dist/cline.js.map +1 -0
- package/dist/codex.d.ts +3 -0
- package/dist/codex.d.ts.map +1 -0
- package/dist/codex.js +48 -0
- package/dist/codex.js.map +1 -0
- package/dist/cursor.d.ts +3 -0
- package/dist/cursor.d.ts.map +1 -0
- package/dist/cursor.js +36 -0
- package/dist/cursor.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -0
- package/dist/roocode.d.ts +3 -0
- package/dist/roocode.d.ts.map +1 -0
- package/dist/roocode.js +36 -0
- package/dist/roocode.js.map +1 -0
- package/dist/types.d.ts +22 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +3 -3
package/dist/claude.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAyC,MAAM,YAAY,CAAC;AAKtF,eAAO,MAAM,aAAa,EAAE,YA8B3B,CAAC"}
|
package/dist/claude.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { homedir } from "os";
|
|
2
|
+
import { join } from "path";
|
|
3
|
+
import { existsSync } from "fs";
|
|
4
|
+
export const claudeAdapter = {
|
|
5
|
+
name: "claude",
|
|
6
|
+
async detect() {
|
|
7
|
+
return (existsSync(join(homedir(), ".claude.json")) ||
|
|
8
|
+
existsSync(join(homedir(), ".claude", "settings.json")));
|
|
9
|
+
},
|
|
10
|
+
configPath() {
|
|
11
|
+
return join(process.cwd(), ".mcp.json");
|
|
12
|
+
},
|
|
13
|
+
generateConfig(config) {
|
|
14
|
+
const mcpConfig = config;
|
|
15
|
+
const mcpJson = {
|
|
16
|
+
mcpServers: {
|
|
17
|
+
devflow: {
|
|
18
|
+
command: mcpConfig.command,
|
|
19
|
+
args: mcpConfig.args,
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
if (mcpConfig.env) {
|
|
24
|
+
mcpJson.mcpServers.devflow = {
|
|
25
|
+
command: mcpConfig.command,
|
|
26
|
+
args: mcpConfig.args,
|
|
27
|
+
env: mcpConfig.env,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return JSON.stringify(mcpJson, null, 2);
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=claude.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../src/claude.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,QAAQ;IACd,KAAK,CAAC,MAAM;QACV,OAAO,CACL,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;YAC3C,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CACxD,CAAC;IACJ,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC;IAC1C,CAAC;IACD,cAAc,CAAC,MAAwB;QACrC,MAAM,SAAS,GAAG,MAA6B,CAAC;QAChD,MAAM,OAAO,GAA4B;YACvC,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;iBACrB;aACF;SACF,CAAC;QACF,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,UAAsC,CAAC,OAAO,GAAG;gBACxD,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,GAAG,EAAE,SAAS,CAAC,GAAG;aACnB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC"}
|
package/dist/cline.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline.d.ts","sourceRoot":"","sources":["../src/cline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAyC,MAAM,YAAY,CAAC;AAKtF,eAAO,MAAM,YAAY,EAAE,YAkC1B,CAAC"}
|
package/dist/cline.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { join } from "path";
|
|
2
|
+
import { homedir } from "os";
|
|
3
|
+
import { existsSync } from "fs";
|
|
4
|
+
export const clineAdapter = {
|
|
5
|
+
name: "cline",
|
|
6
|
+
async detect() {
|
|
7
|
+
try {
|
|
8
|
+
return (existsSync(join(homedir(), ".vscode", "extensions")) ||
|
|
9
|
+
existsSync(join(homedir(), ".cursor", "extensions")));
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
configPath() {
|
|
16
|
+
return join(process.cwd(), ".cline", "mcp.json");
|
|
17
|
+
},
|
|
18
|
+
generateConfig(config) {
|
|
19
|
+
const mcpConfig = config;
|
|
20
|
+
const mcpJson = {
|
|
21
|
+
mcpServers: {
|
|
22
|
+
devflow: {
|
|
23
|
+
command: mcpConfig.command,
|
|
24
|
+
args: mcpConfig.args,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
if (mcpConfig.env) {
|
|
29
|
+
mcpJson.mcpServers.devflow = {
|
|
30
|
+
command: mcpConfig.command,
|
|
31
|
+
args: mcpConfig.args,
|
|
32
|
+
env: mcpConfig.env,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return JSON.stringify(mcpJson, null, 2);
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=cline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cline.js","sourceRoot":"","sources":["../src/cline.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,OAAO,CACL,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;gBACpD,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CACrD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IACD,cAAc,CAAC,MAAwB;QACrC,MAAM,SAAS,GAAG,MAA6B,CAAC;QAChD,MAAM,OAAO,GAA4B;YACvC,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;iBACrB;aACF;SACF,CAAC;QACF,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,UAAsC,CAAC,OAAO,GAAG;gBACxD,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,GAAG,EAAE,SAAS,CAAC,GAAG;aACnB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC"}
|
package/dist/codex.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAA8D,MAAM,YAAY,CAAC;AAI3G,eAAO,MAAM,YAAY,EAAE,YA2C1B,CAAC"}
|
package/dist/codex.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { join } from "path";
|
|
2
|
+
import { existsSync } from "fs";
|
|
3
|
+
export const codexAdapter = {
|
|
4
|
+
name: "codex",
|
|
5
|
+
async detect() {
|
|
6
|
+
try {
|
|
7
|
+
return existsSync(join(process.cwd(), ".codex"));
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
configPath() {
|
|
14
|
+
return join(process.cwd(), ".codex", "mcp.json");
|
|
15
|
+
},
|
|
16
|
+
generateConfig(config) {
|
|
17
|
+
if ("url" in config) {
|
|
18
|
+
const sseConfig = config;
|
|
19
|
+
const mcpJson = {
|
|
20
|
+
mcpServers: {
|
|
21
|
+
devflow: {
|
|
22
|
+
type: "sse",
|
|
23
|
+
url: sseConfig.url,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
if (sseConfig.headers) {
|
|
28
|
+
mcpJson.mcpServers.devflow = {
|
|
29
|
+
type: "sse",
|
|
30
|
+
url: sseConfig.url,
|
|
31
|
+
headers: sseConfig.headers,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
return JSON.stringify(mcpJson, null, 2);
|
|
35
|
+
}
|
|
36
|
+
const mcpConfig = config;
|
|
37
|
+
const mcpJson = {
|
|
38
|
+
mcpServers: {
|
|
39
|
+
devflow: {
|
|
40
|
+
command: mcpConfig.command,
|
|
41
|
+
args: mcpConfig.args,
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
return JSON.stringify(mcpJson, null, 2);
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=codex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../src/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACnD,CAAC;IACD,cAAc,CAAC,MAAwB;QACrC,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,MAA6B,CAAC;YAChD,MAAM,OAAO,GAA4B;gBACvC,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,IAAI,EAAE,KAAK;wBACX,GAAG,EAAE,SAAS,CAAC,GAAG;qBACnB;iBACF;aACF,CAAC;YACF,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACrB,OAAO,CAAC,UAAsC,CAAC,OAAO,GAAG;oBACxD,IAAI,EAAE,KAAK;oBACX,GAAG,EAAE,SAAS,CAAC,GAAG;oBAClB,OAAO,EAAE,SAAS,CAAC,OAAO;iBAC3B,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,SAAS,GAAG,MAA6B,CAAC;QAChD,MAAM,OAAO,GAA4B;YACvC,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;iBACrB;aACF;SACF,CAAC;QACF,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC"}
|
package/dist/cursor.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../src/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAyC,MAAM,YAAY,CAAC;AAItF,eAAO,MAAM,aAAa,EAAE,YA+B3B,CAAC"}
|
package/dist/cursor.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { join } from "path";
|
|
2
|
+
import { existsSync } from "fs";
|
|
3
|
+
export const cursorAdapter = {
|
|
4
|
+
name: "cursor",
|
|
5
|
+
async detect() {
|
|
6
|
+
try {
|
|
7
|
+
return existsSync(join(process.cwd(), ".cursor"));
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
configPath() {
|
|
14
|
+
return join(process.cwd(), ".cursor", "mcp.json");
|
|
15
|
+
},
|
|
16
|
+
generateConfig(config) {
|
|
17
|
+
const mcpConfig = config;
|
|
18
|
+
const mcpJson = {
|
|
19
|
+
mcpServers: {
|
|
20
|
+
devflow: {
|
|
21
|
+
command: mcpConfig.command,
|
|
22
|
+
args: mcpConfig.args,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
if (mcpConfig.env) {
|
|
27
|
+
mcpJson.mcpServers.devflow = {
|
|
28
|
+
command: mcpConfig.command,
|
|
29
|
+
args: mcpConfig.args,
|
|
30
|
+
env: mcpConfig.env,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return JSON.stringify(mcpJson, null, 2);
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=cursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../src/cursor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,QAAQ;IACd,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IACD,cAAc,CAAC,MAAwB;QACrC,MAAM,SAAS,GAAG,MAA6B,CAAC;QAChD,MAAM,OAAO,GAA4B;YACvC,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;iBACrB;aACF;SACF,CAAC;QACF,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,UAAsC,CAAC,OAAO,GAAG;gBACxD,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,GAAG,EAAE,SAAS,CAAC,GAAG;aACnB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type { AgentAdapter, ConnectionConfig, MCPConnectionConfig, SSEConnectionConfig, ConnectResult, } from "./types.js";
|
|
2
|
+
export { claudeAdapter } from "./claude.js";
|
|
3
|
+
export { cursorAdapter } from "./cursor.js";
|
|
4
|
+
export { codexAdapter } from "./codex.js";
|
|
5
|
+
export { clineAdapter } from "./cline.js";
|
|
6
|
+
export { rooCodeAdapter } from "./roocode.js";
|
|
7
|
+
import type { AgentAdapter, ConnectResult, ConnectionConfig } from "./types.js";
|
|
8
|
+
export declare function getAdapter(name: string): AgentAdapter | undefined;
|
|
9
|
+
export declare function detectAll(): Promise<string[]>;
|
|
10
|
+
export declare function connect(agent: string, config: ConnectionConfig): Promise<ConnectResult>;
|
|
11
|
+
export declare function connectAll(config: ConnectionConfig): Promise<ConnectResult[]>;
|
|
12
|
+
export declare function listAdapters(): string[];
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAO9C,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAYhF,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEjE;AAED,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnD;AAED,wBAAsB,OAAO,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,aAAa,CAAC,CAWxB;AAED,wBAAsB,UAAU,CAC9B,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,aAAa,EAAE,CAAC,CAO1B;AAED,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAEvC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
export { claudeAdapter } from "./claude.js";
|
|
2
|
+
export { cursorAdapter } from "./cursor.js";
|
|
3
|
+
export { codexAdapter } from "./codex.js";
|
|
4
|
+
export { clineAdapter } from "./cline.js";
|
|
5
|
+
export { rooCodeAdapter } from "./roocode.js";
|
|
6
|
+
import { claudeAdapter } from "./claude.js";
|
|
7
|
+
import { cursorAdapter } from "./cursor.js";
|
|
8
|
+
import { codexAdapter } from "./codex.js";
|
|
9
|
+
import { clineAdapter } from "./cline.js";
|
|
10
|
+
import { rooCodeAdapter } from "./roocode.js";
|
|
11
|
+
import { writeFileSync, mkdirSync, existsSync } from "fs";
|
|
12
|
+
import { dirname } from "path";
|
|
13
|
+
const ALL_ADAPTERS = [
|
|
14
|
+
claudeAdapter,
|
|
15
|
+
cursorAdapter,
|
|
16
|
+
codexAdapter,
|
|
17
|
+
clineAdapter,
|
|
18
|
+
rooCodeAdapter,
|
|
19
|
+
];
|
|
20
|
+
export function getAdapter(name) {
|
|
21
|
+
return ALL_ADAPTERS.find((a) => a.name === name);
|
|
22
|
+
}
|
|
23
|
+
export async function detectAll() {
|
|
24
|
+
const results = [];
|
|
25
|
+
for (const adapter of ALL_ADAPTERS) {
|
|
26
|
+
if (await adapter.detect()) {
|
|
27
|
+
results.push(adapter.name);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return results;
|
|
31
|
+
}
|
|
32
|
+
export async function connect(agent, config) {
|
|
33
|
+
const adapter = getAdapter(agent);
|
|
34
|
+
if (!adapter)
|
|
35
|
+
throw new Error(`Unknown agent: ${agent}`);
|
|
36
|
+
const path = adapter.configPath();
|
|
37
|
+
const content = adapter.generateConfig(config);
|
|
38
|
+
const dir = dirname(path);
|
|
39
|
+
if (!existsSync(dir))
|
|
40
|
+
mkdirSync(dir, { recursive: true });
|
|
41
|
+
writeFileSync(path, content, "utf-8");
|
|
42
|
+
return { agent, configPath: path, written: true };
|
|
43
|
+
}
|
|
44
|
+
export async function connectAll(config) {
|
|
45
|
+
const detected = await detectAll();
|
|
46
|
+
const results = [];
|
|
47
|
+
for (const agent of detected) {
|
|
48
|
+
results.push(await connect(agent, config));
|
|
49
|
+
}
|
|
50
|
+
return results;
|
|
51
|
+
}
|
|
52
|
+
export function listAdapters() {
|
|
53
|
+
return ALL_ADAPTERS.map((a) => a.name);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,YAAY,GAAmB;IACnC,aAAa;IACb,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,cAAc;CACf,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,MAAM,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,KAAa,EACb,MAAwB;IAExB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAEzD,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAEtC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAwB;IAExB,MAAM,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAC;IACnC,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roocode.d.ts","sourceRoot":"","sources":["../src/roocode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAyC,MAAM,YAAY,CAAC;AAItF,eAAO,MAAM,cAAc,EAAE,YA+B5B,CAAC"}
|
package/dist/roocode.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { join } from "path";
|
|
2
|
+
import { existsSync } from "fs";
|
|
3
|
+
export const rooCodeAdapter = {
|
|
4
|
+
name: "roocode",
|
|
5
|
+
async detect() {
|
|
6
|
+
try {
|
|
7
|
+
return existsSync(join(process.cwd(), ".roo"));
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
configPath() {
|
|
14
|
+
return join(process.cwd(), ".roo", "mcp.json");
|
|
15
|
+
},
|
|
16
|
+
generateConfig(config) {
|
|
17
|
+
const mcpConfig = config;
|
|
18
|
+
const mcpJson = {
|
|
19
|
+
mcpServers: {
|
|
20
|
+
devflow: {
|
|
21
|
+
command: mcpConfig.command,
|
|
22
|
+
args: mcpConfig.args,
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
if (mcpConfig.env) {
|
|
27
|
+
mcpJson.mcpServers.devflow = {
|
|
28
|
+
command: mcpConfig.command,
|
|
29
|
+
args: mcpConfig.args,
|
|
30
|
+
env: mcpConfig.env,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return JSON.stringify(mcpJson, null, 2);
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=roocode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roocode.js","sourceRoot":"","sources":["../src/roocode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,MAAM,CAAC,MAAM,cAAc,GAAiB;IAC1C,IAAI,EAAE,SAAS;IACf,KAAK,CAAC,MAAM;QACV,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IACD,cAAc,CAAC,MAAwB;QACrC,MAAM,SAAS,GAAG,MAA6B,CAAC;QAChD,MAAM,OAAO,GAA4B;YACvC,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;iBACrB;aACF;SACF,CAAC;QACF,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;YACjB,OAAO,CAAC,UAAsC,CAAC,OAAO,GAAG;gBACxD,OAAO,EAAE,SAAS,CAAC,OAAO;gBAC1B,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,GAAG,EAAE,SAAS,CAAC,GAAG;aACnB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,CAAC;CACF,CAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface MCPConnectionConfig {
|
|
2
|
+
command: string;
|
|
3
|
+
args: string[];
|
|
4
|
+
env?: Record<string, string>;
|
|
5
|
+
}
|
|
6
|
+
export interface SSEConnectionConfig {
|
|
7
|
+
url: string;
|
|
8
|
+
headers?: Record<string, string>;
|
|
9
|
+
}
|
|
10
|
+
export type ConnectionConfig = MCPConnectionConfig | SSEConnectionConfig;
|
|
11
|
+
export interface ConnectResult {
|
|
12
|
+
agent: string;
|
|
13
|
+
configPath: string;
|
|
14
|
+
written: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface AgentAdapter {
|
|
17
|
+
name: string;
|
|
18
|
+
detect(): Promise<boolean>;
|
|
19
|
+
generateConfig(config: ConnectionConfig): string;
|
|
20
|
+
configPath(): string;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAEzE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAAC;IACjD,UAAU,IAAI,MAAM,CAAC;CACtB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@devflow-tools/adapters",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"clean": "rm -rf dist"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@devflow-tools/sdk": "^0.
|
|
20
|
+
"@devflow-tools/sdk": "^0.13.1"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
23
|
"typescript": "^5.5.0",
|
|
@@ -26,5 +26,5 @@
|
|
|
26
26
|
"files": [
|
|
27
27
|
"dist"
|
|
28
28
|
],
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "28618c4d84bea33bdd4f433bfc740c1ce2591d51"
|
|
30
30
|
}
|