@moxt-ai/mobius 0.0.411 → 0.0.413

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 (26) hide show
  1. package/dist/{chunk-EX66DFKM.js → chunk-CODQ63O2.js} +2 -2
  2. package/dist/{chunk-EX66DFKM.js.map → chunk-CODQ63O2.js.map} +1 -1
  3. package/dist/{chunk-6BQX2L5A.js → chunk-RROKC2HZ.js} +105 -49
  4. package/dist/{chunk-6BQX2L5A.js.map → chunk-RROKC2HZ.js.map} +3 -3
  5. package/dist/{cli-4QU22MGP.js → cli-F67ZNI2N.js} +3 -3
  6. package/dist/cli.js +2 -2
  7. package/dist/engine/runtime/command/registry/interactions.d.ts.map +1 -1
  8. package/dist/engine/runtime/command/registry/interactions.js +11 -2
  9. package/dist/engine/runtime/command/registry/interactions.js.map +1 -1
  10. package/dist/engine/runtime/command/registry/prompt.d.ts.map +1 -1
  11. package/dist/engine/runtime/command/registry/prompt.js +8 -7
  12. package/dist/engine/runtime/command/registry/prompt.js.map +1 -1
  13. package/dist/engine/session/api/session-layer.d.ts.map +1 -1
  14. package/dist/engine/session/api/session-layer.js +12 -4
  15. package/dist/engine/session/api/session-layer.js.map +1 -1
  16. package/dist/engine/session/prompt/prompt-lifecycle.d.ts +9 -3
  17. package/dist/engine/session/prompt/prompt-lifecycle.d.ts.map +1 -1
  18. package/dist/engine/session/prompt/prompt-lifecycle.js +33 -9
  19. package/dist/engine/session/prompt/prompt-lifecycle.js.map +1 -1
  20. package/dist/engine/session/turn/execution-receipts.d.ts +41 -8
  21. package/dist/engine/session/turn/execution-receipts.d.ts.map +1 -1
  22. package/dist/engine/session/turn/execution-receipts.js +48 -25
  23. package/dist/engine/session/turn/execution-receipts.js.map +1 -1
  24. package/dist/engine.js +2 -2
  25. package/package.json +2 -2
  26. /package/dist/{cli-4QU22MGP.js.map → cli-F67ZNI2N.js.map} +0 -0
@@ -31,10 +31,10 @@ import {
31
31
  unhandledRejectionLogFilename,
32
32
  validateLocalPath,
33
33
  validatePairingId
34
- } from "./chunk-6BQX2L5A.js";
34
+ } from "./chunk-RROKC2HZ.js";
35
35
  import {
36
36
  package_default
37
- } from "./chunk-EX66DFKM.js";
37
+ } from "./chunk-CODQ63O2.js";
38
38
 
39
39
  // ../../node_modules/.pnpm/commander@15.0.0/node_modules/commander/lib/error.js
40
40
  var CommanderError = class extends Error {
@@ -5710,4 +5710,4 @@ async function runCLI() {
5710
5710
  export {
5711
5711
  runCLI
5712
5712
  };
5713
- //# sourceMappingURL=cli-4QU22MGP.js.map
5713
+ //# sourceMappingURL=cli-F67ZNI2N.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-EX66DFKM.js";
6
+ } from "./chunk-CODQ63O2.js";
7
7
 
8
8
  // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js
9
9
  var require_constants = __commonJS({
@@ -2008,7 +2008,7 @@ if (!(0, import_semver.satisfies)(process.versions.node, package_default.engines
2008
2008
  );
2009
2009
  process.exitCode = 1;
2010
2010
  } else {
2011
- const { runCLI } = await import("./cli-4QU22MGP.js");
2011
+ const { runCLI } = await import("./cli-F67ZNI2N.js");
2012
2012
  await runCLI();
2013
2013
  }
2014
2014
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/interactions.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,eAAO,MAAM,oBAAoB,EAAE,cAqBlC,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,cAuC7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,cAejC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cAsBtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cAUtC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,cAUvC,CAAC"}
1
+ {"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/interactions.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,eAAO,MAAM,oBAAoB,EAAE,cAqBlC,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,cAiD7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,cAejC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cAsBtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cAUtC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,cAUvC,CAAC"}
@@ -36,11 +36,20 @@ export const sessionCancelBeforeStartCommand = {
36
36
  }
37
37
  const turn = sessionTurns.get(message.commandId, message.sessionId);
38
38
  if (turn === undefined) {
39
- const outcome = operations.recordCancellationBeforeAdmission(message.commandId, message.sessionId);
39
+ const cancelled = operations.recordCancellationBeforeAdmission(message.commandId, message.sessionId);
40
+ const outcome = cancelled.kind === "unavailable"
41
+ ? undefined
42
+ : cancelled.kind === "restated"
43
+ ? cancelled.outcome.event
44
+ : cancelled.outcome;
40
45
  if (outcome?.type === "lifecycle-metadata" &&
41
46
  outcome.payload.kind === "prompt.completed" &&
42
47
  promptCompletion(outcome.payload).kind === "cancelled") {
43
- void eventProjection.replayOutcome(message.sessionId, outcome).catch((error) => {
48
+ if (cancelled.kind === "restated") {
49
+ eventProjection.restateOutcome(message.sessionId, cancelled.outcome);
50
+ return;
51
+ }
52
+ void eventProjection.recordOutcome(message.sessionId, outcome).catch((error) => {
44
53
  reportOperationFailure(socket, message.commandId, message.sessionId, error);
45
54
  });
46
55
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/interactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/interactions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,eAAO,MAAM,oBAAoB,EAAE,cA6GlC,CAAC"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/prompt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,eAAO,MAAM,oBAAoB,EAAE,cAgHlC,CAAC"}
@@ -30,19 +30,20 @@ export const sessionPromptCommand = {
30
30
  }
31
31
  if (receipt.kind === "duplicate") {
32
32
  // A retry records no lifecycle event of its own, so it is answered directly with where the original
33
- // command stands. A settled outcome is also replayed for clients that missed it.
34
- const outcome = receipt.outcome;
35
- const original = context.sessionTurns.get(message.commandId, message.sessionId);
33
+ // command stands, as its receipt records it. A settled outcome is also restated for clients that missed it.
36
34
  send(context.socket, {
37
35
  kind: "session.prompt.accepted",
38
36
  requestId: message.commandId,
39
37
  sessionId: message.sessionId,
40
- state: outcome !== undefined ? "settled" : original?.isQueued() === true ? "queued" : "running",
38
+ state: receipt.state === "settled"
39
+ ? "settled"
40
+ : context.sessionTurns.get(message.commandId, message.sessionId)?.isQueued() === true
41
+ ? "queued"
42
+ : "running",
41
43
  });
44
+ const outcome = receipt.state === "settled" ? context.operations.restatedOutcome(message.commandId) : undefined;
42
45
  if (outcome !== undefined) {
43
- void context.eventProjection.replayOutcome(message.sessionId, outcome).catch((cause) => {
44
- console.error("Could not replay the persisted execution outcome", cause);
45
- });
46
+ context.eventProjection.restateOutcome(message.sessionId, outcome);
46
47
  }
47
48
  return;
48
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE1E,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAChD,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAQ,EAAE;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,IAAI,EAAE,mBAAmB;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,sDAAsD;gBAC/D,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAC7C,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,SAAS,EACjB,0BAA0B,CAAC,OAAO,CAAC,CACtC,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,IAAI,EAAE,2BAA2B;gBACjC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,mEAAmE;gBAC5E,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,oGAAoG;YACpG,iFAAiF;YACjF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;YAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAChF,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,IAAI,EAAE,yBAAyB;gBAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;aAClG,CAAC,CAAC;YACH,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;oBAC5F,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,KAAK,CAAC,CAAC;gBAC7E,CAAC,CAAC,CAAC;YACP,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,IAAI,EAAE,wBAAwB;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EACH,mGAAmG;gBACvG,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACpE,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,4EAA4E;QAC5E,4EAA4E;QAC5E,iEAAiE;QACjE,MAAM,YAAY,GAAG,GAAS,EAAE;YAC5B,KAAK,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACrG,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QACF,KAAK,aAAa,CAAC;YACf,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAC/C,OAAO,CAAC,SAAS,EACjB,kBAAkB,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,EAC5D,MAAM,CACT,CAAC;gBACF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1D,CAAC;YACD,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,gBAAgB;YACnD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,0BAA0B,EAAE,CAAC,MAAM,EAAE,EAAE,CACnC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjD,YAAY,EAAE,CAAC;YACnB,CAAC,CAAC;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SACpD,CAAC;aACG,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACV,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9E,8DAA8D;YAC9D,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACtB,YAAY,EAAE,CAAC;YACnB,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../../../src/engine/runtime/command/registry/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAE1E,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAChD,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAQ,EAAE;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,IAAI,EAAE,mBAAmB;gBACzB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,sDAAsD;gBAC/D,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAC7C,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,SAAS,EACjB,0BAA0B,CAAC,OAAO,CAAC,CACtC,CAAC;QACF,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,IAAI,EAAE,2BAA2B;gBACjC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,mEAAmE;gBAC5E,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/B,oGAAoG;YACpG,4GAA4G;YAC5G,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,IAAI,EAAE,yBAAyB;gBAC/B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EACD,OAAO,CAAC,KAAK,KAAK,SAAS;oBACvB,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,IAAI;wBACnF,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,SAAS;aACxB,CAAC,CAAC;YACH,MAAM,OAAO,GACT,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpG,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACvE,CAAC;YACD,OAAO;QACX,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACjB,IAAI,EAAE,wBAAwB;gBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EACH,mGAAmG;gBACvG,SAAS,EAAE,OAAO,CAAC,SAAS;aAC/B,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QACpE,OAAO,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,4EAA4E;QAC5E,4EAA4E;QAC5E,iEAAiE;QACjE,MAAM,YAAY,GAAG,GAAS,EAAE;YAC5B,KAAK,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACrG,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QACF,KAAK,aAAa,CAAC;YACf,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,OAAO,EAAE,OAAO;YAChB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;gBACvC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,IAAI,CAC/C,OAAO,CAAC,SAAS,EACjB,kBAAkB,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,UAAU,EAAE,EAC5D,MAAM,CACT,CAAC;gBACF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBAC5D,CAAC;gBACD,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1D,CAAC;YACD,aAAa,EAAE,OAAO,CAAC,WAAW,CAAC,gBAAgB;YACnD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,0BAA0B,EAAE,CAAC,MAAM,EAAE,EAAE,CACnC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;gBACjD,YAAY,EAAE,CAAC;YACnB,CAAC,CAAC;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;SACpD,CAAC;aACG,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACtB,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACV,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClC,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9E,8DAA8D;YAC9D,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACtB,YAAY,EAAE,CAAC;YACnB,CAAC;QACL,CAAC,CAAC,CAAC;IACX,CAAC;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-layer.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/api/session-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAYjF,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;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,sGAAsG;AACtG,qBAAa,oBAAqB,SAAQ,mBAAmB;;IAKzD,YACI,MAAM,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,EACzC,WAAW,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,EACrD,kBAAkB,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,KAAK,IAAe,EAMxF;IAED,SAAkB,oBAAoB,WAAY,MAAM,YAAY,kBAAkB,KAAG,IAAI,CAE3F;IAEF,SAAkB,cAAc,UAAW,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;IAEF,SAAkB,MAAM,UAAW,uBAAuB,KAAG,OAAO,CAAC,IAAI,CAAC,CAGxE;CACL;AAED,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;;;;;;;;EAiH7D"}
1
+ {"version":3,"file":"session-layer.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/api/session-layer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAYjF,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;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,sGAAsG;AACtG,qBAAa,oBAAqB,SAAQ,mBAAmB;;IAKzD,YACI,MAAM,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,EACzC,WAAW,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,EACrD,kBAAkB,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,KAAK,IAAe,EAMxF;IAED,SAAkB,oBAAoB,WAAY,MAAM,YAAY,kBAAkB,KAAG,IAAI,CAE3F;IAEF,SAAkB,cAAc,UAAW,gBAAgB,KAAG,OAAO,CAAC,IAAI,CAAC,CAGzE;IAEF,SAAkB,MAAM,UAAW,uBAAuB,KAAG,OAAO,CAAC,IAAI,CAAC,CAGxE;CACL;AAED,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;;;;;;;;EA0H7D"}
@@ -81,7 +81,7 @@ export function buildSessionLayer(options) {
81
81
  operations.record(recorded);
82
82
  eventProjection.record(recorded);
83
83
  return true;
84
- }, activeSessions.recordSessionEvent, operations);
84
+ }, (sessionId, event, recordedAt) => events.append(sessionId, event, recordedAt), activeSessions.recordSessionEvent, operations);
85
85
  const nativeSessions = new NativeSessionService(bindingId, resolveAgent, directories, manager, async (request, requestOptions) => {
86
86
  const snapshot = await activeSessions.executionSnapshot(async (command) => {
87
87
  if (command.sessionId !== request.targetSessionId || command.agentId !== request.agentId) {
@@ -109,9 +109,17 @@ export function buildSessionLayer(options) {
109
109
  };
110
110
  });
111
111
  // Outcomes retained across a restart are published once. The sink keeps them until the Relay connects,
112
- // and a later reconnect does not replay events it already sent.
113
- for (const { sessionId, event, recordedAt } of operations.recover()) {
114
- sink.publish(events.append(sessionId, event, recordedAt));
112
+ // and a later reconnect does not replay events it already sent. An outcome the previous process recorded is
113
+ // restated, so Recording and status notifications do not take it for a new one.
114
+ for (const recovered of operations.recover()) {
115
+ switch (recovered.kind) {
116
+ case "recorded":
117
+ sink.publish(events.append(recovered.sessionId, recovered.event, recovered.recordedAt));
118
+ break;
119
+ case "restated":
120
+ eventProjection.restateOutcome(recovered.sessionId, recovered.outcome);
121
+ break;
122
+ }
115
123
  }
116
124
  return {
117
125
  activeSessions,
@@ -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,6 +1,6 @@
1
1
  import type { ContentBlock, PromptExecutionContext, QueuedPromptRequestEventLog, SessionCancelCommand, SessionEventPayload, SessionLiveEvent, SessionPromptCommand } from "@moxt-ai/mobius-sdk/protocol";
2
2
  import type { SessionEventSink } from "../api/session-api.ts";
3
- import type { ExecutionReceipts } from "../turn/execution-receipts.ts";
3
+ import type { ExecutionReceipts, RestatedOutcome } from "../turn/execution-receipts.ts";
4
4
  export interface PromptRequestRecovery {
5
5
  readonly queuedPromptRequests: readonly QueuedPromptRequestEventLog[];
6
6
  }
@@ -8,7 +8,7 @@ export interface PromptRequestRecovery {
8
8
  type ExecutionProgress = Pick<ExecutionReceipts, "findUnsettledAttemptId" | "hasStarted" | "isTerminalExecution">;
9
9
  export declare class PromptLifecycle {
10
10
  #private;
11
- constructor(sink: SessionEventSink, recordLifecycle: (sessionId: string, event: SessionEventPayload) => Promise<boolean>, recordActiveTurn: (event: SessionLiveEvent) => void, executions: ExecutionProgress);
11
+ constructor(sink: SessionEventSink, recordLifecycle: (sessionId: string, event: SessionEventPayload) => Promise<boolean>, append: (sessionId: string, event: SessionEventPayload, recordedAt?: string) => SessionLiveEvent, recordActiveTurn: (event: SessionLiveEvent) => void, executions: ExecutionProgress);
12
12
  readonly requested: (command: SessionPromptCommand) => void;
13
13
  /** The lifecycle metadata the Agent session records when it starts this claimed command. */
14
14
  readonly lifecycle: (sessionId: string, commandId: string, attemptId: string, epoch: string, disposition: string) => {
@@ -21,7 +21,13 @@ export declare class PromptLifecycle {
21
21
  };
22
22
  readonly record: (recorded: SessionLiveEvent) => void;
23
23
  readonly publishTerminal: (sessionId: string, commandId: string) => void;
24
- readonly replayOutcome: (sessionId: string, event: SessionEventPayload) => Promise<void>;
24
+ readonly recordOutcome: (sessionId: string, event: SessionEventPayload) => Promise<void>;
25
+ /**
26
+ * Publishes again an outcome a receipt already holds, for clients that missed it. The restatement is marked, so
27
+ * Recording and status notifications do not take it for a new outcome, and it does not settle the receipt again.
28
+ * It keeps the time the outcome was recorded, which receivers that predate the marker report as when it ended.
29
+ */
30
+ readonly restateOutcome: (sessionId: string, { event, recordedAt }: RestatedOutcome) => void;
25
31
  readonly queueChanged: (sessionId: string, commandId: string) => Promise<void>;
26
32
  readonly completed: (sessionId: string, commandId: string, stopReason: string) => Promise<void>;
27
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/prompt/prompt-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAgBvE,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,2BAA2B,EAAE,CAAC;CACzE;AA8BD,iFAAiF;AACjF,KAAK,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,YAAY,GAAG,qBAAqB,CAAC,CAAC;AAElH,qBAAa,eAAe;;IAUxB,YACI,IAAI,EAAE,gBAAgB,EACtB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,EACpF,gBAAgB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,EACnD,UAAU,EAAE,iBAAiB,EAMhC;IAED,QAAQ,CAAC,SAAS,YAAa,oBAAoB,KAAG,IAAI,CAaxD;IAEF,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,cACH,MAAM,aACN,MAAM,aACN,MAAM,SACV,MAAM,eACA,MAAM,KACpB;QACC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;QAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;QACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;KACrC,CAaC;IAEF,QAAQ,CAAC,MAAM,aAAc,gBAAgB,KAAG,IAAI,CAiBlD;IAEF,QAAQ,CAAC,eAAe,cAAe,MAAM,aAAa,MAAM,KAAG,IAAI,CAyBrE;IAEF,QAAQ,CAAC,aAAa,cAAqB,MAAM,SAAS,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAAC,CAM3F;IAEF,QAAQ,CAAC,YAAY,cAAqB,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAKjF;IAEF,QAAQ,CAAC,SAAS,cAAqB,MAAM,aAAa,MAAM,cAAc,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAsBlG;IAEF;;;;OAIG;IACH,QAAQ,CAAC,MAAM,cACA,MAAM,aACN,MAAM,aACN,MAAM,QACX,MAAM,WACH,MAAM,KAChB,OAAO,CAAC,IAAI,CAAC,CAad;IAEF,QAAQ,CAAC,qBAAqB,cAAe,MAAM,KAAG,qBAAqB,CAYxE;CACN;AAED,wBAAsB,mBAAmB,CACrC,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,iBAAiB,EAC7B,YAAY,EAAE,oBAAoB,GACnC,OAAO,CAAC,IAAI,CAAC,CAmBf"}
1
+ {"version":3,"file":"prompt-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/prompt/prompt-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,YAAY,EACZ,sBAAsB,EACtB,2BAA2B,EAC3B,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAgBxF,MAAM,WAAW,qBAAqB;IAClC,QAAQ,CAAC,oBAAoB,EAAE,SAAS,2BAA2B,EAAE,CAAC;CACzE;AA8BD,iFAAiF;AACjF,KAAK,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,wBAAwB,GAAG,YAAY,GAAG,qBAAqB,CAAC,CAAC;AAElH,qBAAa,eAAe;;IAWxB,YACI,IAAI,EAAE,gBAAgB,EACtB,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,KAAK,OAAO,CAAC,OAAO,CAAC,EACpF,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,gBAAgB,EAChG,gBAAgB,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,EACnD,UAAU,EAAE,iBAAiB,EAOhC;IAED,QAAQ,CAAC,SAAS,YAAa,oBAAoB,KAAG,IAAI,CAaxD;IAEF,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,cACH,MAAM,aACN,MAAM,aACN,MAAM,SACV,MAAM,eACA,MAAM,KACpB;QACC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;QAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC;QACzC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;KACrC,CAaC;IAEF,QAAQ,CAAC,MAAM,aAAc,gBAAgB,KAAG,IAAI,CAYlD;IAYF,QAAQ,CAAC,eAAe,cAAe,MAAM,aAAa,MAAM,KAAG,IAAI,CAyBrE;IAEF,QAAQ,CAAC,aAAa,cAAqB,MAAM,SAAS,mBAAmB,KAAG,OAAO,CAAC,IAAI,CAAC,CAM3F;IAEF;;;;OAIG;IACH,QAAQ,CAAC,cAAc,cAAe,MAAM,yBAAyB,eAAe,KAAG,IAAI,CAMzF;IAEF,QAAQ,CAAC,YAAY,cAAqB,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAKjF;IAEF,QAAQ,CAAC,SAAS,cAAqB,MAAM,aAAa,MAAM,cAAc,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CAsBlG;IAEF;;;;OAIG;IACH,QAAQ,CAAC,MAAM,cACA,MAAM,aACN,MAAM,aACN,MAAM,QACX,MAAM,WACH,MAAM,KAChB,OAAO,CAAC,IAAI,CAAC,CAad;IAEF,QAAQ,CAAC,qBAAqB,cAAe,MAAM,KAAG,qBAAqB,CAYxE;CACN;AAED,wBAAsB,mBAAmB,CACrC,UAAU,EAAE,eAAe,EAC3B,UAAU,EAAE,iBAAiB,EAC7B,YAAY,EAAE,oBAAoB,GACnC,OAAO,CAAC,IAAI,CAAC,CAyBf"}
@@ -34,8 +34,10 @@ export class PromptLifecycle {
34
34
  #recordActiveTurn;
35
35
  #executions;
36
36
  #recordLifecycle;
37
- constructor(sink, recordLifecycle, recordActiveTurn, executions) {
37
+ #append;
38
+ constructor(sink, recordLifecycle, append, recordActiveTurn, executions) {
38
39
  this.#recordLifecycle = recordLifecycle;
40
+ this.#append = append;
39
41
  this.#recordActiveTurn = recordActiveTurn;
40
42
  this.#executions = executions;
41
43
  this.#sink = sink;
@@ -80,12 +82,16 @@ export class PromptLifecycle {
80
82
  this.#publications.set(sessionId, pending);
81
83
  return;
82
84
  }
83
- const pending = this.#publications.get(sessionId);
85
+ this.#publishInOrder(recorded);
86
+ };
87
+ /** Publishes after the Session's held terminal events, so clients receive its events in order. */
88
+ #publishInOrder = (event) => {
89
+ const pending = this.#publications.get(event.sessionId);
84
90
  if (pending !== undefined) {
85
- pending.push(recorded);
91
+ pending.push(event);
86
92
  }
87
93
  else {
88
- this.#sink.publish(recorded);
94
+ this.#sink.publish(event);
89
95
  }
90
96
  };
91
97
  publishTerminal = (sessionId, commandId) => {
@@ -112,13 +118,25 @@ export class PromptLifecycle {
112
118
  }
113
119
  this.#queued.delete(commandId);
114
120
  };
115
- replayOutcome = async (sessionId, event) => {
121
+ recordOutcome = async (sessionId, event) => {
116
122
  if (event.type !== "lifecycle-metadata" || !("commandId" in event.payload)) {
117
123
  return;
118
124
  }
119
125
  await this.#recordLifecycle(sessionId, event);
120
126
  this.publishTerminal(sessionId, event.payload.commandId);
121
127
  };
128
+ /**
129
+ * Publishes again an outcome a receipt already holds, for clients that missed it. The restatement is marked, so
130
+ * Recording and status notifications do not take it for a new outcome, and it does not settle the receipt again.
131
+ * It keeps the time the outcome was recorded, which receivers that predate the marker report as when it ended.
132
+ */
133
+ restateOutcome = (sessionId, { event, recordedAt }) => {
134
+ if (event.type !== "lifecycle-metadata" || !("commandId" in event.payload)) {
135
+ return;
136
+ }
137
+ const restated = this.#append(sessionId, event, recordedAt);
138
+ this.#publishInOrder({ ...restated, mobiusMetadata: { ...restated.mobiusMetadata, restated: true } });
139
+ };
122
140
  queueChanged = async (sessionId, commandId) => {
123
141
  await this.#recordLifecycle(sessionId, {
124
142
  type: "lifecycle-metadata",
@@ -174,10 +192,16 @@ export class PromptLifecycle {
174
192
  });
175
193
  }
176
194
  export async function settleAbandonedTurn(projection, operations, cancellation) {
177
- const outcome = operations.recordCancellationBeforeAdmission(cancellation.commandId, cancellation.sessionId);
178
- if (outcome !== undefined) {
179
- await projection.replayOutcome(cancellation.sessionId, outcome);
180
- return;
195
+ const cancelled = operations.recordCancellationBeforeAdmission(cancellation.commandId, cancellation.sessionId);
196
+ switch (cancelled.kind) {
197
+ case "recorded":
198
+ await projection.recordOutcome(cancellation.sessionId, cancelled.outcome);
199
+ return;
200
+ case "restated":
201
+ projection.restateOutcome(cancellation.sessionId, cancelled.outcome);
202
+ return;
203
+ case "unavailable":
204
+ break;
181
205
  }
182
206
  const attemptId = operations.findUnsettledAttemptId(cancellation.commandId, cancellation.sessionId);
183
207
  if (attemptId === null) {
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-lifecycle.js","sourceRoot":"","sources":["../../../../src/engine/session/prompt/prompt-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-lifecycle.js","sourceRoot":"","sources":["../../../../src/engine/session/prompt/prompt-lifecycle.ts"],"names":[],"mappings":"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"}
@@ -9,17 +9,51 @@ export type RuntimeExecutionReceipt = Readonly<{
9
9
  attemptId: string;
10
10
  commandId: string;
11
11
  kind: "duplicate";
12
- outcome: SessionEventPayload | undefined;
12
+ state: "settled" | "unsettled";
13
13
  }> | {
14
14
  readonly kind: "conflict";
15
15
  } | {
16
16
  readonly kind: "expired";
17
17
  };
18
+ /**
19
+ * An outcome a restart publishes: one the restart itself settles (a command it interrupted or a cancellation it
20
+ * restores), or one the previous process had already recorded, which is published again for clients that missed it.
21
+ */
22
+ export type RecoveredOutcome = {
23
+ readonly kind: "recorded";
24
+ readonly sessionId: string;
25
+ readonly event: SessionEventPayload;
26
+ readonly recordedAt: string;
27
+ } | {
28
+ readonly kind: "restated";
29
+ readonly sessionId: string;
30
+ readonly outcome: RestatedOutcome;
31
+ };
32
+ /**
33
+ * An outcome a receipt already holds, restated for clients that missed it. It keeps the time it was recorded, which
34
+ * receivers that predate the restated marker take as when the command ended; undefined when no receipt holds it.
35
+ */
36
+ export interface RestatedOutcome {
37
+ readonly event: SessionEventPayload;
38
+ readonly recordedAt: string | undefined;
39
+ }
40
+ /** What a cancellation before admission found: a cancellation it recorded, or an outcome recorded earlier. */
41
+ export type CancellationBeforeAdmission = {
42
+ readonly kind: "recorded";
43
+ readonly outcome: SessionEventPayload;
44
+ } | {
45
+ readonly kind: "restated";
46
+ readonly outcome: RestatedOutcome;
47
+ } | {
48
+ readonly kind: "unavailable";
49
+ };
18
50
  export declare class ExecutionReceipts {
19
51
  #private;
20
52
  constructor(table: ExecutionReceiptTable, cancellations: CommandCancellationTable, onCount?: (count: number) => void);
21
53
  readonly beginShutdown: () => void;
22
54
  readonly outcome: (commandId: string) => SessionEventPayload | undefined;
55
+ /** The outcome the command's receipt holds, with the time it was recorded. */
56
+ readonly restatedOutcome: (commandId: string) => RestatedOutcome | undefined;
23
57
  /** The command's delivery as these receipts know it; another Session's command reads as unknown. */
24
58
  readonly delivery: (commandId: string, sessionId: string) => CommandDelivery;
25
59
  /**
@@ -33,19 +67,18 @@ export declare class ExecutionReceipts {
33
67
  readonly lastTurn: (sessionId: string) => LastTurnOutcome | undefined;
34
68
  /** Started identities remain authoritative after their detailed receipt is evicted. */
35
69
  readonly hasStarted: (commandId: string, sessionId: string) => boolean;
36
- /** Reserves an unseen command for cancellation before a delayed prompt can claim its identity. */
37
- readonly recordCancellationBeforeAdmission: (commandId: string, sessionId: string) => SessionEventPayload | undefined;
70
+ /**
71
+ * Reserves an unseen command for cancellation before a delayed prompt can claim its identity. A command that
72
+ * already has an outcome keeps it, and the outcome is restated rather than recorded again.
73
+ */
74
+ readonly recordCancellationBeforeAdmission: (commandId: string, sessionId: string) => CancellationBeforeAdmission;
38
75
  /**
39
76
  * Receipts follow their command's recorded lifecycle. `prompt.started` is recorded where the command is handed
40
77
  * to the Agent, so the started mark and the event clients see are one transition; a terminal event settles the
41
78
  * receipt. Nothing else marks a command started.
42
79
  */
43
80
  readonly record: (event: SessionLiveEvent) => void;
44
- readonly recover: () => readonly {
45
- readonly sessionId: string;
46
- readonly event: SessionEventPayload;
47
- readonly recordedAt: string;
48
- }[];
81
+ readonly recover: () => readonly RecoveredOutcome[];
49
82
  readonly claimExecution: (commandId: string, sessionId: string, commandJson: string) => RuntimeExecutionReceipt;
50
83
  /** Only commands without a terminal result can still be cancelled. */
51
84
  readonly findUnsettledAttemptId: (commandId: string, sessionId: string) => string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"execution-receipts.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/turn/execution-receipts.ts"],"names":[],"mappings":"AACA,OAAO,EACH,KAAK,eAAe,EAIpB,KAAK,eAAe,EAEpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACxB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EACR,wBAAwB,EAE3B,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kDAAkD,CAAC;AAI9F,MAAM,MAAM,uBAAuB,GAC7B,QAAQ,CAAC;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,UAAU,CAAC;CACpB,CAAC,GACF,QAAQ,CAAC;IACL,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC5C,CAAC,GACF;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAwInC,qBAAa,iBAAiB;;IAQ1B,YACI,KAAK,EAAE,qBAAqB,EAC5B,aAAa,EAAE,wBAAwB,EACvC,OAAO,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAsB,EAmBrD;IA+DD,QAAQ,CAAC,aAAa,QAAO,IAAI,CAE/B;IACF,QAAQ,CAAC,OAAO,cAAe,MAAM,KAAG,mBAAmB,GAAG,SAAS,CAIrE;IACF,oGAAoG;IACpG,QAAQ,CAAC,QAAQ,cAAe,MAAM,aAAa,MAAM,KAAG,eAAe,CA+BzE;IACF;;;;;;;OAOG;IACH,QAAQ,CAAC,QAAQ,cAAe,MAAM,KAAG,eAAe,GAAG,SAAS,CAoClE;IACF,uFAAuF;IACvF,QAAQ,CAAC,UAAU,cAAe,MAAM,aAAa,MAAM,KAAG,OAAO,CAenE;IAEF,kGAAkG;IAClG,QAAQ,CAAC,iCAAiC,cAC3B,MAAM,aACN,MAAM,KAClB,mBAAmB,GAAG,SAAS,CA4ChC;IACF;;;;OAIG;IACH,QAAQ,CAAC,MAAM,UAAW,gBAAgB,KAAG,IAAI,CA8B/C;IACF,QAAQ,CAAC,OAAO,QAAO,SAAS;QAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;QACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;KAC/B,EAAE,CA2CD;IAEF,QAAQ,CAAC,cAAc,cAAe,MAAM,aAAa,MAAM,eAAe,MAAM,KAAG,uBAAuB,CAuC5G;IAEF,sEAAsE;IACtE,QAAQ,CAAC,sBAAsB,cAAe,MAAM,aAAa,MAAM,KAAG,MAAM,GAAG,IAAI,CAGrF;IAEF,QAAQ,CAAC,mBAAmB,cAAe,MAAM,aAAa,MAAM,KAAG,OAAO,CAG5E;IAEF,QAAQ,CAAC,KAAK,QAAO,IAAI,CAIvB;CACL"}
1
+ {"version":3,"file":"execution-receipts.d.ts","sourceRoot":"","sources":["../../../../src/engine/session/turn/execution-receipts.ts"],"names":[],"mappings":"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"}