@ouro.bot/cli 0.1.0-alpha.414 → 0.1.0-alpha.415

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,14 @@
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.415",
6
+ "changes": [
7
+ "Transient vault errors (timeout, ECONNREFUSED, socket hang up) are now classified separately from vault-locked errors in `ouro up` provider checks -- operators see retry guidance instead of misleading unlock/replace/recover instructions.",
8
+ "Fix text across vault unlock, vault create, missing credential, and failed ping results tightened to concise single-line instructions.",
9
+ "`@ouro.bot/cli` and the `ouro.bot` wrapper are version-synced for the error classification release."
10
+ ]
11
+ },
4
12
  {
5
13
  "version": "0.1.0-alpha.414",
6
14
  "changes": [
@@ -233,7 +233,7 @@ function missingCredentialResult(agentName, lane, provider, model, credentialPat
233
233
  return {
234
234
  ok: false,
235
235
  error: `${lane} provider ${provider} model ${model} has no credentials in ${agentName}'s vault at ${credentialPath}`,
236
- fix: `Run 'ouro auth --agent ${agentName} --provider ${provider}' to authenticate this machine, or run 'ouro use --agent ${agentName} --lane ${lane} --provider <provider> --model <model>' to choose a working provider/model.`,
236
+ fix: `Run 'ouro auth --agent ${agentName} --provider ${provider}' to authenticate.`,
237
237
  issue: (0, readiness_repair_1.providerCredentialMissingIssue)({
238
238
  agentName,
239
239
  lane,
@@ -243,7 +243,21 @@ function missingCredentialResult(agentName, lane, provider, model, credentialPat
243
243
  }),
244
244
  };
245
245
  }
246
+ function isTransientVaultError(error) {
247
+ const normalized = error.toLowerCase();
248
+ return (normalized.includes("timed out") ||
249
+ normalized.includes("econnrefused") ||
250
+ normalized.includes("socket hang up") ||
251
+ normalized.includes("etimedout"));
252
+ }
246
253
  function invalidPoolResult(agentName, lane, provider, model, pool) {
254
+ if (pool.reason === "unavailable" && isTransientVaultError(pool.error)) {
255
+ return {
256
+ ok: false,
257
+ error: `${lane} provider ${provider} model ${model} cannot read provider credentials from ${agentName}'s vault: ${pool.error}`,
258
+ fix: `Vault read timed out -- this usually resolves on retry. Run 'ouro up' again.`,
259
+ };
260
+ }
247
261
  if (pool.reason === "unavailable" && isVaultLockedError(pool.error)) {
248
262
  return {
249
263
  ok: false,
@@ -284,7 +298,7 @@ function failedPingResult(agentName, lane, provider, model, result) {
284
298
  return {
285
299
  ok: false,
286
300
  error: `${lane} provider ${provider} model ${model} failed live check: ${result.message}`,
287
- fix: `Run 'ouro auth --agent ${agentName} --provider ${provider}' to refresh credentials, or run 'ouro use --agent ${agentName} --lane ${lane} --provider <provider> --model <model>' to switch this lane.`,
301
+ fix: `Run 'ouro auth --agent ${agentName} --provider ${provider}' to refresh credentials.`,
288
302
  issue: (0, readiness_repair_1.providerLiveCheckFailedIssue)({
289
303
  agentName,
290
304
  lane,
@@ -101,13 +101,8 @@ function missingSecureStoreMessage(config) {
101
101
  : "Run `ouro vault unlock --store plaintext-file` to store the vault unlock secret in a chmod 0600 local file.",
102
102
  ].join("\n");
103
103
  }
104
- function vaultUnlockReplaceRecoverFix(agentName, nextStep = "Then run 'ouro up' again.") {
105
- return [
106
- `Run 'ouro vault unlock --agent ${agentName}' if you have the saved vault unlock secret.`,
107
- `If this agent predates vault auth or nobody saved the unlock secret, run 'ouro vault replace --agent ${agentName}' to create a new empty vault, then re-auth/re-enter credentials.`,
108
- `If you do have a local JSON credential export, run 'ouro vault recover --agent ${agentName} --from <json>' to create the agent vault and import it.`,
109
- nextStep,
110
- ].join(" ");
104
+ function vaultUnlockReplaceRecoverFix(agentName, _nextStep) {
105
+ return `Run 'ouro vault unlock --agent ${agentName}' or 'ouro vault replace --agent ${agentName}' if the secret is lost.`;
111
106
  }
112
107
  function credentialVaultNotConfiguredError(agentName, configPath) {
113
108
  return (`${CREDENTIAL_VAULT_NOT_CONFIGURED_PREFIX}${configPath}. ` +
@@ -116,12 +111,8 @@ function credentialVaultNotConfiguredError(agentName, configPath) {
116
111
  function isCredentialVaultNotConfiguredError(message) {
117
112
  return message.includes(CREDENTIAL_VAULT_NOT_CONFIGURED_PREFIX);
118
113
  }
119
- function vaultCreateRecoverFix(agentName, nextStep = "Then run 'ouro up' again.") {
120
- return [
121
- `Run 'ouro vault create --agent ${agentName}' to create this agent's vault.`,
122
- `If you still have a local JSON credential export from an earlier alpha, run 'ouro vault recover --agent ${agentName} --from <json>' instead.`,
123
- nextStep,
124
- ].join(" ");
114
+ function vaultCreateRecoverFix(agentName, _nextStep) {
115
+ return `Run 'ouro vault create --agent ${agentName}' to set up this agent's vault.`;
125
116
  }
126
117
  function vaultUnlockSecretStrengthIssues(secret) {
127
118
  const issues = [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ouro.bot/cli",
3
- "version": "0.1.0-alpha.414",
3
+ "version": "0.1.0-alpha.415",
4
4
  "main": "dist/heart/daemon/ouro-entry.js",
5
5
  "bin": {
6
6
  "cli": "dist/heart/daemon/ouro-bot-entry.js",