@whiteroom-ai/cli 2.0.2 → 2.1.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 +4 -2
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/dist/practice/engine.d.ts +8 -0
- package/dist/practice/engine.js +20 -2
- package/dist/practice/engine.js.map +1 -1
- package/dist/practice/run.js +19 -4
- package/dist/practice/run.js.map +1 -1
- package/dist/practice/text.d.ts +15 -2
- package/dist/practice/text.js +27 -4
- package/dist/practice/text.js.map +1 -1
- package/dist/responses.d.ts +52 -0
- package/dist/responses.js +151 -0
- package/dist/responses.js.map +1 -0
- package/dist/sandbox/index.js +1 -1
- package/dist/sandbox/listen.d.ts +2 -0
- package/dist/sandbox/listen.js +16 -3
- package/dist/sandbox/listen.js.map +1 -1
- package/package.json +1 -1
- package/starters/wr-adapter.mjs +16 -2
- package/starters/wr_adapter.py +26 -4
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# @whiteroom-ai/cli
|
|
2
2
|
|
|
3
|
+
Before you start: sign up at app.whiteroom.tech and open Sandbox.
|
|
4
|
+
|
|
3
5
|
The `whiteroom` command: practice tests for your agent, plus fleet commands.
|
|
4
6
|
|
|
5
7
|
## Practice tests
|
|
@@ -24,7 +26,7 @@ Set the one variable for your agent's provider. For Azure OpenAI, Claude on Azur
|
|
|
24
26
|
| Claude on Azure (Foundry) | `ANTHROPIC_FOUNDRY_API_KEY` |
|
|
25
27
|
| AWS Bedrock (a long-term Bedrock API key) | `AWS_BEARER_TOKEN_BEDROCK` |
|
|
26
28
|
|
|
27
|
-
The CLI asks for the run code from the dashboard (or reads it from stdin with `--code-stdin`), and asks for the key if none of these is set. If more than one is set, it stops and asks you to unset the others. Keep the terminal open until it prints the result. Exit codes: `0` passed, `1` didn't pass, `2` a setup or usage problem, `3` didn't finish (safe to run again). With `--require`, `1` also when a required check isn't Passed in Enforce. macOS and Linux only for now.
|
|
29
|
+
The CLI asks for the run code from the dashboard (or reads it from stdin with `--code-stdin`), and asks for the key if none of these is set. If more than one is set, it stops and asks you to unset the others. Keep the terminal open until it prints the result. Exit codes: `0` passed, `1` didn't pass, `2` a setup or usage problem, or a refusal running it again won't fix (the Sandbox's calls for today are used up, or the plan doesn't allow it), `3` didn't finish, WhiteRoom was busy or paused, or not proven (safe to run again). When WhiteRoom couldn't save every result of a passing test, it says Not proven and exits `3`, never Passed. With `--require`, `1` also when a required check isn't Passed in Enforce. macOS and Linux only for now.
|
|
28
30
|
|
|
29
31
|
### Requiring checks in CI
|
|
30
32
|
|
|
@@ -58,7 +60,7 @@ The CLI starts the adapter once per practice task and talks to it in JSON lines:
|
|
|
58
60
|
|
|
59
61
|
- Send model calls to `base_url` with every header in `headers`. For OpenAI SDKs (Azure OpenAI's too) `base_url` already ends in `/v1`. The adapter's environment has the key in the provider's variable from the table above, and no other provider's.
|
|
60
62
|
- Send the key as that provider's SDK does: `x-api-key` for Anthropic and Foundry, `Authorization: Bearer` for OpenAI and Bedrock, `api-key` for Azure OpenAI. Azure OpenAI and OpenAI take chat completions (on Azure, `model` is your deployment name); Anthropic, Foundry and Bedrock take Anthropic's Messages API. The starters do this.
|
|
61
|
-
- When WhiteRoom answers 429 or 503 with a `whiteroom` field, wait a moment and send the same call again. Let model calls run up to 180 seconds.
|
|
63
|
+
- When WhiteRoom answers 429 or 503 with a `whiteroom` field, wait as `Retry-After` says (or a moment) and send the same call again. Two answers mean stop instead: a 503 whose `whiteroom.reason` is `free_paused` (Sandbox is paused for Free accounts) and a 402 (for example `sandbox_daily_limit`: the Sandbox's calls for today are used up until `whiteroom.resetAt`). The starters do this. Let model calls run up to 180 seconds.
|
|
62
64
|
- `model` is the model chosen for the practice test in the dashboard, or `null` when none was chosen: then use your agent's own model. The starters do this.
|
|
63
65
|
- Write logs to stderr. Lines on stdout that aren't JSON are shown in your terminal and never sent to WhiteRoom.
|
|
64
66
|
- Limits: lines up to 1 MiB, tool calls up to 64 KiB, 200 tool calls per practice task. The adapter is stopped (its whole process group) at the task's deadline.
|
package/dist/index.js
CHANGED
|
@@ -45,8 +45,17 @@ async function main() {
|
|
|
45
45
|
process.exit(0);
|
|
46
46
|
}
|
|
47
47
|
const { WhiteRoomClient, WhiteRoomError } = await import("@whiteroom-ai/sdk");
|
|
48
|
+
// The SDK's errors carry no headers: keep the last reply's Retry-After, so a busy answer says how long to wait.
|
|
49
|
+
let retryAfter = null;
|
|
50
|
+
const sdkFetch = globalThis.fetch;
|
|
51
|
+
globalThis.fetch = async (...a) => {
|
|
52
|
+
const res = await sdkFetch(...a);
|
|
53
|
+
retryAfter = res.headers.get("retry-after");
|
|
54
|
+
return res;
|
|
55
|
+
};
|
|
56
|
+
const baseUrl = flags.url ?? process.env.WHITEROOM_URL ?? "http://localhost:3000";
|
|
48
57
|
const client = new WhiteRoomClient({
|
|
49
|
-
baseUrl
|
|
58
|
+
baseUrl,
|
|
50
59
|
apiKey: flags.key ?? process.env.WHITEROOM_API_KEY,
|
|
51
60
|
});
|
|
52
61
|
try {
|
|
@@ -110,7 +119,8 @@ async function main() {
|
|
|
110
119
|
}
|
|
111
120
|
catch (e) {
|
|
112
121
|
if (e instanceof WhiteRoomError) {
|
|
113
|
-
|
|
122
|
+
const { freeTierMessage } = await import("./responses.js");
|
|
123
|
+
console.error(freeTierMessage({ status: e.status, body: e.body, retryAfter }, baseUrl) ?? `Error ${e.status}: ${e.message}`);
|
|
114
124
|
process.exit(1);
|
|
115
125
|
}
|
|
116
126
|
throw e;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBb,CAAC;AAEF,KAAK,UAAU,IAAI;IACjB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,mEAAmE;IACnE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;QACtD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACzD,OAAO,CAAC,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IACD,yCAAyC;IACzC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACvD,OAAO,CAAC,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAExB,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,8 @@ export interface Reply {
|
|
|
8
8
|
status: number;
|
|
9
9
|
/** The route's JSON, read field by field by the caller. */
|
|
10
10
|
body: any;
|
|
11
|
+
/** The Retry-After header, for a busy answer the command stops on. */
|
|
12
|
+
retryAfter?: string | null;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* A reply that tried to send the CLI somewhere else. Requests that carry the
|
|
@@ -45,8 +47,14 @@ export declare class Engine {
|
|
|
45
47
|
* retried as Retry-After says. `retryNetwork`: also retry a network error or
|
|
46
48
|
* another 5xx, for requests that are safe to repeat; otherwise those throw
|
|
47
49
|
* Unreachable. A redirect is returned as status REDIRECTED, never followed.
|
|
50
|
+
* Free tier answers: a pause or a 402 is returned at once. A busy answer
|
|
51
|
+
* (refused before WhiteRoom did anything) is waited out as Retry-After says,
|
|
52
|
+
* for up to the same offline budget, then returned; `retryBusy: false` (a
|
|
53
|
+
* claim, which starts a run) returns it at once, so a start is never sent
|
|
54
|
+
* again by itself.
|
|
48
55
|
*/
|
|
49
56
|
post(path: string, body: unknown, o?: {
|
|
50
57
|
retryNetwork?: boolean;
|
|
58
|
+
retryBusy?: boolean;
|
|
51
59
|
}): Promise<Reply>;
|
|
52
60
|
}
|
package/dist/practice/engine.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// plain fetch, paced to 60 a minute (§4 Run), with WhiteRoom's own waits
|
|
3
3
|
// (an IP-limit 429, a 503 while it switches servers) retried.
|
|
4
4
|
import { copy, warn } from "./text.js";
|
|
5
|
+
import { BUSY, freeTierCode, LONG_WAIT_S, retryAfterSeconds } from "../responses.js";
|
|
5
6
|
/** The CLI's own requests stay at or under this many a minute; WhiteRoom allows 120 per IP. */
|
|
6
7
|
const PER_MINUTE = 60;
|
|
7
8
|
/** How long the CLI keeps retrying while WhiteRoom can't be reached or asks it to wait. */
|
|
@@ -103,10 +104,16 @@ export class Engine {
|
|
|
103
104
|
* retried as Retry-After says. `retryNetwork`: also retry a network error or
|
|
104
105
|
* another 5xx, for requests that are safe to repeat; otherwise those throw
|
|
105
106
|
* Unreachable. A redirect is returned as status REDIRECTED, never followed.
|
|
107
|
+
* Free tier answers: a pause or a 402 is returned at once. A busy answer
|
|
108
|
+
* (refused before WhiteRoom did anything) is waited out as Retry-After says,
|
|
109
|
+
* for up to the same offline budget, then returned; `retryBusy: false` (a
|
|
110
|
+
* claim, which starts a run) returns it at once, so a start is never sent
|
|
111
|
+
* again by itself.
|
|
106
112
|
*/
|
|
107
113
|
async post(path, body, o = {}) {
|
|
108
114
|
const started = Date.now();
|
|
109
115
|
let warned = false;
|
|
116
|
+
let busyWarned = false;
|
|
110
117
|
for (;;) {
|
|
111
118
|
await pace();
|
|
112
119
|
if (this.signal?.aborted)
|
|
@@ -129,6 +136,18 @@ export class Engine {
|
|
|
129
136
|
continue;
|
|
130
137
|
}
|
|
131
138
|
const { json } = res;
|
|
139
|
+
const freeTier = freeTierCode(res.status, json);
|
|
140
|
+
if (freeTier) {
|
|
141
|
+
const reply = { status: res.status, body: json, retryAfter: res.retryAfter };
|
|
142
|
+
if (!BUSY.has(freeTier) || o.retryBusy === false || Date.now() - started > this.offlineMs)
|
|
143
|
+
return reply;
|
|
144
|
+
const wait = retryAfterSeconds(res.retryAfter) ?? 5;
|
|
145
|
+
if (!busyWarned || wait >= LONG_WAIT_S)
|
|
146
|
+
warn(copy.busyWaiting);
|
|
147
|
+
busyWarned = true;
|
|
148
|
+
await sleep(Math.min(wait * 1000, this.offlineMs), this.signal ?? undefined);
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
132
151
|
if (res.status >= 500 && res.status !== 503) {
|
|
133
152
|
// It may have been handled: only a request that is safe to repeat is sent again.
|
|
134
153
|
if (!o.retryNetwork || Date.now() - started > this.offlineMs)
|
|
@@ -140,8 +159,7 @@ export class Engine {
|
|
|
140
159
|
if (wait) {
|
|
141
160
|
if (Date.now() - started > this.offlineMs)
|
|
142
161
|
throw new Unreachable();
|
|
143
|
-
|
|
144
|
-
await sleep(after === null ? 5_000 : Math.min(Math.max(Number(after) || 0, 1), 60) * 1000, this.signal ?? undefined);
|
|
162
|
+
await sleep((retryAfterSeconds(res.retryAfter) ?? 5) * 1000, this.signal ?? undefined);
|
|
145
163
|
continue;
|
|
146
164
|
}
|
|
147
165
|
return { status: res.status, body: json };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/practice/engine.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,yEAAyE;AACzE,8DAA8D;AAE9D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/practice/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/practice/run.js
CHANGED
|
@@ -7,7 +7,8 @@ import { childEnv, runAdapter } from "./adapter.js";
|
|
|
7
7
|
import { Engine, pace, REDIRECTED, sleep, Stopped, Unreachable } from "./engine.js";
|
|
8
8
|
import { CATALOG } from "./catalog.js";
|
|
9
9
|
import { adapterLabel, adapterProblem, chatCompletions, firstLineOfStdin, hiddenPrompt, Interrupted, isKeyVar, isProvider, isShortTermBedrockKey, keyFromEnv, keyHeader, keyShapeProblem, keyVarOf, nodeTooOld, providerByShape, RUN_CODE, targetOrigin, } from "./preflight.js";
|
|
10
|
-
import { copy, ending, hideSecret, results, say, warn } from "./text.js";
|
|
10
|
+
import { copy, ending, hideSecret, reportOf, results, say, warn } from "./text.js";
|
|
11
|
+
import { freeTierMessage, rerunWontFix } from "../responses.js";
|
|
11
12
|
const HEARTBEAT_MS = 30_000;
|
|
12
13
|
/** A practice task WhiteRoom dropped (a restart, a failed capture): ask for it again, it doesn't count (§2 rule 4). */
|
|
13
14
|
const RESTART = new Set(["attempt_discarded", "not_found"]);
|
|
@@ -24,6 +25,8 @@ const SAMPLE_AGENT = fileURLToPath(new URL("wr-adapter.mjs", STARTERS_DIR));
|
|
|
24
25
|
const VERSION = JSON.parse(readFileSync(new URL("../../package.json", import.meta.url), "utf8")).version;
|
|
25
26
|
/** This run's --require rows, for wherever its result is printed. */
|
|
26
27
|
let required = [];
|
|
28
|
+
/** The WhiteRoom address this run talks to (its region names the dashboard links in refusals). */
|
|
29
|
+
let engineOrigin = null;
|
|
27
30
|
/**
|
|
28
31
|
* Any refusal after a good claim ends the test with exit 3 (§8, §10 "Post-claim 409s").
|
|
29
32
|
* 5xx and network errors never get here: Engine.post retries them or throws Unreachable.
|
|
@@ -32,9 +35,16 @@ function sessionEnding(r) {
|
|
|
32
35
|
const reason = r.body?.reason;
|
|
33
36
|
// The run already finished (WhiteRoom finished it meanwhile): its result, not a refusal. Without one, tasks/next replays it.
|
|
34
37
|
if (r.body?.done || reason === "finished")
|
|
35
|
-
return r.body?.report ? results(r.body
|
|
38
|
+
return r.body?.report ? results(reportOf(r.body), required) : { ...ending(3, copy.finished(r.body?.verdict, r.body?.evidence)), result: true, replay: true };
|
|
36
39
|
if (r.status === REDIRECTED)
|
|
37
40
|
return ending(3, copy.redirected);
|
|
41
|
+
// Free tier answers: busy or paused (try again: 3), or a limit or plan a rerun won't fix (2).
|
|
42
|
+
const plain = freeTierMessage(r, engineOrigin);
|
|
43
|
+
if (plain)
|
|
44
|
+
return ending(rerunWontFix(r.status, r.body) ? 2 : 3, plain);
|
|
45
|
+
// Cancelled on WhiteRoom's side without a reason this CLI can name: never guessed.
|
|
46
|
+
if (reason === "engine_update" && r.body?.lifecycle === "cancelled")
|
|
47
|
+
return ending(3, copy.stoppedByWhiteRoom);
|
|
38
48
|
if (reason === "engine_update")
|
|
39
49
|
return ending(3, copy.engineUpdate(Number(r.body.tasksFinished) || 0));
|
|
40
50
|
if (reason === "ended_by_owner")
|
|
@@ -77,6 +87,7 @@ export async function practiceRun(a) {
|
|
|
77
87
|
const origin = targetOrigin(a.url);
|
|
78
88
|
if (!origin)
|
|
79
89
|
return fail(ending(2, copy.badUrl));
|
|
90
|
+
engineOrigin = origin;
|
|
80
91
|
if (a.adapter !== undefined) {
|
|
81
92
|
const why = adapterProblem(a.adapter);
|
|
82
93
|
if (why)
|
|
@@ -136,9 +147,10 @@ export async function practiceRun(a) {
|
|
|
136
147
|
const engine = new Engine(origin);
|
|
137
148
|
let claim;
|
|
138
149
|
try {
|
|
150
|
+
// A claim starts the run: a busy answer is shown, never sent again by itself.
|
|
139
151
|
claim = await engine.post("/api/readiness/claim", {
|
|
140
152
|
code, key, cli: { version: VERSION, adapter: a.adapter === undefined ? "sample agent" : adapterLabel(a.adapter) },
|
|
141
|
-
});
|
|
153
|
+
}, { retryBusy: false });
|
|
142
154
|
}
|
|
143
155
|
catch (err) {
|
|
144
156
|
if (err instanceof Unreachable)
|
|
@@ -163,6 +175,9 @@ export async function practiceRun(a) {
|
|
|
163
175
|
return fail(ending(2, copy.shortTermKey));
|
|
164
176
|
if (claim.status === REDIRECTED)
|
|
165
177
|
return fail(ending(2, copy.redirected));
|
|
178
|
+
const refused = freeTierMessage(claim, origin);
|
|
179
|
+
if (refused)
|
|
180
|
+
return fail(ending(rerunWontFix(claim.status, claim.body) ? 2 : 3, claim.status === 503 ? `${refused} ${copy.codeStillWorks}` : refused));
|
|
166
181
|
if (claim.status === 410)
|
|
167
182
|
return fail(ending(2, copy.codeInvalid));
|
|
168
183
|
if (claim.status === 429)
|
|
@@ -339,7 +354,7 @@ export async function practiceRun(a) {
|
|
|
339
354
|
engine.signal = null;
|
|
340
355
|
const r = await engine.post("/api/readiness/tasks/next", { key }).catch(() => null);
|
|
341
356
|
if (r?.status === 200 && r.body?.done && r.body.report)
|
|
342
|
-
return print(results(r.body
|
|
357
|
+
return print(results(reportOf(r.body), required));
|
|
343
358
|
}
|
|
344
359
|
return fail(e);
|
|
345
360
|
};
|
package/dist/practice/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/practice/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/practice/run.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,0EAA0E;AAC1E,yDAAyD;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAgC,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,qBAAqB,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAC/K,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,GAC9D,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAe,MAAM,WAAW,CAAC;AAChG,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEhE,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B,uHAAuH;AACvH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC;AAC5D,wFAAwF;AACxF,MAAM,UAAU,SAAS,CAAC,CAAS;IACjC,IAAI,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAChC,OAAO,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;IACzF,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;AACxE,8DAA8D;AAC9D,MAAM,YAAY,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;AAC5E,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AAYjH,qEAAqE;AACrE,IAAI,QAAQ,GAAsB,EAAE,CAAC;AACrC,kGAAkG;AAClG,IAAI,YAAY,GAAkB,IAAI,CAAC;AA+BvC;;;GAGG;AACH,SAAS,aAAa,CAAC,CAAQ;IAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC;IAC9B,6HAA6H;IAC7H,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACxM,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/D,8FAA8F;IAC9F,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC/C,IAAI,KAAK;QAAE,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACxE,mFAAmF;IACnF,IAAI,MAAM,KAAK,eAAe,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,WAAW;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAC/G,IAAI,MAAM,KAAK,eAAe;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACvG,IAAI,MAAM,KAAK,gBAAgB;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACrE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,MAAM,KAAK,gBAAgB;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACrE,IAAI,MAAM,KAAK,cAAc;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,2DAA2D;AACjG,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE;IACrC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK;QAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAChC,OAAO,CAAC,CAAC,IAAI,CAAC;AAChB,CAAC,CAAC;AACF,8EAA8E;AAC9E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,CAAU;IAC1C,QAAQ,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;IAC3B,4DAA4D;IAC5D,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACrC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa;QAAE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,YAAY,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,+GAA+G;IAC/G,MAAM,MAAM,GAAW,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;IAEzH,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpG,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,MAAM,GAAqB,OAAO,CAAC;IACvC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC;QACH,IAAI,CAAC,CAAC,SAAS;YAAE,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACjD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvE,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAClE,2DAA2D;YAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC;oBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,WAAW;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1E,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAC7B,UAAU,CAAC,GAAG,CAAC,CAAC;IAChB,UAAU,CAAC,IAAI,CAAC,CAAC;IACjB,6EAA6E;IAC7E,IAAI,qBAAqB,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1E,MAAM,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9G,IAAI,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IACxC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAErC,8FAA8F;IAC9F,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,KAAY,CAAC;IACjB,IAAI,CAAC;QACH,8EAA8E;QAC9E,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAChD,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;SAClH,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,WAAW;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACzE,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,cAAc,EAAE,CAAC;QAClE,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;QACrB,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,kFAAkF;QAClF,MAAM,WAAW,GAAY,CAAC,CAAC,QAAQ,CAAC;QACxC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;YACxH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1G,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC9G,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/G,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC/C,IAAI,OAAO;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACvJ,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5D,4DAA4D;IAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACnH,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,KAAK,CAAC,IAAI,EAAE,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9G,iGAAiG;IACjG,MAAM,WAAW,GAAY,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;IACtD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAa,WAAW,CAAC;IACvC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAiB,CAAC;IAC9C,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,uEAAuE;IACvE,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1F,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC;IAC1E,oGAAoG;IACpG,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,oGAAoG;IACpG,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,MAAM,IAAI,GAA4C,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACnF,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAE,MAAe,EAAE,EAAE;QAC9C,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC,CAAC;IACF,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7G,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/D,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QACjC,IAAI,OAAO;YAAE,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;aAChE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;aACpF,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,YAAY,WAAW,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;aAC1F,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,EAAE,YAAY,CAAC,CAAC;IACjB,SAAS,CAAC,KAAK,EAAE,CAAC;IAElB,yDAAyD;IACzD,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC,CAAC;IAEF,oGAAoG;IACpG,MAAM,YAAY,GAAG,KAAK,EAAE,CAAe,EAAE,CAAW,EAA0B,EAAE;QAClF,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,qHAAqH;QACrH,sHAAsH;QACtH,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,KAAK,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChF,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,eAAe,GAAG,GAAG,EAAE,CAAC,CAAC;QACvJ,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC;YAC3B,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;YAC1F,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;gBAChE,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;gBAC9D,qEAAqE;gBACrE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;aACpE;YACD,IAAI,EAAE,KAAK,EAAE,IAAI,EAAuB,EAAE;gBACxC,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC3G,IAAI,CAAC,CAAC;oBAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;oBAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;gBAChE,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC;gBAC9B,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;YAClL,CAAC;SACF,CAAC,CAAC;QACH,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;QACrD,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO,GAAa,CAAC;QAClD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;QAE1G,MAAM,IAAI,GAAG,CAAC,MAAqB,EAAE,KAA8C,EAAE,EAAE,CACrF,MAAM,CAAC,IAAI,CAAC,wBAAwB,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACpH,MAAM,KAAK,GAAG,KAAK,EAAE,MAAqB,EAAE,KAA2B,EAA0B,EAAE;YACjG,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;YACzC,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YAClC,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC;YACjE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC;QACF,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;QACvE,IAAI,GAAG,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5E,2GAA2G;QAC3G,yFAAyF;QACzF,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;YAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAC9G,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU;YAAE,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,0CAA0C;QAC/H,MAAM,IAAI,GAAG,CAAC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;QAC7G,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;QAC7F,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IACtI,CAAC,CAAC;IAEF,yGAAyG;IACzG,MAAM,aAAa,GAAG,KAAK,EAAE,CAAc,EAA0B,EAAE;QACrE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5B,GAAG,CAAC,yBAAyB,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,QAAQ,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtF,IAAI,MAAM,GAA4E,IAAI,CAAC;QAC3F,SAAS,CAAC;YACR,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAClH,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YACrC,4FAA4F;YAC5F,IAAI,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;YACzC,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG;gBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;YACzI,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,OAAqC,CAAC;YACxD,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACjF,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,IAAI,CAAC;YACrC,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;gBAAE,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAClI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;YACjD,MAAM,IAAI,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAClJ,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC;gBAC3D,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC1F,MAAM,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAC7F,CAAC;YAAC,MAAM,CAAC;gBACP,iFAAiF;gBACjF,6DAA6D;gBAC7D,MAAM,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,4GAA4G;IAC5G,MAAM,GAAG,GAAG,KAAK,EAAE,CAAS,EAAmB,EAAE;QAC/C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,CAAC,EAAE,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5G,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,6CAA6C;IAC7C,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACjB,IAAI,IAAW,CAAC;YAChB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;YACzF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,OAAO;oBAAE,MAAM;gBAClC,IAAI,GAAG,YAAY,WAAW;oBAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACzE,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI;gBAAE,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,YAAY,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzI,wDAAwD;YACxD,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC;gBAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,oFAAoF;QACpF,IAAI,IAAI,CAAC,MAAM;YAAE,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACvC,OAAO,GAAG,CAAC,IAAI,CAAC,GAAI,CAAC,CAAC;IACxB,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,SAAS,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
|
package/dist/practice/text.d.ts
CHANGED
|
@@ -25,6 +25,8 @@ export declare const copy: {
|
|
|
25
25
|
restart: string;
|
|
26
26
|
lostTask: string;
|
|
27
27
|
offline: string;
|
|
28
|
+
busyWaiting: string;
|
|
29
|
+
stoppedByWhiteRoom: string;
|
|
28
30
|
deadline: string;
|
|
29
31
|
pressAgain: string;
|
|
30
32
|
badCode: string;
|
|
@@ -59,7 +61,10 @@ export declare const copy: {
|
|
|
59
61
|
callCap: string;
|
|
60
62
|
noModelCalls: string;
|
|
61
63
|
engineError: string;
|
|
62
|
-
|
|
64
|
+
/** `saved`: the run's evidence state; a pass whose results weren't all saved is Not proven, never Passed. */
|
|
65
|
+
finished: (verdict: unknown, saved?: unknown) => string;
|
|
66
|
+
codeStillWorks: string;
|
|
67
|
+
notProven: string;
|
|
63
68
|
sessionGone: string;
|
|
64
69
|
cancelled: string;
|
|
65
70
|
adapterCrashed: (code: string, tail: string[]) => string[];
|
|
@@ -87,6 +92,8 @@ export interface Check {
|
|
|
87
92
|
}
|
|
88
93
|
export interface Report {
|
|
89
94
|
verdict: "passed" | "not_passed" | "incomplete";
|
|
95
|
+
/** Whether every result was saved: "incomplete" means some weren't, so a pass isn't proven. Missing (an older WhiteRoom) keeps the verdict as it is. */
|
|
96
|
+
evidence?: "pending" | "incomplete" | "complete";
|
|
90
97
|
runs: number;
|
|
91
98
|
sample: boolean;
|
|
92
99
|
scope: string[] | null;
|
|
@@ -103,5 +110,11 @@ export declare function parseRequire(value: string): string[] | {
|
|
|
103
110
|
* that counted (Watch, Not checked and Not set up all fail, D6).
|
|
104
111
|
*/
|
|
105
112
|
export declare function requiredRowProblem(r: Report, rowId: string): string | null;
|
|
106
|
-
/**
|
|
113
|
+
/** A reply's result, with the reply's own `evidence` when the result doesn't carry one. */
|
|
114
|
+
export declare function reportOf(body: any): Report;
|
|
115
|
+
/**
|
|
116
|
+
* The results screen in the terminal, and its exit code: 0 Passed, 1 Didn't pass, 3 Didn't finish.
|
|
117
|
+
* A pass whose results weren't all saved (evidence "incomplete") is Not proven (exit 3), never Passed.
|
|
118
|
+
* With --require, a required row not Passed in Enforce turns a pass into 1.
|
|
119
|
+
*/
|
|
107
120
|
export declare function results(r: Report, require?: readonly string[]): Ending;
|
package/dist/practice/text.js
CHANGED
|
@@ -40,6 +40,8 @@ export const copy = {
|
|
|
40
40
|
restart: "WhiteRoom restarted this practice task, so it starts again. This doesn't count against your agent.",
|
|
41
41
|
lostTask: "Lost contact with WhiteRoom during this practice task, so it starts again. This doesn't count against your agent.",
|
|
42
42
|
offline: "Lost connection to WhiteRoom. Trying again for up to 5 minutes.",
|
|
43
|
+
busyWaiting: "WhiteRoom is busy. Waiting, then trying again.",
|
|
44
|
+
stoppedByWhiteRoom: "This practice test was stopped on WhiteRoom's side. Run it again later.",
|
|
43
45
|
deadline: "Your agent didn't finish this practice task in time, so it was stopped.",
|
|
44
46
|
pressAgain: "Press Ctrl+C again to end the practice test. Finished practice tasks are kept.",
|
|
45
47
|
badCode: "That isn't a run code. Copy it again from the dashboard (it starts with wrrt_).",
|
|
@@ -74,10 +76,15 @@ export const copy = {
|
|
|
74
76
|
callCap: `Stopped at this test's model-call limit after WhiteRoom had to rerun a task (not your agent). ${button("Start test")} to run it again.`,
|
|
75
77
|
noModelCalls: `Stopped: your agent didn't make any model calls through WhiteRoom in 2 practice tasks in a row. Check your adapter sends its calls to the base_url the CLI gives it. ${button("Start test")} to run it again.`,
|
|
76
78
|
engineError: `WhiteRoom couldn't finish working out the result (not your agent). ${button("Start test")} to run a new test.`,
|
|
77
|
-
|
|
79
|
+
/** `saved`: the run's evidence state; a pass whose results weren't all saved is Not proven, never Passed. */
|
|
80
|
+
finished: (verdict, saved) => {
|
|
81
|
+
if (verdict === "passed" && saved === "incomplete")
|
|
82
|
+
return `The practice test finished. Not proven: some results couldn't be saved. Run it again.`;
|
|
78
83
|
const label = typeof verdict === "string" && Object.hasOwn(CATALOG.verdictLabels, verdict) ? `: ${CATALOG.verdictLabels[verdict]}` : "";
|
|
79
84
|
return `The practice test finished${label}. See the results in the dashboard (${DASHBOARD}), under Past tests.`;
|
|
80
85
|
},
|
|
86
|
+
codeStillWorks: "Your run code still works.",
|
|
87
|
+
notProven: "Not proven: some results couldn't be saved. Run it again.",
|
|
81
88
|
sessionGone: `WhiteRoom no longer knows this practice test. ${button("Start test")} to run it again.`,
|
|
82
89
|
cancelled: `Practice test ended. Finished practice tasks were kept. ${button("Start test")} to run it again.`,
|
|
83
90
|
adapterCrashed: (code, tail) => [
|
|
@@ -129,8 +136,18 @@ export function requiredRowProblem(r, rowId) {
|
|
|
129
136
|
const notEnforced = live.some((c) => c.mode != null && c.mode !== CATALOG.controls.modes.enforce);
|
|
130
137
|
return notEnforced ? `${CATALOG.rowStatusLabels.passed} in ${CATALOG.controls.modes.watch}, not ${CATALOG.controls.modes.enforce}` : null;
|
|
131
138
|
}
|
|
132
|
-
/**
|
|
139
|
+
/** A reply's result, with the reply's own `evidence` when the result doesn't carry one. */
|
|
140
|
+
export function reportOf(body) {
|
|
141
|
+
const report = body.report;
|
|
142
|
+
return report.evidence === undefined && body.evidence !== undefined ? { ...report, evidence: body.evidence } : report;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* The results screen in the terminal, and its exit code: 0 Passed, 1 Didn't pass, 3 Didn't finish.
|
|
146
|
+
* A pass whose results weren't all saved (evidence "incomplete") is Not proven (exit 3), never Passed.
|
|
147
|
+
* With --require, a required row not Passed in Enforce turns a pass into 1.
|
|
148
|
+
*/
|
|
133
149
|
export function results(r, require = []) {
|
|
150
|
+
const proven = r.evidence !== "incomplete";
|
|
134
151
|
const required = r.checks.filter((c) => c.required);
|
|
135
152
|
const runs = plural(r.runs, "run");
|
|
136
153
|
const failed = required.filter((c) => c.status === "failed");
|
|
@@ -138,7 +155,7 @@ export function results(r, require = []) {
|
|
|
138
155
|
const scope = r.scope && [...new Set(required.map((c) => c.scenario).filter(Boolean))].join(", ");
|
|
139
156
|
const lines = [""];
|
|
140
157
|
let code;
|
|
141
|
-
if (r.verdict === "passed") {
|
|
158
|
+
if (r.verdict === "passed" && proven) {
|
|
142
159
|
code = 0;
|
|
143
160
|
lines.push(`${CATALOG.verdictLabels.passed} · ${scope ? `${scope} only` : `all ${plural(required.length, "check")}`} · ${runs}`);
|
|
144
161
|
}
|
|
@@ -146,10 +163,16 @@ export function results(r, require = []) {
|
|
|
146
163
|
code = 1;
|
|
147
164
|
lines.push(`${CATALOG.verdictLabels.not_passed} · ${plural(failed.length, "check")} failed`);
|
|
148
165
|
}
|
|
166
|
+
else if (r.verdict === "passed") {
|
|
167
|
+
code = 3;
|
|
168
|
+
lines.push(copy.notProven);
|
|
169
|
+
}
|
|
149
170
|
else {
|
|
150
171
|
code = 3;
|
|
151
172
|
const ours = open.length > 0 && open.every((c) => c.testProblem);
|
|
152
173
|
lines.push(`${CATALOG.verdictLabels.incomplete} · ${open.length ? `${plural(open.length, "check")} couldn't run` : "no checks could run"}${ours ? " (not your agent)" : ""}`);
|
|
174
|
+
if (!proven)
|
|
175
|
+
lines.push(copy.notProven);
|
|
153
176
|
}
|
|
154
177
|
if (r.sample)
|
|
155
178
|
lines.push("This was WhiteRoom's sample agent: it checks your controls and this setup, not your own agent.");
|
|
@@ -170,7 +193,7 @@ export function results(r, require = []) {
|
|
|
170
193
|
for (const c of fixes)
|
|
171
194
|
lines.push(` ${c.label}: ${c.fix}`);
|
|
172
195
|
}
|
|
173
|
-
const next = code === 1 ? "Rerun failed checks" : code === 3 ? "Rerun checks that didn't run" : !r.sample && r.runs === 1 ? "Run it 3 times" : "Past tests";
|
|
196
|
+
const next = code === 1 ? "Rerun failed checks" : code === 3 && r.verdict === "passed" ? "Start test" : code === 3 ? "Rerun checks that didn't run" : !r.sample && r.runs === 1 ? "Run it 3 times" : "Past tests";
|
|
174
197
|
const missed = require.map((id) => ({ id, why: requiredRowProblem(r, id) })).filter((x) => x.why);
|
|
175
198
|
if (missed.length) {
|
|
176
199
|
lines.push("", "Required checks (--require) that didn't pass");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/practice/text.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/practice/text.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,wEAAwE;AACxE,4EAA4E;AAC5E,gDAAgD;AAEhD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,CAAC,MAAM,SAAS,GAAG,oCAAoC,CAAC;AAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,4GAA4G;AAC5G,MAAM,MAAM,GAAG,wFAAwF,CAAC;AACxG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;AAClC,uFAAuF;AACvF,MAAM,UAAU,UAAU,CAAC,CAAS;IAClC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,KAAK,CAAC,CAAS;IAC7B,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAChC,KAAK,MAAM,CAAC,IAAI,OAAO;QAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACnG,oBAAoB;AACpB,MAAM,IAAI,GAAG,CAAC,EAAY,EAAE,GAAG,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACxI,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,qBAAqB,SAAS,YAAY,IAAI,EAAE,CAAC;AAWlF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAoB,EAAE,GAAG,KAAe,EAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,WAAW,EAAE,iEAAiE;IAC9E,QAAQ,EAAE,CAAC,CAAS,EAAE,GAAW,EAAE,EAAE,CAAC,oBAAoB,CAAC,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;IACtF,IAAI,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,uBAAuB,IAAI,8BAA8B;IACjF,kGAAkG;IAClG,OAAO,EAAE,CAAC,KAAa,EAAE,IAAY,EAAE,QAAiB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,QAAQ,IAAI,0BAA0B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClI,OAAO,0BAA0B,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,oDAAoD,CAAC;IACpI,CAAC;IACD,OAAO,EAAE,oGAAoG;IAC7G,QAAQ,EAAE,mHAAmH;IAC7H,OAAO,EAAE,iEAAiE;IAC1E,WAAW,EAAE,gDAAgD;IAC7D,kBAAkB,EAAE,yEAAyE;IAC7F,QAAQ,EAAE,yEAAyE;IACnF,UAAU,EAAE,gFAAgF;IAE5F,OAAO,EAAE,iFAAiF;IAC1F,QAAQ,EAAE,yDAAyD;IACnE,OAAO,EAAE,gEAAgE;IACzE,QAAQ,EAAE,CAAC,IAAc,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,2EAA2E,IAAI,CAAC,CAAC,CAAC,kDAAkD;IACvP,KAAK,EAAE,CAAC,MAAe,EAAE,EAAE,CAAC,gCAAgC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,gCAAgC;IAC1H,SAAS,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,gDAAgD,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG;IAC5G,YAAY,EAAE,OAAO,CAAC,WAAW,CAAC,cAAc;IAChD,QAAQ,EAAE,CAAC,IAAmB,EAAE,MAAc,EAAE,EAAE,CAChD,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,wBAAwB,MAAM,2FAA2F;IACrK,SAAS,EAAE,CAAC,IAAmB,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,qFAAqF;IACnK,IAAI,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,oCAAoC,CAAC,IAAI;IAC9D,OAAO,EAAE,kFAAkF;IAC3F,MAAM,EAAE,qGAAqG;IAC7G,cAAc,EAAE,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE,CAC3C,gCAAgC,GAAG,OAAO,GAAG,+DAA+D;IAE9G,WAAW,EAAE,CAAC,CAAS,EAAE,IAAY,EAAE,KAAK,GAAkB,IAAI,EAAE,EAAE,CACpE,+CAA+C,KAAK,IAAI,YAAY,yDAAyD,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,qDAAqD;IACrO,sHAAsH;IACtH,mBAAmB,EAAE,CAAC,IAAmB,EAAE,GAAW,EAAE,QAAgB,EAAE,IAAmB,EAAE,EAAE,CAC/F,GAAG,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC,oBAAoB,UAAU,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,QAAQ,0BAA0B,IAAI,CAAC,CAAC,CAAC,gBAAgB,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,wIAAwI;IAC1S,OAAO,EAAE,iFAAiF,MAAM,CAAC,oBAAoB,CAAC,qDAAqD;IAC3K,WAAW,EAAE,wEAAwE,MAAM,CAAC,oBAAoB,CAAC,+BAA+B;IAChJ,IAAI,EAAE,2FAA2F;IACjG,WAAW,EAAE,uDAAuD;IACpE,WAAW,EAAE,8EAA8E;IAC3F,WAAW,EAAE,gGAAgG;IAC7G,UAAU,EAAE,+IAA+I;IAC3J,OAAO,EAAE,wCAAwC,MAAM,CAAC,YAAY,CAAC,mBAAmB;IACxF,SAAS,EAAE,8FAA8F;IAEzG,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,mEAAmE,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,YAAY,CAAC,mBAAmB;IAC3M,YAAY,EAAE,sFAAsF,MAAM,CAAC,YAAY,CAAC,iBAAiB;IACzI,gBAAgB,EAAE,qEAAqE,MAAM,CAAC,YAAY,CAAC,iBAAiB;IAC5H,OAAO,EAAE,wFAAwF,MAAM,CAAC,YAAY,CAAC,mBAAmB;IACxI,OAAO,EAAE,iGAAiG,MAAM,CAAC,YAAY,CAAC,mBAAmB;IACjJ,YAAY,EAAE,wKAAwK,MAAM,CAAC,YAAY,CAAC,mBAAmB;IAC7N,WAAW,EAAE,sEAAsE,MAAM,CAAC,YAAY,CAAC,qBAAqB;IAC5H,6GAA6G;IAC7G,QAAQ,EAAE,CAAC,OAAgB,EAAE,KAAe,EAAE,EAAE;QAC9C,IAAI,OAAO,KAAK,QAAQ,IAAI,KAAK,KAAK,YAAY;YAAE,OAAO,uFAAuF,CAAC;QACnJ,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,OAA4B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7J,OAAO,6BAA6B,KAAK,uCAAuC,SAAS,sBAAsB,CAAC;IAClH,CAAC;IACD,cAAc,EAAE,4BAA4B;IAC5C,SAAS,EAAE,2DAA2D;IACtE,WAAW,EAAE,iDAAiD,MAAM,CAAC,YAAY,CAAC,mBAAmB;IACrG,SAAS,EAAE,2DAA2D,MAAM,CAAC,YAAY,CAAC,mBAAmB;IAC7G,cAAc,EAAE,CAAC,IAAY,EAAE,IAAc,EAAE,EAAE,CAAC;QAChD,8DAA8D,IAAI,IAAI;QACtE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,wCAAwC;KACzC;IACD,YAAY,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,gBAAgB,GAAG,sBAAsB;IACxE,WAAW,EAAE,uGAAuG,SAAS,sBAAsB;IACnJ,eAAe,EAAE,0GAA0G,SAAS,IAAI;IACxI,YAAY,EAAE,uDAAuD;IACrE,OAAO,EAAE,4CAA4C;IACrD,UAAU,EAAE,uFAAuF;IACnG,YAAY,EAAE,2CAA2C;CAC1D,CAAC;AA4BF,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;AAEpC,4EAA4E;AAE5E,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE9C,wFAAwF;AACxF,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChF,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,qCAAqC,gBAAgB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7K,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,EAAU,EAAE,MAAc,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC;AAC/I,MAAM,KAAK,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAS,EAAE,KAAa;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAE,CAAC;IACtD,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnF,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;IACtF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,qFAAqF;QACrF,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,YAAY,CAAC;QAC5G,OAAO,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC;IAC7G,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC;IAC1F,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClG,OAAO,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,OAAO,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,SAAS,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5I,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,QAAQ,CAAC,IAAS;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAgB,CAAC;IACrC,OAAO,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;AACxH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,CAAS,EAAE,OAAO,GAAsB,EAAE;IAChE,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,KAAK,YAAY,CAAC;IAC3C,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClG,MAAM,KAAK,GAAa,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,IAAoB,CAAC;IACzB,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;IACnI,CAAC;SAAM,IAAI,CAAC,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;QACtC,IAAI,GAAG,CAAC,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/F,CAAC;SAAM,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,GAAG,CAAC,CAAC;QACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,CAAC,CAAC;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,UAAU,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9K,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,CAAC,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,gGAAgG,CAAC,CAAC;SACtH,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,qFAAqF,CAAC,CAAC;IACvI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzD,4FAA4F;QAC5F,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,CAAC,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;;YAC9E,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClF,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACrE,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,CAAC;IAClN,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAClG,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,8CAA8C,CAAC,CAAC;QAC/D,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAE,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnG,IAAI,IAAI,KAAK,CAAC;YAAE,IAAI,GAAG,CAAC,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,yCAAyC,SAAS,sBAAsB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC1J,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** The dashboard for the WhiteRoom address the CLI was pointed at: EU for eu.proxy.whiteroom.tech, else the US one. */
|
|
2
|
+
export declare function dashboardFor(engineUrl?: string | null): string;
|
|
3
|
+
/** 503 answers that mean "try again in a moment": WhiteRoom refused before doing anything, so the same request can be sent again. */
|
|
4
|
+
export declare const BUSY: Set<string>;
|
|
5
|
+
/** A busy wait this long or longer is announced again. */
|
|
6
|
+
export declare const LONG_WAIT_S = 10;
|
|
7
|
+
/** One text per answer. `app` is the region's dashboard, `at` the reset time (HH:MM, UTC), `wait` how long to wait. */
|
|
8
|
+
export declare const responseCopy: {
|
|
9
|
+
freePaused: string;
|
|
10
|
+
sandboxBusy: (wait: string) => string;
|
|
11
|
+
controlBusy: (wait: string) => string;
|
|
12
|
+
dbUnavailable: (wait: string) => string;
|
|
13
|
+
/** Without WhiteRoom's words the cap isn't known, so no number. */
|
|
14
|
+
callsToday: (at: string) => string;
|
|
15
|
+
sampleRunsToday: (at: string) => string;
|
|
16
|
+
practiceRunsToday: (at: string) => string;
|
|
17
|
+
sampleBudgetExhausted: string;
|
|
18
|
+
planFree: (app: string) => string;
|
|
19
|
+
suspended: (app: string) => string;
|
|
20
|
+
unclaimed: (app: string) => string;
|
|
21
|
+
revoked: (app: string) => string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* The Free tier code a reply carries, if any: a busy or paused 503, a 402
|
|
25
|
+
* refusal, or a day's limit (402 calls; 429 sample or practice runs). Older
|
|
26
|
+
* WhiteRoom answers name the sample limits only by reason (limit_fleet,
|
|
27
|
+
* limit_global): they map to the same codes.
|
|
28
|
+
*/
|
|
29
|
+
export declare function freeTierCode(status: number, body: any): string | null;
|
|
30
|
+
/**
|
|
31
|
+
* The one Retry-After parser: seconds to wait, at least 1 and at most `max`
|
|
32
|
+
* (60 for a wait the CLI does itself), or null when the header is missing or
|
|
33
|
+
* isn't a number of seconds.
|
|
34
|
+
*/
|
|
35
|
+
export declare function retryAfterSeconds(header: string | null | undefined, max?: number): number | null;
|
|
36
|
+
/** "a moment", "30 seconds", "a minute", "2 minutes": how long Retry-After asks for, in words ("a moment" for a short or missing one). */
|
|
37
|
+
export declare function waitWords(header: string | null | undefined): string;
|
|
38
|
+
/** Refusals running the same command again won't fix (the day's limits, the plan): a setup problem (exit 2), not a retry (3). */
|
|
39
|
+
export declare function rerunWontFix(status: number, body: any): boolean;
|
|
40
|
+
/** The words WhiteRoom's reply carries (`error`, or `error.message`), safe to print; null when there are none. */
|
|
41
|
+
export declare function replyWords(body: any): string | null;
|
|
42
|
+
/**
|
|
43
|
+
* The plain message for a Free tier answer, or null when the reply isn't one:
|
|
44
|
+
* WhiteRoom's own words when the reply carries them, else this CLI's text.
|
|
45
|
+
* The production refusals (402) always use this CLI's text: it links to the
|
|
46
|
+
* dashboard of the region `engineUrl` is in, which an older reply may not.
|
|
47
|
+
*/
|
|
48
|
+
export declare function freeTierMessage(r: {
|
|
49
|
+
status: number;
|
|
50
|
+
body: any;
|
|
51
|
+
retryAfter?: string | null;
|
|
52
|
+
}, engineUrl?: string | null): string | null;
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
// WhiteRoom's Free tier answers, in plain words: a busy WhiteRoom or Sandbox
|
|
2
|
+
// (503, retry after a moment), Free Sandbox work paused (503), the day's
|
|
3
|
+
// Sandbox calls or runs used up, and production refusals (402). Shared by the
|
|
4
|
+
// practice, sandbox and fleet commands. No codes are printed, only what to do.
|
|
5
|
+
//
|
|
6
|
+
// WhiteRoom's reply already says it in words: those are printed as sent. The
|
|
7
|
+
// texts below are the same words, for a reply that carries none.
|
|
8
|
+
const US_DASHBOARD = "https://app.whiteroom.tech";
|
|
9
|
+
const EU_DASHBOARD = "https://eu.app.whiteroom.tech";
|
|
10
|
+
/** The dashboard for the WhiteRoom address the CLI was pointed at: EU for eu.proxy.whiteroom.tech, else the US one. */
|
|
11
|
+
export function dashboardFor(engineUrl) {
|
|
12
|
+
let host = "";
|
|
13
|
+
try {
|
|
14
|
+
host = new URL(engineUrl ?? "").hostname.toLowerCase();
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
// Not a URL: the US dashboard.
|
|
18
|
+
}
|
|
19
|
+
return host.startsWith("eu.proxy.") && host.endsWith(".whiteroom.tech") ? EU_DASHBOARD : US_DASHBOARD;
|
|
20
|
+
}
|
|
21
|
+
/** 503 answers that mean "try again in a moment": WhiteRoom refused before doing anything, so the same request can be sent again. */
|
|
22
|
+
export const BUSY = new Set(["sandbox_busy", "control_busy", "cleanup_busy", "db_unavailable"]);
|
|
23
|
+
/** A busy wait this long or longer is announced again. */
|
|
24
|
+
export const LONG_WAIT_S = 10;
|
|
25
|
+
/** One text per answer. `app` is the region's dashboard, `at` the reset time (HH:MM, UTC), `wait` how long to wait. */
|
|
26
|
+
export const responseCopy = {
|
|
27
|
+
freePaused: "Sandbox isn't taking new runs right now. Nothing you set up is lost. Try again later.",
|
|
28
|
+
sandboxBusy: (wait) => `Sandbox is busy. Try again in ${wait}.`,
|
|
29
|
+
controlBusy: (wait) => `WhiteRoom is busy. Try again in ${wait}.`,
|
|
30
|
+
dbUnavailable: (wait) => `Sandbox can't take calls right now. Try again in ${wait}.`,
|
|
31
|
+
/** Without WhiteRoom's words the cap isn't known, so no number. */
|
|
32
|
+
callsToday: (at) => `Your Sandbox hit today's call limit. It takes calls again at ${at} UTC.`,
|
|
33
|
+
sampleRunsToday: (at) => `You've used today's sample runs. More at ${at} UTC, or use your own key now.`,
|
|
34
|
+
practiceRunsToday: (at) => `You've used today's practice runs. You can start more at ${at} UTC.`,
|
|
35
|
+
sampleBudgetExhausted: "Our sample agent is done for today. You can still use your own key.",
|
|
36
|
+
planFree: (app) => `Free accounts can't make live calls. Click Go live at ${app} to start your 30 free days.`,
|
|
37
|
+
suspended: (app) => `Your plan has ended, so your agents' live calls are refused. Choose a plan to switch them back on. Nothing is lost.\n${app}/settings#plan`,
|
|
38
|
+
unclaimed: (app) => `This line isn't set up yet. Sign in at ${app} and copy your line from the Fleet key page.`,
|
|
39
|
+
revoked: (app) => `This key no longer works. Get your current line from the Fleet key page at ${app}.`,
|
|
40
|
+
};
|
|
41
|
+
/** The reason codes a reply carries: in `whiteroom.reason`, `reason` or `code` (the sample start puts the daily limit in `code`). */
|
|
42
|
+
function codesOf(body) {
|
|
43
|
+
if (!body || typeof body !== "object")
|
|
44
|
+
return [];
|
|
45
|
+
return [body.whiteroom?.reason, body.reason, body.code].filter((x) => typeof x === "string");
|
|
46
|
+
}
|
|
47
|
+
const GATE = ["plan_free", "suspended", "unclaimed", "revoked", "not_available"];
|
|
48
|
+
/**
|
|
49
|
+
* The Free tier code a reply carries, if any: a busy or paused 503, a 402
|
|
50
|
+
* refusal, or a day's limit (402 calls; 429 sample or practice runs). Older
|
|
51
|
+
* WhiteRoom answers name the sample limits only by reason (limit_fleet,
|
|
52
|
+
* limit_global): they map to the same codes.
|
|
53
|
+
*/
|
|
54
|
+
export function freeTierCode(status, body) {
|
|
55
|
+
const codes = codesOf(body);
|
|
56
|
+
if (codes.includes("free_paused"))
|
|
57
|
+
return "free_paused";
|
|
58
|
+
if (codes.includes("sandbox_daily_limit"))
|
|
59
|
+
return "sandbox_daily_limit";
|
|
60
|
+
if (codes.includes("sample_budget_exhausted"))
|
|
61
|
+
return "sample_budget_exhausted";
|
|
62
|
+
if (status === 503)
|
|
63
|
+
return codes.find((c) => BUSY.has(c)) ?? null;
|
|
64
|
+
if (status === 402)
|
|
65
|
+
return codes.find((c) => GATE.includes(c)) ?? null;
|
|
66
|
+
if (status === 429) {
|
|
67
|
+
if (codes.includes("limit_fleet"))
|
|
68
|
+
return "sandbox_daily_limit";
|
|
69
|
+
if (codes.includes("limit_global"))
|
|
70
|
+
return "sample_budget_exhausted";
|
|
71
|
+
if (codes.includes("starts_today"))
|
|
72
|
+
return "starts_today";
|
|
73
|
+
}
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The one Retry-After parser: seconds to wait, at least 1 and at most `max`
|
|
78
|
+
* (60 for a wait the CLI does itself), or null when the header is missing or
|
|
79
|
+
* isn't a number of seconds.
|
|
80
|
+
*/
|
|
81
|
+
export function retryAfterSeconds(header, max = 60) {
|
|
82
|
+
const n = Number(header);
|
|
83
|
+
return header == null || header.trim() === "" || !Number.isFinite(n) ? null : Math.min(Math.max(Math.ceil(n), 1), max);
|
|
84
|
+
}
|
|
85
|
+
/** "a moment", "30 seconds", "a minute", "2 minutes": how long Retry-After asks for, in words ("a moment" for a short or missing one). */
|
|
86
|
+
export function waitWords(header) {
|
|
87
|
+
const n = retryAfterSeconds(header, Infinity);
|
|
88
|
+
if (n === null || n < LONG_WAIT_S)
|
|
89
|
+
return "a moment";
|
|
90
|
+
if (n < 60)
|
|
91
|
+
return `${n} seconds`;
|
|
92
|
+
const m = Math.round(n / 60);
|
|
93
|
+
return m <= 1 ? "a minute" : `${m} minutes`;
|
|
94
|
+
}
|
|
95
|
+
/** Refusals running the same command again won't fix (the day's limits, the plan): a setup problem (exit 2), not a retry (3). */
|
|
96
|
+
export function rerunWontFix(status, body) {
|
|
97
|
+
const code = freeTierCode(status, body);
|
|
98
|
+
return code !== null && code !== "free_paused" && !BUSY.has(code);
|
|
99
|
+
}
|
|
100
|
+
/** When the day's limit resets, as HH:MM (UTC) from the reply's resetAt; midnight when it has none. */
|
|
101
|
+
function resetTime(body) {
|
|
102
|
+
const at = Date.parse(body?.whiteroom?.resetAt ?? body?.resetAt ?? "");
|
|
103
|
+
if (!Number.isFinite(at))
|
|
104
|
+
return "00:00";
|
|
105
|
+
return new Date(at).toISOString().slice(11, 16);
|
|
106
|
+
}
|
|
107
|
+
const MAX_WORDS = 600;
|
|
108
|
+
/** Unicode control, format (zero-width, bidi, tag), private-use and unassigned characters and the line/paragraph separators, never printed (a plain line break is kept). As the starters strip. */
|
|
109
|
+
const UNPRINTABLE = /[^\P{C}\n]|[\u2028\u2029]/gu;
|
|
110
|
+
/** The words WhiteRoom's reply carries (`error`, or `error.message`), safe to print; null when there are none. */
|
|
111
|
+
export function replyWords(body) {
|
|
112
|
+
const raw = typeof body?.error === "string" ? body.error : typeof body?.error?.message === "string" ? body.error.message : null;
|
|
113
|
+
if (raw === null)
|
|
114
|
+
return null;
|
|
115
|
+
const words = raw.replace(/\r\n?/g, "\n").replace(UNPRINTABLE, "").trim();
|
|
116
|
+
return words && words.length <= MAX_WORDS ? words : null;
|
|
117
|
+
}
|
|
118
|
+
/** This CLI's own text for a Free tier code, for a reply without words. */
|
|
119
|
+
function ownText(code, r, app) {
|
|
120
|
+
const wait = waitWords(r.retryAfter);
|
|
121
|
+
switch (code) {
|
|
122
|
+
case "free_paused": return responseCopy.freePaused;
|
|
123
|
+
case "sandbox_busy":
|
|
124
|
+
case "cleanup_busy": return responseCopy.sandboxBusy(wait);
|
|
125
|
+
case "control_busy": return responseCopy.controlBusy(wait);
|
|
126
|
+
case "db_unavailable": return responseCopy.dbUnavailable(wait);
|
|
127
|
+
case "sandbox_daily_limit": return r.status === 429 ? responseCopy.sampleRunsToday(resetTime(r.body)) : responseCopy.callsToday(resetTime(r.body));
|
|
128
|
+
case "starts_today": return responseCopy.practiceRunsToday(resetTime(r.body));
|
|
129
|
+
case "sample_budget_exhausted": return responseCopy.sampleBudgetExhausted;
|
|
130
|
+
case "plan_free": return responseCopy.planFree(app);
|
|
131
|
+
case "suspended": return responseCopy.suspended(app);
|
|
132
|
+
case "unclaimed":
|
|
133
|
+
case "not_available": return responseCopy.unclaimed(app);
|
|
134
|
+
case "revoked": return responseCopy.revoked(app);
|
|
135
|
+
default: return null;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* The plain message for a Free tier answer, or null when the reply isn't one:
|
|
140
|
+
* WhiteRoom's own words when the reply carries them, else this CLI's text.
|
|
141
|
+
* The production refusals (402) always use this CLI's text: it links to the
|
|
142
|
+
* dashboard of the region `engineUrl` is in, which an older reply may not.
|
|
143
|
+
*/
|
|
144
|
+
export function freeTierMessage(r, engineUrl) {
|
|
145
|
+
const code = freeTierCode(r.status, r.body);
|
|
146
|
+
if (code === null)
|
|
147
|
+
return null;
|
|
148
|
+
const own = () => ownText(code, r, dashboardFor(engineUrl));
|
|
149
|
+
return GATE.includes(code) ? own() : replyWords(r.body) ?? own();
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=responses.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responses.js","sourceRoot":"","sources":["../src/responses.ts"],"names":[],"mappings":"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"}
|
package/dist/sandbox/index.js
CHANGED
|
@@ -30,7 +30,7 @@ Options:
|
|
|
30
30
|
--code-stdin Read the helper code from stdin instead of asking for it
|
|
31
31
|
--url <https url> Only for testing WhiteRoom itself (a whiteroom.tech address or localhost)
|
|
32
32
|
|
|
33
|
-
Exit codes (listen): 0 stopped with Ctrl+C, 2 a setup or usage problem, 3 the session ended (get a new code).
|
|
33
|
+
Exit codes (listen): 0 stopped with Ctrl+C, 2 a setup or usage problem (or the Sandbox's calls for today used up), 3 the session ended (get a new code).
|
|
34
34
|
`;
|
|
35
35
|
function usage(problem) {
|
|
36
36
|
if (!problem)
|
package/dist/sandbox/listen.d.ts
CHANGED
package/dist/sandbox/listen.js
CHANGED
|
@@ -10,6 +10,7 @@ import { CATALOG } from "../practice/catalog.js";
|
|
|
10
10
|
import { Engine, OFFLINE_MS, REDIRECTED, Stopped, Unreachable } from "../practice/engine.js";
|
|
11
11
|
import { adapterProblem, chatCompletions, firstLineOfStdin, hiddenPrompt, Interrupted, isProvider, nodeTooOld, targetOrigin } from "../practice/preflight.js";
|
|
12
12
|
import { clean, hideSecret, say, warn } from "../practice/text.js";
|
|
13
|
+
import { freeTierMessage, rerunWontFix } from "../responses.js";
|
|
13
14
|
export const HELPER_CODE = /^wrhc_[A-Za-z0-9_-]{43}$/;
|
|
14
15
|
/** A Sandbox URL as the Sandbox page shows it: WhiteRoom's address, then the Sandbox key. */
|
|
15
16
|
const SANDBOX_URL = /^(https?:\/\/[^/\s?#@]+)\/(sk-wr-[0-9a-f]{40})(?:[/?#]\S*)?$/;
|
|
@@ -42,6 +43,8 @@ export const sandboxCopy = {
|
|
|
42
43
|
: `Your agent's Sandbox URL isn't this Sandbox's current one, and this code has no tries left. Copy the Sandbox URL from the Sandbox page, set it again, then get a new code.`,
|
|
43
44
|
notConnected: "This Sandbox has no key yet. Connect a provider key in the Sandbox page first.",
|
|
44
45
|
unavailable: "The Sandbox helper isn't available yet. Try again later.",
|
|
46
|
+
codeStillWorks: "Your helper code still works until it expires.",
|
|
47
|
+
codeUsed: `The helper disconnected and this code is used. ${NEW_CODE}`,
|
|
45
48
|
unreachable: "Couldn't reach WhiteRoom. Check your connection, then start the helper again.",
|
|
46
49
|
redirected: "WhiteRoom's server tried to send the helper to another address, so it stopped. Nothing was sent anywhere else.",
|
|
47
50
|
outdated: "WhiteRoom sent something this CLI doesn't understand. Update the CLI, then start the helper again.",
|
|
@@ -165,7 +168,8 @@ export async function listen(a) {
|
|
|
165
168
|
const engine = new Engine(origin, testMs("WHITEROOM_TEST_OFFLINE_MS", OFFLINE_MS));
|
|
166
169
|
let claim;
|
|
167
170
|
try {
|
|
168
|
-
|
|
171
|
+
// A claim starts the session: a busy answer is shown, never sent again by itself.
|
|
172
|
+
claim = await engine.post("/api/sandbox-helper/claim", { code, keyPrefix: sandbox.key.slice(0, 22), host: helperHost() }, { retryBusy: false });
|
|
169
173
|
}
|
|
170
174
|
catch (err) {
|
|
171
175
|
// No session yet: a setup problem (2); the code is still unused.
|
|
@@ -183,6 +187,9 @@ export async function listen(a) {
|
|
|
183
187
|
return fail(2, sandboxCopy.redirected);
|
|
184
188
|
if (claim.status === 404)
|
|
185
189
|
return fail(2, sandboxCopy.unavailable);
|
|
190
|
+
const refused = freeTierMessage(claim, origin);
|
|
191
|
+
if (refused)
|
|
192
|
+
return fail(2, claim.status === 503 ? `${refused} ${sandboxCopy.codeStillWorks}` : refused);
|
|
186
193
|
const { session, proxyUrl, provider } = claim.body ?? {};
|
|
187
194
|
if (claim.status !== 200 || typeof session !== "string" || !isProvider(provider))
|
|
188
195
|
return fail(2, sandboxCopy.outdated);
|
|
@@ -261,8 +268,14 @@ export async function listen(a) {
|
|
|
261
268
|
const next = await engine.post("/api/sandbox-helper/next", {}, { retryNetwork: true });
|
|
262
269
|
if (ends(next))
|
|
263
270
|
return endListening(next);
|
|
264
|
-
if (next.status !== 200)
|
|
265
|
-
|
|
271
|
+
if (next.status !== 200) {
|
|
272
|
+
const plain = freeTierMessage(next, origin);
|
|
273
|
+
if (!plain)
|
|
274
|
+
return fail(3, sandboxCopy.outdated);
|
|
275
|
+
// Busy for too long, paused or refused: the session ends here, so the Sandbox page doesn't wait for it.
|
|
276
|
+
await engine.once("/api/sandbox-helper/disconnect", {});
|
|
277
|
+
return fail(rerunWontFix(next.status, next.body) ? 2 : 3, `${plain} ${sandboxCopy.codeUsed}`);
|
|
278
|
+
}
|
|
266
279
|
if (next.body?.idle)
|
|
267
280
|
continue;
|
|
268
281
|
const task = next.body?.task;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listen.js","sourceRoot":"","sources":["../../src/sandbox/listen.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"listen.js","sourceRoot":"","sources":["../../src/sandbox/listen.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/starters/wr-adapter.mjs
CHANGED
|
@@ -34,6 +34,10 @@ const anthropic = !["OPENAI_API_KEY", "AZURE_OPENAI_API_KEY"].includes(KEY_VAR);
|
|
|
34
34
|
const DEFAULT_MODEL = anthropic ? "claude-haiku-4-5" : "gpt-4o-mini";
|
|
35
35
|
const BLOCKED = "Stopped: one of my WhiteRoom controls blocked the model call.";
|
|
36
36
|
const GONE = "Stopped: WhiteRoom closed this practice task.";
|
|
37
|
+
// WhiteRoom asks for the same call again shortly: it was refused before anything was sent on.
|
|
38
|
+
// This list, the pause and daily-limit messages and the UTC reset time match the CLI's own
|
|
39
|
+
// (src/responses.ts); test/free-tier.test.ts checks they stay the same.
|
|
40
|
+
const BUSY = ["sandbox_busy", "control_busy", "cleanup_busy", "db_unavailable"];
|
|
37
41
|
|
|
38
42
|
// One model call through WhiteRoom; a final answer (text) if WhiteRoom stopped it.
|
|
39
43
|
// Never follows a redirect, so the key only goes to WhiteRoom.
|
|
@@ -47,8 +51,18 @@ async function model(base_url, headers, body) {
|
|
|
47
51
|
const res = await fetch(url, { method: "POST", headers: { "content-type": "application/json", ...headers, ...auth },
|
|
48
52
|
body: JSON.stringify(body), redirect: "error", signal: AbortSignal.timeout(180_000) });
|
|
49
53
|
if (res.ok) return res.json();
|
|
50
|
-
const
|
|
51
|
-
const
|
|
54
|
+
const reply = await res.json().catch(() => null);
|
|
55
|
+
const wr = reply?.whiteroom;
|
|
56
|
+
// WhiteRoom's own words when it sends them (without characters a terminal would act on), else the same words from here.
|
|
57
|
+
let words = typeof reply?.error === "string" ? reply.error.replace(/[^\P{C}\n]|[\u2028\u2029]/gu, "").trim() : "";
|
|
58
|
+
if (words.length > 600) words = "";
|
|
59
|
+
if (wr?.reason === "free_paused") throw new Error(words || "Sandbox isn't taking new runs right now. Nothing you set up is lost. Try again later.");
|
|
60
|
+
if (wr?.reason === "sandbox_daily_limit") {
|
|
61
|
+
const at = Number.isFinite(Date.parse(wr.resetAt)) ? new Date(wr.resetAt).toISOString().slice(11, 16) : "00:00";
|
|
62
|
+
throw new Error(words || `Your Sandbox hit today's call limit. It takes calls again at ${at} UTC.`);
|
|
63
|
+
}
|
|
64
|
+
const wait = res.status === 503 && BUSY.includes(wr?.reason) ? ["WhiteRoom is busy right now. Waiting, then trying again.", Number(res.headers.get("retry-after") || 1)]
|
|
65
|
+
: res.status === 503 && wr ? ["WhiteRoom is switching servers. Waiting, then trying again.", Number(res.headers.get("retry-after") || 1)]
|
|
52
66
|
: res.status === 429 && wr ? ["WhiteRoom is saving a summary of your agent's memory. Waiting until it's saved.", 2]
|
|
53
67
|
: res.status === 403 && wr?.retryable ? ["One of your WhiteRoom controls is limiting calls. Waiting, then trying again.", 10]
|
|
54
68
|
: [429, 500, 502, 503, 529].includes(res.status) && !wr && tries < 5 ? ["Your model provider is busy. Waiting, then trying again.", 5 * tries] : null;
|
package/starters/wr_adapter.py
CHANGED
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
# {"type":"tool_call",...} lines (each gets a {"type":"tool_result",...} line
|
|
5
5
|
# back) and finish with one {"type":"final","output":"..."} line. Print your
|
|
6
6
|
# own logs to stderr: stdout is only for these JSON lines.
|
|
7
|
-
import json, os, sys, time, urllib.error, urllib.request
|
|
7
|
+
import json, os, sys, time, unicodedata, urllib.error, urllib.request
|
|
8
|
+
from datetime import datetime, timezone
|
|
8
9
|
|
|
9
10
|
# The CLI sets only the variable of the provider the practice test uses.
|
|
10
11
|
# It decides the API: chat completions for OpenAI and Azure OpenAI (where the
|
|
@@ -23,6 +24,10 @@ ANTHROPIC = KEY_VAR not in ("OPENAI_API_KEY", "AZURE_OPENAI_API_KEY")
|
|
|
23
24
|
DEFAULT_MODEL = "claude-haiku-4-5" if ANTHROPIC else "gpt-4o-mini"
|
|
24
25
|
BLOCKED = "Stopped: one of my WhiteRoom controls blocked the model call."
|
|
25
26
|
GONE = "Stopped: WhiteRoom closed this practice task."
|
|
27
|
+
# WhiteRoom asks for the same call again shortly: it was refused before anything was sent on.
|
|
28
|
+
# This list, the pause and daily-limit messages and the UTC reset time match the CLI's own
|
|
29
|
+
# (src/responses.ts); test/free-tier.test.ts checks they stay the same.
|
|
30
|
+
BUSY = ("sandbox_busy", "control_busy", "cleanup_busy", "db_unavailable")
|
|
26
31
|
calls = 0
|
|
27
32
|
|
|
28
33
|
|
|
@@ -68,10 +73,27 @@ def model(base_url, headers, body):
|
|
|
68
73
|
return json.load(res)
|
|
69
74
|
except urllib.error.HTTPError as err:
|
|
70
75
|
try:
|
|
71
|
-
|
|
76
|
+
reply = json.load(err)
|
|
72
77
|
except Exception:
|
|
73
|
-
|
|
74
|
-
if
|
|
78
|
+
reply = None
|
|
79
|
+
reply = reply if isinstance(reply, dict) else {}
|
|
80
|
+
wr = reply.get("whiteroom")
|
|
81
|
+
reason = wr.get("reason") if isinstance(wr, dict) else None
|
|
82
|
+
# WhiteRoom's own words when it sends them (without characters a terminal would act on), else the same words from here.
|
|
83
|
+
words = reply.get("error") if isinstance(reply.get("error"), str) else ""
|
|
84
|
+
words = "".join(ch for ch in words if ch == "\n" or (unicodedata.category(ch)[0] != "C" and ch not in "\u2028\u2029")).strip()
|
|
85
|
+
words = words if len(words) <= 600 else ""
|
|
86
|
+
if reason == "free_paused":
|
|
87
|
+
raise RuntimeError(words or "Sandbox isn't taking new runs right now. Nothing you set up is lost. Try again later.") from None
|
|
88
|
+
if reason == "sandbox_daily_limit":
|
|
89
|
+
try:
|
|
90
|
+
at = datetime.fromisoformat(str(wr.get("resetAt")).replace("Z", "+00:00")).astimezone(timezone.utc).strftime("%H:%M")
|
|
91
|
+
except ValueError:
|
|
92
|
+
at = "00:00"
|
|
93
|
+
raise RuntimeError(words or f"Your Sandbox hit today's call limit. It takes calls again at {at} UTC.") from None
|
|
94
|
+
if err.code == 503 and reason in BUSY:
|
|
95
|
+
wait = ("WhiteRoom is busy right now. Waiting, then trying again.", float(err.headers.get("retry-after") or 1))
|
|
96
|
+
elif err.code == 503 and wr:
|
|
75
97
|
wait = ("WhiteRoom is switching servers. Waiting, then trying again.", float(err.headers.get("retry-after") or 1))
|
|
76
98
|
elif err.code == 429 and wr:
|
|
77
99
|
wait = ("WhiteRoom is saving a summary of your agent's memory. Waiting until it's saved.", 2)
|