@companion-ai/feynman 0.5.50 → 0.5.52
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 +22 -0
- package/dist/cli.js +6 -1
- package/dist/index.js +13 -1
- package/dist/pi/web-access.js +1 -1
- package/package.json +3 -3
package/RELEASES.md
CHANGED
|
@@ -6,6 +6,28 @@ GitHub release notes are generated from the matching `## vX.Y.Z` section in this
|
|
|
6
6
|
|
|
7
7
|
## Unreleased
|
|
8
8
|
|
|
9
|
+
## v0.5.52 - 2026-10-21
|
|
10
|
+
|
|
11
|
+
- **pi-subagents 0.80.0.**
|
|
12
|
+
- A background research subagent that finishes while the main session is busy keeps its completion notice across a restart; the next session that opens it shows the result.
|
|
13
|
+
- Waking the main session after a subagent finishes no longer adds an "Inspect subagent updates above" line to the transcript.
|
|
14
|
+
- Each child of a `parallel` call can set its own `cwd` and `model`.
|
|
15
|
+
- A steer that times out on a busy subagent no longer blocks every later steer on that run.
|
|
16
|
+
- Subagents no longer inherit your `APPEND_SYSTEM.md`.
|
|
17
|
+
- Workflows started from providers with very long tool-call ids (LiteLLM with Gemini) no longer fail at launch.
|
|
18
|
+
- Windows: Feynman no longer exits at startup when security software blocks `git` (`spawn EPERM`).
|
|
19
|
+
- **pi-web-access 0.44.0.**
|
|
20
|
+
- `fetch_content` returns short, complete static pages instead of reporting them as incomplete.
|
|
21
|
+
- A default search provider list now falls back to `searchRouting` when every provider in it fails.
|
|
22
|
+
- Linkup is a new search provider: `feynman search set linkup <key>`. Each search uses Linkup credits, so `auto` never picks it.
|
|
23
|
+
- Most search providers can be routed through your own gateway with a `<provider>BaseUrl` setting; API keys are dropped when a provider redirects to another site.
|
|
24
|
+
- The native installer bundle ships hono 4.13.13, for GHSA-5r4p-p66f-jhc7.
|
|
25
|
+
|
|
26
|
+
## v0.5.51 - 2026-10-19
|
|
27
|
+
|
|
28
|
+
- **A damaged `auth.json` says so.** When `~/.feynman/agent/auth.json` isn't valid JSON, for example after a hand edit, every command used to print only `Expected property name or '}' in JSON`. Feynman now names the file and says to fix it, or move it aside and sign in again with `feynman setup`.
|
|
29
|
+
- `feynman --update` points to `feynman update`, and `feynman model setup` points to `feynman model login`.
|
|
30
|
+
|
|
9
31
|
## v0.5.50 - 2026-10-18
|
|
10
32
|
|
|
11
33
|
- **pi-subagents 0.79.1.**
|
package/dist/cli.js
CHANGED
|
@@ -44,6 +44,7 @@ const UNKNOWN_OPTION_HINTS = {
|
|
|
44
44
|
"--json": "feynman --mode json",
|
|
45
45
|
"--work-dir": "feynman --cwd <dir>",
|
|
46
46
|
"--path": "feynman --cwd <dir>",
|
|
47
|
+
"--update": "feynman update",
|
|
47
48
|
};
|
|
48
49
|
// Removed commands fail instead of falling through to a chat prompt.
|
|
49
50
|
const REMOVED_COMMANDS = new Set(["jobs", "paper", "rank", "serve", "watch"]);
|
|
@@ -231,7 +232,11 @@ async function handleModelCommand(subcommand, args, feynmanSettingsPath, feynman
|
|
|
231
232
|
}
|
|
232
233
|
return;
|
|
233
234
|
}
|
|
234
|
-
const setHint = /[/:]/.test(subcommand)
|
|
235
|
+
const setHint = /[/:]/.test(subcommand)
|
|
236
|
+
? `Did you mean \`feynman model set ${subcommand}\`? `
|
|
237
|
+
: subcommand === "setup"
|
|
238
|
+
? "To sign in, run `feynman model login`. "
|
|
239
|
+
: "";
|
|
235
240
|
throw new Error(`Unknown model command: ${subcommand}\n${setHint}Run \`feynman model help\` to see model commands.`);
|
|
236
241
|
}
|
|
237
242
|
async function handleUpdateCommand(piOptions, feynmanVersion, source) {
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
import { getFeynmanAgentDir } from "./config/paths.js";
|
|
1
3
|
import { ensureSupportedNodeVersion } from "./system/node-version.js";
|
|
2
4
|
async function run() {
|
|
3
5
|
ensureSupportedNodeVersion();
|
|
@@ -6,7 +8,17 @@ async function run() {
|
|
|
6
8
|
const { main } = await import("./cli.js");
|
|
7
9
|
await main();
|
|
8
10
|
}
|
|
11
|
+
// Pi throws a bare JSON.parse error for a malformed auth.json, which names no file.
|
|
12
|
+
function describeFatalError(error) {
|
|
13
|
+
if (!(error instanceof Error))
|
|
14
|
+
return String(error);
|
|
15
|
+
if (error instanceof SyntaxError && error.stack?.includes("auth-storage")) {
|
|
16
|
+
const authPath = resolve(getFeynmanAgentDir(), "auth.json");
|
|
17
|
+
return `${authPath} is not valid JSON (${error.message}).\nFix the file, or move it aside and sign in again with \`feynman setup\`.`;
|
|
18
|
+
}
|
|
19
|
+
return error.message;
|
|
20
|
+
}
|
|
9
21
|
run().catch((error) => {
|
|
10
|
-
console.error(
|
|
22
|
+
console.error(describeFatalError(error));
|
|
11
23
|
process.exitCode = 1;
|
|
12
24
|
});
|
package/dist/pi/web-access.js
CHANGED
|
@@ -8,7 +8,7 @@ export const PI_WEB_SEARCH_PROVIDERS = [
|
|
|
8
8
|
"auto", "all", "openai", "brave", "parallel", "parallel-mcp", "tinyfish", "search1api", "searchinfinity", "querit",
|
|
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
|
-
"valyu", "bocha", "xcrawl", "baizhi", "zai", "keenable", "ceramic", "deepseek",
|
|
11
|
+
"valyu", "bocha", "xcrawl", "baizhi", "zai", "keenable", "ceramic", "deepseek", "linkup",
|
|
12
12
|
];
|
|
13
13
|
// The web-search.json field holding a provider's key (searxng takes its base URL);
|
|
14
14
|
// undefined for providers with nothing to set.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@companion-ai/feynman",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.52",
|
|
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.
|
|
89
|
-
"pi-web-access": "0.
|
|
88
|
+
"pi-subagents": "0.80.0",
|
|
89
|
+
"pi-web-access": "0.44.0",
|
|
90
90
|
"posthog-node": "^5.53.0"
|
|
91
91
|
},
|
|
92
92
|
"peerDependencies": {
|