@moxt-ai/mobius 0.0.178 → 0.0.180
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/codex/app-server-protocol.d.ts +11 -0
- package/dist/acp/codex/app-server-protocol.d.ts.map +1 -1
- package/dist/acp/codex/app-server-protocol.js +16 -0
- package/dist/acp/codex/app-server-protocol.js.map +1 -1
- package/dist/acp/codex/items.d.ts.map +1 -1
- package/dist/acp/codex/items.js +23 -0
- package/dist/acp/codex/items.js.map +1 -1
- package/dist/acp/session-contracts.d.ts +4 -2
- package/dist/acp/session-contracts.d.ts.map +1 -1
- package/dist/acp/session-contracts.js.map +1 -1
- package/dist/acp/session-event-store-v2.d.ts +9 -8
- package/dist/acp/session-event-store-v2.d.ts.map +1 -1
- package/dist/acp/session-event-store-v2.js +59 -25
- package/dist/acp/session-event-store-v2.js.map +1 -1
- package/dist/acp/session-history.d.ts +3 -3
- package/dist/acp/session-history.d.ts.map +1 -1
- package/dist/acp/session-history.js +2 -1
- package/dist/acp/session-history.js.map +1 -1
- package/dist/acp/session-store.d.ts.map +1 -1
- package/dist/acp/session-store.js +2 -3
- package/dist/acp/session-store.js.map +1 -1
- package/dist/cli.js +135 -55
- package/dist/cli.js.map +4 -4
- package/dist/daemon-history-commands.d.ts.map +1 -1
- package/dist/daemon-history-commands.js +2 -2
- package/dist/daemon-history-commands.js.map +1 -1
- package/dist/daemon-observers.d.ts +3 -2
- package/dist/daemon-observers.d.ts.map +1 -1
- package/dist/daemon-observers.js.map +1 -1
- package/dist/index.js +132 -52
- package/dist/index.js.map +4 -4
- package/dist/run-daemon.d.ts.map +1 -1
- package/dist/run-daemon.js +2 -3
- package/dist/run-daemon.js.map +1 -1
- package/dist/runtime.js +137 -57
- package/dist/runtime.js.map +4 -4
- package/dist/session-event-log-v2.d.ts +5 -5
- package/dist/session-event-log-v2.d.ts.map +1 -1
- package/dist/session-event-log-v2.js +6 -9
- package/dist/session-event-log-v2.js.map +1 -1
- package/package.json +1 -1
package/dist/run-daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-daemon.d.ts","sourceRoot":"","sources":["../src/run-daemon.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAchD,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAyElF,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,cAAc,KAAK,IAAI,CAAC;CAC7E;AAED,wBAAsB,SAAS,CAC3B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,KAAK,GAAE,WAA+B,EACtC,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"run-daemon.d.ts","sourceRoot":"","sources":["../src/run-daemon.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAchD,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,6BAA6B,CAAC;AAyElF,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,cAAc,KAAK,IAAI,CAAC;CAC7E;AAED,wBAAsB,SAAS,CAC3B,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,WAAW,EACnB,KAAK,GAAE,WAA+B,EACtC,OAAO,GAAE,gBAAqB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA0Nf"}
|
package/dist/run-daemon.js
CHANGED
|
@@ -145,11 +145,10 @@ export async function runDaemon(config, audit, signal, timer = systemDaemonTimer
|
|
|
145
145
|
stateDirectory,
|
|
146
146
|
});
|
|
147
147
|
const channelHash = createHash("sha256").update(config.channelId).digest("hex");
|
|
148
|
-
const daemonGenerationId = randomUUID();
|
|
149
148
|
const sessionDatabase = openAcpSessionDatabase(join(stateDirectory, "sessions", `${channelHash}.sqlite`));
|
|
150
149
|
let eventsV2;
|
|
151
150
|
try {
|
|
152
|
-
eventsV2 = new CachedAcpSessionEventStoreV2(openSessionEventCacheV2Database(join(stateDirectory, "sessions", `${channelHash}.events.sqlite`))
|
|
151
|
+
eventsV2 = new CachedAcpSessionEventStoreV2(openSessionEventCacheV2Database(join(stateDirectory, "sessions", `${channelHash}.events.sqlite`)));
|
|
153
152
|
}
|
|
154
153
|
catch (error) {
|
|
155
154
|
sessionDatabase.close();
|
|
@@ -159,7 +158,7 @@ export async function runDaemon(config, audit, signal, timer = systemDaemonTimer
|
|
|
159
158
|
const externalContent = __addDisposableResource(env_1, new LocalExternalContentStore(stateDirectory), true);
|
|
160
159
|
const operations = new DaemonOperationState();
|
|
161
160
|
const publisher = new DaemonSessionEventPublisher(timer);
|
|
162
|
-
const eventLogV2 = new DaemonSessionEventLogV2(publisher, (sessionId, event) => agentRuntime.recordLifecycleEventV2(sessionId, event)
|
|
161
|
+
const eventLogV2 = new DaemonSessionEventLogV2(publisher, (sessionId, event) => agentRuntime.recordLifecycleEventV2(sessionId, event));
|
|
163
162
|
const activeTurns = new DaemonTurnRegistry(operations);
|
|
164
163
|
const agentRuntime = new AgentRuntimeManager(new DaemonAcpObserver((_sessionId, event) => {
|
|
165
164
|
activeTurns.recordEvent(event);
|
package/dist/run-daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-daemon.js","sourceRoot":"","sources":["../src/run-daemon.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,qDAAqD,CAAC;AAEhG,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAC/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oDAAoD,CAAC;AAC/F,OAAO,EAAE,sBAAsB,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAAoB,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,MAAM,kCAAkC,GAAG,GAAG,CAAC;AAE/C,SAAS,iBAAiB,CAAC,MAAmB,EAAE,KAAkB;IAC9D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;QAEzE,SAAS,MAAM;YACX,KAAK,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5C,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,iCAAiC,CAC5C,MAAoB,EACpB,WAAuC,EACvC,MAAmB,EACnB,KAAkB;IAElB,IAAI,CAAC;QACD,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1C,OAAO;IACX,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC;YACD,MAAM,mBAAmB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAC1C,OAAO;QACX,CAAC;QAAC,MAAM,CAAC;YACL,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO;YACX,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC3C,MAAoB,EACpB,aAAuC,EACvC,MAAmB;IAEnB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;QAC1D,IAAI,CAAC,CAAC,KAAK,YAAY,0BAA0B,CAAC,EAAE,CAAC;YACjD,SAAS;QACb,CAAC;QACD,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,aAAa,CAAC,OAAO,CACvB;YACI,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,IAAI,EAAE,0BAA0B;YAChC,SAAS,EAAE,yBAAyB,UAAU,EAAE,EAAE;SACrD,EACD,MAAM,CACT,CAAC;IACN,CAAC;AACL,CAAC;AAMD,MAAM,CAAC,KAAK,UAAU,SAAS,CAC3B,MAAoB,EACpB,KAAiB,EACjB,MAAmB,EACnB,KAAK,GAAgB,iBAAiB,EACtC,OAAO,GAAqB,EAAE;;;QAE9B,MAAM,iBAAiB,GAAG,IAAI,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC;QAC1D,MAAM,cAAc,GAAG,iCAAiC,EAAE,CAAC;QAC3D,MAAM,oBAAoB,GAAG,IAAI,yBAAyB,CAAC;YACvD,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,KAAK,EAAE,iBAAiB;YACxB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,WAAW;YAC5C,cAAc,EAAE,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,MAAM,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,CAAC;YACnG,cAAc;SACjB,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChF,MAAM,
|
|
1
|
+
{"version":3,"file":"run-daemon.js","sourceRoot":"","sources":["../src/run-daemon.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -21290,6 +21290,7 @@ var sessionEventFieldsV2 = {
|
|
|
21290
21290
|
position: positionSchema,
|
|
21291
21291
|
provenance: provenanceSchema,
|
|
21292
21292
|
recordedAt: external_exports.iso.datetime({ offset: true }),
|
|
21293
|
+
sessionGenerationId: identifierStringSchema,
|
|
21293
21294
|
sessionId: identifierStringSchema
|
|
21294
21295
|
};
|
|
21295
21296
|
var sessionEventV2Schema = external_exports.discriminatedUnion("type", [
|
|
@@ -21345,9 +21346,9 @@ var mobiusSessionExportV2Schema = external_exports.object({
|
|
|
21345
21346
|
}).readonly();
|
|
21346
21347
|
var sessionEventEnvelopeV2Schema = external_exports.object({ events: sessionEventBatchV2Schema, kind: external_exports.literal(SESSION_EVENT_V2_KIND) }).readonly();
|
|
21347
21348
|
var sessionEventLogPageV2Schema = external_exports.object({
|
|
21348
|
-
daemonGenerationId: identifierStringSchema,
|
|
21349
21349
|
events: external_exports.array(sessionEventV2Schema).max(MAX_EVENT_COUNT).readonly(),
|
|
21350
21350
|
nextCursor: external_exports.string().min(1).max(512).nullable(),
|
|
21351
|
+
sessionGenerationId: identifierStringSchema,
|
|
21351
21352
|
tailCursor: external_exports.string().max(512),
|
|
21352
21353
|
truncated: external_exports.boolean(),
|
|
21353
21354
|
version: external_exports.literal(2)
|
|
@@ -23133,7 +23134,21 @@ var fileUpdateChangeSchema = external_exports.object({
|
|
|
23133
23134
|
kind: external_exports.unknown(),
|
|
23134
23135
|
path: boundedText(4096)
|
|
23135
23136
|
});
|
|
23137
|
+
var imageGenerationItemSchema = external_exports.object({
|
|
23138
|
+
id: boundedText(256),
|
|
23139
|
+
type: external_exports.literal("imageGeneration"),
|
|
23140
|
+
status: boundedText(80),
|
|
23141
|
+
revisedPrompt: boundedText(32768).nullish(),
|
|
23142
|
+
// The app-server frame is bounded; media validation belongs to the content externalizer.
|
|
23143
|
+
result: external_exports.string(),
|
|
23144
|
+
failure: external_exports.object({
|
|
23145
|
+
type: external_exports.literal("usageLimitExceeded"),
|
|
23146
|
+
limitId: boundedText(256),
|
|
23147
|
+
resetsAt: external_exports.number().nullish()
|
|
23148
|
+
}).nullish()
|
|
23149
|
+
});
|
|
23136
23150
|
var threadItemSchema = external_exports.discriminatedUnion("type", [
|
|
23151
|
+
imageGenerationItemSchema,
|
|
23137
23152
|
external_exports.object({
|
|
23138
23153
|
id: boundedText(256),
|
|
23139
23154
|
text: boundedText(1e6),
|
|
@@ -23599,6 +23614,29 @@ function mcpStatus(status) {
|
|
|
23599
23614
|
return status === "inProgress" ? "in_progress" : status === "completed" ? "completed" : "failed";
|
|
23600
23615
|
}
|
|
23601
23616
|
function presentToolItem(item) {
|
|
23617
|
+
if (item.type === "imageGeneration") {
|
|
23618
|
+
const failed = item.failure != null || item.status === "failed";
|
|
23619
|
+
const content = [];
|
|
23620
|
+
if (!failed && item.result.length > 0) {
|
|
23621
|
+
content.push({ type: "content", content: { type: "image", data: item.result, mimeType: "image/png" } });
|
|
23622
|
+
}
|
|
23623
|
+
if (failed) {
|
|
23624
|
+
content.push(
|
|
23625
|
+
textContent(
|
|
23626
|
+
item.failure?.type === "usageLimitExceeded" ? "Image generation usage limit reached." : "Image generation failed."
|
|
23627
|
+
)
|
|
23628
|
+
);
|
|
23629
|
+
}
|
|
23630
|
+
return {
|
|
23631
|
+
content,
|
|
23632
|
+
kind: "other",
|
|
23633
|
+
locations: [],
|
|
23634
|
+
rawInput: item.revisedPrompt == null ? null : { prompt: item.revisedPrompt },
|
|
23635
|
+
rawOutput: null,
|
|
23636
|
+
status: failed ? "failed" : item.status === "completed" ? "completed" : "in_progress",
|
|
23637
|
+
title: "Generate image"
|
|
23638
|
+
};
|
|
23639
|
+
}
|
|
23602
23640
|
if (item.type === "commandExecution") {
|
|
23603
23641
|
const output2 = item.aggregatedOutput ?? "";
|
|
23604
23642
|
const content = [];
|
|
@@ -26790,7 +26828,7 @@ function createDaemonConfig(connection, agents = [], installableAgents = [], loc
|
|
|
26790
26828
|
}
|
|
26791
26829
|
|
|
26792
26830
|
// src/run-daemon.ts
|
|
26793
|
-
import { createHash as
|
|
26831
|
+
import { createHash as createHash6, randomUUID as randomUUID8 } from "node:crypto";
|
|
26794
26832
|
import { join as join18 } from "node:path";
|
|
26795
26833
|
import { styleText } from "node:util";
|
|
26796
26834
|
|
|
@@ -28436,7 +28474,8 @@ var AcpHistoryReplay = class {
|
|
|
28436
28474
|
record = async (update, rawUpdate, onRecorded = () => Promise.resolve()) => {
|
|
28437
28475
|
const position = this.#events.append(this.#sessionId, { payload: rawUpdate, type: "acp" });
|
|
28438
28476
|
await onRecorded(position);
|
|
28439
|
-
|
|
28477
|
+
await this.#applyUpdate(update, position.position);
|
|
28478
|
+
return position.position;
|
|
28440
28479
|
};
|
|
28441
28480
|
#applyUpdate = async (update, position) => {
|
|
28442
28481
|
if (update.sessionUpdate === "agent_thought_chunk") {
|
|
@@ -29175,9 +29214,6 @@ var AcpSessionInteractions = class {
|
|
|
29175
29214
|
};
|
|
29176
29215
|
};
|
|
29177
29216
|
|
|
29178
|
-
// src/acp/session-store.ts
|
|
29179
|
-
import { randomUUID } from "node:crypto";
|
|
29180
|
-
|
|
29181
29217
|
// ../../node_modules/.pnpm/drizzle-orm@1.0.0-rc.4_@cloudflare+workers-types@5.20260918.1_@types+better-sqlite3@7.6_f872c171b7e1945bb1fa42180063dab2/node_modules/drizzle-orm/entity.js
|
|
29182
29218
|
var entityKind = /* @__PURE__ */ Symbol.for("drizzle:entityKind");
|
|
29183
29219
|
function is(value, type) {
|
|
@@ -33949,6 +33985,9 @@ var acpSession = sqliteTable("acp_session", {
|
|
|
33949
33985
|
updatedAt: text("updated_at").notNull()
|
|
33950
33986
|
});
|
|
33951
33987
|
|
|
33988
|
+
// src/acp/session-event-store-v2.ts
|
|
33989
|
+
import { randomUUID } from "node:crypto";
|
|
33990
|
+
|
|
33952
33991
|
// src/schema/session-event-cache/session-event-v2.ts
|
|
33953
33992
|
var sessionEventV2 = sqliteTable(
|
|
33954
33993
|
"session_event_v2",
|
|
@@ -33971,7 +34010,7 @@ var sessionEventV2 = sqliteTable(
|
|
|
33971
34010
|
// src/acp/session-event-store-v2.ts
|
|
33972
34011
|
var HOT_EVENT_HIGH_WATER_MARK = 256;
|
|
33973
34012
|
var HOT_EVENT_RETENTION = 128;
|
|
33974
|
-
function eventPage(eventCount, eventLimit, cursor, read) {
|
|
34013
|
+
function eventPage(sessionGenerationId, eventCount, eventLimit, cursor, read) {
|
|
33975
34014
|
const parsedCursor = cursor === null ? eventCount : Number(cursor);
|
|
33976
34015
|
if (!Number.isSafeInteger(parsedCursor) || parsedCursor < 0 || parsedCursor > eventCount) {
|
|
33977
34016
|
throw new Error("The native event cursor is invalid");
|
|
@@ -33981,36 +34020,46 @@ function eventPage(eventCount, eventLimit, cursor, read) {
|
|
|
33981
34020
|
return {
|
|
33982
34021
|
events: read(startPosition + 1, endPosition),
|
|
33983
34022
|
nextCursor: startPosition === 0 ? null : startPosition.toString(),
|
|
34023
|
+
sessionGenerationId,
|
|
33984
34024
|
startPosition: startPosition + 1,
|
|
33985
34025
|
truncated: startPosition > 0
|
|
33986
34026
|
};
|
|
33987
34027
|
}
|
|
33988
34028
|
var MemoryAcpSessionEventStoreV2 = class {
|
|
33989
|
-
generationId;
|
|
33990
34029
|
#events = /* @__PURE__ */ new Map();
|
|
33991
|
-
|
|
33992
|
-
this.
|
|
33993
|
-
|
|
34030
|
+
#session = (sessionId) => {
|
|
34031
|
+
const session = this.#events.get(sessionId) ?? {
|
|
34032
|
+
hot: [],
|
|
34033
|
+
nextPosition: 1,
|
|
34034
|
+
sessionGenerationId: randomUUID()
|
|
34035
|
+
};
|
|
34036
|
+
this.#events.set(sessionId, session);
|
|
34037
|
+
return session;
|
|
34038
|
+
};
|
|
33994
34039
|
append = (sessionId, event) => {
|
|
33995
|
-
const
|
|
33996
|
-
|
|
33997
|
-
|
|
33998
|
-
|
|
34040
|
+
const session = this.#session(sessionId);
|
|
34041
|
+
const position = session.nextPosition;
|
|
34042
|
+
session.hot.push({ event, position });
|
|
34043
|
+
session.nextPosition += 1;
|
|
34044
|
+
return { position, sessionGenerationId: session.sessionGenerationId };
|
|
33999
34045
|
};
|
|
34000
34046
|
close = () => this.#events.clear();
|
|
34001
34047
|
page = (sessionId, eventLimit, cursor) => {
|
|
34002
|
-
const
|
|
34048
|
+
const session = this.#session(sessionId);
|
|
34003
34049
|
return eventPage(
|
|
34004
|
-
|
|
34050
|
+
session.sessionGenerationId,
|
|
34051
|
+
session.nextPosition - 1,
|
|
34005
34052
|
eventLimit,
|
|
34006
34053
|
cursor,
|
|
34007
|
-
(
|
|
34054
|
+
(start, end) => session.hot.filter(({ position }) => position >= start && position <= end).map(({ event }) => event)
|
|
34008
34055
|
);
|
|
34009
34056
|
};
|
|
34010
34057
|
remove = (sessionId) => {
|
|
34011
34058
|
this.#events.delete(sessionId);
|
|
34012
34059
|
};
|
|
34013
|
-
reset =
|
|
34060
|
+
reset = (sessionId) => {
|
|
34061
|
+
this.#events.set(sessionId, { hot: [], nextPosition: 1, sessionGenerationId: randomUUID() });
|
|
34062
|
+
};
|
|
34014
34063
|
};
|
|
34015
34064
|
var cachedEventRowSchema = external_exports.object({ eventJson: external_exports.string(), position: external_exports.number().int().positive() });
|
|
34016
34065
|
function decodeCachedEvent(value) {
|
|
@@ -34021,20 +34070,19 @@ function decodeCachedEvent(value) {
|
|
|
34021
34070
|
position: "1",
|
|
34022
34071
|
provenance: { kind: "original" },
|
|
34023
34072
|
recordedAt: "1970-01-01T00:00:00.000Z",
|
|
34073
|
+
sessionGenerationId: "cached-generation",
|
|
34024
34074
|
sessionId: "cached-session"
|
|
34025
34075
|
});
|
|
34026
34076
|
return event.type === "acp" ? { payload: event.payload, type: event.type } : { payload: event.payload, type: event.type };
|
|
34027
34077
|
}
|
|
34028
34078
|
var CachedAcpSessionEventStoreV2 = class {
|
|
34029
|
-
generationId;
|
|
34030
34079
|
#database;
|
|
34031
34080
|
#ignoredPersistedSessions = /* @__PURE__ */ new Set();
|
|
34032
34081
|
#localDatabase;
|
|
34033
34082
|
#sessions = /* @__PURE__ */ new Map();
|
|
34034
34083
|
#flushSchedule = { kind: "idle" };
|
|
34035
34084
|
#isLocalDBAvailable = true;
|
|
34036
|
-
constructor(localDatabase
|
|
34037
|
-
this.generationId = generationId;
|
|
34085
|
+
constructor(localDatabase) {
|
|
34038
34086
|
this.#localDatabase = localDatabase;
|
|
34039
34087
|
this.#database = localDatabase.orm;
|
|
34040
34088
|
try {
|
|
@@ -34044,11 +34092,20 @@ var CachedAcpSessionEventStoreV2 = class {
|
|
|
34044
34092
|
throw error62;
|
|
34045
34093
|
}
|
|
34046
34094
|
}
|
|
34095
|
+
#session = (sessionId) => {
|
|
34096
|
+
const session = this.#sessions.get(sessionId) ?? {
|
|
34097
|
+
hot: [],
|
|
34098
|
+
nextPosition: 1,
|
|
34099
|
+
sessionGenerationId: randomUUID()
|
|
34100
|
+
};
|
|
34101
|
+
this.#sessions.set(sessionId, session);
|
|
34102
|
+
return session;
|
|
34103
|
+
};
|
|
34047
34104
|
append = (sessionId, event) => {
|
|
34048
34105
|
if (this.#flushSchedule.kind === "closed") {
|
|
34049
34106
|
throw new Error("The V2 Session event store is closed");
|
|
34050
34107
|
}
|
|
34051
|
-
const session = this.#
|
|
34108
|
+
const session = this.#session(sessionId);
|
|
34052
34109
|
const position = session.nextPosition;
|
|
34053
34110
|
session.hot.push({ event, position });
|
|
34054
34111
|
session.nextPosition += 1;
|
|
@@ -34056,7 +34113,7 @@ var CachedAcpSessionEventStoreV2 = class {
|
|
|
34056
34113
|
if (session.hot.length > HOT_EVENT_HIGH_WATER_MARK) {
|
|
34057
34114
|
this.#scheduleFlush();
|
|
34058
34115
|
}
|
|
34059
|
-
return position;
|
|
34116
|
+
return { position, sessionGenerationId: session.sessionGenerationId };
|
|
34060
34117
|
};
|
|
34061
34118
|
#scheduleFlush = () => {
|
|
34062
34119
|
if (!this.#isLocalDBAvailable || this.#flushSchedule.kind !== "idle") {
|
|
@@ -34077,12 +34134,19 @@ var CachedAcpSessionEventStoreV2 = class {
|
|
|
34077
34134
|
}
|
|
34078
34135
|
const batches = [...this.#sessions.entries()].flatMap(([sessionId, session]) => {
|
|
34079
34136
|
const count = includeHotTail ? session.hot.length : Math.max(0, session.hot.length - HOT_EVENT_RETENTION);
|
|
34080
|
-
return count === 0 ? [] : [
|
|
34137
|
+
return count === 0 ? [] : [
|
|
34138
|
+
{
|
|
34139
|
+
count,
|
|
34140
|
+
events: session.hot.slice(0, count),
|
|
34141
|
+
sessionGenerationId: session.sessionGenerationId,
|
|
34142
|
+
sessionId
|
|
34143
|
+
}
|
|
34144
|
+
];
|
|
34081
34145
|
});
|
|
34082
34146
|
const values = batches.flatMap(
|
|
34083
34147
|
(batch) => batch.events.map(({ event, position }) => ({
|
|
34084
34148
|
eventJson: JSON.stringify(event),
|
|
34085
|
-
generationId:
|
|
34149
|
+
generationId: batch.sessionGenerationId,
|
|
34086
34150
|
position,
|
|
34087
34151
|
sessionId: batch.sessionId
|
|
34088
34152
|
}))
|
|
@@ -34106,11 +34170,12 @@ var CachedAcpSessionEventStoreV2 = class {
|
|
|
34106
34170
|
};
|
|
34107
34171
|
page = (sessionId, eventLimit, cursor) => {
|
|
34108
34172
|
const session = this.#sessions.get(sessionId);
|
|
34109
|
-
const
|
|
34110
|
-
|
|
34173
|
+
const current = session ?? this.#session(sessionId);
|
|
34174
|
+
const eventCount = current.nextPosition - 1;
|
|
34175
|
+
return eventPage(current.sessionGenerationId, eventCount, eventLimit, cursor, (startPosition, endPosition) => {
|
|
34111
34176
|
const persisted = this.#ignoredPersistedSessions.has(sessionId) ? [] : this.#database.select({ eventJson: sessionEventV2.eventJson, position: sessionEventV2.position }).from(sessionEventV2).where(
|
|
34112
34177
|
and(
|
|
34113
|
-
eq(sessionEventV2.generationId,
|
|
34178
|
+
eq(sessionEventV2.generationId, current.sessionGenerationId),
|
|
34114
34179
|
eq(sessionEventV2.sessionId, sessionId),
|
|
34115
34180
|
gte(sessionEventV2.position, startPosition),
|
|
34116
34181
|
lte(sessionEventV2.position, endPosition)
|
|
@@ -34125,13 +34190,18 @@ var CachedAcpSessionEventStoreV2 = class {
|
|
|
34125
34190
|
return [...persisted, ...hot].toSorted((left, right) => left.position - right.position).map(({ event }) => event);
|
|
34126
34191
|
});
|
|
34127
34192
|
};
|
|
34128
|
-
#deletePersisted = (sessionId) => {
|
|
34193
|
+
#deletePersisted = (sessionId, sessionGenerationId) => {
|
|
34129
34194
|
if (!this.#isLocalDBAvailable) {
|
|
34130
34195
|
this.#ignoredPersistedSessions.add(sessionId);
|
|
34131
34196
|
return;
|
|
34132
34197
|
}
|
|
34133
34198
|
try {
|
|
34134
|
-
this.#database.delete(sessionEventV2).where(
|
|
34199
|
+
this.#database.delete(sessionEventV2).where(
|
|
34200
|
+
sessionGenerationId === void 0 ? eq(sessionEventV2.sessionId, sessionId) : and(
|
|
34201
|
+
eq(sessionEventV2.generationId, sessionGenerationId),
|
|
34202
|
+
eq(sessionEventV2.sessionId, sessionId)
|
|
34203
|
+
)
|
|
34204
|
+
).run();
|
|
34135
34205
|
this.#ignoredPersistedSessions.delete(sessionId);
|
|
34136
34206
|
} catch (cause) {
|
|
34137
34207
|
this.#isLocalDBAvailable = false;
|
|
@@ -34143,7 +34213,11 @@ var CachedAcpSessionEventStoreV2 = class {
|
|
|
34143
34213
|
this.#deletePersisted(sessionId);
|
|
34144
34214
|
this.#sessions.delete(sessionId);
|
|
34145
34215
|
};
|
|
34146
|
-
reset =
|
|
34216
|
+
reset = (sessionId) => {
|
|
34217
|
+
const previous = this.#sessions.get(sessionId);
|
|
34218
|
+
this.#deletePersisted(sessionId, previous?.sessionGenerationId);
|
|
34219
|
+
this.#sessions.set(sessionId, { hot: [], nextPosition: 1, sessionGenerationId: randomUUID() });
|
|
34220
|
+
};
|
|
34147
34221
|
close = () => {
|
|
34148
34222
|
if (this.#flushSchedule.kind === "closed") {
|
|
34149
34223
|
return;
|
|
@@ -34196,7 +34270,7 @@ var FoundAcpStoredSession = class extends AcpStoredSessionLookup {
|
|
|
34196
34270
|
var MemoryAcpSessionStore = class {
|
|
34197
34271
|
eventsV2;
|
|
34198
34272
|
#sessions = /* @__PURE__ */ new Map();
|
|
34199
|
-
constructor(eventsV2 = new MemoryAcpSessionEventStoreV2(
|
|
34273
|
+
constructor(eventsV2 = new MemoryAcpSessionEventStoreV2()) {
|
|
34200
34274
|
this.eventsV2 = eventsV2;
|
|
34201
34275
|
}
|
|
34202
34276
|
close = () => {
|
|
@@ -34248,7 +34322,7 @@ var SqliteAcpSessionStore = class {
|
|
|
34248
34322
|
eventsV2;
|
|
34249
34323
|
#database;
|
|
34250
34324
|
#localDatabase;
|
|
34251
|
-
constructor(localDatabase, eventsV2 = new MemoryAcpSessionEventStoreV2(
|
|
34325
|
+
constructor(localDatabase, eventsV2 = new MemoryAcpSessionEventStoreV2()) {
|
|
34252
34326
|
this.eventsV2 = eventsV2;
|
|
34253
34327
|
this.#localDatabase = localDatabase;
|
|
34254
34328
|
this.#database = localDatabase.orm;
|
|
@@ -40753,7 +40827,13 @@ async function executeSessionLiveHistoryV2PageLoad(socket, command, config2, dir
|
|
|
40753
40827
|
const replay = await sessions.loadSessionEventsV2(loadOptions, command.eventLimit, command.cursor);
|
|
40754
40828
|
signal.throwIfAborted();
|
|
40755
40829
|
const events = replay.events.map(
|
|
40756
|
-
(event, index2) => eventLogV2.event(
|
|
40830
|
+
(event, index2) => eventLogV2.event(
|
|
40831
|
+
command.sessionId,
|
|
40832
|
+
replay.sessionGenerationId,
|
|
40833
|
+
replay.startPosition + index2,
|
|
40834
|
+
event,
|
|
40835
|
+
"1970-01-01T00:00:00.000Z"
|
|
40836
|
+
)
|
|
40757
40837
|
);
|
|
40758
40838
|
const tailCursor = events.at(-1)?.eventId ?? "";
|
|
40759
40839
|
audit.record({
|
|
@@ -40764,9 +40844,9 @@ async function executeSessionLiveHistoryV2PageLoad(socket, command, config2, dir
|
|
|
40764
40844
|
send(socket, {
|
|
40765
40845
|
events: {
|
|
40766
40846
|
events: {
|
|
40767
|
-
daemonGenerationId: eventLogV2.daemonGenerationId,
|
|
40768
40847
|
events,
|
|
40769
40848
|
nextCursor: replay.nextCursor,
|
|
40849
|
+
sessionGenerationId: replay.sessionGenerationId,
|
|
40770
40850
|
tailCursor,
|
|
40771
40851
|
truncated: replay.truncated,
|
|
40772
40852
|
version: 2
|
|
@@ -42225,7 +42305,6 @@ var SystemDaemonTimer = class {
|
|
|
42225
42305
|
var systemDaemonTimer = new SystemDaemonTimer();
|
|
42226
42306
|
|
|
42227
42307
|
// src/session-event-log-v2.ts
|
|
42228
|
-
import { createHash as createHash6, randomUUID as randomUUID8 } from "node:crypto";
|
|
42229
42308
|
function promptContent(command) {
|
|
42230
42309
|
const content = [];
|
|
42231
42310
|
if (command.prompt.length > 0) {
|
|
@@ -42249,28 +42328,26 @@ function promptContent(command) {
|
|
|
42249
42328
|
}
|
|
42250
42329
|
return content;
|
|
42251
42330
|
}
|
|
42252
|
-
function sessionEventV22(
|
|
42253
|
-
const sessionPrefix = createHash6("sha256").update(sessionId).digest("hex").slice(0, 16);
|
|
42331
|
+
function sessionEventV22(sessionGenerationId, sessionId, position, event, recordedAt) {
|
|
42254
42332
|
return {
|
|
42255
|
-
eventId: `event-${
|
|
42333
|
+
eventId: `event-${sessionGenerationId}-${position.toString().padStart(16, "0")}`,
|
|
42256
42334
|
...event,
|
|
42257
42335
|
position: position.toString(),
|
|
42258
42336
|
provenance: { kind: "original" },
|
|
42259
42337
|
recordedAt,
|
|
42338
|
+
sessionGenerationId,
|
|
42260
42339
|
sessionId
|
|
42261
42340
|
};
|
|
42262
42341
|
}
|
|
42263
42342
|
var DaemonSessionEventLogV2 = class {
|
|
42264
|
-
daemonGenerationId;
|
|
42265
42343
|
#publisher;
|
|
42266
42344
|
#terminal = /* @__PURE__ */ new Map();
|
|
42267
42345
|
#publications = /* @__PURE__ */ new Map();
|
|
42268
42346
|
#queued = /* @__PURE__ */ new Map();
|
|
42269
42347
|
#recordLifecycle;
|
|
42270
|
-
constructor(publisher, recordLifecycle
|
|
42348
|
+
constructor(publisher, recordLifecycle) {
|
|
42271
42349
|
this.#recordLifecycle = recordLifecycle;
|
|
42272
42350
|
this.#publisher = publisher;
|
|
42273
|
-
this.daemonGenerationId = daemonGenerationId;
|
|
42274
42351
|
}
|
|
42275
42352
|
requested = (command) => {
|
|
42276
42353
|
this.#queued.set(command.commandId, {
|
|
@@ -42294,7 +42371,13 @@ var DaemonSessionEventLogV2 = class {
|
|
|
42294
42371
|
throw new Error("The executing prompt was not registered in the V2 queue");
|
|
42295
42372
|
};
|
|
42296
42373
|
record = (sessionId, event, position) => {
|
|
42297
|
-
const recorded = this.event(
|
|
42374
|
+
const recorded = this.event(
|
|
42375
|
+
sessionId,
|
|
42376
|
+
position.sessionGenerationId,
|
|
42377
|
+
position.position,
|
|
42378
|
+
event,
|
|
42379
|
+
(/* @__PURE__ */ new Date()).toISOString()
|
|
42380
|
+
);
|
|
42298
42381
|
if (event.type === "lifecycle-metadata" && (event.payload.kind === "prompt.completed" || event.payload.kind === "prompt.failed" || event.payload.kind === "prompt.failed-before-start")) {
|
|
42299
42382
|
this.#terminal.set(event.payload.commandId, recorded);
|
|
42300
42383
|
const pending2 = this.#publications.get(sessionId) ?? [];
|
|
@@ -42331,7 +42414,7 @@ var DaemonSessionEventLogV2 = class {
|
|
|
42331
42414
|
}
|
|
42332
42415
|
this.#queued.delete(commandId);
|
|
42333
42416
|
};
|
|
42334
|
-
event = (sessionId, position, event, recordedAt) => sessionEventV22(
|
|
42417
|
+
event = (sessionId, sessionGenerationId, position, event, recordedAt) => sessionEventV22(sessionGenerationId, sessionId, position, event, recordedAt);
|
|
42335
42418
|
queueChanged = async (sessionId) => {
|
|
42336
42419
|
await this.#recordLifecycle(sessionId, {
|
|
42337
42420
|
type: "lifecycle-metadata",
|
|
@@ -42422,7 +42505,7 @@ async function installDetectedAgentIntegrations(config2, installations, signal)
|
|
|
42422
42505
|
{
|
|
42423
42506
|
agentId: agent.id,
|
|
42424
42507
|
kind: AGENT_INSTALL_REQUEST_KIND,
|
|
42425
|
-
requestId: `automatic-integration-${
|
|
42508
|
+
requestId: `automatic-integration-${randomUUID8()}`
|
|
42426
42509
|
},
|
|
42427
42510
|
signal
|
|
42428
42511
|
);
|
|
@@ -42440,14 +42523,12 @@ async function runDaemon(config2, audit, signal, timer = systemDaemonTimer, opti
|
|
|
42440
42523
|
publishCatalog: async (installationSignal) => await publishAgentCatalog(config2, installationSignal),
|
|
42441
42524
|
stateDirectory
|
|
42442
42525
|
});
|
|
42443
|
-
const channelHash =
|
|
42444
|
-
const daemonGenerationId = randomUUID9();
|
|
42526
|
+
const channelHash = createHash6("sha256").update(config2.channelId).digest("hex");
|
|
42445
42527
|
const sessionDatabase = openAcpSessionDatabase(join18(stateDirectory, "sessions", `${channelHash}.sqlite`));
|
|
42446
42528
|
let eventsV2;
|
|
42447
42529
|
try {
|
|
42448
42530
|
eventsV2 = new CachedAcpSessionEventStoreV2(
|
|
42449
|
-
openSessionEventCacheV2Database(join18(stateDirectory, "sessions", `${channelHash}.events.sqlite`))
|
|
42450
|
-
daemonGenerationId
|
|
42531
|
+
openSessionEventCacheV2Database(join18(stateDirectory, "sessions", `${channelHash}.events.sqlite`))
|
|
42451
42532
|
);
|
|
42452
42533
|
} catch (error62) {
|
|
42453
42534
|
sessionDatabase.close();
|
|
@@ -42459,8 +42540,7 @@ async function runDaemon(config2, audit, signal, timer = systemDaemonTimer, opti
|
|
|
42459
42540
|
const publisher = new DaemonSessionEventPublisher(timer);
|
|
42460
42541
|
const eventLogV2 = new DaemonSessionEventLogV2(
|
|
42461
42542
|
publisher,
|
|
42462
|
-
(sessionId, event) => agentRuntime.recordLifecycleEventV2(sessionId, event)
|
|
42463
|
-
daemonGenerationId
|
|
42543
|
+
(sessionId, event) => agentRuntime.recordLifecycleEventV2(sessionId, event)
|
|
42464
42544
|
);
|
|
42465
42545
|
const activeTurns = new DaemonTurnRegistry(operations);
|
|
42466
42546
|
const agentRuntime = new AgentRuntimeManager(
|
|
@@ -42651,7 +42731,7 @@ import { basename as basename6, resolve as resolve7 } from "node:path";
|
|
|
42651
42731
|
import { fetch as fetch4 } from "undici";
|
|
42652
42732
|
|
|
42653
42733
|
// src/storage/runtime-installation-store.ts
|
|
42654
|
-
import { createHash as
|
|
42734
|
+
import { createHash as createHash7, randomUUID as randomUUID9 } from "node:crypto";
|
|
42655
42735
|
import { mkdir as mkdir5, open as open5, readdir as readdir4, rename as rename4, unlink, writeFile as writeFile4 } from "node:fs/promises";
|
|
42656
42736
|
import { dirname as dirname6, join as join19, resolve as resolve6 } from "node:path";
|
|
42657
42737
|
var APPLICATION_ID_PATTERN = /^[a-z][a-z0-9]*(?:[.-][a-z0-9]+){1,31}$/;
|
|
@@ -42781,13 +42861,13 @@ function parseRelayOrigin(value) {
|
|
|
42781
42861
|
return origin;
|
|
42782
42862
|
}
|
|
42783
42863
|
function connectionId() {
|
|
42784
|
-
return `mcn_${
|
|
42864
|
+
return `mcn_${randomUUID9().replaceAll("-", "")}`;
|
|
42785
42865
|
}
|
|
42786
42866
|
function installationId() {
|
|
42787
|
-
return `min_${
|
|
42867
|
+
return `min_${randomUUID9().replaceAll("-", "")}`;
|
|
42788
42868
|
}
|
|
42789
42869
|
function channelIndexFileName(channelId) {
|
|
42790
|
-
return `mci_${
|
|
42870
|
+
return `mci_${createHash7("sha256").update(channelId).digest("hex")}.json`;
|
|
42791
42871
|
}
|
|
42792
42872
|
function decodeInstallationPointer(value) {
|
|
42793
42873
|
if (!isRecord10(value) || !hasExactKeys(value, INSTALLATION_POINTER_KEYS) || value["version"] !== 1) {
|
|
@@ -42896,7 +42976,7 @@ async function readJsonFile(path2, signal, missingCode) {
|
|
|
42896
42976
|
async function writeJsonAtomically(path2, value, signal) {
|
|
42897
42977
|
signal.throwIfAborted();
|
|
42898
42978
|
const directory = dirname6(path2);
|
|
42899
|
-
const temporaryPath = join19(directory, `.${
|
|
42979
|
+
const temporaryPath = join19(directory, `.${randomUUID9()}.tmp`);
|
|
42900
42980
|
try {
|
|
42901
42981
|
await mkdir5(directory, { mode: 448, recursive: true });
|
|
42902
42982
|
signal.throwIfAborted();
|