@moxt-ai/mobius 0.0.312 → 0.0.313
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 +225 -157
- package/dist/cli.js.map +4 -4
- package/dist/runtime/command/registry/interactions.js +2 -2
- package/dist/runtime/command/registry/interactions.js.map +1 -1
- package/dist/runtime.js +67 -25
- package/dist/runtime.js.map +3 -3
- 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
|
@@ -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.313",
|
|
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");
|
|
@@ -89414,7 +89456,7 @@ var previewHistoryPageLoadCommand = {
|
|
|
89414
89456
|
// src/runtime/command/registry/interactions.ts
|
|
89415
89457
|
var sessionCancelCommand = {
|
|
89416
89458
|
kind: SESSION_CANCEL_KIND,
|
|
89417
|
-
handle: ({ eventProjection, operations, sessions, sessionTurns }, message) => {
|
|
89459
|
+
handle: ({ eventProjection, operations, sessions, sessionTurns, signal }, message) => {
|
|
89418
89460
|
if (message.kind !== SESSION_CANCEL_KIND) {
|
|
89419
89461
|
throw new Error("Command kind mismatch");
|
|
89420
89462
|
}
|
|
@@ -89429,7 +89471,7 @@ var sessionCancelCommand = {
|
|
|
89429
89471
|
if (cancellationState === "already-requested" || cancellationState === "pending") {
|
|
89430
89472
|
return;
|
|
89431
89473
|
}
|
|
89432
|
-
void sessions.cancelPrompt(message.sessionId).catch((error62) => {
|
|
89474
|
+
void sessions.cancelPrompt(message.sessionId, signal).catch((error62) => {
|
|
89433
89475
|
console.error("Mobius daemon could not cancel the agent turn", error62);
|
|
89434
89476
|
});
|
|
89435
89477
|
}
|