@moxt-ai/mobius 0.0.328 → 0.0.329
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/cli.js +120 -10
- package/dist/cli.js.map +2 -2
- package/dist/daemon/upgrades/data.d.ts.map +1 -1
- package/dist/daemon/upgrades/data.js +17 -6
- package/dist/daemon/upgrades/data.js.map +1 -1
- package/dist/runtime/command/registry/index.d.ts.map +1 -1
- package/dist/runtime/command/registry/index.js +2 -1
- package/dist/runtime/command/registry/index.js.map +1 -1
- package/dist/runtime/command/registry/interactions.d.ts +1 -0
- package/dist/runtime/command/registry/interactions.d.ts.map +1 -1
- package/dist/runtime/command/registry/interactions.js +28 -1
- package/dist/runtime/command/registry/interactions.js.map +1 -1
- package/dist/runtime.js +85 -1
- package/dist/runtime.js.map +3 -3
- package/dist/session/prompt/prompt-lifecycle.d.ts.map +1 -1
- package/dist/session/prompt/prompt-lifecycle.js +5 -0
- package/dist/session/prompt/prompt-lifecycle.js.map +1 -1
- package/dist/session/turn/execution-receipts.d.ts +2 -0
- package/dist/session/turn/execution-receipts.d.ts.map +1 -1
- package/dist/session/turn/execution-receipts.js +29 -1
- package/dist/session/turn/execution-receipts.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/daemon/upgrades/data.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/daemon/upgrades/data.ts"],"names":[],"mappings":"AAaA,wBAAsB,kBAAkB,CACpC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,EACnB,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAe,EACtD,eAAe,GAAE,MAAM,GAAG,IAAW,GACtC,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAID,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/F;AAED,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAsB,kBAAkB,CACpC,gBAAgB,EAAE,MAAM,EACxB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
|
@@ -2,17 +2,28 @@ import { runtimeUpgradeVersionSchema } from "@moxt-ai/mobius-sdk/protocol";
|
|
|
2
2
|
import { copyVersionData, discardVersionData, readCurrentDataVersion, versionDataExists, writeCurrentDataVersion, } from "../../storage/daemon/version-data.js";
|
|
3
3
|
import { readStateDirectory } from "../../storage/state-directory.js";
|
|
4
4
|
import { readSwitchStatus } from "../control/switch-status.js";
|
|
5
|
-
// A version
|
|
5
|
+
// A version whose data is not current inherits the current data. Without a current data pointer, a version that has
|
|
6
|
+
// never run inherits the data of the version it replaces.
|
|
6
7
|
export async function prepareVersionData(version, signal, environment = process.env, fallbackVersion = null) {
|
|
7
8
|
signal.throwIfAborted();
|
|
8
9
|
const root = readStateDirectory(environment);
|
|
9
10
|
const targetVersion = runtimeUpgradeVersionSchema.parse(version);
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
const current = await readCurrentDataVersion(root, signal);
|
|
12
|
+
let previous;
|
|
13
|
+
if (current !== null) {
|
|
14
|
+
if (current === targetVersion) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
// The pointer names the data that wins. A directory it does not name never became current, as one an earlier
|
|
18
|
+
// CLI started for its own version, so it is stale and must not replace the current data.
|
|
19
|
+
await discardVersionData(root, targetVersion, signal);
|
|
20
|
+
previous = current;
|
|
12
21
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
22
|
+
else {
|
|
23
|
+
if (fallbackVersion === null || (await versionDataExists(root, targetVersion, signal))) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
previous = fallbackVersion;
|
|
16
27
|
}
|
|
17
28
|
const leftBehind = await copyVersionData(root, runtimeUpgradeVersionSchema.parse(previous), targetVersion, signal);
|
|
18
29
|
for (const entry of leftBehind) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/daemon/upgrades/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EACH,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/daemon/upgrades/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EACH,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,GAC1B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,oHAAoH;AACpH,0DAA0D;AAC1D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,OAAe,EACf,MAAmB,EACnB,WAAW,GAAgC,OAAO,CAAC,GAAG,EACtD,eAAe,GAAkB,IAAI;IAErC,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,MAAM,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,QAAgB,CAAC;IACrB,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACnB,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QACD,6GAA6G;QAC7G,yFAAyF;QACzF,MAAM,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QACtD,QAAQ,GAAG,OAAO,CAAC;IACvB,CAAC;SAAM,CAAC;QACJ,IAAI,eAAe,KAAK,IAAI,IAAI,CAAC,MAAM,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YACrF,OAAO;QACX,CAAC;QACD,QAAQ,GAAG,eAAe,CAAC;IAC/B,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACnH,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAChB,wBAAwB,KAAK,iBAAiB,aAAa,qEAAqE,CACnI,CAAC;IACN,CAAC;AACL,CAAC;AAED,mHAAmH;AACnH,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAe,EAAE,MAAmB;IAC5E,MAAM,kBAAkB,CAAC,kBAAkB,EAAE,EAAE,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,MAAmB;IACxE,MAAM,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AAC5G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,gBAAwB,EACxB,OAAe,EACf,MAAmB;IAEnB,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IACpE,MAAM,QAAQ,GACV,UAAU,EAAE,IAAI,KAAK,WAAW,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACjH,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/command/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/runtime/command/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA2BpD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG;IAC5D,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,IAAI,CAAC;IAC7D,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC,CA0CA"}
|
|
@@ -4,7 +4,7 @@ import { createAgentSettingsCommands } from "./agent-settings.js";
|
|
|
4
4
|
import { createContentWriteCommands } from "./content-write/index.js";
|
|
5
5
|
import { fileReadCommand } from "./file-read/index.js";
|
|
6
6
|
import { previewHistoryPageLoadCommand, sessionHistoryPageLoadCommand } from "./history.js";
|
|
7
|
-
import { elicitationRespondCommand, permissionRespondCommand, promptDispositionCommand, sessionCancelCommand, sessionCloseCommand, } from "./interactions.js";
|
|
7
|
+
import { elicitationRespondCommand, permissionRespondCommand, promptDispositionCommand, sessionCancelBeforeStartCommand, sessionCancelCommand, sessionCloseCommand, } from "./interactions.js";
|
|
8
8
|
import { createNativeSessionCommands } from "./native-sessions.js";
|
|
9
9
|
import { sessionPromptCommand } from "./prompt.js";
|
|
10
10
|
import { runtimeDiagnosticsCommand, runtimePingCommand } from "./runtime.js";
|
|
@@ -21,6 +21,7 @@ export function createCommandRegistry(context) {
|
|
|
21
21
|
...createAgentSettingsCommands(context),
|
|
22
22
|
...contentWrites.commands,
|
|
23
23
|
fileReadCommand,
|
|
24
|
+
sessionCancelBeforeStartCommand,
|
|
24
25
|
sessionCancelCommand,
|
|
25
26
|
sessionCloseCommand,
|
|
26
27
|
promptDispositionCommand,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/command/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAA+B,MAAM,8BAA8B,CAAC;AAGpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACH,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EACH,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACvB,MAAM,cAAc,CAAC;AAEtB,MAAM,UAAU,qBAAqB,CAAC,OAAuB;IAKzD,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAA8B;QACxC,yBAAyB;QACzB,kBAAkB;QAClB,6BAA6B;QAC7B,6BAA6B;QAC7B,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACvC,GAAG,0BAA0B,CAAC,OAAO,CAAC;QACtC,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACvC,GAAG,aAAa,CAAC,QAAQ;QACzB,eAAe;QACf,oBAAoB;QACpB,mBAAmB;QACnB,wBAAwB;QACxB,oBAAoB;QACpB,qBAAqB;QACrB,uBAAuB;QACvB,wBAAwB;QACxB,oBAAoB;QACpB,qBAAqB;QACrB,wBAAwB;QACxB,yBAAyB;QACzB,oBAAoB;KACvB,CAAC;IACF,OAAO;QACH,QAAQ,EAAE,CAAC,OAAO,EAAQ,EAAE;YACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,aAAa,EAAE,CAAC,OAAO,EAAQ,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC9F,MAAM,EAAE,KAAK,IAAmB,EAAE;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC;gBACd,aAAa,CAAC,MAAM,EAAE;gBACtB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC7F,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/runtime/command/registry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAA+B,MAAM,8BAA8B,CAAC;AAGpG,OAAO,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EACH,yBAAyB,EACzB,wBAAwB,EACxB,wBAAwB,EACxB,+BAA+B,EAC/B,oBAAoB,EACpB,mBAAmB,GACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EACH,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACvB,MAAM,cAAc,CAAC;AAEtB,MAAM,UAAU,qBAAqB,CAAC,OAAuB;IAKzD,MAAM,aAAa,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAA8B;QACxC,yBAAyB;QACzB,kBAAkB;QAClB,6BAA6B;QAC7B,6BAA6B;QAC7B,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACvC,GAAG,0BAA0B,CAAC,OAAO,CAAC;QACtC,GAAG,2BAA2B,CAAC,OAAO,CAAC;QACvC,GAAG,aAAa,CAAC,QAAQ;QACzB,eAAe;QACf,+BAA+B;QAC/B,oBAAoB;QACpB,mBAAmB;QACnB,wBAAwB;QACxB,oBAAoB;QACpB,qBAAqB;QACrB,uBAAuB;QACvB,wBAAwB;QACxB,oBAAoB;QACpB,qBAAqB;QACrB,wBAAwB;QACxB,yBAAyB;QACzB,oBAAoB;KACvB,CAAC;IACF,OAAO;QACH,QAAQ,EAAE,CAAC,OAAO,EAAQ,EAAE;YACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QACD,aAAa,EAAE,CAAC,OAAO,EAAQ,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAC9F,MAAM,EAAE,KAAK,IAAmB,EAAE;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC;gBACd,aAAa,CAAC,MAAM,EAAE;gBACtB,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;aAC7F,CAAC,CAAC;QACP,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RuntimeCommand } from "../definition.ts";
|
|
2
2
|
export declare const sessionCancelCommand: RuntimeCommand;
|
|
3
|
+
export declare const sessionCancelBeforeStartCommand: RuntimeCommand;
|
|
3
4
|
export declare const sessionCloseCommand: RuntimeCommand;
|
|
4
5
|
export declare const promptDispositionCommand: RuntimeCommand;
|
|
5
6
|
export declare const permissionRespondCommand: RuntimeCommand;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../../../../src/runtime/command/registry/interactions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interactions.d.ts","sourceRoot":"","sources":["../../../../src/runtime/command/registry/interactions.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,eAAO,MAAM,oBAAoB,EAAE,cAqBlC,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,cAmC7C,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,cAejC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cAgBtC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,cAUtC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,cAUvC,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { SESSION_CANCEL_KIND, SESSION_CLOSE_KIND, SESSION_CLOSED_KIND, SESSION_ELICITATION_RESPOND_KIND, SESSION_PERMISSION_RESPOND_KIND, SESSION_PROMPT_DISPOSITION_KIND, } from "@moxt-ai/mobius-sdk/protocol";
|
|
1
|
+
import { SESSION_CANCEL_BEFORE_START_KIND, SESSION_CANCEL_KIND, SESSION_CLOSE_KIND, SESSION_CLOSED_KIND, SESSION_ELICITATION_RESPOND_KIND, SESSION_PERMISSION_RESPOND_KIND, SESSION_PROMPT_DISPOSITION_KIND, } from "@moxt-ai/mobius-sdk/protocol";
|
|
2
|
+
import { SessionError } from "../../../session/api/session-error.js";
|
|
2
3
|
import { settleAbandonedTurn } from "../../../session/prompt/prompt-lifecycle.js";
|
|
3
4
|
import { reportOperationFailure, send } from "../transport.js";
|
|
4
5
|
export const sessionCancelCommand = {
|
|
@@ -23,6 +24,32 @@ export const sessionCancelCommand = {
|
|
|
23
24
|
});
|
|
24
25
|
},
|
|
25
26
|
};
|
|
27
|
+
export const sessionCancelBeforeStartCommand = {
|
|
28
|
+
kind: SESSION_CANCEL_BEFORE_START_KIND,
|
|
29
|
+
handle: ({ eventProjection, operations, sessionTurns, socket }, message) => {
|
|
30
|
+
if (message.kind !== SESSION_CANCEL_BEFORE_START_KIND) {
|
|
31
|
+
throw new Error("Command kind mismatch");
|
|
32
|
+
}
|
|
33
|
+
const turn = sessionTurns.get(message.commandId, message.sessionId);
|
|
34
|
+
if (turn === undefined) {
|
|
35
|
+
const outcome = operations.recordCancellationBeforeAdmission(message.commandId, message.sessionId);
|
|
36
|
+
if (outcome !== undefined) {
|
|
37
|
+
void eventProjection.replayOutcome(message.sessionId, outcome).catch((error) => {
|
|
38
|
+
reportOperationFailure(socket, message.commandId, message.sessionId, error);
|
|
39
|
+
});
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
reportOperationFailure(socket, message.commandId, message.sessionId, new SessionError("turn_not_active", "The command is not waiting to start"));
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
// No await separates checking admission from requesting cancellation.
|
|
46
|
+
if (turn.snapshot() !== null) {
|
|
47
|
+
reportOperationFailure(socket, message.commandId, message.sessionId, new SessionError("turn_already_started", "The command already started"));
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
turn.requestCancellation();
|
|
51
|
+
},
|
|
52
|
+
};
|
|
26
53
|
export const sessionCloseCommand = {
|
|
27
54
|
kind: SESSION_CLOSE_KIND,
|
|
28
55
|
handle: ({ sessions, signal, socket }, message) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../../../src/runtime/command/registry/interactions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../../../src/runtime/command/registry/interactions.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime.js
CHANGED
|
@@ -21926,6 +21926,7 @@ var encodeSessionOperationFailedEvent = (message) => encodeZodMessage(message, s
|
|
|
21926
21926
|
var SESSION_PROMPT_KIND = "session.prompt";
|
|
21927
21927
|
var SESSION_PROMPT_DISPOSITION_KIND = "session.prompt.disposition";
|
|
21928
21928
|
var SESSION_CANCEL_KIND = "session.cancel";
|
|
21929
|
+
var SESSION_CANCEL_BEFORE_START_KIND = "session.cancel-before-start";
|
|
21929
21930
|
var SessionPromptDisposition = Object.freeze({
|
|
21930
21931
|
Queue: "queue",
|
|
21931
21932
|
Reject: "reject",
|
|
@@ -21937,6 +21938,16 @@ var SessionHistoryPolicy = Object.freeze({
|
|
|
21937
21938
|
});
|
|
21938
21939
|
var MAX_PROMPT_LENGTH = 1e5;
|
|
21939
21940
|
var MAX_PROMPT_ATTACHMENT_BYTES = 32 * 1024 * 1024;
|
|
21941
|
+
function decodeSessionCancelBeforeStartCommand(encoded) {
|
|
21942
|
+
const value = parseJson(encoded);
|
|
21943
|
+
assertKind(value, SESSION_CANCEL_BEFORE_START_KIND);
|
|
21944
|
+
return {
|
|
21945
|
+
commandId: readIdentifier(value, "commandId"),
|
|
21946
|
+
kind: SESSION_CANCEL_BEFORE_START_KIND,
|
|
21947
|
+
sessionId: readIdentifier(value, "sessionId")
|
|
21948
|
+
};
|
|
21949
|
+
}
|
|
21950
|
+
var encodeSessionCancelBeforeStartCommand = (message) => JSON.stringify(decodeSessionCancelBeforeStartCommand(JSON.stringify(message)));
|
|
21940
21951
|
var promptAttachmentSchema = external_exports.object({
|
|
21941
21952
|
byteLength: external_exports.number().int().positive().max(MAX_PROMPT_ATTACHMENT_BYTES),
|
|
21942
21953
|
contentKey: external_exports.string().regex(/^[a-f0-9]{64}$/u),
|
|
@@ -22782,6 +22793,11 @@ var serviceToDaemonSignatures = {
|
|
|
22782
22793
|
decodeRuntimeDiagnosticsRequest
|
|
22783
22794
|
),
|
|
22784
22795
|
[RUNTIME_PING_KIND]: defineMessageSignature(RUNTIME_PING_KIND, encodeRuntimePingCommand, decodeRuntimePingCommand),
|
|
22796
|
+
[SESSION_CANCEL_BEFORE_START_KIND]: defineMessageSignature(
|
|
22797
|
+
SESSION_CANCEL_BEFORE_START_KIND,
|
|
22798
|
+
encodeSessionCancelBeforeStartCommand,
|
|
22799
|
+
decodeSessionCancelBeforeStartCommand
|
|
22800
|
+
),
|
|
22785
22801
|
[SESSION_CANCEL_KIND]: defineMessageSignature(
|
|
22786
22802
|
SESSION_CANCEL_KIND,
|
|
22787
22803
|
encodeSessionCancelCommand,
|
|
@@ -32529,7 +32545,7 @@ import { fetch as fetch3 } from "undici";
|
|
|
32529
32545
|
// package.json
|
|
32530
32546
|
var package_default = {
|
|
32531
32547
|
name: "@moxt-ai/mobius",
|
|
32532
|
-
version: "0.0.
|
|
32548
|
+
version: "0.0.329",
|
|
32533
32549
|
description: "Mobius CLI for pairing and running local AI agent services.",
|
|
32534
32550
|
type: "module",
|
|
32535
32551
|
bin: {
|
|
@@ -86978,6 +86994,11 @@ var PromptLifecycle = class {
|
|
|
86978
86994
|
});
|
|
86979
86995
|
};
|
|
86980
86996
|
async function settleAbandonedTurn(projection, operations, cancellation) {
|
|
86997
|
+
const outcome = operations.recordCancellationBeforeAdmission(cancellation.commandId, cancellation.sessionId);
|
|
86998
|
+
if (outcome !== void 0) {
|
|
86999
|
+
await projection.replayOutcome(cancellation.sessionId, outcome);
|
|
87000
|
+
return;
|
|
87001
|
+
}
|
|
86981
87002
|
const attemptId = operations.findUnsettledAttemptId(cancellation.commandId, cancellation.sessionId);
|
|
86982
87003
|
if (attemptId === null) {
|
|
86983
87004
|
console.warn("Mobius daemon ignored cancellation for an inactive turn");
|
|
@@ -87051,6 +87072,33 @@ var ExecutionReceipts = class {
|
|
|
87051
87072
|
const receipt = this.#executions.get(commandId);
|
|
87052
87073
|
return receipt?.outcome === null || receipt === void 0 ? void 0 : sessionEventPayloadSchema.parse(JSON.parse(receipt.outcome));
|
|
87053
87074
|
};
|
|
87075
|
+
/** Reserves an unseen command for cancellation before a delayed prompt can claim its identity. */
|
|
87076
|
+
recordCancellationBeforeAdmission = (commandId, sessionId) => {
|
|
87077
|
+
const existing = this.#executions.get(commandId);
|
|
87078
|
+
if (existing !== void 0) {
|
|
87079
|
+
return existing.sessionId === sessionId && isTerminal(existing.state) ? this.outcome(commandId) : void 0;
|
|
87080
|
+
}
|
|
87081
|
+
const outcome = {
|
|
87082
|
+
type: "lifecycle-metadata",
|
|
87083
|
+
payload: { kind: "prompt.completed", commandId, stopReason: "cancelled" }
|
|
87084
|
+
};
|
|
87085
|
+
const commandHash = createHash6("sha256").update(
|
|
87086
|
+
encodeSessionCancelBeforeStartCommand({
|
|
87087
|
+
commandId,
|
|
87088
|
+
kind: "session.cancel-before-start",
|
|
87089
|
+
sessionId
|
|
87090
|
+
})
|
|
87091
|
+
).digest("hex");
|
|
87092
|
+
this.#save(commandId, {
|
|
87093
|
+
attemptId: randomUUID15(),
|
|
87094
|
+
commandHash,
|
|
87095
|
+
sessionId,
|
|
87096
|
+
state: "cancelled",
|
|
87097
|
+
started: false,
|
|
87098
|
+
outcome: JSON.stringify({ ...outcome, recordedAt: (/* @__PURE__ */ new Date()).toISOString() })
|
|
87099
|
+
});
|
|
87100
|
+
return outcome;
|
|
87101
|
+
};
|
|
87054
87102
|
recordOutcome = (event) => {
|
|
87055
87103
|
if (event.type !== "lifecycle-metadata") {
|
|
87056
87104
|
return;
|
|
@@ -89764,6 +89812,41 @@ var sessionCancelCommand = {
|
|
|
89764
89812
|
});
|
|
89765
89813
|
}
|
|
89766
89814
|
};
|
|
89815
|
+
var sessionCancelBeforeStartCommand = {
|
|
89816
|
+
kind: SESSION_CANCEL_BEFORE_START_KIND,
|
|
89817
|
+
handle: ({ eventProjection, operations, sessionTurns, socket }, message) => {
|
|
89818
|
+
if (message.kind !== SESSION_CANCEL_BEFORE_START_KIND) {
|
|
89819
|
+
throw new Error("Command kind mismatch");
|
|
89820
|
+
}
|
|
89821
|
+
const turn = sessionTurns.get(message.commandId, message.sessionId);
|
|
89822
|
+
if (turn === void 0) {
|
|
89823
|
+
const outcome = operations.recordCancellationBeforeAdmission(message.commandId, message.sessionId);
|
|
89824
|
+
if (outcome !== void 0) {
|
|
89825
|
+
void eventProjection.replayOutcome(message.sessionId, outcome).catch((error62) => {
|
|
89826
|
+
reportOperationFailure(socket, message.commandId, message.sessionId, error62);
|
|
89827
|
+
});
|
|
89828
|
+
return;
|
|
89829
|
+
}
|
|
89830
|
+
reportOperationFailure(
|
|
89831
|
+
socket,
|
|
89832
|
+
message.commandId,
|
|
89833
|
+
message.sessionId,
|
|
89834
|
+
new SessionError("turn_not_active", "The command is not waiting to start")
|
|
89835
|
+
);
|
|
89836
|
+
return;
|
|
89837
|
+
}
|
|
89838
|
+
if (turn.snapshot() !== null) {
|
|
89839
|
+
reportOperationFailure(
|
|
89840
|
+
socket,
|
|
89841
|
+
message.commandId,
|
|
89842
|
+
message.sessionId,
|
|
89843
|
+
new SessionError("turn_already_started", "The command already started")
|
|
89844
|
+
);
|
|
89845
|
+
return;
|
|
89846
|
+
}
|
|
89847
|
+
turn.requestCancellation();
|
|
89848
|
+
}
|
|
89849
|
+
};
|
|
89767
89850
|
var sessionCloseCommand = {
|
|
89768
89851
|
kind: SESSION_CLOSE_KIND,
|
|
89769
89852
|
handle: ({ sessions, signal, socket }, message) => {
|
|
@@ -90859,6 +90942,7 @@ function createCommandRegistry(context) {
|
|
|
90859
90942
|
...createAgentSettingsCommands(context),
|
|
90860
90943
|
...contentWrites.commands,
|
|
90861
90944
|
fileReadCommand,
|
|
90945
|
+
sessionCancelBeforeStartCommand,
|
|
90862
90946
|
sessionCancelCommand,
|
|
90863
90947
|
sessionCloseCommand,
|
|
90864
90948
|
promptDispositionCommand,
|