agent-yes 1.290.7-beta.731.1 → 1.290.7

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.
Files changed (33) hide show
  1. package/dist/{SUPPORTED_CLIS-CYFiEa-D.js → SUPPORTED_CLIS-CuvT3tKq.js} +4 -4
  2. package/dist/{SUPPORTED_CLIS-B8h4HDbI.js → SUPPORTED_CLIS-hTRegnm5.js} +2 -2
  3. package/dist/{agentShare-ayWLVswr.js → agentShare-C_LTEKEb.js} +3 -3
  4. package/dist/{callback-BKAJG4wM.js → callback-BEvLUUBR.js} +3 -3
  5. package/dist/{callback-B_CU27tE.js → callback-DAQ8wCtJ.js} +3 -3
  6. package/dist/cli.js +5 -5
  7. package/dist/{cmdPs-DhkeASRW.js → cmdPs-BAaLB4Pz.js} +3 -3
  8. package/dist/index.js +3 -3
  9. package/dist/{messageLog-Brx3w6zT.js → messageLog-CVRSTLza.js} +1 -2
  10. package/dist/{notifyDaemon-CmXHjsTR.js → notifyDaemon-Dnbe66Fl.js} +3 -3
  11. package/dist/{parentPingLoop-KeiysUA6.js → parentPingLoop-DWv-xJoi.js} +2 -2
  12. package/dist/{rustBinary-B0bth98r.js → rustBinary-CZRPfa4y.js} +2 -2
  13. package/dist/{rustBinary-CodCk4H6.js → rustBinary-jO6EN8LR.js} +2 -2
  14. package/dist/{schedule-C5yNmuAS.js → schedule-Hao0WqyJ.js} +5 -5
  15. package/dist/{serve-DNyIhS1P.js → serve-B2nisui8.js} +18 -18
  16. package/dist/{setup-CyXR-1r4.js → setup-vCDTqyqR.js} +2 -2
  17. package/dist/{subcommands-DdXB9-J0.js → subcommands-BpFdlCY0.js} +2 -2
  18. package/dist/{subcommands-l-3GsPd2.js → subcommands-D6LBtVPM.js} +20 -31
  19. package/dist/{terminal-jOYz-l2I.js → terminal-iGHEnc7Z.js} +2 -2
  20. package/dist/{trayApp-CRZiF8_W.js → trayApp-BdNlQCFx.js} +2 -2
  21. package/dist/trayApp-Br2T2Yrb.js +5 -0
  22. package/dist/{ts-CP3oCEoE.js → ts-oyuaLWWx.js} +4 -4
  23. package/dist/{versionChecker-CD5kYnMV.js → versionChecker-CMjS88mL.js} +2 -2
  24. package/dist/{widget-BGmYin1-.js → widget-OvkqW2Z6.js} +3 -3
  25. package/dist/{ws-PPWOt1Cp.js → ws-BeMouYAU.js} +2 -2
  26. package/dist/{ws-3oMbybMM.js → ws-qZy7Giub.js} +3 -3
  27. package/package.json +1 -1
  28. package/ts/messageLog.bun.spec.ts +0 -33
  29. package/ts/messageLog.spec.ts +0 -33
  30. package/ts/messageLog.ts +0 -3
  31. package/ts/senderAncestry.ts +7 -15
  32. package/ts/subcommands.ts +9 -23
  33. package/dist/trayApp-CGKFuNvI.js +0 -5
@@ -1,12 +1,12 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./versionChecker-CD5kYnMV.js";
3
- import "./ts-CP3oCEoE.js";
2
+ import "./versionChecker-CMjS88mL.js";
3
+ import "./ts-oyuaLWWx.js";
4
4
  import "./todoAutomation-CbVVS4re.js";
5
5
  import "./JsonlStore-BqF7AQ6E.js";
6
6
  import "./globalPidIndex-DoaKEUkO.js";
7
7
  import "./pidStore-B73xnAeT.js";
8
- import "./messageLog-Brx3w6zT.js";
8
+ import "./messageLog-CVRSTLza.js";
9
9
  import "./todoStore-DF6vxHgV.js";
10
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-B8h4HDbI.js";
10
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-hTRegnm5.js";
11
11
 
12
12
  export { SUPPORTED_CLIS };
@@ -1,8 +1,8 @@
1
- import { t as CLIS_CONFIG } from "./ts-CP3oCEoE.js";
1
+ import { t as CLIS_CONFIG } from "./ts-oyuaLWWx.js";
2
2
 
3
3
  //#region ts/SUPPORTED_CLIS.ts
4
4
  const SUPPORTED_CLIS = Object.keys(CLIS_CONFIG);
5
5
 
6
6
  //#endregion
7
7
  export { SUPPORTED_CLIS as t };
8
- //# sourceMappingURL=SUPPORTED_CLIS-B8h4HDbI.js.map
8
+ //# sourceMappingURL=SUPPORTED_CLIS-hTRegnm5.js.map
@@ -2,10 +2,10 @@ import "./logger-CDIsZ-Pp.js";
2
2
  import "./JsonlStore-BqF7AQ6E.js";
3
3
  import "./globalPidIndex-DoaKEUkO.js";
4
4
  import "./pidStore-B73xnAeT.js";
5
- import "./messageLog-Brx3w6zT.js";
5
+ import "./messageLog-CVRSTLza.js";
6
6
  import "./e2e-z1xpwSAg.js";
7
7
  import "./configShared-DKTgiz7K.js";
8
- import { J as resolveOne } from "./subcommands-l-3GsPd2.js";
8
+ import { J as resolveOne } from "./subcommands-D6LBtVPM.js";
9
9
  import "./notifyStore-2SWKGwZI.js";
10
10
  import "./webrtcLink-DLaJfTcB.js";
11
11
  import "./remotes-DTXPW8U1.js";
@@ -232,4 +232,4 @@ function transformEvent(rawEvent, agentId, forwarded) {
232
232
 
233
233
  //#endregion
234
234
  export { createScopedShare, listShares, revokeAllShares, revokeShare };
235
- //# sourceMappingURL=agentShare-ayWLVswr.js.map
235
+ //# sourceMappingURL=agentShare-C_LTEKEb.js.map
@@ -2,14 +2,14 @@ import "./logger-CDIsZ-Pp.js";
2
2
  import "./JsonlStore-BqF7AQ6E.js";
3
3
  import "./globalPidIndex-DoaKEUkO.js";
4
4
  import "./pidStore-B73xnAeT.js";
5
- import "./messageLog-Brx3w6zT.js";
5
+ import "./messageLog-CVRSTLza.js";
6
6
  import "./e2e-z1xpwSAg.js";
7
7
  import "./configShared-DKTgiz7K.js";
8
- import "./subcommands-l-3GsPd2.js";
8
+ import "./subcommands-D6LBtVPM.js";
9
9
  import "./notifyStore-2SWKGwZI.js";
10
10
  import "./webrtcLink-DLaJfTcB.js";
11
11
  import "./remotes-DTXPW8U1.js";
12
12
  import "./callbackCore-Bl2gGcxg.js";
13
- import { i as loadOrCreateCallbackSecret, n as isCallbackRevoked, r as loadCallbackSecretReadOnly, t as cmdCallback } from "./callback-B_CU27tE.js";
13
+ import { i as loadOrCreateCallbackSecret, n as isCallbackRevoked, r as loadCallbackSecretReadOnly, t as cmdCallback } from "./callback-DAQ8wCtJ.js";
14
14
 
15
15
  export { cmdCallback };
@@ -1,5 +1,5 @@
1
1
  import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
2
- import { J as resolveOne } from "./subcommands-l-3GsPd2.js";
2
+ import { J as resolveOne } from "./subcommands-D6LBtVPM.js";
3
3
  import { a as mintCapability, o as parseExpires } from "./callbackCore-Bl2gGcxg.js";
4
4
  import { randomBytes } from "node:crypto";
5
5
  import { chmodSync, readFileSync, renameSync, writeFileSync } from "node:fs";
@@ -72,7 +72,7 @@ async function resolveBase(flag) {
72
72
  if (flag) return flag;
73
73
  if (process.env.AGENT_YES_CALLBACK_BASE) return process.env.AGENT_YES_CALLBACK_BASE;
74
74
  try {
75
- const { resolveLocalServeUrl } = await import("./serve-DNyIhS1P.js");
75
+ const { resolveLocalServeUrl } = await import("./serve-B2nisui8.js");
76
76
  const url = await resolveLocalServeUrl();
77
77
  if (url) return url;
78
78
  } catch {}
@@ -187,4 +187,4 @@ async function cmdCallback(rest) {
187
187
 
188
188
  //#endregion
189
189
  export { loadOrCreateCallbackSecret as i, isCallbackRevoked as n, loadCallbackSecretReadOnly as r, cmdCallback as t };
190
- //# sourceMappingURL=callback-B_CU27tE.js.map
190
+ //# sourceMappingURL=callback-DAQ8wCtJ.js.map
package/dist/cli.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bun
2
2
  import { t as invokedCliName } from "./invokedCli-zdFbz1ST.js";
3
3
  import { n as logger } from "./logger-CDIsZ-Pp.js";
4
- import { a as versionString, r as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-CD5kYnMV.js";
5
- import { l as getRustBinary } from "./rustBinary-CodCk4H6.js";
4
+ import { a as versionString, r as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-CMjS88mL.js";
5
+ import { l as getRustBinary } from "./rustBinary-jO6EN8LR.js";
6
6
  import { argv } from "process";
7
7
  import { spawn } from "child_process";
8
8
  import ms from "ms";
@@ -295,7 +295,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
295
295
  const rawArg = process.argv[2];
296
296
  const managerCommands = !invokedCliName(process.argv);
297
297
  const isHelpFlag = rawArg === "-h" || rawArg === "--help";
298
- const { isSubcommand, runSubcommand, cmdHelp, isUnknownManagerToken, isBareManagerInvocation } = await import("./subcommands-DdXB9-J0.js");
298
+ const { isSubcommand, runSubcommand, cmdHelp, isUnknownManagerToken, isBareManagerInvocation } = await import("./subcommands-BpFdlCY0.js");
299
299
  if (isHelpFlag && process.argv.length === 3) {
300
300
  await cmdHelp(managerCommands);
301
301
  process.exit(0);
@@ -309,7 +309,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
309
309
  process.exit(code ?? 0);
310
310
  }
311
311
  {
312
- const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-CYFiEa-D.js");
312
+ const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-CuvT3tKq.js");
313
313
  if (isUnknownManagerToken(rawArg, managerCommands, SUPPORTED_CLIS)) {
314
314
  process.stderr.write(`ay: unknown subcommand or CLI '${rawArg}'.\n See 'ay help' for subcommands. To run an agent, name a CLI:\n 'ay <cli> …' (e.g. 'ay claude …') or 'ay --cli <cli> …'.\n`);
315
315
  process.exit(1);
@@ -360,7 +360,7 @@ if (config.useRust) {
360
360
  }
361
361
  }
362
362
  if (rustBinary) {
363
- const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-CYFiEa-D.js");
363
+ const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-CuvT3tKq.js");
364
364
  const rustArgs = buildRustArgs(process.argv, config.cli, SUPPORTED_CLIS);
365
365
  if (config.verbose) {
366
366
  console.log(`[rust] Using binary: ${rustBinary}`);
@@ -2,10 +2,10 @@ import "./logger-CDIsZ-Pp.js";
2
2
  import "./JsonlStore-BqF7AQ6E.js";
3
3
  import "./globalPidIndex-DoaKEUkO.js";
4
4
  import "./pidStore-B73xnAeT.js";
5
- import "./messageLog-Brx3w6zT.js";
5
+ import "./messageLog-CVRSTLza.js";
6
6
  import "./e2e-z1xpwSAg.js";
7
7
  import "./configShared-DKTgiz7K.js";
8
- import { F as listRecords, dt as buildAgentForest, ft as flattenForest, h as deriveLiveState } from "./subcommands-l-3GsPd2.js";
8
+ import { F as listRecords, dt as buildAgentForest, ft as flattenForest, h as deriveLiveState } from "./subcommands-D6LBtVPM.js";
9
9
  import "./notifyStore-2SWKGwZI.js";
10
10
  import "./webrtcLink-DLaJfTcB.js";
11
11
  import "./remotes-DTXPW8U1.js";
@@ -330,4 +330,4 @@ function readPpidSync(pid) {
330
330
 
331
331
  //#endregion
332
332
  export { cmdPs };
333
- //# sourceMappingURL=cmdPs-DhkeASRW.js.map
333
+ //# sourceMappingURL=cmdPs-BAaLB4Pz.js.map
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./versionChecker-CD5kYnMV.js";
3
- import { a as hasTodoStore, i as answerAsk, l as AgentContext, n as agentYes, o as listAsks, r as config, s as listAsksForProject, t as CLIS_CONFIG } from "./ts-CP3oCEoE.js";
2
+ import "./versionChecker-CMjS88mL.js";
3
+ import { a as hasTodoStore, i as answerAsk, l as AgentContext, n as agentYes, o as listAsks, r as config, s as listAsksForProject, t as CLIS_CONFIG } from "./ts-oyuaLWWx.js";
4
4
  import { a as renderTree, c as describeBlock, i as renderDigest, l as monitorHint, o as unblockedTasks, r as openBlockers, t as reconcileTodos, u as removeControlCharacters } from "./todoAutomation-CbVVS4re.js";
5
5
  import "./JsonlStore-BqF7AQ6E.js";
6
6
  import "./globalPidIndex-DoaKEUkO.js";
7
7
  import "./pidStore-B73xnAeT.js";
8
- import "./messageLog-Brx3w6zT.js";
8
+ import "./messageLog-CVRSTLza.js";
9
9
  import { a as LIFECYCLES, c as initialState, d as requiredGate, f as statesOf, i as DONE_STATE, l as isKnownKind, n as TodoStore, o as ORPHANED_STATE, r as openStore, s as canTransition, t as CycleError, u as nextStates } from "./todoStore-DF6vxHgV.js";
10
10
 
11
11
  export { AgentContext, CLIS_CONFIG, CycleError, DONE_STATE, LIFECYCLES, ORPHANED_STATE, TodoStore, answerAsk, canTransition, config, agentYes as default, describeBlock, hasTodoStore, initialState, isKnownKind, listAsks, listAsksForProject, monitorHint, nextStates, openBlockers, openStore, reconcileTodos, removeControlCharacters, renderDigest, renderTree, requiredGate, statesOf, unblockedTasks };
@@ -127,7 +127,6 @@ function senderLabel(record) {
127
127
  const name = `${record.from.cli} #${record.from.pid}`;
128
128
  if (record.from_via === "ancestry") return `${name} (via process tree)`;
129
129
  if (record.from_via === "env-uncorroborated") return `${name} (UNCORROBORATED)`;
130
- if (record.from_via === "env-unverified") return `${name} (unverified)`;
131
130
  return name;
132
131
  }
133
132
  if (record.sender_observed) {
@@ -221,4 +220,4 @@ async function readMailbox(cwd, box) {
221
220
 
222
221
  //#endregion
223
222
  export { recordOutbox as a, recordMessage as i, readMailbox as n, senderLabel as o, recordInbox as r, isTerminalReply as s, partyMatches as t };
224
- //# sourceMappingURL=messageLog-Brx3w6zT.js.map
223
+ //# sourceMappingURL=messageLog-CVRSTLza.js.map
@@ -2,10 +2,10 @@ import { n as logger } from "./logger-CDIsZ-Pp.js";
2
2
  import "./JsonlStore-BqF7AQ6E.js";
3
3
  import "./globalPidIndex-DoaKEUkO.js";
4
4
  import "./pidStore-B73xnAeT.js";
5
- import "./messageLog-Brx3w6zT.js";
5
+ import "./messageLog-CVRSTLza.js";
6
6
  import "./e2e-z1xpwSAg.js";
7
7
  import "./configShared-DKTgiz7K.js";
8
- import { D as isPidAlive, F as listRecords, G as renderLogTailLines, h as deriveLiveState } from "./subcommands-l-3GsPd2.js";
8
+ import { D as isPidAlive, F as listRecords, G as renderLogTailLines, h as deriveLiveState } from "./subcommands-D6LBtVPM.js";
9
9
  import { f as readInbox, g as daemonLockOwnerPath, h as daemonLockDir, i as gcInboxes, l as listInboxParents, m as shouldStealLock, n as appendEvent, s as hostId, u as liveWatchers, x as notifyDir } from "./notifyStore-2SWKGwZI.js";
10
10
  import "./webrtcLink-DLaJfTcB.js";
11
11
  import "./remotes-DTXPW8U1.js";
@@ -879,4 +879,4 @@ async function ensureDaemon() {
879
879
 
880
880
  //#endregion
881
881
  export { daemonStatus, ensureDaemon, requestDaemonStop, runDaemon };
882
- //# sourceMappingURL=notifyDaemon-CmXHjsTR.js.map
882
+ //# sourceMappingURL=notifyDaemon-Dnbe66Fl.js.map
@@ -338,7 +338,7 @@ async function isParentWatching(parentWrapperPid, parentAgentPid, selfAgentPid,
338
338
  logger.debug("[parent-ping] watcher lookup failed:", error);
339
339
  }
340
340
  try {
341
- const { lastReadAt, READ_WINDOW_MS } = await import("./subcommands-DdXB9-J0.js");
341
+ const { lastReadAt, READ_WINDOW_MS } = await import("./subcommands-BpFdlCY0.js");
342
342
  const last = await lastReadAt(`agent:${parentAgentPid}`, selfAgentPid);
343
343
  if (last !== null && now - last <= READ_WINDOW_MS) return true;
344
344
  } catch (error) {
@@ -466,4 +466,4 @@ function startParentPingLoop(opts) {
466
466
 
467
467
  //#endregion
468
468
  export { startParentPingLoop };
469
- //# sourceMappingURL=parentPingLoop-KeiysUA6.js.map
469
+ //# sourceMappingURL=parentPingLoop-DWv-xJoi.js.map
@@ -1,4 +1,4 @@
1
- import "./versionChecker-CD5kYnMV.js";
2
- import { a as gcOldBinaryDirs, c as getDownloadUrl, i as findTrayLauncher, l as getRustBinary, n as findRustBinary, o as getBinDir, r as findSpawnHiddenLauncher, s as getBinaryName, t as downloadBinary } from "./rustBinary-CodCk4H6.js";
1
+ import "./versionChecker-CMjS88mL.js";
2
+ import { a as gcOldBinaryDirs, c as getDownloadUrl, i as findTrayLauncher, l as getRustBinary, n as findRustBinary, o as getBinDir, r as findSpawnHiddenLauncher, s as getBinaryName, t as downloadBinary } from "./rustBinary-jO6EN8LR.js";
3
3
 
4
4
  export { gcOldBinaryDirs };
@@ -1,4 +1,4 @@
1
- import { i as getInstalledPackage, n as compareVersions } from "./versionChecker-CD5kYnMV.js";
1
+ import { i as getInstalledPackage, n as compareVersions } from "./versionChecker-CMjS88mL.js";
2
2
  import { execFileSync } from "child_process";
3
3
  import { existsSync, mkdirSync, readdirSync, rmSync, statSync, unlinkSync } from "fs";
4
4
  import { chmod, copyFile } from "fs/promises";
@@ -310,4 +310,4 @@ async function getRustBinary(options = {}) {
310
310
 
311
311
  //#endregion
312
312
  export { gcOldBinaryDirs as a, getDownloadUrl as c, findTrayLauncher as i, getRustBinary as l, findRustBinary as n, getBinDir as o, findSpawnHiddenLauncher as r, getBinaryName as s, downloadBinary as t };
313
- //# sourceMappingURL=rustBinary-CodCk4H6.js.map
313
+ //# sourceMappingURL=rustBinary-jO6EN8LR.js.map
@@ -1,13 +1,13 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./versionChecker-CD5kYnMV.js";
3
- import "./ts-CP3oCEoE.js";
2
+ import "./versionChecker-CMjS88mL.js";
3
+ import "./ts-oyuaLWWx.js";
4
4
  import "./todoAutomation-CbVVS4re.js";
5
5
  import "./JsonlStore-BqF7AQ6E.js";
6
6
  import "./globalPidIndex-DoaKEUkO.js";
7
7
  import "./pidStore-B73xnAeT.js";
8
- import "./messageLog-Brx3w6zT.js";
8
+ import "./messageLog-CVRSTLza.js";
9
9
  import "./todoStore-DF6vxHgV.js";
10
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-B8h4HDbI.js";
10
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-hTRegnm5.js";
11
11
  import { f as resolveSpawnCwd } from "./workspaceConfig-DTvPtr5j.js";
12
12
  import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-CipjIwfO.js";
13
13
  import { createHash } from "node:crypto";
@@ -154,4 +154,4 @@ async function cmdSchedule(rest) {
154
154
 
155
155
  //#endregion
156
156
  export { cmdSchedule };
157
- //# sourceMappingURL=schedule-C5yNmuAS.js.map
157
+ //# sourceMappingURL=schedule-Hao0WqyJ.js.map
@@ -1,30 +1,30 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import { i as getInstalledPackage } from "./versionChecker-CD5kYnMV.js";
3
- import { r as findSpawnHiddenLauncher } from "./rustBinary-CodCk4H6.js";
4
- import { c as permissionBadge, i as answerAsk, o as listAsks, u as CLAUDE_SESSION_PIN_ENV } from "./ts-CP3oCEoE.js";
2
+ import { i as getInstalledPackage } from "./versionChecker-CMjS88mL.js";
3
+ import { r as findSpawnHiddenLauncher } from "./rustBinary-jO6EN8LR.js";
4
+ import { c as permissionBadge, i as answerAsk, o as listAsks, u as CLAUDE_SESSION_PIN_ENV } from "./ts-oyuaLWWx.js";
5
5
  import { t as agentYesHome$1 } from "./agentYesHome-BNtn19J4.js";
6
6
  import { u as removeControlCharacters } from "./todoAutomation-CbVVS4re.js";
7
7
  import "./JsonlStore-BqF7AQ6E.js";
8
8
  import { a as updateGlobalPidStatus } from "./globalPidIndex-DoaKEUkO.js";
9
9
  import "./pidStore-B73xnAeT.js";
10
- import { r as recordInbox, s as isTerminalReply } from "./messageLog-Brx3w6zT.js";
10
+ import { r as recordInbox, s as isTerminalReply } from "./messageLog-CVRSTLza.js";
11
11
  import { t as pgidForWrapper } from "./reaper-UimuuTfO.js";
12
12
  import "./todoStore-DF6vxHgV.js";
13
13
  import "./e2e-z1xpwSAg.js";
14
14
  import "./configShared-DKTgiz7K.js";
15
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-B8h4HDbI.js";
16
- import { B as readLogForRender, F as listRecords, G as renderLogTailLines, H as readPtysize, J as resolveOne, K as renderRawLog, M as isUserTyping, O as isSlashCommand, S as extractTaskCounts, U as recentMessageEdges, V as readNotes, W as recentReadEdges, ct as framePaste, et as snapshotStatus, g as deriveLiveStatus, lt as shouldFramePaste, ot as writeToIpc, p as controlCodeFromName, q as renderRawLogLines, st as withIpcLock, u as cliDefaults, ut as TYPING_BADGE, x as extractNeedsInput, y as extractBadges } from "./subcommands-l-3GsPd2.js";
15
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-hTRegnm5.js";
16
+ import { B as readLogForRender, F as listRecords, G as renderLogTailLines, H as readPtysize, J as resolveOne, K as renderRawLog, M as isUserTyping, O as isSlashCommand, S as extractTaskCounts, U as recentMessageEdges, V as readNotes, W as recentReadEdges, ct as framePaste, et as snapshotStatus, g as deriveLiveStatus, lt as shouldFramePaste, ot as writeToIpc, p as controlCodeFromName, q as renderRawLogLines, st as withIpcLock, u as cliDefaults, ut as TYPING_BADGE, x as extractNeedsInput, y as extractBadges } from "./subcommands-D6LBtVPM.js";
17
17
  import { c as isTransientLockMkdirError } from "./notifyStore-2SWKGwZI.js";
18
18
  import "./webrtcLink-DLaJfTcB.js";
19
19
  import "./remotes-DTXPW8U1.js";
20
20
  import { i as frameVisitorMessage, s as verifyCapability, t as MAX_CALLBACK_MSG_BYTES } from "./callbackCore-Bl2gGcxg.js";
21
- import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-B_CU27tE.js";
21
+ import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-DAQ8wCtJ.js";
22
22
  import { n as sampleTrees } from "./procStats-CyD8h5nx.js";
23
23
  import { a as getProvisionRoot, d as isProvisionAllowed, f as resolveSpawnCwd, i as getProvisionHook, l as hasProvisionHook, o as getSpawnHook, t as allowsSkipPermissions, u as hasSpawnHook } from "./workspaceConfig-DTvPtr5j.js";
24
24
  import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-CipjIwfO.js";
25
- import { i as importProvisionModule } from "./ws-PPWOt1Cp.js";
25
+ import { i as importProvisionModule } from "./ws-BeMouYAU.js";
26
26
  import { r as spawnRejectionReason } from "./spawnGate-B26UnzqP.js";
27
- import { i as launchTray } from "./trayApp-CRZiF8_W.js";
27
+ import { i as launchTray } from "./trayApp-BdNlQCFx.js";
28
28
  import yargs from "yargs";
29
29
  import { appendFile, mkdir, open, readFile, readdir, rename, rm, stat, unlink, writeFile } from "fs/promises";
30
30
  import { arch, cpus, freemem, homedir, hostname, loadavg, platform, totalmem, uptime, userInfo } from "os";
@@ -2563,7 +2563,7 @@ Options:
2563
2563
  }
2564
2564
  });
2565
2565
  if (req.method === "GET" && p === "/api/ws") {
2566
- const ws = await import("./ws-3oMbybMM.js");
2566
+ const ws = await import("./ws-qZy7Giub.js");
2567
2567
  try {
2568
2568
  await ws.loadProvision();
2569
2569
  } catch (e) {
@@ -2583,7 +2583,7 @@ Options:
2583
2583
  if (req.method === "GET" && p === "/api/ws/status") {
2584
2584
  const dirRaw = url.searchParams.get("path");
2585
2585
  if (!dirRaw) return new Response("missing ?path=<workspace dir>", { status: 400 });
2586
- const ws = await import("./ws-3oMbybMM.js");
2586
+ const ws = await import("./ws-qZy7Giub.js");
2587
2587
  let prov;
2588
2588
  try {
2589
2589
  prov = await ws.loadProvision();
@@ -2605,7 +2605,7 @@ Options:
2605
2605
  }
2606
2606
  }
2607
2607
  if (req.method === "GET" && p === "/api/ws/repos") {
2608
- const ws = await import("./ws-3oMbybMM.js");
2608
+ const ws = await import("./ws-qZy7Giub.js");
2609
2609
  try {
2610
2610
  await ws.loadProvision();
2611
2611
  } catch (e) {
@@ -2686,7 +2686,7 @@ Options:
2686
2686
  const m = /^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)$/.exec(repoParam);
2687
2687
  if (!m || m[1] === "." || m[1] === ".." || m[2] === "." || m[2] === "..") return new Response("missing/invalid ?repo=<owner>/<repo>", { status: 400 });
2688
2688
  const [, owner, repo] = m;
2689
- const ws = await import("./ws-3oMbybMM.js");
2689
+ const ws = await import("./ws-qZy7Giub.js");
2690
2690
  let prov;
2691
2691
  try {
2692
2692
  prov = await ws.loadProvision();
@@ -3604,7 +3604,7 @@ Options:
3604
3604
  const perm = body.perm ?? "r";
3605
3605
  if (perm !== "r" && perm !== "rw") return new Response(`invalid perm ${perm} (want r or rw)`, { status: 400 });
3606
3606
  try {
3607
- const { createScopedShare } = await import("./agentShare-ayWLVswr.js");
3607
+ const { createScopedShare } = await import("./agentShare-C_LTEKEb.js");
3608
3608
  const share = await createScopedShare({
3609
3609
  agent: body.agent,
3610
3610
  perm,
@@ -3619,12 +3619,12 @@ Options:
3619
3619
  }
3620
3620
  }
3621
3621
  if (req.method === "GET" && p === "/api/shares") {
3622
- const { listShares } = await import("./agentShare-ayWLVswr.js");
3622
+ const { listShares } = await import("./agentShare-C_LTEKEb.js");
3623
3623
  return Response.json(listShares());
3624
3624
  }
3625
3625
  const revokeM = /^\/api\/share\/([^/]+)$/.exec(p);
3626
3626
  if (req.method === "DELETE" && revokeM) {
3627
- const { revokeShare } = await import("./agentShare-ayWLVswr.js");
3627
+ const { revokeShare } = await import("./agentShare-C_LTEKEb.js");
3628
3628
  const ok = revokeShare(decodeURIComponent(revokeM[1]));
3629
3629
  return new Response(ok ? "revoked" : "no such share", { status: ok ? 200 : 404 });
3630
3630
  }
@@ -3931,7 +3931,7 @@ Options:
3931
3931
  const shutdown = (resolve) => {
3932
3932
  if (heartbeat) clearInterval(heartbeat);
3933
3933
  closeShare?.();
3934
- import("./agentShare-ayWLVswr.js").then((m) => m.revokeAllShares()).catch(() => {});
3934
+ import("./agentShare-C_LTEKEb.js").then((m) => m.revokeAllShares()).catch(() => {});
3935
3935
  server?.stop();
3936
3936
  Promise.resolve(releaseHostLock?.()).catch(() => {}).then(resolve);
3937
3937
  };
@@ -3944,4 +3944,4 @@ Options:
3944
3944
 
3945
3945
  //#endregion
3946
3946
  export { cmdServe, loadTokenReadOnly, mintScopedTermToken, resolveDaemonHttpBase, resolveLocalServeUrl };
3947
- //# sourceMappingURL=serve-DNyIhS1P.js.map
3947
+ //# sourceMappingURL=serve-B2nisui8.js.map
@@ -97,7 +97,7 @@ async function cmdSetup(rest) {
97
97
  } catch {}
98
98
  if (noShare) return 0;
99
99
  process.stdout.write(`\nsharing this machine to agent-yes.com…\n`);
100
- const { cmdServe } = await import("./serve-DNyIhS1P.js");
100
+ const { cmdServe } = await import("./serve-B2nisui8.js");
101
101
  return cmdServe([
102
102
  "install",
103
103
  "--share",
@@ -107,4 +107,4 @@ async function cmdSetup(rest) {
107
107
 
108
108
  //#endregion
109
109
  export { cmdSetup };
110
- //# sourceMappingURL=setup-CyXR-1r4.js.map
110
+ //# sourceMappingURL=setup-vCDTqyqR.js.map
@@ -2,10 +2,10 @@ import "./logger-CDIsZ-Pp.js";
2
2
  import "./JsonlStore-BqF7AQ6E.js";
3
3
  import "./globalPidIndex-DoaKEUkO.js";
4
4
  import "./pidStore-B73xnAeT.js";
5
- import "./messageLog-Brx3w6zT.js";
5
+ import "./messageLog-CVRSTLza.js";
6
6
  import "./e2e-z1xpwSAg.js";
7
7
  import "./configShared-DKTgiz7K.js";
8
- import { $ as sendPayloadCapError, A as isUnknownManagerToken, B as readLogForRender, C as finalizedLines, D as isPidAlive, E as isExitRequest, F as listRecords, G as renderLogTailLines, H as readPtysize, I as matchKeyword, J as resolveOne, K as renderRawLog, L as menuSelectKeys, M as isUserTyping, N as lastReadAt, O as isSlashCommand, P as lastStdinAt, Q as runSubcommand, R as probeStdinReachable, S as extractTaskCounts, T as isBareManagerInvocation, U as recentMessageEdges, V as readNotes, W as recentReadEdges, X as resolveResumeArgs, Y as resolveReadWindow, Z as restartHintLines, _ as envelopeAttribution, a as SEND_BODY_MAX_CHARS, at as writeKeysPaced, b as extractMenu, c as backoffWhileTyping, d as cmdHelp, et as snapshotStatus, f as confirmStdinUnreachable, g as deriveLiveStatus, h as deriveLiveState, i as READ_WINDOW_MS, it as waitForLogQuiet, j as isUnreachableWriteErrno, k as isSubcommand, l as buildEnvelope, m as cursorAbs, n as MAX_RENDER_BYTES, nt as stopTipForCli, o as SEND_EXIT_UNREACHABLE, ot as writeToIpc, p as controlCodeFromName, q as renderRawLogLines, r as READ_PAGE_DEFAULT, rt as submitAndConfirm, s as TYPING_WINDOW_MS, t as GRACEFUL_EXIT_COMMANDS, tt as stdinActivityPath, u as cliDefaults, v as envelopeCostFor, w as isAgentStuck, x as extractNeedsInput, y as extractBadges, z as readAgentPtysize } from "./subcommands-l-3GsPd2.js";
8
+ import { $ as sendPayloadCapError, A as isUnknownManagerToken, B as readLogForRender, C as finalizedLines, D as isPidAlive, E as isExitRequest, F as listRecords, G as renderLogTailLines, H as readPtysize, I as matchKeyword, J as resolveOne, K as renderRawLog, L as menuSelectKeys, M as isUserTyping, N as lastReadAt, O as isSlashCommand, P as lastStdinAt, Q as runSubcommand, R as probeStdinReachable, S as extractTaskCounts, T as isBareManagerInvocation, U as recentMessageEdges, V as readNotes, W as recentReadEdges, X as resolveResumeArgs, Y as resolveReadWindow, Z as restartHintLines, _ as envelopeAttribution, a as SEND_BODY_MAX_CHARS, at as writeKeysPaced, b as extractMenu, c as backoffWhileTyping, d as cmdHelp, et as snapshotStatus, f as confirmStdinUnreachable, g as deriveLiveStatus, h as deriveLiveState, i as READ_WINDOW_MS, it as waitForLogQuiet, j as isUnreachableWriteErrno, k as isSubcommand, l as buildEnvelope, m as cursorAbs, n as MAX_RENDER_BYTES, nt as stopTipForCli, o as SEND_EXIT_UNREACHABLE, ot as writeToIpc, p as controlCodeFromName, q as renderRawLogLines, r as READ_PAGE_DEFAULT, rt as submitAndConfirm, s as TYPING_WINDOW_MS, t as GRACEFUL_EXIT_COMMANDS, tt as stdinActivityPath, u as cliDefaults, v as envelopeCostFor, w as isAgentStuck, x as extractNeedsInput, y as extractBadges, z as readAgentPtysize } from "./subcommands-D6LBtVPM.js";
9
9
  import "./notifyStore-2SWKGwZI.js";
10
10
  import "./webrtcLink-DLaJfTcB.js";
11
11
  import "./remotes-DTXPW8U1.js";
@@ -2,7 +2,7 @@ import { t as invokedCliName } from "./invokedCli-zdFbz1ST.js";
2
2
  import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
3
3
  import { a as updateGlobalPidStatus, i as readGlobalPids } from "./globalPidIndex-DoaKEUkO.js";
4
4
  import { t as PidStore } from "./pidStore-B73xnAeT.js";
5
- import { a as recordOutbox, i as recordMessage, n as readMailbox, o as senderLabel, t as partyMatches } from "./messageLog-Brx3w6zT.js";
5
+ import { a as recordOutbox, i as recordMessage, n as readMailbox, o as senderLabel, t as partyMatches } from "./messageLog-CVRSTLza.js";
6
6
  import { t as loadSharedCliDefaults } from "./configShared-DKTgiz7K.js";
7
7
  import { n as localHost, r as localUser, t as formatIdentity } from "./identity-CKRuYUFi.js";
8
8
  import { n as isWorkingScreen, r as parseMenu, t as classifyNeedsInput } from "./needsInput-BHopZGM8.js";
@@ -949,20 +949,10 @@ async function computeSenderVia() {
949
949
  return ageMatchesRegistration(table?.get(pid)?.ageSecs, rec.started_at) ? rec : null;
950
950
  };
951
951
  const inherited = table ? await findAgentAncestor(process.pid, isLiveAgent, { readTable: async () => table }) : null;
952
- if (declared) {
953
- if (inherited?.pid === declared.pid) return {
954
- agent: declared,
955
- via: "env"
956
- };
957
- if (inherited) return {
958
- agent: declared,
959
- via: "env-uncorroborated"
960
- };
961
- return {
962
- agent: declared,
963
- via: "env-unverified"
964
- };
965
- }
952
+ if (declared) return {
953
+ agent: declared,
954
+ via: inherited?.pid === declared.pid ? "env" : "env-uncorroborated"
955
+ };
966
956
  if (inherited) return {
967
957
  agent: inherited,
968
958
  via: "ancestry"
@@ -1236,7 +1226,6 @@ function envelopeAttribution(via) {
1236
1226
  switch (via) {
1237
1227
  case "ancestry": return " via process-tree";
1238
1228
  case "env-uncorroborated": return " UNCORROBORATED-SENDER";
1239
- case "env-unverified": return "";
1240
1229
  default: return "";
1241
1230
  }
1242
1231
  }
@@ -1367,7 +1356,7 @@ async function runSubcommand(argv) {
1367
1356
  switch (sub) {
1368
1357
  case "ls":
1369
1358
  case "list": return await cmdLs(rest);
1370
- case "ps": return await (await import("./cmdPs-DhkeASRW.js")).cmdPs(rest);
1359
+ case "ps": return await (await import("./cmdPs-BAaLB4Pz.js")).cmdPs(rest);
1371
1360
  case "status": return await cmdStatus(rest);
1372
1361
  case "whoami": return await cmdWhoami(rest);
1373
1362
  case "result": return await cmdResult(rest);
@@ -1414,35 +1403,35 @@ async function runSubcommand(argv) {
1414
1403
  return cmdCh(rest);
1415
1404
  }
1416
1405
  case "term": {
1417
- const { cmdTerm } = await import("./terminal-jOYz-l2I.js");
1406
+ const { cmdTerm } = await import("./terminal-iGHEnc7Z.js");
1418
1407
  return cmdTerm(rest);
1419
1408
  }
1420
1409
  case "widget": {
1421
- const { cmdWidget } = await import("./widget-BGmYin1-.js");
1410
+ const { cmdWidget } = await import("./widget-OvkqW2Z6.js");
1422
1411
  return cmdWidget(rest);
1423
1412
  }
1424
1413
  case "mint": {
1425
- const { cmdMint } = await import("./widget-BGmYin1-.js");
1414
+ const { cmdMint } = await import("./widget-OvkqW2Z6.js");
1426
1415
  return cmdMint(rest);
1427
1416
  }
1428
1417
  case "serve": {
1429
- const { cmdServe } = await import("./serve-DNyIhS1P.js");
1418
+ const { cmdServe } = await import("./serve-B2nisui8.js");
1430
1419
  return cmdServe(rest);
1431
1420
  }
1432
1421
  case "tray": {
1433
- const { cmdTray } = await import("./trayApp-CGKFuNvI.js");
1422
+ const { cmdTray } = await import("./trayApp-Br2T2Yrb.js");
1434
1423
  return cmdTray(rest);
1435
1424
  }
1436
1425
  case "setup": {
1437
- const { cmdSetup } = await import("./setup-CyXR-1r4.js");
1426
+ const { cmdSetup } = await import("./setup-vCDTqyqR.js");
1438
1427
  return cmdSetup(rest);
1439
1428
  }
1440
1429
  case "ws": {
1441
- const { cmdWs } = await import("./ws-3oMbybMM.js");
1430
+ const { cmdWs } = await import("./ws-qZy7Giub.js");
1442
1431
  return cmdWs(rest);
1443
1432
  }
1444
1433
  case "schedule": {
1445
- const { cmdSchedule } = await import("./schedule-C5yNmuAS.js");
1434
+ const { cmdSchedule } = await import("./schedule-Hao0WqyJ.js");
1446
1435
  return cmdSchedule(rest);
1447
1436
  }
1448
1437
  case "remote": {
@@ -1454,7 +1443,7 @@ async function runSubcommand(argv) {
1454
1443
  return cmdExpose(rest);
1455
1444
  }
1456
1445
  case "callback": {
1457
- const { cmdCallback } = await import("./callback-BKAJG4wM.js");
1446
+ const { cmdCallback } = await import("./callback-BEvLUUBR.js");
1458
1447
  return cmdCallback(rest);
1459
1448
  }
1460
1449
  case "reap":
@@ -1465,7 +1454,7 @@ async function runSubcommand(argv) {
1465
1454
  return await cmdDsh(rest);
1466
1455
  }
1467
1456
  case "gc": {
1468
- const { gcOldBinaryDirs } = await import("./rustBinary-B0bth98r.js");
1457
+ const { gcOldBinaryDirs } = await import("./rustBinary-CZRPfa4y.js");
1469
1458
  const res = gcOldBinaryDirs();
1470
1459
  if (res.removed.length === 0) process.stdout.write("no old agent-yes binary cache dirs to remove\n");
1471
1460
  else {
@@ -4138,7 +4127,7 @@ async function cmdAttach(rest) {
4138
4127
  const winsizeDir = path.join(ayHome, "winsize");
4139
4128
  await mkdir(winsizeDir, { recursive: true });
4140
4129
  const winsizePath = path.join(winsizeDir, String(record.pid));
4141
- const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-DNyIhS1P.js");
4130
+ const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-B2nisui8.js");
4142
4131
  const daemonBase = await resolveDaemonHttpBase().catch(() => null);
4143
4132
  const daemonToken = daemonBase ? await loadTokenReadOnly().catch(() => null) ?? "" : "";
4144
4133
  const capViewer = `attach:${process.pid}`;
@@ -4861,7 +4850,7 @@ async function cmdNotify(rest) {
4861
4850
  }
4862
4851
  const ensure = async () => {
4863
4852
  if (!argv["ensure-daemon"]) return;
4864
- const { ensureDaemon } = await import("./notifyDaemon-CmXHjsTR.js");
4853
+ const { ensureDaemon } = await import("./notifyDaemon-Dnbe66Fl.js");
4865
4854
  await ensureDaemon().catch(() => null);
4866
4855
  };
4867
4856
  await heartbeatWatcher(parent, selfStartedAt);
@@ -4935,7 +4924,7 @@ async function cmdNotifyCursor(args) {
4935
4924
  }
4936
4925
  async function cmdNotifyd(rest) {
4937
4926
  const sub = rest[0] ?? "status";
4938
- const daemon = await import("./notifyDaemon-CmXHjsTR.js");
4927
+ const daemon = await import("./notifyDaemon-Dnbe66Fl.js");
4939
4928
  switch (sub) {
4940
4929
  case "run": return daemon.runDaemon();
4941
4930
  case "once": return daemon.runDaemon({ once: true });
@@ -4962,4 +4951,4 @@ async function cmdNotifyd(rest) {
4962
4951
 
4963
4952
  //#endregion
4964
4953
  export { sendPayloadCapError as $, isUnknownManagerToken as A, readLogForRender as B, finalizedLines as C, isPidAlive as D, isExitRequest as E, listRecords as F, renderLogTailLines as G, readPtysize as H, matchKeyword as I, resolveOne as J, renderRawLog as K, menuSelectKeys as L, isUserTyping as M, lastReadAt as N, isSlashCommand as O, lastStdinAt as P, runSubcommand as Q, probeStdinReachable as R, extractTaskCounts as S, isBareManagerInvocation as T, recentMessageEdges as U, readNotes as V, recentReadEdges as W, resolveResumeArgs as X, resolveReadWindow as Y, restartHintLines as Z, envelopeAttribution as _, SEND_BODY_MAX_CHARS as a, writeKeysPaced as at, extractMenu as b, backoffWhileTyping as c, framePaste as ct, cmdHelp as d, buildAgentForest as dt, snapshotStatus as et, confirmStdinUnreachable as f, flattenForest as ft, deriveLiveStatus as g, deriveLiveState as h, READ_WINDOW_MS as i, waitForLogQuiet as it, isUnreachableWriteErrno as j, isSubcommand as k, buildEnvelope as l, shouldFramePaste as lt, cursorAbs as m, MAX_RENDER_BYTES as n, stopTipForCli as nt, SEND_EXIT_UNREACHABLE as o, writeToIpc as ot, controlCodeFromName as p, renderRawLogLines as q, READ_PAGE_DEFAULT as r, submitAndConfirm as rt, TYPING_WINDOW_MS as s, withIpcLock as st, GRACEFUL_EXIT_COMMANDS as t, stdinActivityPath as tt, cliDefaults as u, TYPING_BADGE as ut, envelopeCostFor as v, isAgentStuck as w, extractNeedsInput as x, extractBadges as y, readAgentPtysize as z };
4965
- //# sourceMappingURL=subcommands-l-3GsPd2.js.map
4954
+ //# sourceMappingURL=subcommands-D6LBtVPM.js.map
@@ -98,7 +98,7 @@ async function cmdTermMint(args) {
98
98
  if (flags.ro && flags.interactive) throw new Error("--ro and --interactive are mutually exclusive");
99
99
  const ttlSec = parseTtlSec(typeof flags.ttl === "string" ? flags.ttl : "15m");
100
100
  const canSend = flags.interactive === true;
101
- const { mintScopedTermToken } = await import("./serve-DNyIhS1P.js");
101
+ const { mintScopedTermToken } = await import("./serve-B2nisui8.js");
102
102
  const r = await mintScopedTermToken(pid, {
103
103
  ttlSec,
104
104
  canSend
@@ -135,4 +135,4 @@ async function cmdTerm(args) {
135
135
 
136
136
  //#endregion
137
137
  export { cmdTerm };
138
- //# sourceMappingURL=terminal-jOYz-l2I.js.map
138
+ //# sourceMappingURL=terminal-iGHEnc7Z.js.map
@@ -1,4 +1,4 @@
1
- import { i as findTrayLauncher } from "./rustBinary-CodCk4H6.js";
1
+ import { i as findTrayLauncher } from "./rustBinary-jO6EN8LR.js";
2
2
  import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
3
3
  import { existsSync } from "node:fs";
4
4
  import path from "node:path";
@@ -97,4 +97,4 @@ async function cmdTray(args) {
97
97
 
98
98
  //#endregion
99
99
  export { trayHiddenMarker as a, launchTray as i, hasDesktop as n, isTrayHidden as r, cmdTray as t };
100
- //# sourceMappingURL=trayApp-CRZiF8_W.js.map
100
+ //# sourceMappingURL=trayApp-BdNlQCFx.js.map
@@ -0,0 +1,5 @@
1
+ import "./versionChecker-CMjS88mL.js";
2
+ import "./rustBinary-jO6EN8LR.js";
3
+ import { a as trayHiddenMarker, i as launchTray, n as hasDesktop, r as isTrayHidden, t as cmdTray } from "./trayApp-BdNlQCFx.js";
4
+
5
+ export { cmdTray };
@@ -1,12 +1,12 @@
1
1
  import { n as __esmMin, r as __exportAll } from "./chunk-cZBX9HZv.js";
2
2
  import { n as logger, t as addTransport } from "./logger-CDIsZ-Pp.js";
3
- import { i as getInstalledPackage } from "./versionChecker-CD5kYnMV.js";
3
+ import { i as getInstalledPackage } from "./versionChecker-CMjS88mL.js";
4
4
  import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
5
5
  import { u as removeControlCharacters } from "./todoAutomation-CbVVS4re.js";
6
6
  import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-BOIPD_Vs.js";
7
7
  import { i as readGlobalPids } from "./globalPidIndex-DoaKEUkO.js";
8
8
  import { t as PidStore } from "./pidStore-B73xnAeT.js";
9
- import { r as recordInbox } from "./messageLog-Brx3w6zT.js";
9
+ import { r as recordInbox } from "./messageLog-CVRSTLza.js";
10
10
  import { n as register, r as sweep } from "./reaper-UimuuTfO.js";
11
11
  import { a as LIFECYCLES, r as openStore } from "./todoStore-DF6vxHgV.js";
12
12
  import { arch, platform } from "process";
@@ -2086,7 +2086,7 @@ async function agentYes({ cli, cliArgs = [], skipPermissions = false, prompt, ro
2086
2086
  }, 100);
2087
2087
  const cleanupHeartbeat = () => clearInterval(heartbeatInterval);
2088
2088
  shell.onExit(cleanupHeartbeat);
2089
- const { startParentPingLoop } = await import("./parentPingLoop-KeiysUA6.js");
2089
+ const { startParentPingLoop } = await import("./parentPingLoop-DWv-xJoi.js");
2090
2090
  const parentPingLoop = startParentPingLoop({
2091
2091
  parentPid,
2092
2092
  selfWrapperPid: process.pid,
@@ -2349,4 +2349,4 @@ function sleep(ms) {
2349
2349
 
2350
2350
  //#endregion
2351
2351
  export { hasTodoStore as a, permissionBadge as c, answerAsk as i, AgentContext as l, agentYes as n, listAsks as o, config as r, listAsksForProject as s, CLIS_CONFIG as t, CLAUDE_SESSION_PIN_ENV as u };
2352
- //# sourceMappingURL=ts-CP3oCEoE.js.map
2352
+ //# sourceMappingURL=ts-oyuaLWWx.js.map
@@ -7,7 +7,7 @@ import { fileURLToPath } from "url";
7
7
 
8
8
  //#region package.json
9
9
  var name = "agent-yes";
10
- var version = "1.290.7-beta.731.1";
10
+ var version = "1.290.7";
11
11
 
12
12
  //#endregion
13
13
  //#region ts/versionChecker.ts
@@ -285,4 +285,4 @@ async function displayVersion() {
285
285
 
286
286
  //#endregion
287
287
  export { versionString as a, getInstalledPackage as i, compareVersions as n, displayVersion as r, checkAndAutoUpdate as t };
288
- //# sourceMappingURL=versionChecker-CD5kYnMV.js.map
288
+ //# sourceMappingURL=versionChecker-CMjS88mL.js.map
@@ -28,7 +28,7 @@ function parseFlags(args, known) {
28
28
  }
29
29
  /** Resolve the local daemon base URL + token (flags override discovery). */
30
30
  async function daemonTarget(flags) {
31
- const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-DNyIhS1P.js");
31
+ const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-B2nisui8.js");
32
32
  const base = typeof flags.base === "string" ? flags.base : await resolveDaemonHttpBase();
33
33
  if (!base) throw new Error("no running ay serve daemon found — start `ay serve` or pass --base <url> (e.g. http://127.0.0.1:PORT)");
34
34
  const token = typeof flags.token === "string" ? flags.token : await loadTokenReadOnly() ?? "";
@@ -186,7 +186,7 @@ async function cmdMint(args) {
186
186
  const bad = caps.filter((c) => !KNOWN_CAPS.has(c));
187
187
  if (bad.length) throw new Error(`unknown cap(s): ${bad.join(", ")} (valid: ${[...KNOWN_CAPS].join(", ")})`);
188
188
  const ttlSec = parseTtlSec(typeof flags.ttl === "string" ? flags.ttl : "15m");
189
- const { mintScopedTermToken } = await import("./serve-DNyIhS1P.js");
189
+ const { mintScopedTermToken } = await import("./serve-B2nisui8.js");
190
190
  const r = await mintScopedTermToken(target, {
191
191
  ttlSec,
192
192
  caps
@@ -202,4 +202,4 @@ async function cmdMint(args) {
202
202
 
203
203
  //#endregion
204
204
  export { cmdMint, cmdWidget };
205
- //# sourceMappingURL=widget-BGmYin1-.js.map
205
+ //# sourceMappingURL=widget-OvkqW2Z6.js.map
@@ -1,4 +1,4 @@
1
- import { F as listRecords } from "./subcommands-l-3GsPd2.js";
1
+ import { F as listRecords } from "./subcommands-D6LBtVPM.js";
2
2
  import { a as getProvisionRoot } from "./workspaceConfig-DTvPtr5j.js";
3
3
  import { existsSync } from "fs";
4
4
  import { lstat, opendir } from "fs/promises";
@@ -424,4 +424,4 @@ async function cmdWs(args) {
424
424
 
425
425
  //#endregion
426
426
  export { isPathInside as a, walkWorkspaces as c, importProvisionModule as i, workspaceStatus as l, cmdWs as n, loadProvision as o, collectWorkspaces as r, resolveOperand as s, WS_JSON_SCHEMA as t };
427
- //# sourceMappingURL=ws-PPWOt1Cp.js.map
427
+ //# sourceMappingURL=ws-BeMouYAU.js.map
@@ -2,13 +2,13 @@ import "./logger-CDIsZ-Pp.js";
2
2
  import "./JsonlStore-BqF7AQ6E.js";
3
3
  import "./globalPidIndex-DoaKEUkO.js";
4
4
  import "./pidStore-B73xnAeT.js";
5
- import "./messageLog-Brx3w6zT.js";
5
+ import "./messageLog-CVRSTLza.js";
6
6
  import "./e2e-z1xpwSAg.js";
7
7
  import "./configShared-DKTgiz7K.js";
8
- import "./subcommands-l-3GsPd2.js";
8
+ import "./subcommands-D6LBtVPM.js";
9
9
  import "./notifyStore-2SWKGwZI.js";
10
10
  import "./webrtcLink-DLaJfTcB.js";
11
11
  import "./remotes-DTXPW8U1.js";
12
- import { a as isPathInside, c as walkWorkspaces, i as importProvisionModule, l as workspaceStatus, n as cmdWs, o as loadProvision, r as collectWorkspaces, s as resolveOperand, t as WS_JSON_SCHEMA } from "./ws-PPWOt1Cp.js";
12
+ import { a as isPathInside, c as walkWorkspaces, i as importProvisionModule, l as workspaceStatus, n as cmdWs, o as loadProvision, r as collectWorkspaces, s as resolveOperand, t as WS_JSON_SCHEMA } from "./ws-BeMouYAU.js";
13
13
 
14
14
  export { WS_JSON_SCHEMA, cmdWs, collectWorkspaces, isPathInside, loadProvision, walkWorkspaces, workspaceStatus };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-yes",
3
- "version": "1.290.7-beta.731.1",
3
+ "version": "1.290.7",
4
4
  "description": "A wrapper tool that automates interactions with various AI CLI tools by automatically handling common prompts and responses.",
5
5
  "keywords": [
6
6
  "ai",
@@ -14,7 +14,6 @@ import {
14
14
  shouldRecord,
15
15
  type MessageRecord,
16
16
  } from "./messageLog.ts";
17
- import { envelopeAttribution } from "./subcommands.ts";
18
17
 
19
18
  function makeRecord(over: Partial<MessageRecord> = {}): MessageRecord {
20
19
  return {
@@ -541,35 +540,3 @@ describe("messageLog sender provenance — derived vs asserted", () => {
541
540
  ).toBe(true);
542
541
  });
543
542
  });
544
-
545
- describe("unverifiable is not contradicted", () => {
546
- // The direction matters more than the fact. Collapsing UNKNOWN into SUSPICIOUS
547
- // trains every reader to dismiss the marker on legitimate traffic, so when a
548
- // real contradiction arrives it reads as more of the same — the alarm is spent
549
- // before its first true positive. The reverse error would merely miss one.
550
- it("stays SILENT in the envelope when there is nothing to disagree with", () => {
551
- expect(envelopeAttribution("env-unverified")).toBe("");
552
- });
553
-
554
- it("keeps the loud marker for a genuine contradiction only", () => {
555
- expect(envelopeAttribution("env-uncorroborated")).toContain("UNCORROBORATED");
556
- });
557
-
558
- it("still records the distinction for a reader who wants it", () => {
559
- // Silent in the body is not the same as thrown away: `ay msgs` shows it,
560
- // and from_via carries it for anything that wants to weigh it.
561
- const from = { pid: 1111, cli: "claude", cwd: "/repo/alpha", agent_id: "agent-A" };
562
- expect(senderLabel(makeRecord({ from, from_via: "env-unverified" }))).toBe(
563
- "claude #1111 (unverified)",
564
- );
565
- expect(senderLabel(makeRecord({ from, from_via: "env-uncorroborated" }))).toBe(
566
- "claude #1111 (UNCORROBORATED)",
567
- );
568
- });
569
-
570
- it("does not weaken the honest path", () => {
571
- const from = { pid: 1111, cli: "claude", cwd: "/repo/alpha", agent_id: "agent-A" };
572
- expect(senderLabel(makeRecord({ from, from_via: "env" }))).toBe("claude #1111");
573
- expect(envelopeAttribution("env")).toBe("");
574
- });
575
- });
@@ -14,7 +14,6 @@ import {
14
14
  shouldRecord,
15
15
  type MessageRecord,
16
16
  } from "./messageLog.ts";
17
- import { envelopeAttribution } from "./subcommands.ts";
18
17
 
19
18
  function makeRecord(over: Partial<MessageRecord> = {}): MessageRecord {
20
19
  return {
@@ -541,35 +540,3 @@ describe("messageLog sender provenance — derived vs asserted", () => {
541
540
  ).toBe(true);
542
541
  });
543
542
  });
544
-
545
- describe("unverifiable is not contradicted", () => {
546
- // The direction matters more than the fact. Collapsing UNKNOWN into SUSPICIOUS
547
- // trains every reader to dismiss the marker on legitimate traffic, so when a
548
- // real contradiction arrives it reads as more of the same — the alarm is spent
549
- // before its first true positive. The reverse error would merely miss one.
550
- it("stays SILENT in the envelope when there is nothing to disagree with", () => {
551
- expect(envelopeAttribution("env-unverified")).toBe("");
552
- });
553
-
554
- it("keeps the loud marker for a genuine contradiction only", () => {
555
- expect(envelopeAttribution("env-uncorroborated")).toContain("UNCORROBORATED");
556
- });
557
-
558
- it("still records the distinction for a reader who wants it", () => {
559
- // Silent in the body is not the same as thrown away: `ay msgs` shows it,
560
- // and from_via carries it for anything that wants to weigh it.
561
- const from = { pid: 1111, cli: "claude", cwd: "/repo/alpha", agent_id: "agent-A" };
562
- expect(senderLabel(makeRecord({ from, from_via: "env-unverified" }))).toBe(
563
- "claude #1111 (unverified)",
564
- );
565
- expect(senderLabel(makeRecord({ from, from_via: "env-uncorroborated" }))).toBe(
566
- "claude #1111 (UNCORROBORATED)",
567
- );
568
- });
569
-
570
- it("does not weaken the honest path", () => {
571
- const from = { pid: 1111, cli: "claude", cwd: "/repo/alpha", agent_id: "agent-A" };
572
- expect(senderLabel(makeRecord({ from, from_via: "env" }))).toBe("claude #1111");
573
- expect(envelopeAttribution("env")).toBe("");
574
- });
575
- });
package/ts/messageLog.ts CHANGED
@@ -183,9 +183,6 @@ export function senderLabel(record: MessageRecord): string {
183
183
  // The one attributed value that is only a claim — say so, since a receiver
184
184
  // weighing whether to act on it cannot otherwise tell it from a fact.
185
185
  if (record.from_via === "env-uncorroborated") return `${name} (UNCORROBORATED)`;
186
- // Visible in a listing, where a human is reading deliberately, but never in
187
- // the envelope — see envelopeAttribution.
188
- if (record.from_via === "env-unverified") return `${name} (unverified)`;
189
186
  return name;
190
187
  }
191
188
  // No agent identified. Say what WAS measured rather than "unattributed" —
@@ -43,22 +43,14 @@ export type SenderVia =
43
43
  /** No env, but an ancestor process is a registered agent. Not forgeable from
44
44
  * inside a message: a process cannot choose its own ancestors. */
45
45
  | "ancestry"
46
- /** `AGENT_YES_PID` named one registered agent while a DIFFERENT registered
47
- * agent is this process's actual ancestor. The two disagree, and the tree is
48
- * the half that cannot be forged — so this is evidence, and the only value
49
- * that says so out loud. */
46
+ /** `AGENT_YES_PID` named a registered agent that is NOT among this process's
47
+ * ancestors, or ancestry could not be read to check. The attribution is the
48
+ * caller's own claim and nothing corroborates it. Any process can export that
49
+ * variable, so this is the one attributed value a receiver should not trust
50
+ * on its own. Kept attributed rather than discarded: a stale env on an honest
51
+ * lane lands here too, and dropping it would be the starvation this exists to
52
+ * end. */
50
53
  | "env-uncorroborated"
51
- /** `AGENT_YES_PID` named a registered agent and the process tree contains no
52
- * registered agent at all — so there is nothing to agree or disagree with.
53
- *
54
- * This is NOT evidence of anything. A detached helper, a process re-parented
55
- * to init, an `ay send` from a background job, or an unreadable process table
56
- * all land here, and every one of them is honest. Distinguishing it from a
57
- * real contradiction is the whole point: the first live firing of the loud
58
- * marker was a legitimate long-lived lane, and a warning that fires on honest
59
- * traffic is one people learn to skip — which destroys the signal for the
60
- * case it was built for. Unknown has to stay expressible AS unknown. */
61
- | "env-unverified"
62
54
  /** Nothing identified the caller; only its observable facts are recorded. */
63
55
  | "observed";
64
56
 
package/ts/subcommands.ts CHANGED
@@ -355,20 +355,12 @@ async function computeSenderVia(): Promise<{ agent: GlobalPidRecord | null; via:
355
355
  // The honest path is unchanged in OUTCOME: the wrapper that injects
356
356
  // AGENT_YES_PID is an ancestor of the `ay send` it spawns, so a normal lane
357
357
  // corroborates and renders exactly as before.
358
- // Three outcomes, not two. Collapsing the last two into one accusation is
359
- // what made the loud marker fire on an honest long-lived lane the first
360
- // time it ever fired.
361
- if (inherited?.pid === declared.pid) return { agent: declared, via: "env" };
362
- // A DIFFERENT registered agent is the real ancestor: the claim and the tree
363
- // disagree, and the tree is the half that cannot be forged. Reported, never
364
- // silently resolved — attributing to the ancestor instead would break an
365
- // honest lane whose tree we misread, and a plain "env" would launder a
366
- // claim into a fact.
367
- if (inherited) return { agent: declared, via: "env-uncorroborated" };
368
- // No registered agent anywhere in the ancestry: nothing agrees OR disagrees.
369
- // A detached helper, a process re-parented to init, an unreadable table.
370
- // Unverifiable is not suspicious, and must not be dressed as it.
371
- return { agent: declared, via: "env-unverified" };
358
+ const corroborated = inherited?.pid === declared.pid;
359
+ // A disagreement is REPORTED, never silently resolved. Attributing to the
360
+ // ancestor instead would break an honest lane whose tree we misread; giving
361
+ // it a plain "env" would launder a claim into a fact. So the claim stands
362
+ // and the receiver is told it stands alone.
363
+ return { agent: declared, via: corroborated ? "env" : "env-uncorroborated" };
372
364
  }
373
365
  // A set-but-unresolvable AGENT_YES_PID (stale env, aged-out record) is not a
374
366
  // reason to stop: the process tree can still say who this is.
@@ -695,16 +687,10 @@ export function envelopeAttribution(via: SenderVia): string {
695
687
  // Derived from the process tree because the wrapper's env was absent.
696
688
  return " via process-tree";
697
689
  case "env-uncorroborated":
698
- // The claim and the process tree name DIFFERENT lanes. Loud, because this
699
- // is the case a receiver acting on sender weight must not be handed as a
700
- // fact — and loud only here, so it keeps meaning something.
690
+ // The caller's own claim, and nothing corroborates it: any process can
691
+ // export another lane's pid (#461). Loud, because a receiver that acts on
692
+ // a message weighted by its sender must not be handed this as a fact.
701
693
  return " UNCORROBORATED-SENDER";
702
- case "env-unverified":
703
- // Nothing to disagree with. Silent in the envelope: the receiver gains
704
- // nothing actionable from "we could not check", and a marker on honest
705
- // traffic is how the loud one stops being read. It is still recorded in
706
- // from_via for anyone who wants to weigh it.
707
- return "";
708
694
  default:
709
695
  return "";
710
696
  }
@@ -1,5 +0,0 @@
1
- import "./versionChecker-CD5kYnMV.js";
2
- import "./rustBinary-CodCk4H6.js";
3
- import { a as trayHiddenMarker, i as launchTray, n as hasDesktop, r as isTrayHidden, t as cmdTray } from "./trayApp-CRZiF8_W.js";
4
-
5
- export { cmdTray };