@moxt-ai/mobius 0.0.363 → 0.0.365

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-DXA4UBI6.js → chunk-CIFHYTEO.js} +28 -8
  2. package/dist/{chunk-DXA4UBI6.js.map → chunk-CIFHYTEO.js.map} +2 -2
  3. package/dist/{chunk-DPKJ73U5.js → chunk-N7ZIXRER.js} +2 -4
  4. package/dist/{chunk-DPKJ73U5.js.map → chunk-N7ZIXRER.js.map} +2 -2
  5. package/dist/{chunk-ZW36FH6L.js → chunk-OLZ2M2YY.js} +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-OOWFDWWI.js} +48 -4
  14. package/dist/{cli-VFDSSFNB.js.map → cli-OOWFDWWI.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 +2 -4
  38. /package/dist/{chunk-ZW36FH6L.js.map → chunk-OLZ2M2YY.js.map} +0 -0
@@ -80,7 +80,7 @@ var __callDispose = (stack, error, hasError) => {
80
80
  // package.json
81
81
  var package_default = {
82
82
  name: "@moxt-ai/mobius",
83
- version: "0.0.363",
83
+ version: "0.0.365",
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-N7ZIXRER.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.365\",\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
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __commonJS
3
- } from "./chunk-DPKJ73U5.js";
3
+ } from "./chunk-N7ZIXRER.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-OLZ2M2YY.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/handler/daemon/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAOnD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAG3F;AAED,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAIlG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cli/handler/daemon/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQnD,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAG3F;AAED,wBAAgB,sCAAsC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAKlG"}
@@ -1,5 +1,6 @@
1
1
  import { registerManagerCommand } from "./manager.js";
2
2
  import { registerQuitCommand } from "./quit.js";
3
+ import { registerReleaseCommand } from "./release.js";
3
4
  import { registerStartCommand } from "./start.js";
4
5
  import { registerUpgradeCommand } from "./upgrade.js";
5
6
  import { registerWorkerCommand } from "./worker.js";
@@ -10,6 +11,7 @@ export function registerInternalRuntimeHandlers(program, context) {
10
11
  export function registerDaemonProcessLifecycleHandlers(program, context) {
11
12
  registerStartCommand(program, context);
12
13
  registerQuitCommand(program, context);
14
+ registerReleaseCommand(program, context);
13
15
  registerUpgradeCommand(program, context);
14
16
  }
15
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/handler/daemon/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,UAAU,+BAA+B,CAAC,OAAgB,EAAE,OAAmB;IACjF,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,OAAgB,EAAE,OAAmB;IACxF,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/cli/handler/daemon/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD,MAAM,UAAU,+BAA+B,CAAC,OAAgB,EAAE,OAAmB;IACjF,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,OAAgB,EAAE,OAAmB;IACxF,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACtC,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Command } from "commander";
2
+ import type { CliContext } from "../../context.ts";
3
+ export declare function registerReleaseCommand(program: Command, context: CliContext): void;
4
+ //# sourceMappingURL=release.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../../src/cli/handler/daemon/release.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CASlF"}
@@ -0,0 +1,13 @@
1
+ import { releaseIdleAgentProcesses } from "../../../daemon/lifecycle/worker.js";
2
+ import { openMobiusControlInstallation } from "../../../daemon/pairing/pair-local-machine.js";
3
+ export function registerReleaseCommand(program, context) {
4
+ program
5
+ .command("release")
6
+ .description("release idle Agent sessions so the Agent's own app can continue them")
7
+ .action(async () => {
8
+ const control = await openMobiusControlInstallation(context.shutdownSignal, process.env);
9
+ await releaseIdleAgentProcesses(control.stateDirectory, context.shutdownSignal);
10
+ process.stdout.write("Idle Agent sessions were released. Continuing them in Morty reopens them.\n");
11
+ });
12
+ }
13
+ //# sourceMappingURL=release.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../../src/cli/handler/daemon/release.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,6BAA6B,EAAE,MAAM,+CAA+C,CAAC;AAG9F,MAAM,UAAU,sBAAsB,CAAC,OAAgB,EAAE,OAAmB;IACxE,OAAO;SACF,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,sEAAsE,CAAC;SACnF,MAAM,CAAC,KAAK,IAAI,EAAE;QACf,MAAM,OAAO,GAAG,MAAM,6BAA6B,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;QACzF,MAAM,yBAAyB,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAChF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACxG,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  require_semver
3
- } from "./chunk-ZW36FH6L.js";
3
+ } from "./chunk-OLZ2M2YY.js";
4
4
  import {
5
5
  BoundedLineLog,
6
6
  MissingAdapter,
@@ -35,13 +35,13 @@ import {
35
35
  unhandledRejectionLogFilename,
36
36
  validateLocalPath,
37
37
  validatePairingId
38
- } from "./chunk-DXA4UBI6.js";
38
+ } from "./chunk-CIFHYTEO.js";
39
39
  import {
40
40
  __callDispose,
41
41
  __toESM,
42
42
  __using,
43
43
  package_default
44
- } from "./chunk-DPKJ73U5.js";
44
+ } from "./chunk-N7ZIXRER.js";
45
45
 
46
46
  // ../../node_modules/.pnpm/commander@15.0.0/node_modules/commander/lib/error.js
47
47
  var CommanderError = class extends Error {
@@ -5010,6 +5010,21 @@ function registerQuitCommand(program2, context) {
5010
5010
  // src/daemon/lifecycle/worker.ts
5011
5011
  import { setTimeout as setTimeout4 } from "node:timers/promises";
5012
5012
 
5013
+ // src/engine/session/process/runtime-agent-processes.ts
5014
+ var RuntimeAgentProcesses = class {
5015
+ #pools = /* @__PURE__ */ new Set();
5016
+ /** Tracks a Runtime's pool until the returned function removes it. */
5017
+ add = (pool) => {
5018
+ this.#pools.add(pool);
5019
+ return () => {
5020
+ this.#pools.delete(pool);
5021
+ };
5022
+ };
5023
+ retireIdleProcesses = async () => {
5024
+ await Promise.all([...this.#pools].map(async (pool) => await pool.retireIdleProcesses()));
5025
+ };
5026
+ };
5027
+
5013
5028
  // src/daemon/upgrades/upgrade.ts
5014
5029
  import { randomUUID as randomUUID2 } from "node:crypto";
5015
5030
  import { setInterval, setTimeout as setTimeout3 } from "node:timers/promises";
@@ -5189,6 +5204,19 @@ async function reloadDaemon(stateDirectory, signal) {
5189
5204
  }
5190
5205
  }
5191
5206
  }
5207
+ async function releaseIdleAgentProcesses(stateDirectory, signal) {
5208
+ try {
5209
+ const response = await sendLocalRequest(stateDirectory, "worker", { kind: "release" }, signal);
5210
+ if (typeof response === "object" && response !== null && "kind" in response && response.kind === "released") {
5211
+ return;
5212
+ }
5213
+ throw new Error("The running daemon cannot release Agent sessions. Run `mobius start` to update it first.");
5214
+ } catch (cause) {
5215
+ if (!isNodeError(cause, "ENOENT") && !isNodeError(cause, "ECONNREFUSED")) {
5216
+ throw cause;
5217
+ }
5218
+ }
5219
+ }
5192
5220
  async function runWorker(version, signal) {
5193
5221
  if (!process.connected) {
5194
5222
  throw new Error("The daemon must be started by its manager");
@@ -5225,6 +5253,7 @@ async function runWorkerRuntime(version, combined, shutdown, rejectionGuard) {
5225
5253
  }
5226
5254
  rejectionGuard.bindStateDirectory(control.stateDirectory);
5227
5255
  const turnActivity = new RuntimeTurnActivity();
5256
+ const agentProcesses = new RuntimeAgentProcesses();
5228
5257
  const active = /* @__PURE__ */ new Map();
5229
5258
  const fail = (connectionId, cause) => {
5230
5259
  console.error(`Runtime ${connectionId} failed; stopping the daemon`, cause);
@@ -5259,6 +5288,7 @@ async function runWorkerRuntime(version, combined, shutdown, rejectionGuard) {
5259
5288
  const loop = new RuntimeLoop(async () => config, {
5260
5289
  processLogsDirectory: control.stateDirectory,
5261
5290
  turnActivity,
5291
+ agentProcesses,
5262
5292
  reportUpgradeAvailability: reportDaemonUpgradeAvailability
5263
5293
  });
5264
5294
  const completion = loop.run(AbortSignal.any([combined, controller.signal])).then(
@@ -5310,6 +5340,10 @@ async function runWorkerRuntime(version, combined, shutdown, rejectionGuard) {
5310
5340
  "worker",
5311
5341
  combined,
5312
5342
  async (request) => {
5343
+ if (typeof request === "object" && request !== null && "kind" in request && request.kind === "release") {
5344
+ await agentProcesses.retireIdleProcesses();
5345
+ return { kind: "released" };
5346
+ }
5313
5347
  if (typeof request !== "object" || request === null || !("kind" in request) || request.kind !== "reload") {
5314
5348
  return { kind: "error", code: "invalid_reload", message: "Expected a configuration reload" };
5315
5349
  }
@@ -5340,6 +5374,15 @@ async function runWorkerRuntime(version, combined, shutdown, rejectionGuard) {
5340
5374
  }
5341
5375
  }
5342
5376
 
5377
+ // src/cli/handler/daemon/release.ts
5378
+ function registerReleaseCommand(program2, context) {
5379
+ program2.command("release").description("release idle Agent sessions so the Agent's own app can continue them").action(async () => {
5380
+ const control = await openMobiusControlInstallation(context.shutdownSignal, process.env);
5381
+ await releaseIdleAgentProcesses(control.stateDirectory, context.shutdownSignal);
5382
+ process.stdout.write("Idle Agent sessions were released. Continuing them in Morty reopens them.\n");
5383
+ });
5384
+ }
5385
+
5343
5386
  // src/cli/handler/daemon/start.ts
5344
5387
  function registerStartCommand(program2, context) {
5345
5388
  program2.command("start").description("ensure the daemon is running and optionally activate a saved connection").addOption(valueOption("--connection <connection-id>", "saved Runtime connection identifier")).action(async (options) => {
@@ -5397,6 +5440,7 @@ function registerInternalRuntimeHandlers(program2, context) {
5397
5440
  function registerDaemonProcessLifecycleHandlers(program2, context) {
5398
5441
  registerStartCommand(program2, context);
5399
5442
  registerQuitCommand(program2, context);
5443
+ registerReleaseCommand(program2, context);
5400
5444
  registerUpgradeCommand(program2, context);
5401
5445
  }
5402
5446
 
@@ -5812,4 +5856,4 @@ async function runCLI() {
5812
5856
  export {
5813
5857
  runCLI
5814
5858
  };
5815
- //# sourceMappingURL=cli-VFDSSFNB.js.map
5859
+ //# sourceMappingURL=cli-OOWFDWWI.js.map