agent-yes 1.276.0 → 1.277.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/README.md +10 -9
- package/agent-yes.config.schema.json +4 -1
- package/default.config.yaml +49 -0
- package/dist/{SUPPORTED_CLIS-G5YhpzKV.js → SUPPORTED_CLIS-DMA2T-LF.js} +2 -2
- package/dist/{SUPPORTED_CLIS-D-hylNcp.js → SUPPORTED_CLIS-DzVEFVKI.js} +3 -3
- package/dist/{agentShare-BmQZ96CJ.js → agentShare-DqT9USG5.js} +3 -3
- package/dist/{callback-BEgUEMY3.js → callback-D60U9zFd.js} +3 -3
- package/dist/{callback-B2oH6mCo.js → callback-PKIAkhNq.js} +3 -3
- package/dist/cli.js +11 -11
- package/dist/cmdDsh-BySPA9hP.js +45 -0
- package/dist/{cmdPs-E6fcHruY.js → cmdPs-BeUkjSOH.js} +3 -3
- package/dist/{cwdConflictWarn-CqN5pJ-7.js → cwdConflictWarn-DIPD6HH5.js} +1 -1
- package/dist/{cwdPassthroughHint-DxdqgwEN.js → cwdPassthroughHint-C0tfZlgZ.js} +1 -1
- package/dist/dsh-legacy-yes.js +10 -0
- package/dist/dsh-tui-yes.js +10 -0
- package/dist/dsh-yes.js +10 -0
- package/dist/{expose-DTxYWQeW.js → expose-Ds9aUFsq.js} +1 -1
- package/dist/{forkNested-CZAvQj0y.js → forkNested-Dt5XP8ZH.js} +1 -1
- package/dist/{hist-QkZZBp-y.js → hist-DSYaJEd3.js} +1 -1
- package/dist/index.js +2 -2
- package/dist/{initMsg-DAwRS89d.js → initMsg-CeF4QNOM.js} +1 -1
- package/dist/{initMsg-C8ISz_C7.js → initMsg-DejbYYjX.js} +1 -1
- package/dist/{nodeRuntime-C_LtZrpR.js → nodeRuntime-_zeWDISM.js} +1 -1
- package/dist/{notifyDaemon-D_x5ow8y.js → notifyDaemon-Bw70QCkC.js} +3 -3
- package/dist/{openBrowser-B50Lhaob.js → openBrowser-BNP8xByu.js} +1 -1
- package/dist/{parentLink-svMgYhEi.js → parentLink-Bv8ihRcu.js} +1 -1
- package/dist/{parentLink-i817PzXK.js → parentLink-HWunrH1s.js} +1 -1
- package/dist/{parentPingLoop-DP2y906e.js → parentPingLoop-DJAPbp6D.js} +4 -4
- package/dist/{remotes-gAI6-nv9.js → remotes-BlHTR9ow.js} +1 -1
- package/dist/{remotes-Cdlaj7AP.js → remotes-b6reVXzo.js} +2 -2
- package/dist/{rustBinary-BwgA8XyI.js → rustBinary-CxtSgRSg.js} +2 -2
- package/dist/{rustBinary-bXjmCsim.js → rustBinary-DQHcq1Wr.js} +2 -2
- package/dist/{schedule-CdEUIaEV.js → schedule-BI7-Pa2F.js} +6 -6
- package/dist/{serve-CvLw3YZx.js → serve-Bfxc3VWQ.js} +26 -26
- package/dist/{setup-BRyFMtpv.js → setup-Cp31FALW.js} +4 -4
- package/dist/{spawnGate-DtC_ffme.js → spawnGate-B2hA_2NQ.js} +2 -2
- package/dist/{spawnGate-CdewnL8m.js → spawnGate-FLwTAPW6.js} +1 -1
- package/dist/{subcommands-CqBONdKo.js → subcommands-CjgHXjZd.js} +2 -2
- package/dist/{subcommands-BtRA2slB.js → subcommands-Cohq91Dx.js} +27 -22
- package/dist/{systemPathLink-Df_pstm2.js → systemPathLink-Dl2gJqeg.js} +1 -1
- package/dist/{terminal-8jfLRLtF.js → terminal-8ipst6Wf.js} +2 -2
- package/dist/{todoCli-Cf0EHvfy.js → todoCli-MWrejmdM.js} +1 -1
- package/dist/{tray-BeIs4ffu.js → tray-BhPVpP_r.js} +1 -1
- package/dist/{trayApp-CnJiwYjb.js → trayApp-CL_iZpnR.js} +2 -2
- package/dist/trayApp-DaekNsVe.js +5 -0
- package/dist/{ts-CEtUijwR.js → ts-RBN1OMQ_.js} +5 -5
- package/dist/{versionChecker-CL6Dvn--.js → versionChecker-F_WiFsVg.js} +2 -2
- package/dist/{webrtcRemote-CIbq5Hdt.js → webrtcRemote-H9Hok0_R.js} +1 -1
- package/dist/{widget-DvSx4hyW.js → widget-DTramHv8.js} +3 -3
- package/dist/{workspaceConfig-DctWuxUP.js → workspaceConfig-D6QndOCz.js} +1 -1
- package/dist/{ws-XngU-GGe.js → ws-dgltfu3A.js} +3 -3
- package/dist/{ws-B830G79O.js → ws-sf8JPYPq.js} +3 -3
- package/lab/ui/index.html +2 -1
- package/lab/ui/lab/build.ts +5 -4
- package/lab/ui/lab/index.md +14 -14
- package/lab/ui/lab/posts/2026-06-15-e2ee-share-links.html +128 -132
- package/lab/ui/lab/posts/2026-07-22-ay-callback.html +214 -167
- package/lab/ui/lab/posts/2026-08-11-an-address-space-for-agents.md +9 -9
- package/lab/ui/lab/posts/2026-08-11-no-daemon-owns-your-agents.md +13 -13
- package/lab/ui/lab/posts/2026-08-11-slack-term-safe-writes.md +26 -26
- package/lab/ui/lab/posts/2026-08-11-the-terminal-is-the-api.md +10 -10
- package/lab/ui/landing.html +2 -1
- package/package.json +4 -1
- package/ts/buildRustArgs.spec.ts +3 -0
- package/ts/cmdDsh.spec.ts +90 -0
- package/ts/cmdDsh.ts +62 -0
- package/ts/histStore.spec.ts +8 -4
- package/ts/histStore.ts +2 -7
- package/ts/identity.spec.ts +4 -1
- package/ts/initMsg.spec.ts +12 -2
- package/ts/invokedCli.spec.ts +1 -0
- package/ts/postbuild.ts +11 -8
- package/ts/subcommands.ts +6 -0
- package/ts/systemPathLink.spec.ts +12 -2
- package/ts/systemPathLink.ts +5 -1
- package/dist/trayApp-CUuEodHT.js +0 -5
package/README.md
CHANGED
|
@@ -364,15 +364,16 @@ For deploying to cloud platforms like Google Cloud Run, AWS, Azure, see [Cloud D
|
|
|
364
364
|
|
|
365
365
|
### Supported CLI Tools
|
|
366
366
|
|
|
367
|
-
| Tool
|
|
368
|
-
|
|
|
369
|
-
| Claude
|
|
370
|
-
| Codex
|
|
371
|
-
| Copilot
|
|
372
|
-
| Cursor
|
|
373
|
-
| Grok
|
|
374
|
-
| Qwen
|
|
375
|
-
| Auggie
|
|
367
|
+
| Tool | CLI Name | Description | Installation/Update |
|
|
368
|
+
| ---------------- | ------------ | ---------------------------------- | --------------------------------------------------- |
|
|
369
|
+
| Claude | `claude` | Anthropic's Claude Code (default) | `npm install -g @anthropic-ai/claude-code@latest` |
|
|
370
|
+
| Codex | `codex` | OpenAI's Codex CLI | `npm install -g @openai/codex-cli@latest` |
|
|
371
|
+
| Copilot | `copilot` | GitHub Copilot CLI | `npm install -g @github/copilot@latest` |
|
|
372
|
+
| Cursor | `cursor` | Cursor agent CLI | See https://cursor.com/ja/docs/cli/installation |
|
|
373
|
+
| Grok | `grok` | Vibe Kit's Grok CLI | `npm install -g @vibe-kit/grok-cli@latest` |
|
|
374
|
+
| Qwen | `qwen` | Alibaba's Qwen Code CLI | `npm install -g @qwen-code/qwen-code@latest` |
|
|
375
|
+
| Auggie | `auggie` | Augment Code's Auggie CLI | `npm install -g @augmentcode-inc/auggie-cli@latest` |
|
|
376
|
+
| DeepSeek Harness | `dsh-legacy` | DeepSeek Harness (interactive TUI) | `npm install -g @deepseek-ai/dsh@latest` |
|
|
376
377
|
|
|
377
378
|
The tool will:
|
|
378
379
|
|
|
@@ -32,7 +32,10 @@
|
|
|
32
32
|
"qwen": { "$ref": "#/definitions/AgentCliConfig" },
|
|
33
33
|
"auggie": { "$ref": "#/definitions/AgentCliConfig" },
|
|
34
34
|
"amp": { "$ref": "#/definitions/AgentCliConfig" },
|
|
35
|
-
"opencode": { "$ref": "#/definitions/AgentCliConfig" }
|
|
35
|
+
"opencode": { "$ref": "#/definitions/AgentCliConfig" },
|
|
36
|
+
"dsh": { "$ref": "#/definitions/AgentCliConfig" },
|
|
37
|
+
"dsh-tui": { "$ref": "#/definitions/AgentCliConfig" },
|
|
38
|
+
"dsh-legacy": { "$ref": "#/definitions/AgentCliConfig" }
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
},
|
package/default.config.yaml
CHANGED
|
@@ -421,6 +421,55 @@ clis:
|
|
|
421
421
|
flags: m
|
|
422
422
|
ready: []
|
|
423
423
|
|
|
424
|
+
# DeepSeek Harness (dsh-legacy) — the original DeepSeek Harness CLI
|
|
425
|
+
# (https://github.com/deepseek-ai/deepseek-harness). `dsh --profile tui`
|
|
426
|
+
# boots a persistent interactive session: the ready prompt is `❯ `, tool
|
|
427
|
+
# approval is a numbered `1. yes / 2. no` menu auto-answered with `1`, and the
|
|
428
|
+
# initial task rides as the positional arg. Reachable as `ay dsh-legacy …`.
|
|
429
|
+
dsh-legacy:
|
|
430
|
+
promptArg: last-arg
|
|
431
|
+
defaultArgs:
|
|
432
|
+
- --profile
|
|
433
|
+
- tui
|
|
434
|
+
install:
|
|
435
|
+
npm: "npm install -g @deepseek-ai/dsh@latest"
|
|
436
|
+
help: https://github.com/deepseek-ai/deepseek-harness
|
|
437
|
+
ready:
|
|
438
|
+
- "❯ "
|
|
439
|
+
typingRespond:
|
|
440
|
+
"1\n":
|
|
441
|
+
- '1\. yes'
|
|
442
|
+
working: []
|
|
443
|
+
enter: []
|
|
444
|
+
fatal: []
|
|
445
|
+
|
|
446
|
+
# DeepSeek Harness TUI — the `❯` prompt line driveable as a plain interactive
|
|
447
|
+
# agent (same shell pattern as `bash`: no spinner/menu markers, `promptArg:
|
|
448
|
+
# typed` sends the initial command by typing it into the session once ready).
|
|
449
|
+
dsh:
|
|
450
|
+
binary: dsh-tui
|
|
451
|
+
promptArg: typed
|
|
452
|
+
ready:
|
|
453
|
+
- pattern: "❯"
|
|
454
|
+
flags: m
|
|
455
|
+
working: []
|
|
456
|
+
enter: []
|
|
457
|
+
fatal: []
|
|
458
|
+
exitCommands:
|
|
459
|
+
- exit
|
|
460
|
+
# Alias — `ay dsh-tui` launches the dsh-tui binary (same drive pattern as dsh).
|
|
461
|
+
dsh-tui:
|
|
462
|
+
binary: dsh-tui
|
|
463
|
+
promptArg: typed
|
|
464
|
+
ready:
|
|
465
|
+
- pattern: "❯"
|
|
466
|
+
flags: m
|
|
467
|
+
working: []
|
|
468
|
+
enter: []
|
|
469
|
+
fatal: []
|
|
470
|
+
exitCommands:
|
|
471
|
+
- exit
|
|
472
|
+
|
|
424
473
|
# Bare interactive shells. Unlike the agent CLIs above, these aren't AI tools
|
|
425
474
|
# — they're a plain login shell you can drive from the console and launch
|
|
426
475
|
# other agents inside (e.g. `ay bash 'claude'`). `promptArg: typed` means any
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as CLIS_CONFIG } from "./ts-
|
|
1
|
+
import { t as CLIS_CONFIG } from "./ts-RBN1OMQ_.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-
|
|
8
|
+
//# sourceMappingURL=SUPPORTED_CLIS-DMA2T-LF.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import "./versionChecker-
|
|
3
|
-
import "./ts-
|
|
2
|
+
import "./versionChecker-F_WiFsVg.js";
|
|
3
|
+
import "./ts-RBN1OMQ_.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
8
|
import "./messageLog-DdjBNqgt.js";
|
|
9
9
|
import "./todoStore-DF6vxHgV.js";
|
|
10
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
10
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DMA2T-LF.js";
|
|
11
11
|
|
|
12
12
|
export { SUPPORTED_CLIS };
|
|
@@ -3,10 +3,10 @@ import "./globalPidIndex-DoaKEUkO.js";
|
|
|
3
3
|
import "./messageLog-DdjBNqgt.js";
|
|
4
4
|
import "./e2e-z1xpwSAg.js";
|
|
5
5
|
import "./configShared-DKTgiz7K.js";
|
|
6
|
-
import { z as resolveOne } from "./subcommands-
|
|
6
|
+
import { z as resolveOne } from "./subcommands-Cohq91Dx.js";
|
|
7
7
|
import "./notifyStore-2SWKGwZI.js";
|
|
8
8
|
import "./webrtcLink-DLaJfTcB.js";
|
|
9
|
-
import "./remotes-
|
|
9
|
+
import "./remotes-b6reVXzo.js";
|
|
10
10
|
import { a as startShare } from "./share-DTlaFn6s.js";
|
|
11
11
|
|
|
12
12
|
//#region ts/agentShare.ts
|
|
@@ -230,4 +230,4 @@ function transformEvent(rawEvent, agentId, forwarded) {
|
|
|
230
230
|
|
|
231
231
|
//#endregion
|
|
232
232
|
export { createScopedShare, listShares, revokeAllShares, revokeShare };
|
|
233
|
-
//# sourceMappingURL=agentShare-
|
|
233
|
+
//# sourceMappingURL=agentShare-DqT9USG5.js.map
|
|
@@ -3,11 +3,11 @@ import "./globalPidIndex-DoaKEUkO.js";
|
|
|
3
3
|
import "./messageLog-DdjBNqgt.js";
|
|
4
4
|
import "./e2e-z1xpwSAg.js";
|
|
5
5
|
import "./configShared-DKTgiz7K.js";
|
|
6
|
-
import "./subcommands-
|
|
6
|
+
import "./subcommands-Cohq91Dx.js";
|
|
7
7
|
import "./notifyStore-2SWKGwZI.js";
|
|
8
8
|
import "./webrtcLink-DLaJfTcB.js";
|
|
9
|
-
import "./remotes-
|
|
9
|
+
import "./remotes-b6reVXzo.js";
|
|
10
10
|
import "./callbackCore-Bl2gGcxg.js";
|
|
11
|
-
import { i as loadOrCreateCallbackSecret, n as isCallbackRevoked, r as loadCallbackSecretReadOnly, t as cmdCallback } from "./callback-
|
|
11
|
+
import { i as loadOrCreateCallbackSecret, n as isCallbackRevoked, r as loadCallbackSecretReadOnly, t as cmdCallback } from "./callback-PKIAkhNq.js";
|
|
12
12
|
|
|
13
13
|
export { cmdCallback };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
|
|
2
|
-
import { z as resolveOne } from "./subcommands-
|
|
2
|
+
import { z as resolveOne } from "./subcommands-Cohq91Dx.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-
|
|
75
|
+
const { resolveLocalServeUrl } = await import("./serve-Bfxc3VWQ.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-
|
|
190
|
+
//# sourceMappingURL=callback-PKIAkhNq.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-
|
|
5
|
-
import { l as getRustBinary } from "./rustBinary-
|
|
4
|
+
import { a as versionString, r as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-F_WiFsVg.js";
|
|
5
|
+
import { l as getRustBinary } from "./rustBinary-CxtSgRSg.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-
|
|
298
|
+
const { isSubcommand, runSubcommand, cmdHelp, isUnknownManagerToken, isBareManagerInvocation } = await import("./subcommands-CjgHXjZd.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-
|
|
312
|
+
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-DzVEFVKI.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);
|
|
@@ -317,7 +317,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
|
|
|
317
317
|
}
|
|
318
318
|
}
|
|
319
319
|
{
|
|
320
|
-
const { detectCwdPassthrough, SUPPRESS_CWD_WARN_ENV } = await import("./cwdPassthroughHint-
|
|
320
|
+
const { detectCwdPassthrough, SUPPRESS_CWD_WARN_ENV } = await import("./cwdPassthroughHint-C0tfZlgZ.js");
|
|
321
321
|
const dep = detectCwdPassthrough(process.argv);
|
|
322
322
|
if (dep) {
|
|
323
323
|
console.warn(dep.message);
|
|
@@ -328,16 +328,16 @@ await checkAndAutoUpdate();
|
|
|
328
328
|
logger.info(versionString());
|
|
329
329
|
const config = parseCliArgs(process.argv);
|
|
330
330
|
if (config.tray) {
|
|
331
|
-
const { startTray } = await import("./tray-
|
|
331
|
+
const { startTray } = await import("./tray-BhPVpP_r.js");
|
|
332
332
|
await startTray();
|
|
333
333
|
await new Promise(() => {});
|
|
334
334
|
}
|
|
335
335
|
{
|
|
336
|
-
const { ensureTray } = await import("./tray-
|
|
336
|
+
const { ensureTray } = await import("./tray-BhPVpP_r.js");
|
|
337
337
|
ensureTray();
|
|
338
338
|
}
|
|
339
339
|
if (!config.showVersion && !config.appendPrompt && !config.tray) {
|
|
340
|
-
const { waitForSpawnCapacity } = await import("./spawnGate-
|
|
340
|
+
const { waitForSpawnCapacity } = await import("./spawnGate-FLwTAPW6.js");
|
|
341
341
|
await waitForSpawnCapacity({
|
|
342
342
|
onWait: (reason, waitedMs) => {
|
|
343
343
|
if (config.verbose || waitedMs === 0) console.error(`[agent-yes] spawn gate: ${reason} — waiting…`);
|
|
@@ -346,7 +346,7 @@ if (!config.showVersion && !config.appendPrompt && !config.tray) {
|
|
|
346
346
|
});
|
|
347
347
|
}
|
|
348
348
|
if (!config.showVersion && !config.appendPrompt && !config.tray) {
|
|
349
|
-
const { warnIfCwdOccupied } = await import("./cwdConflictWarn-
|
|
349
|
+
const { warnIfCwdOccupied } = await import("./cwdConflictWarn-DIPD6HH5.js");
|
|
350
350
|
await warnIfCwdOccupied(process.argv);
|
|
351
351
|
}
|
|
352
352
|
if (config.useRust) {
|
|
@@ -360,14 +360,14 @@ if (config.useRust) {
|
|
|
360
360
|
}
|
|
361
361
|
}
|
|
362
362
|
if (rustBinary) {
|
|
363
|
-
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-
|
|
363
|
+
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-DzVEFVKI.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}`);
|
|
367
367
|
console.log(`[rust] Args: ${rustArgs.join(" ")}`);
|
|
368
368
|
}
|
|
369
369
|
const attach = config.attach || process.env.AGENT_YES_ATTACH === "1";
|
|
370
|
-
const { shouldForkNested, buildSpawnTutorial, waitForRegistration, confirmAgentStarted, predictedLogPath } = await import("./forkNested-
|
|
370
|
+
const { shouldForkNested, buildSpawnTutorial, waitForRegistration, confirmAgentStarted, predictedLogPath } = await import("./forkNested-Dt5XP8ZH.js");
|
|
371
371
|
if (shouldForkNested({
|
|
372
372
|
isTTY: Boolean(process.stdout.isTTY),
|
|
373
373
|
ayPid: process.env.AGENT_YES_PID,
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
//#region ts/cmdDsh.ts
|
|
2
|
+
/**
|
|
3
|
+
* `ay dsh-legacy` subcommand — launch the DeepSeek Harness terminal client
|
|
4
|
+
* (dsh-tui), acting like `bunx dsh-tui` (or bare `dsh-tui` when already
|
|
5
|
+
* installed). This is a thin exec of the upstream TUI: agent-yes does not wrap
|
|
6
|
+
* or capture it, it just hands the terminal over, so `ay dsh-legacy <alpha>`
|
|
7
|
+
* runs dsh-tui verbatim. Passing `--help`/`-h` is not special-cased on purpose:
|
|
8
|
+
* the args are forwarded and dsh-tui prints its own help, so agent-yes never
|
|
9
|
+
* has a second copy of it to keep in sync.
|
|
10
|
+
*
|
|
11
|
+
* NOTE: `dsh-legacy` as a SUBCOMMAND shadows the DeepSeek *agent* CLI name in
|
|
12
|
+
* the manager entry. The canonical `dsh` agent CLI is now the minimal config
|
|
13
|
+
* entry (see default.config.yaml); to spawn the legacy DeepSeek agent CLI, use
|
|
14
|
+
* `ay --cli dsh-legacy`.
|
|
15
|
+
*/
|
|
16
|
+
/** The upstream terminal client npm package/bin name. */
|
|
17
|
+
const DSH_TUI_BIN = "dsh-tui";
|
|
18
|
+
const defaultSpawn = (cmd, opts) => Bun.spawn(cmd, opts);
|
|
19
|
+
/**
|
|
20
|
+
* Resolve the argv prefix that launches dsh-tui: the bare bin when it is
|
|
21
|
+
* already on PATH (fast, deterministic), else `bunx` (which fetches/uses the
|
|
22
|
+
* cached package — the exact behavior of `bunx dsh-tui`).
|
|
23
|
+
*/
|
|
24
|
+
async function dshTuiPrefix(spawn = defaultSpawn) {
|
|
25
|
+
try {
|
|
26
|
+
if (await spawn([DSH_TUI_BIN, "--version"], {
|
|
27
|
+
stdin: "ignore",
|
|
28
|
+
stdout: "ignore",
|
|
29
|
+
stderr: "ignore"
|
|
30
|
+
}).exited === 0) return [DSH_TUI_BIN];
|
|
31
|
+
} catch {}
|
|
32
|
+
return ["bunx", DSH_TUI_BIN];
|
|
33
|
+
}
|
|
34
|
+
/** Run `dsh-tui` in the foreground with the user's terminal (forward args). */
|
|
35
|
+
async function cmdDsh(rest, spawn = defaultSpawn) {
|
|
36
|
+
return await spawn([...await dshTuiPrefix(spawn), ...rest], {
|
|
37
|
+
stdin: "inherit",
|
|
38
|
+
stdout: "inherit",
|
|
39
|
+
stderr: "inherit"
|
|
40
|
+
}).exited ?? 0;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
//#endregion
|
|
44
|
+
export { cmdDsh };
|
|
45
|
+
//# sourceMappingURL=cmdDsh-BySPA9hP.js.map
|
|
@@ -3,10 +3,10 @@ import "./globalPidIndex-DoaKEUkO.js";
|
|
|
3
3
|
import "./messageLog-DdjBNqgt.js";
|
|
4
4
|
import "./e2e-z1xpwSAg.js";
|
|
5
5
|
import "./configShared-DKTgiz7K.js";
|
|
6
|
-
import { $ as buildAgentForest, D as listRecords, et as flattenForest, u as deriveLiveState } from "./subcommands-
|
|
6
|
+
import { $ as buildAgentForest, D as listRecords, et as flattenForest, u as deriveLiveState } from "./subcommands-Cohq91Dx.js";
|
|
7
7
|
import "./notifyStore-2SWKGwZI.js";
|
|
8
8
|
import "./webrtcLink-DLaJfTcB.js";
|
|
9
|
-
import "./remotes-
|
|
9
|
+
import "./remotes-b6reVXzo.js";
|
|
10
10
|
import yargs from "yargs";
|
|
11
11
|
import { execFile } from "node:child_process";
|
|
12
12
|
import { readFileSync } from "node:fs";
|
|
@@ -574,4 +574,4 @@ function readPpidSync(pid) {
|
|
|
574
574
|
|
|
575
575
|
//#endregion
|
|
576
576
|
export { cmdPs };
|
|
577
|
-
//# sourceMappingURL=cmdPs-
|
|
577
|
+
//# sourceMappingURL=cmdPs-BeUkjSOH.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { join, dirname } from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
const root = join(dirname(fileURLToPath(import.meta.url)), "..");
|
|
6
|
+
if (typeof Bun !== "undefined" && existsSync(join(root, ".git"))) {
|
|
7
|
+
await import("../ts/cli.ts");
|
|
8
|
+
} else {
|
|
9
|
+
await import("./cli.js");
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { join, dirname } from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
const root = join(dirname(fileURLToPath(import.meta.url)), "..");
|
|
6
|
+
if (typeof Bun !== "undefined" && existsSync(join(root, ".git"))) {
|
|
7
|
+
await import("../ts/cli.ts");
|
|
8
|
+
} else {
|
|
9
|
+
await import("./cli.js");
|
|
10
|
+
}
|
package/dist/dsh-yes.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env bun
|
|
2
|
+
import { existsSync } from "node:fs";
|
|
3
|
+
import { join, dirname } from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
const root = join(dirname(fileURLToPath(import.meta.url)), "..");
|
|
6
|
+
if (typeof Bun !== "undefined" && existsSync(join(root, ".git"))) {
|
|
7
|
+
await import("../ts/cli.ts");
|
|
8
|
+
} else {
|
|
9
|
+
await import("./cli.js");
|
|
10
|
+
}
|
|
@@ -141,4 +141,4 @@ async function confirmAgentStarted(pid, graceMs = 1500, aborted) {
|
|
|
141
141
|
|
|
142
142
|
//#endregion
|
|
143
143
|
export { buildSpawnTutorial, confirmAgentStarted, predictedLogPath, shouldForkNested, waitForRegistration };
|
|
144
|
-
//# sourceMappingURL=forkNested-
|
|
144
|
+
//# sourceMappingURL=forkNested-Dt5XP8ZH.js.map
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import "./versionChecker-
|
|
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-
|
|
2
|
+
import "./versionChecker-F_WiFsVg.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-RBN1OMQ_.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";
|
|
@@ -3,10 +3,10 @@ import "./globalPidIndex-DoaKEUkO.js";
|
|
|
3
3
|
import "./messageLog-DdjBNqgt.js";
|
|
4
4
|
import "./e2e-z1xpwSAg.js";
|
|
5
5
|
import "./configShared-DKTgiz7K.js";
|
|
6
|
-
import { D as listRecords, I as renderLogTailLines, b as isPidAlive, u as deriveLiveState } from "./subcommands-
|
|
6
|
+
import { D as listRecords, I as renderLogTailLines, b as isPidAlive, u as deriveLiveState } from "./subcommands-Cohq91Dx.js";
|
|
7
7
|
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";
|
|
8
8
|
import "./webrtcLink-DLaJfTcB.js";
|
|
9
|
-
import "./remotes-
|
|
9
|
+
import "./remotes-b6reVXzo.js";
|
|
10
10
|
import { mkdir, readFile, rename, rm, stat, writeFile } from "fs/promises";
|
|
11
11
|
import { randomUUID } from "node:crypto";
|
|
12
12
|
import { execFile, execFileSync } from "node:child_process";
|
|
@@ -863,4 +863,4 @@ async function ensureDaemon() {
|
|
|
863
863
|
|
|
864
864
|
//#endregion
|
|
865
865
|
export { daemonStatus, ensureDaemon, requestDaemonStop, runDaemon };
|
|
866
|
-
//# sourceMappingURL=notifyDaemon-
|
|
866
|
+
//# sourceMappingURL=notifyDaemon-Bw70QCkC.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
2
|
import "./globalPidIndex-DoaKEUkO.js";
|
|
3
|
-
import { n as spawnerFromRecords, t as resolveSpawner } from "./parentLink-
|
|
3
|
+
import { n as spawnerFromRecords, t as resolveSpawner } from "./parentLink-Bv8ihRcu.js";
|
|
4
4
|
|
|
5
5
|
export { resolveSpawner };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { n as logger } from "./logger-CDIsZ-Pp.js";
|
|
2
2
|
import "./globalPidIndex-DoaKEUkO.js";
|
|
3
3
|
import { t as classifyNeedsInput } from "./needsInput-BHopZGM8.js";
|
|
4
|
-
import { n as replyTargetOf, r as shortenHome } from "./initMsg-
|
|
5
|
-
import { t as resolveSpawner } from "./parentLink-
|
|
4
|
+
import { n as replyTargetOf, r as shortenHome } from "./initMsg-DejbYYjX.js";
|
|
5
|
+
import { t as resolveSpawner } from "./parentLink-Bv8ihRcu.js";
|
|
6
6
|
import { spawn } from "node:child_process";
|
|
7
7
|
|
|
8
8
|
//#region ts/parentPing.ts
|
|
@@ -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-
|
|
341
|
+
const { lastReadAt, READ_WINDOW_MS } = await import("./subcommands-CjgHXjZd.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-
|
|
469
|
+
//# sourceMappingURL=parentPingLoop-DJAPbp6D.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./e2e-z1xpwSAg.js";
|
|
2
2
|
import "./webrtcLink-DLaJfTcB.js";
|
|
3
|
-
import { a as resolveRemoteSpec, i as readRemotes, n as deleteRemoteAlias, o as writeRemoteAlias, r as parseDirectRemoteSpec, t as cmdRemote } from "./remotes-
|
|
3
|
+
import { a as resolveRemoteSpec, i as readRemotes, n as deleteRemoteAlias, o as writeRemoteAlias, r as parseDirectRemoteSpec, t as cmdRemote } from "./remotes-b6reVXzo.js";
|
|
4
4
|
|
|
5
5
|
export { cmdRemote };
|
|
@@ -93,7 +93,7 @@ async function resolveRemoteSpec(spec) {
|
|
|
93
93
|
* The bridge lives for the rest of the process (torn down on `process.exit`).
|
|
94
94
|
*/
|
|
95
95
|
async function resolveWebrtc(link, keyword, label) {
|
|
96
|
-
const { startWebrtcBridge } = await import("./webrtcRemote-
|
|
96
|
+
const { startWebrtcBridge } = await import("./webrtcRemote-H9Hok0_R.js");
|
|
97
97
|
const bridge = await startWebrtcBridge(link);
|
|
98
98
|
return {
|
|
99
99
|
url: bridge.baseUrl,
|
|
@@ -181,4 +181,4 @@ async function cmdRemote(rest) {
|
|
|
181
181
|
|
|
182
182
|
//#endregion
|
|
183
183
|
export { resolveRemoteSpec as a, readRemotes as i, deleteRemoteAlias as n, writeRemoteAlias as o, parseDirectRemoteSpec as r, cmdRemote as t };
|
|
184
|
-
//# sourceMappingURL=remotes-
|
|
184
|
+
//# sourceMappingURL=remotes-b6reVXzo.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as getInstalledPackage, n as compareVersions } from "./versionChecker-
|
|
1
|
+
import { i as getInstalledPackage, n as compareVersions } from "./versionChecker-F_WiFsVg.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-
|
|
313
|
+
//# sourceMappingURL=rustBinary-CxtSgRSg.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import "./versionChecker-
|
|
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-
|
|
1
|
+
import "./versionChecker-F_WiFsVg.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-CxtSgRSg.js";
|
|
3
3
|
|
|
4
4
|
export { gcOldBinaryDirs };
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import "./versionChecker-
|
|
3
|
-
import "./ts-
|
|
2
|
+
import "./versionChecker-F_WiFsVg.js";
|
|
3
|
+
import "./ts-RBN1OMQ_.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
8
|
import "./messageLog-DdjBNqgt.js";
|
|
9
9
|
import "./todoStore-DF6vxHgV.js";
|
|
10
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
11
|
-
import { f as resolveSpawnCwd } from "./workspaceConfig-
|
|
12
|
-
import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-
|
|
10
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DMA2T-LF.js";
|
|
11
|
+
import { f as resolveSpawnCwd } from "./workspaceConfig-D6QndOCz.js";
|
|
12
|
+
import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-_zeWDISM.js";
|
|
13
13
|
import { createHash } from "node:crypto";
|
|
14
14
|
|
|
15
15
|
//#region ts/oxmgrService.ts
|
|
@@ -154,4 +154,4 @@ async function cmdSchedule(rest) {
|
|
|
154
154
|
|
|
155
155
|
//#endregion
|
|
156
156
|
export { cmdSchedule };
|
|
157
|
-
//# sourceMappingURL=schedule-
|
|
157
|
+
//# sourceMappingURL=schedule-BI7-Pa2F.js.map
|