@moxt-ai/mobius 0.0.156 → 0.0.157
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/agent-session.d.ts.map +1 -1
- package/dist/acp/agent-session.js +14 -1
- package/dist/acp/agent-session.js.map +1 -1
- package/dist/acp/session-store.d.ts +12 -6
- package/dist/acp/session-store.d.ts.map +1 -1
- package/dist/acp/session-store.js +36 -5
- package/dist/acp/session-store.js.map +1 -1
- package/dist/cli.js +241 -106
- package/dist/cli.js.map +3 -3
- package/dist/daemon-command-handler.d.ts.map +1 -1
- package/dist/daemon-command-handler.js +5 -2
- package/dist/daemon-command-handler.js.map +1 -1
- package/dist/daemon-history-commands.d.ts +1 -1
- package/dist/daemon-history-commands.d.ts.map +1 -1
- package/dist/daemon-history-commands.js +3 -12
- package/dist/daemon-history-commands.js.map +1 -1
- package/dist/daemon-observers.d.ts +2 -2
- package/dist/daemon-observers.d.ts.map +1 -1
- package/dist/daemon-observers.js +17 -1
- package/dist/daemon-observers.js.map +1 -1
- package/dist/index.js +240 -105
- package/dist/index.js.map +3 -3
- package/dist/run-daemon.js +1 -1
- package/dist/run-daemon.js.map +1 -1
- package/dist/runtime.js +240 -105
- package/dist/runtime.js.map +3 -3
- package/dist/session-event-log-v2.d.ts +3 -3
- package/dist/session-event-log-v2.d.ts.map +1 -1
- package/dist/session-event-log-v2.js +103 -84
- package/dist/session-event-log-v2.js.map +1 -1
- package/package.json +1 -1
package/dist/run-daemon.js
CHANGED
|
@@ -94,7 +94,7 @@ export async function runDaemon(config, audit, signal, timer = systemDaemonTimer
|
|
|
94
94
|
const recordSessionEvent = (sessionId, event) => {
|
|
95
95
|
publisher.publish(sessionId, activeTurns.recordEvent(event));
|
|
96
96
|
};
|
|
97
|
-
const agentRuntime = new AgentRuntimeManager(new DaemonAcpObserver(recordSessionEvent, eventLogV2.
|
|
97
|
+
const agentRuntime = new AgentRuntimeManager(new DaemonAcpObserver(recordSessionEvent, eventLogV2.record), sessionStore, {
|
|
98
98
|
read: async (options, nativeSessionId, nativeTurn) => options.agent.id === "codex"
|
|
99
99
|
? (await readCodexFullHistory(options.agent, options.cwd, nativeSessionId, options.signal, nativeTurn)).history
|
|
100
100
|
: null,
|
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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"}
|
package/dist/runtime.js
CHANGED
|
@@ -21489,8 +21489,15 @@ var acpSessionUpdateV2Schema = external_exports.discriminatedUnion("sessionUpdat
|
|
|
21489
21489
|
}).readonly()
|
|
21490
21490
|
]);
|
|
21491
21491
|
var lifecycleBase = { commandId: identifierStringSchema };
|
|
21492
|
-
var
|
|
21493
|
-
external_exports.strictObject({ kind: external_exports.literal("
|
|
21492
|
+
var lifecycleMetadataV2Schema = external_exports.discriminatedUnion("kind", [
|
|
21493
|
+
external_exports.strictObject({ kind: external_exports.literal("session.queue.changed") }).readonly(),
|
|
21494
|
+
external_exports.strictObject({ event: sessionPermissionRequestedEventSchema, kind: external_exports.literal("session.permission.requested") }).readonly(),
|
|
21495
|
+
external_exports.strictObject({ event: sessionPermissionResolvedEventSchema, kind: external_exports.literal("session.permission.resolved") }).readonly(),
|
|
21496
|
+
external_exports.strictObject({
|
|
21497
|
+
event: sessionElicitationRequestedEventSchema,
|
|
21498
|
+
kind: external_exports.literal("session.elicitation.requested")
|
|
21499
|
+
}).readonly(),
|
|
21500
|
+
external_exports.strictObject({ event: sessionElicitationResolvedEventSchema, kind: external_exports.literal("session.elicitation.resolved") }).readonly(),
|
|
21494
21501
|
external_exports.strictObject({
|
|
21495
21502
|
...lifecycleBase,
|
|
21496
21503
|
content: external_exports.array(contentBlockV2Schema).min(1).max(100).readonly(),
|
|
@@ -21512,6 +21519,10 @@ var sessionEventPayloadV2Schema = external_exports.discriminatedUnion("kind", [
|
|
|
21512
21519
|
message: external_exports.string().min(1).max(500)
|
|
21513
21520
|
}).readonly()
|
|
21514
21521
|
]);
|
|
21522
|
+
var sessionEventPayloadV2Schema = external_exports.discriminatedUnion("type", [
|
|
21523
|
+
external_exports.strictObject({ payload: acpSessionUpdateV2Schema, type: external_exports.literal("acp") }).readonly(),
|
|
21524
|
+
external_exports.strictObject({ payload: lifecycleMetadataV2Schema, type: external_exports.literal("lifecycle-metadata") }).readonly()
|
|
21525
|
+
]);
|
|
21515
21526
|
var positionSchema = external_exports.string().regex(/^(0|[1-9][0-9]*)$/);
|
|
21516
21527
|
var provenanceSchema = external_exports.discriminatedUnion("kind", [
|
|
21517
21528
|
external_exports.strictObject({ kind: external_exports.literal("original") }).readonly(),
|
|
@@ -21528,13 +21539,62 @@ var provenanceSchema = external_exports.discriminatedUnion("kind", [
|
|
|
21528
21539
|
sourceSessionId: identifierStringSchema
|
|
21529
21540
|
}).readonly()
|
|
21530
21541
|
]);
|
|
21531
|
-
var
|
|
21542
|
+
var sessionEventFieldsV2 = {
|
|
21532
21543
|
eventId: identifierStringSchema,
|
|
21533
|
-
payload: sessionEventPayloadV2Schema,
|
|
21534
21544
|
position: positionSchema,
|
|
21535
21545
|
provenance: provenanceSchema,
|
|
21536
21546
|
recordedAt: external_exports.iso.datetime({ offset: true }),
|
|
21537
21547
|
sessionId: identifierStringSchema
|
|
21548
|
+
};
|
|
21549
|
+
var sessionEventV2Schema = external_exports.discriminatedUnion("type", [
|
|
21550
|
+
external_exports.strictObject({ ...sessionEventFieldsV2, payload: acpSessionUpdateV2Schema, type: external_exports.literal("acp") }).readonly(),
|
|
21551
|
+
external_exports.strictObject({
|
|
21552
|
+
...sessionEventFieldsV2,
|
|
21553
|
+
payload: lifecycleMetadataV2Schema,
|
|
21554
|
+
type: external_exports.literal("lifecycle-metadata")
|
|
21555
|
+
}).readonly()
|
|
21556
|
+
]);
|
|
21557
|
+
var sessionExportV2Schema = external_exports.strictObject({
|
|
21558
|
+
binding: external_exports.strictObject({
|
|
21559
|
+
bindingId: identifierStringSchema,
|
|
21560
|
+
runtimeId: identifierStringSchema
|
|
21561
|
+
}).readonly(),
|
|
21562
|
+
events: external_exports.array(sessionEventV2Schema).max(MAX_EVENT_COUNT).readonly(),
|
|
21563
|
+
sessionId: identifierStringSchema,
|
|
21564
|
+
truncated: external_exports.boolean()
|
|
21565
|
+
}).readonly().superRefine((session, context) => {
|
|
21566
|
+
let previousPosition = 0n;
|
|
21567
|
+
const eventIds = /* @__PURE__ */ new Set();
|
|
21568
|
+
for (const [index2, event] of session.events.entries()) {
|
|
21569
|
+
if (event.sessionId !== session.sessionId) {
|
|
21570
|
+
context.addIssue({
|
|
21571
|
+
code: "custom",
|
|
21572
|
+
message: "Exported event belongs to a different Session",
|
|
21573
|
+
path: ["events", index2, "sessionId"]
|
|
21574
|
+
});
|
|
21575
|
+
}
|
|
21576
|
+
const position = BigInt(event.position);
|
|
21577
|
+
if (position <= previousPosition) {
|
|
21578
|
+
context.addIssue({
|
|
21579
|
+
code: "custom",
|
|
21580
|
+
message: "Exported events are not in increasing position order",
|
|
21581
|
+
path: ["events", index2, "position"]
|
|
21582
|
+
});
|
|
21583
|
+
}
|
|
21584
|
+
if (eventIds.has(event.eventId)) {
|
|
21585
|
+
context.addIssue({
|
|
21586
|
+
code: "custom",
|
|
21587
|
+
message: "Exported event identities are not unique",
|
|
21588
|
+
path: ["events", index2, "eventId"]
|
|
21589
|
+
});
|
|
21590
|
+
}
|
|
21591
|
+
previousPosition = position;
|
|
21592
|
+
eventIds.add(event.eventId);
|
|
21593
|
+
}
|
|
21594
|
+
});
|
|
21595
|
+
var mobiusSessionExportV2Schema = external_exports.strictObject({
|
|
21596
|
+
formatVersion: external_exports.literal("2"),
|
|
21597
|
+
session: sessionExportV2Schema
|
|
21538
21598
|
}).readonly();
|
|
21539
21599
|
var sessionEventEnvelopeV2Schema = external_exports.strictObject({ event: sessionEventV2Schema, kind: external_exports.literal(SESSION_EVENT_V2_KIND) }).readonly();
|
|
21540
21600
|
var sessionEventLogPageV2Schema = external_exports.strictObject({
|
|
@@ -35036,8 +35096,15 @@ var MemoryAcpSessionStore = class {
|
|
|
35036
35096
|
#sessions = /* @__PURE__ */ new Map();
|
|
35037
35097
|
#deleted = /* @__PURE__ */ new Set();
|
|
35038
35098
|
#eventsV2 = /* @__PURE__ */ new Map();
|
|
35039
|
-
|
|
35040
|
-
|
|
35099
|
+
appendExecutingPromptEventV2 = (event) => {
|
|
35100
|
+
const events = this.#eventsV2.get(event.sessionId);
|
|
35101
|
+
if (events === void 0) {
|
|
35102
|
+
throw new Error("The executing prompt event log has not started");
|
|
35103
|
+
}
|
|
35104
|
+
events.push(event);
|
|
35105
|
+
};
|
|
35106
|
+
clearExecutingPromptEventsV2 = (sessionId) => {
|
|
35107
|
+
this.#eventsV2.delete(sessionId);
|
|
35041
35108
|
};
|
|
35042
35109
|
close = () => {
|
|
35043
35110
|
this.#sessions.clear();
|
|
@@ -35068,7 +35135,12 @@ var MemoryAcpSessionStore = class {
|
|
|
35068
35135
|
this.#sessions.delete(sessionId);
|
|
35069
35136
|
this.#eventsV2.delete(sessionId);
|
|
35070
35137
|
};
|
|
35071
|
-
|
|
35138
|
+
readExecutingPromptEventsV2 = (sessionId) => [
|
|
35139
|
+
...this.#eventsV2.get(sessionId) ?? []
|
|
35140
|
+
];
|
|
35141
|
+
startExecutingPromptEventsV2 = (sessionId, events) => {
|
|
35142
|
+
this.#eventsV2.set(sessionId, [...events]);
|
|
35143
|
+
};
|
|
35072
35144
|
write = (session) => {
|
|
35073
35145
|
this.#sessions.set(session.sessionId, session);
|
|
35074
35146
|
};
|
|
@@ -35136,7 +35208,7 @@ var SqliteAcpSessionStore = class {
|
|
|
35136
35208
|
close = () => {
|
|
35137
35209
|
this.#sqliteDatabase.close();
|
|
35138
35210
|
};
|
|
35139
|
-
|
|
35211
|
+
appendExecutingPromptEventV2 = (event) => {
|
|
35140
35212
|
this.#database.insert(sessionEventV2).values({
|
|
35141
35213
|
eventId: event.eventId,
|
|
35142
35214
|
eventJson: JSON.stringify(event),
|
|
@@ -35144,6 +35216,22 @@ var SqliteAcpSessionStore = class {
|
|
|
35144
35216
|
sessionId: event.sessionId
|
|
35145
35217
|
}).run();
|
|
35146
35218
|
};
|
|
35219
|
+
clearExecutingPromptEventsV2 = (sessionId) => {
|
|
35220
|
+
this.#database.delete(sessionEventV2).where(eq(sessionEventV2.sessionId, sessionId)).run();
|
|
35221
|
+
};
|
|
35222
|
+
startExecutingPromptEventsV2 = (sessionId, events) => {
|
|
35223
|
+
this.#database.transaction((transaction) => {
|
|
35224
|
+
transaction.delete(sessionEventV2).where(eq(sessionEventV2.sessionId, sessionId)).run();
|
|
35225
|
+
for (const event of events) {
|
|
35226
|
+
transaction.insert(sessionEventV2).values({
|
|
35227
|
+
eventId: event.eventId,
|
|
35228
|
+
eventJson: JSON.stringify(event),
|
|
35229
|
+
position: Number(event.position),
|
|
35230
|
+
sessionId: event.sessionId
|
|
35231
|
+
}).run();
|
|
35232
|
+
}
|
|
35233
|
+
});
|
|
35234
|
+
};
|
|
35147
35235
|
findNative = (agentId, nativeSessionId) => this.#database.select().from(acpSession).where(and(eq(acpSession.agentId, agentId), eq(acpSession.nativeSessionId, nativeSessionId))).all().map(decodeStoredSession);
|
|
35148
35236
|
list = () => this.#database.select().from(acpSession).orderBy(desc(acpSession.updatedAt)).all().map(decodeStoredSession);
|
|
35149
35237
|
markDeleted = (agentId, nativeSessionId) => {
|
|
@@ -35166,7 +35254,7 @@ var SqliteAcpSessionStore = class {
|
|
|
35166
35254
|
const row = this.#database.select().from(acpSession).where(eq(acpSession.sessionId, sessionId)).get();
|
|
35167
35255
|
return row === void 0 ? new MissingAcpStoredSession() : new FoundAcpStoredSession(decodeStoredSession(row));
|
|
35168
35256
|
};
|
|
35169
|
-
|
|
35257
|
+
readExecutingPromptEventsV2 = (sessionId) => this.#database.select({ eventJson: sessionEventV2.eventJson }).from(sessionEventV2).where(eq(sessionEventV2.sessionId, sessionId)).orderBy(asc(sessionEventV2.position)).all().map((row) => decodeSessionEventV2(row.eventJson));
|
|
35170
35258
|
remove = (sessionId) => {
|
|
35171
35259
|
this.#database.transaction((transaction) => {
|
|
35172
35260
|
transaction.delete(acpSession).where(eq(acpSession.sessionId, sessionId)).run();
|
|
@@ -35844,6 +35932,19 @@ var AgentSession = class _AgentSession {
|
|
|
35844
35932
|
if (this.#turn.running) {
|
|
35845
35933
|
throw new AcpExecutionError("Another prompt is already running in this conversation", {}, "session_busy");
|
|
35846
35934
|
}
|
|
35935
|
+
switch (this.#sessionLoad.kind) {
|
|
35936
|
+
case "not-requested":
|
|
35937
|
+
break;
|
|
35938
|
+
case "loaded":
|
|
35939
|
+
this.#sessionLoad = { kind: "not-requested" };
|
|
35940
|
+
break;
|
|
35941
|
+
case "capturing":
|
|
35942
|
+
throw new AcpExecutionError("Session history is still loading", {}, "session_busy");
|
|
35943
|
+
default: {
|
|
35944
|
+
const unexpected = this.#sessionLoad;
|
|
35945
|
+
throw new Error(`Unexpected Session load state: ${JSON.stringify(unexpected)}`);
|
|
35946
|
+
}
|
|
35947
|
+
}
|
|
35847
35948
|
const prompt = this.buildPrompt(options);
|
|
35848
35949
|
if (this.#sessionTitle === null || this.#sessionTitle.length === 0) {
|
|
35849
35950
|
this.#sessionTitle = truncate(options.prompt, 500);
|
|
@@ -36009,7 +36110,7 @@ var AgentSession = class _AgentSession {
|
|
|
36009
36110
|
this.assertNativeSession(notification.sessionId);
|
|
36010
36111
|
const update = notification.update;
|
|
36011
36112
|
const rawUpdate = decodeAcpSessionUpdateV2(JSON.stringify(update));
|
|
36012
|
-
if (this.#sessionLoad.kind
|
|
36113
|
+
if (this.#sessionLoad.kind === "capturing") {
|
|
36013
36114
|
await this.#sessionLoad.history.record(update, rawUpdate);
|
|
36014
36115
|
} else {
|
|
36015
36116
|
const onAcpUpdate = this.#getObserver().onAcpUpdate;
|
|
@@ -38360,7 +38461,7 @@ var DaemonAcpObserver = class {
|
|
|
38360
38461
|
this.#recordV2 = recordV2;
|
|
38361
38462
|
}
|
|
38362
38463
|
onAcpUpdate = (sessionId, update) => {
|
|
38363
|
-
this.#recordV2(sessionId, update);
|
|
38464
|
+
this.#recordV2(sessionId, { payload: update, type: "acp" });
|
|
38364
38465
|
return Promise.resolve();
|
|
38365
38466
|
};
|
|
38366
38467
|
onCommands = (event) => {
|
|
@@ -38377,10 +38478,18 @@ var DaemonAcpObserver = class {
|
|
|
38377
38478
|
};
|
|
38378
38479
|
onElicitation = (event) => {
|
|
38379
38480
|
this.#record(event.sessionId, event);
|
|
38481
|
+
this.#recordV2(event.sessionId, {
|
|
38482
|
+
payload: { event, kind: "session.elicitation.requested" },
|
|
38483
|
+
type: "lifecycle-metadata"
|
|
38484
|
+
});
|
|
38380
38485
|
return Promise.resolve();
|
|
38381
38486
|
};
|
|
38382
38487
|
onElicitationResolved = (event) => {
|
|
38383
38488
|
this.#record(event.sessionId, event);
|
|
38489
|
+
this.#recordV2(event.sessionId, {
|
|
38490
|
+
payload: { event, kind: "session.elicitation.resolved" },
|
|
38491
|
+
type: "lifecycle-metadata"
|
|
38492
|
+
});
|
|
38384
38493
|
return Promise.resolve();
|
|
38385
38494
|
};
|
|
38386
38495
|
onInfo = (event) => {
|
|
@@ -38389,10 +38498,18 @@ var DaemonAcpObserver = class {
|
|
|
38389
38498
|
};
|
|
38390
38499
|
onPermission = (event) => {
|
|
38391
38500
|
this.#record(event.sessionId, event);
|
|
38501
|
+
this.#recordV2(event.sessionId, {
|
|
38502
|
+
payload: { event, kind: "session.permission.requested" },
|
|
38503
|
+
type: "lifecycle-metadata"
|
|
38504
|
+
});
|
|
38392
38505
|
return Promise.resolve();
|
|
38393
38506
|
};
|
|
38394
38507
|
onPermissionResolved = (event) => {
|
|
38395
38508
|
this.#record(event.sessionId, event);
|
|
38509
|
+
this.#recordV2(event.sessionId, {
|
|
38510
|
+
payload: { event, kind: "session.permission.resolved" },
|
|
38511
|
+
type: "lifecycle-metadata"
|
|
38512
|
+
});
|
|
38396
38513
|
return Promise.resolve();
|
|
38397
38514
|
};
|
|
38398
38515
|
onUsage = (event) => {
|
|
@@ -41633,25 +41750,16 @@ function replayEvent(sessionId, position, update) {
|
|
|
41633
41750
|
const eventId = `native-${createHash5("sha256").update(sessionId).update(":").update(position.toString()).update(":").update(encoded).digest("hex")}`;
|
|
41634
41751
|
return {
|
|
41635
41752
|
eventId,
|
|
41636
|
-
payload:
|
|
41753
|
+
payload: update,
|
|
41637
41754
|
position: position.toString(),
|
|
41638
41755
|
provenance: { kind: "original" },
|
|
41639
41756
|
recordedAt: "1970-01-01T00:00:00.000Z",
|
|
41640
|
-
sessionId
|
|
41757
|
+
sessionId,
|
|
41758
|
+
type: "acp"
|
|
41641
41759
|
};
|
|
41642
41760
|
}
|
|
41643
|
-
async function executeSessionLiveHistoryV2PageLoad(socket, command, config2, directories, audit, sessions,
|
|
41761
|
+
async function executeSessionLiveHistoryV2PageLoad(socket, command, config2, directories, audit, sessions, executingPromptRequest, signal) {
|
|
41644
41762
|
try {
|
|
41645
|
-
const local = localRecovery(command.sessionId, command.eventLimit, command.cursor);
|
|
41646
|
-
if (local !== null) {
|
|
41647
|
-
send(socket, {
|
|
41648
|
-
events: local,
|
|
41649
|
-
kind: "session.live-history.v2.page.loaded",
|
|
41650
|
-
requestId: command.requestId,
|
|
41651
|
-
sessionId: command.sessionId
|
|
41652
|
-
});
|
|
41653
|
-
return;
|
|
41654
|
-
}
|
|
41655
41763
|
const resolved = await resolveSessionDirectories(
|
|
41656
41764
|
directories,
|
|
41657
41765
|
config2.bindingId,
|
|
@@ -42535,7 +42643,10 @@ function createDaemonCommandHandler({
|
|
|
42535
42643
|
timer,
|
|
42536
42644
|
resolveEnvironment: resolveAgentCatalogEnvironment
|
|
42537
42645
|
});
|
|
42538
|
-
const queueChanged = (sessionId) =>
|
|
42646
|
+
const queueChanged = (sessionId) => {
|
|
42647
|
+
publisher.publish(sessionId, { kind: "session.queue.changed", sessionId });
|
|
42648
|
+
eventLogV2.queueChanged(sessionId);
|
|
42649
|
+
};
|
|
42539
42650
|
const activeTurnRecovery = (sessionId) => activeTurns.recovery((command) => command.sessionId === sessionId);
|
|
42540
42651
|
const nativeRequestHandler = createNativeSessionRequestHandler({
|
|
42541
42652
|
audit,
|
|
@@ -42585,7 +42696,6 @@ function createDaemonCommandHandler({
|
|
|
42585
42696
|
directories,
|
|
42586
42697
|
audit,
|
|
42587
42698
|
sessions,
|
|
42588
|
-
eventLogV2.recovery,
|
|
42589
42699
|
eventLogV2.executingPromptRequest,
|
|
42590
42700
|
signal
|
|
42591
42701
|
);
|
|
@@ -43301,6 +43411,15 @@ var systemDaemonTimer = new SystemDaemonTimer();
|
|
|
43301
43411
|
|
|
43302
43412
|
// src/session-event-log-v2.ts
|
|
43303
43413
|
var EXECUTING_PROMPT_EVENT_LIMIT = 1e4;
|
|
43414
|
+
function eventArray(tail) {
|
|
43415
|
+
const reversed = [];
|
|
43416
|
+
let node2 = tail;
|
|
43417
|
+
while (node2 !== null) {
|
|
43418
|
+
reversed.push(node2.event);
|
|
43419
|
+
node2 = node2.previous;
|
|
43420
|
+
}
|
|
43421
|
+
return reversed.reverse();
|
|
43422
|
+
}
|
|
43304
43423
|
function promptContent(command) {
|
|
43305
43424
|
const content = [];
|
|
43306
43425
|
if (command.prompt.length > 0) {
|
|
@@ -43324,27 +43443,8 @@ function promptContent(command) {
|
|
|
43324
43443
|
}
|
|
43325
43444
|
return content;
|
|
43326
43445
|
}
|
|
43327
|
-
function encodeLocalEventCursor(cursor) {
|
|
43328
|
-
return Buffer.from(JSON.stringify(cursor), "utf8").toString("base64url");
|
|
43329
|
-
}
|
|
43330
|
-
function decodeLocalEventCursor(sessionId, cursor) {
|
|
43331
|
-
try {
|
|
43332
|
-
const value = JSON.parse(Buffer.from(cursor, "base64url").toString("utf8"));
|
|
43333
|
-
if (typeof value !== "object" || value === null || Array.isArray(value) || Object.keys(value).sort().join(",") !== "endEvent,sessionId" || Reflect.get(value, "sessionId") !== sessionId) {
|
|
43334
|
-
throw new Error("Invalid V2 event cursor target");
|
|
43335
|
-
}
|
|
43336
|
-
const endEvent = Reflect.get(value, "endEvent");
|
|
43337
|
-
if (typeof endEvent !== "number" || !Number.isSafeInteger(endEvent) || endEvent < 0) {
|
|
43338
|
-
throw new Error("Invalid V2 event cursor boundary");
|
|
43339
|
-
}
|
|
43340
|
-
return { endEvent, sessionId };
|
|
43341
|
-
} catch (cause) {
|
|
43342
|
-
throw new AcpExecutionError("The native Session event cursor is invalid", { cause }, "invalid_cursor");
|
|
43343
|
-
}
|
|
43344
|
-
}
|
|
43345
43446
|
var DaemonSessionEventLogV2 = class {
|
|
43346
43447
|
#positions = /* @__PURE__ */ new Map();
|
|
43347
|
-
#events = /* @__PURE__ */ new Map();
|
|
43348
43448
|
#requests = /* @__PURE__ */ new Map();
|
|
43349
43449
|
#loadedRequestSessions = /* @__PURE__ */ new Set();
|
|
43350
43450
|
#publisher;
|
|
@@ -43353,13 +43453,8 @@ var DaemonSessionEventLogV2 = class {
|
|
|
43353
43453
|
this.#publisher = publisher;
|
|
43354
43454
|
this.#store = store;
|
|
43355
43455
|
}
|
|
43356
|
-
#
|
|
43357
|
-
const
|
|
43358
|
-
if (cached2 !== void 0) {
|
|
43359
|
-
return cached2;
|
|
43360
|
-
}
|
|
43361
|
-
const stored = this.#store.readEventsV2(sessionId);
|
|
43362
|
-
this.#events.set(sessionId, stored);
|
|
43456
|
+
#loadStoredEvents = (sessionId) => {
|
|
43457
|
+
const stored = this.#store.readExecutingPromptEventsV2(sessionId);
|
|
43363
43458
|
const lastPosition = stored.at(-1)?.position;
|
|
43364
43459
|
if (lastPosition !== void 0) {
|
|
43365
43460
|
this.#positions.set(sessionId, Number(lastPosition));
|
|
@@ -43370,25 +43465,37 @@ var DaemonSessionEventLogV2 = class {
|
|
|
43370
43465
|
if (this.#loadedRequestSessions.has(sessionId)) {
|
|
43371
43466
|
return;
|
|
43372
43467
|
}
|
|
43373
|
-
for (const event of this.#
|
|
43468
|
+
for (const event of this.#loadStoredEvents(sessionId)) {
|
|
43469
|
+
if (event.type === "acp") {
|
|
43470
|
+
const executing = [...this.#requests.values()].find(
|
|
43471
|
+
(request) => request.sessionId === sessionId && request.kind === "executing"
|
|
43472
|
+
);
|
|
43473
|
+
if (executing !== void 0) {
|
|
43474
|
+
this.#requests.set(executing.commandId, {
|
|
43475
|
+
...executing,
|
|
43476
|
+
eventTail: { event, previous: executing.eventTail }
|
|
43477
|
+
});
|
|
43478
|
+
}
|
|
43479
|
+
continue;
|
|
43480
|
+
}
|
|
43374
43481
|
const payload = event.payload;
|
|
43375
43482
|
if (payload.kind === "prompt.requested") {
|
|
43376
43483
|
this.#requests.set(payload.commandId, {
|
|
43377
43484
|
commandId: payload.commandId,
|
|
43378
|
-
|
|
43485
|
+
eventTail: { event, previous: null },
|
|
43379
43486
|
kind: "requested",
|
|
43380
43487
|
sessionId
|
|
43381
43488
|
});
|
|
43382
43489
|
continue;
|
|
43383
43490
|
}
|
|
43384
|
-
if (
|
|
43491
|
+
if ("event" in payload) {
|
|
43385
43492
|
const executing = [...this.#requests.values()].find(
|
|
43386
43493
|
(request) => request.sessionId === sessionId && request.kind === "executing"
|
|
43387
43494
|
);
|
|
43388
43495
|
if (executing !== void 0) {
|
|
43389
43496
|
this.#requests.set(executing.commandId, {
|
|
43390
43497
|
...executing,
|
|
43391
|
-
|
|
43498
|
+
eventTail: { event, previous: executing.eventTail }
|
|
43392
43499
|
});
|
|
43393
43500
|
}
|
|
43394
43501
|
continue;
|
|
@@ -43400,13 +43507,12 @@ var DaemonSessionEventLogV2 = class {
|
|
|
43400
43507
|
if (state === void 0) {
|
|
43401
43508
|
continue;
|
|
43402
43509
|
}
|
|
43403
|
-
const events = [...state.events, event];
|
|
43404
43510
|
if (payload.kind === "prompt.started") {
|
|
43405
43511
|
this.#requests.set(payload.commandId, {
|
|
43406
43512
|
attemptId: payload.attemptId,
|
|
43407
43513
|
commandId: payload.commandId,
|
|
43408
43514
|
epoch: payload.epoch,
|
|
43409
|
-
|
|
43515
|
+
eventTail: { event, previous: state.eventTail },
|
|
43410
43516
|
kind: "executing",
|
|
43411
43517
|
sessionId
|
|
43412
43518
|
});
|
|
@@ -43417,31 +43523,41 @@ var DaemonSessionEventLogV2 = class {
|
|
|
43417
43523
|
this.#loadedRequestSessions.add(sessionId);
|
|
43418
43524
|
};
|
|
43419
43525
|
#append = (sessionId, payload) => {
|
|
43420
|
-
this.#
|
|
43526
|
+
this.#loadRequests(sessionId);
|
|
43421
43527
|
const position = (this.#positions.get(sessionId) ?? 0) + 1;
|
|
43422
43528
|
const event = {
|
|
43423
43529
|
eventId: `event-${crypto.randomUUID()}`,
|
|
43424
|
-
payload,
|
|
43530
|
+
...payload,
|
|
43425
43531
|
position: position.toString(),
|
|
43426
43532
|
provenance: { kind: "original" },
|
|
43427
43533
|
recordedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
43428
43534
|
sessionId
|
|
43429
43535
|
};
|
|
43430
|
-
this.#store.appendEventV2(event);
|
|
43431
43536
|
this.#positions.set(sessionId, position);
|
|
43432
|
-
this.#events.set(sessionId, [...this.#eventsFor(sessionId), event]);
|
|
43433
43537
|
this.#publisher.publishV2(event);
|
|
43434
43538
|
return event;
|
|
43435
43539
|
};
|
|
43436
43540
|
requested = (command) => {
|
|
43541
|
+
const content = promptContent(command);
|
|
43437
43542
|
const event = this.#append(command.sessionId, {
|
|
43438
|
-
commandId: command.commandId,
|
|
43439
|
-
|
|
43440
|
-
kind: "prompt.requested"
|
|
43543
|
+
payload: { commandId: command.commandId, content, kind: "prompt.requested" },
|
|
43544
|
+
type: "lifecycle-metadata"
|
|
43441
43545
|
});
|
|
43546
|
+
let eventTail = { event, previous: null };
|
|
43547
|
+
for (const block of content) {
|
|
43548
|
+
const userMessageEvent = this.#append(command.sessionId, {
|
|
43549
|
+
payload: {
|
|
43550
|
+
content: block,
|
|
43551
|
+
messageId: command.commandId,
|
|
43552
|
+
sessionUpdate: "user_message_chunk"
|
|
43553
|
+
},
|
|
43554
|
+
type: "acp"
|
|
43555
|
+
});
|
|
43556
|
+
eventTail = { event: userMessageEvent, previous: eventTail };
|
|
43557
|
+
}
|
|
43442
43558
|
this.#requests.set(command.commandId, {
|
|
43443
43559
|
commandId: command.commandId,
|
|
43444
|
-
|
|
43560
|
+
eventTail,
|
|
43445
43561
|
kind: "requested",
|
|
43446
43562
|
sessionId: command.sessionId
|
|
43447
43563
|
});
|
|
@@ -43452,39 +43568,85 @@ var DaemonSessionEventLogV2 = class {
|
|
|
43452
43568
|
if (request?.sessionId !== sessionId) {
|
|
43453
43569
|
return;
|
|
43454
43570
|
}
|
|
43455
|
-
const event = this.#append(sessionId, {
|
|
43571
|
+
const event = this.#append(sessionId, {
|
|
43572
|
+
payload: { attemptId, commandId, epoch, kind: "prompt.started" },
|
|
43573
|
+
type: "lifecycle-metadata"
|
|
43574
|
+
});
|
|
43456
43575
|
this.#requests.set(commandId, {
|
|
43457
43576
|
attemptId,
|
|
43458
43577
|
commandId,
|
|
43459
43578
|
epoch,
|
|
43460
|
-
|
|
43579
|
+
eventTail: { event, previous: request.eventTail },
|
|
43461
43580
|
kind: "executing",
|
|
43462
43581
|
sessionId
|
|
43463
43582
|
});
|
|
43583
|
+
this.#store.startExecutingPromptEventsV2(sessionId, eventArray({ event, previous: request.eventTail }));
|
|
43464
43584
|
};
|
|
43465
|
-
|
|
43585
|
+
record = (sessionId, payload) => {
|
|
43466
43586
|
this.#loadRequests(sessionId);
|
|
43467
|
-
const event = this.#append(sessionId,
|
|
43587
|
+
const event = this.#append(sessionId, payload);
|
|
43588
|
+
this.#appendToExecutingRequest(sessionId, event);
|
|
43589
|
+
};
|
|
43590
|
+
#appendToExecutingRequest = (sessionId, event) => {
|
|
43468
43591
|
const executing = [...this.#requests.values()].find(
|
|
43469
43592
|
(request) => request.sessionId === sessionId && request.kind === "executing"
|
|
43470
43593
|
);
|
|
43471
43594
|
if (executing !== void 0) {
|
|
43472
|
-
this.#requests.set(executing.commandId, {
|
|
43595
|
+
this.#requests.set(executing.commandId, {
|
|
43596
|
+
...executing,
|
|
43597
|
+
eventTail: { event, previous: executing.eventTail }
|
|
43598
|
+
});
|
|
43599
|
+
this.#store.appendExecutingPromptEventV2(event);
|
|
43473
43600
|
}
|
|
43474
43601
|
};
|
|
43602
|
+
queueChanged = (sessionId) => {
|
|
43603
|
+
const event = this.#append(sessionId, {
|
|
43604
|
+
payload: { kind: "session.queue.changed" },
|
|
43605
|
+
type: "lifecycle-metadata"
|
|
43606
|
+
});
|
|
43607
|
+
this.#appendToExecutingRequest(sessionId, event);
|
|
43608
|
+
};
|
|
43475
43609
|
completed = (sessionId, commandId, stopReason) => {
|
|
43476
|
-
this.#
|
|
43610
|
+
this.#loadRequests(sessionId);
|
|
43611
|
+
const request = this.#requests.get(commandId);
|
|
43612
|
+
const event = this.#append(sessionId, {
|
|
43613
|
+
payload: { commandId, kind: "prompt.completed", stopReason },
|
|
43614
|
+
type: "lifecycle-metadata"
|
|
43615
|
+
});
|
|
43477
43616
|
this.#requests.delete(commandId);
|
|
43617
|
+
if (request?.kind === "executing" && request.sessionId === sessionId) {
|
|
43618
|
+
this.#store.clearExecutingPromptEventsV2(sessionId);
|
|
43619
|
+
} else {
|
|
43620
|
+
this.#appendToExecutingRequest(sessionId, event);
|
|
43621
|
+
}
|
|
43478
43622
|
};
|
|
43479
43623
|
failed = (sessionId, commandId, code, message) => {
|
|
43480
43624
|
this.#loadRequests(sessionId);
|
|
43481
43625
|
const request = this.#requests.get(commandId);
|
|
43626
|
+
let event;
|
|
43482
43627
|
if (request?.kind === "executing" && request.commandId === commandId) {
|
|
43483
|
-
this.#append(sessionId, {
|
|
43628
|
+
event = this.#append(sessionId, {
|
|
43629
|
+
payload: {
|
|
43630
|
+
attemptId: request.attemptId,
|
|
43631
|
+
code,
|
|
43632
|
+
commandId,
|
|
43633
|
+
kind: "prompt.failed",
|
|
43634
|
+
message
|
|
43635
|
+
},
|
|
43636
|
+
type: "lifecycle-metadata"
|
|
43637
|
+
});
|
|
43484
43638
|
} else {
|
|
43485
|
-
this.#append(sessionId, {
|
|
43639
|
+
event = this.#append(sessionId, {
|
|
43640
|
+
payload: { code, commandId, kind: "prompt.failed-before-start", message },
|
|
43641
|
+
type: "lifecycle-metadata"
|
|
43642
|
+
});
|
|
43486
43643
|
}
|
|
43487
43644
|
this.#requests.delete(commandId);
|
|
43645
|
+
if (request?.kind === "executing" && request.sessionId === sessionId) {
|
|
43646
|
+
this.#store.clearExecutingPromptEventsV2(sessionId);
|
|
43647
|
+
} else {
|
|
43648
|
+
this.#appendToExecutingRequest(sessionId, event);
|
|
43649
|
+
}
|
|
43488
43650
|
};
|
|
43489
43651
|
executingPromptRequest = (sessionId) => {
|
|
43490
43652
|
this.#loadRequests(sessionId);
|
|
@@ -43494,42 +43656,15 @@ var DaemonSessionEventLogV2 = class {
|
|
|
43494
43656
|
if (request?.kind !== "executing") {
|
|
43495
43657
|
return null;
|
|
43496
43658
|
}
|
|
43497
|
-
const
|
|
43659
|
+
const requestEvents = eventArray(request.eventTail);
|
|
43660
|
+
const events = requestEvents.slice(-EXECUTING_PROMPT_EVENT_LIMIT);
|
|
43498
43661
|
return {
|
|
43499
43662
|
attemptId: request.attemptId,
|
|
43500
43663
|
commandId: request.commandId,
|
|
43501
43664
|
epoch: request.epoch,
|
|
43502
43665
|
events,
|
|
43503
43666
|
tailCursor: events.at(-1)?.eventId ?? "",
|
|
43504
|
-
truncated: events.length <
|
|
43505
|
-
};
|
|
43506
|
-
};
|
|
43507
|
-
recovery = (sessionId, eventLimit, cursor) => {
|
|
43508
|
-
const events = this.#eventsFor(sessionId);
|
|
43509
|
-
if (events.length === 0) {
|
|
43510
|
-
return null;
|
|
43511
|
-
}
|
|
43512
|
-
const executingPromptRequest = this.executingPromptRequest(sessionId);
|
|
43513
|
-
const executingRequestState = [...this.#requests.values()].find(
|
|
43514
|
-
(request) => request.sessionId === sessionId && request.kind === "executing"
|
|
43515
|
-
);
|
|
43516
|
-
const firstExecutingPosition = executingRequestState?.events[0]?.position;
|
|
43517
|
-
const historyEvents = firstExecutingPosition === void 0 ? events : events.filter((event) => BigInt(event.position) < BigInt(firstExecutingPosition));
|
|
43518
|
-
const endEvent = cursor === null ? historyEvents.length : decodeLocalEventCursor(sessionId, cursor).endEvent;
|
|
43519
|
-
if (endEvent > historyEvents.length) {
|
|
43520
|
-
throw new AcpExecutionError("The native Session event cursor is invalid", {}, "invalid_cursor");
|
|
43521
|
-
}
|
|
43522
|
-
const startEvent = Math.max(0, endEvent - eventLimit);
|
|
43523
|
-
const pageEvents = historyEvents.slice(startEvent, endEvent);
|
|
43524
|
-
return {
|
|
43525
|
-
executingPromptRequest,
|
|
43526
|
-
history: {
|
|
43527
|
-
events: pageEvents,
|
|
43528
|
-
nextCursor: startEvent === 0 ? null : encodeLocalEventCursor({ endEvent: startEvent, sessionId }),
|
|
43529
|
-
tailCursor: pageEvents.at(-1)?.eventId ?? "",
|
|
43530
|
-
truncated: startEvent > 0,
|
|
43531
|
-
version: 2
|
|
43532
|
-
}
|
|
43667
|
+
truncated: events.length < requestEvents.length
|
|
43533
43668
|
};
|
|
43534
43669
|
};
|
|
43535
43670
|
};
|
|
@@ -43611,7 +43746,7 @@ async function runDaemon(config2, audit, signal, timer = systemDaemonTimer, opti
|
|
|
43611
43746
|
publisher.publish(sessionId, activeTurns.recordEvent(event));
|
|
43612
43747
|
};
|
|
43613
43748
|
const agentRuntime = new AgentRuntimeManager(
|
|
43614
|
-
new DaemonAcpObserver(recordSessionEvent, eventLogV2.
|
|
43749
|
+
new DaemonAcpObserver(recordSessionEvent, eventLogV2.record),
|
|
43615
43750
|
sessionStore,
|
|
43616
43751
|
{
|
|
43617
43752
|
read: async (options2, nativeSessionId, nativeTurn) => options2.agent.id === "codex" ? (await readCodexFullHistory(
|