@ouro.bot/cli 0.1.0-alpha.124 → 0.1.0-alpha.125

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/changelog.json CHANGED
@@ -1,6 +1,13 @@
1
1
  {
2
2
  "_note": "This changelog is maintained as part of the PR/version-bump workflow. Agent-curated, not auto-generated. Agents read this file directly via read_file to understand what changed between versions.",
3
3
  "versions": [
4
+ {
5
+ "version": "0.1.0-alpha.125",
6
+ "changes": [
7
+ "Fix: Default runtime logger is now silent (no stderr sink) so nerves events emitted before logger configuration no longer interleave with the CLI spinner animation.",
8
+ "Fix: MCP server connect failures now include the command name, args, and a hint to check agent.json mcpServers configuration."
9
+ ]
10
+ },
4
11
  {
5
12
  "version": "0.1.0-alpha.124",
6
13
  "changes": [
@@ -67,6 +74,9 @@
67
74
  {
68
75
  "version": "0.1.0-alpha.114",
69
76
  "changes": [
77
+ "Fix: Default runtime logger is now silent (no stderr sink) so nerves events emitted before logger configuration no longer interleave with the CLI spinner animation.",
78
+ "Fix: MCP server connect failures now include the command name, args, and a hint to check agent.json mcpServers configuration. Retry-exhaustion messages also identify the failing command.",
79
+ "Verification: StreamingWordWrapper integration in CLI chat confirmed working — wraps at word boundaries during streaming output.",
70
80
  "When a model provider fails mid-conversation (auth error, usage limit, outage), the harness now classifies the error, pings alternative configured providers, and surfaces validated failover options to the user in-channel. Reply 'switch to <provider>' to continue on a working provider.",
71
81
  "Each provider now has a `classifyError` method that distinguishes auth failures, usage/subscription limits, rate limits, server errors, and network errors. The old auth guidance wrappers are replaced by this unified classification system.",
72
82
  "New `pingProvider` function makes a real heartbeat completion call to verify provider credentials and quota are live \u2014 no more format-only checks.",
@@ -6,7 +6,11 @@ const index_1 = require("./index");
6
6
  let runtimeLogger = null;
7
7
  function getRuntimeLogger() {
8
8
  if (!runtimeLogger) {
9
- runtimeLogger = (0, index_1.createLogger)({ level: "info" });
9
+ // Default logger has no sinks — events emitted before the real logger is
10
+ // configured (e.g. identity resolution during startup) are silently dropped.
11
+ // This prevents INFO lines from leaking to stderr and interleaving with
12
+ // the CLI spinner when the ouro subprocess hasn't configured its logger yet.
13
+ runtimeLogger = (0, index_1.createLogger)({ level: "info", sinks: [] });
10
14
  }
11
15
  return runtimeLogger;
12
16
  }
@@ -76,14 +76,17 @@ class McpManager {
76
76
  entry.consecutiveFailures = 0;
77
77
  }
78
78
  catch (error) {
79
+ const reason = error instanceof Error ? error.message : String(error);
79
80
  (0, runtime_1.emitNervesEvent)({
80
81
  level: "error",
81
82
  event: "mcp.connect_error",
82
83
  component: "repertoire",
83
- message: `failed to connect MCP server: ${name}`,
84
+ message: `failed to connect MCP server "${name}" (command: ${config.command}). Check that the command exists and is properly configured. Reason: ${reason}`,
84
85
  meta: {
85
86
  server: name,
86
- reason: error instanceof Error ? error.message : String(error),
87
+ command: config.command,
88
+ args: config.args,
89
+ reason,
87
90
  },
88
91
  });
89
92
  }
@@ -99,8 +102,8 @@ class McpManager {
99
102
  level: "error",
100
103
  event: "mcp.connect_error",
101
104
  component: "repertoire",
102
- message: `MCP server "${name}" exceeded max restart retries (${MAX_RESTART_RETRIES})`,
103
- meta: { server: name, failures: entry.consecutiveFailures },
105
+ message: `MCP server "${name}" exceeded max restart retries (${MAX_RESTART_RETRIES}). Giving up — check that "${entry.config.command}" exists and is properly configured in agent.json mcpServers.`,
106
+ meta: { server: name, command: entry.config.command, failures: entry.consecutiveFailures },
104
107
  });
105
108
  return;
106
109
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ouro.bot/cli",
3
- "version": "0.1.0-alpha.124",
3
+ "version": "0.1.0-alpha.125",
4
4
  "main": "dist/heart/daemon/ouro-entry.js",
5
5
  "bin": {
6
6
  "cli": "dist/heart/daemon/ouro-bot-entry.js",