@aituber-onair/chat 0.30.0 → 0.32.0
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/README.ja.md +262 -2
- package/README.md +280 -2
- package/dist/cjs/agent.d.ts +3 -0
- package/dist/cjs/agent.d.ts.map +1 -0
- package/dist/cjs/agent.js +21 -0
- package/dist/cjs/agent.js.map +1 -0
- package/dist/cjs/services/providers/agent/ClaudeAgentSDKChatService.d.ts +39 -0
- package/dist/cjs/services/providers/agent/ClaudeAgentSDKChatService.d.ts.map +1 -0
- package/dist/cjs/services/providers/agent/ClaudeAgentSDKChatService.js +103 -0
- package/dist/cjs/services/providers/agent/ClaudeAgentSDKChatService.js.map +1 -0
- package/dist/cjs/services/providers/agent/ClaudeAgentSDKChatServiceProvider.d.ts +14 -0
- package/dist/cjs/services/providers/agent/ClaudeAgentSDKChatServiceProvider.d.ts.map +1 -0
- package/dist/cjs/services/providers/agent/ClaudeAgentSDKChatServiceProvider.js +31 -0
- package/dist/cjs/services/providers/agent/ClaudeAgentSDKChatServiceProvider.js.map +1 -0
- package/dist/cjs/services/providers/agent/CodexSDKChatService.d.ts +29 -0
- package/dist/cjs/services/providers/agent/CodexSDKChatService.d.ts.map +1 -0
- package/dist/cjs/services/providers/agent/CodexSDKChatService.js +65 -0
- package/dist/cjs/services/providers/agent/CodexSDKChatService.js.map +1 -0
- package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.d.ts +14 -0
- package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.d.ts.map +1 -0
- package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.js +31 -0
- package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.js.map +1 -0
- package/dist/cjs/services/providers/agent/CopilotSDKChatService.d.ts +48 -0
- package/dist/cjs/services/providers/agent/CopilotSDKChatService.d.ts.map +1 -0
- package/dist/cjs/services/providers/agent/CopilotSDKChatService.js +79 -0
- package/dist/cjs/services/providers/agent/CopilotSDKChatService.js.map +1 -0
- package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.d.ts +14 -0
- package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.d.ts.map +1 -0
- package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.js +31 -0
- package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.js.map +1 -0
- package/dist/cjs/services/providers/agent/index.d.ts +24 -0
- package/dist/cjs/services/providers/agent/index.d.ts.map +1 -0
- package/dist/cjs/services/providers/agent/index.js +33 -0
- package/dist/cjs/services/providers/agent/index.js.map +1 -0
- package/dist/cjs/services/providers/agent/shared.d.ts +36 -0
- package/dist/cjs/services/providers/agent/shared.d.ts.map +1 -0
- package/dist/cjs/services/providers/agent/shared.js +122 -0
- package/dist/cjs/services/providers/agent/shared.js.map +1 -0
- package/dist/esm/agent.d.ts +3 -0
- package/dist/esm/agent.d.ts.map +1 -0
- package/dist/esm/agent.js +5 -0
- package/dist/esm/agent.js.map +1 -0
- package/dist/esm/services/providers/agent/ClaudeAgentSDKChatService.d.ts +39 -0
- package/dist/esm/services/providers/agent/ClaudeAgentSDKChatService.d.ts.map +1 -0
- package/dist/esm/services/providers/agent/ClaudeAgentSDKChatService.js +99 -0
- package/dist/esm/services/providers/agent/ClaudeAgentSDKChatService.js.map +1 -0
- package/dist/esm/services/providers/agent/ClaudeAgentSDKChatServiceProvider.d.ts +14 -0
- package/dist/esm/services/providers/agent/ClaudeAgentSDKChatServiceProvider.d.ts.map +1 -0
- package/dist/esm/services/providers/agent/ClaudeAgentSDKChatServiceProvider.js +27 -0
- package/dist/esm/services/providers/agent/ClaudeAgentSDKChatServiceProvider.js.map +1 -0
- package/dist/esm/services/providers/agent/CodexSDKChatService.d.ts +29 -0
- package/dist/esm/services/providers/agent/CodexSDKChatService.d.ts.map +1 -0
- package/dist/esm/services/providers/agent/CodexSDKChatService.js +61 -0
- package/dist/esm/services/providers/agent/CodexSDKChatService.js.map +1 -0
- package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.d.ts +14 -0
- package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.d.ts.map +1 -0
- package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.js +27 -0
- package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.js.map +1 -0
- package/dist/esm/services/providers/agent/CopilotSDKChatService.d.ts +48 -0
- package/dist/esm/services/providers/agent/CopilotSDKChatService.d.ts.map +1 -0
- package/dist/esm/services/providers/agent/CopilotSDKChatService.js +75 -0
- package/dist/esm/services/providers/agent/CopilotSDKChatService.js.map +1 -0
- package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.d.ts +14 -0
- package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.d.ts.map +1 -0
- package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.js +27 -0
- package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.js.map +1 -0
- package/dist/esm/services/providers/agent/index.d.ts +24 -0
- package/dist/esm/services/providers/agent/index.d.ts.map +1 -0
- package/dist/esm/services/providers/agent/index.js +19 -0
- package/dist/esm/services/providers/agent/index.js.map +1 -0
- package/dist/esm/services/providers/agent/shared.d.ts +36 -0
- package/dist/esm/services/providers/agent/shared.d.ts.map +1 -0
- package/dist/esm/services/providers/agent/shared.js +116 -0
- package/dist/esm/services/providers/agent/shared.js.map +1 -0
- package/package.json +6 -1
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClaudeAgentSDKChatService = exports.DEFAULT_CLAUDE_AGENT_SDK_MODEL = void 0;
|
|
4
|
+
const shared_1 = require("./shared");
|
|
5
|
+
exports.DEFAULT_CLAUDE_AGENT_SDK_MODEL = 'claude-default';
|
|
6
|
+
class ClaudeAgentSDKChatService extends shared_1.AgentTextChatService {
|
|
7
|
+
constructor(options = {}, loadSDK = loadClaudeAgentSDK) {
|
|
8
|
+
const model = options.model ?? exports.DEFAULT_CLAUDE_AGENT_SDK_MODEL;
|
|
9
|
+
super({
|
|
10
|
+
provider: 'claude-agent-sdk',
|
|
11
|
+
model,
|
|
12
|
+
defaultModel: exports.DEFAULT_CLAUDE_AGENT_SDK_MODEL,
|
|
13
|
+
responseLength: options.responseLength,
|
|
14
|
+
getResponse: async (prompt, stream, onPartialResponse) => {
|
|
15
|
+
try {
|
|
16
|
+
return await runClaudeAgentPrompt(loadSDK, model, options, prompt, stream, onPartialResponse);
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
throw (0, shared_1.wrapAgentProviderError)('claude-agent-sdk', error);
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.ClaudeAgentSDKChatService = ClaudeAgentSDKChatService;
|
|
26
|
+
async function runClaudeAgentPrompt(loadSDK, model, options, prompt, stream, onPartialResponse) {
|
|
27
|
+
const { query } = await loadSDK();
|
|
28
|
+
let finalText = '';
|
|
29
|
+
let streamedText = '';
|
|
30
|
+
const queryOptions = {
|
|
31
|
+
tools: [],
|
|
32
|
+
permissionMode: 'dontAsk',
|
|
33
|
+
settingSources: [],
|
|
34
|
+
...(options.model ? { model } : {}),
|
|
35
|
+
...(options.workingDirectory ? { cwd: options.workingDirectory } : {}),
|
|
36
|
+
...(options.maxTurns !== undefined ? { maxTurns: options.maxTurns } : {}),
|
|
37
|
+
...(options.pathToClaudeCodeExecutable
|
|
38
|
+
? { pathToClaudeCodeExecutable: options.pathToClaudeCodeExecutable }
|
|
39
|
+
: {}),
|
|
40
|
+
...(options.env ? { env: options.env } : {}),
|
|
41
|
+
...(stream ? { includePartialMessages: true } : {}),
|
|
42
|
+
};
|
|
43
|
+
for await (const message of query({ prompt, options: queryOptions })) {
|
|
44
|
+
const delta = extractTextDelta(message);
|
|
45
|
+
if (stream && delta) {
|
|
46
|
+
streamedText += delta;
|
|
47
|
+
onPartialResponse(delta);
|
|
48
|
+
}
|
|
49
|
+
if (isResultMessage(message)) {
|
|
50
|
+
if (message.is_error) {
|
|
51
|
+
throw new Error(formatClaudeAgentResultError(message.errors));
|
|
52
|
+
}
|
|
53
|
+
if (typeof message.result === 'string') {
|
|
54
|
+
finalText = message.result;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (!finalText) {
|
|
59
|
+
throw new Error('claude-agent-sdk provider received an empty response.');
|
|
60
|
+
}
|
|
61
|
+
if (stream && streamedText === '') {
|
|
62
|
+
onPartialResponse(finalText);
|
|
63
|
+
}
|
|
64
|
+
return finalText;
|
|
65
|
+
}
|
|
66
|
+
function extractTextDelta(message) {
|
|
67
|
+
if (!isStreamEventMessage(message)) {
|
|
68
|
+
return undefined;
|
|
69
|
+
}
|
|
70
|
+
const delta = message.event?.delta;
|
|
71
|
+
if (delta?.type === 'text_delta' && typeof delta.text === 'string') {
|
|
72
|
+
return delta.text;
|
|
73
|
+
}
|
|
74
|
+
return undefined;
|
|
75
|
+
}
|
|
76
|
+
function isStreamEventMessage(message) {
|
|
77
|
+
return message.type === 'stream_event';
|
|
78
|
+
}
|
|
79
|
+
function isResultMessage(message) {
|
|
80
|
+
return message.type === 'result';
|
|
81
|
+
}
|
|
82
|
+
function formatClaudeAgentResultError(errors) {
|
|
83
|
+
if (Array.isArray(errors) && errors.length > 0) {
|
|
84
|
+
return errors
|
|
85
|
+
.map((error) => (typeof error === 'string' ? error : String(error)))
|
|
86
|
+
.join('\n');
|
|
87
|
+
}
|
|
88
|
+
return 'claude-agent-sdk provider failed during execution.';
|
|
89
|
+
}
|
|
90
|
+
async function loadClaudeAgentSDK() {
|
|
91
|
+
try {
|
|
92
|
+
return (await dynamicImport('@anthropic-ai/claude-agent-sdk'));
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
const message = 'claude-agent-sdk provider requires @anthropic-ai/claude-agent-sdk. ' +
|
|
96
|
+
'Install it in your JavaScript runtime project and authenticate with Claude Agent SDK.';
|
|
97
|
+
const wrappedError = new Error(message);
|
|
98
|
+
wrappedError.cause = error;
|
|
99
|
+
throw wrappedError;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
const dynamicImport = new Function('specifier', 'return import(specifier)');
|
|
103
|
+
//# sourceMappingURL=ClaudeAgentSDKChatService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeAgentSDKChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/ClaudeAgentSDKChatService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChatService } from '../../ChatService';
|
|
2
|
+
import { ChatServiceProvider, VisionSupportLevel } from '../ChatServiceProvider';
|
|
3
|
+
import { ClaudeAgentSDKChatServiceOptions, ClaudeAgentSDKLoader } from './ClaudeAgentSDKChatService';
|
|
4
|
+
export declare class ClaudeAgentSDKChatServiceProvider implements ChatServiceProvider<ClaudeAgentSDKChatServiceOptions> {
|
|
5
|
+
private loadSDK?;
|
|
6
|
+
constructor(loadSDK?: ClaudeAgentSDKLoader | undefined);
|
|
7
|
+
createChatService(options: ClaudeAgentSDKChatServiceOptions): ChatService;
|
|
8
|
+
getProviderName(): string;
|
|
9
|
+
getSupportedModels(): string[];
|
|
10
|
+
getDefaultModel(): string;
|
|
11
|
+
supportsVision(): boolean;
|
|
12
|
+
getVisionSupportLevel(): VisionSupportLevel;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ClaudeAgentSDKChatServiceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeAgentSDKChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/agent/ClaudeAgentSDKChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,gCAAgC,EAChC,oBAAoB,EAErB,MAAM,6BAA6B,CAAC;AAGrC,qBAAa,iCACX,YAAW,mBAAmB,CAAC,gCAAgC,CAAC;IAEpD,OAAO,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,oBAAoB,YAAA;IAElD,iBAAiB,CAAC,OAAO,EAAE,gCAAgC,GAAG,WAAW;IAKzE,eAAe,IAAI,MAAM;IAIzB,kBAAkB,IAAI,MAAM,EAAE;IAI9B,eAAe,IAAI,MAAM;IAIzB,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;CAG5C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClaudeAgentSDKChatServiceProvider = void 0;
|
|
4
|
+
const ClaudeAgentSDKChatService_1 = require("./ClaudeAgentSDKChatService");
|
|
5
|
+
const shared_1 = require("./shared");
|
|
6
|
+
class ClaudeAgentSDKChatServiceProvider {
|
|
7
|
+
constructor(loadSDK) {
|
|
8
|
+
this.loadSDK = loadSDK;
|
|
9
|
+
}
|
|
10
|
+
createChatService(options) {
|
|
11
|
+
(0, shared_1.rejectUnsupportedAgentOptions)(this.getProviderName(), options);
|
|
12
|
+
return new ClaudeAgentSDKChatService_1.ClaudeAgentSDKChatService(options, this.loadSDK);
|
|
13
|
+
}
|
|
14
|
+
getProviderName() {
|
|
15
|
+
return 'claude-agent-sdk';
|
|
16
|
+
}
|
|
17
|
+
getSupportedModels() {
|
|
18
|
+
return [ClaudeAgentSDKChatService_1.DEFAULT_CLAUDE_AGENT_SDK_MODEL];
|
|
19
|
+
}
|
|
20
|
+
getDefaultModel() {
|
|
21
|
+
return ClaudeAgentSDKChatService_1.DEFAULT_CLAUDE_AGENT_SDK_MODEL;
|
|
22
|
+
}
|
|
23
|
+
supportsVision() {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
getVisionSupportLevel() {
|
|
27
|
+
return 'unsupported';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.ClaudeAgentSDKChatServiceProvider = ClaudeAgentSDKChatServiceProvider;
|
|
31
|
+
//# sourceMappingURL=ClaudeAgentSDKChatServiceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeAgentSDKChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/ClaudeAgentSDKChatServiceProvider.ts"],"names":[],"mappings":";;;AAKA,2EAKqC;AACrC,qCAAyD;AAEzD,MAAa,iCAAiC;IAG5C,YAAoB,OAA8B;QAA9B,YAAO,GAAP,OAAO,CAAuB;IAAG,CAAC;IAEtD,iBAAiB,CAAC,OAAyC;QACzD,IAAA,sCAA6B,EAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,IAAI,qDAAyB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,eAAe;QACb,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,0DAA8B,CAAC,CAAC;IAC1C,CAAC;IAED,eAAe;QACb,OAAO,0DAA8B,CAAC;IACxC,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AA7BD,8EA6BC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ChatResponseLength } from '../../../constants';
|
|
2
|
+
import { AgentTextChatService } from './shared';
|
|
3
|
+
export declare const DEFAULT_CODEX_SDK_MODEL = "codex-default";
|
|
4
|
+
type CodexSDKModule = {
|
|
5
|
+
Codex: new (options?: Record<string, unknown>) => CodexClient;
|
|
6
|
+
};
|
|
7
|
+
type CodexClient = {
|
|
8
|
+
startThread(options?: Record<string, unknown>): Promise<CodexThread>;
|
|
9
|
+
};
|
|
10
|
+
type CodexThread = {
|
|
11
|
+
run(prompt: string): Promise<CodexTurn>;
|
|
12
|
+
};
|
|
13
|
+
type CodexTurn = {
|
|
14
|
+
finalResponse?: unknown;
|
|
15
|
+
};
|
|
16
|
+
export type CodexSDKLoader = () => Promise<CodexSDKModule>;
|
|
17
|
+
export type CodexSDKChatServiceOptions = {
|
|
18
|
+
apiKey?: never;
|
|
19
|
+
model?: string;
|
|
20
|
+
responseLength?: ChatResponseLength;
|
|
21
|
+
workingDirectory?: string;
|
|
22
|
+
skipGitRepoCheck?: boolean;
|
|
23
|
+
config?: Record<string, unknown>;
|
|
24
|
+
};
|
|
25
|
+
export declare class CodexSDKChatService extends AgentTextChatService {
|
|
26
|
+
constructor(options?: CodexSDKChatServiceOptions, loadSDK?: CodexSDKLoader);
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=CodexSDKChatService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodexSDKChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CodexSDKChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,UAAU,CAAC;AAExE,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AAEvD,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,KAAK,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,WAAW,CAAC;CAC/D,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACtE,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CACzC,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;AAE3D,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,qBAAa,mBAAoB,SAAQ,oBAAoB;gBAEzD,OAAO,GAAE,0BAA+B,EACxC,OAAO,GAAE,cAA6B;CAsBzC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodexSDKChatService = exports.DEFAULT_CODEX_SDK_MODEL = void 0;
|
|
4
|
+
const shared_1 = require("./shared");
|
|
5
|
+
exports.DEFAULT_CODEX_SDK_MODEL = 'codex-default';
|
|
6
|
+
class CodexSDKChatService extends shared_1.AgentTextChatService {
|
|
7
|
+
constructor(options = {}, loadSDK = loadCodexSDK) {
|
|
8
|
+
const model = options.model ?? exports.DEFAULT_CODEX_SDK_MODEL;
|
|
9
|
+
super({
|
|
10
|
+
provider: 'codex-sdk',
|
|
11
|
+
model,
|
|
12
|
+
defaultModel: exports.DEFAULT_CODEX_SDK_MODEL,
|
|
13
|
+
responseLength: options.responseLength,
|
|
14
|
+
getResponse: async (prompt, stream, onPartialResponse) => {
|
|
15
|
+
try {
|
|
16
|
+
const text = await runCodexPrompt(loadSDK, model, options, prompt);
|
|
17
|
+
if (stream) {
|
|
18
|
+
onPartialResponse(text);
|
|
19
|
+
}
|
|
20
|
+
return text;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
throw (0, shared_1.wrapAgentProviderError)('codex-sdk', error);
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.CodexSDKChatService = CodexSDKChatService;
|
|
30
|
+
async function runCodexPrompt(loadSDK, model, options, prompt) {
|
|
31
|
+
const { Codex } = await loadSDK();
|
|
32
|
+
const codex = new Codex({
|
|
33
|
+
config: {
|
|
34
|
+
...options.config,
|
|
35
|
+
...(options.model ? { model } : {}),
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
const thread = await codex.startThread({
|
|
39
|
+
...(options.workingDirectory
|
|
40
|
+
? { workingDirectory: options.workingDirectory }
|
|
41
|
+
: {}),
|
|
42
|
+
...(options.skipGitRepoCheck !== undefined
|
|
43
|
+
? { skipGitRepoCheck: options.skipGitRepoCheck }
|
|
44
|
+
: {}),
|
|
45
|
+
});
|
|
46
|
+
const turn = await thread.run(prompt);
|
|
47
|
+
if (typeof turn.finalResponse !== 'string') {
|
|
48
|
+
throw new Error('codex-sdk provider received an empty response.');
|
|
49
|
+
}
|
|
50
|
+
return turn.finalResponse;
|
|
51
|
+
}
|
|
52
|
+
async function loadCodexSDK() {
|
|
53
|
+
try {
|
|
54
|
+
return (await dynamicImport('@openai/codex-sdk'));
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
const message = 'codex-sdk provider requires @openai/codex-sdk. ' +
|
|
58
|
+
'Install it in your Node.js project and authenticate with Codex.';
|
|
59
|
+
const wrappedError = new Error(message);
|
|
60
|
+
wrappedError.cause = error;
|
|
61
|
+
throw wrappedError;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
const dynamicImport = new Function('specifier', 'return import(specifier)');
|
|
65
|
+
//# sourceMappingURL=CodexSDKChatService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodexSDKChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CodexSDKChatService.ts"],"names":[],"mappings":";;;AACA,qCAAwE;AAE3D,QAAA,uBAAuB,GAAG,eAAe,CAAC;AA6BvD,MAAa,mBAAoB,SAAQ,6BAAoB;IAC3D,YACE,UAAsC,EAAE,EACxC,UAA0B,YAAY;QAEtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,+BAAuB,CAAC;QAEvD,KAAK,CAAC;YACJ,QAAQ,EAAE,WAAW;YACrB,KAAK;YACL,YAAY,EAAE,+BAAuB;YACrC,cAAc,EAAE,OAAO,CAAC,cAAc;YACtC,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE;gBACvD,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;oBACnE,IAAI,MAAM,EAAE,CAAC;wBACX,iBAAiB,CAAC,IAAI,CAAC,CAAC;oBAC1B,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAA,+BAAsB,EAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;AAzBD,kDAyBC;AAED,KAAK,UAAU,cAAc,CAC3B,OAAuB,EACvB,KAAa,EACb,OAAmC,EACnC,MAAc;IAEd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;QACtB,MAAM,EAAE;YACN,GAAG,OAAO,CAAC,MAAM;YACjB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC;KACF,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC;QACrC,GAAG,CAAC,OAAO,CAAC,gBAAgB;YAC1B,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACxC,CAAC,CAAC,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE;YAChD,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEtC,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,IAAI,CAAC,aAAa,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,aAAa,CAAC,mBAAmB,CAAC,CAAmB,CAAC;IACtE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GACX,iDAAiD;YACjD,iEAAiE,CAAC;QACpE,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QACvC,YAAoC,CAAC,KAAK,GAAG,KAAK,CAAC;QACpD,MAAM,YAAY,CAAC;IACrB,CAAC;AACH,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAErD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChatService } from '../../ChatService';
|
|
2
|
+
import { ChatServiceProvider, VisionSupportLevel } from '../ChatServiceProvider';
|
|
3
|
+
import { CodexSDKChatServiceOptions, CodexSDKLoader } from './CodexSDKChatService';
|
|
4
|
+
export declare class CodexSDKChatServiceProvider implements ChatServiceProvider<CodexSDKChatServiceOptions> {
|
|
5
|
+
private loadSDK?;
|
|
6
|
+
constructor(loadSDK?: CodexSDKLoader | undefined);
|
|
7
|
+
createChatService(options: CodexSDKChatServiceOptions): ChatService;
|
|
8
|
+
getProviderName(): string;
|
|
9
|
+
getSupportedModels(): string[];
|
|
10
|
+
getDefaultModel(): string;
|
|
11
|
+
supportsVision(): boolean;
|
|
12
|
+
getVisionSupportLevel(): VisionSupportLevel;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=CodexSDKChatServiceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodexSDKChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CodexSDKChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,0BAA0B,EAC1B,cAAc,EAEf,MAAM,uBAAuB,CAAC;AAG/B,qBAAa,2BACX,YAAW,mBAAmB,CAAC,0BAA0B,CAAC;IAE9C,OAAO,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,cAAc,YAAA;IAE5C,iBAAiB,CAAC,OAAO,EAAE,0BAA0B,GAAG,WAAW;IAKnE,eAAe,IAAI,MAAM;IAIzB,kBAAkB,IAAI,MAAM,EAAE;IAI9B,eAAe,IAAI,MAAM;IAIzB,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;CAG5C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CodexSDKChatServiceProvider = void 0;
|
|
4
|
+
const CodexSDKChatService_1 = require("./CodexSDKChatService");
|
|
5
|
+
const shared_1 = require("./shared");
|
|
6
|
+
class CodexSDKChatServiceProvider {
|
|
7
|
+
constructor(loadSDK) {
|
|
8
|
+
this.loadSDK = loadSDK;
|
|
9
|
+
}
|
|
10
|
+
createChatService(options) {
|
|
11
|
+
(0, shared_1.rejectUnsupportedAgentOptions)(this.getProviderName(), options);
|
|
12
|
+
return new CodexSDKChatService_1.CodexSDKChatService(options, this.loadSDK);
|
|
13
|
+
}
|
|
14
|
+
getProviderName() {
|
|
15
|
+
return 'codex-sdk';
|
|
16
|
+
}
|
|
17
|
+
getSupportedModels() {
|
|
18
|
+
return [CodexSDKChatService_1.DEFAULT_CODEX_SDK_MODEL];
|
|
19
|
+
}
|
|
20
|
+
getDefaultModel() {
|
|
21
|
+
return CodexSDKChatService_1.DEFAULT_CODEX_SDK_MODEL;
|
|
22
|
+
}
|
|
23
|
+
supportsVision() {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
getVisionSupportLevel() {
|
|
27
|
+
return 'unsupported';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.CodexSDKChatServiceProvider = CodexSDKChatServiceProvider;
|
|
31
|
+
//# sourceMappingURL=CodexSDKChatServiceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CodexSDKChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CodexSDKChatServiceProvider.ts"],"names":[],"mappings":";;;AAKA,+DAK+B;AAC/B,qCAAyD;AAEzD,MAAa,2BAA2B;IAGtC,YAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAEhD,iBAAiB,CAAC,OAAmC;QACnD,IAAA,sCAA6B,EAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,IAAI,yCAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,eAAe;QACb,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,6CAAuB,CAAC,CAAC;IACnC,CAAC;IAED,eAAe;QACb,OAAO,6CAAuB,CAAC;IACjC,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AA7BD,kEA6BC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ChatResponseLength } from '../../../constants';
|
|
2
|
+
import { AgentTextChatService } from './shared';
|
|
3
|
+
export declare const DEFAULT_COPILOT_SDK_MODEL = "gpt-4.1";
|
|
4
|
+
type CopilotSDKModule = {
|
|
5
|
+
CopilotClient: new () => CopilotClient;
|
|
6
|
+
};
|
|
7
|
+
type CopilotClient = {
|
|
8
|
+
createSession(options?: Record<string, unknown>): Promise<CopilotSession>;
|
|
9
|
+
stop?(): Promise<void> | void;
|
|
10
|
+
};
|
|
11
|
+
type CopilotSession = {
|
|
12
|
+
sendAndWait(message: {
|
|
13
|
+
prompt: string;
|
|
14
|
+
}): Promise<CopilotResponse>;
|
|
15
|
+
on?(eventName: string, handler: (event: CopilotMessageDeltaEvent) => void): (() => void) | undefined;
|
|
16
|
+
};
|
|
17
|
+
type CopilotResponse = {
|
|
18
|
+
data?: {
|
|
19
|
+
content?: unknown;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
type CopilotMessageDeltaEvent = {
|
|
23
|
+
data?: {
|
|
24
|
+
deltaContent?: unknown;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
export type CopilotSDKLoader = () => Promise<CopilotSDKModule>;
|
|
28
|
+
export type CopilotSDKPermissionRequest = {
|
|
29
|
+
kind: string;
|
|
30
|
+
toolCallId?: string;
|
|
31
|
+
};
|
|
32
|
+
export type CopilotSDKPermissionRequestResult = {
|
|
33
|
+
kind: string;
|
|
34
|
+
};
|
|
35
|
+
export type CopilotSDKPermissionHandler = (request: CopilotSDKPermissionRequest, invocation: {
|
|
36
|
+
sessionId: string;
|
|
37
|
+
}) => CopilotSDKPermissionRequestResult | Promise<CopilotSDKPermissionRequestResult>;
|
|
38
|
+
export type CopilotSDKChatServiceOptions = {
|
|
39
|
+
apiKey?: never;
|
|
40
|
+
model?: string;
|
|
41
|
+
responseLength?: ChatResponseLength;
|
|
42
|
+
onPermissionRequest?: CopilotSDKPermissionHandler;
|
|
43
|
+
};
|
|
44
|
+
export declare class CopilotSDKChatService extends AgentTextChatService {
|
|
45
|
+
constructor(options?: CopilotSDKChatServiceOptions, loadSDK?: CopilotSDKLoader);
|
|
46
|
+
}
|
|
47
|
+
export {};
|
|
48
|
+
//# sourceMappingURL=CopilotSDKChatService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CopilotSDKChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CopilotSDKChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAA0B,MAAM,UAAU,CAAC;AAExE,eAAO,MAAM,yBAAyB,YAAY,CAAC;AAEnD,KAAK,gBAAgB,GAAG;IACtB,aAAa,EAAE,UAAU,aAAa,CAAC;CACxC,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1E,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,WAAW,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACnE,EAAE,CAAC,CACD,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,GACjD,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CAC7B,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,IAAI,CAAC,EAAE;QACL,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAE/D,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,CACxC,OAAO,EAAE,2BAA2B,EACpC,UAAU,EAAE;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,KAE/B,iCAAiC,GACjC,OAAO,CAAC,iCAAiC,CAAC,CAAC;AAE/C,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,kBAAkB,CAAC;IACpC,mBAAmB,CAAC,EAAE,2BAA2B,CAAC;CACnD,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,oBAAoB;gBAE3D,OAAO,GAAE,4BAAiC,EAC1C,OAAO,GAAE,gBAAiC;CAyB7C"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CopilotSDKChatService = exports.DEFAULT_COPILOT_SDK_MODEL = void 0;
|
|
4
|
+
const shared_1 = require("./shared");
|
|
5
|
+
exports.DEFAULT_COPILOT_SDK_MODEL = 'gpt-4.1';
|
|
6
|
+
class CopilotSDKChatService extends shared_1.AgentTextChatService {
|
|
7
|
+
constructor(options = {}, loadSDK = loadCopilotSDK) {
|
|
8
|
+
const model = options.model ?? exports.DEFAULT_COPILOT_SDK_MODEL;
|
|
9
|
+
super({
|
|
10
|
+
provider: 'copilot-sdk',
|
|
11
|
+
model,
|
|
12
|
+
defaultModel: exports.DEFAULT_COPILOT_SDK_MODEL,
|
|
13
|
+
responseLength: options.responseLength,
|
|
14
|
+
getResponse: async (prompt, stream, onPartialResponse) => {
|
|
15
|
+
try {
|
|
16
|
+
return await runCopilotPrompt(loadSDK, model, options, prompt, stream, onPartialResponse);
|
|
17
|
+
}
|
|
18
|
+
catch (error) {
|
|
19
|
+
throw (0, shared_1.wrapAgentProviderError)('copilot-sdk', error);
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.CopilotSDKChatService = CopilotSDKChatService;
|
|
26
|
+
async function runCopilotPrompt(loadSDK, model, options, prompt, stream, onPartialResponse) {
|
|
27
|
+
const { CopilotClient } = await loadSDK();
|
|
28
|
+
const client = new CopilotClient();
|
|
29
|
+
let unsubscribe = undefined;
|
|
30
|
+
let streamedText = '';
|
|
31
|
+
try {
|
|
32
|
+
const session = await client.createSession({
|
|
33
|
+
model,
|
|
34
|
+
streaming: stream,
|
|
35
|
+
onPermissionRequest: options.onPermissionRequest ?? denyCopilotPermissionRequest,
|
|
36
|
+
});
|
|
37
|
+
if (stream && session.on) {
|
|
38
|
+
unsubscribe = session.on('assistant.message_delta', (event) => {
|
|
39
|
+
const delta = event.data?.deltaContent;
|
|
40
|
+
if (typeof delta === 'string' && delta) {
|
|
41
|
+
streamedText += delta;
|
|
42
|
+
onPartialResponse(delta);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
const response = await session.sendAndWait({ prompt });
|
|
47
|
+
const content = response.data?.content;
|
|
48
|
+
if (typeof content !== 'string') {
|
|
49
|
+
throw new Error('copilot-sdk provider received an empty response.');
|
|
50
|
+
}
|
|
51
|
+
if (stream && streamedText === '') {
|
|
52
|
+
onPartialResponse(content);
|
|
53
|
+
}
|
|
54
|
+
return content;
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
if (unsubscribe) {
|
|
58
|
+
unsubscribe();
|
|
59
|
+
}
|
|
60
|
+
await client.stop?.();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
const denyCopilotPermissionRequest = () => ({
|
|
64
|
+
kind: 'denied-no-approval-rule-and-could-not-request-from-user',
|
|
65
|
+
});
|
|
66
|
+
async function loadCopilotSDK() {
|
|
67
|
+
try {
|
|
68
|
+
return (await dynamicImport('@github/copilot-sdk'));
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
const message = 'copilot-sdk provider requires @github/copilot-sdk. ' +
|
|
72
|
+
'Install it in your Node.js project and authenticate with GitHub Copilot.';
|
|
73
|
+
const wrappedError = new Error(message);
|
|
74
|
+
wrappedError.cause = error;
|
|
75
|
+
throw wrappedError;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const dynamicImport = new Function('specifier', 'return import(specifier)');
|
|
79
|
+
//# sourceMappingURL=CopilotSDKChatService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CopilotSDKChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CopilotSDKChatService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChatService } from '../../ChatService';
|
|
2
|
+
import { ChatServiceProvider, VisionSupportLevel } from '../ChatServiceProvider';
|
|
3
|
+
import { CopilotSDKChatServiceOptions, CopilotSDKLoader } from './CopilotSDKChatService';
|
|
4
|
+
export declare class CopilotSDKChatServiceProvider implements ChatServiceProvider<CopilotSDKChatServiceOptions> {
|
|
5
|
+
private loadSDK?;
|
|
6
|
+
constructor(loadSDK?: CopilotSDKLoader | undefined);
|
|
7
|
+
createChatService(options: CopilotSDKChatServiceOptions): ChatService;
|
|
8
|
+
getProviderName(): string;
|
|
9
|
+
getSupportedModels(): string[];
|
|
10
|
+
getDefaultModel(): string;
|
|
11
|
+
supportsVision(): boolean;
|
|
12
|
+
getVisionSupportLevel(): VisionSupportLevel;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=CopilotSDKChatServiceProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CopilotSDKChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CopilotSDKChatServiceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,4BAA4B,EAC5B,gBAAgB,EAEjB,MAAM,yBAAyB,CAAC;AAGjC,qBAAa,6BACX,YAAW,mBAAmB,CAAC,4BAA4B,CAAC;IAEhD,OAAO,CAAC,OAAO,CAAC;gBAAR,OAAO,CAAC,EAAE,gBAAgB,YAAA;IAE9C,iBAAiB,CAAC,OAAO,EAAE,4BAA4B,GAAG,WAAW;IAKrE,eAAe,IAAI,MAAM;IAIzB,kBAAkB,IAAI,MAAM,EAAE;IAI9B,eAAe,IAAI,MAAM;IAIzB,cAAc,IAAI,OAAO;IAIzB,qBAAqB,IAAI,kBAAkB;CAG5C"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CopilotSDKChatServiceProvider = void 0;
|
|
4
|
+
const CopilotSDKChatService_1 = require("./CopilotSDKChatService");
|
|
5
|
+
const shared_1 = require("./shared");
|
|
6
|
+
class CopilotSDKChatServiceProvider {
|
|
7
|
+
constructor(loadSDK) {
|
|
8
|
+
this.loadSDK = loadSDK;
|
|
9
|
+
}
|
|
10
|
+
createChatService(options) {
|
|
11
|
+
(0, shared_1.rejectUnsupportedAgentOptions)(this.getProviderName(), options);
|
|
12
|
+
return new CopilotSDKChatService_1.CopilotSDKChatService(options, this.loadSDK);
|
|
13
|
+
}
|
|
14
|
+
getProviderName() {
|
|
15
|
+
return 'copilot-sdk';
|
|
16
|
+
}
|
|
17
|
+
getSupportedModels() {
|
|
18
|
+
return [CopilotSDKChatService_1.DEFAULT_COPILOT_SDK_MODEL];
|
|
19
|
+
}
|
|
20
|
+
getDefaultModel() {
|
|
21
|
+
return CopilotSDKChatService_1.DEFAULT_COPILOT_SDK_MODEL;
|
|
22
|
+
}
|
|
23
|
+
supportsVision() {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
getVisionSupportLevel() {
|
|
27
|
+
return 'unsupported';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.CopilotSDKChatServiceProvider = CopilotSDKChatServiceProvider;
|
|
31
|
+
//# sourceMappingURL=CopilotSDKChatServiceProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CopilotSDKChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CopilotSDKChatServiceProvider.ts"],"names":[],"mappings":";;;AAKA,mEAKiC;AACjC,qCAAyD;AAEzD,MAAa,6BAA6B;IAGxC,YAAoB,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAElD,iBAAiB,CAAC,OAAqC;QACrD,IAAA,sCAA6B,EAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,IAAI,6CAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,eAAe;QACb,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,iDAAyB,CAAC,CAAC;IACrC,CAAC;IAED,eAAe;QACb,OAAO,iDAAyB,CAAC;IACnC,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AA7BD,sEA6BC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ChatService } from '../../ChatService';
|
|
2
|
+
import { ClaudeAgentSDKChatServiceOptions, ClaudeAgentSDKLoader } from './ClaudeAgentSDKChatService';
|
|
3
|
+
import { CodexSDKChatServiceOptions, CodexSDKLoader } from './CodexSDKChatService';
|
|
4
|
+
import { CopilotSDKChatServiceOptions, CopilotSDKLoader } from './CopilotSDKChatService';
|
|
5
|
+
export { ClaudeAgentSDKChatService, DEFAULT_CLAUDE_AGENT_SDK_MODEL, type ClaudeAgentSDKChatServiceOptions, type ClaudeAgentSDKLoader, } from './ClaudeAgentSDKChatService';
|
|
6
|
+
export { ClaudeAgentSDKChatServiceProvider } from './ClaudeAgentSDKChatServiceProvider';
|
|
7
|
+
export { CodexSDKChatService, DEFAULT_CODEX_SDK_MODEL, type CodexSDKChatServiceOptions, type CodexSDKLoader, } from './CodexSDKChatService';
|
|
8
|
+
export { CodexSDKChatServiceProvider } from './CodexSDKChatServiceProvider';
|
|
9
|
+
export { CopilotSDKChatService, DEFAULT_COPILOT_SDK_MODEL, type CopilotSDKChatServiceOptions, type CopilotSDKLoader, } from './CopilotSDKChatService';
|
|
10
|
+
export { CopilotSDKChatServiceProvider } from './CopilotSDKChatServiceProvider';
|
|
11
|
+
export type AgentChatProviderName = 'codex-sdk' | 'claude-agent-sdk' | 'copilot-sdk';
|
|
12
|
+
export type AgentChatServiceOptionsByProvider = {
|
|
13
|
+
'codex-sdk': CodexSDKChatServiceOptions;
|
|
14
|
+
'claude-agent-sdk': ClaudeAgentSDKChatServiceOptions;
|
|
15
|
+
'copilot-sdk': CopilotSDKChatServiceOptions;
|
|
16
|
+
};
|
|
17
|
+
export type RegisterAgentChatProvidersOptions = {
|
|
18
|
+
codexSDKLoader?: CodexSDKLoader;
|
|
19
|
+
claudeAgentSDKLoader?: ClaudeAgentSDKLoader;
|
|
20
|
+
copilotSDKLoader?: CopilotSDKLoader;
|
|
21
|
+
};
|
|
22
|
+
export declare function registerAgentChatProviders(options?: RegisterAgentChatProvidersOptions): void;
|
|
23
|
+
export declare function createAgentChatService<TProvider extends AgentChatProviderName>(providerName: TProvider, options: AgentChatServiceOptionsByProvider[TProvider]): ChatService;
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,OAAO,EACL,gCAAgC,EAChC,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,KAAK,gCAAgC,EACrC,KAAK,oBAAoB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EACL,mBAAmB,EACnB,uBAAuB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,cAAc,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,KAAK,4BAA4B,EACjC,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,MAAM,qBAAqB,GAC7B,WAAW,GACX,kBAAkB,GAClB,aAAa,CAAC;AAElB,MAAM,MAAM,iCAAiC,GAAG;IAC9C,WAAW,EAAE,0BAA0B,CAAC;IACxC,kBAAkB,EAAE,gCAAgC,CAAC;IACrD,aAAa,EAAE,4BAA4B,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,iCAAsC,GAC9C,IAAI,CAUN;AAED,wBAAgB,sBAAsB,CAAC,SAAS,SAAS,qBAAqB,EAC5E,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,iCAAiC,CAAC,SAAS,CAAC,GACpD,WAAW,CAKb"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CopilotSDKChatServiceProvider = exports.DEFAULT_COPILOT_SDK_MODEL = exports.CopilotSDKChatService = exports.CodexSDKChatServiceProvider = exports.DEFAULT_CODEX_SDK_MODEL = exports.CodexSDKChatService = exports.ClaudeAgentSDKChatServiceProvider = exports.DEFAULT_CLAUDE_AGENT_SDK_MODEL = exports.ClaudeAgentSDKChatService = void 0;
|
|
4
|
+
exports.registerAgentChatProviders = registerAgentChatProviders;
|
|
5
|
+
exports.createAgentChatService = createAgentChatService;
|
|
6
|
+
const ChatServiceFactory_1 = require("../../ChatServiceFactory");
|
|
7
|
+
const ClaudeAgentSDKChatServiceProvider_1 = require("./ClaudeAgentSDKChatServiceProvider");
|
|
8
|
+
const CodexSDKChatServiceProvider_1 = require("./CodexSDKChatServiceProvider");
|
|
9
|
+
const CopilotSDKChatServiceProvider_1 = require("./CopilotSDKChatServiceProvider");
|
|
10
|
+
var ClaudeAgentSDKChatService_1 = require("./ClaudeAgentSDKChatService");
|
|
11
|
+
Object.defineProperty(exports, "ClaudeAgentSDKChatService", { enumerable: true, get: function () { return ClaudeAgentSDKChatService_1.ClaudeAgentSDKChatService; } });
|
|
12
|
+
Object.defineProperty(exports, "DEFAULT_CLAUDE_AGENT_SDK_MODEL", { enumerable: true, get: function () { return ClaudeAgentSDKChatService_1.DEFAULT_CLAUDE_AGENT_SDK_MODEL; } });
|
|
13
|
+
var ClaudeAgentSDKChatServiceProvider_2 = require("./ClaudeAgentSDKChatServiceProvider");
|
|
14
|
+
Object.defineProperty(exports, "ClaudeAgentSDKChatServiceProvider", { enumerable: true, get: function () { return ClaudeAgentSDKChatServiceProvider_2.ClaudeAgentSDKChatServiceProvider; } });
|
|
15
|
+
var CodexSDKChatService_1 = require("./CodexSDKChatService");
|
|
16
|
+
Object.defineProperty(exports, "CodexSDKChatService", { enumerable: true, get: function () { return CodexSDKChatService_1.CodexSDKChatService; } });
|
|
17
|
+
Object.defineProperty(exports, "DEFAULT_CODEX_SDK_MODEL", { enumerable: true, get: function () { return CodexSDKChatService_1.DEFAULT_CODEX_SDK_MODEL; } });
|
|
18
|
+
var CodexSDKChatServiceProvider_2 = require("./CodexSDKChatServiceProvider");
|
|
19
|
+
Object.defineProperty(exports, "CodexSDKChatServiceProvider", { enumerable: true, get: function () { return CodexSDKChatServiceProvider_2.CodexSDKChatServiceProvider; } });
|
|
20
|
+
var CopilotSDKChatService_1 = require("./CopilotSDKChatService");
|
|
21
|
+
Object.defineProperty(exports, "CopilotSDKChatService", { enumerable: true, get: function () { return CopilotSDKChatService_1.CopilotSDKChatService; } });
|
|
22
|
+
Object.defineProperty(exports, "DEFAULT_COPILOT_SDK_MODEL", { enumerable: true, get: function () { return CopilotSDKChatService_1.DEFAULT_COPILOT_SDK_MODEL; } });
|
|
23
|
+
var CopilotSDKChatServiceProvider_2 = require("./CopilotSDKChatServiceProvider");
|
|
24
|
+
Object.defineProperty(exports, "CopilotSDKChatServiceProvider", { enumerable: true, get: function () { return CopilotSDKChatServiceProvider_2.CopilotSDKChatServiceProvider; } });
|
|
25
|
+
function registerAgentChatProviders(options = {}) {
|
|
26
|
+
ChatServiceFactory_1.ChatServiceFactory.registerProvider(new CodexSDKChatServiceProvider_1.CodexSDKChatServiceProvider(options.codexSDKLoader));
|
|
27
|
+
ChatServiceFactory_1.ChatServiceFactory.registerProvider(new ClaudeAgentSDKChatServiceProvider_1.ClaudeAgentSDKChatServiceProvider(options.claudeAgentSDKLoader));
|
|
28
|
+
ChatServiceFactory_1.ChatServiceFactory.registerProvider(new CopilotSDKChatServiceProvider_1.CopilotSDKChatServiceProvider(options.copilotSDKLoader));
|
|
29
|
+
}
|
|
30
|
+
function createAgentChatService(providerName, options) {
|
|
31
|
+
return ChatServiceFactory_1.ChatServiceFactory.createChatService(providerName, options);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/index.ts"],"names":[],"mappings":";;;AAyDA,gEAYC;AAED,wDAQC;AA9ED,iEAA8D;AAC9D,2FAAwF;AACxF,+EAA4E;AAC5E,mFAAgF;AAchF,yEAKqC;AAJnC,sIAAA,yBAAyB,OAAA;AACzB,2IAAA,8BAA8B,OAAA;AAIhC,yFAAwF;AAA/E,sJAAA,iCAAiC,OAAA;AAC1C,6DAK+B;AAJ7B,0HAAA,mBAAmB,OAAA;AACnB,8HAAA,uBAAuB,OAAA;AAIzB,6EAA4E;AAAnE,0IAAA,2BAA2B,OAAA;AACpC,iEAKiC;AAJ/B,8HAAA,qBAAqB,OAAA;AACrB,kIAAA,yBAAyB,OAAA;AAI3B,iFAAgF;AAAvE,8IAAA,6BAA6B,OAAA;AAmBtC,SAAgB,0BAA0B,CACxC,UAA6C,EAAE;IAE/C,uCAAkB,CAAC,gBAAgB,CACjC,IAAI,yDAA2B,CAAC,OAAO,CAAC,cAAc,CAAC,CACxD,CAAC;IACF,uCAAkB,CAAC,gBAAgB,CACjC,IAAI,qEAAiC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CACpE,CAAC;IACF,uCAAkB,CAAC,gBAAgB,CACjC,IAAI,6DAA6B,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED,SAAgB,sBAAsB,CACpC,YAAuB,EACvB,OAAqD;IAErD,OAAO,uCAAkB,CAAC,iBAAiB,CACzC,YAAmB,EACnB,OAAyC,CAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ChatResponseLength } from '../../../constants';
|
|
2
|
+
import { ChatService } from '../../ChatService';
|
|
3
|
+
import { Message, MessageWithVision, ToolChatCompletion } from '../../../types';
|
|
4
|
+
export type AgentBaseChatServiceOptions = {
|
|
5
|
+
/** Subscription agent providers use local/CLI auth, not API keys. */
|
|
6
|
+
apiKey?: never;
|
|
7
|
+
/** Model name passed to the underlying SDK when supported. */
|
|
8
|
+
model?: string;
|
|
9
|
+
/** Soft response length instruction for SDKs without max-token controls. */
|
|
10
|
+
responseLength?: ChatResponseLength;
|
|
11
|
+
};
|
|
12
|
+
export type AgentTextChatOptions = AgentBaseChatServiceOptions & {
|
|
13
|
+
provider: string;
|
|
14
|
+
defaultModel: string;
|
|
15
|
+
getResponse: (prompt: string, stream: boolean, onPartialResponse: (text: string) => void) => Promise<string>;
|
|
16
|
+
};
|
|
17
|
+
export declare class AgentTextChatService implements ChatService {
|
|
18
|
+
readonly provider: string;
|
|
19
|
+
private model;
|
|
20
|
+
private responseLength?;
|
|
21
|
+
private getResponse;
|
|
22
|
+
constructor(options: AgentTextChatOptions);
|
|
23
|
+
getModel(): string;
|
|
24
|
+
getVisionModel(): string;
|
|
25
|
+
processChat(messages: Message[], onPartialResponse: (text: string) => void, onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
|
|
26
|
+
processVisionChat(_messages: MessageWithVision[], _onPartialResponse: (text: string) => void, _onCompleteResponse: (text: string) => Promise<void>): Promise<void>;
|
|
27
|
+
chatOnce(messages: Message[], stream?: boolean, onPartialResponse?: (text: string) => void, maxTokens?: number): Promise<ToolChatCompletion>;
|
|
28
|
+
visionChatOnce(_messages: MessageWithVision[], _stream?: boolean, _onPartialResponse?: (text: string) => void, _maxTokens?: number): Promise<ToolChatCompletion>;
|
|
29
|
+
}
|
|
30
|
+
export declare function rejectUnsupportedAgentOptions(providerName: string, options: {
|
|
31
|
+
apiKey?: unknown;
|
|
32
|
+
tools?: unknown;
|
|
33
|
+
mcpServers?: unknown;
|
|
34
|
+
}): void;
|
|
35
|
+
export declare function wrapAgentProviderError(providerName: string, error: unknown): Error;
|
|
36
|
+
//# sourceMappingURL=shared.d.ts.map
|