@moxt-ai/mobius 0.0.6 → 0.0.8
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/dist/acp/activity.d.ts +7 -2
- package/dist/acp/activity.d.ts.map +1 -1
- package/dist/acp/activity.js +95 -7
- package/dist/acp/activity.js.map +1 -1
- package/dist/acp/native-session.d.ts +2 -2
- package/dist/acp/native-session.d.ts.map +1 -1
- package/dist/acp/native-session.js +2 -1
- package/dist/acp/native-session.js.map +1 -1
- package/dist/acp/session-manager.d.ts +2 -0
- package/dist/acp/session-manager.d.ts.map +1 -1
- package/dist/acp/session-manager.js +127 -44
- package/dist/acp/session-manager.js.map +1 -1
- package/dist/agent-installation/installation-grants.d.ts.map +1 -1
- package/dist/agent-installation/installation-grants.js +1 -2
- package/dist/agent-installation/installation-grants.js.map +1 -1
- package/dist/cli.js +1226 -240
- package/dist/cli.js.map +4 -4
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.js +1233 -247
- package/dist/index.js.map +4 -4
- package/dist/native-sessions/service.d.ts.map +1 -1
- package/dist/native-sessions/service.js +16 -11
- package/dist/native-sessions/service.js.map +1 -1
- package/dist/pairing/pair-local-machine.d.ts.map +1 -1
- package/dist/pairing/pair-local-machine.js +12 -5
- package/dist/pairing/pair-local-machine.js.map +1 -1
- package/dist/relay-connection/liveness.d.ts.map +1 -1
- package/dist/relay-connection/liveness.js +1 -2
- package/dist/relay-connection/liveness.js.map +1 -1
- package/dist/relay-connection/session-event-outbox.d.ts +19 -0
- package/dist/relay-connection/session-event-outbox.d.ts.map +1 -0
- package/dist/relay-connection/session-event-outbox.js +182 -0
- package/dist/relay-connection/session-event-outbox.js.map +1 -0
- package/dist/run-daemon.d.ts.map +1 -1
- package/dist/run-daemon.js +87 -63
- package/dist/run-daemon.js.map +1 -1
- package/package.json +1 -1
package/dist/run-daemon.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
1
|
import { basename } from "node:path";
|
|
3
|
-
import { AGENT_ACTIVITY_KIND, AGENT_INSTALL_AWAITING_APPROVAL_KIND, AGENT_INSTALL_CANCEL_KIND, AGENT_INSTALL_CANCELLED_KIND, AGENT_INSTALL_COMPLETED_KIND, AGENT_INSTALL_FAILED_KIND, AGENT_INSTALL_PROGRESS_KIND, AGENT_INSTALL_REQUEST_KIND, AGENT_INSTALL_STARTED_KIND, AGENT_MESSAGE_DELTA_KIND, decodeAgentInstallCancelCommand, decodeAgentInstallRequestCommand, decodeMessageKind, decodeNativeSessionCancel, decodeNativeSessionCommand, decodeRuntimeHeartbeatAckEvent, decodeRuntimeLivenessReadyEvent, decodeSessionCancelCommand, decodeSessionConfigureCommand, decodeSessionElicitationRespondCommand, decodeSessionPermissionRespondCommand, decodeSessionPrepareCommand, decodeSessionPromptCommand, decodeWorkspaceListCommand, encodeAgentActivityEvent, encodeAgentContentEvent, encodeAgentInstallAwaitingApprovalEvent, encodeAgentInstallCancelledEvent, encodeAgentInstallCompletedEvent, encodeAgentInstallFailedEvent, encodeAgentInstallProgressEvent, encodeAgentInstallStartedEvent, encodeAgentMessageDeltaEvent, encodeNativeSessionResult, encodeSessionCommandsUpdatedEvent, encodeSessionCompletedEvent, encodeSessionConfigUpdatedEvent, encodeSessionElicitationRequestedEvent, encodeSessionElicitationResolvedEvent, encodeSessionFailedEvent, encodeSessionInfoUpdatedEvent, encodeSessionOperationFailedEvent, encodeSessionPermissionRequestedEvent, encodeSessionPermissionResolvedEvent, encodeSessionReadyEvent, encodeSessionStartedEvent, encodeSessionUsageUpdatedEvent, encodeWorkspaceEntriesEvent,
|
|
2
|
+
import { AGENT_ACTIVITY_KIND, AGENT_INSTALL_AWAITING_APPROVAL_KIND, AGENT_INSTALL_CANCEL_KIND, AGENT_INSTALL_CANCELLED_KIND, AGENT_INSTALL_COMPLETED_KIND, AGENT_INSTALL_FAILED_KIND, AGENT_INSTALL_PROGRESS_KIND, AGENT_INSTALL_REQUEST_KIND, AGENT_INSTALL_STARTED_KIND, AGENT_MESSAGE_DELTA_KIND, decodeAgentInstallCancelCommand, decodeAgentInstallRequestCommand, decodeMessageKind, decodeNativeSessionCancel, decodeNativeSessionCommand, decodeRuntimeHeartbeatAckEvent, decodeRuntimeLivenessReadyEvent, decodeSessionCancelCommand, decodeSessionConfigureCommand, decodeSessionElicitationRespondCommand, decodeSessionEventAcknowledgement, decodeSessionPermissionRespondCommand, decodeSessionPrepareCommand, decodeSessionPromptCommand, decodeWorkspaceListCommand, encodeAgentActivityEvent, encodeAgentContentEvent, encodeAgentInstallAwaitingApprovalEvent, encodeAgentInstallCancelledEvent, encodeAgentInstallCompletedEvent, encodeAgentInstallFailedEvent, encodeAgentInstallProgressEvent, encodeAgentInstallStartedEvent, encodeAgentMessageDeltaEvent, encodeNativeSessionResult, encodeSessionCommandsUpdatedEvent, encodeSessionCompletedEvent, encodeSessionConfigUpdatedEvent, encodeSessionElicitationRequestedEvent, encodeSessionElicitationResolvedEvent, encodeSessionFailedEvent, encodeSessionInfoUpdatedEvent, encodeSessionOperationFailedEvent, encodeSessionPermissionRequestedEvent, encodeSessionPermissionResolvedEvent, encodeSessionReadyEvent, encodeSessionStartedEvent, encodeSessionUsageUpdatedEvent, encodeWorkspaceEntriesEvent, NATIVE_SESSION_CANCEL_KIND, NATIVE_SESSION_REQUEST_KIND, RUNTIME_HEARTBEAT_ACK_KIND, RUNTIME_LIVENESS_READY_KIND, SESSION_CANCEL_KIND, SESSION_COMPLETED_KIND, SESSION_CONFIGURE_KIND, SESSION_ELICITATION_RESPOND_KIND, SESSION_EVENT_ACK_KIND, SESSION_FAILED_KIND, SESSION_PERMISSION_RESPOND_KIND, SESSION_PREPARE_KIND, SESSION_PROMPT_KIND, SESSION_STARTED_KIND, WORKSPACE_LIST_KIND, } from "@moxt-ai/mobius-protocol";
|
|
4
3
|
import { WebSocket } from "undici";
|
|
5
4
|
import { AcpExecutionError, AcpSessionManager, NullAcpSessionObserver, } from "./acp/session-manager.js";
|
|
6
5
|
import { SqliteAcpSessionStore } from "./acp/session-store.js";
|
|
@@ -17,6 +16,7 @@ import { WorkspaceDirectoryService } from "./authorization/workspace-directory.j
|
|
|
17
16
|
import { NativeSessionService } from "./native-sessions/service.js";
|
|
18
17
|
import { connectRelay } from "./relay-connection/connect.js";
|
|
19
18
|
import { RelayConnectionLiveness } from "./relay-connection/liveness.js";
|
|
19
|
+
import { SessionEventOutbox } from "./relay-connection/session-event-outbox.js";
|
|
20
20
|
import { systemDaemonTimer, } from "./relay-connection/timer.js";
|
|
21
21
|
import { readStateDirectory } from "./storage/state-directory.js";
|
|
22
22
|
const RELAY_RECONNECT_DELAY_MILLISECONDS = 500;
|
|
@@ -72,44 +72,44 @@ class RelayConnectionRefresh {
|
|
|
72
72
|
};
|
|
73
73
|
}
|
|
74
74
|
class DaemonAcpObserver {
|
|
75
|
-
#
|
|
76
|
-
constructor(
|
|
77
|
-
this.#
|
|
75
|
+
#record;
|
|
76
|
+
constructor(record) {
|
|
77
|
+
this.#record = record;
|
|
78
78
|
}
|
|
79
79
|
onCommands = (event) => {
|
|
80
|
-
|
|
80
|
+
this.#record(event.sessionId, encodeSessionCommandsUpdatedEvent(event));
|
|
81
81
|
return Promise.resolve();
|
|
82
82
|
};
|
|
83
83
|
onConfig = (event) => {
|
|
84
|
-
|
|
84
|
+
this.#record(event.sessionId, encodeSessionConfigUpdatedEvent(event));
|
|
85
85
|
return Promise.resolve();
|
|
86
86
|
};
|
|
87
87
|
onContent = (event) => {
|
|
88
|
-
|
|
88
|
+
this.#record(event.sessionId, encodeAgentContentEvent(event));
|
|
89
89
|
return Promise.resolve();
|
|
90
90
|
};
|
|
91
91
|
onElicitation = (event) => {
|
|
92
|
-
|
|
92
|
+
this.#record(event.sessionId, encodeSessionElicitationRequestedEvent(event));
|
|
93
93
|
return Promise.resolve();
|
|
94
94
|
};
|
|
95
95
|
onElicitationResolved = (event) => {
|
|
96
|
-
|
|
96
|
+
this.#record(event.sessionId, encodeSessionElicitationResolvedEvent(event));
|
|
97
97
|
return Promise.resolve();
|
|
98
98
|
};
|
|
99
99
|
onInfo = (event) => {
|
|
100
|
-
|
|
100
|
+
this.#record(event.sessionId, encodeSessionInfoUpdatedEvent(event));
|
|
101
101
|
return Promise.resolve();
|
|
102
102
|
};
|
|
103
103
|
onPermission = (event) => {
|
|
104
|
-
|
|
104
|
+
this.#record(event.sessionId, encodeSessionPermissionRequestedEvent(event));
|
|
105
105
|
return Promise.resolve();
|
|
106
106
|
};
|
|
107
107
|
onPermissionResolved = (event) => {
|
|
108
|
-
|
|
108
|
+
this.#record(event.sessionId, encodeSessionPermissionResolvedEvent(event));
|
|
109
109
|
return Promise.resolve();
|
|
110
110
|
};
|
|
111
111
|
onUsage = (event) => {
|
|
112
|
-
|
|
112
|
+
this.#record(event.sessionId, encodeSessionUsageUpdatedEvent(event));
|
|
113
113
|
return Promise.resolve();
|
|
114
114
|
};
|
|
115
115
|
}
|
|
@@ -160,7 +160,6 @@ class DaemonInstallationObserver {
|
|
|
160
160
|
this.#send(socket, encodeAgentInstallAwaitingApprovalEvent({
|
|
161
161
|
agentId: state.agentId,
|
|
162
162
|
kind: AGENT_INSTALL_AWAITING_APPROVAL_KIND,
|
|
163
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
164
163
|
requestId: state.requestId,
|
|
165
164
|
}));
|
|
166
165
|
return Promise.resolve();
|
|
@@ -171,14 +170,12 @@ class DaemonInstallationObserver {
|
|
|
171
170
|
this.#send(socket, encodeAgentInstallStartedEvent({
|
|
172
171
|
agentId: state.agentId,
|
|
173
172
|
kind: AGENT_INSTALL_STARTED_KIND,
|
|
174
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
175
173
|
requestId: state.requestId,
|
|
176
174
|
}));
|
|
177
175
|
}
|
|
178
176
|
this.#send(socket, encodeAgentInstallProgressEvent({
|
|
179
177
|
agentId: state.agentId,
|
|
180
178
|
kind: AGENT_INSTALL_PROGRESS_KIND,
|
|
181
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
182
179
|
requestId: state.requestId,
|
|
183
180
|
stage: state.stage,
|
|
184
181
|
}));
|
|
@@ -189,7 +186,6 @@ class DaemonInstallationObserver {
|
|
|
189
186
|
agentId: state.agentId,
|
|
190
187
|
authenticationMayBeRequired: state.authenticationMayBeRequired,
|
|
191
188
|
kind: AGENT_INSTALL_COMPLETED_KIND,
|
|
192
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
193
189
|
requestId: state.requestId,
|
|
194
190
|
}));
|
|
195
191
|
return Promise.resolve();
|
|
@@ -200,7 +196,6 @@ class DaemonInstallationObserver {
|
|
|
200
196
|
code: state.code,
|
|
201
197
|
kind: AGENT_INSTALL_FAILED_KIND,
|
|
202
198
|
message: state.message,
|
|
203
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
204
199
|
requestId: state.requestId,
|
|
205
200
|
}));
|
|
206
201
|
return Promise.resolve();
|
|
@@ -209,7 +204,6 @@ class DaemonInstallationObserver {
|
|
|
209
204
|
this.#send(socket, encodeAgentInstallCancelledEvent({
|
|
210
205
|
agentId: state.agentId,
|
|
211
206
|
kind: AGENT_INSTALL_CANCELLED_KIND,
|
|
212
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
213
207
|
requestId: state.requestId,
|
|
214
208
|
}));
|
|
215
209
|
return Promise.resolve();
|
|
@@ -257,18 +251,20 @@ function send(socket, message) {
|
|
|
257
251
|
}
|
|
258
252
|
socket.send(message);
|
|
259
253
|
}
|
|
260
|
-
function
|
|
261
|
-
|
|
262
|
-
|
|
254
|
+
function recordSessionEvent(outbox, socket, sessionId, payload, attemptId = null) {
|
|
255
|
+
const envelope = outbox.enqueue(sessionId, payload, attemptId);
|
|
256
|
+
if (socket.readyState === WebSocket.OPEN) {
|
|
257
|
+
socket.send(envelope);
|
|
263
258
|
}
|
|
264
|
-
|
|
259
|
+
}
|
|
260
|
+
function reportFailure(outbox, socket, command, code, message, attemptId = null) {
|
|
261
|
+
recordSessionEvent(outbox, socket, command.sessionId, encodeSessionFailedEvent({
|
|
265
262
|
code,
|
|
266
263
|
commandId: command.commandId,
|
|
267
264
|
kind: SESSION_FAILED_KIND,
|
|
268
265
|
message,
|
|
269
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
270
266
|
sessionId: command.sessionId,
|
|
271
|
-
}));
|
|
267
|
+
}), attemptId);
|
|
272
268
|
}
|
|
273
269
|
function operationErrorCode(error) {
|
|
274
270
|
if (error instanceof AcpExecutionError ||
|
|
@@ -294,7 +290,6 @@ function reportOperationFailure(socket, requestId, sessionId, error) {
|
|
|
294
290
|
code: operationErrorCode(error),
|
|
295
291
|
kind: "session.operation.failed",
|
|
296
292
|
message: operationErrorMessage(error),
|
|
297
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
298
293
|
requestId,
|
|
299
294
|
sessionId,
|
|
300
295
|
}));
|
|
@@ -333,7 +328,6 @@ async function executeWorkspaceList(socket, command, directories, audit, signal)
|
|
|
333
328
|
entries: listing.entries,
|
|
334
329
|
kind: "workspace.entries",
|
|
335
330
|
parentDirectoryId: listing.parentDirectoryId,
|
|
336
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
337
331
|
requestId: command.requestId,
|
|
338
332
|
}));
|
|
339
333
|
}
|
|
@@ -341,9 +335,9 @@ async function executeWorkspaceList(socket, command, directories, audit, signal)
|
|
|
341
335
|
reportOperationFailure(socket, command.requestId, "", error);
|
|
342
336
|
}
|
|
343
337
|
}
|
|
344
|
-
async function executeSessionPrepare(socket, command, config, directories, audit, sessions, signal) {
|
|
338
|
+
async function executeSessionPrepare(outbox, socket, command, config, directories, audit, sessions, signal) {
|
|
345
339
|
try {
|
|
346
|
-
const resolved = await resolveSessionDirectories(directories,
|
|
340
|
+
const resolved = await resolveSessionDirectories(directories, config.bindingId, command.directoryId, command.additionalDirectoryIds, signal);
|
|
347
341
|
const agent = config.catalog.find(command.agentId);
|
|
348
342
|
const prepared = await sessions.prepareSession({
|
|
349
343
|
additionalDirectories: resolved.additionalDirectories,
|
|
@@ -352,13 +346,13 @@ async function executeSessionPrepare(socket, command, config, directories, audit
|
|
|
352
346
|
sessionId: command.sessionId,
|
|
353
347
|
signal,
|
|
354
348
|
});
|
|
355
|
-
const listing = await directories.list(
|
|
349
|
+
const listing = await directories.list(config.bindingId, command.directoryId, signal);
|
|
356
350
|
audit.record({
|
|
357
351
|
commandId: command.requestId,
|
|
358
352
|
event: "session_prepared",
|
|
359
353
|
sessionId: command.sessionId,
|
|
360
354
|
});
|
|
361
|
-
|
|
355
|
+
recordSessionEvent(outbox, socket, command.sessionId, encodeSessionReadyEvent({
|
|
362
356
|
additionalDirectories: resolved.additionalDirectoryEntries,
|
|
363
357
|
agentId: command.agentId,
|
|
364
358
|
agentName: prepared.agentName,
|
|
@@ -369,19 +363,27 @@ async function executeSessionPrepare(socket, command, config, directories, audit
|
|
|
369
363
|
directoryId: command.directoryId,
|
|
370
364
|
directoryLabel: listing.directoryLabel,
|
|
371
365
|
kind: "session.ready",
|
|
372
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
373
366
|
requestId: command.requestId,
|
|
374
367
|
restored: prepared.restored,
|
|
375
368
|
sessionId: command.sessionId,
|
|
376
369
|
}));
|
|
377
370
|
}
|
|
378
371
|
catch (error) {
|
|
372
|
+
audit.record({
|
|
373
|
+
commandId: command.requestId,
|
|
374
|
+
details: {
|
|
375
|
+
agentId: command.agentId,
|
|
376
|
+
code: operationErrorCode(error),
|
|
377
|
+
},
|
|
378
|
+
event: "session_prepare_failed",
|
|
379
|
+
sessionId: command.sessionId,
|
|
380
|
+
});
|
|
379
381
|
reportOperationFailure(socket, command.requestId, command.sessionId, error);
|
|
380
382
|
}
|
|
381
383
|
}
|
|
382
|
-
async function executeSessionConfigure(socket, command, config, directories, audit, sessions, signal) {
|
|
384
|
+
async function executeSessionConfigure(outbox, socket, command, config, directories, audit, sessions, signal) {
|
|
383
385
|
try {
|
|
384
|
-
const resolved = await resolveSessionDirectories(directories,
|
|
386
|
+
const resolved = await resolveSessionDirectories(directories, config.bindingId, command.directoryId, command.additionalDirectoryIds, signal);
|
|
385
387
|
const configOptions = await sessions.configureSession({
|
|
386
388
|
additionalDirectories: resolved.additionalDirectories,
|
|
387
389
|
agent: config.catalog.find(command.agentId),
|
|
@@ -399,10 +401,9 @@ async function executeSessionConfigure(socket, command, config, directories, aud
|
|
|
399
401
|
event: "session_configured",
|
|
400
402
|
sessionId: command.sessionId,
|
|
401
403
|
});
|
|
402
|
-
|
|
404
|
+
recordSessionEvent(outbox, socket, command.sessionId, encodeSessionConfigUpdatedEvent({
|
|
403
405
|
configOptions,
|
|
404
406
|
kind: "session.config.updated",
|
|
405
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
406
407
|
requestId: command.requestId,
|
|
407
408
|
sessionId: command.sessionId,
|
|
408
409
|
}));
|
|
@@ -411,23 +412,22 @@ async function executeSessionConfigure(socket, command, config, directories, aud
|
|
|
411
412
|
reportOperationFailure(socket, command.requestId, command.sessionId, error);
|
|
412
413
|
}
|
|
413
414
|
}
|
|
414
|
-
async function executePrompt(socket, command, config, directories, audit, sessions, signal) {
|
|
415
|
+
async function executePrompt(outbox, socket, command, config, directories, audit, sessions, attemptId, signal) {
|
|
415
416
|
try {
|
|
416
|
-
const resolved = await resolveSessionDirectories(directories,
|
|
417
|
+
const resolved = await resolveSessionDirectories(directories, config.bindingId, command.directoryId, command.additionalDirectoryIds, signal);
|
|
417
418
|
const agent = config.catalog.find(command.agentId);
|
|
418
|
-
const processAttemptId = randomUUID();
|
|
419
419
|
audit.record({
|
|
420
420
|
commandId: command.commandId,
|
|
421
421
|
event: "session_authorized",
|
|
422
422
|
sessionId: command.sessionId,
|
|
423
423
|
});
|
|
424
|
-
|
|
424
|
+
outbox.transitionExecution(command.commandId, "running");
|
|
425
|
+
recordSessionEvent(outbox, socket, command.sessionId, encodeSessionStartedEvent({
|
|
425
426
|
commandId: command.commandId,
|
|
426
427
|
kind: SESSION_STARTED_KIND,
|
|
427
|
-
|
|
428
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
428
|
+
attemptId,
|
|
429
429
|
sessionId: command.sessionId,
|
|
430
|
-
}));
|
|
430
|
+
}), attemptId);
|
|
431
431
|
const result = await sessions.runPrompt({
|
|
432
432
|
additionalDirectories: resolved.additionalDirectories,
|
|
433
433
|
agent,
|
|
@@ -435,33 +435,32 @@ async function executePrompt(socket, command, config, directories, audit, sessio
|
|
|
435
435
|
cwd: resolved.cwd,
|
|
436
436
|
images: command.images,
|
|
437
437
|
onActivity: (activity) => {
|
|
438
|
-
|
|
438
|
+
recordSessionEvent(outbox, socket, command.sessionId, encodeAgentActivityEvent({
|
|
439
439
|
activityId: activity.activityId,
|
|
440
440
|
activityType: activity.activityType,
|
|
441
441
|
commandId: command.commandId,
|
|
442
442
|
content: activity.content,
|
|
443
|
+
detail: activity.detail,
|
|
443
444
|
input: activity.input,
|
|
444
445
|
kind: AGENT_ACTIVITY_KIND,
|
|
445
446
|
locations: activity.locations,
|
|
446
447
|
name: activity.name,
|
|
447
448
|
output: activity.output,
|
|
448
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
449
449
|
sequence: activity.sequence,
|
|
450
450
|
sessionId: command.sessionId,
|
|
451
451
|
status: activity.status,
|
|
452
452
|
title: activity.title,
|
|
453
453
|
toolKind: activity.toolKind,
|
|
454
|
-
}));
|
|
454
|
+
}), attemptId);
|
|
455
455
|
return Promise.resolve();
|
|
456
456
|
},
|
|
457
457
|
onText: (text) => {
|
|
458
|
-
|
|
458
|
+
recordSessionEvent(outbox, socket, command.sessionId, encodeAgentMessageDeltaEvent({
|
|
459
459
|
commandId: command.commandId,
|
|
460
460
|
kind: AGENT_MESSAGE_DELTA_KIND,
|
|
461
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
462
461
|
sessionId: command.sessionId,
|
|
463
462
|
text,
|
|
464
|
-
}));
|
|
463
|
+
}), attemptId);
|
|
465
464
|
return Promise.resolve();
|
|
466
465
|
},
|
|
467
466
|
prompt: command.prompt,
|
|
@@ -469,13 +468,13 @@ async function executePrompt(socket, command, config, directories, audit, sessio
|
|
|
469
468
|
sessionId: command.sessionId,
|
|
470
469
|
signal,
|
|
471
470
|
});
|
|
472
|
-
|
|
471
|
+
recordSessionEvent(outbox, socket, command.sessionId, encodeSessionCompletedEvent({
|
|
473
472
|
commandId: command.commandId,
|
|
474
473
|
kind: SESSION_COMPLETED_KIND,
|
|
475
|
-
protocolVersion: MOBIUS_PROTOCOL_VERSION,
|
|
476
474
|
sessionId: command.sessionId,
|
|
477
475
|
stopReason: result.stopReason,
|
|
478
|
-
}));
|
|
476
|
+
}), attemptId);
|
|
477
|
+
outbox.transitionExecution(command.commandId, result.stopReason === "cancelled" ? "cancelled" : "succeeded");
|
|
479
478
|
audit.record({
|
|
480
479
|
commandId: command.commandId,
|
|
481
480
|
event: result.stopReason === "cancelled"
|
|
@@ -491,9 +490,10 @@ async function executePrompt(socket, command, config, directories, audit, sessio
|
|
|
491
490
|
sessionId: command.sessionId,
|
|
492
491
|
});
|
|
493
492
|
const code = operationErrorCode(error);
|
|
494
|
-
reportFailure(socket, command, code === "session_operation_failed" ? "agent_execution_failed" : code, code === "session_operation_failed"
|
|
493
|
+
reportFailure(outbox, socket, command, code === "session_operation_failed" ? "agent_execution_failed" : code, code === "session_operation_failed"
|
|
495
494
|
? "The local agent could not complete the request"
|
|
496
|
-
: operationErrorMessage(error));
|
|
495
|
+
: operationErrorMessage(error), attemptId);
|
|
496
|
+
outbox.transitionExecution(command.commandId, "failed");
|
|
497
497
|
console.error("Mobius daemon command failed", error);
|
|
498
498
|
}
|
|
499
499
|
}
|
|
@@ -511,15 +511,22 @@ function waitForRelayRetry(signal, timer) {
|
|
|
511
511
|
signal.addEventListener("abort", finish, { once: true });
|
|
512
512
|
});
|
|
513
513
|
}
|
|
514
|
-
async function runRelayConnection(config, directories, audit, sessions, installations, installationObserver, nativeSessions, signal, timer) {
|
|
514
|
+
async function runRelayConnection(config, directories, audit, sessions, installations, installationObserver, nativeSessions, outbox, signal, timer) {
|
|
515
515
|
const relayUrl = new URL(config.relayUrl);
|
|
516
516
|
relayUrl.searchParams.set("liveness", "1");
|
|
517
517
|
const socket = await connectRelay(relayUrl, signal);
|
|
518
518
|
const activeTurns = new Map();
|
|
519
|
+
const activeAttemptIds = new Map();
|
|
519
520
|
const connectionController = new AbortController();
|
|
520
521
|
const nativeRequests = new Map();
|
|
521
|
-
|
|
522
|
+
const record = (sessionId, payload) => {
|
|
523
|
+
recordSessionEvent(outbox, socket, sessionId, payload, activeAttemptIds.get(sessionId) ?? null);
|
|
524
|
+
};
|
|
525
|
+
sessions.setObserver(new DaemonAcpObserver(record));
|
|
522
526
|
installationObserver.connect(socket);
|
|
527
|
+
for (const pending of outbox.pending()) {
|
|
528
|
+
send(socket, pending);
|
|
529
|
+
}
|
|
523
530
|
try {
|
|
524
531
|
await new Promise((resolve, reject) => {
|
|
525
532
|
let finished = false;
|
|
@@ -589,6 +596,10 @@ async function runRelayConnection(config, directories, audit, sessions, installa
|
|
|
589
596
|
}
|
|
590
597
|
try {
|
|
591
598
|
const kind = decodeMessageKind(encoded);
|
|
599
|
+
if (kind === SESSION_EVENT_ACK_KIND) {
|
|
600
|
+
outbox.acknowledge(decodeSessionEventAcknowledgement(encoded));
|
|
601
|
+
return;
|
|
602
|
+
}
|
|
592
603
|
if (kind === NATIVE_SESSION_CANCEL_KIND) {
|
|
593
604
|
const command = decodeNativeSessionCancel(encoded);
|
|
594
605
|
const pending = nativeRequests.get(command.requestId);
|
|
@@ -698,12 +709,12 @@ async function runRelayConnection(config, directories, audit, sessions, installa
|
|
|
698
709
|
}
|
|
699
710
|
if (kind === SESSION_PREPARE_KIND) {
|
|
700
711
|
const command = decodeSessionPrepareCommand(encoded);
|
|
701
|
-
void executeSessionPrepare(socket, command, config, directories, audit, sessions, connectionController.signal);
|
|
712
|
+
void executeSessionPrepare(outbox, socket, command, config, directories, audit, sessions, connectionController.signal);
|
|
702
713
|
return;
|
|
703
714
|
}
|
|
704
715
|
if (kind === SESSION_CONFIGURE_KIND) {
|
|
705
716
|
const command = decodeSessionConfigureCommand(encoded);
|
|
706
|
-
void executeSessionConfigure(socket, command, config, directories, audit, sessions, connectionController.signal);
|
|
717
|
+
void executeSessionConfigure(outbox, socket, command, config, directories, audit, sessions, connectionController.signal);
|
|
707
718
|
return;
|
|
708
719
|
}
|
|
709
720
|
if (kind === SESSION_PERMISSION_RESPOND_KIND) {
|
|
@@ -761,17 +772,24 @@ async function runRelayConnection(config, directories, audit, sessions, installa
|
|
|
761
772
|
}
|
|
762
773
|
const command = decodeSessionPromptCommand(encoded);
|
|
763
774
|
if (activeTurns.has(command.commandId)) {
|
|
764
|
-
|
|
775
|
+
return;
|
|
776
|
+
}
|
|
777
|
+
const receipt = outbox.claimExecution(command.commandId, command.sessionId, encoded);
|
|
778
|
+
if (receipt.kind === "duplicate") {
|
|
765
779
|
return;
|
|
766
780
|
}
|
|
767
781
|
const turn = new ActiveDaemonTurn(command, new AbortController());
|
|
768
782
|
activeTurns.set(command.commandId, turn);
|
|
769
|
-
|
|
783
|
+
activeAttemptIds.set(command.sessionId, receipt.attemptId);
|
|
784
|
+
void executePrompt(outbox, socket, command, config, directories, audit, sessions, receipt.attemptId, turn.signal)
|
|
770
785
|
.catch((error) => {
|
|
771
786
|
console.error("Mobius daemon turn failed", error);
|
|
772
787
|
})
|
|
773
788
|
.finally(() => {
|
|
774
789
|
activeTurns.delete(command.commandId);
|
|
790
|
+
if (activeAttemptIds.get(command.sessionId) === receipt.attemptId) {
|
|
791
|
+
activeAttemptIds.delete(command.sessionId);
|
|
792
|
+
}
|
|
775
793
|
connectionRefresh.afterTurnFinished();
|
|
776
794
|
});
|
|
777
795
|
}
|
|
@@ -816,6 +834,7 @@ export async function runDaemon(config, audit, signal, timer = systemDaemonTimer
|
|
|
816
834
|
stateDirectory,
|
|
817
835
|
}), specifications).prepare(signal);
|
|
818
836
|
const sessionStore = new SqliteAcpSessionStore(config.auditDatabasePath);
|
|
837
|
+
const outbox = new SessionEventOutbox(config.auditDatabasePath);
|
|
819
838
|
const sessions = new AcpSessionManager(new NullAcpSessionObserver(), sessionStore);
|
|
820
839
|
const directories = new WorkspaceDirectoryService(config.bindingId, config.defaultWorkspace);
|
|
821
840
|
const installationObserver = new DaemonInstallationObserver();
|
|
@@ -826,7 +845,7 @@ export async function runDaemon(config, audit, signal, timer = systemDaemonTimer
|
|
|
826
845
|
while (!signal.aborted) {
|
|
827
846
|
try {
|
|
828
847
|
await publishAgentCatalog(config, signal);
|
|
829
|
-
await runRelayConnection(config, directories, audit, sessions, installations, installationObserver, nativeSessions, signal, timer);
|
|
848
|
+
await runRelayConnection(config, directories, audit, sessions, installations, installationObserver, nativeSessions, outbox, signal, timer);
|
|
830
849
|
retryAnnounced = false;
|
|
831
850
|
}
|
|
832
851
|
catch {
|
|
@@ -850,7 +869,12 @@ export async function runDaemon(config, audit, signal, timer = systemDaemonTimer
|
|
|
850
869
|
await sessions.close();
|
|
851
870
|
}
|
|
852
871
|
finally {
|
|
853
|
-
|
|
872
|
+
try {
|
|
873
|
+
sessionStore.close();
|
|
874
|
+
}
|
|
875
|
+
finally {
|
|
876
|
+
outbox.close();
|
|
877
|
+
}
|
|
854
878
|
}
|
|
855
879
|
}
|
|
856
880
|
}
|
package/dist/run-daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-daemon.js","sourceRoot":"","sources":["../src/run-daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-daemon.js","sourceRoot":"","sources":["../src/run-daemon.ts"],"names":[],"mappings":"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"}
|