@tidblink/server 0.0.0-stage → 0.3.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +993 -2
- package/dist/audio.d.ts +63 -0
- package/dist/audio.d.ts.map +1 -0
- package/dist/audio.js +163 -0
- package/dist/audio.js.map +1 -0
- package/dist/client-tools.d.ts +46 -0
- package/dist/client-tools.d.ts.map +1 -0
- package/dist/client-tools.js +114 -0
- package/dist/client-tools.js.map +1 -0
- package/dist/control.d.ts +17 -0
- package/dist/control.d.ts.map +1 -0
- package/dist/control.js +52 -0
- package/dist/control.js.map +1 -0
- package/dist/errors.d.ts +80 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +87 -0
- package/dist/errors.js.map +1 -0
- package/dist/files.d.ts +129 -0
- package/dist/files.d.ts.map +1 -0
- package/dist/files.js +388 -0
- package/dist/files.js.map +1 -0
- package/dist/history.d.ts +242 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +91 -0
- package/dist/history.js.map +1 -0
- package/dist/http.d.ts +64 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +282 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/organization.d.ts +70 -0
- package/dist/organization.d.ts.map +1 -0
- package/dist/organization.js +118 -0
- package/dist/organization.js.map +1 -0
- package/dist/progress.d.ts +34 -0
- package/dist/progress.d.ts.map +1 -0
- package/dist/progress.js +154 -0
- package/dist/progress.js.map +1 -0
- package/dist/realtime.d.ts +91 -0
- package/dist/realtime.d.ts.map +1 -0
- package/dist/realtime.js +112 -0
- package/dist/realtime.js.map +1 -0
- package/dist/schedulers.d.ts +129 -0
- package/dist/schedulers.d.ts.map +1 -0
- package/dist/schedulers.js +91 -0
- package/dist/schedulers.js.map +1 -0
- package/dist/session.d.ts +136 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +226 -0
- package/dist/session.js.map +1 -0
- package/dist/sse.d.ts +7 -0
- package/dist/sse.d.ts.map +1 -0
- package/dist/sse.js +45 -0
- package/dist/sse.js.map +1 -0
- package/dist/turn.d.ts +43 -0
- package/dist/turn.d.ts.map +1 -0
- package/dist/turn.js +206 -0
- package/dist/turn.js.map +1 -0
- package/dist/usage.d.ts +462 -0
- package/dist/usage.d.ts.map +1 -0
- package/dist/usage.js +20 -0
- package/dist/usage.js.map +1 -0
- package/dist/user.d.ts +96 -0
- package/dist/user.d.ts.map +1 -0
- package/dist/user.js +139 -0
- package/dist/user.js.map +1 -0
- package/examples/answer-client-tool.mjs +69 -0
- package/examples/control-turn.mjs +48 -0
- package/examples/create-session.mjs +69 -0
- package/examples/observe-message.mjs +44 -0
- package/examples/organization-session.mjs +66 -0
- package/examples/prepare-realtime-connection.mjs +61 -0
- package/examples/provision-user.mjs +83 -0
- package/examples/read-usage.mjs +62 -0
- package/examples/schedule-task.mjs +67 -0
- package/examples/send-message.mjs +43 -0
- package/examples/submit-audio.mjs +52 -0
- package/examples/upload-file.mjs +53 -0
- package/package.json +65 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"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"}
|
package/dist/usage.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { requireKnownKeys } from "./http.js";
|
|
2
|
+
export const usageQuery = (options, allowed) => {
|
|
3
|
+
requireKnownKeys(options, [...allowed, "signal", "requestId"], "Usage options");
|
|
4
|
+
const query = new URLSearchParams();
|
|
5
|
+
for (const [key, value] of Object.entries(options))
|
|
6
|
+
if (allowed.includes(key) && value !== undefined)
|
|
7
|
+
query.set(key, String(value));
|
|
8
|
+
return query.size ? `?${query}` : "";
|
|
9
|
+
};
|
|
10
|
+
export const userUsagePath = (userId, options) => {
|
|
11
|
+
if (typeof userId !== "string" || !/^[a-z0-9_-]{1,64}$/.test(userId))
|
|
12
|
+
throw new TypeError("Organization usage requires an explicit User ID");
|
|
13
|
+
if (typeof options?.from !== "string" ||
|
|
14
|
+
!options.from ||
|
|
15
|
+
typeof options.to !== "string" ||
|
|
16
|
+
!options.to)
|
|
17
|
+
throw new TypeError("Organization usage requires from and to UTC timestamps");
|
|
18
|
+
return `/api/v1/org/users/${encodeURIComponent(userId)}/billing/usage`;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usage.js","sourceRoot":"","sources":["../src/usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AA0gB7C,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,OAAe,EACf,OAA0B,EAClB,EAAE;IACV,gBAAgB,CACd,OAAO,EACP,CAAC,GAAG,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC,EACnC,eAAe,CAChB,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;QAChD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,SAAS;YAC9C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAAc,EACd,OAAqC,EAC7B,EAAE;IACV,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;QAClE,MAAM,IAAI,SAAS,CAAC,iDAAiD,CAAC,CAAC;IACzE,IACE,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ;QACjC,CAAC,OAAO,CAAC,IAAI;QACb,OAAO,OAAO,CAAC,EAAE,KAAK,QAAQ;QAC9B,CAAC,OAAO,CAAC,EAAE;QAEX,MAAM,IAAI,SAAS,CACjB,wDAAwD,CACzD,CAAC;IACJ,OAAO,qBAAqB,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC;AACzE,CAAC,CAAC"}
|
package/dist/user.d.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { type UserUsageOptions, type UserUsageDetailsOptions, type UserUsageSummary, type UserUsageDetails } from "./usage.js";
|
|
2
|
+
import { UserSchedulers, type OrganizationSchedulerListOptions } from "./schedulers.js";
|
|
3
|
+
import { UserFiles } from "./files.js";
|
|
4
|
+
import { HttpClient, type ListOptions } from "./http.js";
|
|
5
|
+
import type { RequestOptions } from "./organization.js";
|
|
6
|
+
import { type CreateSessionOptions, Session } from "./session.js";
|
|
7
|
+
import type { RealtimeModelCatalog } from "./realtime.js";
|
|
8
|
+
export interface UserClientOptions {
|
|
9
|
+
baseUrl: string;
|
|
10
|
+
apiKey: string;
|
|
11
|
+
}
|
|
12
|
+
/** Create/list/unlink return association metadata; owner get/update also include preferences. */
|
|
13
|
+
export interface AgentRecord {
|
|
14
|
+
agentId: string;
|
|
15
|
+
organizationId: string;
|
|
16
|
+
ownerUserId: string;
|
|
17
|
+
agentTemplateId: string;
|
|
18
|
+
status: "active" | "archived";
|
|
19
|
+
createdAt: string;
|
|
20
|
+
updatedAt: string;
|
|
21
|
+
additionalInstructions?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface AgentTemplate {
|
|
24
|
+
agentTemplateId: string;
|
|
25
|
+
displayName: string;
|
|
26
|
+
description: string;
|
|
27
|
+
contentDigest: string;
|
|
28
|
+
}
|
|
29
|
+
export interface AgentTemplatePage {
|
|
30
|
+
templates: AgentTemplate[];
|
|
31
|
+
hasMore: boolean;
|
|
32
|
+
nextCursor: string | null;
|
|
33
|
+
}
|
|
34
|
+
export interface AgentModelCatalog {
|
|
35
|
+
defaultModel: string;
|
|
36
|
+
models: {
|
|
37
|
+
model: string;
|
|
38
|
+
label: string;
|
|
39
|
+
availability: "available" | "provider_unconfigured";
|
|
40
|
+
}[];
|
|
41
|
+
organizationDefaultModel: string;
|
|
42
|
+
effectiveDefaultModel: string;
|
|
43
|
+
organizationAllowedModels: string[];
|
|
44
|
+
effectiveAllowedModels: string[];
|
|
45
|
+
}
|
|
46
|
+
export interface CreateAgentInput extends RequestOptions {
|
|
47
|
+
agentTemplateId: string;
|
|
48
|
+
/** Keep the same key and input when recovering an uncertain creation. */
|
|
49
|
+
idempotencyKey: string;
|
|
50
|
+
}
|
|
51
|
+
export interface UpdateAgentInput {
|
|
52
|
+
/** Applied only to future Sessions. Null or empty text clears the preference. */
|
|
53
|
+
additionalInstructions: string | null;
|
|
54
|
+
}
|
|
55
|
+
export declare class Agent {
|
|
56
|
+
#private;
|
|
57
|
+
constructor(http: HttpClient, record: AgentRecord);
|
|
58
|
+
get id(): string;
|
|
59
|
+
get status(): AgentRecord["status"];
|
|
60
|
+
get data(): Readonly<AgentRecord>;
|
|
61
|
+
refresh(options?: RequestOptions): Promise<this>;
|
|
62
|
+
update(input: UpdateAgentInput, options?: RequestOptions): Promise<this>;
|
|
63
|
+
createSession(options: CreateSessionOptions): Promise<Session>;
|
|
64
|
+
}
|
|
65
|
+
export interface SessionPage {
|
|
66
|
+
sessions: Session[];
|
|
67
|
+
hasMore: boolean;
|
|
68
|
+
nextCursor: string | null;
|
|
69
|
+
}
|
|
70
|
+
/** Ordinary End User resources under the caller's authority. */
|
|
71
|
+
export declare class EndUserClient {
|
|
72
|
+
#private;
|
|
73
|
+
protected get http(): HttpClient;
|
|
74
|
+
get schedulers(): UserSchedulers<OrganizationSchedulerListOptions>;
|
|
75
|
+
get files(): UserFiles;
|
|
76
|
+
constructor(http: HttpClient);
|
|
77
|
+
listAgents(options?: RequestOptions): Promise<Agent[]>;
|
|
78
|
+
createAgent(input: CreateAgentInput): Promise<Agent>;
|
|
79
|
+
getAgent(id: string, options?: RequestOptions): Promise<Agent>;
|
|
80
|
+
listAgentTemplates(options?: ListOptions): Promise<AgentTemplatePage>;
|
|
81
|
+
listModels(options?: RequestOptions & {
|
|
82
|
+
agentId?: string;
|
|
83
|
+
}): Promise<AgentModelCatalog>;
|
|
84
|
+
listRealtimeModels(options?: RequestOptions): Promise<RealtimeModelCatalog>;
|
|
85
|
+
listSessions(options?: ListOptions): Promise<SessionPage>;
|
|
86
|
+
session(id: string): Session;
|
|
87
|
+
getSession(id: string, options?: RequestOptions): Promise<Session>;
|
|
88
|
+
}
|
|
89
|
+
/** Existing User API Key entry point; Organization callers use organization.user(userId). */
|
|
90
|
+
export declare class UserClient extends EndUserClient {
|
|
91
|
+
get schedulers(): UserSchedulers;
|
|
92
|
+
constructor(options: UserClientOptions);
|
|
93
|
+
getUsage(options?: UserUsageOptions): Promise<UserUsageSummary>;
|
|
94
|
+
getUsageDetails(options?: UserUsageDetailsOptions): Promise<UserUsageDetails>;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"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"}
|
package/dist/user.js
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { usageQuery, } from "./usage.js";
|
|
2
|
+
import { UserSchedulers } from "./schedulers.js";
|
|
3
|
+
import { UserFiles } from "./files.js";
|
|
4
|
+
import { OutcomeUnknownError } from "./errors.js";
|
|
5
|
+
import { requestOptions, HttpClient, isApiKey, paginationQuery, requireCreationKey, requireKnownKeys, } from "./http.js";
|
|
6
|
+
import { createSessionForAgent, Session, } from "./session.js";
|
|
7
|
+
const agentReceipt = (value, requestId) => {
|
|
8
|
+
if (typeof value?.agent?.agentId !== "string" || !value.agent.agentId) {
|
|
9
|
+
throw new OutcomeUnknownError("Agent mutation returned no usable Agent; reconcile before retrying", { requestId });
|
|
10
|
+
}
|
|
11
|
+
return value.agent;
|
|
12
|
+
};
|
|
13
|
+
export class Agent {
|
|
14
|
+
#http;
|
|
15
|
+
#record;
|
|
16
|
+
constructor(http, record) {
|
|
17
|
+
this.#http = http;
|
|
18
|
+
this.#record = record;
|
|
19
|
+
}
|
|
20
|
+
get id() {
|
|
21
|
+
return this.#record.agentId;
|
|
22
|
+
}
|
|
23
|
+
get status() {
|
|
24
|
+
return this.#record.status;
|
|
25
|
+
}
|
|
26
|
+
get data() {
|
|
27
|
+
return this.#record;
|
|
28
|
+
}
|
|
29
|
+
async refresh(options) {
|
|
30
|
+
options = requestOptions(options);
|
|
31
|
+
const response = await this.#http.get(`/api/v1/user/agents/${encodeURIComponent(this.id)}`, options);
|
|
32
|
+
this.#record = response.agent;
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
async update(input, options) {
|
|
36
|
+
options = requestOptions(options);
|
|
37
|
+
requireKnownKeys(input, ["additionalInstructions"], "Agent preferences");
|
|
38
|
+
if (input.additionalInstructions !== null &&
|
|
39
|
+
typeof input.additionalInstructions !== "string")
|
|
40
|
+
throw new TypeError("Agent preferences require additionalInstructions");
|
|
41
|
+
const result = await this.#http.patchResponse(`/api/v1/user/agents/${encodeURIComponent(this.id)}`, input, { ...options, outcomeUnknown: true });
|
|
42
|
+
this.#record = agentReceipt(result.data, result.requestId);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
45
|
+
createSession(options) {
|
|
46
|
+
return createSessionForAgent(this.#http, this.id, options);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** Ordinary End User resources under the caller's authority. */
|
|
50
|
+
export class EndUserClient {
|
|
51
|
+
#http;
|
|
52
|
+
get http() {
|
|
53
|
+
return this.#http;
|
|
54
|
+
}
|
|
55
|
+
#files;
|
|
56
|
+
#schedulers;
|
|
57
|
+
get schedulers() {
|
|
58
|
+
return this.#schedulers;
|
|
59
|
+
}
|
|
60
|
+
get files() {
|
|
61
|
+
return this.#files;
|
|
62
|
+
}
|
|
63
|
+
constructor(http) {
|
|
64
|
+
this.#http = http;
|
|
65
|
+
this.#files = new UserFiles(http);
|
|
66
|
+
this.#schedulers = new UserSchedulers(http);
|
|
67
|
+
}
|
|
68
|
+
async listAgents(options) {
|
|
69
|
+
options = requestOptions(options);
|
|
70
|
+
const response = await this.#http.get("/api/v1/user/agents", options);
|
|
71
|
+
return response.agents.map((agent) => new Agent(this.#http, agent));
|
|
72
|
+
}
|
|
73
|
+
async createAgent(input) {
|
|
74
|
+
requireKnownKeys(input, ["agentTemplateId", "idempotencyKey", "signal", "requestId"], "Agent creation");
|
|
75
|
+
if (typeof input.agentTemplateId !== "string" ||
|
|
76
|
+
!input.agentTemplateId.trim())
|
|
77
|
+
throw new TypeError("Agent creation requires a Template ID");
|
|
78
|
+
requireCreationKey(input.idempotencyKey);
|
|
79
|
+
const result = await this.#http.postResponse("/api/v1/user/agents", { agentTemplateId: input.agentTemplateId }, {
|
|
80
|
+
idempotencyKey: input.idempotencyKey,
|
|
81
|
+
...(input.signal ? { signal: input.signal } : {}),
|
|
82
|
+
...(input.requestId ? { requestId: input.requestId } : {}),
|
|
83
|
+
idempotent: true,
|
|
84
|
+
outcomeUnknown: true,
|
|
85
|
+
});
|
|
86
|
+
return new Agent(this.#http, agentReceipt(result.data, result.requestId));
|
|
87
|
+
}
|
|
88
|
+
async getAgent(id, options) {
|
|
89
|
+
options = requestOptions(options);
|
|
90
|
+
const response = await this.#http.get(`/api/v1/user/agents/${encodeURIComponent(id)}`, options);
|
|
91
|
+
return new Agent(this.#http, response.agent);
|
|
92
|
+
}
|
|
93
|
+
listAgentTemplates(options) {
|
|
94
|
+
return this.#http.get(`/api/v1/user/agent-templates${paginationQuery(options)}`, options);
|
|
95
|
+
}
|
|
96
|
+
listModels(options) {
|
|
97
|
+
if (options)
|
|
98
|
+
requireKnownKeys(options, ["agentId", "signal", "requestId"], "Model list options");
|
|
99
|
+
const query = options?.agentId === undefined
|
|
100
|
+
? ""
|
|
101
|
+
: `?agentId=${encodeURIComponent(options.agentId)}`;
|
|
102
|
+
return this.#http.get(`/api/v1/agent-models${query}`, options);
|
|
103
|
+
}
|
|
104
|
+
listRealtimeModels(options) {
|
|
105
|
+
return this.#http.get("/api/v1/realtime-models", requestOptions(options));
|
|
106
|
+
}
|
|
107
|
+
async listSessions(options) {
|
|
108
|
+
const response = await this.#http.get(`/api/v1/user/sessions${paginationQuery(options)}`, options);
|
|
109
|
+
return {
|
|
110
|
+
...response,
|
|
111
|
+
sessions: response.sessions.map((record) => new Session(this.#http, record.sessionId, record)),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
session(id) {
|
|
115
|
+
return new Session(this.#http, id);
|
|
116
|
+
}
|
|
117
|
+
getSession(id, options) {
|
|
118
|
+
return this.session(id).refresh(options);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
/** Existing User API Key entry point; Organization callers use organization.user(userId). */
|
|
122
|
+
export class UserClient extends EndUserClient {
|
|
123
|
+
get schedulers() {
|
|
124
|
+
return super.schedulers;
|
|
125
|
+
}
|
|
126
|
+
constructor(options) {
|
|
127
|
+
requireKnownKeys(options, ["baseUrl", "apiKey"], "UserClient options");
|
|
128
|
+
if (!isApiKey(options.apiKey, "user"))
|
|
129
|
+
throw new TypeError("UserClient requires a User API Key");
|
|
130
|
+
super(new HttpClient(options));
|
|
131
|
+
}
|
|
132
|
+
getUsage(options = {}) {
|
|
133
|
+
return this.http.get(`/api/v1/billing/usage${usageQuery(options, ["period", "from", "to", "tagKey", "tagValue"])}`, options);
|
|
134
|
+
}
|
|
135
|
+
getUsageDetails(options = {}) {
|
|
136
|
+
return this.http.get(`/api/v1/billing/usage/details${usageQuery(options, ["period", "from", "to", "tagKey", "tagValue", "limit"])}`, options);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=user.js.map
|
package/dist/user.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../src/user.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { pathToFileURL } from "node:url";
|
|
2
|
+
import { UserClient } from "@tidblink/server";
|
|
3
|
+
|
|
4
|
+
/** The application produces output/error itself and persists this command identity. */
|
|
5
|
+
export async function answerClientToolWorkflow({
|
|
6
|
+
baseUrl,
|
|
7
|
+
userApiKey,
|
|
8
|
+
sessionId,
|
|
9
|
+
turnId,
|
|
10
|
+
callId,
|
|
11
|
+
clientEventId,
|
|
12
|
+
output,
|
|
13
|
+
error,
|
|
14
|
+
signal,
|
|
15
|
+
}) {
|
|
16
|
+
const session = new UserClient({ baseUrl, apiKey: userApiKey }).session(
|
|
17
|
+
sessionId,
|
|
18
|
+
);
|
|
19
|
+
const calls = await session.listPendingClientToolCalls(
|
|
20
|
+
signal ? { signal } : undefined,
|
|
21
|
+
);
|
|
22
|
+
const call = calls.find(
|
|
23
|
+
(call) => call.callId === callId && call.turnId === turnId,
|
|
24
|
+
);
|
|
25
|
+
if (!call)
|
|
26
|
+
throw new Error(
|
|
27
|
+
"The Session Client Tool call is no longer pending; reconcile the original output command before submitting anything else",
|
|
28
|
+
);
|
|
29
|
+
if (Date.parse(call.deadlineAt) <= Date.now())
|
|
30
|
+
throw new Error(
|
|
31
|
+
"The Client Tool deadline has passed; do not execute the business function again",
|
|
32
|
+
);
|
|
33
|
+
return session.submitClientToolOutput({
|
|
34
|
+
clientEventId,
|
|
35
|
+
turnId,
|
|
36
|
+
callId,
|
|
37
|
+
...(output === undefined ? {} : { output }),
|
|
38
|
+
...(error === undefined ? {} : { error }),
|
|
39
|
+
...(signal ? { signal } : {}),
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (
|
|
44
|
+
process.argv[1] &&
|
|
45
|
+
import.meta.url === pathToFileURL(process.argv[1]).href
|
|
46
|
+
) {
|
|
47
|
+
try {
|
|
48
|
+
const receipt = await answerClientToolWorkflow({
|
|
49
|
+
baseUrl: process.env.AGENT_SERVICE_URL,
|
|
50
|
+
userApiKey: process.env.USER_API_KEY,
|
|
51
|
+
sessionId: process.env.SESSION_ID,
|
|
52
|
+
turnId: process.env.TURN_ID,
|
|
53
|
+
callId: process.env.CALL_ID,
|
|
54
|
+
clientEventId: process.env.CLIENT_EVENT_ID,
|
|
55
|
+
output: process.env.TOOL_OUTPUT,
|
|
56
|
+
...(process.env.TOOL_ERROR === undefined
|
|
57
|
+
? {}
|
|
58
|
+
: { error: { message: process.env.TOOL_ERROR } }),
|
|
59
|
+
});
|
|
60
|
+
console.log(JSON.stringify(receipt));
|
|
61
|
+
} catch (error) {
|
|
62
|
+
console.error(
|
|
63
|
+
error instanceof Error
|
|
64
|
+
? error.message
|
|
65
|
+
: "Client Tool result was not confirmed",
|
|
66
|
+
);
|
|
67
|
+
process.exitCode = 1;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { pathToFileURL } from "node:url";
|
|
2
|
+
import { UserClient } from "@tidblink/server";
|
|
3
|
+
|
|
4
|
+
/** Persist the action and both identities before dispatch; recovery reads that command. */
|
|
5
|
+
export async function controlTurnWorkflow({
|
|
6
|
+
baseUrl,
|
|
7
|
+
userApiKey,
|
|
8
|
+
sessionId,
|
|
9
|
+
turnId,
|
|
10
|
+
clientEventId,
|
|
11
|
+
action,
|
|
12
|
+
signal,
|
|
13
|
+
}) {
|
|
14
|
+
if (action !== "cancel" && action !== "retry")
|
|
15
|
+
throw new TypeError("action must be cancel or retry");
|
|
16
|
+
const session = new UserClient({ baseUrl, apiKey: userApiKey }).session(
|
|
17
|
+
sessionId,
|
|
18
|
+
);
|
|
19
|
+
const input = { turnId, clientEventId, ...(signal ? { signal } : {}) };
|
|
20
|
+
if (action === "cancel") return session.cancel(input);
|
|
21
|
+
const accepted = await session.retry(input);
|
|
22
|
+
return session.waitForResult(
|
|
23
|
+
accepted.clientEventId,
|
|
24
|
+
signal ? { signal } : undefined,
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (
|
|
29
|
+
process.argv[1] &&
|
|
30
|
+
import.meta.url === pathToFileURL(process.argv[1]).href
|
|
31
|
+
) {
|
|
32
|
+
try {
|
|
33
|
+
const result = await controlTurnWorkflow({
|
|
34
|
+
baseUrl: process.env.AGENT_SERVICE_URL,
|
|
35
|
+
userApiKey: process.env.USER_API_KEY,
|
|
36
|
+
sessionId: process.env.SESSION_ID,
|
|
37
|
+
turnId: process.env.TURN_ID,
|
|
38
|
+
clientEventId: process.env.CLIENT_EVENT_ID,
|
|
39
|
+
action: process.env.TURN_ACTION,
|
|
40
|
+
});
|
|
41
|
+
console.log(JSON.stringify(result));
|
|
42
|
+
} catch (error) {
|
|
43
|
+
console.error(
|
|
44
|
+
error instanceof Error ? error.message : "Turn control failed",
|
|
45
|
+
);
|
|
46
|
+
process.exitCode = 1;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { pathToFileURL } from "node:url";
|
|
2
|
+
import { UserClient } from "@tidblink/server";
|
|
3
|
+
|
|
4
|
+
/** Save the selected Template, optional model and both keys before calling. */
|
|
5
|
+
export async function createSessionWorkflow({
|
|
6
|
+
baseUrl,
|
|
7
|
+
userApiKey,
|
|
8
|
+
agentTemplateId,
|
|
9
|
+
agentCreationKey,
|
|
10
|
+
sessionCreationKey,
|
|
11
|
+
model,
|
|
12
|
+
}) {
|
|
13
|
+
if (!agentTemplateId)
|
|
14
|
+
throw new TypeError(
|
|
15
|
+
"Select and retain an agentTemplateId before creating an Agent",
|
|
16
|
+
);
|
|
17
|
+
const user = new UserClient({ baseUrl, apiKey: userApiKey });
|
|
18
|
+
const templates = await user.listAgentTemplates();
|
|
19
|
+
const models = await user.listModels();
|
|
20
|
+
const agent = await user.createAgent({
|
|
21
|
+
agentTemplateId,
|
|
22
|
+
idempotencyKey: agentCreationKey,
|
|
23
|
+
});
|
|
24
|
+
// Omission is part of the creation identity; resolving today's default would change a replay.
|
|
25
|
+
const session = await agent.createSession({
|
|
26
|
+
idempotencyKey: sessionCreationKey,
|
|
27
|
+
...(model === undefined ? {} : { model }),
|
|
28
|
+
});
|
|
29
|
+
return { agent, session, templates, models };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (
|
|
33
|
+
process.argv[1] &&
|
|
34
|
+
import.meta.url === pathToFileURL(process.argv[1]).href
|
|
35
|
+
) {
|
|
36
|
+
const {
|
|
37
|
+
AGENT_SERVICE_URL,
|
|
38
|
+
USER_API_KEY,
|
|
39
|
+
TEMPLATE_ID,
|
|
40
|
+
AGENT_CREATION_KEY,
|
|
41
|
+
SESSION_CREATION_KEY,
|
|
42
|
+
MODEL_ID,
|
|
43
|
+
} = process.env;
|
|
44
|
+
if (
|
|
45
|
+
!AGENT_SERVICE_URL ||
|
|
46
|
+
!USER_API_KEY ||
|
|
47
|
+
!TEMPLATE_ID ||
|
|
48
|
+
!AGENT_CREATION_KEY ||
|
|
49
|
+
!SESSION_CREATION_KEY
|
|
50
|
+
)
|
|
51
|
+
throw new Error(
|
|
52
|
+
"Set AGENT_SERVICE_URL, USER_API_KEY, TEMPLATE_ID, AGENT_CREATION_KEY and SESSION_CREATION_KEY; MODEL_ID is optional",
|
|
53
|
+
);
|
|
54
|
+
const result = await createSessionWorkflow({
|
|
55
|
+
baseUrl: AGENT_SERVICE_URL,
|
|
56
|
+
userApiKey: USER_API_KEY,
|
|
57
|
+
agentCreationKey: AGENT_CREATION_KEY,
|
|
58
|
+
sessionCreationKey: SESSION_CREATION_KEY,
|
|
59
|
+
agentTemplateId: TEMPLATE_ID,
|
|
60
|
+
model: MODEL_ID,
|
|
61
|
+
});
|
|
62
|
+
console.log(
|
|
63
|
+
JSON.stringify({
|
|
64
|
+
agentId: result.agent.id,
|
|
65
|
+
sessionId: result.session.id,
|
|
66
|
+
model: result.session.model,
|
|
67
|
+
}),
|
|
68
|
+
);
|
|
69
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { pathToFileURL } from "node:url";
|
|
2
|
+
import { UserClient } from "@tidblink/server";
|
|
3
|
+
|
|
4
|
+
/** Observe an already submitted input. Persist each event cursor for reconnection. */
|
|
5
|
+
export function observeMessageWorkflow({
|
|
6
|
+
baseUrl,
|
|
7
|
+
userApiKey,
|
|
8
|
+
sessionId,
|
|
9
|
+
inputId,
|
|
10
|
+
cursor,
|
|
11
|
+
timeoutMs,
|
|
12
|
+
signal,
|
|
13
|
+
}) {
|
|
14
|
+
return new UserClient({ baseUrl, apiKey: userApiKey })
|
|
15
|
+
.session(sessionId)
|
|
16
|
+
.observe(inputId, {
|
|
17
|
+
...(cursor === undefined ? {} : { cursor }),
|
|
18
|
+
...(timeoutMs === undefined ? {} : { timeoutMs }),
|
|
19
|
+
...(signal ? { signal } : {}),
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (
|
|
24
|
+
process.argv[1] &&
|
|
25
|
+
import.meta.url === pathToFileURL(process.argv[1]).href
|
|
26
|
+
) {
|
|
27
|
+
try {
|
|
28
|
+
for await (const update of observeMessageWorkflow({
|
|
29
|
+
baseUrl: process.env.AGENT_SERVICE_URL,
|
|
30
|
+
userApiKey: process.env.USER_API_KEY,
|
|
31
|
+
sessionId: process.env.SESSION_ID,
|
|
32
|
+
inputId: process.env.INPUT_ID,
|
|
33
|
+
cursor: process.env.EVENT_CURSOR,
|
|
34
|
+
})) {
|
|
35
|
+
if (update.type === "result") console.log(update.result.text);
|
|
36
|
+
else console.error(JSON.stringify(update));
|
|
37
|
+
}
|
|
38
|
+
} catch (error) {
|
|
39
|
+
console.error(
|
|
40
|
+
error instanceof Error ? error.message : "Observation stopped",
|
|
41
|
+
);
|
|
42
|
+
process.exitCode = 1;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { pathToFileURL } from "node:url";
|
|
2
|
+
import { OrganizationClient } from "@tidblink/server";
|
|
3
|
+
|
|
4
|
+
/** Retain the owner, selected Template/model and both creation identities before calling. */
|
|
5
|
+
export async function organizationSessionWorkflow({
|
|
6
|
+
baseUrl,
|
|
7
|
+
organizationApiKey,
|
|
8
|
+
userId,
|
|
9
|
+
agentTemplateId,
|
|
10
|
+
agentCreationKey,
|
|
11
|
+
sessionCreationKey,
|
|
12
|
+
model,
|
|
13
|
+
}) {
|
|
14
|
+
const organization = new OrganizationClient({
|
|
15
|
+
baseUrl,
|
|
16
|
+
apiKey: organizationApiKey,
|
|
17
|
+
});
|
|
18
|
+
const user = organization.user(userId);
|
|
19
|
+
const templates = await user.listAgentTemplates();
|
|
20
|
+
const models = await user.listModels();
|
|
21
|
+
const agent = await user.createAgent({
|
|
22
|
+
agentTemplateId,
|
|
23
|
+
idempotencyKey: agentCreationKey,
|
|
24
|
+
});
|
|
25
|
+
const session = await agent.createSession({
|
|
26
|
+
idempotencyKey: sessionCreationKey,
|
|
27
|
+
...(model === undefined ? {} : { model }),
|
|
28
|
+
});
|
|
29
|
+
return { organization, user, agent, session, templates, models };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (
|
|
33
|
+
process.argv[1] &&
|
|
34
|
+
import.meta.url === pathToFileURL(process.argv[1]).href
|
|
35
|
+
) {
|
|
36
|
+
const {
|
|
37
|
+
AGENT_SERVICE_URL,
|
|
38
|
+
ORGANIZATION_API_KEY,
|
|
39
|
+
END_USER_ID,
|
|
40
|
+
TEMPLATE_ID,
|
|
41
|
+
AGENT_CREATION_KEY,
|
|
42
|
+
SESSION_CREATION_KEY,
|
|
43
|
+
MODEL_ID,
|
|
44
|
+
} = process.env;
|
|
45
|
+
if (
|
|
46
|
+
!AGENT_SERVICE_URL ||
|
|
47
|
+
!ORGANIZATION_API_KEY ||
|
|
48
|
+
!END_USER_ID ||
|
|
49
|
+
!TEMPLATE_ID ||
|
|
50
|
+
!AGENT_CREATION_KEY ||
|
|
51
|
+
!SESSION_CREATION_KEY
|
|
52
|
+
)
|
|
53
|
+
throw new Error(
|
|
54
|
+
"Set AGENT_SERVICE_URL, ORGANIZATION_API_KEY, END_USER_ID, TEMPLATE_ID, AGENT_CREATION_KEY and SESSION_CREATION_KEY; MODEL_ID is optional",
|
|
55
|
+
);
|
|
56
|
+
const { agent, session } = await organizationSessionWorkflow({
|
|
57
|
+
baseUrl: AGENT_SERVICE_URL,
|
|
58
|
+
organizationApiKey: ORGANIZATION_API_KEY,
|
|
59
|
+
userId: END_USER_ID,
|
|
60
|
+
agentTemplateId: TEMPLATE_ID,
|
|
61
|
+
agentCreationKey: AGENT_CREATION_KEY,
|
|
62
|
+
sessionCreationKey: SESSION_CREATION_KEY,
|
|
63
|
+
model: MODEL_ID,
|
|
64
|
+
});
|
|
65
|
+
console.log(JSON.stringify({ agentId: agent.id, sessionId: session.id }));
|
|
66
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { pathToFileURL } from "node:url";
|
|
2
|
+
import { UserClient } from "@tidblink/server";
|
|
3
|
+
|
|
4
|
+
/** Prepare an existing owned Session for a terminal to connect; this does not open a WebSocket. */
|
|
5
|
+
export async function prepareRealtimeConnection({
|
|
6
|
+
baseUrl,
|
|
7
|
+
userApiKey,
|
|
8
|
+
sessionId,
|
|
9
|
+
realtimeModelId,
|
|
10
|
+
audio,
|
|
11
|
+
metadata,
|
|
12
|
+
}) {
|
|
13
|
+
const client = new UserClient({ baseUrl, apiKey: userApiKey });
|
|
14
|
+
const catalog = await client.listRealtimeModels();
|
|
15
|
+
const session = client.session(sessionId);
|
|
16
|
+
let selection = await session.getRealtimeModelSelection();
|
|
17
|
+
if (
|
|
18
|
+
realtimeModelId !== undefined &&
|
|
19
|
+
realtimeModelId !== selection.model
|
|
20
|
+
) {
|
|
21
|
+
selection = await session.setRealtimeModel(realtimeModelId, {
|
|
22
|
+
ifMatch: selection.etag,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
const prepared = await session.openRealtimeConnection({
|
|
26
|
+
...(audio === undefined ? {} : { audio }),
|
|
27
|
+
...(metadata === undefined ? {} : { metadata }),
|
|
28
|
+
});
|
|
29
|
+
return { catalog, selection, ...prepared };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (
|
|
33
|
+
process.argv[1] &&
|
|
34
|
+
import.meta.url === pathToFileURL(process.argv[1]).href
|
|
35
|
+
) {
|
|
36
|
+
const {
|
|
37
|
+
AGENT_SERVICE_URL,
|
|
38
|
+
USER_API_KEY,
|
|
39
|
+
SESSION_ID,
|
|
40
|
+
REALTIME_MODEL_ID,
|
|
41
|
+
} = process.env;
|
|
42
|
+
if (!AGENT_SERVICE_URL || !USER_API_KEY || !SESSION_ID) {
|
|
43
|
+
throw new Error(
|
|
44
|
+
"Set AGENT_SERVICE_URL, USER_API_KEY and SESSION_ID; REALTIME_MODEL_ID is optional",
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
const result = await prepareRealtimeConnection({
|
|
48
|
+
baseUrl: AGENT_SERVICE_URL,
|
|
49
|
+
userApiKey: USER_API_KEY,
|
|
50
|
+
sessionId: SESSION_ID,
|
|
51
|
+
...(REALTIME_MODEL_ID ? { realtimeModelId: REALTIME_MODEL_ID } : {}),
|
|
52
|
+
});
|
|
53
|
+
// The one-time connect token is returned to imported callers but never printed by this CLI.
|
|
54
|
+
console.log(
|
|
55
|
+
JSON.stringify({
|
|
56
|
+
realtimeConnection: result.realtimeConnection,
|
|
57
|
+
websocketUrl: result.websocketUrl,
|
|
58
|
+
connectTokenExpiresAt: result.connectTokenExpiresAt,
|
|
59
|
+
}),
|
|
60
|
+
);
|
|
61
|
+
}
|