@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.
- package/README.ja.md +194 -6
- package/README.md +204 -6
- 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/constants/xai.d.ts +1 -0
- package/dist/cjs/constants/xai.d.ts.map +1 -1
- package/dist/cjs/constants/xai.js +3 -1
- package/dist/cjs/constants/xai.js.map +1 -1
- package/dist/cjs/services/ChatService.d.ts +2 -0
- package/dist/cjs/services/ChatService.d.ts.map +1 -1
- 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 +19 -0
- package/dist/cjs/services/providers/agent/index.d.ts.map +1 -0
- package/dist/cjs/services/providers/agent/index.js +26 -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/cjs/services/providers/openai/OpenAIChatService.d.ts +0 -14
- package/dist/cjs/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
- package/dist/cjs/services/providers/openai/OpenAIChatService.js +5 -192
- package/dist/cjs/services/providers/openai/OpenAIChatService.js.map +1 -1
- package/dist/cjs/services/providers/openai/responsesParser.d.ts +10 -0
- package/dist/cjs/services/providers/openai/responsesParser.d.ts.map +1 -0
- package/dist/cjs/services/providers/openai/responsesParser.js +166 -0
- package/dist/cjs/services/providers/openai/responsesParser.js.map +1 -0
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js +1 -0
- package/dist/cjs/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
- 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/constants/xai.d.ts +1 -0
- package/dist/esm/constants/xai.d.ts.map +1 -1
- package/dist/esm/constants/xai.js +2 -0
- package/dist/esm/constants/xai.js.map +1 -1
- package/dist/esm/services/ChatService.d.ts +2 -0
- package/dist/esm/services/ChatService.d.ts.map +1 -1
- 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 +19 -0
- package/dist/esm/services/providers/agent/index.d.ts.map +1 -0
- package/dist/esm/services/providers/agent/index.js +15 -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/dist/esm/services/providers/openai/OpenAIChatService.d.ts +0 -14
- package/dist/esm/services/providers/openai/OpenAIChatService.d.ts.map +1 -1
- package/dist/esm/services/providers/openai/OpenAIChatService.js +5 -192
- package/dist/esm/services/providers/openai/OpenAIChatService.js.map +1 -1
- package/dist/esm/services/providers/openai/responsesParser.d.ts +10 -0
- package/dist/esm/services/providers/openai/responsesParser.d.ts.map +1 -0
- package/dist/esm/services/providers/openai/responsesParser.js +162 -0
- package/dist/esm/services/providers/openai/responsesParser.js.map +1 -0
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js +2 -1
- package/dist/esm/services/providers/xai/XAIChatServiceProvider.js.map +1 -1
- package/dist/umd/aituber-onair-chat.js +165 -181
- package/dist/umd/aituber-onair-chat.min.js +8 -8
- package/package.json +6 -1
package/README.ja.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
AITuber OnAirのチャット・LLM API統合ライブラリです。このパッケージは、OpenAI、ローカルLLM含むOpenAI互換プロバイダー、Claude、Gemini、Gemini Nano(Chromeブラウザ内蔵AI)、OpenRouter、Z.ai、xAI、Kimi
|
|
5
|
+
AITuber OnAirのチャット・LLM API統合ライブラリです。このパッケージは、OpenAI、ローカルLLM含むOpenAI互換プロバイダー、Claude、Gemini、Gemini Nano(Chromeブラウザ内蔵AI)、OpenRouter、Z.ai、xAI、Kimi、Agent SDKプロバイダー等の様々なAIチャットプロバイダーとやり取りするための統一されたインターフェースを提供します。
|
|
6
6
|
|
|
7
7
|
## 機能
|
|
8
8
|
|
|
9
|
-
- 🤖 **複数のAIプロバイダー対応**: OpenAI、ローカルLLM含むOpenAI互換プロバイダー、Claude (Anthropic)、Google Gemini、Gemini Nano(Chromeブラウザ内蔵AI)、OpenRouter、Z.ai、xAI、Kimi
|
|
9
|
+
- 🤖 **複数のAIプロバイダー対応**: OpenAI、ローカルLLM含むOpenAI互換プロバイダー、Claude (Anthropic)、Google Gemini、Gemini Nano(Chromeブラウザ内蔵AI)、OpenRouter、Z.ai、xAI、Kimi、Agent SDKプロバイダー
|
|
10
10
|
- 🔄 **統一されたインターフェース**: 異なるプロバイダー間での一貫したAPI
|
|
11
11
|
- 🛠️ **ツール・関数呼び出し**: AI関数呼び出しの自動反復処理をサポート
|
|
12
12
|
- 💬 **ストリーミングレスポンス**: リアルタイムストリーミングチャット応答
|
|
@@ -14,6 +14,7 @@ AITuber OnAirのチャット・LLM API統合ライブラリです。このパッ
|
|
|
14
14
|
- 📝 **感情検出**: AI応答からの感情抽出
|
|
15
15
|
- 🎯 **応答長制御**: プリセットまたはカスタムトークン制限での応答長設定
|
|
16
16
|
- 🔌 **Model Context Protocol (MCP)**: MCP サーバーサポート
|
|
17
|
+
- 🧩 **Agent SDKプロバイダー**: エージェントSDKパッケージを標準インストールに含めず、任意で `@aituber-onair/chat/agent` から利用可能
|
|
17
18
|
|
|
18
19
|
## インストール
|
|
19
20
|
|
|
@@ -88,6 +89,97 @@ async function testChat() {
|
|
|
88
89
|
- スクリプトプロパティに `OPENAI_API_KEY` を設定。
|
|
89
90
|
- 実例は `packages/chat/examples/gas-basic` を参照。`appsscript.json` は任意(近年のGASは既定でV8ランタイム)。タイムゾーン等をカスタムしたい場合のみ追加してください。
|
|
90
91
|
|
|
92
|
+
## Agent SDKプロバイダー
|
|
93
|
+
|
|
94
|
+
Codex SDK や Copilot SDK のようなエージェントSDKを使う場合は、
|
|
95
|
+
専用の `@aituber-onair/chat/agent` エントリを使用します。
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
このエントリはブラウザ/GAS向けUMDビルドには含まれません。エージェントSDKパッケージは
|
|
102
|
+
動的に読み込むため、利用する SDK だけを JavaScript ランタイムアプリ側に追加してください。
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
npm install @aituber-onair/chat @openai/codex-sdk
|
|
106
|
+
# または
|
|
107
|
+
npm install @aituber-onair/chat @github/copilot-sdk
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Codex SDK を使う最短例:
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
114
|
+
|
|
115
|
+
const chatService = createAgentChatService('codex-sdk', {
|
|
116
|
+
workingDirectory: process.cwd(),
|
|
117
|
+
skipGitRepoCheck: true,
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
const messages = [
|
|
121
|
+
{
|
|
122
|
+
role: 'system',
|
|
123
|
+
content:
|
|
124
|
+
'あなたはライブ配信中のAIアバターです。親しみやすく短めに返答してください。',
|
|
125
|
+
},
|
|
126
|
+
{ role: 'user', content: '今日はTypeScriptのライブラリを作っています。' },
|
|
127
|
+
{
|
|
128
|
+
role: 'assistant',
|
|
129
|
+
content: 'いいですね。作業の合間に、会話で少し気分転換しましょう。',
|
|
130
|
+
},
|
|
131
|
+
{ role: 'user', content: '夜の作業に合う飲み物をおすすめして。' },
|
|
132
|
+
];
|
|
133
|
+
|
|
134
|
+
const response = await chatService.chatOnce(messages, false);
|
|
135
|
+
|
|
136
|
+
console.log(response);
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
Copilot SDK を使う場合:
|
|
140
|
+
|
|
141
|
+
```typescript
|
|
142
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
143
|
+
|
|
144
|
+
const chatService = createAgentChatService('copilot-sdk', {
|
|
145
|
+
model: 'gpt-4.1',
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
const messages = [
|
|
149
|
+
{
|
|
150
|
+
role: 'system',
|
|
151
|
+
content:
|
|
152
|
+
'あなたはライブ配信中のAIアバターです。親しみやすく短めに返答してください。',
|
|
153
|
+
},
|
|
154
|
+
{ role: 'user', content: '今日はTypeScriptのライブラリを作っています。' },
|
|
155
|
+
{
|
|
156
|
+
role: 'assistant',
|
|
157
|
+
content: 'いいですね。作業の合間に、会話で少し気分転換しましょう。',
|
|
158
|
+
},
|
|
159
|
+
{ role: 'user', content: '夜の作業に合う飲み物をおすすめして。' },
|
|
160
|
+
];
|
|
161
|
+
|
|
162
|
+
const response = await chatService.chatOnce(messages, false);
|
|
163
|
+
|
|
164
|
+
console.log(response);
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Copilot SDK はセッション作成時に権限リクエスト用ハンドラが必須です。
|
|
168
|
+
このパッケージでは安全側に倒すため、未指定時は SDK が管理するツール実行を
|
|
169
|
+
拒否します。ツール実行を許可したい場合は、利用側で `onPermissionRequest` を
|
|
170
|
+
明示してください。
|
|
171
|
+
|
|
172
|
+
```typescript
|
|
173
|
+
const chatService = createAgentChatService('copilot-sdk', {
|
|
174
|
+
model: 'gpt-4.1',
|
|
175
|
+
onPermissionRequest: () => ({ kind: 'approve-once' }),
|
|
176
|
+
});
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
利用前に、各 SDK のローカル認証を済ませておく必要があります。SDK パッケージが
|
|
180
|
+
未インストール、または認証が未完了の場合は、実行時に元の SDK エラー詳細を含む
|
|
181
|
+
エラーを投げます。
|
|
182
|
+
|
|
91
183
|
## 使用方法
|
|
92
184
|
|
|
93
185
|
### 基本的なチャット
|
|
@@ -162,6 +254,102 @@ const localCompatibleService = ChatServiceFactory.createChatService(
|
|
|
162
254
|
- 接続先サーバーは OpenAI互換API 契約を満たす必要があります。
|
|
163
255
|
- 本パッケージは特定のローカルLLM製品に依存しません。
|
|
164
256
|
|
|
257
|
+
#### Agent SDKプロバイダー
|
|
258
|
+
|
|
259
|
+
`@aituber-onair/chat/agent` は、Codex SDK や Copilot SDK のような
|
|
260
|
+
エージェントSDK向けの実験的なプロバイダーを公開します。ブラウザ/GAS向けUMDエントリには
|
|
261
|
+
含まれず、APIキーも使用しません。
|
|
262
|
+
|
|
263
|
+
利用するエージェントSDKパッケージだけを、利用側の JavaScript ランタイムアプリに追加してください。
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
npm install @aituber-onair/chat @openai/codex-sdk
|
|
267
|
+
# または
|
|
268
|
+
npm install @aituber-onair/chat @github/copilot-sdk
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
`@openai/codex-sdk` と `@github/copilot-sdk` は `@aituber-onair/chat` の
|
|
272
|
+
依存関係には含めていません。SDK は動的に読み込むため、通常の API
|
|
273
|
+
プロバイダーだけを使うユーザーはこれらのエージェントSDKパッケージをインストールする
|
|
274
|
+
必要がありません。
|
|
275
|
+
|
|
276
|
+
```typescript
|
|
277
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
278
|
+
|
|
279
|
+
const codexService = createAgentChatService('codex-sdk', {
|
|
280
|
+
workingDirectory: process.cwd(),
|
|
281
|
+
skipGitRepoCheck: true,
|
|
282
|
+
});
|
|
283
|
+
|
|
284
|
+
const messages = [
|
|
285
|
+
{
|
|
286
|
+
role: 'system',
|
|
287
|
+
content:
|
|
288
|
+
'あなたはライブ配信中のAIアバターです。視聴者との自然な会話を続けてください。',
|
|
289
|
+
},
|
|
290
|
+
{ role: 'user', content: '最近、個人開発の進め方で悩んでいます。' },
|
|
291
|
+
{
|
|
292
|
+
role: 'assistant',
|
|
293
|
+
content: '無理なく続けられる形を一緒に考えましょう。',
|
|
294
|
+
},
|
|
295
|
+
{ role: 'user', content: '今日は何から手をつけるのが良さそう?' },
|
|
296
|
+
];
|
|
297
|
+
|
|
298
|
+
const result = await codexService.chatOnce(messages, false, (text) =>
|
|
299
|
+
process.stdout.write(text),
|
|
300
|
+
);
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
Copilot SDK を使う場合は `copilot-sdk` を指定します。
|
|
304
|
+
|
|
305
|
+
```typescript
|
|
306
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
307
|
+
|
|
308
|
+
const copilotService = createAgentChatService('copilot-sdk', {
|
|
309
|
+
model: 'gpt-4.1',
|
|
310
|
+
});
|
|
311
|
+
|
|
312
|
+
const messages = [
|
|
313
|
+
{
|
|
314
|
+
role: 'system',
|
|
315
|
+
content:
|
|
316
|
+
'あなたはライブ配信中のAIアバターです。視聴者との自然な会話を続けてください。',
|
|
317
|
+
},
|
|
318
|
+
{ role: 'user', content: '最近、個人開発の進め方で悩んでいます。' },
|
|
319
|
+
{
|
|
320
|
+
role: 'assistant',
|
|
321
|
+
content: '無理なく続けられる形を一緒に考えましょう。',
|
|
322
|
+
},
|
|
323
|
+
{ role: 'user', content: '今日は何から手をつけるのが良さそう?' },
|
|
324
|
+
];
|
|
325
|
+
|
|
326
|
+
const result = await copilotService.chatOnce(messages, false, (text) =>
|
|
327
|
+
process.stdout.write(text),
|
|
328
|
+
);
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
Copilot SDK はセッション作成時に権限リクエスト用ハンドラが必須です。
|
|
332
|
+
このパッケージでは安全側に倒すため、未指定時は SDK が管理するツール実行を
|
|
333
|
+
拒否します。ツール実行を許可する場合は、利用側で `onPermissionRequest` を
|
|
334
|
+
渡してください。たとえば、すべて許可する場合は次のように指定できます。
|
|
335
|
+
|
|
336
|
+
```typescript
|
|
337
|
+
const copilotService = createAgentChatService('copilot-sdk', {
|
|
338
|
+
model: 'gpt-4.1',
|
|
339
|
+
onPermissionRequest: () => ({ kind: 'approve-once' }),
|
|
340
|
+
});
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
利用可能なプロバイダー:
|
|
344
|
+
- `codex-sdk`: `@openai/codex-sdk` と Codex 認証が必要です。
|
|
345
|
+
- `copilot-sdk`: `@github/copilot-sdk` と GitHub Copilot 認証が必要です。
|
|
346
|
+
|
|
347
|
+
現時点の制限:
|
|
348
|
+
- テキストチャットのみ対応します。
|
|
349
|
+
- Vision chat、tools、MCP servers は意図的に未対応です。
|
|
350
|
+
- エージェントSDKパッケージが未インストール、またはローカル認証が未完了の場合は、
|
|
351
|
+
実行時に元のSDKエラー詳細を含むエラーを投げます。
|
|
352
|
+
|
|
165
353
|
#### OpenAI互換(ローカル/セルフホスト)
|
|
166
354
|
|
|
167
355
|
公式OpenAI利用と互換エンドポイント利用を明確に分離したい場合は、
|
|
@@ -352,14 +540,14 @@ const zaiService = ChatServiceFactory.createChatService('zai', {
|
|
|
352
540
|
```typescript
|
|
353
541
|
const xaiService = ChatServiceFactory.createChatService('xai', {
|
|
354
542
|
apiKey: process.env.XAI_API_KEY,
|
|
355
|
-
model: 'grok-4
|
|
356
|
-
visionModel: 'grok-4
|
|
543
|
+
model: 'grok-4.3',
|
|
544
|
+
visionModel: 'grok-4.3', // 任意: xAI の全モデルがビジョン対応
|
|
357
545
|
});
|
|
358
546
|
```
|
|
359
547
|
|
|
360
548
|
注意:
|
|
361
549
|
- xAIはOpenAI互換のChat Completionsを利用します。
|
|
362
|
-
- 対応モデル: `grok-4.20-0309-reasoning`, `grok-4.20-0309-non-reasoning`, `grok-4-1-fast-reasoning`, `grok-4-1-fast-non-reasoning`
|
|
550
|
+
- 対応モデル: `grok-4.3`, `grok-4.20-0309-reasoning`, `grok-4.20-0309-non-reasoning`, `grok-4-1-fast-reasoning`, `grok-4-1-fast-non-reasoning`
|
|
363
551
|
- すべての対応 xAI モデルでビジョンとツール・関数呼び出しを利用できます。
|
|
364
552
|
|
|
365
553
|
#### Kimi(Moonshot)
|
|
@@ -691,7 +879,7 @@ console.log(modelLevel); // 'unknown'
|
|
|
691
879
|
- **Claude**: Claude Opus 4.7, Claude Opus 4.6, Claude Opus 4.5, Claude Sonnet 4.6, Claude Sonnet 4.5, Claude Haiku 4.5 に加え、まだ利用可能だが非推奨の Claude 4 Opus, Claude 4 Sonnet, Claude 3 Haiku をサポート
|
|
692
880
|
- **OpenRouter**: OpenRouterのキュレーション済みモデル一覧(OpenAI/Claude/Gemini/Z.ai/Kimi)をサポート。モデルIDはOpenRouter節を参照してください
|
|
693
881
|
- **Z.ai**: GLM-5/GLM-5-Turbo(テキスト)、GLM-4.7/4.6(テキスト)、GLM-4.6V系(ビジョン)をサポート
|
|
694
|
-
- **xAI**: Grok 4.20 の Reasoning/Non-Reasoning
|
|
882
|
+
- **xAI**: Grok 4.3、Grok 4.20 の Reasoning/Non-Reasoning、Grok 4-1 Fast の Reasoning/Non-Reasoning をサポートし、全モデルでビジョン対応
|
|
695
883
|
- **Kimi**: Kimi K2.6(`kimi-k2.6`)と Kimi K2.5(`kimi-k2.5`、いずれもビジョン対応)をサポート
|
|
696
884
|
- **Gemini Nano**: Chromeブラウザ内蔵AI(LanguageModel API)。デバイス上で動作し、APIキー不要。Chrome 138以降でPrompt APIフラグの有効化が必要。非ストリーミング、ビジョン非対応
|
|
697
885
|
|
package/README.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|

|
|
4
4
|
|
|
5
|
-
Chat and LLM API integration library for AITuber OnAir. This package provides a unified interface for interacting with various AI chat providers including OpenAI, OpenAI-compatible, Claude, Gemini, Gemini Nano (Chrome built-in AI), OpenRouter, Z.ai, xAI, and
|
|
5
|
+
Chat and LLM API integration library for AITuber OnAir. This package provides a unified interface for interacting with various AI chat providers including OpenAI, OpenAI-compatible, Claude, Gemini, Gemini Nano (Chrome built-in AI), OpenRouter, Z.ai, xAI, Kimi, and Agent SDK providers.
|
|
6
6
|
|
|
7
7
|
## Features
|
|
8
8
|
|
|
9
|
-
- 🤖 **Multiple AI Provider Support**: OpenAI, OpenAI-compatible, Claude (Anthropic), Google Gemini, Gemini Nano (Chrome built-in AI), OpenRouter, Z.ai, xAI, and
|
|
9
|
+
- 🤖 **Multiple AI Provider Support**: OpenAI, OpenAI-compatible, Claude (Anthropic), Google Gemini, Gemini Nano (Chrome built-in AI), OpenRouter, Z.ai, xAI, Kimi, and Agent SDK providers
|
|
10
10
|
- 🔄 **Unified Interface**: Consistent API across different providers
|
|
11
11
|
- 🛠️ **Tool/Function Calling**: Support for AI function calling with automatic iteration
|
|
12
12
|
- 💬 **Streaming Responses**: Real-time streaming chat responses
|
|
@@ -14,6 +14,7 @@ Chat and LLM API integration library for AITuber OnAir. This package provides a
|
|
|
14
14
|
- 📝 **Emotion Detection**: Extract emotions from AI responses
|
|
15
15
|
- 🎯 **Response Length Control**: Configure response lengths with presets or custom token limits
|
|
16
16
|
- 🔌 **Model Context Protocol (MCP)**: Support for MCP servers
|
|
17
|
+
- 🧩 **Agent SDK Providers**: Optional `@aituber-onair/chat/agent` entry for agent SDK providers without adding agent SDK packages to the default install
|
|
17
18
|
|
|
18
19
|
## Installation
|
|
19
20
|
|
|
@@ -88,6 +89,102 @@ Notes:
|
|
|
88
89
|
- Set your API key in Script Properties: `OPENAI_API_KEY`.
|
|
89
90
|
- See `packages/chat/examples/gas-basic` for a working example. The Apps Script manifest (`appsscript.json`) is optional; modern projects default to V8. Add one only if you need custom settings (e.g., time zone).
|
|
90
91
|
|
|
92
|
+
## Agent SDK Providers
|
|
93
|
+
|
|
94
|
+
For agent SDKs such as Codex SDK and Copilot SDK, use the separate
|
|
95
|
+
`@aituber-onair/chat/agent` entry point:
|
|
96
|
+
|
|
97
|
+
```typescript
|
|
98
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
This entry is not part of the browser/GAS UMD build. It loads agent SDK packages
|
|
102
|
+
dynamically, so install only the agent SDK package used by your JavaScript runtime application:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
npm install @aituber-onair/chat @openai/codex-sdk
|
|
106
|
+
# or
|
|
107
|
+
npm install @aituber-onair/chat @github/copilot-sdk
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Minimal Codex SDK example:
|
|
111
|
+
|
|
112
|
+
```typescript
|
|
113
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
114
|
+
|
|
115
|
+
const chatService = createAgentChatService('codex-sdk', {
|
|
116
|
+
workingDirectory: process.cwd(),
|
|
117
|
+
skipGitRepoCheck: true,
|
|
118
|
+
});
|
|
119
|
+
|
|
120
|
+
const messages = [
|
|
121
|
+
{
|
|
122
|
+
role: 'system',
|
|
123
|
+
content:
|
|
124
|
+
'You are a friendly AI avatar for a live chat. Reply warmly and concisely.',
|
|
125
|
+
},
|
|
126
|
+
{ role: 'user', content: 'I am working on a TypeScript library tonight.' },
|
|
127
|
+
{
|
|
128
|
+
role: 'assistant',
|
|
129
|
+
content: 'Nice. I can keep the conversation light while you work.',
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
role: 'user',
|
|
133
|
+
content: 'What drink would you recommend for a late-night coding session?',
|
|
134
|
+
},
|
|
135
|
+
];
|
|
136
|
+
|
|
137
|
+
const response = await chatService.chatOnce(messages, false);
|
|
138
|
+
|
|
139
|
+
console.log(response);
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
For Copilot SDK:
|
|
143
|
+
|
|
144
|
+
```typescript
|
|
145
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
146
|
+
|
|
147
|
+
const chatService = createAgentChatService('copilot-sdk', {
|
|
148
|
+
model: 'gpt-4.1',
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
const messages = [
|
|
152
|
+
{
|
|
153
|
+
role: 'system',
|
|
154
|
+
content:
|
|
155
|
+
'You are a friendly AI avatar for a live chat. Reply warmly and concisely.',
|
|
156
|
+
},
|
|
157
|
+
{ role: 'user', content: 'I am working on a TypeScript library tonight.' },
|
|
158
|
+
{
|
|
159
|
+
role: 'assistant',
|
|
160
|
+
content: 'Nice. I can keep the conversation light while you work.',
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
role: 'user',
|
|
164
|
+
content: 'What drink would you recommend for a late-night coding session?',
|
|
165
|
+
},
|
|
166
|
+
];
|
|
167
|
+
|
|
168
|
+
const response = await chatService.chatOnce(messages, false);
|
|
169
|
+
|
|
170
|
+
console.log(response);
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Copilot SDK requires a permission request handler when creating a session. This
|
|
174
|
+
package defaults to denying SDK-managed tool execution for safety. If your
|
|
175
|
+
application wants to allow it, pass `onPermissionRequest` explicitly.
|
|
176
|
+
|
|
177
|
+
```typescript
|
|
178
|
+
const chatService = createAgentChatService('copilot-sdk', {
|
|
179
|
+
model: 'gpt-4.1',
|
|
180
|
+
onPermissionRequest: () => ({ kind: 'approve-once' }),
|
|
181
|
+
});
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Authenticate the corresponding SDK locally before using these providers. If the
|
|
185
|
+
SDK package is missing or authentication is not ready, the provider throws an
|
|
186
|
+
error at runtime with the original SDK error details.
|
|
187
|
+
|
|
91
188
|
## Usage
|
|
92
189
|
|
|
93
190
|
### Basic Chat
|
|
@@ -162,6 +259,107 @@ Notes:
|
|
|
162
259
|
- The target server must satisfy the OpenAI-compatible API contract.
|
|
163
260
|
- This package does not depend on any specific local LLM product.
|
|
164
261
|
|
|
262
|
+
#### Agent SDK Providers
|
|
263
|
+
|
|
264
|
+
`@aituber-onair/chat/agent` exposes experimental providers for agent SDKs such
|
|
265
|
+
as Codex SDK and Copilot SDK. These providers are not included in the
|
|
266
|
+
browser/GAS UMD entry point and do not use API keys.
|
|
267
|
+
|
|
268
|
+
Install only the agent SDK package you actually use in your JavaScript runtime application:
|
|
269
|
+
|
|
270
|
+
```bash
|
|
271
|
+
npm install @aituber-onair/chat @openai/codex-sdk
|
|
272
|
+
# or
|
|
273
|
+
npm install @aituber-onair/chat @github/copilot-sdk
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
`@openai/codex-sdk` and `@github/copilot-sdk` are not dependencies of
|
|
277
|
+
`@aituber-onair/chat`. They are loaded dynamically, so users who only use the
|
|
278
|
+
normal API providers do not install these agent SDK packages.
|
|
279
|
+
|
|
280
|
+
```typescript
|
|
281
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
282
|
+
|
|
283
|
+
const codexService = createAgentChatService('codex-sdk', {
|
|
284
|
+
workingDirectory: process.cwd(),
|
|
285
|
+
skipGitRepoCheck: true,
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
const messages = [
|
|
289
|
+
{
|
|
290
|
+
role: 'system',
|
|
291
|
+
content:
|
|
292
|
+
'You are a friendly AI avatar for a live chat. Keep a natural conversation going.',
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
role: 'user',
|
|
296
|
+
content: 'I am thinking about how to keep a side project moving.',
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
role: 'assistant',
|
|
300
|
+
content: 'Let us make it feel manageable and easy to restart.',
|
|
301
|
+
},
|
|
302
|
+
{ role: 'user', content: 'What should I work on first today?' },
|
|
303
|
+
];
|
|
304
|
+
|
|
305
|
+
const result = await codexService.chatOnce(messages, false, (text) =>
|
|
306
|
+
process.stdout.write(text),
|
|
307
|
+
);
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
For Copilot SDK, use `copilot-sdk`.
|
|
311
|
+
|
|
312
|
+
```typescript
|
|
313
|
+
import { createAgentChatService } from '@aituber-onair/chat/agent';
|
|
314
|
+
|
|
315
|
+
const copilotService = createAgentChatService('copilot-sdk', {
|
|
316
|
+
model: 'gpt-4.1',
|
|
317
|
+
});
|
|
318
|
+
|
|
319
|
+
const messages = [
|
|
320
|
+
{
|
|
321
|
+
role: 'system',
|
|
322
|
+
content:
|
|
323
|
+
'You are a friendly AI avatar for a live chat. Keep a natural conversation going.',
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
role: 'user',
|
|
327
|
+
content: 'I am thinking about how to keep a side project moving.',
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
role: 'assistant',
|
|
331
|
+
content: 'Let us make it feel manageable and easy to restart.',
|
|
332
|
+
},
|
|
333
|
+
{ role: 'user', content: 'What should I work on first today?' },
|
|
334
|
+
];
|
|
335
|
+
|
|
336
|
+
const result = await copilotService.chatOnce(messages, false, (text) =>
|
|
337
|
+
process.stdout.write(text),
|
|
338
|
+
);
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
Copilot SDK requires a permission request handler when creating a session. This
|
|
342
|
+
package defaults to denying SDK-managed tool execution for safety. If you want
|
|
343
|
+
to allow it, pass `onPermissionRequest` from your application. For example, to
|
|
344
|
+
allow all requests:
|
|
345
|
+
|
|
346
|
+
```typescript
|
|
347
|
+
const copilotService = createAgentChatService('copilot-sdk', {
|
|
348
|
+
model: 'gpt-4.1',
|
|
349
|
+
onPermissionRequest: () => ({ kind: 'approve-once' }),
|
|
350
|
+
});
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
Available providers:
|
|
354
|
+
- `codex-sdk`: requires `@openai/codex-sdk` and Codex authentication.
|
|
355
|
+
- `copilot-sdk`: requires `@github/copilot-sdk` and GitHub Copilot authentication.
|
|
356
|
+
|
|
357
|
+
Current limitations:
|
|
358
|
+
- Text chat only.
|
|
359
|
+
- Vision chat, tools, and MCP servers are intentionally unsupported for now.
|
|
360
|
+
- If an agent SDK package is missing or local authentication is not ready, the
|
|
361
|
+
provider throws an error at runtime with the original SDK error details.
|
|
362
|
+
|
|
165
363
|
#### OpenAI-Compatible (Local/Self-Hosted)
|
|
166
364
|
|
|
167
365
|
Use `openai-compatible` when you want to clearly separate official OpenAI
|
|
@@ -348,14 +546,14 @@ Notes:
|
|
|
348
546
|
```typescript
|
|
349
547
|
const xaiService = ChatServiceFactory.createChatService('xai', {
|
|
350
548
|
apiKey: process.env.XAI_API_KEY,
|
|
351
|
-
model: 'grok-4
|
|
352
|
-
visionModel: 'grok-4
|
|
549
|
+
model: 'grok-4.3',
|
|
550
|
+
visionModel: 'grok-4.3', // Optional: all xAI models support vision
|
|
353
551
|
});
|
|
354
552
|
```
|
|
355
553
|
|
|
356
554
|
Notes:
|
|
357
555
|
- xAI uses OpenAI-compatible Chat Completions.
|
|
358
|
-
- Supported models: `grok-4.20-0309-reasoning`, `grok-4.20-0309-non-reasoning`, `grok-4-1-fast-reasoning`, `grok-4-1-fast-non-reasoning`
|
|
556
|
+
- Supported models: `grok-4.3`, `grok-4.20-0309-reasoning`, `grok-4.20-0309-non-reasoning`, `grok-4-1-fast-reasoning`, `grok-4-1-fast-non-reasoning`
|
|
359
557
|
- All supported xAI models support vision and tool/function calling.
|
|
360
558
|
|
|
361
559
|
#### Kimi (Moonshot)
|
|
@@ -688,7 +886,7 @@ Currently, the following AI providers are built-in:
|
|
|
688
886
|
- **Claude**: Supports current Claude API model IDs including Claude Opus 4.7, Claude Opus 4.6, Claude Opus 4.5, Claude Sonnet 4.6, Claude Sonnet 4.5, Claude Haiku 4.5, plus deprecated-but-still-available Claude 4 Opus, Claude 4 Sonnet, and Claude 3 Haiku
|
|
689
887
|
- **OpenRouter**: Supports a curated OpenRouter model list (OpenAI/Claude/Gemini/Z.ai/Kimi). See the OpenRouter section for model IDs.
|
|
690
888
|
- **Z.ai**: Supports GLM-5/GLM-5-Turbo (text), GLM-4.7/4.6 (text), and GLM-4.6V family (vision)
|
|
691
|
-
- **xAI**: Supports Grok 4.20 Reasoning/Non-Reasoning and Grok 4-1 Fast Reasoning/Non-Reasoning, all with vision support
|
|
889
|
+
- **xAI**: Supports Grok 4.3, Grok 4.20 Reasoning/Non-Reasoning, and Grok 4-1 Fast Reasoning/Non-Reasoning, all with vision support
|
|
692
890
|
- **Kimi**: Supports Kimi K2.6 (`kimi-k2.6`) and Kimi K2.5 (`kimi-k2.5`) with vision support
|
|
693
891
|
- **Gemini Nano**: Chrome built-in AI (LanguageModel API). Runs on-device with no API key required. Chrome 138+ with Prompt API flags enabled. Non-streaming, no vision support.
|
|
694
892
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./index"), exports);
|
|
18
|
+
__exportStar(require("./services/providers/agent"), exports);
|
|
19
|
+
const agent_1 = require("./services/providers/agent");
|
|
20
|
+
(0, agent_1.registerAgentChatProviders)();
|
|
21
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,6DAA2C;AAE3C,sDAAwE;AAExE,IAAA,kCAA0B,GAAE,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const ENDPOINT_XAI_CHAT_COMPLETIONS_API = "https://api.x.ai/v1/chat/completions";
|
|
2
|
+
export declare const MODEL_GROK_4_3 = "grok-4.3";
|
|
2
3
|
export declare const MODEL_GROK_4_20_REASONING = "grok-4.20-0309-reasoning";
|
|
3
4
|
export declare const MODEL_GROK_4_20_NON_REASONING = "grok-4.20-0309-non-reasoning";
|
|
4
5
|
export declare const MODEL_GROK_4_1_FAST_REASONING = "grok-4-1-fast-reasoning";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,yCACN,CAAC;AAGzC,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AACpE,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAC5E,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAG/E,eAAO,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"xai.d.ts","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,yCACN,CAAC;AAGzC,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AACpE,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAC5E,eAAO,MAAM,6BAA6B,4BAA4B,CAAC;AACvE,eAAO,MAAM,iCAAiC,gCAAgC,CAAC;AAG/E,eAAO,MAAM,2BAA2B,UAMvC,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.XAI_VISION_SUPPORTED_MODELS = exports.MODEL_GROK_4_1_FAST_NON_REASONING = exports.MODEL_GROK_4_1_FAST_REASONING = exports.MODEL_GROK_4_20_NON_REASONING = exports.MODEL_GROK_4_20_REASONING = exports.ENDPOINT_XAI_CHAT_COMPLETIONS_API = void 0;
|
|
3
|
+
exports.XAI_VISION_SUPPORTED_MODELS = exports.MODEL_GROK_4_1_FAST_NON_REASONING = exports.MODEL_GROK_4_1_FAST_REASONING = exports.MODEL_GROK_4_20_NON_REASONING = exports.MODEL_GROK_4_20_REASONING = exports.MODEL_GROK_4_3 = exports.ENDPOINT_XAI_CHAT_COMPLETIONS_API = void 0;
|
|
4
4
|
exports.isXaiVisionModel = isXaiVisionModel;
|
|
5
5
|
exports.ENDPOINT_XAI_CHAT_COMPLETIONS_API = 'https://api.x.ai/v1/chat/completions';
|
|
6
6
|
// xAI Grok models
|
|
7
|
+
exports.MODEL_GROK_4_3 = 'grok-4.3';
|
|
7
8
|
exports.MODEL_GROK_4_20_REASONING = 'grok-4.20-0309-reasoning';
|
|
8
9
|
exports.MODEL_GROK_4_20_NON_REASONING = 'grok-4.20-0309-non-reasoning';
|
|
9
10
|
exports.MODEL_GROK_4_1_FAST_REASONING = 'grok-4-1-fast-reasoning';
|
|
10
11
|
exports.MODEL_GROK_4_1_FAST_NON_REASONING = 'grok-4-1-fast-non-reasoning';
|
|
11
12
|
// Vision support for models
|
|
12
13
|
exports.XAI_VISION_SUPPORTED_MODELS = [
|
|
14
|
+
exports.MODEL_GROK_4_3,
|
|
13
15
|
exports.MODEL_GROK_4_20_REASONING,
|
|
14
16
|
exports.MODEL_GROK_4_20_NON_REASONING,
|
|
15
17
|
exports.MODEL_GROK_4_1_FAST_REASONING,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xai.js","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"xai.js","sourceRoot":"","sources":["../../../src/constants/xai.ts"],"names":[],"mappings":";;;AAsBA,4CAEC;AAxBY,QAAA,iCAAiC,GAC5C,sCAAsC,CAAC;AAEzC,kBAAkB;AACL,QAAA,cAAc,GAAG,UAAU,CAAC;AAC5B,QAAA,yBAAyB,GAAG,0BAA0B,CAAC;AACvD,QAAA,6BAA6B,GAAG,8BAA8B,CAAC;AAC/D,QAAA,6BAA6B,GAAG,yBAAyB,CAAC;AAC1D,QAAA,iCAAiC,GAAG,6BAA6B,CAAC;AAE/E,4BAA4B;AACf,QAAA,2BAA2B,GAAG;IACzC,sBAAc;IACd,iCAAyB;IACzB,qCAA6B;IAC7B,qCAA6B;IAC7B,yCAAiC;CAClC,CAAC;AAEF;;GAEG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,mCAA2B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC"}
|
|
@@ -5,6 +5,8 @@ import { ToolChatCompletion } from '../types/toolChat';
|
|
|
5
5
|
* Abstracts interaction with AI models
|
|
6
6
|
*/
|
|
7
7
|
export interface ChatService {
|
|
8
|
+
/** Provider name for provider-specific orchestration decisions */
|
|
9
|
+
readonly provider: string;
|
|
8
10
|
/**
|
|
9
11
|
* Get the model name
|
|
10
12
|
* @returns Model name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatService.d.ts","sourceRoot":"","sources":["../../../src/services/ChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;OAGG;IACH,cAAc,IAAI,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CACT,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,CAAC;IAEjB;;;;;OAKG;IACH,iBAAiB,CACf,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,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,CAAC;IAEjB;;;;;;;OAOG;IACH,QAAQ,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;;;;;OAOG;IACH,cAAc,CACZ,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC"}
|
|
1
|
+
{"version":3,"file":"ChatService.d.ts","sourceRoot":"","sources":["../../../src/services/ChatService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;OAGG;IACH,cAAc,IAAI,MAAM,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CACT,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,CAAC;IAEjB;;;;;OAKG;IACH,iBAAiB,CACf,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,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,CAAC;IAEjB;;;;;;;OAOG;IACH,QAAQ,CACN,QAAQ,EAAE,OAAO,EAAE,EACnB,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE/B;;;;;;;OAOG;IACH,cAAc,CACZ,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC"}
|
|
@@ -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"}
|