@defai.digital/provider-adapters 13.0.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.
Files changed (62) hide show
  1. package/LICENSE +214 -0
  2. package/dist/cli-adapter.d.ts +23 -0
  3. package/dist/cli-adapter.d.ts.map +1 -0
  4. package/dist/cli-adapter.js +151 -0
  5. package/dist/cli-adapter.js.map +1 -0
  6. package/dist/error-classifier.d.ts +34 -0
  7. package/dist/error-classifier.d.ts.map +1 -0
  8. package/dist/error-classifier.js +257 -0
  9. package/dist/error-classifier.js.map +1 -0
  10. package/dist/index.d.ts +19 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +25 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/output-parser.d.ts +37 -0
  15. package/dist/output-parser.d.ts.map +1 -0
  16. package/dist/output-parser.js +251 -0
  17. package/dist/output-parser.js.map +1 -0
  18. package/dist/process-manager.d.ts +43 -0
  19. package/dist/process-manager.d.ts.map +1 -0
  20. package/dist/process-manager.js +184 -0
  21. package/dist/process-manager.js.map +1 -0
  22. package/dist/providers/claude.d.ts +18 -0
  23. package/dist/providers/claude.d.ts.map +1 -0
  24. package/dist/providers/claude.js +39 -0
  25. package/dist/providers/claude.js.map +1 -0
  26. package/dist/providers/codex.d.ts +18 -0
  27. package/dist/providers/codex.d.ts.map +1 -0
  28. package/dist/providers/codex.js +39 -0
  29. package/dist/providers/codex.js.map +1 -0
  30. package/dist/providers/gemini.d.ts +18 -0
  31. package/dist/providers/gemini.d.ts.map +1 -0
  32. package/dist/providers/gemini.js +39 -0
  33. package/dist/providers/gemini.js.map +1 -0
  34. package/dist/providers/glm.d.ts +18 -0
  35. package/dist/providers/glm.d.ts.map +1 -0
  36. package/dist/providers/glm.js +40 -0
  37. package/dist/providers/glm.js.map +1 -0
  38. package/dist/providers/grok.d.ts +18 -0
  39. package/dist/providers/grok.d.ts.map +1 -0
  40. package/dist/providers/grok.js +40 -0
  41. package/dist/providers/grok.js.map +1 -0
  42. package/dist/providers/index.d.ts +32 -0
  43. package/dist/providers/index.d.ts.map +1 -0
  44. package/dist/providers/index.js +49 -0
  45. package/dist/providers/index.js.map +1 -0
  46. package/dist/providers/qwen.d.ts +18 -0
  47. package/dist/providers/qwen.d.ts.map +1 -0
  48. package/dist/providers/qwen.js +39 -0
  49. package/dist/providers/qwen.js.map +1 -0
  50. package/dist/registry.d.ts +73 -0
  51. package/dist/registry.d.ts.map +1 -0
  52. package/dist/registry.js +145 -0
  53. package/dist/registry.js.map +1 -0
  54. package/dist/resilient-registry.d.ts +134 -0
  55. package/dist/resilient-registry.d.ts.map +1 -0
  56. package/dist/resilient-registry.js +296 -0
  57. package/dist/resilient-registry.js.map +1 -0
  58. package/dist/types.d.ts +238 -0
  59. package/dist/types.d.ts.map +1 -0
  60. package/dist/types.js +14 -0
  61. package/dist/types.js.map +1 -0
  62. package/package.json +43 -0
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Process manager for spawning CLI processes
3
+ *
4
+ * Handles:
5
+ * - Process spawning with stdin/stdout
6
+ * - Timeout handling with graceful shutdown
7
+ * - Command availability checking
8
+ */
9
+ import { spawn, exec } from 'node:child_process';
10
+ import { promisify } from 'node:util';
11
+ import { TIMEOUT_GRACEFUL_SHUTDOWN } from '@defai.digital/contracts';
12
+ const execAsync = promisify(exec);
13
+ /**
14
+ * Default grace period before SIGKILL
15
+ */
16
+ const SIGKILL_GRACE_PERIOD = TIMEOUT_GRACEFUL_SHUTDOWN;
17
+ /**
18
+ * Validates a command name to prevent command injection
19
+ * Only allows alphanumeric characters, hyphens, underscores, and dots
20
+ *
21
+ * @param command - The command to validate
22
+ * @returns true if the command is safe, false otherwise
23
+ */
24
+ function isValidCommandName(command) {
25
+ // Must be non-empty and contain only safe characters
26
+ // Allows: letters, numbers, hyphens, underscores, dots (for extensions like .exe)
27
+ return /^[a-zA-Z0-9_.-]+$/.test(command);
28
+ }
29
+ /**
30
+ * Spawns a CLI process and returns the result
31
+ *
32
+ * @param options - Spawn options including command, args, stdin, env, timeout
33
+ * @returns Promise resolving to spawn result with stdout, stderr, exitCode
34
+ */
35
+ export async function spawnCLI(options) {
36
+ return new Promise((resolve, reject) => {
37
+ // Validate command name to prevent injection
38
+ if (!isValidCommandName(options.command)) {
39
+ reject(new Error(`Invalid command name: ${options.command}`));
40
+ return;
41
+ }
42
+ const child = spawn(options.command, [...options.args], {
43
+ env: { ...process.env, ...options.env },
44
+ stdio: ['pipe', 'pipe', 'pipe'],
45
+ cwd: options.cwd,
46
+ });
47
+ let stdout = '';
48
+ let stderr = '';
49
+ let timedOut = false;
50
+ let killed = false;
51
+ let killTimeoutId;
52
+ // Timeout handling with graceful shutdown
53
+ const timeoutId = setTimeout(() => {
54
+ timedOut = true;
55
+ killed = true;
56
+ // First, try SIGTERM for graceful shutdown
57
+ child.kill('SIGTERM');
58
+ // If still running after grace period, force kill
59
+ killTimeoutId = setTimeout(() => {
60
+ if (!child.killed) {
61
+ child.kill('SIGKILL');
62
+ }
63
+ }, SIGKILL_GRACE_PERIOD);
64
+ }, options.timeout);
65
+ // Collect stdout
66
+ child.stdout.on('data', (data) => {
67
+ stdout += data.toString();
68
+ });
69
+ // Collect stderr
70
+ child.stderr.on('data', (data) => {
71
+ stderr += data.toString();
72
+ });
73
+ // Handle stdin errors (e.g., EPIPE if process exits immediately)
74
+ child.stdin.on('error', (err) => {
75
+ // EPIPE is expected if the child process exits before reading all input
76
+ // We ignore it since the 'close' event will still fire
77
+ if (err.code !== 'EPIPE') {
78
+ stderr += `stdin error: ${err.message}\n`;
79
+ }
80
+ });
81
+ // Write prompt to stdin and close
82
+ if (options.stdin.length > 0) {
83
+ child.stdin.write(options.stdin);
84
+ }
85
+ child.stdin.end();
86
+ // Handle process completion
87
+ child.on('close', (code) => {
88
+ clearTimeout(timeoutId);
89
+ if (killTimeoutId !== undefined) {
90
+ clearTimeout(killTimeoutId);
91
+ }
92
+ resolve({
93
+ stdout,
94
+ stderr,
95
+ exitCode: code ?? (killed ? 137 : 1),
96
+ timedOut,
97
+ });
98
+ });
99
+ // Handle spawn errors (command not found, etc.)
100
+ child.on('error', (error) => {
101
+ clearTimeout(timeoutId);
102
+ if (killTimeoutId !== undefined) {
103
+ clearTimeout(killTimeoutId);
104
+ }
105
+ reject(error);
106
+ });
107
+ });
108
+ }
109
+ /**
110
+ * Checks if a CLI command is available on the system PATH
111
+ *
112
+ * @param command - The command to check
113
+ * @returns Promise resolving to true if available, false otherwise
114
+ */
115
+ export async function isCommandAvailable(command) {
116
+ // Validate command to prevent command injection
117
+ if (!isValidCommandName(command)) {
118
+ return false;
119
+ }
120
+ try {
121
+ // Use 'which' on Unix, 'where' on Windows
122
+ const whichCommand = process.platform === 'win32' ? 'where' : 'which';
123
+ await execAsync(`${whichCommand} ${command}`);
124
+ return true;
125
+ }
126
+ catch {
127
+ return false;
128
+ }
129
+ }
130
+ /**
131
+ * Gets the version of a CLI command if available
132
+ *
133
+ * @param command - The command to check
134
+ * @param versionFlag - The flag to get version (default: --version)
135
+ * @returns Promise resolving to version string or undefined
136
+ */
137
+ export async function getCommandVersion(command, versionFlag = '--version') {
138
+ // Validate command to prevent command injection
139
+ if (!isValidCommandName(command)) {
140
+ return undefined;
141
+ }
142
+ // Validate versionFlag - only allow flags starting with - and containing safe chars
143
+ if (!/^--?[a-zA-Z0-9_-]+$/.test(versionFlag)) {
144
+ return undefined;
145
+ }
146
+ try {
147
+ const { stdout } = await execAsync(`${command} ${versionFlag}`);
148
+ // Extract version number from output (common patterns)
149
+ const versionMatch = /(\d+\.\d+\.\d+)/.exec(stdout);
150
+ return versionMatch?.[1];
151
+ }
152
+ catch {
153
+ return undefined;
154
+ }
155
+ }
156
+ /**
157
+ * Builds a prompt string from messages for CLI input
158
+ *
159
+ * @param messages - Array of messages
160
+ * @param systemPrompt - Optional system prompt
161
+ * @returns Formatted prompt string
162
+ */
163
+ export function buildPromptFromMessages(messages, systemPrompt) {
164
+ const parts = [];
165
+ // Add system prompt if provided
166
+ if (systemPrompt !== undefined && systemPrompt.length > 0) {
167
+ parts.push(`[System]\n${systemPrompt}\n`);
168
+ }
169
+ // Add messages
170
+ for (const msg of messages) {
171
+ if (msg.role === 'user') {
172
+ parts.push(msg.content);
173
+ }
174
+ else if (msg.role === 'assistant') {
175
+ parts.push(`[Assistant]\n${msg.content}\n`);
176
+ }
177
+ else if (msg.role === 'system' && systemPrompt === undefined) {
178
+ // Include system messages if no explicit system prompt
179
+ parts.push(`[System]\n${msg.content}\n`);
180
+ }
181
+ }
182
+ return parts.join('\n');
183
+ }
184
+ //# sourceMappingURL=process-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-manager.js","sourceRoot":"","sources":["../src/process-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Claude CLI provider configuration
3
+ *
4
+ * CLI: claude
5
+ * Auth: Handled entirely by Claude CLI (~/.claude/ config)
6
+ * Model: Uses CLI's default model (we don't specify)
7
+ *
8
+ * @see https://github.com/anthropics/claude-code
9
+ */
10
+ import type { CLIProviderConfig } from '../types.js';
11
+ /**
12
+ * Claude provider configuration
13
+ *
14
+ * Design: AutomatosX does NOT manage credentials or model selection.
15
+ * The Claude CLI handles all authentication and uses its configured default model.
16
+ */
17
+ export declare const claudeConfig: CLIProviderConfig;
18
+ //# sourceMappingURL=claude.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,iBAqB1B,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Claude CLI provider configuration
3
+ *
4
+ * CLI: claude
5
+ * Auth: Handled entirely by Claude CLI (~/.claude/ config)
6
+ * Model: Uses CLI's default model (we don't specify)
7
+ *
8
+ * @see https://github.com/anthropics/claude-code
9
+ */
10
+ import { TIMEOUT_PROVIDER_DEFAULT } from '@defai.digital/contracts';
11
+ /**
12
+ * Claude provider configuration
13
+ *
14
+ * Design: AutomatosX does NOT manage credentials or model selection.
15
+ * The Claude CLI handles all authentication and uses its configured default model.
16
+ */
17
+ export const claudeConfig = {
18
+ providerId: 'claude',
19
+ command: 'claude',
20
+ args: ['--print', '--output-format', 'stream-json', '--verbose'],
21
+ env: {
22
+ // Non-interactive mode flags
23
+ TERM: 'dumb',
24
+ NO_COLOR: '1',
25
+ CI: 'true',
26
+ },
27
+ outputFormat: 'stream-json',
28
+ timeout: TIMEOUT_PROVIDER_DEFAULT,
29
+ models: [
30
+ {
31
+ modelId: 'default',
32
+ name: 'Claude Default',
33
+ contextWindow: 200000,
34
+ capabilities: ['text', 'code', 'vision'],
35
+ isDefault: true,
36
+ },
37
+ ],
38
+ };
39
+ //# sourceMappingURL=claude.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/providers/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,CAAC;IAChE,GAAG,EAAE;QACH,6BAA6B;QAC7B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,GAAG;QACb,EAAE,EAAE,MAAM;KACX;IACD,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,wBAAwB;IACjC,MAAM,EAAE;QACN;YACE,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;YACtB,aAAa,EAAE,MAAM;YACrB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;YACxC,SAAS,EAAE,IAAI;SAChB;KACF;CACF,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Codex (OpenAI) CLI provider configuration
3
+ *
4
+ * CLI: codex
5
+ * Auth: Handled entirely by Codex CLI (OpenAI auth)
6
+ * Model: Uses CLI's default model (we don't specify)
7
+ *
8
+ * @see https://github.com/openai/codex
9
+ */
10
+ import type { CLIProviderConfig } from '../types.js';
11
+ /**
12
+ * Codex provider configuration
13
+ *
14
+ * Design: AutomatosX does NOT manage credentials or model selection.
15
+ * The Codex CLI handles all authentication and uses its configured default model.
16
+ */
17
+ export declare const codexConfig: CLIProviderConfig;
18
+ //# sourceMappingURL=codex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,iBAqBzB,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Codex (OpenAI) CLI provider configuration
3
+ *
4
+ * CLI: codex
5
+ * Auth: Handled entirely by Codex CLI (OpenAI auth)
6
+ * Model: Uses CLI's default model (we don't specify)
7
+ *
8
+ * @see https://github.com/openai/codex
9
+ */
10
+ import { TIMEOUT_PROVIDER_DEFAULT } from '@defai.digital/contracts';
11
+ /**
12
+ * Codex provider configuration
13
+ *
14
+ * Design: AutomatosX does NOT manage credentials or model selection.
15
+ * The Codex CLI handles all authentication and uses its configured default model.
16
+ */
17
+ export const codexConfig = {
18
+ providerId: 'codex',
19
+ command: 'codex',
20
+ args: ['exec', '--json', '--skip-git-repo-check'],
21
+ env: {
22
+ // Non-interactive mode flags
23
+ TERM: 'dumb',
24
+ NO_COLOR: '1',
25
+ CI: 'true',
26
+ },
27
+ outputFormat: 'stream-json',
28
+ timeout: TIMEOUT_PROVIDER_DEFAULT,
29
+ models: [
30
+ {
31
+ modelId: 'default',
32
+ name: 'Codex Default',
33
+ contextWindow: 128000,
34
+ capabilities: ['text', 'code', 'vision'],
35
+ isDefault: true,
36
+ },
37
+ ],
38
+ };
39
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/providers/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,UAAU,EAAE,OAAO;IACnB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,uBAAuB,CAAC;IACjD,GAAG,EAAE;QACH,6BAA6B;QAC7B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,GAAG;QACb,EAAE,EAAE,MAAM;KACX;IACD,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,wBAAwB;IACjC,MAAM,EAAE;QACN;YACE,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,eAAe;YACrB,aAAa,EAAE,MAAM;YACrB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;YACxC,SAAS,EAAE,IAAI;SAChB;KACF;CACF,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Gemini CLI provider configuration
3
+ *
4
+ * CLI: gemini
5
+ * Auth: Handled entirely by Gemini CLI (Google Cloud auth)
6
+ * Model: Uses CLI's default model (we don't specify)
7
+ *
8
+ * @see https://github.com/google-gemini/gemini-cli
9
+ */
10
+ import type { CLIProviderConfig } from '../types.js';
11
+ /**
12
+ * Gemini provider configuration
13
+ *
14
+ * Design: AutomatosX does NOT manage credentials or model selection.
15
+ * The Gemini CLI handles all authentication and uses its configured default model.
16
+ */
17
+ export declare const geminiConfig: CLIProviderConfig;
18
+ //# sourceMappingURL=gemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,iBAqB1B,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Gemini CLI provider configuration
3
+ *
4
+ * CLI: gemini
5
+ * Auth: Handled entirely by Gemini CLI (Google Cloud auth)
6
+ * Model: Uses CLI's default model (we don't specify)
7
+ *
8
+ * @see https://github.com/google-gemini/gemini-cli
9
+ */
10
+ import { TIMEOUT_PROVIDER_DEFAULT } from '@defai.digital/contracts';
11
+ /**
12
+ * Gemini provider configuration
13
+ *
14
+ * Design: AutomatosX does NOT manage credentials or model selection.
15
+ * The Gemini CLI handles all authentication and uses its configured default model.
16
+ */
17
+ export const geminiConfig = {
18
+ providerId: 'gemini',
19
+ command: 'gemini',
20
+ args: ['--approval-mode', 'auto_edit', '--output-format', 'stream-json'],
21
+ env: {
22
+ // Non-interactive mode flags
23
+ TERM: 'dumb',
24
+ NO_COLOR: '1',
25
+ CI: 'true',
26
+ },
27
+ outputFormat: 'stream-json',
28
+ timeout: TIMEOUT_PROVIDER_DEFAULT,
29
+ models: [
30
+ {
31
+ modelId: 'default',
32
+ name: 'Gemini Default',
33
+ contextWindow: 1000000,
34
+ capabilities: ['text', 'code', 'vision'],
35
+ isDefault: true,
36
+ },
37
+ ],
38
+ };
39
+ //# sourceMappingURL=gemini.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/providers/gemini.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAGpE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC7C,UAAU,EAAE,QAAQ;IACpB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,CAAC;IACxE,GAAG,EAAE;QACH,6BAA6B;QAC7B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,GAAG;QACb,EAAE,EAAE,MAAM;KACX;IACD,YAAY,EAAE,aAAa;IAC3B,OAAO,EAAE,wBAAwB;IACjC,MAAM,EAAE;QACN;YACE,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,gBAAgB;YACtB,aAAa,EAAE,OAAO;YACtB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;YACxC,SAAS,EAAE,IAAI;SAChB;KACF;CACF,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * GLM CLI provider configuration
3
+ *
4
+ * CLI: ax-glm
5
+ * Auth: Handled entirely by ax-glm CLI
6
+ * Model: Uses CLI's default model (we don't specify)
7
+ *
8
+ * @see https://github.com/anthropics/ax-cli
9
+ */
10
+ import type { CLIProviderConfig } from '../types.js';
11
+ /**
12
+ * GLM provider configuration
13
+ *
14
+ * Design: AutomatosX does NOT manage credentials or model selection.
15
+ * The ax-glm CLI handles all authentication and uses its configured default model.
16
+ */
17
+ export declare const glmConfig: CLIProviderConfig;
18
+ //# sourceMappingURL=glm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glm.d.ts","sourceRoot":"","sources":["../../src/providers/glm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,EAAE,iBAsBvB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * GLM CLI provider configuration
3
+ *
4
+ * CLI: ax-glm
5
+ * Auth: Handled entirely by ax-glm CLI
6
+ * Model: Uses CLI's default model (we don't specify)
7
+ *
8
+ * @see https://github.com/anthropics/ax-cli
9
+ */
10
+ import { TIMEOUT_PROVIDER_SHORT } from '@defai.digital/contracts';
11
+ /**
12
+ * GLM provider configuration
13
+ *
14
+ * Design: AutomatosX does NOT manage credentials or model selection.
15
+ * The ax-glm CLI handles all authentication and uses its configured default model.
16
+ */
17
+ export const glmConfig = {
18
+ providerId: 'glm',
19
+ command: 'ax-glm',
20
+ args: ['--prompt'], // Prompt text will be appended as next argument
21
+ promptStyle: 'arg', // Pass prompt as command-line argument (not stdin)
22
+ env: {
23
+ // Non-interactive mode flags
24
+ TERM: 'dumb',
25
+ NO_COLOR: '1',
26
+ CI: 'true',
27
+ },
28
+ outputFormat: 'stream-json', // ax-glm outputs JSON Lines: {"role":"assistant","content":"..."}
29
+ timeout: TIMEOUT_PROVIDER_SHORT, // ax-glm has shutdown hang issue, timeout kills it
30
+ models: [
31
+ {
32
+ modelId: 'default',
33
+ name: 'GLM Default',
34
+ contextWindow: 128000,
35
+ capabilities: ['text', 'code'],
36
+ isDefault: true,
37
+ },
38
+ ],
39
+ };
40
+ //# sourceMappingURL=glm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"glm.js","sourceRoot":"","sources":["../../src/providers/glm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,SAAS,GAAsB;IAC1C,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,CAAC,UAAU,CAAC,EAAG,gDAAgD;IACrE,WAAW,EAAE,KAAK,EAAG,mDAAmD;IACxE,GAAG,EAAE;QACH,6BAA6B;QAC7B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,GAAG;QACb,EAAE,EAAE,MAAM;KACX;IACD,YAAY,EAAE,aAAa,EAAG,kEAAkE;IAChG,OAAO,EAAE,sBAAsB,EAAE,mDAAmD;IACpF,MAAM,EAAE;QACN;YACE,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,aAAa;YACnB,aAAa,EAAE,MAAM;YACrB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YAC9B,SAAS,EAAE,IAAI;SAChB;KACF;CACF,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Grok CLI provider configuration
3
+ *
4
+ * CLI: ax-grok
5
+ * Auth: Handled entirely by ax-grok CLI
6
+ * Model: Uses CLI's default model (we don't specify)
7
+ *
8
+ * @see https://github.com/anthropics/ax-cli
9
+ */
10
+ import type { CLIProviderConfig } from '../types.js';
11
+ /**
12
+ * Grok provider configuration
13
+ *
14
+ * Design: AutomatosX does NOT manage credentials or model selection.
15
+ * The ax-grok CLI handles all authentication and uses its configured default model.
16
+ */
17
+ export declare const grokConfig: CLIProviderConfig;
18
+ //# sourceMappingURL=grok.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok.d.ts","sourceRoot":"","sources":["../../src/providers/grok.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,iBAsBxB,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Grok CLI provider configuration
3
+ *
4
+ * CLI: ax-grok
5
+ * Auth: Handled entirely by ax-grok CLI
6
+ * Model: Uses CLI's default model (we don't specify)
7
+ *
8
+ * @see https://github.com/anthropics/ax-cli
9
+ */
10
+ import { TIMEOUT_PROVIDER_SHORT } from '@defai.digital/contracts';
11
+ /**
12
+ * Grok provider configuration
13
+ *
14
+ * Design: AutomatosX does NOT manage credentials or model selection.
15
+ * The ax-grok CLI handles all authentication and uses its configured default model.
16
+ */
17
+ export const grokConfig = {
18
+ providerId: 'grok',
19
+ command: 'ax-grok',
20
+ args: ['--prompt'], // Prompt text will be appended as next argument
21
+ promptStyle: 'arg', // Pass prompt as command-line argument (not stdin)
22
+ env: {
23
+ // Non-interactive mode flags
24
+ TERM: 'dumb',
25
+ NO_COLOR: '1',
26
+ CI: 'true',
27
+ },
28
+ outputFormat: 'stream-json', // ax-grok outputs JSON Lines: {"role":"assistant","content":"..."}
29
+ timeout: TIMEOUT_PROVIDER_SHORT, // ax-grok has shutdown hang issue, timeout kills it
30
+ models: [
31
+ {
32
+ modelId: 'default',
33
+ name: 'Grok Default',
34
+ contextWindow: 131000,
35
+ capabilities: ['text', 'code'],
36
+ isDefault: true,
37
+ },
38
+ ],
39
+ };
40
+ //# sourceMappingURL=grok.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grok.js","sourceRoot":"","sources":["../../src/providers/grok.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGlE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAsB;IAC3C,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,CAAC,UAAU,CAAC,EAAG,gDAAgD;IACrE,WAAW,EAAE,KAAK,EAAG,mDAAmD;IACxE,GAAG,EAAE;QACH,6BAA6B;QAC7B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,GAAG;QACb,EAAE,EAAE,MAAM;KACX;IACD,YAAY,EAAE,aAAa,EAAG,mEAAmE;IACjG,OAAO,EAAE,sBAAsB,EAAE,oDAAoD;IACrF,MAAM,EAAE;QACN;YACE,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,cAAc;YACpB,aAAa,EAAE,MAAM;YACrB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;YAC9B,SAAS,EAAE,IAAI;SAChB;KACF;CACF,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Provider configurations
3
+ *
4
+ * Each provider config specifies:
5
+ * - CLI command and arguments
6
+ * - Environment variables (non-secret)
7
+ * - Output format
8
+ * - Timeout
9
+ * - Available models
10
+ *
11
+ * NO API KEYS - CLIs handle their own authentication
12
+ */
13
+ import type { CLIProviderConfig } from '../types.js';
14
+ export { claudeConfig } from './claude.js';
15
+ export { geminiConfig } from './gemini.js';
16
+ export { codexConfig } from './codex.js';
17
+ export { qwenConfig } from './qwen.js';
18
+ export { glmConfig } from './glm.js';
19
+ export { grokConfig } from './grok.js';
20
+ /**
21
+ * All registered provider configurations
22
+ */
23
+ export declare const ALL_PROVIDER_CONFIGS: readonly CLIProviderConfig[];
24
+ /**
25
+ * Gets a provider config by ID
26
+ */
27
+ export declare function getProviderConfig(providerId: string): CLIProviderConfig | undefined;
28
+ /**
29
+ * Gets all provider IDs
30
+ */
31
+ export declare function getAllProviderIds(): readonly string[];
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASrD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,iBAAiB,EAO5D,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAEnF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,SAAS,MAAM,EAAE,CAErD"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Provider configurations
3
+ *
4
+ * Each provider config specifies:
5
+ * - CLI command and arguments
6
+ * - Environment variables (non-secret)
7
+ * - Output format
8
+ * - Timeout
9
+ * - Available models
10
+ *
11
+ * NO API KEYS - CLIs handle their own authentication
12
+ */
13
+ import { claudeConfig } from './claude.js';
14
+ import { geminiConfig } from './gemini.js';
15
+ import { codexConfig } from './codex.js';
16
+ import { qwenConfig } from './qwen.js';
17
+ import { glmConfig } from './glm.js';
18
+ import { grokConfig } from './grok.js';
19
+ // Re-export individual configs
20
+ export { claudeConfig } from './claude.js';
21
+ export { geminiConfig } from './gemini.js';
22
+ export { codexConfig } from './codex.js';
23
+ export { qwenConfig } from './qwen.js';
24
+ export { glmConfig } from './glm.js';
25
+ export { grokConfig } from './grok.js';
26
+ /**
27
+ * All registered provider configurations
28
+ */
29
+ export const ALL_PROVIDER_CONFIGS = [
30
+ claudeConfig,
31
+ geminiConfig,
32
+ codexConfig,
33
+ qwenConfig,
34
+ glmConfig,
35
+ grokConfig,
36
+ ];
37
+ /**
38
+ * Gets a provider config by ID
39
+ */
40
+ export function getProviderConfig(providerId) {
41
+ return ALL_PROVIDER_CONFIGS.find((config) => config.providerId === providerId);
42
+ }
43
+ /**
44
+ * Gets all provider IDs
45
+ */
46
+ export function getAllProviderIds() {
47
+ return ALL_PROVIDER_CONFIGS.map((config) => config.providerId);
48
+ }
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/providers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,+BAA+B;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAiC;IAChE,YAAY;IACZ,YAAY;IACZ,WAAW;IACX,UAAU;IACV,SAAS;IACT,UAAU;CACX,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IAClD,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACjF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Qwen CLI provider configuration
3
+ *
4
+ * CLI: qwen
5
+ * Auth: Handled entirely by Qwen CLI (DashScope auth)
6
+ * Model: Uses CLI's default model (we don't specify)
7
+ *
8
+ * @see https://github.com/QwenLM/qwen-code
9
+ */
10
+ import type { CLIProviderConfig } from '../types.js';
11
+ /**
12
+ * Qwen provider configuration
13
+ *
14
+ * Design: AutomatosX does NOT manage credentials or model selection.
15
+ * The Qwen CLI handles all authentication and uses its configured default model.
16
+ */
17
+ export declare const qwenConfig: CLIProviderConfig;
18
+ //# sourceMappingURL=qwen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen.d.ts","sourceRoot":"","sources":["../../src/providers/qwen.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,EAAE,iBAqBxB,CAAC"}