@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.
- package/README.md +565 -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 +91 -0
- package/dist/backend-connection.d.ts.map +1 -0
- package/dist/backend-connection.js +314 -0
- package/dist/backend-connection.js.map +1 -0
- package/dist/backend-pool.d.ts +104 -0
- package/dist/backend-pool.d.ts.map +1 -0
- package/dist/backend-pool.js +483 -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 +155 -0
- package/dist/session-connection.d.ts.map +1 -0
- package/dist/session-connection.js +394 -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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tidblink/server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0-rc.1",
|
|
4
4
|
"description": "Official TypeScript SDK for TiDB Link",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -8,41 +8,35 @@
|
|
|
8
8
|
"node": ">=22.12"
|
|
9
9
|
},
|
|
10
10
|
"tidbLinkApiVersion": "0.0.1",
|
|
11
|
-
"tidbLinkRevision": "
|
|
12
|
-
"tidbLinkOpenApiSha256": "
|
|
11
|
+
"tidbLinkRevision": "4305ef67daebf23c416badf806217a7c11dcef37",
|
|
12
|
+
"tidbLinkOpenApiSha256": "6f5ff6f025eef80fbd9d5b80fb798e5db159aaa006e7d34866e9c3b6843dfe58",
|
|
13
13
|
"exports": {
|
|
14
14
|
".": {
|
|
15
15
|
"types": "./dist/index.d.ts",
|
|
16
16
|
"import": "./dist/index.js"
|
|
17
17
|
},
|
|
18
|
-
"./examples/provision-user.mjs": "./examples/provision-user.mjs",
|
|
19
18
|
"./examples/prepare-realtime-connection.mjs": "./examples/prepare-realtime-connection.mjs",
|
|
20
19
|
"./examples/create-session.mjs": "./examples/create-session.mjs",
|
|
21
20
|
"./examples/send-message.mjs": "./examples/send-message.mjs",
|
|
22
21
|
"./examples/control-turn.mjs": "./examples/control-turn.mjs",
|
|
23
|
-
"./examples/observe-message.mjs": "./examples/observe-message.mjs",
|
|
24
22
|
"./examples/read-usage.mjs": "./examples/read-usage.mjs",
|
|
25
23
|
"./examples/upload-file.mjs": "./examples/upload-file.mjs",
|
|
26
|
-
"./examples/schedule-task.mjs": "./examples/schedule-task.mjs",
|
|
27
|
-
"./examples/answer-client-tool.mjs": "./examples/answer-client-tool.mjs",
|
|
28
24
|
"./examples/submit-audio.mjs": "./examples/submit-audio.mjs",
|
|
29
|
-
"./examples/
|
|
25
|
+
"./examples/http-connector.mjs": "./examples/http-connector.mjs",
|
|
26
|
+
"./examples/lamp-backend.mjs": "./examples/lamp-backend.mjs"
|
|
30
27
|
},
|
|
31
28
|
"files": [
|
|
32
29
|
"dist",
|
|
33
30
|
"README.md",
|
|
34
|
-
"examples/provision-user.mjs",
|
|
35
31
|
"examples/prepare-realtime-connection.mjs",
|
|
36
32
|
"examples/create-session.mjs",
|
|
37
33
|
"examples/send-message.mjs",
|
|
38
34
|
"examples/control-turn.mjs",
|
|
39
|
-
"examples/observe-message.mjs",
|
|
40
35
|
"examples/read-usage.mjs",
|
|
41
36
|
"examples/upload-file.mjs",
|
|
42
|
-
"examples/schedule-task.mjs",
|
|
43
|
-
"examples/answer-client-tool.mjs",
|
|
44
37
|
"examples/submit-audio.mjs",
|
|
45
|
-
"examples/
|
|
38
|
+
"examples/http-connector.mjs",
|
|
39
|
+
"examples/lamp-backend.mjs"
|
|
46
40
|
],
|
|
47
41
|
"scripts": {
|
|
48
42
|
"build": "node --eval \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json",
|
package/dist/progress.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { type TurnResult } from "./turn.js";
|
|
2
|
-
import { HttpClient } from "./http.js";
|
|
3
|
-
import type { RequestOptions } from "./organization.js";
|
|
4
|
-
export interface SessionEventsOptions extends RequestOptions {
|
|
5
|
-
/** Opaque position from a previously received event. No automatic replay on refusal. */
|
|
6
|
-
cursor?: string;
|
|
7
|
-
}
|
|
8
|
-
/** Display events remain provisional; use the original interaction to establish its result. */
|
|
9
|
-
export interface SessionEvent {
|
|
10
|
-
cursor: string;
|
|
11
|
-
type: string;
|
|
12
|
-
sessionId: string;
|
|
13
|
-
turnId: string | null;
|
|
14
|
-
createdAt: string;
|
|
15
|
-
data: Record<string, unknown>;
|
|
16
|
-
}
|
|
17
|
-
export declare function sessionEvents(http: HttpClient, sessionId: string, options?: SessionEventsOptions): AsyncGenerator<SessionEvent>;
|
|
18
|
-
export interface ObserveTurnOptions extends SessionEventsOptions {
|
|
19
|
-
/** Local observation deadline only; default 60 seconds. */
|
|
20
|
-
timeoutMs?: number;
|
|
21
|
-
}
|
|
22
|
-
export type TurnObservation = {
|
|
23
|
-
type: "draft" | "progress";
|
|
24
|
-
text: string;
|
|
25
|
-
event: SessionEvent;
|
|
26
|
-
} | {
|
|
27
|
-
type: "event";
|
|
28
|
-
event: SessionEvent;
|
|
29
|
-
} | {
|
|
30
|
-
type: "result";
|
|
31
|
-
result: TurnResult;
|
|
32
|
-
};
|
|
33
|
-
export declare function observeTurn(http: HttpClient, sessionId: string, inputId: string, options?: ObserveTurnOptions): AsyncGenerator<TurnObservation>;
|
|
34
|
-
//# sourceMappingURL=progress.d.ts.map
|
package/dist/progress.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"AACA,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAShF,OAAO,EAAE,UAAU,EAAwC,MAAM,WAAW,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,wFAAwF;IACxF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,+FAA+F;AAC/F,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,wBAAuB,aAAa,CAClC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,oBAAyB,GACjC,cAAc,CAAC,YAAY,CAAC,CA+D9B;AAED,MAAM,WAAW,kBAAmB,SAAQ,oBAAoB;IAC9D,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAE3C,wBAAuB,WAAW,CAChC,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,cAAc,CAAC,eAAe,CAAC,CAwHjC"}
|
package/dist/progress.js
DELETED
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
import { getInteraction } from "./history.js";
|
|
2
|
-
import { waitForResult, validateWaitOptions } from "./turn.js";
|
|
3
|
-
import { TiDBLinkError, TiDBLinkApiError, TurnFailedError, TurnInterruptedError, InputNotAppliedError, ObservationStoppedError, } from "./errors.js";
|
|
4
|
-
import { HttpClient, requireKnownKeys, requireCreationKey } from "./http.js";
|
|
5
|
-
import { decodeSse } from "./sse.js";
|
|
6
|
-
export async function* sessionEvents(http, sessionId, options = {}) {
|
|
7
|
-
requireKnownKeys(options, ["cursor", "signal", "requestId"], "Event subscription options");
|
|
8
|
-
if (options.cursor !== undefined &&
|
|
9
|
-
(typeof options.cursor !== "string" || !options.cursor))
|
|
10
|
-
throw new TypeError("cursor must be a non-empty opaque event position");
|
|
11
|
-
const query = new URLSearchParams({ stream: "true" });
|
|
12
|
-
if (options.cursor !== undefined)
|
|
13
|
-
query.set("cursor", options.cursor);
|
|
14
|
-
const { response, requestId } = await http.rawResponse(`/api/v1/user/sessions/${encodeURIComponent(sessionId)}/events?${query}`, {
|
|
15
|
-
headers: { accept: "text/event-stream" },
|
|
16
|
-
...(options.signal ? { signal: options.signal } : {}),
|
|
17
|
-
...(options.requestId ? { requestId: options.requestId } : {}),
|
|
18
|
-
});
|
|
19
|
-
if (response.headers
|
|
20
|
-
.get("content-type")
|
|
21
|
-
?.split(";", 1)[0]
|
|
22
|
-
?.trim()
|
|
23
|
-
.toLowerCase() !== "text/event-stream" ||
|
|
24
|
-
!response.body) {
|
|
25
|
-
await response.body?.cancel();
|
|
26
|
-
throw new TiDBLinkError("Session subscription returned no event stream", {
|
|
27
|
-
requestId,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
for await (const frame of decodeSse(response.body)) {
|
|
31
|
-
let value;
|
|
32
|
-
try {
|
|
33
|
-
value = JSON.parse(frame.data);
|
|
34
|
-
}
|
|
35
|
-
catch (cause) {
|
|
36
|
-
throw new TiDBLinkError("Session subscription returned invalid event JSON", { requestId, cause });
|
|
37
|
-
}
|
|
38
|
-
const event = value;
|
|
39
|
-
if (!frame.id ||
|
|
40
|
-
!event ||
|
|
41
|
-
typeof event.type !== "string" ||
|
|
42
|
-
!event.type ||
|
|
43
|
-
event.sessionId !== sessionId ||
|
|
44
|
-
(event.turnId !== null && typeof event.turnId !== "string") ||
|
|
45
|
-
typeof event.createdAt !== "string" ||
|
|
46
|
-
typeof event.data !== "object" ||
|
|
47
|
-
event.data === null ||
|
|
48
|
-
Array.isArray(event.data))
|
|
49
|
-
throw new TiDBLinkError("Session subscription returned an invalid event envelope", { requestId });
|
|
50
|
-
yield { ...event, cursor: frame.id };
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
export async function* observeTurn(http, sessionId, inputId, options = {}) {
|
|
54
|
-
requireKnownKeys(options, ["cursor", "signal", "requestId", "timeoutMs"], "Turn observation options");
|
|
55
|
-
requireCreationKey(inputId);
|
|
56
|
-
const { timeoutMs } = validateWaitOptions(options.timeoutMs === undefined ? {} : { timeoutMs: options.timeoutMs });
|
|
57
|
-
const deadline = new AbortController();
|
|
58
|
-
const timer = setTimeout(() => deadline.abort(), timeoutMs);
|
|
59
|
-
const signal = options.signal
|
|
60
|
-
? AbortSignal.any([options.signal, deadline.signal])
|
|
61
|
-
: deadline.signal;
|
|
62
|
-
const request = {
|
|
63
|
-
signal,
|
|
64
|
-
...(options.requestId ? { requestId: options.requestId } : {}),
|
|
65
|
-
};
|
|
66
|
-
let cursor = options.cursor;
|
|
67
|
-
let turnId;
|
|
68
|
-
try {
|
|
69
|
-
const receipt = await getInteraction(http, sessionId, inputId, request);
|
|
70
|
-
turnId = receipt.turnId;
|
|
71
|
-
if (receipt.kind !== "message" && receipt.kind !== "retry")
|
|
72
|
-
throw new TiDBLinkError("Turn observation requires a message or checkpoint retry receipt");
|
|
73
|
-
if (receipt.rejection ||
|
|
74
|
-
receipt.mode === "rejected" ||
|
|
75
|
-
receipt.result.status !== "running") {
|
|
76
|
-
yield {
|
|
77
|
-
type: "result",
|
|
78
|
-
result: await waitForResult(http, sessionId, inputId, {
|
|
79
|
-
...request,
|
|
80
|
-
timeoutMs,
|
|
81
|
-
}),
|
|
82
|
-
};
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
for await (const event of sessionEvents(http, sessionId, {
|
|
86
|
-
...request,
|
|
87
|
-
...(cursor ? { cursor } : {}),
|
|
88
|
-
})) {
|
|
89
|
-
cursor = event.cursor;
|
|
90
|
-
if (event.turnId !== turnId)
|
|
91
|
-
continue;
|
|
92
|
-
const payload = event.data.payload;
|
|
93
|
-
if (event.type === "agent.session.turn.output_text.snapshot" ||
|
|
94
|
-
event.type === "agent.session.turn.progress") {
|
|
95
|
-
if (typeof payload !== "object" ||
|
|
96
|
-
payload === null ||
|
|
97
|
-
typeof payload.text !== "string")
|
|
98
|
-
throw new TiDBLinkError("Session text event omitted its complete text");
|
|
99
|
-
yield {
|
|
100
|
-
type: event.type === "agent.session.turn.output_text.snapshot"
|
|
101
|
-
? "draft"
|
|
102
|
-
: "progress",
|
|
103
|
-
text: payload.text,
|
|
104
|
-
event,
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
else
|
|
108
|
-
yield { type: "event", event };
|
|
109
|
-
if (event.data.event === "turn_finished" ||
|
|
110
|
-
event.data.event === "turn_error") {
|
|
111
|
-
// Replayed terminal events may belong to another execution of this Turn.
|
|
112
|
-
const current = await getInteraction(http, sessionId, inputId, request);
|
|
113
|
-
if (current.result.status === "running")
|
|
114
|
-
continue;
|
|
115
|
-
yield {
|
|
116
|
-
type: "result",
|
|
117
|
-
result: await waitForResult(http, sessionId, inputId, {
|
|
118
|
-
...request,
|
|
119
|
-
timeoutMs,
|
|
120
|
-
}),
|
|
121
|
-
};
|
|
122
|
-
return;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
throw new TiDBLinkError("Session event subscription ended before the original result was established");
|
|
126
|
-
}
|
|
127
|
-
catch (cause) {
|
|
128
|
-
if (cause instanceof TiDBLinkApiError ||
|
|
129
|
-
cause instanceof TurnFailedError ||
|
|
130
|
-
cause instanceof TurnInterruptedError ||
|
|
131
|
-
cause instanceof InputNotAppliedError)
|
|
132
|
-
throw cause;
|
|
133
|
-
throw new ObservationStoppedError(deadline.signal.aborted && !options.signal?.aborted
|
|
134
|
-
? "Local observation timed out; recover the original input"
|
|
135
|
-
: "Observation stopped; recover the original input", {
|
|
136
|
-
sessionId,
|
|
137
|
-
inputId,
|
|
138
|
-
...(turnId ? { turnId } : {}),
|
|
139
|
-
...(cursor ? { cursor } : {}),
|
|
140
|
-
...(cause instanceof TiDBLinkError && cause.requestId
|
|
141
|
-
? { requestId: cause.requestId }
|
|
142
|
-
: options.requestId
|
|
143
|
-
? { requestId: options.requestId }
|
|
144
|
-
: {}),
|
|
145
|
-
timedOut: deadline.signal.aborted && !options.signal?.aborted,
|
|
146
|
-
cause,
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
finally {
|
|
150
|
-
clearTimeout(timer);
|
|
151
|
-
deadline.abort();
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
//# sourceMappingURL=progress.js.map
|
package/dist/progress.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../src/progress.ts"],"names":[],"mappings":"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"}
|
package/dist/schedulers.d.ts
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { HttpClient, type ListOptions } from "./http.js";
|
|
2
|
-
import type { RequestOptions } from "./organization.js";
|
|
3
|
-
export type SchedulerSchedule = {
|
|
4
|
-
kind: "once";
|
|
5
|
-
runAt: string;
|
|
6
|
-
after?: never;
|
|
7
|
-
} | {
|
|
8
|
-
kind: "once";
|
|
9
|
-
after: string;
|
|
10
|
-
runAt?: never;
|
|
11
|
-
} | {
|
|
12
|
-
kind: "cron";
|
|
13
|
-
cronExpr: string;
|
|
14
|
-
timezone: string;
|
|
15
|
-
};
|
|
16
|
-
export type SchedulerDelivery = {
|
|
17
|
-
target: "new_session";
|
|
18
|
-
} | {
|
|
19
|
-
target: "bound_session";
|
|
20
|
-
sessionId: string;
|
|
21
|
-
};
|
|
22
|
-
export type CreateSchedulerInput = RequestOptions & {
|
|
23
|
-
idempotencyKey: string;
|
|
24
|
-
title: string;
|
|
25
|
-
prompt: string;
|
|
26
|
-
schedule: SchedulerSchedule;
|
|
27
|
-
validFrom?: string | null;
|
|
28
|
-
validUntil?: string | null;
|
|
29
|
-
} & ({
|
|
30
|
-
agentId: string;
|
|
31
|
-
delivery?: {
|
|
32
|
-
target: "new_session";
|
|
33
|
-
};
|
|
34
|
-
} | {
|
|
35
|
-
agentId?: never;
|
|
36
|
-
delivery: {
|
|
37
|
-
target: "bound_session";
|
|
38
|
-
sessionId: string;
|
|
39
|
-
};
|
|
40
|
-
});
|
|
41
|
-
export interface UpdateSchedulerInput {
|
|
42
|
-
title?: string;
|
|
43
|
-
prompt?: string;
|
|
44
|
-
agentId?: string;
|
|
45
|
-
delivery?: SchedulerDelivery;
|
|
46
|
-
schedule?: SchedulerSchedule;
|
|
47
|
-
enabled?: boolean;
|
|
48
|
-
validFrom?: string | null;
|
|
49
|
-
validUntil?: string | null;
|
|
50
|
-
snoozeUntil?: string;
|
|
51
|
-
}
|
|
52
|
-
export interface Scheduler {
|
|
53
|
-
schedulerId: string;
|
|
54
|
-
ownerUserId: string;
|
|
55
|
-
organizationId: string;
|
|
56
|
-
agentId: string;
|
|
57
|
-
title: string;
|
|
58
|
-
prompt: string;
|
|
59
|
-
delivery: {
|
|
60
|
-
target: "new_session" | "bound_session";
|
|
61
|
-
sessionId: string | null;
|
|
62
|
-
};
|
|
63
|
-
schedule: {
|
|
64
|
-
kind: "once" | "cron";
|
|
65
|
-
cronExpr: string | null;
|
|
66
|
-
runAt: string | null;
|
|
67
|
-
timezone: string;
|
|
68
|
-
};
|
|
69
|
-
validFrom: string | null;
|
|
70
|
-
validUntil: string | null;
|
|
71
|
-
/** Deleted records are returned only by Organization-owned list history. */
|
|
72
|
-
status: "enabled" | "disabled" | "deleted";
|
|
73
|
-
nextFireAt: string | null;
|
|
74
|
-
lastFiredAt: string | null;
|
|
75
|
-
revision: number;
|
|
76
|
-
createdAt: string;
|
|
77
|
-
updatedAt: string;
|
|
78
|
-
}
|
|
79
|
-
export interface SchedulerResponse {
|
|
80
|
-
scheduler: Scheduler;
|
|
81
|
-
etag: string;
|
|
82
|
-
}
|
|
83
|
-
export interface SchedulerPage {
|
|
84
|
-
schedulers: Scheduler[];
|
|
85
|
-
nextCursor: string | null;
|
|
86
|
-
}
|
|
87
|
-
export interface SchedulerListOptions extends ListOptions {
|
|
88
|
-
status?: "enabled" | "disabled";
|
|
89
|
-
}
|
|
90
|
-
export interface OrganizationSchedulerListOptions extends ListOptions {
|
|
91
|
-
status?: Scheduler["status"];
|
|
92
|
-
}
|
|
93
|
-
export interface SchedulerMutationOptions extends RequestOptions {
|
|
94
|
-
ifMatch: string;
|
|
95
|
-
}
|
|
96
|
-
export interface SchedulerFire {
|
|
97
|
-
fireId: string;
|
|
98
|
-
schedulerId: string;
|
|
99
|
-
scheduledFor: string;
|
|
100
|
-
executionStatus: "pending" | "completed" | "failed";
|
|
101
|
-
execution: {
|
|
102
|
-
agentId: string;
|
|
103
|
-
prompt: string;
|
|
104
|
-
delivery: Scheduler["delivery"];
|
|
105
|
-
};
|
|
106
|
-
result: {
|
|
107
|
-
sessionId: string | null;
|
|
108
|
-
turnId: string | null;
|
|
109
|
-
messageId: string | null;
|
|
110
|
-
failureCode: string | null;
|
|
111
|
-
};
|
|
112
|
-
createdAt: string;
|
|
113
|
-
settledAt: string | null;
|
|
114
|
-
}
|
|
115
|
-
export interface SchedulerFirePage {
|
|
116
|
-
fires: SchedulerFire[];
|
|
117
|
-
nextCursor: string | null;
|
|
118
|
-
}
|
|
119
|
-
export declare class UserSchedulers<TListOptions extends OrganizationSchedulerListOptions = SchedulerListOptions> {
|
|
120
|
-
#private;
|
|
121
|
-
constructor(http: HttpClient);
|
|
122
|
-
create(input: CreateSchedulerInput): Promise<SchedulerResponse>;
|
|
123
|
-
get(schedulerId: string, options?: RequestOptions): Promise<SchedulerResponse>;
|
|
124
|
-
update(schedulerId: string, input: UpdateSchedulerInput, options: SchedulerMutationOptions): Promise<SchedulerResponse>;
|
|
125
|
-
delete(schedulerId: string, options: SchedulerMutationOptions): Promise<void>;
|
|
126
|
-
list(options?: TListOptions): Promise<SchedulerPage>;
|
|
127
|
-
fires(schedulerId: string, options?: ListOptions): Promise<SchedulerFirePage>;
|
|
128
|
-
}
|
|
129
|
-
//# sourceMappingURL=schedulers.d.ts.map
|
package/dist/schedulers.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schedulers.d.ts","sourceRoot":"","sources":["../src/schedulers.ts"],"names":[],"mappings":"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"}
|
package/dist/schedulers.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { requestOptions, HttpClient, requireKnownKeys, paginationQuery, } from "./http.js";
|
|
2
|
-
import { OutcomeUnknownError, TiDBLinkError } from "./errors.js";
|
|
3
|
-
const requireMatch = (options) => {
|
|
4
|
-
requireKnownKeys(options, ["ifMatch", "signal", "requestId"], "Scheduler mutation options");
|
|
5
|
-
if (typeof options.ifMatch !== "string" || !options.ifMatch)
|
|
6
|
-
throw new TypeError("Scheduler mutation requires the previously read ifMatch ETag");
|
|
7
|
-
};
|
|
8
|
-
const path = (id) => `/api/v1/schedulers/${encodeURIComponent(id)}`;
|
|
9
|
-
const receipt = (result, mutation = true) => {
|
|
10
|
-
const scheduler = result.data?.scheduler;
|
|
11
|
-
if (!scheduler?.schedulerId ||
|
|
12
|
-
!result.etag ||
|
|
13
|
-
!Number.isSafeInteger(scheduler.revision)) {
|
|
14
|
-
const ErrorClass = mutation ? OutcomeUnknownError : TiDBLinkError;
|
|
15
|
-
throw new ErrorClass("Scheduler response omitted its identity or ETag; read the original Scheduler before changing it", { requestId: result.requestId });
|
|
16
|
-
}
|
|
17
|
-
return { scheduler, etag: result.etag };
|
|
18
|
-
};
|
|
19
|
-
export class UserSchedulers {
|
|
20
|
-
#http;
|
|
21
|
-
constructor(http) {
|
|
22
|
-
this.#http = http;
|
|
23
|
-
}
|
|
24
|
-
async create(input) {
|
|
25
|
-
requireKnownKeys(input, [
|
|
26
|
-
"idempotencyKey",
|
|
27
|
-
"title",
|
|
28
|
-
"prompt",
|
|
29
|
-
"schedule",
|
|
30
|
-
"agentId",
|
|
31
|
-
"delivery",
|
|
32
|
-
"validFrom",
|
|
33
|
-
"validUntil",
|
|
34
|
-
"requestId",
|
|
35
|
-
"signal",
|
|
36
|
-
], "Scheduler creation");
|
|
37
|
-
if (typeof input.idempotencyKey !== "string" ||
|
|
38
|
-
!/^[\x21-\x7e]{1,255}$/.test(input.idempotencyKey))
|
|
39
|
-
throw new TypeError("Scheduler creation requires a stable idempotencyKey (1-255 visible ASCII characters)");
|
|
40
|
-
const { idempotencyKey, requestId, signal, ...body } = input;
|
|
41
|
-
return receipt(await this.#http.postResponse("/api/v1/schedulers", body, {
|
|
42
|
-
idempotencyKey,
|
|
43
|
-
outcomeUnknown: true,
|
|
44
|
-
...(requestId ? { requestId } : {}),
|
|
45
|
-
...(signal ? { signal } : {}),
|
|
46
|
-
}));
|
|
47
|
-
}
|
|
48
|
-
async get(schedulerId, options) {
|
|
49
|
-
options = requestOptions(options);
|
|
50
|
-
return receipt(await this.#http.getResponse(path(schedulerId), options), false);
|
|
51
|
-
}
|
|
52
|
-
async update(schedulerId, input, options) {
|
|
53
|
-
requireKnownKeys(input, [
|
|
54
|
-
"title",
|
|
55
|
-
"prompt",
|
|
56
|
-
"agentId",
|
|
57
|
-
"delivery",
|
|
58
|
-
"schedule",
|
|
59
|
-
"enabled",
|
|
60
|
-
"validFrom",
|
|
61
|
-
"validUntil",
|
|
62
|
-
"snoozeUntil",
|
|
63
|
-
], "Scheduler update");
|
|
64
|
-
requireMatch(options);
|
|
65
|
-
return receipt(await this.#http.patchResponse(path(schedulerId), input, {
|
|
66
|
-
...options,
|
|
67
|
-
outcomeUnknown: true,
|
|
68
|
-
}));
|
|
69
|
-
}
|
|
70
|
-
async delete(schedulerId, options) {
|
|
71
|
-
requireMatch(options);
|
|
72
|
-
await this.#http.response(path(schedulerId), {
|
|
73
|
-
...options,
|
|
74
|
-
method: "DELETE",
|
|
75
|
-
outcomeUnknown: true,
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
list(options) {
|
|
79
|
-
const input = options ?? {};
|
|
80
|
-
requireKnownKeys(input, ["status", "limit", "cursor", "signal", "requestId"], "Scheduler list options");
|
|
81
|
-
const { status, ...paging } = input;
|
|
82
|
-
const query = new URLSearchParams(paginationQuery(paging).slice(1));
|
|
83
|
-
if (status !== undefined)
|
|
84
|
-
query.set("status", status);
|
|
85
|
-
return this.#http.get(`/api/v1/schedulers${query.size ? `?${query}` : ""}`, options);
|
|
86
|
-
}
|
|
87
|
-
fires(schedulerId, options) {
|
|
88
|
-
return this.#http.get(`${path(schedulerId)}/fires${paginationQuery(options)}`, options);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=schedulers.js.map
|
package/dist/schedulers.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"schedulers.js","sourceRoot":"","sources":["../src/schedulers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,69 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
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
|
-
}
|