@anastops/adapters 1.1.0 → 1.1.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/base/base-adapter.d.ts.map +1 -1
- package/dist/base/base-adapter.js +5 -0
- package/dist/base/base-adapter.js.map +1 -1
- package/dist/codex/codex-adapter.d.ts +4 -6
- package/dist/codex/codex-adapter.d.ts.map +1 -1
- package/dist/codex/codex-adapter.js +109 -6
- package/dist/codex/codex-adapter.js.map +1 -1
- package/dist/copilot/copilot-adapter.d.ts +10 -3
- package/dist/copilot/copilot-adapter.d.ts.map +1 -1
- package/dist/copilot/copilot-adapter.js +70 -2
- package/dist/copilot/copilot-adapter.js.map +1 -1
- package/dist/cursor/cursor-adapter.d.ts +2 -6
- package/dist/cursor/cursor-adapter.d.ts.map +1 -1
- package/dist/cursor/cursor-adapter.js +17 -3
- package/dist/cursor/cursor-adapter.js.map +1 -1
- package/dist/gemini/gemini-adapter.d.ts.map +1 -1
- package/dist/gemini/gemini-adapter.js +19 -7
- package/dist/gemini/gemini-adapter.js.map +1 -1
- package/dist/grok/grok-adapter.d.ts +2 -6
- package/dist/grok/grok-adapter.d.ts.map +1 -1
- package/dist/grok/grok-adapter.js +17 -3
- package/dist/grok/grok-adapter.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../src/base/base-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,OAAO,EACP,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACb,MAAM,gBAAgB,CAAC;AAKxB,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAEhB,wBAAwB;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB,4BAA4B;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,uBAAuB;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,mEAAmE;IACnE,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAE5B,4BAA4B;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,wBAAwB;IACxB,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE3E,uBAAuB;IACvB,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAE7E,4BAA4B;IAC5B,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAErC,gCAAgC;IAChC,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEjD,gCAAgC;IAChC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC,6BAA6B;IAC7B,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpC,sBAAsB;IACtB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACtC;AAED,8BAAsB,WAAY,YAAW,iBAAiB;IAC5D,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAE/B,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC;IAChC,SAAS,CAAC,kBAAkB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IACjE,SAAS,CAAC,eAAe,EAAE,YAAY,GAAG,IAAI,CAAQ;gBAE1C,MAAM,EAAE,aAAa;IASjC;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAsEhF;;OAEG;IACI,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC,OAAO,CAAC;IAUnF;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAyC1C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC;IA4BtD;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../src/base/base-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,10 +166,15 @@ export class BaseAdapter {
|
|
|
166
166
|
*/
|
|
167
167
|
async isInstalled() {
|
|
168
168
|
try {
|
|
169
|
+
const { appendFileSync } = await import('fs');
|
|
170
|
+
appendFileSync('/tmp/install-check-debug.log', `[${this.type}] Checking isInstalled for: ${this.config.command}\n`);
|
|
169
171
|
const result = await execa('which', [this.config.command], { reject: false });
|
|
172
|
+
appendFileSync('/tmp/install-check-debug.log', `[${this.type}] which exitCode: ${result.exitCode}\n`);
|
|
170
173
|
return result.exitCode === 0;
|
|
171
174
|
}
|
|
172
175
|
catch (error) {
|
|
176
|
+
const { appendFileSync } = await import('fs');
|
|
177
|
+
appendFileSync('/tmp/install-check-debug.log', `[${this.type}] isInstalled error: ${String(error)}\n`);
|
|
173
178
|
console.error(`Failed to check if ${this.config.command} is installed:`, error);
|
|
174
179
|
return false;
|
|
175
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-adapter.js","sourceRoot":"","sources":["../../src/base/base-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"base-adapter.js","sourceRoot":"","sources":["../../src/base/base-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Integrates with OpenAI's Codex CLI for code generation.
|
|
5
5
|
* Uses `codex exec` for non-interactive execution.
|
|
6
|
+
*
|
|
7
|
+
* STREAMING: Uses detached execution with progress callbacks for real-time output.
|
|
6
8
|
*/
|
|
7
9
|
import type { AIRequest, AIResponse, ProviderType } from '@anastops/core';
|
|
8
|
-
import { BaseAdapter, type AdapterConfig } from '../base/base-adapter.js';
|
|
10
|
+
import { BaseAdapter, type AdapterConfig, type ExecuteOptions } from '../base/base-adapter.js';
|
|
9
11
|
export declare class CodexAdapter extends BaseAdapter {
|
|
10
12
|
readonly type: ProviderType;
|
|
11
13
|
readonly name = "OpenAI Codex";
|
|
@@ -14,11 +16,7 @@ export declare class CodexAdapter extends BaseAdapter {
|
|
|
14
16
|
/**
|
|
15
17
|
* Execute using Codex CLI with `exec` subcommand for non-interactive operation
|
|
16
18
|
*/
|
|
17
|
-
execute(request: AIRequest, options?:
|
|
18
|
-
workingDir?: string;
|
|
19
|
-
timeout?: number;
|
|
20
|
-
signal?: AbortSignal;
|
|
21
|
-
}): Promise<AIResponse>;
|
|
19
|
+
execute(request: AIRequest, options?: ExecuteOptions): Promise<AIResponse>;
|
|
22
20
|
protected buildArgs(_request: AIRequest): string[];
|
|
23
21
|
protected parseOutput(output: string): string;
|
|
24
22
|
protected getDefaultModel(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-adapter.d.ts","sourceRoot":"","sources":["../../src/codex/codex-adapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"codex-adapter.d.ts","sourceRoot":"","sources":["../../src/codex/codex-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAmE/F,qBAAa,YAAa,SAAQ,WAAW;IAC3C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAW;IACtC,QAAQ,CAAC,IAAI,kBAAkB;gBAEnB,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAU3C,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAgCnC;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IA0EhF,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,EAAE;IAKlD,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI7C,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK9C,SAAS,CAAC,kBAAkB,IAAI,MAAM,EAAE;IAaxC,SAAS,CAAC,iBAAiB,IAAI,MAAM,EAAE;IAIvC,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAItC,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAIrC,SAAS,CAAC,kBAAkB,IAAI,MAAM;CAGvC"}
|
|
@@ -3,15 +3,80 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Integrates with OpenAI's Codex CLI for code generation.
|
|
5
5
|
* Uses `codex exec` for non-interactive execution.
|
|
6
|
+
*
|
|
7
|
+
* STREAMING: Uses detached execution with progress callbacks for real-time output.
|
|
6
8
|
*/
|
|
9
|
+
import { existsSync, readdirSync, constants, accessSync } from 'fs';
|
|
10
|
+
import { join } from 'path';
|
|
11
|
+
import { execaSync } from 'execa';
|
|
7
12
|
import { BaseAdapter } from '../base/base-adapter.js';
|
|
8
13
|
import { detachedExec } from '../base/detached-exec.js';
|
|
14
|
+
/**
|
|
15
|
+
* Discover the Codex CLI path dynamically
|
|
16
|
+
*/
|
|
17
|
+
function discoverCodexPath() {
|
|
18
|
+
const home = process.env['HOME'] ?? '';
|
|
19
|
+
// Check common paths first
|
|
20
|
+
const commonPaths = [
|
|
21
|
+
'/usr/local/bin/codex',
|
|
22
|
+
'/opt/homebrew/bin/codex',
|
|
23
|
+
`${home}/.local/bin/codex`,
|
|
24
|
+
];
|
|
25
|
+
for (const p of commonPaths) {
|
|
26
|
+
if (existsSync(p))
|
|
27
|
+
return p;
|
|
28
|
+
}
|
|
29
|
+
// Check nvm paths - prefer newest version (sort descending)
|
|
30
|
+
const nvmDir = `${home}/.nvm/versions/node`;
|
|
31
|
+
if (existsSync(nvmDir)) {
|
|
32
|
+
try {
|
|
33
|
+
const versions = readdirSync(nvmDir)
|
|
34
|
+
.filter((v) => v.startsWith('v'))
|
|
35
|
+
.sort((a, b) => {
|
|
36
|
+
// Parse version numbers for proper sorting (v20.19.4 > v18.17.0)
|
|
37
|
+
const parseVer = (v) => v
|
|
38
|
+
.replace('v', '')
|
|
39
|
+
.split('.')
|
|
40
|
+
.map((n) => parseInt(n, 10));
|
|
41
|
+
const av = parseVer(a);
|
|
42
|
+
const bv = parseVer(b);
|
|
43
|
+
for (let i = 0; i < 3; i++) {
|
|
44
|
+
const diff = (bv[i] ?? 0) - (av[i] ?? 0);
|
|
45
|
+
if (diff !== 0)
|
|
46
|
+
return diff;
|
|
47
|
+
}
|
|
48
|
+
return 0;
|
|
49
|
+
});
|
|
50
|
+
for (const v of versions) {
|
|
51
|
+
const codexPath = `${nvmDir}/${v}/bin/codex`;
|
|
52
|
+
if (existsSync(codexPath)) {
|
|
53
|
+
return codexPath;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
// Ignore errors reading nvm directory
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Try `which codex` to find it in PATH
|
|
62
|
+
try {
|
|
63
|
+
const result = execaSync('which', ['codex'], { reject: false });
|
|
64
|
+
if (result.exitCode === 0 && result.stdout.trim()) {
|
|
65
|
+
return result.stdout.trim();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
// Ignore errors
|
|
70
|
+
}
|
|
71
|
+
// Fallback to just 'codex' and hope it's in PATH
|
|
72
|
+
return 'codex';
|
|
73
|
+
}
|
|
9
74
|
export class CodexAdapter extends BaseAdapter {
|
|
10
75
|
type = 'codex';
|
|
11
76
|
name = 'OpenAI Codex';
|
|
12
77
|
constructor(config) {
|
|
13
78
|
super({
|
|
14
|
-
command:
|
|
79
|
+
command: config?.command ?? discoverCodexPath(),
|
|
15
80
|
defaultArgs: [],
|
|
16
81
|
defaultTimeout: 600000, // 10 minutes
|
|
17
82
|
useDetachedExec: true,
|
|
@@ -19,8 +84,32 @@ export class CodexAdapter extends BaseAdapter {
|
|
|
19
84
|
});
|
|
20
85
|
}
|
|
21
86
|
isAuthenticated() {
|
|
22
|
-
// Check for OPENAI_API_KEY
|
|
23
|
-
|
|
87
|
+
// 1. Check for OPENAI_API_KEY environment variable
|
|
88
|
+
if (process.env['OPENAI_API_KEY'] !== undefined) {
|
|
89
|
+
return Promise.resolve(true);
|
|
90
|
+
}
|
|
91
|
+
// 2. Check for OpenAI config file (~/.openai/auth.json or ~/.config/openai/auth.json)
|
|
92
|
+
const home = process.env['HOME'] ?? '';
|
|
93
|
+
const configPaths = [
|
|
94
|
+
join(home, '.openai', 'auth.json'),
|
|
95
|
+
join(home, '.config', 'openai', 'auth.json'),
|
|
96
|
+
];
|
|
97
|
+
for (const configPath of configPaths) {
|
|
98
|
+
if (existsSync(configPath)) {
|
|
99
|
+
return Promise.resolve(true);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// 3. Fallback: Check if CLI is installed and executable
|
|
103
|
+
// If the CLI exists, assume it may have browser-based or other auth
|
|
104
|
+
try {
|
|
105
|
+
accessSync(this.config.command, constants.X_OK);
|
|
106
|
+
return Promise.resolve(true);
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
// CLI not found or not executable
|
|
110
|
+
}
|
|
111
|
+
// No explicit authentication found
|
|
112
|
+
return Promise.resolve(false);
|
|
24
113
|
}
|
|
25
114
|
/**
|
|
26
115
|
* Execute using Codex CLI with `exec` subcommand for non-interactive operation
|
|
@@ -42,13 +131,27 @@ export class CodexAdapter extends BaseAdapter {
|
|
|
42
131
|
args.push('--model', model);
|
|
43
132
|
// Add the prompt
|
|
44
133
|
args.push(request.prompt);
|
|
45
|
-
//
|
|
46
|
-
|
|
134
|
+
// Track last content for progress
|
|
135
|
+
let lastContent = '';
|
|
136
|
+
// Build detached exec options
|
|
137
|
+
const execOptions = {
|
|
47
138
|
cwd,
|
|
48
139
|
timeout,
|
|
49
140
|
env: process.env,
|
|
50
141
|
signal: options?.signal,
|
|
51
|
-
}
|
|
142
|
+
};
|
|
143
|
+
// Add progress callback if provided
|
|
144
|
+
if (options?.onProgress) {
|
|
145
|
+
execOptions.onProgress = (rawOutput) => {
|
|
146
|
+
if (rawOutput.length > 0 && rawOutput !== lastContent) {
|
|
147
|
+
lastContent = rawOutput;
|
|
148
|
+
options.onProgress?.(rawOutput);
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
execOptions.progressInterval = options.progressInterval ?? 1000;
|
|
152
|
+
}
|
|
153
|
+
// Execute with detached process
|
|
154
|
+
const result = await detachedExec(this.config.command, args, execOptions);
|
|
52
155
|
if (result.failed) {
|
|
53
156
|
const errorDetails = [
|
|
54
157
|
`Exit code: ${result.exitCode}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../src/codex/codex-adapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"codex-adapter.js","sourceRoot":"","sources":["../../src/codex/codex-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CopilotAdapter - GitHub Copilot CLI adapter
|
|
3
3
|
*
|
|
4
|
-
* Integrates with GitHub Copilot CLI.
|
|
4
|
+
* Integrates with GitHub Copilot CLI for command suggestions.
|
|
5
|
+
* Uses `gh copilot suggest` for suggestions and `gh copilot explain` for explanations.
|
|
6
|
+
*
|
|
7
|
+
* STREAMING: Uses detached execution with progress callbacks for real-time output.
|
|
5
8
|
*/
|
|
6
|
-
import type { AIRequest, ProviderType } from '@anastops/core';
|
|
7
|
-
import { BaseAdapter, type AdapterConfig } from '../base/base-adapter.js';
|
|
9
|
+
import type { AIRequest, AIResponse, ProviderType } from '@anastops/core';
|
|
10
|
+
import { BaseAdapter, type AdapterConfig, type ExecuteOptions } from '../base/base-adapter.js';
|
|
8
11
|
export declare class CopilotAdapter extends BaseAdapter {
|
|
9
12
|
readonly type: ProviderType;
|
|
10
13
|
readonly name = "GitHub Copilot";
|
|
11
14
|
constructor(config?: Partial<AdapterConfig>);
|
|
12
15
|
isAuthenticated(): Promise<boolean>;
|
|
16
|
+
/**
|
|
17
|
+
* Execute using GitHub Copilot CLI with suggest or explain commands
|
|
18
|
+
*/
|
|
19
|
+
execute(request: AIRequest, options?: ExecuteOptions): Promise<AIResponse>;
|
|
13
20
|
protected buildArgs(request: AIRequest): string[];
|
|
14
21
|
protected parseOutput(output: string): string;
|
|
15
22
|
protected getDefaultModel(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-adapter.d.ts","sourceRoot":"","sources":["../../src/copilot/copilot-adapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"copilot-adapter.d.ts","sourceRoot":"","sources":["../../src/copilot/copilot-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG/F,qBAAa,cAAe,SAAQ,WAAW;IAC7C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAa;IACxC,QAAQ,CAAC,IAAI,oBAAoB;gBAErB,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAUrC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IASzC;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IA0EhF,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,EAAE;IAYjD,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK7C,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKxC,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAYpC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAcrC,SAAS,CAAC,kBAAkB,IAAI,MAAM,EAAE;IAIxC,SAAS,CAAC,iBAAiB,IAAI,MAAM,EAAE;IAIvC,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAItC,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAIrC,SAAS,CAAC,kBAAkB,IAAI,MAAM;CAGvC"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CopilotAdapter - GitHub Copilot CLI adapter
|
|
3
3
|
*
|
|
4
|
-
* Integrates with GitHub Copilot CLI.
|
|
4
|
+
* Integrates with GitHub Copilot CLI for command suggestions.
|
|
5
|
+
* Uses `gh copilot suggest` for suggestions and `gh copilot explain` for explanations.
|
|
6
|
+
*
|
|
7
|
+
* STREAMING: Uses detached execution with progress callbacks for real-time output.
|
|
5
8
|
*/
|
|
6
9
|
import { execa } from 'execa';
|
|
7
10
|
import { BaseAdapter } from '../base/base-adapter.js';
|
|
11
|
+
import { detachedExec } from '../base/detached-exec.js';
|
|
8
12
|
export class CopilotAdapter extends BaseAdapter {
|
|
9
13
|
type = 'copilot';
|
|
10
14
|
name = 'GitHub Copilot';
|
|
@@ -13,6 +17,7 @@ export class CopilotAdapter extends BaseAdapter {
|
|
|
13
17
|
command: 'gh',
|
|
14
18
|
defaultArgs: ['copilot', 'suggest'],
|
|
15
19
|
defaultTimeout: 600000, // 10 minutes
|
|
20
|
+
useDetachedExec: true, // Required for streaming support
|
|
16
21
|
...config,
|
|
17
22
|
});
|
|
18
23
|
}
|
|
@@ -25,6 +30,69 @@ export class CopilotAdapter extends BaseAdapter {
|
|
|
25
30
|
return false;
|
|
26
31
|
}
|
|
27
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Execute using GitHub Copilot CLI with suggest or explain commands
|
|
35
|
+
*/
|
|
36
|
+
async execute(request, options) {
|
|
37
|
+
const startTime = Date.now();
|
|
38
|
+
const cwd = options?.workingDir ?? request.working_dir ?? this.config.workingDir ?? process.cwd();
|
|
39
|
+
const timeout = options?.timeout ?? request.timeout ?? this.config.defaultTimeout ?? 600000;
|
|
40
|
+
// Determine mode - default to suggest, use explain if prompt starts with "explain"
|
|
41
|
+
const isExplain = request.prompt.toLowerCase().startsWith('explain ');
|
|
42
|
+
const subcommand = isExplain ? 'explain' : 'suggest';
|
|
43
|
+
// Build CLI arguments
|
|
44
|
+
const args = ['copilot', subcommand];
|
|
45
|
+
// For suggest, add target type
|
|
46
|
+
if (!isExplain) {
|
|
47
|
+
args.push('-t', 'shell'); // Default to shell suggestions
|
|
48
|
+
}
|
|
49
|
+
// Add prompt
|
|
50
|
+
args.push(request.prompt);
|
|
51
|
+
// Track last content for progress
|
|
52
|
+
let lastContent = '';
|
|
53
|
+
// Build detached exec options
|
|
54
|
+
const execOptions = {
|
|
55
|
+
cwd,
|
|
56
|
+
timeout,
|
|
57
|
+
env: process.env,
|
|
58
|
+
signal: options?.signal,
|
|
59
|
+
};
|
|
60
|
+
// Add progress callback if provided
|
|
61
|
+
if (options?.onProgress) {
|
|
62
|
+
execOptions.onProgress = (rawOutput) => {
|
|
63
|
+
if (rawOutput.length > 0 && rawOutput !== lastContent) {
|
|
64
|
+
lastContent = rawOutput;
|
|
65
|
+
options.onProgress?.(rawOutput);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
execOptions.progressInterval = options.progressInterval ?? 1000;
|
|
69
|
+
}
|
|
70
|
+
// Execute with detached process
|
|
71
|
+
const result = await detachedExec(this.config.command, args, execOptions);
|
|
72
|
+
if (result.failed) {
|
|
73
|
+
const errorDetails = [
|
|
74
|
+
`Exit code: ${result.exitCode}`,
|
|
75
|
+
`Stdout: ${result.stdout.slice(0, 500) || '(empty)'}`,
|
|
76
|
+
`Stderr: ${result.stderr.slice(0, 500) || '(empty)'}`,
|
|
77
|
+
].join(' | ');
|
|
78
|
+
throw new Error(`GitHub Copilot CLI failed: ${errorDetails}`);
|
|
79
|
+
}
|
|
80
|
+
const latencyMs = Date.now() - startTime;
|
|
81
|
+
const content = result.stdout.trim();
|
|
82
|
+
const usage = this.estimateUsage(request.prompt, content);
|
|
83
|
+
return {
|
|
84
|
+
content: content || 'Task completed',
|
|
85
|
+
model: 'copilot',
|
|
86
|
+
usage,
|
|
87
|
+
finish_reason: 'stop',
|
|
88
|
+
metadata: {
|
|
89
|
+
latency_ms: latencyMs,
|
|
90
|
+
provider: this.type,
|
|
91
|
+
exit_code: result.exitCode,
|
|
92
|
+
subcommand,
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
28
96
|
buildArgs(request) {
|
|
29
97
|
const args = [...(this.config.defaultArgs ?? [])];
|
|
30
98
|
// Copilot suggest types
|
|
@@ -77,7 +145,7 @@ export class CopilotAdapter extends BaseAdapter {
|
|
|
77
145
|
return ['suggest', 'explain'];
|
|
78
146
|
}
|
|
79
147
|
supportsStreaming() {
|
|
80
|
-
return
|
|
148
|
+
return true;
|
|
81
149
|
}
|
|
82
150
|
getContextWindow() {
|
|
83
151
|
return 8000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copilot-adapter.js","sourceRoot":"","sources":["../../src/copilot/copilot-adapter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"copilot-adapter.js","sourceRoot":"","sources":["../../src/copilot/copilot-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Uses `--print` for headless/non-interactive mode.
|
|
6
6
|
*/
|
|
7
7
|
import type { AIRequest, AIResponse, ProviderType } from '@anastops/core';
|
|
8
|
-
import { BaseAdapter, type AdapterConfig } from '../base/base-adapter.js';
|
|
8
|
+
import { BaseAdapter, type AdapterConfig, type ExecuteOptions } from '../base/base-adapter.js';
|
|
9
9
|
export declare class CursorAdapter extends BaseAdapter {
|
|
10
10
|
readonly type: ProviderType;
|
|
11
11
|
readonly name = "Cursor Agent";
|
|
@@ -14,11 +14,7 @@ export declare class CursorAdapter extends BaseAdapter {
|
|
|
14
14
|
/**
|
|
15
15
|
* Execute using cursor-agent CLI with --print for headless mode
|
|
16
16
|
*/
|
|
17
|
-
execute(request: AIRequest, options?:
|
|
18
|
-
workingDir?: string;
|
|
19
|
-
timeout?: number;
|
|
20
|
-
signal?: AbortSignal;
|
|
21
|
-
}): Promise<AIResponse>;
|
|
17
|
+
execute(request: AIRequest, options?: ExecuteOptions): Promise<AIResponse>;
|
|
22
18
|
protected buildArgs(_request: AIRequest): string[];
|
|
23
19
|
protected parseOutput(output: string): string;
|
|
24
20
|
protected getDefaultModel(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-adapter.d.ts","sourceRoot":"","sources":["../../src/cursor/cursor-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"cursor-adapter.d.ts","sourceRoot":"","sources":["../../src/cursor/cursor-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG/F,qBAAa,aAAc,SAAQ,WAAW;IAC5C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAY;IACvC,QAAQ,CAAC,IAAI,kBAAkB;gBAEnB,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAUrC,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAazC;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IA8EhF,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,EAAE;IAKlD,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI7C,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK9C,SAAS,CAAC,kBAAkB,IAAI,MAAM,EAAE;IAaxC,SAAS,CAAC,iBAAiB,IAAI,MAAM,EAAE;IAIvC,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAItC,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAIrC,SAAS,CAAC,kBAAkB,IAAI,MAAM;CAGvC"}
|
|
@@ -56,13 +56,27 @@ export class CursorAdapter extends BaseAdapter {
|
|
|
56
56
|
args.push('--model', model);
|
|
57
57
|
// Add the prompt
|
|
58
58
|
args.push(request.prompt);
|
|
59
|
-
//
|
|
60
|
-
|
|
59
|
+
// Track last content for progress
|
|
60
|
+
let lastContent = '';
|
|
61
|
+
// Build detached exec options
|
|
62
|
+
const execOptions = {
|
|
61
63
|
cwd,
|
|
62
64
|
timeout,
|
|
63
65
|
env: process.env,
|
|
64
66
|
signal: options?.signal,
|
|
65
|
-
}
|
|
67
|
+
};
|
|
68
|
+
// Add progress callback if provided
|
|
69
|
+
if (options?.onProgress) {
|
|
70
|
+
execOptions.onProgress = (rawOutput) => {
|
|
71
|
+
if (rawOutput.length > 0 && rawOutput !== lastContent) {
|
|
72
|
+
lastContent = rawOutput;
|
|
73
|
+
options.onProgress?.(rawOutput);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
execOptions.progressInterval = options.progressInterval ?? 1000;
|
|
77
|
+
}
|
|
78
|
+
// Execute with detached process
|
|
79
|
+
const result = await detachedExec(this.config.command, args, execOptions);
|
|
66
80
|
if (result.failed) {
|
|
67
81
|
const errorDetails = [
|
|
68
82
|
`Exit code: ${result.exitCode}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-adapter.js","sourceRoot":"","sources":["../../src/cursor/cursor-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"cursor-adapter.js","sourceRoot":"","sources":["../../src/cursor/cursor-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-adapter.d.ts","sourceRoot":"","sources":["../../src/gemini/gemini-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"gemini-adapter.d.ts","sourceRoot":"","sources":["../../src/gemini/gemini-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAEtF,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG/F,qBAAa,aAAc,SAAQ,WAAW;IAC5C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAY;IACvC,QAAQ,CAAC,IAAI,mBAAmB;gBAEpB,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAU3C,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IA4BnC;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkCvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAsEhF,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,EAAE;IAKlD,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI7C,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK9C,SAAS,CAAC,kBAAkB,IAAI,MAAM,EAAE;IAIxC,SAAS,CAAC,iBAAiB,IAAI,MAAM,EAAE;IAIvC,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAItC,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAIrC,SAAS,CAAC,kBAAkB,IAAI,MAAM;CAGvC"}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
*
|
|
7
7
|
* STREAMING: Uses --output-format json for structured output with streaming support.
|
|
8
8
|
*/
|
|
9
|
-
import {
|
|
9
|
+
import { existsSync, constants, accessSync } from 'fs';
|
|
10
|
+
import { join } from 'path';
|
|
10
11
|
import { BaseAdapter } from '../base/base-adapter.js';
|
|
11
12
|
import { detachedExec } from '../base/detached-exec.js';
|
|
12
13
|
export class GeminiAdapter extends BaseAdapter {
|
|
@@ -21,18 +22,29 @@ export class GeminiAdapter extends BaseAdapter {
|
|
|
21
22
|
...config,
|
|
22
23
|
});
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
-
// Check for GOOGLE_API_KEY
|
|
25
|
+
isAuthenticated() {
|
|
26
|
+
// 1. Check for GOOGLE_API_KEY environment variable
|
|
26
27
|
if (process.env['GOOGLE_API_KEY'] !== undefined) {
|
|
27
|
-
return true;
|
|
28
|
+
return Promise.resolve(true);
|
|
28
29
|
}
|
|
30
|
+
// 2. Check for Gemini CLI OAuth credentials file (~/.gemini/oauth_creds.json)
|
|
31
|
+
const home = process.env['HOME'] ?? '';
|
|
32
|
+
const oauthCredsPath = join(home, '.gemini', 'oauth_creds.json');
|
|
33
|
+
if (existsSync(oauthCredsPath)) {
|
|
34
|
+
return Promise.resolve(true);
|
|
35
|
+
}
|
|
36
|
+
// 3. Fallback: Check if CLI is installed and executable
|
|
37
|
+
// If the CLI exists, assume it may have browser-based or other auth
|
|
38
|
+
// NOTE: Do NOT use `gemini models list` as it hangs in non-interactive mode
|
|
29
39
|
try {
|
|
30
|
-
|
|
31
|
-
return
|
|
40
|
+
accessSync(this.config.command, constants.X_OK);
|
|
41
|
+
return Promise.resolve(true);
|
|
32
42
|
}
|
|
33
43
|
catch {
|
|
34
|
-
|
|
44
|
+
// CLI not found or not executable
|
|
35
45
|
}
|
|
46
|
+
// No explicit authentication found
|
|
47
|
+
return Promise.resolve(false);
|
|
36
48
|
}
|
|
37
49
|
/**
|
|
38
50
|
* Parse JSON output from Gemini CLI
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini-adapter.js","sourceRoot":"","sources":["../../src/gemini/gemini-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"gemini-adapter.js","sourceRoot":"","sources":["../../src/gemini/gemini-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAI5B,OAAO,EAAE,WAAW,EAA2C,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,MAAM,OAAO,aAAc,SAAQ,WAAW;IACnC,IAAI,GAAiB,QAAQ,CAAC;IAC9B,IAAI,GAAG,eAAe,CAAC;IAEhC,YAAY,MAA+B;QACzC,KAAK,CAAC;YACJ,OAAO,EAAE,uBAAuB;YAChC,WAAW,EAAE,EAAE;YACf,cAAc,EAAE,MAAM,EAAE,aAAa;YACrC,eAAe,EAAE,IAAI;YACrB,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IAED,eAAe;QACb,mDAAmD;QACnD,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,8EAA8E;QAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAEjE,IAAI,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAED,wDAAwD;QACxD,oEAAoE;QACpE,4EAA4E;QAC5E,IAAI,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;YAChD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;QAED,mCAAmC;QACnC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,MAAc;QACpC,6BAA6B;QAC7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAO/B,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YACtC,IAAI,KAAK,GAAsB,IAAI,CAAC;YAEpC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,KAAK,GAAG;oBACN,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC;oBAC9C,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC;oBACtD,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC;oBAC5C,IAAI,EAAE,IAAI,CAAC,aAAa,CACtB,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,EAC/B,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,CACpC;iBACF,CAAC;YACJ,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;YACjC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,WAAmB,EAAE,YAAoB;QAC7D,MAAM,SAAS,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,QAAQ,CAAC;QAClD,MAAM,UAAU,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC;QAClD,OAAO,SAAS,GAAG,UAAU,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CAAC,OAAkB,EAAE,OAAwB;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,MAAM,GAAG,GACP,OAAO,EAAE,UAAU,IAAI,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACxF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC;QAE5F,2DAA2D;QAC3D,MAAM,IAAI,GAAa;YACrB,QAAQ,EAAE,2BAA2B;YACrC,iBAAiB;YACjB,MAAM,EAAE,kCAAkC;YAC1C,OAAO,CAAC,MAAM,EAAE,oBAAoB;SACrC,CAAC;QAEF,kCAAkC;QAClC,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,8BAA8B;QAC9B,MAAM,WAAW,GAAuC;YACtD,GAAG;YACH,OAAO;YACP,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,MAAM,EAAE,OAAO,EAAE,MAAM;SACxB,CAAC;QAEF,oCAAoC;QACpC,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;YACxB,WAAW,CAAC,UAAU,GAAG,CAAC,SAAiB,EAAQ,EAAE;gBACnD,2DAA2D;gBAC3D,0CAA0C;gBAC1C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,KAAK,WAAW,EAAE,CAAC;oBACtD,WAAW,GAAG,SAAS,CAAC;oBACxB,OAAO,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC,CAAC;YACF,WAAW,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC;QAClE,CAAC;QAED,gCAAgC;QAChC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QAE1E,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG;gBACnB,cAAc,MAAM,CAAC,QAAQ,EAAE;gBAC/B,WAAW,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE;gBACrD,WAAW,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,SAAS,EAAE;aACtD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QAEzC,2CAA2C;QAC3C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,UAAU,GAAG,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAExE,OAAO;YACL,OAAO,EAAE,OAAO,IAAI,gBAAgB;YACpC,KAAK,EAAE,gBAAgB;YACvB,KAAK,EAAE,UAAU;YACjB,aAAa,EAAE,MAAM;YACrB,QAAQ,EAAE;gBACR,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,SAAS,EAAE,MAAM,CAAC,QAAQ;aAC3B;SACF,CAAC;IACJ,CAAC;IAES,SAAS,CAAC,QAAmB;QACrC,4CAA4C;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC;IAES,WAAW,CAAC,MAAc;QAClC,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAES,eAAe;QACvB,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAES,YAAY,CAAC,MAAc;QACnC,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;IAES,kBAAkB;QAC1B,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;IACzE,CAAC;IAES,iBAAiB;QACzB,OAAO,CAAC,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAES,iBAAiB;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gBAAgB;QACxB,OAAO,OAAO,CAAC;IACjB,CAAC;IAES,iBAAiB;QACzB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,kBAAkB;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Uses `-p, --prompt` for headless mode execution.
|
|
6
6
|
*/
|
|
7
7
|
import type { AIRequest, AIResponse, ProviderType } from '@anastops/core';
|
|
8
|
-
import { BaseAdapter, type AdapterConfig } from '../base/base-adapter.js';
|
|
8
|
+
import { BaseAdapter, type AdapterConfig, type ExecuteOptions } from '../base/base-adapter.js';
|
|
9
9
|
export declare class GrokAdapter extends BaseAdapter {
|
|
10
10
|
readonly type: ProviderType;
|
|
11
11
|
readonly name = "xAI Grok";
|
|
@@ -14,11 +14,7 @@ export declare class GrokAdapter extends BaseAdapter {
|
|
|
14
14
|
/**
|
|
15
15
|
* Execute using Grok CLI with --prompt for headless mode
|
|
16
16
|
*/
|
|
17
|
-
execute(request: AIRequest, options?:
|
|
18
|
-
workingDir?: string;
|
|
19
|
-
timeout?: number;
|
|
20
|
-
signal?: AbortSignal;
|
|
21
|
-
}): Promise<AIResponse>;
|
|
17
|
+
execute(request: AIRequest, options?: ExecuteOptions): Promise<AIResponse>;
|
|
22
18
|
protected buildArgs(_request: AIRequest): string[];
|
|
23
19
|
protected parseOutput(output: string): string;
|
|
24
20
|
protected getDefaultModel(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grok-adapter.d.ts","sourceRoot":"","sources":["../../src/grok/grok-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"grok-adapter.d.ts","sourceRoot":"","sources":["../../src/grok/grok-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG/F,qBAAa,WAAY,SAAQ,WAAW;IAC1C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAU;IACrC,QAAQ,CAAC,IAAI,cAAc;gBAEf,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;IAU3C,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAMnC;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAwEhF,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,EAAE;IAKlD,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAI7C,SAAS,CAAC,eAAe,IAAI,MAAM;IAInC,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK9C,SAAS,CAAC,kBAAkB,IAAI,MAAM,EAAE;IAIxC,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAItC,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAIpC,SAAS,CAAC,iBAAiB,IAAI,MAAM;IAIrC,SAAS,CAAC,kBAAkB,IAAI,MAAM;CAGvC"}
|
|
@@ -40,13 +40,27 @@ export class GrokAdapter extends BaseAdapter {
|
|
|
40
40
|
if (model !== 'grok-default') {
|
|
41
41
|
args.push('--model', model);
|
|
42
42
|
}
|
|
43
|
-
//
|
|
44
|
-
|
|
43
|
+
// Track last content for progress
|
|
44
|
+
let lastContent = '';
|
|
45
|
+
// Build detached exec options
|
|
46
|
+
const execOptions = {
|
|
45
47
|
cwd,
|
|
46
48
|
timeout,
|
|
47
49
|
env: process.env,
|
|
48
50
|
signal: options?.signal,
|
|
49
|
-
}
|
|
51
|
+
};
|
|
52
|
+
// Add progress callback if provided
|
|
53
|
+
if (options?.onProgress) {
|
|
54
|
+
execOptions.onProgress = (rawOutput) => {
|
|
55
|
+
if (rawOutput.length > 0 && rawOutput !== lastContent) {
|
|
56
|
+
lastContent = rawOutput;
|
|
57
|
+
options.onProgress?.(rawOutput);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
execOptions.progressInterval = options.progressInterval ?? 1000;
|
|
61
|
+
}
|
|
62
|
+
// Execute with detached process
|
|
63
|
+
const result = await detachedExec(this.config.command, args, execOptions);
|
|
50
64
|
if (result.failed) {
|
|
51
65
|
const errorDetails = [
|
|
52
66
|
`Exit code: ${result.exitCode}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grok-adapter.js","sourceRoot":"","sources":["../../src/grok/grok-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"grok-adapter.js","sourceRoot":"","sources":["../../src/grok/grok-adapter.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED