pi-squire 0.9.0 → 0.9.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 CHANGED
@@ -6,6 +6,13 @@ follows [Semantic Versioning](https://semver.org/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.9.1] - 2026-10-22
10
+
11
+ ### Changed
12
+
13
+ - A delegate's footer names its agent, as in `👦 worker delegate · auto-exit on`.
14
+ The launch passes the agent name to the delegate as `PI_DELEGATE_AGENT`.
15
+
9
16
  ## [0.9.0] - 2026-10-21
10
17
 
11
18
  ### Breaking
@@ -318,7 +325,8 @@ author's dotfiles; the changes below are against that copy.
318
325
 
319
326
  - The published file list includes `child.ts`, which `index.ts` imports.
320
327
 
321
- [Unreleased]: https://github.com/gvanderclay/pi-squire/compare/v0.9.0...HEAD
328
+ [Unreleased]: https://github.com/gvanderclay/pi-squire/compare/v0.9.1...HEAD
329
+ [0.9.1]: https://github.com/gvanderclay/pi-squire/compare/v0.9.0...v0.9.1
322
330
  [0.9.0]: https://github.com/gvanderclay/pi-squire/compare/v0.8.1...v0.9.0
323
331
  [0.8.1]: https://github.com/gvanderclay/pi-squire/compare/v0.8.0...v0.8.1
324
332
  [0.8.0]: https://github.com/gvanderclay/pi-squire/compare/v0.7.0...v0.8.0
package/README.md CHANGED
@@ -416,9 +416,9 @@ The parent resolves each delegation's auto-exit from the call
416
416
  notice: typed or RPC input, or a run the user stopped (Esc).
417
417
  - `/auto-exit` inside the delegate turns it on again for the next normal
418
418
  completion, whatever the launch said.
419
- - The footer shows that this is a delegate and whether auto-exit is on:
420
- `👦 delegate · auto-exit on`, or
421
- `👦 delegate · auto-exit off`, with 👦 or 👧
419
+ - The footer shows that this is a delegate, its agent, and whether auto-exit
420
+ is on: `👦 worker delegate · auto-exit on`, or
421
+ `👦 worker delegate · auto-exit off`, with 👦 or 👧
422
422
  picked at random per session.
423
423
 
424
424
  There is no `subagent_done` tool: auto-exit off only means the window stays.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-squire",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "description": "Starts a delegate Pi session in a background tmux window, sends it the task over message:*, and shows the parent its result",
5
5
  "keywords": [
6
6
  "pi-package",
package/src/child.ts CHANGED
@@ -27,6 +27,8 @@ import { STATUS_KEY } from "./results.ts";
27
27
  export const AUTO_EXIT_ENV = "PI_DELEGATE_AUTO_EXIT";
28
28
  /** The launch variable listing, comma-separated, the agent's models after the one launched. */
29
29
  export const FALLBACK_ENV = "PI_DELEGATE_FALLBACK";
30
+ /** The launch variable naming the roster agent this delegate runs as, for its footer. */
31
+ export const AGENT_ENV = "PI_DELEGATE_AGENT";
30
32
 
31
33
  const OFF_NOTICE =
32
34
  "delegate: auto-exit is off for this session because you took over here; the window stays open. /auto-exit turns it back on.";
@@ -122,11 +124,13 @@ const ICON = Math.random() < 0.5 ? "👦" : "👧";
122
124
 
123
125
  function showStatus(ctx: ExtensionContext, armed: boolean): void {
124
126
  const { theme } = ctx.ui;
127
+ const agent = process.env[AGENT_ENV];
128
+ const label = agent === undefined || agent === "" ? "delegate" : `${agent} delegate`;
125
129
  ctx.ui.setStatus(
126
130
  STATUS_KEY,
127
131
  armed
128
- ? `${ICON} delegate · auto-exit ${theme.fg("success", "on")}`
129
- : `${ICON} delegate · auto-exit ${theme.fg("dim", "off")}`,
132
+ ? `${ICON} ${label} · auto-exit ${theme.fg("success", "on")}`
133
+ : `${ICON} ${label} · auto-exit ${theme.fg("dim", "off")}`,
130
134
  );
131
135
  }
132
136
 
package/src/index.ts CHANGED
@@ -47,7 +47,7 @@ import {
47
47
  import { Type } from "typebox";
48
48
 
49
49
  import { type Agent, isThinking, type Roster, readRoster, THINKING_LEVELS } from "./agents.ts";
50
- import { AUTO_EXIT_ENV, FALLBACK_ENV, registerChild } from "./child.ts";
50
+ import { AGENT_ENV, AUTO_EXIT_ENV, FALLBACK_ENV, registerChild } from "./child.ts";
51
51
  import { activeMark, clearMarks, isFree, readMarks } from "./limits.ts";
52
52
  import { createResults, delegateName } from "./results.ts";
53
53
  import { createTmuxClient, type TmuxClient } from "./tmux.ts";
@@ -510,6 +510,7 @@ export default function delegate(
510
510
  PI_CODING_AGENT_DIR: getAgentDir(),
511
511
  [PARENT_ENV]: parent,
512
512
  [AUTO_EXIT_ENV]: start.autoExit ? "1" : "0",
513
+ [AGENT_ENV]: start.agent.name,
513
514
  // A general signal for any extension: no human watches this session, so don't wait on a dialog.
514
515
  PI_UNATTENDED: "1",
515
516
  };