@aituber-onair/chat 0.29.0 → 0.31.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.
Files changed (95) hide show
  1. package/README.ja.md +194 -6
  2. package/README.md +204 -6
  3. package/dist/cjs/agent.d.ts +3 -0
  4. package/dist/cjs/agent.d.ts.map +1 -0
  5. package/dist/cjs/agent.js +21 -0
  6. package/dist/cjs/agent.js.map +1 -0
  7. package/dist/cjs/constants/xai.d.ts +1 -0
  8. package/dist/cjs/constants/xai.d.ts.map +1 -1
  9. package/dist/cjs/constants/xai.js +3 -1
  10. package/dist/cjs/constants/xai.js.map +1 -1
  11. package/dist/cjs/services/ChatService.d.ts +2 -0
  12. package/dist/cjs/services/ChatService.d.ts.map +1 -1
  13. package/dist/cjs/services/providers/agent/CodexSDKChatService.d.ts +29 -0
  14. package/dist/cjs/services/providers/agent/CodexSDKChatService.d.ts.map +1 -0
  15. package/dist/cjs/services/providers/agent/CodexSDKChatService.js +65 -0
  16. package/dist/cjs/services/providers/agent/CodexSDKChatService.js.map +1 -0
  17. package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.d.ts +14 -0
  18. package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.d.ts.map +1 -0
  19. package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.js +31 -0
  20. package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.js.map +1 -0
  21. package/dist/cjs/services/providers/agent/CopilotSDKChatService.d.ts +48 -0
  22. package/dist/cjs/services/providers/agent/CopilotSDKChatService.d.ts.map +1 -0
  23. package/dist/cjs/services/providers/agent/CopilotSDKChatService.js +79 -0
  24. package/dist/cjs/services/providers/agent/CopilotSDKChatService.js.map +1 -0
  25. package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.d.ts +14 -0
  26. package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.d.ts.map +1 -0
  27. package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.js +31 -0
  28. package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.js.map +1 -0
  29. package/dist/cjs/services/providers/agent/index.d.ts +19 -0
  30. package/dist/cjs/services/providers/agent/index.d.ts.map +1 -0
  31. package/dist/cjs/services/providers/agent/index.js +26 -0
  32. package/dist/cjs/services/providers/agent/index.js.map +1 -0
  33. package/dist/cjs/services/providers/agent/shared.d.ts +36 -0
  34. package/dist/cjs/services/providers/agent/shared.d.ts.map +1 -0
  35. package/dist/cjs/services/providers/agent/shared.js +122 -0
  36. package/dist/cjs/services/providers/agent/shared.js.map +1 -0
  37. package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts +0 -14
  38. package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
  39. package/dist/cjs/services/providers/openai/OpenAIChatService.js +5 -192
  40. package/dist/cjs/services/providers/openai/OpenAIChatService.js.map +1 -1
  41. package/dist/cjs/services/providers/openai/responsesParser.d.ts +10 -0
  42. package/dist/cjs/services/providers/openai/responsesParser.d.ts.map +1 -0
  43. package/dist/cjs/services/providers/openai/responsesParser.js +166 -0
  44. package/dist/cjs/services/providers/openai/responsesParser.js.map +1 -0
  45. package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
  46. package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js +1 -0
  47. package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
  48. package/dist/esm/agent.d.ts +3 -0
  49. package/dist/esm/agent.d.ts.map +1 -0
  50. package/dist/esm/agent.js +5 -0
  51. package/dist/esm/agent.js.map +1 -0
  52. package/dist/esm/constants/xai.d.ts +1 -0
  53. package/dist/esm/constants/xai.d.ts.map +1 -1
  54. package/dist/esm/constants/xai.js +2 -0
  55. package/dist/esm/constants/xai.js.map +1 -1
  56. package/dist/esm/services/ChatService.d.ts +2 -0
  57. package/dist/esm/services/ChatService.d.ts.map +1 -1
  58. package/dist/esm/services/providers/agent/CodexSDKChatService.d.ts +29 -0
  59. package/dist/esm/services/providers/agent/CodexSDKChatService.d.ts.map +1 -0
  60. package/dist/esm/services/providers/agent/CodexSDKChatService.js +61 -0
  61. package/dist/esm/services/providers/agent/CodexSDKChatService.js.map +1 -0
  62. package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.d.ts +14 -0
  63. package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.d.ts.map +1 -0
  64. package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.js +27 -0
  65. package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.js.map +1 -0
  66. package/dist/esm/services/providers/agent/CopilotSDKChatService.d.ts +48 -0
  67. package/dist/esm/services/providers/agent/CopilotSDKChatService.d.ts.map +1 -0
  68. package/dist/esm/services/providers/agent/CopilotSDKChatService.js +75 -0
  69. package/dist/esm/services/providers/agent/CopilotSDKChatService.js.map +1 -0
  70. package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.d.ts +14 -0
  71. package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.d.ts.map +1 -0
  72. package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.js +27 -0
  73. package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.js.map +1 -0
  74. package/dist/esm/services/providers/agent/index.d.ts +19 -0
  75. package/dist/esm/services/providers/agent/index.d.ts.map +1 -0
  76. package/dist/esm/services/providers/agent/index.js +15 -0
  77. package/dist/esm/services/providers/agent/index.js.map +1 -0
  78. package/dist/esm/services/providers/agent/shared.d.ts +36 -0
  79. package/dist/esm/services/providers/agent/shared.d.ts.map +1 -0
  80. package/dist/esm/services/providers/agent/shared.js +116 -0
  81. package/dist/esm/services/providers/agent/shared.js.map +1 -0
  82. package/dist/esm/services/providers/openai/OpenAIChatService.d.ts +0 -14
  83. package/dist/esm/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
  84. package/dist/esm/services/providers/openai/OpenAIChatService.js +5 -192
  85. package/dist/esm/services/providers/openai/OpenAIChatService.js.map +1 -1
  86. package/dist/esm/services/providers/openai/responsesParser.d.ts +10 -0
  87. package/dist/esm/services/providers/openai/responsesParser.d.ts.map +1 -0
  88. package/dist/esm/services/providers/openai/responsesParser.js +162 -0
  89. package/dist/esm/services/providers/openai/responsesParser.js.map +1 -0
  90. package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
  91. package/dist/esm/services/providers/xai/XAIChatServiceProvider.js +2 -1
  92. package/dist/esm/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
  93. package/dist/umd/aituber-onair-chat.js +165 -181
  94. package/dist/umd/aituber-onair-chat.min.js +8 -8
  95. package/package.json +6 -1
@@ -0,0 +1,61 @@
1
+ import { AgentTextChatService, wrapAgentProviderError } from './shared';
2
+ export const DEFAULT_CODEX_SDK_MODEL = 'codex-default';
3
+ export class CodexSDKChatService extends AgentTextChatService {
4
+ constructor(options = {}, loadSDK = loadCodexSDK) {
5
+ const model = options.model ?? DEFAULT_CODEX_SDK_MODEL;
6
+ super({
7
+ provider: 'codex-sdk',
8
+ model,
9
+ defaultModel: DEFAULT_CODEX_SDK_MODEL,
10
+ responseLength: options.responseLength,
11
+ getResponse: async (prompt, stream, onPartialResponse) => {
12
+ try {
13
+ const text = await runCodexPrompt(loadSDK, model, options, prompt);
14
+ if (stream) {
15
+ onPartialResponse(text);
16
+ }
17
+ return text;
18
+ }
19
+ catch (error) {
20
+ throw wrapAgentProviderError('codex-sdk', error);
21
+ }
22
+ },
23
+ });
24
+ }
25
+ }
26
+ async function runCodexPrompt(loadSDK, model, options, prompt) {
27
+ const { Codex } = await loadSDK();
28
+ const codex = new Codex({
29
+ config: {
30
+ ...options.config,
31
+ ...(options.model ? { model } : {}),
32
+ },
33
+ });
34
+ const thread = await codex.startThread({
35
+ ...(options.workingDirectory
36
+ ? { workingDirectory: options.workingDirectory }
37
+ : {}),
38
+ ...(options.skipGitRepoCheck !== undefined
39
+ ? { skipGitRepoCheck: options.skipGitRepoCheck }
40
+ : {}),
41
+ });
42
+ const turn = await thread.run(prompt);
43
+ if (typeof turn.finalResponse !== 'string') {
44
+ throw new Error('codex-sdk provider received an empty response.');
45
+ }
46
+ return turn.finalResponse;
47
+ }
48
+ async function loadCodexSDK() {
49
+ try {
50
+ return (await dynamicImport('@openai/codex-sdk'));
51
+ }
52
+ catch (error) {
53
+ const message = 'codex-sdk provider requires @openai/codex-sdk. ' +
54
+ 'Install it in your Node.js project and authenticate with Codex.';
55
+ const wrappedError = new Error(message);
56
+ wrappedError.cause = error;
57
+ throw wrappedError;
58
+ }
59
+ }
60
+ const dynamicImport = new Function('specifier', 'return import(specifier)');
61
+ //# sourceMappingURL=CodexSDKChatService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodexSDKChatService.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CodexSDKChatService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAExE,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC;AA6BvD,MAAM,OAAO,mBAAoB,SAAQ,oBAAoB;IAC3D,YACE,UAAsC,EAAE,EACxC,UAA0B,YAAY;QAEtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,uBAAuB,CAAC;QAEvD,KAAK,CAAC;YACJ,QAAQ,EAAE,WAAW;YACrB,KAAK;YACL,YAAY,EAAE,uBAAuB;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,sBAAsB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;CACF;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,27 @@
1
+ import { CodexSDKChatService, DEFAULT_CODEX_SDK_MODEL, } from './CodexSDKChatService';
2
+ import { rejectUnsupportedAgentOptions } from './shared';
3
+ export class CodexSDKChatServiceProvider {
4
+ constructor(loadSDK) {
5
+ this.loadSDK = loadSDK;
6
+ }
7
+ createChatService(options) {
8
+ rejectUnsupportedAgentOptions(this.getProviderName(), options);
9
+ return new CodexSDKChatService(options, this.loadSDK);
10
+ }
11
+ getProviderName() {
12
+ return 'codex-sdk';
13
+ }
14
+ getSupportedModels() {
15
+ return [DEFAULT_CODEX_SDK_MODEL];
16
+ }
17
+ getDefaultModel() {
18
+ return DEFAULT_CODEX_SDK_MODEL;
19
+ }
20
+ supportsVision() {
21
+ return false;
22
+ }
23
+ getVisionSupportLevel() {
24
+ return 'unsupported';
25
+ }
26
+ }
27
+ //# sourceMappingURL=CodexSDKChatServiceProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodexSDKChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CodexSDKChatServiceProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,mBAAmB,EAGnB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAEzD,MAAM,OAAO,2BAA2B;IAGtC,YAAoB,OAAwB;QAAxB,YAAO,GAAP,OAAO,CAAiB;IAAG,CAAC;IAEhD,iBAAiB,CAAC,OAAmC;QACnD,6BAA6B,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,eAAe;QACb,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACnC,CAAC;IAED,eAAe;QACb,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
@@ -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,75 @@
1
+ import { AgentTextChatService, wrapAgentProviderError } from './shared';
2
+ export const DEFAULT_COPILOT_SDK_MODEL = 'gpt-4.1';
3
+ export class CopilotSDKChatService extends AgentTextChatService {
4
+ constructor(options = {}, loadSDK = loadCopilotSDK) {
5
+ const model = options.model ?? DEFAULT_COPILOT_SDK_MODEL;
6
+ super({
7
+ provider: 'copilot-sdk',
8
+ model,
9
+ defaultModel: DEFAULT_COPILOT_SDK_MODEL,
10
+ responseLength: options.responseLength,
11
+ getResponse: async (prompt, stream, onPartialResponse) => {
12
+ try {
13
+ return await runCopilotPrompt(loadSDK, model, options, prompt, stream, onPartialResponse);
14
+ }
15
+ catch (error) {
16
+ throw wrapAgentProviderError('copilot-sdk', error);
17
+ }
18
+ },
19
+ });
20
+ }
21
+ }
22
+ async function runCopilotPrompt(loadSDK, model, options, prompt, stream, onPartialResponse) {
23
+ const { CopilotClient } = await loadSDK();
24
+ const client = new CopilotClient();
25
+ let unsubscribe = undefined;
26
+ let streamedText = '';
27
+ try {
28
+ const session = await client.createSession({
29
+ model,
30
+ streaming: stream,
31
+ onPermissionRequest: options.onPermissionRequest ?? denyCopilotPermissionRequest,
32
+ });
33
+ if (stream && session.on) {
34
+ unsubscribe = session.on('assistant.message_delta', (event) => {
35
+ const delta = event.data?.deltaContent;
36
+ if (typeof delta === 'string' && delta) {
37
+ streamedText += delta;
38
+ onPartialResponse(delta);
39
+ }
40
+ });
41
+ }
42
+ const response = await session.sendAndWait({ prompt });
43
+ const content = response.data?.content;
44
+ if (typeof content !== 'string') {
45
+ throw new Error('copilot-sdk provider received an empty response.');
46
+ }
47
+ if (stream && streamedText === '') {
48
+ onPartialResponse(content);
49
+ }
50
+ return content;
51
+ }
52
+ finally {
53
+ if (unsubscribe) {
54
+ unsubscribe();
55
+ }
56
+ await client.stop?.();
57
+ }
58
+ }
59
+ const denyCopilotPermissionRequest = () => ({
60
+ kind: 'denied-no-approval-rule-and-could-not-request-from-user',
61
+ });
62
+ async function loadCopilotSDK() {
63
+ try {
64
+ return (await dynamicImport('@github/copilot-sdk'));
65
+ }
66
+ catch (error) {
67
+ const message = 'copilot-sdk provider requires @github/copilot-sdk. ' +
68
+ 'Install it in your Node.js project and authenticate with GitHub Copilot.';
69
+ const wrappedError = new Error(message);
70
+ wrappedError.cause = error;
71
+ throw wrappedError;
72
+ }
73
+ }
74
+ const dynamicImport = new Function('specifier', 'return import(specifier)');
75
+ //# 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,27 @@
1
+ import { CopilotSDKChatService, DEFAULT_COPILOT_SDK_MODEL, } from './CopilotSDKChatService';
2
+ import { rejectUnsupportedAgentOptions } from './shared';
3
+ export class CopilotSDKChatServiceProvider {
4
+ constructor(loadSDK) {
5
+ this.loadSDK = loadSDK;
6
+ }
7
+ createChatService(options) {
8
+ rejectUnsupportedAgentOptions(this.getProviderName(), options);
9
+ return new CopilotSDKChatService(options, this.loadSDK);
10
+ }
11
+ getProviderName() {
12
+ return 'copilot-sdk';
13
+ }
14
+ getSupportedModels() {
15
+ return [DEFAULT_COPILOT_SDK_MODEL];
16
+ }
17
+ getDefaultModel() {
18
+ return DEFAULT_COPILOT_SDK_MODEL;
19
+ }
20
+ supportsVision() {
21
+ return false;
22
+ }
23
+ getVisionSupportLevel() {
24
+ return 'unsupported';
25
+ }
26
+ }
27
+ //# sourceMappingURL=CopilotSDKChatServiceProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopilotSDKChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/CopilotSDKChatServiceProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,qBAAqB,EAGrB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAEzD,MAAM,OAAO,6BAA6B;IAGxC,YAAoB,OAA0B;QAA1B,YAAO,GAAP,OAAO,CAAmB;IAAG,CAAC;IAElD,iBAAiB,CAAC,OAAqC;QACrD,6BAA6B,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,IAAI,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,eAAe;QACb,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,kBAAkB;QAChB,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACrC,CAAC;IAED,eAAe;QACb,OAAO,yBAAyB,CAAC;IACnC,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qBAAqB;QACnB,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,19 @@
1
+ import { ChatService } from '../../ChatService';
2
+ import { CodexSDKChatServiceOptions, CodexSDKLoader } from './CodexSDKChatService';
3
+ import { CopilotSDKChatServiceOptions, CopilotSDKLoader } from './CopilotSDKChatService';
4
+ export { CodexSDKChatService, DEFAULT_CODEX_SDK_MODEL, type CodexSDKChatServiceOptions, type CodexSDKLoader, } from './CodexSDKChatService';
5
+ export { CodexSDKChatServiceProvider } from './CodexSDKChatServiceProvider';
6
+ export { CopilotSDKChatService, DEFAULT_COPILOT_SDK_MODEL, type CopilotSDKChatServiceOptions, type CopilotSDKLoader, } from './CopilotSDKChatService';
7
+ export { CopilotSDKChatServiceProvider } from './CopilotSDKChatServiceProvider';
8
+ export type AgentChatProviderName = 'copilot-sdk' | 'codex-sdk';
9
+ export type AgentChatServiceOptionsByProvider = {
10
+ 'copilot-sdk': CopilotSDKChatServiceOptions;
11
+ 'codex-sdk': CodexSDKChatServiceOptions;
12
+ };
13
+ export type RegisterAgentChatProvidersOptions = {
14
+ copilotSDKLoader?: CopilotSDKLoader;
15
+ codexSDKLoader?: CodexSDKLoader;
16
+ };
17
+ export declare function registerAgentChatProviders(options?: RegisterAgentChatProvidersOptions): void;
18
+ export declare function createAgentChatService<TProvider extends AgentChatProviderName>(providerName: TProvider, options: AgentChatServiceOptionsByProvider[TProvider]): ChatService;
19
+ //# 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;AAIhD,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAEjC,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,GAAG,aAAa,GAAG,WAAW,CAAC;AAEhE,MAAM,MAAM,iCAAiC,GAAG;IAC9C,aAAa,EAAE,4BAA4B,CAAC;IAC5C,WAAW,EAAE,0BAA0B,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,iCAAsC,GAC9C,IAAI,CAON;AAED,wBAAgB,sBAAsB,CAAC,SAAS,SAAS,qBAAqB,EAC5E,YAAY,EAAE,SAAS,EACvB,OAAO,EAAE,iCAAiC,CAAC,SAAS,CAAC,GACpD,WAAW,CAKb"}
@@ -0,0 +1,15 @@
1
+ import { ChatServiceFactory } from '../../ChatServiceFactory';
2
+ import { CodexSDKChatServiceProvider } from './CodexSDKChatServiceProvider';
3
+ import { CopilotSDKChatServiceProvider } from './CopilotSDKChatServiceProvider';
4
+ export { CodexSDKChatService, DEFAULT_CODEX_SDK_MODEL, } from './CodexSDKChatService';
5
+ export { CodexSDKChatServiceProvider } from './CodexSDKChatServiceProvider';
6
+ export { CopilotSDKChatService, DEFAULT_COPILOT_SDK_MODEL, } from './CopilotSDKChatService';
7
+ export { CopilotSDKChatServiceProvider } from './CopilotSDKChatServiceProvider';
8
+ export function registerAgentChatProviders(options = {}) {
9
+ ChatServiceFactory.registerProvider(new CopilotSDKChatServiceProvider(options.copilotSDKLoader));
10
+ ChatServiceFactory.registerProvider(new CodexSDKChatServiceProvider(options.codexSDKLoader));
11
+ }
12
+ export function createAgentChatService(providerName, options) {
13
+ return ChatServiceFactory.createChatService(providerName, options);
14
+ }
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAUhF,OAAO,EACL,mBAAmB,EACnB,uBAAuB,GAGxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAG1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAchF,MAAM,UAAU,0BAA0B,CACxC,UAA6C,EAAE;IAE/C,kBAAkB,CAAC,gBAAgB,CACjC,IAAI,6BAA6B,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAC5D,CAAC;IACF,kBAAkB,CAAC,gBAAgB,CACjC,IAAI,2BAA2B,CAAC,OAAO,CAAC,cAAc,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,YAAuB,EACvB,OAAqD;IAErD,OAAO,kBAAkB,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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/agent/shared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAwB,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEhF,MAAM,MAAM,2BAA2B,GAAG;IACxC,qEAAqE;IACrE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,2BAA2B,GAAG;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,KACtC,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AAEF,qBAAa,oBAAqB,YAAW,WAAW;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAC,CAAqB;IAC5C,OAAO,CAAC,WAAW,CAAsC;gBAE7C,OAAO,EAAE,oBAAoB;IAOzC,QAAQ,IAAI,MAAM;IAIlB,cAAc,IAAI,MAAM;IAIlB,WAAW,CACf,QAAQ,EAAE,OAAO,EAAE,EACnB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAClD,OAAO,CAAC,IAAI,CAAC;IAQV,iBAAiB,CACrB,SAAS,EAAE,iBAAiB,EAAE,EAC9B,kBAAkB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EAC1C,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GACnD,OAAO,CAAC,IAAI,CAAC;IAIV,QAAQ,CACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,GAAE,OAAc,EACtB,iBAAiB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACpD,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC;IAcxB,cAAc,CAClB,SAAS,EAAE,iBAAiB,EAAE,EAC9B,OAAO,GAAE,OAAe,EACxB,kBAAkB,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EACrD,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC;CAG/B;AAED,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,GACnE,IAAI,CAcN;AAED,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,OAAO,GACb,KAAK,CAcP"}
@@ -0,0 +1,116 @@
1
+ import { MAX_TOKENS_BY_LENGTH } from '../../../constants';
2
+ export class AgentTextChatService {
3
+ constructor(options) {
4
+ this.provider = options.provider;
5
+ this.model = options.model ?? options.defaultModel;
6
+ this.responseLength = options.responseLength;
7
+ this.getResponse = options.getResponse;
8
+ }
9
+ getModel() {
10
+ return this.model;
11
+ }
12
+ getVisionModel() {
13
+ return this.model;
14
+ }
15
+ async processChat(messages, onPartialResponse, onCompleteResponse) {
16
+ const result = await this.chatOnce(messages, true, onPartialResponse);
17
+ const text = result.blocks
18
+ .map((block) => (block.type === 'text' ? block.text : ''))
19
+ .join('');
20
+ await onCompleteResponse(text);
21
+ }
22
+ async processVisionChat(_messages, _onPartialResponse, _onCompleteResponse) {
23
+ throw new Error(`${this.provider} does not support vision chat yet.`);
24
+ }
25
+ async chatOnce(messages, stream = true, onPartialResponse = () => { }, maxTokens) {
26
+ const prompt = buildTextPrompt(messages, this.responseLength, maxTokens);
27
+ const text = await this.getResponse(prompt, stream, onPartialResponse);
28
+ if (!stream) {
29
+ onPartialResponse(text);
30
+ }
31
+ return {
32
+ blocks: [{ type: 'text', text }],
33
+ stop_reason: 'end',
34
+ };
35
+ }
36
+ async visionChatOnce(_messages, _stream = false, _onPartialResponse = () => { }, _maxTokens) {
37
+ throw new Error(`${this.provider} does not support vision chat yet.`);
38
+ }
39
+ }
40
+ export function rejectUnsupportedAgentOptions(providerName, options) {
41
+ if (options.apiKey !== undefined) {
42
+ throw new Error(`${providerName} provider does not accept apiKey.`);
43
+ }
44
+ if (options.tools !== undefined) {
45
+ throw new Error(`${providerName} provider does not support tools yet.`);
46
+ }
47
+ if (options.mcpServers !== undefined) {
48
+ throw new Error(`${providerName} provider does not support mcpServers yet.`);
49
+ }
50
+ }
51
+ export function wrapAgentProviderError(providerName, error) {
52
+ if (error instanceof Error && error.message.includes(' provider requires ')) {
53
+ return error;
54
+ }
55
+ const detail = stringifyError(error);
56
+ const authHint = isLikelyAuthError(detail)
57
+ ? ' This looks like an authentication or subscription permission failure.'
58
+ : '';
59
+ const wrappedError = new Error(`${providerName} provider failed.${authHint}\n\nOriginal error:\n${detail}`);
60
+ wrappedError.cause = error;
61
+ return wrappedError;
62
+ }
63
+ function buildTextPrompt(messages, responseLength, maxTokens) {
64
+ const parts = [];
65
+ const lengthInstruction = buildLengthInstruction(responseLength, maxTokens);
66
+ if (lengthInstruction) {
67
+ parts.push(lengthInstruction);
68
+ }
69
+ parts.push(...messages.map((message) => {
70
+ const label = toRoleLabel(message.role);
71
+ return `${label}: ${message.content}`;
72
+ }));
73
+ return parts.join('\n\n');
74
+ }
75
+ function buildLengthInstruction(responseLength, maxTokens) {
76
+ const tokenLimit = maxTokens ??
77
+ (responseLength !== undefined
78
+ ? MAX_TOKENS_BY_LENGTH[responseLength]
79
+ : undefined);
80
+ if (!tokenLimit) {
81
+ return undefined;
82
+ }
83
+ return `Please keep your response within approximately ${tokenLimit} tokens.`;
84
+ }
85
+ function toRoleLabel(role) {
86
+ switch (role) {
87
+ case 'system':
88
+ return 'System';
89
+ case 'assistant':
90
+ return 'Assistant';
91
+ case 'tool':
92
+ return 'Tool';
93
+ case 'user':
94
+ return 'User';
95
+ }
96
+ }
97
+ function stringifyError(error) {
98
+ if (error instanceof Error) {
99
+ return [error.name, error.message, error.stack]
100
+ .filter((value) => Boolean(value))
101
+ .join('\n');
102
+ }
103
+ if (typeof error === 'string') {
104
+ return error;
105
+ }
106
+ try {
107
+ return JSON.stringify(error, null, 2);
108
+ }
109
+ catch {
110
+ return String(error);
111
+ }
112
+ }
113
+ function isLikelyAuthError(detail) {
114
+ return /auth|login|log in|logged in|unauthori[sz]ed|forbidden|permission|subscription|credential|token|401|403/i.test(detail);
115
+ }
116
+ //# sourceMappingURL=shared.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/services/providers/agent/shared.ts"],"names":[],"mappings":"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"}
@@ -99,19 +99,5 @@ export declare class OpenAIChatService implements ChatService {
99
99
  private handleStream;
100
100
  private parseStream;
101
101
  private parseOneShot;
102
- /**
103
- * Parse streaming response from Responses API (SSE format)
104
- */
105
- private parseResponsesStream;
106
- /**
107
- * Handle specific SSE events from Responses API
108
- * @returns 'completed' if the response is completed, undefined otherwise
109
- */
110
- private handleResponsesSSEEvent;
111
- private extractResponsesMetadata;
112
- /**
113
- * Parse non-streaming response from Responses API
114
- */
115
- private parseResponsesOneShot;
116
102
  }
117
103
  //# sourceMappingURL=OpenAIChatService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OpenAIChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openai/OpenAIChatService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OpenAIChatService.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/openai/OpenAIChatService.ts"],"names":[],"mappings":"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"}