crewx-agent-cli 0.2.5 → 0.2.7
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 +46 -6
- package/dist/acp-worker.d.ts +3 -0
- package/dist/acp-worker.d.ts.map +1 -0
- package/dist/acp-worker.js +176 -0
- package/dist/acp-worker.js.map +1 -0
- package/dist/adapters.d.ts +13 -10
- package/dist/adapters.d.ts.map +1 -1
- package/dist/adapters.js +571 -311
- package/dist/adapters.js.map +1 -1
- package/dist/assignment-scheduler.d.ts +29 -0
- package/dist/assignment-scheduler.d.ts.map +1 -0
- package/dist/assignment-scheduler.js +137 -0
- package/dist/assignment-scheduler.js.map +1 -0
- package/dist/daemon.d.ts +1 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +185 -122
- package/dist/daemon.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +291 -221
- package/dist/index.js.map +1 -1
- package/package.json +7 -4
package/dist/daemon.js
CHANGED
|
@@ -2,14 +2,15 @@ import { createHash } from "node:crypto";
|
|
|
2
2
|
import { realpathSync } from "node:fs";
|
|
3
3
|
import { hostname, platform, arch } from "node:os";
|
|
4
4
|
import { isAbsolute, relative, resolve, sep } from "node:path";
|
|
5
|
-
import { runAdapter, verifyOpenClawRuntime, } from "./adapters.js";
|
|
6
|
-
import { ApiError, serializeOutboundEventBatch
|
|
5
|
+
import { publicOpenClawDiagnostic, runAdapter, usesAcpRuntime, verifyOpenClawRuntime, } from "./adapters.js";
|
|
6
|
+
import { ApiError, serializeOutboundEventBatch } from "./api.js";
|
|
7
7
|
import { CLI_VERSION, MAX_BUFFERED_EVENT_BYTES, MAX_BUFFERED_EVENTS, MAX_EVENT_BATCH_BYTES, MAX_EVENT_CONTENT_LENGTH, } from "./constants.js";
|
|
8
8
|
import { CliError, errorMessage, redactSecrets } from "./errors.js";
|
|
9
9
|
import { assemblePrompt, assignmentFromEvent } from "./prompt.js";
|
|
10
10
|
import { startRuntimeCredentialProxy, } from "./runtime-proxy.js";
|
|
11
11
|
import { DurableEventOutbox, agentEventOutboxPath, eventOutboxLockPath, } from "./outbox.js";
|
|
12
|
-
import { AgentProcessLock
|
|
12
|
+
import { AgentProcessLock } from "./process-lock.js";
|
|
13
|
+
import { AssignmentScheduler, assignmentConcurrencyLimit, assignmentConversationKey, } from "./assignment-scheduler.js";
|
|
13
14
|
const ASSIGNMENT_CONTROL_INTERVAL_MS = 5_000;
|
|
14
15
|
const EVENT_RETRY_BASE_DELAY_MS = 2_000;
|
|
15
16
|
const EVENT_RETRY_MAX_DELAY_MS = 30_000;
|
|
@@ -64,7 +65,7 @@ function runtimeFailure(adapter, detail) {
|
|
|
64
65
|
if (adapter !== "openclaw") {
|
|
65
66
|
return { code: "runtime_exit_nonzero", message: detail };
|
|
66
67
|
}
|
|
67
|
-
if (/\b429\b|rate[ -]?limit|quota|too many requests|cool(?:ing)?[ -]?down/i.test(detail)) {
|
|
68
|
+
if (/\b429\b|rate[ -]?limit|usage[ -]?limit|quota|too many requests|cool(?:ing)?[ -]?down/i.test(detail)) {
|
|
68
69
|
return {
|
|
69
70
|
code: "openclaw_provider_rate_limited",
|
|
70
71
|
message: `${detail} Check \`openclaw models status --agent <agent-id> --json\` for provider cooldowns, then retry after the provider limit resets.`,
|
|
@@ -84,25 +85,39 @@ function runtimeFailure(adapter, detail) {
|
|
|
84
85
|
}
|
|
85
86
|
return { code: "openclaw_runtime_failed", message: detail };
|
|
86
87
|
}
|
|
87
|
-
const OPENCLAW_DIAGNOSTIC_NOISE =
|
|
88
|
+
const OPENCLAW_DIAGNOSTIC_NOISE = /^(?:\[plugins\]|\[openclaw\]\s+(?:Debug|Try|Help):)/i;
|
|
89
|
+
const OPENCLAW_STRUCTURAL_NOISE = /^[\s[\]{}(),:'"]+$/;
|
|
90
|
+
function normalizedOpenClawFailure(lines) {
|
|
91
|
+
const joined = lines.join("\n");
|
|
92
|
+
const quota = joined.match(/You've reached your Codex subscription usage limit\.[^\n"]*/i)?.[0];
|
|
93
|
+
if (quota) {
|
|
94
|
+
return quota.replace(/\s+/g, " ").trim();
|
|
95
|
+
}
|
|
96
|
+
if (/refresh_token_reused|refresh token has already been used/i.test(joined)) {
|
|
97
|
+
return "OpenAI authentication expired because the saved refresh token has already been used. Re-authenticate this OpenClaw agent.";
|
|
98
|
+
}
|
|
99
|
+
const reason = [...lines]
|
|
100
|
+
.reverse()
|
|
101
|
+
.find((line) => /^\[openclaw\]\s+Reason:/i.test(line));
|
|
102
|
+
if (reason) {
|
|
103
|
+
return reason.replace(/^\[openclaw\]\s+Reason:\s*/i, "").trim();
|
|
104
|
+
}
|
|
105
|
+
const actionable = [...lines]
|
|
106
|
+
.reverse()
|
|
107
|
+
.find((line) => !OPENCLAW_DIAGNOSTIC_NOISE.test(line) &&
|
|
108
|
+
!OPENCLAW_STRUCTURAL_NOISE.test(line));
|
|
109
|
+
return actionable
|
|
110
|
+
? publicOpenClawDiagnostic(actionable.replace(/^\[openclaw\]\s*/i, "").trim())
|
|
111
|
+
: undefined;
|
|
112
|
+
}
|
|
88
113
|
export function runtimeFailureDetail(adapter, stderr, exitCode) {
|
|
89
114
|
const lines = stderr.map((line) => line.trim()).filter(Boolean);
|
|
90
115
|
if (adapter === "openclaw") {
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (reason) {
|
|
95
|
-
return reason.replace(/^\[openclaw\]\s+Reason:\s*/i, "").trim();
|
|
96
|
-
}
|
|
97
|
-
const actionable = [...lines]
|
|
98
|
-
.reverse()
|
|
99
|
-
.find((line) => !OPENCLAW_DIAGNOSTIC_NOISE.test(line));
|
|
100
|
-
if (actionable) {
|
|
101
|
-
return actionable.replace(/^\[openclaw\]\s*/i, "").trim();
|
|
102
|
-
}
|
|
116
|
+
const diagnostic = normalizedOpenClawFailure(lines);
|
|
117
|
+
if (diagnostic)
|
|
118
|
+
return diagnostic;
|
|
103
119
|
}
|
|
104
|
-
return
|
|
105
|
-
`${adapter} exited with code ${String(exitCode)}`);
|
|
120
|
+
return lines.at(-1) ?? `${adapter} exited with code ${String(exitCode)}`;
|
|
106
121
|
}
|
|
107
122
|
function identifier(value) {
|
|
108
123
|
if (typeof value === "number" && Number.isSafeInteger(value))
|
|
@@ -168,8 +183,11 @@ export function compactNativeRuntimeDiagnostic(adapter, parsed) {
|
|
|
168
183
|
export function runtimeSessionKey(serverUrl, context, assignmentId) {
|
|
169
184
|
const workspaceId = identifier(record(context.workspace)?.id) ?? "workspace";
|
|
170
185
|
const agentId = identifier(record(context.agent)?.id) ?? "agent";
|
|
186
|
+
const conversationId = identifier(record(context.conversation)?.id) ??
|
|
187
|
+
identifier(context.conversation_id) ??
|
|
188
|
+
assignmentId;
|
|
171
189
|
const digest = createHash("sha256")
|
|
172
|
-
.update(JSON.stringify([serverUrl, workspaceId, agentId,
|
|
190
|
+
.update(JSON.stringify([serverUrl, workspaceId, agentId, conversationId]))
|
|
173
191
|
.digest("hex")
|
|
174
192
|
.slice(0, 48);
|
|
175
193
|
return `crewx-${digest}`;
|
|
@@ -259,17 +277,19 @@ export class EventBuffer {
|
|
|
259
277
|
[...this.inFlight].some(isTerminalOutcome));
|
|
260
278
|
}
|
|
261
279
|
async flush(signal) {
|
|
262
|
-
|
|
280
|
+
while (this.flushing) {
|
|
263
281
|
await this.flushing;
|
|
264
282
|
if (this.queue.length === 0)
|
|
265
283
|
return;
|
|
266
284
|
}
|
|
267
|
-
|
|
285
|
+
const flushing = this.drain(signal);
|
|
286
|
+
this.flushing = flushing;
|
|
268
287
|
try {
|
|
269
|
-
await
|
|
288
|
+
await flushing;
|
|
270
289
|
}
|
|
271
290
|
finally {
|
|
272
|
-
this.flushing
|
|
291
|
+
if (this.flushing === flushing)
|
|
292
|
+
this.flushing = undefined;
|
|
273
293
|
}
|
|
274
294
|
}
|
|
275
295
|
async drain(signal) {
|
|
@@ -364,9 +384,7 @@ export class EventBuffer {
|
|
|
364
384
|
findNewestIndex(predicate) {
|
|
365
385
|
for (let index = this.queue.length - 1; index >= 0; index -= 1) {
|
|
366
386
|
const candidate = this.queue[index];
|
|
367
|
-
if (candidate &&
|
|
368
|
-
!this.inFlight.has(candidate) &&
|
|
369
|
-
predicate(candidate)) {
|
|
387
|
+
if (candidate && !this.inFlight.has(candidate) && predicate(candidate)) {
|
|
370
388
|
return index;
|
|
371
389
|
}
|
|
372
390
|
}
|
|
@@ -401,12 +419,10 @@ export class EventBuffer {
|
|
|
401
419
|
}
|
|
402
420
|
enforceBounds() {
|
|
403
421
|
let bytes = this.pendingBytes();
|
|
404
|
-
while (this.queue.length > this.maxEvents ||
|
|
405
|
-
bytes > this.maxBytes) {
|
|
422
|
+
while (this.queue.length > this.maxEvents || bytes > this.maxBytes) {
|
|
406
423
|
let removeIndex = -1;
|
|
407
424
|
for (const priority of [0, 1]) {
|
|
408
|
-
removeIndex = this.queue.findIndex((item) => !this.inFlight.has(item) &&
|
|
409
|
-
this.eventPriority(item) === priority);
|
|
425
|
+
removeIndex = this.queue.findIndex((item) => !this.inFlight.has(item) && this.eventPriority(item) === priority);
|
|
410
426
|
if (removeIndex >= 0)
|
|
411
427
|
break;
|
|
412
428
|
}
|
|
@@ -440,8 +456,7 @@ export function adaptiveIdlePollDelay(baseDelayMs, consecutiveEmptyPolls, option
|
|
|
440
456
|
const random = options.random ?? Math.random;
|
|
441
457
|
const jittered = cap <= base
|
|
442
458
|
? base
|
|
443
|
-
: base +
|
|
444
|
-
Math.round(Math.max(0, Math.min(1, random())) * (cap - base));
|
|
459
|
+
: base + Math.round(Math.max(0, Math.min(1, random())) * (cap - base));
|
|
445
460
|
return Math.max(jittered, options.retryAfterMs ?? 0);
|
|
446
461
|
}
|
|
447
462
|
function linkedAbortController(parent) {
|
|
@@ -505,7 +520,10 @@ export async function executeAssignment(options) {
|
|
|
505
520
|
: []),
|
|
506
521
|
...(assignment.claim_token ? [assignment.claim_token] : []),
|
|
507
522
|
];
|
|
523
|
+
const contextAgent = record(options.context.agent);
|
|
524
|
+
const transport = contextAgent?.runtime === "acp" ? "acp" : "native";
|
|
508
525
|
const nativeJsonRuntime = !options.codingCommand &&
|
|
526
|
+
!usesAcpRuntime(options.adapter, { transport }) &&
|
|
509
527
|
(options.adapter === "codex" ||
|
|
510
528
|
options.adapter === "claude" ||
|
|
511
529
|
options.adapter === "pi");
|
|
@@ -572,13 +590,14 @@ export async function executeAssignment(options) {
|
|
|
572
590
|
? { chatOnly: agent.chat_only }
|
|
573
591
|
: {}),
|
|
574
592
|
...(runtimeAgentId ? { runtimeAgentId } : {}),
|
|
593
|
+
transport,
|
|
575
594
|
sessionKey: runtimeSessionKey(options.serverUrl, options.context, assignment.id),
|
|
576
595
|
},
|
|
577
|
-
...(options.codingCommand
|
|
578
|
-
|
|
579
|
-
...(runtimeProxy
|
|
580
|
-
? { controlEnvironment: runtimeProxy.environment }
|
|
596
|
+
...(options.codingCommand
|
|
597
|
+
? { codingCommand: options.codingCommand }
|
|
581
598
|
: {}),
|
|
599
|
+
...(options.environment ? { environment: options.environment } : {}),
|
|
600
|
+
...(runtimeProxy ? { controlEnvironment: runtimeProxy.environment } : {}),
|
|
582
601
|
...(options.signal ? { signal: options.signal } : {}),
|
|
583
602
|
onStdout(line, parsed) {
|
|
584
603
|
if (nativeJsonRuntime) {
|
|
@@ -740,9 +759,15 @@ export async function runDaemon(options) {
|
|
|
740
759
|
async function runOwnedDaemon(options, durableOutbox) {
|
|
741
760
|
const log = options.log ?? (() => undefined);
|
|
742
761
|
const startedAt = Date.now();
|
|
762
|
+
const concurrentAssignmentLimit = assignmentConcurrencyLimit(options.environment, options.maxConcurrentAssignments);
|
|
743
763
|
const session = await options.api.createSession({
|
|
744
764
|
client_version: CLI_VERSION,
|
|
745
|
-
capabilities: [
|
|
765
|
+
capabilities: [
|
|
766
|
+
"events:v1",
|
|
767
|
+
"context:v1",
|
|
768
|
+
"assignments:concurrent:v1",
|
|
769
|
+
`adapter:${options.adapter}`,
|
|
770
|
+
],
|
|
746
771
|
metadata: {
|
|
747
772
|
name: options.name ?? hostname(),
|
|
748
773
|
adapter: options.adapter,
|
|
@@ -751,11 +776,11 @@ async function runOwnedDaemon(options, durableOutbox) {
|
|
|
751
776
|
arch: arch(),
|
|
752
777
|
node_version: process.version,
|
|
753
778
|
cwd: options.cwd,
|
|
779
|
+
max_concurrent_assignments: concurrentAssignmentLimit,
|
|
754
780
|
},
|
|
755
781
|
}, options.signal);
|
|
756
782
|
let cursor = session.cursor;
|
|
757
|
-
|
|
758
|
-
let activeAssignmentClaimToken;
|
|
783
|
+
const activeAssignments = new Map();
|
|
759
784
|
let stopping = false;
|
|
760
785
|
const seenAssignmentEvents = new Set();
|
|
761
786
|
let workspaceContext = await options.api.context(session.session_id, options.signal);
|
|
@@ -766,7 +791,7 @@ async function runOwnedDaemon(options, durableOutbox) {
|
|
|
766
791
|
// Reuse original event UUIDs against the new session so the server can
|
|
767
792
|
// idempotently acknowledge outcomes persisted before a crash or restart.
|
|
768
793
|
await events.flush(options.signal);
|
|
769
|
-
if (options.adapter === "openclaw") {
|
|
794
|
+
if (options.adapter === "openclaw" && agent?.runtime !== "acp") {
|
|
770
795
|
const runtimeAgentId = nonEmptyString(agent?.runtime_agent_id);
|
|
771
796
|
if (!runtimeAgentId) {
|
|
772
797
|
throw new Error("CrewX did not provide an OpenClaw runtime agent ID for this profile.");
|
|
@@ -786,8 +811,15 @@ async function runOwnedDaemon(options, durableOutbox) {
|
|
|
786
811
|
log(`Connected session ${session.session_id} with ${options.adapter}.`);
|
|
787
812
|
const heartbeatEveryMs = Math.max(5_000, session.heartbeat_interval * 1_000);
|
|
788
813
|
const heartbeatTimer = setInterval(() => {
|
|
814
|
+
const activeAssignment = activeAssignments.entries().next().value;
|
|
815
|
+
const activeAssignmentId = activeAssignment?.[1].assignmentId;
|
|
816
|
+
const activeAssignmentClaimToken = activeAssignment?.[1].claimToken;
|
|
789
817
|
events.push(event("heartbeat", {
|
|
790
|
-
status:
|
|
818
|
+
status: activeAssignments.size > 0
|
|
819
|
+
? "running"
|
|
820
|
+
: stopping
|
|
821
|
+
? "stopping"
|
|
822
|
+
: "idle",
|
|
791
823
|
...(activeAssignmentId ? { assignment_id: activeAssignmentId } : {}),
|
|
792
824
|
...(activeAssignmentClaimToken
|
|
793
825
|
? { claim_token: activeAssignmentClaimToken }
|
|
@@ -800,6 +832,7 @@ async function runOwnedDaemon(options, durableOutbox) {
|
|
|
800
832
|
}, heartbeatEveryMs);
|
|
801
833
|
heartbeatTimer.unref();
|
|
802
834
|
try {
|
|
835
|
+
const scheduler = new AssignmentScheduler(concurrentAssignmentLimit);
|
|
803
836
|
let polls = 0;
|
|
804
837
|
let consecutivePollFailures = 0;
|
|
805
838
|
let consecutiveEmptyPolls = 0;
|
|
@@ -812,92 +845,122 @@ async function runOwnedDaemon(options, durableOutbox) {
|
|
|
812
845
|
const response = await options.api.poll(session.session_id, cursor, options.signal);
|
|
813
846
|
consecutivePollFailures = 0;
|
|
814
847
|
polls += 1;
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
}
|
|
836
|
-
const linked = linkedAbortController(options.signal);
|
|
837
|
-
let assignmentFinished = false;
|
|
838
|
-
const assignmentEventCursor = typeof assignment.metadata?.assignment_event_cursor === "number"
|
|
839
|
-
? assignment.metadata.assignment_event_cursor
|
|
840
|
-
: undefined;
|
|
841
|
-
const canMonitor = typeof options.api.control === "function" &&
|
|
842
|
-
/^\d+$/.test(assignment.id);
|
|
843
|
-
const monitor = canMonitor
|
|
844
|
-
? monitorAssignmentControl({
|
|
845
|
-
api: options.api,
|
|
846
|
-
sessionId: session.session_id,
|
|
848
|
+
const pageLinked = linkedAbortController(options.signal);
|
|
849
|
+
const pageExecutions = [];
|
|
850
|
+
try {
|
|
851
|
+
for (const inbound of response.events) {
|
|
852
|
+
const assignment = assignmentFromEvent(inbound);
|
|
853
|
+
if (!assignment)
|
|
854
|
+
continue;
|
|
855
|
+
const eventIdentity = inbound.id ?? inbound.cursor ?? inbound.occurred_at;
|
|
856
|
+
const executionKey = eventIdentity
|
|
857
|
+
? `${inbound.type}:${String(eventIdentity)}`
|
|
858
|
+
: `${inbound.type}:${assignment.id}`;
|
|
859
|
+
if (seenAssignmentEvents.has(executionKey))
|
|
860
|
+
continue;
|
|
861
|
+
seenAssignmentEvents.add(executionKey);
|
|
862
|
+
pageExecutions.push(scheduler
|
|
863
|
+
.schedule(assignmentConversationKey(assignment), async () => {
|
|
864
|
+
if (pageLinked.controller.signal.aborted) {
|
|
865
|
+
throw pageLinked.controller.signal.reason;
|
|
866
|
+
}
|
|
867
|
+
activeAssignments.set(executionKey, {
|
|
847
868
|
assignmentId: assignment.id,
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
isFinished: () => assignmentFinished,
|
|
851
|
-
log,
|
|
852
|
-
})
|
|
853
|
-
: Promise.resolve(undefined);
|
|
854
|
-
let fatalControlError;
|
|
855
|
-
try {
|
|
856
|
-
await (options.executeAssignment ?? executeAssignment)({
|
|
857
|
-
assignment,
|
|
858
|
-
adapter: options.adapter,
|
|
859
|
-
cwd: assignmentWorkingDirectory(assignment, workspaceContext, options.cwd, options.lockedRoot ?? process.env.CREWX_BRIDGE_ROOT),
|
|
860
|
-
context: workspaceContext,
|
|
861
|
-
events,
|
|
862
|
-
serverUrl: options.api.baseUrl,
|
|
863
|
-
sessionId: session.session_id,
|
|
864
|
-
...(options.codingCommand
|
|
865
|
-
? { codingCommand: options.codingCommand }
|
|
866
|
-
: {}),
|
|
867
|
-
...(options.environment
|
|
868
|
-
? { environment: options.environment }
|
|
869
|
+
...(assignment.claim_token
|
|
870
|
+
? { claimToken: assignment.claim_token }
|
|
869
871
|
: {}),
|
|
870
|
-
log,
|
|
871
|
-
signal: linked.controller.signal,
|
|
872
872
|
});
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
873
|
+
log(`Running ${assignment.title ?? assignment.id}…`);
|
|
874
|
+
let assignmentContext = workspaceContext;
|
|
875
|
+
try {
|
|
876
|
+
assignmentContext = await options.api.context(session.session_id, pageLinked.controller.signal);
|
|
877
|
+
workspaceContext = assignmentContext;
|
|
878
|
+
}
|
|
879
|
+
catch (error) {
|
|
880
|
+
if (pageLinked.controller.signal.aborted) {
|
|
881
|
+
throw pageLinked.controller.signal.reason;
|
|
882
|
+
}
|
|
883
|
+
log(`Context refresh failed; using the previous snapshot: ${errorMessage(error)}`);
|
|
884
|
+
}
|
|
885
|
+
const linked = linkedAbortController(pageLinked.controller.signal);
|
|
886
|
+
let assignmentFinished = false;
|
|
887
|
+
const assignmentEventCursor = typeof assignment.metadata?.assignment_event_cursor ===
|
|
888
|
+
"number"
|
|
889
|
+
? assignment.metadata.assignment_event_cursor
|
|
890
|
+
: undefined;
|
|
891
|
+
const canMonitor = typeof options.api.control === "function" &&
|
|
892
|
+
/^\d+$/.test(assignment.id);
|
|
893
|
+
const monitor = canMonitor
|
|
894
|
+
? monitorAssignmentControl({
|
|
895
|
+
api: options.api,
|
|
896
|
+
sessionId: session.session_id,
|
|
897
|
+
assignmentId: assignment.id,
|
|
898
|
+
assignmentEventCursor,
|
|
899
|
+
controller: linked.controller,
|
|
900
|
+
isFinished: () => assignmentFinished,
|
|
901
|
+
log,
|
|
902
|
+
})
|
|
903
|
+
: Promise.resolve(undefined);
|
|
904
|
+
let fatalControlError;
|
|
905
|
+
try {
|
|
906
|
+
await (options.executeAssignment ?? executeAssignment)({
|
|
907
|
+
assignment,
|
|
908
|
+
adapter: options.adapter,
|
|
909
|
+
cwd: assignmentWorkingDirectory(assignment, assignmentContext, options.cwd, options.lockedRoot ?? process.env.CREWX_BRIDGE_ROOT),
|
|
910
|
+
context: assignmentContext,
|
|
911
|
+
events,
|
|
912
|
+
serverUrl: options.api.baseUrl,
|
|
913
|
+
sessionId: session.session_id,
|
|
914
|
+
...(options.codingCommand
|
|
915
|
+
? { codingCommand: options.codingCommand }
|
|
916
|
+
: {}),
|
|
917
|
+
...(options.environment
|
|
918
|
+
? { environment: options.environment }
|
|
919
|
+
: {}),
|
|
920
|
+
log,
|
|
921
|
+
signal: linked.controller.signal,
|
|
922
|
+
});
|
|
923
|
+
}
|
|
924
|
+
finally {
|
|
925
|
+
assignmentFinished = true;
|
|
926
|
+
linked.controller.abort();
|
|
927
|
+
linked.detach();
|
|
928
|
+
fatalControlError = await monitor;
|
|
929
|
+
}
|
|
930
|
+
if (fatalControlError) {
|
|
931
|
+
pageLinked.controller.abort(fatalControlError);
|
|
932
|
+
throw fatalControlError;
|
|
933
|
+
}
|
|
934
|
+
await events.flush(options.signal);
|
|
935
|
+
})
|
|
936
|
+
.catch((error) => {
|
|
937
|
+
// A failed pre-run lifecycle flush means the runtime never
|
|
938
|
+
// started. Leave the page unacknowledged and allow that event to
|
|
939
|
+
// execute after delivery recovers. If a terminal outcome is
|
|
940
|
+
// queued, retain the seen fence: the next loop first delivers
|
|
941
|
+
// that durable outcome, then acknowledges the page without
|
|
942
|
+
// executing the runtime twice.
|
|
943
|
+
if (!events.hasPendingTerminalOutcome(assignment.id)) {
|
|
944
|
+
seenAssignmentEvents.delete(executionKey);
|
|
945
|
+
}
|
|
946
|
+
throw error;
|
|
947
|
+
})
|
|
948
|
+
.finally(() => {
|
|
949
|
+
activeAssignments.delete(executionKey);
|
|
950
|
+
}));
|
|
883
951
|
}
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
// executing the runtime twice.
|
|
891
|
-
if (!events.hasPendingTerminalOutcome(assignment.id)) {
|
|
892
|
-
seenAssignmentEvents.delete(executionKey);
|
|
893
|
-
}
|
|
894
|
-
throw error;
|
|
895
|
-
}
|
|
896
|
-
finally {
|
|
897
|
-
activeAssignmentId = undefined;
|
|
898
|
-
activeAssignmentClaimToken = undefined;
|
|
952
|
+
if (pageExecutions.length > 0) {
|
|
953
|
+
const results = await Promise.allSettled(pageExecutions);
|
|
954
|
+
const failed = results.find((result) => result.status === "rejected");
|
|
955
|
+
if (failed)
|
|
956
|
+
throw failed.reason;
|
|
957
|
+
await events.flush(options.signal);
|
|
899
958
|
}
|
|
900
959
|
}
|
|
960
|
+
finally {
|
|
961
|
+
pageLinked.controller.abort();
|
|
962
|
+
pageLinked.detach();
|
|
963
|
+
}
|
|
901
964
|
// Advancing the local cursor is the acknowledgement boundary. Do it
|
|
902
965
|
// only after every assignment on the page has a delivered terminal
|
|
903
966
|
// outcome (or was previously terminalized and fenced).
|
package/dist/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|