@moxt-ai/mobius 0.0.146 → 0.0.147

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.
@@ -1,3 +1,3 @@
1
1
  import { type LocalAgentInventory } from "./agent-discovery.ts";
2
- export declare function formatAgentDiagnostics(inventory: LocalAgentInventory, json: boolean): string;
2
+ export declare function formatAgentDiagnostics(inventory: LocalAgentInventory, json: boolean, verbose?: boolean): string;
3
3
  //# sourceMappingURL=agent-diagnostics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-diagnostics.d.ts","sourceRoot":"","sources":["../../src/agent-catalog/agent-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,mBAAmB,EAG3B,MAAM,sBAAsB,CAAC;AAyD9B,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAuB5F"}
1
+ {"version":3,"file":"agent-diagnostics.d.ts","sourceRoot":"","sources":["../../src/agent-catalog/agent-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,KAAK,mBAAmB,EAI3B,MAAM,sBAAsB,CAAC;AAmG9B,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,UAAQ,GAAG,MAAM,CA6B7G"}
@@ -1,4 +1,4 @@
1
- import { MissingAdapter, } from "./agent-discovery.js";
1
+ import { MissingAdapter, UnsupportedAgentVersion, } from "./agent-discovery.js";
2
2
  class AvailableAgentDiagnostic {
3
3
  adapterVersion;
4
4
  agentVersion;
@@ -36,28 +36,51 @@ class UnavailableAgentDiagnostic {
36
36
  this.status = discovery.status;
37
37
  }
38
38
  }
39
+ class UnsupportedAgentVersionDiagnostic extends UnavailableAgentDiagnostic {
40
+ agentVersion;
41
+ minimumSupportedVersion;
42
+ constructor(discovery) {
43
+ super(discovery);
44
+ this.agentVersion = discovery.agent.agentVersion;
45
+ this.minimumSupportedVersion = discovery.minimumSupportedVersion;
46
+ }
47
+ }
48
+ function withDetectionTime(diagnostic, detectionMilliseconds, verbose) {
49
+ return verbose ? { ...diagnostic, detectionMilliseconds } : diagnostic;
50
+ }
51
+ function unavailableDiagnostic(discovery) {
52
+ return discovery instanceof UnsupportedAgentVersion
53
+ ? new UnsupportedAgentVersionDiagnostic(discovery)
54
+ : new UnavailableAgentDiagnostic(discovery);
55
+ }
39
56
  class AgentDiagnostics {
40
57
  available;
41
58
  unavailable;
42
- constructor(inventory) {
43
- this.available = inventory.available.map((discovery) => new AvailableAgentDiagnostic(discovery));
44
- this.unavailable = inventory.unavailable.map((discovery) => new UnavailableAgentDiagnostic(discovery));
59
+ constructor(inventory, verbose) {
60
+ this.available = inventory.available.map((discovery) => withDetectionTime(new AvailableAgentDiagnostic(discovery), inventory.detectionMillisecondsFor(discovery), verbose));
61
+ this.unavailable = inventory.unavailable.map((discovery) => withDetectionTime(unavailableDiagnostic(discovery), inventory.detectionMillisecondsFor(discovery), verbose));
45
62
  }
46
63
  }
47
64
  function humanLine(label, status, detail) {
48
65
  return `${label.padEnd(13)} ${status.padEnd(17)} ${detail}`.trimEnd();
49
66
  }
50
- export function formatAgentDiagnostics(inventory, json) {
51
- const diagnostics = new AgentDiagnostics(inventory);
67
+ function detectionSuffix(diagnostic) {
68
+ if (!("detectionMilliseconds" in diagnostic) || typeof diagnostic.detectionMilliseconds !== "number") {
69
+ return "";
70
+ }
71
+ return ` detection=${Math.round(diagnostic.detectionMilliseconds).toString()}ms`;
72
+ }
73
+ export function formatAgentDiagnostics(inventory, json, verbose = false) {
74
+ const diagnostics = new AgentDiagnostics(inventory, verbose);
52
75
  if (json) {
53
76
  return `${JSON.stringify(diagnostics, null, 2)}\n`;
54
77
  }
55
78
  const lines = [];
56
79
  for (const available of diagnostics.available) {
57
- lines.push(humanLine(available.label, available.status, `${available.agentVersion} ${available.adapterVersion}`));
80
+ lines.push(humanLine(available.label, available.status, `${available.agentVersion} ${available.adapterVersion}${detectionSuffix(available)}`));
58
81
  }
59
82
  for (const unavailable of diagnostics.unavailable) {
60
- lines.push(humanLine(unavailable.label, unavailable.status, unavailable.message));
83
+ lines.push(humanLine(unavailable.label, unavailable.status, `${unavailable.message}${detectionSuffix(unavailable)}`));
61
84
  if (unavailable.recoveryCommand.length > 0) {
62
85
  lines.push(unavailable.code === "authentication_required"
63
86
  ? ` Authenticate locally: ${unavailable.recoveryCommand}`
@@ -1 +1 @@
1
- {"version":3,"file":"agent-diagnostics.js","sourceRoot":"","sources":["../../src/agent-catalog/agent-diagnostics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-diagnostics.js","sourceRoot":"","sources":["../../src/agent-catalog/agent-diagnostics.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,13 @@ export declare class AgentProbeFailed extends UnavailableAgent {
36
36
  readonly status = "probe_failed";
37
37
  constructor(specification: LocalAgentSpecification, code: string, message: string);
38
38
  }
39
+ export declare class UnsupportedAgentVersion extends UnavailableInstalledAgent {
40
+ readonly code = "agent_version_unsupported";
41
+ readonly message: string;
42
+ readonly minimumSupportedVersion: string;
43
+ readonly status = "unsupported_version";
44
+ constructor(specification: LocalAgentSpecification, agent: AgentIntegrationDefinition, minimumSupportedVersion: string);
45
+ }
39
46
  export declare class IntegrationProbeFailed extends UnavailableInstalledAgent {
40
47
  readonly code: string;
41
48
  readonly message: string;
@@ -54,12 +61,19 @@ export declare class AuthenticationRequiredAgent extends UnavailableInstalledAge
54
61
  readonly status = "authentication_required";
55
62
  constructor(specification: LocalAgentSpecification, agent: AgentIntegrationDefinition);
56
63
  }
64
+ export declare class AgentDiscoveryResult {
65
+ readonly detectionMilliseconds: number;
66
+ readonly discovery: AgentDiscovery;
67
+ constructor(discovery: AgentDiscovery, detectionMilliseconds: number);
68
+ }
57
69
  export declare class LocalAgentInventory {
58
70
  readonly available: readonly AvailableAgent[];
59
71
  readonly discoveries: readonly AgentDiscovery[];
60
72
  readonly installable: readonly InstallableAgentDefinition[];
73
+ readonly results: readonly AgentDiscoveryResult[];
61
74
  readonly unavailable: readonly UnavailableAgent[];
62
- constructor(discoveries: readonly AgentDiscovery[]);
75
+ constructor(results: readonly AgentDiscoveryResult[]);
76
+ readonly detectionMillisecondsFor: (discovery: AgentDiscovery) => number;
63
77
  readonly readyAgents: () => readonly AcpAgentDefinition[];
64
78
  }
65
79
  //# sourceMappingURL=agent-discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-discovery.d.ts","sourceRoot":"","sources":["../../src/agent-catalog/agent-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-discovery.d.ts","sourceRoot":"","sources":["../../src/agent-catalog/agent-discovery.ts"],"names":[],"mappings":"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"}
@@ -48,6 +48,17 @@ export class AgentProbeFailed extends UnavailableAgent {
48
48
  this.message = message;
49
49
  }
50
50
  }
51
+ export class UnsupportedAgentVersion extends UnavailableInstalledAgent {
52
+ code = "agent_version_unsupported";
53
+ message;
54
+ minimumSupportedVersion;
55
+ status = "unsupported_version";
56
+ constructor(specification, agent, minimumSupportedVersion) {
57
+ super(specification, agent);
58
+ this.minimumSupportedVersion = minimumSupportedVersion;
59
+ this.message = `Agent version ${agent.agentVersion} is below the minimum supported version ${minimumSupportedVersion}`;
60
+ }
61
+ }
51
62
  export class IntegrationProbeFailed extends UnavailableInstalledAgent {
52
63
  code;
53
64
  message;
@@ -75,12 +86,25 @@ export class AuthenticationRequiredAgent extends UnavailableInstalledAgent {
75
86
  super(specification, agent);
76
87
  }
77
88
  }
89
+ export class AgentDiscoveryResult {
90
+ detectionMilliseconds;
91
+ discovery;
92
+ constructor(discovery, detectionMilliseconds) {
93
+ if (!Number.isFinite(detectionMilliseconds) || detectionMilliseconds < 0) {
94
+ throw new Error("The Agent detection duration is invalid");
95
+ }
96
+ this.detectionMilliseconds = Math.round(detectionMilliseconds * 1_000) / 1_000;
97
+ this.discovery = discovery;
98
+ }
99
+ }
78
100
  export class LocalAgentInventory {
79
101
  available;
80
102
  discoveries;
81
103
  installable;
104
+ results;
82
105
  unavailable;
83
- constructor(discoveries) {
106
+ constructor(results) {
107
+ const discoveries = results.map((result) => result.discovery);
84
108
  const available = [];
85
109
  const unavailable = [];
86
110
  for (const discovery of discoveries) {
@@ -99,8 +123,17 @@ export class LocalAgentInventory {
99
123
  this.installable = Object.freeze(unavailable.map((discovery) => discovery instanceof UnavailableInstalledAgent
100
124
  ? discovery.agent
101
125
  : new MissingAgentDefinition(discovery.specification.id, discovery.specification.label)));
126
+ this.results = Object.freeze([...results]);
102
127
  this.unavailable = Object.freeze(unavailable);
103
128
  }
129
+ detectionMillisecondsFor = (discovery) => {
130
+ for (const result of this.results) {
131
+ if (result.discovery === discovery) {
132
+ return result.detectionMilliseconds;
133
+ }
134
+ }
135
+ throw new Error("The Agent discovery result is unavailable");
136
+ };
104
137
  readyAgents = () => this.available.map((discovery) => discovery.agent);
105
138
  }
106
139
  //# sourceMappingURL=agent-discovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-discovery.js","sourceRoot":"","sources":["../../src/agent-catalog/agent-discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-discovery.js","sourceRoot":"","sources":["../../src/agent-catalog/agent-discovery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"discover-agent.d.ts","sourceRoot":"","sources":["../../src/agent-catalog/discover-agent.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,cAAc,EAUtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAGH,KAAK,uBAAuB,EAC/B,MAAM,0BAA0B,CAAC;AAmElC,wBAAsB,aAAa,CAC/B,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GACpC,OAAO,CAAC,cAAc,CAAC,CAyJzB"}
1
+ {"version":3,"file":"discover-agent.d.ts","sourceRoot":"","sources":["../../src/agent-catalog/discover-agent.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,KAAK,cAAc,EAWtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAGH,KAAK,uBAAuB,EAC/B,MAAM,0BAA0B,CAAC;AAmElC,wBAAsB,aAAa,CAC/B,aAAa,EAAE,uBAAuB,EACtC,OAAO,EAAE,0BAA0B,GACpC,OAAO,CAAC,cAAc,CAAC,CA6JzB"}
@@ -1,7 +1,7 @@
1
1
  import { unsupportedSessionCapabilities } from "../acp/session-capabilities.js";
2
2
  import { ProcessExecutionError } from "../process/executable.js";
3
3
  import { probeAcpReadiness } from "./acp-readiness-probe.js";
4
- import { AgentProbeFailed, AuthenticationRequiredAgent, AvailableAgent, IncompatibleAdapter, IntegrationProbeFailed, MissingAdapter, MissingAgent, } from "./agent-discovery.js";
4
+ import { AgentProbeFailed, AuthenticationRequiredAgent, AvailableAgent, IncompatibleAdapter, IntegrationProbeFailed, MissingAdapter, MissingAgent, UnsupportedAgentVersion, } from "./agent-discovery.js";
5
5
  import { AgentProbeError } from "./agent-probe-error.js";
6
6
  import { DirectAcpAgentDefinition, InProcessAcpAgentDefinition, } from "./agent-specification.js";
7
7
  import { isAgentVersionSupported } from "./agent-version.js";
@@ -83,10 +83,11 @@ export async function discoverAgent(specification, context) {
83
83
  lastFailure = new AgentProbeFailed(specification, "agent_probe_failed", "Agent reported an unrecognized version");
84
84
  continue;
85
85
  }
86
+ const installedAgent = new AgentIntegrationDefinition(specification.id, specification.label, agent.identity.requestedPath, agentVersion);
86
87
  if (!supportedVersion) {
88
+ lastFailure = new UnsupportedAgentVersion(specification, installedAgent, specification.minimumSupportedAgentVersion);
87
89
  continue;
88
90
  }
89
- const installedAgent = new AgentIntegrationDefinition(specification.id, specification.label, agent.identity.requestedPath, agentVersion);
90
91
  // An in-process Agent is its own adapter: `resolveAdapterExecutables` already returned the
91
92
  // Agent executable, so an empty adapter list never means "install an adapter" here.
92
93
  if (adapters.length === 0 && !(specification instanceof InProcessAcpAgentDefinition)) {
@@ -1 +1 @@
1
- {"version":3,"file":"discover-agent.js","sourceRoot":"","sources":["../../src/agent-catalog/discover-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover-agent.js","sourceRoot":"","sources":["../../src/agent-catalog/discover-agent.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export { supportedLocalAgentSpecifications } from "./agents/supported-agent-spec
11
11
  export { WorkBuddyAgentSpecification } from "./agents/workbuddy-agent.ts";
12
12
  export { resolveAgentExecutable } from "./executable-discovery.ts";
13
13
  export interface DiscoverLocalAgentInventoryOptions extends LocalAgentDiscoveryContext {
14
+ readonly monotonicTimeMilliseconds?: () => number;
14
15
  readonly specifications?: readonly LocalAgentSpecification[];
15
16
  }
16
17
  export declare function discoverLocalAgentInventory(options: DiscoverLocalAgentInventoryOptions): Promise<LocalAgentInventory>;
@@ -1 +1 @@
1
- {"version":3,"file":"discover-local-agents.d.ts","sourceRoot":"","sources":["../../src/agent-catalog/discover-local-agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAIxE,OAAO,EACH,cAAc,EACd,mBAAmB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,WAAW,kCAAmC,SAAQ,0BAA0B;IAClF,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAChE;AAED,wBAAsB,2BAA2B,CAC7C,OAAO,EAAE,kCAAkC,GAC5C,OAAO,CAAC,mBAAmB,CAAC,CAM9B"}
1
+ {"version":3,"file":"discover-local-agents.d.ts","sourceRoot":"","sources":["../../src/agent-catalog/discover-local-agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAIxE,OAAO,EACH,cAAc,EACd,mBAAmB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,WAAW,kCAAmC,SAAQ,0BAA0B;IAClF,QAAQ,CAAC,yBAAyB,CAAC,EAAE,MAAM,MAAM,CAAC;IAClD,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAChE;AAED,wBAAsB,2BAA2B,CAC7C,OAAO,EAAE,kCAAkC,GAC5C,OAAO,CAAC,mBAAmB,CAAC,CAW9B"}
@@ -1,4 +1,4 @@
1
- import { LocalAgentInventory } from "./agent-discovery.js";
1
+ import { AgentDiscoveryResult, LocalAgentInventory } from "./agent-discovery.js";
2
2
  import { supportedLocalAgentSpecifications } from "./agents/supported-agent-specifications.js";
3
3
  import { discoverAgent } from "./discover-agent.js";
4
4
  export { AvailableAgent, LocalAgentInventory, } from "./agent-discovery.js";
@@ -12,7 +12,12 @@ export { WorkBuddyAgentSpecification } from "./agents/workbuddy-agent.js";
12
12
  export { resolveAgentExecutable } from "./executable-discovery.js";
13
13
  export async function discoverLocalAgentInventory(options) {
14
14
  const specifications = options.specifications ?? supportedLocalAgentSpecifications();
15
- const discoveries = await Promise.all(specifications.map(async (specification) => await discoverAgent(specification, options)));
16
- return new LocalAgentInventory(discoveries);
15
+ const monotonicTimeMilliseconds = options.monotonicTimeMilliseconds ?? (() => performance.now());
16
+ const results = await Promise.all(specifications.map(async (specification) => {
17
+ const startedAt = monotonicTimeMilliseconds();
18
+ const discovery = await discoverAgent(specification, options);
19
+ return new AgentDiscoveryResult(discovery, monotonicTimeMilliseconds() - startedAt);
20
+ }));
21
+ return new LocalAgentInventory(results);
17
22
  }
18
23
  //# sourceMappingURL=discover-local-agents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discover-local-agents.js","sourceRoot":"","sources":["../../src/agent-catalog/discover-local-agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACH,cAAc,EACd,mBAAmB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAMnE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC7C,OAA2C;IAE3C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,iCAAiC,EAAE,CAAC;IACrF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,MAAM,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAC3F,CAAC;IACF,OAAO,IAAI,mBAAmB,CAAC,WAAW,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"discover-local-agents.js","sourceRoot":"","sources":["../../src/agent-catalog/discover-local-agents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAGjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EACH,cAAc,EACd,mBAAmB,GACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,iCAAiC,EAAE,MAAM,4CAA4C,CAAC;AAC/F,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAOnE,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC7C,OAA2C;IAE3C,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,iCAAiC,EAAE,CAAC;IACrF,MAAM,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;IACjG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE;QACvC,MAAM,SAAS,GAAG,yBAAyB,EAAE,CAAC;QAC9C,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC9D,OAAO,IAAI,oBAAoB,CAAC,SAAS,EAAE,yBAAyB,EAAE,GAAG,SAAS,CAAC,CAAC;IACxF,CAAC,CAAC,CACL,CAAC;IACF,OAAO,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC"}
package/dist/cli.js CHANGED
@@ -3381,7 +3381,7 @@ var program = new Command();
3381
3381
  // package.json
3382
3382
  var package_default = {
3383
3383
  name: "@moxt-ai/mobius",
3384
- version: "0.0.146",
3384
+ version: "0.0.147",
3385
3385
  description: "Mobius CLI for pairing and running local AI agent services.",
3386
3386
  type: "module",
3387
3387
  bin: {
@@ -4227,6 +4227,17 @@ var AgentProbeFailed = class extends UnavailableAgent {
4227
4227
  this.message = message;
4228
4228
  }
4229
4229
  };
4230
+ var UnsupportedAgentVersion = class extends UnavailableInstalledAgent {
4231
+ code = "agent_version_unsupported";
4232
+ message;
4233
+ minimumSupportedVersion;
4234
+ status = "unsupported_version";
4235
+ constructor(specification, agent, minimumSupportedVersion) {
4236
+ super(specification, agent);
4237
+ this.minimumSupportedVersion = minimumSupportedVersion;
4238
+ this.message = `Agent version ${agent.agentVersion} is below the minimum supported version ${minimumSupportedVersion}`;
4239
+ }
4240
+ };
4230
4241
  var IntegrationProbeFailed = class extends UnavailableInstalledAgent {
4231
4242
  code;
4232
4243
  message;
@@ -4254,12 +4265,25 @@ var AuthenticationRequiredAgent = class extends UnavailableInstalledAgent {
4254
4265
  super(specification, agent);
4255
4266
  }
4256
4267
  };
4268
+ var AgentDiscoveryResult = class {
4269
+ detectionMilliseconds;
4270
+ discovery;
4271
+ constructor(discovery, detectionMilliseconds) {
4272
+ if (!Number.isFinite(detectionMilliseconds) || detectionMilliseconds < 0) {
4273
+ throw new Error("The Agent detection duration is invalid");
4274
+ }
4275
+ this.detectionMilliseconds = Math.round(detectionMilliseconds * 1e3) / 1e3;
4276
+ this.discovery = discovery;
4277
+ }
4278
+ };
4257
4279
  var LocalAgentInventory = class {
4258
4280
  available;
4259
4281
  discoveries;
4260
4282
  installable;
4283
+ results;
4261
4284
  unavailable;
4262
- constructor(discoveries) {
4285
+ constructor(results) {
4286
+ const discoveries = results.map((result) => result.discovery);
4263
4287
  const available = [];
4264
4288
  const unavailable = [];
4265
4289
  for (const discovery of discoveries) {
@@ -4278,8 +4302,17 @@ var LocalAgentInventory = class {
4278
4302
  (discovery) => discovery instanceof UnavailableInstalledAgent ? discovery.agent : new MissingAgentDefinition(discovery.specification.id, discovery.specification.label)
4279
4303
  )
4280
4304
  );
4305
+ this.results = Object.freeze([...results]);
4281
4306
  this.unavailable = Object.freeze(unavailable);
4282
4307
  }
4308
+ detectionMillisecondsFor = (discovery) => {
4309
+ for (const result of this.results) {
4310
+ if (result.discovery === discovery) {
4311
+ return result.detectionMilliseconds;
4312
+ }
4313
+ }
4314
+ throw new Error("The Agent discovery result is unavailable");
4315
+ };
4283
4316
  readyAgents = () => this.available.map((discovery) => discovery.agent);
4284
4317
  };
4285
4318
 
@@ -4313,19 +4346,48 @@ var UnavailableAgentDiagnostic = class {
4313
4346
  this.status = discovery.status;
4314
4347
  }
4315
4348
  };
4349
+ var UnsupportedAgentVersionDiagnostic = class extends UnavailableAgentDiagnostic {
4350
+ agentVersion;
4351
+ minimumSupportedVersion;
4352
+ constructor(discovery) {
4353
+ super(discovery);
4354
+ this.agentVersion = discovery.agent.agentVersion;
4355
+ this.minimumSupportedVersion = discovery.minimumSupportedVersion;
4356
+ }
4357
+ };
4358
+ function withDetectionTime(diagnostic, detectionMilliseconds, verbose) {
4359
+ return verbose ? { ...diagnostic, detectionMilliseconds } : diagnostic;
4360
+ }
4361
+ function unavailableDiagnostic(discovery) {
4362
+ return discovery instanceof UnsupportedAgentVersion ? new UnsupportedAgentVersionDiagnostic(discovery) : new UnavailableAgentDiagnostic(discovery);
4363
+ }
4316
4364
  var AgentDiagnostics = class {
4317
4365
  available;
4318
4366
  unavailable;
4319
- constructor(inventory) {
4320
- this.available = inventory.available.map((discovery) => new AvailableAgentDiagnostic(discovery));
4321
- this.unavailable = inventory.unavailable.map((discovery) => new UnavailableAgentDiagnostic(discovery));
4367
+ constructor(inventory, verbose) {
4368
+ this.available = inventory.available.map(
4369
+ (discovery) => withDetectionTime(
4370
+ new AvailableAgentDiagnostic(discovery),
4371
+ inventory.detectionMillisecondsFor(discovery),
4372
+ verbose
4373
+ )
4374
+ );
4375
+ this.unavailable = inventory.unavailable.map(
4376
+ (discovery) => withDetectionTime(unavailableDiagnostic(discovery), inventory.detectionMillisecondsFor(discovery), verbose)
4377
+ );
4322
4378
  }
4323
4379
  };
4324
4380
  function humanLine(label, status, detail) {
4325
4381
  return `${label.padEnd(13)} ${status.padEnd(17)} ${detail}`.trimEnd();
4326
4382
  }
4327
- function formatAgentDiagnostics(inventory, json2) {
4328
- const diagnostics = new AgentDiagnostics(inventory);
4383
+ function detectionSuffix(diagnostic) {
4384
+ if (!("detectionMilliseconds" in diagnostic) || typeof diagnostic.detectionMilliseconds !== "number") {
4385
+ return "";
4386
+ }
4387
+ return ` detection=${Math.round(diagnostic.detectionMilliseconds).toString()}ms`;
4388
+ }
4389
+ function formatAgentDiagnostics(inventory, json2, verbose = false) {
4390
+ const diagnostics = new AgentDiagnostics(inventory, verbose);
4329
4391
  if (json2) {
4330
4392
  return `${JSON.stringify(diagnostics, null, 2)}
4331
4393
  `;
@@ -4333,11 +4395,17 @@ function formatAgentDiagnostics(inventory, json2) {
4333
4395
  const lines = [];
4334
4396
  for (const available of diagnostics.available) {
4335
4397
  lines.push(
4336
- humanLine(available.label, available.status, `${available.agentVersion} ${available.adapterVersion}`)
4398
+ humanLine(
4399
+ available.label,
4400
+ available.status,
4401
+ `${available.agentVersion} ${available.adapterVersion}${detectionSuffix(available)}`
4402
+ )
4337
4403
  );
4338
4404
  }
4339
4405
  for (const unavailable of diagnostics.unavailable) {
4340
- lines.push(humanLine(unavailable.label, unavailable.status, unavailable.message));
4406
+ lines.push(
4407
+ humanLine(unavailable.label, unavailable.status, `${unavailable.message}${detectionSuffix(unavailable)}`)
4408
+ );
4341
4409
  if (unavailable.recoveryCommand.length > 0) {
4342
4410
  lines.push(
4343
4411
  unavailable.code === "authentication_required" ? ` Authenticate locally: ${unavailable.recoveryCommand}` : ` Install adapter: ${unavailable.recoveryCommand}`
@@ -28077,15 +28145,20 @@ async function discoverAgent(specification, context) {
28077
28145
  );
28078
28146
  continue;
28079
28147
  }
28080
- if (!supportedVersion) {
28081
- continue;
28082
- }
28083
28148
  const installedAgent = new AgentIntegrationDefinition(
28084
28149
  specification.id,
28085
28150
  specification.label,
28086
28151
  agent.identity.requestedPath,
28087
28152
  agentVersion
28088
28153
  );
28154
+ if (!supportedVersion) {
28155
+ lastFailure = new UnsupportedAgentVersion(
28156
+ specification,
28157
+ installedAgent,
28158
+ specification.minimumSupportedAgentVersion
28159
+ );
28160
+ continue;
28161
+ }
28089
28162
  if (adapters.length === 0 && !(specification instanceof InProcessAcpAgentDefinition2)) {
28090
28163
  return new MissingAdapter(specification, installedAgent);
28091
28164
  }
@@ -28179,10 +28252,15 @@ async function discoverAgent(specification, context) {
28179
28252
  // src/agent-catalog/discover-local-agents.ts
28180
28253
  async function discoverLocalAgentInventory(options) {
28181
28254
  const specifications = options.specifications ?? supportedLocalAgentSpecifications();
28182
- const discoveries = await Promise.all(
28183
- specifications.map(async (specification) => await discoverAgent(specification, options))
28255
+ const monotonicTimeMilliseconds = options.monotonicTimeMilliseconds ?? (() => performance.now());
28256
+ const results = await Promise.all(
28257
+ specifications.map(async (specification) => {
28258
+ const startedAt = monotonicTimeMilliseconds();
28259
+ const discovery = await discoverAgent(specification, options);
28260
+ return new AgentDiscoveryResult(discovery, monotonicTimeMilliseconds() - startedAt);
28261
+ })
28184
28262
  );
28185
- return new LocalAgentInventory(discoveries);
28263
+ return new LocalAgentInventory(results);
28186
28264
  }
28187
28265
 
28188
28266
  // src/config.ts
@@ -47574,7 +47652,7 @@ function createProgram() {
47574
47652
  process.stdout.write(`${package_default.version}
47575
47653
  `);
47576
47654
  });
47577
- program2.command("agents").description("show detected, missing, and integration-ready Agents").option("--json", "write the Agent inventory as JSON").action(async (options) => {
47655
+ program2.command("agents").description("show detected, missing, and integration-ready Agents").option("--json", "write the Agent inventory as JSON").option("--verbose", "include per-Agent detection timing").action(async (options) => {
47578
47656
  const installation = await openMobiusCliInstallation(shutdown.signal, process.env);
47579
47657
  const localContext = new DaemonLocalContext(installation.stateDirectory, process.env);
47580
47658
  const defaultWorkspace = loadDefaultWorkspace(localContext.environment);
@@ -47584,7 +47662,7 @@ function createProgram() {
47584
47662
  environment: localContext.environment,
47585
47663
  signal: shutdown.signal
47586
47664
  });
47587
- process.stdout.write(formatAgentDiagnostics(inventory, options.json === true));
47665
+ process.stdout.write(formatAgentDiagnostics(inventory, options.json === true, options.verbose === true));
47588
47666
  });
47589
47667
  program2.command("__manager", { hidden: true }).action(async () => {
47590
47668
  const installation = await openMobiusCliInstallation(shutdown.signal, process.env);