@tidblink/server 0.0.0-stage → 0.3.0-rc.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/LICENSE +201 -0
- package/README.md +993 -2
- package/dist/audio.d.ts +63 -0
- package/dist/audio.d.ts.map +1 -0
- package/dist/audio.js +163 -0
- package/dist/audio.js.map +1 -0
- package/dist/client-tools.d.ts +46 -0
- package/dist/client-tools.d.ts.map +1 -0
- package/dist/client-tools.js +114 -0
- package/dist/client-tools.js.map +1 -0
- package/dist/control.d.ts +17 -0
- package/dist/control.d.ts.map +1 -0
- package/dist/control.js +52 -0
- package/dist/control.js.map +1 -0
- package/dist/errors.d.ts +80 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +87 -0
- package/dist/errors.js.map +1 -0
- package/dist/files.d.ts +129 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +388 -0
- package/dist/files.js.map +1 -0
- package/dist/history.d.ts +242 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +91 -0
- package/dist/history.js.map +1 -0
- package/dist/http.d.ts +64 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +282 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/organization.d.ts +70 -0
- package/dist/organization.d.ts.map +1 -0
- package/dist/organization.js +118 -0
- package/dist/organization.js.map +1 -0
- package/dist/progress.d.ts +34 -0
- package/dist/progress.d.ts.map +1 -0
- package/dist/progress.js +154 -0
- package/dist/progress.js.map +1 -0
- package/dist/realtime.d.ts +91 -0
- package/dist/realtime.d.ts.map +1 -0
- package/dist/realtime.js +112 -0
- package/dist/realtime.js.map +1 -0
- package/dist/schedulers.d.ts +129 -0
- package/dist/schedulers.d.ts.map +1 -0
- package/dist/schedulers.js +91 -0
- package/dist/schedulers.js.map +1 -0
- package/dist/session.d.ts +136 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +226 -0
- package/dist/session.js.map +1 -0
- package/dist/sse.d.ts +7 -0
- package/dist/sse.d.ts.map +1 -0
- package/dist/sse.js +45 -0
- package/dist/sse.js.map +1 -0
- package/dist/turn.d.ts +43 -0
- package/dist/turn.d.ts.map +1 -0
- package/dist/turn.js +206 -0
- package/dist/turn.js.map +1 -0
- package/dist/usage.d.ts +462 -0
- package/dist/usage.d.ts.map +1 -0
- package/dist/usage.js +20 -0
- package/dist/usage.js.map +1 -0
- package/dist/user.d.ts +96 -0
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +139 -0
- package/dist/user.js.map +1 -0
- package/examples/answer-client-tool.mjs +69 -0
- package/examples/control-turn.mjs +48 -0
- package/examples/create-session.mjs +69 -0
- package/examples/observe-message.mjs +44 -0
- package/examples/organization-session.mjs +66 -0
- package/examples/prepare-realtime-connection.mjs +61 -0
- package/examples/provision-user.mjs +83 -0
- package/examples/read-usage.mjs +62 -0
- package/examples/schedule-task.mjs +67 -0
- package/examples/send-message.mjs +43 -0
- package/examples/submit-audio.mjs +52 -0
- package/examples/upload-file.mjs +53 -0
- package/package.json +65 -4
package/dist/http.js
ADDED
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import { TiDBLinkApiError, TiDBLinkError, ConflictError, ConnectionError, OutcomeUnknownError, } from "./errors.js";
|
|
2
|
+
const RETRYABLE_STATUS = new Set([408, 429, 500, 502, 503, 504]);
|
|
3
|
+
const MAX_ATTEMPTS = 3;
|
|
4
|
+
export const paginationQuery = (options) => {
|
|
5
|
+
if (options)
|
|
6
|
+
requireKnownKeys(options, ["limit", "cursor", "signal", "requestId"], "List options");
|
|
7
|
+
const query = new URLSearchParams();
|
|
8
|
+
if (options?.limit !== undefined)
|
|
9
|
+
query.set("limit", String(options.limit));
|
|
10
|
+
if (options?.cursor !== undefined)
|
|
11
|
+
query.set("cursor", options.cursor);
|
|
12
|
+
return query.size ? `?${query}` : "";
|
|
13
|
+
};
|
|
14
|
+
export function requireCreationKey(value) {
|
|
15
|
+
if (typeof value !== "string" ||
|
|
16
|
+
!/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$/.test(value))
|
|
17
|
+
throw new TypeError("Creation requires a stable idempotencyKey (1-128 safe characters)");
|
|
18
|
+
}
|
|
19
|
+
export const requireEtag = (result) => {
|
|
20
|
+
if (!result.etag) {
|
|
21
|
+
throw new TiDBLinkError("TiDB Link response omitted a required ETag", {
|
|
22
|
+
requestId: result.requestId,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
return result.etag;
|
|
26
|
+
};
|
|
27
|
+
const requestId = () => crypto.randomUUID();
|
|
28
|
+
const REQUEST_ID = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$/;
|
|
29
|
+
export const sleep = (milliseconds, signal) => {
|
|
30
|
+
if (signal?.aborted)
|
|
31
|
+
return Promise.reject(signal.reason);
|
|
32
|
+
return new Promise((resolve, reject) => {
|
|
33
|
+
const onAbort = () => {
|
|
34
|
+
clearTimeout(timer);
|
|
35
|
+
reject(signal?.reason);
|
|
36
|
+
};
|
|
37
|
+
const timer = setTimeout(() => {
|
|
38
|
+
signal?.removeEventListener("abort", onAbort);
|
|
39
|
+
resolve();
|
|
40
|
+
}, milliseconds);
|
|
41
|
+
signal?.addEventListener("abort", onAbort, { once: true });
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
const pauseBeforeRetry = async (milliseconds, options, requestId) => {
|
|
45
|
+
try {
|
|
46
|
+
await sleep(milliseconds, options.signal);
|
|
47
|
+
}
|
|
48
|
+
catch (cause) {
|
|
49
|
+
if (!options.outcomeUnknown)
|
|
50
|
+
throw cause;
|
|
51
|
+
throw new OutcomeUnknownError("TiDB Link request outcome is unknown after local waiting stopped; recover with the same creation key", { requestId, cause });
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
const errorInput = async (response, fallbackRequestId) => {
|
|
55
|
+
let value;
|
|
56
|
+
try {
|
|
57
|
+
value = await response.json();
|
|
58
|
+
}
|
|
59
|
+
catch {
|
|
60
|
+
value = undefined;
|
|
61
|
+
}
|
|
62
|
+
const envelope = value;
|
|
63
|
+
const error = typeof envelope?.error === "object" && envelope.error !== null
|
|
64
|
+
? envelope.error
|
|
65
|
+
: undefined;
|
|
66
|
+
return {
|
|
67
|
+
status: response.status,
|
|
68
|
+
code: typeof error?.code === "string" ? error.code : "http_error",
|
|
69
|
+
message: typeof error?.message === "string"
|
|
70
|
+
? error.message
|
|
71
|
+
: `TiDB Link request failed with status ${response.status}`,
|
|
72
|
+
requestId: response.headers.get("x-request-id") ??
|
|
73
|
+
(typeof error?.requestId === "string"
|
|
74
|
+
? error.requestId
|
|
75
|
+
: fallbackRequestId),
|
|
76
|
+
...(error && "details" in error ? { details: error.details } : {}),
|
|
77
|
+
...(response.headers.has("retry-after")
|
|
78
|
+
? { retryAfter: response.headers.get("retry-after") }
|
|
79
|
+
: {}),
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
const normalizeBaseUrl = (value) => {
|
|
83
|
+
const url = new URL(value);
|
|
84
|
+
if ((url.protocol !== "http:" && url.protocol !== "https:") ||
|
|
85
|
+
url.username ||
|
|
86
|
+
url.password ||
|
|
87
|
+
url.search ||
|
|
88
|
+
url.hash) {
|
|
89
|
+
throw new TypeError("baseUrl must be an HTTP(S) URL without credentials");
|
|
90
|
+
}
|
|
91
|
+
return url.toString().replace(/\/$/, "");
|
|
92
|
+
};
|
|
93
|
+
export function requireKnownKeys(value, allowed, label) {
|
|
94
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
95
|
+
throw new TypeError(`${label} must be an object`);
|
|
96
|
+
}
|
|
97
|
+
const unknown = Object.keys(value).find((key) => !allowed.includes(key));
|
|
98
|
+
if (unknown)
|
|
99
|
+
throw new TypeError(`${label}.${unknown} is not supported`);
|
|
100
|
+
}
|
|
101
|
+
export const requestOptions = (options = {}) => {
|
|
102
|
+
requireKnownKeys(options, ["requestId", "signal"], "Request options");
|
|
103
|
+
return { ...options };
|
|
104
|
+
};
|
|
105
|
+
/** Check the frozen wire grammar without retaining or exposing the credential. */
|
|
106
|
+
export const isApiKey = (value, kind) => {
|
|
107
|
+
if (typeof value !== "string")
|
|
108
|
+
return false;
|
|
109
|
+
const match = /^ti_(org|user)_[A-Za-z0-9]{1,64}_[A-Za-z0-9_-]{43}$/u.exec(value);
|
|
110
|
+
return match !== null && match[0] === value && match[1] === kind;
|
|
111
|
+
};
|
|
112
|
+
export class HttpClient {
|
|
113
|
+
#apiKey;
|
|
114
|
+
#baseUrl;
|
|
115
|
+
#ownerPrefix;
|
|
116
|
+
constructor(input) {
|
|
117
|
+
this.#baseUrl = normalizeBaseUrl(input.baseUrl);
|
|
118
|
+
this.#apiKey = input.apiKey;
|
|
119
|
+
this.#ownerPrefix =
|
|
120
|
+
input.userId === undefined
|
|
121
|
+
? undefined
|
|
122
|
+
: `/api/v1/org/users/${encodeURIComponent(input.userId)}`;
|
|
123
|
+
}
|
|
124
|
+
forUser(userId) {
|
|
125
|
+
if (typeof userId !== "string" || !/^[a-z0-9_-]{1,64}$/.test(userId))
|
|
126
|
+
throw new TypeError("Organization resources require an explicit User ID");
|
|
127
|
+
return new HttpClient({
|
|
128
|
+
baseUrl: this.#baseUrl,
|
|
129
|
+
apiKey: this.#apiKey,
|
|
130
|
+
userId,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
resourcePath(path) {
|
|
134
|
+
if (this.#ownerPrefix === undefined)
|
|
135
|
+
return path;
|
|
136
|
+
if (path.startsWith("/api/v1/user/"))
|
|
137
|
+
return this.#ownerPrefix + path.slice("/api/v1/user".length);
|
|
138
|
+
if (/^\/api\/v1\/(files|schedulers|agent-models|realtime-models)([/?]|$)/.test(path))
|
|
139
|
+
return this.#ownerPrefix + path.slice("/api/v1".length);
|
|
140
|
+
throw new TypeError("Unsupported Organization User resource path");
|
|
141
|
+
}
|
|
142
|
+
resolveUrl(value) {
|
|
143
|
+
return new URL(value, `${this.#baseUrl}/`);
|
|
144
|
+
}
|
|
145
|
+
get(path, options) {
|
|
146
|
+
return this.request(path, { ...options, retry: "safe" });
|
|
147
|
+
}
|
|
148
|
+
getResponse(path, options) {
|
|
149
|
+
return this.response(path, { ...options, retry: "safe" });
|
|
150
|
+
}
|
|
151
|
+
post(path, body, options) {
|
|
152
|
+
return this.request(path, {
|
|
153
|
+
...options,
|
|
154
|
+
method: "POST",
|
|
155
|
+
body,
|
|
156
|
+
retry: options?.idempotent ? "safe" : "never",
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
postResponse(path, body, options) {
|
|
160
|
+
return this.response(path, {
|
|
161
|
+
...options,
|
|
162
|
+
method: "POST",
|
|
163
|
+
body,
|
|
164
|
+
retry: options?.idempotent ? "safe" : "never",
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
patchResponse(path, body, options) {
|
|
168
|
+
return this.response(path, { ...options, method: "PATCH", body });
|
|
169
|
+
}
|
|
170
|
+
deleteResponse(path, options) {
|
|
171
|
+
return this.response(path, { ...options, method: "DELETE" });
|
|
172
|
+
}
|
|
173
|
+
async request(path, options = {}) {
|
|
174
|
+
return (await this.response(path, options)).data;
|
|
175
|
+
}
|
|
176
|
+
async response(path, options = {}) {
|
|
177
|
+
const { body, ...requestOptions } = options;
|
|
178
|
+
const { response, requestId } = await this.rawResponse(path, {
|
|
179
|
+
...requestOptions,
|
|
180
|
+
...(body === undefined
|
|
181
|
+
? {}
|
|
182
|
+
: {
|
|
183
|
+
body: JSON.stringify(body),
|
|
184
|
+
headers: { "content-type": "application/json" },
|
|
185
|
+
}),
|
|
186
|
+
});
|
|
187
|
+
let data;
|
|
188
|
+
try {
|
|
189
|
+
data =
|
|
190
|
+
response.status === 204
|
|
191
|
+
? undefined
|
|
192
|
+
: (await response.json());
|
|
193
|
+
}
|
|
194
|
+
catch (cause) {
|
|
195
|
+
const ErrorClass = options.outcomeUnknown
|
|
196
|
+
? OutcomeUnknownError
|
|
197
|
+
: TiDBLinkError;
|
|
198
|
+
throw new ErrorClass(options.outcomeUnknown
|
|
199
|
+
? "TiDB Link accepted the request but returned an unusable response"
|
|
200
|
+
: "TiDB Link returned invalid JSON", { requestId, cause });
|
|
201
|
+
}
|
|
202
|
+
return { data, etag: response.headers.get("etag") ?? undefined, requestId };
|
|
203
|
+
}
|
|
204
|
+
/** Raw bytes and event streams retain the same credential, redirect and error boundary. */
|
|
205
|
+
async rawResponse(path, options = {}) {
|
|
206
|
+
const stableRequestId = options.requestId ?? requestId();
|
|
207
|
+
if (!REQUEST_ID.test(stableRequestId)) {
|
|
208
|
+
throw new TypeError("requestId must be 1-64 safe characters");
|
|
209
|
+
}
|
|
210
|
+
if (options.idempotencyKey !== undefined &&
|
|
211
|
+
(options.idempotencyKey.length > 255 ||
|
|
212
|
+
!/^[\x20-\x7e]+$/.test(options.idempotencyKey))) {
|
|
213
|
+
throw new TypeError("idempotencyKey must be 1-255 visible ASCII characters");
|
|
214
|
+
}
|
|
215
|
+
options.signal?.throwIfAborted();
|
|
216
|
+
const attempts = options.retry === "safe" ? MAX_ATTEMPTS : 1;
|
|
217
|
+
for (let attempt = 1; attempt <= attempts; attempt += 1) {
|
|
218
|
+
let response;
|
|
219
|
+
try {
|
|
220
|
+
response = await fetch(`${this.#baseUrl}${this.resourcePath(path)}`, {
|
|
221
|
+
method: options.method ?? "GET",
|
|
222
|
+
redirect: "error",
|
|
223
|
+
headers: {
|
|
224
|
+
accept: "application/json",
|
|
225
|
+
...options.headers,
|
|
226
|
+
authorization: `Bearer ${this.#apiKey}`,
|
|
227
|
+
"x-request-id": stableRequestId,
|
|
228
|
+
...(options.idempotencyKey
|
|
229
|
+
? { "idempotency-key": options.idempotencyKey }
|
|
230
|
+
: {}),
|
|
231
|
+
...(options.ifMatch ? { "if-match": options.ifMatch } : {}),
|
|
232
|
+
},
|
|
233
|
+
...(options.body === undefined ? {} : { body: options.body }),
|
|
234
|
+
...(options.signal ? { signal: options.signal } : {}),
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
catch (cause) {
|
|
238
|
+
if (options.signal?.aborted && !options.outcomeUnknown)
|
|
239
|
+
throw cause;
|
|
240
|
+
if (attempt < attempts && !options.signal?.aborted) {
|
|
241
|
+
await pauseBeforeRetry(100 * 2 ** (attempt - 1), options, stableRequestId);
|
|
242
|
+
continue;
|
|
243
|
+
}
|
|
244
|
+
const ErrorClass = options.outcomeUnknown
|
|
245
|
+
? OutcomeUnknownError
|
|
246
|
+
: ConnectionError;
|
|
247
|
+
throw new ErrorClass(options.outcomeUnknown
|
|
248
|
+
? "TiDB Link request outcome is unknown; do not repeat it automatically"
|
|
249
|
+
: "Could not reach TiDB Link", {
|
|
250
|
+
requestId: stableRequestId,
|
|
251
|
+
cause,
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
if (response.ok)
|
|
255
|
+
return {
|
|
256
|
+
response,
|
|
257
|
+
requestId: response.headers.get("x-request-id") ?? stableRequestId,
|
|
258
|
+
};
|
|
259
|
+
if (attempt < attempts && RETRYABLE_STATUS.has(response.status)) {
|
|
260
|
+
await response.arrayBuffer().catch(() => undefined);
|
|
261
|
+
await pauseBeforeRetry(100 * 2 ** (attempt - 1), options, stableRequestId);
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
264
|
+
const input = await errorInput(response, stableRequestId);
|
|
265
|
+
const error = input.status === 409 || input.status === 412
|
|
266
|
+
? new ConflictError(input)
|
|
267
|
+
: new TiDBLinkApiError(input);
|
|
268
|
+
if (options.outcomeUnknown &&
|
|
269
|
+
(input.status >= 500 || input.status === 408)) {
|
|
270
|
+
throw new OutcomeUnknownError("TiDB Link could not confirm the mutation outcome", {
|
|
271
|
+
...(input.requestId === undefined
|
|
272
|
+
? {}
|
|
273
|
+
: { requestId: input.requestId }),
|
|
274
|
+
cause: error,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
throw error;
|
|
278
|
+
}
|
|
279
|
+
throw new Error("unreachable");
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
//# sourceMappingURL=http.js.map
|
package/dist/http.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/** TiDB Link OpenAPI version supported by this SDK release. */
|
|
2
|
+
export declare const TIDB_LINK_API_VERSION: "0.0.1";
|
|
3
|
+
/** Exact service baseline for the supported refreshed SDK surface. */
|
|
4
|
+
export declare const TIDB_LINK_REVISION: "882287809f91d9a3fdf60537460431d9f0fc23e7";
|
|
5
|
+
export { TiDBLinkApiError, TiDBLinkError, ConflictError, ConnectionError, TurnWaitTimeoutError, InputNotAppliedError, OutcomeUnknownError, ObservationStoppedError, TurnFailedError, TurnInterruptedError, } from "./errors.js";
|
|
6
|
+
export { OrganizationClient } from "./organization.js";
|
|
7
|
+
export type { Organization, EndUser, CreateEndUserInput, RequestOptions, IssuedUserApiKey, OrganizationClientOptions, UserApiKey, } from "./organization.js";
|
|
8
|
+
export { Agent, EndUserClient, UserClient } from "./user.js";
|
|
9
|
+
export type { AgentRecord, AgentTemplate, AgentTemplatePage, AgentModelCatalog, CreateAgentInput, UpdateAgentInput, SessionPage, UserClientOptions, } from "./user.js";
|
|
10
|
+
export type { ListOptions } from "./http.js";
|
|
11
|
+
export { Session } from "./session.js";
|
|
12
|
+
export type { BillingTag, CreateSessionOptions, SuggestSessionNameInput, ClarificationItem, SelectableSessionModel, SessionModel, SessionRecord, } from "./session.js";
|
|
13
|
+
export type { OpenRealtimeConnectionInput, OpenRealtimeConnectionResult, RealtimeAudioFormat, RealtimeAudioFormats, RealtimeConnectGrant, RealtimeConnection, RealtimeEndpointingMode, RealtimeLanguage, RealtimeModel, RealtimeModelCatalog, RealtimeModelSelection, RealtimeOpusAudioFormat, RealtimePcm16AudioFormat, RealtimeVoiceSetting, } from "./realtime.js";
|
|
14
|
+
export type { CreateTurnInput, TurnResult, WaitForResultOptions, } from "./turn.js";
|
|
15
|
+
export type { MessageRecord, MessageInputContext, RealtimeMessageMetadata, TurnRecord, FullAgentTurnRecord, RealtimeTurnRecord, TurnPage, TurnStatus, TurnUserFile, TurnFailure, OperationRecord, OperationStatus, OperationResultPointer, SessionInteraction, SessionInteractionPage, SessionRealtimeEvent, RealtimeResponseKind, SessionTimelineEntry, SessionTimelinePage, } from "./history.js";
|
|
16
|
+
export type { TurnCommandInput, RetryReceipt } from "./control.js";
|
|
17
|
+
export { UserFiles, FileUploadOutcomeUnknownError } from "./files.js";
|
|
18
|
+
export type { UserFile, FileUploadCapabilities, CreateFileUploadInput, UploadFileInput, FileUpload, FileUploadStatus, FileUploadPart, UploadedFilePart, FileListOptions, FilePage, FileDownloadGrant, FileContent, } from "./files.js";
|
|
19
|
+
export type { SessionEvent, SessionEventsOptions, ObserveTurnOptions, TurnObservation, } from "./progress.js";
|
|
20
|
+
export type { BillingUsageFactKind, BillingCostBearer, BillingPrincipalBucket, BillingAttributionKind, BillingAuthKind, BillingLlmRequestPurpose, LlmPricingStatus, LlmPricingContextTier, SandboxUsageStatus, BillingUsageEvidenceStatus, BillingValuationStatus, BillingValuationSummary, BillingValuationBreakdown, BillingFactCompletenessCounters, BillingFactCompleteness, UserUsageScopeLevel, UserUsagePeriod, UserUsageScope, UserUsageRange, UsageTotals, BillingBearerCostTotals, BillingAttributionCounters, BillingAttributionBreakdown, LlmUsageAggregate, UserUsageAggregate, SandboxUsageAggregate, WebSearchUsageAggregate, UsageDayPoint, BillingUsageSeriesInterval, BillingUsageSeriesRange, BillingUsageSeriesLlmBreakdown, BillingUsageSeriesSandboxBreakdown, BillingUsageSeriesWebSearchBreakdown, BillingUsageSeriesBreakdown, BillingUsageSeriesBreakdownGroups, BillingUsageSeriesPoint, UserUsageSummary, UserLlmUsage, UserSandboxUsage, UserWebSearchUsage, UserUsageDetails, OrganizationUserUsageSummary, OrganizationLlmUsage, OrganizationSandboxUsage, OrganizationWebSearchUsage, OrganizationUsageItem, OrganizationUserUsageDetails, UserUsageOptions, UserUsageDetailsOptions, OrganizationUserUsageOptions, OrganizationUserUsageDetailsOptions, } from "./usage.js";
|
|
21
|
+
export type { ClientToolDeclaration, ClientToolSet, ReplaceClientToolsOptions, PendingClientToolCall, ClientToolOutputInput, } from "./client-tools.js";
|
|
22
|
+
export { UserSchedulers } from "./schedulers.js";
|
|
23
|
+
export type { SchedulerSchedule, SchedulerDelivery, CreateSchedulerInput, UpdateSchedulerInput, Scheduler, SchedulerResponse, SchedulerPage, SchedulerListOptions, OrganizationSchedulerListOptions, SchedulerMutationOptions, SchedulerFire, SchedulerFirePage, } from "./schedulers.js";
|
|
24
|
+
export { AudioTurnStoppedError } from "./audio.js";
|
|
25
|
+
export type { AudioTurnInput, AudioTurnEvent, AudioTurnResult, } from "./audio.js";
|
|
26
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** TiDB Link OpenAPI version supported by this SDK release. */
|
|
2
|
+
export const TIDB_LINK_API_VERSION = "0.0.1";
|
|
3
|
+
/** Exact service baseline for the supported refreshed SDK surface. */
|
|
4
|
+
export const TIDB_LINK_REVISION = "882287809f91d9a3fdf60537460431d9f0fc23e7";
|
|
5
|
+
export { TiDBLinkApiError, TiDBLinkError, ConflictError, ConnectionError, TurnWaitTimeoutError, InputNotAppliedError, OutcomeUnknownError, ObservationStoppedError, TurnFailedError, TurnInterruptedError, } from "./errors.js";
|
|
6
|
+
export { OrganizationClient } from "./organization.js";
|
|
7
|
+
export { Agent, EndUserClient, UserClient } from "./user.js";
|
|
8
|
+
export { Session } from "./session.js";
|
|
9
|
+
export { UserFiles, FileUploadOutcomeUnknownError } from "./files.js";
|
|
10
|
+
export { UserSchedulers } from "./schedulers.js";
|
|
11
|
+
export { AudioTurnStoppedError } from "./audio.js";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAgB,CAAC;AACtD,sEAAsE;AACtE,MAAM,CAAC,MAAM,kBAAkB,GAC7B,0CAAmD,CAAC;AAEtD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAUvD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAY7D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAsDvC,OAAO,EAAE,SAAS,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAkFtE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAgBjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { type OrganizationUserUsageOptions, type OrganizationUserUsageDetailsOptions, type OrganizationUserUsageSummary, type OrganizationUserUsageDetails } from "./usage.js";
|
|
2
|
+
import { EndUserClient, type AgentRecord } from "./user.js";
|
|
3
|
+
export interface OrganizationClientOptions {
|
|
4
|
+
baseUrl: string;
|
|
5
|
+
apiKey: string;
|
|
6
|
+
}
|
|
7
|
+
export interface Organization {
|
|
8
|
+
organizationId: string;
|
|
9
|
+
slug: string;
|
|
10
|
+
name: string | null;
|
|
11
|
+
createdAt: string;
|
|
12
|
+
updatedAt: string;
|
|
13
|
+
}
|
|
14
|
+
export interface EndUser {
|
|
15
|
+
userId: string;
|
|
16
|
+
organizationId: string;
|
|
17
|
+
displayName: string | null;
|
|
18
|
+
externalId: string | null;
|
|
19
|
+
status: "active" | "disabled";
|
|
20
|
+
createdAt: string;
|
|
21
|
+
updatedAt: string;
|
|
22
|
+
}
|
|
23
|
+
export interface CreateEndUserInput {
|
|
24
|
+
displayName?: string;
|
|
25
|
+
externalId?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface RequestOptions {
|
|
28
|
+
requestId?: string;
|
|
29
|
+
signal?: AbortSignal;
|
|
30
|
+
}
|
|
31
|
+
export interface UserApiKey {
|
|
32
|
+
apiKeyId: string;
|
|
33
|
+
organizationId: string;
|
|
34
|
+
userId: string;
|
|
35
|
+
name: string;
|
|
36
|
+
tokenPrefix: string;
|
|
37
|
+
status: "active" | "revoked";
|
|
38
|
+
createdByUserId: string | null;
|
|
39
|
+
createdByOrganizationApiKeyId: string | null;
|
|
40
|
+
createdAt: string;
|
|
41
|
+
updatedAt: string;
|
|
42
|
+
lastUsedAt: string | null;
|
|
43
|
+
revokedAt: string | null;
|
|
44
|
+
}
|
|
45
|
+
export interface IssuedUserApiKey {
|
|
46
|
+
apiKey: UserApiKey;
|
|
47
|
+
/** Available only in the successful create or rotate response. */
|
|
48
|
+
token: string;
|
|
49
|
+
}
|
|
50
|
+
/** Customer operations authorized by an Organization API Key. */
|
|
51
|
+
export declare class OrganizationClient {
|
|
52
|
+
#private;
|
|
53
|
+
constructor(options: OrganizationClientOptions);
|
|
54
|
+
/** Select the ordinary resource owner without issuing or impersonating a User API Key. */
|
|
55
|
+
user(userId: string): EndUserClient;
|
|
56
|
+
unlinkAgent(userId: string, agentId: string, options?: RequestOptions): Promise<AgentRecord>;
|
|
57
|
+
getUserUsage(userId: string, options: OrganizationUserUsageOptions): Promise<OrganizationUserUsageSummary>;
|
|
58
|
+
getUserUsageDetails(userId: string, options: OrganizationUserUsageDetailsOptions): Promise<OrganizationUserUsageDetails>;
|
|
59
|
+
getOrganization(options?: RequestOptions): Promise<Organization>;
|
|
60
|
+
createEndUser(input?: CreateEndUserInput, options?: RequestOptions): Promise<EndUser>;
|
|
61
|
+
listEndUsers(options?: RequestOptions): Promise<EndUser[]>;
|
|
62
|
+
getEndUser(userId: string, options?: RequestOptions): Promise<EndUser>;
|
|
63
|
+
createUserApiKey(userId: string, input: {
|
|
64
|
+
name: string;
|
|
65
|
+
}, options?: RequestOptions): Promise<IssuedUserApiKey>;
|
|
66
|
+
listUserApiKeys(userId: string, options?: RequestOptions): Promise<UserApiKey[]>;
|
|
67
|
+
rotateUserApiKey(apiKeyId: string, options?: RequestOptions): Promise<IssuedUserApiKey>;
|
|
68
|
+
revokeUserApiKey(apiKeyId: string, options?: RequestOptions): Promise<UserApiKey>;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=organization.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../src/organization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { usageQuery, userUsagePath, } from "./usage.js";
|
|
2
|
+
import { EndUserClient } from "./user.js";
|
|
3
|
+
import { OutcomeUnknownError } from "./errors.js";
|
|
4
|
+
import { HttpClient, isApiKey, requireKnownKeys, requestOptions, } from "./http.js";
|
|
5
|
+
const unusableCredentialReceipt = (requestId) => {
|
|
6
|
+
throw new OutcomeUnknownError("TiDB Link accepted the credential request but returned an unusable receipt", { requestId });
|
|
7
|
+
};
|
|
8
|
+
const userApiKeyReceipt = (value, requestId, expected) => {
|
|
9
|
+
const apiKey = value;
|
|
10
|
+
if (typeof apiKey !== "object" ||
|
|
11
|
+
apiKey === null ||
|
|
12
|
+
Array.isArray(apiKey) ||
|
|
13
|
+
![apiKey.apiKeyId, apiKey.userId, apiKey.organizationId].every((id) => typeof id === "string" && id.length > 0) ||
|
|
14
|
+
(expected.userId !== undefined && apiKey.userId !== expected.userId) ||
|
|
15
|
+
(expected.apiKeyId !== undefined && apiKey.apiKeyId !== expected.apiKeyId) ||
|
|
16
|
+
apiKey.status !== expected.status ||
|
|
17
|
+
(expected.status === "active"
|
|
18
|
+
? apiKey.revokedAt !== null
|
|
19
|
+
: typeof apiKey.revokedAt !== "string" ||
|
|
20
|
+
!Number.isFinite(Date.parse(apiKey.revokedAt))))
|
|
21
|
+
return unusableCredentialReceipt(requestId);
|
|
22
|
+
return apiKey;
|
|
23
|
+
};
|
|
24
|
+
const issuedUserApiKey = (value, requestId, expected) => {
|
|
25
|
+
const result = value;
|
|
26
|
+
const apiKey = userApiKeyReceipt(result?.apiKey, requestId, {
|
|
27
|
+
...expected,
|
|
28
|
+
status: "active",
|
|
29
|
+
});
|
|
30
|
+
if (!isApiKey(result?.token, "user"))
|
|
31
|
+
return unusableCredentialReceipt(requestId);
|
|
32
|
+
// Token bodies omit the persistent row's uak_ marker.
|
|
33
|
+
const tokenId = result.token.split("_")[2];
|
|
34
|
+
if (apiKey.apiKeyId !== `uak_${tokenId}` ||
|
|
35
|
+
apiKey.tokenPrefix !== `ti_user_${tokenId}_`)
|
|
36
|
+
return unusableCredentialReceipt(requestId);
|
|
37
|
+
return { apiKey, token: result.token };
|
|
38
|
+
};
|
|
39
|
+
/** Customer operations authorized by an Organization API Key. */
|
|
40
|
+
export class OrganizationClient {
|
|
41
|
+
#http;
|
|
42
|
+
constructor(options) {
|
|
43
|
+
requireKnownKeys(options, ["baseUrl", "apiKey"], "OrganizationClient options");
|
|
44
|
+
if (!isApiKey(options.apiKey, "org")) {
|
|
45
|
+
throw new TypeError("OrganizationClient requires an Organization API Key");
|
|
46
|
+
}
|
|
47
|
+
this.#http = new HttpClient(options);
|
|
48
|
+
}
|
|
49
|
+
/** Select the ordinary resource owner without issuing or impersonating a User API Key. */
|
|
50
|
+
user(userId) {
|
|
51
|
+
return new EndUserClient(this.#http.forUser(userId));
|
|
52
|
+
}
|
|
53
|
+
async unlinkAgent(userId, agentId, options) {
|
|
54
|
+
const result = await this.#http.deleteResponse(`/api/v1/org/users/${encodeURIComponent(userId)}/agents/${encodeURIComponent(agentId)}`, { ...requestOptions(options), outcomeUnknown: true });
|
|
55
|
+
if (typeof result.data?.agent?.agentId !== "string" ||
|
|
56
|
+
!result.data.agent.agentId)
|
|
57
|
+
throw new OutcomeUnknownError("Agent unlink returned no usable receipt; reconcile the association", { requestId: result.requestId });
|
|
58
|
+
return result.data.agent;
|
|
59
|
+
}
|
|
60
|
+
getUserUsage(userId, options) {
|
|
61
|
+
const path = userUsagePath(userId, options);
|
|
62
|
+
return this.#http.get(`${path}${usageQuery(options, ["from", "to", "interval", "tagKey", "tagValue"])}`, options);
|
|
63
|
+
}
|
|
64
|
+
getUserUsageDetails(userId, options) {
|
|
65
|
+
const path = userUsagePath(userId, options);
|
|
66
|
+
return this.#http.get(`${path}/details${usageQuery(options, ["from", "to", "kind", "limit", "cursor", "tagKey", "tagValue"])}`, options);
|
|
67
|
+
}
|
|
68
|
+
async getOrganization(options) {
|
|
69
|
+
const response = await this.#http.get("/api/v1/org", requestOptions(options));
|
|
70
|
+
return response.organization;
|
|
71
|
+
}
|
|
72
|
+
async createEndUser(input = {}, options) {
|
|
73
|
+
const result = await this.#http.postResponse("/api/v1/org/users", {
|
|
74
|
+
...(input.displayName === undefined
|
|
75
|
+
? {}
|
|
76
|
+
: { displayName: input.displayName }),
|
|
77
|
+
...(input.externalId === undefined
|
|
78
|
+
? {}
|
|
79
|
+
: { externalId: input.externalId }),
|
|
80
|
+
}, { ...requestOptions(options), outcomeUnknown: true });
|
|
81
|
+
if (!result.data?.user ||
|
|
82
|
+
typeof result.data.user.userId !== "string" ||
|
|
83
|
+
!result.data.user.userId) {
|
|
84
|
+
throw new OutcomeUnknownError("End User creation returned no usable User; reconcile by externalId", {
|
|
85
|
+
requestId: result.requestId,
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
return result.data.user;
|
|
89
|
+
}
|
|
90
|
+
async listEndUsers(options) {
|
|
91
|
+
const response = await this.#http.get("/api/v1/org/users", requestOptions(options));
|
|
92
|
+
return response.users;
|
|
93
|
+
}
|
|
94
|
+
async getEndUser(userId, options) {
|
|
95
|
+
const response = await this.#http.get(`/api/v1/org/users/${encodeURIComponent(userId)}`, requestOptions(options));
|
|
96
|
+
return response.user;
|
|
97
|
+
}
|
|
98
|
+
async createUserApiKey(userId, input, options) {
|
|
99
|
+
const result = await this.#http.postResponse(`/api/v1/org/users/${encodeURIComponent(userId)}/api-keys`, { name: input.name }, { ...requestOptions(options), outcomeUnknown: true });
|
|
100
|
+
return issuedUserApiKey(result.data, result.requestId, { userId });
|
|
101
|
+
}
|
|
102
|
+
async listUserApiKeys(userId, options) {
|
|
103
|
+
const response = await this.#http.get(`/api/v1/org/users/${encodeURIComponent(userId)}/api-keys`, requestOptions(options));
|
|
104
|
+
return response.apiKeys;
|
|
105
|
+
}
|
|
106
|
+
async rotateUserApiKey(apiKeyId, options) {
|
|
107
|
+
const result = await this.#http.postResponse(`/api/v1/org/user-api-keys/${encodeURIComponent(apiKeyId)}/rotate`, undefined, { ...requestOptions(options), outcomeUnknown: true });
|
|
108
|
+
return issuedUserApiKey(result.data, result.requestId, { apiKeyId });
|
|
109
|
+
}
|
|
110
|
+
async revokeUserApiKey(apiKeyId, options) {
|
|
111
|
+
const result = await this.#http.postResponse(`/api/v1/org/user-api-keys/${encodeURIComponent(apiKeyId)}/revoke`, undefined, { ...requestOptions(options), outcomeUnknown: true });
|
|
112
|
+
return userApiKeyReceipt(result.data?.apiKey, result.requestId, {
|
|
113
|
+
apiKeyId,
|
|
114
|
+
status: "revoked",
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=organization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../src/organization.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type TurnResult } from "./turn.js";
|
|
2
|
+
import { HttpClient } from "./http.js";
|
|
3
|
+
import type { RequestOptions } from "./organization.js";
|
|
4
|
+
export interface SessionEventsOptions extends RequestOptions {
|
|
5
|
+
/** Opaque position from a previously received event. No automatic replay on refusal. */
|
|
6
|
+
cursor?: string;
|
|
7
|
+
}
|
|
8
|
+
/** Display events remain provisional; use the original interaction to establish its result. */
|
|
9
|
+
export interface SessionEvent {
|
|
10
|
+
cursor: string;
|
|
11
|
+
type: string;
|
|
12
|
+
sessionId: string;
|
|
13
|
+
turnId: string | null;
|
|
14
|
+
createdAt: string;
|
|
15
|
+
data: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
export declare function sessionEvents(http: HttpClient, sessionId: string, options?: SessionEventsOptions): AsyncGenerator<SessionEvent>;
|
|
18
|
+
export interface ObserveTurnOptions extends SessionEventsOptions {
|
|
19
|
+
/** Local observation deadline only; default 60 seconds. */
|
|
20
|
+
timeoutMs?: number;
|
|
21
|
+
}
|
|
22
|
+
export type TurnObservation = {
|
|
23
|
+
type: "draft" | "progress";
|
|
24
|
+
text: string;
|
|
25
|
+
event: SessionEvent;
|
|
26
|
+
} | {
|
|
27
|
+
type: "event";
|
|
28
|
+
event: SessionEvent;
|
|
29
|
+
} | {
|
|
30
|
+
type: "result";
|
|
31
|
+
result: TurnResult;
|
|
32
|
+
};
|
|
33
|
+
export declare function observeTurn(http: HttpClient, sessionId: string, inputId: string, options?: ObserveTurnOptions): AsyncGenerator<TurnObservation>;
|
|
34
|
+
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAShF,OAAO,EAAE,UAAU,EAAwC,MAAM,WAAW,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,+FAA+F;AAC/F,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,wBAAuB,aAAa,CAClC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,oBAAyB,GACjC,cAAc,CAAC,YAAY,CAAC,CA+D9B;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,wBAAuB,WAAW,CAChC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,cAAc,CAAC,eAAe,CAAC,CAwHjC"}
|