@moxt-ai/mobius 0.0.312 → 0.0.314
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/acp/adapter/claude/adapter.d.ts +2 -0
- package/dist/acp/adapter/claude/adapter.d.ts.map +1 -1
- package/dist/acp/adapter/claude/adapter.js +2 -0
- package/dist/acp/adapter/claude/adapter.js.map +1 -1
- package/dist/acp/adapter/codex/adapter.d.ts +2 -0
- package/dist/acp/adapter/codex/adapter.d.ts.map +1 -1
- package/dist/acp/adapter/codex/adapter.js +2 -0
- package/dist/acp/adapter/codex/adapter.js.map +1 -1
- package/dist/acp/adapter/live-sessions.d.ts +2 -0
- package/dist/acp/adapter/live-sessions.d.ts.map +1 -1
- package/dist/acp/adapter/live-sessions.js +40 -2
- package/dist/acp/adapter/live-sessions.js.map +1 -1
- package/dist/acp/adapter/pi/adapter.d.ts +2 -0
- package/dist/acp/adapter/pi/adapter.d.ts.map +1 -1
- package/dist/acp/adapter/pi/adapter.js +2 -0
- package/dist/acp/adapter/pi/adapter.js.map +1 -1
- package/dist/acp/native-history/preview-contract.d.ts +2 -0
- package/dist/acp/native-history/preview-contract.d.ts.map +1 -1
- package/dist/cli/handler/agents/index.d.ts.map +1 -1
- package/dist/cli/handler/agents/index.js +8 -1
- package/dist/cli/handler/agents/index.js.map +1 -1
- package/dist/cli/handler/agents/logic/agent-diagnostics.d.ts +2 -0
- package/dist/cli/handler/agents/logic/agent-diagnostics.d.ts.map +1 -1
- package/dist/cli/handler/agents/logic/agent-diagnostics.js +16 -0
- package/dist/cli/handler/agents/logic/agent-diagnostics.js.map +1 -1
- package/dist/cli.js +269 -168
- package/dist/cli.js.map +4 -4
- package/dist/daemon/lifecycle/worker.d.ts.map +1 -1
- package/dist/daemon/lifecycle/worker.js +22 -2
- package/dist/daemon/lifecycle/worker.js.map +1 -1
- package/dist/runtime/catalog/handle-agent-catalog-discovery.d.ts +1 -1
- package/dist/runtime/catalog/handle-agent-catalog-discovery.d.ts.map +1 -1
- package/dist/runtime/catalog/handle-agent-catalog-discovery.js +2 -5
- package/dist/runtime/catalog/handle-agent-catalog-discovery.js.map +1 -1
- package/dist/runtime/catalog/refresh-agent-catalog.d.ts +9 -0
- package/dist/runtime/catalog/refresh-agent-catalog.d.ts.map +1 -0
- package/dist/runtime/catalog/refresh-agent-catalog.js +13 -0
- package/dist/runtime/catalog/refresh-agent-catalog.js.map +1 -0
- package/dist/runtime/command/registry/interactions.js +2 -2
- package/dist/runtime/command/registry/interactions.js.map +1 -1
- package/dist/runtime.js +79 -32
- package/dist/runtime.js.map +4 -4
- package/dist/session/live/agent-session.d.ts +1 -1
- package/dist/session/live/agent-session.d.ts.map +1 -1
- package/dist/session/live/agent-session.js +14 -15
- package/dist/session/live/agent-session.js.map +1 -1
- package/dist/session/manager/session-manager.d.ts +1 -1
- package/dist/session/manager/session-manager.d.ts.map +1 -1
- package/dist/session/manager/session-manager.js +3 -3
- package/dist/session/manager/session-manager.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/daemon/lifecycle/worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/daemon/lifecycle/worker.ts"],"names":[],"mappings":"AAyBA,wBAAsB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7F;AAED,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBnF"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { setTimeout } from "node:timers/promises";
|
|
2
|
+
import { refreshAgentCatalog } from "../../runtime/catalog/refresh-agent-catalog.js";
|
|
2
3
|
import { MobiusRuntimeEngine } from "../../runtime/engine.js";
|
|
3
4
|
import { RuntimeTurnActivity } from "../../session/turn/runtime-turn-activity.js";
|
|
4
5
|
import { acquireManagerLock } from "../../storage/daemon/manager-lock.js";
|
|
@@ -116,7 +117,7 @@ async function runWorkerRuntime(version, combined, shutdown, rejectionGuard) {
|
|
|
116
117
|
}
|
|
117
118
|
})
|
|
118
119
|
.finally(() => active.delete(connection.connectionId));
|
|
119
|
-
active.set(connection.connectionId, { controller, completion });
|
|
120
|
+
active.set(connection.connectionId, { config: paired.config, controller, completion });
|
|
120
121
|
}
|
|
121
122
|
catch (cause) {
|
|
122
123
|
combined.throwIfAborted();
|
|
@@ -125,6 +126,22 @@ async function runWorkerRuntime(version, combined, shutdown, rejectionGuard) {
|
|
|
125
126
|
}
|
|
126
127
|
}
|
|
127
128
|
};
|
|
129
|
+
const refreshRunningCatalogs = async (connectionIds) => {
|
|
130
|
+
await Promise.all([...connectionIds].map(async (connectionId) => {
|
|
131
|
+
const config = active.get(connectionId)?.config;
|
|
132
|
+
if (config?.rediscoverAgents === undefined) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
await refreshAgentCatalog(config, config.rediscoverAgents, AbortSignal.any([combined, AbortSignal.timeout(90_000)]));
|
|
137
|
+
}
|
|
138
|
+
catch (cause) {
|
|
139
|
+
combined.throwIfAborted();
|
|
140
|
+
// The Runtime keeps serving its previous catalog; the reload itself still applies.
|
|
141
|
+
console.error(`Runtime ${connectionId} could not refresh its Agent catalog`, cause);
|
|
142
|
+
}
|
|
143
|
+
}));
|
|
144
|
+
};
|
|
128
145
|
let reload = Promise.resolve();
|
|
129
146
|
let upgrades = Promise.resolve();
|
|
130
147
|
try {
|
|
@@ -136,7 +153,10 @@ async function runWorkerRuntime(version, combined, shutdown, rejectionGuard) {
|
|
|
136
153
|
request.kind !== "reload") {
|
|
137
154
|
return { kind: "error", code: "invalid_reload", message: "Expected a configuration reload" };
|
|
138
155
|
}
|
|
139
|
-
|
|
156
|
+
// A reload, such as `mobius start` after the user installs or signs in to an Agent, also re-reads the
|
|
157
|
+
// Agent inventory of Runtimes that were already running; Runtimes it starts read it themselves.
|
|
158
|
+
const running = new Set(active.keys());
|
|
159
|
+
const pending = reload.then(reconcile).then(async () => await refreshRunningCatalogs(running));
|
|
140
160
|
reload = pending.catch(() => undefined);
|
|
141
161
|
await pending;
|
|
142
162
|
return { kind: "reloaded" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/daemon/lifecycle/worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/daemon/lifecycle/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { type AgentCatalogDiscoverCommand } from "@moxt-ai/mobius-sdk/protocol";
|
|
|
2
2
|
import { WebSocket } from "undici";
|
|
3
3
|
import type { CatalogAgent } from "../../agent/catalog.ts";
|
|
4
4
|
import type { Timer } from "../../util/timer.ts";
|
|
5
|
-
import {
|
|
5
|
+
import type { RuntimeConfig } from "../config.ts";
|
|
6
6
|
import type { RelayConnectionDiagnostics } from "../relay/diagnostics.ts";
|
|
7
7
|
interface CatalogDiscoveryDependencies {
|
|
8
8
|
readonly config: RuntimeConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-agent-catalog-discovery.d.ts","sourceRoot":"","sources":["../../../src/runtime/catalog/handle-agent-catalog-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,2BAA2B,EAEnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handle-agent-catalog-discovery.d.ts","sourceRoot":"","sources":["../../../src/runtime/catalog/handle-agent-catalog-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,2BAA2B,EAEnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAG1E,UAAU,4BAA4B;IAClC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IAC7E,QAAQ,CAAC,WAAW,EAAE,0BAA0B,CAAC;IACjD,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;CACzB;AAmBD;;;;;;;GAOG;AACH,wBAAgB,kCAAkC,CAAC,YAAY,EAAE,4BAA4B;sBAMhE,2BAA2B,KAAG,IAAI;kBA8DlC,OAAO,CAAC,IAAI,CAAC;EAKzC"}
|
|
@@ -2,8 +2,7 @@ import { AGENT_CATALOG_DISCOVERY_FAILED_KIND, } from "@moxt-ai/mobius-sdk/protoc
|
|
|
2
2
|
import { WebSocket } from "undici";
|
|
3
3
|
import { operationErrorCode, operationErrorMessage } from "../../infra/operation-error.js";
|
|
4
4
|
import { send } from "../command/transport.js";
|
|
5
|
-
import {
|
|
6
|
-
import { publishAgentCatalog } from "./publish-agent-catalog.js";
|
|
5
|
+
import { refreshAgentCatalog } from "./refresh-agent-catalog.js";
|
|
7
6
|
const CATALOG_DISCOVERY_TIMEOUT_MILLISECONDS = 90_000;
|
|
8
7
|
function discoveredEvent(command, agents) {
|
|
9
8
|
return {
|
|
@@ -47,11 +46,9 @@ export function createAgentCatalogDiscoveryHandler(dependencies) {
|
|
|
47
46
|
const timeout = timer.schedule(() => controller?.abort(new Error("Agent catalog discovery timed out")), CATALOG_DISCOVERY_TIMEOUT_MILLISECONDS);
|
|
48
47
|
completion = (async () => {
|
|
49
48
|
try {
|
|
50
|
-
const readyAgents = await discover(operationSignal);
|
|
51
|
-
operationSignal.throwIfAborted();
|
|
52
49
|
// The published snapshot answers the command: a concurrent resolver swap that
|
|
53
50
|
// commits after this publication describes its own reply, not this one.
|
|
54
|
-
const published = await
|
|
51
|
+
const published = await refreshAgentCatalog(config, discover, operationSignal);
|
|
55
52
|
operationSignal.throwIfAborted();
|
|
56
53
|
if (socket.readyState === WebSocket.OPEN) {
|
|
57
54
|
send(socket, discoveredEvent(command, published.agents.map((agent) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-agent-catalog-discovery.js","sourceRoot":"","sources":["../../../src/runtime/catalog/handle-agent-catalog-discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mCAAmC,GAGtC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE3F,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"handle-agent-catalog-discovery.js","sourceRoot":"","sources":["../../../src/runtime/catalog/handle-agent-catalog-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CatalogAgent } from "../../agent/catalog.ts";
|
|
2
|
+
import { type RuntimeConfig } from "../config.ts";
|
|
3
|
+
/**
|
|
4
|
+
* Re-reads the local Agent inventory and republishes the catalog, so Agents installed or signed in after the daemon
|
|
5
|
+
* started become available without restarting it. The transition and publication commit together; a failed
|
|
6
|
+
* publication keeps the previous catalog.
|
|
7
|
+
*/
|
|
8
|
+
export declare function refreshAgentCatalog(config: RuntimeConfig, discover: (signal: AbortSignal) => Promise<readonly CatalogAgent[]>, signal: AbortSignal): Promise<import("../../agent/catalog.ts").LocalAgentCatalogSnapshot>;
|
|
9
|
+
//# sourceMappingURL=refresh-agent-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh-agent-catalog.d.ts","sourceRoot":"","sources":["../../../src/runtime/catalog/refresh-agent-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,KAAK,aAAa,EAA0B,MAAM,cAAc,CAAC;AAG1E;;;;GAIG;AACH,wBAAsB,mBAAmB,CACrC,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,EACnE,MAAM,EAAE,WAAW,uEAStB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { withRuntimeEnvironment } from "../config.js";
|
|
2
|
+
import { publishAgentCatalog } from "./publish-agent-catalog.js";
|
|
3
|
+
/**
|
|
4
|
+
* Re-reads the local Agent inventory and republishes the catalog, so Agents installed or signed in after the daemon
|
|
5
|
+
* started become available without restarting it. The transition and publication commit together; a failed
|
|
6
|
+
* publication keeps the previous catalog.
|
|
7
|
+
*/
|
|
8
|
+
export async function refreshAgentCatalog(config, discover, signal) {
|
|
9
|
+
const readyAgents = await discover(signal);
|
|
10
|
+
signal.throwIfAborted();
|
|
11
|
+
return await config.catalog.replaceAndPublish(() => readyAgents.map((agent) => withRuntimeEnvironment(agent, config.localContext.environment)), (publishSignal) => publishAgentCatalog(config, publishSignal), signal);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=refresh-agent-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh-agent-catalog.js","sourceRoot":"","sources":["../../../src/runtime/catalog/refresh-agent-catalog.ts"],"names":[],"mappings":"AACA,OAAO,EAAsB,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACrC,MAAqB,EACrB,QAAmE,EACnE,MAAmB;IAEnB,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,OAAO,MAAM,MAAM,CAAC,OAAO,CAAC,iBAAiB,CACzC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,EAChG,CAAC,aAAa,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,EAC7D,MAAM,CACT,CAAC;AACN,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { settleAbandonedTurn } from "../../../session/prompt/prompt-lifecycle.js
|
|
|
3
3
|
import { reportOperationFailure, send } from "../transport.js";
|
|
4
4
|
export const sessionCancelCommand = {
|
|
5
5
|
kind: SESSION_CANCEL_KIND,
|
|
6
|
-
handle: ({ eventProjection, operations, sessions, sessionTurns }, message) => {
|
|
6
|
+
handle: ({ eventProjection, operations, sessions, sessionTurns, signal }, message) => {
|
|
7
7
|
if (message.kind !== SESSION_CANCEL_KIND) {
|
|
8
8
|
throw new Error("Command kind mismatch");
|
|
9
9
|
}
|
|
@@ -18,7 +18,7 @@ export const sessionCancelCommand = {
|
|
|
18
18
|
if (cancellationState === "already-requested" || cancellationState === "pending") {
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
|
-
void sessions.cancelPrompt(message.sessionId).catch((error) => {
|
|
21
|
+
void sessions.cancelPrompt(message.sessionId, signal).catch((error) => {
|
|
22
22
|
console.error("Mobius daemon could not cancel the agent turn", error);
|
|
23
23
|
});
|
|
24
24
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactions.js","sourceRoot":"","sources":["../../../../src/runtime/command/registry/interactions.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,gCAAgC,EAChC,+BAA+B,EAC/B,+BAA+B,GAClC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAElF,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,CAAC,MAAM,oBAAoB,GAAmB;IAChD,IAAI,EAAE,mBAAmB;IACzB,MAAM,EAAE,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAQ,EAAE;
|
|
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
|
@@ -23625,7 +23625,7 @@ var AcpLiveSessions = class {
|
|
|
23625
23625
|
this.#sessions.add(session);
|
|
23626
23626
|
return connection;
|
|
23627
23627
|
};
|
|
23628
|
-
#
|
|
23628
|
+
#find = (target) => {
|
|
23629
23629
|
const decoded = targetSchema.safeParse(target);
|
|
23630
23630
|
if (!decoded.success) {
|
|
23631
23631
|
throw new AcpExecutionError(
|
|
@@ -23643,12 +23643,52 @@ var AcpLiveSessions = class {
|
|
|
23643
23643
|
if (matches.length > 1) {
|
|
23644
23644
|
throw new AcpExecutionError("Another writer is using this native session", {}, "session_busy");
|
|
23645
23645
|
}
|
|
23646
|
-
|
|
23646
|
+
return matches[0];
|
|
23647
|
+
};
|
|
23648
|
+
#resolve = (target) => {
|
|
23649
|
+
const session = this.#find(target);
|
|
23647
23650
|
if (session === void 0) {
|
|
23648
23651
|
throw new AcpExecutionError("The native session is not active", {}, "invalid_agent_session");
|
|
23649
23652
|
}
|
|
23650
23653
|
return session;
|
|
23651
23654
|
};
|
|
23655
|
+
cancel = async (target, signal) => {
|
|
23656
|
+
const bounded = AbortSignal.any([signal, AbortSignal.timeout(3e4)]);
|
|
23657
|
+
bounded.throwIfAborted();
|
|
23658
|
+
const { connection } = this.#resolve(target);
|
|
23659
|
+
await connection.race(
|
|
23660
|
+
connection.connection.agent.notify(methods3.agent.session.cancel, {
|
|
23661
|
+
sessionId: connection.events.sessionId()
|
|
23662
|
+
}),
|
|
23663
|
+
"ACP agent exited while cancelling a prompt",
|
|
23664
|
+
bounded
|
|
23665
|
+
);
|
|
23666
|
+
};
|
|
23667
|
+
closeSession = async (target, signal) => {
|
|
23668
|
+
const session = this.#find(target);
|
|
23669
|
+
if (session === void 0) {
|
|
23670
|
+
signal.throwIfAborted();
|
|
23671
|
+
return;
|
|
23672
|
+
}
|
|
23673
|
+
const { connection, scope } = session;
|
|
23674
|
+
try {
|
|
23675
|
+
signal.throwIfAborted();
|
|
23676
|
+
if (scope.capabilities().closeSession) {
|
|
23677
|
+
try {
|
|
23678
|
+
await connection.connection.agent.request(
|
|
23679
|
+
methods3.agent.session.close,
|
|
23680
|
+
{ sessionId: connection.events.sessionId() },
|
|
23681
|
+
{ cancellationSignal: AbortSignal.any([signal, AbortSignal.timeout(1e3)]) }
|
|
23682
|
+
);
|
|
23683
|
+
} catch {
|
|
23684
|
+
signal.throwIfAborted();
|
|
23685
|
+
}
|
|
23686
|
+
}
|
|
23687
|
+
} finally {
|
|
23688
|
+
await connection.closeProcess();
|
|
23689
|
+
}
|
|
23690
|
+
signal.throwIfAborted();
|
|
23691
|
+
};
|
|
23652
23692
|
prompt = async (target, content, signal) => {
|
|
23653
23693
|
signal.throwIfAborted();
|
|
23654
23694
|
const { connection, scope } = this.#resolve(target);
|
|
@@ -24882,6 +24922,8 @@ var ClaudeAdapter = class {
|
|
|
24882
24922
|
}
|
|
24883
24923
|
getCapabilities = async (query) => await this.#queryProcesses.capabilities(query);
|
|
24884
24924
|
connectSession = (options) => this.#liveSessions.connectSession(options);
|
|
24925
|
+
cancel = (...args) => this.#liveSessions.cancel(...args);
|
|
24926
|
+
closeSession = (...args) => this.#liveSessions.closeSession(...args);
|
|
24885
24927
|
prompt = (...args) => this.#liveSessions.prompt(...args);
|
|
24886
24928
|
steer = (...args) => this.#liveSessions.steer(...args);
|
|
24887
24929
|
renameSession = (...args) => this.#liveSessions.renameSession(...args);
|
|
@@ -32021,6 +32063,8 @@ var CodexAdapter = class {
|
|
|
32021
32063
|
}
|
|
32022
32064
|
getCapabilities = async (query) => await this.#queryProcesses.capabilities(query);
|
|
32023
32065
|
connectSession = (options) => this.#liveSessions.connectSession(options);
|
|
32066
|
+
cancel = (...args) => this.#liveSessions.cancel(...args);
|
|
32067
|
+
closeSession = (...args) => this.#liveSessions.closeSession(...args);
|
|
32024
32068
|
prompt = (...args) => this.#liveSessions.prompt(...args);
|
|
32025
32069
|
steer = (...args) => this.#liveSessions.steer(...args);
|
|
32026
32070
|
renameSession = (...args) => this.#liveSessions.renameSession(...args);
|
|
@@ -32117,6 +32161,8 @@ var PiAdapter = class {
|
|
|
32117
32161
|
}
|
|
32118
32162
|
getCapabilities = async (query) => await this.#queryProcesses.capabilities(query);
|
|
32119
32163
|
connectSession = (options) => this.#liveSessions.connectSession(options);
|
|
32164
|
+
cancel = (...args) => this.#liveSessions.cancel(...args);
|
|
32165
|
+
closeSession = (...args) => this.#liveSessions.closeSession(...args);
|
|
32120
32166
|
prompt = (...args) => this.#liveSessions.prompt(...args);
|
|
32121
32167
|
steer = (...args) => this.#liveSessions.steer(...args);
|
|
32122
32168
|
renameSession = (...args) => this.#liveSessions.renameSession(...args);
|
|
@@ -32407,7 +32453,7 @@ import { fetch as fetch3 } from "undici";
|
|
|
32407
32453
|
// package.json
|
|
32408
32454
|
var package_default = {
|
|
32409
32455
|
name: "@moxt-ai/mobius",
|
|
32410
|
-
version: "0.0.
|
|
32456
|
+
version: "0.0.314",
|
|
32411
32457
|
description: "Mobius CLI for pairing and running local AI agent services.",
|
|
32412
32458
|
type: "module",
|
|
32413
32459
|
bin: {
|
|
@@ -84743,7 +84789,6 @@ async function restoreSession(session, signal, recovery, origin) {
|
|
|
84743
84789
|
}
|
|
84744
84790
|
|
|
84745
84791
|
// src/session/live/agent-session.ts
|
|
84746
|
-
var PROCESS_STOP_TIMEOUT_MILLISECONDS = 1e3;
|
|
84747
84792
|
var AgentSession = class _AgentSession {
|
|
84748
84793
|
// The restore surface: AgentSessionRestore members expose private state to
|
|
84749
84794
|
// session-restore.ts only. The class keeps the fields private.
|
|
@@ -85250,12 +85295,12 @@ var AgentSession = class _AgentSession {
|
|
|
85250
85295
|
throw failure2;
|
|
85251
85296
|
}
|
|
85252
85297
|
};
|
|
85253
|
-
cancel = async () => {
|
|
85298
|
+
cancel = async (signal) => {
|
|
85299
|
+
signal.throwIfAborted();
|
|
85254
85300
|
await this.#interactions.cancelPendingInteractions();
|
|
85301
|
+
signal.throwIfAborted();
|
|
85255
85302
|
if (this.#turn.running) {
|
|
85256
|
-
await this.#
|
|
85257
|
-
sessionId: this.#updates.sessionId()
|
|
85258
|
-
});
|
|
85303
|
+
await this.#adapter.cancel(this.#target(), signal);
|
|
85259
85304
|
}
|
|
85260
85305
|
};
|
|
85261
85306
|
respondPermission = async (options) => {
|
|
@@ -85342,21 +85387,18 @@ var AgentSession = class _AgentSession {
|
|
|
85342
85387
|
close = async () => {
|
|
85343
85388
|
try {
|
|
85344
85389
|
await this.#interactions.cancelPendingInteractions();
|
|
85345
|
-
|
|
85346
|
-
|
|
85347
|
-
|
|
85348
|
-
|
|
85349
|
-
|
|
85350
|
-
{
|
|
85351
|
-
cancellationSignal: AbortSignal.timeout(PROCESS_STOP_TIMEOUT_MILLISECONDS)
|
|
85352
|
-
}
|
|
85353
|
-
);
|
|
85354
|
-
} catch {
|
|
85355
|
-
}
|
|
85390
|
+
} catch (error62) {
|
|
85391
|
+
try {
|
|
85392
|
+
throw error62;
|
|
85393
|
+
} finally {
|
|
85394
|
+
await this.closeProcess();
|
|
85356
85395
|
}
|
|
85357
|
-
}
|
|
85396
|
+
}
|
|
85397
|
+
if (this.#updates.sessionId().length === 0) {
|
|
85358
85398
|
await this.closeProcess();
|
|
85399
|
+
return;
|
|
85359
85400
|
}
|
|
85401
|
+
await this.#adapter.closeSession(this.#target(), AbortSignal.timeout(3e4));
|
|
85360
85402
|
};
|
|
85361
85403
|
closeProcess = () => this.#connection.closeProcess();
|
|
85362
85404
|
agentSettingsModelEffort = () => this.#connection.agentSettingsModelEffort();
|
|
@@ -85913,14 +85955,14 @@ var SessionManager2 = class {
|
|
|
85913
85955
|
return { title: normalized, updatedAt };
|
|
85914
85956
|
})
|
|
85915
85957
|
);
|
|
85916
|
-
cancelPrompt = async (sessionId) => {
|
|
85958
|
+
cancelPrompt = async (sessionId, signal = AbortSignal.timeout(3e4)) => this.#operations.run({ signal }, async ({ signal: signal2 }) => {
|
|
85917
85959
|
await this.#executions.cancel(sessionId, async () => {
|
|
85918
85960
|
const runtime = this.#executionProcesses.get(sessionId);
|
|
85919
85961
|
if (runtime !== void 0) {
|
|
85920
|
-
await runtime.cancel();
|
|
85962
|
+
await runtime.cancel(signal2);
|
|
85921
85963
|
}
|
|
85922
85964
|
});
|
|
85923
|
-
};
|
|
85965
|
+
});
|
|
85924
85966
|
steerPrompt = async (options) => this.#operations.run(options, async (options2) => {
|
|
85925
85967
|
if (this.#executions.command(options2.sessionId) !== options2.targetCommandId) {
|
|
85926
85968
|
throw new AcpExecutionError("The target turn is no longer active", {}, "steering_target_unavailable");
|
|
@@ -88469,6 +88511,17 @@ function reportOperationFailure(socket, requestId, sessionId, error62, runtimeTi
|
|
|
88469
88511
|
});
|
|
88470
88512
|
}
|
|
88471
88513
|
|
|
88514
|
+
// src/runtime/catalog/refresh-agent-catalog.ts
|
|
88515
|
+
async function refreshAgentCatalog(config2, discover, signal) {
|
|
88516
|
+
const readyAgents = await discover(signal);
|
|
88517
|
+
signal.throwIfAborted();
|
|
88518
|
+
return await config2.catalog.replaceAndPublish(
|
|
88519
|
+
() => readyAgents.map((agent) => withRuntimeEnvironment(agent, config2.localContext.environment)),
|
|
88520
|
+
(publishSignal) => publishAgentCatalog(config2, publishSignal),
|
|
88521
|
+
signal
|
|
88522
|
+
);
|
|
88523
|
+
}
|
|
88524
|
+
|
|
88472
88525
|
// src/runtime/catalog/handle-agent-catalog-discovery.ts
|
|
88473
88526
|
var CATALOG_DISCOVERY_TIMEOUT_MILLISECONDS = 9e4;
|
|
88474
88527
|
function discoveredEvent(command, agents) {
|
|
@@ -88508,13 +88561,7 @@ function createAgentCatalogDiscoveryHandler(dependencies) {
|
|
|
88508
88561
|
);
|
|
88509
88562
|
completion = (async () => {
|
|
88510
88563
|
try {
|
|
88511
|
-
const
|
|
88512
|
-
operationSignal.throwIfAborted();
|
|
88513
|
-
const published = await config2.catalog.replaceAndPublish(
|
|
88514
|
-
() => readyAgents.map((agent) => withRuntimeEnvironment(agent, config2.localContext.environment)),
|
|
88515
|
-
(publishSignal) => publishAgentCatalog(config2, publishSignal),
|
|
88516
|
-
operationSignal
|
|
88517
|
-
);
|
|
88564
|
+
const published = await refreshAgentCatalog(config2, discover, operationSignal);
|
|
88518
88565
|
operationSignal.throwIfAborted();
|
|
88519
88566
|
if (socket.readyState === WebSocket3.OPEN) {
|
|
88520
88567
|
send(
|
|
@@ -89414,7 +89461,7 @@ var previewHistoryPageLoadCommand = {
|
|
|
89414
89461
|
// src/runtime/command/registry/interactions.ts
|
|
89415
89462
|
var sessionCancelCommand = {
|
|
89416
89463
|
kind: SESSION_CANCEL_KIND,
|
|
89417
|
-
handle: ({ eventProjection, operations, sessions, sessionTurns }, message) => {
|
|
89464
|
+
handle: ({ eventProjection, operations, sessions, sessionTurns, signal }, message) => {
|
|
89418
89465
|
if (message.kind !== SESSION_CANCEL_KIND) {
|
|
89419
89466
|
throw new Error("Command kind mismatch");
|
|
89420
89467
|
}
|
|
@@ -89429,7 +89476,7 @@ var sessionCancelCommand = {
|
|
|
89429
89476
|
if (cancellationState === "already-requested" || cancellationState === "pending") {
|
|
89430
89477
|
return;
|
|
89431
89478
|
}
|
|
89432
|
-
void sessions.cancelPrompt(message.sessionId).catch((error62) => {
|
|
89479
|
+
void sessions.cancelPrompt(message.sessionId, signal).catch((error62) => {
|
|
89433
89480
|
console.error("Mobius daemon could not cancel the agent turn", error62);
|
|
89434
89481
|
});
|
|
89435
89482
|
}
|