@wherever-dev/pi 0.2.7 → 0.3.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,iCAAiC,CAAC;AAwFzC,yBAA+B,EAAE,EAAE,YAAY,iBAgb9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,OAAO,KAAK,EACV,YAAY,EAKb,MAAM,iCAAiC,CAAC;AAuGzC,yBAA+B,EAAE,EAAE,YAAY,iBAswB9C"}
package/dist/index.js CHANGED
@@ -12,7 +12,11 @@
12
12
  * pi --extension ./extension/dist/index.js --remote-port 31415 --remote-token YOUR_TOKEN
13
13
  */
14
14
  import WebSocket from "ws";
15
- import { spawn } from "node:child_process";
15
+ import { spawn, spawnSync } from "node:child_process";
16
+ import * as fs from "node:fs";
17
+ import * as os from "node:os";
18
+ import * as path from "node:path";
19
+ import { Type } from "typebox";
16
20
  import { WhereverClient } from "@wherever-dev/client";
17
21
  /**
18
22
  * Walk the ACTIVE branch (leaf -> root, like buildSessionContext) of the loaded
@@ -61,11 +65,27 @@ function findDanglingToolCalls(ctx) {
61
65
  path.unshift(current);
62
66
  current = current.parentId ? byId.get(current.parentId) : undefined;
63
67
  }
64
- // Collect satisfied tool-call ids (those with a matching toolResult) and the
65
- // tool calls issued, both restricted to the active branch.
68
+ // Only the TRAILING run matters. pi can auto-continue unless the LAST context
69
+ // message is an unsatisfied tool call, so a dangling tool call from an EARLIER
70
+ // turn (before the most recent user message) is already superseded and does
71
+ // not block anything. Reporting those would over-count (e.g. "4 tool calls"
72
+ // when 3 are from previous, resolved-by-a-human-turn segments). So restrict
73
+ // the scan to entries AFTER the last user message on the active branch.
74
+ let lastUserIdx = -1;
75
+ for (let i = 0; i < path.length; i++) {
76
+ const entry = path[i];
77
+ if (entry.type !== "message")
78
+ continue;
79
+ const role = entry.message?.role;
80
+ if (role === "user")
81
+ lastUserIdx = i;
82
+ }
83
+ const trailing = path.slice(lastUserIdx + 1);
84
+ // Within the trailing segment, collect satisfied tool-call ids (those with a
85
+ // matching toolResult) and the tool calls issued.
66
86
  const satisfied = new Set();
67
87
  const issued = [];
68
- for (const entry of path) {
88
+ for (const entry of trailing) {
69
89
  if (entry.type !== "message")
70
90
  continue;
71
91
  const message = entry.message;
@@ -115,6 +135,20 @@ export default async function (pi) {
115
135
  type: "boolean",
116
136
  default: true,
117
137
  });
138
+ pi.registerFlag("remote-beep", {
139
+ description: "Play an inviting sound when the agent finishes and is waiting for your next message. " +
140
+ "Sets the DEFAULT for new sessions (can also be enabled via `beep.enabled` in " +
141
+ "~/.wherever/config.json); toggle it per-session with /remote-beep.",
142
+ type: "boolean",
143
+ default: false,
144
+ });
145
+ pi.registerFlag("remote-beep-command", {
146
+ description: "Shell command to run for the waiting-for-human sound instead of the terminal bell. " +
147
+ "Overrides `beep.command` in ~/.wherever/config.json and the auto-detected player. " +
148
+ "Useful when the terminal bell is silent (e.g. WezTerm on Linux). " +
149
+ "Example: 'pw-play /usr/share/sounds/freedesktop/stereo/complete.oga'.",
150
+ type: "string",
151
+ });
118
152
  pi.registerCommand("remote-reconnect", {
119
153
  description: "Manually reconnect to the standalone remote server",
120
154
  handler: async (args, ctx) => {
@@ -126,9 +160,204 @@ export default async function (pi) {
126
160
  connect();
127
161
  },
128
162
  });
163
+ // Per-session override for the waiting-for-human beep. Undefined means "follow
164
+ // the configured default"; true/false is an explicit per-session choice made
165
+ // via /remote-beep. Reset on each session start so a new session begins from
166
+ // the configured default again.
167
+ let beepOverride = undefined;
168
+ // The default beep behaviour for new sessions is enabled when EITHER the
169
+ // --remote-beep flag is set OR `beep.enabled` is true in ~/.wherever/config.json.
170
+ // The flag can only force-on (its own default is false), so the config file is
171
+ // the way to enable-by-default across every session without passing the flag.
172
+ function beepDefault() {
173
+ if (pi.getFlag("remote-beep") === true)
174
+ return true;
175
+ return readBeepConfig()?.enabled === true;
176
+ }
177
+ function beepEnabled() {
178
+ return beepOverride === undefined ? beepDefault() : beepOverride;
179
+ }
180
+ // Read the wherever config (`~/.wherever/config.json`) and return the beep
181
+ // section, if any. Best-effort: a missing/invalid file yields undefined. The
182
+ // extension is a separate package from the server, so it reads the shared file
183
+ // directly rather than importing the server's loader.
184
+ function readBeepConfig() {
185
+ try {
186
+ const configPath = path.join(os.homedir(), ".wherever", "config.json");
187
+ const raw = fs.readFileSync(configPath, "utf-8");
188
+ const parsed = JSON.parse(raw);
189
+ const beep = parsed?.beep;
190
+ if (beep && typeof beep === "object")
191
+ return beep;
192
+ }
193
+ catch (err) {
194
+ // No config / unreadable / invalid JSON: fall through to auto-detect.
195
+ }
196
+ return undefined;
197
+ }
198
+ // Auto-detected sound command, computed once. `undefined` means "not computed
199
+ // yet"; `null` means "computed, nothing available" (so we do not re-probe).
200
+ let autoDetectedBeepCommand = undefined;
201
+ // Best guess at a "play this sound file" command available on the system, used
202
+ // when neither the flag nor config sets one. Picks the first available player
203
+ // and a pleasant freedesktop chime. Returns null when nothing suitable exists
204
+ // (then we fall back to the terminal bell).
205
+ function detectBeepCommand() {
206
+ if (autoDetectedBeepCommand !== undefined)
207
+ return autoDetectedBeepCommand;
208
+ const has = (bin) => {
209
+ try {
210
+ const probe = process.platform === "win32"
211
+ ? spawnSync("where", [bin], { stdio: "ignore" })
212
+ : spawnSync("command", ["-v", bin], { stdio: "ignore", shell: "bash" });
213
+ return probe.status === 0;
214
+ }
215
+ catch {
216
+ return false;
217
+ }
218
+ };
219
+ const fileExists = (p) => {
220
+ try {
221
+ return fs.statSync(p).isFile();
222
+ }
223
+ catch {
224
+ return false;
225
+ }
226
+ };
227
+ // macOS: afplay + a built-in system sound.
228
+ if (process.platform === "darwin" && has("afplay")) {
229
+ const sound = "/System/Library/Sounds/Glass.aiff";
230
+ autoDetectedBeepCommand = fileExists(sound) ? `afplay ${sound}` : "afplay /System/Library/Sounds/Ping.aiff";
231
+ return autoDetectedBeepCommand;
232
+ }
233
+ // Linux/BSD: a freedesktop chime through whichever player is present.
234
+ const soundCandidates = [
235
+ "/usr/share/sounds/freedesktop/stereo/complete.oga",
236
+ "/usr/share/sounds/freedesktop/stereo/bell.oga",
237
+ "/usr/share/sounds/freedesktop/stereo/message.oga",
238
+ ];
239
+ const sound = soundCandidates.find(fileExists);
240
+ if (sound) {
241
+ // Prefer PipeWire, then PulseAudio, then canberra, then ffplay.
242
+ if (has("pw-play")) {
243
+ autoDetectedBeepCommand = `pw-play ${sound}`;
244
+ return autoDetectedBeepCommand;
245
+ }
246
+ if (has("paplay")) {
247
+ autoDetectedBeepCommand = `paplay ${sound}`;
248
+ return autoDetectedBeepCommand;
249
+ }
250
+ if (has("canberra-gtk-play")) {
251
+ autoDetectedBeepCommand = `canberra-gtk-play -f ${sound}`;
252
+ return autoDetectedBeepCommand;
253
+ }
254
+ if (has("ffplay")) {
255
+ autoDetectedBeepCommand = `ffplay -nodisp -autoexit -loglevel quiet ${sound}`;
256
+ return autoDetectedBeepCommand;
257
+ }
258
+ }
259
+ autoDetectedBeepCommand = null;
260
+ return autoDetectedBeepCommand;
261
+ }
262
+ // Resolve the sound command to run, highest precedence first:
263
+ // 1. --remote-beep-command flag
264
+ // 2. `beep.command` in ~/.wherever/config.json
265
+ // 3. an auto-detected player + system chime
266
+ // Returns undefined when none apply (then the terminal bell is used).
267
+ function resolveBeepCommand() {
268
+ const flag = pi.getFlag("remote-beep-command")?.trim();
269
+ if (flag)
270
+ return flag;
271
+ const configured = readBeepConfig()?.command?.trim();
272
+ if (configured)
273
+ return configured;
274
+ const detected = detectBeepCommand();
275
+ return detected || undefined;
276
+ }
277
+ // Emit an inviting waiting-for-human sound. Best-effort: never throw into the
278
+ // agent loop.
279
+ //
280
+ // Two delivery paths:
281
+ // 1. A sound COMMAND (flag / config / auto-detected): run it to play a real
282
+ // audio file (e.g. `pw-play .../complete.oga`). This is the reliable path
283
+ // when the terminal bell is silent (WezTerm on Linux defaults to
284
+ // SystemBeep, which is often a no-op without a PC speaker).
285
+ // 2. Fallback terminal BEL (\x07), written to the controlling terminal
286
+ // (/dev/tty) rather than process.stdout, because pi's TUI owns stdout and
287
+ // its render loop can swallow an out-of-band byte. Falls back to
288
+ // process.stdout when /dev/tty is unavailable (e.g. no controlling tty).
289
+ function playBeep() {
290
+ const command = resolveBeepCommand();
291
+ if (command) {
292
+ try {
293
+ const shell = process.platform === "win32" ? "cmd.exe" : "bash";
294
+ const shellArgs = process.platform === "win32" ? ["/c", command] : ["-c", command];
295
+ const child = spawn(shell, shellArgs, { stdio: "ignore", detached: false });
296
+ // Never let a failing sound command surface as an unhandled error.
297
+ child.on("error", () => { });
298
+ return;
299
+ }
300
+ catch (err) {
301
+ // Fall through to the terminal bell on spawn failure.
302
+ }
303
+ }
304
+ // Terminal bell. Prefer /dev/tty so the TUI renderer does not absorb it.
305
+ try {
306
+ const fd = fs.openSync("/dev/tty", "w");
307
+ try {
308
+ fs.writeSync(fd, "\x07");
309
+ }
310
+ finally {
311
+ fs.closeSync(fd);
312
+ }
313
+ return;
314
+ }
315
+ catch (err) {
316
+ // No controlling tty (or platform without /dev/tty): fall back to stdout.
317
+ }
318
+ try {
319
+ process.stdout.write("\x07");
320
+ }
321
+ catch (err) {
322
+ // Quiet fail: a closed/redirected stdout must not break the session.
323
+ }
324
+ }
325
+ pi.registerCommand("remote-beep", {
326
+ description: "Toggle the waiting-for-human beep for THIS session (on/off). Run with no argument to toggle, " +
327
+ "or pass on/off. The --remote-beep flag sets the default for new sessions.",
328
+ handler: async (args, ctx) => {
329
+ const arg = (args || "").trim().toLowerCase();
330
+ let next;
331
+ if (arg === "on" || arg === "true" || arg === "1" || arg === "enable") {
332
+ next = true;
333
+ }
334
+ else if (arg === "off" || arg === "false" || arg === "0" || arg === "disable") {
335
+ next = false;
336
+ }
337
+ else {
338
+ // No/unknown arg: toggle from the current effective state.
339
+ next = !beepEnabled();
340
+ }
341
+ beepOverride = next;
342
+ if (next) {
343
+ // Sample the chosen sound so the user hears what to expect.
344
+ playBeep();
345
+ ctx.ui.notify("[Wherever] Waiting-for-human beep ENABLED for this session 🔔", "info");
346
+ }
347
+ else {
348
+ ctx.ui.notify("[Wherever] Waiting-for-human beep DISABLED for this session", "info");
349
+ }
350
+ },
351
+ });
129
352
  let client = null;
130
353
  let sessionFile = null;
131
354
  let ctxVal = null;
355
+ // True while this session's resume showed the dangling-tool-call warning (from
356
+ // the persisted transcript). Lets the server-driven cli_takeover_interrupted
357
+ // notice avoid double-warning for the tool-call case (which the CLI's own
358
+ // heuristic already covers, with tool names); the server notice is still the
359
+ // ONLY signal for the streaming-text case.
360
+ let resumeDanglingShown = false;
132
361
  function updateCliWidget(status) {
133
362
  if (!ctxVal)
134
363
  return;
@@ -173,6 +402,100 @@ export default async function (pi) {
173
402
  // Quiet fail if connection dropped suddenly during a send
174
403
  }
175
404
  }
405
+ // Let the agent attach a file it produced (a generated PDF, an export, a note)
406
+ // to the remote conversation so a phone/browser client can download it with a
407
+ // tap. This is a SELF-CONTAINED tool (like `read`): it just validates the path
408
+ // and returns a normal tool result carrying that path. It does NOT depend on
409
+ // the bridge, does NOT read the file bytes, and emits no side-channel marker.
410
+ // The download affordance is driven entirely by the tool CALL: every client
411
+ // (web frontend included) already receives tool_start/tool_end for this call,
412
+ // and the web UI recognizes the `attach_file` tool name and renders a download
413
+ // button from its `path` argument, hitting GET /session/download. This is why
414
+ // it works identically in a CLI-bridge session and a pure server-side session.
415
+ pi.registerTool({
416
+ name: "attach_file",
417
+ label: "Attach File",
418
+ description: "Attach a file to the conversation so the person on the other end (e.g. a " +
419
+ "phone/browser) can download it with one tap. The user is remote and CANNOT " +
420
+ "reach the local filesystem, so a file path in your reply is NOT enough: they " +
421
+ "can only obtain a file if you attach it with this tool. Pass the path to a " +
422
+ "real, existing file inside the working directory (or an absolute path the " +
423
+ "server is allowed to serve). Use this both right after generating a " +
424
+ "deliverable (a PDF, an export, a report) AND whenever the user asks for a " +
425
+ "file by name or type, including one created earlier in the conversation, " +
426
+ "e.g. 'give me the gpx', 'send me the pdf', 'download the report', 'can I " +
427
+ "have that file'. Resolve which file they mean from the conversation and " +
428
+ "attach it; if truly ambiguous, ask which file, otherwise attach the most " +
429
+ "likely match rather than only printing its path.",
430
+ promptSnippet: "Attach a file to the conversation so the remote user can download it",
431
+ promptGuidelines: [
432
+ "Use attach_file whenever the user asks you to give/send/download/share a file, or asks for a file by name or type (e.g. 'give me the gpx', 'send the pdf'), including files created earlier in the conversation: the user is remote and can only download a file you attach, so never answer such a request with just a file path.",
433
+ "Use attach_file right after generating a downloadable deliverable (PDF, export, archive) so the remote user can retrieve it without asking.",
434
+ ],
435
+ parameters: Type.Object({
436
+ path: Type.String({
437
+ description: "Path to the file to attach. Relative paths resolve against the working directory.",
438
+ }),
439
+ }),
440
+ async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
441
+ const rawPath = String(params.path || "").trim();
442
+ if (!rawPath) {
443
+ return {
444
+ content: [{ type: "text", text: "attach_file: no path provided." }],
445
+ details: undefined,
446
+ isError: true,
447
+ };
448
+ }
449
+ const cwd = ctx.cwd || process.cwd();
450
+ let resolved = rawPath;
451
+ if (resolved.startsWith("~")) {
452
+ resolved = path.join(os.homedir(), resolved.slice(1));
453
+ }
454
+ else if (!path.isAbsolute(resolved)) {
455
+ resolved = path.resolve(cwd, resolved);
456
+ }
457
+ else {
458
+ resolved = path.resolve(resolved);
459
+ }
460
+ let size = null;
461
+ try {
462
+ const st = fs.statSync(resolved);
463
+ if (!st.isFile()) {
464
+ return {
465
+ content: [
466
+ { type: "text", text: `attach_file: not a regular file: ${resolved}` },
467
+ ],
468
+ details: undefined,
469
+ isError: true,
470
+ };
471
+ }
472
+ size = st.size;
473
+ }
474
+ catch {
475
+ return {
476
+ content: [
477
+ { type: "text", text: `attach_file: file not found: ${resolved}` },
478
+ ],
479
+ details: undefined,
480
+ isError: true,
481
+ };
482
+ }
483
+ const filename = path.basename(resolved);
484
+ // Success. The download button is driven by the tool CALL (the web UI reads
485
+ // the `path` arg), so we just confirm and echo the resolved path back to
486
+ // the model. No bridge, no marker: works in any session type.
487
+ return {
488
+ content: [
489
+ {
490
+ type: "text",
491
+ text: `Attached "${filename}" (${size} bytes) to the conversation. ` +
492
+ `A download button is now shown to the user for: ${resolved}`,
493
+ },
494
+ ],
495
+ details: { path: resolved, filename, size },
496
+ };
497
+ },
498
+ });
176
499
  // Forward the agent's current context-window usage so the web UI can show the
177
500
  // "11.3% / 1.0M" indicator for CLI-bridged sessions (the server cannot compute
178
501
  // it for these). Best-effort: undefined usage (no model / no turn yet) is sent
@@ -309,6 +632,31 @@ export default async function (pi) {
309
632
  ctxVal?.abort();
310
633
  break;
311
634
  }
635
+ case "cli_takeover_interrupted": {
636
+ // This CLI just resumed a session the standalone server was running
637
+ // MID-TURN, so that in-flight turn was interrupted and discarded
638
+ // (not persisted). The CLI's own dangling-tool-call heuristic cannot
639
+ // see a still-streaming (unpersisted) turn, so the server tells us
640
+ // explicitly. Surface it, symmetric with the web client's banner.
641
+ //
642
+ // Avoid double-warning: for the tool-call case, the resume check
643
+ // already showed its own (more detailed, tool-named) warning from the
644
+ // persisted transcript, so skip. The streaming-text case is the one
645
+ // only the server can see, and is always surfaced here.
646
+ if (msg.toolCall && resumeDanglingShown) {
647
+ break;
648
+ }
649
+ // A single transient notify is enough: after the takeover this CLI
650
+ // owns the session and is NOT stuck (unlike the dangling-tool-call
651
+ // resume case, which pins a persistent widget because pi sits idle
652
+ // waiting). So no persistent widget here, just the one-time message.
653
+ const what = msg.toolCall
654
+ ? 'a tool call was running (its result was lost)'
655
+ : 'a reply was streaming (that partial reply was discarded)';
656
+ ctxVal?.ui.notify(`[Wherever] You took over this session from the web frontend while ${what}. ` +
657
+ `This CLI now controls the session; continue here.`, "warning");
658
+ break;
659
+ }
312
660
  case "cli_model_change": {
313
661
  const { model: modelStr } = msg;
314
662
  if (modelStr && ctxVal) {
@@ -370,6 +718,7 @@ export default async function (pi) {
370
718
  // Clear the "resumed mid-tool-call" warning widget, if shown. Safe to call
371
719
  // unconditionally; it is a no-op when nothing was set.
372
720
  function clearResumeToolWarning() {
721
+ resumeDanglingShown = false;
373
722
  if (!ctxVal)
374
723
  return;
375
724
  try {
@@ -387,6 +736,9 @@ export default async function (pi) {
387
736
  sessionFile = ctx.sessionManager.getSessionFile() || "";
388
737
  if (!sessionFile)
389
738
  return;
739
+ // Each new/resumed session starts from the configured default beep behaviour;
740
+ // any prior per-session /remote-beep override does not carry over.
741
+ beepOverride = undefined;
390
742
  // On resume/reload, the loaded transcript may end mid-tool-call (the matching
391
743
  // toolResult was never persisted). This happens when another process (the web
392
744
  // frontend / standalone server) is still running that tool, or the previous
@@ -402,16 +754,21 @@ export default async function (pi) {
402
754
  const detail = dangling.length === 1
403
755
  ? `the "${names}" tool call`
404
756
  : `${dangling.length} tool calls (${names})`;
405
- ctx.ui.notify(`[Wherever] This session was resumed mid-run: ${detail} has no result yet. ` +
406
- `If it is still running in the web frontend, its result will not appear here; ` +
407
- `send a message to take over and continue, or wait/abort.`, "warning");
757
+ // pi cannot auto-continue from a trailing unsatisfied tool call, so it
758
+ // sits idle. A single PERSISTENT widget is the right surface: it is an
759
+ // ongoing "you must act" state, not a one-off event, so no transient
760
+ // notify (which would just duplicate it). This CLI already owns the
761
+ // session now, so the guidance is to send a message to retry/continue
762
+ // (NOT "take over" -- the takeover already happened).
408
763
  ctx.ui.setWidget("wherever-resume-warning", (_tui, theme) => {
409
- const line = theme.fg("warning", `⏳ [Wherever] Resumed mid-run: ${detail} has no result yet (may be running in another client).`);
764
+ const line = theme.fg("warning", `⏳ [Wherever] Resumed mid-run: ${detail} had no result and cannot auto-continue. ` +
765
+ `Send a message to retry or continue.`);
410
766
  return {
411
767
  render: () => [line],
412
768
  invalidate: () => { },
413
769
  };
414
770
  });
771
+ resumeDanglingShown = true;
415
772
  }
416
773
  else {
417
774
  clearResumeToolWarning();
@@ -473,6 +830,14 @@ export default async function (pi) {
473
830
  // Context usage is freshest right after a turn completes.
474
831
  sendContextUsage();
475
832
  });
833
+ // agent_settled fires once the run has fully settled: no automatic retry,
834
+ // compaction, or queued continuation is pending, so the agent is genuinely
835
+ // waiting for a human message. This is the right (single) moment to beep,
836
+ // rather than agent_end which can fire between chained internal turns.
837
+ pi.on("agent_settled", async () => {
838
+ if (beepEnabled())
839
+ playBeep();
840
+ });
476
841
  pi.on("tool_execution_start", async (event) => {
477
842
  sendCliEvent({
478
843
  type: "tool_execution_start",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wherever-dev/pi",
3
- "version": "0.2.7",
3
+ "version": "0.3.0",
4
4
  "description": "Remote control extension for pi coding agent with HTTP/WebSocket API (wherever.dev)",
5
5
  "homepage": "https://github.com/wighawag/wherever#readme",
6
6
  "repository": {
@@ -29,8 +29,9 @@
29
29
  "dist"
30
30
  ],
31
31
  "dependencies": {
32
+ "typebox": "^1.1.38",
32
33
  "ws": "^8.18.0",
33
- "@wherever-dev/client": "0.3.1"
34
+ "@wherever-dev/client": "0.3.3"
34
35
  },
35
36
  "peerDependencies": {
36
37
  "@earendil-works/pi-coding-agent": "*"