@moxt-ai/mobius 0.0.192 → 0.0.193

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 (40) hide show
  1. package/dist/acp/agent-runtime-manager.d.ts +1 -1
  2. package/dist/acp/agent-runtime-manager.d.ts.map +1 -1
  3. package/dist/acp/agent-runtime-manager.js +4 -1
  4. package/dist/acp/agent-runtime-manager.js.map +1 -1
  5. package/dist/acp/agent-session.d.ts +13 -0
  6. package/dist/acp/agent-session.d.ts.map +1 -1
  7. package/dist/acp/agent-session.js +9 -0
  8. package/dist/acp/agent-session.js.map +1 -1
  9. package/dist/acp/codex/agent.d.ts +13 -0
  10. package/dist/acp/codex/agent.d.ts.map +1 -1
  11. package/dist/acp/codex/agent.js +1 -0
  12. package/dist/acp/codex/agent.js.map +1 -1
  13. package/dist/acp/codex/settings.d.ts +2 -0
  14. package/dist/acp/codex/settings.d.ts.map +1 -1
  15. package/dist/acp/codex/settings.js +23 -9
  16. package/dist/acp/codex/settings.js.map +1 -1
  17. package/dist/acp/in-process/acp-endpoint.d.ts +3 -0
  18. package/dist/acp/in-process/acp-endpoint.d.ts.map +1 -1
  19. package/dist/acp/in-process/acp-endpoint.js.map +1 -1
  20. package/dist/acp/session-contracts.d.ts +11 -2
  21. package/dist/acp/session-contracts.d.ts.map +1 -1
  22. package/dist/acp/session-contracts.js +3 -1
  23. package/dist/acp/session-contracts.js.map +1 -1
  24. package/dist/agent-catalog/discover-agent-settings.d.ts.map +1 -1
  25. package/dist/agent-catalog/discover-agent-settings.js +8 -2
  26. package/dist/agent-catalog/discover-agent-settings.js.map +1 -1
  27. package/dist/cli.js +4955 -4897
  28. package/dist/cli.js.map +4 -4
  29. package/dist/daemon-prompt-executor.d.ts.map +1 -1
  30. package/dist/daemon-prompt-executor.js +1 -1
  31. package/dist/daemon-prompt-executor.js.map +1 -1
  32. package/dist/index.js +79 -19
  33. package/dist/index.js.map +2 -2
  34. package/dist/runtime.js +79 -19
  35. package/dist/runtime.js.map +2 -2
  36. package/dist/session-event-log-v2.d.ts +3 -1
  37. package/dist/session-event-log-v2.d.ts.map +1 -1
  38. package/dist/session-event-log-v2.js +17 -3
  39. package/dist/session-event-log-v2.js.map +1 -1
  40. package/package.json +1 -1
package/dist/runtime.js CHANGED
@@ -21284,8 +21284,10 @@ var lifecycleMetadataV2Schema = external_exports.discriminatedUnion("kind", [
21284
21284
  external_exports.object({
21285
21285
  ...lifecycleBase,
21286
21286
  content: external_exports.array(contentBlockV2Schema).min(1).max(100).readonly(),
21287
+ disposition: shortString.optional(),
21287
21288
  kind: external_exports.literal("prompt.requested"),
21288
- context: promptExecutionContextV2Schema.optional()
21289
+ context: promptExecutionContextV2Schema.optional(),
21290
+ targetCommandId: identifierStringSchema.optional()
21289
21291
  }).readonly(),
21290
21292
  external_exports.object({ ...lifecycleBase, attemptId: identifierStringSchema, epoch: identifierStringSchema, kind: external_exports.literal("prompt.started") }).readonly(),
21291
21293
  external_exports.object({ ...lifecycleBase, kind: external_exports.literal("prompt.completed"), stopReason: shortString }).readonly(),
@@ -21394,7 +21396,9 @@ var sessionEventLogPageV2Schema = external_exports.object({
21394
21396
  var nativeEventPageRequestV2Schema = external_exports.object({ cursor: external_exports.string().min(1).max(512).nullable(), eventLimit: external_exports.number().int().min(1).max(1e4) }).readonly();
21395
21397
  var queuedPromptRequestEventLogV2Schema = external_exports.object({
21396
21398
  commandId: identifierStringSchema,
21397
- content: external_exports.array(contentBlockV2Schema).min(1).max(100).readonly()
21399
+ content: external_exports.array(contentBlockV2Schema).min(1).max(100).readonly(),
21400
+ disposition: shortString.optional(),
21401
+ targetCommandId: identifierStringSchema.optional()
21398
21402
  }).readonly();
21399
21403
  var nativeSessionEventsV2Schema = external_exports.object({
21400
21404
  events: sessionEventLogPageV2Schema,
@@ -23917,7 +23921,7 @@ function effortValues(model) {
23917
23921
  }));
23918
23922
  }
23919
23923
  function supportedSelection(models, reportedModel, reportedEffort) {
23920
- const model = models.find((candidate) => candidate.id === reportedModel) ?? models.find((candidate) => candidate.isDefault === true) ?? models[0];
23924
+ const model = models.find((candidate) => candidate.id === reportedModel);
23921
23925
  if (model === void 0) {
23922
23926
  return { model: reportedModel, effort: reportedEffort };
23923
23927
  }
@@ -23928,7 +23932,11 @@ function supportedSelection(models, reportedModel, reportedEffort) {
23928
23932
  };
23929
23933
  }
23930
23934
  function modelSetting(models, currentValue) {
23931
- const values = modelValues(models);
23935
+ const catalogValues = modelValues(models);
23936
+ const values = currentValue.length > 0 && !catalogValues.some((value) => value.value === currentValue) ? [
23937
+ { description: "Current model configured in Codex", name: currentValue, value: currentValue },
23938
+ ...catalogValues
23939
+ ] : catalogValues;
23932
23940
  const current = values.some((value) => value.value === currentValue) ? currentValue : models.find((model) => model.isDefault === true)?.id ?? values[0]?.value ?? "";
23933
23941
  if (current.length === 0) {
23934
23942
  return null;
@@ -24046,7 +24054,8 @@ var CodexSettings = class {
24046
24054
  turnParameters = () => {
24047
24055
  const selection = this.#selection;
24048
24056
  const mode = AGENT_MODES.find((candidate) => candidate.id === selection.mode) ?? DEFAULT_MODE;
24049
- const supportsFast = this.#model(selection.model)?.additionalSpeedTiers?.includes(FAST_TIER) === true;
24057
+ const model = this.#model(selection.model);
24058
+ const supportsFast = model?.additionalSpeedTiers?.includes(FAST_TIER) === true;
24050
24059
  return {
24051
24060
  approvalPolicy: mode.approvalPolicy,
24052
24061
  approvalsReviewer: mode.approvalsReviewer,
@@ -24064,8 +24073,8 @@ var CodexSettings = class {
24064
24073
  }
24065
24074
  }
24066
24075
  } : {},
24067
- ...selection.effort.length === 0 ? {} : { effort: selection.effort },
24068
- ...selection.model.length === 0 ? {} : { model: selection.model },
24076
+ ...model === void 0 || selection.effort.length === 0 ? {} : { effort: selection.effort },
24077
+ ...model === void 0 ? {} : { model: model.id },
24069
24078
  ...selection.fastMode && supportsFast ? { serviceTier: SERVICE_TIER_FAST } : {}
24070
24079
  };
24071
24080
  };
@@ -24134,6 +24143,18 @@ var CodexSettings = class {
24134
24143
  options.push(modeSetting(this.#selection.mode));
24135
24144
  return options;
24136
24145
  };
24146
+ agentModelEffort = () => ({
24147
+ effortSettingId: REASONING_EFFORT_SETTING_ID,
24148
+ modelSettingId: MODEL_SETTING_ID,
24149
+ resolution: AGENT_MODEL_EFFORT_RESOLUTION_COMPLETE,
24150
+ unsupportedModelIds: [],
24151
+ valuesByModel: Object.fromEntries(
24152
+ this.#models.map((model) => [
24153
+ model.id,
24154
+ effortValues(model).map((value) => ({ ...value, groupId: "", groupName: "" }))
24155
+ ])
24156
+ )
24157
+ });
24137
24158
  selectRestoredThread = (thread) => {
24138
24159
  const supported = supportedSelection(
24139
24160
  this.#models,
@@ -24519,6 +24540,7 @@ var CodexAcpAgent = class {
24519
24540
  await this.#interruptTurn();
24520
24541
  });
24521
24542
  }
24543
+ agentSettingsModelEffort = () => this.#settings.agentModelEffort();
24522
24544
  /** The ACP agent app Mobius connects its own ACP client to, in-process. */
24523
24545
  app = () => this.#app;
24524
24546
  nativeTurnId = () => this.#nativeTurnId;
@@ -28612,10 +28634,12 @@ var AcpAgentSettingsSnapshot = class {
28612
28634
  agentName;
28613
28635
  agentVersion;
28614
28636
  configOptions;
28615
- constructor(agentName, agentVersion, configOptions) {
28637
+ modelEffort;
28638
+ constructor(agentName, agentVersion, configOptions, modelEffort) {
28616
28639
  this.agentName = agentName;
28617
28640
  this.agentVersion = agentVersion;
28618
28641
  this.configOptions = configOptions;
28642
+ this.modelEffort = modelEffort;
28619
28643
  }
28620
28644
  };
28621
28645
 
@@ -35325,8 +35349,10 @@ var AgentSession = class _AgentSession {
35325
35349
  payload: {
35326
35350
  commandId: options.commandId,
35327
35351
  content: lifecycleV2.content,
35352
+ ...lifecycleV2.disposition === void 0 ? {} : { disposition: lifecycleV2.disposition },
35328
35353
  kind: "prompt.requested",
35329
- ...lifecycleV2.context === void 0 ? {} : { context: lifecycleV2.context }
35354
+ ...lifecycleV2.context === void 0 ? {} : { context: lifecycleV2.context },
35355
+ ...lifecycleV2.targetCommandId === void 0 ? {} : { targetCommandId: lifecycleV2.targetCommandId }
35330
35356
  },
35331
35357
  type: "lifecycle-metadata"
35332
35358
  });
@@ -35433,8 +35459,10 @@ var AgentSession = class _AgentSession {
35433
35459
  payload: {
35434
35460
  commandId: options.commandId,
35435
35461
  content: lifecycleV2.content,
35462
+ ...lifecycleV2.disposition === void 0 ? {} : { disposition: lifecycleV2.disposition },
35436
35463
  kind: "prompt.requested",
35437
- ...lifecycleV2.context === void 0 ? {} : { context: lifecycleV2.context }
35464
+ ...lifecycleV2.context === void 0 ? {} : { context: lifecycleV2.context },
35465
+ ...lifecycleV2.targetCommandId === void 0 ? {} : { targetCommandId: lifecycleV2.targetCommandId }
35438
35466
  },
35439
35467
  type: "lifecycle-metadata"
35440
35468
  });
@@ -35704,6 +35732,7 @@ var AgentSession = class _AgentSession {
35704
35732
  }
35705
35733
  };
35706
35734
  closeProcess = () => this.#connection.closeProcess();
35735
+ agentSettingsModelEffort = () => this.#connection.inProcessAgent?.agentSettingsModelEffort?.() ?? null;
35707
35736
  race = (operation, exitMessage, signal) => this.#connection.race(operation, exitMessage, signal);
35708
35737
  assertNativeSession = (sessionId) => {
35709
35738
  if (sessionId !== this.#updates.sessionId()) {
@@ -36942,6 +36971,7 @@ var AgentRuntimeManager = class {
36942
36971
  ),
36943
36972
  async (runtime) => {
36944
36973
  const prepared = runtime.prepared();
36974
+ const discoveredModelEffort = runtime.agentSettingsModelEffort();
36945
36975
  const model = options2.model;
36946
36976
  const configOptions = model === void 0 ? prepared.configOptions : await runtime.configure({
36947
36977
  ...options2,
@@ -36954,7 +36984,12 @@ var AgentRuntimeManager = class {
36954
36984
  value: model,
36955
36985
  valueType: "select"
36956
36986
  });
36957
- return new AcpAgentSettingsSnapshot(prepared.agentName, prepared.agentVersion, configOptions);
36987
+ return new AcpAgentSettingsSnapshot(
36988
+ prepared.agentName,
36989
+ prepared.agentVersion,
36990
+ configOptions,
36991
+ discoveredModelEffort === null ? { kind: "unavailable" } : { kind: "complete", value: discoveredModelEffort }
36992
+ );
36958
36993
  },
36959
36994
  async (runtime) => await runtime.close()
36960
36995
  );
@@ -40630,7 +40665,7 @@ import { WebSocket as WebSocket5 } from "undici";
40630
40665
  // package.json
40631
40666
  var package_default = {
40632
40667
  name: "@moxt-ai/mobius",
40633
- version: "0.0.192",
40668
+ version: "0.0.193",
40634
40669
  description: "Mobius CLI for pairing and running local AI agent services.",
40635
40670
  type: "module",
40636
40671
  bin: {
@@ -40944,7 +40979,8 @@ async function discoverAgentSettings(command, config2, directories, sessions, si
40944
40979
  const baseSnapshot = {
40945
40980
  agentName: inspectedBaseSnapshot.agentName,
40946
40981
  agentVersion: inspectedBaseSnapshot.agentVersion,
40947
- configOptions: await discoverOpenCodeModelOptions(agent, cwd, inspectedBaseSnapshot.configOptions, signal)
40982
+ configOptions: await discoverOpenCodeModelOptions(agent, cwd, inspectedBaseSnapshot.configOptions, signal),
40983
+ modelEffort: inspectedBaseSnapshot.modelEffort
40948
40984
  };
40949
40985
  const baseModel = modelOption(baseSnapshot.configOptions);
40950
40986
  const unsupportedModels = [];
@@ -40984,6 +41020,7 @@ async function discoverAgentSettings(command, config2, directories, sessions, si
40984
41020
  baseSnapshot.configOptions,
40985
41021
  selectedSnapshot.configOptions,
40986
41022
  unsupportedModels,
41023
+ baseSnapshot.modelEffort,
40987
41024
  cwd,
40988
41025
  sessions,
40989
41026
  signal
@@ -41076,7 +41113,7 @@ function unavailableModelEffort() {
41076
41113
  valuesByModel: {}
41077
41114
  };
41078
41115
  }
41079
- async function discoverModelEffort(command, agent, resolution, initialOptions, selectedOptions, initiallyUnsupportedModels, cwd, sessions, signal) {
41116
+ async function discoverModelEffort(command, agent, resolution, initialOptions, selectedOptions, initiallyUnsupportedModels, discoveredModelEffort, cwd, sessions, signal) {
41080
41117
  const model = modelOption(initialOptions);
41081
41118
  const unsupportedModels = initiallyUnsupportedModels;
41082
41119
  if (resolution !== AGENT_MODEL_EFFORT_RESOLUTION_COMPLETE && resolution !== AGENT_MODEL_EFFORT_RESOLUTION_ON_MODEL_SELECTION) {
@@ -41085,6 +41122,9 @@ async function discoverModelEffort(command, agent, resolution, initialOptions, s
41085
41122
  if (model === void 0 || model.type !== "select" || model.values.length === 0) {
41086
41123
  return { ...unavailableModelEffort(), unsupportedModelIds: unsupportedModelIds(unsupportedModels) };
41087
41124
  }
41125
+ if (resolution === AGENT_MODEL_EFFORT_RESOLUTION_COMPLETE && discoveredModelEffort.kind === "complete" && discoveredModelEffort.value.resolution === AGENT_MODEL_EFFORT_RESOLUTION_COMPLETE) {
41126
+ return discoveredModelEffort.value;
41127
+ }
41088
41128
  const inspectModel = async (modelValue) => (await sessions.inspectAgentSettings({
41089
41129
  additionalDirectories: [],
41090
41130
  agent,
@@ -41880,7 +41920,13 @@ async function executePrompt({
41880
41920
  }
41881
41921
  }
41882
41922
  const stream = activateAttempt();
41883
- const lifecycleV2 = eventLogV2.started(command.sessionId, command.commandId, attemptId, stream.epoch);
41923
+ const lifecycleV2 = eventLogV2.started(
41924
+ command.sessionId,
41925
+ command.commandId,
41926
+ attemptId,
41927
+ stream.epoch,
41928
+ availability.disposition
41929
+ );
41884
41930
  const attachments = await resolvePromptArtifacts(config2, command, signal);
41885
41931
  let stopReason;
41886
41932
  if (availability.disposition === SessionPromptDisposition.Steer) {
@@ -43190,20 +43236,29 @@ var DaemonSessionEventLogV2 = class {
43190
43236
  this.#queued.set(command.commandId, {
43191
43237
  commandId: command.commandId,
43192
43238
  content: promptContent(command),
43239
+ ...command.disposition === void 0 ? {} : { disposition: command.disposition },
43193
43240
  context: {
43194
43241
  agentId: command.agentId,
43195
43242
  directoryId: command.directoryId,
43196
43243
  additionalDirectoryIds: command.additionalDirectoryIds
43197
43244
  },
43198
43245
  phase: "queued",
43199
- sessionId: command.sessionId
43246
+ sessionId: command.sessionId,
43247
+ ...command.targetCommandId.length === 0 ? {} : { targetCommandId: command.targetCommandId }
43200
43248
  });
43201
43249
  };
43202
- started = (sessionId, commandId, attemptId, epoch) => {
43250
+ started = (sessionId, commandId, attemptId, epoch, disposition) => {
43203
43251
  const request = this.#queued.get(commandId);
43204
43252
  if (request?.sessionId === sessionId) {
43205
43253
  this.#queued.set(commandId, { ...request, phase: "running" });
43206
- return { attemptId, content: request.content, epoch, context: request.context };
43254
+ return {
43255
+ attemptId,
43256
+ content: request.content,
43257
+ disposition,
43258
+ epoch,
43259
+ context: request.context,
43260
+ ...request.targetCommandId === void 0 ? {} : { targetCommandId: request.targetCommandId }
43261
+ };
43207
43262
  }
43208
43263
  throw new Error("The executing prompt was not registered in the V2 queue");
43209
43264
  };
@@ -43290,7 +43345,12 @@ var DaemonSessionEventLogV2 = class {
43290
43345
  }
43291
43346
  };
43292
43347
  promptRequestRecovery = (sessionId) => ({
43293
- queuedPromptRequests: [...this.#queued.values()].filter((request) => request.sessionId === sessionId && request.phase === "queued").map(({ commandId, content }) => ({ commandId, content }))
43348
+ queuedPromptRequests: [...this.#queued.values()].filter((request) => request.sessionId === sessionId && request.phase === "queued").map(({ commandId, content, disposition, targetCommandId }) => ({
43349
+ commandId,
43350
+ content,
43351
+ ...disposition === void 0 ? {} : { disposition },
43352
+ ...targetCommandId === void 0 ? {} : { targetCommandId }
43353
+ }))
43294
43354
  });
43295
43355
  };
43296
43356