@aui.io/apollo 0.1.92 → 0.1.94
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/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.d.ts +2 -0
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js +144 -18
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/operate.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/output/live-chat.d.ts +4 -0
- package/node_modules/@aui.io/apollo-cli/dist/src/output/live-chat.js +9 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/output/live-chat.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/package.json +3 -3
- package/node_modules/@aui.io/apollo-core/dist/src/api/client-types.d.ts +2 -1
- package/node_modules/@aui.io/apollo-core/dist/src/api/jwt.d.ts +6 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/jwt.js +18 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/jwt.js.map +1 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.d.ts +22 -1
- package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.js +2 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/runtime-api.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/api/transport.d.ts +9 -1
- package/node_modules/@aui.io/apollo-core/dist/src/api/transport.js +64 -4
- package/node_modules/@aui.io/apollo-core/dist/src/api/transport.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/output/trace-lines.d.ts +15 -0
- package/node_modules/@aui.io/apollo-core/dist/src/output/trace-lines.js +34 -1
- package/node_modules/@aui.io/apollo-core/dist/src/output/trace-lines.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/chat-script.d.ts +39 -0
- package/node_modules/@aui.io/apollo-core/dist/src/services/chat-script.js +150 -0
- package/node_modules/@aui.io/apollo-core/dist/src/services/chat-script.js.map +1 -0
- package/node_modules/@aui.io/apollo-core/dist/src/services/clients.js +3 -10
- package/node_modules/@aui.io/apollo-core/dist/src/services/clients.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js +8 -4
- package/node_modules/@aui.io/apollo-core/dist/src/services/messaging.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/package.json +1 -1
- package/node_modules/@aui.io/apollo-tui/package.json +2 -2
- package/package.json +4 -4
|
@@ -74,7 +74,7 @@ export interface FormBody {
|
|
|
74
74
|
}
|
|
75
75
|
export interface RequestOptions {
|
|
76
76
|
method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
77
|
-
query?: Record<string, string | number | boolean | undefined>;
|
|
77
|
+
query?: Record<string, string | number | boolean | readonly string[] | undefined>;
|
|
78
78
|
body?: unknown;
|
|
79
79
|
/** Mutually exclusive with `body`; wins when both are set. */
|
|
80
80
|
form?: FormBody;
|
|
@@ -97,6 +97,14 @@ export declare class Transport {
|
|
|
97
97
|
private get token();
|
|
98
98
|
private set token(value);
|
|
99
99
|
request<T>(path: string, requestOptions?: RequestOptions): Promise<T>;
|
|
100
|
+
/**
|
|
101
|
+
* Refreshes a login that expires within REFRESH_AHEAD_SECONDS before the
|
|
102
|
+
* call goes out, so a call never dies in flight on a token that ran out. A
|
|
103
|
+
* refresh that fails while the token still has time left is not an error —
|
|
104
|
+
* the call goes out and the server decides; once it has expired, the
|
|
105
|
+
* failure is the answer.
|
|
106
|
+
*/
|
|
107
|
+
private refreshAhead;
|
|
100
108
|
private route;
|
|
101
109
|
/**
|
|
102
110
|
* Server-sent events from one request, as they arrive. Shares every rule
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ApiError, AuthError, CliError, ExitCode } from "../errors/index.js";
|
|
2
2
|
import { captureLog } from "./capture.js";
|
|
3
|
+
import { jwtExpiresAt } from "./jwt.js";
|
|
3
4
|
/** One streamed frame larger than this is refused rather than buffered. */
|
|
4
5
|
export const MAX_SSE_FRAME_BYTES = 32 * 1024 * 1024;
|
|
5
6
|
export class Transport {
|
|
@@ -22,12 +23,13 @@ export class Transport {
|
|
|
22
23
|
const method = requestOptions.method ?? "GET";
|
|
23
24
|
const authenticated = requestOptions.authenticated ?? true;
|
|
24
25
|
const route = await this.route();
|
|
26
|
+
await this.refreshAhead(authenticated);
|
|
25
27
|
let refreshed = false;
|
|
26
28
|
let networkRetried = false;
|
|
27
29
|
for (;;) {
|
|
28
30
|
try {
|
|
29
31
|
const response = await this.perform(route, path, requestOptions, method);
|
|
30
|
-
if (response
|
|
32
|
+
if (expiredLogin(response) &&
|
|
31
33
|
authenticated &&
|
|
32
34
|
!refreshed &&
|
|
33
35
|
this.options.refresh !== undefined) {
|
|
@@ -54,6 +56,31 @@ export class Transport {
|
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Refreshes a login that expires within REFRESH_AHEAD_SECONDS before the
|
|
61
|
+
* call goes out, so a call never dies in flight on a token that ran out. A
|
|
62
|
+
* refresh that fails while the token still has time left is not an error —
|
|
63
|
+
* the call goes out and the server decides; once it has expired, the
|
|
64
|
+
* failure is the answer.
|
|
65
|
+
*/
|
|
66
|
+
async refreshAhead(authenticated) {
|
|
67
|
+
if (!authenticated || this.options.refresh === undefined)
|
|
68
|
+
return;
|
|
69
|
+
const expiresAt = jwtExpiresAt(this.token);
|
|
70
|
+
if (expiresAt === undefined)
|
|
71
|
+
return;
|
|
72
|
+
const now = Date.now() / 1_000;
|
|
73
|
+
if (expiresAt - now > REFRESH_AHEAD_SECONDS)
|
|
74
|
+
return;
|
|
75
|
+
try {
|
|
76
|
+
this.token = await this.options.refresh();
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
if (expiresAt > now)
|
|
80
|
+
return;
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
57
84
|
route() {
|
|
58
85
|
return this.options.resolveRoute === undefined
|
|
59
86
|
? Promise.resolve({ baseUrl: this.options.baseUrl })
|
|
@@ -71,6 +98,7 @@ export class Transport {
|
|
|
71
98
|
const method = streamOptions.method ?? "POST";
|
|
72
99
|
const authenticated = streamOptions.authenticated ?? true;
|
|
73
100
|
const route = await this.route();
|
|
101
|
+
await this.refreshAhead(authenticated);
|
|
74
102
|
let refreshed = false;
|
|
75
103
|
for (;;) {
|
|
76
104
|
const prepared = this.prepare(route, path, streamOptions, method, "text/event-stream");
|
|
@@ -100,8 +128,27 @@ export class Transport {
|
|
|
100
128
|
throw fail(error);
|
|
101
129
|
}
|
|
102
130
|
prepared.capture.status = response.status;
|
|
103
|
-
if (response.status === 401 && authenticated && !refreshed && this.options.refresh !== undefined) {
|
|
104
|
-
|
|
131
|
+
if ((response.status === 401 || response.status === 403) && authenticated && !refreshed && this.options.refresh !== undefined) {
|
|
132
|
+
const read = {
|
|
133
|
+
status: response.status,
|
|
134
|
+
ok: false,
|
|
135
|
+
statusText: response.statusText,
|
|
136
|
+
contentType: response.headers.get("content-type") ?? "",
|
|
137
|
+
text: "",
|
|
138
|
+
};
|
|
139
|
+
if (response.status === 403) {
|
|
140
|
+
try {
|
|
141
|
+
read.text = await response.text();
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
throw fail(error);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
await response.body?.cancel().catch(() => undefined);
|
|
149
|
+
}
|
|
150
|
+
if (!expiredLogin(read))
|
|
151
|
+
throw this.apiError(path, read);
|
|
105
152
|
this.token = await this.options.refresh();
|
|
106
153
|
refreshed = true;
|
|
107
154
|
continue;
|
|
@@ -164,7 +211,10 @@ export class Transport {
|
|
|
164
211
|
}
|
|
165
212
|
const url = new URL(path.replace(/^\/+/, ""), `${route.baseUrl.replace(/\/+$/, "")}/`);
|
|
166
213
|
for (const [key, value] of Object.entries(requestOptions.query ?? {})) {
|
|
167
|
-
if (value
|
|
214
|
+
if (Array.isArray(value))
|
|
215
|
+
for (const item of value)
|
|
216
|
+
url.searchParams.append(key, item);
|
|
217
|
+
else if (value !== undefined)
|
|
168
218
|
url.searchParams.append(key, String(value));
|
|
169
219
|
}
|
|
170
220
|
const headers = new Headers(this.options.headers);
|
|
@@ -356,6 +406,16 @@ function parseServerSentEvent(raw) {
|
|
|
356
406
|
return undefined;
|
|
357
407
|
return { data: data.join("\n"), ...(event === undefined ? {} : { event }), ...(id === undefined ? {} : { id }) };
|
|
358
408
|
}
|
|
409
|
+
/** A token this close to expiry is refreshed before the call goes out. */
|
|
410
|
+
const REFRESH_AHEAD_SECONDS = 60;
|
|
411
|
+
/** What runtime-api answers, with a 403, for an expired or invalid login — the other services answer 401. */
|
|
412
|
+
const EXPIRED_LOGIN_DETAIL = "JWT authentication failed";
|
|
413
|
+
/** The login ran out: a 401 from any service, or runtime-api's 403 that says so. Any other 403 is a real refusal. */
|
|
414
|
+
function expiredLogin(response) {
|
|
415
|
+
if (response.status === 401)
|
|
416
|
+
return true;
|
|
417
|
+
return response.status === 403 && extractMessage(parseResponse(response), "") === EXPIRED_LOGIN_DETAIL;
|
|
418
|
+
}
|
|
359
419
|
function parseResponse(response) {
|
|
360
420
|
const { text, contentType } = response;
|
|
361
421
|
if (text === "")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/api/transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/api/transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,22 @@
|
|
|
6
6
|
*/
|
|
7
7
|
/** The plain word each streamed trace section reads as. */
|
|
8
8
|
export declare const TRACE_SECTION_LABELS: Readonly<Record<string, string>>;
|
|
9
|
+
/**
|
|
10
|
+
* The turn's outcome fields a summary names after its steps. Each is set only
|
|
11
|
+
* on the turns a test exists to catch — a policy refused, a capability was
|
|
12
|
+
* blocked, a change waits on the caller's go-ahead, the engine failed — and
|
|
13
|
+
* empty on an ordinary turn.
|
|
14
|
+
*/
|
|
15
|
+
export declare const TURN_OUTCOME_LABELS: Readonly<Record<string, string>>;
|
|
9
16
|
export declare function traceSectionLabel(section: string): string;
|
|
17
|
+
/** One outcome line of a sealed trace: which field, what it says, and whether it is a failure. */
|
|
18
|
+
export interface TurnOutcomeLine {
|
|
19
|
+
field: string;
|
|
20
|
+
text: string;
|
|
21
|
+
failed: boolean;
|
|
22
|
+
}
|
|
23
|
+
/** A sealed trace's outcome lines, in reading order — none on an ordinary turn. */
|
|
24
|
+
export declare function describeTurnOutcome(sealed: Record<string, unknown>): TurnOutcomeLine[];
|
|
10
25
|
/** One entry of one section, as a single line. */
|
|
11
26
|
export declare function describeTraceEntry(section: string, entry: unknown): string;
|
|
12
27
|
/** A value on one line, at most MAX_VALUE_CHARS long. */
|
|
@@ -23,9 +23,42 @@ export const TRACE_SECTION_LABELS = {
|
|
|
23
23
|
transitioned: "moved to",
|
|
24
24
|
checks: "checked",
|
|
25
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* The turn's outcome fields a summary names after its steps. Each is set only
|
|
28
|
+
* on the turns a test exists to catch — a policy refused, a capability was
|
|
29
|
+
* blocked, a change waits on the caller's go-ahead, the engine failed — and
|
|
30
|
+
* empty on an ordinary turn.
|
|
31
|
+
*/
|
|
32
|
+
export const TURN_OUTCOME_LABELS = {
|
|
33
|
+
refused_by: "refused by",
|
|
34
|
+
blocked: "blocked",
|
|
35
|
+
awaiting_authorisation: "waiting on",
|
|
36
|
+
error: "error",
|
|
37
|
+
};
|
|
26
38
|
const MAX_VALUE_CHARS = 80;
|
|
27
39
|
export function traceSectionLabel(section) {
|
|
28
|
-
return TRACE_SECTION_LABELS[section] ?? section.replaceAll("_", " ");
|
|
40
|
+
return TRACE_SECTION_LABELS[section] ?? TURN_OUTCOME_LABELS[section] ?? section.replaceAll("_", " ");
|
|
41
|
+
}
|
|
42
|
+
/** A sealed trace's outcome lines, in reading order — none on an ordinary turn. */
|
|
43
|
+
export function describeTurnOutcome(sealed) {
|
|
44
|
+
const lines = [];
|
|
45
|
+
if (typeof sealed.refused_by === "string" && sealed.refused_by) {
|
|
46
|
+
lines.push({ field: "refused_by", text: sealed.refused_by, failed: false });
|
|
47
|
+
}
|
|
48
|
+
if (sealed.blocked !== null && typeof sealed.blocked === "object") {
|
|
49
|
+
const blocked = sealed.blocked;
|
|
50
|
+
const what = typeof blocked.capability === "string" && blocked.capability ? blocked.capability : "?";
|
|
51
|
+
const kind = typeof blocked.class === "string" && blocked.class ? ` (${blocked.class})` : "";
|
|
52
|
+
const because = blocked.because ? ` — ${short(blocked.because)}` : "";
|
|
53
|
+
lines.push({ field: "blocked", text: `${what}${kind}${because}`, failed: false });
|
|
54
|
+
}
|
|
55
|
+
if (typeof sealed.awaiting_authorisation === "string" && sealed.awaiting_authorisation) {
|
|
56
|
+
lines.push({ field: "awaiting_authorisation", text: `your go-ahead for ${sealed.awaiting_authorisation}`, failed: false });
|
|
57
|
+
}
|
|
58
|
+
if (typeof sealed.error === "string" && sealed.error) {
|
|
59
|
+
lines.push({ field: "error", text: short(sealed.error), failed: true });
|
|
60
|
+
}
|
|
61
|
+
return lines;
|
|
29
62
|
}
|
|
30
63
|
/** One entry of one section, as a single line. */
|
|
31
64
|
export function describeTraceEntry(section, entry) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-lines.js","sourceRoot":"","sources":["../../../src/output/trace-lines.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,2DAA2D;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAqC;IACpE,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,YAAY;IAC3B,YAAY,EAAE,aAAa;IAC3B,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,YAAY;IACxB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,WAAW;IACpB,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,UAAU;IACxB,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,OAAO,oBAAoB,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"trace-lines.js","sourceRoot":"","sources":["../../../src/output/trace-lines.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Message } from "../api/runtime-api.js";
|
|
2
|
+
/** The most turns one scripted conversation sends — from stdin (`chat -`) or a file (`chat --script`). */
|
|
3
|
+
export declare const MAX_SCRIPT_TURNS = 200;
|
|
4
|
+
/**
|
|
5
|
+
* What one turn must show, read off the sealed trace that rides its reply.
|
|
6
|
+
* Every key is optional; those given must all hold.
|
|
7
|
+
*/
|
|
8
|
+
export interface TurnExpectation {
|
|
9
|
+
/** Capabilities that ran (each of them), or "none" for a turn that ran none. */
|
|
10
|
+
did?: string[] | "none";
|
|
11
|
+
/** Capabilities the agent took as the caller's intent (each of them). */
|
|
12
|
+
intent?: string[];
|
|
13
|
+
/** The policy that refused the turn, or "none" for a turn nothing refused. */
|
|
14
|
+
refused_by?: string;
|
|
15
|
+
/** "pass": every check on the turn passed. */
|
|
16
|
+
checks?: "pass";
|
|
17
|
+
/** Phrases the reply contains, ignoring case. */
|
|
18
|
+
says?: string[];
|
|
19
|
+
/** Phrases the reply never contains, ignoring case. */
|
|
20
|
+
not_says?: string[];
|
|
21
|
+
}
|
|
22
|
+
export interface ScriptTurn {
|
|
23
|
+
message: string;
|
|
24
|
+
expect?: TurnExpectation;
|
|
25
|
+
}
|
|
26
|
+
export interface ExpectationResult {
|
|
27
|
+
/** The expectation as written: `did answer-rates`. */
|
|
28
|
+
expect: string;
|
|
29
|
+
met: boolean;
|
|
30
|
+
/** What the turn showed instead, when it was not met. */
|
|
31
|
+
got?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare const EXPECTATION_KEYS: readonly ["did", "intent", "refused_by", "checks", "says", "not_says"];
|
|
34
|
+
/** A conversation script from a YAML (or JSON) file. */
|
|
35
|
+
export declare function loadChatScript(path: string): Promise<ScriptTurn[]>;
|
|
36
|
+
/** Turns from a parsed script: `{turns: [...]}` or the list itself; a turn is `message` plus an optional `expect`. */
|
|
37
|
+
export declare function parseChatScript(document: unknown, source?: string): ScriptTurn[];
|
|
38
|
+
/** Each expectation of a turn against what its reply and sealed trace show. */
|
|
39
|
+
export declare function checkTurn(expectation: TurnExpectation, message: Message): ExpectationResult[];
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { readFile } from "node:fs/promises";
|
|
2
|
+
import YAML from "yaml";
|
|
3
|
+
import { ConfigError } from "../errors/index.js";
|
|
4
|
+
/** The most turns one scripted conversation sends — from stdin (`chat -`) or a file (`chat --script`). */
|
|
5
|
+
export const MAX_SCRIPT_TURNS = 200;
|
|
6
|
+
export const EXPECTATION_KEYS = ["did", "intent", "refused_by", "checks", "says", "not_says"];
|
|
7
|
+
const EXAMPLE = [
|
|
8
|
+
"turns:",
|
|
9
|
+
' - message: "How much is an e-bike for the day?"',
|
|
10
|
+
" expect: { did: answer-rates, checks: pass }",
|
|
11
|
+
' - message: "Can you recommend a restaurant?"',
|
|
12
|
+
" expect: { did: none, says: only help with }",
|
|
13
|
+
].join("\n");
|
|
14
|
+
/** A conversation script from a YAML (or JSON) file. */
|
|
15
|
+
export async function loadChatScript(path) {
|
|
16
|
+
let text;
|
|
17
|
+
try {
|
|
18
|
+
text = await readFile(path, "utf8");
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
const reason = error instanceof Error && "code" in error && error.code === "ENOENT" ? "no such file" : "it could not be read";
|
|
22
|
+
throw new ConfigError(`Cannot read the script ${path}: ${reason}.`, "Pass the path of a YAML or JSON file of turns.");
|
|
23
|
+
}
|
|
24
|
+
let document;
|
|
25
|
+
try {
|
|
26
|
+
document = YAML.parse(text);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
throw new ConfigError(`${path} is not valid YAML or JSON: ${error instanceof Error ? error.message : String(error)}`, EXAMPLE);
|
|
30
|
+
}
|
|
31
|
+
return parseChatScript(document, path);
|
|
32
|
+
}
|
|
33
|
+
/** Turns from a parsed script: `{turns: [...]}` or the list itself; a turn is `message` plus an optional `expect`. */
|
|
34
|
+
export function parseChatScript(document, source = "the script") {
|
|
35
|
+
const list = Array.isArray(document) ? document : isRecord(document) && Array.isArray(document.turns) ? document.turns : undefined;
|
|
36
|
+
if (list === undefined)
|
|
37
|
+
throw new ConfigError(`${source} needs a \`turns:\` list.`, EXAMPLE);
|
|
38
|
+
if (list.length === 0)
|
|
39
|
+
throw new ConfigError(`${source} has no turns.`, EXAMPLE);
|
|
40
|
+
if (list.length > MAX_SCRIPT_TURNS) {
|
|
41
|
+
throw new ConfigError(`${source} has ${list.length} turns; one run sends at most ${MAX_SCRIPT_TURNS}.`, "Split it, and continue the conversation with --thread <id>.");
|
|
42
|
+
}
|
|
43
|
+
return list.map((raw, index) => parseTurn(raw, `${source}, turn ${index + 1}`));
|
|
44
|
+
}
|
|
45
|
+
function parseTurn(raw, where) {
|
|
46
|
+
if (typeof raw === "string" && raw.trim())
|
|
47
|
+
return { message: raw.trim() };
|
|
48
|
+
if (!isRecord(raw))
|
|
49
|
+
throw new ConfigError(`${where}: a turn is a \`message\` with an optional \`expect\`.`, EXAMPLE);
|
|
50
|
+
const extra = Object.keys(raw).find((key) => key !== "message" && key !== "expect");
|
|
51
|
+
if (extra !== undefined)
|
|
52
|
+
throw new ConfigError(`${where}: unknown key \`${extra}\` — a turn takes \`message\` and \`expect\`.`);
|
|
53
|
+
const message = typeof raw.message === "string" ? raw.message.trim() : "";
|
|
54
|
+
if (!message)
|
|
55
|
+
throw new ConfigError(`${where}: \`message\` is missing or empty.`);
|
|
56
|
+
return raw.expect === undefined || raw.expect === null ? { message } : { message, expect: parseExpectation(raw.expect, where) };
|
|
57
|
+
}
|
|
58
|
+
function parseExpectation(raw, where) {
|
|
59
|
+
if (!isRecord(raw))
|
|
60
|
+
throw new ConfigError(`${where}: \`expect\` is a mapping, such as { did: answer-hours, checks: pass }.`);
|
|
61
|
+
const expectation = {};
|
|
62
|
+
for (const [key, value] of Object.entries(raw)) {
|
|
63
|
+
switch (key) {
|
|
64
|
+
case "did":
|
|
65
|
+
// `[]` reads as it is written: no capability ran.
|
|
66
|
+
expectation.did = value === "none" || (Array.isArray(value) && value.length === 0) ? "none" : names(value, `${where}, did`);
|
|
67
|
+
break;
|
|
68
|
+
case "intent":
|
|
69
|
+
expectation.intent = names(value, `${where}, intent`);
|
|
70
|
+
break;
|
|
71
|
+
case "refused_by":
|
|
72
|
+
expectation.refused_by = names(value, `${where}, refused_by`, 1)[0];
|
|
73
|
+
break;
|
|
74
|
+
case "checks":
|
|
75
|
+
if (value !== "pass")
|
|
76
|
+
throw new ConfigError(`${where}: \`checks\` takes \`pass\`.`);
|
|
77
|
+
expectation.checks = "pass";
|
|
78
|
+
break;
|
|
79
|
+
case "says":
|
|
80
|
+
expectation.says = names(value, `${where}, says`);
|
|
81
|
+
break;
|
|
82
|
+
case "not_says":
|
|
83
|
+
expectation.not_says = names(value, `${where}, not_says`);
|
|
84
|
+
break;
|
|
85
|
+
default:
|
|
86
|
+
throw new ConfigError(`${where}: unknown expectation \`${key}\`.`, `An expectation is one of: ${EXPECTATION_KEYS.join(", ")}.`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
if (Object.keys(expectation).length === 0)
|
|
90
|
+
throw new ConfigError(`${where}: \`expect\` is empty.`);
|
|
91
|
+
return expectation;
|
|
92
|
+
}
|
|
93
|
+
/** One name or a list of names, none empty. */
|
|
94
|
+
function names(value, where, most) {
|
|
95
|
+
const list = Array.isArray(value) ? value : [value];
|
|
96
|
+
const ok = list.length > 0 && list.every((item) => typeof item === "string" && item.trim() !== "");
|
|
97
|
+
if (!ok || (most !== undefined && list.length > most)) {
|
|
98
|
+
throw new ConfigError(`${where}: takes ${most === 1 ? "one name" : "a name or a list of names"}.`);
|
|
99
|
+
}
|
|
100
|
+
return list.map((item) => item.trim());
|
|
101
|
+
}
|
|
102
|
+
/** Each expectation of a turn against what its reply and sealed trace show. */
|
|
103
|
+
export function checkTurn(expectation, message) {
|
|
104
|
+
const trace = message.trace_info ?? undefined;
|
|
105
|
+
const results = [];
|
|
106
|
+
const did = strings(trace?.did);
|
|
107
|
+
if (expectation.did === "none")
|
|
108
|
+
results.push(outcome("did none", did.length === 0, `did ${did.join(", ")}`));
|
|
109
|
+
for (const capability of expectation.did === "none" ? [] : (expectation.did ?? [])) {
|
|
110
|
+
results.push(outcome(`did ${capability}`, did.includes(capability), did.length ? `did ${did.join(", ")}` : "did nothing"));
|
|
111
|
+
}
|
|
112
|
+
const intents = capabilities(trace?.intents);
|
|
113
|
+
for (const capability of expectation.intent ?? []) {
|
|
114
|
+
results.push(outcome(`intent ${capability}`, intents.includes(capability), intents.length ? `intent ${intents.join(", ")}` : "no intent"));
|
|
115
|
+
}
|
|
116
|
+
if (expectation.refused_by !== undefined) {
|
|
117
|
+
const refused = typeof trace?.refused_by === "string" && trace.refused_by ? trace.refused_by : undefined;
|
|
118
|
+
const met = expectation.refused_by === "none" ? refused === undefined : refused === expectation.refused_by;
|
|
119
|
+
results.push(outcome(`refused_by ${expectation.refused_by}`, met, refused ? `refused by ${refused}` : "nothing refused it"));
|
|
120
|
+
}
|
|
121
|
+
if (expectation.checks === "pass") {
|
|
122
|
+
const checks = Array.isArray(trace?.checks) ? trace.checks : undefined;
|
|
123
|
+
const failed = (checks ?? []).filter((check) => isRecord(check) && check.passed === false);
|
|
124
|
+
const named = failed.map((check) => (isRecord(check) && typeof check.check === "string" ? check.check : "?"));
|
|
125
|
+
results.push(outcome("checks pass", checks !== undefined && failed.length === 0, checks === undefined ? "no checks came back" : `failed: ${named.join("; ")}`));
|
|
126
|
+
}
|
|
127
|
+
const text = (message.text ?? "").toLowerCase();
|
|
128
|
+
for (const phrase of expectation.says ?? []) {
|
|
129
|
+
results.push(outcome(`says "${phrase}"`, text.includes(phrase.toLowerCase()), "not in the reply"));
|
|
130
|
+
}
|
|
131
|
+
for (const phrase of expectation.not_says ?? []) {
|
|
132
|
+
results.push(outcome(`never says "${phrase}"`, !text.includes(phrase.toLowerCase()), "it is in the reply"));
|
|
133
|
+
}
|
|
134
|
+
return results;
|
|
135
|
+
}
|
|
136
|
+
function outcome(expect, met, got) {
|
|
137
|
+
return met ? { expect, met } : { expect, met, got };
|
|
138
|
+
}
|
|
139
|
+
function strings(value) {
|
|
140
|
+
return Array.isArray(value) ? value.filter((item) => typeof item === "string") : [];
|
|
141
|
+
}
|
|
142
|
+
function capabilities(value) {
|
|
143
|
+
if (!Array.isArray(value))
|
|
144
|
+
return [];
|
|
145
|
+
return value.flatMap((entry) => (isRecord(entry) && typeof entry.capability === "string" ? [entry.capability] : []));
|
|
146
|
+
}
|
|
147
|
+
function isRecord(value) {
|
|
148
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=chat-script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-script.js","sourceRoot":"","sources":["../../../src/services/chat-script.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { AgentSettingsClient } from "../api/agent-settings.js";
|
|
|
3
3
|
import { BuilderApiClient } from "../api/builder-api.js";
|
|
4
4
|
import { CloneClient } from "../api/clone.js";
|
|
5
5
|
import { IdentityClient } from "../api/identity.js";
|
|
6
|
+
import { jwtExpiresAt } from "../api/jwt.js";
|
|
6
7
|
import { KbmClient } from "../api/kbm.js";
|
|
7
8
|
import { ManagementClient } from "../api/management.js";
|
|
8
9
|
import { RuntimeApiClient } from "../api/runtime-api.js";
|
|
@@ -12,16 +13,8 @@ import { readCredentials, writeCredentials, } from "../config/index.js";
|
|
|
12
13
|
import { AuthError } from "../errors/index.js";
|
|
13
14
|
import { RUNTIME_VERSION_HEADER, runtimeRouteResolver, } from "../runtime-version/index.js";
|
|
14
15
|
function expiry(token) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if (!payload)
|
|
18
|
-
return undefined;
|
|
19
|
-
const claims = JSON.parse(Buffer.from(payload, "base64url").toString("utf8"));
|
|
20
|
-
return claims.exp ? new Date(claims.exp * 1_000).toISOString() : undefined;
|
|
21
|
-
}
|
|
22
|
-
catch {
|
|
23
|
-
return undefined;
|
|
24
|
-
}
|
|
16
|
+
const exp = jwtExpiresAt(token);
|
|
17
|
+
return exp ? new Date(exp * 1_000).toISOString() : undefined;
|
|
25
18
|
}
|
|
26
19
|
export function createClients(context, options = {}) {
|
|
27
20
|
const homeDir = options.homeDir ?? homedir();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../../src/services/clients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,gBAAgB,GAGjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAgBrC,SAAS,MAAM,CAAC,KAAa;IAC3B,
|
|
1
|
+
{"version":3,"file":"clients.js","sourceRoot":"","sources":["../../../src/services/clients.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,gBAAgB,GAGjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAgBrC,SAAS,MAAM,CAAC,KAAa;IAC3B,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAAgB,EAChB,UAAiE,EAAE;IAEnE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAyB,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;IAErE,IAAI,WAAW,GAA0B,GAAG,EAAE,CAC5C,OAAO,CAAC,MAAM,CACZ,IAAI,SAAS,CAAC,iDAAiD,CAAC,CACjE,CAAC;IACJ,MAAM,OAAO,GAAG,GAAoB,EAAE,CAAC,WAAW,EAAE,CAAC;IAErD,MAAM,iBAAiB,GAAG,IAAI,SAAS,CAAC;QACtC,OAAO,EAAE,UAAU;QACnB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;QAClC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,UAAU,EAAE,gBAAgB;QAC5B,WAAW;QACX,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnD,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAEvD,IAAI,cAA2C,CAAC;IAChD,WAAW,GAAG,KAAK,IAAqB,EAAE;QACxC,qEAAqE;QACrE,0EAA0E;QAC1E,qDAAqD;QACrD,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CACjB,wEAAwE,EACxE,0FAA0F,CAC3F,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,cAAc,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC3B,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBACpE,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,CAAC;oBAC5B,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;gBACvE,CAAC;gBACD,IAAI,SAAkD,CAAC;gBACvD,IAAI,CAAC;oBACH,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAC5D,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,SAAS,CACjB,iDAAiD,EACjD,mCAAmC,CACpC,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,GAAe;oBACvB,GAAG,OAAO;oBACV,YAAY,EAAE,SAAS,CAAC,KAAK;oBAC7B,aAAa,EAAE,SAAS,CAAC,YAAY;oBACrC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5E,CAAC;gBACF,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACpC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAE,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;gBAC1D,MAAM,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC7C,OAAO,SAAS,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBAChB,cAAc,GAAG,SAAS,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG;QACb,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,WAAW;QACX,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnD,CAAC;IACF,MAAM,mBAAmB,GAAG,IAAI,SAAS,CAAC;QACxC,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU;QACpC,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,uBAAuB;QAClC,GAAG,MAAM;KACV,CAAC,CAAC;IACH,8DAA8D;IAC9D,MAAM,sBAAsB,GAAG,IAAI,SAAS,CAAC;QAC3C,OAAO,EAAE,gBAAgB;QACzB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa;QACvC,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,mBAAmB;QAC9B,GAAG,MAAM;KACV,CAAC,CAAC;IACH,MAAM,aAAa,GAAG,IAAI,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;IACtE,4EAA4E;IAC5E,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC;QACrC,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;QACjC,GAAG,CAAC,OAAO,CAAC,cAAc;YACxB,CAAC,CAAC;gBACE,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC,cAAc,EAAE;gBAC7D,YAAY,EAAE,oBAAoB,CAChC,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,EACxB,aAAa,CACd;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,MAAM;KACV,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC;QACjC,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG;QAC7B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,SAAS,EAAE,mBAAmB;QAC9B,GAAG,MAAM;KACV,CAAC,CAAC;IACH,uEAAuE;IACvE,uEAAuE;IACvE,uEAAuE;IACvE,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC;QACrC,OAAO,EAAE,aAAa;QACtB,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,OAAO;QACjC,GAAG,CAAC,OAAO,CAAC,cAAc;YACxB,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE;YACnE,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,MAAM;KACV,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ;QACR,UAAU,EAAE,IAAI,gBAAgB,CAAC,mBAAmB,CAAC;QACrD,OAAO,EAAE,IAAI,gBAAgB,CAAC,gBAAgB,CAAC;QAC/C,KAAK,EAAE,IAAI,WAAW,CAAC,mBAAmB,CAAC;QAC3C,KAAK,EAAE,IAAI,WAAW,CAAC,mBAAmB,CAAC;QAC3C,GAAG,EAAE,IAAI,SAAS,CAAC,YAAY,CAAC;QAChC,aAAa;QACb,OAAO,EAAE,IAAI,gBAAgB,CAAC,gBAAgB,CAAC;KAChD,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { findLiveVersion, liveCommitTag } from "../api/management.js";
|
|
3
3
|
import { readProgramFiles } from "../bundle/files.js";
|
|
4
|
-
import {
|
|
4
|
+
import { assembleFlatBundle } from "../bundle/materialize.js";
|
|
5
5
|
import { assertValidProgram, mapRuntimeValidation, } from "../bundle/validate.js";
|
|
6
6
|
import { ApiError, AuthError, CliError, ConfigError, ExitCode, ThreadCommitError, } from "../errors/index.js";
|
|
7
7
|
function requireAgent(context) {
|
|
@@ -98,7 +98,10 @@ async function buildSendRequest(context, runtime, input) {
|
|
|
98
98
|
// The agent id lets the pre-flight resolve connection secrets against the
|
|
99
99
|
// agent's vault — the only place a live credential's VALUE ever lives.
|
|
100
100
|
assertValidProgram(mapRuntimeValidation(await runtime.validateProgram({ files: program.files }, agentId ? { agentId } : {})));
|
|
101
|
-
|
|
101
|
+
// The flat form, as every push lane ships it: the message carries the bytes the
|
|
102
|
+
// pre-flight just validated, so the runtime finds the program it compiled for the
|
|
103
|
+
// verdict.
|
|
104
|
+
inlineBundle = assembleFlatBundle(program.files);
|
|
102
105
|
}
|
|
103
106
|
const versionTag = input.version?.tag ?? context.versionTag;
|
|
104
107
|
return {
|
|
@@ -279,8 +282,9 @@ export function threadPage(context, runtime, options = {}) {
|
|
|
279
282
|
.agentThreadPage(context.agentId, { ...filters, ...(everyone === true ? {} : { userId: requireUserId(context) }) })
|
|
280
283
|
.then((page) => ({ ...page, scope: "agent" }));
|
|
281
284
|
}
|
|
282
|
-
|
|
283
|
-
|
|
285
|
+
const agentOnly = filters.versionTag || filters.title || filters.startTime || filters.endTime || filters.origins?.length || filters.simulated !== undefined;
|
|
286
|
+
if (agentOnly || everyone === true) {
|
|
287
|
+
throw new ConfigError("--commit, --title, --since, --until, --origin, --simulated and --everyone filter one agent's threads.", "Run this inside an agent checkout, or drop them.");
|
|
284
288
|
}
|
|
285
289
|
return runtime
|
|
286
290
|
.userThreadPage(requireUserId(context), {
|