@companion-ai/feynman 0.5.53 → 0.5.54

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/RELEASES.md CHANGED
@@ -6,6 +6,13 @@ GitHub release notes are generated from the matching `## vX.Y.Z` section in this
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## v0.5.54 - 2026-10-22
10
+
11
+ - **Two more model errors explain themselves.** When a run ends on an error, Feynman names the cause:
12
+ - A `404 Not Found` from the provider says the model id or endpoint doesn't exist, and to check the model with `/model` and the `baseUrl` in `models.json`.
13
+ - "The model refused to complete the request" says the model declined, and to rephrase or pick another model.
14
+ - `ip-address` 10.7.4 (through Alpha Hub's MCP SDK) fixes [GHSA-rxp7-6hxx-x8q5](https://github.com/advisories/GHSA-rxp7-6hxx-x8q5), a slow parse of long IPv6 zone identifiers.
15
+
9
16
  ## v0.5.53 - 2026-10-22
10
17
 
11
18
  - **Pi 1.4.0.**
@@ -18,6 +18,12 @@ export function modelErrorHint(provider: string, error: string): string | undefi
18
18
  if (/\b40[13]\b|invalid.{0,20}(api.?key|x-api-key|token)|authentication|unauthori[sz]ed|invalid_grant|refresh token/i.test(error)) {
19
19
  return `${provider} rejected your credentials. Run \`${login}\` again, or check the API key you set.`;
20
20
  }
21
+ if (/\b404\b|not found/i.test(error)) {
22
+ return `${provider} has no such model or endpoint. Check the model id with /model, and the provider's baseUrl if you set one in models.json.`;
23
+ }
24
+ if (/refused to complete the request|stop_reason.{0,5}refusal/i.test(error)) {
25
+ return `The model declined this request. Rephrase it, or try another model with /model.`;
26
+ }
21
27
  if (/\b50[0-4]\b|overloaded|high demand|unavailable|timed out|timeout|terminated|connection error|fetch failed|ECONNRESET/i.test(error)) {
22
28
  return `${provider} failed or timed out; this is usually temporary. Retry, or switch model with /model.`;
23
29
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@companion-ai/feynman",
3
- "version": "0.5.53",
3
+ "version": "0.5.54",
4
4
  "description": "The open source AI research agent.",
5
5
  "license": "MIT",
6
6
  "type": "module",