@codetreker/daynight 0.29.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +93 -30
  2. package/dist/api/index.d.ts +1 -1
  3. package/dist/api/index.js +1 -1
  4. package/dist/api/index.js.map +1 -1
  5. package/dist/api/task-properties.d.ts +1 -0
  6. package/dist/api/task-properties.js +5 -0
  7. package/dist/api/task-properties.js.map +1 -1
  8. package/dist/commands/controller/independent.js +31 -15
  9. package/dist/commands/controller/independent.js.map +1 -1
  10. package/dist/commands/controller/journal-format.d.ts +4 -0
  11. package/dist/commands/controller/journal-format.js +42 -0
  12. package/dist/commands/controller/journal-format.js.map +1 -0
  13. package/dist/commands/controller/lifecycle-store.d.ts +7 -5
  14. package/dist/commands/controller/lifecycle-store.js +114 -85
  15. package/dist/commands/controller/lifecycle-store.js.map +1 -1
  16. package/dist/commands/controller/local-content.d.ts +10 -5
  17. package/dist/commands/controller/local-content.js +8 -2
  18. package/dist/commands/controller/local-content.js.map +1 -1
  19. package/dist/commands/controller/resume-lease-format.d.ts +4 -0
  20. package/dist/commands/controller/resume-lease-format.js +35 -0
  21. package/dist/commands/controller/resume-lease-format.js.map +1 -0
  22. package/dist/commands/controller/resume.js +85 -21
  23. package/dist/commands/controller/resume.js.map +1 -1
  24. package/dist/commands/controller/sqlite/journal/001-baseline.sql +17 -0
  25. package/dist/commands/controller/sqlite/journal/002-projection.sql +8 -0
  26. package/dist/commands/controller/sqlite/journal/003-operation-acknowledgements.sql +1 -0
  27. package/dist/commands/controller/sqlite/journal/004-projection-gap.sql +1 -0
  28. package/dist/commands/controller/sqlite/journal/005-resources.sql +7 -0
  29. package/dist/commands/controller/sqlite/resume-lease/001-baseline.sql +7 -0
  30. package/dist/commands/review/listing.js +1 -1
  31. package/dist/commands/review/listing.js.map +1 -1
  32. package/dist/commands/review/runtime.js +3 -1
  33. package/dist/commands/review/runtime.js.map +1 -1
  34. package/dist/commands/review/sqlite/001-baseline.sql +65 -0
  35. package/dist/commands/review/sqlite/002-publications.sql +15 -0
  36. package/dist/commands/review/store-format.d.ts +2 -0
  37. package/dist/commands/review/store-format.js +35 -0
  38. package/dist/commands/review/store-format.js.map +1 -0
  39. package/dist/commands/review/store.d.ts +8 -1
  40. package/dist/commands/review/store.js +46 -176
  41. package/dist/commands/review/store.js.map +1 -1
  42. package/dist/commands/skill/skills/using-daynight/references/autopilot-managed-task.md +19 -7
  43. package/dist/commands/worker/backends/sqlite/001-baseline.sql +4 -0
  44. package/dist/commands/worker/backends/web-process.js +6 -3
  45. package/dist/commands/worker/backends/web-process.js.map +1 -1
  46. package/dist/commands/worker/backends/web-record.d.ts +11 -0
  47. package/dist/commands/worker/backends/web-record.js +151 -0
  48. package/dist/commands/worker/backends/web-record.js.map +1 -0
  49. package/dist/commands/worker/backends/web-store-format.d.ts +2 -0
  50. package/dist/commands/worker/backends/web-store-format.js +33 -0
  51. package/dist/commands/worker/backends/web-store-format.js.map +1 -0
  52. package/dist/commands/worker/backends/web-store.d.ts +4 -1
  53. package/dist/commands/worker/backends/web-store.js +43 -170
  54. package/dist/commands/worker/backends/web-store.js.map +1 -1
  55. package/dist/commands/worker/backends/web.js +5 -4
  56. package/dist/commands/worker/backends/web.js.map +1 -1
  57. package/dist/commands/worker/cleanup.d.ts +1 -1
  58. package/dist/commands/worker/cleanup.js.map +1 -1
  59. package/dist/commands/worker/coordinator.js +1 -1
  60. package/dist/commands/worker/coordinator.js.map +1 -1
  61. package/dist/commands/worker/diagnostics.d.ts +3 -0
  62. package/dist/commands/worker/diagnostics.js +15 -0
  63. package/dist/commands/worker/diagnostics.js.map +1 -1
  64. package/dist/commands/worker/execution.d.ts +2 -0
  65. package/dist/commands/worker/execution.js +17 -4
  66. package/dist/commands/worker/execution.js.map +1 -1
  67. package/dist/commands/worker/herdr/agents.d.ts +6 -1
  68. package/dist/commands/worker/herdr/agents.js +8 -3
  69. package/dist/commands/worker/herdr/agents.js.map +1 -1
  70. package/dist/commands/worker/herdr.d.ts +2 -2
  71. package/dist/commands/worker/herdr.js.map +1 -1
  72. package/dist/commands/worker/prompts.js +7 -2
  73. package/dist/commands/worker/prompts.js.map +1 -1
  74. package/dist/commands/worker/runtime.js +8 -3
  75. package/dist/commands/worker/runtime.js.map +1 -1
  76. package/dist/commands/worker/sqlite/005-baseline.sql +18 -0
  77. package/dist/commands/worker/store-format.d.ts +2 -0
  78. package/dist/commands/worker/store-format.js +35 -0
  79. package/dist/commands/worker/store-format.js.map +1 -0
  80. package/dist/commands/worker/store.d.ts +2 -0
  81. package/dist/commands/worker/store.js +36 -69
  82. package/dist/commands/worker/store.js.map +1 -1
  83. package/dist/platform/diagnostics.js +3 -0
  84. package/dist/platform/diagnostics.js.map +1 -1
  85. package/dist/platform/instance-lock.d.ts +15 -0
  86. package/dist/platform/instance-lock.js +45 -3
  87. package/dist/platform/instance-lock.js.map +1 -1
  88. package/dist/platform/sqlite-access.d.ts +40 -0
  89. package/dist/platform/sqlite-access.js +333 -0
  90. package/dist/platform/sqlite-access.js.map +1 -0
  91. package/dist/platform/sqlite-error.d.ts +39 -0
  92. package/dist/platform/sqlite-error.js +36 -0
  93. package/dist/platform/sqlite-error.js.map +1 -0
  94. package/dist/platform/sqlite-format.d.ts +31 -0
  95. package/dist/platform/sqlite-format.js +98 -0
  96. package/dist/platform/sqlite-format.js.map +1 -0
  97. package/dist/platform/sqlite-sql.d.ts +12 -0
  98. package/dist/platform/sqlite-sql.js +61 -0
  99. package/dist/platform/sqlite-sql.js.map +1 -0
  100. package/package.json +3 -3
@@ -0,0 +1,151 @@
1
+ import path from "node:path";
2
+ import { canonicalId } from "../../../api/parse.js";
3
+ import { normalizeServerUrl } from "../../../config/server.js";
4
+ import { backendResourcesClosed } from "./web-types.js";
5
+ const integer = (value, name, minimum = 0) => {
6
+ if (typeof value !== "number" || !Number.isSafeInteger(value) || value < minimum)
7
+ throw new Error(`${name} must be a safe integer of at least ${minimum}.`);
8
+ return value;
9
+ };
10
+ const text = (value, name, empty = false) => {
11
+ if (typeof value !== "string" || (!empty && value.trim().length === 0))
12
+ throw new Error(`${name} must be ${empty ? "a" : "a nonempty"} string.`);
13
+ return value;
14
+ };
15
+ const id = (value, name) => {
16
+ const normalized = canonicalId(text(value, name));
17
+ if (normalized === null)
18
+ throw new Error(`${name} must be a UUID.`);
19
+ return normalized;
20
+ };
21
+ const absolutePath = (value, name) => {
22
+ const result = text(value, name);
23
+ if (!path.isAbsolute(result))
24
+ throw new Error(`${name} must be absolute.`);
25
+ return result;
26
+ };
27
+ const bool = (value, name) => {
28
+ if (typeof value !== "boolean")
29
+ throw new Error(`${name} must be boolean.`);
30
+ return value;
31
+ };
32
+ const oneOf = (value, choices, name) => {
33
+ if (typeof value !== "string" || !choices.includes(value))
34
+ throw new Error(`${name} is invalid.`);
35
+ return value;
36
+ };
37
+ const record = (value, fields, name) => {
38
+ if (typeof value !== "object" || value === null || Array.isArray(value))
39
+ throw new Error(`${name} must be an object.`);
40
+ if (Object.keys(value).length !== fields.length || fields.some((field) => !Object.hasOwn(value, field)))
41
+ throw new Error(`${name} has invalid fields.`);
42
+ return value;
43
+ };
44
+ const nullable = (value, parse) => value === null ? null : parse(value);
45
+ const version = (value) => {
46
+ if (typeof value !== "string" || !/^[1-9][0-9]*$/.test(value) || BigInt(value) > 9223372036854775807n)
47
+ throw new Error("Remote version must be a positive int64 decimal string.");
48
+ return value;
49
+ };
50
+ const parseConfiguration = (value) => {
51
+ const data = record(value, ["agent", "agentControlMode", "model", "args", "recoveryLimit"], "Frozen execution configuration");
52
+ if (!Array.isArray(data.args))
53
+ throw new Error("Agent arguments must be an array.");
54
+ const agentControlMode = oneOf(data.agentControlMode, ["web"], "Web agent control mode");
55
+ return { agent: oneOf(data.agent, ["copilot", "codex", "claude"], "Web execution agent"), agentControlMode, model: nullable(data.model, (entry) => text(entry, "Model")),
56
+ args: data.args.map((entry) => text(entry, "Agent argument", true)), recoveryLimit: integer(data.recoveryLimit, "Recovery limit") };
57
+ };
58
+ const parseWorktree = (value) => {
59
+ const data = record(value, ["repositoryPath", "commonDirectory", "worktreePath", "branch"], "Worktree binding");
60
+ return { repositoryPath: absolutePath(data.repositoryPath, "Repository path"), commonDirectory: absolutePath(data.commonDirectory, "Git common directory"), worktreePath: absolutePath(data.worktreePath, "Worktree path"), branch: text(data.branch, "Worktree branch") };
61
+ };
62
+ const parseCleanupBaseline = (value) => {
63
+ const data = record(value, ["stateChangeSeq", "completionSeq"], "Cleanup completion baseline");
64
+ return { stateChangeSeq: integer(data.stateChangeSeq, "Cleanup state-change sequence"), completionSeq: integer(data.completionSeq, "Cleanup completion sequence") };
65
+ };
66
+ const parseExecutionSummary = (value) => { if (value !== null)
67
+ throw new Error("Web execution summaries are derived from fresh remote inventory."); return value; };
68
+ const parseWebExecution = (value) => {
69
+ const data = record(value, ["executionId", "registrationId", "controllerId", "controllerInstanceId", "launchId", "sessionId", "executionGeneration", "initialOperationId", "initialPrompt", "launchSubmission", "controllerProcess", "nativeProcesses", "cleanupOperationId", "ticketPath", ...["summary", "initialInputState", "activity", "nativeHome", "restartAfterShutdown"].filter(key => typeof value === "object" && value !== null && Object.hasOwn(value, key))], "Web execution");
70
+ for (const key of ["executionId", "registrationId", "controllerId", "controllerInstanceId", "launchId", "initialOperationId"])
71
+ id(data[key], key);
72
+ for (const key of ["sessionId", "cleanupOperationId"])
73
+ nullable(data[key], entry => id(entry, key));
74
+ version(data.executionGeneration);
75
+ oneOf(data.launchSubmission, ["not-submitted", "unknown", "acknowledged"], "Controller launch submission");
76
+ nullable(data.initialPrompt, entry => text(entry, "Initial prompt"));
77
+ nullable(data.ticketPath, entry => absolutePath(entry, "Controller ticket"));
78
+ const proof = (value) => { const hasJob = typeof value === "object" && value !== null && "jobObjectName" in value; const p = record(value, ["pid", "parentPid", "processGroupId", "startedAt", "commandHash", ...(hasJob ? ["jobObjectName"] : [])], "Process proof"); if (hasJob && (typeof p.jobObjectName !== "string" || !/^Local\\Daynight-[0-9a-f-]{36}$/.test(p.jobObjectName)))
79
+ throw new Error("Invalid Windows job identity."); integer(p.pid, "Process ID", 1); integer(p.parentPid, "Parent ID"); nullable(p.processGroupId, entry => integer(entry, "Process group", 1)); text(p.startedAt, "Process creation"); if (typeof p.commandHash !== "string" || !/^[a-f0-9]{64}$/.test(p.commandHash))
80
+ throw new Error("Invalid process command proof."); };
81
+ if (data.controllerProcess !== null)
82
+ proof(data.controllerProcess);
83
+ if (!Array.isArray(data.nativeProcesses))
84
+ throw new Error("Native process evidence must be an array.");
85
+ data.nativeProcesses.forEach(proof);
86
+ data.restartAfterShutdown ??= false;
87
+ bool(data.restartAfterShutdown, "Orderly controller restart");
88
+ data.nativeHome ??= null;
89
+ nullable(data.nativeHome, entry => absolutePath(entry, "Native profile home"));
90
+ data.summary ??= null;
91
+ data.initialInputState ??= "unknown";
92
+ data.activity ??= "unknown";
93
+ nullable(data.summary, parseExecutionSummary);
94
+ oneOf(data.initialInputState, ["not_submitted", "dispatching", "provider_accepted", "confirmed", "failed", "unknown"], "Initial input state");
95
+ oneOf(data.activity, ["initializing", "idle", "working", "waiting_input", "stopped", "unknown"], "Controller activity");
96
+ return data;
97
+ };
98
+ const parseCleanup = (value) => {
99
+ const web = typeof value === "object" && value !== null && "mode" in value && value.mode === "web";
100
+ const data = record(value, ["kind", "startedAt", "deadline", "input", "baseline", "result", "error", "agentStopped", "workspaceClosed", "worktreeDeleted", ...(web ? ["mode", "backendResourcesClosed"] : [])], "Cleanup state");
101
+ if (web && data.workspaceClosed !== null)
102
+ throw new Error("Web cleanup cannot carry a Herdr workspace closure.");
103
+ const result = { kind: oneOf(data.kind, ["terminal", "shutdown"], "Cleanup kind"), startedAt: integer(data.startedAt, "Cleanup start"), deadline: integer(data.deadline, "Cleanup deadline"),
104
+ input: oneOf(data.input, ["not-submitted", "unknown", "submitted", "rejected", "unavailable"], "Cleanup input state"),
105
+ baseline: nullable(data.baseline, parseCleanupBaseline),
106
+ result: nullable(data.result, (entry) => oneOf(entry, ["completed", "timed-out", "failed", "unavailable"], "Cleanup result")), error: nullable(data.error, (entry) => text(entry, "Cleanup error")),
107
+ agentStopped: bool(data.agentStopped, "Agent stopped"), workspaceClosed: web && data.workspaceClosed === null ? null : bool(data.workspaceClosed, "Workspace closed"), ...(web ? { mode: "web", backendResourcesClosed: bool(data.backendResourcesClosed, "Backend resources closed") } : {}), worktreeDeleted: bool(data.worktreeDeleted, "Worktree deleted") };
108
+ if (result.deadline < result.startedAt || result.deadline - result.startedAt > 600_000)
109
+ throw new Error("Cleanup deadline must be within ten minutes of its original start.");
110
+ if ((backendResourcesClosed(result) && !result.agentStopped) || (result.worktreeDeleted && !backendResourcesClosed(result)))
111
+ throw new Error("Cleanup progress is out of order.");
112
+ if (result.baseline !== null && result.input !== "submitted")
113
+ throw new Error("A cleanup completion baseline requires confirmed input submission.");
114
+ return result;
115
+ };
116
+ const key = (identity) => [identity.projectId, identity.taskId, identity.claimId].map(value => id(value, "Execution identity")).join("/");
117
+ const validate = (task) => {
118
+ record(task, ["projectId", "taskId", "claimId", "worktreeId", "serverOrigin", "workerId", "userId", "status", "repoUrl", "repositoryPath", "configuration", "resources", "nativeExecution", "webExecution", "recovery", "cleanup", "control", "createdAt", "updatedAt"], "Web execution record");
119
+ key(task);
120
+ normalizeServerUrl(task.serverOrigin);
121
+ id(task.workerId, "Worker ID");
122
+ id(task.worktreeId, "Worktree ID");
123
+ nullable(task.userId, value => id(value, "Execution owner"));
124
+ if (task.configuration === null || task.configuration.agentControlMode !== "web")
125
+ throw new Error("Web execution requires its frozen configuration.");
126
+ parseConfiguration(task.configuration);
127
+ text(task.repoUrl, "Repository URL");
128
+ absolutePath(task.repositoryPath, "Repository path");
129
+ integer(task.createdAt, "Execution creation time");
130
+ integer(task.updatedAt, "Execution update time");
131
+ record(task.resources, ["mode", "worktree", "herdr", "nativeSession"], "Web resources");
132
+ if (task.resources.mode !== "web" || task.resources.herdr !== null || task.nativeExecution !== null || task.control !== null)
133
+ throw new Error("Web execution contains incompatible backend resources.");
134
+ if (task.resources.nativeSession !== null) {
135
+ const native = record(task.resources.nativeSession, ["source", "sessionId"], "Native session");
136
+ if (native.source !== "controller")
137
+ throw new Error("The native session does not belong to the Controller.");
138
+ id(native.sessionId, "Native session ID");
139
+ }
140
+ record(task.recovery, ["count", "pauseReason", "retryAuthorized"], "Recovery state");
141
+ integer(task.recovery.count, "Recovery count");
142
+ nullable(task.recovery.pauseReason, value => text(value, "Recovery pause"));
143
+ bool(task.recovery.retryAuthorized, "Recovery authorization");
144
+ oneOf(task.status, ["pending", "active", "done"], "Web execution state");
145
+ nullable(task.resources.worktree, parseWorktree);
146
+ nullable(task.cleanup, parseCleanup);
147
+ nullable(task.webExecution, parseWebExecution);
148
+ return task;
149
+ };
150
+ export { integer as webRecordInteger, oneOf as webRecordChoice, text as webRecordText, id as webRecordId, parseWorktree as parseWebWorktreeV1, parseWebExecution as parseWebExecutionV1, parseCleanup as parseWebCleanupV1, key as webClaimKey, validate as parseWebTaskV1, };
151
+ //# sourceMappingURL=web-record.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-record.js","sourceRoot":"","sources":["../../../../src/commands/worker/backends/web-record.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { SqliteFormat } from "../../../platform/sqlite-format.js";
2
+ export declare const webExecutionStoreFormat: SqliteFormat;
@@ -0,0 +1,33 @@
1
+ import { loadSqliteSequence, sqliteSchemaSnapshots } from "../../../platform/sqlite-sql.js";
2
+ const steps = loadSqliteSequence(new URL("./sqlite/", import.meta.url));
3
+ const [baseline, ...upgrades] = steps;
4
+ const schemas = sqliteSchemaSnapshots(steps);
5
+ const definition = (sql) => {
6
+ const tokens = sql.match(/--[^\n]*(?:\n|$)|\/\*[\s\S]*?\*\/|'(?:''|[^'])*'|"(?:""|[^"])*"|[A-Za-z_][A-Za-z0-9_]*|[^\s]/g);
7
+ if (tokens === null)
8
+ throw new Error("An empty SQLite definition cannot identify a known format.");
9
+ const meaningful = tokens.filter(token => !token.startsWith("--") && !token.startsWith("/*"));
10
+ if (meaningful.at(-1) === ";")
11
+ meaningful.pop();
12
+ return meaningful.map(token => token.startsWith("'") ? token : token.toLowerCase()).join("\0");
13
+ };
14
+ const validateSchema = (db, expected) => {
15
+ const objects = db.prepare("SELECT type, name, sql FROM sqlite_schema WHERE name NOT GLOB 'sqlite_*' ORDER BY name").all();
16
+ if (objects.length !== expected.length || objects.some((object, index) => {
17
+ const known = expected[index];
18
+ return object.type !== known.type || object.name !== known.name || object.sql === null || known.sql === null || definition(object.sql) !== definition(known.sql);
19
+ }))
20
+ throw new Error("The Web execution SQLite schema is incompatible with its known state format.");
21
+ };
22
+ export const webExecutionStoreFormat = {
23
+ name: "Web execution state",
24
+ baseline: { version: baseline.version, create: db => { db.exec(baseline.sql); } },
25
+ migrations: upgrades.map(step => ({ toVersion: step.version, up: (db) => { db.exec(step.sql); } })),
26
+ validateVersioned: (db, version) => {
27
+ const expected = schemas.get(version);
28
+ if (expected === undefined)
29
+ throw new Error("Unsupported Web execution SQLite version.");
30
+ validateSchema(db, expected);
31
+ },
32
+ };
33
+ //# sourceMappingURL=web-store-format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"web-store-format.js","sourceRoot":"","sources":["../../../../src/commands/worker/backends/web-store-format.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
+ import { type SqliteMigrationReporter } from "../../../platform/sqlite-access.js";
1
2
  import type { ExecutionConfiguration as FrozenExecutionConfiguration, WorkerProject, ResourceOwner } from "../types.js";
2
3
  import type { LocalTask, ClaimIdentity, CleanupState, WorktreeBinding, WebExecutionState } from "./web-types.js";
3
- export declare const openWebExecutionStore: (filename: string) => {
4
+ export declare const openWebExecutionStore: (filename: string, options?: {
5
+ onMigration?: SqliteMigrationReporter;
6
+ }) => {
4
7
  close: () => void;
5
8
  getTask: (identity: ClaimIdentity) => LocalTask | null;
6
9
  listUnfinishedTasks: () => LocalTask[];
@@ -1,187 +1,60 @@
1
1
  import { randomUUID } from "node:crypto";
2
- import path from "node:path";
3
- import Database from "better-sqlite3";
4
- import { canonicalId } from "../../../api/parse.js";
5
- import { normalizeServerUrl } from "../../../config/server.js";
6
- import { validateWorkerAgentMode, workerAgentControlMode } from "../../../api/worker-mode.js";
2
+ import { openSqliteDatabase, closeSqliteDatabase } from "../../../platform/sqlite-access.js";
3
+ import { assertCurrentSqlite } from "../../../platform/sqlite-format.js";
7
4
  import { backendResourcesClosed, taskAgentControlMode } from "./web-types.js";
8
- const integer = (value, name, minimum = 0) => {
9
- if (typeof value !== "number" || !Number.isSafeInteger(value) || value < minimum)
10
- throw new Error(`${name} must be a safe integer of at least ${minimum}.`);
11
- return value;
12
- };
13
- const text = (value, name, empty = false) => {
14
- if (typeof value !== "string" || (!empty && value.trim().length === 0))
15
- throw new Error(`${name} must be ${empty ? "a" : "a nonempty"} string.`);
16
- return value;
17
- };
18
- const id = (value, name) => {
19
- const normalized = canonicalId(text(value, name));
20
- if (normalized === null)
21
- throw new Error(`${name} must be a UUID.`);
22
- return normalized;
23
- };
24
- const absolutePath = (value, name) => {
25
- const result = text(value, name);
26
- if (!path.isAbsolute(result))
27
- throw new Error(`${name} must be absolute.`);
28
- return result;
29
- };
30
- const bool = (value, name) => {
31
- if (typeof value !== "boolean")
32
- throw new Error(`${name} must be boolean.`);
33
- return value;
34
- };
35
- const oneOf = (value, choices, name) => {
36
- if (typeof value !== "string" || !choices.includes(value))
37
- throw new Error(`${name} is invalid.`);
38
- return value;
39
- };
40
- const record = (value, fields, name) => {
41
- if (typeof value !== "object" || value === null || Array.isArray(value))
42
- throw new Error(`${name} must be an object.`);
43
- if (Object.keys(value).length !== fields.length || fields.some((field) => !Object.hasOwn(value, field)))
44
- throw new Error(`${name} has invalid fields.`);
45
- return value;
46
- };
47
- const nullable = (value, parse) => value === null ? null : parse(value);
48
- const version = (value) => {
49
- if (typeof value !== "string" || !/^[1-9][0-9]*$/.test(value) || BigInt(value) > 9223372036854775807n)
50
- throw new Error("Remote version must be a positive int64 decimal string.");
51
- return value;
52
- };
53
- const parseConfiguration = (value) => {
54
- const data = record(value, ["agent", "agentControlMode", "model", "args", "recoveryLimit"], "Frozen execution configuration");
55
- if (!Array.isArray(data.args))
56
- throw new Error("Agent arguments must be an array.");
57
- const agentControlMode = workerAgentControlMode(data);
58
- return { agent: validateWorkerAgentMode(data.agent, agentControlMode), agentControlMode, model: nullable(data.model, (entry) => text(entry, "Model")),
59
- args: data.args.map((entry) => text(entry, "Agent argument", true)), recoveryLimit: integer(data.recoveryLimit, "Recovery limit") };
60
- };
61
- const parseWorktree = (value) => {
62
- const data = record(value, ["repositoryPath", "commonDirectory", "worktreePath", "branch"], "Worktree binding");
63
- return { repositoryPath: absolutePath(data.repositoryPath, "Repository path"), commonDirectory: absolutePath(data.commonDirectory, "Git common directory"), worktreePath: absolutePath(data.worktreePath, "Worktree path"), branch: text(data.branch, "Worktree branch") };
64
- };
65
- const parseCleanupBaseline = (value) => {
66
- const data = record(value, ["stateChangeSeq", "completionSeq"], "Cleanup completion baseline");
67
- return { stateChangeSeq: integer(data.stateChangeSeq, "Cleanup state-change sequence"), completionSeq: integer(data.completionSeq, "Cleanup completion sequence") };
68
- };
69
- const parseExecutionSummary = (value) => { if (value !== null)
70
- throw new Error("Web execution summaries are derived from fresh remote inventory."); return value; };
71
- const parseWebExecution = (value) => {
72
- const data = record(value, ["executionId", "registrationId", "controllerId", "controllerInstanceId", "launchId", "sessionId", "executionGeneration", "initialOperationId", "initialPrompt", "launchSubmission", "controllerProcess", "nativeProcesses", "cleanupOperationId", "ticketPath", ...["summary", "initialInputState", "activity", "nativeHome", "restartAfterShutdown"].filter(key => typeof value === "object" && value !== null && Object.hasOwn(value, key))], "Web execution");
73
- for (const key of ["executionId", "registrationId", "controllerId", "controllerInstanceId", "launchId", "initialOperationId"])
74
- id(data[key], key);
75
- for (const key of ["sessionId", "cleanupOperationId"])
76
- nullable(data[key], entry => id(entry, key));
77
- version(data.executionGeneration);
78
- oneOf(data.launchSubmission, ["not-submitted", "unknown", "acknowledged"], "Controller launch submission");
79
- nullable(data.initialPrompt, entry => text(entry, "Initial prompt"));
80
- nullable(data.ticketPath, entry => absolutePath(entry, "Controller ticket"));
81
- const proof = (value) => { const hasJob = typeof value === "object" && value !== null && "jobObjectName" in value; const p = record(value, ["pid", "parentPid", "processGroupId", "startedAt", "commandHash", ...(hasJob ? ["jobObjectName"] : [])], "Process proof"); if (hasJob && (typeof p.jobObjectName !== "string" || !/^Local\\Daynight-[0-9a-f-]{36}$/.test(p.jobObjectName)))
82
- throw new Error("Invalid Windows job identity."); integer(p.pid, "Process ID", 1); integer(p.parentPid, "Parent ID"); nullable(p.processGroupId, entry => integer(entry, "Process group", 1)); text(p.startedAt, "Process creation"); if (typeof p.commandHash !== "string" || !/^[a-f0-9]{64}$/.test(p.commandHash))
83
- throw new Error("Invalid process command proof."); };
84
- if (data.controllerProcess !== null)
85
- proof(data.controllerProcess);
86
- if (!Array.isArray(data.nativeProcesses))
87
- throw new Error("Native process evidence must be an array.");
88
- data.nativeProcesses.forEach(proof);
89
- data.restartAfterShutdown ??= false;
90
- bool(data.restartAfterShutdown, "Orderly controller restart");
91
- data.nativeHome ??= null;
92
- nullable(data.nativeHome, entry => absolutePath(entry, "Native profile home"));
93
- data.summary ??= null;
94
- data.initialInputState ??= "unknown";
95
- data.activity ??= "unknown";
96
- nullable(data.summary, parseExecutionSummary);
97
- oneOf(data.initialInputState, ["not_submitted", "dispatching", "provider_accepted", "confirmed", "failed", "unknown"], "Initial input state");
98
- oneOf(data.activity, ["initializing", "idle", "working", "waiting_input", "stopped", "unknown"], "Controller activity");
99
- return data;
100
- };
101
- const parseCleanup = (value) => {
102
- const web = typeof value === "object" && value !== null && "mode" in value && value.mode === "web";
103
- const data = record(value, ["kind", "startedAt", "deadline", "input", "baseline", "result", "error", "agentStopped", "workspaceClosed", "worktreeDeleted", ...(web ? ["mode", "backendResourcesClosed"] : [])], "Cleanup state");
104
- if (web && data.workspaceClosed !== null)
105
- throw new Error("Web cleanup cannot carry a Herdr workspace closure.");
106
- const result = { kind: oneOf(data.kind, ["terminal", "shutdown"], "Cleanup kind"), startedAt: integer(data.startedAt, "Cleanup start"), deadline: integer(data.deadline, "Cleanup deadline"),
107
- input: oneOf(data.input, ["not-submitted", "unknown", "submitted", "rejected", "unavailable"], "Cleanup input state"),
108
- baseline: nullable(data.baseline, parseCleanupBaseline),
109
- result: nullable(data.result, (entry) => oneOf(entry, ["completed", "timed-out", "failed", "unavailable"], "Cleanup result")), error: nullable(data.error, (entry) => text(entry, "Cleanup error")),
110
- agentStopped: bool(data.agentStopped, "Agent stopped"), workspaceClosed: web && data.workspaceClosed === null ? null : bool(data.workspaceClosed, "Workspace closed"), ...(web ? { mode: "web", backendResourcesClosed: bool(data.backendResourcesClosed, "Backend resources closed") } : {}), worktreeDeleted: bool(data.worktreeDeleted, "Worktree deleted") };
111
- if (result.deadline < result.startedAt || result.deadline - result.startedAt > 600_000)
112
- throw new Error("Cleanup deadline must be within ten minutes of its original start.");
113
- if ((backendResourcesClosed(result) && !result.agentStopped) || (result.worktreeDeleted && !backendResourcesClosed(result)))
114
- throw new Error("Cleanup progress is out of order.");
115
- if (result.baseline !== null && result.input !== "submitted")
116
- throw new Error("A cleanup completion baseline requires confirmed input submission.");
117
- return result;
118
- };
5
+ import { webRecordInteger as integer, webRecordChoice as oneOf, webRecordText as text, webRecordId as id, parseWebWorktreeV1 as parseWorktree, parseWebExecutionV1 as parseWebExecution, parseWebCleanupV1 as parseCleanup, webClaimKey as key, parseWebTaskV1 as validate } from "./web-record.js";
6
+ import { webExecutionStoreFormat } from "./web-store-format.js";
119
7
  const same = (left, right) => JSON.stringify(left) === JSON.stringify(right);
120
- const key = (identity) => [identity.projectId, identity.taskId, identity.claimId].map(value => id(value, "Execution identity")).join("/");
121
- const validate = (task) => {
122
- record(task, ["projectId", "taskId", "claimId", "worktreeId", "serverOrigin", "workerId", "userId", "status", "repoUrl", "repositoryPath", "configuration", "resources", "nativeExecution", "webExecution", "recovery", "cleanup", "control", "createdAt", "updatedAt"], "Web execution record");
123
- key(task);
124
- normalizeServerUrl(task.serverOrigin);
125
- id(task.workerId, "Worker ID");
126
- id(task.worktreeId, "Worktree ID");
127
- nullable(task.userId, value => id(value, "Execution owner"));
128
- if (task.configuration === null || task.configuration.agentControlMode !== "web")
129
- throw new Error("Web execution requires its frozen configuration.");
130
- parseConfiguration(task.configuration);
131
- text(task.repoUrl, "Repository URL");
132
- absolutePath(task.repositoryPath, "Repository path");
133
- integer(task.createdAt, "Execution creation time");
134
- integer(task.updatedAt, "Execution update time");
135
- record(task.resources, ["mode", "worktree", "herdr", "nativeSession"], "Web resources");
136
- if (task.resources.mode !== "web" || task.resources.herdr !== null || task.nativeExecution !== null || task.control !== null)
137
- throw new Error("Web execution contains incompatible backend resources.");
138
- if (task.resources.nativeSession !== null) {
139
- const native = record(task.resources.nativeSession, ["source", "sessionId"], "Native session");
140
- if (native.source !== "controller")
141
- throw new Error("The native session does not belong to the Controller.");
142
- id(native.sessionId, "Native session ID");
143
- }
144
- record(task.recovery, ["count", "pauseReason", "retryAuthorized"], "Recovery state");
145
- integer(task.recovery.count, "Recovery count");
146
- nullable(task.recovery.pauseReason, value => text(value, "Recovery pause"));
147
- bool(task.recovery.retryAuthorized, "Recovery authorization");
148
- oneOf(task.status, ["pending", "active", "done"], "Web execution state");
149
- nullable(task.resources.worktree, parseWorktree);
150
- nullable(task.cleanup, parseCleanup);
151
- nullable(task.webExecution, parseWebExecution);
152
- return task;
153
- };
154
- // This store contains Controller delivery and stop evidence only. Claim scheduling remains in the minimal Worker store.
155
- export const openWebExecutionStore = (filename) => {
156
- const db = new Database(filename);
157
- try {
158
- db.pragma("journal_mode = WAL");
159
- db.pragma("synchronous = FULL");
160
- db.exec("CREATE TABLE IF NOT EXISTS executions (identity TEXT PRIMARY KEY NOT NULL, data TEXT NOT NULL CHECK(json_valid(data))) STRICT;");
161
- }
162
- catch (error) {
163
- db.close();
164
- throw error;
165
- }
166
- const getTask = (identity) => {
8
+ // The Worker owns Web execution state here; claim scheduling stays in the minimal index.
9
+ export const openWebExecutionStore = (filename, options = {}) => {
10
+ const db = openSqliteDatabase({ file: filename, format: webExecutionStoreFormat, allowCreate: true,
11
+ ...(options.onMigration === undefined ? {} : { onMigration: options.onMigration }) });
12
+ const atomic = (operation) => {
13
+ let guardFailure;
14
+ try {
15
+ return db.transaction(() => {
16
+ try {
17
+ assertCurrentSqlite(db, webExecutionStoreFormat);
18
+ }
19
+ catch (error) {
20
+ guardFailure = error;
21
+ throw error;
22
+ }
23
+ return operation();
24
+ }).immediate();
25
+ }
26
+ catch (error) {
27
+ if (guardFailure !== undefined && error !== guardFailure)
28
+ throw new AggregateError([guardFailure, error], "Web SQLite format assertion and rollback failed.");
29
+ throw error;
30
+ }
31
+ };
32
+ const read = (operation) => {
33
+ if (db.inTransaction) {
34
+ assertCurrentSqlite(db, webExecutionStoreFormat);
35
+ return operation();
36
+ }
37
+ return db.transaction(() => { assertCurrentSqlite(db, webExecutionStoreFormat); return operation(); }).deferred();
38
+ };
39
+ const getTask = (identity) => read(() => {
167
40
  const row = db.prepare("SELECT data FROM executions WHERE identity = ?").get(key(identity));
168
41
  return row === undefined ? null : validate(JSON.parse(row.data));
169
- };
42
+ });
170
43
  const write = (task) => { validate(task); db.prepare("INSERT INTO executions(identity,data) VALUES (?,?) ON CONFLICT(identity) DO UPDATE SET data=excluded.data").run(key(task), JSON.stringify(task)); return getTask(task); };
171
- const change = (identity, now, operation) => db.transaction(() => {
44
+ const change = (identity, now, operation) => atomic(() => {
172
45
  const task = getTask(identity);
173
46
  if (task === null || task.status === "done")
174
47
  throw new Error("The original Web execution is missing or done.");
175
48
  return write({ ...operation(task), updatedAt: integer(now, "Execution time") });
176
- }).immediate();
49
+ });
177
50
  const requireOrdinary = (task) => { if (task.cleanup !== null || task.configuration === null)
178
51
  throw new Error("Cleanup fences ordinary execution."); };
179
52
  const needCleanup = (task) => { if (task.cleanup === null)
180
53
  throw new Error("Cleanup has not started."); return task.cleanup; };
181
54
  return {
182
- close: () => { db.close(); }, getTask,
183
- listUnfinishedTasks: () => db.prepare("SELECT data FROM executions").all().map(row => validate(JSON.parse(row.data))).filter(task => task.status !== "done"),
184
- register: (input, now) => db.transaction(() => {
55
+ close: () => { closeSqliteDatabase(db, { file: filename, format: webExecutionStoreFormat }); }, getTask,
56
+ listUnfinishedTasks: () => read(() => db.prepare("SELECT data FROM executions").all().map(row => validate(JSON.parse(row.data))).filter(task => task.status !== "done")),
57
+ register: (input, now) => atomic(() => {
185
58
  const existing = getTask(input);
186
59
  if (existing !== null) {
187
60
  if (existing.worktreeId !== input.worktreeId || existing.serverOrigin !== input.serverOrigin || existing.workerId !== input.workerId || existing.userId !== input.userId || existing.configuration?.agent !== input.configuration.agent || existing.repositoryPath !== input.project.localPath || existing.repoUrl !== input.project.repoUrl)
@@ -189,7 +62,7 @@ export const openWebExecutionStore = (filename) => {
189
62
  return existing;
190
63
  }
191
64
  return write({ projectId: input.projectId, taskId: input.taskId, claimId: input.claimId, worktreeId: input.worktreeId, serverOrigin: input.serverOrigin, workerId: input.workerId, userId: input.userId, status: "active", repoUrl: input.project.repoUrl, repositoryPath: input.project.localPath, configuration: { ...input.configuration, agentControlMode: "web" }, resources: { mode: "web", worktree: null, herdr: null, nativeSession: null }, nativeExecution: null, webExecution: null, recovery: { count: 0, pauseReason: null, retryAuthorized: false }, cleanup: null, control: null, createdAt: now, updatedAt: now });
192
- }).immediate(),
65
+ }),
193
66
  clearShutdown: (identity, now) => change(identity, now, task => {
194
67
  const cleanup = task.cleanup;
195
68
  if (cleanup === null)
@@ -1 +1 @@
1
- {"version":3,"file":"web-store.js","sourceRoot":"","sources":["../../../../src/commands/worker/backends/web-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-store.js","sourceRoot":"","sources":["../../../../src/commands/worker/backends/web-store.ts"],"names":[],"mappings":"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"}
@@ -110,17 +110,18 @@ export const createWebExecutionBackend = (options) => {
110
110
  if (execution.ticketPath === null)
111
111
  throw new Error("The original launch ticket is missing; cleanup retains its unknown native writer.");
112
112
  const ticket = await readLaunchTicket(options.homeDirectory, execution.launchId);
113
- let reachable = false;
113
+ let response;
114
114
  try {
115
- const response = await request(ticket, { kind: "observe" }, { signal, timeoutMs: 1000 });
116
- task = remember(task, response.snapshot);
117
- reachable = true;
115
+ response = await request(ticket, { kind: "observe" }, { signal, timeoutMs: 1000 });
118
116
  }
119
117
  catch {
120
118
  const saved = readControllerSnapshot(journal(task));
121
119
  if (saved !== null)
122
120
  task = remember(task, saved);
123
121
  }
122
+ const reachable = response !== undefined;
123
+ if (response !== undefined)
124
+ task = remember(task, response.snapshot);
124
125
  const proof = task.webExecution.controllerProcess;
125
126
  if (proof === null)
126
127
  throw new Error("The original controller process proof is missing; cleanup cannot infer stop.");