@codetreker/daynight 0.31.0 → 0.32.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 +81 -15
- package/config.example.yml +10 -3
- package/dist/cli/agent-cli-aliases.d.ts +21 -0
- package/dist/cli/agent-cli-aliases.js +57 -0
- package/dist/cli/agent-cli-aliases.js.map +1 -0
- package/dist/cli/application.js +5 -0
- package/dist/cli/application.js.map +1 -1
- package/dist/cli/cancellation.d.ts +1 -1
- package/dist/cli/cancellation.js.map +1 -1
- package/dist/cli/codex-agent-environment.d.ts +5 -0
- package/dist/cli/codex-agent-environment.js +28 -0
- package/dist/cli/codex-agent-environment.js.map +1 -0
- package/dist/cli/commands.js +1 -0
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/schema.d.ts +5 -1
- package/dist/cli/schema.js.map +1 -1
- package/dist/commands/controller/archive-upload.d.ts +9 -0
- package/dist/commands/controller/archive-upload.js +137 -0
- package/dist/commands/controller/archive-upload.js.map +1 -0
- package/dist/commands/controller/definition.d.ts +1 -0
- package/dist/commands/controller/definition.js +9 -1
- package/dist/commands/controller/definition.js.map +1 -1
- package/dist/commands/controller/independent-archive.d.ts +7 -0
- package/dist/commands/controller/independent-archive.js +71 -0
- package/dist/commands/controller/independent-archive.js.map +1 -0
- package/dist/commands/controller/independent.js +20 -10
- package/dist/commands/controller/independent.js.map +1 -1
- package/dist/commands/controller/index.js +14 -1
- package/dist/commands/controller/index.js.map +1 -1
- package/dist/commands/controller/journal-format.js +25 -1
- package/dist/commands/controller/journal-format.js.map +1 -1
- package/dist/commands/controller/launch-ticket.js +3 -2
- package/dist/commands/controller/launch-ticket.js.map +1 -1
- package/dist/commands/controller/lifecycle-store.js +19 -7
- package/dist/commands/controller/lifecycle-store.js.map +1 -1
- package/dist/commands/controller/local-content.d.ts +2 -2
- package/dist/commands/controller/local-content.js +22 -20
- package/dist/commands/controller/local-content.js.map +1 -1
- package/dist/commands/controller/paths.d.ts +2 -0
- package/dist/commands/controller/paths.js +34 -0
- package/dist/commands/controller/paths.js.map +1 -0
- package/dist/commands/controller/pending-content.d.ts +20 -0
- package/dist/commands/controller/pending-content.js +159 -0
- package/dist/commands/controller/pending-content.js.map +1 -0
- package/dist/commands/controller/providers/codex.js +5 -1
- package/dist/commands/controller/providers/codex.js.map +1 -1
- package/dist/commands/controller/providers/types.d.ts +4 -0
- package/dist/commands/controller/resume.js +3 -2
- package/dist/commands/controller/resume.js.map +1 -1
- package/dist/commands/controller/runtime.js +11 -1
- package/dist/commands/controller/runtime.js.map +1 -1
- package/dist/commands/controller/sqlite/journal/006-pending-content.sql +12 -0
- package/dist/commands/project/definition.js +1 -1
- package/dist/commands/project/definition.js.map +1 -1
- package/dist/commands/review/definition.js +3 -3
- package/dist/commands/review/definition.js.map +1 -1
- package/dist/commands/skill/read.d.ts +2 -0
- package/dist/commands/skill/read.js +36 -0
- package/dist/commands/skill/read.js.map +1 -0
- package/dist/commands/skill/skills/using-daynight/references/authorization.md +1 -0
- package/dist/commands/skill/skills/using-daynight/references/goal.md +33 -8
- package/dist/commands/skill/skills/using-daynight/references/run-task.md +1 -1
- package/dist/commands/skill/skills/using-daynight/references/task-content.md +1 -0
- package/dist/commands/skill/usage.md +162 -0
- package/dist/commands/task/definition.js +1 -1
- package/dist/commands/task/definition.js.map +1 -1
- package/dist/commands/worker/backends/web-process.js +5 -8
- package/dist/commands/worker/backends/web-process.js.map +1 -1
- package/dist/commands/worker/backends/web-store.d.ts +1 -0
- package/dist/commands/worker/backends/web-store.js +1 -0
- package/dist/commands/worker/backends/web-store.js.map +1 -1
- package/dist/commands/worker/backends/web.d.ts +1 -0
- package/dist/commands/worker/backends/web.js +8 -0
- package/dist/commands/worker/backends/web.js.map +1 -1
- package/dist/commands/worker/definition.js +2 -2
- package/dist/commands/worker/definition.js.map +1 -1
- package/dist/commands/worker/herdr/agents.d.ts +3 -0
- package/dist/commands/worker/herdr/agents.js +14 -3
- package/dist/commands/worker/herdr/agents.js.map +1 -1
- package/dist/commands/worker/herdr/arguments.d.ts +4 -0
- package/dist/commands/worker/herdr/arguments.js +17 -0
- package/dist/commands/worker/herdr/arguments.js.map +1 -1
- package/dist/commands/worker/herdr/codex-config.d.ts +8 -0
- package/dist/commands/worker/herdr/codex-config.js +75 -0
- package/dist/commands/worker/herdr/codex-config.js.map +1 -0
- package/dist/commands/worker/herdr/preflight.js +1 -18
- package/dist/commands/worker/herdr/preflight.js.map +1 -1
- package/dist/commands/worker/herdr.d.ts +4 -0
- package/dist/commands/worker/herdr.js +3 -2
- package/dist/commands/worker/herdr.js.map +1 -1
- package/dist/commands/worker/runtime.js +60 -4
- package/dist/commands/worker/runtime.js.map +1 -1
- package/dist/config/agent-cli-aliases.d.ts +5 -0
- package/dist/config/agent-cli-aliases.js +37 -0
- package/dist/config/agent-cli-aliases.js.map +1 -0
- package/dist/config/paths.d.ts +1 -1
- package/dist/config/paths.js +6 -2
- package/dist/config/paths.js.map +1 -1
- package/dist/platform/sqlite-format.d.ts +1 -1
- package/dist/platform/sqlite-format.js +1 -1
- package/dist/platform/sqlite-format.js.map +1 -1
- package/dist/session/archive.d.ts +25 -0
- package/dist/session/archive.js +100 -0
- package/dist/session/archive.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive-upload.js","sourceRoot":"","sources":["../../../src/commands/controller/archive-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type { CommandDefinition } from "../../cli/schema.js";
|
|
2
2
|
export declare const controllerDefinition: CommandDefinition;
|
|
3
3
|
export declare function controllerResumeDefinition(provider: string): CommandDefinition;
|
|
4
|
+
export declare function controllerArchiveDefinition(provider: string): CommandDefinition;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const value = (names, description, repeatable = false) => ({ names, description, value: { name: "value", kind: "text" }, ...(repeatable ? { repeatable: true } : {}) });
|
|
2
2
|
export const controllerDefinition = {
|
|
3
3
|
name: "controller", description: "Run a foreground Test Session in the current directory",
|
|
4
|
-
commands: ["codex", "claude", "copilot"].map(name => ({ name, description: `Run a ${name} Test Session`, commands: [controllerResumeDefinition(name)], options: [
|
|
4
|
+
commands: ["codex", "claude", "copilot"].map(name => ({ name, description: `Run a ${name} Test Session`, commands: [controllerResumeDefinition(name), controllerArchiveDefinition(name)], options: [
|
|
5
5
|
value(["--model", "-m"], "Select the native model"),
|
|
6
6
|
...(name === "codex" ? [value(["--sandbox", "-s"], "Native sandbox mode"), value(["--ask-for-approval", "-a"], "Native approval policy")] : []),
|
|
7
7
|
...(name === "claude" ? [value(["--permission-mode"], "Native permission mode"), value(["--add-dir"], "Additional native working directory", true)] : []),
|
|
@@ -19,4 +19,12 @@ export function controllerResumeDefinition(provider) {
|
|
|
19
19
|
details: `Usage: daynight controller ${provider} resume [test-session-id]\n\nWithout an ID, choose a saved Test Session in the current directory. Noninteractive use requires an ID. The original native context is continued in a new protected Daynight page; the old page stays archived. Active or unconfirmed executions cannot be resumed. No initial prompt is replayed. To start with the literal prompt resume, use: daynight controller ${provider} -- resume.`,
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
+
export function controllerArchiveDefinition(provider) {
|
|
23
|
+
return {
|
|
24
|
+
name: "archive", description: "Retry uploading stopped Test Session history without starting an agent",
|
|
25
|
+
arguments: [{ name: "test-session-id", description: "Saved Daynight Test Session UUID" }],
|
|
26
|
+
options: [{ names: ["-h", "--help"], description: "Show this help", action: "help" }],
|
|
27
|
+
details: `Usage: daynight controller ${provider} archive <test-session-id>\n\nReconcile the original stopped execution and upload its read-only history. Uses the configured server and private launch evidence; never starts or resumes an agent. The original working directory need not exist.`,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
22
30
|
//# sourceMappingURL=definition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../src/commands/controller/definition.ts"],"names":[],"mappings":"AACA,MAAM,KAAK,GAAG,CAAC,KAAe,EAAE,WAAmB,EAAE,UAAU,GAAG,KAAK,EAAiB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACzM,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,wDAAwD;IACzF,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,IAAI,eAAe,EAAE,QAAQ,EAAE,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"definition.js","sourceRoot":"","sources":["../../../src/commands/controller/definition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CliContext } from "../../cli/context.js";
|
|
2
|
+
import { type SessionProvider } from "../../session/protocol.js";
|
|
3
|
+
/** Archive retry has no process launch, native resume, or business-input path. */
|
|
4
|
+
export declare const retryIndependentArchive: (input: {
|
|
5
|
+
provider: SessionProvider;
|
|
6
|
+
sessionId: string;
|
|
7
|
+
}, context: CliContext) => Promise<void>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { readdir, readFile, lstat } from "node:fs/promises";
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { randomUUID } from "node:crypto";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { resolveConfigurationPaths } from "../../config/paths.js";
|
|
6
|
+
import { loadServerConfiguration } from "../../config/server.js";
|
|
7
|
+
import { SESSION_PROTOCOL, assertSessionFence, sessionFence } from "../../session/protocol.js";
|
|
8
|
+
import { parseRegistrationResponse } from "../../session/controller-protocol.js";
|
|
9
|
+
import { controllerExecutionDirectory, readLaunchTicket } from "./launch-ticket.js";
|
|
10
|
+
import { recordStoppedControllerGeneration } from "./lifecycle-store.js";
|
|
11
|
+
import { uploadStoppedControllerArchive } from "./archive-upload.js";
|
|
12
|
+
import { writeDurableJson } from "./pending-content.js";
|
|
13
|
+
/** Archive retry has no process launch, native resume, or business-input path. */
|
|
14
|
+
export const retryIndependentArchive = async (input, context) => {
|
|
15
|
+
const home = context.homeDirectory(), paths = resolveConfigurationPaths(home);
|
|
16
|
+
const config = await loadServerConfiguration(paths);
|
|
17
|
+
if (!config.serverToken)
|
|
18
|
+
throw new Error("Log in before retrying Test Session history upload.");
|
|
19
|
+
const directory = path.join(paths.stateDirectory, "controller", "launches");
|
|
20
|
+
const files = await readdir(directory);
|
|
21
|
+
if (files.length > 20_000)
|
|
22
|
+
throw new Error("Controller launch inventory exceeds its safe bound.");
|
|
23
|
+
let ticket;
|
|
24
|
+
for (const file of files) {
|
|
25
|
+
if (!/^[a-f0-9-]{36}\.json$/.test(file))
|
|
26
|
+
continue;
|
|
27
|
+
const candidate = await readLaunchTicket(home, file.slice(0, -5));
|
|
28
|
+
if (candidate.testExecutionId === undefined || candidate.sessionId !== input.sessionId || candidate.provider !== input.provider || candidate.serverOrigin !== config.serverUrl)
|
|
29
|
+
continue;
|
|
30
|
+
if (ticket)
|
|
31
|
+
throw new Error("Conflicting local Test Session launch records require reconciliation.");
|
|
32
|
+
ticket = candidate;
|
|
33
|
+
}
|
|
34
|
+
if (!ticket)
|
|
35
|
+
throw new Error("No local Test Session matches this provider, session ID and configured server.");
|
|
36
|
+
const execution = controllerExecutionDirectory(home, ticket.executionId), journalPath = path.join(execution, "journal.sqlite");
|
|
37
|
+
const stopped = await recordStoppedControllerGeneration(journalPath, ticket);
|
|
38
|
+
const proofPath = path.join(execution, "stop-proof.json");
|
|
39
|
+
let body;
|
|
40
|
+
if (existsSync(proofPath)) {
|
|
41
|
+
const stat = await lstat(proofPath);
|
|
42
|
+
if (!stat.isFile() || stat.isSymbolicLink() || stat.size > 32_768 || process.platform !== "win32" && (stat.mode & 0o077) !== 0)
|
|
43
|
+
throw new Error("Test Session stop proof must be a private regular file.");
|
|
44
|
+
body = JSON.parse(await readFile(proofPath, "utf8"));
|
|
45
|
+
assertSessionFence(body, ticket);
|
|
46
|
+
const identity = body;
|
|
47
|
+
if (identity.controllerId !== ticket.controllerId || identity.controllerInstanceId !== ticket.controllerInstanceId || identity.protocol !== SESSION_PROTOCOL)
|
|
48
|
+
throw new Error("Stop proof does not match the original controller.");
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
body = { protocol: SESSION_PROTOCOL, ...sessionFence(ticket), controllerId: ticket.controllerId, controllerInstanceId: ticket.controllerInstanceId, stopProof: { recordId: randomUUID(), previousControllerInstanceId: ticket.controllerInstanceId, stoppedAt: stopped.stoppedAt } };
|
|
52
|
+
writeDurableJson(proofPath, body);
|
|
53
|
+
}
|
|
54
|
+
// A retry may close a still-active server record after local stop was already proven.
|
|
55
|
+
try {
|
|
56
|
+
const pending = await fetch(`${config.serverUrl}/api/v1/test-sessions/${ticket.sessionId}/archive`, { method: "POST", redirect: "error", headers: { authorization: `Bearer ${config.serverToken}`, "content-type": "application/json" }, body: JSON.stringify({ ...sessionFence(ticket), controllerId: ticket.controllerId, controllerInstanceId: ticket.controllerInstanceId, state: "pending", errorCode: null }), signal: AbortSignal.timeout(10_000) });
|
|
57
|
+
await pending.body?.cancel();
|
|
58
|
+
}
|
|
59
|
+
catch { /* Metadata publication must not prevent stop reconciliation. */ }
|
|
60
|
+
const response = await fetch(`${config.serverUrl}/api/v1/test-sessions/${ticket.sessionId}/stop`, { method: "POST", redirect: "error", headers: { authorization: `Bearer ${config.serverToken}`, "content-type": "application/json" }, body: JSON.stringify(body), signal: AbortSignal.timeout(15_000) });
|
|
61
|
+
if (!response.ok)
|
|
62
|
+
throw new Error(`Native execution is stopped; server stop reconciliation failed (${response.status}).`);
|
|
63
|
+
const result = parseRegistrationResponse(await response.json()).session;
|
|
64
|
+
assertSessionFence(result, ticket);
|
|
65
|
+
if (result.lifecycle !== "archived")
|
|
66
|
+
throw new Error("Native execution is stopped; server session closure is unconfirmed.");
|
|
67
|
+
writeDurableJson(path.join(execution, "stop-result.json"), { session: result });
|
|
68
|
+
await uploadStoppedControllerArchive({ journalPath, ticket, serverToken: config.serverToken });
|
|
69
|
+
context.stdout(`Test Session history archived: ${new URL(`/test-sessions/${ticket.sessionId}`, config.serverUrl).href}\n`);
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=independent-archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"independent-archive.js","sourceRoot":"","sources":["../../../src/commands/controller/independent-archive.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { uploadStoppedControllerArchive } from "./archive-upload.js";
|
|
1
2
|
import { SqliteAccessError } from "../../platform/sqlite-error.js";
|
|
2
3
|
import { spawn } from "node:child_process";
|
|
3
|
-
import {
|
|
4
|
+
import { randomBytes, randomUUID } from "node:crypto";
|
|
4
5
|
import { chmod, mkdir, open, realpath, writeFile, rename } from "node:fs/promises";
|
|
5
6
|
import path from "node:path";
|
|
6
7
|
import { setTimeout as delay } from "node:timers/promises";
|
|
@@ -13,6 +14,7 @@ import { controllerExecutionDirectory, controllerTicketPath, writeLaunchTicket }
|
|
|
13
14
|
import { readControllerSnapshot, recordStoppedControllerGeneration } from "./lifecycle-store.js";
|
|
14
15
|
import { captureProcessProof, stopControllerProcesses } from "./process-proof.js";
|
|
15
16
|
import { ControllerIpcOutcomeUnknownError, requestController } from "./local-client.js";
|
|
17
|
+
import { prepareControllerIpcEndpoint } from "./paths.js";
|
|
16
18
|
class TestSessionRequestError extends Error {
|
|
17
19
|
retryable;
|
|
18
20
|
constructor(message, retryable, options) {
|
|
@@ -143,13 +145,7 @@ export const runIndependentController = async (input, context) => {
|
|
|
143
145
|
let credential = await grant("bootstrap");
|
|
144
146
|
const credentialFile = path.join(directory, "credential.json");
|
|
145
147
|
await writeControllerCredential(credentialFile, credential);
|
|
146
|
-
const
|
|
147
|
-
const ipcEndpoint = process.platform === "win32" ? `\\\\.\\pipe\\daynight-${endpointKey}` : path.join(home, ".daynight", "c", `${endpointKey}.sock`);
|
|
148
|
-
if (process.platform !== "win32") {
|
|
149
|
-
if (Buffer.byteLength(ipcEndpoint) > (process.platform === "darwin" ? 103 : 107))
|
|
150
|
-
throw new Error("The controller IPC endpoint exceeds this platform's socket path limit.");
|
|
151
|
-
await mkdir(path.dirname(ipcEndpoint), { recursive: true, mode: 0o700 });
|
|
152
|
-
}
|
|
148
|
+
const ipcEndpoint = await prepareControllerIpcEndpoint(home, launchId);
|
|
153
149
|
const nativeHome = resume?.ticket.nativeHome ?? (input.provider === "codex" ? process.env.CODEX_HOME ?? path.join(home, ".codex") : input.provider === "claude" ? process.env.CLAUDE_CONFIG_DIR ?? path.join(home, ".claude") : process.env.COPILOT_HOME ?? path.join(home, ".copilot"));
|
|
154
150
|
ticket = { schemaVersion: 1, launchId, executionId, controllerId, controllerInstanceId, sessionId: session.sessionId, executionGeneration: session.executionGeneration, testExecutionId: executionId, ownerUserId: session.identity.ownerUserId, initialInput: registration.initialInput, serverOrigin: config.serverUrl, provider: input.provider, cwd, nativeHome, configuration: { agent: input.provider, agentControlMode: "web", model: resume ? null : input.model, args: resume?.ticket.configuration.args ?? input.args, recoveryLimit: 0 }, initialOperationId: randomUUID(), initialPrompt: input.prompt ?? "", resumeNativeSessionId: resume?.nativeSessionId ?? null, credentialFile, ipcEndpoint, ipcSecret: randomBytes(32).toString("hex"), createdAt: new Date().toISOString() };
|
|
155
151
|
await writeLaunchTicket(home, ticket);
|
|
@@ -161,7 +157,7 @@ export const runIndependentController = async (input, context) => {
|
|
|
161
157
|
const log = await open(path.join(directory, "controller.log"), "a", 0o600);
|
|
162
158
|
try {
|
|
163
159
|
spawnAttempted = true;
|
|
164
|
-
child = spawn(process.execPath, [path.join(context.packageDirectory, "dist", "main.js"), "controller", input.provider, "--launch-id", launchId], { cwd, env: { ...process.env,
|
|
160
|
+
child = spawn(process.execPath, [path.join(context.packageDirectory, "dist", "main.js"), "controller", input.provider, "--launch-id", launchId], { cwd, env: { ...process.env, DN_CONFIG_DIR: resolveConfigurationPaths(home).stateDirectory }, detached: process.platform !== "win32", stdio: ["ignore", log.fd, log.fd], windowsHide: true });
|
|
165
161
|
childExit = new Promise(resolve => { child.once("exit", () => resolve()); child.once("error", () => resolve()); });
|
|
166
162
|
await new Promise((resolve, reject) => { child.once("spawn", resolve); child.once("error", reject); });
|
|
167
163
|
}
|
|
@@ -294,6 +290,8 @@ export const runIndependentController = async (input, context) => {
|
|
|
294
290
|
const stopProof = { recordId: randomUUID(), previousControllerInstanceId: ticket.controllerInstanceId, stoppedAt: stopped.stoppedAt };
|
|
295
291
|
const body = { protocol: SESSION_PROTOCOL, ...sessionFence(ticket), controllerId: ticket.controllerId, controllerInstanceId: ticket.controllerInstanceId, stopProof };
|
|
296
292
|
await persist("stop-proof.json", body);
|
|
293
|
+
// Publish the upload intent before closing the live page so observers keep polling.
|
|
294
|
+
await request(`/api/v1/test-sessions/${ticket.sessionId}/archive`, { ...sessionFence(ticket), controllerId: ticket.controllerId, controllerInstanceId: ticket.controllerInstanceId, state: "pending", errorCode: null }, true).catch(() => { });
|
|
297
295
|
try {
|
|
298
296
|
const result = parseRegistrationResponse(await request(`/api/v1/test-sessions/${ticket.sessionId}/stop`, body, true)).session;
|
|
299
297
|
assertSessionFence(result, ticket);
|
|
@@ -301,11 +299,23 @@ export const runIndependentController = async (input, context) => {
|
|
|
301
299
|
throw new Error("Test Session archival was not confirmed.");
|
|
302
300
|
await persist("stop-result.json", { session: result });
|
|
303
301
|
archived = true;
|
|
304
|
-
context.stdout("Test Session stopped and archived.\n");
|
|
305
302
|
}
|
|
306
303
|
catch {
|
|
307
304
|
context.stderr("Native execution stopped. Server archival is unconfirmed; the original stop proof is retained privately.\n");
|
|
308
305
|
}
|
|
306
|
+
if (archived) {
|
|
307
|
+
try {
|
|
308
|
+
await uploadStoppedControllerArchive({ journalPath: journal, ticket, serverToken: config.serverToken });
|
|
309
|
+
context.stdout("Test Session stopped and archived. Read-only history is available on its page.\n");
|
|
310
|
+
}
|
|
311
|
+
catch (error) {
|
|
312
|
+
if (sqliteFailure(error))
|
|
313
|
+
failed = failed === undefined ? error : new AggregateError([failed, error], "Test Session execution and history archival failed.");
|
|
314
|
+
context.stderr(`Native execution stopped; session history upload is pending. Source retained in ${directory}.\nRetry without starting an agent: daynight controller ${ticket.provider} archive ${ticket.sessionId}\n`);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
else
|
|
318
|
+
context.stderr(`Retry without starting an agent: daynight controller ${ticket.provider} archive ${ticket.sessionId}\n`);
|
|
309
319
|
}
|
|
310
320
|
catch (error) {
|
|
311
321
|
failed = failed === undefined ? error : new AggregateError([failed, error], "Test Session execution and stopping failed.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"independent.js","sourceRoot":"","sources":["../../../src/commands/controller/independent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"independent.js","sourceRoot":"","sources":["../../../src/commands/controller/independent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACnF,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,kBAAkB,EAAwB,MAAM,2BAA2B,CAAC;AACrH,OAAO,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAC/G,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,iBAAiB,EAA+B,MAAM,oBAAoB,CAAC;AACxI,OAAO,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAqB,MAAM,oBAAoB,CAAC;AACrG,OAAO,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAI1D,MAAM,uBAAwB,SAAQ,KAAK;IACH,SAAS;IAA/C,YAAY,OAAe,EAAW,SAAkB,EAAE,OAAsB;QAAI,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;yBAAtE,SAAS;IAA8D,CAAC;CAC/G;AAED,MAAM,WAAW,GAAG,KAAK,EAAE,MAAiC,EAAE,YAAoB,EAAiB,EAAE;IACnG,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;YAC3G,CAAC;QAAC,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,YAAY,iBAAiB;OAChF,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;OACnE,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAEvF,gFAAgF;AAChF,gFAAgF;AAChF,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,EAAE,KAAiC,EAAE,OAAmB,EAAiB,EAAE;IACtH,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,EAAE,EAAE,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACvF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9E,IAAI,CAAC,MAAM,CAAC,WAAW;QAAE,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IAC7G,MAAM,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC;IAAC,IAAI,aAAa,GAAG,KAAK,CAAC;IACtE,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,KAA+B,EAAE,MAA0C,CAAC;IAChF,IAAI,SAA6B,EAAE,MAAe,CAAC;IACnD,IAAI,iBAA8C,CAAC;IACnD,IAAI,cAAc,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,aAAa,GAAG,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACnG,IAAI,MAA+B,CAAC;IACpC,IAAI,YAAsC,CAAC;IAC3C,IAAI,SAAoC,CAAC;IACzC,MAAM,OAAO,GAAG,KAAK,EAAE,MAAc,EAAE,IAAc,EAAE,WAAW,GAAG,KAAK,EAAoB,EAAE;QAC9F,IAAI,CAAC,WAAW;YAAE,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACvD,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YAAC,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QAC3a,OAAO,KAAK,EAAE,CAAC;YAAC,MAAM,IAAI,uBAAuB,CAAC,8EAA8E,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,CAAC;QACrJ,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,yEAAyE;YACzE,IAAI,CAAC;gBAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,gCAAgC,CAAC,CAAC;YACjF,MAAM,IAAI,uBAAuB,CAAC,yCAAyC,QAAQ,CAAC,MAAM,gDAAgD,EAAE,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;QAC5N,CAAC;QACD,MAAM,MAAM,GAAiB,EAAE,CAAC;QAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAC9C,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC;gBAAC,SAAS,CAAC;oBAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;oBAAC,IAAI,IAAI;wBAAE,MAAM;oBAAC,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC;oBAAC,IAAI,IAAI,GAAG,SAAS,EAAE,CAAC;wBAAC,IAAI,CAAC;4BAAC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;wBAAC,MAAM,IAAI,uBAAuB,CAAC,qEAAqE,EAAE,KAAK,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;YAAC,CAAC;YAC/V,OAAO,KAAK,EAAE,CAAC;gBAAC,IAAI,KAAK,YAAY,uBAAuB;oBAAE,MAAM,KAAK,CAAC;gBAAC,MAAM,IAAI,uBAAuB,CAAC,qFAAqF,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAAC,CAAC;oBAC/M,CAAC;gBAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC;YAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAY,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAAC,CAAC;IAC1K,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,EAAE,IAAY,EAAE,KAAc,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpP,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,mCAAmC,CAA4B,CAAC;QACjG,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC,QAAQ,KAAK,gBAAgB,IAAI,UAAU,CAAC,aAAa,KAAK,CAAC,IAAI,UAAU,CAAC,iBAAiB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QAC7a,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAC3J,MAAM,GAAG,MAAM,CAAC,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9O,OAAO,CAAC,MAAM,CAAC,8CAA8C,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,WAAW,GAAG,UAAU,EAAE,EAAE,QAAQ,GAAG,UAAU,EAAE,EAAE,YAAY,GAAG,UAAU,EAAE,EAAE,oBAAoB,GAAG,UAAU,EAAE,CAAC;QAC5H,SAAS,GAAG,4BAA4B,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAAC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAAC,MAAM,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACrJ,MAAM,YAAY,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAe,CAAC,CAAC,CAAC,QAAiB,EAAE,CAAC;QACjS,MAAM,OAAO,CAAC,mBAAmB,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7L,MAAM,OAAO,GAAG,yBAAyB,CAAC,MAAM,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC;QACxG,IAAI,OAAO,CAAC,eAAe,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,KAAK,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,oBAAoB,KAAK,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,KAAK,GAAG,IAAI,OAAO,CAAC,iBAAiB,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzd,iBAAiB,GAAG,OAAO,CAAC;QAC5B,OAAO,CAAC,MAAM,CAAC,iBAAiB,IAAI,GAAG,CAAC,kBAAkB,OAAO,CAAC,SAAS,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QAC3G,MAAM,OAAO,CAAC,0BAA0B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACvD,MAAM,MAAM,GAAG,yBAAyB,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5D,MAAM,KAAK,GAAG,KAAK,EAAE,IAA+B,EAAE,EAAE;YACtD,MAAM,MAAM,GAAG,4BAA4B,CAAC,MAAM,OAAO,CAAC,GAAG,MAAM,mBAAmB,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACtQ,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;YAClD,IAAI,MAAM,CAAC,YAAY,KAAK,YAAY,IAAI,MAAM,CAAC,oBAAoB,KAAK,oBAAoB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;YACvO,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QACF,IAAI,UAAU,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAAC,MAAM,yBAAyB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAC5H,MAAM,WAAW,GAAG,MAAM,4BAA4B,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,MAAM,EAAE,MAAM,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QACzR,MAAM,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,YAAY,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,kBAAkB,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE,eAAe,IAAI,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;QACjwB,MAAM,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,sFAAsF;QACtF,UAAU,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;QAAC,MAAM,yBAAyB,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QACnG,OAAO,CAAC,MAAM,CAAC,aAAa,KAAK,CAAC,QAAQ,iBAAiB,GAAG,6CAA6C,CAAC,CAAC;QAC7G,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC;YACH,cAAc,GAAG,IAAI,CAAC;YACtB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,yBAAyB,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAChV,SAAS,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,KAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3H,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,KAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjH,CAAC;gBAAS,CAAC;YAAC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAChF,YAAY,GAAG,MAAM,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5C,IAAI,SAAS,GAAG,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,SAAS,GAAG,KAAK,CAAC;QACzD,IAAI,eAAe,GAAG,CAAC,EAAE,aAAa,GAAG,CAAC,EAAE,cAAc,GAAG,KAAK,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;QAC5C,OAAO,CAAC,aAAa,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,wGAAwG,CAAC,CAAC;YACpL,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBAAC,QAAQ,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;YAAC,CAAC;YAC1H,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,aAAa,IAAI,CAAC,CAAC,KAAK,YAAY,gCAAgC,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,eAAe;oBAAE,MAAM,KAAK,CAAC;gBACtI,IAAI,CAAC,cAAc;oBAAE,OAAO,CAAC,MAAM,CAAC,4GAA4G,CAAC,CAAC;gBAClJ,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,cAAc,EAAE,CAAC;oBAAC,OAAO,CAAC,MAAM,CAAC,2EAA2E,CAAC,CAAC;oBAAC,cAAc,GAAG,KAAK,CAAC;gBAAC,CAAC;gBAC5I,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;gBACjM,yEAAyE;gBACzE,2EAA2E;gBAC3E,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;gBAC7J,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,SAAS,GAAG,IAAI,CAAC;oBAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,KAAK,CAAC,QAAQ,oBAAoB,QAAQ,CAAC,QAAQ,CAAC,eAAe,IAAI,mCAAmC,IAAI,CAAC,CAAC;gBAAC,CAAC;gBACnO,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,eAAe;oBAAE,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;gBAC3I,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;oBAC1D,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,CAAC,kBAAkB,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;wBACxK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;4BACtB,SAAS,GAAG,IAAI,CAAC;4BACjB,OAAO,CAAC,MAAM,CAAC,kBAAkB,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC;4BAC9D,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC;gCAAE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;wBACzJ,CAAC;oBACH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,aAAa,IAAI,CAAC,CAAC,KAAK,YAAY,gCAAgC,CAAC;4BAAE,MAAM,KAAK,CAAC;wBACvF,qEAAqE;wBACrE,wEAAwE;wBACxE,SAAS,GAAG,IAAI,CAAC;wBACjB,OAAO,CAAC,MAAM,CAAC,+CAA+C,MAAM,CAAC,kBAAkB,4EAA4E,CAAC,CAAC;oBACvK,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,aAAa,EAAE,CAAC;gBAC3F,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;oBAAC,MAAM,yBAAyB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;oBAAC,UAAU,GAAG,OAAO,CAAC;oBACzH,IAAI,eAAe;wBAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,OAAO,CAAC,SAAS,2EAA2E,CAAC,CAAC;oBAClJ,eAAe,GAAG,CAAC,CAAC;oBAAC,aAAa,GAAG,CAAC,CAAC;gBACzC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,aAAa,IAAI,CAAC,CAAC,KAAK,YAAY,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS;wBAAE,MAAM,KAAK,CAAC;oBAClG,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;oBAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;oBAC3G,OAAO,CAAC,MAAM,CAAC,gBAAgB,OAAO,CAAC,SAAS,4DAA4D,OAAO,GAAG,IAAI,sGAAsG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;gBACrP,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAAC,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,MAAM,GAAG,KAAK,CAAC;IAAC,CAAC;YACvE,CAAC;QACP,2EAA2E;QAC3E,IAAI,KAAK,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACtH,MAAM,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBACvD,IAAI,QAAQ,GAA8C,IAAI,CAAC;gBAC/D,MAAM,YAAY,GAAc,EAAE,CAAC;gBACnC,IAAI,CAAC;oBAAC,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBAC/F,MAAM,KAAK,GAAG,QAAQ,EAAE,iBAAiB,IAAI,YAAY,CAAC;gBAC1D,IAAI,CAAC;oBACH,IAAI,KAAK;wBAAE,MAAM,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,eAAe,IAAI,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC;yBACjG,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;wBAC3E,qEAAqE;wBACrE,sEAAsE;wBACtE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBACtB,MAAM,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;wBACnC,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;4BAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;wBAChF,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;oBAC9G,CAAC;oBACD,MAAM,SAAS,CAAC;gBAClB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAAC,CAAC;gBAC7C,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;oBAAE,MAAM,YAAY,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,IAAI,cAAc,CAAC,YAAY,EAAE,2DAA2D,CAAC,CAAC;gBACjI,MAAM,OAAO,GAAG,MAAM,iCAAiC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzE,aAAa,GAAG,IAAI,CAAC;gBACrB,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,4BAA4B,EAAE,MAAM,CAAC,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC,SAAU,EAAE,CAAC;gBACvI,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,SAAS,EAAE,CAAC;gBACtK,MAAM,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;gBACvC,oFAAoF;gBACpF,MAAM,OAAO,CAAC,yBAAyB,MAAM,CAAC,SAAS,UAAU,EAAE,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC/O,IAAI,CAAC;oBACH,MAAM,MAAM,GAAoB,yBAAyB,CAAC,MAAM,OAAO,CAAC,yBAAyB,MAAM,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC/I,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBACnC,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU;wBAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;oBACjG,MAAM,OAAO,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;oBAAC,QAAQ,GAAG,IAAI,CAAC;gBAE1E,CAAC;gBAAC,MAAM,CAAC;oBAAC,OAAO,CAAC,MAAM,CAAC,4GAA4G,CAAC,CAAC;gBAAC,CAAC;gBACzI,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC;wBACH,MAAM,8BAA8B,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;wBACxG,OAAO,CAAC,MAAM,CAAC,kFAAkF,CAAC,CAAC;oBACrG,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,aAAa,CAAC,KAAK,CAAC;4BAAE,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,qDAAqD,CAAC,CAAC;wBAC7J,OAAO,CAAC,MAAM,CAAC,mFAAmF,SAAS,2DAA2D,MAAM,CAAC,QAAQ,YAAY,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;oBACzN,CAAC;gBACH,CAAC;;oBAAM,OAAO,CAAC,MAAM,CAAC,wDAAwD,MAAM,CAAC,QAAQ,YAAY,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;YACjI,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAAC,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,6CAA6C,CAAC,CAAC;gBAAC,OAAO,CAAC,MAAM,CAAC,uEAAuE,SAAS,sDAAsD,CAAC,CAAC;YAAC,CAAC;QACzS,CAAC;QACD,IAAI,MAAM,IAAI,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YAC3C,0EAA0E;YAC1E,0EAA0E;YAC1E,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC;YAAC,CAAC;YACjH,OAAO,KAAK,EAAE,CAAC;gBAAC,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;oBAAC,sBAAsB,GAAG,KAAK,CAAC;oBAAC,MAAM,KAAK,KAAK,CAAC;gBAAC,CAAC;YAAC,CAAC;QACtJ,CAAC;QACD,IAAI,iBAAiB,IAAI,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,YAAY,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,QAAQ,CAAC,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,4BAA4B,EAAE,iBAAiB,CAAC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC;gBAChY,MAAM,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,OAAO,CAAC,yBAAyB,iBAAiB,CAAC,SAAS,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;gBACzI,kBAAkB,CAAC,MAAM,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAC5D,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBAC3G,MAAM,OAAO,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;gBAAC,QAAQ,GAAG,IAAI,CAAC;gBACxE,OAAO,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAAC;YAChF,CAAC;YAAC,MAAM,CAAC,CAAC,iFAAiF,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,iBAAiB,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,iBAAiB,CAAC,SAAS,wBAAwB,cAAc,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,oCAAoC,2BAA2B,SAAS,KAAK,CAAC,CAAC;aACzR,IAAI,CAAC,iBAAiB,IAAI,SAAS;YAAE,OAAO,CAAC,MAAM,CAAC,6GAA6G,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,uCAAuC,CAAC,CAAC;QACxP,IAAI,MAAM,IAAI,CAAC,CAAC,cAAc,IAAI,sBAAsB,IAAI,aAAa,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC;gBAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YAAC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAAC,MAAM,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,kDAAkD,CAAC,CAAC;YAAC,CAAC;QAAC,CAAC;QAClQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,MAAM;QAAE,MAAM,MAAM,CAAC;AAC3B,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UsageError } from "../../cli/context.js";
|
|
2
2
|
import { canonicalId } from "../../api/parse.js";
|
|
3
3
|
import { parseCommand, selectCommand, renderCommandHelp } from "../../cli/schema.js";
|
|
4
|
-
import { controllerDefinition, controllerResumeDefinition } from "./definition.js";
|
|
4
|
+
import { controllerDefinition, controllerResumeDefinition, controllerArchiveDefinition } from "./definition.js";
|
|
5
5
|
import { parseProviderArguments } from "./providers/projection.js";
|
|
6
6
|
export const runControllerCommand = async (args, context) => {
|
|
7
7
|
const selected = selectCommand(controllerDefinition, args, ["daynight", "controller"], "daynight controller --help");
|
|
@@ -9,6 +9,19 @@ export const runControllerCommand = async (args, context) => {
|
|
|
9
9
|
context.stdout(renderCommandHelp(selected.command, selected.path));
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
|
+
if (selected.remaining[0] === "archive") {
|
|
13
|
+
const provider = selected.command.name;
|
|
14
|
+
const parsed = parseCommand(controllerArchiveDefinition(provider), selected.remaining.slice(1), [...selected.path, "archive"]);
|
|
15
|
+
if (parsed.kind !== "run") {
|
|
16
|
+
context.stdout(renderCommandHelp(parsed.command, parsed.path));
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const sessionId = parsed.values[0];
|
|
20
|
+
if (canonicalId(sessionId) !== sessionId)
|
|
21
|
+
throw new UsageError("Test Session ID must be a canonical UUID.");
|
|
22
|
+
await (await import("./independent-archive.js")).retryIndependentArchive({ provider, sessionId }, context);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
12
25
|
if (selected.remaining[0] === "resume") {
|
|
13
26
|
const provider = selected.command.name, remaining = selected.remaining.slice(1);
|
|
14
27
|
const base = controllerResumeDefinition(provider);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/controller/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/controller/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { SqliteAccessError } from "../../platform/sqlite-error.js";
|
|
2
2
|
import { currentSqliteVersion } from "../../platform/sqlite-format.js";
|
|
3
3
|
import { loadSqliteSequence, sqliteSchemaSnapshots } from "../../platform/sqlite-sql.js";
|
|
4
|
+
import { canonicalId } from "../../api/parse.js";
|
|
5
|
+
import { migratePendingContent, openPendingContent } from "./pending-content.js";
|
|
4
6
|
const steps = loadSqliteSequence(new URL("./sqlite/journal/", import.meta.url));
|
|
5
7
|
const [baseline, ...upgrades] = steps;
|
|
6
8
|
const schemas = sqliteSchemaSnapshots(steps);
|
|
@@ -18,7 +20,29 @@ const validateVersioned = (db, version) => {
|
|
|
18
20
|
export const controllerJournalFormat = {
|
|
19
21
|
name: "controller-journal",
|
|
20
22
|
baseline: { version: baseline.version, create: (db) => { db.exec(baseline.sql); } },
|
|
21
|
-
migrations: upgrades.map(step => ({ toVersion: step.version, up: (db) => {
|
|
23
|
+
migrations: upgrades.map(step => ({ toVersion: step.version, up: (db, source) => {
|
|
24
|
+
if (step.version !== 6) {
|
|
25
|
+
db.exec(step.sql);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const row = db.prepare("SELECT snapshot FROM execution WHERE id=1").get();
|
|
29
|
+
if (row === undefined) {
|
|
30
|
+
if (db.prepare("SELECT 1 FROM projection LIMIT 1").get() !== undefined || db.prepare("SELECT 1 FROM resources LIMIT 1").get() !== undefined)
|
|
31
|
+
throw new Error("Legacy archive content has no original controller execution.");
|
|
32
|
+
db.exec(step.sql);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
const snapshot = JSON.parse(row.snapshot);
|
|
36
|
+
if (typeof snapshot.sessionId !== "string" || canonicalId(snapshot.sessionId) !== snapshot.sessionId)
|
|
37
|
+
throw new Error("Legacy journal session identity is invalid.");
|
|
38
|
+
// Files survive an enclosing migration rollback; SQL sources disappear only
|
|
39
|
+
// after their complete pending archive has reached durable storage.
|
|
40
|
+
migratePendingContent(db, openPendingContent(db.name, snapshot.sessionId), step.sql);
|
|
41
|
+
// Version 1 has no durable projection, and its acknowledged outbox may have
|
|
42
|
+
// discarded history. Intermediate DDL cannot establish that source as complete.
|
|
43
|
+
if (source.kind === "outdated" && source.version === 1)
|
|
44
|
+
db.exec("UPDATE execution SET archive_incomplete=1 WHERE id=1");
|
|
45
|
+
} })),
|
|
22
46
|
validateVersioned,
|
|
23
47
|
};
|
|
24
48
|
export const assertJournalMigrationAllowed = (db, source) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-format.js","sourceRoot":"","sources":["../../../src/commands/controller/journal-format.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAwC,MAAM,iCAAiC,CAAC;AAC7G,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAA2B,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"journal-format.js","sourceRoot":"","sources":["../../../src/commands/controller/journal-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,13 @@ import { createHash, randomUUID } from "node:crypto";
|
|
|
2
2
|
import { chmod, mkdir, open, readFile, lstat, link, unlink } from "node:fs/promises";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import { canonicalId } from "../../api/parse.js";
|
|
5
|
+
import { resolveConfigurationPaths } from "../../config/paths.js";
|
|
5
6
|
import { normalizeServerUrl } from "../../config/server.js";
|
|
6
7
|
import { sessionBinding } from "../../session/protocol.js";
|
|
7
8
|
const uuid = (value) => { if (typeof value !== "string" || canonicalId(value) !== value)
|
|
8
9
|
throw new Error("Controller identity must be a canonical UUID."); return value; };
|
|
9
|
-
export const controllerExecutionDirectory = (home, executionId) => path.join(home
|
|
10
|
-
export const controllerTicketPath = (home, launchId) => path.join(home
|
|
10
|
+
export const controllerExecutionDirectory = (home, executionId) => path.join(resolveConfigurationPaths(home).stateDirectory, "controller", "executions", uuid(executionId));
|
|
11
|
+
export const controllerTicketPath = (home, launchId) => path.join(resolveConfigurationPaths(home).stateDirectory, "controller", "launches", `${uuid(launchId)}.json`);
|
|
11
12
|
const canonicalPayload = (value) => {
|
|
12
13
|
if (Array.isArray(value))
|
|
13
14
|
return value.map(canonicalPayload);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch-ticket.js","sourceRoot":"","sources":["../../../src/commands/controller/launch-ticket.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrF,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAuB,MAAM,2BAA2B,CAAC;AAkBhF,MAAM,IAAI,GAAG,CAAC,KAAc,EAAU,EAAE,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,KAAK;IAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5L,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"launch-ticket.js","sourceRoot":"","sources":["../../../src/commands/controller/launch-ticket.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { sessionDisplayEntry } from "./wire-display.js";
|
|
2
2
|
import Database from "better-sqlite3";
|
|
3
|
+
import { openPendingContent, reconcilePendingContent } from "./pending-content.js";
|
|
3
4
|
import { closeSqliteDatabase, openSqliteDatabase, readSqliteDatabase, runSqliteImmediate, sqliteTransactionOutcome } from "../../platform/sqlite-access.js";
|
|
4
5
|
import { assertCurrentSqlite } from "../../platform/sqlite-format.js";
|
|
5
6
|
import { SqliteAccessError } from "../../platform/sqlite-error.js";
|
|
6
7
|
import { assertJournalMigrationAllowed, controllerJournalFormat } from "./journal-format.js";
|
|
7
8
|
import { createLocalSessionContent } from "./local-content.js";
|
|
8
|
-
import { chmodSync } from "node:fs";
|
|
9
|
+
import { chmodSync, existsSync } from "node:fs";
|
|
9
10
|
import { sessionBinding } from "../../session/protocol.js";
|
|
10
11
|
import { controllerPayloadHash, parseLaunchTicket } from "./launch-ticket.js";
|
|
11
12
|
import { parseSourceEvent } from "../../session/controller-protocol.js";
|
|
@@ -46,6 +47,7 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
|
|
|
46
47
|
throw new Error("Invalid controller outbox capacity.");
|
|
47
48
|
parseLaunchTicket(ticket);
|
|
48
49
|
const initial = { executionId: ticket.executionId, ...sessionBinding(ticket), sessionId: ticket.sessionId, executionGeneration: ticket.executionGeneration, controllerInstanceId: ticket.controllerInstanceId, lifecycle: "starting", nativeSessionId: ticket.resumeNativeSessionId, initialInputState: ticket.initialInput === "none" ? "not_required" : "not_submitted", activity: "initializing", currentTurnId: null, capabilities: { send: false, steer: false, cancel: false, respond: false }, controllerProcess: null, nativeProcesses: [], nativeStopped: false, stoppedAt: null, error: null };
|
|
50
|
+
let pendingContent;
|
|
49
51
|
const db = openSqliteDatabase({ file, format: controllerJournalFormat, allowCreate: true,
|
|
50
52
|
...(options.onMigration === undefined ? {} : { onMigration: options.onMigration }),
|
|
51
53
|
assertMigrationAllowed: assertJournalMigrationAllowed,
|
|
@@ -86,6 +88,12 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
|
|
|
86
88
|
}
|
|
87
89
|
db.prepare("UPDATE execution SET owner_pid=? WHERE id=1").run(process.pid);
|
|
88
90
|
}
|
|
91
|
+
if (existing !== undefined && !existsSync(`${file}.pending-content/manifest.json`))
|
|
92
|
+
throw new Error("Pending archive source is missing.");
|
|
93
|
+
pendingContent = openPendingContent(file, ticket.sessionId);
|
|
94
|
+
if (existing === undefined && (pendingContent.entries.size !== 0 || pendingContent.resources.size !== 0))
|
|
95
|
+
throw new Error("Pending archive source has no original controller execution.");
|
|
96
|
+
reconcilePendingContent(db, pendingContent);
|
|
89
97
|
},
|
|
90
98
|
});
|
|
91
99
|
const transaction = (action, mode) => {
|
|
@@ -127,7 +135,7 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
|
|
|
127
135
|
const outboxBytes = () => read(() => db.prepare("SELECT COALESCE(SUM(length(CAST(value AS BLOB))),0) AS bytes FROM outbox").get().bytes);
|
|
128
136
|
const assertInputCapacity = () => { if (!options.contentOwnedLocally && outboxBytes() >= maxOutboxBytes * 0.8)
|
|
129
137
|
throw new Error("Controller outbox capacity reached; native input is paused until durable events are acknowledged."); };
|
|
130
|
-
const localContent = createLocalSessionContent(
|
|
138
|
+
const localContent = createLocalSessionContent(pendingContent, ticket.sessionId, { read, write: atomic });
|
|
131
139
|
const appendEvent = (payload) => atomic(() => {
|
|
132
140
|
if (options.contentOwnedLocally && payload && typeof payload === "object" && "kind" in payload && payload.kind === "resource" && "payload" in payload) {
|
|
133
141
|
const event = parseSourceEvent({ sourceSeq: "1", ...payload });
|
|
@@ -168,7 +176,7 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
|
|
|
168
176
|
break;
|
|
169
177
|
safeReason += character;
|
|
170
178
|
}
|
|
171
|
-
db.prepare("UPDATE execution SET projection_gap=COALESCE(projection_gap,?) WHERE id=1").run(safeReason);
|
|
179
|
+
db.prepare("UPDATE execution SET projection_gap=COALESCE(projection_gap,?),archive_incomplete=1 WHERE id=1").run(safeReason);
|
|
172
180
|
}),
|
|
173
181
|
drainProjectionGap: () => atomic(() => {
|
|
174
182
|
const row = db.prepare("SELECT projection_gap AS reason FROM execution WHERE id=1").get();
|
|
@@ -197,14 +205,18 @@ export const openControllerLifecycleStore = (file, ticket, options = {}) => {
|
|
|
197
205
|
void ignored;
|
|
198
206
|
void ignoredSequence;
|
|
199
207
|
const contentHash = controllerPayloadHash(content);
|
|
200
|
-
const previous =
|
|
201
|
-
|
|
208
|
+
const previous = pendingContent.entries.get(entry.entryId);
|
|
209
|
+
const previousContent = previous ? (({ revision, entrySeq, ...value }) => { void revision; void entrySeq; return value; })(previous) : null;
|
|
210
|
+
if (previousContent !== null && controllerPayloadHash(previousContent) === contentHash)
|
|
202
211
|
return null;
|
|
203
212
|
const revision = String(previous === undefined ? 1n : BigInt(previous.revision) + 1n);
|
|
204
|
-
const entrySeq = previous?.entrySeq ??
|
|
213
|
+
const entrySeq = previous?.entrySeq ?? pendingContent.nextEntrySequence();
|
|
205
214
|
const payload = { ...content, revision, ...(options.contentOwnedLocally ? { entrySeq } : {}) };
|
|
206
215
|
parseSourceEvent({ sourceSeq: "1", kind: "timeline_upsert", payload });
|
|
207
|
-
|
|
216
|
+
// Durable file first: a failed SQL outbox commit still rehydrates the latest content.
|
|
217
|
+
const durableEntry = { ...payload, entrySeq };
|
|
218
|
+
pendingContent.saveEntry(durableEntry);
|
|
219
|
+
db.prepare("INSERT INTO content_index VALUES(?,?,?,?) ON CONFLICT(id) DO UPDATE SET content_hash=excluded.content_hash,revision=excluded.revision,entry_seq=excluded.entry_seq").run(entry.entryId, controllerPayloadHash(durableEntry), revision, entrySeq);
|
|
208
220
|
return appendEvent({ kind: "timeline_upsert", payload: options.contentOwnedLocally ? sessionDisplayEntry(payload) : payload });
|
|
209
221
|
}),
|
|
210
222
|
prepareOperation: (input) => atomic(() => {
|