@herbertgao/pi-subagents 0.15.4 → 0.15.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 CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.15.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [#72](https://github.com/HerbertGao/pi-extensions/pull/72) [`5a133d4`](https://github.com/HerbertGao/pi-extensions/commit/5a133d4753532beef884b093638bceacf0545629) Thanks [@HerbertGao](https://github.com/HerbertGao)! - Bypass Git signing for internal worktree preservation commits so interactive signers cannot time out and discard agent changes.
8
+
9
+ - [#73](https://github.com/HerbertGao/pi-extensions/pull/73) [`553f466`](https://github.com/HerbertGao/pi-extensions/commit/553f4662b968cacaf969c1f4e588d29403c54bfc) Thanks [@HerbertGao](https://github.com/HerbertGao)! - Use the primary text color across selected FleetView rows while preserving configured agent badges, and record the reviewed post-0.16.1 upstream range.
10
+
11
+ - [#66](https://github.com/HerbertGao/pi-extensions/pull/66) [`af56b15`](https://github.com/HerbertGao/pi-extensions/commit/af56b159ce7081daf191d12da6afe3155e2b52b0) Thanks [@HerbertGao](https://github.com/HerbertGao)! - Sync the applicable pi-subagents 0.16.1 compatibility fix and advance the reviewed upstream baseline to bb47763 while preserving the local fork behavior.
12
+
3
13
  ## 0.15.4
4
14
 
5
15
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@herbertgao/pi-subagents",
3
- "version": "0.15.4",
3
+ "version": "0.15.5",
4
4
  "description": "Claude Code-style autonomous subagents for Pi, with HerbertGao-maintained UI extensions.",
5
5
  "keywords": [
6
6
  "agent",
@@ -68,8 +68,8 @@
68
68
  },
69
69
  "x-upstream": {
70
70
  "package": "@tintinweb/pi-subagents",
71
- "version": "0.16.0",
71
+ "version": "0.16.1",
72
72
  "repository": "https://github.com/tintinweb/pi-subagents",
73
- "commit": "bcbd602"
73
+ "commit": "bb47763"
74
74
  }
75
75
  }
@@ -958,18 +958,21 @@ export async function runAgent(
958
958
  type SessionOptions = NonNullable<Parameters<typeof createAgentSession>[0]>
959
959
  const parentModelRuntime = (
960
960
  ctx.modelRegistry as unknown as {
961
- runtime?: SessionOptions["modelRuntime"] | null
961
+ runtime?: unknown
962
962
  }
963
963
  ).runtime
964
964
  const sessionOpts: SessionOptions & {
965
965
  modelRegistry: ExtensionContext["modelRegistry"]
966
+ modelRuntime?: unknown
966
967
  } = {
967
968
  cwd: effectiveCwd,
968
969
  agentDir,
969
970
  sessionManager,
970
971
  settingsManager,
971
972
  modelRegistry: ctx.modelRegistry,
972
- ...(parentModelRuntime != null && { modelRuntime: parentModelRuntime }),
973
+ ...(parentModelRuntime != null && {
974
+ modelRuntime: parentModelRuntime as never,
975
+ }),
973
976
  model,
974
977
  tools: sessionTools,
975
978
  customTools: nestedTools,
@@ -19,7 +19,7 @@ import {
19
19
  truncateToWidth,
20
20
  visibleWidth,
21
21
  } from "@earendil-works/pi-tui"
22
- import { renderAgentName } from "../agent-color.js"
22
+ import { hasAgentBadge, renderAgentName } from "../agent-color.js"
23
23
  import type { AgentManager } from "../agent-manager.js"
24
24
  import type { AgentRecord } from "../types.js"
25
25
  import { getLifetimeTotal } from "../usage.js"
@@ -476,15 +476,24 @@ export class FleetList {
476
476
  width: number,
477
477
  theme: Theme,
478
478
  ): string {
479
- const left = ` ${this.bullet(rosterIndex, sel, theme)} ${renderAgentName(record.type, theme, { fallbackColor: "muted" })} ${record.description}`
479
+ const selected = rosterIndex === sel
480
+ const name = renderAgentName(
481
+ record.type,
482
+ theme,
483
+ selected
484
+ ? { fallbackColor: "text", bold: hasAgentBadge(record.type) }
485
+ : { fallbackColor: "muted" },
486
+ )
487
+ const description = selected
488
+ ? theme.fg("text", record.description)
489
+ : record.description
490
+ const left = ` ${this.bullet(rosterIndex, sel, theme)} ${name} ${description}`
480
491
  const tokens = getLifetimeTotal(
481
492
  this.agentActivity.get(record.id)?.lifetimeUsage ?? record.lifetimeUsage,
482
493
  )
483
494
  const elapsedMs = (record.completedAt ?? Date.now()) - record.startedAt // freezes once finished
484
- const right = theme.fg(
485
- "dim",
486
- `${formatFleetElapsed(elapsedMs)} · ${formatFleetTokens(tokens)}`,
487
- )
495
+ const stats = `${formatFleetElapsed(elapsedMs)} · ${formatFleetTokens(tokens)}`
496
+ const right = selected ? theme.fg("text", stats) : theme.fg("dim", stats)
488
497
  return rightAlign(left, right, width)
489
498
  }
490
499
  }
package/src/worktree.ts CHANGED
@@ -134,11 +134,15 @@ export function cleanupWorktree(
134
134
  // Truncate description for commit message (no shell sanitization needed — execFileSync uses argv)
135
135
  const safeDesc = agentDescription.slice(0, 200)
136
136
  const commitMsg = `pi-agent: ${safeDesc}`
137
- execFileSync("git", ["commit", "--no-verify", "-m", commitMsg], {
138
- cwd: worktree.path,
139
- stdio: "pipe",
140
- timeout: 10000,
141
- })
137
+ execFileSync(
138
+ "git",
139
+ ["commit", "--no-verify", "--no-gpg-sign", "-m", commitMsg],
140
+ {
141
+ cwd: worktree.path,
142
+ stdio: "pipe",
143
+ timeout: 10000,
144
+ },
145
+ )
142
146
  } else {
143
147
  const currentSha = execFileSync("git", ["rev-parse", "HEAD"], {
144
148
  cwd: worktree.path,