@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
package/dist/session.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import { type AudioTurnInput, type AudioTurnEvent, type AudioTurnResult } from "./audio.js";
2
- import { type PendingClientToolCall, type ClientToolOutputInput, type ClientToolDeclaration, type ClientToolSet, type ReplaceClientToolsOptions } from "./client-tools.js";
2
+ import { type ClientToolDeclaration, type ClientToolSet, type ReplaceClientToolsOptions } from "./client-tools.js";
3
3
  import { type TurnCommandInput, type RetryReceipt } from "./control.js";
4
- import { type SessionEvent, type SessionEventsOptions, type ObserveTurnOptions, type TurnObservation } from "./progress.js";
4
+ import { type SwitchTemplateInput, type TemplateSwitchReceipt } from "./template-switch.js";
5
5
  import type { RequestOptions } from "./organization.js";
6
+ import { type ConnectOptions, type SessionConnection } from "./session-connection.js";
6
7
  import { HttpClient } from "./http.js";
7
8
  import { type OpenRealtimeConnectionInput, type OpenRealtimeConnectionResult, type RealtimeConnectGrant, type RealtimeConnection, type RealtimeModelSelection } from "./realtime.js";
8
9
  import { type CreateTurnInput, type TurnResult, type WaitForResultOptions } from "./turn.js";
@@ -11,12 +12,27 @@ import type { ListOptions } from "./http.js";
11
12
  /** Model IDs come from the deployment catalog, including newly published models. */
12
13
  export type SelectableSessionModel = string;
13
14
  export type SessionModel = string;
15
+ /** The Sandbox a Session runs in, chosen at creation. */
16
+ export interface SessionSandboxSelection {
17
+ /** A selectable Sandbox profile; omitted or null uses the Template's profile. */
18
+ profileId?: string | null;
19
+ /** A Drive-relative working directory; defaults to `.`. Creation does not make it. */
20
+ workingDirectory?: string;
21
+ }
14
22
  export interface CreateSessionOptions extends RequestOptions {
23
+ /** The active Template the Session runs. Required: there is no default Template. */
24
+ templateId: string;
25
+ /** Keep the same key and input when recovering an uncertain creation. */
15
26
  idempotencyKey: string;
16
27
  model?: string;
17
28
  realtimeModel?: string;
18
29
  billingTag?: BillingTag | null;
19
30
  tools?: ClientToolDeclaration[];
31
+ /** Added to the Template instructions for this Session only; at most 4096 UTF-8 bytes. */
32
+ additionalInstructions?: string | null;
33
+ sandbox?: SessionSandboxSelection;
34
+ /** Required as `true` when the Template enables cross-Session Recall. */
35
+ acknowledgeSessionRecall?: boolean;
20
36
  }
21
37
  export interface SuggestSessionNameInput {
22
38
  userText: string;
@@ -54,7 +70,10 @@ export interface SessionRecord {
54
70
  audio: import("./realtime.js").RealtimeAudioFormats;
55
71
  startedAt: string;
56
72
  } | null;
57
- createdWithAgentId: string;
73
+ /** Current Session Configuration Epoch; null for read-only or provider-owned snapshots. */
74
+ configurationEpoch: number | null;
75
+ /** True while a Template switch fences new interaction. */
76
+ switching: boolean;
58
77
  modelPolicyStatus: "allowed" | "organization_disallowed";
59
78
  status: "active" | "deleted";
60
79
  activeTurnId: string | null;
@@ -110,14 +129,24 @@ export declare class Session {
110
129
  ifMatch: string;
111
130
  signal?: AbortSignal;
112
131
  }): Promise<RealtimeModelSelection>;
113
- events(options?: SessionEventsOptions): AsyncGenerator<SessionEvent>;
114
- observe(inputId: string, options?: ObserveTurnOptions): AsyncGenerator<TurnObservation>;
132
+ /**
133
+ * Move this idle Session to another Template. After a lost response, repeat
134
+ * with the same input to recover the receipt. The receipt holds no Session,
135
+ * so `data` is not updated: call `refresh()` to read the new Template.
136
+ */
137
+ switchTemplate(input: SwitchTemplateInput): Promise<TemplateSwitchReceipt>;
138
+ /**
139
+ * Attach this Session to the process's Backend Connection: receive its
140
+ * events and, unless `observe` is set, declare and execute its Client
141
+ * Tools. Resolves once the attach took effect. One connection per Session
142
+ * per OrganizationClient; a connection on another process or client takes
143
+ * the Session over and this one ends with `superseded`.
144
+ */
145
+ connect(options?: ConnectOptions): Promise<SessionConnection>;
115
146
  streamAudio(input: AudioTurnInput): AsyncGenerator<AudioTurnEvent>;
116
147
  audio(input: AudioTurnInput): Promise<AudioTurnResult>;
117
148
  getClientTools(options?: RequestOptions): Promise<ClientToolSet>;
118
149
  replaceClientTools(tools: readonly ClientToolDeclaration[], options: ReplaceClientToolsOptions): Promise<ClientToolSet>;
119
- listPendingClientToolCalls(options?: RequestOptions): Promise<PendingClientToolCall[]>;
120
- submitClientToolOutput(input: ClientToolOutputInput): Promise<SessionInteraction>;
121
150
  history(options?: ListOptions): Promise<TurnPage>;
122
151
  getTurn(turnId: string, options?: RequestOptions): Promise<TurnRecord>;
123
152
  timeline(options?: ListOptions): Promise<SessionTimelinePage>;
@@ -132,5 +161,5 @@ export declare class Session {
132
161
  waitForResult(inputId: string, options?: WaitForResultOptions): Promise<TurnResult>;
133
162
  turn(input: CreateTurnInput, options?: WaitForResultOptions): Promise<TurnResult>;
134
163
  }
135
- export declare const createSessionForAgent: (http: HttpClient, agentId: string, options: CreateSessionOptions) => Promise<Session>;
164
+ export declare const createSession: (http: HttpClient, options: CreateSessionOptions) => Promise<Session>;
136
165
  //# sourceMappingURL=session.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
package/dist/session.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { audioTurn, streamAudio, } from "./audio.js";
2
- import { getClientTools, replaceClientTools, validateClientTools, listPendingClientToolCalls, submitClientToolOutput, } from "./client-tools.js";
2
+ import { getClientTools, replaceClientTools, validateClientTools, } from "./client-tools.js";
3
3
  import { submitTurnCommand, } from "./control.js";
4
- import { sessionEvents, observeTurn, } from "./progress.js";
5
4
  import { OutcomeUnknownError } from "./errors.js";
6
- import { requestOptions, HttpClient, requireEtag, requireKnownKeys, requireCreationKey, } from "./http.js";
5
+ import { switchTemplate, } from "./template-switch.js";
6
+ import { connectSession, } from "./session-connection.js";
7
+ import { requestOptions, HttpClient, requireEtag, requireKnownKeys, requireCreationKey, requireTemplateId, } from "./http.js";
7
8
  import { realtimeModelSelectionFrom, requireOpenRealtimeConnectionReceipt, requireRealtimeConnectGrantReceipt, requireRealtimeConnectionReceipt, requireRealtimeModelSelectionReceipt, } from "./realtime.js";
8
9
  import { submitMessage, waitForResult, validateWaitOptions, } from "./turn.js";
9
10
  import { getInteraction, reconcileInteraction, listInteractions, history, getTurn, timeline, } from "./history.js";
@@ -28,7 +29,7 @@ export class Session {
28
29
  }
29
30
  async refresh(options) {
30
31
  options = requestOptions(options);
31
- const result = await this.#http.getResponse(`/api/v1/user/sessions/${encodeURIComponent(this.id)}`, options);
32
+ const result = await this.#http.getResponse(`/sessions/${encodeURIComponent(this.id)}`, options);
32
33
  const etag = requireEtag(result);
33
34
  this.#record = result.data.session;
34
35
  this.#etag = etag;
@@ -38,7 +39,7 @@ export class Session {
38
39
  options = requestOptions(options);
39
40
  if (!this.#etag)
40
41
  await this.refresh(options);
41
- const result = await this.#http.patchResponse(`/api/v1/user/sessions/${encodeURIComponent(this.id)}/model`, { model }, {
42
+ const result = await this.#http.patchResponse(`/sessions/${encodeURIComponent(this.id)}/model`, { model }, {
42
43
  ifMatch: this.#etag,
43
44
  outcomeUnknown: true,
44
45
  ...options,
@@ -52,33 +53,33 @@ export class Session {
52
53
  }
53
54
  async rename(name, options) {
54
55
  options = requestOptions(options);
55
- const result = await this.#http.postResponse(`/api/v1/user/sessions/${encodeURIComponent(this.id)}/name`, { name }, { ...options, outcomeUnknown: true });
56
+ const result = await this.#http.postResponse(`/sessions/${encodeURIComponent(this.id)}/name`, { name }, { ...options, outcomeUnknown: true });
56
57
  this.#record = sessionReceipt(result.data, result.requestId);
57
58
  return this;
58
59
  }
59
60
  async suggestName(input, options) {
60
61
  options = requestOptions(options);
61
62
  requireKnownKeys(input, ["userText", "assistantText"], "Session naming input");
62
- const result = await this.#http.postResponse(`/api/v1/user/sessions/${encodeURIComponent(this.id)}/name/suggest`, input, { ...options, outcomeUnknown: true });
63
+ const result = await this.#http.postResponse(`/sessions/${encodeURIComponent(this.id)}/name/suggest`, input, { ...options, outcomeUnknown: true });
63
64
  this.#record = sessionReceipt(result.data, result.requestId);
64
65
  return this;
65
66
  }
66
67
  async setBillingTag(billingTag, options) {
67
68
  options = requestOptions(options);
68
- const result = await this.#http.patchResponse(`/api/v1/user/sessions/${encodeURIComponent(this.id)}/billing-tag`, { billingTag }, { ...options, outcomeUnknown: true });
69
+ const result = await this.#http.patchResponse(`/sessions/${encodeURIComponent(this.id)}/billing-tag`, { billingTag }, { ...options, outcomeUnknown: true });
69
70
  this.#record = sessionReceipt(result.data, result.requestId);
70
71
  return this;
71
72
  }
72
73
  async delete(options) {
73
74
  options = requestOptions(options);
74
- const result = await this.#http.deleteResponse(`/api/v1/user/sessions/${encodeURIComponent(this.id)}`, { ...options, outcomeUnknown: true });
75
+ const result = await this.#http.deleteResponse(`/sessions/${encodeURIComponent(this.id)}`, { ...options, outcomeUnknown: true });
75
76
  this.#record = sessionReceipt(result.data, result.requestId);
76
77
  return this;
77
78
  }
78
79
  async openRealtimeConnection(input = {}, options) {
79
80
  options = requestOptions(options);
80
81
  requireKnownKeys(input, ["audio", "metadata"], "Realtime Connection input");
81
- const result = await this.#http.postResponse(`/api/v1/user/sessions/${encodeURIComponent(this.id)}/realtime`, input, {
82
+ const result = await this.#http.postResponse(`/sessions/${encodeURIComponent(this.id)}/realtime`, input, {
82
83
  outcomeUnknown: true,
83
84
  ...(options?.signal ? { signal: options.signal } : {}),
84
85
  });
@@ -86,12 +87,12 @@ export class Session {
86
87
  }
87
88
  async getRealtimeConnection(options) {
88
89
  options = requestOptions(options);
89
- const response = await this.#http.get(`/api/v1/user/sessions/${encodeURIComponent(this.id)}/realtime`, options);
90
+ const response = await this.#http.get(`/sessions/${encodeURIComponent(this.id)}/realtime`, options);
90
91
  return response.realtimeConnection;
91
92
  }
92
93
  async createRealtimeConnectToken(options) {
93
94
  options = requestOptions(options);
94
- const result = await this.#http.postResponse(`/api/v1/user/sessions/${encodeURIComponent(this.id)}/realtime/connect-tokens`, undefined, {
95
+ const result = await this.#http.postResponse(`/sessions/${encodeURIComponent(this.id)}/realtime/connect-tokens`, undefined, {
95
96
  outcomeUnknown: true,
96
97
  ...(options?.signal ? { signal: options.signal } : {}),
97
98
  });
@@ -99,7 +100,7 @@ export class Session {
99
100
  }
100
101
  async endRealtimeConnection(options) {
101
102
  options = requestOptions(options);
102
- const result = await this.#http.deleteResponse(`/api/v1/user/sessions/${encodeURIComponent(this.id)}/realtime`, {
103
+ const result = await this.#http.deleteResponse(`/sessions/${encodeURIComponent(this.id)}/realtime`, {
103
104
  outcomeUnknown: true,
104
105
  ...(options?.signal ? { signal: options.signal } : {}),
105
106
  });
@@ -107,7 +108,7 @@ export class Session {
107
108
  }
108
109
  async getRealtimeModelSelection(options) {
109
110
  options = requestOptions(options);
110
- const response = await this.#http.get(`/api/v1/user/sessions/${encodeURIComponent(this.id)}`, options);
111
+ const response = await this.#http.get(`/sessions/${encodeURIComponent(this.id)}`, options);
111
112
  return realtimeModelSelectionFrom(response.session);
112
113
  }
113
114
  async setRealtimeModel(model, options) {
@@ -116,7 +117,7 @@ export class Session {
116
117
  throw new TypeError("Realtime Model ID must contain 1-128 characters");
117
118
  if (!options.ifMatch)
118
119
  throw new TypeError("Realtime Model selection requires ifMatch");
119
- const result = await this.#http.patchResponse(`/api/v1/user/sessions/${encodeURIComponent(this.id)}/realtime-model`, { realtimeModel: model }, {
120
+ const result = await this.#http.patchResponse(`/sessions/${encodeURIComponent(this.id)}/realtime-model`, { realtimeModel: model }, {
120
121
  ifMatch: options.ifMatch,
121
122
  outcomeUnknown: true,
122
123
  ...(options.signal ? { signal: options.signal } : {}),
@@ -124,11 +125,23 @@ export class Session {
124
125
  const receipt = result.data;
125
126
  return requireRealtimeModelSelectionReceipt(receipt?.session, result.requestId);
126
127
  }
127
- events(options) {
128
- return sessionEvents(this.#http, this.id, options);
129
- }
130
- observe(inputId, options) {
131
- return observeTurn(this.#http, this.id, inputId, options);
128
+ /**
129
+ * Move this idle Session to another Template. After a lost response, repeat
130
+ * with the same input to recover the receipt. The receipt holds no Session,
131
+ * so `data` is not updated: call `refresh()` to read the new Template.
132
+ */
133
+ switchTemplate(input) {
134
+ return switchTemplate(this.#http, this.id, input);
135
+ }
136
+ /**
137
+ * Attach this Session to the process's Backend Connection: receive its
138
+ * events and, unless `observe` is set, declare and execute its Client
139
+ * Tools. Resolves once the attach took effect. One connection per Session
140
+ * per OrganizationClient; a connection on another process or client takes
141
+ * the Session over and this one ends with `superseded`.
142
+ */
143
+ connect(options) {
144
+ return connectSession(this.#http, this.#http.backend, this.#http.userId, this.id, options);
132
145
  }
133
146
  streamAudio(input) {
134
147
  return streamAudio(this.#http, this.id, input);
@@ -142,12 +155,6 @@ export class Session {
142
155
  replaceClientTools(tools, options) {
143
156
  return replaceClientTools(this.#http, this.id, tools, options);
144
157
  }
145
- listPendingClientToolCalls(options) {
146
- return listPendingClientToolCalls(this.#http, this.id, options);
147
- }
148
- submitClientToolOutput(input) {
149
- return submitClientToolOutput(this.#http, this.id, input);
150
- }
151
158
  history(options) {
152
159
  return history(this.#http, this.id, options);
153
160
  }
@@ -197,21 +204,41 @@ const sessionReceipt = (value, requestId) => {
197
204
  }
198
205
  return value.session;
199
206
  };
200
- export const createSessionForAgent = async (http, agentId, options) => {
207
+ export const createSession = async (http, options) => {
201
208
  requireKnownKeys(options, [
209
+ "templateId",
202
210
  "idempotencyKey",
203
211
  "model",
204
212
  "realtimeModel",
205
213
  "billingTag",
206
214
  "tools",
215
+ "additionalInstructions",
216
+ "sandbox",
217
+ "acknowledgeSessionRecall",
207
218
  "signal",
208
219
  "requestId",
209
220
  ], "Session options");
221
+ requireTemplateId(options.templateId, "Session creation");
210
222
  requireCreationKey(options.idempotencyKey);
211
223
  if (options.tools !== undefined)
212
224
  validateClientTools(options.tools);
213
- const { idempotencyKey, signal, requestId, ...body } = options;
214
- const result = await http.postResponse("/api/v1/user/sessions", { agentId, ...body }, {
225
+ const instructions = options.additionalInstructions;
226
+ if (instructions !== undefined &&
227
+ instructions !== null &&
228
+ typeof instructions !== "string")
229
+ throw new TypeError("additionalInstructions must be text or null");
230
+ if (options.sandbox !== undefined) {
231
+ requireKnownKeys(options.sandbox, ["profileId", "workingDirectory"], "Session Sandbox selection");
232
+ const { profileId, workingDirectory } = options.sandbox;
233
+ if (profileId !== undefined &&
234
+ profileId !== null &&
235
+ typeof profileId !== "string")
236
+ throw new TypeError("sandbox.profileId must be text or null");
237
+ if (workingDirectory !== undefined && typeof workingDirectory !== "string")
238
+ throw new TypeError("sandbox.workingDirectory must be text");
239
+ }
240
+ const { templateId, idempotencyKey, signal, requestId, ...body } = options;
241
+ const result = await http.postResponse("/sessions", { agentTemplateId: templateId, ...body }, {
215
242
  idempotencyKey,
216
243
  idempotent: true,
217
244
  outcomeUnknown: true,
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import { HttpClient, type ListOptions } from "./http.js";
2
+ import type { RequestOptions } from "./organization.js";
3
+ export interface SkillSummary {
4
+ skillId: string;
5
+ name: string;
6
+ description: string;
7
+ revision: number;
8
+ /** The latest published version. */
9
+ headVersion: number;
10
+ createdAt: string;
11
+ updatedAt: string;
12
+ }
13
+ export interface SkillVersion {
14
+ version: number;
15
+ name: string;
16
+ description: string;
17
+ packageDigest: string;
18
+ rawSize: number;
19
+ extractedSize: number;
20
+ loadable: boolean;
21
+ portable: boolean;
22
+ createdAt: string;
23
+ }
24
+ export interface SkillPage {
25
+ skills: SkillSummary[];
26
+ nextCursor: string | null;
27
+ }
28
+ /** A Skill with one page of its published versions, newest first. */
29
+ export interface SkillDetail {
30
+ skill: SkillSummary;
31
+ versions: SkillVersion[];
32
+ nextCursor: string | null;
33
+ }
34
+ export type SkillUploadState = "uploading" | "pending" | "uploaded" | "fetching" | "validating" | "extracting" | "awaiting_confirmation" | "finalizing" | "done" | "failed" | "aborted";
35
+ /**
36
+ * A Skill ZIP being validated and published. It reaches
37
+ * `awaiting_confirmation` once valid, then `done` with a `version` after
38
+ * publication; `failed` and `aborted` are final.
39
+ */
40
+ export interface SkillUpload {
41
+ uploadId: string;
42
+ /** Every upload creates a new Skill. */
43
+ skillId: string;
44
+ state: SkillUploadState;
45
+ byteSize: number;
46
+ sha256: string;
47
+ /** Publish before this time. */
48
+ expiresAt: string | null;
49
+ validation: {
50
+ entriesTotal: number | null;
51
+ fileCount: number | null;
52
+ entriesDone: number;
53
+ declaredBytes: number | null;
54
+ bytesDone: number;
55
+ diagnostics: Record<string, unknown>[];
56
+ failureCode: string | null;
57
+ failurePath: string | null;
58
+ };
59
+ /** The published version once `state` is `done`. */
60
+ version: number | null;
61
+ createdAt: string;
62
+ updatedAt: string;
63
+ }
64
+ export interface UploadSkillInput extends RequestOptions {
65
+ /** The Skill package as a ZIP archive (at most 200 MiB). */
66
+ bytes: Uint8Array;
67
+ /** Repeating the same bytes with the same key returns the original upload. */
68
+ idempotencyKey: string;
69
+ }
70
+ export interface PublishSkillOptions extends RequestOptions {
71
+ /** Repeating publication with the same key returns the same upload. */
72
+ idempotencyKey: string;
73
+ }
74
+ export interface WaitForSkillUploadOptions extends RequestOptions {
75
+ /** Stop waiting at one of these states. Defaults to `awaiting_confirmation`, `done`, `failed` and `aborted`. */
76
+ until?: readonly SkillUploadState[];
77
+ /** Local wait limit; default 120 seconds. */
78
+ timeoutMs?: number;
79
+ /** Delay between reads; default 1 second. */
80
+ intervalMs?: number;
81
+ }
82
+ /** Organization Skills that Templates can reference by `skillId` and `version`. */
83
+ export declare class Skills {
84
+ #private;
85
+ constructor(http: HttpClient);
86
+ /** Published, loadable Organization Skills. */
87
+ list(options?: ListOptions): Promise<SkillPage>;
88
+ /** A Skill and its published versions, newest first. */
89
+ get(skillId: string, options?: ListOptions): Promise<SkillDetail>;
90
+ /** Upload a Skill ZIP for validation. It is not published until `publish`. */
91
+ upload(input: UploadSkillInput): Promise<SkillUpload>;
92
+ getUpload(uploadId: string, options?: RequestOptions): Promise<SkillUpload>;
93
+ /** Read the upload until it reaches a settled state. */
94
+ waitForUpload(uploadId: string, options?: WaitForSkillUploadOptions): Promise<SkillUpload>;
95
+ /** Cancel an upload that is not published. */
96
+ cancelUpload(uploadId: string, options?: RequestOptions): Promise<void>;
97
+ /**
98
+ * Publish a validated upload as the Skill's next version. Publication
99
+ * finishes asynchronously: wait for `done` to read the `version`.
100
+ */
101
+ publish(uploadId: string, options: PublishSkillOptions): Promise<SkillUpload>;
102
+ }
103
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EAOV,KAAK,WAAW,EACjB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,qEAAqE;AACrE,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,gBAAgB,GACxB,WAAW,GACX,SAAS,GACT,UAAU,GACV,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,uBAAuB,GACvB,YAAY,GACZ,MAAM,GACN,QAAQ,GACR,SAAS,CAAC;AAEd;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE;QACV,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QACvC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;KAC5B,CAAC;IACF,oDAAoD;IACpD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,4DAA4D;IAC5D,KAAK,EAAE,UAAU,CAAC;IAClB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc;IACzD,uEAAuE;IACvE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,yBAA0B,SAAQ,cAAc;IAC/D,gHAAgH;IAChH,KAAK,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACpC,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA0BD,mFAAmF;AACnF,qBAAa,MAAM;;gBAGL,IAAI,EAAE,UAAU;IAI5B,+CAA+C;IAC/C,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAI/C,wDAAwD;IACxD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAOjE,8EAA8E;IACxE,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC;IAkCrD,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,WAAW,CAAC;IAQvB,wDAAwD;IAClD,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,WAAW,CAAC;IA2BvB,8CAA8C;IACxC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAO7E;;;OAGG;IACG,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,WAAW,CAAC;CAgBxB"}
package/dist/skills.js ADDED
@@ -0,0 +1,98 @@
1
+ import { OutcomeUnknownError, TiDBLinkError } from "./errors.js";
2
+ import { HttpClient, paginationQuery, requireCreationKey, requireKnownKeys, requestOptions, sleep, } from "./http.js";
3
+ const SETTLED = [
4
+ "awaiting_confirmation",
5
+ "done",
6
+ "failed",
7
+ "aborted",
8
+ ];
9
+ const uploadPath = (id) => `/skills/uploads/${encodeURIComponent(id)}`;
10
+ const uploadReceipt = (result) => {
11
+ if (typeof result.data?.upload?.uploadId !== "string" ||
12
+ !result.data.upload.uploadId)
13
+ throw new OutcomeUnknownError("Skill upload returned no usable state; repeat it with the same idempotency key", { requestId: result.requestId });
14
+ return result.data.upload;
15
+ };
16
+ /** Organization Skills that Templates can reference by `skillId` and `version`. */
17
+ export class Skills {
18
+ #http;
19
+ constructor(http) {
20
+ this.#http = http;
21
+ }
22
+ /** Published, loadable Organization Skills. */
23
+ list(options) {
24
+ return this.#http.get(`/skills${paginationQuery(options)}`, options);
25
+ }
26
+ /** A Skill and its published versions, newest first. */
27
+ get(skillId, options) {
28
+ return this.#http.get(`/skills/${encodeURIComponent(skillId)}${paginationQuery(options)}`, options);
29
+ }
30
+ /** Upload a Skill ZIP for validation. It is not published until `publish`. */
31
+ async upload(input) {
32
+ requireKnownKeys(input, ["bytes", "idempotencyKey", "signal", "requestId"], "Skill upload");
33
+ if (!(input.bytes instanceof Uint8Array) || input.bytes.byteLength === 0)
34
+ throw new TypeError("Skill upload requires the ZIP bytes");
35
+ requireCreationKey(input.idempotencyKey);
36
+ const { response, requestId } = await this.#http.rawResponse("/skills/uploads", {
37
+ method: "POST",
38
+ body: Uint8Array.from(input.bytes),
39
+ headers: { "content-type": "application/octet-stream" },
40
+ idempotencyKey: input.idempotencyKey,
41
+ retry: "safe",
42
+ outcomeUnknown: true,
43
+ ...(input.signal ? { signal: input.signal } : {}),
44
+ ...(input.requestId ? { requestId: input.requestId } : {}),
45
+ });
46
+ let data;
47
+ try {
48
+ data = (await response.json());
49
+ }
50
+ catch (cause) {
51
+ throw new OutcomeUnknownError("Skill upload returned an unusable response; repeat it with the same idempotency key", { requestId, cause });
52
+ }
53
+ return uploadReceipt({ data, etag: undefined, requestId });
54
+ }
55
+ async getUpload(uploadId, options) {
56
+ const response = await this.#http.get(uploadPath(uploadId), requestOptions(options));
57
+ return response.upload;
58
+ }
59
+ /** Read the upload until it reaches a settled state. */
60
+ async waitForUpload(uploadId, options = {}) {
61
+ requireKnownKeys(options, ["until", "timeoutMs", "intervalMs", "signal", "requestId"], "Skill upload wait options");
62
+ const { until = SETTLED, timeoutMs = 120_000, intervalMs = 1_000 } = options;
63
+ for (const value of [timeoutMs, intervalMs])
64
+ if (!Number.isSafeInteger(value) || value < 0)
65
+ throw new TypeError("Wait durations must be non-negative integers");
66
+ const deadline = Date.now() + timeoutMs;
67
+ const request = {
68
+ ...(options.signal ? { signal: options.signal } : {}),
69
+ ...(options.requestId ? { requestId: options.requestId } : {}),
70
+ };
71
+ while (true) {
72
+ const upload = await this.getUpload(uploadId, request);
73
+ if (until.includes(upload.state))
74
+ return upload;
75
+ if (Date.now() + intervalMs > deadline)
76
+ throw new TiDBLinkError(`Skill upload is still ${upload.state}; read it again later`);
77
+ await sleep(intervalMs, options.signal);
78
+ }
79
+ }
80
+ /** Cancel an upload that is not published. */
81
+ async cancelUpload(uploadId, options) {
82
+ await this.#http.deleteResponse(uploadPath(uploadId), {
83
+ ...requestOptions(options),
84
+ outcomeUnknown: true,
85
+ });
86
+ }
87
+ /**
88
+ * Publish a validated upload as the Skill's next version. Publication
89
+ * finishes asynchronously: wait for `done` to read the `version`.
90
+ */
91
+ async publish(uploadId, options) {
92
+ requireKnownKeys(options, ["idempotencyKey", "signal", "requestId"], "Skill publication options");
93
+ requireCreationKey(options.idempotencyKey);
94
+ const { idempotencyKey, ...request } = options;
95
+ return uploadReceipt(await this.#http.postResponse(`${uploadPath(uploadId)}/publish`, undefined, { idempotencyKey, idempotent: true, outcomeUnknown: true, ...request }));
96
+ }
97
+ }
98
+ //# sourceMappingURL=skills.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../src/skills.ts"],"names":[],"mappings":"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"}
package/dist/sse.d.ts CHANGED
@@ -1,5 +1,8 @@
1
- /** Decode data frames only. A frame is complete only at its blank line. */
2
- export declare function decodeSse(body: ReadableStream<Uint8Array>): AsyncGenerator<{
1
+ /**
2
+ * Decode data frames only. A frame is complete only at its blank line.
3
+ * `onBytes` runs for every chunk read, including comment-only keep-alives.
4
+ */
5
+ export declare function decodeSse(body: ReadableStream<Uint8Array>, onBytes?: () => void): AsyncGenerator<{
3
6
  id: string;
4
7
  event: string;
5
8
  data: string;
package/dist/sse.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,wBAAuB,SAAS,CAC9B,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,GAC/B,cAAc,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAuCD"}
1
+ {"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAuB,SAAS,CAC9B,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,IAAI,GACnB,cAAc,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd,CAAC,CAwCD"}
package/dist/sse.js CHANGED
@@ -1,5 +1,8 @@
1
- /** Decode data frames only. A frame is complete only at its blank line. */
2
- export async function* decodeSse(body) {
1
+ /**
2
+ * Decode data frames only. A frame is complete only at its blank line.
3
+ * `onBytes` runs for every chunk read, including comment-only keep-alives.
4
+ */
5
+ export async function* decodeSse(body, onBytes) {
3
6
  const reader = body.getReader();
4
7
  const decoder = new TextDecoder("utf-8", { fatal: true });
5
8
  let buffer = "";
@@ -9,6 +12,8 @@ export async function* decodeSse(body) {
9
12
  try {
10
13
  while (true) {
11
14
  const chunk = await reader.read();
15
+ if (!chunk.done)
16
+ onBytes?.();
12
17
  buffer += decoder.decode(chunk.value, { stream: !chunk.done });
13
18
  let end;
14
19
  while ((end = buffer.search(/[\r\n]/)) !== -1) {