@tidblink/server 0.0.0-stage → 0.4.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.
Files changed (116) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1182 -2
  3. package/dist/audio.d.ts +72 -0
  4. package/dist/audio.d.ts.map +1 -0
  5. package/dist/audio.js +168 -0
  6. package/dist/audio.js.map +1 -0
  7. package/dist/backend-connection.d.ts +89 -0
  8. package/dist/backend-connection.d.ts.map +1 -0
  9. package/dist/backend-connection.js +300 -0
  10. package/dist/backend-connection.js.map +1 -0
  11. package/dist/backend-pool.d.ts +93 -0
  12. package/dist/backend-pool.d.ts.map +1 -0
  13. package/dist/backend-pool.js +419 -0
  14. package/dist/backend-pool.js.map +1 -0
  15. package/dist/client-tool-executor.d.ts +31 -0
  16. package/dist/client-tool-executor.d.ts.map +1 -0
  17. package/dist/client-tool-executor.js +190 -0
  18. package/dist/client-tool-executor.js.map +1 -0
  19. package/dist/client-tools.d.ts +21 -0
  20. package/dist/client-tools.d.ts.map +1 -0
  21. package/dist/client-tools.js +48 -0
  22. package/dist/client-tools.js.map +1 -0
  23. package/dist/connector-callback.d.ts +92 -0
  24. package/dist/connector-callback.d.ts.map +1 -0
  25. package/dist/connector-callback.js +155 -0
  26. package/dist/connector-callback.js.map +1 -0
  27. package/dist/connectors.d.ts +66 -0
  28. package/dist/connectors.d.ts.map +1 -0
  29. package/dist/connectors.js +71 -0
  30. package/dist/connectors.js.map +1 -0
  31. package/dist/control.d.ts +17 -0
  32. package/dist/control.d.ts.map +1 -0
  33. package/dist/control.js +52 -0
  34. package/dist/control.js.map +1 -0
  35. package/dist/errors.d.ts +103 -0
  36. package/dist/errors.d.ts.map +1 -0
  37. package/dist/errors.js +115 -0
  38. package/dist/errors.js.map +1 -0
  39. package/dist/events.d.ts +158 -0
  40. package/dist/events.d.ts.map +1 -0
  41. package/dist/events.js +110 -0
  42. package/dist/events.js.map +1 -0
  43. package/dist/files.d.ts +129 -0
  44. package/dist/files.d.ts.map +1 -0
  45. package/dist/files.js +388 -0
  46. package/dist/files.js.map +1 -0
  47. package/dist/history.d.ts +279 -0
  48. package/dist/history.d.ts.map +1 -0
  49. package/dist/history.js +91 -0
  50. package/dist/history.js.map +1 -0
  51. package/dist/http.d.ts +88 -0
  52. package/dist/http.d.ts.map +1 -0
  53. package/dist/http.js +302 -0
  54. package/dist/http.js.map +1 -0
  55. package/dist/index.d.ts +39 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +18 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/organization.d.ts +87 -0
  60. package/dist/organization.d.ts.map +1 -0
  61. package/dist/organization.js +112 -0
  62. package/dist/organization.js.map +1 -0
  63. package/dist/realtime.d.ts +90 -0
  64. package/dist/realtime.d.ts.map +1 -0
  65. package/dist/realtime.js +111 -0
  66. package/dist/realtime.js.map +1 -0
  67. package/dist/session-connection.d.ts +144 -0
  68. package/dist/session-connection.d.ts.map +1 -0
  69. package/dist/session-connection.js +334 -0
  70. package/dist/session-connection.js.map +1 -0
  71. package/dist/session-send.d.ts +49 -0
  72. package/dist/session-send.d.ts.map +1 -0
  73. package/dist/session-send.js +179 -0
  74. package/dist/session-send.js.map +1 -0
  75. package/dist/session.d.ts +165 -0
  76. package/dist/session.d.ts.map +1 -0
  77. package/dist/session.js +253 -0
  78. package/dist/session.js.map +1 -0
  79. package/dist/skills.d.ts +103 -0
  80. package/dist/skills.d.ts.map +1 -0
  81. package/dist/skills.js +98 -0
  82. package/dist/skills.js.map +1 -0
  83. package/dist/sse.d.ts +10 -0
  84. package/dist/sse.d.ts.map +1 -0
  85. package/dist/sse.js +50 -0
  86. package/dist/sse.js.map +1 -0
  87. package/dist/template-switch.d.ts +51 -0
  88. package/dist/template-switch.d.ts.map +1 -0
  89. package/dist/template-switch.js +81 -0
  90. package/dist/template-switch.js.map +1 -0
  91. package/dist/templates.d.ts +129 -0
  92. package/dist/templates.d.ts.map +1 -0
  93. package/dist/templates.js +92 -0
  94. package/dist/templates.js.map +1 -0
  95. package/dist/turn.d.ts +47 -0
  96. package/dist/turn.d.ts.map +1 -0
  97. package/dist/turn.js +210 -0
  98. package/dist/turn.js.map +1 -0
  99. package/dist/usage.d.ts +278 -0
  100. package/dist/usage.d.ts.map +1 -0
  101. package/dist/usage.js +22 -0
  102. package/dist/usage.js.map +1 -0
  103. package/dist/user.d.ts +55 -0
  104. package/dist/user.d.ts.map +1 -0
  105. package/dist/user.js +52 -0
  106. package/dist/user.js.map +1 -0
  107. package/examples/control-turn.mjs +53 -0
  108. package/examples/create-session.mjs +82 -0
  109. package/examples/http-connector.mjs +127 -0
  110. package/examples/lamp-backend.mjs +175 -0
  111. package/examples/prepare-realtime-connection.mjs +72 -0
  112. package/examples/read-usage.mjs +44 -0
  113. package/examples/send-message.mjs +48 -0
  114. package/examples/submit-audio.mjs +57 -0
  115. package/examples/upload-file.mjs +58 -0
  116. package/package.json +59 -4
package/dist/http.js ADDED
@@ -0,0 +1,302 @@
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
+ /** Check a stable command key; `label` names the operation in the error. */
15
+ export function requireCreationKey(value, label = "Creation") {
16
+ if (typeof value !== "string" ||
17
+ !/^[A-Za-z0-9][A-Za-z0-9_.:-]{0,127}$/.test(value))
18
+ throw new TypeError(`${label} requires a stable idempotencyKey (1-128 safe characters)`);
19
+ }
20
+ /** Check a Template ID the SDK sends: 1-64 characters without surrounding whitespace. */
21
+ export function requireTemplateId(value, label) {
22
+ if (typeof value !== "string" ||
23
+ !value ||
24
+ value.length > 64 ||
25
+ value.trim() !== value)
26
+ throw new TypeError(`${label} requires a Template ID of 1-64 characters without surrounding whitespace`);
27
+ }
28
+ /** Add an optional `templateId` filter under its wire name, `agentTemplateId`. */
29
+ export const setTemplateFilter = (query, templateId) => {
30
+ if (templateId === undefined)
31
+ return;
32
+ requireTemplateId(templateId, "The templateId filter");
33
+ query.set("agentTemplateId", templateId);
34
+ };
35
+ export const requireEtag = (result) => {
36
+ if (!result.etag) {
37
+ throw new TiDBLinkError("TiDB Link response omitted a required ETag", {
38
+ requestId: result.requestId,
39
+ });
40
+ }
41
+ return result.etag;
42
+ };
43
+ const requestId = () => crypto.randomUUID();
44
+ const REQUEST_ID = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$/;
45
+ export const sleep = (milliseconds, signal) => {
46
+ if (signal?.aborted)
47
+ return Promise.reject(signal.reason);
48
+ return new Promise((resolve, reject) => {
49
+ const onAbort = () => {
50
+ clearTimeout(timer);
51
+ reject(signal?.reason);
52
+ };
53
+ const timer = setTimeout(() => {
54
+ signal?.removeEventListener("abort", onAbort);
55
+ resolve();
56
+ }, milliseconds);
57
+ signal?.addEventListener("abort", onAbort, { once: true });
58
+ });
59
+ };
60
+ const pauseBeforeRetry = async (milliseconds, options, requestId) => {
61
+ try {
62
+ await sleep(milliseconds, options.signal);
63
+ }
64
+ catch (cause) {
65
+ if (!options.outcomeUnknown)
66
+ throw cause;
67
+ throw new OutcomeUnknownError("TiDB Link request outcome is unknown after local waiting stopped; recover with the same creation key", { requestId, cause });
68
+ }
69
+ };
70
+ const errorInput = async (response, fallbackRequestId) => {
71
+ let value;
72
+ try {
73
+ value = await response.json();
74
+ }
75
+ catch {
76
+ value = undefined;
77
+ }
78
+ const envelope = value;
79
+ const error = typeof envelope?.error === "object" && envelope.error !== null
80
+ ? envelope.error
81
+ : undefined;
82
+ return {
83
+ status: response.status,
84
+ code: typeof error?.code === "string" ? error.code : "http_error",
85
+ message: typeof error?.message === "string"
86
+ ? error.message
87
+ : `TiDB Link request failed with status ${response.status}`,
88
+ requestId: response.headers.get("x-request-id") ??
89
+ (typeof error?.requestId === "string"
90
+ ? error.requestId
91
+ : fallbackRequestId),
92
+ ...(error && "details" in error ? { details: error.details } : {}),
93
+ ...(response.headers.has("retry-after")
94
+ ? { retryAfter: response.headers.get("retry-after") }
95
+ : {}),
96
+ };
97
+ };
98
+ export const normalizeBaseUrl = (value) => {
99
+ const url = new URL(value);
100
+ if ((url.protocol !== "http:" && url.protocol !== "https:") ||
101
+ url.username ||
102
+ url.password ||
103
+ url.search ||
104
+ url.hash) {
105
+ throw new TypeError("baseUrl must be an HTTP(S) URL without credentials");
106
+ }
107
+ return url.toString().replace(/\/$/, "");
108
+ };
109
+ export function requireKnownKeys(value, allowed, label) {
110
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
111
+ throw new TypeError(`${label} must be an object`);
112
+ }
113
+ const unknown = Object.keys(value).find((key) => !allowed.includes(key));
114
+ if (unknown)
115
+ throw new TypeError(`${label}.${unknown} is not supported`);
116
+ }
117
+ export const requestOptions = (options = {}) => {
118
+ requireKnownKeys(options, ["requestId", "signal"], "Request options");
119
+ return { ...options };
120
+ };
121
+ /** Check the frozen wire grammar without retaining or exposing the credential. */
122
+ export const isOrganizationApiKey = (value) => typeof value === "string" &&
123
+ /^ti_org_[A-Za-z0-9]{1,64}_[A-Za-z0-9_-]{43}$/u.test(value);
124
+ export class HttpClient {
125
+ #apiKey;
126
+ #baseUrl;
127
+ #scope;
128
+ #fetch;
129
+ /** The OrganizationClient's Backend Connections, shared by every scope. */
130
+ backend;
131
+ /** The End User this scope selects, if any. */
132
+ userId;
133
+ constructor(input) {
134
+ if (input.fetch !== undefined && typeof input.fetch !== "function")
135
+ throw new TypeError("fetch must be a function");
136
+ this.#baseUrl = normalizeBaseUrl(input.baseUrl);
137
+ this.#apiKey = input.apiKey;
138
+ this.#scope = input.scope ?? "/api/v1/org";
139
+ this.#fetch = input.fetch ?? ((url, init) => fetch(url, init));
140
+ this.backend = input.backend;
141
+ this.userId = input.userId;
142
+ }
143
+ /**
144
+ * The transport every request uses, including event streams and file
145
+ * transfers to presigned URLs. Those transfers carry no API Key.
146
+ */
147
+ get fetch() {
148
+ return this.#fetch;
149
+ }
150
+ forUser(userId) {
151
+ if (typeof userId !== "string" || !/^[a-z0-9_-]{1,64}$/.test(userId))
152
+ throw new TypeError("Organization resources require an explicit User ID");
153
+ return new HttpClient({
154
+ baseUrl: this.#baseUrl,
155
+ apiKey: this.#apiKey,
156
+ scope: `${this.#scope}/users/${encodeURIComponent(userId)}`,
157
+ fetch: this.#fetch,
158
+ backend: this.backend,
159
+ userId,
160
+ });
161
+ }
162
+ resolveUrl(value) {
163
+ return new URL(value, `${this.#baseUrl}/`);
164
+ }
165
+ get(path, options) {
166
+ return this.request(path, { ...options, retry: "safe" });
167
+ }
168
+ getResponse(path, options) {
169
+ return this.response(path, { ...options, retry: "safe" });
170
+ }
171
+ post(path, body, options) {
172
+ return this.request(path, {
173
+ ...options,
174
+ method: "POST",
175
+ body,
176
+ retry: options?.idempotent ? "safe" : "never",
177
+ });
178
+ }
179
+ postResponse(path, body, options) {
180
+ return this.response(path, {
181
+ ...options,
182
+ method: "POST",
183
+ body,
184
+ retry: options?.idempotent ? "safe" : "never",
185
+ });
186
+ }
187
+ patchResponse(path, body, options) {
188
+ return this.response(path, { ...options, method: "PATCH", body });
189
+ }
190
+ deleteResponse(path, options) {
191
+ return this.response(path, { ...options, method: "DELETE" });
192
+ }
193
+ async request(path, options = {}) {
194
+ return (await this.response(path, options)).data;
195
+ }
196
+ async response(path, options = {}) {
197
+ const { body, ...requestOptions } = options;
198
+ const { response, requestId } = await this.rawResponse(path, {
199
+ ...requestOptions,
200
+ ...(body === undefined
201
+ ? {}
202
+ : {
203
+ body: JSON.stringify(body),
204
+ headers: { "content-type": "application/json" },
205
+ }),
206
+ });
207
+ let data;
208
+ try {
209
+ data =
210
+ response.status === 204
211
+ ? undefined
212
+ : (await response.json());
213
+ }
214
+ catch (cause) {
215
+ const ErrorClass = options.outcomeUnknown
216
+ ? OutcomeUnknownError
217
+ : TiDBLinkError;
218
+ throw new ErrorClass(options.outcomeUnknown
219
+ ? "TiDB Link accepted the request but returned an unusable response"
220
+ : "TiDB Link returned invalid JSON", { requestId, cause });
221
+ }
222
+ return { data, etag: response.headers.get("etag") ?? undefined, requestId };
223
+ }
224
+ /** Raw bytes and event streams retain the same credential, redirect and error boundary. */
225
+ async rawResponse(path, options = {}) {
226
+ const stableRequestId = options.requestId ?? requestId();
227
+ if (!REQUEST_ID.test(stableRequestId)) {
228
+ throw new TypeError("requestId must be 1-64 safe characters");
229
+ }
230
+ if (options.idempotencyKey !== undefined &&
231
+ (options.idempotencyKey.length > 255 ||
232
+ !/^[\x20-\x7e]+$/.test(options.idempotencyKey))) {
233
+ throw new TypeError("idempotencyKey must be 1-255 visible ASCII characters");
234
+ }
235
+ options.signal?.throwIfAborted();
236
+ const attempts = options.retry === "safe" ? MAX_ATTEMPTS : 1;
237
+ for (let attempt = 1; attempt <= attempts; attempt += 1) {
238
+ let response;
239
+ try {
240
+ response = await this.#fetch(`${this.#baseUrl}${this.#scope}${path}`, {
241
+ method: options.method ?? "GET",
242
+ redirect: "error",
243
+ headers: {
244
+ accept: "application/json",
245
+ ...options.headers,
246
+ authorization: `Bearer ${this.#apiKey}`,
247
+ "x-request-id": stableRequestId,
248
+ ...(options.idempotencyKey
249
+ ? { "idempotency-key": options.idempotencyKey }
250
+ : {}),
251
+ ...(options.ifMatch ? { "if-match": options.ifMatch } : {}),
252
+ },
253
+ ...(options.body === undefined ? {} : { body: options.body }),
254
+ ...(options.signal ? { signal: options.signal } : {}),
255
+ });
256
+ }
257
+ catch (cause) {
258
+ if (options.signal?.aborted && !options.outcomeUnknown)
259
+ throw cause;
260
+ if (attempt < attempts && !options.signal?.aborted) {
261
+ await pauseBeforeRetry(100 * 2 ** (attempt - 1), options, stableRequestId);
262
+ continue;
263
+ }
264
+ const ErrorClass = options.outcomeUnknown
265
+ ? OutcomeUnknownError
266
+ : ConnectionError;
267
+ throw new ErrorClass(options.outcomeUnknown
268
+ ? "TiDB Link request outcome is unknown; do not repeat it automatically"
269
+ : "Could not reach TiDB Link", {
270
+ requestId: stableRequestId,
271
+ cause,
272
+ });
273
+ }
274
+ if (response.ok)
275
+ return {
276
+ response,
277
+ requestId: response.headers.get("x-request-id") ?? stableRequestId,
278
+ };
279
+ if (attempt < attempts && RETRYABLE_STATUS.has(response.status)) {
280
+ await response.arrayBuffer().catch(() => undefined);
281
+ await pauseBeforeRetry(100 * 2 ** (attempt - 1), options, stableRequestId);
282
+ continue;
283
+ }
284
+ const input = await errorInput(response, stableRequestId);
285
+ const error = input.status === 409 || input.status === 412
286
+ ? new ConflictError(input)
287
+ : new TiDBLinkApiError(input);
288
+ if (options.outcomeUnknown &&
289
+ (input.status >= 500 || input.status === 408)) {
290
+ throw new OutcomeUnknownError("TiDB Link could not confirm the mutation outcome", {
291
+ ...(input.requestId === undefined
292
+ ? {}
293
+ : { requestId: input.requestId }),
294
+ cause: error,
295
+ });
296
+ }
297
+ throw error;
298
+ }
299
+ throw new Error("unreachable");
300
+ }
301
+ }
302
+ //# sourceMappingURL=http.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
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: "4305ef67daebf23c416badf806217a7c11dcef37";
5
+ export { TiDBLinkApiError, TiDBLinkError, ConflictError, ConnectionError, TurnWaitTimeoutError, InputNotAppliedError, OutcomeUnknownError, TurnFailedError, TurnInterruptedError, BackendConnectionClosedError, BackendRequestError, } from "./errors.js";
6
+ export { OrganizationClient } from "./organization.js";
7
+ export { SessionConnection } from "./session-connection.js";
8
+ export { ClientToolResultRefusedError } from "./client-tool-executor.js";
9
+ export type { ConnectOptions, ClientToolHandler, ClientToolHandlers, ClientToolCallContext, RealtimeTranscript, RealtimeResponse, SessionConnectionEnd, } from "./session-connection.js";
10
+ export type { SendOptions } from "./session-send.js";
11
+ export type { BackendWebSocket, WebSocketConstructor, } from "./backend-connection.js";
12
+ export type { Organization, EndUser, CreateEndUserInput, RequestOptions, OrganizationClientOptions, } from "./organization.js";
13
+ export { Templates } from "./templates.js";
14
+ export type { Template, TemplateSummary, TemplateContent, TemplateRealtimeLanguage, TemplatePage, TemplateListOptions, TemplateCatalog, TemplateInput, CreateTemplateInput, TemplateMutationOptions, } from "./templates.js";
15
+ export { Skills } from "./skills.js";
16
+ export type { SkillSummary, SkillVersion, SkillPage, SkillDetail, SkillUpload, SkillUploadState, UploadSkillInput, PublishSkillOptions, WaitForSkillUploadOptions, } from "./skills.js";
17
+ export { Connectors } from "./connectors.js";
18
+ export type { Connector, ConnectorTransport, RegisterConnectorInput, UpdateConnectorInput, ConnectorVersionOptions, } from "./connectors.js";
19
+ export { ConnectorKeySet, ConnectorAuthError, verifyConnectorCallback, readConnectorCallContext, CONNECTOR_CALLBACK_ISSUER, CONNECTOR_CALLBACK_AUDIENCE, CONNECTOR_CALL_CONTEXT_KEY, } from "./connector-callback.js";
20
+ export type { ConnectorVerificationKey, ConnectorCallbackClaims, ConnectorCallContext, ConnectorKeySetOptions, VerifyConnectorCallbackOptions, } from "./connector-callback.js";
21
+ export { EndUserClient } from "./user.js";
22
+ export type { AgentTemplate, AgentTemplatePage, AgentModelCatalog, SessionListOptions, SessionPage, } from "./user.js";
23
+ export type { ListOptions, FetchFunction } from "./http.js";
24
+ export { Session } from "./session.js";
25
+ export type { BillingTag, CreateSessionOptions, SessionSandboxSelection, SuggestSessionNameInput, ClarificationItem, SelectableSessionModel, SessionModel, SessionRecord, } from "./session.js";
26
+ export type { SwitchTemplateInput, TemplateSwitchReceipt, TemplateSwitchStatus, } from "./template-switch.js";
27
+ export type { OpenRealtimeConnectionInput, OpenRealtimeConnectionResult, RealtimeAudioFormat, RealtimeAudioFormats, RealtimeConnectGrant, RealtimeConnection, RealtimeEndpointingMode, RealtimeLanguage, RealtimeModel, RealtimeModelCatalog, RealtimeModelSelection, RealtimeOpusAudioFormat, RealtimePcm16AudioFormat, RealtimeVoiceSetting, } from "./realtime.js";
28
+ export type { CreateTurnInput, TurnResult, WaitForResultOptions, } from "./turn.js";
29
+ export type { MessageRecord, MessageInputContext, RealtimeMessageMetadata, TurnRecord, FullAgentTurnRecord, RealtimeTurnRecord, TemplateHandoffTurnRecord, TurnPage, TurnStatus, TurnUserFile, TurnFailure, OperationRecord, OperationStatus, OperationResultPointer, SessionInteraction, SessionInteractionPage, SessionRealtimeEvent, RealtimeResponseKind, SessionTimelineEntry, SessionTemplateSwitch, SessionTimelinePage, } from "./history.js";
30
+ export type { TurnCommandInput, RetryReceipt } from "./control.js";
31
+ export { UserFiles, FileUploadOutcomeUnknownError } from "./files.js";
32
+ export type { UserFile, FileUploadCapabilities, CreateFileUploadInput, UploadFileInput, FileUpload, FileUploadStatus, FileUploadPart, UploadedFilePart, FileListOptions, FilePage, FileDownloadGrant, FileContent, } from "./files.js";
33
+ export { asKnownSessionEvent } from "./events.js";
34
+ export type { SessionEvent, KnownSessionEvent, TurnEventData, TurnStartedEvent, TurnDraftEvent, TurnProgressEvent, TurnItemAddedEvent, OperationStepPayload, TurnRequiresActionEvent, ClientToolCallPayload, TurnCompletedEvent, TurnCancelledEvent, TurnFailedEvent, RealtimeTranscriptEvent, RealtimeResponseEvent, TemplateSwitchEvent, TemplateSwitchEventData, SessionIdleEvent, } from "./events.js";
35
+ export type { BillingUsageFactKind, BillingCostBearer, BillingPrincipalBucket, BillingAttributionKind, BillingLlmRequestPurpose, LlmPricingStatus, LlmPricingContextTier, SandboxUsageStatus, BillingUsageEvidenceStatus, BillingValuationStatus, BillingValuationSummary, BillingValuationBreakdown, BillingFactCompletenessCounters, BillingFactCompleteness, UsageTotals, BillingBearerCostTotals, BillingAttributionCounters, BillingAttributionBreakdown, LlmUsageAggregate, SandboxUsageAggregate, WebSearchUsageAggregate, BillingUsageSeriesInterval, BillingUsageSeriesRange, BillingUsageSeriesLlmBreakdown, BillingUsageSeriesSandboxBreakdown, BillingUsageSeriesWebSearchBreakdown, BillingUsageSeriesBreakdown, BillingUsageSeriesBreakdownGroups, BillingUsageSeriesPoint, OrganizationUserUsageSummary, OrganizationLlmUsage, OrganizationSandboxUsage, OrganizationWebSearchUsage, OrganizationUsageItem, OrganizationUserUsageDetails, OrganizationUserUsageOptions, OrganizationUserUsageDetailsOptions, } from "./usage.js";
36
+ export type { ClientToolDeclaration, ClientToolSet, ReplaceClientToolsOptions, } from "./client-tools.js";
37
+ export { AudioTurnStoppedError } from "./audio.js";
38
+ export type { AudioTurnInput, AudioTurnEvent, AudioTurnResult, } from "./audio.js";
39
+ //# 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,18 @@
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 = "4305ef67daebf23c416badf806217a7c11dcef37";
5
+ export { TiDBLinkApiError, TiDBLinkError, ConflictError, ConnectionError, TurnWaitTimeoutError, InputNotAppliedError, OutcomeUnknownError, TurnFailedError, TurnInterruptedError, BackendConnectionClosedError, BackendRequestError, } from "./errors.js";
6
+ export { OrganizationClient } from "./organization.js";
7
+ export { SessionConnection } from "./session-connection.js";
8
+ export { ClientToolResultRefusedError } from "./client-tool-executor.js";
9
+ export { Templates } from "./templates.js";
10
+ export { Skills } from "./skills.js";
11
+ export { Connectors } from "./connectors.js";
12
+ export { ConnectorKeySet, ConnectorAuthError, verifyConnectorCallback, readConnectorCallContext, CONNECTOR_CALLBACK_ISSUER, CONNECTOR_CALLBACK_AUDIENCE, CONNECTOR_CALL_CONTEXT_KEY, } from "./connector-callback.js";
13
+ export { EndUserClient } from "./user.js";
14
+ export { Session } from "./session.js";
15
+ export { UserFiles, FileUploadOutcomeUnknownError } from "./files.js";
16
+ export { asKnownSessionEvent } from "./events.js";
17
+ export { AudioTurnStoppedError } from "./audio.js";
18
+ //# 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,eAAe,EACf,oBAAoB,EACpB,4BAA4B,EAC5B,mBAAmB,GACpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAsBzE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAa3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAYrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAQ7C,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAQjC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAS1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA8DvC,OAAO,EAAE,SAAS,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAetE,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAkElD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,87 @@
1
+ import { type OrganizationUserUsageOptions, type OrganizationUserUsageDetailsOptions, type OrganizationUserUsageSummary, type OrganizationUserUsageDetails } from "./usage.js";
2
+ import { EndUserClient } from "./user.js";
3
+ import { Templates } from "./templates.js";
4
+ import { Skills } from "./skills.js";
5
+ import { Connectors } from "./connectors.js";
6
+ import type { WebSocketConstructor } from "./backend-connection.js";
7
+ import { type FetchFunction } from "./http.js";
8
+ export interface OrganizationClientOptions {
9
+ baseUrl: string;
10
+ apiKey: string;
11
+ /**
12
+ * Replaces the global `fetch` for every HTTP request the client makes,
13
+ * including audio Turn streams and file transfers; Backend Connections use
14
+ * `WebSocket`. Use it for proxies, custom agents,
15
+ * instrumentation or tests. Defaults to `globalThis.fetch`.
16
+ */
17
+ fetch?: FetchFunction;
18
+ /**
19
+ * WebSocket constructor for Backend Connections (`session.connect()`).
20
+ * Defaults to the global `WebSocket` of Node.js 22, which sends the
21
+ * Organization API Key in the upgrade's Authorization header. A
22
+ * replacement must accept `new WebSocket(url, { protocols, headers })`.
23
+ */
24
+ WebSocket?: WebSocketConstructor;
25
+ }
26
+ export interface Organization {
27
+ organizationId: string;
28
+ slug: string;
29
+ name: string | null;
30
+ createdAt: string;
31
+ updatedAt: string;
32
+ }
33
+ export interface EndUser {
34
+ userId: string;
35
+ organizationId: string;
36
+ displayName: string | null;
37
+ externalId: string | null;
38
+ status: "active" | "disabled";
39
+ createdAt: string;
40
+ updatedAt: string;
41
+ }
42
+ export interface CreateEndUserInput {
43
+ displayName?: string;
44
+ /**
45
+ * Your application's identity for this End User. Creation with an
46
+ * externalId is idempotent: when an End User of this Organization already
47
+ * has exactly this externalId, the service returns it unchanged and ignores
48
+ * the other fields. Without one, every call creates a new End User.
49
+ */
50
+ externalId?: string;
51
+ }
52
+ export interface RequestOptions {
53
+ requestId?: string;
54
+ signal?: AbortSignal;
55
+ }
56
+ /** Customer operations authorized by an Organization API Key. */
57
+ export declare class OrganizationClient {
58
+ #private;
59
+ /** Organization Agent Templates. */
60
+ get templates(): Templates;
61
+ /** Organization Skills that Templates reference. */
62
+ get skills(): Skills;
63
+ /** Organization Connectors: MCP tool servers that Agents call. */
64
+ get connectors(): Connectors;
65
+ constructor(options: OrganizationClientOptions);
66
+ /**
67
+ * Close every Session connection opened through this client, with reason
68
+ * `closed`, and its Backend Connections. Later `connect()` calls are
69
+ * refused; REST calls keep working.
70
+ */
71
+ close(): Promise<void>;
72
+ /** Select the End User who owns the resources; the Organization API Key remains the caller. */
73
+ user(userId: string): EndUserClient;
74
+ getUserUsage(userId: string, options: OrganizationUserUsageOptions): Promise<OrganizationUserUsageSummary>;
75
+ getUserUsageDetails(userId: string, options: OrganizationUserUsageDetailsOptions): Promise<OrganizationUserUsageDetails>;
76
+ getOrganization(options?: RequestOptions): Promise<Organization>;
77
+ /**
78
+ * Create an End User, or return the existing one with the same externalId.
79
+ * Calls with an externalId are retried automatically and are safe to repeat
80
+ * after an uncertain outcome. An externalId that only differs by case or
81
+ * accents from an existing one is refused with a ConflictError.
82
+ */
83
+ createEndUser(input?: CreateEndUserInput, options?: RequestOptions): Promise<EndUser>;
84
+ listEndUsers(options?: RequestOptions): Promise<EndUser[]>;
85
+ getEndUser(userId: string, options?: RequestOptions): Promise<EndUser>;
86
+ }
87
+ //# sourceMappingURL=organization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../src/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,4BAA4B,EACjC,KAAK,mCAAmC,EACxC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EAClC,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAGL,KAAK,aAAa,EAInB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,iEAAiE;AACjE,qBAAa,kBAAkB;;IAO7B,oCAAoC;IACpC,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,oDAAoD;IACpD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,kEAAkE;IAClE,IAAI,UAAU,IAAI,UAAU,CAE3B;gBAEW,OAAO,EAAE,yBAAyB;IA6B9C;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,+FAA+F;IAC/F,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAInC,YAAY,CACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,4BAA4B,CAAC;IAQxC,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,4BAA4B,CAAC;IAQlC,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAQtE;;;;;OAKG;IACG,aAAa,CACjB,KAAK,GAAE,kBAAuB,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;IAiCb,YAAY,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQ1D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;CAO7E"}
@@ -0,0 +1,112 @@
1
+ import { usageQuery, userUsagePath, } from "./usage.js";
2
+ import { EndUserClient } from "./user.js";
3
+ import { Templates } from "./templates.js";
4
+ import { Skills } from "./skills.js";
5
+ import { Connectors } from "./connectors.js";
6
+ import { OutcomeUnknownError } from "./errors.js";
7
+ import { BackendConnectionPool } from "./backend-pool.js";
8
+ import { HttpClient, normalizeBaseUrl, isOrganizationApiKey, requireKnownKeys, requestOptions, } from "./http.js";
9
+ /** Customer operations authorized by an Organization API Key. */
10
+ export class OrganizationClient {
11
+ #http;
12
+ #backend;
13
+ #templates;
14
+ #skills;
15
+ #connectors;
16
+ /** Organization Agent Templates. */
17
+ get templates() {
18
+ return this.#templates;
19
+ }
20
+ /** Organization Skills that Templates reference. */
21
+ get skills() {
22
+ return this.#skills;
23
+ }
24
+ /** Organization Connectors: MCP tool servers that Agents call. */
25
+ get connectors() {
26
+ return this.#connectors;
27
+ }
28
+ constructor(options) {
29
+ requireKnownKeys(options, ["baseUrl", "apiKey", "fetch", "WebSocket"], "OrganizationClient options");
30
+ if (!isOrganizationApiKey(options.apiKey)) {
31
+ throw new TypeError("OrganizationClient requires an Organization API Key");
32
+ }
33
+ if (options.WebSocket !== undefined && typeof options.WebSocket !== "function")
34
+ throw new TypeError("WebSocket must be a constructor");
35
+ this.#backend = new BackendConnectionPool({
36
+ baseUrl: normalizeBaseUrl(options.baseUrl),
37
+ apiKey: options.apiKey,
38
+ WebSocket: options.WebSocket,
39
+ });
40
+ this.#http = new HttpClient({
41
+ baseUrl: options.baseUrl,
42
+ apiKey: options.apiKey,
43
+ fetch: options.fetch,
44
+ backend: this.#backend,
45
+ });
46
+ this.#templates = new Templates(this.#http);
47
+ this.#skills = new Skills(this.#http);
48
+ this.#connectors = new Connectors(this.#http);
49
+ }
50
+ /**
51
+ * Close every Session connection opened through this client, with reason
52
+ * `closed`, and its Backend Connections. Later `connect()` calls are
53
+ * refused; REST calls keep working.
54
+ */
55
+ close() {
56
+ return this.#backend.close();
57
+ }
58
+ /** Select the End User who owns the resources; the Organization API Key remains the caller. */
59
+ user(userId) {
60
+ return new EndUserClient(this.#http.forUser(userId));
61
+ }
62
+ getUserUsage(userId, options) {
63
+ const path = userUsagePath(userId, options);
64
+ return this.#http.get(`${path}${usageQuery(options, ["from", "to", "interval", "templateId", "tagKey", "tagValue"])}`, options);
65
+ }
66
+ getUserUsageDetails(userId, options) {
67
+ const path = userUsagePath(userId, options);
68
+ return this.#http.get(`${path}/details${usageQuery(options, ["from", "to", "kind", "limit", "cursor", "templateId", "tagKey", "tagValue"])}`, options);
69
+ }
70
+ async getOrganization(options) {
71
+ const response = await this.#http.get("", requestOptions(options));
72
+ return response.organization;
73
+ }
74
+ /**
75
+ * Create an End User, or return the existing one with the same externalId.
76
+ * Calls with an externalId are retried automatically and are safe to repeat
77
+ * after an uncertain outcome. An externalId that only differs by case or
78
+ * accents from an existing one is refused with a ConflictError.
79
+ */
80
+ async createEndUser(input = {}, options) {
81
+ requireKnownKeys(input, ["displayName", "externalId"], "End User input");
82
+ const result = await this.#http.postResponse("/users", {
83
+ ...(input.displayName === undefined
84
+ ? {}
85
+ : { displayName: input.displayName }),
86
+ ...(input.externalId === undefined
87
+ ? {}
88
+ : { externalId: input.externalId }),
89
+ }, {
90
+ ...requestOptions(options),
91
+ outcomeUnknown: true,
92
+ idempotent: input.externalId !== undefined,
93
+ });
94
+ if (!result.data?.user ||
95
+ typeof result.data.user.userId !== "string" ||
96
+ !result.data.user.userId) {
97
+ throw new OutcomeUnknownError("End User creation returned no usable User; repeat it with the same externalId", {
98
+ requestId: result.requestId,
99
+ });
100
+ }
101
+ return result.data.user;
102
+ }
103
+ async listEndUsers(options) {
104
+ const response = await this.#http.get("/users", requestOptions(options));
105
+ return response.users;
106
+ }
107
+ async getEndUser(userId, options) {
108
+ const response = await this.#http.get(`/users/${encodeURIComponent(userId)}`, requestOptions(options));
109
+ return response.user;
110
+ }
111
+ }
112
+ //# sourceMappingURL=organization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.js","sourceRoot":"","sources":["../src/organization.ts"],"names":[],"mappings":"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"}