@tidblink/server 0.3.0-rc.0 → 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/README.md +557 -368
- package/dist/audio.d.ts +9 -0
- package/dist/audio.d.ts.map +1 -1
- package/dist/audio.js +6 -1
- package/dist/audio.js.map +1 -1
- 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 +0 -25
- package/dist/client-tools.d.ts.map +1 -1
- package/dist/client-tools.js +1 -67
- package/dist/client-tools.js.map +1 -1
- 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.js +1 -1
- package/dist/control.js.map +1 -1
- package/dist/errors.d.ts +34 -11
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +36 -8
- package/dist/errors.js.map +1 -1
- 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.js +9 -9
- package/dist/files.js.map +1 -1
- package/dist/history.d.ts +38 -1
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +1 -1
- package/dist/history.js.map +1 -1
- package/dist/http.d.ts +28 -4
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +44 -24
- package/dist/http.js.map +1 -1
- package/dist/index.d.ts +26 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -4
- package/dist/index.js.map +1 -1
- package/dist/organization.d.ts +45 -28
- package/dist/organization.d.ts.map +1 -1
- package/dist/organization.js +67 -73
- package/dist/organization.js.map +1 -1
- package/dist/realtime.d.ts +0 -1
- package/dist/realtime.d.ts.map +1 -1
- package/dist/realtime.js +0 -1
- package/dist/realtime.js.map +1 -1
- 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 +37 -8
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +56 -29
- package/dist/session.js.map +1 -1
- 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 +5 -2
- package/dist/sse.d.ts.map +1 -1
- package/dist/sse.js +7 -2
- package/dist/sse.js.map +1 -1
- 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 +4 -0
- package/dist/turn.d.ts.map +1 -1
- package/dist/turn.js +17 -13
- package/dist/turn.js.map +1 -1
- package/dist/usage.d.ts +13 -197
- package/dist/usage.d.ts.map +1 -1
- package/dist/usage.js +5 -3
- package/dist/usage.js.map +1 -1
- package/dist/user.d.ts +10 -51
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +18 -105
- package/dist/user.js.map +1 -1
- package/examples/control-turn.mjs +9 -4
- package/examples/create-session.mjs +37 -24
- package/examples/http-connector.mjs +127 -0
- package/examples/lamp-backend.mjs +175 -0
- package/examples/prepare-realtime-connection.mjs +18 -7
- package/examples/read-usage.mjs +7 -25
- package/examples/send-message.mjs +9 -4
- package/examples/submit-audio.mjs +9 -4
- package/examples/upload-file.mjs +9 -4
- package/package.json +7 -13
- package/dist/progress.d.ts +0 -34
- package/dist/progress.d.ts.map +0 -1
- package/dist/progress.js +0 -154
- package/dist/progress.js.map +0 -1
- package/dist/schedulers.d.ts +0 -129
- package/dist/schedulers.d.ts.map +0 -1
- package/dist/schedulers.js +0 -91
- package/dist/schedulers.js.map +0 -1
- package/examples/answer-client-tool.mjs +0 -69
- package/examples/observe-message.mjs +0 -44
- package/examples/organization-session.mjs +0 -66
- package/examples/provision-user.mjs +0 -83
- package/examples/schedule-task.mjs +0 -67
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../src/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,4BAA4B,EACjC,KAAK,mCAAmC,EACxC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EAClC,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"organization.d.ts","sourceRoot":"","sources":["../src/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,4BAA4B,EACjC,KAAK,mCAAmC,EACxC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EAClC,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAG7C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAGL,KAAK,aAAa,EAInB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,iEAAiE;AACjE,qBAAa,kBAAkB;;IAO7B,oCAAoC;IACpC,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,oDAAoD;IACpD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,kEAAkE;IAClE,IAAI,UAAU,IAAI,UAAU,CAE3B;gBAEW,OAAO,EAAE,yBAAyB;IA6B9C;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,+FAA+F;IAC/F,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa;IAInC,YAAY,CACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,4BAA4B,CAAC;IAQxC,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mCAAmC,GAC3C,OAAO,CAAC,4BAA4B,CAAC;IAQlC,eAAe,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAQtE;;;;;OAKG;IACG,aAAa,CACjB,KAAK,GAAE,kBAAuB,EAC9B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,OAAO,CAAC;IAiCb,YAAY,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAQ1D,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;CAO7E"}
|
package/dist/organization.js
CHANGED
|
@@ -1,118 +1,112 @@
|
|
|
1
1
|
import { usageQuery, userUsagePath, } from "./usage.js";
|
|
2
2
|
import { EndUserClient } from "./user.js";
|
|
3
|
+
import { Templates } from "./templates.js";
|
|
4
|
+
import { Skills } from "./skills.js";
|
|
5
|
+
import { Connectors } from "./connectors.js";
|
|
3
6
|
import { OutcomeUnknownError } from "./errors.js";
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
throw new OutcomeUnknownError("TiDB Link accepted the credential request but returned an unusable receipt", { requestId });
|
|
7
|
-
};
|
|
8
|
-
const userApiKeyReceipt = (value, requestId, expected) => {
|
|
9
|
-
const apiKey = value;
|
|
10
|
-
if (typeof apiKey !== "object" ||
|
|
11
|
-
apiKey === null ||
|
|
12
|
-
Array.isArray(apiKey) ||
|
|
13
|
-
![apiKey.apiKeyId, apiKey.userId, apiKey.organizationId].every((id) => typeof id === "string" && id.length > 0) ||
|
|
14
|
-
(expected.userId !== undefined && apiKey.userId !== expected.userId) ||
|
|
15
|
-
(expected.apiKeyId !== undefined && apiKey.apiKeyId !== expected.apiKeyId) ||
|
|
16
|
-
apiKey.status !== expected.status ||
|
|
17
|
-
(expected.status === "active"
|
|
18
|
-
? apiKey.revokedAt !== null
|
|
19
|
-
: typeof apiKey.revokedAt !== "string" ||
|
|
20
|
-
!Number.isFinite(Date.parse(apiKey.revokedAt))))
|
|
21
|
-
return unusableCredentialReceipt(requestId);
|
|
22
|
-
return apiKey;
|
|
23
|
-
};
|
|
24
|
-
const issuedUserApiKey = (value, requestId, expected) => {
|
|
25
|
-
const result = value;
|
|
26
|
-
const apiKey = userApiKeyReceipt(result?.apiKey, requestId, {
|
|
27
|
-
...expected,
|
|
28
|
-
status: "active",
|
|
29
|
-
});
|
|
30
|
-
if (!isApiKey(result?.token, "user"))
|
|
31
|
-
return unusableCredentialReceipt(requestId);
|
|
32
|
-
// Token bodies omit the persistent row's uak_ marker.
|
|
33
|
-
const tokenId = result.token.split("_")[2];
|
|
34
|
-
if (apiKey.apiKeyId !== `uak_${tokenId}` ||
|
|
35
|
-
apiKey.tokenPrefix !== `ti_user_${tokenId}_`)
|
|
36
|
-
return unusableCredentialReceipt(requestId);
|
|
37
|
-
return { apiKey, token: result.token };
|
|
38
|
-
};
|
|
7
|
+
import { BackendConnectionPool } from "./backend-pool.js";
|
|
8
|
+
import { HttpClient, normalizeBaseUrl, isOrganizationApiKey, requireKnownKeys, requestOptions, } from "./http.js";
|
|
39
9
|
/** Customer operations authorized by an Organization API Key. */
|
|
40
10
|
export class OrganizationClient {
|
|
41
11
|
#http;
|
|
12
|
+
#backend;
|
|
13
|
+
#templates;
|
|
14
|
+
#skills;
|
|
15
|
+
#connectors;
|
|
16
|
+
/** Organization Agent Templates. */
|
|
17
|
+
get templates() {
|
|
18
|
+
return this.#templates;
|
|
19
|
+
}
|
|
20
|
+
/** Organization Skills that Templates reference. */
|
|
21
|
+
get skills() {
|
|
22
|
+
return this.#skills;
|
|
23
|
+
}
|
|
24
|
+
/** Organization Connectors: MCP tool servers that Agents call. */
|
|
25
|
+
get connectors() {
|
|
26
|
+
return this.#connectors;
|
|
27
|
+
}
|
|
42
28
|
constructor(options) {
|
|
43
|
-
requireKnownKeys(options, ["baseUrl", "apiKey"], "OrganizationClient options");
|
|
44
|
-
if (!
|
|
29
|
+
requireKnownKeys(options, ["baseUrl", "apiKey", "fetch", "WebSocket"], "OrganizationClient options");
|
|
30
|
+
if (!isOrganizationApiKey(options.apiKey)) {
|
|
45
31
|
throw new TypeError("OrganizationClient requires an Organization API Key");
|
|
46
32
|
}
|
|
47
|
-
|
|
33
|
+
if (options.WebSocket !== undefined && typeof options.WebSocket !== "function")
|
|
34
|
+
throw new TypeError("WebSocket must be a constructor");
|
|
35
|
+
this.#backend = new BackendConnectionPool({
|
|
36
|
+
baseUrl: normalizeBaseUrl(options.baseUrl),
|
|
37
|
+
apiKey: options.apiKey,
|
|
38
|
+
WebSocket: options.WebSocket,
|
|
39
|
+
});
|
|
40
|
+
this.#http = new HttpClient({
|
|
41
|
+
baseUrl: options.baseUrl,
|
|
42
|
+
apiKey: options.apiKey,
|
|
43
|
+
fetch: options.fetch,
|
|
44
|
+
backend: this.#backend,
|
|
45
|
+
});
|
|
46
|
+
this.#templates = new Templates(this.#http);
|
|
47
|
+
this.#skills = new Skills(this.#http);
|
|
48
|
+
this.#connectors = new Connectors(this.#http);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Close every Session connection opened through this client, with reason
|
|
52
|
+
* `closed`, and its Backend Connections. Later `connect()` calls are
|
|
53
|
+
* refused; REST calls keep working.
|
|
54
|
+
*/
|
|
55
|
+
close() {
|
|
56
|
+
return this.#backend.close();
|
|
48
57
|
}
|
|
49
|
-
/** Select the
|
|
58
|
+
/** Select the End User who owns the resources; the Organization API Key remains the caller. */
|
|
50
59
|
user(userId) {
|
|
51
60
|
return new EndUserClient(this.#http.forUser(userId));
|
|
52
61
|
}
|
|
53
|
-
async unlinkAgent(userId, agentId, options) {
|
|
54
|
-
const result = await this.#http.deleteResponse(`/api/v1/org/users/${encodeURIComponent(userId)}/agents/${encodeURIComponent(agentId)}`, { ...requestOptions(options), outcomeUnknown: true });
|
|
55
|
-
if (typeof result.data?.agent?.agentId !== "string" ||
|
|
56
|
-
!result.data.agent.agentId)
|
|
57
|
-
throw new OutcomeUnknownError("Agent unlink returned no usable receipt; reconcile the association", { requestId: result.requestId });
|
|
58
|
-
return result.data.agent;
|
|
59
|
-
}
|
|
60
62
|
getUserUsage(userId, options) {
|
|
61
63
|
const path = userUsagePath(userId, options);
|
|
62
|
-
return this.#http.get(`${path}${usageQuery(options, ["from", "to", "interval", "tagKey", "tagValue"])}`, options);
|
|
64
|
+
return this.#http.get(`${path}${usageQuery(options, ["from", "to", "interval", "templateId", "tagKey", "tagValue"])}`, options);
|
|
63
65
|
}
|
|
64
66
|
getUserUsageDetails(userId, options) {
|
|
65
67
|
const path = userUsagePath(userId, options);
|
|
66
|
-
return this.#http.get(`${path}/details${usageQuery(options, ["from", "to", "kind", "limit", "cursor", "tagKey", "tagValue"])}`, options);
|
|
68
|
+
return this.#http.get(`${path}/details${usageQuery(options, ["from", "to", "kind", "limit", "cursor", "templateId", "tagKey", "tagValue"])}`, options);
|
|
67
69
|
}
|
|
68
70
|
async getOrganization(options) {
|
|
69
|
-
const response = await this.#http.get("
|
|
71
|
+
const response = await this.#http.get("", requestOptions(options));
|
|
70
72
|
return response.organization;
|
|
71
73
|
}
|
|
74
|
+
/**
|
|
75
|
+
* Create an End User, or return the existing one with the same externalId.
|
|
76
|
+
* Calls with an externalId are retried automatically and are safe to repeat
|
|
77
|
+
* after an uncertain outcome. An externalId that only differs by case or
|
|
78
|
+
* accents from an existing one is refused with a ConflictError.
|
|
79
|
+
*/
|
|
72
80
|
async createEndUser(input = {}, options) {
|
|
73
|
-
|
|
81
|
+
requireKnownKeys(input, ["displayName", "externalId"], "End User input");
|
|
82
|
+
const result = await this.#http.postResponse("/users", {
|
|
74
83
|
...(input.displayName === undefined
|
|
75
84
|
? {}
|
|
76
85
|
: { displayName: input.displayName }),
|
|
77
86
|
...(input.externalId === undefined
|
|
78
87
|
? {}
|
|
79
88
|
: { externalId: input.externalId }),
|
|
80
|
-
}, {
|
|
89
|
+
}, {
|
|
90
|
+
...requestOptions(options),
|
|
91
|
+
outcomeUnknown: true,
|
|
92
|
+
idempotent: input.externalId !== undefined,
|
|
93
|
+
});
|
|
81
94
|
if (!result.data?.user ||
|
|
82
95
|
typeof result.data.user.userId !== "string" ||
|
|
83
96
|
!result.data.user.userId) {
|
|
84
|
-
throw new OutcomeUnknownError("End User creation returned no usable User;
|
|
97
|
+
throw new OutcomeUnknownError("End User creation returned no usable User; repeat it with the same externalId", {
|
|
85
98
|
requestId: result.requestId,
|
|
86
99
|
});
|
|
87
100
|
}
|
|
88
101
|
return result.data.user;
|
|
89
102
|
}
|
|
90
103
|
async listEndUsers(options) {
|
|
91
|
-
const response = await this.#http.get("/
|
|
104
|
+
const response = await this.#http.get("/users", requestOptions(options));
|
|
92
105
|
return response.users;
|
|
93
106
|
}
|
|
94
107
|
async getEndUser(userId, options) {
|
|
95
|
-
const response = await this.#http.get(`/
|
|
108
|
+
const response = await this.#http.get(`/users/${encodeURIComponent(userId)}`, requestOptions(options));
|
|
96
109
|
return response.user;
|
|
97
110
|
}
|
|
98
|
-
async createUserApiKey(userId, input, options) {
|
|
99
|
-
const result = await this.#http.postResponse(`/api/v1/org/users/${encodeURIComponent(userId)}/api-keys`, { name: input.name }, { ...requestOptions(options), outcomeUnknown: true });
|
|
100
|
-
return issuedUserApiKey(result.data, result.requestId, { userId });
|
|
101
|
-
}
|
|
102
|
-
async listUserApiKeys(userId, options) {
|
|
103
|
-
const response = await this.#http.get(`/api/v1/org/users/${encodeURIComponent(userId)}/api-keys`, requestOptions(options));
|
|
104
|
-
return response.apiKeys;
|
|
105
|
-
}
|
|
106
|
-
async rotateUserApiKey(apiKeyId, options) {
|
|
107
|
-
const result = await this.#http.postResponse(`/api/v1/org/user-api-keys/${encodeURIComponent(apiKeyId)}/rotate`, undefined, { ...requestOptions(options), outcomeUnknown: true });
|
|
108
|
-
return issuedUserApiKey(result.data, result.requestId, { apiKeyId });
|
|
109
|
-
}
|
|
110
|
-
async revokeUserApiKey(apiKeyId, options) {
|
|
111
|
-
const result = await this.#http.postResponse(`/api/v1/org/user-api-keys/${encodeURIComponent(apiKeyId)}/revoke`, undefined, { ...requestOptions(options), outcomeUnknown: true });
|
|
112
|
-
return userApiKeyReceipt(result.data?.apiKey, result.requestId, {
|
|
113
|
-
apiKeyId,
|
|
114
|
-
status: "revoked",
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
111
|
}
|
|
118
112
|
//# sourceMappingURL=organization.js.map
|
package/dist/organization.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../src/organization.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,GAKd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"organization.js","sourceRoot":"","sources":["../src/organization.ts"],"names":[],"mappings":"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"}
|
package/dist/realtime.d.ts
CHANGED
package/dist/realtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,CAAC;AACjD,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE1D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;CACjC;AAED,MAAM,MAAM,mBAAmB,GAC3B,wBAAwB,GACxB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,gBAAgB,EAAE,uBAAuB,EAAE,CAAC;IAC5C,KAAK,EAAE;QACL,KAAK,EAAE,mBAAmB,EAAE,CAAC;QAC7B,MAAM,EAAE,mBAAmB,EAAE,CAAC;KAC/B,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,8BAA8B;IAC7C,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,0BAA0B,GACrC,SAAS,8BAA8B,KACtC,sBAKD,CAAC;AAEH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,mBAAmB,CAAC;CAC7B;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"realtime.d.ts","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
|
package/dist/realtime.js
CHANGED
|
@@ -37,7 +37,6 @@ const isRealtimeConnection = (value) => {
|
|
|
37
37
|
return (value.object === "realtime_connection" &&
|
|
38
38
|
isString(value.id) &&
|
|
39
39
|
isString(value.sessionId) &&
|
|
40
|
-
isString(value.agentId) &&
|
|
41
40
|
isRecord(provider) &&
|
|
42
41
|
isString(provider.name) &&
|
|
43
42
|
isNullableString(provider.region) &&
|
package/dist/realtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA2DlD,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,OAAuC,EACf,EAAE,CAAC,CAAC;IAC5B,KAAK,EAAE,OAAO,CAAC,aAAa;IAC5B,QAAQ,EAAE,OAAO,CAAC,qBAAqB;IACvC,IAAI,EAAE,OAAO,CAAC,iBAAiB;IAC/B,KAAK,EAAE,OAAO,CAAC,aAAa;CAC7B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"realtime.js","sourceRoot":"","sources":["../src/realtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import type { BackendConnectionPool } from "./backend-pool.js";
|
|
2
|
+
import { type ClientToolDeclaration } from "./client-tools.js";
|
|
3
|
+
import { type RealtimeResponseEvent, type RealtimeTranscriptEvent, type SessionEvent } from "./events.js";
|
|
4
|
+
import { HttpClient } from "./http.js";
|
|
5
|
+
import { type OpenRealtimeConnectionInput, type RealtimeConnectGrant } from "./realtime.js";
|
|
6
|
+
import { type SendOptions } from "./session-send.js";
|
|
7
|
+
import type { TurnResult } from "./turn.js";
|
|
8
|
+
/** What a Client Tool handler learns about the call it runs. */
|
|
9
|
+
export interface ClientToolCallContext {
|
|
10
|
+
callId: string;
|
|
11
|
+
sessionId: string;
|
|
12
|
+
userId: string;
|
|
13
|
+
turnId: string;
|
|
14
|
+
/** The tool's name. */
|
|
15
|
+
name: string;
|
|
16
|
+
/** Submit the result before this time; the core then reports the effect as unknown. */
|
|
17
|
+
deadlineAt: Date;
|
|
18
|
+
/** Aborts when the deadline passes. */
|
|
19
|
+
signal: AbortSignal;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* One Client Tool: its declaration, which the model sees, and the function
|
|
23
|
+
* that executes it, usually by forwarding the call to a device.
|
|
24
|
+
*/
|
|
25
|
+
export interface ClientToolHandler {
|
|
26
|
+
description: string;
|
|
27
|
+
/** JSON Schema of the arguments. */
|
|
28
|
+
parameters: Record<string, unknown>;
|
|
29
|
+
/**
|
|
30
|
+
* Execute one call. Return the text the model receives; other values are
|
|
31
|
+
* sent as JSON. Throw to report a failure, whose message the model sees.
|
|
32
|
+
*/
|
|
33
|
+
run(args: Record<string, unknown>, context: ClientToolCallContext): unknown;
|
|
34
|
+
}
|
|
35
|
+
export type ClientToolHandlers = Record<string, ClientToolHandler>;
|
|
36
|
+
/** A completed Realtime user transcript. */
|
|
37
|
+
export type RealtimeTranscript = RealtimeTranscriptEvent["data"];
|
|
38
|
+
/** A completed Realtime model response. */
|
|
39
|
+
export type RealtimeResponse = RealtimeResponseEvent["data"];
|
|
40
|
+
export interface ConnectOptions {
|
|
41
|
+
/**
|
|
42
|
+
* The Session's Client Tools by name. Each attach replaces the Session's
|
|
43
|
+
* whole Client Tool set with these declarations, and this connection
|
|
44
|
+
* executes their calls. Omit to keep the stored set unchanged.
|
|
45
|
+
*/
|
|
46
|
+
tools?: ClientToolHandlers;
|
|
47
|
+
/**
|
|
48
|
+
* Receive events only, while another connection executes the Session's
|
|
49
|
+
* Client Tools. An observing connection never takes the Session from an
|
|
50
|
+
* executing one and cannot declare tools.
|
|
51
|
+
*/
|
|
52
|
+
observe?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Resume after this event: the cursor of the last event you processed,
|
|
55
|
+
* saved through `onCursor`. Without it, delivery starts after the
|
|
56
|
+
* Session's latest event and history is not replayed.
|
|
57
|
+
*/
|
|
58
|
+
cursor?: string;
|
|
59
|
+
/** Called after each event's callbacks complete, with its cursor. Persist it to resume. */
|
|
60
|
+
onCursor?: (cursor: string) => void | Promise<void>;
|
|
61
|
+
/** Every event of the Session, in order, including types the SDK does not know. */
|
|
62
|
+
onEvent?: (event: SessionEvent) => void | Promise<void>;
|
|
63
|
+
/** Each completed Realtime user transcript. */
|
|
64
|
+
onTranscript?: (transcript: RealtimeTranscript) => void | Promise<void>;
|
|
65
|
+
/** Each completed Realtime model response. */
|
|
66
|
+
onResponse?: (response: RealtimeResponse) => void | Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Errors that do not end the connection: a callback that threw, an
|
|
69
|
+
* invalid event, a tool result the core did not accept. Without it they
|
|
70
|
+
* are rethrown asynchronously, which by default ends a Node.js process.
|
|
71
|
+
*/
|
|
72
|
+
onError?: (error: unknown) => void;
|
|
73
|
+
}
|
|
74
|
+
/** Why a Session connection ended. */
|
|
75
|
+
export type SessionConnectionEnd =
|
|
76
|
+
/** `close()` or `OrganizationClient.close()`. */
|
|
77
|
+
{
|
|
78
|
+
reason: "closed";
|
|
79
|
+
}
|
|
80
|
+
/** Another connection attached the Session for execution. */
|
|
81
|
+
| {
|
|
82
|
+
reason: "superseded";
|
|
83
|
+
}
|
|
84
|
+
/** The Session was deleted. */
|
|
85
|
+
| {
|
|
86
|
+
reason: "session_deleted";
|
|
87
|
+
}
|
|
88
|
+
/** The connection could not be restored, for example after the Organization API Key was revoked. */
|
|
89
|
+
| {
|
|
90
|
+
reason: "error";
|
|
91
|
+
error: unknown;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* A Session attached over this process's Backend Connections. It receives
|
|
95
|
+
* the Session's events, in order and without gaps, across reconnects and
|
|
96
|
+
* replica moves, until `close()` or until `closed` reports why it ended.
|
|
97
|
+
*/
|
|
98
|
+
export declare class SessionConnection {
|
|
99
|
+
#private;
|
|
100
|
+
readonly sessionId: string;
|
|
101
|
+
readonly userId: string;
|
|
102
|
+
/** Resolves once, with why the connection ended. */
|
|
103
|
+
readonly closed: Promise<SessionConnectionEnd>;
|
|
104
|
+
/** @internal Use `session.connect()`. */
|
|
105
|
+
constructor(pool: BackendConnectionPool, http: HttpClient, userId: string, sessionId: string, options: ConnectOptions, declarations: ClientToolDeclaration[] | undefined);
|
|
106
|
+
/**
|
|
107
|
+
* Cursor of the last event whose callbacks completed, or the Session's
|
|
108
|
+
* position when the connection attached if none has arrived since.
|
|
109
|
+
*/
|
|
110
|
+
get cursor(): string | undefined;
|
|
111
|
+
/** The Session's attachment generation from the latest attach. */
|
|
112
|
+
get generation(): number | undefined;
|
|
113
|
+
/**
|
|
114
|
+
* Release the Session. Events stop, and calls published later go to no one
|
|
115
|
+
* until another connection attaches. Calls already running finish and
|
|
116
|
+
* their results are still submitted.
|
|
117
|
+
*/
|
|
118
|
+
close(): Promise<void>;
|
|
119
|
+
/**
|
|
120
|
+
* Send a user message over the connection and wait for the Turn it starts,
|
|
121
|
+
* or the active Turn it steers. `onProgress` receives the assistant's draft
|
|
122
|
+
* from the pushed events; the result is read once the Turn finished, with
|
|
123
|
+
* the same shape and errors as `session.turn()`. A message whose answer was
|
|
124
|
+
* lost to a reconnect is sent again with the same `clientEventId`, which
|
|
125
|
+
* the core deduplicates.
|
|
126
|
+
*/
|
|
127
|
+
send(text: string | [string, ...string[]], options?: SendOptions): Promise<TurnResult>;
|
|
128
|
+
/**
|
|
129
|
+
* Prepare the Session's Realtime connection and return what a device needs
|
|
130
|
+
* to join it directly: the WebSocket URL and a short-lived connect token.
|
|
131
|
+
* When a Realtime connection is already live, a new token for it is
|
|
132
|
+
* returned instead and `audio` is not applied.
|
|
133
|
+
*/
|
|
134
|
+
realtimeGrant(input?: OpenRealtimeConnectionInput, options?: {
|
|
135
|
+
signal?: AbortSignal;
|
|
136
|
+
}): Promise<RealtimeConnectGrant>;
|
|
137
|
+
/** @internal */
|
|
138
|
+
attach(): Promise<void>;
|
|
139
|
+
}
|
|
140
|
+
/** Check `connect()` options and turn tool handlers into declarations. */
|
|
141
|
+
export declare function connectDeclarations(options: ConnectOptions): ClientToolDeclaration[] | undefined;
|
|
142
|
+
/** Open a Session connection; resolves once the first attach took effect. */
|
|
143
|
+
export declare function connectSession(http: HttpClient, pool: BackendConnectionPool | undefined, userId: string | undefined, sessionId: string, options?: ConnectOptions): Promise<SessionConnection>;
|
|
144
|
+
//# sourceMappingURL=session-connection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-connection.d.ts","sourceRoot":"","sources":["../src/session-connection.ts"],"names":[],"mappings":"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"}
|