@aituber-onair/chat 0.3.0 → 0.5.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 +70 -3
- package/README.md +70 -3
- package/dist/cjs/adapters/gasFetch.d.ts +6 -0
- package/dist/cjs/adapters/gasFetch.d.ts.map +1 -0
- package/dist/cjs/adapters/gasFetch.js +53 -0
- package/dist/cjs/adapters/gasFetch.js.map +1 -0
- package/dist/cjs/constants/claude.d.ts +2 -0
- package/dist/cjs/constants/claude.d.ts.map +1 -1
- package/dist/cjs/constants/claude.js +5 -1
- package/dist/cjs/constants/claude.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +4 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js +2 -0
- package/dist/cjs/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
- package/dist/cjs/utils/chatServiceHttpClient.d.ts +8 -0
- package/dist/cjs/utils/chatServiceHttpClient.d.ts.map +1 -1
- package/dist/cjs/utils/chatServiceHttpClient.js +29 -10
- package/dist/cjs/utils/chatServiceHttpClient.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/runOnce.d.ts +8 -0
- package/dist/cjs/utils/runOnce.d.ts.map +1 -0
- package/dist/cjs/utils/runOnce.js +13 -0
- package/dist/cjs/utils/runOnce.js.map +1 -0
- package/dist/esm/adapters/gasFetch.d.ts +6 -0
- package/dist/esm/adapters/gasFetch.d.ts.map +1 -0
- package/dist/esm/adapters/gasFetch.js +50 -0
- package/dist/esm/adapters/gasFetch.js.map +1 -0
- package/dist/esm/constants/claude.d.ts +2 -0
- package/dist/esm/constants/claude.d.ts.map +1 -1
- package/dist/esm/constants/claude.js +4 -0
- package/dist/esm/constants/claude.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.d.ts.map +1 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js +3 -1
- package/dist/esm/services/providers/claude/ClaudeChatServiceProvider.js.map +1 -1
- package/dist/esm/utils/chatServiceHttpClient.d.ts +8 -0
- package/dist/esm/utils/chatServiceHttpClient.d.ts.map +1 -1
- package/dist/esm/utils/chatServiceHttpClient.js +29 -10
- package/dist/esm/utils/chatServiceHttpClient.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/runOnce.d.ts +8 -0
- package/dist/esm/utils/runOnce.d.ts.map +1 -0
- package/dist/esm/utils/runOnce.js +10 -0
- package/dist/esm/utils/runOnce.js.map +1 -0
- package/dist/umd/aituber-onair-chat.js +3005 -0
- package/dist/umd/aituber-onair-chat.min.js +19 -0
- package/package.json +12 -6
package/README.ja.md
CHANGED
|
@@ -21,6 +21,73 @@ AITuber OnAirのチャット・LLM API統合ライブラリです。このパッ
|
|
|
21
21
|
npm install @aituber-onair/chat
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
+
## UMDビルド(ブラウザ/GAS)
|
|
25
|
+
|
|
26
|
+
本パッケージは既定で ESM/CJS を提供します。バンドラ無し環境(`<script>`読み込みのブラウザ、Google Apps Script)向けに UMD/IIFE バンドルも利用できます。
|
|
27
|
+
|
|
28
|
+
- グローバル名: `AITuberOnAirChat`
|
|
29
|
+
- 出力: `dist/umd/aituber-onair-chat.js`, `dist/umd/aituber-onair-chat.min.js`
|
|
30
|
+
|
|
31
|
+
モノレポ直下でUMDをビルド:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# 依存をインストール
|
|
35
|
+
npm ci
|
|
36
|
+
|
|
37
|
+
# chatパッケージをビルド
|
|
38
|
+
npm -w @aituber-onair/chat run build
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### ブラウザ(UMD)
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<!doctype html>
|
|
45
|
+
<html>
|
|
46
|
+
<head>
|
|
47
|
+
<meta charset="utf-8" />
|
|
48
|
+
<script src="/dist/umd/aituber-onair-chat.min.js"></script>
|
|
49
|
+
</head>
|
|
50
|
+
<body>
|
|
51
|
+
<script>
|
|
52
|
+
const chat = AITuberOnAirChat.ChatServiceFactory.createChatService('openai', {
|
|
53
|
+
apiKey: 'your-api-key'
|
|
54
|
+
});
|
|
55
|
+
// ブラウザではストリーミング利用可
|
|
56
|
+
</script>
|
|
57
|
+
</body>
|
|
58
|
+
</html>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Google Apps Script(GAS)
|
|
62
|
+
|
|
63
|
+
GASはストリーミング不可・Fetch API非対応です。提供アダプターと非ストリーミングヘルパーを使用してください。
|
|
64
|
+
|
|
65
|
+
手順:
|
|
66
|
+
- UMDをビルドし、`dist/umd/aituber-onair-chat.min.js` をGASプロジェクトにスクリプトとして追加(例: `lib.gs`)。claspを使う場合はプロジェクト配下に配置してプッシュ。
|
|
67
|
+
- 別ファイル(例: `main.js`)で以下を利用:
|
|
68
|
+
|
|
69
|
+
```javascript
|
|
70
|
+
async function testChat() {
|
|
71
|
+
// UrlFetchAppを使うfetchを注入
|
|
72
|
+
AITuberOnAirChat.installGASFetch();
|
|
73
|
+
|
|
74
|
+
const chat = AITuberOnAirChat.ChatServiceFactory.createChatService('openai', {
|
|
75
|
+
apiKey: PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY')
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
const text = await AITuberOnAirChat.runOnceText(chat, [
|
|
79
|
+
{ role: 'user', content: 'Hello!' }
|
|
80
|
+
]);
|
|
81
|
+
|
|
82
|
+
Logger.log(text);
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
注意:
|
|
87
|
+
- 実行ランタイムはV8。ストリーミング不可のため `chatOnce(..., false)`/`runOnceText` を使用。
|
|
88
|
+
- スクリプトプロパティに `OPENAI_API_KEY` を設定。
|
|
89
|
+
- 実例は `packages/chat/examples/gas-basic` を参照。`appsscript.json` は任意(近年のGASは既定でV8ランタイム)。タイムゾーン等をカスタムしたい場合のみ追加してください。
|
|
90
|
+
|
|
24
91
|
## 使用方法
|
|
25
92
|
|
|
26
93
|
### 基本的なチャット
|
|
@@ -72,7 +139,7 @@ const openaiService = ChatServiceFactory.createChatService('openai', {
|
|
|
72
139
|
```typescript
|
|
73
140
|
const claudeService = ChatServiceFactory.createChatService('claude', {
|
|
74
141
|
apiKey: process.env.ANTHROPIC_API_KEY,
|
|
75
|
-
model: 'claude-
|
|
142
|
+
model: 'claude-sonnet-4-5-20250929'
|
|
76
143
|
});
|
|
77
144
|
```
|
|
78
145
|
|
|
@@ -325,7 +392,7 @@ type ChatResponseLength = 'veryShort' | 'short' | 'medium' | 'long' | 'veryLong'
|
|
|
325
392
|
|
|
326
393
|
- **OpenAI**: GPT-4.1(miniとnanoを含む), GPT-4, GPT-4o-mini, O3-mini, o1, o1-miniのモデルをサポート
|
|
327
394
|
- **Gemini**: Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite Preview, Gemini 2.0 Flash, Gemini 2.0 Flash-Lite, Gemini 1.5 Flash, Gemini 1.5 Proのモデルをサポート
|
|
328
|
-
- **Claude**: Claude
|
|
395
|
+
- **Claude**: Claude Sonnet 4.5, Claude Haiku 4.5, Claude 4 Sonnet, Claude 4 Opus, Claude 3.7 Sonnet, Claude 3.5 Haiku/Sonnet, Claude 3 Haikuのモデルをサポート
|
|
329
396
|
- **OpenRouter**: `openai/gpt-oss-20b:free`(トークン制限の特別処理がある無料利用枠モデル)をサポート
|
|
330
397
|
|
|
331
398
|
## ライセンス
|
|
@@ -334,4 +401,4 @@ MIT
|
|
|
334
401
|
|
|
335
402
|
## 貢献
|
|
336
403
|
|
|
337
|
-
貢献を歓迎します!プルリクエストをお気軽にご提出ください。
|
|
404
|
+
貢献を歓迎します!プルリクエストをお気軽にご提出ください。
|
package/README.md
CHANGED
|
@@ -21,6 +21,73 @@ Chat and LLM API integration library for AITuber OnAir. This package provides a
|
|
|
21
21
|
npm install @aituber-onair/chat
|
|
22
22
|
```
|
|
23
23
|
|
|
24
|
+
## UMD Build (Browser/GAS)
|
|
25
|
+
|
|
26
|
+
This package ships ESM/CJS by default. For environments without bundlers (browsers via script tag, Google Apps Script), a UMD/IIFE bundle is available.
|
|
27
|
+
|
|
28
|
+
- Global name: `AITuberOnAirChat`
|
|
29
|
+
- Files: `dist/umd/aituber-onair-chat.js`, `dist/umd/aituber-onair-chat.min.js`
|
|
30
|
+
|
|
31
|
+
Build UMD locally (in the monorepo):
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
# Install deps at repo root
|
|
35
|
+
npm ci
|
|
36
|
+
|
|
37
|
+
# Build for chat only
|
|
38
|
+
npm -w @aituber-onair/chat run build
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Browser via UMD
|
|
42
|
+
|
|
43
|
+
```html
|
|
44
|
+
<!doctype html>
|
|
45
|
+
<html>
|
|
46
|
+
<head>
|
|
47
|
+
<meta charset="utf-8" />
|
|
48
|
+
<script src="/dist/umd/aituber-onair-chat.min.js"></script>
|
|
49
|
+
</head>
|
|
50
|
+
<body>
|
|
51
|
+
<script>
|
|
52
|
+
const chat = AITuberOnAirChat.ChatServiceFactory.createChatService('openai', {
|
|
53
|
+
apiKey: 'your-api-key'
|
|
54
|
+
});
|
|
55
|
+
// Streaming is available in browsers
|
|
56
|
+
</script>
|
|
57
|
+
</body>
|
|
58
|
+
</html>
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Google Apps Script (GAS)
|
|
62
|
+
|
|
63
|
+
GAS does not support streaming or the Fetch API natively. Use the provided adapter and the non‑streaming helper.
|
|
64
|
+
|
|
65
|
+
Steps:
|
|
66
|
+
- Build UMD and copy `dist/umd/aituber-onair-chat.min.js` into your GAS project as a script file (e.g., `lib.gs`). With clasp, place it under the project folder and push.
|
|
67
|
+
- Create another file (e.g., `main.js`) and use the following snippet:
|
|
68
|
+
|
|
69
|
+
```javascript
|
|
70
|
+
async function testChat() {
|
|
71
|
+
// Install fetch backed by UrlFetchApp
|
|
72
|
+
AITuberOnAirChat.installGASFetch();
|
|
73
|
+
|
|
74
|
+
const chat = AITuberOnAirChat.ChatServiceFactory.createChatService('openai', {
|
|
75
|
+
apiKey: PropertiesService.getScriptProperties().getProperty('OPENAI_API_KEY')
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
const text = await AITuberOnAirChat.runOnceText(chat, [
|
|
79
|
+
{ role: 'user', content: 'Hello!' }
|
|
80
|
+
]);
|
|
81
|
+
|
|
82
|
+
Logger.log(text);
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Notes:
|
|
87
|
+
- GAS runtime: V8. No streaming; prefer `chatOnce(..., false)` or `runOnceText`.
|
|
88
|
+
- Set your API key in Script Properties: `OPENAI_API_KEY`.
|
|
89
|
+
- 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
|
+
|
|
24
91
|
## Usage
|
|
25
92
|
|
|
26
93
|
### Basic Chat
|
|
@@ -72,7 +139,7 @@ const openaiService = ChatServiceFactory.createChatService('openai', {
|
|
|
72
139
|
```typescript
|
|
73
140
|
const claudeService = ChatServiceFactory.createChatService('claude', {
|
|
74
141
|
apiKey: process.env.ANTHROPIC_API_KEY,
|
|
75
|
-
model: 'claude-
|
|
142
|
+
model: 'claude-sonnet-4-5-20250929'
|
|
76
143
|
});
|
|
77
144
|
```
|
|
78
145
|
|
|
@@ -325,7 +392,7 @@ Currently, the following AI providers are built-in:
|
|
|
325
392
|
|
|
326
393
|
- **OpenAI**: Supports models like GPT-4.1(including mini and nano), GPT-4, GPT-4o-mini, O3-mini, o1, o1-mini
|
|
327
394
|
- **Gemini**: Supports models like Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite Preview, Gemini 2.0 Flash, Gemini 2.0 Flash-Lite, Gemini 1.5 Flash, Gemini 1.5 Pro
|
|
328
|
-
- **Claude**: Supports models like Claude
|
|
395
|
+
- **Claude**: Supports models like Claude Sonnet 4.5, Claude Haiku 4.5, Claude 4 Sonnet, Claude 4 Opus, Claude 3.7 Sonnet, Claude 3.5 Haiku/Sonnet, Claude 3 Haiku
|
|
329
396
|
- **OpenRouter**: Supports `openai/gpt-oss-20b:free` (free tier model with special handling for token limits)
|
|
330
397
|
|
|
331
398
|
## License
|
|
@@ -334,4 +401,4 @@ MIT
|
|
|
334
401
|
|
|
335
402
|
## Contributing
|
|
336
403
|
|
|
337
|
-
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
404
|
+
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gasFetch.d.ts","sourceRoot":"","sources":["../../../src/adapters/gasFetch.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAiDtC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.installGASFetch = installGASFetch;
|
|
4
|
+
const chatServiceHttpClient_1 = require("../utils/chatServiceHttpClient");
|
|
5
|
+
/**
|
|
6
|
+
* Installs a fetch implementation backed by Google Apps Script UrlFetchApp.
|
|
7
|
+
* Provides a minimal Response-like object for non-streaming requests.
|
|
8
|
+
*/
|
|
9
|
+
function installGASFetch() {
|
|
10
|
+
chatServiceHttpClient_1.ChatServiceHttpClient.setFetch(async (url, init = {}) => {
|
|
11
|
+
const method = (init.method || 'GET').toString().toUpperCase();
|
|
12
|
+
// Normalize headers to a Record<string, string>
|
|
13
|
+
const rawHeaders = init.headers;
|
|
14
|
+
const headers = {};
|
|
15
|
+
if (Array.isArray(rawHeaders)) {
|
|
16
|
+
for (const [k, v] of rawHeaders)
|
|
17
|
+
headers[k] = String(v);
|
|
18
|
+
}
|
|
19
|
+
else if (rawHeaders && typeof rawHeaders === 'object') {
|
|
20
|
+
for (const [k, v] of Object.entries(rawHeaders))
|
|
21
|
+
headers[k] = String(v);
|
|
22
|
+
}
|
|
23
|
+
// Convert RequestInit to UrlFetchApp parameters
|
|
24
|
+
const params = {
|
|
25
|
+
method,
|
|
26
|
+
headers,
|
|
27
|
+
muteHttpExceptions: true,
|
|
28
|
+
};
|
|
29
|
+
// Body handling: accept string or object (serialize as JSON)
|
|
30
|
+
const body = init.body;
|
|
31
|
+
if (typeof body === 'string') {
|
|
32
|
+
params.payload = body;
|
|
33
|
+
}
|
|
34
|
+
else if (body != null) {
|
|
35
|
+
if (!headers['Content-Type'])
|
|
36
|
+
headers['Content-Type'] = 'application/json';
|
|
37
|
+
params.payload = JSON.stringify(body);
|
|
38
|
+
}
|
|
39
|
+
const res = UrlFetchApp.fetch(url, params);
|
|
40
|
+
const status = res.getResponseCode();
|
|
41
|
+
const text = res.getContentText();
|
|
42
|
+
// Return a minimal Response-like object used by the library.
|
|
43
|
+
const response = {
|
|
44
|
+
ok: status >= 200 && status < 300,
|
|
45
|
+
status,
|
|
46
|
+
statusText: String(status),
|
|
47
|
+
text: async () => text,
|
|
48
|
+
json: async () => (text ? JSON.parse(text) : null),
|
|
49
|
+
};
|
|
50
|
+
return response;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=gasFetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gasFetch.js","sourceRoot":"","sources":["../../../src/adapters/gasFetch.ts"],"names":[],"mappings":";;AASA,0CAiDC;AA1DD,0EAAuE;AAKvE;;;GAGG;AACH,SAAgB,eAAe;IAC7B,6CAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,OAAoB,EAAE,EAAE,EAAE;QACnE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;QAE/D,gDAAgD;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,OAIX,CAAC;QACd,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACxD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,gDAAgD;QAChD,MAAM,MAAM,GAA4B;YACtC,MAAM;YACN,OAAO;YACP,kBAAkB,EAAE,IAAI;SACzB,CAAC;QAEF,6DAA6D;QAC7D,MAAM,IAAI,GAAI,IAAsC,CAAC,IAAI,CAAC;QAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC1B,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YAC/C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAW,GAAG,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAW,GAAG,CAAC,cAAc,EAAE,CAAC;QAE1C,6DAA6D;QAC7D,MAAM,QAAQ,GAAsB;YAClC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;YACjC,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;YACtB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SACnD,CAAC;QAEF,OAAO,QAAoB,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -5,5 +5,7 @@ export declare const MODEL_CLAUDE_3_5_SONNET = "claude-3-5-sonnet-20241022";
|
|
|
5
5
|
export declare const MODEL_CLAUDE_3_7_SONNET = "claude-3-7-sonnet-20250219";
|
|
6
6
|
export declare const MODEL_CLAUDE_4_SONNET = "claude-4-sonnet-20250514";
|
|
7
7
|
export declare const MODEL_CLAUDE_4_OPUS = "claude-4-opus-20250514";
|
|
8
|
+
export declare const MODEL_CLAUDE_4_5_SONNET = "claude-sonnet-4-5-20250929";
|
|
9
|
+
export declare const MODEL_CLAUDE_4_5_HAIKU = "claude-haiku-4-5-20251001";
|
|
8
10
|
export declare const CLAUDE_VISION_SUPPORTED_MODELS: string[];
|
|
9
11
|
//# sourceMappingURL=claude.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAG3E,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAC9D,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,0CAA0C,CAAC;AAG3E,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAC9D,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAClE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,qBAAqB,6BAA6B,CAAC;AAChE,eAAO,MAAM,mBAAmB,2BAA2B,CAAC;AAC5D,eAAO,MAAM,uBAAuB,+BAA+B,CAAC;AACpE,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAElE,eAAO,MAAM,8BAA8B,UAS1C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CLAUDE_VISION_SUPPORTED_MODELS = exports.MODEL_CLAUDE_4_OPUS = exports.MODEL_CLAUDE_4_SONNET = exports.MODEL_CLAUDE_3_7_SONNET = exports.MODEL_CLAUDE_3_5_SONNET = exports.MODEL_CLAUDE_3_5_HAIKU = exports.MODEL_CLAUDE_3_HAIKU = exports.ENDPOINT_CLAUDE_API = void 0;
|
|
3
|
+
exports.CLAUDE_VISION_SUPPORTED_MODELS = exports.MODEL_CLAUDE_4_5_HAIKU = exports.MODEL_CLAUDE_4_5_SONNET = exports.MODEL_CLAUDE_4_OPUS = exports.MODEL_CLAUDE_4_SONNET = exports.MODEL_CLAUDE_3_7_SONNET = exports.MODEL_CLAUDE_3_5_SONNET = exports.MODEL_CLAUDE_3_5_HAIKU = exports.MODEL_CLAUDE_3_HAIKU = exports.ENDPOINT_CLAUDE_API = void 0;
|
|
4
4
|
exports.ENDPOINT_CLAUDE_API = 'https://api.anthropic.com/v1/messages';
|
|
5
5
|
// claude model
|
|
6
6
|
exports.MODEL_CLAUDE_3_HAIKU = 'claude-3-haiku-20240307';
|
|
@@ -9,6 +9,8 @@ exports.MODEL_CLAUDE_3_5_SONNET = 'claude-3-5-sonnet-20241022';
|
|
|
9
9
|
exports.MODEL_CLAUDE_3_7_SONNET = 'claude-3-7-sonnet-20250219';
|
|
10
10
|
exports.MODEL_CLAUDE_4_SONNET = 'claude-4-sonnet-20250514';
|
|
11
11
|
exports.MODEL_CLAUDE_4_OPUS = 'claude-4-opus-20250514';
|
|
12
|
+
exports.MODEL_CLAUDE_4_5_SONNET = 'claude-sonnet-4-5-20250929';
|
|
13
|
+
exports.MODEL_CLAUDE_4_5_HAIKU = 'claude-haiku-4-5-20251001';
|
|
12
14
|
exports.CLAUDE_VISION_SUPPORTED_MODELS = [
|
|
13
15
|
exports.MODEL_CLAUDE_3_HAIKU,
|
|
14
16
|
exports.MODEL_CLAUDE_3_5_HAIKU,
|
|
@@ -16,5 +18,7 @@ exports.CLAUDE_VISION_SUPPORTED_MODELS = [
|
|
|
16
18
|
exports.MODEL_CLAUDE_3_7_SONNET,
|
|
17
19
|
exports.MODEL_CLAUDE_4_SONNET,
|
|
18
20
|
exports.MODEL_CLAUDE_4_OPUS,
|
|
21
|
+
exports.MODEL_CLAUDE_4_5_SONNET,
|
|
22
|
+
exports.MODEL_CLAUDE_4_5_HAIKU,
|
|
19
23
|
];
|
|
20
24
|
//# sourceMappingURL=claude.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,uCAAuC,CAAC;AAE3E,eAAe;AACF,QAAA,oBAAoB,GAAG,yBAAyB,CAAC;AACjD,QAAA,sBAAsB,GAAG,2BAA2B,CAAC;AACrD,QAAA,uBAAuB,GAAG,4BAA4B,CAAC;AACvD,QAAA,uBAAuB,GAAG,4BAA4B,CAAC;AACvD,QAAA,qBAAqB,GAAG,0BAA0B,CAAC;AACnD,QAAA,mBAAmB,GAAG,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/constants/claude.ts"],"names":[],"mappings":";;;AAAa,QAAA,mBAAmB,GAAG,uCAAuC,CAAC;AAE3E,eAAe;AACF,QAAA,oBAAoB,GAAG,yBAAyB,CAAC;AACjD,QAAA,sBAAsB,GAAG,2BAA2B,CAAC;AACrD,QAAA,uBAAuB,GAAG,4BAA4B,CAAC;AACvD,QAAA,uBAAuB,GAAG,4BAA4B,CAAC;AACvD,QAAA,qBAAqB,GAAG,0BAA0B,CAAC;AACnD,QAAA,mBAAmB,GAAG,wBAAwB,CAAC;AAC/C,QAAA,uBAAuB,GAAG,4BAA4B,CAAC;AACvD,QAAA,sBAAsB,GAAG,2BAA2B,CAAC;AAErD,QAAA,8BAA8B,GAAG;IAC5C,4BAAoB;IACpB,8BAAsB;IACtB,+BAAuB;IACvB,+BAAuB;IACvB,6BAAqB;IACrB,2BAAmB;IACnB,+BAAuB;IACvB,8BAAsB;CACvB,CAAC"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -16,4 +16,5 @@ export { OpenRouterChatService } from './services/providers/openrouter/OpenRoute
|
|
|
16
16
|
export { OpenRouterChatServiceProvider } from './services/providers/openrouter/OpenRouterChatServiceProvider';
|
|
17
17
|
export * from './constants';
|
|
18
18
|
export * from './utils';
|
|
19
|
+
export { installGASFetch } from './adapters/gasFetch';
|
|
19
20
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGnE,YAAY,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAG9G,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,SAAS,CAAC;AAGxB,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AAGnE,YAAY,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uDAAuD,CAAC;AAGlG,OAAO,EAAE,qBAAqB,EAAE,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EAAE,6BAA6B,EAAE,MAAM,+DAA+D,CAAC;AAG9G,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -18,7 +18,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
18
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.OpenRouterChatServiceProvider = exports.OpenRouterChatService = exports.ClaudeChatServiceProvider = exports.ClaudeChatService = exports.GeminiChatServiceProvider = exports.GeminiChatService = exports.OpenAIChatServiceProvider = exports.OpenAIChatService = exports.ChatServiceFactory = void 0;
|
|
21
|
+
exports.installGASFetch = exports.OpenRouterChatServiceProvider = exports.OpenRouterChatService = exports.ClaudeChatServiceProvider = exports.ClaudeChatService = exports.GeminiChatServiceProvider = exports.GeminiChatService = exports.OpenAIChatServiceProvider = exports.OpenAIChatService = exports.ChatServiceFactory = void 0;
|
|
22
22
|
// Type definitions exports
|
|
23
23
|
__exportStar(require("./types"), exports);
|
|
24
24
|
var ChatServiceFactory_1 = require("./services/ChatServiceFactory");
|
|
@@ -47,4 +47,7 @@ Object.defineProperty(exports, "OpenRouterChatServiceProvider", { enumerable: tr
|
|
|
47
47
|
__exportStar(require("./constants"), exports);
|
|
48
48
|
// Utility exports
|
|
49
49
|
__exportStar(require("./utils"), exports);
|
|
50
|
+
// Adapters
|
|
51
|
+
var gasFetch_1 = require("./adapters/gasFetch");
|
|
52
|
+
Object.defineProperty(exports, "installGASFetch", { enumerable: true, get: function () { return gasFetch_1.installGASFetch; } });
|
|
50
53
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,2BAA2B;AAC3B,0CAAwB;AAIxB,oEAAmE;AAA1D,wHAAA,kBAAkB,OAAA;AAQ3B,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,8BAA8B;AAC9B,+FAA8F;AAArF,8HAAA,qBAAqB,OAAA;AAC9B,+GAA8G;AAArG,8IAAA,6BAA6B,OAAA;AAEtC,oBAAoB;AACpB,8CAA4B;AAE5B,kBAAkB;AAClB,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;AAEH,2BAA2B;AAC3B,0CAAwB;AAIxB,oEAAmE;AAA1D,wHAAA,kBAAkB,OAAA;AAQ3B,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,0BAA0B;AAC1B,mFAAkF;AAAzE,sHAAA,iBAAiB,OAAA;AAC1B,mGAAkG;AAAzF,sIAAA,yBAAyB,OAAA;AAElC,8BAA8B;AAC9B,+FAA8F;AAArF,8HAAA,qBAAqB,OAAA;AAC9B,+GAA8G;AAArG,8IAAA,6BAA6B,OAAA;AAEtC,oBAAoB;AACpB,8CAA4B;AAE5B,kBAAkB;AAClB,0CAAwB;AAExB,WAAW;AACX,gDAAsD;AAA7C,2GAAA,eAAe,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ClaudeChatServiceProvider.d.ts","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW;IAkB3D;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE;IAa9B;;;OAGG;IACH,eAAe,IAAI,MAAM;IAIzB;;;OAGG;IACH,cAAc,IAAI,OAAO;IAIzB;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAG/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudeChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"ClaudeChatServiceProvider.js","sourceRoot":"","sources":["../../../../../src/services/providers/claude/ClaudeChatServiceProvider.ts"],"names":[],"mappings":";;;AAAA,kDAU4B;AAE5B,2DAAwD;AAOxD;;GAEG;AACH,MAAa,yBAAyB;IACpC;;;;OAIG;IACH,iBAAiB,CAAC,OAA2B;QAC3C,gFAAgF;QAChF,MAAM,WAAW,GACf,OAAO,CAAC,WAAW;YACnB,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnE,CAAC,CAAC,OAAO,CAAC,KAAK;gBACf,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAE9B,OAAO,IAAI,qCAAiB,CAC1B,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,EAAE,EACvC,WAAW,EACX,OAAO,CAAC,KAAK,IAAI,EAAE,EAClB,OAAe,CAAC,UAAU,IAAI,EAAE,EACjC,OAAO,CAAC,cAAc,CACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,kBAAkB;QAChB,OAAO;YACL,gCAAoB;YACpB,kCAAsB;YACtB,mCAAuB;YACvB,mCAAuB;YACvB,iCAAqB;YACrB,+BAAmB;YACnB,mCAAuB;YACvB,kCAAsB;SACvB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,OAAO,gCAAoB,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAa;QAClC,OAAO,0CAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;CACF;AAzED,8DAyEC"}
|
|
@@ -20,6 +20,14 @@ export declare class HttpError extends Error {
|
|
|
20
20
|
* Unified HTTP client for chat services
|
|
21
21
|
*/
|
|
22
22
|
export declare class ChatServiceHttpClient {
|
|
23
|
+
/**
|
|
24
|
+
* Injectable fetch implementation (browser/node: native fetch, GAS: UrlFetchApp wrapper)
|
|
25
|
+
*/
|
|
26
|
+
private static fetchImpl;
|
|
27
|
+
/**
|
|
28
|
+
* Set custom fetch implementation
|
|
29
|
+
*/
|
|
30
|
+
static setFetch(fn: (url: string, init?: RequestInit) => Promise<Response>): void;
|
|
23
31
|
/**
|
|
24
32
|
* Make a POST request with common error handling
|
|
25
33
|
* @param url Request URL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatServiceHttpClient.d.ts","sourceRoot":"","sources":["../../../src/utils/chatServiceHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAEzB,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,MAAM;gBAFZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM;CAKtB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC;;;;;;;OAOG;WACU,IAAI,CACf,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,GAAG,EACT,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACpC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"chatServiceHttpClient.d.ts","sourceRoot":"","sources":["../../../src/utils/chatServiceHttpClient.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAEzB,MAAM,EAAE,MAAM;IACd,UAAU,EAAE,MAAM;IAClB,IAAI,EAAE,MAAM;gBAFZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM;CAKtB;AAED;;GAEG;AACH,qBAAa,qBAAqB;IAChC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS,CAGuB;IAE/C;;OAEG;IACH,MAAM,CAAC,QAAQ,CACb,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,GACzD,IAAI;IAIP;;;;;;;OAOG;WACU,IAAI,CACf,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,GAAG,EACT,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACpC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,QAAQ,CAAC;IAiEpB;;;;OAIG;WACU,mBAAmB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC;IAK/D;;;;;;OAMG;WACU,GAAG,CACd,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACpC,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,QAAQ,CAAC;CAuDrB"}
|
|
@@ -18,6 +18,12 @@ exports.HttpError = HttpError;
|
|
|
18
18
|
* Unified HTTP client for chat services
|
|
19
19
|
*/
|
|
20
20
|
class ChatServiceHttpClient {
|
|
21
|
+
/**
|
|
22
|
+
* Set custom fetch implementation
|
|
23
|
+
*/
|
|
24
|
+
static setFetch(fn) {
|
|
25
|
+
this.fetchImpl = fn;
|
|
26
|
+
}
|
|
21
27
|
/**
|
|
22
28
|
* Make a POST request with common error handling
|
|
23
29
|
* @param url Request URL
|
|
@@ -36,15 +42,20 @@ class ChatServiceHttpClient {
|
|
|
36
42
|
let lastError = null;
|
|
37
43
|
for (let attempt = 0; attempt <= retries; attempt++) {
|
|
38
44
|
try {
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
45
|
+
const hasAbort = typeof AbortController !== 'undefined';
|
|
46
|
+
const controller = hasAbort ? new AbortController() : undefined;
|
|
47
|
+
const timeoutId = hasAbort
|
|
48
|
+
? setTimeout(() => controller.abort(), timeout)
|
|
49
|
+
: undefined;
|
|
50
|
+
const response = await ChatServiceHttpClient.fetchImpl(url, {
|
|
42
51
|
method: 'POST',
|
|
43
52
|
headers: finalHeaders,
|
|
44
53
|
body: typeof body === 'string' ? body : JSON.stringify(body),
|
|
45
|
-
signal
|
|
54
|
+
// Attach signal only when controller exists
|
|
55
|
+
...(controller ? { signal: controller.signal } : {}),
|
|
46
56
|
});
|
|
47
|
-
|
|
57
|
+
if (timeoutId)
|
|
58
|
+
clearTimeout(timeoutId);
|
|
48
59
|
if (!response.ok) {
|
|
49
60
|
const errorBody = await response.text();
|
|
50
61
|
throw new HttpError(response.status, response.statusText, errorBody);
|
|
@@ -92,14 +103,18 @@ class ChatServiceHttpClient {
|
|
|
92
103
|
let lastError = null;
|
|
93
104
|
for (let attempt = 0; attempt <= retries; attempt++) {
|
|
94
105
|
try {
|
|
95
|
-
const
|
|
96
|
-
const
|
|
97
|
-
const
|
|
106
|
+
const hasAbort = typeof AbortController !== 'undefined';
|
|
107
|
+
const controller = hasAbort ? new AbortController() : undefined;
|
|
108
|
+
const timeoutId = hasAbort
|
|
109
|
+
? setTimeout(() => controller.abort(), timeout)
|
|
110
|
+
: undefined;
|
|
111
|
+
const response = await ChatServiceHttpClient.fetchImpl(url, {
|
|
98
112
|
method: 'GET',
|
|
99
113
|
headers,
|
|
100
|
-
signal: controller.signal,
|
|
114
|
+
...(controller ? { signal: controller.signal } : {}),
|
|
101
115
|
});
|
|
102
|
-
|
|
116
|
+
if (timeoutId)
|
|
117
|
+
clearTimeout(timeoutId);
|
|
103
118
|
if (!response.ok) {
|
|
104
119
|
const errorBody = await response.text();
|
|
105
120
|
throw new HttpError(response.status, response.statusText, errorBody);
|
|
@@ -128,4 +143,8 @@ class ChatServiceHttpClient {
|
|
|
128
143
|
}
|
|
129
144
|
}
|
|
130
145
|
exports.ChatServiceHttpClient = ChatServiceHttpClient;
|
|
146
|
+
/**
|
|
147
|
+
* Injectable fetch implementation (browser/node: native fetch, GAS: UrlFetchApp wrapper)
|
|
148
|
+
*/
|
|
149
|
+
ChatServiceHttpClient.fetchImpl = (u, i) => fetch(u, i);
|
|
131
150
|
//# sourceMappingURL=chatServiceHttpClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatServiceHttpClient.js","sourceRoot":"","sources":["../../../src/utils/chatServiceHttpClient.ts"],"names":[],"mappings":";;;AAUA;;GAEG;AACH,MAAa,SAAU,SAAQ,KAAK;IAClC,YACS,MAAc,EACd,UAAkB,EAClB,IAAY;QAEnB,KAAK,CAAC,QAAQ,MAAM,KAAK,UAAU,EAAE,CAAC,CAAC;QAJhC,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAQ;QAGnB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF;AATD,8BASC;AAED;;GAEG;AACH,MAAa,qBAAqB;
|
|
1
|
+
{"version":3,"file":"chatServiceHttpClient.js","sourceRoot":"","sources":["../../../src/utils/chatServiceHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -21,4 +21,5 @@ __exportStar(require("./chatServiceHttpClient"), exports);
|
|
|
21
21
|
__exportStar(require("./streamTextAccumulator"), exports);
|
|
22
22
|
__exportStar(require("./screenplay"), exports);
|
|
23
23
|
__exportStar(require("./emotionParser"), exports);
|
|
24
|
+
__exportStar(require("./runOnce"), exports);
|
|
24
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,0DAAwC;AACxC,0DAAwC;AACxC,+CAA6B;AAC7B,kDAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;GAEG;AACH,0DAAwC;AACxC,0DAAwC;AACxC,+CAA6B;AAC7B,kDAAgC;AAChC,4CAA0B"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ChatService } from '../services/ChatService';
|
|
2
|
+
import type { Message } from '../types';
|
|
3
|
+
/**
|
|
4
|
+
* Run a single non-streaming chat request and return concatenated text.
|
|
5
|
+
* Intended for environments without streaming support (e.g., Google Apps Script).
|
|
6
|
+
*/
|
|
7
|
+
export declare function runOnceText(chat: ChatService, messages: Message[]): Promise<string>;
|
|
8
|
+
//# sourceMappingURL=runOnce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runOnce.d.ts","sourceRoot":"","sources":["../../../src/utils/runOnce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGxC;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,WAAW,EACjB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,MAAM,CAAC,CAGjB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runOnceText = runOnceText;
|
|
4
|
+
const streamTextAccumulator_1 = require("./streamTextAccumulator");
|
|
5
|
+
/**
|
|
6
|
+
* Run a single non-streaming chat request and return concatenated text.
|
|
7
|
+
* Intended for environments without streaming support (e.g., Google Apps Script).
|
|
8
|
+
*/
|
|
9
|
+
async function runOnceText(chat, messages) {
|
|
10
|
+
const { blocks } = await chat.chatOnce(messages, false, () => { });
|
|
11
|
+
return streamTextAccumulator_1.StreamTextAccumulator.getFullText(blocks);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=runOnce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runOnce.js","sourceRoot":"","sources":["../../../src/utils/runOnce.ts"],"names":[],"mappings":";;AAQA,kCAMC;AAZD,mEAAgE;AAEhE;;;GAGG;AACI,KAAK,UAAU,WAAW,CAC/B,IAAiB,EACjB,QAAmB;IAEnB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAClE,OAAO,6CAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gasFetch.d.ts","sourceRoot":"","sources":["../../../src/adapters/gasFetch.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAiDtC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { ChatServiceHttpClient } from '../utils/chatServiceHttpClient';
|
|
2
|
+
/**
|
|
3
|
+
* Installs a fetch implementation backed by Google Apps Script UrlFetchApp.
|
|
4
|
+
* Provides a minimal Response-like object for non-streaming requests.
|
|
5
|
+
*/
|
|
6
|
+
export function installGASFetch() {
|
|
7
|
+
ChatServiceHttpClient.setFetch(async (url, init = {}) => {
|
|
8
|
+
const method = (init.method || 'GET').toString().toUpperCase();
|
|
9
|
+
// Normalize headers to a Record<string, string>
|
|
10
|
+
const rawHeaders = init.headers;
|
|
11
|
+
const headers = {};
|
|
12
|
+
if (Array.isArray(rawHeaders)) {
|
|
13
|
+
for (const [k, v] of rawHeaders)
|
|
14
|
+
headers[k] = String(v);
|
|
15
|
+
}
|
|
16
|
+
else if (rawHeaders && typeof rawHeaders === 'object') {
|
|
17
|
+
for (const [k, v] of Object.entries(rawHeaders))
|
|
18
|
+
headers[k] = String(v);
|
|
19
|
+
}
|
|
20
|
+
// Convert RequestInit to UrlFetchApp parameters
|
|
21
|
+
const params = {
|
|
22
|
+
method,
|
|
23
|
+
headers,
|
|
24
|
+
muteHttpExceptions: true,
|
|
25
|
+
};
|
|
26
|
+
// Body handling: accept string or object (serialize as JSON)
|
|
27
|
+
const body = init.body;
|
|
28
|
+
if (typeof body === 'string') {
|
|
29
|
+
params.payload = body;
|
|
30
|
+
}
|
|
31
|
+
else if (body != null) {
|
|
32
|
+
if (!headers['Content-Type'])
|
|
33
|
+
headers['Content-Type'] = 'application/json';
|
|
34
|
+
params.payload = JSON.stringify(body);
|
|
35
|
+
}
|
|
36
|
+
const res = UrlFetchApp.fetch(url, params);
|
|
37
|
+
const status = res.getResponseCode();
|
|
38
|
+
const text = res.getContentText();
|
|
39
|
+
// Return a minimal Response-like object used by the library.
|
|
40
|
+
const response = {
|
|
41
|
+
ok: status >= 200 && status < 300,
|
|
42
|
+
status,
|
|
43
|
+
statusText: String(status),
|
|
44
|
+
text: async () => text,
|
|
45
|
+
json: async () => (text ? JSON.parse(text) : null),
|
|
46
|
+
};
|
|
47
|
+
return response;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=gasFetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gasFetch.js","sourceRoot":"","sources":["../../../src/adapters/gasFetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAKvE;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC7B,qBAAqB,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,OAAoB,EAAE,EAAE,EAAE;QACnE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;QAE/D,gDAAgD;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,OAIX,CAAC;QACd,MAAM,OAAO,GAA2B,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1D,CAAC;aAAM,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACxD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;gBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;QAED,gDAAgD;QAChD,MAAM,MAAM,GAA4B;YACtC,MAAM;YACN,OAAO;YACP,kBAAkB,EAAE,IAAI;SACzB,CAAC;QAEF,6DAA6D;QAC7D,MAAM,IAAI,GAAI,IAAsC,CAAC,IAAI,CAAC;QAC1D,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;aAAM,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;gBAC1B,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YAC/C,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAW,GAAG,CAAC,eAAe,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAW,GAAG,CAAC,cAAc,EAAE,CAAC;QAE1C,6DAA6D;QAC7D,MAAM,QAAQ,GAAsB;YAClC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;YACjC,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;YACtB,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;SACnD,CAAC;QAEF,OAAO,QAAoB,CAAC;IAC9B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -5,5 +5,7 @@ export declare const MODEL_CLAUDE_3_5_SONNET = "claude-3-5-sonnet-20241022";
|
|
|
5
5
|
export declare const MODEL_CLAUDE_3_7_SONNET = "claude-3-7-sonnet-20250219";
|
|
6
6
|
export declare const MODEL_CLAUDE_4_SONNET = "claude-4-sonnet-20250514";
|
|
7
7
|
export declare const MODEL_CLAUDE_4_OPUS = "claude-4-opus-20250514";
|
|
8
|
+
export declare const MODEL_CLAUDE_4_5_SONNET = "claude-sonnet-4-5-20250929";
|
|
9
|
+
export declare const MODEL_CLAUDE_4_5_HAIKU = "claude-haiku-4-5-20251001";
|
|
8
10
|
export declare const CLAUDE_VISION_SUPPORTED_MODELS: string[];
|
|
9
11
|
//# sourceMappingURL=claude.d.ts.map
|