@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.
- package/dist/{chunk-ZW36FH6L.js → chunk-3VRXAUZT.js} +2 -2
- package/dist/{chunk-DPKJ73U5.js → chunk-N5IP6R6A.js} +2 -4
- package/dist/{chunk-DPKJ73U5.js.map → chunk-N5IP6R6A.js.map} +2 -2
- package/dist/{chunk-DXA4UBI6.js → chunk-OKNGQWMR.js} +28 -8
- package/dist/{chunk-DXA4UBI6.js.map → chunk-OKNGQWMR.js.map} +2 -2
- package/dist/cli/handler/daemon/index.d.ts.map +1 -1
- package/dist/cli/handler/daemon/index.js +2 -0
- package/dist/cli/handler/daemon/index.js.map +1 -1
- package/dist/cli/handler/daemon/release.d.ts +4 -0
- package/dist/cli/handler/daemon/release.d.ts.map +1 -0
- package/dist/cli/handler/daemon/release.js +13 -0
- package/dist/cli/handler/daemon/release.js.map +1 -0
- package/dist/{cli-VFDSSFNB.js → cli-TY5NMPLG.js} +48 -4
- package/dist/{cli-VFDSSFNB.js.map → cli-TY5NMPLG.js.map} +4 -4
- package/dist/cli.js +3 -3
- package/dist/daemon/lifecycle/worker.d.ts +2 -0
- package/dist/daemon/lifecycle/worker.d.ts.map +1 -1
- package/dist/daemon/lifecycle/worker.js +26 -0
- package/dist/daemon/lifecycle/worker.js.map +1 -1
- package/dist/engine/runtime/run.d.ts +3 -0
- package/dist/engine/runtime/run.d.ts.map +1 -1
- package/dist/engine/runtime/run.js +2 -0
- package/dist/engine/runtime/run.js.map +1 -1
- package/dist/engine/runtime/runtime-loop.d.ts +2 -0
- package/dist/engine/runtime/runtime-loop.d.ts.map +1 -1
- package/dist/engine/runtime/runtime-loop.js +1 -0
- package/dist/engine/runtime/runtime-loop.js.map +1 -1
- package/dist/engine/session/process/agent-process-pool.d.ts +5 -0
- package/dist/engine/session/process/agent-process-pool.d.ts.map +1 -1
- package/dist/engine/session/process/agent-process-pool.js +27 -10
- package/dist/engine/session/process/agent-process-pool.js.map +1 -1
- package/dist/engine/session/process/runtime-agent-processes.d.ts +9 -0
- package/dist/engine/session/process/runtime-agent-processes.d.ts.map +1 -0
- package/dist/engine/session/process/runtime-agent-processes.js +15 -0
- package/dist/engine/session/process/runtime-agent-processes.js.map +1 -0
- package/dist/engine.js +2 -2
- package/package.json +1 -3
- /package/dist/{chunk-ZW36FH6L.js.map → chunk-3VRXAUZT.js.map} +0 -0
|
@@ -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;
|
|
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 @@
|
|
|
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-
|
|
3
|
+
} from "./chunk-3VRXAUZT.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-
|
|
38
|
+
} from "./chunk-OKNGQWMR.js";
|
|
39
39
|
import {
|
|
40
40
|
__callDispose,
|
|
41
41
|
__toESM,
|
|
42
42
|
__using,
|
|
43
43
|
package_default
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-N5IP6R6A.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-
|
|
5859
|
+
//# sourceMappingURL=cli-TY5NMPLG.js.map
|