pi-messenger 0.12.0 → 0.12.1
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.md +5 -0
- package/README.md +1 -1
- package/crew/agents.ts +10 -1
- package/crew/lobby.ts +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.12.1] - 2026-02-22
|
|
4
|
+
|
|
5
|
+
### Fixed
|
|
6
|
+
- **Wrong model resolved for `provider/model` format** - Worker spawn passed `--model zai/glm-5` as a single flag, which pi's model resolver matched as a literal model ID under `vercel-ai-gateway` instead of interpreting `zai` as the provider. Now splits `provider/model` into separate `--provider` and `--model` flags, matching the intended provider. Affects both task workers and lobby workers.
|
|
7
|
+
|
|
3
8
|
## [0.12.0] - 2026-02-21
|
|
4
9
|
|
|
5
10
|
### Added
|
package/README.md
CHANGED
|
@@ -77,7 +77,7 @@ pi_messenger({ action: "review", target: "task-1" }) // Reviewer checks imple
|
|
|
77
77
|
|
|
78
78
|
`/messenger` opens an interactive overlay with agent presence, activity feed, and chat:
|
|
79
79
|
|
|
80
|
-
<img width="
|
|
80
|
+
<img width="1198" height="1020" alt="pi-messenger crew overlay" src="https://github.com/user-attachments/assets/d66e5d71-5ed9-4702-9f56-9ca3f0e9c584" />
|
|
81
81
|
|
|
82
82
|
Chat input supports `@Name msg` for DMs and `@all msg` for broadcasts. Text without `@` broadcasts from the Agents tab or DMs the selected agent tab.
|
|
83
83
|
|
package/crew/agents.ts
CHANGED
|
@@ -58,6 +58,15 @@ export function resolveModel(
|
|
|
58
58
|
return taskModel ?? paramModel ?? configModel ?? agentModel;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
+
export function pushModelArgs(args: string[], model: string): void {
|
|
62
|
+
const slashIdx = model.indexOf("/");
|
|
63
|
+
if (slashIdx !== -1) {
|
|
64
|
+
args.push("--provider", model.substring(0, slashIdx), "--model", model.substring(slashIdx + 1));
|
|
65
|
+
} else {
|
|
66
|
+
args.push("--model", model);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
61
70
|
const THINKING_LEVELS = new Set(["off", "minimal", "low", "medium", "high", "xhigh"]);
|
|
62
71
|
|
|
63
72
|
export function resolveThinking(
|
|
@@ -195,7 +204,7 @@ async function runAgent(
|
|
|
195
204
|
// Build args for pi command
|
|
196
205
|
const args = ["--mode", "json", "--no-session", "-p"];
|
|
197
206
|
const model = task.modelOverride ?? agentConfig?.model;
|
|
198
|
-
if (model) args
|
|
207
|
+
if (model) pushModelArgs(args, model);
|
|
199
208
|
|
|
200
209
|
const thinking = resolveThinking(
|
|
201
210
|
config.thinking?.[role],
|
package/crew/lobby.ts
CHANGED
|
@@ -13,7 +13,7 @@ import * as path from "node:path";
|
|
|
13
13
|
import { fileURLToPath } from "node:url";
|
|
14
14
|
import { randomUUID } from "node:crypto";
|
|
15
15
|
import { generateMemorableName } from "../lib.js";
|
|
16
|
-
import { resolveThinking, modelHasThinkingSuffix } from "./agents.js";
|
|
16
|
+
import { resolveThinking, modelHasThinkingSuffix, pushModelArgs } from "./agents.js";
|
|
17
17
|
import { discoverCrewAgents } from "./utils/discover.js";
|
|
18
18
|
import { loadCrewConfig, type CrewConfig } from "./utils/config.js";
|
|
19
19
|
import {
|
|
@@ -70,7 +70,7 @@ export function spawnLobbyWorker(cwd: string, promptOverride?: string): LobbyWor
|
|
|
70
70
|
|
|
71
71
|
const args = ["--mode", "json", "--no-session", "-p"];
|
|
72
72
|
const model = config.models?.worker ?? workerConfig.model;
|
|
73
|
-
if (model) args
|
|
73
|
+
if (model) pushModelArgs(args, model);
|
|
74
74
|
|
|
75
75
|
const thinking = resolveThinking(
|
|
76
76
|
config.thinking?.worker,
|