@tidblink/server 0.3.0-rc.0 → 0.4.0-rc.1

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 (124) hide show
  1. package/README.md +565 -368
  2. package/dist/audio.d.ts +9 -0
  3. package/dist/audio.d.ts.map +1 -1
  4. package/dist/audio.js +6 -1
  5. package/dist/audio.js.map +1 -1
  6. package/dist/backend-connection.d.ts +91 -0
  7. package/dist/backend-connection.d.ts.map +1 -0
  8. package/dist/backend-connection.js +314 -0
  9. package/dist/backend-connection.js.map +1 -0
  10. package/dist/backend-pool.d.ts +104 -0
  11. package/dist/backend-pool.d.ts.map +1 -0
  12. package/dist/backend-pool.js +483 -0
  13. package/dist/backend-pool.js.map +1 -0
  14. package/dist/client-tool-executor.d.ts +31 -0
  15. package/dist/client-tool-executor.d.ts.map +1 -0
  16. package/dist/client-tool-executor.js +190 -0
  17. package/dist/client-tool-executor.js.map +1 -0
  18. package/dist/client-tools.d.ts +0 -25
  19. package/dist/client-tools.d.ts.map +1 -1
  20. package/dist/client-tools.js +1 -67
  21. package/dist/client-tools.js.map +1 -1
  22. package/dist/connector-callback.d.ts +92 -0
  23. package/dist/connector-callback.d.ts.map +1 -0
  24. package/dist/connector-callback.js +155 -0
  25. package/dist/connector-callback.js.map +1 -0
  26. package/dist/connectors.d.ts +66 -0
  27. package/dist/connectors.d.ts.map +1 -0
  28. package/dist/connectors.js +71 -0
  29. package/dist/connectors.js.map +1 -0
  30. package/dist/control.js +1 -1
  31. package/dist/control.js.map +1 -1
  32. package/dist/errors.d.ts +34 -11
  33. package/dist/errors.d.ts.map +1 -1
  34. package/dist/errors.js +36 -8
  35. package/dist/errors.js.map +1 -1
  36. package/dist/events.d.ts +158 -0
  37. package/dist/events.d.ts.map +1 -0
  38. package/dist/events.js +110 -0
  39. package/dist/events.js.map +1 -0
  40. package/dist/files.js +9 -9
  41. package/dist/files.js.map +1 -1
  42. package/dist/history.d.ts +38 -1
  43. package/dist/history.d.ts.map +1 -1
  44. package/dist/history.js +1 -1
  45. package/dist/history.js.map +1 -1
  46. package/dist/http.d.ts +28 -4
  47. package/dist/http.d.ts.map +1 -1
  48. package/dist/http.js +44 -24
  49. package/dist/http.js.map +1 -1
  50. package/dist/index.d.ts +26 -13
  51. package/dist/index.d.ts.map +1 -1
  52. package/dist/index.js +10 -4
  53. package/dist/index.js.map +1 -1
  54. package/dist/organization.d.ts +45 -28
  55. package/dist/organization.d.ts.map +1 -1
  56. package/dist/organization.js +67 -73
  57. package/dist/organization.js.map +1 -1
  58. package/dist/realtime.d.ts +0 -1
  59. package/dist/realtime.d.ts.map +1 -1
  60. package/dist/realtime.js +0 -1
  61. package/dist/realtime.js.map +1 -1
  62. package/dist/session-connection.d.ts +155 -0
  63. package/dist/session-connection.d.ts.map +1 -0
  64. package/dist/session-connection.js +394 -0
  65. package/dist/session-connection.js.map +1 -0
  66. package/dist/session-send.d.ts +49 -0
  67. package/dist/session-send.d.ts.map +1 -0
  68. package/dist/session-send.js +179 -0
  69. package/dist/session-send.js.map +1 -0
  70. package/dist/session.d.ts +37 -8
  71. package/dist/session.d.ts.map +1 -1
  72. package/dist/session.js +56 -29
  73. package/dist/session.js.map +1 -1
  74. package/dist/skills.d.ts +103 -0
  75. package/dist/skills.d.ts.map +1 -0
  76. package/dist/skills.js +98 -0
  77. package/dist/skills.js.map +1 -0
  78. package/dist/sse.d.ts +5 -2
  79. package/dist/sse.d.ts.map +1 -1
  80. package/dist/sse.js +7 -2
  81. package/dist/sse.js.map +1 -1
  82. package/dist/template-switch.d.ts +51 -0
  83. package/dist/template-switch.d.ts.map +1 -0
  84. package/dist/template-switch.js +81 -0
  85. package/dist/template-switch.js.map +1 -0
  86. package/dist/templates.d.ts +129 -0
  87. package/dist/templates.d.ts.map +1 -0
  88. package/dist/templates.js +92 -0
  89. package/dist/templates.js.map +1 -0
  90. package/dist/turn.d.ts +4 -0
  91. package/dist/turn.d.ts.map +1 -1
  92. package/dist/turn.js +17 -13
  93. package/dist/turn.js.map +1 -1
  94. package/dist/usage.d.ts +13 -197
  95. package/dist/usage.d.ts.map +1 -1
  96. package/dist/usage.js +5 -3
  97. package/dist/usage.js.map +1 -1
  98. package/dist/user.d.ts +10 -51
  99. package/dist/user.d.ts.map +1 -1
  100. package/dist/user.js +18 -105
  101. package/dist/user.js.map +1 -1
  102. package/examples/control-turn.mjs +9 -4
  103. package/examples/create-session.mjs +37 -24
  104. package/examples/http-connector.mjs +127 -0
  105. package/examples/lamp-backend.mjs +175 -0
  106. package/examples/prepare-realtime-connection.mjs +18 -7
  107. package/examples/read-usage.mjs +7 -25
  108. package/examples/send-message.mjs +9 -4
  109. package/examples/submit-audio.mjs +9 -4
  110. package/examples/upload-file.mjs +9 -4
  111. package/package.json +7 -13
  112. package/dist/progress.d.ts +0 -34
  113. package/dist/progress.d.ts.map +0 -1
  114. package/dist/progress.js +0 -154
  115. package/dist/progress.js.map +0 -1
  116. package/dist/schedulers.d.ts +0 -129
  117. package/dist/schedulers.d.ts.map +0 -1
  118. package/dist/schedulers.js +0 -91
  119. package/dist/schedulers.js.map +0 -1
  120. package/examples/answer-client-tool.mjs +0 -69
  121. package/examples/observe-message.mjs +0 -44
  122. package/examples/organization-session.mjs +0 -66
  123. package/examples/provision-user.mjs +0 -83
  124. package/examples/schedule-task.mjs +0 -67
@@ -0,0 +1,66 @@
1
+ import { HttpClient } from "./http.js";
2
+ import type { RequestOptions } from "./organization.js";
3
+ export type ConnectorTransport = "streamable_http" | "tunnel";
4
+ /** An Organization-owned MCP tool server that Agents can call. */
5
+ export interface Connector {
6
+ connectorId: string;
7
+ organizationId: string;
8
+ displayName: string;
9
+ /** The HTTPS MCP endpoint of a `streamable_http` Connector. */
10
+ endpointUrl: string;
11
+ endpointVersion: number;
12
+ transport: ConnectorTransport;
13
+ status: "inactive" | "active";
14
+ /** Pass this as `expectedConnectorVersion` to change the registration. */
15
+ connectorVersion: number;
16
+ createdAt: string;
17
+ updatedAt: string;
18
+ /** What activation discovered at the endpoint. */
19
+ observation?: {
20
+ era: "modern" | "legacy";
21
+ protocolVersion: string;
22
+ endpointVersion: number;
23
+ probedAt: string;
24
+ expiresAt: string;
25
+ };
26
+ }
27
+ export interface RegisterConnectorInput extends RequestOptions {
28
+ /** Unique within the Organization. */
29
+ displayName: string;
30
+ /** Defaults to `streamable_http`. */
31
+ transport?: ConnectorTransport;
32
+ /** Required for `streamable_http`: an HTTPS URL without credentials. */
33
+ endpointUrl?: string;
34
+ }
35
+ export interface UpdateConnectorInput {
36
+ displayName?: string;
37
+ endpointUrl?: string;
38
+ }
39
+ export interface ConnectorVersionOptions extends RequestOptions {
40
+ /** The `connectorVersion` you read. A changed registration is refused with ConflictError. */
41
+ expectedConnectorVersion: number;
42
+ }
43
+ /**
44
+ * Organization Connector registrations. Register a Connector, then activate
45
+ * it: activation connects to the endpoint and discovers its tools. Edit only
46
+ * an inactive Connector.
47
+ */
48
+ export declare class Connectors {
49
+ #private;
50
+ constructor(http: HttpClient);
51
+ list(options?: RequestOptions): Promise<Connector[]>;
52
+ get(connectorId: string, options?: RequestOptions): Promise<Connector>;
53
+ /**
54
+ * Register an inactive Connector. Registration is not retried; after an
55
+ * OutcomeUnknownError, list the Connectors and match the display name, which
56
+ * is unique in the Organization.
57
+ */
58
+ register(input: RegisterConnectorInput): Promise<Connector>;
59
+ /** Edit an inactive Connector. */
60
+ update(connectorId: string, input: UpdateConnectorInput, options: ConnectorVersionOptions): Promise<Connector>;
61
+ /** Discover the endpoint's tools and activate the Connector. */
62
+ activate(connectorId: string, options: ConnectorVersionOptions): Promise<Connector>;
63
+ /** Stop new calls to the Connector. */
64
+ deactivate(connectorId: string, options: ConnectorVersionOptions): Promise<Connector>;
65
+ }
66
+ //# sourceMappingURL=connectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectors.d.ts","sourceRoot":"","sources":["../src/connectors.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAIX,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,QAAQ,CAAC;AAE9D,kEAAkE;AAClE,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC9B,0EAA0E;IAC1E,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,WAAW,CAAC,EAAE;QACZ,GAAG,EAAE,QAAQ,GAAG,QAAQ,CAAC;QACzB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,qCAAqC;IACrC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,6FAA6F;IAC7F,wBAAwB,EAAE,MAAM,CAAC;CAClC;AA0BD;;;;GAIG;AACH,qBAAa,UAAU;;gBAGT,IAAI,EAAE,UAAU;IAItB,IAAI,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAQ1D,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC;IAItE;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC;IAkBjE,kCAAkC;IAC5B,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,SAAS,CAAC;IAarB,gEAAgE;IAChE,QAAQ,CACN,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,SAAS,CAAC;IAIrB,uCAAuC;IACvC,UAAU,CACR,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,SAAS,CAAC;CAoBtB"}
@@ -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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"}
package/dist/control.js CHANGED
@@ -11,7 +11,7 @@ export async function submitTurnCommand(http, sessionId, kind, input) {
11
11
  const { clientEventId, turnId, signal, requestId } = input;
12
12
  signal?.throwIfAborted();
13
13
  try {
14
- const result = await http.postResponse(`/api/v1/user/sessions/${encodeURIComponent(sessionId)}/events`, { type: `agent.session.input.${kind}`, clientEventId, data: { turnId } }, {
14
+ const result = await http.postResponse(`/sessions/${encodeURIComponent(sessionId)}/events`, { type: `agent.session.input.${kind}`, clientEventId, data: { turnId } }, {
15
15
  outcomeUnknown: true,
16
16
  ...(signal ? { signal } : {}),
17
17
  ...(requestId ? { requestId } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../src/control.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -63,18 +63,41 @@ export declare class TurnInterruptedError extends TiDBLinkError {
63
63
  readonly turnId: string;
64
64
  constructor(turnId: string, message?: string, sessionId?: string | undefined, inputId?: string | undefined);
65
65
  }
66
- /** Observation stopped locally; the original command can still be queried or observed. */
67
- export declare class ObservationStoppedError extends OutcomeUnknownError {
68
- readonly cursor: string | undefined;
69
- readonly timedOut: boolean;
70
- constructor(message: string, options: {
71
- sessionId: string;
72
- inputId: string;
73
- turnId?: string;
74
- cursor?: string;
75
- requestId?: string;
76
- timedOut?: boolean;
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;
77
81
  cause?: unknown;
78
82
  });
79
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
+ }
80
103
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGrC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CASpD;AAED,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE5B,KAAK,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;CAYF;AAED,qBAAa,aAAc,SAAQ,gBAAgB;CAAG;AAEtD,qBAAa,eAAgB,SAAQ,aAAa;CAAG;AAErD,mFAAmF;AACnF,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;gBAGnC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CAOJ;AAED,qBAAa,oBAAqB,SAAQ,mBAAmB;CAAG;AAEhE,qBAAa,oBAAqB,SAAQ,aAAa;IAEnD,QAAQ,CAAC,SAAS,EAAE,MAAM;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAFd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM;CAM1B;AAED,qBAAa,eAAgB,SAAQ,aAAa;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEzB,KAAK,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB;CAOF;AAED,qBAAa,oBAAqB,SAAQ,aAAa;IAMnD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;IAN3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;gBAGtB,MAAM,EAAE,MAAM,EACd,OAAO,SAAyB,EACvB,SAAS,CAAC,EAAE,MAAM,YAAA,EAClB,OAAO,CAAC,EAAE,MAAM,YAAA;CAK5B;AAED;;;;;;GAMG;AACH,qBAAa,4BAA6B,SAAQ,eAAe;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAEhB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAUxF;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,aAAa;IACpD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;gBAEd,KAAK,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB;CAMF"}
package/dist/errors.js CHANGED
@@ -74,14 +74,42 @@ export class TurnInterruptedError extends TiDBLinkError {
74
74
  this.turnId = turnId;
75
75
  }
76
76
  }
77
- /** Observation stopped locally; the original command can still be queried or observed. */
78
- export class ObservationStoppedError extends OutcomeUnknownError {
79
- cursor;
80
- timedOut;
81
- constructor(message, options) {
82
- super(message, options);
83
- this.cursor = options.cursor;
84
- this.timedOut = options.timedOut ?? false;
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;
85
113
  }
86
114
  }
87
115
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -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":"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"}
package/dist/events.js ADDED
@@ -0,0 +1,110 @@
1
+ import { TiDBLinkError } from "./errors.js";
2
+ const isObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
3
+ const isString = (value) => typeof value === "string";
4
+ /** Turn events name their durable event in `data.event`. */
5
+ const TURN_EVENTS = {
6
+ "agent.session.turn.started": ["turn_started"],
7
+ "agent.session.turn.output_text.snapshot": ["assistant_draft"],
8
+ "agent.session.turn.progress": ["progress"],
9
+ "agent.session.turn.item.added": ["assistant_message", "operation_step"],
10
+ "agent.session.turn.requires_action": ["client_tool_calls"],
11
+ "agent.session.turn.completed": ["turn_finished"],
12
+ "agent.session.turn.cancelled": ["turn_finished"],
13
+ "agent.session.turn.failed": ["turn_finished", "turn_error"],
14
+ };
15
+ const FINISHED_STATUS = {
16
+ "agent.session.turn.completed": "succeeded",
17
+ "agent.session.turn.cancelled": "interrupted",
18
+ "agent.session.turn.failed": "failed",
19
+ };
20
+ const isTextPayload = (payload) => isString(payload.text);
21
+ /** Whether a `client_tool_calls` payload has the fields the SDK types. */
22
+ export const isClientToolCallsPayload = (payload) => Array.isArray(payload.calls) &&
23
+ payload.calls.every((call) => isObject(call) &&
24
+ isString(call.callId) &&
25
+ isString(call.name) &&
26
+ isObject(call.arguments) &&
27
+ isString(call.deadlineAt) &&
28
+ (call.claimBy === undefined || isString(call.claimBy)));
29
+ const isKnownTurnPayload = (name, payload, type) => {
30
+ switch (name) {
31
+ case "progress":
32
+ case "assistant_draft":
33
+ return isTextPayload(payload);
34
+ case "assistant_message":
35
+ return isTextPayload(payload) && isString(payload.messageId);
36
+ case "operation_step":
37
+ return (isString(payload.operationId) &&
38
+ isString(payload.status) &&
39
+ isString(payload.label));
40
+ case "client_tool_calls":
41
+ return isClientToolCallsPayload(payload);
42
+ case "turn_finished":
43
+ return payload.status === FINISHED_STATUS[type];
44
+ case "turn_error":
45
+ return isString(payload.code) && isString(payload.message);
46
+ default:
47
+ return true;
48
+ }
49
+ };
50
+ /**
51
+ * Narrow an event to one of the types the SDK knows. Returns `undefined` for
52
+ * any other type, and for a known type whose data lacks the fields the SDK
53
+ * types; such events are still delivered by the stream unchanged.
54
+ */
55
+ export function asKnownSessionEvent(event) {
56
+ const { type, data } = event;
57
+ const turnEvents = TURN_EVENTS[type];
58
+ if (turnEvents) {
59
+ if (!isString(event.turnId) ||
60
+ !isString(data.event) ||
61
+ !turnEvents.includes(data.event) ||
62
+ !isObject(data.payload) ||
63
+ !isKnownTurnPayload(data.event, data.payload, type))
64
+ return undefined;
65
+ return event;
66
+ }
67
+ if (type === "agent.session.realtime.input_transcript.completed" ||
68
+ type === "agent.session.realtime.response.completed") {
69
+ const expected = type === "agent.session.realtime.input_transcript.completed"
70
+ ? "input_transcript"
71
+ : "response";
72
+ return data.type === expected &&
73
+ isString(data.id) &&
74
+ isString(data.text) &&
75
+ isString(data.realtimeConnectionId)
76
+ ? event
77
+ : undefined;
78
+ }
79
+ if (type === "agent.session.template_switch.succeeded" ||
80
+ type === "agent.session.template_switch.failed")
81
+ return isString(data.commandId) &&
82
+ isString(data.agentTemplateId) &&
83
+ typeof data.configurationEpoch === "number" &&
84
+ data.status === type.slice("agent.session.template_switch.".length)
85
+ ? event
86
+ : undefined;
87
+ if (type === "agent.session.idle")
88
+ return isString(data.id) && (data.turnId === null || isString(data.turnId))
89
+ ? event
90
+ : undefined;
91
+ return undefined;
92
+ }
93
+ /** Check one event envelope and attach its cursor. */
94
+ export function sessionEventFrom(value, cursor, options = {}) {
95
+ const requestId = options.requestId === undefined ? {} : { requestId: options.requestId };
96
+ const event = value;
97
+ if (!isString(cursor) ||
98
+ !cursor ||
99
+ !isObject(event) ||
100
+ !isString(event.type) ||
101
+ !event.type ||
102
+ !isString(event.sessionId) ||
103
+ (options.sessionId !== undefined && event.sessionId !== options.sessionId) ||
104
+ (event.turnId !== null && !isString(event.turnId)) ||
105
+ !isString(event.createdAt) ||
106
+ !isObject(event.data))
107
+ throw new TiDBLinkError("Session event has an invalid envelope", requestId);
108
+ return { ...event, cursor };
109
+ }
110
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}