@companion-ai/feynman 0.5.58 → 0.5.60

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,26 @@ GitHub release notes are generated from the matching `## vX.Y.Z` section in this
6
6
 
7
7
  ## Unreleased
8
8
 
9
+ ## v0.5.60 - 2026-10-29
10
+
11
+ - **pi-subagents 0.84.0.**
12
+ - Security fix: workflow scripts can no longer reach the Feynman process outside their sandbox ([GHSA-6v8j-6w28-2w8r](https://github.com/nicobailon/pi-subagents/security/advisories/GHSA-6v8j-6w28-2w8r)).
13
+ - Finished background subagent runs are now deleted from disk after 30 days (90 if their session still exists) instead of being kept forever.
14
+ - **pi-web-access 0.46.0.**
15
+ - Reading a web page with a question on Claude Opus 5.5 or Sonnet 5.5 no longer fails with `"thinking.type.disabled" is not supported for this model`.
16
+ - Reading a PDF returns its text instead of only a note saying where the file was saved.
17
+ - `feynman search set` accepts three new providers: `cloudflare` (also set `CLOUDFLARE_ACCOUNT_ID`), `searchapi` (Google through SearchApi) and `tabstack` (one cited answer). Each runs only when you choose it.
18
+ - A rate-limited free Exa search now says so instead of claiming no search provider is set up.
19
+ - MiniMax M3.1 Flash is now a research model fallback, after MiniMax M3. Thanks to @octo-patch (#364).
20
+
21
+ ## v0.5.59 - 2026-10-28
22
+
23
+ - **pi-subagents 0.83.1.**
24
+ - Stopping, interrupting or resuming a research subagent can no longer act on the wrong run: an interrupt with no id is refused, and resuming a worktree child while it is still cleaning up no longer runs it in your main checkout.
25
+ - Agent files with a blank line inside an indented frontmatter block are read in full, so settings below that line are no longer dropped.
26
+ - The startup header no longer crashes Feynman when the terminal is two columns wide or less.
27
+ - Five more `undici` advisories published Oct 27 ([GHSA-4w7w-5xrc-9h26](https://github.com/advisories/GHSA-4w7w-5xrc-9h26), [GHSA-2m5v-pch6-74hx](https://github.com/advisories/GHSA-2m5v-pch6-74hx), [GHSA-qrxm-fqhp-jwvm](https://github.com/advisories/GHSA-qrxm-fqhp-jwvm), [GHSA-9fm3-97px-rjf6](https://github.com/advisories/GHSA-9fm3-97px-rjf6), [GHSA-55wc-3pg8-jfw6](https://github.com/advisories/GHSA-55wc-3pg8-jfw6)) are already fixed in the `undici` 8.12.3 Feynman installs. Pi 1.4.0's own pinned 8.10.2 copy still has them until Pi ships its next release.
28
+
9
29
  ## v0.5.58 - 2026-10-26
10
30
 
11
31
  - **pi-subagents 0.83.0.**
@@ -95,6 +95,7 @@ const RESEARCH_MODEL_FALLBACK_PREFERENCES = [
95
95
  reason: "newest OpenRouter OpenAI GPT fallback when direct OpenAI access is unavailable",
96
96
  },
97
97
  exactResearchModel("minimax/MiniMax-M3", "good fallback when MiniMax is the available research model"),
98
+ exactResearchModel("minimax/MiniMax-M3.1-Flash", "fast MiniMax fallback when MiniMax is the available research model"),
98
99
  exactResearchModel("minimax/MiniMax-M2.7", "good fallback when MiniMax is the available research model"),
99
100
  exactResearchModel("minimax/MiniMax-M2.7-highspeed", "good fallback when MiniMax is the available research model"),
100
101
  exactResearchModel("kimi-coding/kimi-for-coding", "Kimi Coding Plan stable ID, auto-maps to the latest backend model"),
@@ -9,6 +9,7 @@ export const PI_WEB_SEARCH_PROVIDERS = [
9
9
  "tavily", "you", "firecrawl", "jina", "searxng", "degoog", "duckduckgo", "perplexity", "gemini", "kimi", "exa",
10
10
  "serpdive", "kagi", "ollama", "anysearch", "xai", "mistral", "brightdata", "serpbase", "serpapi", "serper", "serply",
11
11
  "valyu", "bocha", "xcrawl", "baizhi", "zai", "keenable", "ceramic", "deepseek", "linkup", "ninerouter",
12
+ "cloudflare", "searchapi", "tabstack",
12
13
  ];
13
14
  // The web-search.json field holding a provider's key (searxng and ninerouter take their base URL);
14
15
  // undefined for providers with nothing to set.
@@ -201,8 +201,8 @@ export function installFeynmanHeader(
201
201
  render(width: number): string[] {
202
202
  const maxW = Math.max(width - 2, 1);
203
203
  const cardW = Math.min(maxW, 120);
204
- const innerW = cardW - 2;
205
- const contentW = innerW - 2;
204
+ const innerW = Math.max(cardW - 2, 0);
205
+ const contentW = Math.max(innerW - 2, 0);
206
206
  const outerPad = " ".repeat(Math.max(0, Math.floor((width - cardW) / 2)));
207
207
  const lines: string[] = [];
208
208
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@companion-ai/feynman",
3
- "version": "0.5.58",
3
+ "version": "0.5.60",
4
4
  "description": "The open source AI research agent.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -85,8 +85,8 @@
85
85
  "fast-xml-parser": "5.11.2",
86
86
  "pi-btw": "0.8.0",
87
87
  "pi-docparser": "4.0.0",
88
- "pi-subagents": "0.83.0",
89
- "pi-web-access": "0.45.0",
88
+ "pi-subagents": "0.84.0",
89
+ "pi-web-access": "0.46.0",
90
90
  "posthog-node": "^5.53.0",
91
91
  "undici": "^8.12.3"
92
92
  },