pi-bro 0.19.4 → 0.19.5
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 +16 -0
- package/backend.ts +0 -6
- package/bro.ts +1 -15
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to pi-bro are documented here.
|
|
4
4
|
|
|
5
|
+
## [0.19.5] - 2026-10-01
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- Remove the always-true backend-support predicate and unreachable doctor/config branches; retain backend-specific effort and permission validation (#74).
|
|
10
|
+
- Move helper, modal, advisor, and Pi SDK regression checks into named Node tests with shared isolated compilation, leaving shell smoke tests focused on host RPC integration and avoiding duplicate helper execution in PiG (#74).
|
|
11
|
+
- Consolidate redundant support, prompt, and BTW assertions; replace prose greps with package-documentation checks and document surviving coverage (#74).
|
|
12
|
+
|
|
13
|
+
### Fixed
|
|
14
|
+
|
|
15
|
+
- Make the advisor throttle cancellation test actually queue an emission and advance controlled time beyond its deadline; verified by removing cleanup and observing failure (#74).
|
|
16
|
+
|
|
17
|
+
### Documentation
|
|
18
|
+
|
|
19
|
+
- Explicitly archive the seven pre-conversation-only decomposition captures as historical semantic examples and record before/after test organization and timings (#74).
|
|
20
|
+
|
|
5
21
|
## [0.19.4] - 2026-10-01
|
|
6
22
|
|
|
7
23
|
### Fixed
|
package/backend.ts
CHANGED
|
@@ -511,12 +511,6 @@ async function executeAdvisorStdin(
|
|
|
511
511
|
}
|
|
512
512
|
|
|
513
513
|
|
|
514
|
-
// Every backend supports every feature. Grok's "restricted" access is a prompt instruction, not
|
|
515
|
-
// enforcement (see GROK_RESTRICTED_PREFIX); Claude's restricted btw runs tool-less.
|
|
516
|
-
export function backendSupports(_backend: "agy" | "claude" | "grok" | "codex" | "muse", _feature: BackendFeature): boolean {
|
|
517
|
-
return true;
|
|
518
|
-
}
|
|
519
|
-
|
|
520
514
|
type ClaudeEvent = {
|
|
521
515
|
type?: unknown;
|
|
522
516
|
subtype?: unknown;
|
package/bro.ts
CHANGED
|
@@ -26,7 +26,6 @@ import {
|
|
|
26
26
|
GROK_EFFORTS,
|
|
27
27
|
CODEX_EFFORTS,
|
|
28
28
|
MUSE_EFFORTS,
|
|
29
|
-
backendSupports,
|
|
30
29
|
execute as executeBackend,
|
|
31
30
|
parseBtwAgyLine,
|
|
32
31
|
type AgySelection,
|
|
@@ -112,7 +111,6 @@ export const MUSE_MODELS = [
|
|
|
112
111
|
{ id: "muse-spark-1.3-contributor", label: "Muse Spark 1.3 Contributor" },
|
|
113
112
|
{ id: "muse-spark-1.3", label: "Muse Spark 1.3" },
|
|
114
113
|
] as const;
|
|
115
|
-
export { backendSupports as supportsBackend };
|
|
116
114
|
type AgyModelFamily = {
|
|
117
115
|
id: string;
|
|
118
116
|
label: string;
|
|
@@ -1325,10 +1323,6 @@ async function doctorReport(pi: ExtensionAPI, ctx: ExtensionCommandContext, sign
|
|
|
1325
1323
|
continue;
|
|
1326
1324
|
}
|
|
1327
1325
|
if (backend === "grok") {
|
|
1328
|
-
if (!backendSupports("grok", capability)) {
|
|
1329
|
-
fail(label, `\`${capability}\` is not supported on the Grok backend for this capability. Run \`/bro config\` to give it another backend.`);
|
|
1330
|
-
continue;
|
|
1331
|
-
}
|
|
1332
1326
|
if (!isGrokEffort(pair.effort)) {
|
|
1333
1327
|
fail(label, `\`${pair.effort}\` is unsupported for grok \`${pair.model}\`. Run \`/bro config\` to fix this.`);
|
|
1334
1328
|
continue;
|
|
@@ -1342,10 +1336,6 @@ async function doctorReport(pi: ExtensionAPI, ctx: ExtensionCommandContext, sign
|
|
|
1342
1336
|
continue;
|
|
1343
1337
|
}
|
|
1344
1338
|
if (backend === "codex") {
|
|
1345
|
-
if (!backendSupports("codex", capability)) {
|
|
1346
|
-
fail(label, `\`${capability}\` is not supported on the Codex backend for this capability. Run \`/bro config\` to give it another backend.`);
|
|
1347
|
-
continue;
|
|
1348
|
-
}
|
|
1349
1339
|
if (!isCodexEffort(pair.effort)) {
|
|
1350
1340
|
fail(label, `\`${pair.effort}\` is unsupported for codex \`${pair.model}\`. Run \`/bro config\` to fix this.`);
|
|
1351
1341
|
continue;
|
|
@@ -1359,10 +1349,6 @@ async function doctorReport(pi: ExtensionAPI, ctx: ExtensionCommandContext, sign
|
|
|
1359
1349
|
continue;
|
|
1360
1350
|
}
|
|
1361
1351
|
if (backend === "muse") {
|
|
1362
|
-
if (!backendSupports("muse", capability)) {
|
|
1363
|
-
fail(label, `\`${capability}\` is not supported on the Muse backend for this capability. Run \`/bro config\` to give it another backend.`);
|
|
1364
|
-
continue;
|
|
1365
|
-
}
|
|
1366
1352
|
if (!isMuseEffort(pair.effort)) {
|
|
1367
1353
|
fail(label, `\`${pair.effort}\` is unsupported for muse \`${pair.model}\`. Run \`/bro config\` to fix this.`);
|
|
1368
1354
|
continue;
|
|
@@ -2277,7 +2263,7 @@ export function createConfigModal(
|
|
|
2277
2263
|
: backend === "muse"
|
|
2278
2264
|
? `${MUSE_OPTION_PREFIX}${override.model}`
|
|
2279
2265
|
: (resolved.family?.id ?? override.model);
|
|
2280
|
-
rows.effort.currentValue =
|
|
2266
|
+
rows.effort.currentValue = effortDisplay(resolved, backend);
|
|
2281
2267
|
rows.effort.values =
|
|
2282
2268
|
backend === "claude"
|
|
2283
2269
|
? ["default", ...CLAUDE_EFFORTS]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pi-bro",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.5",
|
|
4
4
|
"description": "An Earendil Pi extension that explains pasted text, assistant responses, local documents, public webpages, and recent session turns (as shapes) in a context-isolated window, opens a sandboxed side conversation with /bro btw, and provides a second-opinion advisor tool for executor agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
},
|
|
55
55
|
"scripts": {
|
|
56
56
|
"typecheck": "tsc --noEmit",
|
|
57
|
-
"test": "npm run typecheck && node --test prompt.test.ts backend.test.ts claude.test.ts grok.test.ts codex.test.ts muse.test.ts settings.test.ts show-html.test.ts smoke-rpc.test.ts ui-capabilities.test.ts benchmark/*.test.ts && sh ./smoke-test.sh",
|
|
57
|
+
"test": "npm run typecheck && node --test helpers.test.mjs prompt.test.ts backend.test.ts claude.test.ts grok.test.ts codex.test.ts muse.test.ts settings.test.ts show-html.test.ts smoke-rpc.test.ts ui-capabilities.test.ts benchmark/*.test.ts && sh ./smoke-test.sh",
|
|
58
58
|
"benchmark:dry-run": "node benchmark/run.ts dry-run",
|
|
59
59
|
"benchmark:run": "node benchmark/run.ts run",
|
|
60
60
|
"benchmark:report": "node benchmark/run.ts report",
|