@aituber-onair/chat 0.3.0 → 0.4.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 +68 -1
- package/README.md +68 -1
- 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/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/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/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/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 +2997 -0
- package/dist/umd/aituber-onair-chat.min.js +19 -0
- package/package.json +12 -6
|
@@ -14,6 +14,12 @@ export class HttpError extends Error {
|
|
|
14
14
|
* Unified HTTP client for chat services
|
|
15
15
|
*/
|
|
16
16
|
export class ChatServiceHttpClient {
|
|
17
|
+
/**
|
|
18
|
+
* Set custom fetch implementation
|
|
19
|
+
*/
|
|
20
|
+
static setFetch(fn) {
|
|
21
|
+
this.fetchImpl = fn;
|
|
22
|
+
}
|
|
17
23
|
/**
|
|
18
24
|
* Make a POST request with common error handling
|
|
19
25
|
* @param url Request URL
|
|
@@ -32,15 +38,20 @@ export class ChatServiceHttpClient {
|
|
|
32
38
|
let lastError = null;
|
|
33
39
|
for (let attempt = 0; attempt <= retries; attempt++) {
|
|
34
40
|
try {
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
const
|
|
41
|
+
const hasAbort = typeof AbortController !== 'undefined';
|
|
42
|
+
const controller = hasAbort ? new AbortController() : undefined;
|
|
43
|
+
const timeoutId = hasAbort
|
|
44
|
+
? setTimeout(() => controller.abort(), timeout)
|
|
45
|
+
: undefined;
|
|
46
|
+
const response = await ChatServiceHttpClient.fetchImpl(url, {
|
|
38
47
|
method: 'POST',
|
|
39
48
|
headers: finalHeaders,
|
|
40
49
|
body: typeof body === 'string' ? body : JSON.stringify(body),
|
|
41
|
-
signal
|
|
50
|
+
// Attach signal only when controller exists
|
|
51
|
+
...(controller ? { signal: controller.signal } : {}),
|
|
42
52
|
});
|
|
43
|
-
|
|
53
|
+
if (timeoutId)
|
|
54
|
+
clearTimeout(timeoutId);
|
|
44
55
|
if (!response.ok) {
|
|
45
56
|
const errorBody = await response.text();
|
|
46
57
|
throw new HttpError(response.status, response.statusText, errorBody);
|
|
@@ -88,14 +99,18 @@ export class ChatServiceHttpClient {
|
|
|
88
99
|
let lastError = null;
|
|
89
100
|
for (let attempt = 0; attempt <= retries; attempt++) {
|
|
90
101
|
try {
|
|
91
|
-
const
|
|
92
|
-
const
|
|
93
|
-
const
|
|
102
|
+
const hasAbort = typeof AbortController !== 'undefined';
|
|
103
|
+
const controller = hasAbort ? new AbortController() : undefined;
|
|
104
|
+
const timeoutId = hasAbort
|
|
105
|
+
? setTimeout(() => controller.abort(), timeout)
|
|
106
|
+
: undefined;
|
|
107
|
+
const response = await ChatServiceHttpClient.fetchImpl(url, {
|
|
94
108
|
method: 'GET',
|
|
95
109
|
headers,
|
|
96
|
-
signal: controller.signal,
|
|
110
|
+
...(controller ? { signal: controller.signal } : {}),
|
|
97
111
|
});
|
|
98
|
-
|
|
112
|
+
if (timeoutId)
|
|
113
|
+
clearTimeout(timeoutId);
|
|
99
114
|
if (!response.ok) {
|
|
100
115
|
const errorBody = await response.text();
|
|
101
116
|
throw new HttpError(response.status, response.statusText, errorBody);
|
|
@@ -123,4 +138,8 @@ export class ChatServiceHttpClient {
|
|
|
123
138
|
throw lastError || new Error('Request failed');
|
|
124
139
|
}
|
|
125
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Injectable fetch implementation (browser/node: native fetch, GAS: UrlFetchApp wrapper)
|
|
143
|
+
*/
|
|
144
|
+
ChatServiceHttpClient.fetchImpl = (u, i) => fetch(u, i);
|
|
126
145
|
//# sourceMappingURL=chatServiceHttpClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatServiceHttpClient.js","sourceRoot":"","sources":["../../../src/utils/chatServiceHttpClient.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,OAAO,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;AAED;;GAEG;AACH,MAAM,OAAO,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/esm/utils/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","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.js","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"}
|
|
@@ -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,10 @@
|
|
|
1
|
+
import { StreamTextAccumulator } from './streamTextAccumulator';
|
|
2
|
+
/**
|
|
3
|
+
* Run a single non-streaming chat request and return concatenated text.
|
|
4
|
+
* Intended for environments without streaming support (e.g., Google Apps Script).
|
|
5
|
+
*/
|
|
6
|
+
export async function runOnceText(chat, messages) {
|
|
7
|
+
const { blocks } = await chat.chatOnce(messages, false, () => { });
|
|
8
|
+
return StreamTextAccumulator.getFullText(blocks);
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=runOnce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runOnce.js","sourceRoot":"","sources":["../../../src/utils/runOnce.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,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,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC"}
|