@codetreker/daynight 0.22.1 → 0.24.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.
- package/README.md +307 -334
- package/config.example.yml +8 -4
- package/dist/api/client.d.ts +2 -2
- package/dist/api/client.js +10 -7
- package/dist/api/client.js.map +1 -1
- package/dist/api/types.d.ts +1 -8
- package/dist/cli/prompts.d.ts +1 -0
- package/dist/commands/auth/credentials.js +1 -1
- package/dist/commands/auth/credentials.js.map +1 -1
- package/dist/commands/review/config.js +0 -9
- package/dist/commands/review/config.js.map +1 -1
- package/dist/commands/review/configuration-guide.js +3 -2
- package/dist/commands/review/configuration-guide.js.map +1 -1
- package/dist/commands/review/repositories.js +11 -4
- package/dist/commands/review/repositories.js.map +1 -1
- package/dist/commands/skill/skills/using-daynight/references/execute-task-in-managed.md +6 -5
- package/dist/commands/skill/skills/using-daynight/references/handbook.md +1 -1
- package/dist/commands/skill/skills/using-daynight/references/handoff.md +1 -1
- package/dist/commands/worker/cleanup.d.ts +8 -2
- package/dist/commands/worker/cleanup.js +44 -160
- package/dist/commands/worker/cleanup.js.map +1 -1
- package/dist/commands/worker/config.d.ts +3 -3
- package/dist/commands/worker/config.js +0 -6
- package/dist/commands/worker/config.js.map +1 -1
- package/dist/commands/worker/control.d.ts +11 -18
- package/dist/commands/worker/control.js +75 -132
- package/dist/commands/worker/control.js.map +1 -1
- package/dist/commands/worker/coordinator.d.ts +10 -8
- package/dist/commands/worker/coordinator.js +311 -473
- package/dist/commands/worker/coordinator.js.map +1 -1
- package/dist/commands/worker/definition.js +9 -17
- package/dist/commands/worker/definition.js.map +1 -1
- package/dist/commands/worker/diagnostics.js +2 -3
- package/dist/commands/worker/diagnostics.js.map +1 -1
- package/dist/commands/worker/execution.d.ts +35 -10
- package/dist/commands/worker/execution.js +92 -283
- package/dist/commands/worker/execution.js.map +1 -1
- package/dist/commands/worker/herdr/agents.d.ts +12 -91
- package/dist/commands/worker/herdr/agents.js +111 -358
- package/dist/commands/worker/herdr/agents.js.map +1 -1
- package/dist/commands/worker/herdr/preflight.d.ts +21 -9
- package/dist/commands/worker/herdr/preflight.js +118 -124
- package/dist/commands/worker/herdr/preflight.js.map +1 -1
- package/dist/commands/worker/herdr.d.ts +7 -63
- package/dist/commands/worker/herdr.js.map +1 -1
- package/dist/commands/worker/identity.js +2 -2
- package/dist/commands/worker/identity.js.map +1 -1
- package/dist/commands/worker/index.d.ts +1 -0
- package/dist/commands/worker/index.js +6 -13
- package/dist/commands/worker/index.js.map +1 -1
- package/dist/commands/worker/prompts.d.ts +10 -3
- package/dist/commands/worker/prompts.js +21 -32
- package/dist/commands/worker/prompts.js.map +1 -1
- package/dist/commands/worker/remote.d.ts +2 -3
- package/dist/commands/worker/remote.js +1 -6
- package/dist/commands/worker/remote.js.map +1 -1
- package/dist/commands/worker/repositories.d.ts +20 -3
- package/dist/commands/worker/repositories.js +100 -21
- package/dist/commands/worker/repositories.js.map +1 -1
- package/dist/commands/worker/runtime.js +112 -217
- package/dist/commands/worker/runtime.js.map +1 -1
- package/dist/commands/worker/setup-environment.d.ts +31 -0
- package/dist/commands/worker/setup-environment.js +146 -0
- package/dist/commands/worker/setup-environment.js.map +1 -0
- package/dist/commands/worker/setup.d.ts +11 -0
- package/dist/commands/worker/setup.js +113 -0
- package/dist/commands/worker/setup.js.map +1 -0
- package/dist/commands/worker/store.d.ts +12 -114
- package/dist/commands/worker/store.js +92 -817
- package/dist/commands/worker/store.js.map +1 -1
- package/dist/commands/worker/types.d.ts +10 -114
- package/dist/commands/worker/worktrees.d.ts +9 -9
- package/dist/commands/worker/worktrees.js +77 -37
- package/dist/commands/worker/worktrees.js.map +1 -1
- package/dist/config/document.d.ts +0 -1
- package/dist/config/document.js +1 -14
- package/dist/config/document.js.map +1 -1
- package/dist/config/files.d.ts +7 -1
- package/dist/config/files.js +4 -1
- package/dist/config/files.js.map +1 -1
- package/dist/config/ownership.d.ts +12 -0
- package/dist/config/ownership.js +39 -0
- package/dist/config/ownership.js.map +1 -0
- package/package.json +2 -2
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
2
|
import { createOperation, OperationError } from "../../api/operation.js";
|
|
3
3
|
import { HerdrAgentActionError } from "./herdr.js";
|
|
4
|
-
import { buildHerdrAgentArguments } from "./herdr/arguments.js";
|
|
5
|
-
import { herdrExecutionLabel } from "./herdr/agents.js";
|
|
6
4
|
export const isWorkerCancellation = (error, signal) => {
|
|
7
5
|
if (!signal.aborted)
|
|
8
6
|
return false;
|
|
9
|
-
if (error instanceof AggregateError
|
|
10
|
-
return
|
|
11
|
-
return error === signal.reason ||
|
|
12
|
-
(error instanceof
|
|
13
|
-
(error instanceof Error && error.cause !== undefined && isWorkerCancellation(error.cause, signal));
|
|
7
|
+
if (error instanceof AggregateError)
|
|
8
|
+
return error.errors.length > 0 && error.errors.every((failure) => isWorkerCancellation(failure, signal));
|
|
9
|
+
return error === signal.reason || (error instanceof OperationError && error.kind === "cancelled" && error.cause === signal.reason)
|
|
10
|
+
|| (error instanceof Error && error.cause !== undefined && isWorkerCancellation(error.cause, signal));
|
|
14
11
|
};
|
|
15
12
|
export const workerOperation = async (action, signal, totalMs = 120_000) => {
|
|
16
13
|
const operation = createOperation({ ...(signal === undefined ? {} : { signal }), limits: { totalMs } });
|
|
@@ -21,297 +18,109 @@ export const workerOperation = async (action, signal, totalMs = 120_000) => {
|
|
|
21
18
|
operation.dispose();
|
|
22
19
|
}
|
|
23
20
|
};
|
|
24
|
-
export const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
};
|
|
31
|
-
export const taskBinding = (task) => {
|
|
32
|
-
const binding = task.resources.herdr;
|
|
33
|
-
const terminalId = task.nativeExecution?.terminalId;
|
|
34
|
-
return binding === null || terminalId === null || terminalId === undefined ? null : { ...binding, terminalId };
|
|
21
|
+
export const sameClaim = (left, right) => left.projectId === right.projectId && left.taskId === right.taskId && left.claimId === right.claimId;
|
|
22
|
+
export const ownedWorkspace = (owner, resources) => {
|
|
23
|
+
const matches = resources.filter((resource) => sameClaim(resource.owner, owner) && resource.owner.serverOrigin === owner.serverOrigin);
|
|
24
|
+
if (matches.length > 1 || matches.some((resource) => resource.owner.worktreeId !== owner.worktreeId))
|
|
25
|
+
throw new Error("The claim has conflicting Herdr resource identities.");
|
|
26
|
+
return matches[0];
|
|
35
27
|
};
|
|
36
|
-
export const
|
|
37
|
-
|
|
38
|
-
const workspace = ownedWorkspace(task, resources);
|
|
28
|
+
export const actualTaskPane = (owner, resources) => {
|
|
29
|
+
const workspace = ownedWorkspace(owner, resources);
|
|
39
30
|
if (workspace === undefined)
|
|
40
31
|
return undefined;
|
|
41
|
-
const binding = task.resources.herdr;
|
|
42
|
-
if (binding !== null && workspace.workspaceId === binding.workspaceId)
|
|
43
|
-
return workspace.panes.find((pane) => pane.binding.paneId === binding.paneId);
|
|
44
32
|
if (workspace.panes.length !== 1)
|
|
45
|
-
throw new Error("The
|
|
33
|
+
throw new Error("The task workspace must contain exactly one managed pane.");
|
|
46
34
|
return workspace.panes[0];
|
|
47
35
|
};
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
36
|
+
export const liveAgent = (pane) => pane.kind !== null || pane.launchPending || pane.interactiveReady;
|
|
37
|
+
export const executionContext = (input) => ({
|
|
38
|
+
...input.owner, cwd: path.join(input.project.localPath, ".worktrees", "daynight", input.owner.taskId), agent: input.task.agent,
|
|
39
|
+
});
|
|
40
|
+
export const settleWorkerStops = async (deps, owner, signal) => {
|
|
41
|
+
const pending = deps.herdr.tasks.pendingStops().filter((stop) => sameClaim(stop.context, owner) && stop.context.serverOrigin === owner.serverOrigin);
|
|
42
|
+
for (const stop of pending) {
|
|
43
|
+
if (stop.context.worktreeId !== owner.worktreeId)
|
|
44
|
+
throw new Error("The claim has conflicting pending Herdr stop identities.");
|
|
45
|
+
await workerOperation((operation) => deps.herdr.tasks.stopAndClose(stop.context, stop.binding, operation), signal);
|
|
46
|
+
}
|
|
47
|
+
return pending.length > 0;
|
|
48
|
+
};
|
|
49
|
+
const assertNativeSession = (task, observation) => {
|
|
50
|
+
if (task.sessionId !== null && observation.nativeSession !== null && observation.nativeSession.sessionId !== task.sessionId)
|
|
51
|
+
throw new Error(`The observed native session ${observation.nativeSession.sessionId} differs from the recorded native session ${task.sessionId}.`);
|
|
52
|
+
};
|
|
52
53
|
export const createExecutionDriver = (deps) => {
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
if (current === null)
|
|
56
|
-
throw new Error("The local execution record disappeared.");
|
|
57
|
-
return current;
|
|
58
|
-
};
|
|
59
|
-
const rememberStop = async (task, binding, signal) => {
|
|
60
|
-
if (task.nativeExecution?.stopObservation !== null && task.nativeExecution?.stopObservation !== undefined)
|
|
61
|
-
return;
|
|
62
|
-
try {
|
|
63
|
-
const observation = await workerOperation((operation) => deps.herdr.tasks.captureStop(executionContext(task), binding, operation), signal);
|
|
64
|
-
deps.store.recordStopObservation(task, observation, deps.now());
|
|
65
|
-
}
|
|
66
|
-
catch (error) {
|
|
67
|
-
deps.emit({ kind: "stop-observation-unavailable", task, message: "Original native process identities are not yet available; cold recovery remains fenced.", error });
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
const rememberNative = (task, nativeSession) => nativeSession === null ? refresh(task) : deps.store.bindNativeSession(task, { source: "herdr", sessionId: nativeSession.sessionId }, deps.now());
|
|
71
|
-
const captureUnsentLaunch = async (task, binding, signal) => {
|
|
72
|
-
if (task.nativeExecution?.stopObservation !== null && task.nativeExecution?.stopObservation !== undefined)
|
|
73
|
-
return task;
|
|
74
|
-
const observed = await workerOperation((operation) => deps.herdr.tasks.captureStop(executionContext(task), binding, operation), signal);
|
|
75
|
-
const recorded = deps.store.recordStopObservation(task, observed, deps.now());
|
|
76
|
-
if (observed.nativeProcessIds === null)
|
|
77
|
-
throw new Error("The original native launch has no proven native process identity; its first input remains unsubmitted.");
|
|
78
|
-
return recorded;
|
|
79
|
-
};
|
|
80
|
-
const advanceUnsentInput = async (task, resources, signal) => {
|
|
81
|
-
const native = task.nativeExecution;
|
|
82
|
-
const binding = taskBinding(task);
|
|
83
|
-
const launch = native.launchEvidence;
|
|
84
|
-
const workspace = native.workspaceEvidence;
|
|
85
|
-
const actual = actualTaskPane(task, resources);
|
|
86
|
-
const context = executionContext(task);
|
|
87
|
-
const ownerLabel = herdrExecutionLabel(context);
|
|
88
|
-
if (task.resources.worktree === null || binding === null || actual === undefined || !sameBinding(binding, actual.binding))
|
|
89
|
-
throw new Error("The acknowledged native launch no longer has its original worktree and terminal binding; no first input was sent.");
|
|
90
|
-
if (launch === null || workspace === null || launch.referenceBaseline !== "empty" || launch.agent !== context.agent || launch.ownerLabel !== ownerLabel || workspace.ownerLabel !== ownerLabel || !sameBinding(launch.binding, binding) || !sameBinding(workspace.binding, binding) || !sameWorkspaceEvidence(workspace, launch.workspaceEvidence))
|
|
91
|
-
throw new Error("The acknowledged native launch receipt does not match the original execution; no first input was sent.");
|
|
92
|
-
const matchesArgv = (expected) => launch.argv.length === expected.length && launch.argv.every((argument, index) => argument === expected[index]);
|
|
93
|
-
let resumeSessionId;
|
|
94
|
-
if (!matchesArgv([context.agent, ...buildHerdrAgentArguments(task.configuration)])) {
|
|
95
|
-
const originalId = task.resources.nativeSession?.sessionId;
|
|
96
|
-
if (originalId === undefined || !matchesArgv([context.agent, ...buildHerdrAgentArguments(task.configuration, originalId)]))
|
|
97
|
-
throw new Error("The acknowledged native launch does not preserve its frozen invocation; no first input was sent.");
|
|
98
|
-
resumeSessionId = originalId;
|
|
99
|
-
}
|
|
100
|
-
await workerOperation((operation) => deps.git.verifyWorktree(task, operation), signal);
|
|
101
|
-
const before = await workerOperation((operation) => deps.herdr.tasks.observe(context, binding, operation), signal);
|
|
102
|
-
const original = native.stopObservation;
|
|
103
|
-
if (original === null || original.nativeProcessIds === null || !sameBinding(original.binding, binding) || original.ownerLabel !== ownerLabel || original.agent !== context.agent)
|
|
104
|
-
throw new Error("The original native launch process evidence is unavailable; no first input was sent.");
|
|
105
|
-
const current = await workerOperation((operation) => deps.herdr.tasks.captureStop(context, binding, operation), signal);
|
|
106
|
-
const currentNativeIds = current.nativeProcessIds;
|
|
107
|
-
if (!sameBinding(current.binding, binding) || current.ownerLabel !== ownerLabel || current.agent !== context.agent || current.shellPid !== original.shellPid || currentNativeIds === null || !original.nativeProcessIds.every((processId) => currentNativeIds.includes(processId)))
|
|
108
|
-
throw new Error("The original native launch is no longer executing in its original shell; no first input was sent.");
|
|
109
|
-
const expectedSession = task.resources.nativeSession?.sessionId;
|
|
110
|
-
if ((expectedSession !== undefined && before.nativeSession !== null && before.nativeSession.sessionId !== expectedSession) || (expectedSession !== undefined && current.nativeSessionId !== null && current.nativeSessionId !== expectedSession) || (original.nativeSessionId !== null && current.nativeSessionId !== null && original.nativeSessionId !== current.nativeSessionId))
|
|
111
|
-
throw new Error("The original native launch now reports a different conversation; no first input was sent.");
|
|
112
|
-
task = rememberNative(task, before.nativeSession);
|
|
113
|
-
if ((task.recovery.pauseReason !== null && !task.recovery.retryAuthorized) || before.status === "blocked") {
|
|
114
|
-
deps.emit({ kind: "waiting", task, message: "The original native launch is waiting before its first managed input; attach to its private session and retry the paused claim after intervention." });
|
|
115
|
-
return task;
|
|
116
|
-
}
|
|
117
|
-
if (task.recovery.retryAuthorized)
|
|
118
|
-
task = deps.store.beginRecovery(task, deps.now());
|
|
119
|
-
const prompt = deps.buildPrompt(task, deps.platform);
|
|
120
|
-
deps.store.markNativePromptSubmitting(task, deps.now());
|
|
121
|
-
try {
|
|
122
|
-
const outcome = await workerOperation((operation) => deps.herdr.tasks.start(context, binding, { configuration: task.configuration, prompt, initialPromptNotSubmitted: true, launchEvidence: launch, workspaceEvidence: workspace, ...(resumeSessionId === undefined ? {} : { resumeSessionId }) }, operation), signal);
|
|
123
|
-
deps.store.recordNativeStartOutcome(task, { ...(outcome.launchEvidence === null ? {} : { launchEvidence: outcome.launchEvidence }), promptSubmission: outcome.promptSubmission }, deps.now());
|
|
124
|
-
if (outcome.kind === "rebind-required")
|
|
125
|
-
throw new Error(`The original deferred startup input is fenced: ${outcome.reason}.`);
|
|
126
|
-
task = rememberNative(task, outcome.observation.nativeSession);
|
|
127
|
-
if (outcome.promptSubmission === "not-submitted")
|
|
128
|
-
task = deps.store.pauseTask(task, firstInputWaiting, deps.now());
|
|
129
|
-
deps.emit({ kind: outcome.kind === "waiting" || outcome.promptSubmission === "not-submitted" ? "waiting" : "started", task, message: outcome.promptSubmission === "submitted" ? "The first managed input was submitted to the original native launch without starting another agent." : firstInputWaiting });
|
|
130
|
-
return refresh(task);
|
|
131
|
-
}
|
|
132
|
-
catch (error) {
|
|
133
|
-
if (error instanceof HerdrAgentActionError)
|
|
134
|
-
deps.store.recordNativeStartOutcome(task, { ...(error.launchEvidence === null ? {} : { launchEvidence: error.launchEvidence }), promptSubmission: error.promptSubmission === null ? "unknown" : error.promptSubmission }, deps.now());
|
|
135
|
-
throw error;
|
|
136
|
-
}
|
|
137
|
-
};
|
|
138
|
-
const prepareWorkspace = async (task, signal) => {
|
|
139
|
-
deps.store.markWorkspaceSubmitting(task, deps.now());
|
|
140
|
-
try {
|
|
141
|
-
return await workerOperation((operation) => deps.herdr.tasks.prepareWorkspace(executionContext(task), operation), signal);
|
|
142
|
-
}
|
|
143
|
-
catch (error) {
|
|
144
|
-
if (error instanceof HerdrAgentActionError && error.action === "workspace.create" && error.submission !== "unknown")
|
|
145
|
-
deps.store.recordWorkspaceNotSubmitted(task, error.submission === "rejected" ? { definiteRejection: true } : { notSubmitted: true }, deps.now());
|
|
146
|
-
throw error;
|
|
147
|
-
}
|
|
148
|
-
};
|
|
149
|
-
const rebind = async (task, actual, signal) => {
|
|
150
|
-
const original = taskBinding(task);
|
|
151
|
-
if (original === null)
|
|
152
|
-
throw new Error("The original Herdr terminal identity is unavailable; recovery was paused.");
|
|
153
|
-
const context = executionContext(task);
|
|
154
|
-
if (task.nativeExecution?.workspaceSubmission === "unknown" && actual === null)
|
|
155
|
-
throw new HerdrAgentActionError("The original replacement workspace request has an unknown outcome; absence does not authorize another creation.", "workspace.create", "unknown");
|
|
156
|
-
const evidence = task.nativeExecution?.stopObservation;
|
|
157
|
-
if (task.nativeExecution?.launchSubmission === "never-submitted") {
|
|
158
|
-
if (actual !== null)
|
|
159
|
-
await workerOperation((operation) => deps.herdr.tasks.confirmEmptyPane(context, actual, operation), signal);
|
|
160
|
-
}
|
|
161
|
-
else {
|
|
162
|
-
if (evidence === null || evidence === undefined)
|
|
163
|
-
throw new Error("The original persisted native stop observation is missing; recovery cannot infer that the agent stopped.");
|
|
164
|
-
if (actual === null)
|
|
165
|
-
await workerOperation((operation) => deps.herdr.tasks.confirmMissingWorkspaceStopped(context, original, evidence, operation), signal);
|
|
166
|
-
else if (sameBinding(original, actual))
|
|
167
|
-
await workerOperation((operation) => deps.herdr.tasks.confirmStopped(context, original, evidence, operation), signal);
|
|
168
|
-
else if (original.workspaceId !== actual.workspaceId || original.paneId !== actual.paneId)
|
|
169
|
-
await workerOperation((operation) => deps.herdr.tasks.confirmReplacedStop(context, original, actual, evidence, operation), signal);
|
|
170
|
-
else
|
|
171
|
-
await workerOperation((operation) => deps.herdr.tasks.confirmRestoredStop(context, original, actual, evidence, operation), signal);
|
|
172
|
-
}
|
|
173
|
-
if (task.nativeExecution?.workspaceSubmission === "unknown") {
|
|
174
|
-
// The exact observed replacement establishes the previous create outcome. Its
|
|
175
|
-
// environment receipt is unavailable, so a subsequent empty-pane rebind replaces it.
|
|
176
|
-
return deps.store.rebindHerdrExecution(task, original, actual, null, { originalAgentStopped: true, oldWorkspaceClosed: true }, deps.now());
|
|
177
|
-
}
|
|
178
|
-
await workerOperation((operation) => deps.herdr.tasks.closeWorkspace(context, actual === null ? original : actual, { agentStopped: true }, operation), signal);
|
|
179
|
-
const prepared = await prepareWorkspace(task, signal);
|
|
180
|
-
return deps.store.rebindHerdrExecution(task, original, prepared.binding, prepared.workspaceEvidence, { originalAgentStopped: true, oldWorkspaceClosed: true }, deps.now());
|
|
181
|
-
};
|
|
54
|
+
const pendingInput = new Map();
|
|
55
|
+
const key = (task) => `${task.projectId}/${task.taskId}/${task.claimId}`;
|
|
182
56
|
return {
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
if (
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
else
|
|
211
|
-
await workerOperation((operation) => deps.git.verifyWorktree(task, operation), signal);
|
|
212
|
-
const actual = actualTaskPane(task, resources);
|
|
213
|
-
if (actual?.nativeSession !== undefined && actual.nativeSession !== null && task.resources.nativeSession !== null && actual.nativeSession.sessionId !== task.resources.nativeSession.sessionId)
|
|
214
|
-
throw new Error("The actual native history differs from the original execution; its resources were retained.");
|
|
215
|
-
let binding = taskBinding(task);
|
|
216
|
-
if (binding === null) {
|
|
217
|
-
if (task.resources.herdr !== null)
|
|
218
|
-
throw new Error("The original Herdr terminal identity is missing; an existing binding cannot be guessed.");
|
|
219
|
-
if (actual !== undefined) {
|
|
220
|
-
task = deps.store.bindHerdrExecution(task, actual.binding, null, deps.now());
|
|
221
|
-
binding = actual.binding;
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
if (task.nativeExecution?.workspaceSubmission === "unknown")
|
|
225
|
-
throw new HerdrAgentActionError("The original workspace creation has an unknown outcome; the absent snapshot does not authorize replay.", "workspace.create", "unknown");
|
|
226
|
-
const prepared = await prepareWorkspace(task, signal);
|
|
227
|
-
task = deps.store.bindHerdrExecution(task, prepared.binding, prepared.workspaceEvidence, deps.now());
|
|
228
|
-
binding = prepared.binding;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
else if ((actual !== undefined && !sameBinding(binding, actual.binding)) || ownedWorkspace(task, resources) === undefined) {
|
|
232
|
-
if (task.recovery.pauseReason !== null && !task.recovery.retryAuthorized)
|
|
233
|
-
return task;
|
|
234
|
-
if (task.nativeExecution?.workspaceSubmission === "unknown" && actual === undefined)
|
|
235
|
-
throw new HerdrAgentActionError("The original replacement workspace request is unresolved; the absent snapshot cannot authorize replay.", "workspace.create", "unknown");
|
|
236
|
-
if (task.nativeExecution?.launchSubmission !== "never-submitted" && task.nativeExecution?.workspaceSubmission !== "unknown") {
|
|
237
|
-
if (task.resources.nativeSession === null)
|
|
238
|
-
throw new Error("The original native history identity is unavailable; missing Herdr resources do not authorize a new conversation.");
|
|
239
|
-
task = deps.store.beginRecovery(task, deps.now());
|
|
57
|
+
forget: (task) => { pendingInput.delete(key(task)); },
|
|
58
|
+
advance: async (input, signal) => {
|
|
59
|
+
let task = deps.store.getTask(input.task);
|
|
60
|
+
if (task === null || task.status !== "active")
|
|
61
|
+
throw new Error("Resource startup requires an active local claim.");
|
|
62
|
+
const context = executionContext({ ...input, task });
|
|
63
|
+
await settleWorkerStops(deps, input.owner, signal);
|
|
64
|
+
const resources = await workerOperation((operation) => deps.herdr.tasks.listResources(operation), signal);
|
|
65
|
+
const actual = actualTaskPane(input.owner, resources);
|
|
66
|
+
const worktree = task.sessionId === null
|
|
67
|
+
? await workerOperation((operation) => deps.git.prepareWorktree(input.project, input.owner, operation), signal, 180_000)
|
|
68
|
+
: await workerOperation((operation) => deps.git.verifyWorktree(input.project, input.owner, operation), signal);
|
|
69
|
+
if (actual !== undefined && liveAgent(actual)) {
|
|
70
|
+
let observed = await workerOperation((operation) => deps.herdr.tasks.observe(context, actual.binding, operation), signal);
|
|
71
|
+
assertNativeSession(task, observed);
|
|
72
|
+
const pending = pendingInput.get(key(task));
|
|
73
|
+
if (pending !== undefined && pending.binding.terminalId === actual.binding.terminalId && pending.binding.paneId === actual.binding.paneId && observed.status !== "blocked" && observed.interactiveReady && !observed.launchPending) {
|
|
74
|
+
pendingInput.delete(key(task));
|
|
75
|
+
try {
|
|
76
|
+
await workerOperation((operation) => deps.herdr.tasks.submitPrompt(context, actual.binding, pending.prompt, operation), signal);
|
|
77
|
+
observed = await workerOperation((operation) => deps.herdr.tasks.observe(context, actual.binding, operation), signal);
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
if (error instanceof HerdrAgentActionError && error.promptSubmission === "not-submitted")
|
|
81
|
+
pendingInput.set(key(task), pending);
|
|
82
|
+
throw error;
|
|
83
|
+
}
|
|
240
84
|
}
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
task = rememberNative(task, before.nativeSession);
|
|
247
|
-
if (live(before)) {
|
|
248
|
-
await rememberStop(task, binding, signal);
|
|
249
|
-
task = refresh(task);
|
|
250
|
-
deps.emit({ kind: before.status === "blocked" ? "waiting" : "reconnected", task: refresh(task), message: before.status === "blocked" ? "The original agent is waiting for input; run daynight worker attach in another terminal." : "Observed the original live agent without replaying its startup input." });
|
|
251
|
-
return refresh(task);
|
|
85
|
+
assertNativeSession(task, observed);
|
|
86
|
+
if (observed.nativeSession !== null)
|
|
87
|
+
task = deps.store.setSessionId(task, observed.nativeSession.sessionId);
|
|
88
|
+
deps.emit({ kind: observed.status === "blocked" ? "waiting" : "reconnected", task, message: "Connected to the existing agent without repeating its managed assignment." });
|
|
89
|
+
return observed;
|
|
252
90
|
}
|
|
253
|
-
if (
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
if (task.resources.nativeSession === null)
|
|
260
|
-
throw new Error("The original launch may have been submitted but its native history identity is unavailable; no second agent was started.");
|
|
261
|
-
deps.store.beginRecovery(task, deps.now());
|
|
262
|
-
task = refresh(task);
|
|
263
|
-
task = await rebind(task, binding, signal);
|
|
264
|
-
binding = taskBinding(task);
|
|
91
|
+
if (actual !== undefined) {
|
|
92
|
+
// Cold restore drops workspace environment overrides and retains the old native reference.
|
|
93
|
+
// A fresh workspace restores native XDG settings and observes only the new launch's SessionStart.
|
|
94
|
+
// https://github.com/herdrdev/herdr/blob/2ecf19a92fc3a7fff75b6ce3655ef04f4625ec01/src/persist/restore.rs#L568-L580
|
|
95
|
+
// https://github.com/herdrdev/herdr/blob/2ecf19a92fc3a7fff75b6ce3655ef04f4625ec01/src/persist/restore.rs#L687-L713
|
|
96
|
+
await workerOperation((operation) => deps.herdr.tasks.stopAndClose(context, actual.binding, operation), signal);
|
|
265
97
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
}
|
|
274
|
-
if (task.recovery.retryAuthorized)
|
|
275
|
-
task = deps.store.beginRecovery(task, deps.now());
|
|
276
|
-
const prompt = deps.buildPrompt(task, deps.platform);
|
|
277
|
-
deps.store.markNativeLaunchSubmitting(task, deps.now());
|
|
98
|
+
const binding = await workerOperation((operation) => deps.herdr.tasks.prepareWorkspace(context, operation), signal);
|
|
99
|
+
if (task.sessionId === null)
|
|
100
|
+
deps.emit({ kind: "warning", task, message: "The native session ID is missing; starting a new conversation in the existing task worktree." });
|
|
101
|
+
const assignment = { ...task, serverOrigin: input.owner.serverOrigin, workerId: deps.workerId, worktreeId: input.owner.worktreeId, worktree, configuration: input.configuration };
|
|
102
|
+
const prompt = deps.buildPrompt(assignment, deps.platform);
|
|
103
|
+
pendingInput.delete(key(task));
|
|
104
|
+
let observation;
|
|
278
105
|
try {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
if (outcome.kind === "reconnected")
|
|
284
|
-
throw new Error("An unexpected live agent was observed during a fresh launch; its input was retained.");
|
|
285
|
-
deps.store.recordNativeStartOutcome(task, { ...(outcome.launchEvidence === null ? {} : { launchEvidence: outcome.launchEvidence }), promptSubmission: outcome.promptSubmission }, deps.now());
|
|
286
|
-
task = rememberNative(task, outcome.observation.nativeSession);
|
|
287
|
-
if (outcome.promptSubmission === "not-submitted") {
|
|
288
|
-
task = await captureUnsentLaunch(task, binding, signal);
|
|
289
|
-
task = deps.store.pauseTask(task, firstInputWaiting, deps.now());
|
|
290
|
-
}
|
|
291
|
-
else
|
|
292
|
-
await rememberStop(task, binding, signal);
|
|
293
|
-
deps.emit({ kind: outcome.kind === "waiting" ? "waiting" : "started", task: refresh(task), message: task.resources.nativeSession === null ? "Native launch acknowledged; waiting for the original agent." : "Managed startup input submitted to the original native conversation." });
|
|
294
|
-
return refresh(task);
|
|
106
|
+
observation = await workerOperation((operation) => deps.herdr.tasks.start(context, binding, {
|
|
107
|
+
configuration: input.configuration, prompt,
|
|
108
|
+
...(assignment.sessionId === null ? {} : { resumeSessionId: assignment.sessionId }),
|
|
109
|
+
}, operation), signal);
|
|
295
110
|
}
|
|
296
111
|
catch (error) {
|
|
297
|
-
if (error instanceof HerdrAgentActionError)
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
if (recorded.nativeExecution?.launchSubmission === "acknowledged" && recorded.nativeExecution.promptSubmission === "not-submitted") {
|
|
304
|
-
try {
|
|
305
|
-
await captureUnsentLaunch(recorded, binding, signal);
|
|
306
|
-
}
|
|
307
|
-
catch (observationError) {
|
|
308
|
-
throw new AggregateError([error, observationError], "The first input remains unsubmitted, but original native process observation failed.", { cause: error });
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
throw error;
|
|
112
|
+
if (!(error instanceof HerdrAgentActionError) || error.action !== "agent.prompt" || error.promptSubmission !== "not-submitted")
|
|
113
|
+
throw error;
|
|
114
|
+
observation = await workerOperation((operation) => deps.herdr.tasks.observe(context, binding, operation), signal);
|
|
115
|
+
assertNativeSession(task, observation);
|
|
116
|
+
pendingInput.set(key(task), { binding, prompt });
|
|
117
|
+
deps.emit({ kind: "waiting", task, message: "The first managed input is waiting in this worker process; use daynight worker attach to resolve the native screen." });
|
|
314
118
|
}
|
|
119
|
+
assertNativeSession(task, observation);
|
|
120
|
+
if (observation.nativeSession !== null)
|
|
121
|
+
task = deps.store.setSessionId(task, observation.nativeSession.sessionId);
|
|
122
|
+
deps.emit({ kind: observation.status === "blocked" ? "waiting" : "started", task, message: observation.status === "blocked" ? "The native agent is waiting for input; use daynight worker attach." : "Started the managed task conversation." });
|
|
123
|
+
return observation;
|
|
315
124
|
},
|
|
316
125
|
};
|
|
317
126
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/commands/worker/execution.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execution.js","sourceRoot":"","sources":["../../../src/commands/worker/execution.ts"],"names":[],"mappings":"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"}
|