@moxt-ai/mobius 0.0.363 → 0.0.364

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 (38) hide show
  1. package/dist/{chunk-ZW36FH6L.js → chunk-3VRXAUZT.js} +2 -2
  2. package/dist/{chunk-DPKJ73U5.js → chunk-N5IP6R6A.js} +2 -4
  3. package/dist/{chunk-DPKJ73U5.js.map → chunk-N5IP6R6A.js.map} +2 -2
  4. package/dist/{chunk-DXA4UBI6.js → chunk-OKNGQWMR.js} +28 -8
  5. package/dist/{chunk-DXA4UBI6.js.map → chunk-OKNGQWMR.js.map} +2 -2
  6. package/dist/cli/handler/daemon/index.d.ts.map +1 -1
  7. package/dist/cli/handler/daemon/index.js +2 -0
  8. package/dist/cli/handler/daemon/index.js.map +1 -1
  9. package/dist/cli/handler/daemon/release.d.ts +4 -0
  10. package/dist/cli/handler/daemon/release.d.ts.map +1 -0
  11. package/dist/cli/handler/daemon/release.js +13 -0
  12. package/dist/cli/handler/daemon/release.js.map +1 -0
  13. package/dist/{cli-VFDSSFNB.js → cli-TY5NMPLG.js} +48 -4
  14. package/dist/{cli-VFDSSFNB.js.map → cli-TY5NMPLG.js.map} +4 -4
  15. package/dist/cli.js +3 -3
  16. package/dist/daemon/lifecycle/worker.d.ts +2 -0
  17. package/dist/daemon/lifecycle/worker.d.ts.map +1 -1
  18. package/dist/daemon/lifecycle/worker.js +26 -0
  19. package/dist/daemon/lifecycle/worker.js.map +1 -1
  20. package/dist/engine/runtime/run.d.ts +3 -0
  21. package/dist/engine/runtime/run.d.ts.map +1 -1
  22. package/dist/engine/runtime/run.js +2 -0
  23. package/dist/engine/runtime/run.js.map +1 -1
  24. package/dist/engine/runtime/runtime-loop.d.ts +2 -0
  25. package/dist/engine/runtime/runtime-loop.d.ts.map +1 -1
  26. package/dist/engine/runtime/runtime-loop.js +1 -0
  27. package/dist/engine/runtime/runtime-loop.js.map +1 -1
  28. package/dist/engine/session/process/agent-process-pool.d.ts +5 -0
  29. package/dist/engine/session/process/agent-process-pool.d.ts.map +1 -1
  30. package/dist/engine/session/process/agent-process-pool.js +27 -10
  31. package/dist/engine/session/process/agent-process-pool.js.map +1 -1
  32. package/dist/engine/session/process/runtime-agent-processes.d.ts +9 -0
  33. package/dist/engine/session/process/runtime-agent-processes.d.ts.map +1 -0
  34. package/dist/engine/session/process/runtime-agent-processes.js +15 -0
  35. package/dist/engine/session/process/runtime-agent-processes.js.map +1 -0
  36. package/dist/engine.js +2 -2
  37. package/package.json +1 -3
  38. /package/dist/{chunk-ZW36FH6L.js.map → chunk-3VRXAUZT.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __commonJS
3
- } from "./chunk-DPKJ73U5.js";
3
+ } from "./chunk-N5IP6R6A.js";
4
4
 
5
5
  // ../../node_modules/.pnpm/semver@7.8.5/node_modules/semver/internal/constants.js
6
6
  var require_constants = __commonJS({
@@ -1999,4 +1999,4 @@ var require_semver2 = __commonJS({
1999
1999
  export {
2000
2000
  require_semver2 as require_semver
2001
2001
  };
2002
- //# sourceMappingURL=chunk-ZW36FH6L.js.map
2002
+ //# sourceMappingURL=chunk-3VRXAUZT.js.map
@@ -80,7 +80,7 @@ var __callDispose = (stack, error, hasError) => {
80
80
  // package.json
81
81
  var package_default = {
82
82
  name: "@moxt-ai/mobius",
83
- version: "0.0.363",
83
+ version: "0.0.364",
84
84
  description: "Mobius CLI for pairing and running local AI agent services.",
85
85
  type: "module",
86
86
  bin: {
@@ -128,8 +128,6 @@ var package_default = {
128
128
  "test:manual": "vitest run tests/manual",
129
129
  "pretest:agents": "pnpm build",
130
130
  "test:agents": "vitest run tests/agents --maxWorkers=2",
131
- "pretest:npm-compatibility": "pnpm build",
132
- "test:npm-compatibility": "vitest run tests/runtime/daemon-upgrade.integration.test.ts",
133
131
  "pretest:pressure": "tsc --project src/engine/acp/harness/claude/upstream/tsconfig.json && tsc --project src/engine/acp/harness/pi/upstream/tsconfig.json",
134
132
  "test:pressure": "node tests/pressure/concurrent-sessions.mjs"
135
133
  },
@@ -171,4 +169,4 @@ export {
171
169
  __callDispose,
172
170
  package_default
173
171
  };
174
- //# sourceMappingURL=chunk-DPKJ73U5.js.map
172
+ //# sourceMappingURL=chunk-N5IP6R6A.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../package.json"],
4
- "sourcesContent": ["{\n \"name\": \"@moxt-ai/mobius\",\n \"version\": \"0.0.363\",\n \"description\": \"Mobius CLI for pairing and running local AI agent services.\",\n \"type\": \"module\",\n \"bin\": {\n \"mobius\": \"dist/cli.js\"\n },\n \"exports\": {\n \"./engine\": {\n \"mobius-source\": \"./src/exports/engine.ts\",\n \"types\": \"./dist/exports/engine.d.ts\",\n \"default\": \"./dist/engine.js\"\n }\n },\n \"files\": [\n \"dist\"\n ],\n \"engines\": {\n \"node\": \">=22.19.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/mobius.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\": \"tsc --project tsconfig.build.json && esbuild cli=src/cli/entrypoint.ts engine=src/exports/engine.ts --bundle --splitting --platform=node --target=node22.19.0 --format=esm --sourcemap --outbase=src --outdir=dist --external:@agentclientprotocol/sdk --external:undici\",\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\",\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\",\n \"test:agents\": \"vitest run tests/agents --maxWorkers=2\",\n \"pretest:npm-compatibility\": \"pnpm build\",\n \"test:npm-compatibility\": \"vitest run tests/runtime/daemon-upgrade.integration.test.ts\",\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 },\n \"dependencies\": {\n \"@agentclientprotocol/sdk\": \"^1.4.0\",\n \"@anthropic-ai/claude-agent-sdk\": \"0.3.257\",\n \"commander\": \"15.0.0\",\n \"semver\": \"^7.8.5\",\n \"undici\": \"8.12.2\",\n \"zod\": \"^4.6.5\"\n },\n \"devDependencies\": {\n \"@anthropic-ai/sdk\": \"0.122.0\",\n \"@moxt-ai/mobius-sdk\": \"workspace:*\",\n \"@moxt-ai/mobius-test\": \"workspace:*\",\n \"@types/node\": \"^24.13.5\",\n \"@types/semver\": \"^7.8.0\",\n \"@types/ws\": \"^8.18.1\",\n \"drizzle-kit\": \"1.0.0-rc.4\",\n \"drizzle-orm\": \"1.0.0-rc.4\",\n \"esbuild\": \"0.28.2\",\n \"valibot\": \"1.5.0\",\n \"ws\": \"^8.21.3\"\n },\n \"keywords\": [],\n \"author\": \"Moxt\",\n \"license\": \"Apache-2.0\",\n \"bugs\": {\n \"url\": \"https://github.com/moxt-ai/mobius/issues\"\n },\n \"homepage\": \"https://github.com/moxt-ai/mobius#readme\"\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,EACI,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,MAAQ;AAAA,EACR,KAAO;AAAA,IACH,QAAU;AAAA,EACd;AAAA,EACA,SAAW;AAAA,IACP,YAAY;AAAA,MACR,iBAAiB;AAAA,MACjB,OAAS;AAAA,MACT,SAAW;AAAA,IACf;AAAA,EACJ;AAAA,EACA,OAAS;AAAA,IACL;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,6BAA6B;AAAA,IAC7B,0BAA0B;AAAA,IAC1B,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,EACrB;AAAA,EACA,cAAgB;AAAA,IACZ,4BAA4B;AAAA,IAC5B,kCAAkC;AAAA,IAClC,WAAa;AAAA,IACb,QAAU;AAAA,IACV,QAAU;AAAA,IACV,KAAO;AAAA,EACX;AAAA,EACA,iBAAmB;AAAA,IACf,qBAAqB;AAAA,IACrB,uBAAuB;AAAA,IACvB,wBAAwB;AAAA,IACxB,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,eAAe;AAAA,IACf,eAAe;AAAA,IACf,SAAW;AAAA,IACX,SAAW;AAAA,IACX,IAAM;AAAA,EACV;AAAA,EACA,UAAY,CAAC;AAAA,EACb,QAAU;AAAA,EACV,SAAW;AAAA,EACX,MAAQ;AAAA,IACJ,KAAO;AAAA,EACX;AAAA,EACA,UAAY;AAChB;",
4
+ "sourcesContent": ["{\n \"name\": \"@moxt-ai/mobius\",\n \"version\": \"0.0.364\",\n \"description\": \"Mobius CLI for pairing and running local AI agent services.\",\n \"type\": \"module\",\n \"bin\": {\n \"mobius\": \"dist/cli.js\"\n },\n \"exports\": {\n \"./engine\": {\n \"mobius-source\": \"./src/exports/engine.ts\",\n \"types\": \"./dist/exports/engine.d.ts\",\n \"default\": \"./dist/engine.js\"\n }\n },\n \"files\": [\n \"dist\"\n ],\n \"engines\": {\n \"node\": \">=22.19.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/mobius.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\": \"tsc --project tsconfig.build.json && esbuild cli=src/cli/entrypoint.ts engine=src/exports/engine.ts --bundle --splitting --platform=node --target=node22.19.0 --format=esm --sourcemap --outbase=src --outdir=dist --external:@agentclientprotocol/sdk --external:undici\",\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\",\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\",\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 },\n \"dependencies\": {\n \"@agentclientprotocol/sdk\": \"^1.4.0\",\n \"@anthropic-ai/claude-agent-sdk\": \"0.3.257\",\n \"commander\": \"15.0.0\",\n \"semver\": \"^7.8.5\",\n \"undici\": \"8.12.2\",\n \"zod\": \"^4.6.5\"\n },\n \"devDependencies\": {\n \"@anthropic-ai/sdk\": \"0.122.0\",\n \"@moxt-ai/mobius-sdk\": \"workspace:*\",\n \"@moxt-ai/mobius-test\": \"workspace:*\",\n \"@types/node\": \"^24.13.5\",\n \"@types/semver\": \"^7.8.0\",\n \"@types/ws\": \"^8.18.1\",\n \"drizzle-kit\": \"1.0.0-rc.4\",\n \"drizzle-orm\": \"1.0.0-rc.4\",\n \"esbuild\": \"0.28.2\",\n \"valibot\": \"1.5.0\",\n \"ws\": \"^8.21.3\"\n },\n \"keywords\": [],\n \"author\": \"Moxt\",\n \"license\": \"Apache-2.0\",\n \"bugs\": {\n \"url\": \"https://github.com/moxt-ai/mobius/issues\"\n },\n \"homepage\": \"https://github.com/moxt-ai/mobius#readme\"\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,EACI,MAAQ;AAAA,EACR,SAAW;AAAA,EACX,aAAe;AAAA,EACf,MAAQ;AAAA,EACR,KAAO;AAAA,IACH,QAAU;AAAA,EACd;AAAA,EACA,SAAW;AAAA,IACP,YAAY;AAAA,MACR,iBAAiB;AAAA,MACjB,OAAS;AAAA,MACT,SAAW;AAAA,IACf;AAAA,EACJ;AAAA,EACA,OAAS;AAAA,IACL;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,EACrB;AAAA,EACA,cAAgB;AAAA,IACZ,4BAA4B;AAAA,IAC5B,kCAAkC;AAAA,IAClC,WAAa;AAAA,IACb,QAAU;AAAA,IACV,QAAU;AAAA,IACV,KAAO;AAAA,EACX;AAAA,EACA,iBAAmB;AAAA,IACf,qBAAqB;AAAA,IACrB,uBAAuB;AAAA,IACvB,wBAAwB;AAAA,IACxB,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,eAAe;AAAA,IACf,eAAe;AAAA,IACf,SAAW;AAAA,IACX,SAAW;AAAA,IACX,IAAM;AAAA,EACV;AAAA,EACA,UAAY,CAAC;AAAA,EACb,QAAU;AAAA,EACV,SAAW;AAAA,EACX,MAAQ;AAAA,IACJ,KAAO;AAAA,EACX;AAAA,EACA,UAAY;AAChB;",
6
6
  "names": []
7
7
  }
@@ -3,7 +3,7 @@ import {
3
3
  __export,
4
4
  __using,
5
5
  package_default
6
- } from "./chunk-DPKJ73U5.js";
6
+ } from "./chunk-N5IP6R6A.js";
7
7
 
8
8
  // src/engine/runtime/relay/runtime-revocation.ts
9
9
  var runtimeRevocationCloseCode = 1008;
@@ -89743,15 +89743,32 @@ var AgentProcessPool = class {
89743
89743
  return;
89744
89744
  }
89745
89745
  this.#idleTimeouts.delete(id);
89746
- if (this.#stopping || this.#slots.get(id) !== slot || slot.retention.isBusy()) {
89747
- return;
89748
- }
89749
- const retirement = slot.retention.retireIdle();
89750
- this.#idleRetirements.add(retirement);
89751
- void retirement.catch((error62) => console.error("The idle Agent process could not be released", error62)).finally(() => this.#idleRetirements.delete(retirement));
89746
+ void this.#retireIdle(id, slot);
89752
89747
  }, ACP_PROCESS_IDLE_TIMEOUT_MILLISECONDS);
89753
89748
  this.#idleTimeouts.set(id, timeout);
89754
89749
  };
89750
+ #retireIdle = async (id, slot) => {
89751
+ if (this.#stopping || this.#slots.get(id) !== slot || slot.kind !== "retained" || slot.retention.isBusy()) {
89752
+ return;
89753
+ }
89754
+ this.#cancelIdleTimeout(id);
89755
+ const retirement = slot.retention.retireIdle();
89756
+ this.#idleRetirements.add(retirement);
89757
+ try {
89758
+ await retirement;
89759
+ } catch (error62) {
89760
+ console.error("The idle Agent process could not be released", error62);
89761
+ } finally {
89762
+ this.#idleRetirements.delete(retirement);
89763
+ }
89764
+ };
89765
+ /**
89766
+ * Releases every retained process that is not working now, as its idle deadline would.
89767
+ * Native clients, such as an Agent's own terminal, can then take over their conversations.
89768
+ */
89769
+ retireIdleProcesses = async () => {
89770
+ await Promise.all([...this.#slots].map(async ([id, slot]) => await this.#retireIdle(id, slot)));
89771
+ };
89755
89772
  /** Stop scheduling before Runtime shutdown and drain teardowns already in flight. */
89756
89773
  stopIdleReclamation = async () => {
89757
89774
  this.#stopping = true;
@@ -93072,6 +93089,7 @@ async function runRuntime(config2, parentSignal, timer = systemTimer, options =
93072
93089
  catalogPublished = true;
93073
93090
  announceReadiness();
93074
93091
  });
93092
+ const removeAgentProcesses = options.agentProcesses?.add(processes);
93075
93093
  try {
93076
93094
  while (!signal.aborted) {
93077
93095
  connectionEpoch += 1;
@@ -93113,6 +93131,7 @@ async function runRuntime(config2, parentSignal, timer = systemTimer, options =
93113
93131
  await waitForRelayRetry(signal, timer);
93114
93132
  }
93115
93133
  } finally {
93134
+ removeAgentProcesses?.();
93116
93135
  shutdown.abort();
93117
93136
  operations.beginShutdown();
93118
93137
  await activeSessions.close();
@@ -93246,6 +93265,7 @@ var RuntimeLoop = class {
93246
93265
  this.#state = { kind: "running", config: config2 };
93247
93266
  await runRuntime(config2, signal, void 0, {
93248
93267
  ...this.#options.turnActivity === void 0 ? {} : { turnActivity: this.#options.turnActivity },
93268
+ ...this.#options.agentProcesses === void 0 ? {} : { agentProcesses: this.#options.agentProcesses },
93249
93269
  onExecutionCountChange: (count) => {
93250
93270
  this.#options.onExecutionCountChange?.(count);
93251
93271
  },
@@ -93389,4 +93409,4 @@ export {
93389
93409
  * MIT Licensed
93390
93410
  *)
93391
93411
  */
93392
- //# sourceMappingURL=chunk-DXA4UBI6.js.map
93412
+ //# sourceMappingURL=chunk-OKNGQWMR.js.map