@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.
- package/LICENSE +201 -0
- package/README.md +1182 -2
- package/dist/audio.d.ts +72 -0
- package/dist/audio.d.ts.map +1 -0
- package/dist/audio.js +168 -0
- package/dist/audio.js.map +1 -0
- package/dist/backend-connection.d.ts +89 -0
- package/dist/backend-connection.d.ts.map +1 -0
- package/dist/backend-connection.js +300 -0
- package/dist/backend-connection.js.map +1 -0
- package/dist/backend-pool.d.ts +93 -0
- package/dist/backend-pool.d.ts.map +1 -0
- package/dist/backend-pool.js +419 -0
- package/dist/backend-pool.js.map +1 -0
- package/dist/client-tool-executor.d.ts +31 -0
- package/dist/client-tool-executor.d.ts.map +1 -0
- package/dist/client-tool-executor.js +190 -0
- package/dist/client-tool-executor.js.map +1 -0
- package/dist/client-tools.d.ts +21 -0
- package/dist/client-tools.d.ts.map +1 -0
- package/dist/client-tools.js +48 -0
- package/dist/client-tools.js.map +1 -0
- package/dist/connector-callback.d.ts +92 -0
- package/dist/connector-callback.d.ts.map +1 -0
- package/dist/connector-callback.js +155 -0
- package/dist/connector-callback.js.map +1 -0
- package/dist/connectors.d.ts +66 -0
- package/dist/connectors.d.ts.map +1 -0
- package/dist/connectors.js +71 -0
- package/dist/connectors.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 +103 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +115 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +158 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +110 -0
- package/dist/events.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 +279 -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 +88 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +302 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +39 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/organization.d.ts +87 -0
- package/dist/organization.d.ts.map +1 -0
- package/dist/organization.js +112 -0
- package/dist/organization.js.map +1 -0
- package/dist/realtime.d.ts +90 -0
- package/dist/realtime.d.ts.map +1 -0
- package/dist/realtime.js +111 -0
- package/dist/realtime.js.map +1 -0
- package/dist/session-connection.d.ts +144 -0
- package/dist/session-connection.d.ts.map +1 -0
- package/dist/session-connection.js +334 -0
- package/dist/session-connection.js.map +1 -0
- package/dist/session-send.d.ts +49 -0
- package/dist/session-send.d.ts.map +1 -0
- package/dist/session-send.js +179 -0
- package/dist/session-send.js.map +1 -0
- package/dist/session.d.ts +165 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +253 -0
- package/dist/session.js.map +1 -0
- package/dist/skills.d.ts +103 -0
- package/dist/skills.d.ts.map +1 -0
- package/dist/skills.js +98 -0
- package/dist/skills.js.map +1 -0
- package/dist/sse.d.ts +10 -0
- package/dist/sse.d.ts.map +1 -0
- package/dist/sse.js +50 -0
- package/dist/sse.js.map +1 -0
- package/dist/template-switch.d.ts +51 -0
- package/dist/template-switch.d.ts.map +1 -0
- package/dist/template-switch.js +81 -0
- package/dist/template-switch.js.map +1 -0
- package/dist/templates.d.ts +129 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +92 -0
- package/dist/templates.js.map +1 -0
- package/dist/turn.d.ts +47 -0
- package/dist/turn.d.ts.map +1 -0
- package/dist/turn.js +210 -0
- package/dist/turn.js.map +1 -0
- package/dist/usage.d.ts +278 -0
- package/dist/usage.d.ts.map +1 -0
- package/dist/usage.js +22 -0
- package/dist/usage.js.map +1 -0
- package/dist/user.d.ts +55 -0
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +52 -0
- package/dist/user.js.map +1 -0
- package/examples/control-turn.mjs +53 -0
- package/examples/create-session.mjs +82 -0
- package/examples/http-connector.mjs +127 -0
- package/examples/lamp-backend.mjs +175 -0
- package/examples/prepare-realtime-connection.mjs +72 -0
- package/examples/read-usage.mjs +44 -0
- package/examples/send-message.mjs +48 -0
- package/examples/submit-audio.mjs +57 -0
- package/examples/upload-file.mjs +58 -0
- package/package.json +59 -4
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { OutcomeUnknownError } from "./errors.js";
|
|
2
|
+
import { HttpClient, requireKnownKeys, requestOptions, } from "./http.js";
|
|
3
|
+
const connectorPath = (id) => `/connectors/${encodeURIComponent(id)}`;
|
|
4
|
+
const connectorReceipt = (result) => {
|
|
5
|
+
if (typeof result.data?.connectorId !== "string" || !result.data.connectorId)
|
|
6
|
+
throw new OutcomeUnknownError("Connector change returned no usable registration; read it before changing it again", { requestId: result.requestId });
|
|
7
|
+
return result.data;
|
|
8
|
+
};
|
|
9
|
+
const requireVersion = (options, label) => {
|
|
10
|
+
requireKnownKeys(options, ["expectedConnectorVersion", "signal", "requestId"], `${label} options`);
|
|
11
|
+
if (!Number.isSafeInteger(options.expectedConnectorVersion) ||
|
|
12
|
+
options.expectedConnectorVersion < 0)
|
|
13
|
+
throw new TypeError(`${label} requires expectedConnectorVersion`);
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Organization Connector registrations. Register a Connector, then activate
|
|
17
|
+
* it: activation connects to the endpoint and discovers its tools. Edit only
|
|
18
|
+
* an inactive Connector.
|
|
19
|
+
*/
|
|
20
|
+
export class Connectors {
|
|
21
|
+
#http;
|
|
22
|
+
constructor(http) {
|
|
23
|
+
this.#http = http;
|
|
24
|
+
}
|
|
25
|
+
async list(options) {
|
|
26
|
+
const response = await this.#http.get("/connectors", requestOptions(options));
|
|
27
|
+
return response.connectors;
|
|
28
|
+
}
|
|
29
|
+
get(connectorId, options) {
|
|
30
|
+
return this.#http.get(connectorPath(connectorId), requestOptions(options));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Register an inactive Connector. Registration is not retried; after an
|
|
34
|
+
* OutcomeUnknownError, list the Connectors and match the display name, which
|
|
35
|
+
* is unique in the Organization.
|
|
36
|
+
*/
|
|
37
|
+
async register(input) {
|
|
38
|
+
requireKnownKeys(input, ["displayName", "transport", "endpointUrl", "signal", "requestId"], "Connector registration");
|
|
39
|
+
if (typeof input.displayName !== "string" || !input.displayName.trim())
|
|
40
|
+
throw new TypeError("Connector registration requires a displayName");
|
|
41
|
+
const { signal, requestId, ...body } = input;
|
|
42
|
+
return connectorReceipt(await this.#http.postResponse("/connectors", body, {
|
|
43
|
+
outcomeUnknown: true,
|
|
44
|
+
...(signal ? { signal } : {}),
|
|
45
|
+
...(requestId ? { requestId } : {}),
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
/** Edit an inactive Connector. */
|
|
49
|
+
async update(connectorId, input, options) {
|
|
50
|
+
requireKnownKeys(input, ["displayName", "endpointUrl"], "Connector update");
|
|
51
|
+
requireVersion(options, "Connector update");
|
|
52
|
+
const { expectedConnectorVersion, ...request } = options;
|
|
53
|
+
return connectorReceipt(await this.#http.patchResponse(connectorPath(connectorId), { expectedConnectorVersion, ...input }, { outcomeUnknown: true, ...request }));
|
|
54
|
+
}
|
|
55
|
+
/** Discover the endpoint's tools and activate the Connector. */
|
|
56
|
+
activate(connectorId, options) {
|
|
57
|
+
return this.#transition(connectorId, "activate", options);
|
|
58
|
+
}
|
|
59
|
+
/** Stop new calls to the Connector. */
|
|
60
|
+
deactivate(connectorId, options) {
|
|
61
|
+
return this.#transition(connectorId, "deactivate", options);
|
|
62
|
+
}
|
|
63
|
+
async #transition(connectorId, action, options) {
|
|
64
|
+
requireVersion(options, `Connector ${action}`);
|
|
65
|
+
const { expectedConnectorVersion, ...request } = options;
|
|
66
|
+
return connectorReceipt(await this.#http.postResponse(`${connectorPath(connectorId)}/${action}`, { expectedConnectorVersion },
|
|
67
|
+
// Not retried: a repeat after a lost response would be refused as a version conflict.
|
|
68
|
+
{ outcomeUnknown: true, ...request }));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=connectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connectors.js","sourceRoot":"","sources":["../src/connectors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HttpClient } from "./http.js";
|
|
2
|
+
import { type SessionInteraction } from "./history.js";
|
|
3
|
+
import type { RequestOptions } from "./organization.js";
|
|
4
|
+
export interface TurnCommandInput extends RequestOptions {
|
|
5
|
+
/** Persist this new Session-local command identity before dispatch. */
|
|
6
|
+
clientEventId: string;
|
|
7
|
+
turnId: string;
|
|
8
|
+
}
|
|
9
|
+
export interface RetryReceipt {
|
|
10
|
+
clientEventId: string;
|
|
11
|
+
sessionId: string;
|
|
12
|
+
turnId: string;
|
|
13
|
+
disposition: "retrying";
|
|
14
|
+
}
|
|
15
|
+
export declare function submitTurnCommand(http: HttpClient, sessionId: string, kind: "cancel", input: TurnCommandInput): Promise<SessionInteraction>;
|
|
16
|
+
export declare function submitTurnCommand(http: HttpClient, sessionId: string, kind: "retry", input: TurnCommandInput): Promise<RetryReceipt>;
|
|
17
|
+
//# sourceMappingURL=control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control.d.ts","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAwC,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAsB,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,UAAU,CAAC;CACzB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAC/B,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC"}
|
package/dist/control.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { OutcomeUnknownError } from "./errors.js";
|
|
2
|
+
import { HttpClient, requireCreationKey, requireKnownKeys } from "./http.js";
|
|
3
|
+
import { requireInteraction } from "./history.js";
|
|
4
|
+
export async function submitTurnCommand(http, sessionId, kind, input) {
|
|
5
|
+
requireKnownKeys(input, ["clientEventId", "turnId", "signal", "requestId"], "Turn command");
|
|
6
|
+
requireCreationKey(input.clientEventId);
|
|
7
|
+
if (typeof input.turnId !== "string" ||
|
|
8
|
+
!input.turnId ||
|
|
9
|
+
input.turnId.length > 64)
|
|
10
|
+
throw new TypeError("Turn command requires a turnId containing 1-64 characters");
|
|
11
|
+
const { clientEventId, turnId, signal, requestId } = input;
|
|
12
|
+
signal?.throwIfAborted();
|
|
13
|
+
try {
|
|
14
|
+
const result = await http.postResponse(`/sessions/${encodeURIComponent(sessionId)}/events`, { type: `agent.session.input.${kind}`, clientEventId, data: { turnId } }, {
|
|
15
|
+
outcomeUnknown: true,
|
|
16
|
+
...(signal ? { signal } : {}),
|
|
17
|
+
...(requestId ? { requestId } : {}),
|
|
18
|
+
});
|
|
19
|
+
try {
|
|
20
|
+
if (kind === "cancel") {
|
|
21
|
+
const receipt = requireInteraction(result.data?.interaction, clientEventId, result.requestId);
|
|
22
|
+
if (receipt.kind !== kind ||
|
|
23
|
+
receipt.turnId !== turnId ||
|
|
24
|
+
receipt.message !== null)
|
|
25
|
+
throw new Error("Cancellation receipt identifies a different command");
|
|
26
|
+
return receipt;
|
|
27
|
+
}
|
|
28
|
+
const receipt = result.data?.event;
|
|
29
|
+
if (receipt?.clientEventId !== clientEventId ||
|
|
30
|
+
receipt.sessionId !== sessionId ||
|
|
31
|
+
receipt.turnId !== turnId ||
|
|
32
|
+
receipt.disposition !== "retrying")
|
|
33
|
+
throw new Error("Retry receipt identifies a different command");
|
|
34
|
+
return receipt;
|
|
35
|
+
}
|
|
36
|
+
catch (cause) {
|
|
37
|
+
throw new OutcomeUnknownError("Turn command returned no usable receipt; query its original identity", { requestId: result.requestId, cause });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (cause) {
|
|
41
|
+
if (!(cause instanceof OutcomeUnknownError))
|
|
42
|
+
throw cause;
|
|
43
|
+
throw new OutcomeUnknownError(cause.message, {
|
|
44
|
+
sessionId,
|
|
45
|
+
inputId: clientEventId,
|
|
46
|
+
turnId,
|
|
47
|
+
...(cause.requestId ? { requestId: cause.requestId } : {}),
|
|
48
|
+
cause,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=control.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAA2B,MAAM,cAAc,CAAC;AA4B3E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAgB,EAChB,SAAiB,EACjB,IAAwB,EACxB,KAAuB;IAEvB,gBAAgB,CACd,KAAK,EACL,CAAC,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC,EAClD,cAAc,CACf,CAAC;IACF,kBAAkB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACxC,IACE,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,CAAC,KAAK,CAAC,MAAM;QACb,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,EAAE;QAExB,MAAM,IAAI,SAAS,CACjB,2DAA2D,CAC5D,CAAC;IACJ,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC3D,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAIpC,aAAa,kBAAkB,CAAC,SAAS,CAAC,SAAS,EACnD,EAAE,IAAI,EAAE,uBAAuB,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EACxE;YACE,cAAc,EAAE,IAAI;YACpB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpC,CACF,CAAC;QACF,IAAI,CAAC;YACH,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,kBAAkB,CAChC,MAAM,CAAC,IAAI,EAAE,WAAW,EACxB,aAAa,EACb,MAAM,CAAC,SAAS,CACjB,CAAC;gBACF,IACE,OAAO,CAAC,IAAI,KAAK,IAAI;oBACrB,OAAO,CAAC,MAAM,KAAK,MAAM;oBACzB,OAAO,CAAC,OAAO,KAAK,IAAI;oBAExB,MAAM,IAAI,KAAK,CACb,qDAAqD,CACtD,CAAC;gBACJ,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;YACnC,IACE,OAAO,EAAE,aAAa,KAAK,aAAa;gBACxC,OAAO,CAAC,SAAS,KAAK,SAAS;gBAC/B,OAAO,CAAC,MAAM,KAAK,MAAM;gBACzB,OAAO,CAAC,WAAW,KAAK,UAAU;gBAElC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,mBAAmB,CAC3B,sEAAsE,EACtE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,CACvC,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,mBAAmB,CAAC;YAAE,MAAM,KAAK,CAAC;QACzD,MAAM,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE;YAC3C,SAAS;YACT,OAAO,EAAE,aAAa;YACtB,MAAM;YACN,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,KAAK;SACN,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export declare class TiDBLinkError extends Error {
|
|
2
|
+
readonly requestId: string | undefined;
|
|
3
|
+
constructor(message: string, options?: {
|
|
4
|
+
requestId?: string;
|
|
5
|
+
cause?: unknown;
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
export declare class TiDBLinkApiError extends TiDBLinkError {
|
|
9
|
+
readonly status: number;
|
|
10
|
+
readonly code: string;
|
|
11
|
+
readonly details?: unknown;
|
|
12
|
+
readonly retryAfter: string | undefined;
|
|
13
|
+
constructor(input: {
|
|
14
|
+
status: number;
|
|
15
|
+
code: string;
|
|
16
|
+
message: string;
|
|
17
|
+
requestId?: string;
|
|
18
|
+
details?: unknown;
|
|
19
|
+
retryAfter?: string;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
export declare class ConflictError extends TiDBLinkApiError {
|
|
23
|
+
}
|
|
24
|
+
export declare class ConnectionError extends TiDBLinkError {
|
|
25
|
+
}
|
|
26
|
+
/** The request may have succeeded, so repeating it could create another effect. */
|
|
27
|
+
export declare class OutcomeUnknownError extends TiDBLinkError {
|
|
28
|
+
readonly turnId: string | undefined;
|
|
29
|
+
readonly sessionId: string | undefined;
|
|
30
|
+
readonly inputId: string | undefined;
|
|
31
|
+
constructor(message: string, options?: {
|
|
32
|
+
requestId?: string;
|
|
33
|
+
turnId?: string;
|
|
34
|
+
sessionId?: string;
|
|
35
|
+
inputId?: string;
|
|
36
|
+
cause?: unknown;
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
export declare class TurnWaitTimeoutError extends OutcomeUnknownError {
|
|
40
|
+
}
|
|
41
|
+
export declare class InputNotAppliedError extends TiDBLinkError {
|
|
42
|
+
readonly sessionId: string;
|
|
43
|
+
readonly inputId: string;
|
|
44
|
+
readonly turnId: string;
|
|
45
|
+
constructor(sessionId: string, inputId: string, turnId: string);
|
|
46
|
+
}
|
|
47
|
+
export declare class TurnFailedError extends TiDBLinkError {
|
|
48
|
+
readonly code: string;
|
|
49
|
+
readonly turnId: string;
|
|
50
|
+
readonly sessionId: string | undefined;
|
|
51
|
+
readonly inputId: string | undefined;
|
|
52
|
+
constructor(input: {
|
|
53
|
+
code: string;
|
|
54
|
+
message: string;
|
|
55
|
+
turnId: string;
|
|
56
|
+
sessionId?: string;
|
|
57
|
+
inputId?: string;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
export declare class TurnInterruptedError extends TiDBLinkError {
|
|
61
|
+
readonly sessionId?: string | undefined;
|
|
62
|
+
readonly inputId?: string | undefined;
|
|
63
|
+
readonly turnId: string;
|
|
64
|
+
constructor(turnId: string, message?: string, sessionId?: string | undefined, inputId?: string | undefined);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* A Backend Connection closed, or could not be opened. `code` is the
|
|
68
|
+
* WebSocket close code: 4001 means the Organization API Key is missing,
|
|
69
|
+
* invalid, revoked or rotated, or its Organization is inactive, and
|
|
70
|
+
* reconnecting cannot help (`retryable` is false). Other closes, such as a
|
|
71
|
+
* drained or restarted replica, are retryable.
|
|
72
|
+
*/
|
|
73
|
+
export declare class BackendConnectionClosedError extends ConnectionError {
|
|
74
|
+
readonly code: number;
|
|
75
|
+
readonly reason: string;
|
|
76
|
+
readonly retryable: boolean;
|
|
77
|
+
constructor(input: {
|
|
78
|
+
code: number;
|
|
79
|
+
reason?: string;
|
|
80
|
+
message?: string;
|
|
81
|
+
cause?: unknown;
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* The core answered a Backend Connection request with a JSON-RPC error.
|
|
86
|
+
* `code` is the JSON-RPC error code; for -32000 (refused), `reason` names
|
|
87
|
+
* why, for example `session_not_found` or `connection_full`. A refused
|
|
88
|
+
* `session.send` carries the REST message command's error code as `reason`,
|
|
89
|
+
* such as `session_read_only` or `turn_admission_closed`.
|
|
90
|
+
*/
|
|
91
|
+
export declare class BackendRequestError extends TiDBLinkError {
|
|
92
|
+
readonly code: number;
|
|
93
|
+
readonly reason: string | undefined;
|
|
94
|
+
/** For a refused `session.send`, the REST error's `details`. */
|
|
95
|
+
readonly details: unknown;
|
|
96
|
+
constructor(input: {
|
|
97
|
+
code: number;
|
|
98
|
+
message: string;
|
|
99
|
+
reason?: string;
|
|
100
|
+
details?: unknown;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
export class TiDBLinkError extends Error {
|
|
2
|
+
requestId;
|
|
3
|
+
constructor(message, options) {
|
|
4
|
+
super(message, options?.cause === undefined ? undefined : { cause: options.cause });
|
|
5
|
+
this.name = new.target.name;
|
|
6
|
+
this.requestId = options?.requestId;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export class TiDBLinkApiError extends TiDBLinkError {
|
|
10
|
+
status;
|
|
11
|
+
code;
|
|
12
|
+
details;
|
|
13
|
+
retryAfter;
|
|
14
|
+
constructor(input) {
|
|
15
|
+
super(input.message, input.requestId === undefined
|
|
16
|
+
? undefined
|
|
17
|
+
: { requestId: input.requestId });
|
|
18
|
+
this.status = input.status;
|
|
19
|
+
this.code = input.code;
|
|
20
|
+
this.details = input.details;
|
|
21
|
+
this.retryAfter = input.retryAfter;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class ConflictError extends TiDBLinkApiError {
|
|
25
|
+
}
|
|
26
|
+
export class ConnectionError extends TiDBLinkError {
|
|
27
|
+
}
|
|
28
|
+
/** The request may have succeeded, so repeating it could create another effect. */
|
|
29
|
+
export class OutcomeUnknownError extends TiDBLinkError {
|
|
30
|
+
turnId;
|
|
31
|
+
sessionId;
|
|
32
|
+
inputId;
|
|
33
|
+
constructor(message, options) {
|
|
34
|
+
super(message, options);
|
|
35
|
+
this.turnId = options?.turnId;
|
|
36
|
+
this.sessionId = options?.sessionId;
|
|
37
|
+
this.inputId = options?.inputId;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class TurnWaitTimeoutError extends OutcomeUnknownError {
|
|
41
|
+
}
|
|
42
|
+
export class InputNotAppliedError extends TiDBLinkError {
|
|
43
|
+
sessionId;
|
|
44
|
+
inputId;
|
|
45
|
+
turnId;
|
|
46
|
+
constructor(sessionId, inputId, turnId) {
|
|
47
|
+
super("The original message was not incorporated; inspect its interaction receipt");
|
|
48
|
+
this.sessionId = sessionId;
|
|
49
|
+
this.inputId = inputId;
|
|
50
|
+
this.turnId = turnId;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export class TurnFailedError extends TiDBLinkError {
|
|
54
|
+
code;
|
|
55
|
+
turnId;
|
|
56
|
+
sessionId;
|
|
57
|
+
inputId;
|
|
58
|
+
constructor(input) {
|
|
59
|
+
super(input.message);
|
|
60
|
+
this.code = input.code;
|
|
61
|
+
this.turnId = input.turnId;
|
|
62
|
+
this.sessionId = input.sessionId;
|
|
63
|
+
this.inputId = input.inputId;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export class TurnInterruptedError extends TiDBLinkError {
|
|
67
|
+
sessionId;
|
|
68
|
+
inputId;
|
|
69
|
+
turnId;
|
|
70
|
+
constructor(turnId, message = "Turn was interrupted", sessionId, inputId) {
|
|
71
|
+
super(message);
|
|
72
|
+
this.sessionId = sessionId;
|
|
73
|
+
this.inputId = inputId;
|
|
74
|
+
this.turnId = turnId;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* A Backend Connection closed, or could not be opened. `code` is the
|
|
79
|
+
* WebSocket close code: 4001 means the Organization API Key is missing,
|
|
80
|
+
* invalid, revoked or rotated, or its Organization is inactive, and
|
|
81
|
+
* reconnecting cannot help (`retryable` is false). Other closes, such as a
|
|
82
|
+
* drained or restarted replica, are retryable.
|
|
83
|
+
*/
|
|
84
|
+
export class BackendConnectionClosedError extends ConnectionError {
|
|
85
|
+
code;
|
|
86
|
+
reason;
|
|
87
|
+
retryable;
|
|
88
|
+
constructor(input) {
|
|
89
|
+
super(input.message ??
|
|
90
|
+
`Backend Connection closed with code ${input.code}${input.reason ? `: ${input.reason}` : ""}`, input.cause === undefined ? undefined : { cause: input.cause });
|
|
91
|
+
this.code = input.code;
|
|
92
|
+
this.reason = input.reason ?? "";
|
|
93
|
+
this.retryable = input.code !== 4001 && input.code !== 4009;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The core answered a Backend Connection request with a JSON-RPC error.
|
|
98
|
+
* `code` is the JSON-RPC error code; for -32000 (refused), `reason` names
|
|
99
|
+
* why, for example `session_not_found` or `connection_full`. A refused
|
|
100
|
+
* `session.send` carries the REST message command's error code as `reason`,
|
|
101
|
+
* such as `session_read_only` or `turn_admission_closed`.
|
|
102
|
+
*/
|
|
103
|
+
export class BackendRequestError extends TiDBLinkError {
|
|
104
|
+
code;
|
|
105
|
+
reason;
|
|
106
|
+
/** For a refused `session.send`, the REST error's `details`. */
|
|
107
|
+
details;
|
|
108
|
+
constructor(input) {
|
|
109
|
+
super(input.message);
|
|
110
|
+
this.code = input.code;
|
|
111
|
+
this.reason = input.reason;
|
|
112
|
+
this.details = input.details;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/events.d.ts
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import type { TemplateSwitchStatus } from "./template-switch.js";
|
|
2
|
+
import type { ClarificationItem } from "./session.js";
|
|
3
|
+
import type { RealtimeResponseKind, SessionRealtimeEvent } from "./history.js";
|
|
4
|
+
/**
|
|
5
|
+
* One event of a Session's event stream. Events whose `type` the SDK does not
|
|
6
|
+
* know are delivered unchanged; use `asKnownSessionEvent` for typed access.
|
|
7
|
+
* Display events remain provisional; use the original interaction to
|
|
8
|
+
* establish a result.
|
|
9
|
+
*/
|
|
10
|
+
export interface SessionEvent {
|
|
11
|
+
/** Opaque stream position. Persist it to resume after this event. */
|
|
12
|
+
cursor: string;
|
|
13
|
+
type: string;
|
|
14
|
+
sessionId: string;
|
|
15
|
+
turnId: string | null;
|
|
16
|
+
createdAt: string;
|
|
17
|
+
data: Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
/** The durable Turn event carried in `data` of every `agent.session.turn.*` event. */
|
|
20
|
+
export interface TurnEventData<Name extends string, Payload> {
|
|
21
|
+
event: Name;
|
|
22
|
+
turnId: string;
|
|
23
|
+
sessionId: string;
|
|
24
|
+
agentRunId?: string;
|
|
25
|
+
seq: number;
|
|
26
|
+
createdAt: string;
|
|
27
|
+
payload: Payload;
|
|
28
|
+
}
|
|
29
|
+
interface KnownEvent<Type extends string, Data> extends SessionEvent {
|
|
30
|
+
type: Type;
|
|
31
|
+
data: Data & Record<string, unknown>;
|
|
32
|
+
}
|
|
33
|
+
export type TurnStartedEvent = KnownEvent<"agent.session.turn.started", TurnEventData<"turn_started", {
|
|
34
|
+
inputId?: string;
|
|
35
|
+
execution?: {
|
|
36
|
+
model: string;
|
|
37
|
+
};
|
|
38
|
+
}>> & {
|
|
39
|
+
turnId: string;
|
|
40
|
+
};
|
|
41
|
+
/** The complete provisional draft; replace the previous draft of this Turn. */
|
|
42
|
+
export type TurnDraftEvent = KnownEvent<"agent.session.turn.output_text.snapshot", TurnEventData<"assistant_draft", {
|
|
43
|
+
text: string;
|
|
44
|
+
}>> & {
|
|
45
|
+
turnId: string;
|
|
46
|
+
};
|
|
47
|
+
export type TurnProgressEvent = KnownEvent<"agent.session.turn.progress", TurnEventData<"progress", {
|
|
48
|
+
text: string;
|
|
49
|
+
}>> & {
|
|
50
|
+
turnId: string;
|
|
51
|
+
};
|
|
52
|
+
export interface OperationStepPayload {
|
|
53
|
+
operationId: string;
|
|
54
|
+
status: "running" | "succeeded" | "failed" | "interrupted" | "unknown_result";
|
|
55
|
+
label: string;
|
|
56
|
+
category?: "tool_call" | "skill_read";
|
|
57
|
+
skill?: {
|
|
58
|
+
skillId: string;
|
|
59
|
+
name: string;
|
|
60
|
+
};
|
|
61
|
+
source?: {
|
|
62
|
+
type: "session_client";
|
|
63
|
+
} | {
|
|
64
|
+
type: string;
|
|
65
|
+
[field: string]: unknown;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
export type TurnItemAddedEvent = KnownEvent<"agent.session.turn.item.added", TurnEventData<"assistant_message", {
|
|
69
|
+
messageId: string;
|
|
70
|
+
text: string;
|
|
71
|
+
clarificationItem?: ClarificationItem;
|
|
72
|
+
}> | TurnEventData<"operation_step", OperationStepPayload>> & {
|
|
73
|
+
turnId: string;
|
|
74
|
+
};
|
|
75
|
+
/** A Client Tool call carried by `agent.session.turn.requires_action`. */
|
|
76
|
+
export interface ClientToolCallPayload {
|
|
77
|
+
callId: string;
|
|
78
|
+
name: string;
|
|
79
|
+
arguments: Record<string, unknown>;
|
|
80
|
+
deadlineAt: string;
|
|
81
|
+
/**
|
|
82
|
+
* Present when the call was published to the Session's executing Backend
|
|
83
|
+
* Connection attachment. Only that attachment executes it, after claiming it
|
|
84
|
+
* before this time; this event authorizes nothing.
|
|
85
|
+
*/
|
|
86
|
+
claimBy?: string;
|
|
87
|
+
}
|
|
88
|
+
export type TurnRequiresActionEvent = KnownEvent<"agent.session.turn.requires_action", TurnEventData<"client_tool_calls", {
|
|
89
|
+
calls: ClientToolCallPayload[];
|
|
90
|
+
}>> & {
|
|
91
|
+
turnId: string;
|
|
92
|
+
};
|
|
93
|
+
export type TurnCompletedEvent = KnownEvent<"agent.session.turn.completed", TurnEventData<"turn_finished", {
|
|
94
|
+
status: "succeeded";
|
|
95
|
+
}>> & {
|
|
96
|
+
turnId: string;
|
|
97
|
+
};
|
|
98
|
+
export type TurnCancelledEvent = KnownEvent<"agent.session.turn.cancelled", TurnEventData<"turn_finished", {
|
|
99
|
+
status: "interrupted";
|
|
100
|
+
}>> & {
|
|
101
|
+
turnId: string;
|
|
102
|
+
};
|
|
103
|
+
export type TurnFailedEvent = KnownEvent<"agent.session.turn.failed", TurnEventData<"turn_finished", {
|
|
104
|
+
status: "failed";
|
|
105
|
+
}> | TurnEventData<"turn_error", {
|
|
106
|
+
code: string;
|
|
107
|
+
message: string;
|
|
108
|
+
details?: Record<string, unknown>;
|
|
109
|
+
}>> & {
|
|
110
|
+
turnId: string;
|
|
111
|
+
};
|
|
112
|
+
export type RealtimeTranscriptEvent = KnownEvent<"agent.session.realtime.input_transcript.completed", Extract<SessionRealtimeEvent, {
|
|
113
|
+
type: "input_transcript";
|
|
114
|
+
}>>;
|
|
115
|
+
export type RealtimeResponseEvent = KnownEvent<"agent.session.realtime.response.completed", Extract<SessionRealtimeEvent, {
|
|
116
|
+
type: "response";
|
|
117
|
+
}> & {
|
|
118
|
+
kind: RealtimeResponseKind;
|
|
119
|
+
}>;
|
|
120
|
+
export interface TemplateSwitchEventData {
|
|
121
|
+
id: string;
|
|
122
|
+
commandId: string;
|
|
123
|
+
status: Extract<TemplateSwitchStatus, "succeeded" | "failed">;
|
|
124
|
+
configurationEpoch: number;
|
|
125
|
+
agentTemplateId: string;
|
|
126
|
+
contentDigest: string | null;
|
|
127
|
+
createdAt: string;
|
|
128
|
+
}
|
|
129
|
+
export type TemplateSwitchEvent = KnownEvent<"agent.session.template_switch.succeeded" | "agent.session.template_switch.failed", TemplateSwitchEventData>;
|
|
130
|
+
/**
|
|
131
|
+
* The Session released its active Turn: the next message, audio Turn or
|
|
132
|
+
* Template switch can start. It follows that Turn's terminal events and
|
|
133
|
+
* does not establish its outcome; it can repeat for one Turn.
|
|
134
|
+
*/
|
|
135
|
+
export type SessionIdleEvent = KnownEvent<"agent.session.idle", {
|
|
136
|
+
id: string;
|
|
137
|
+
/** The released Turn, or null when it was never recorded. */
|
|
138
|
+
turnId: string | null;
|
|
139
|
+
createdAt: string;
|
|
140
|
+
}>;
|
|
141
|
+
export type KnownSessionEvent = TurnStartedEvent | TurnDraftEvent | TurnProgressEvent | TurnItemAddedEvent | TurnRequiresActionEvent | TurnCompletedEvent | TurnCancelledEvent | TurnFailedEvent | RealtimeTranscriptEvent | RealtimeResponseEvent | TemplateSwitchEvent | SessionIdleEvent;
|
|
142
|
+
/** Whether a `client_tool_calls` payload has the fields the SDK types. */
|
|
143
|
+
export declare const isClientToolCallsPayload: (payload: Record<string, unknown>) => payload is {
|
|
144
|
+
calls: ClientToolCallPayload[];
|
|
145
|
+
};
|
|
146
|
+
/**
|
|
147
|
+
* Narrow an event to one of the types the SDK knows. Returns `undefined` for
|
|
148
|
+
* any other type, and for a known type whose data lacks the fields the SDK
|
|
149
|
+
* types; such events are still delivered by the stream unchanged.
|
|
150
|
+
*/
|
|
151
|
+
export declare function asKnownSessionEvent(event: SessionEvent): KnownSessionEvent | undefined;
|
|
152
|
+
/** Check one event envelope and attach its cursor. */
|
|
153
|
+
export declare function sessionEventFrom(value: unknown, cursor: unknown, options?: {
|
|
154
|
+
sessionId?: string;
|
|
155
|
+
requestId?: string;
|
|
156
|
+
}): SessionEvent;
|
|
157
|
+
export {};
|
|
158
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,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,sFAAsF;AACtF,MAAM,WAAW,aAAa,CAAC,IAAI,SAAS,MAAM,EAAE,OAAO;IACzD,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,CAAE,SAAQ,YAAY;IAClE,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,gBAAgB,GAAG,UAAU,CACvC,4BAA4B,EAC5B,aAAa,CAAC,cAAc,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,CACnF,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,+EAA+E;AAC/E,MAAM,MAAM,cAAc,GAAG,UAAU,CACrC,yCAAyC,EACzC,aAAa,CAAC,iBAAiB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CACnD,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,MAAM,MAAM,iBAAiB,GAAG,UAAU,CACxC,6BAA6B,EAC7B,aAAa,CAAC,UAAU,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAC5C,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GAAG,gBAAgB,CAAC;IAC9E,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;IACtC,KAAK,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CAClF;AAED,MAAM,MAAM,kBAAkB,GAAG,UAAU,CACzC,+BAA+B,EAC7B,aAAa,CACX,mBAAmB,EACnB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAC3E,GACD,aAAa,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CACxD,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,0EAA0E;AAC1E,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAC9C,oCAAoC,EACpC,aAAa,CAAC,mBAAmB,EAAE;IAAE,KAAK,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAAC,CACvE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,MAAM,MAAM,kBAAkB,GAAG,UAAU,CACzC,8BAA8B,EAC9B,aAAa,CAAC,eAAe,EAAE;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CACxD,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,MAAM,MAAM,kBAAkB,GAAG,UAAU,CACzC,8BAA8B,EAC9B,aAAa,CAAC,eAAe,EAAE;IAAE,MAAM,EAAE,aAAa,CAAA;CAAE,CAAC,CAC1D,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,MAAM,MAAM,eAAe,GAAG,UAAU,CACtC,2BAA2B,EACzB,aAAa,CAAC,eAAe,EAAE;IAAE,MAAM,EAAE,QAAQ,CAAA;CAAE,CAAC,GACpD,aAAa,CACX,YAAY,EACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CACrE,CACJ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAC9C,mDAAmD,EACnD,OAAO,CAAC,oBAAoB,EAAE;IAAE,IAAI,EAAE,kBAAkB,CAAA;CAAE,CAAC,CAC5D,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAC5C,2CAA2C,EAC3C,OAAO,CAAC,oBAAoB,EAAE;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC,GAAG;IACpD,IAAI,EAAE,oBAAoB,CAAC;CAC5B,CACF,CAAC;AAEF,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC,oBAAoB,EAAE,WAAW,GAAG,QAAQ,CAAC,CAAC;IAC9D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAC1C,yCAAyC,GAAG,sCAAsC,EAClF,uBAAuB,CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,CACvC,oBAAoB,EACpB;IACE,EAAE,EAAE,MAAM,CAAC;IACX,6DAA6D;IAC7D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,iBAAiB,GACzB,gBAAgB,GAChB,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,uBAAuB,GACvB,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,uBAAuB,GACvB,qBAAqB,GACrB,mBAAmB,GACnB,gBAAgB,CAAC;AA2BrB,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,GACnC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC/B,OAAO,IAAI;IAAE,KAAK,EAAE,qBAAqB,EAAE,CAAA;CAU3C,CAAC;AA8BJ;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,YAAY,GAClB,iBAAiB,GAAG,SAAS,CA4C/B;AAED,sDAAsD;AACtD,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACvD,YAAY,CAkBd"}
|