@morty-build/cli 0.4.29 → 0.4.31

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.
Files changed (39) hide show
  1. package/dist/{chunk-MNUDTG5G.js → chunk-M7MJMWZ4.js} +200 -91
  2. package/dist/{chunk-MNUDTG5G.js.map → chunk-M7MJMWZ4.js.map} +3 -3
  3. package/dist/{chunk-SIONM2MQ.js → chunk-VVUR5KEG.js} +2 -2
  4. package/dist/{chunk-SIONM2MQ.js.map → chunk-VVUR5KEG.js.map} +1 -1
  5. package/dist/{cli-2AK6HJDW.js → cli-WX4DANUN.js} +3 -3
  6. package/dist/cli.js +2 -2
  7. package/dist/engine/runtime/command/registry/history.d.ts.map +1 -1
  8. package/dist/engine/runtime/command/registry/history.js +1 -24
  9. package/dist/engine/runtime/command/registry/history.js.map +1 -1
  10. package/dist/engine/session/api/session-layer.d.ts.map +1 -1
  11. package/dist/engine/session/api/session-layer.js +1 -0
  12. package/dist/engine/session/api/session-layer.js.map +1 -1
  13. package/dist/engine/session/history/session-event-history-projection.d.ts +1 -4
  14. package/dist/engine/session/history/session-event-history-projection.d.ts.map +1 -1
  15. package/dist/engine/session/history/session-event-history-projection.js +41 -2
  16. package/dist/engine/session/history/session-event-history-projection.js.map +1 -1
  17. package/dist/engine/session/history/session-history.d.ts +7 -2
  18. package/dist/engine/session/history/session-history.d.ts.map +1 -1
  19. package/dist/engine/session/history/session-history.js +85 -1
  20. package/dist/engine/session/history/session-history.js.map +1 -1
  21. package/dist/engine/session/live/agent-session.d.ts +9 -3
  22. package/dist/engine/session/live/agent-session.d.ts.map +1 -1
  23. package/dist/engine/session/live/agent-session.js +10 -7
  24. package/dist/engine/session/live/agent-session.js.map +1 -1
  25. package/dist/engine/session/manager/session-manager.d.ts +4 -1
  26. package/dist/engine/session/manager/session-manager.d.ts.map +1 -1
  27. package/dist/engine/session/manager/session-manager.js +12 -6
  28. package/dist/engine/session/manager/session-manager.js.map +1 -1
  29. package/dist/engine/session/prompt/prompt-lifecycle.d.ts +2 -4
  30. package/dist/engine/session/prompt/prompt-lifecycle.d.ts.map +1 -1
  31. package/dist/engine/session/prompt/prompt-lifecycle.js +0 -2
  32. package/dist/engine/session/prompt/prompt-lifecycle.js.map +1 -1
  33. package/dist/engine/session/turn/execution-receipts.d.ts +18 -6
  34. package/dist/engine/session/turn/execution-receipts.d.ts.map +1 -1
  35. package/dist/engine/session/turn/execution-receipts.js +19 -17
  36. package/dist/engine/session/turn/execution-receipts.js.map +1 -1
  37. package/dist/engine.js +2 -2
  38. package/package.json +1 -1
  39. /package/dist/{cli-2AK6HJDW.js.map → cli-WX4DANUN.js.map} +0 -0
@@ -80,7 +80,7 @@ var __callDispose = (stack, error, hasError) => {
80
80
  // package.json
81
81
  var package_default = {
82
82
  name: "@morty-build/cli",
83
- version: "0.4.29",
83
+ version: "0.4.31",
84
84
  description: "Morty CLI for installing, pairing, and operating the Morty background service.",
85
85
  type: "module",
86
86
  bin: {
@@ -176,4 +176,4 @@ export {
176
176
  __callDispose,
177
177
  package_default
178
178
  };
179
- //# sourceMappingURL=chunk-SIONM2MQ.js.map
179
+ //# sourceMappingURL=chunk-VVUR5KEG.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../package.json"],
4
- "sourcesContent": ["{\n \"name\": \"@morty-build/cli\",\n \"version\": \"0.4.29\",\n \"description\": \"Morty CLI for installing, pairing, and operating the Morty background service.\",\n \"type\": \"module\",\n \"bin\": {\n \"morty\": \"dist/cli.js\"\n },\n \"exports\": {\n \"./engine\": {\n \"morty-source\": \"./src/exports/engine.ts\",\n \"types\": \"./dist/exports/engine.d.ts\",\n \"default\": \"./dist/engine.js\"\n }\n },\n \"files\": [\n \"dist\",\n \"LICENSE\",\n \"NOTICE\",\n \"THIRD-PARTY-NOTICES.txt\"\n ],\n \"engines\": {\n \"node\": \"^22.19.0 || ^24.20.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\",\n \"exports\": {\n \"./engine\": {\n \"types\": \"./dist/exports/engine.d.ts\",\n \"import\": \"./dist/engine.js\",\n \"default\": \"./dist/engine.js\"\n }\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/moxt-ai/morty.git\",\n \"directory\": \"packages/cli\"\n },\n \"scripts\": {\n \"prebuild\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"build\": \"node scripts/build.ts && tsc --project tsconfig.build.json\",\n \"dev\": \"node --watch src/cli/entrypoint.ts\",\n \"pretypecheck\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"prepack\": \"pnpm build\",\n \"start\": \"node dist/cli.js\",\n \"typecheck\": \"tsc --project tsconfig.json && tsc --project tests/tsconfig.json\",\n \"pretest:controlled\": \"pnpm build && pnpm pack:test\",\n \"test:controlled\": \"vitest run tests/sessions tests/runtime\",\n \"pretest:manual\": \"pnpm pretest:controlled\",\n \"test:manual\": \"vitest run tests/manual\",\n \"pretest:agents\": \"pnpm build && pnpm pack:test\",\n \"test:agents\": \"vitest run tests/agents --maxWorkers=2\",\n \"pretest:pressure\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"test:pressure\": \"node tests/pressure/concurrent-sessions.mjs\",\n \"pack:test\": \"node scripts/pack-test-release.ts\"\n },\n \"dependencies\": {\n \"undici\": \"8.12.2\"\n },\n \"devDependencies\": {\n \"@agentclientprotocol/sdk\": \"^1.4.0\",\n \"@anthropic-ai/claude-agent-sdk\": \"0.3.257\",\n \"@anthropic-ai/sdk\": \"0.122.0\",\n \"@morty-build/client\": \"workspace:*\",\n \"@morty-build/platform-test-support\": \"workspace:*\",\n \"@types/node\": \"^24.13.5\",\n \"@types/semver\": \"^7.8.0\",\n \"@types/ws\": \"^8.18.1\",\n \"commander\": \"15.0.0\",\n \"drizzle-kit\": \"1.0.0-rc.4\",\n \"drizzle-orm\": \"1.0.0-rc.4\",\n \"esbuild\": \"0.28.2\",\n \"semver\": \"^7.8.5\",\n \"valibot\": \"1.5.0\",\n \"ws\": \"^8.21.3\",\n \"zod\": \"^4.6.7\",\n \"@morty-build/local-state\": \"workspace:*\",\n \"miniflare\": \"catalog:\"\n },\n \"keywords\": [],\n \"author\": \"Moxt\",\n \"license\": \"Apache-2.0\",\n \"bugs\": {\n \"url\": \"https://github.com/moxt-ai/morty/issues\"\n },\n \"homepage\": \"https://morty.build\",\n \"private\": false\n}\n"],
4
+ "sourcesContent": ["{\n \"name\": \"@morty-build/cli\",\n \"version\": \"0.4.31\",\n \"description\": \"Morty CLI for installing, pairing, and operating the Morty background service.\",\n \"type\": \"module\",\n \"bin\": {\n \"morty\": \"dist/cli.js\"\n },\n \"exports\": {\n \"./engine\": {\n \"morty-source\": \"./src/exports/engine.ts\",\n \"types\": \"./dist/exports/engine.d.ts\",\n \"default\": \"./dist/engine.js\"\n }\n },\n \"files\": [\n \"dist\",\n \"LICENSE\",\n \"NOTICE\",\n \"THIRD-PARTY-NOTICES.txt\"\n ],\n \"engines\": {\n \"node\": \"^22.19.0 || ^24.20.0\"\n },\n \"publishConfig\": {\n \"access\": \"public\",\n \"exports\": {\n \"./engine\": {\n \"types\": \"./dist/exports/engine.d.ts\",\n \"import\": \"./dist/engine.js\",\n \"default\": \"./dist/engine.js\"\n }\n }\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git+https://github.com/moxt-ai/morty.git\",\n \"directory\": \"packages/cli\"\n },\n \"scripts\": {\n \"prebuild\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"build\": \"node scripts/build.ts && tsc --project tsconfig.build.json\",\n \"dev\": \"node --watch src/cli/entrypoint.ts\",\n \"pretypecheck\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"prepack\": \"pnpm build\",\n \"start\": \"node dist/cli.js\",\n \"typecheck\": \"tsc --project tsconfig.json && tsc --project tests/tsconfig.json\",\n \"pretest:controlled\": \"pnpm build && pnpm pack:test\",\n \"test:controlled\": \"vitest run tests/sessions tests/runtime\",\n \"pretest:manual\": \"pnpm pretest:controlled\",\n \"test:manual\": \"vitest run tests/manual\",\n \"pretest:agents\": \"pnpm build && pnpm pack:test\",\n \"test:agents\": \"vitest run tests/agents --maxWorkers=2\",\n \"pretest:pressure\": \"tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json\",\n \"test:pressure\": \"node tests/pressure/concurrent-sessions.mjs\",\n \"pack:test\": \"node scripts/pack-test-release.ts\"\n },\n \"dependencies\": {\n \"undici\": \"8.12.2\"\n },\n \"devDependencies\": {\n \"@agentclientprotocol/sdk\": \"^1.4.0\",\n \"@anthropic-ai/claude-agent-sdk\": \"0.3.257\",\n \"@anthropic-ai/sdk\": \"0.122.0\",\n \"@morty-build/client\": \"workspace:*\",\n \"@morty-build/platform-test-support\": \"workspace:*\",\n \"@types/node\": \"^24.13.5\",\n \"@types/semver\": \"^7.8.0\",\n \"@types/ws\": \"^8.18.1\",\n \"commander\": \"15.0.0\",\n \"drizzle-kit\": \"1.0.0-rc.4\",\n \"drizzle-orm\": \"1.0.0-rc.4\",\n \"esbuild\": \"0.28.2\",\n \"semver\": \"^7.8.5\",\n \"valibot\": \"1.5.0\",\n \"ws\": \"^8.21.3\",\n \"zod\": \"^4.6.7\",\n \"@morty-build/local-state\": \"workspace:*\",\n \"miniflare\": \"catalog:\"\n },\n \"keywords\": [],\n \"author\": \"Moxt\",\n \"license\": \"Apache-2.0\",\n \"bugs\": {\n \"url\": \"https://github.com/moxt-ai/morty/issues\"\n },\n \"homepage\": \"https://morty.build\",\n \"private\": false\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,EACI,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,MAAQ;AAAA,EACR,KAAO;AAAA,IACH,OAAS;AAAA,EACb;AAAA,EACA,SAAW;AAAA,IACP,YAAY;AAAA,MACR,gBAAgB;AAAA,MAChB,OAAS;AAAA,MACT,SAAW;AAAA,IACf;AAAA,EACJ;AAAA,EACA,OAAS;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAAA,EACA,SAAW;AAAA,IACP,MAAQ;AAAA,EACZ;AAAA,EACA,eAAiB;AAAA,IACb,QAAU;AAAA,IACV,SAAW;AAAA,MACP,YAAY;AAAA,QACR,OAAS;AAAA,QACT,QAAU;AAAA,QACV,SAAW;AAAA,MACf;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,YAAc;AAAA,IACV,MAAQ;AAAA,IACR,KAAO;AAAA,IACP,WAAa;AAAA,EACjB;AAAA,EACA,SAAW;AAAA,IACP,UAAY;AAAA,IACZ,OAAS;AAAA,IACT,KAAO;AAAA,IACP,cAAgB;AAAA,IAChB,SAAW;AAAA,IACX,OAAS;AAAA,IACT,WAAa;AAAA,IACb,sBAAsB;AAAA,IACtB,mBAAmB;AAAA,IACnB,kBAAkB;AAAA,IAClB,eAAe;AAAA,IACf,kBAAkB;AAAA,IAClB,eAAe;AAAA,IACf,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,aAAa;AAAA,EACjB;AAAA,EACA,cAAgB;AAAA,IACZ,QAAU;AAAA,EACd;AAAA,EACA,iBAAmB;AAAA,IACf,4BAA4B;AAAA,IAC5B,kCAAkC;AAAA,IAClC,qBAAqB;AAAA,IACrB,uBAAuB;AAAA,IACvB,sCAAsC;AAAA,IACtC,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,WAAa;AAAA,IACb,eAAe;AAAA,IACf,eAAe;AAAA,IACf,SAAW;AAAA,IACX,QAAU;AAAA,IACV,SAAW;AAAA,IACX,IAAM;AAAA,IACN,KAAO;AAAA,IACP,4BAA4B;AAAA,IAC5B,WAAa;AAAA,EACjB;AAAA,EACA,UAAY,CAAC;AAAA,EACb,QAAU;AAAA,EACV,SAAW;AAAA,EACX,MAAQ;AAAA,IACJ,KAAO;AAAA,EACX;AAAA,EACA,UAAY;AAAA,EACZ,SAAW;AACf;",
6
6
  "names": []
7
7
  }
@@ -36,10 +36,10 @@ import {
36
36
  validateLocalPath,
37
37
  validatePairingId,
38
38
  writeInstallationFile
39
- } from "./chunk-MNUDTG5G.js";
39
+ } from "./chunk-M7MJMWZ4.js";
40
40
  import {
41
41
  package_default
42
- } from "./chunk-SIONM2MQ.js";
42
+ } from "./chunk-VVUR5KEG.js";
43
43
 
44
44
  // ../../node_modules/.pnpm/commander@15.0.0/node_modules/commander/lib/error.js
45
45
  var CommanderError = class extends Error {
@@ -6126,4 +6126,4 @@ async function runCLI() {
6126
6126
  export {
6127
6127
  runCLI
6128
6128
  };
6129
- //# sourceMappingURL=cli-2AK6HJDW.js.map
6129
+ //# sourceMappingURL=cli-WX4DANUN.js.map
package/dist/cli.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  __commonJS,
4
4
  __toESM,
5
5
  package_default
6
- } from "./chunk-SIONM2MQ.js";
6
+ } from "./chunk-VVUR5KEG.js";
7
7
 
8
8
  // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js
9
9
  var require_constants = __commonJS({
@@ -2013,7 +2013,7 @@ if (!(0, import_semver.satisfies)(process.versions.node, package_default.engines
2013
2013
  );
2014
2014
  process.exitCode = 1;
2015
2015
  } else {
2016
- const { runCLI } = await import("./cli-2AK6HJDW.js");
2016
+ const { runCLI } = await import("./cli-WX4DANUN.js");
2017
2017
  await runCLI();
2018
2018
  }
2019
2019
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/history.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAyNvD,eAAO,MAAM,6BAA6B,EAAE,cAmB3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,cAiB3C,CAAC"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/history.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA+LvD,eAAO,MAAM,6BAA6B,EAAE,cAmB3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,cAiB3C,CAAC"}
@@ -3,19 +3,6 @@ import { operationErrorCode } from "../../../infra/operation-error.js";
3
3
  import { SessionError } from "../../../session/api/session-error.js";
4
4
  import { resolveSessionDirectories } from "../../../session/workspace/resolve-session-directories.js";
5
5
  import { reportOperationFailure, send } from "../transport.js";
6
- /** The outcomes whose prompt recorded a user message among `events`. */
7
- function onPage(outcomes, events) {
8
- const messageIds = new Set();
9
- for (const event of events) {
10
- if (event.type === "acp" &&
11
- event.payload.sessionUpdate === "user_message_chunk" &&
12
- event.payload.messageId !== undefined &&
13
- event.payload.messageId !== null) {
14
- messageIds.add(event.payload.messageId);
15
- }
16
- }
17
- return outcomes.filter(({ payload }) => payload.messageId !== undefined && messageIds.has(payload.messageId));
18
- }
19
6
  async function loadHistoryPage(sessionId, eventLimit, initialCursor, queuedPromptRequests, load) {
20
7
  let cursor = initialCursor;
21
8
  let loaded = [];
@@ -52,7 +39,6 @@ async function loadHistoryPage(sessionId, eventLimit, initialCursor, queuedPromp
52
39
  return {
53
40
  events: {
54
41
  events: orderedEvents.map(({ event }) => event),
55
- promptOutcomes: [],
56
42
  nextCursor,
57
43
  sessionGenerationId,
58
44
  tailCursor: orderedEvents.at(-1)?.event.eventId ?? "",
@@ -80,19 +66,10 @@ async function executeSessionHistoryPageLoad(socket, command, config, resolveAge
80
66
  signal,
81
67
  };
82
68
  const recovery = eventProjection.promptRequestRecovery(command.sessionId);
83
- // Read before the page: a prompt's terminal event is stored before its receipt settles, so every outcome read
84
- // here is within the page's live boundary and never arrives again as a live event.
85
- const settled = eventProjection.promptOutcomes(command.sessionId);
86
69
  const events = await loadHistoryPage(command.sessionId, command.eventLimit, command.cursor, recovery.queuedPromptRequests, async (eventLimit, cursor) => await sessions.loadSessionEvents(loadOptions, eventLimit, cursor));
87
70
  signal.throwIfAborted();
88
71
  send(socket, {
89
- events: {
90
- ...events,
91
- events: {
92
- ...events.events,
93
- promptOutcomes: onPage(settled, events.events.events),
94
- },
95
- },
72
+ events,
96
73
  kind: SESSION_HISTORY_PAGE_LOADED_KIND,
97
74
  requestId: command.requestId,
98
75
  sessionId: command.sessionId,
@@ -1 +1 @@
1
- {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"history.js","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/history.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-layer.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/api/session-layer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAmCvE,2GAA2G;AAC3G,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACzB;AAED,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;;;;;;;;EAoH7D"}
1
+ {"version":3,"file":"session-layer.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/api/session-layer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAmCvE,2GAA2G;AAC3G,MAAM,WAAW,mBAAmB;IAChC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACzB;AAED,wGAAwG;AACxG,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB;;;;;;;;EAqH7D"}
@@ -68,6 +68,7 @@ export function buildSessionLayer(options) {
68
68
  onSessionStatusChanged: sink.publishStatus,
69
69
  onSessionClosed: sink.publishClosed,
70
70
  lastTurn: operations.lastTurn,
71
+ settledTurns: operations.settledTurns,
71
72
  timer,
72
73
  });
73
74
  const eventProjection = new PromptLifecycle(sink, async (sessionId, event) => {
@@ -1 +1 @@
1
- {"version":3,"file":"session-layer.js","sourceRoot":"","sources":["../../../../src/engine/session/api/session-layer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-layer.js","sourceRoot":"","sources":["../../../../src/engine/session/api/session-layer.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,11 @@
1
1
  import type { AcpSessionUpdate, SessionEvent, SessionLiveEvent } from "@morty-build/client/protocol";
2
- type AcpSessionEvent = Extract<SessionEvent, {
3
- readonly type: "acp";
4
- }>;
5
2
  type ToolCall = Extract<AcpSessionUpdate, {
6
3
  readonly sessionUpdate: "tool_call" | "tool_call_update";
7
4
  }>;
8
5
  export type SessionEventHistoryProjectionMutation = {
9
6
  readonly kind: "skip";
10
7
  } | {
11
- readonly events: readonly AcpSessionEvent[];
8
+ readonly events: readonly SessionEvent[];
12
9
  readonly kind: "append";
13
10
  } | {
14
11
  readonly event: SessionEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"session-event-history-projection.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/history/session-event-history-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErG,KAAK,eAAe,GAAG,OAAO,CAAC,YAAY,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AACvE,KAAK,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,WAAW,GAAG,kBAAkB,CAAA;CAAE,CAAC,CAAC;AA8BxG,MAAM,MAAM,qCAAqC,GAC3C;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACxE;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnG;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,KAAK,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAoI5G,qBAAa,6BAA6B;;IAItC,QAAQ,CAAC,KAAK,cACC,gBAAgB,WAClB,0BAA0B,KACpC,qCAAqC,CAkCtC;IAEF;;;OAGG;IACH,QAAQ,CAAC,WAAW,eAAgB,MAAM,WAAW,0BAA0B,KAAG,QAAQ,GAAG,SAAS,CAapG;CAkBL"}
1
+ {"version":3,"file":"session-event-history-projection.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/history/session-event-history-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGrG,KAAK,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE;IAAE,QAAQ,CAAC,aAAa,EAAE,WAAW,GAAG,kBAAkB,CAAA;CAAE,CAAC,CAAC;AAgCxG,MAAM,MAAM,qCAAqC,GAC3C;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnG;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,KAAK,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AA2I5G,qBAAa,6BAA6B;;IAMtC,QAAQ,CAAC,KAAK,cACC,gBAAgB,WAClB,0BAA0B,KACpC,qCAAqC,CAiCtC;IAEF;;;OAGG;IACH,QAAQ,CAAC,WAAW,eAAgB,MAAM,WAAW,0BAA0B,KAAG,QAAQ,GAAG,SAAS,CAapG;CAuDL"}
@@ -24,6 +24,10 @@ function projectNewEvent(liveEvent, eventId) {
24
24
  }
25
25
  return { ...event, eventId };
26
26
  }
27
+ function projectLifecycleEvent(liveEvent) {
28
+ const { position: _position, ...event } = liveEvent;
29
+ return event;
30
+ }
27
31
  function replaceAcpPayload(event, payload) {
28
32
  return { ...event, payload };
29
33
  }
@@ -117,12 +121,13 @@ function mergeTextChunk(previous, incoming) {
117
121
  }
118
122
  export class SessionEventHistoryProjection {
119
123
  #toolCallEventIds = new Map();
124
+ /** The turns this history holds: open until their ending is recorded, where the turn ended. */
125
+ #turns = new Map();
120
126
  #latestEvent = null;
121
127
  apply = (liveEvent, resolve) => {
122
128
  if (liveEvent.type === "lifecycle-metadata") {
123
129
  this.#latestEvent = null;
124
- // User content arrives as explicit ACP chunks after prompt.requested.
125
- return { kind: "skip" };
130
+ return this.#turnLifecycle(liveEvent);
126
131
  }
127
132
  if (liveEvent.type === "acp" && liveEvent.payload.sessionUpdate === "tool_call_update") {
128
133
  const targetEventId = this.#toolCallEventIds.get(liveEvent.payload.toolCallId);
@@ -162,6 +167,40 @@ export class SessionEventHistoryProjection {
162
167
  }
163
168
  return undefined;
164
169
  };
170
+ /**
171
+ * Keeps the lifecycle that delimits each turn, where it happened. A turn's ending is history only once, after its
172
+ * start: an ending restated for a client, or one for a turn this history does not hold, has no place in it.
173
+ * Interaction and queue changes are current state, not history.
174
+ */
175
+ #turnLifecycle = (liveEvent) => {
176
+ const payload = liveEvent.payload;
177
+ switch (payload.kind) {
178
+ case "prompt.requested":
179
+ case "prompt.started":
180
+ case "prompt.delegated":
181
+ if (this.#turns.get(payload.commandId) === "ended") {
182
+ return { kind: "skip" };
183
+ }
184
+ this.#turns.set(payload.commandId, "open");
185
+ return { events: [projectLifecycleEvent(liveEvent)], kind: "append" };
186
+ case "prompt.completed":
187
+ case "prompt.failed":
188
+ case "prompt.failed-before-start":
189
+ if (this.#turns.get(payload.commandId) !== "open") {
190
+ return { kind: "skip" };
191
+ }
192
+ this.#turns.set(payload.commandId, "ended");
193
+ return { events: [projectLifecycleEvent(liveEvent)], kind: "append" };
194
+ case "session.queue.changed":
195
+ case "session.permission.requested":
196
+ case "session.permission.resolved":
197
+ case "session.elicitation.requested":
198
+ case "session.elicitation.resolved":
199
+ return { kind: "skip" };
200
+ default:
201
+ return payload;
202
+ }
203
+ };
165
204
  #replace = (current, replacement) => {
166
205
  if (this.#latestEvent?.eventId === current.eventId) {
167
206
  this.#latestEvent = replacement;
@@ -1 +1 @@
1
- {"version":3,"file":"session-event-history-projection.js","sourceRoot":"","sources":["../../../../src/engine/session/history/session-event-history-projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-event-history-projection.js","sourceRoot":"","sources":["../../../../src/engine/session/history/session-event-history-projection.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,14 @@
1
- import type { AcpSessionUpdate, SessionEventPayload, SessionLiveEvent } from "@morty-build/client/protocol";
1
+ import { type AcpSessionUpdate, type SessionEventPayload, type SessionLiveEvent } from "@morty-build/client/protocol";
2
+ import type { SettledTurn } from "../turn/execution-receipts.ts";
2
3
  import type { SessionEventPage, SessionEventStore } from "./session-event-store.ts";
3
4
  /** Captures ACP updates into the V2 session event log. */
4
5
  export declare class HistoryReplayCapture {
5
6
  #private;
6
- constructor(events: SessionEventStore, sessionId: string);
7
+ constructor(events: SessionEventStore, sessionId: string, settledTurns?: readonly SettledTurn[]);
8
+ /** Records an update the Agent replays from its own history, with the lifecycle of the turn it belongs to. */
9
+ readonly replay: (rawUpdate: AcpSessionUpdate) => void;
10
+ /** Ends the replay: the last replayed turn ends where the Agent's history does. */
11
+ readonly finishReplay: () => void;
7
12
  readonly record: (rawUpdate: AcpSessionUpdate, onRecorded?: (event: SessionLiveEvent) => Promise<void>) => Promise<void>;
8
13
  readonly recordLifecycle: (event: SessionEventPayload) => SessionLiveEvent;
9
14
  readonly eventPage: (eventLimit: number, cursor: string | null) => SessionEventPage;
@@ -1 +1 @@
1
- {"version":3,"file":"session-history.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/history/session-history.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC5G,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEpF,0DAA0D;AAC1D,qBAAa,oBAAoB;;IAI7B,YAAY,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAGvD;IAED,QAAQ,CAAC,MAAM,cACA,gBAAgB,eACf,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,KACvD,OAAO,CAAC,IAAI,CAAC,CAGd;IAEF,QAAQ,CAAC,eAAe,UAAW,mBAAmB,KAAG,gBAAgB,CAKvE;IAEF,QAAQ,CAAC,SAAS,eAAgB,MAAM,UAAU,MAAM,GAAG,IAAI,KAAG,gBAAgB,CACvB;CAC9D"}
1
+ {"version":3,"file":"session-history.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/history/session-history.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,KAAK,gBAAgB,EAErB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAmFpF,0DAA0D;AAC1D,qBAAa,oBAAoB;;IAK7B,YAAY,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,GAAE,SAAS,WAAW,EAAO,EAIlG;IAED,8GAA8G;IAC9G,QAAQ,CAAC,MAAM,cAAe,gBAAgB,KAAG,IAAI,CAKnD;IAEF,mFAAmF;IACnF,QAAQ,CAAC,YAAY,QAAO,IAAI,CAI9B;IAEF,QAAQ,CAAC,MAAM,cACA,gBAAgB,eACf,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,KACvD,OAAO,CAAC,IAAI,CAAC,CAGd;IAEF,QAAQ,CAAC,eAAe,UAAW,mBAAmB,KAAG,gBAAgB,CAKvE;IAEF,QAAQ,CAAC,SAAS,eAAgB,MAAM,UAAU,MAAM,GAAG,IAAI,KAAG,gBAAgB,CACvB;CAC9D"}
@@ -1,11 +1,95 @@
1
+ import { promptCompletion, } from "@morty-build/client/protocol";
2
+ function lifecycle(payload) {
3
+ return { payload, type: "lifecycle-metadata" };
4
+ }
5
+ /** A settled turn's start, as the Runtime recorded it when the turn joined the Session. */
6
+ function turnStart(turn, content, steers) {
7
+ const { commandId } = turn.outcome;
8
+ const requested = content.sessionUpdate === "user_message_chunk"
9
+ ? lifecycle({
10
+ commandId,
11
+ content: [content.content],
12
+ kind: "prompt.requested",
13
+ ...(steers === null ? { disposition: "append" } : { disposition: "steer", targetCommandId: steers }),
14
+ })
15
+ : null;
16
+ const started = lifecycle({ attemptId: turn.attemptId, commandId, epoch: turn.attemptId, kind: "prompt.started" });
17
+ return [
18
+ ...(requested === null ? [] : [{ event: requested, recordedAt: turn.startedAt }]),
19
+ { event: started, recordedAt: turn.startedAt },
20
+ ];
21
+ }
22
+ const turnEnd = (turn) => ({
23
+ event: lifecycle(turn.outcome),
24
+ recordedAt: turn.recordedAt,
25
+ });
26
+ /**
27
+ * Places the lifecycle of the turns the Runtime ran among the Agent's replayed history, where they happened. A turn
28
+ * starts at the user message its Agent recorded for it and ends before the next user message that does not steer into
29
+ * it, or where the replay ends. A message steered into a turn joins that turn.
30
+ */
31
+ class ReplayedTurns {
32
+ #byMessage;
33
+ #open = null;
34
+ /** The user message the latest replayed event belongs to; undefined after any other event. */
35
+ #userMessage;
36
+ constructor(turns) {
37
+ this.#byMessage = new Map(turns.map((turn) => [turn.outcome.messageId, turn]));
38
+ }
39
+ /** The lifecycle that precedes `update` in history. */
40
+ before = (update) => {
41
+ if (update.sessionUpdate !== "user_message_chunk") {
42
+ this.#userMessage = undefined;
43
+ return [];
44
+ }
45
+ const messageId = update.messageId ?? null;
46
+ if (this.#userMessage?.messageId === messageId) {
47
+ return [];
48
+ }
49
+ this.#userMessage = { messageId };
50
+ const turn = messageId === null ? undefined : this.#byMessage.get(messageId);
51
+ const steered = turn?.outcome.kind === "prompt.completed" && promptCompletion(turn.outcome).kind === "steered";
52
+ const open = this.#open;
53
+ if (turn !== undefined && steered && open !== null) {
54
+ return [...turnStart(turn, update, open.outcome.commandId), turnEnd(turn)];
55
+ }
56
+ const ended = this.end();
57
+ if (turn === undefined || steered) {
58
+ return ended;
59
+ }
60
+ this.#open = turn;
61
+ return [...ended, ...turnStart(turn, update, null)];
62
+ };
63
+ /** The ending of the turn still open where the replay ends. */
64
+ end = () => {
65
+ const open = this.#open;
66
+ this.#open = null;
67
+ return open === null ? [] : [turnEnd(open)];
68
+ };
69
+ }
1
70
  /** Captures ACP updates into the V2 session event log. */
2
71
  export class HistoryReplayCapture {
3
72
  #events;
4
73
  #sessionId;
5
- constructor(events, sessionId) {
74
+ #replayed;
75
+ constructor(events, sessionId, settledTurns = []) {
6
76
  this.#events = events;
7
77
  this.#sessionId = sessionId;
78
+ this.#replayed = new ReplayedTurns(settledTurns);
8
79
  }
80
+ /** Records an update the Agent replays from its own history, with the lifecycle of the turn it belongs to. */
81
+ replay = (rawUpdate) => {
82
+ for (const { event, recordedAt } of this.#replayed.before(rawUpdate)) {
83
+ this.#events.append(this.#sessionId, event, recordedAt);
84
+ }
85
+ this.#events.append(this.#sessionId, { payload: rawUpdate, type: "acp" });
86
+ };
87
+ /** Ends the replay: the last replayed turn ends where the Agent's history does. */
88
+ finishReplay = () => {
89
+ for (const { event, recordedAt } of this.#replayed.end()) {
90
+ this.#events.append(this.#sessionId, event, recordedAt);
91
+ }
92
+ };
9
93
  record = async (rawUpdate, onRecorded = () => Promise.resolve()) => {
10
94
  const event = this.#events.append(this.#sessionId, { payload: rawUpdate, type: "acp" });
11
95
  await onRecorded(event);
@@ -1 +1 @@
1
- {"version":3,"file":"session-history.js","sourceRoot":"","sources":["../../../../src/engine/session/history/session-history.ts"],"names":[],"mappings":"AAGA,0DAA0D;AAC1D,MAAM,OAAO,oBAAoB;IACpB,OAAO,CAAoB;IAC3B,UAAU,CAAS;IAE5B,YAAY,MAAyB,EAAE,SAAiB;QACpD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAChC,CAAC;IAEQ,MAAM,GAAG,KAAK,EACnB,SAA2B,EAC3B,UAAU,GAA+C,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EACnE,EAAE;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxF,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEO,eAAe,GAAG,CAAC,KAA0B,EAAoB,EAAE;QACxE,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC;IAEO,SAAS,GAAG,CAAC,UAAkB,EAAE,MAAqB,EAAoB,EAAE,CACjF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;CAC9D"}
1
+ {"version":3,"file":"session-history.js","sourceRoot":"","sources":["../../../../src/engine/session/history/session-history.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,gBAAgB,GAGnB,MAAM,8BAA8B,CAAC;AAStC,SAAS,SAAS,CAAC,OAAyF;IACxG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAgC,CAAC;AACjF,CAAC;AAED,2FAA2F;AAC3F,SAAS,SAAS,CAAC,IAAiB,EAAE,OAAyB,EAAE,MAAqB;IAClF,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;IACnC,MAAM,SAAS,GACX,OAAO,CAAC,aAAa,KAAK,oBAAoB;QAC1C,CAAC,CAAC,SAAS,CAAC;YACN,SAAS;YACT,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;YAC1B,IAAI,EAAE,kBAAkB;YACxB,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;SACvG,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACf,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACnH,OAAO;QACH,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACjF,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE;KACjD,CAAC;AACN,CAAC;AAED,MAAM,OAAO,GAAG,CAAC,IAAiB,EAAmB,EAAE,CAAC,CAAC;IACrD,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;IAC9B,UAAU,EAAE,IAAI,CAAC,UAAU;CAC9B,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,aAAa;IACN,UAAU,CAAmC;IACtD,KAAK,GAAuB,IAAI,CAAC;IACjC,8FAA8F;IAC9F,YAAY,CAAoD;IAEhE,YAAY,KAA6B;QACrC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,uDAAuD;IAC9C,MAAM,GAAG,CAAC,MAAwB,EAA8B,EAAE;QACvE,IAAI,MAAM,CAAC,aAAa,KAAK,oBAAoB,EAAE,CAAC;YAChD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,OAAO,EAAE,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC;QAC3C,IAAI,IAAI,CAAC,YAAY,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAC;QACd,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,EAAE,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,kBAAkB,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC;QAC/G,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,+DAA+D;IACtD,GAAG,GAAG,GAA+B,EAAE;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,CAAC,CAAC;CACL;AAED,0DAA0D;AAC1D,MAAM,OAAO,oBAAoB;IACpB,OAAO,CAAoB;IAC3B,UAAU,CAAS;IACnB,SAAS,CAAgB;IAElC,YAAY,MAAyB,EAAE,SAAiB,EAAE,YAAY,GAA2B,EAAE;QAC/F,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,8GAA8G;IACrG,MAAM,GAAG,CAAC,SAA2B,EAAQ,EAAE;QACpD,KAAK,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACnE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9E,CAAC,CAAC;IAEF,mFAAmF;IAC1E,YAAY,GAAG,GAAS,EAAE;QAC/B,KAAK,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,CAAC;YACvD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5D,CAAC;IACL,CAAC,CAAC;IAEO,MAAM,GAAG,KAAK,EACnB,SAA2B,EAC3B,UAAU,GAA+C,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EACnE,EAAE;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACxF,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEO,eAAe,GAAG,CAAC,KAA0B,EAAoB,EAAE;QACxE,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC,CAAC;IAEO,SAAS,GAAG,CAAC,UAAkB,EAAE,MAAqB,EAAoB,EAAE,CACjF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;CAC9D"}
@@ -6,9 +6,15 @@ import type { OperationMetrics } from "../../infra/operation-metrics.ts";
6
6
  import { type ElicitationResponseOptions, type PermissionResponseOptions, PreparedSession, type PromptResult, type SessionConfigurationChange, type SessionConfigurationSnapshot, type SessionConfigureOptions, type SessionObserver, type SessionPrepareOptions, type SessionRecovery, type SessionSteerOptions, type SessionTurnOptions } from "../api/session-api.ts";
7
7
  import type { SessionEventPage } from "../history/session-event-store.ts";
8
8
  import { type SessionStore, StoredSession } from "../record/session-store.ts";
9
+ import type { SettledTurn } from "../turn/execution-receipts.ts";
9
10
  import type { AgentSessionRestore } from "./agent-session-restore.ts";
10
- /** Reads, from the Session's execution authority, the command whose prompt the Session's Agent holds. */
11
- export type AgentCommand = (sessionId: string) => string | undefined;
11
+ /** What the Session's execution authority tells its Agent session. */
12
+ export interface SessionExecutionRecord {
13
+ /** The command whose prompt the Session's Agent holds. */
14
+ readonly agentCommand: (sessionId: string) => string | undefined;
15
+ /** The Session's settled turns, which a replayed history places among the Agent's own events. */
16
+ readonly settledTurns: (sessionId: string) => readonly SettledTurn[];
17
+ }
12
18
  type NativeHistoryOwnership = {
13
19
  readonly kind: "unbound";
14
20
  } | {
@@ -28,7 +34,7 @@ export declare class AgentSession implements AgentSessionRestore {
28
34
  get store(): SessionStore;
29
35
  readonly hasBackgroundActivity: () => boolean;
30
36
  private constructor();
31
- static readonly start: (options: SessionPrepareOptions, recovery: SessionRecovery, getObserver: () => SessionObserver, agentCommand: AgentCommand, store: SessionStore, metrics: OperationMetrics, adapter: Adapter, capabilities?: SessionCapabilities) => Promise<AgentSession>;
37
+ static readonly start: (options: SessionPrepareOptions, recovery: SessionRecovery, getObserver: () => SessionObserver, execution: SessionExecutionRecord, store: SessionStore, metrics: OperationMetrics, adapter: Adapter, capabilities?: SessionCapabilities) => Promise<AgentSession>;
32
38
  readonly belongsTo: (agentId: string, cwd: string, additionalDirectories: readonly string[]) => boolean;
33
39
  readonly usesEnvironment: (environment: Readonly<Record<string, string>>) => boolean;
34
40
  readonly writeStoredSession: (updatedAt: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/live/agent-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/live/agent-session.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,7 @@ export class AgentSession {
63
63
  #environment;
64
64
  #getObserver;
65
65
  #agentCommand;
66
+ #settledTurns;
66
67
  #interactions;
67
68
  #mortySessionId;
68
69
  #metrics;
@@ -82,8 +83,9 @@ export class AgentSession {
82
83
  #restored = false;
83
84
  #sessionTitle = null;
84
85
  #sessionUpdatedAt = "";
85
- constructor(agent, cwd, additionalDirectories, mortySessionId, getObserver, agentCommand, store, metrics, adapter, externalize) {
86
- this.#agentCommand = () => agentCommand(this.#mortySessionId);
86
+ constructor(agent, cwd, additionalDirectories, mortySessionId, getObserver, execution, store, metrics, adapter, externalize) {
87
+ this.#agentCommand = () => execution.agentCommand(this.#mortySessionId);
88
+ this.#settledTurns = () => execution.settledTurns(this.#mortySessionId);
87
89
  this.#additionalDirectories = [...additionalDirectories];
88
90
  this.#adapter = adapter;
89
91
  this.#agentId = agent.id;
@@ -147,10 +149,10 @@ export class AgentSession {
147
149
  },
148
150
  };
149
151
  }
150
- static async #start(options, getObserver, agentCommand, store, initialize, metrics, adapter) {
152
+ static async #start(options, getObserver, execution, store, initialize, metrics, adapter) {
151
153
  for (let attempt = 1; attempt <= 2; attempt += 1) {
152
154
  await metrics.measure("executable-validation", async () => await validateAgentRuntime(options.agent, options.signal));
153
- const runtime = metrics.measureSync("process-spawn", () => new AgentSession(options.agent, options.cwd, options.additionalDirectories, options.sessionId, getObserver, agentCommand, store, metrics, adapter, options.externalizeSessionUpdate));
155
+ const runtime = metrics.measureSync("process-spawn", () => new AgentSession(options.agent, options.cwd, options.additionalDirectories, options.sessionId, getObserver, execution, store, metrics, adapter, options.externalizeSessionUpdate));
154
156
  try {
155
157
  await initialize(runtime);
156
158
  return runtime;
@@ -172,7 +174,7 @@ export class AgentSession {
172
174
  }
173
175
  throw new AcpExecutionError("ACP agent initialization failed");
174
176
  }
175
- static start = async (options, recovery, getObserver, agentCommand, store, metrics, adapter, capabilities = unsupportedSessionCapabilities()) => await AgentSession.#start(options, getObserver, agentCommand, store, async (runtime) => {
177
+ static start = async (options, recovery, getObserver, execution, store, metrics, adapter, capabilities = unsupportedSessionCapabilities()) => await AgentSession.#start(options, getObserver, execution, store, async (runtime) => {
176
178
  runtime.#capabilities = capabilities;
177
179
  await runtime.initialize(options.signal, recovery, options.origin);
178
180
  }, metrics, adapter);
@@ -297,7 +299,7 @@ export class AgentSession {
297
299
  return await waitForSharedOperation(this.#sessionLoad.completion, signal);
298
300
  }
299
301
  this.#store.events.reset(this.#mortySessionId);
300
- const history = new HistoryReplayCapture(this.#store.events, this.#mortySessionId);
302
+ const history = new HistoryReplayCapture(this.#store.events, this.#mortySessionId, this.#settledTurns());
301
303
  const completion = Promise.resolve().then(async () => {
302
304
  try {
303
305
  const opened = await this.#writeNativeHistory(async () => await this.#adapter.openSessionWithReplay({
@@ -306,6 +308,7 @@ export class AgentSession {
306
308
  }));
307
309
  signal.throwIfAborted();
308
310
  this.#capabilities = opened.capabilities;
311
+ history.finishReplay();
309
312
  const loaded = { history, kind: "loaded", opened };
310
313
  this.#sessionLoad = loaded;
311
314
  return loaded;
@@ -708,7 +711,7 @@ export class AgentSession {
708
711
  this.#captureSelectedConfigurationValues();
709
712
  }
710
713
  if (this.#sessionLoad.kind === "capturing") {
711
- await this.#sessionLoad.history.record(event.payload);
714
+ this.#sessionLoad.history.replay(event.payload);
712
715
  }
713
716
  else if (this.#sessionLoad.kind === "loaded" || this.#sessionLoad.kind === "execution-only") {
714
717
  await this.#sessionLoad.history.record(event.payload, async (liveEvent) => {