qca-sdk 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.md +275 -1
- package/dist/core/auth.d.ts +12 -0
- package/dist/core/auth.d.ts.map +1 -0
- package/dist/core/auth.js +34 -0
- package/dist/core/auth.js.map +1 -0
- package/dist/core/client.d.ts +14 -0
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +36 -11
- package/dist/core/client.js.map +1 -1
- package/dist/core/credentials.d.ts +3 -0
- package/dist/core/credentials.d.ts.map +1 -1
- package/dist/core/credentials.js +3 -1
- package/dist/core/credentials.js.map +1 -1
- package/dist/core/service-account-credential.d.ts +20 -0
- package/dist/core/service-account-credential.d.ts.map +1 -0
- package/dist/core/service-account-credential.js +139 -0
- package/dist/core/service-account-credential.js.map +1 -0
- package/dist/esm/core/auth.d.ts +12 -0
- package/dist/esm/core/auth.d.ts.map +1 -0
- package/dist/esm/core/auth.js +30 -0
- package/dist/esm/core/auth.js.map +1 -0
- package/dist/esm/core/client.d.ts +14 -0
- package/dist/esm/core/client.d.ts.map +1 -1
- package/dist/esm/core/client.js +36 -11
- package/dist/esm/core/client.js.map +1 -1
- package/dist/esm/core/credentials.d.ts +3 -0
- package/dist/esm/core/credentials.d.ts.map +1 -1
- package/dist/esm/core/credentials.js +1 -0
- package/dist/esm/core/credentials.js.map +1 -1
- package/dist/esm/core/service-account-credential.d.ts +20 -0
- package/dist/esm/core/service-account-credential.d.ts.map +1 -0
- package/dist/esm/core/service-account-credential.js +135 -0
- package/dist/esm/core/service-account-credential.js.map +1 -0
- package/dist/esm/forward/forwardClient.d.ts +4 -0
- package/dist/esm/forward/forwardClient.d.ts.map +1 -1
- package/dist/esm/forward/forwardClient.js +4 -0
- package/dist/esm/forward/forwardClient.js.map +1 -1
- package/dist/esm/forward/identity-service-account-token.d.ts +11 -0
- package/dist/esm/forward/identity-service-account-token.d.ts.map +1 -0
- package/dist/esm/forward/identity-service-account-token.js +18 -0
- package/dist/esm/forward/identity-service-account-token.js.map +1 -0
- package/dist/esm/forward/identity.d.ts +2 -0
- package/dist/esm/forward/identity.d.ts.map +1 -1
- package/dist/esm/forward/identity.js +2 -0
- package/dist/esm/forward/identity.js.map +1 -1
- package/dist/esm/forward/index.d.ts +9 -1
- package/dist/esm/forward/index.d.ts.map +1 -1
- package/dist/esm/forward/index.js +7 -1
- package/dist/esm/forward/index.js.map +1 -1
- package/dist/esm/forward/realtime/connection.d.ts +106 -0
- package/dist/esm/forward/realtime/connection.d.ts.map +1 -0
- package/dist/esm/forward/realtime/connection.js +465 -0
- package/dist/esm/forward/realtime/connection.js.map +1 -0
- package/dist/esm/forward/realtime/conversation.d.ts +31 -0
- package/dist/esm/forward/realtime/conversation.d.ts.map +1 -0
- package/dist/esm/forward/realtime/conversation.js +92 -0
- package/dist/esm/forward/realtime/conversation.js.map +1 -0
- package/dist/esm/forward/realtime/realtime.d.ts +9 -0
- package/dist/esm/forward/realtime/realtime.d.ts.map +1 -0
- package/dist/esm/forward/realtime/realtime.js +9 -0
- package/dist/esm/forward/realtime/realtime.js.map +1 -0
- package/dist/esm/forward/realtime/types.d.ts +204 -0
- package/dist/esm/forward/realtime/types.d.ts.map +1 -0
- package/dist/esm/forward/realtime/types.js +7 -0
- package/dist/esm/forward/realtime/types.js.map +1 -0
- package/dist/esm/forward/service-account-token.d.ts +15 -0
- package/dist/esm/forward/service-account-token.d.ts.map +1 -0
- package/dist/esm/forward/service-account-token.js +38 -0
- package/dist/esm/forward/service-account-token.js.map +1 -0
- package/dist/esm/forward/types.d.ts +35 -0
- package/dist/esm/forward/types.d.ts.map +1 -1
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/forward/forwardClient.d.ts +4 -0
- package/dist/forward/forwardClient.d.ts.map +1 -1
- package/dist/forward/forwardClient.js +4 -0
- package/dist/forward/forwardClient.js.map +1 -1
- package/dist/forward/identity-service-account-token.d.ts +11 -0
- package/dist/forward/identity-service-account-token.d.ts.map +1 -0
- package/dist/forward/identity-service-account-token.js +22 -0
- package/dist/forward/identity-service-account-token.js.map +1 -0
- package/dist/forward/identity.d.ts +2 -0
- package/dist/forward/identity.d.ts.map +1 -1
- package/dist/forward/identity.js +2 -0
- package/dist/forward/identity.js.map +1 -1
- package/dist/forward/index.d.ts +9 -1
- package/dist/forward/index.d.ts.map +1 -1
- package/dist/forward/index.js +18 -1
- package/dist/forward/index.js.map +1 -1
- package/dist/forward/realtime/connection.d.ts +106 -0
- package/dist/forward/realtime/connection.d.ts.map +1 -0
- package/dist/forward/realtime/connection.js +473 -0
- package/dist/forward/realtime/connection.js.map +1 -0
- package/dist/forward/realtime/conversation.d.ts +31 -0
- package/dist/forward/realtime/conversation.d.ts.map +1 -0
- package/dist/forward/realtime/conversation.js +97 -0
- package/dist/forward/realtime/conversation.js.map +1 -0
- package/dist/forward/realtime/realtime.d.ts +9 -0
- package/dist/forward/realtime/realtime.d.ts.map +1 -0
- package/dist/forward/realtime/realtime.js +13 -0
- package/dist/forward/realtime/realtime.js.map +1 -0
- package/dist/forward/realtime/types.d.ts +204 -0
- package/dist/forward/realtime/types.d.ts.map +1 -0
- package/dist/forward/realtime/types.js +11 -0
- package/dist/forward/realtime/types.js.map +1 -0
- package/dist/forward/service-account-token.d.ts +15 -0
- package/dist/forward/service-account-token.d.ts.map +1 -0
- package/dist/forward/service-account-token.js +43 -0
- package/dist/forward/service-account-token.js.map +1 -0
- package/dist/forward/types.d.ts +35 -0
- package/dist/forward/types.d.ts.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -1
- package/dist/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +12 -3
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import { readEnv } from './credentials.js';
|
|
2
|
+
import { APIConnectionError, APIConnectionTimeoutError, APIError, QoderError } from './error.js';
|
|
3
|
+
/** Lazy, instance-owned SAT cache. Share an instance between clients in the same region. */
|
|
4
|
+
export class ServiceAccountCredential {
|
|
5
|
+
region;
|
|
6
|
+
#key;
|
|
7
|
+
#scope;
|
|
8
|
+
#ttl;
|
|
9
|
+
#timeout;
|
|
10
|
+
#fetch;
|
|
11
|
+
#token;
|
|
12
|
+
#refreshAt = 0;
|
|
13
|
+
#safeUntil = 0;
|
|
14
|
+
#inflight;
|
|
15
|
+
#failure;
|
|
16
|
+
#retryAt = 0;
|
|
17
|
+
#transient = false;
|
|
18
|
+
constructor(options) {
|
|
19
|
+
if (!options.saKey?.trim())
|
|
20
|
+
throw new QoderError('saKey must not be empty');
|
|
21
|
+
if (options.region !== 'cn' && options.region !== 'global')
|
|
22
|
+
throw new QoderError('region must be cn or global');
|
|
23
|
+
if (!Array.isArray(options.scopes) || !options.scopes.length
|
|
24
|
+
|| options.scopes.some(scope => typeof scope !== 'string' || !scope || /\s/.test(scope))) {
|
|
25
|
+
throw new QoderError('scopes must be a nonempty array of scope names');
|
|
26
|
+
}
|
|
27
|
+
this.region = options.region;
|
|
28
|
+
this.#key = options.saKey;
|
|
29
|
+
this.#scope = [...new Set(options.scopes)].join(' ');
|
|
30
|
+
this.#ttl = options.ttlSeconds ?? 3600;
|
|
31
|
+
if (!Number.isInteger(this.#ttl) || this.#ttl < 1 || this.#ttl > 43200)
|
|
32
|
+
throw new QoderError('ttlSeconds must be an integer from 1 to 43200');
|
|
33
|
+
this.#timeout = options.timeout ?? 30_000;
|
|
34
|
+
if (!Number.isFinite(this.#timeout) || this.#timeout <= 0 || this.#timeout > 2 ** 31 - 1)
|
|
35
|
+
throw new QoderError('Invalid exchange timeout');
|
|
36
|
+
this.#fetch = options.fetch ?? globalThis.fetch;
|
|
37
|
+
if (!this.#fetch)
|
|
38
|
+
throw new QoderError('A fetch implementation is required');
|
|
39
|
+
}
|
|
40
|
+
static fromEnv(options) {
|
|
41
|
+
return new ServiceAccountCredential({ ...options, saKey: readEnv('QODER_SA_KEY') ?? '' });
|
|
42
|
+
}
|
|
43
|
+
validateRegion(host) {
|
|
44
|
+
const expected = host === 'api.qoder.com.cn' ? 'cn' : host === 'api.qoder.com' ? 'global' : undefined;
|
|
45
|
+
if (expected && expected !== this.region)
|
|
46
|
+
throw new QoderError('SA credential region does not match baseURL');
|
|
47
|
+
}
|
|
48
|
+
getToken() {
|
|
49
|
+
const now = performance.now();
|
|
50
|
+
if (now < this.#retryAt)
|
|
51
|
+
return this.#fallback();
|
|
52
|
+
if (this.#token && now < this.#refreshAt)
|
|
53
|
+
return Promise.resolve(this.#token);
|
|
54
|
+
if (!this.#inflight) {
|
|
55
|
+
const task = this.#exchange();
|
|
56
|
+
this.#inflight = task;
|
|
57
|
+
// Clear only this generation; rejection is shared and cached during cooldown.
|
|
58
|
+
void task.then(() => { this.#inflight = undefined; }, () => { this.#inflight = undefined; });
|
|
59
|
+
}
|
|
60
|
+
return this.#inflight;
|
|
61
|
+
}
|
|
62
|
+
#fallback() {
|
|
63
|
+
if (this.#transient && this.#token && performance.now() < this.#safeUntil)
|
|
64
|
+
return Promise.resolve(this.#token);
|
|
65
|
+
return Promise.reject(this.#failure);
|
|
66
|
+
}
|
|
67
|
+
async #exchange() {
|
|
68
|
+
const started = performance.now();
|
|
69
|
+
const controller = new AbortController();
|
|
70
|
+
const timer = setTimeout(() => controller.abort(), this.#timeout);
|
|
71
|
+
let response;
|
|
72
|
+
let bodyRead = false;
|
|
73
|
+
try {
|
|
74
|
+
const host = this.region === 'cn' ? 'https://openapi.qoder.com.cn' : 'https://openapi.qoder.sh';
|
|
75
|
+
response = await this.#fetch(`${host}/api/v1/serviceToken/exchange`, {
|
|
76
|
+
method: 'POST', redirect: 'error', credentials: 'omit', signal: controller.signal,
|
|
77
|
+
headers: { Authorization: `Bearer ${this.#key}`, 'Content-Type': 'application/json', Accept: 'application/json' },
|
|
78
|
+
body: JSON.stringify({ grant_type: 'client_credentials', audience: 'qoder', scope: this.#scope, ttl_seconds: this.#ttl }),
|
|
79
|
+
});
|
|
80
|
+
const text = await response.text();
|
|
81
|
+
bodyRead = true;
|
|
82
|
+
let body = {};
|
|
83
|
+
try {
|
|
84
|
+
body = JSON.parse(text);
|
|
85
|
+
}
|
|
86
|
+
catch { /* Handled as an invalid response below. */ }
|
|
87
|
+
if (!response.ok) {
|
|
88
|
+
const detail = body?.error && typeof body.error === 'object' ? body.error : body;
|
|
89
|
+
const safe = (value) => typeof value === 'string' ? value.split(this.#key).join('[redacted]').split(this.#token ?? '\0').join('[redacted]').slice(0, 256) : undefined;
|
|
90
|
+
throw APIError.generate(response.status, { code: safe(detail?.code), request_id: safe(body?.request_id) }, 'Service account token exchange failed', new Headers({ 'x-request-id': safe(response.headers.get('x-request-id') ?? response.headers.get('request-id')) ?? '' }));
|
|
91
|
+
}
|
|
92
|
+
const ttl = typeof body?.expires_in === 'string' && /^\d+$/.test(body.expires_in) ? Number(body.expires_in) : body?.expires_in;
|
|
93
|
+
if (typeof body?.access_token !== 'string' || !body.access_token.trim()
|
|
94
|
+
|| typeof body.token_type !== 'string' || body.token_type.toLowerCase() !== 'bearer'
|
|
95
|
+
|| typeof ttl !== 'number' || !Number.isSafeInteger(ttl) || ttl <= 0 || ttl > 43200
|
|
96
|
+
|| (body.expires_at !== undefined && (typeof body.expires_at !== 'string'
|
|
97
|
+
|| !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/.test(body.expires_at)
|
|
98
|
+
|| !Number.isFinite(Date.parse(body.expires_at))))) {
|
|
99
|
+
throw new QoderError('Invalid service account token exchange response');
|
|
100
|
+
}
|
|
101
|
+
const safeUntil = started + (ttl - Math.min(5, ttl * 0.05)) * 1000;
|
|
102
|
+
if (performance.now() >= safeUntil)
|
|
103
|
+
throw new QoderError('Exchanged token has insufficient remaining lifetime');
|
|
104
|
+
this.#token = body.access_token;
|
|
105
|
+
this.#safeUntil = safeUntil;
|
|
106
|
+
this.#refreshAt = started + (ttl - Math.min(60, ttl * 0.1)) * 1000;
|
|
107
|
+
this.#retryAt = 0;
|
|
108
|
+
this.#failure = undefined;
|
|
109
|
+
return this.#token;
|
|
110
|
+
}
|
|
111
|
+
catch (error) {
|
|
112
|
+
const failure = controller.signal.aborted ? new APIConnectionTimeoutError('Service account token exchange timed out')
|
|
113
|
+
: bodyRead && error instanceof QoderError ? error : new APIConnectionError('Service account token exchange connection failed');
|
|
114
|
+
this.#failure = failure;
|
|
115
|
+
this.#transient = failure instanceof APIConnectionError
|
|
116
|
+
|| (failure instanceof APIError && (failure.status === 429 || (failure.status !== undefined && failure.status >= 500)));
|
|
117
|
+
let cooldown = 5000;
|
|
118
|
+
if (response?.status === 429) {
|
|
119
|
+
const value = response.headers.get('retry-after');
|
|
120
|
+
if (value) {
|
|
121
|
+
const seconds = Number(value);
|
|
122
|
+
const delay = Number.isFinite(seconds) ? seconds * 1000 : Date.parse(value) - Date.now();
|
|
123
|
+
if (Number.isFinite(delay) && delay > 0 && delay <= 2 ** 31 - 1)
|
|
124
|
+
cooldown = Math.max(cooldown, delay);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
this.#retryAt = performance.now() + cooldown;
|
|
128
|
+
return this.#fallback();
|
|
129
|
+
}
|
|
130
|
+
finally {
|
|
131
|
+
clearTimeout(timer);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=service-account-credential.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-account-credential.js","sourceRoot":"","sources":["../../../src/core/service-account-credential.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,8 @@ import { Vaults } from './vault.js';
|
|
|
14
14
|
import { MemoryStores } from './memory-store.js';
|
|
15
15
|
import { Models } from './model.js';
|
|
16
16
|
import { Usage } from './usage.js';
|
|
17
|
+
import { Realtime } from './realtime/realtime.js';
|
|
18
|
+
import { ServiceAccountTokens } from './service-account-token.js';
|
|
17
19
|
export type ForwardClientOptions = ClientOptions;
|
|
18
20
|
export declare class ForwardClient extends APIClient {
|
|
19
21
|
readonly templates: Templates;
|
|
@@ -31,6 +33,8 @@ export declare class ForwardClient extends APIClient {
|
|
|
31
33
|
readonly memoryStores: MemoryStores;
|
|
32
34
|
readonly models: Models;
|
|
33
35
|
readonly usage: Usage;
|
|
36
|
+
readonly realtime: Realtime;
|
|
37
|
+
readonly serviceAccountTokens: ServiceAccountTokens;
|
|
34
38
|
constructor(options?: ForwardClientOptions);
|
|
35
39
|
}
|
|
36
40
|
export default ForwardClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forwardClient.d.ts","sourceRoot":"","sources":["../../../src/forward/forwardClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"forwardClient.d.ts","sourceRoot":"","sources":["../../../src/forward/forwardClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAEjD,qBAAa,aAAc,SAAQ,SAAS;IAC1C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAuB;IACpD,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAwB;IACvD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IACjD,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAuB;IACpD,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAqB;IAC9C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IACjD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAA6B;IACtE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAmB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,YAAY,EAAE,YAAY,CAA0B;IAC7D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAoB;IAC3C,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAmB;IACxC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAsB;IAEjD,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAkC;gBAEzE,OAAO,GAAE,oBAAyB;CAG/C;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -15,6 +15,8 @@ import { Vaults } from './vault.js';
|
|
|
15
15
|
import { MemoryStores } from './memory-store.js';
|
|
16
16
|
import { Models } from './model.js';
|
|
17
17
|
import { Usage } from './usage.js';
|
|
18
|
+
import { Realtime } from './realtime/realtime.js';
|
|
19
|
+
import { ServiceAccountTokens } from './service-account-token.js';
|
|
18
20
|
export class ForwardClient extends APIClient {
|
|
19
21
|
templates = new Templates(this);
|
|
20
22
|
identities = new Identities(this);
|
|
@@ -31,6 +33,8 @@ export class ForwardClient extends APIClient {
|
|
|
31
33
|
memoryStores = new MemoryStores(this);
|
|
32
34
|
models = new Models(this);
|
|
33
35
|
usage = new Usage(this);
|
|
36
|
+
realtime = new Realtime(this);
|
|
37
|
+
serviceAccountTokens = new ServiceAccountTokens(this);
|
|
34
38
|
constructor(options = {}) {
|
|
35
39
|
super(options, 'forward');
|
|
36
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forwardClient.js","sourceRoot":"","sources":["../../../src/forward/forwardClient.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"forwardClient.js","sourceRoot":"","sources":["../../../src/forward/forwardClient.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,SAAS,EAAsB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAIlE,MAAM,OAAO,aAAc,SAAQ,SAAS;IACjC,SAAS,GAAc,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,UAAU,GAAe,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9C,QAAQ,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,SAAS,GAAc,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,GAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,QAAQ,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,eAAe,GAAoB,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;IAC7D,YAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,KAAK,GAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,YAAY,GAAiB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,GAAW,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClC,KAAK,GAAU,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,QAAQ,GAAa,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAExC,oBAAoB,GAAyB,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAErF,YAAY,UAAgC,EAAE;QAC5C,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { APIResource } from '../core/resource.js';
|
|
2
|
+
import type { RequestOptions } from '../core/client.js';
|
|
3
|
+
import type { APIPromise } from '../core/api-promise.js';
|
|
4
|
+
import type { ServiceAccountToken, ServiceAccountTokenCreateParams } from './types.js';
|
|
5
|
+
/** Issues SATs bound to a Forward Identity. */
|
|
6
|
+
export declare class IdentityServiceAccountTokens extends APIResource {
|
|
7
|
+
/** Issue an Identity SAT using the explicit SA Key. Automatic retries are disabled. */
|
|
8
|
+
create(identityID: string, params: ServiceAccountTokenCreateParams, options?: RequestOptions): APIPromise<ServiceAccountToken>;
|
|
9
|
+
}
|
|
10
|
+
export type { ServiceAccountToken, ServiceAccountTokenCreateParams } from './types.js';
|
|
11
|
+
//# sourceMappingURL=identity-service-account-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-service-account-token.d.ts","sourceRoot":"","sources":["../../../src/forward/identity-service-account-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAEvF,+CAA+C;AAC/C,qBAAa,4BAA6B,SAAQ,WAAW;IAC3D,uFAAuF;IACvF,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,+BAA+B,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,mBAAmB,CAAC;CAU/H;AAED,YAAY,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { APIResource } from '../core/resource.js';
|
|
2
|
+
import { pathParam } from './_utils.js';
|
|
3
|
+
import { saKeyRequestOptions } from './service-account-token.js';
|
|
4
|
+
/** Issues SATs bound to a Forward Identity. */
|
|
5
|
+
export class IdentityServiceAccountTokens extends APIResource {
|
|
6
|
+
/** Issue an Identity SAT using the explicit SA Key. Automatic retries are disabled. */
|
|
7
|
+
create(identityID, params, options) {
|
|
8
|
+
const path = `identities/${pathParam(identityID, 'identity_id')}/service_account_tokens`;
|
|
9
|
+
const { saKey, ...payload } = params;
|
|
10
|
+
return this._client.request({
|
|
11
|
+
method: 'POST',
|
|
12
|
+
path,
|
|
13
|
+
body: payload,
|
|
14
|
+
...saKeyRequestOptions(saKey, options),
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=identity-service-account-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-service-account-token.js","sourceRoot":"","sources":["../../../src/forward/identity-service-account-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,+CAA+C;AAC/C,MAAM,OAAO,4BAA6B,SAAQ,WAAW;IAC3D,uFAAuF;IACvF,MAAM,CAAC,UAAkB,EAAE,MAAuC,EAAE,OAAwB;QAC1F,MAAM,IAAI,GAAG,cAAc,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,yBAAyB,CAAC;QACzF,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,CAAC;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAsB;YAC/C,MAAM,EAAE,MAAM;YACd,IAAI;YACJ,IAAI,EAAE,OAAO;YACb,GAAG,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC;SACvC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -5,9 +5,11 @@ import type { PagePromise } from '../core/pagination.js';
|
|
|
5
5
|
import type { DeletedIdentity, Identity, IdentityClearParams, IdentityClearResponse, IdentityCreateParams, IdentityListParams, IdentityListTemplatesResponse, IdentityStats, IdentityUpdateParams } from './types.js';
|
|
6
6
|
import { IdentityConfigs } from './identity-config.js';
|
|
7
7
|
import { IdentityMemoryStores } from './identity-memory-store.js';
|
|
8
|
+
import { IdentityServiceAccountTokens } from './identity-service-account-token.js';
|
|
8
9
|
export declare class Identities extends APIResource {
|
|
9
10
|
readonly configs: IdentityConfigs;
|
|
10
11
|
readonly memoryStores: IdentityMemoryStores;
|
|
12
|
+
readonly serviceAccountTokens: IdentityServiceAccountTokens;
|
|
11
13
|
/**
|
|
12
14
|
* 列出 Identities.
|
|
13
15
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/forward/identity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACtN,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/forward/identity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AACtN,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AAEnF,qBAAa,UAAW,SAAQ,WAAW;IACzC,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAqC;IACtE,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAA0C;IACrF,QAAQ,CAAC,oBAAoB,EAAE,4BAA4B,CAAkD;IAE7G;;;;OAIG;IACH,IAAI,CAAC,MAAM,GAAE,kBAAuB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,WAAW,CAAC,QAAQ,CAAC;IAKtF;;;;OAIG;IACH,MAAM,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;IAYpF;;;;OAIG;IACH,WAAW,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;IAS3D;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,aAAa,CAAC;IAS1D;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;IAS5E;;;;OAIG;IACH,MAAM,CACJ,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,oBAAyB,EACjC,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,QAAQ,CAAC;IAYvB;;;;OAIG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC;IASjF;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,6BAA6B,CAAC;IAStG;;;;OAIG;IACH,KAAK,CACH,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,mBAAwB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,qBAAqB,CAAC;IAUpC;;;;OAIG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;IAS3E;;;;OAIG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC;CAS3E;AAED,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,6BAA6B,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -3,9 +3,11 @@ import { APIResource } from '../core/resource.js';
|
|
|
3
3
|
import { pathParam, requestHeaders } from './_utils.js';
|
|
4
4
|
import { IdentityConfigs } from './identity-config.js';
|
|
5
5
|
import { IdentityMemoryStores } from './identity-memory-store.js';
|
|
6
|
+
import { IdentityServiceAccountTokens } from './identity-service-account-token.js';
|
|
6
7
|
export class Identities extends APIResource {
|
|
7
8
|
configs = new IdentityConfigs(this._client);
|
|
8
9
|
memoryStores = new IdentityMemoryStores(this._client);
|
|
10
|
+
serviceAccountTokens = new IdentityServiceAccountTokens(this._client);
|
|
9
11
|
/**
|
|
10
12
|
* 列出 Identities.
|
|
11
13
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/forward/identity.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/forward/identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,8 +34,16 @@ export { Stream } from '../core/streaming.js';
|
|
|
34
34
|
export { ResumableSessionEventStream } from '../core/resumable-session-event-stream.js';
|
|
35
35
|
export { toFile } from '../core/uploads.js';
|
|
36
36
|
export type { Uploadable } from '../core/uploads.js';
|
|
37
|
-
export { PATCredential } from '../core/credentials.js';
|
|
37
|
+
export { PATCredential, ServiceAccountCredential } from '../core/credentials.js';
|
|
38
|
+
export type { AuthMode, ServiceAccountCredentialOptions } from '../core/credentials.js';
|
|
38
39
|
export type { Credential } from '../core/credentials.js';
|
|
39
40
|
export * from '../core/error.js';
|
|
40
41
|
export { Usage } from './usage.js';
|
|
42
|
+
export { Realtime } from './realtime/realtime.js';
|
|
43
|
+
export { RealtimeConversations, RealtimeHistoryPage } from './realtime/conversation.js';
|
|
44
|
+
export { RealtimeConnection, RealtimeProtocolError, RealtimeConnectionClosedError, RealtimeServerError, decodeRealtimeAudio } from './realtime/connection.js';
|
|
45
|
+
export type { RealtimeConnectOptions, RealtimeWaitOptions, RealtimeCloseOptions } from './realtime/connection.js';
|
|
46
|
+
export * from './realtime/types.js';
|
|
47
|
+
export { ServiceAccountTokens } from './service-account-token.js';
|
|
48
|
+
export { IdentityServiceAccountTokens } from './identity-service-account-token.js';
|
|
41
49
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forward/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7E,YAAY,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forward/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,13 @@ export { Page, PagePromise } from '../core/pagination.js';
|
|
|
31
31
|
export { Stream } from '../core/streaming.js';
|
|
32
32
|
export { ResumableSessionEventStream } from '../core/resumable-session-event-stream.js';
|
|
33
33
|
export { toFile } from '../core/uploads.js';
|
|
34
|
-
export { PATCredential } from '../core/credentials.js';
|
|
34
|
+
export { PATCredential, ServiceAccountCredential } from '../core/credentials.js';
|
|
35
35
|
export * from '../core/error.js';
|
|
36
36
|
export { Usage } from './usage.js';
|
|
37
|
+
export { Realtime } from './realtime/realtime.js';
|
|
38
|
+
export { RealtimeConversations, RealtimeHistoryPage } from './realtime/conversation.js';
|
|
39
|
+
export { RealtimeConnection, RealtimeProtocolError, RealtimeConnectionClosedError, RealtimeServerError, decodeRealtimeAudio } from './realtime/connection.js';
|
|
40
|
+
export * from './realtime/types.js';
|
|
41
|
+
export { ServiceAccountTokens } from './service-account-token.js';
|
|
42
|
+
export { IdentityServiceAccountTokens } from './identity-service-account-token.js';
|
|
37
43
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/forward/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7E,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/forward/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7E,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAGjF,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE9J,cAAc,qBAAqB,CAAC;AAEpC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { APIClient, HeadersLike } from '../../core/client.js';
|
|
2
|
+
import { APIConnectionError } from '../../core/error.js';
|
|
3
|
+
import { type RealtimeClientEvent, type RealtimeClosed, type RealtimePlaybackReceipt, type RealtimeReady, type RealtimeServerEvent } from './types.js';
|
|
4
|
+
export interface RealtimeConnectOptions {
|
|
5
|
+
conversationId: string;
|
|
6
|
+
headers?: HeadersLike;
|
|
7
|
+
/** Cancelling this signal releases the entire connection, including ready waits. */
|
|
8
|
+
signal?: AbortSignal | null;
|
|
9
|
+
handshakeTimeout?: number;
|
|
10
|
+
readyTimeout?: number;
|
|
11
|
+
sendTimeout?: number;
|
|
12
|
+
closeTimeout?: number;
|
|
13
|
+
maxQueuedEvents?: number;
|
|
14
|
+
maxQueueBytes?: number;
|
|
15
|
+
maxReceiveBytes?: number;
|
|
16
|
+
/** Node agent (including proxy agents) and TLS settings; fetch/middleware do not apply to WS. */
|
|
17
|
+
transport?: {
|
|
18
|
+
agent?: object;
|
|
19
|
+
ca?: string | Uint8Array | Array<string | Uint8Array>;
|
|
20
|
+
cert?: string | Uint8Array;
|
|
21
|
+
key?: string | Uint8Array;
|
|
22
|
+
servername?: string;
|
|
23
|
+
rejectUnauthorized?: boolean;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export interface RealtimeWaitOptions {
|
|
27
|
+
signal?: AbortSignal | null;
|
|
28
|
+
timeout?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface RealtimeCloseOptions extends RealtimeWaitOptions {
|
|
31
|
+
requestId?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare class RealtimeProtocolError extends APIConnectionError {
|
|
34
|
+
readonly conversationId: string;
|
|
35
|
+
readonly code: string;
|
|
36
|
+
constructor(message: string, conversationId: string, code?: string);
|
|
37
|
+
}
|
|
38
|
+
export declare class RealtimeConnectionClosedError extends APIConnectionError {
|
|
39
|
+
readonly conversationId: string;
|
|
40
|
+
readonly closeCode: number;
|
|
41
|
+
readonly closeReason: string;
|
|
42
|
+
constructor(conversationId: string, closeCode: number, closeReason: string);
|
|
43
|
+
}
|
|
44
|
+
export declare class RealtimeServerError extends APIConnectionError {
|
|
45
|
+
readonly event: RealtimeServerEvent;
|
|
46
|
+
readonly code: string;
|
|
47
|
+
readonly retryable?: boolean;
|
|
48
|
+
readonly retry_after_ms?: number;
|
|
49
|
+
constructor(event: RealtimeServerEvent);
|
|
50
|
+
}
|
|
51
|
+
/** Decode an audio.delta payload into raw 24 kHz PCM16 bytes; this does not play it. */
|
|
52
|
+
export declare function decodeRealtimeAudio(event: RealtimeServerEvent): Uint8Array;
|
|
53
|
+
/** A Node-only connection with one receiver and bounded input/output queues. No reconnect or replay. */
|
|
54
|
+
export declare class RealtimeConnection implements AsyncIterable<RealtimeServerEvent> {
|
|
55
|
+
private readonly socket;
|
|
56
|
+
private readonly options;
|
|
57
|
+
readonly conversationId: string;
|
|
58
|
+
ready: RealtimeReady;
|
|
59
|
+
request_id: string | null;
|
|
60
|
+
private readonly queue;
|
|
61
|
+
private queueBytes;
|
|
62
|
+
private lastSequence;
|
|
63
|
+
private readonly maxQueuedEvents;
|
|
64
|
+
private readonly maxQueueBytes;
|
|
65
|
+
private readonly sendTimeout;
|
|
66
|
+
private readonly closeTimeout;
|
|
67
|
+
private readonly readyPromise;
|
|
68
|
+
private readyResolve;
|
|
69
|
+
private readyReject;
|
|
70
|
+
private receiver?;
|
|
71
|
+
private terminal?;
|
|
72
|
+
private ended;
|
|
73
|
+
private closing;
|
|
74
|
+
private sendTail;
|
|
75
|
+
private sendCount;
|
|
76
|
+
private sendBytes;
|
|
77
|
+
private graceful?;
|
|
78
|
+
private closeAck?;
|
|
79
|
+
private handshakeTimer?;
|
|
80
|
+
private readyTimer?;
|
|
81
|
+
private readonly abort;
|
|
82
|
+
private constructor();
|
|
83
|
+
/** @internal */
|
|
84
|
+
static connect(client: APIClient, options: RealtimeConnectOptions): Promise<RealtimeConnection>;
|
|
85
|
+
private onMessage;
|
|
86
|
+
private finish;
|
|
87
|
+
private fail;
|
|
88
|
+
/** Read one event. Concurrent consumers are rejected instead of stealing each other's events. */
|
|
89
|
+
receive(options?: RealtimeWaitOptions): Promise<IteratorResult<RealtimeServerEvent>>;
|
|
90
|
+
[Symbol.asyncIterator](): AsyncGenerator<RealtimeServerEvent>;
|
|
91
|
+
/** Serialize sends in call order; no input is automatically replayed. */
|
|
92
|
+
sendEvent(event: RealtimeClientEvent, options?: RealtimeWaitOptions): Promise<void>;
|
|
93
|
+
sendText(text: string, options?: RealtimeWaitOptions): Promise<void>;
|
|
94
|
+
appendAudio(pcm: Uint8Array, options?: RealtimeWaitOptions): Promise<void>;
|
|
95
|
+
interrupt(options?: RealtimeWaitOptions): Promise<void>;
|
|
96
|
+
ping(options?: RealtimeWaitOptions): Promise<void>;
|
|
97
|
+
playbackStarted(receipt?: RealtimePlaybackReceipt, options?: RealtimeWaitOptions): Promise<void>;
|
|
98
|
+
playbackEnded(receipt?: RealtimePlaybackReceipt, options?: RealtimeWaitOptions): Promise<void>;
|
|
99
|
+
playbackCancelled(receipt?: RealtimePlaybackReceipt, options?: RealtimeWaitOptions): Promise<void>;
|
|
100
|
+
private playback;
|
|
101
|
+
/** Send connection.close, require its matching persistence acknowledgement, then release transport. */
|
|
102
|
+
closeGracefully(options?: RealtimeCloseOptions): Promise<RealtimeClosed>;
|
|
103
|
+
/** Transport close does not promise history persistence or cancel background Work. */
|
|
104
|
+
close(): void;
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../../../src/forward/realtime/connection.ts"],"names":[],"mappings":"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"}
|