@moxt-ai/mobius 0.0.339 → 0.0.341

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.
@@ -1,4 +1,4 @@
1
- import { runtimeUpgradeVersionSchema } from "@moxt-ai/mobius-sdk/protocol";
1
+ import { decodeRuntimeUpgradeVersion } 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";
@@ -7,7 +7,7 @@ import { readSwitchStatus } from "../control/switch-status.js";
7
7
  export async function prepareVersionData(version, signal, environment = process.env, fallbackVersion = null) {
8
8
  signal.throwIfAborted();
9
9
  const root = readStateDirectory(environment);
10
- const targetVersion = runtimeUpgradeVersionSchema.parse(version);
10
+ const targetVersion = decodeRuntimeUpgradeVersion(version);
11
11
  const current = await readCurrentDataVersion(root, signal);
12
12
  let previous;
13
13
  if (current !== null) {
@@ -25,7 +25,7 @@ export async function prepareVersionData(version, signal, environment = process.
25
25
  }
26
26
  previous = fallbackVersion;
27
27
  }
28
- const leftBehind = await copyVersionData(root, runtimeUpgradeVersionSchema.parse(previous), targetVersion, signal);
28
+ const leftBehind = await copyVersionData(root, decodeRuntimeUpgradeVersion(previous), targetVersion, signal);
29
29
  for (const entry of leftBehind) {
30
30
  process.stderr.write(`Mobius did not carry ${entry} into version ${targetVersion}: an earlier Mobius ran with that installation as its state root.\n`);
31
31
  }
@@ -33,10 +33,10 @@ export async function prepareVersionData(version, signal, environment = process.
33
33
  // A version whose switch rolled back never had the current data; once the previous version runs again, its copy is
34
34
  // stale, and its next attempt must inherit the current data rather than reuse that copy.
35
35
  export async function discardRolledBackData(version, signal) {
36
- await discardVersionData(readStateDirectory(), runtimeUpgradeVersionSchema.parse(version), signal);
36
+ await discardVersionData(readStateDirectory(), decodeRuntimeUpgradeVersion(version), signal);
37
37
  }
38
38
  export async function recordCurrentData(version, signal) {
39
- await writeCurrentDataVersion(readStateDirectory(), runtimeUpgradeVersionSchema.parse(version), signal);
39
+ await writeCurrentDataVersion(readStateDirectory(), decodeRuntimeUpgradeVersion(version), signal);
40
40
  }
41
41
  export async function prepareUpgradeData(controlDirectory, version, signal) {
42
42
  const transition = await readSwitchStatus(controlDirectory, signal);
@@ -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;AAE9C,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,gBAAuC,EACvC,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
+ {"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;AAE9C,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,OAAO,CAAC,CAAC;IAC3D,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,QAAQ,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC7G,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,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,MAAmB;IACxE,MAAM,uBAAuB,CAAC,kBAAkB,EAAE,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;AACtG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,gBAAuC,EACvC,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,5 +1,5 @@
1
1
  import { isAbsolute, join, relative } from "node:path";
2
- import { runtimeUpgradeVersionSchema } from "@moxt-ai/mobius-sdk/protocol";
2
+ import { decodeRuntimeUpgradeVersion } from "@moxt-ai/mobius-sdk/protocol";
3
3
  import { gt, satisfies, validRange } from "semver";
4
4
  import { z } from "zod";
5
5
  import { readInstalledRelease, releasePrefix } from "../../storage/daemon/release-files.js";
@@ -16,7 +16,7 @@ export class DaemonReleaseUpgradeError extends Error {
16
16
  }
17
17
  }
18
18
  export async function prepareDaemonReleaseVersion(version, signal) {
19
- runtimeUpgradeVersionSchema.parse(version);
19
+ decodeRuntimeUpgradeVersion(version);
20
20
  signal.throwIfAborted();
21
21
  const prefix = releasePrefix(version);
22
22
  let installed;
@@ -44,7 +44,7 @@ export async function prepareDaemonReleaseVersion(version, signal) {
44
44
  }
45
45
  }
46
46
  export async function installDaemonReleaseVersion(version, signal) {
47
- runtimeUpgradeVersionSchema.parse(version);
47
+ decodeRuntimeUpgradeVersion(version);
48
48
  const npm = await findExecutableOnPath("npm", process.env);
49
49
  if (npm === null) {
50
50
  throw new DaemonReleaseUpgradeError("npm_unavailable", "npm is required to download the new daemon");
@@ -127,7 +127,7 @@ async function verifyInstalledDaemonRelease(installed, prefix, version, signal)
127
127
  // a one-element array from npm 12. Accept exactly those shapes; anything else is
128
128
  // not a version npm reported.
129
129
  const npmViewVersionSchema = z
130
- .union([runtimeUpgradeVersionSchema, z.tuple([runtimeUpgradeVersionSchema])])
130
+ .union([z.string(), z.tuple([z.string()])])
131
131
  .transform((value) => (typeof value === "string" ? value : value[0]));
132
132
  export async function findNewDaemonReleaseVersion(currentVersion, signal) {
133
133
  const npm = await findExecutableOnPath("npm", process.env);
@@ -144,7 +144,7 @@ export async function findNewDaemonReleaseVersion(currentVersion, signal) {
144
144
  timeoutMilliseconds: 30_000,
145
145
  outputLimitBytes: 4096,
146
146
  });
147
- const version = npmViewVersionSchema.parse(JSON.parse(result.stdout));
147
+ const version = decodeRuntimeUpgradeVersion(npmViewVersionSchema.parse(JSON.parse(result.stdout)));
148
148
  return gt(version, currentVersion) ? version : null;
149
149
  }
150
150
  catch (cause) {
@@ -1 +1 @@
1
- {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/daemon/upgrades/package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAyB,oBAAoB,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACnH,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC3F,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IACvC,IAAI,CAAS;IACtB,YAAY,IAAY,EAAE,OAAe,EAAE,OAAsB;QAC7D,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;CACJ;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAAe,EAAE,MAAmB;IAClF,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,SAA2B,CAAC;IAChC,IAAI,CAAC;QACD,SAAS,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,yBAAyB,CAC/B,qBAAqB,EACrB,gDAAgD,EAChD,EAAE,KAAK,EAAE,CACZ,CAAC;QACN,CAAC;QACD,OAAO,MAAM,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC;QACD,OAAO,MAAM,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;YAC7C,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,yBAAyB,CAAC,iBAAiB,EAAE,oDAAoD,EAAE;YACzG,KAAK;SACR,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,OAAe,EAAE,MAAmB;IAClF,2BAA2B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,yBAAyB,CAAC,iBAAiB,EAAE,4CAA4C,CAAC,CAAC;IACzG,CAAC;IACD,0EAA0E;IAC1E,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,CAAC;QACD,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,iBAAiB,CAAC;YACpB,OAAO,EAAE,GAAG,CAAC,IAAI;YACjB,SAAS,EAAE;gBACP,SAAS;gBACT,UAAU;gBACV,MAAM;gBACN,kBAAkB;gBAClB,YAAY;gBACZ,WAAW;gBACX,cAAc;gBACd,IAAI;gBACJ,mBAAmB,OAAO,EAAE;aAC/B;YACD,GAAG,EAAE,MAAM;YACX,WAAW,EAAE,OAAO,CAAC,GAAG;YACxB,MAAM;YACN,mBAAmB,EAAE,OAAO;YAC5B,gBAAgB,EAAE,EAAE,GAAG,IAAI;SAC9B,CAAC,CAAC;QACH,OAAO,MAAM,4BAA4B,CAAC,MAAM,oBAAoB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;YAC7C,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,yBAAyB,CAC/B,oBAAoB,EACpB,+DAA+D,EAC/D,EAAE,KAAK,EAAE,CACZ,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,4BAA4B,CACvC,SAA2B,EAC3B,MAAc,EACd,OAAe,EACf,MAAmB;IAEnB,MAAM,iBAAiB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,CAAC;SACb,MAAM,CAAC;QACJ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAClC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3B,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACnD,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;KACxF,CAAC;SACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACpF,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC;IAC9D,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,yBAAyB,CAC/B,mBAAmB,EACnB,UAAU,OAAO,qBAAqB,QAAQ,CAAC,OAAO,CAAC,IAAI,6BAA6B,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,OAAO,CAAC,QAAQ,mCAAmC,CAC1K,CAAC;IACN,CAAC;IACD,wEAAwE;IACxE,yFAAyF;IACzF,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACnC,OAAO,EAAE,OAAO,CAAC,QAAQ;YACzB,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC;YAC/B,GAAG,EAAE,MAAM;YACX,WAAW,EAAE,OAAO,CAAC,GAAG;YACxB,MAAM;YACN,mBAAmB,EAAE,MAAM;YAC3B,gBAAgB,EAAE,EAAE,GAAG,IAAI;SAC9B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,OAAO,EAAE,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,IAAI,yBAAyB,CAC/B,wBAAwB,EACxB,UAAU,OAAO,yDAAyD,EAC1E,EAAE,KAAK,EAAE,CACZ,CAAC;IACN,CAAC;IACD,OAAO,MAAM,kBAAkB,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,kFAAkF;AAClF,iFAAiF;AACjF,8BAA8B;AAC9B,MAAM,oBAAoB,GAAG,CAAC;KACzB,KAAK,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC;KAC5E,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1E,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,cAAsB,EAAE,MAAmB;IACzF,MAAM,GAAG,GAAG,MAAM,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACf,MAAM,IAAI,yBAAyB,CAAC,iBAAiB,EAAE,2CAA2C,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACnC,OAAO,EAAE,GAAG,CAAC,IAAI;YACjB,SAAS,EAAE,CAAC,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,CAAC;YACvF,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,WAAW,EAAE,OAAO,CAAC,GAAG;YACxB,MAAM;YACN,mBAAmB,EAAE,MAAM;YAC3B,gBAAgB,EAAE,IAAI;SACzB,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,IAAI,yBAAyB,CAAC,kBAAkB,EAAE,oDAAoD,EAAE;YAC1G,KAAK;SACR,CAAC,CAAC;IACP,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../../src/daemon/upgrades/package.ts"],"names":[],"mappings":"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"}
package/dist/runtime.js CHANGED
@@ -21307,6 +21307,7 @@ var boundedJsonSchema = external_exports.unknown().superRefine((value, context)
21307
21307
  context.addIssue({ code: "custom", message: issue2 });
21308
21308
  }
21309
21309
  });
21310
+ var isBoundedJson = (value) => boundedJsonIssue(value) === null;
21310
21311
  var toolCallLocationSchema = external_exports.object({
21311
21312
  line: external_exports.number().int().nonnegative().safe().nullable().optional(),
21312
21313
  path: boundedString
@@ -23273,24 +23274,6 @@ var AgentUpdateStream = class {
23273
23274
  };
23274
23275
 
23275
23276
  // src/acp/adapter/session-events.ts
23276
- var MAXIMUM_REASONING_UPDATE_CHARACTERS = 1e6;
23277
- function* reasoningWireUpdates(update) {
23278
- if (update.sessionUpdate !== "agent_thought_chunk" || update.content.type !== "text" || update.content.text.length <= MAXIMUM_REASONING_UPDATE_CHARACTERS) {
23279
- yield update;
23280
- return;
23281
- }
23282
- const text2 = update.content.text;
23283
- for (let start = 0; start < text2.length; ) {
23284
- let end = Math.min(start + MAXIMUM_REASONING_UPDATE_CHARACTERS, text2.length);
23285
- const last = text2.charCodeAt(end - 1);
23286
- const next = text2.charCodeAt(end);
23287
- if (last >= 55296 && last <= 56319 && next >= 56320 && next <= 57343) {
23288
- end -= 1;
23289
- }
23290
- yield { ...update, content: { ...update.content, text: text2.slice(start, end) } };
23291
- start = end;
23292
- }
23293
- }
23294
23277
  var AdapterSessionConnection = class {
23295
23278
  #connection;
23296
23279
  #onBackgroundActivity;
@@ -23311,68 +23294,66 @@ var AdapterSessionConnection = class {
23311
23294
  throw new AcpExecutionError("ACP agent referenced an unknown session", {}, "invalid_agent_session");
23312
23295
  }
23313
23296
  const signal = AbortSignal.any([this.#lifetime.signal, AbortSignal.timeout(3e4)]);
23314
- for (const incoming of reasoningWireUpdates(notification.update)) {
23315
- const externalized = await externalizer.update(options.sessionId(), incoming, signal);
23316
- signal.throwIfAborted();
23317
- const update = externalized.agent;
23318
- const eventUpdate = externalized.event;
23319
- const backgroundTask = update._meta?.["mobius.backgroundTask"];
23320
- const payload = decodeAcpSessionUpdate(
23321
- JSON.stringify(
23322
- normalizeEvent(
23323
- (update.sessionUpdate === "tool_call" || update.sessionUpdate === "tool_call_update") && backgroundTask !== void 0 && typeof eventUpdate === "object" && eventUpdate !== null ? { ...eventUpdate, backgroundTask } : eventUpdate
23324
- )
23297
+ const externalized = await externalizer.update(options.sessionId(), notification.update, signal);
23298
+ signal.throwIfAborted();
23299
+ const update = externalized.agent;
23300
+ const eventUpdate = externalized.event;
23301
+ const backgroundTask = update._meta?.["mobius.backgroundTask"];
23302
+ const payload = decodeAcpSessionUpdate(
23303
+ JSON.stringify(
23304
+ normalizeEvent(
23305
+ (update.sessionUpdate === "tool_call" || update.sessionUpdate === "tool_call_update") && backgroundTask !== void 0 && typeof eventUpdate === "object" && eventUpdate !== null ? { ...eventUpdate, backgroundTask } : eventUpdate
23325
23306
  )
23326
- );
23327
- let event;
23328
- switch (update.sessionUpdate) {
23329
- case "available_commands_update":
23330
- event = {
23331
- kind: "commands",
23332
- payload,
23333
- commands: update.availableCommands.slice(0, 500).map((command) => ({
23334
- description: truncate(command.description, 500),
23335
- inputHint: truncate(command.input?.hint ?? "", 255),
23336
- name: truncate(command.name, 128)
23337
- })).filter((command) => command.name.length > 0)
23338
- };
23339
- break;
23340
- case "config_option_update":
23341
- event = {
23342
- kind: "configuration",
23343
- payload,
23344
- configOptions: protocol.normalizeUpdate(options.configOptions(), update.configOptions)
23345
- };
23346
- break;
23347
- case "current_mode_update":
23348
- event = { kind: "mode", payload, modeId: update.currentModeId };
23349
- break;
23350
- case "session_info_update": {
23351
- const changes = [];
23352
- if (Object.hasOwn(update, "title")) {
23353
- changes.push({ kind: "title", value: truncate(update.title ?? "", 500) });
23354
- }
23355
- if (Object.hasOwn(update, "updatedAt")) {
23356
- changes.push({ kind: "updated-at", value: truncate(update.updatedAt ?? "", 128) });
23357
- }
23358
- event = { kind: "info", payload, changes };
23359
- break;
23307
+ )
23308
+ );
23309
+ let event;
23310
+ switch (update.sessionUpdate) {
23311
+ case "available_commands_update":
23312
+ event = {
23313
+ kind: "commands",
23314
+ payload,
23315
+ commands: update.availableCommands.slice(0, 500).map((command) => ({
23316
+ description: truncate(command.description, 500),
23317
+ inputHint: truncate(command.input?.hint ?? "", 255),
23318
+ name: truncate(command.name, 128)
23319
+ })).filter((command) => command.name.length > 0)
23320
+ };
23321
+ break;
23322
+ case "config_option_update":
23323
+ event = {
23324
+ kind: "configuration",
23325
+ payload,
23326
+ configOptions: protocol.normalizeUpdate(options.configOptions(), update.configOptions)
23327
+ };
23328
+ break;
23329
+ case "current_mode_update":
23330
+ event = { kind: "mode", payload, modeId: update.currentModeId };
23331
+ break;
23332
+ case "session_info_update": {
23333
+ const changes = [];
23334
+ if (Object.hasOwn(update, "title")) {
23335
+ changes.push({ kind: "title", value: truncate(update.title ?? "", 500) });
23360
23336
  }
23361
- case "user_message_chunk":
23362
- case "agent_message_chunk":
23363
- case "agent_thought_chunk":
23364
- case "tool_call":
23365
- case "tool_call_update":
23366
- case "plan":
23367
- case "plan_update":
23368
- case "plan_removed":
23369
- event = { kind: "content", payload };
23370
- break;
23371
- default:
23372
- event = { kind: "other", payload };
23337
+ if (Object.hasOwn(update, "updatedAt")) {
23338
+ changes.push({ kind: "updated-at", value: truncate(update.updatedAt ?? "", 128) });
23339
+ }
23340
+ event = { kind: "info", payload, changes };
23341
+ break;
23373
23342
  }
23374
- await options.onEvent(event);
23343
+ case "user_message_chunk":
23344
+ case "agent_message_chunk":
23345
+ case "agent_thought_chunk":
23346
+ case "tool_call":
23347
+ case "tool_call_update":
23348
+ case "plan":
23349
+ case "plan_update":
23350
+ case "plan_removed":
23351
+ event = { kind: "content", payload };
23352
+ break;
23353
+ default:
23354
+ event = { kind: "other", payload };
23375
23355
  }
23356
+ await options.onEvent(event);
23376
23357
  });
23377
23358
  this.events = this.#updates;
23378
23359
  const client2 = {
@@ -23780,6 +23761,7 @@ import { randomUUID } from "node:crypto";
23780
23761
 
23781
23762
  // src/session/history/session-event-history-projection.ts
23782
23763
  var MAXIMUM_PROJECTED_REASONING_BYTES = 24 * 1024;
23764
+ var MAXIMUM_PROJECTED_MESSAGE_CHARACTERS = 1e6;
23783
23765
  function boundReasoning(payload) {
23784
23766
  if (payload.content.type !== "text" || Buffer.byteLength(payload.content.text, "utf8") <= MAXIMUM_PROJECTED_REASONING_BYTES) {
23785
23767
  return payload;
@@ -23848,6 +23830,9 @@ function mergeTextChunk(previous, incoming) {
23848
23830
  if (previous.sessionUpdate !== "agent_message_chunk" && previous.sessionUpdate !== "agent_thought_chunk" && previous.sessionUpdate !== "user_message_chunk" || incoming.sessionUpdate !== previous.sessionUpdate || previous.messageId !== incoming.messageId || previous.content.type !== "text" || incoming.content.type !== "text") {
23849
23831
  return null;
23850
23832
  }
23833
+ if (previous.sessionUpdate !== "agent_thought_chunk" && previous.content.text.length + incoming.content.text.length > MAXIMUM_PROJECTED_MESSAGE_CHARACTERS) {
23834
+ return null;
23835
+ }
23851
23836
  const content = { text: `${previous.content.text}${incoming.content.text}`, type: "text" };
23852
23837
  if (previous.sessionUpdate === "agent_thought_chunk" && incoming.sessionUpdate === "agent_thought_chunk") {
23853
23838
  return boundReasoning({
@@ -32007,7 +31992,7 @@ function prepareCodexToolUpdate(update) {
32007
31992
  };
32008
31993
  }
32009
31994
  function fitPayload(value) {
32010
- if (value === void 0 || boundedJsonSchema.safeParse(value).success) {
31995
+ if (value === void 0 || isBoundedJson(value)) {
32011
31996
  return value;
32012
31997
  }
32013
31998
  return { truncated: true, text: payloadText(value) };
@@ -32181,6 +32166,29 @@ var harnessAdapters = (agent, dependencies) => {
32181
32166
 
32182
32167
  // src/acp/content/content-externalizer.ts
32183
32168
  var MAXIMUM_ENCODED_CONTENT_CHARACTERS = 4e6;
32169
+ var MAXIMUM_TEXT_CHARACTERS = 1e6;
32170
+ function boundedText2(text2) {
32171
+ if (text2.length <= MAXIMUM_TEXT_CHARACTERS) {
32172
+ return text2;
32173
+ }
32174
+ const marker = (start2) => `... [omit ${text2.length - start2} characters since ${start2}]`;
32175
+ let start = 0;
32176
+ let upper = MAXIMUM_TEXT_CHARACTERS;
32177
+ while (start < upper) {
32178
+ const candidate = Math.ceil((start + upper) / 2);
32179
+ if (candidate + marker(candidate).length <= MAXIMUM_TEXT_CHARACTERS) {
32180
+ start = candidate;
32181
+ } else {
32182
+ upper = candidate - 1;
32183
+ }
32184
+ }
32185
+ const last = text2.charCodeAt(start - 1);
32186
+ const next = text2.charCodeAt(start);
32187
+ if (last >= 55296 && last <= 56319 && next >= 56320 && next <= 57343) {
32188
+ start -= 1;
32189
+ }
32190
+ return text2.slice(0, start) + marker(start);
32191
+ }
32184
32192
  function decodeBase64(data) {
32185
32193
  if (data.length > MAXIMUM_ENCODED_CONTENT_CHARACTERS || data.length % 4 !== 0 || !/^[A-Za-z0-9+/]*={0,2}$/u.test(data)) {
32186
32194
  throw new Error("The ACP embedded content is not valid bounded base64");
@@ -32225,6 +32233,7 @@ var AcpContentExternalizer = class {
32225
32233
  async #content(sessionId, content, signal) {
32226
32234
  switch (content.type) {
32227
32235
  case "text":
32236
+ return { agent: content, event: { ...content, text: boundedText2(content.text) } };
32228
32237
  case "resource_link":
32229
32238
  return { agent: content, event: content };
32230
32239
  case "image": {
@@ -32438,7 +32447,7 @@ import { fetch as fetch3 } from "undici";
32438
32447
  // package.json
32439
32448
  var package_default = {
32440
32449
  name: "@moxt-ai/mobius",
32441
- version: "0.0.339",
32450
+ version: "0.0.341",
32442
32451
  description: "Mobius CLI for pairing and running local AI agent services.",
32443
32452
  type: "module",
32444
32453
  bin: {