@crewx/sdk 0.8.0-rc.58
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/LICENSE +201 -0
- package/README.md +1022 -0
- package/dist/adapters/MastraToolAdapter.d.ts +9 -0
- package/dist/adapters/MastraToolAdapter.js +66 -0
- package/dist/adapters/MastraToolAdapter.js.map +1 -0
- package/dist/api/index.d.ts +2 -0
- package/dist/api/index.js +8 -0
- package/dist/api/index.js.map +1 -0
- package/dist/boxing/box-storage.interface.d.ts +13 -0
- package/dist/boxing/box-storage.interface.js +3 -0
- package/dist/boxing/box-storage.interface.js.map +1 -0
- package/dist/boxing/box.service.d.ts +15 -0
- package/dist/boxing/box.service.js +70 -0
- package/dist/boxing/box.service.js.map +1 -0
- package/dist/boxing/box.types.d.ts +86 -0
- package/dist/boxing/box.types.js +3 -0
- package/dist/boxing/box.types.js.map +1 -0
- package/dist/boxing/context-builder.d.ts +8 -0
- package/dist/boxing/context-builder.js +76 -0
- package/dist/boxing/context-builder.js.map +1 -0
- package/dist/boxing/index.d.ts +6 -0
- package/dist/boxing/index.js +11 -0
- package/dist/boxing/index.js.map +1 -0
- package/dist/boxing/tokenizer.d.ts +3 -0
- package/dist/boxing/tokenizer.js +11 -0
- package/dist/boxing/tokenizer.js.map +1 -0
- package/dist/config/api-provider-parser.d.ts +58 -0
- package/dist/config/api-provider-parser.js +212 -0
- package/dist/config/api-provider-parser.js.map +1 -0
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.js +20 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/log.config.d.ts +7 -0
- package/dist/config/log.config.js +20 -0
- package/dist/config/log.config.js.map +1 -0
- package/dist/config/pricing.d.ts +10 -0
- package/dist/config/pricing.js +44 -0
- package/dist/config/pricing.js.map +1 -0
- package/dist/config/timeout.config.d.ts +14 -0
- package/dist/config/timeout.config.js +34 -0
- package/dist/config/timeout.config.js.map +1 -0
- package/dist/config/yaml-loader.d.ts +8 -0
- package/dist/config/yaml-loader.js +155 -0
- package/dist/config/yaml-loader.js.map +1 -0
- package/dist/constants/index.d.ts +4 -0
- package/dist/constants/index.js +8 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +18 -0
- package/dist/constants.js.map +1 -0
- package/dist/conversation/conversation-config.d.ts +9 -0
- package/dist/conversation/conversation-config.js +22 -0
- package/dist/conversation/conversation-config.js.map +1 -0
- package/dist/conversation/conversation-history.interface.d.ts +36 -0
- package/dist/conversation/conversation-history.interface.js +3 -0
- package/dist/conversation/conversation-history.interface.js.map +1 -0
- package/dist/conversation/conversation-storage.service.d.ts +16 -0
- package/dist/conversation/conversation-storage.service.js +213 -0
- package/dist/conversation/conversation-storage.service.js.map +1 -0
- package/dist/conversation/index.d.ts +3 -0
- package/dist/conversation/index.js +20 -0
- package/dist/conversation/index.js.map +1 -0
- package/dist/core/agent/agent-factory.d.ts +37 -0
- package/dist/core/agent/agent-factory.js +68 -0
- package/dist/core/agent/agent-factory.js.map +1 -0
- package/dist/core/agent/agent-runtime.d.ts +52 -0
- package/dist/core/agent/agent-runtime.js +206 -0
- package/dist/core/agent/agent-runtime.js.map +1 -0
- package/dist/core/agent/event-bus.d.ts +44 -0
- package/dist/core/agent/event-bus.js +43 -0
- package/dist/core/agent/event-bus.js.map +1 -0
- package/dist/core/agent/index.d.ts +3 -0
- package/dist/core/agent/index.js +13 -0
- package/dist/core/agent/index.js.map +1 -0
- package/dist/core/env-defaults.d.ts +1 -0
- package/dist/core/env-defaults.js +7 -0
- package/dist/core/env-defaults.js.map +1 -0
- package/dist/core/parallel/helpers.d.ts +27 -0
- package/dist/core/parallel/helpers.js +252 -0
- package/dist/core/parallel/helpers.js.map +1 -0
- package/dist/core/parallel/index.d.ts +4 -0
- package/dist/core/parallel/index.js +11 -0
- package/dist/core/parallel/index.js.map +1 -0
- package/dist/core/parallel/parallel-runner.d.ts +16 -0
- package/dist/core/parallel/parallel-runner.js +230 -0
- package/dist/core/parallel/parallel-runner.js.map +1 -0
- package/dist/core/parallel/types.d.ts +41 -0
- package/dist/core/parallel/types.js +3 -0
- package/dist/core/parallel/types.js.map +1 -0
- package/dist/core/providers/MastraAPIProvider.d.ts +31 -0
- package/dist/core/providers/MastraAPIProvider.js +365 -0
- package/dist/core/providers/MastraAPIProvider.js.map +1 -0
- package/dist/core/providers/ai-provider.interface.d.ts +78 -0
- package/dist/core/providers/ai-provider.interface.js +23 -0
- package/dist/core/providers/ai-provider.interface.js.map +1 -0
- package/dist/core/providers/base-ai.provider.d.ts +80 -0
- package/dist/core/providers/base-ai.provider.js +1183 -0
- package/dist/core/providers/base-ai.provider.js.map +1 -0
- package/dist/core/providers/base-ai.types.d.ts +26 -0
- package/dist/core/providers/base-ai.types.js +3 -0
- package/dist/core/providers/base-ai.types.js.map +1 -0
- package/dist/core/providers/claude.provider.d.ts +19 -0
- package/dist/core/providers/claude.provider.js +170 -0
- package/dist/core/providers/claude.provider.js.map +1 -0
- package/dist/core/providers/codex.provider.d.ts +21 -0
- package/dist/core/providers/codex.provider.js +134 -0
- package/dist/core/providers/codex.provider.js.map +1 -0
- package/dist/core/providers/copilot.provider.d.ts +24 -0
- package/dist/core/providers/copilot.provider.js +146 -0
- package/dist/core/providers/copilot.provider.js.map +1 -0
- package/dist/core/providers/dynamic-provider.factory.d.ts +74 -0
- package/dist/core/providers/dynamic-provider.factory.js +643 -0
- package/dist/core/providers/dynamic-provider.factory.js.map +1 -0
- package/dist/core/providers/gemini.provider.d.ts +16 -0
- package/dist/core/providers/gemini.provider.js +101 -0
- package/dist/core/providers/gemini.provider.js.map +1 -0
- package/dist/core/providers/index.d.ts +8 -0
- package/dist/core/providers/index.js +20 -0
- package/dist/core/providers/index.js.map +1 -0
- package/dist/core/providers/mock.provider.d.ts +13 -0
- package/dist/core/providers/mock.provider.js +55 -0
- package/dist/core/providers/mock.provider.js.map +1 -0
- package/dist/core/providers/provider-factory.d.ts +3 -0
- package/dist/core/providers/provider-factory.js +65 -0
- package/dist/core/providers/provider-factory.js.map +1 -0
- package/dist/core/providers/tool-call.types.d.ts +39 -0
- package/dist/core/providers/tool-call.types.js +3 -0
- package/dist/core/providers/tool-call.types.js.map +1 -0
- package/dist/core/remote/index.d.ts +3 -0
- package/dist/core/remote/index.js +20 -0
- package/dist/core/remote/index.js.map +1 -0
- package/dist/core/remote/remote-agent-manager.d.ts +24 -0
- package/dist/core/remote/remote-agent-manager.js +195 -0
- package/dist/core/remote/remote-agent-manager.js.map +1 -0
- package/dist/core/remote/remote-transport.d.ts +15 -0
- package/dist/core/remote/remote-transport.js +70 -0
- package/dist/core/remote/remote-transport.js.map +1 -0
- package/dist/core/remote/types.d.ts +79 -0
- package/dist/core/remote/types.js +3 -0
- package/dist/core/remote/types.js.map +1 -0
- package/dist/index.d.ts +56 -0
- package/dist/index.js +133 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/index.d.ts +1 -0
- package/dist/internal/index.js +6 -0
- package/dist/internal/index.js.map +1 -0
- package/dist/knowledge/DocumentManager.d.ts +4 -0
- package/dist/knowledge/DocumentManager.js +119 -0
- package/dist/knowledge/DocumentManager.js.map +1 -0
- package/dist/knowledge/index.d.ts +1 -0
- package/dist/knowledge/index.js +18 -0
- package/dist/knowledge/index.js.map +1 -0
- package/dist/parsers/agent-call.util.d.ts +3 -0
- package/dist/parsers/agent-call.util.js +17 -0
- package/dist/parsers/agent-call.util.js.map +1 -0
- package/dist/parsers/claude.parser.d.ts +2 -0
- package/dist/parsers/claude.parser.js +46 -0
- package/dist/parsers/claude.parser.js.map +1 -0
- package/dist/parsers/codex.parser.d.ts +2 -0
- package/dist/parsers/codex.parser.js +89 -0
- package/dist/parsers/codex.parser.js.map +1 -0
- package/dist/parsers/copilot.parser.d.ts +2 -0
- package/dist/parsers/copilot.parser.js +58 -0
- package/dist/parsers/copilot.parser.js.map +1 -0
- package/dist/parsers/gemini.parser.d.ts +2 -0
- package/dist/parsers/gemini.parser.js +36 -0
- package/dist/parsers/gemini.parser.js.map +1 -0
- package/dist/parsers/index.d.ts +7 -0
- package/dist/parsers/index.js +45 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/schema/skills-parser.d.ts +8 -0
- package/dist/schema/skills-parser.js +438 -0
- package/dist/schema/skills-parser.js.map +1 -0
- package/dist/schema/skills.types.d.ts +158 -0
- package/dist/schema/skills.types.js +41 -0
- package/dist/schema/skills.types.js.map +1 -0
- package/dist/schemas/api-provider.schema.d.ts +432 -0
- package/dist/schemas/api-provider.schema.js +50 -0
- package/dist/schemas/api-provider.schema.js.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.js +19 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/layout-loader.service.d.ts +18 -0
- package/dist/services/layout-loader.service.js +271 -0
- package/dist/services/layout-loader.service.js.map +1 -0
- package/dist/services/layout-renderer.service.d.ts +34 -0
- package/dist/services/layout-renderer.service.js +325 -0
- package/dist/services/layout-renderer.service.js.map +1 -0
- package/dist/services/props-validator.service.d.ts +29 -0
- package/dist/services/props-validator.service.js +332 -0
- package/dist/services/props-validator.service.js.map +1 -0
- package/dist/skills/adapter/claude-skill-adapter.d.ts +11 -0
- package/dist/skills/adapter/claude-skill-adapter.js +222 -0
- package/dist/skills/adapter/claude-skill-adapter.js.map +1 -0
- package/dist/skills/index.d.ts +6 -0
- package/dist/skills/index.js +31 -0
- package/dist/skills/index.js.map +1 -0
- package/dist/skills/runtime/progressive-loader.d.ts +27 -0
- package/dist/skills/runtime/progressive-loader.js +186 -0
- package/dist/skills/runtime/progressive-loader.js.map +1 -0
- package/dist/skills/runtime/runtime-requirements-validator.d.ts +23 -0
- package/dist/skills/runtime/runtime-requirements-validator.js +248 -0
- package/dist/skills/runtime/runtime-requirements-validator.js.map +1 -0
- package/dist/skills/runtime/skill-runtime.service.d.ts +42 -0
- package/dist/skills/runtime/skill-runtime.service.js +434 -0
- package/dist/skills/runtime/skill-runtime.service.js.map +1 -0
- package/dist/tools/file-system.service.d.ts +10 -0
- package/dist/tools/file-system.service.js +33 -0
- package/dist/tools/file-system.service.js.map +1 -0
- package/dist/tools/find.tool.d.ts +85 -0
- package/dist/tools/find.tool.js +139 -0
- package/dist/tools/find.tool.js.map +1 -0
- package/dist/tools/glob.tool.d.ts +100 -0
- package/dist/tools/glob.tool.js +153 -0
- package/dist/tools/glob.tool.js.map +1 -0
- package/dist/tools/grep.tool.d.ts +30 -0
- package/dist/tools/grep.tool.js +137 -0
- package/dist/tools/grep.tool.js.map +1 -0
- package/dist/tools/index.d.ts +12 -0
- package/dist/tools/index.js +40 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/ls.tool.d.ts +24 -0
- package/dist/tools/ls.tool.js +94 -0
- package/dist/tools/ls.tool.js.map +1 -0
- package/dist/tools/read-file.tool.d.ts +30 -0
- package/dist/tools/read-file.tool.js +69 -0
- package/dist/tools/read-file.tool.js.map +1 -0
- package/dist/tools/replace.tool.d.ts +36 -0
- package/dist/tools/replace.tool.js +68 -0
- package/dist/tools/replace.tool.js.map +1 -0
- package/dist/tools/run-shell-command.tool.d.ts +24 -0
- package/dist/tools/run-shell-command.tool.js +64 -0
- package/dist/tools/run-shell-command.tool.js.map +1 -0
- package/dist/tools/tree.tool.d.ts +24 -0
- package/dist/tools/tree.tool.js +109 -0
- package/dist/tools/tree.tool.js.map +1 -0
- package/dist/tools/types.d.ts +42 -0
- package/dist/tools/types.js +13 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/utils/file-utils.d.ts +5 -0
- package/dist/tools/utils/file-utils.js +221 -0
- package/dist/tools/utils/file-utils.js.map +1 -0
- package/dist/tools/write-file.tool.d.ts +24 -0
- package/dist/tools/write-file.tool.js +55 -0
- package/dist/tools/write-file.tool.js.map +1 -0
- package/dist/types/agent.types.d.ts +134 -0
- package/dist/types/agent.types.js +16 -0
- package/dist/types/agent.types.js.map +1 -0
- package/dist/types/api-provider.types.d.ts +85 -0
- package/dist/types/api-provider.types.js +65 -0
- package/dist/types/api-provider.types.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.js +23 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/layout.types.d.ts +115 -0
- package/dist/types/layout.types.js +22 -0
- package/dist/types/layout.types.js.map +1 -0
- package/dist/types/provider.types.d.ts +12 -0
- package/dist/types/provider.types.js +3 -0
- package/dist/types/provider.types.js.map +1 -0
- package/dist/types/skill-runtime.types.d.ts +244 -0
- package/dist/types/skill-runtime.types.js +44 -0
- package/dist/types/skill-runtime.types.js.map +1 -0
- package/dist/types/structured-payload.types.d.ts +46 -0
- package/dist/types/structured-payload.types.js +65 -0
- package/dist/types/structured-payload.types.js.map +1 -0
- package/dist/types/task-log.types.d.ts +14 -0
- package/dist/types/task-log.types.js +3 -0
- package/dist/types/task-log.types.js.map +1 -0
- package/dist/types/template.types.d.ts +38 -0
- package/dist/types/template.types.js +3 -0
- package/dist/types/template.types.js.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.js +18 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/api-provider-normalizer.d.ts +16 -0
- package/dist/utils/api-provider-normalizer.js +135 -0
- package/dist/utils/api-provider-normalizer.js.map +1 -0
- package/dist/utils/base-message-formatter.d.ts +32 -0
- package/dist/utils/base-message-formatter.js +170 -0
- package/dist/utils/base-message-formatter.js.map +1 -0
- package/dist/utils/error-utils.d.ts +3 -0
- package/dist/utils/error-utils.js +27 -0
- package/dist/utils/error-utils.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/math-utils.d.ts +3 -0
- package/dist/utils/math-utils.js +10 -0
- package/dist/utils/math-utils.js.map +1 -0
- package/dist/utils/mention-parser.d.ts +18 -0
- package/dist/utils/mention-parser.js +136 -0
- package/dist/utils/mention-parser.js.map +1 -0
- package/dist/utils/string-utils.d.ts +1 -0
- package/dist/utils/string-utils.js +10 -0
- package/dist/utils/string-utils.js.map +1 -0
- package/dist/utils.d.ts +3 -0
- package/dist/utils.js +20 -0
- package/dist/utils.js.map +1 -0
- package/package.json +134 -0
- package/schema/api-provider-config.json +138 -0
- package/schema/crewx-config.json +224 -0
- package/schema/skills-config.json +306 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-ai.provider.js","sourceRoot":"","sources":["../../../src/core/providers/base-ai.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { TimeoutConfig } from '../../config/timeout.config';
|
|
2
|
+
import type { LogConfig } from '../../config/log.config';
|
|
3
|
+
import type { ToolCallHandler } from './tool-call.types';
|
|
4
|
+
export interface LoggerLike {
|
|
5
|
+
log(message: string, ...optionalParams: any[]): void;
|
|
6
|
+
warn(message: string, ...optionalParams: any[]): void;
|
|
7
|
+
error(message: string | Error, ...optionalParams: any[]): void;
|
|
8
|
+
}
|
|
9
|
+
export type ProviderTaskLogLevel = 'STDOUT' | 'STDERR' | 'INFO' | 'ERROR';
|
|
10
|
+
export interface ProviderTaskLogEntry {
|
|
11
|
+
taskId: string;
|
|
12
|
+
timestamp: string;
|
|
13
|
+
level: ProviderTaskLogLevel;
|
|
14
|
+
message: string;
|
|
15
|
+
}
|
|
16
|
+
export type ProviderTaskLogHandler = (entry: ProviderTaskLogEntry) => void;
|
|
17
|
+
export interface BaseAIProviderOptions {
|
|
18
|
+
logger?: LoggerLike;
|
|
19
|
+
toolCallHandler?: ToolCallHandler;
|
|
20
|
+
logsDir?: string;
|
|
21
|
+
timeoutConfig?: TimeoutConfig;
|
|
22
|
+
logConfig?: LogConfig;
|
|
23
|
+
crewxVersion?: string;
|
|
24
|
+
taskLogHandler?: ProviderTaskLogHandler;
|
|
25
|
+
}
|
|
26
|
+
export type AIProviderConfig = BaseAIProviderOptions;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-ai.types.js","sourceRoot":"","sources":["../../../src/core/providers/base-ai.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { BaseAIProvider } from './base-ai.provider';
|
|
2
|
+
import type { BaseAIProviderOptions } from './base-ai.types';
|
|
3
|
+
import { type AIQueryOptions, type AIResponse } from './ai-provider.interface';
|
|
4
|
+
export declare class ClaudeProvider extends BaseAIProvider {
|
|
5
|
+
readonly name: "cli/claude";
|
|
6
|
+
constructor(options?: BaseAIProviderOptions);
|
|
7
|
+
protected getCliCommand(): string;
|
|
8
|
+
protected getDefaultArgs(): string[];
|
|
9
|
+
protected getExecuteArgs(): string[];
|
|
10
|
+
protected getNotInstalledMessage(): string;
|
|
11
|
+
private parseJsonlResponse;
|
|
12
|
+
private isStreamJsonEnabled;
|
|
13
|
+
query(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
|
|
14
|
+
execute(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
|
|
15
|
+
parseProviderError(stderr: string, stdout: string): {
|
|
16
|
+
error: boolean;
|
|
17
|
+
message: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClaudeProvider = void 0;
|
|
4
|
+
const base_ai_provider_1 = require("./base-ai.provider");
|
|
5
|
+
const ai_provider_interface_1 = require("./ai-provider.interface");
|
|
6
|
+
class ClaudeProvider extends base_ai_provider_1.BaseAIProvider {
|
|
7
|
+
constructor(options = {}) {
|
|
8
|
+
super('ClaudeProvider', options);
|
|
9
|
+
this.name = ai_provider_interface_1.BuiltInProviders.CLAUDE;
|
|
10
|
+
}
|
|
11
|
+
getCliCommand() {
|
|
12
|
+
return 'claude';
|
|
13
|
+
}
|
|
14
|
+
getDefaultArgs() {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
getExecuteArgs() {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
getNotInstalledMessage() {
|
|
21
|
+
return 'Claude CLI is not installed. Please install it from https://claude.ai/download.';
|
|
22
|
+
}
|
|
23
|
+
parseJsonlResponse(content) {
|
|
24
|
+
const lines = content.split('\n').filter(line => line.trim());
|
|
25
|
+
const assistantTexts = [];
|
|
26
|
+
let resultText = null;
|
|
27
|
+
for (const line of lines) {
|
|
28
|
+
try {
|
|
29
|
+
const parsed = JSON.parse(line);
|
|
30
|
+
if (parsed.type === 'assistant' && parsed.message?.content) {
|
|
31
|
+
const msgContent = parsed.message.content;
|
|
32
|
+
if (!Array.isArray(msgContent))
|
|
33
|
+
continue;
|
|
34
|
+
for (const block of msgContent) {
|
|
35
|
+
if (block.type === 'text' && block.text?.trim()) {
|
|
36
|
+
assistantTexts.push(block.text.trim());
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if (parsed.type === 'result' && parsed.result) {
|
|
41
|
+
resultText = parsed.result;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (assistantTexts.length > 0) {
|
|
48
|
+
this.logger.log('Extracted assistant texts from JSONL stream');
|
|
49
|
+
return assistantTexts.join('\n\n');
|
|
50
|
+
}
|
|
51
|
+
if (resultText) {
|
|
52
|
+
this.logger.log('Falling back to result event from JSONL stream');
|
|
53
|
+
return resultText;
|
|
54
|
+
}
|
|
55
|
+
this.logger.error(`JSONL parse failed: no assistant message extracted (rawLength=${content.length})`);
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
isStreamJsonEnabled(options = {}) {
|
|
59
|
+
const args = options.additionalArgs || [];
|
|
60
|
+
const hasOutputFormat = args.some((arg, idx) => {
|
|
61
|
+
if (arg === '--output-format' && args[idx + 1] === 'stream-json') {
|
|
62
|
+
return true;
|
|
63
|
+
}
|
|
64
|
+
if (arg === '--output-format=stream-json') {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
});
|
|
69
|
+
return hasOutputFormat;
|
|
70
|
+
}
|
|
71
|
+
async query(prompt, options = {}) {
|
|
72
|
+
const response = await super.query(prompt, options);
|
|
73
|
+
if (response.success && response.content && this.isStreamJsonEnabled(options)) {
|
|
74
|
+
const parsedContent = this.parseJsonlResponse(response.content);
|
|
75
|
+
if (parsedContent === null) {
|
|
76
|
+
return {
|
|
77
|
+
...response,
|
|
78
|
+
success: false,
|
|
79
|
+
content: '',
|
|
80
|
+
error: `[CREWX_PARSE_ERROR] Failed to extract assistant message from JSONL stream. Provider: ${this.name}. Raw output: ${response.content.length} chars. Hint: AI CLI returned an unexpected format. Try running the command directly.`,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
...response,
|
|
85
|
+
content: parsedContent,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return response;
|
|
89
|
+
}
|
|
90
|
+
async execute(prompt, options = {}) {
|
|
91
|
+
const response = await super.execute(prompt, options);
|
|
92
|
+
if (response.success && response.content && this.isStreamJsonEnabled(options)) {
|
|
93
|
+
const parsedContent = this.parseJsonlResponse(response.content);
|
|
94
|
+
if (parsedContent === null) {
|
|
95
|
+
return {
|
|
96
|
+
...response,
|
|
97
|
+
success: false,
|
|
98
|
+
content: '',
|
|
99
|
+
error: `[CREWX_PARSE_ERROR] Failed to extract assistant message from JSONL stream. Provider: ${this.name}. Raw output: ${response.content.length} chars. Hint: AI CLI returned an unexpected format. Try running the command directly.`,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
return {
|
|
103
|
+
...response,
|
|
104
|
+
content: parsedContent,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
return response;
|
|
108
|
+
}
|
|
109
|
+
parseProviderError(stderr, stdout) {
|
|
110
|
+
const combinedOutput = stderr || stdout;
|
|
111
|
+
if (combinedOutput.includes('Session limit reached')) {
|
|
112
|
+
const resetMatch = combinedOutput.match(/resets (\d+(?::\d+)?(?:am|pm))/i);
|
|
113
|
+
const resetTime = resetMatch ? resetMatch[1] : 'later today';
|
|
114
|
+
return {
|
|
115
|
+
error: true,
|
|
116
|
+
message: `Claude Pro session limit reached. Your limit will reset at ${resetTime}. Please try again after the reset or use another AI agent (Gemini or Copilot) in the meantime.`,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
if (stderr && (stderr.includes('authentication required') || stderr.includes('Please run `claude login`'))) {
|
|
120
|
+
return {
|
|
121
|
+
error: true,
|
|
122
|
+
message: 'Claude CLI authentication required. Please run `claude login` to authenticate.',
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
if (stdout && stdout.trim().length > 0) {
|
|
126
|
+
return { error: false, message: '' };
|
|
127
|
+
}
|
|
128
|
+
if (stderr && stderr.trim().length > 0) {
|
|
129
|
+
const errorIndicators = [
|
|
130
|
+
/^Error:/im,
|
|
131
|
+
/^error:/im,
|
|
132
|
+
/^Failed:/im,
|
|
133
|
+
/^Unable to/im,
|
|
134
|
+
/unknown option/i,
|
|
135
|
+
/invalid option/i,
|
|
136
|
+
/command not found/i,
|
|
137
|
+
/no such file/i,
|
|
138
|
+
/permission denied/i,
|
|
139
|
+
/ECONNREFUSED/,
|
|
140
|
+
/ETIMEDOUT/,
|
|
141
|
+
/ENOTFOUND/,
|
|
142
|
+
/EHOSTUNREACH/,
|
|
143
|
+
/\bconnection refused\b/i,
|
|
144
|
+
/\bnetwork error\b/i,
|
|
145
|
+
/\brequest failed\b/i,
|
|
146
|
+
];
|
|
147
|
+
const debugLogPatterns = [
|
|
148
|
+
/follow-redirects options/,
|
|
149
|
+
/spawn-rx/,
|
|
150
|
+
/\[Function:/,
|
|
151
|
+
/connectionListener/,
|
|
152
|
+
/maxRedirects:/,
|
|
153
|
+
/\{[\s\S]*protocol:.*\}/,
|
|
154
|
+
];
|
|
155
|
+
const isDebugLog = debugLogPatterns.some(pattern => pattern.test(stderr));
|
|
156
|
+
if (isDebugLog) {
|
|
157
|
+
return { error: false, message: '' };
|
|
158
|
+
}
|
|
159
|
+
const hasError = errorIndicators.some(pattern => pattern.test(stderr));
|
|
160
|
+
if (hasError) {
|
|
161
|
+
const lines = stderr.split('\n');
|
|
162
|
+
const firstLine = lines[0]?.trim() || stderr.trim();
|
|
163
|
+
return { error: true, message: firstLine };
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return { error: false, message: '' };
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
exports.ClaudeProvider = ClaudeProvider;
|
|
170
|
+
//# sourceMappingURL=claude.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.provider.js","sourceRoot":"","sources":["../../../src/core/providers/claude.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { BaseAIProvider } from './base-ai.provider';
|
|
2
|
+
import type { BaseAIProviderOptions } from './base-ai.types';
|
|
3
|
+
import type { AIQueryOptions, AIResponse } from './ai-provider.interface';
|
|
4
|
+
export declare class CodexProvider extends BaseAIProvider {
|
|
5
|
+
readonly name = "cli/codex";
|
|
6
|
+
constructor(options?: BaseAIProviderOptions);
|
|
7
|
+
protected getCliCommand(): string;
|
|
8
|
+
protected getDefaultArgs(): string[];
|
|
9
|
+
protected getExecuteArgs(): string[];
|
|
10
|
+
protected getNotInstalledMessage(): string;
|
|
11
|
+
protected getPromptInArgs(): boolean;
|
|
12
|
+
protected shouldPipeContext(): boolean;
|
|
13
|
+
private isExperimentalJsonEnabled;
|
|
14
|
+
parseProviderError(stderr: string, stdout: string): {
|
|
15
|
+
error: boolean;
|
|
16
|
+
message: string;
|
|
17
|
+
};
|
|
18
|
+
private parseJsonlResponse;
|
|
19
|
+
query(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
|
|
20
|
+
execute(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodexProvider = void 0;
|
|
4
|
+
const base_ai_provider_1 = require("./base-ai.provider");
|
|
5
|
+
class CodexProvider extends base_ai_provider_1.BaseAIProvider {
|
|
6
|
+
constructor(options = {}) {
|
|
7
|
+
super('CodexProvider', options);
|
|
8
|
+
this.name = 'cli/codex';
|
|
9
|
+
}
|
|
10
|
+
getCliCommand() {
|
|
11
|
+
return 'codex';
|
|
12
|
+
}
|
|
13
|
+
getDefaultArgs() {
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
getExecuteArgs() {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
getNotInstalledMessage() {
|
|
20
|
+
return 'Codex CLI is not installed. Please install it first.';
|
|
21
|
+
}
|
|
22
|
+
getPromptInArgs() {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
shouldPipeContext() {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
isExperimentalJsonEnabled(options = {}) {
|
|
29
|
+
const args = options.additionalArgs || [];
|
|
30
|
+
return args.includes('--experimental-json');
|
|
31
|
+
}
|
|
32
|
+
parseProviderError(stderr, stdout) {
|
|
33
|
+
if (stderr && (stderr.includes('not logged in') || stderr.includes('authentication required'))) {
|
|
34
|
+
return {
|
|
35
|
+
error: true,
|
|
36
|
+
message: 'Codex CLI authentication required. Please run `codex login` to authenticate.',
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
if (stderr && stderr.includes('rate limit')) {
|
|
40
|
+
return {
|
|
41
|
+
error: true,
|
|
42
|
+
message: 'Codex API rate limit reached. Please try again later.',
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
if (stdout && stdout.trim().length > 0) {
|
|
46
|
+
return { error: false, message: '' };
|
|
47
|
+
}
|
|
48
|
+
if (stderr && stderr.trim().length > 0) {
|
|
49
|
+
return { error: true, message: stderr.split('\n')[0]?.trim() || 'Unknown error' };
|
|
50
|
+
}
|
|
51
|
+
return super.parseProviderError(stderr, stdout);
|
|
52
|
+
}
|
|
53
|
+
parseJsonlResponse(content) {
|
|
54
|
+
const trimmed = content.trim();
|
|
55
|
+
if (!trimmed.startsWith('{') || !trimmed.includes('"type"')) {
|
|
56
|
+
return content;
|
|
57
|
+
}
|
|
58
|
+
const lines = content.split('\n').map(line => line.trim()).filter(Boolean);
|
|
59
|
+
let assistantMessage = null;
|
|
60
|
+
for (const line of lines) {
|
|
61
|
+
try {
|
|
62
|
+
const parsed = JSON.parse(line);
|
|
63
|
+
if (parsed?.type === 'item.completed' &&
|
|
64
|
+
(parsed?.item?.item_type === 'assistant_message' || parsed?.item?.type === 'agent_message') &&
|
|
65
|
+
typeof parsed.item.text === 'string') {
|
|
66
|
+
assistantMessage = parsed.item.text.trim();
|
|
67
|
+
}
|
|
68
|
+
else if ((parsed?.item?.item_type === 'assistant_message' || parsed?.item?.type === 'agent_message') &&
|
|
69
|
+
typeof parsed.item.text === 'string') {
|
|
70
|
+
assistantMessage = parsed.item.text.trim();
|
|
71
|
+
}
|
|
72
|
+
else if (parsed?.response?.output &&
|
|
73
|
+
Array.isArray(parsed.response.output)) {
|
|
74
|
+
const assistantEntries = parsed.response.output.filter((entry) => entry?.item_type === 'assistant_message' || entry?.type === 'agent_message');
|
|
75
|
+
if (assistantEntries.length > 0) {
|
|
76
|
+
const lastMessage = assistantEntries[assistantEntries.length - 1];
|
|
77
|
+
if (lastMessage?.text) {
|
|
78
|
+
assistantMessage = String(lastMessage.text).trim();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
if (assistantMessage) {
|
|
88
|
+
this.logger.log('✅ Extracted assistant message from Codex JSONL stream');
|
|
89
|
+
return assistantMessage;
|
|
90
|
+
}
|
|
91
|
+
this.logger.error(`JSONL parse failed: no assistant message extracted (rawLength=${content.length})`);
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
async query(prompt, options = {}) {
|
|
95
|
+
const response = await super.query(prompt, options);
|
|
96
|
+
if (response.success && response.content && this.isExperimentalJsonEnabled(options)) {
|
|
97
|
+
const parsedContent = this.parseJsonlResponse(response.content);
|
|
98
|
+
if (parsedContent === null) {
|
|
99
|
+
return {
|
|
100
|
+
...response,
|
|
101
|
+
success: false,
|
|
102
|
+
content: '',
|
|
103
|
+
error: `[CREWX_PARSE_ERROR] Failed to extract assistant message from JSONL stream. Provider: ${this.name}. Raw output: ${response.content.length} chars. Hint: AI CLI returned an unexpected format. Try running the command directly.`,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
...response,
|
|
108
|
+
content: parsedContent,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
return response;
|
|
112
|
+
}
|
|
113
|
+
async execute(prompt, options = {}) {
|
|
114
|
+
const response = await super.execute(prompt, options);
|
|
115
|
+
if (response.success && response.content && this.isExperimentalJsonEnabled(options)) {
|
|
116
|
+
const parsedContent = this.parseJsonlResponse(response.content);
|
|
117
|
+
if (parsedContent === null) {
|
|
118
|
+
return {
|
|
119
|
+
...response,
|
|
120
|
+
success: false,
|
|
121
|
+
content: '',
|
|
122
|
+
error: `[CREWX_PARSE_ERROR] Failed to extract assistant message from JSONL stream. Provider: ${this.name}. Raw output: ${response.content.length} chars. Hint: AI CLI returned an unexpected format. Try running the command directly.`,
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
...response,
|
|
127
|
+
content: parsedContent,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
return response;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.CodexProvider = CodexProvider;
|
|
134
|
+
//# sourceMappingURL=codex.provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex.provider.js","sourceRoot":"","sources":["../../../src/core/providers/codex.provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { BaseAIProvider } from './base-ai.provider';
|
|
2
|
+
import type { BaseAIProviderOptions } from './base-ai.types';
|
|
3
|
+
import { type AIQueryOptions, type AIResponse } from './ai-provider.interface';
|
|
4
|
+
export declare class CopilotProvider extends BaseAIProvider {
|
|
5
|
+
readonly name: "cli/copilot";
|
|
6
|
+
constructor(options?: BaseAIProviderOptions);
|
|
7
|
+
protected getCliCommand(): string;
|
|
8
|
+
protected getDefaultArgs(): string[];
|
|
9
|
+
protected getExecuteArgs(): string[];
|
|
10
|
+
protected getPromptInArgs(): boolean;
|
|
11
|
+
protected getNotInstalledMessage(): string;
|
|
12
|
+
private isJsonOutputEnabled;
|
|
13
|
+
private parseJsonlResponse;
|
|
14
|
+
protected parseUsage(stdout: string): {
|
|
15
|
+
inputTokens: number;
|
|
16
|
+
outputTokens: number;
|
|
17
|
+
} | undefined;
|
|
18
|
+
query(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
|
|
19
|
+
execute(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
|
|
20
|
+
parseProviderError(stderr: string, stdout: string): {
|
|
21
|
+
error: boolean;
|
|
22
|
+
message: string;
|
|
23
|
+
};
|
|
24
|
+
}
|