@companion-ai/feynman 0.5.52 → 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,24 @@ 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
+
16
+ ## v0.5.53 - 2026-10-22
17
+
18
+ - **Pi 1.4.0.**
19
+ - Long research sessions no longer break after a response is cut off at the output limit; before, every later request in that session was rejected.
20
+ - Compaction no longer fails with "generation hit the token cap" when the model reasons at length while summarizing a long session.
21
+ - Parallel research subagents that run in-process wait for a free codemode worker instead of failing when two are already busy (`PI_CODEMODE_MAX_WORKERS` raises the limit).
22
+ - The terminal is restored when Feynman exits without its normal teardown, instead of flooding the shell prompt with escape sequences.
23
+ - More gateway and proxy failures are retried automatically, including "stream disconnected before completion".
24
+ - A tool result that is only whitespace no longer makes OpenAI and Google requests fail with a 400.
25
+ - `mcp.json` files saved with a UTF-8 BOM (Windows) parse again.
26
+
9
27
  ## v0.5.52 - 2026-10-21
10
28
 
11
29
  - **pi-subagents 0.80.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.52",
3
+ "version": "0.5.54",
4
4
  "description": "The open source AI research agent.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -79,9 +79,9 @@
79
79
  "dependencies": {
80
80
  "@clack/prompts": "^1.8.1",
81
81
  "@companion-ai/alpha-hub": "0.1.7",
82
- "@earendil-works/pi-codemode": "1.3.0",
83
- "@earendil-works/pi-mcp": "1.3.0",
84
- "@earendil-works/pi-telemetry": "1.3.0",
82
+ "@earendil-works/pi-codemode": "1.4.0",
83
+ "@earendil-works/pi-mcp": "1.4.0",
84
+ "@earendil-works/pi-telemetry": "1.4.0",
85
85
  "fast-xml-parser": "5.11.2",
86
86
  "pi-btw": "0.8.0",
87
87
  "pi-docparser": "4.0.0",
@@ -90,9 +90,9 @@
90
90
  "posthog-node": "^5.53.0"
91
91
  },
92
92
  "peerDependencies": {
93
- "@earendil-works/pi-agent-core": "1.3.0",
94
- "@earendil-works/pi-ai": "1.3.0",
95
- "@earendil-works/pi-coding-agent": "1.3.0",
93
+ "@earendil-works/pi-agent-core": "1.4.0",
94
+ "@earendil-works/pi-ai": "1.4.0",
95
+ "@earendil-works/pi-coding-agent": "1.4.0",
96
96
  "@earendil-works/pi-tui": "*",
97
97
  "typebox": "*"
98
98
  },