@aituber-onair/chat 0.30.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 (59) hide show
  1. package/README.ja.md +190 -2
  2. package/README.md +200 -2
  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/services/providers/agent/CodexSDKChatService.d.ts +29 -0
  8. package/dist/cjs/services/providers/agent/CodexSDKChatService.d.ts.map +1 -0
  9. package/dist/cjs/services/providers/agent/CodexSDKChatService.js +65 -0
  10. package/dist/cjs/services/providers/agent/CodexSDKChatService.js.map +1 -0
  11. package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.d.ts +14 -0
  12. package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.d.ts.map +1 -0
  13. package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.js +31 -0
  14. package/dist/cjs/services/providers/agent/CodexSDKChatServiceProvider.js.map +1 -0
  15. package/dist/cjs/services/providers/agent/CopilotSDKChatService.d.ts +48 -0
  16. package/dist/cjs/services/providers/agent/CopilotSDKChatService.d.ts.map +1 -0
  17. package/dist/cjs/services/providers/agent/CopilotSDKChatService.js +79 -0
  18. package/dist/cjs/services/providers/agent/CopilotSDKChatService.js.map +1 -0
  19. package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.d.ts +14 -0
  20. package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.d.ts.map +1 -0
  21. package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.js +31 -0
  22. package/dist/cjs/services/providers/agent/CopilotSDKChatServiceProvider.js.map +1 -0
  23. package/dist/cjs/services/providers/agent/index.d.ts +19 -0
  24. package/dist/cjs/services/providers/agent/index.d.ts.map +1 -0
  25. package/dist/cjs/services/providers/agent/index.js +26 -0
  26. package/dist/cjs/services/providers/agent/index.js.map +1 -0
  27. package/dist/cjs/services/providers/agent/shared.d.ts +36 -0
  28. package/dist/cjs/services/providers/agent/shared.d.ts.map +1 -0
  29. package/dist/cjs/services/providers/agent/shared.js +122 -0
  30. package/dist/cjs/services/providers/agent/shared.js.map +1 -0
  31. package/dist/esm/agent.d.ts +3 -0
  32. package/dist/esm/agent.d.ts.map +1 -0
  33. package/dist/esm/agent.js +5 -0
  34. package/dist/esm/agent.js.map +1 -0
  35. package/dist/esm/services/providers/agent/CodexSDKChatService.d.ts +29 -0
  36. package/dist/esm/services/providers/agent/CodexSDKChatService.d.ts.map +1 -0
  37. package/dist/esm/services/providers/agent/CodexSDKChatService.js +61 -0
  38. package/dist/esm/services/providers/agent/CodexSDKChatService.js.map +1 -0
  39. package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.d.ts +14 -0
  40. package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.d.ts.map +1 -0
  41. package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.js +27 -0
  42. package/dist/esm/services/providers/agent/CodexSDKChatServiceProvider.js.map +1 -0
  43. package/dist/esm/services/providers/agent/CopilotSDKChatService.d.ts +48 -0
  44. package/dist/esm/services/providers/agent/CopilotSDKChatService.d.ts.map +1 -0
  45. package/dist/esm/services/providers/agent/CopilotSDKChatService.js +75 -0
  46. package/dist/esm/services/providers/agent/CopilotSDKChatService.js.map +1 -0
  47. package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.d.ts +14 -0
  48. package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.d.ts.map +1 -0
  49. package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.js +27 -0
  50. package/dist/esm/services/providers/agent/CopilotSDKChatServiceProvider.js.map +1 -0
  51. package/dist/esm/services/providers/agent/index.d.ts +19 -0
  52. package/dist/esm/services/providers/agent/index.d.ts.map +1 -0
  53. package/dist/esm/services/providers/agent/index.js +15 -0
  54. package/dist/esm/services/providers/agent/index.js.map +1 -0
  55. package/dist/esm/services/providers/agent/shared.d.ts +36 -0
  56. package/dist/esm/services/providers/agent/shared.d.ts.map +1 -0
  57. package/dist/esm/services/providers/agent/shared.js +116 -0
  58. package/dist/esm/services/providers/agent/shared.js.map +1 -0
  59. package/package.json +6 -1
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aituber-onair/chat",
3
- "version": "0.30.0",
3
+ "version": "0.31.0",
4
4
  "description": "Chat and LLM API integration library for AITuber OnAir",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -12,6 +12,11 @@
12
12
  "import": "./dist/esm/index.js",
13
13
  "require": "./dist/cjs/index.js"
14
14
  },
15
+ "./agent": {
16
+ "types": "./dist/cjs/agent.d.ts",
17
+ "import": "./dist/esm/agent.js",
18
+ "require": "./dist/cjs/agent.js"
19
+ },
15
20
  "./dist/cjs/*": "./dist/cjs/*",
16
21
  "./dist/esm/*": "./dist/esm/*",
17
22
  "./umd": "./dist/umd/aituber-onair-chat.js"