agent-yes 1.236.0 → 1.237.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.
- package/dist/{JsonlStore-CWOA3aDH.js → JsonlStore-CPGIR0Wy.js} +1 -1
- package/dist/SUPPORTED_CLIS-C0RwjYrz.js +11 -0
- package/dist/{SUPPORTED_CLIS-C7bkkXue.js → SUPPORTED_CLIS-CDrJz9Xo.js} +2 -2
- package/dist/{agent-yes.config-BhjzWavn.js → agent-yes.config-DPtMM0S-.js} +2 -2
- package/dist/{agentShare-BxAaZ-UR.js → agentShare-Cl_J3dfx.js} +9 -9
- package/dist/{agentYesHome-CtHb5b71.js → agentYesHome-CtmsY6I-.js} +1 -1
- package/dist/browser-B3dOptjL.js +311 -0
- package/dist/browser-BRMyG4JA.js +13514 -0
- package/dist/callback-CFbkvqTh.js +12 -0
- package/dist/{callback-B1AWp2tC.js → callback-D0_AeyN1.js} +6 -6
- package/dist/{callbackCore-CcbVa8r2.js → callbackCore-CvmGSvrj.js} +1 -1
- package/dist/{callbackCore-Me97qn68.js → callbackCore-DAYcemCC.js} +1 -1
- package/dist/{channels-Lsot9pyU.js → channels-BiGUYTuz.js} +2 -2
- package/dist/{channels-DHXLnU4r.js → channels-CMNMFJlY.js} +6 -6
- package/dist/channels.js +6 -310
- package/dist/chunk-cZBX9HZv.js +20 -0
- package/dist/cli.js +11 -11
- package/dist/{configShared-BXz2vi4Q.js → configShared-9wVlbPyC.js} +1 -1
- package/dist/{cwdConflictWarn-ArYYtOGy.js → cwdConflictWarn-DWHWlBxS.js} +2 -2
- package/dist/{cwdDeprecation-BGX20-Fe.js → cwdDeprecation-Cd8Ykm2t.js} +1 -1
- package/dist/{e2e-CYlKpfxa.js → e2e-CEIdJGZ7.js} +1 -1
- package/dist/{expose-ByT4ef7C.js → expose-DROTwbyU.js} +1 -1
- package/dist/{forkNested-Bai0Q7BL.js → forkNested-DqPisz9d.js} +2 -2
- package/dist/{globalPidIndex-Ca4sTr1b.js → globalPidIndex-D9DOSd-c.js} +1 -1
- package/dist/index.js +7 -7
- package/dist/{messageLog-zVGWLX7w.js → messageLog-C-YIzhRj.js} +1 -1
- package/dist/{nodeRuntime-fVRbz6w6.js → nodeRuntime-Bf88NPqj.js} +2 -2
- package/dist/{notifyDaemon-Cxb0-5a0.js → notifyDaemon-D_8TRVHt.js} +8 -8
- package/dist/{openBrowser-DL-EO8Hi.js → openBrowser-ChLcPELv.js} +1 -1
- package/dist/{peer-68ZwnxLs.js → peer-B5JKF4BP.js} +3 -3
- package/dist/peer-D5lr1Afv.js +4 -0
- package/dist/{pidStore-Hjba3K6Q.js → pidStore-6EZd5DUv.js} +4 -4
- package/dist/pidStore-bCVS2Ldt.js +6 -0
- package/dist/{reaper-iQXyufgp.js → reaper-DP49VCKx.js} +2 -2
- package/dist/{reaper-pJpMYKmj.js → reaper-IhkB_RO0.js} +1 -1
- package/dist/{remotes-CF1LJLxY.js → remotes-BClMgQZW.js} +3 -3
- package/dist/{remotes-BDdfhL6N.js → remotes-Bem6WIyU.js} +3 -3
- package/dist/{runningLock-BFk3Mo8K.js → runningLock-DBoONoM-.js} +1 -1
- package/dist/{rustBinary-CFSG7it2.js → rustBinary-Bb9qJZ5w.js} +2 -2
- package/dist/{schedule-CXHdiUHa.js → schedule-B8Erb3y6.js} +11 -11
- package/dist/{serve-DEEwIlVV.js → serve-QejbNTr-.js} +187 -43
- package/dist/{setup-QfDtv5tw.js → setup-Dzi5Cc3g.js} +3 -3
- package/dist/{share-CDER9qNq.js → share--aHaPSjt.js} +2 -2
- package/dist/{share-D4K0JnHg.js → share-B9u8-I3y.js} +2 -2
- package/dist/{spawnGate-PwzImpOw.js → spawnGate-Bo_LFgt9.js} +3 -3
- package/dist/spawnGate-CuWCd2im.js +5 -0
- package/dist/{store-BXJERNbW.js → store-Ck0XRn-K.js} +1 -1
- package/dist/{subcommands-_Ci82sb1.js → subcommands-DFr-5FOL.js} +26 -21
- package/dist/{subcommands-m2DRpvHt.js → subcommands-ymJWO2iv.js} +7 -7
- package/dist/terminal-vNeFNLT8.js +138 -0
- package/dist/terminal.js +3 -0
- package/dist/{todoAutomation-x6guaQXc.js → todoAutomation-Buo457VO.js} +2 -2
- package/dist/{todoCli-CAMVVz9u.js → todoCli-CNNR9Czu.js} +4 -4
- package/dist/{tray-CF8xRQqt.js → tray-D5qFaqlS.js} +2 -2
- package/dist/{ts-D1FDmhc-.js → ts-Dd1FK7sR.js} +11 -28
- package/dist/{versionChecker-DJEtU1JU.js → versionChecker-XfEBINhH.js} +2 -2
- package/dist/{webrtcLink-CEYNs0pt.js → webrtcLink-VQhWmKOw.js} +2 -2
- package/dist/{webrtcRemote-CNC_bMH6.js → webrtcRemote-DJDtCTpj.js} +3 -3
- package/dist/widgets.js +7 -0
- package/dist/{workspaceConfig-CuGjX2_R.js → workspaceConfig-B7HaQ-MI.js} +2 -2
- package/dist/{ws-C7B4xWQl.js → ws-Dun8gGiV.js} +9 -9
- package/package.json +13 -1
- package/ts/serve.ts +144 -5
- package/ts/subcommands.ts +6 -0
- package/ts/termToken.spec.ts +44 -0
- package/ts/termToken.ts +85 -0
- package/ts/terminal/browser.ts +607 -0
- package/ts/terminal.spec.ts +50 -0
- package/ts/terminal.ts +245 -0
- package/ts/widgets.ts +14 -0
- package/dist/SUPPORTED_CLIS-BDXbzEWF.js +0 -11
- package/dist/callback-Dtk0wMsl.js +0 -12
- package/dist/peer-CX4qQx5U.js +0 -4
- package/dist/pidStore-Cp3HekUh.js +0 -6
- package/dist/spawnGate-C21TL4f2.js +0 -5
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as invokedCliName } from "./invokedCli-uqM2YYA7.js";
|
|
2
2
|
import { n as logger } from "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import { t as agentYesHome } from "./agentYesHome-
|
|
4
|
-
import { a as updateGlobalPidStatus, i as readGlobalPids } from "./globalPidIndex-
|
|
5
|
-
import { a as recordOutbox, i as recordMessage, n as readMailbox, t as partyMatches } from "./messageLog-
|
|
6
|
-
import { t as loadSharedCliDefaults } from "./configShared-
|
|
7
|
-
import { n as isWebrtcSpec } from "./webrtcLink-
|
|
8
|
-
import { a as resolveRemoteSpec, i as readRemotes } from "./remotes-
|
|
3
|
+
import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
|
|
4
|
+
import { a as updateGlobalPidStatus, i as readGlobalPids } from "./globalPidIndex-D9DOSd-c.js";
|
|
5
|
+
import { a as recordOutbox, i as recordMessage, n as readMailbox, t as partyMatches } from "./messageLog-C-YIzhRj.js";
|
|
6
|
+
import { t as loadSharedCliDefaults } from "./configShared-9wVlbPyC.js";
|
|
7
|
+
import { n as isWebrtcSpec } from "./webrtcLink-VQhWmKOw.js";
|
|
8
|
+
import { a as resolveRemoteSpec, i as readRemotes } from "./remotes-Bem6WIyU.js";
|
|
9
9
|
import ms from "ms";
|
|
10
10
|
import yargs from "yargs";
|
|
11
11
|
import { appendFile, mkdir, open, readFile, readdir, rename, rm, stat, writeFile } from "fs/promises";
|
|
@@ -1176,6 +1176,7 @@ const SUBCOMMANDS = new Set([
|
|
|
1176
1176
|
"todo",
|
|
1177
1177
|
"ch",
|
|
1178
1178
|
"channels",
|
|
1179
|
+
"term",
|
|
1179
1180
|
"serve",
|
|
1180
1181
|
"schedule",
|
|
1181
1182
|
"remote",
|
|
@@ -1241,44 +1242,48 @@ async function runSubcommand(argv) {
|
|
|
1241
1242
|
case "restart": return await cmdRestart(rest);
|
|
1242
1243
|
case "note": return await cmdNote(rest);
|
|
1243
1244
|
case "todo": {
|
|
1244
|
-
const { runTodoSubcommand } = await import("./todoCli-
|
|
1245
|
+
const { runTodoSubcommand } = await import("./todoCli-CNNR9Czu.js");
|
|
1245
1246
|
return runTodoSubcommand(rest);
|
|
1246
1247
|
}
|
|
1247
1248
|
case "ch":
|
|
1248
1249
|
case "channels": {
|
|
1249
|
-
const { cmdCh } = await import("./channels-
|
|
1250
|
+
const { cmdCh } = await import("./channels-CMNMFJlY.js");
|
|
1250
1251
|
return cmdCh(rest);
|
|
1251
1252
|
}
|
|
1253
|
+
case "term": {
|
|
1254
|
+
const { cmdTerm } = await import("./terminal-vNeFNLT8.js");
|
|
1255
|
+
return cmdTerm(rest);
|
|
1256
|
+
}
|
|
1252
1257
|
case "serve": {
|
|
1253
|
-
const { cmdServe } = await import("./serve-
|
|
1258
|
+
const { cmdServe } = await import("./serve-QejbNTr-.js");
|
|
1254
1259
|
return cmdServe(rest);
|
|
1255
1260
|
}
|
|
1256
1261
|
case "setup": {
|
|
1257
|
-
const { cmdSetup } = await import("./setup-
|
|
1262
|
+
const { cmdSetup } = await import("./setup-Dzi5Cc3g.js");
|
|
1258
1263
|
return cmdSetup(rest);
|
|
1259
1264
|
}
|
|
1260
1265
|
case "ws": {
|
|
1261
|
-
const { cmdWs } = await import("./ws-
|
|
1266
|
+
const { cmdWs } = await import("./ws-Dun8gGiV.js");
|
|
1262
1267
|
return cmdWs(rest);
|
|
1263
1268
|
}
|
|
1264
1269
|
case "schedule": {
|
|
1265
|
-
const { cmdSchedule } = await import("./schedule-
|
|
1270
|
+
const { cmdSchedule } = await import("./schedule-B8Erb3y6.js");
|
|
1266
1271
|
return cmdSchedule(rest);
|
|
1267
1272
|
}
|
|
1268
1273
|
case "remote": {
|
|
1269
|
-
const { cmdRemote } = await import("./remotes-
|
|
1274
|
+
const { cmdRemote } = await import("./remotes-BClMgQZW.js");
|
|
1270
1275
|
return cmdRemote(rest);
|
|
1271
1276
|
}
|
|
1272
1277
|
case "expose": {
|
|
1273
|
-
const { cmdExpose } = await import("./expose-
|
|
1278
|
+
const { cmdExpose } = await import("./expose-DROTwbyU.js");
|
|
1274
1279
|
return cmdExpose(rest);
|
|
1275
1280
|
}
|
|
1276
1281
|
case "callback": {
|
|
1277
|
-
const { cmdCallback } = await import("./callback-
|
|
1282
|
+
const { cmdCallback } = await import("./callback-CFbkvqTh.js");
|
|
1278
1283
|
return cmdCallback(rest);
|
|
1279
1284
|
}
|
|
1280
1285
|
case "reap":
|
|
1281
|
-
await (await import("./reaper-
|
|
1286
|
+
await (await import("./reaper-IhkB_RO0.js")).sweep();
|
|
1282
1287
|
return 0;
|
|
1283
1288
|
case "help": return cmdHelp(managerCommands);
|
|
1284
1289
|
default: return null;
|
|
@@ -1312,7 +1317,7 @@ async function cmdHelp(managerCommands = true) {
|
|
|
1312
1317
|
const wsLines = managerCommands ? " ay ws ls [--status] list <owner>/<repo>/tree/<branch> workspaces\n ay ws new <owner>/<repo>[@branch] clone/refresh a workspace (ay ws help for more)\n" : ``;
|
|
1313
1318
|
const self = process.env.AGENT_YES_PID ? await resolveSender() : null;
|
|
1314
1319
|
const agentSection = self ? await buildAgentContextSection(self) : "";
|
|
1315
|
-
process.stdout.write(agentSection + "ay - agent-yes CLI\n\nManagement:\n ay ls [keyword] list running agents\n ay tail [-f] [-n N] <keyword> last N lines (96), -f to follow\n ay read <keyword> [page opts] paginate: --last/--head N, --range A:B,\n --before-line L [--limit N]\n ay cat <keyword> full log\n ay head <keyword> first N lines\n ay send <keyword> <msg> send a message (keyword '.' = agent in this cwd)\n ay msgs [keyword] [--in|--out] inter-agent message log (sent + received)\n ay ch mk|join|send|read|tail <topic> local-first E2E channels: AI ↔ humans on a topic (ay ch help)\n ay key <keyword> <key...> send raw keystrokes (down/up/enter/esc/…) — drives menus\n ay select <keyword> <N> pick option N of a needs_input selection menu\n ay attach <keyword> interactive attach (detach: Ctrl-\\)\n ay stop <keyword> graceful shutdown (/exit for claude/codex)\n ay exit <keyword> [reason] graceful shutdown, recording who/why (= 'ay send <kw> exit')\n ay restart <keyword> [--fresh] stop (if live) + relaunch resuming the session; --fresh replays the prompt\n ay status <keyword> agent status snapshot\n ay result <keyword> [--wait] pull an agent's structured result envelope\n ay result set '<json>' (inside an agent) deposit your result envelope\n ay reap kill process groups leaked by dead agents\n" + wsLines + "\nRemote:\n" + setupLine + " ay schedule <when> <cli> -- <msg> run an agent on a schedule (HH:MM or cron)\n ay serve [--port N] start HTTP API server (prints token)\n ay serve status show serve daemon/server status\n ay remote add <alias> http://<token>@<host>:<port>\n ay remote ls / rm <alias> manage saved remotes\n ay expose <port> share localhost:<port> at https://<id>.agent-yes.com (private link)\n ay callback --expires 7d mint an embeddable message-me widget for one agent\n ay ls <token>@<host>:<port> connect inline (no alias needed)\n ay send <token>@<host>:<port>:<kw> <msg>\n\nRun an agent:\n ay [claude|codex|gemini|...] [options] -- [prompt]\n ay claude -- \"fix the bug in auth.ts\"\n ay claude --help full agent-runner options\n\nLabs (examples at https://github.com/snomiao/agent-yes/tree/main/lab):\n local-role-play/ designer + builder on one machine\n http-remote/ ay serve remote access demo\n p2p-pairing/ libp2p P2P (needs: cargo build --features swarm)\n");
|
|
1320
|
+
process.stdout.write(agentSection + "ay - agent-yes CLI\n\nManagement:\n ay ls [keyword] list running agents\n ay tail [-f] [-n N] <keyword> last N lines (96), -f to follow\n ay read <keyword> [page opts] paginate: --last/--head N, --range A:B,\n --before-line L [--limit N]\n ay cat <keyword> full log\n ay head <keyword> first N lines\n ay send <keyword> <msg> send a message (keyword '.' = agent in this cwd)\n ay msgs [keyword] [--in|--out] inter-agent message log (sent + received)\n ay ch mk|join|send|read|tail <topic> local-first E2E channels: AI ↔ humans on a topic (ay ch help)\n ay term embed <pid> <script> to embed a live read-only agent terminal in a page (ay term help)\n ay key <keyword> <key...> send raw keystrokes (down/up/enter/esc/…) — drives menus\n ay select <keyword> <N> pick option N of a needs_input selection menu\n ay attach <keyword> interactive attach (detach: Ctrl-\\)\n ay stop <keyword> graceful shutdown (/exit for claude/codex)\n ay exit <keyword> [reason] graceful shutdown, recording who/why (= 'ay send <kw> exit')\n ay restart <keyword> [--fresh] stop (if live) + relaunch resuming the session; --fresh replays the prompt\n ay status <keyword> agent status snapshot\n ay result <keyword> [--wait] pull an agent's structured result envelope\n ay result set '<json>' (inside an agent) deposit your result envelope\n ay reap kill process groups leaked by dead agents\n" + wsLines + "\nRemote:\n" + setupLine + " ay schedule <when> <cli> -- <msg> run an agent on a schedule (HH:MM or cron)\n ay serve [--port N] start HTTP API server (prints token)\n ay serve status show serve daemon/server status\n ay remote add <alias> http://<token>@<host>:<port>\n ay remote ls / rm <alias> manage saved remotes\n ay expose <port> share localhost:<port> at https://<id>.agent-yes.com (private link)\n ay callback --expires 7d mint an embeddable message-me widget for one agent\n ay ls <token>@<host>:<port> connect inline (no alias needed)\n ay send <token>@<host>:<port>:<kw> <msg>\n\nRun an agent:\n ay [claude|codex|gemini|...] [options] -- [prompt]\n ay claude -- \"fix the bug in auth.ts\"\n ay claude --help full agent-runner options\n\nLabs (examples at https://github.com/snomiao/agent-yes/tree/main/lab):\n local-role-play/ designer + builder on one machine\n http-remote/ ay serve remote access demo\n p2p-pairing/ libp2p P2P (needs: cargo build --features swarm)\n");
|
|
1316
1321
|
return 0;
|
|
1317
1322
|
}
|
|
1318
1323
|
function matchKeyword(record, keyword) {
|
|
@@ -1692,7 +1697,7 @@ async function fetchRemoteRecordsRaw(url, token, opts) {
|
|
|
1692
1697
|
let base = url;
|
|
1693
1698
|
let bearer = token;
|
|
1694
1699
|
if (isWebrtcSpec(url)) {
|
|
1695
|
-
const { startWebrtcBridge } = await import("./webrtcRemote-
|
|
1700
|
+
const { startWebrtcBridge } = await import("./webrtcRemote-DJDtCTpj.js");
|
|
1696
1701
|
bridge = await startWebrtcBridge(url);
|
|
1697
1702
|
base = bridge.baseUrl;
|
|
1698
1703
|
bearer = bridge.token;
|
|
@@ -4312,7 +4317,7 @@ async function cmdNotify(rest) {
|
|
|
4312
4317
|
}
|
|
4313
4318
|
const ensure = async () => {
|
|
4314
4319
|
if (!argv["ensure-daemon"]) return;
|
|
4315
|
-
const { ensureDaemon } = await import("./notifyDaemon-
|
|
4320
|
+
const { ensureDaemon } = await import("./notifyDaemon-D_8TRVHt.js");
|
|
4316
4321
|
await ensureDaemon().catch(() => null);
|
|
4317
4322
|
};
|
|
4318
4323
|
await heartbeatWatcher(parent, selfStartedAt);
|
|
@@ -4386,7 +4391,7 @@ async function cmdNotifyCursor(args) {
|
|
|
4386
4391
|
}
|
|
4387
4392
|
async function cmdNotifyd(rest) {
|
|
4388
4393
|
const sub = rest[0] ?? "status";
|
|
4389
|
-
const daemon = await import("./notifyDaemon-
|
|
4394
|
+
const daemon = await import("./notifyDaemon-D_8TRVHt.js");
|
|
4390
4395
|
switch (sub) {
|
|
4391
4396
|
case "run": return daemon.runDaemon();
|
|
4392
4397
|
case "once": return daemon.runDaemon({ once: true });
|
|
@@ -4413,4 +4418,4 @@ async function cmdNotifyd(rest) {
|
|
|
4413
4418
|
|
|
4414
4419
|
//#endregion
|
|
4415
4420
|
export { daemonLockDir as $, renderLogTailLines as A, stopTipForCli as B, matchKeyword as C, readPtysize as D, readNotes as E, resolveResumeArgs as F, appendEvent as G, waitForLogQuiet as H, restartHintLines as I, isTransientLockMkdirError as J, gcInboxes as K, runSubcommand as L, renderRawLogLines as M, resolveOne as N, recentMessageEdges as O, resolveReadWindow as P, shouldStealLock as Q, snapshotStatus as R, listRecords as S, readAgentPtysize as T, writeKeysPaced as U, submitAndConfirm as V, writeToIpc as W, liveWatchers as X, listInboxParents as Y, readInbox as Z, isPidAlive as _, cmdHelp as a, isUserTyping as b, deriveLiveState as c, extractMenu as d, daemonLockOwnerPath as et, extractNeedsInput as f, isExitRequest as g, isAgentStuck as h, backoffWhileTyping as i, renderRawLog as j, recentReadEdges as k, deriveLiveStatus as l, finalizedLines as m, READ_PAGE_DEFAULT as n, TYPING_BADGE as nt, controlCodeFromName as o, extractTaskCounts as p, hostId as q, TYPING_WINDOW_MS as r, cursorAbs as s, GRACEFUL_EXIT_COMMANDS as t, notifyDir as tt, extractBadges as u, isSlashCommand as v, menuSelectKeys as w, lastStdinAt as x, isSubcommand as y, stdinActivityPath as z };
|
|
4416
|
-
//# sourceMappingURL=subcommands-
|
|
4421
|
+
//# sourceMappingURL=subcommands-DFr-5FOL.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import "./globalPidIndex-
|
|
3
|
-
import "./messageLog-
|
|
4
|
-
import "./e2e-
|
|
5
|
-
import "./configShared-
|
|
6
|
-
import { A as renderLogTailLines, B as stopTipForCli, C as matchKeyword, D as readPtysize, E as readNotes, F as resolveResumeArgs, H as waitForLogQuiet, I as restartHintLines, L as runSubcommand, M as renderRawLogLines, N as resolveOne, O as recentMessageEdges, P as resolveReadWindow, R as snapshotStatus, S as listRecords, T as readAgentPtysize, U as writeKeysPaced, V as submitAndConfirm, W as writeToIpc, _ as isPidAlive, a as cmdHelp, b as isUserTyping, c as deriveLiveState, d as extractMenu, f as extractNeedsInput, g as isExitRequest, h as isAgentStuck, i as backoffWhileTyping, j as renderRawLog, k as recentReadEdges, l as deriveLiveStatus, m as finalizedLines, n as READ_PAGE_DEFAULT, o as controlCodeFromName, p as extractTaskCounts, r as TYPING_WINDOW_MS, s as cursorAbs, t as GRACEFUL_EXIT_COMMANDS, u as extractBadges, v as isSlashCommand, w as menuSelectKeys, x as lastStdinAt, y as isSubcommand, z as stdinActivityPath } from "./subcommands-
|
|
7
|
-
import "./webrtcLink-
|
|
8
|
-
import "./remotes-
|
|
2
|
+
import "./globalPidIndex-D9DOSd-c.js";
|
|
3
|
+
import "./messageLog-C-YIzhRj.js";
|
|
4
|
+
import "./e2e-CEIdJGZ7.js";
|
|
5
|
+
import "./configShared-9wVlbPyC.js";
|
|
6
|
+
import { A as renderLogTailLines, B as stopTipForCli, C as matchKeyword, D as readPtysize, E as readNotes, F as resolveResumeArgs, H as waitForLogQuiet, I as restartHintLines, L as runSubcommand, M as renderRawLogLines, N as resolveOne, O as recentMessageEdges, P as resolveReadWindow, R as snapshotStatus, S as listRecords, T as readAgentPtysize, U as writeKeysPaced, V as submitAndConfirm, W as writeToIpc, _ as isPidAlive, a as cmdHelp, b as isUserTyping, c as deriveLiveState, d as extractMenu, f as extractNeedsInput, g as isExitRequest, h as isAgentStuck, i as backoffWhileTyping, j as renderRawLog, k as recentReadEdges, l as deriveLiveStatus, m as finalizedLines, n as READ_PAGE_DEFAULT, o as controlCodeFromName, p as extractTaskCounts, r as TYPING_WINDOW_MS, s as cursorAbs, t as GRACEFUL_EXIT_COMMANDS, u as extractBadges, v as isSlashCommand, w as menuSelectKeys, x as lastStdinAt, y as isSubcommand, z as stdinActivityPath } from "./subcommands-DFr-5FOL.js";
|
|
7
|
+
import "./webrtcLink-VQhWmKOw.js";
|
|
8
|
+
import "./remotes-Bem6WIyU.js";
|
|
9
9
|
|
|
10
10
|
export { cmdHelp, isSubcommand, runSubcommand };
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
//#region ts/terminal.ts
|
|
2
|
+
function parseFlags(args, known) {
|
|
3
|
+
const flags = {};
|
|
4
|
+
const positional = [];
|
|
5
|
+
for (let i = 0; i < args.length; i++) {
|
|
6
|
+
const a = args[i];
|
|
7
|
+
if (!a.startsWith("-") || a === "-") {
|
|
8
|
+
positional.push(a);
|
|
9
|
+
continue;
|
|
10
|
+
}
|
|
11
|
+
const eq = a.indexOf("=");
|
|
12
|
+
const name = eq === -1 ? a.replace(/^--?/, "") : a.slice(a.startsWith("--") ? 2 : 1, eq);
|
|
13
|
+
const kind = known[name];
|
|
14
|
+
if (!kind) throw new Error(`unknown flag ${a}`);
|
|
15
|
+
if (kind === "bool") {
|
|
16
|
+
if (eq !== -1) throw new Error(`--${name} takes no value`);
|
|
17
|
+
flags[name] = true;
|
|
18
|
+
} else {
|
|
19
|
+
const v = eq !== -1 ? a.slice(eq + 1) : args[++i];
|
|
20
|
+
if (v === void 0) throw new Error(`${a} requires a value`);
|
|
21
|
+
flags[name] = v;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
flags,
|
|
26
|
+
positional
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The embed `<script>` snippet — a script (NOT an iframe) that loads the AyTerminal
|
|
31
|
+
* browser lib and mounts a read-only terminal in the page. Three modes trade off
|
|
32
|
+
* where the serve token lives: never in the file (`discover` — the safe default,
|
|
33
|
+
* the widget reads #k= / window.AY_TERM_TOKEN / localStorage), injected at runtime
|
|
34
|
+
* (`placeholder`), or baked in (`live`, loud warning — a serve token is full-fleet
|
|
35
|
+
* read+write until scoped read-only tokens land).
|
|
36
|
+
*/
|
|
37
|
+
function buildTermEmbedSnippet(host, pid, mode) {
|
|
38
|
+
const imp = ` import AyTerminal from "https://${host}/w/terminal.js";\n`;
|
|
39
|
+
const originArg = mode.origin ? `origin: ${JSON.stringify(mode.origin)}, ` : "";
|
|
40
|
+
const roArg = mode.interactive ? `readOnly: false, ` : "";
|
|
41
|
+
const tokenArg = mode.kind === "live" ? `token: ${JSON.stringify(mode.token)}, ` : mode.kind === "placeholder" ? `token: window.AY_TERM_TOKEN, ` : "";
|
|
42
|
+
return `<!-- ay terminal: ${mode.interactive ? "interactive" : "read-only"} view of #${pid} — ${mode.kind === "live" ? `this snippet embeds a LIVE token — do NOT commit it to a public or deploy-bound file.` : mode.kind === "placeholder" ? `set window.AY_TERM_TOKEN at runtime; do NOT commit it.` : `no token in this file; the widget reads it from the page (#k= / window.AY_TERM_TOKEN / localStorage).`} Add <div id="ay-term" style="width:720px;height:420px"></div> where you want the terminal, or omit it to float in the corner. -->\n<script type="module">\n${imp} new AyTerminal({ ${originArg}${roArg}${tokenArg}pid: ${JSON.stringify(pid)} }).mount(document.getElementById("ay-term") ?? undefined);\n<\/script>\n`;
|
|
43
|
+
}
|
|
44
|
+
function cmdTermEmbed(args) {
|
|
45
|
+
const { flags, positional } = parseFlags(args, {
|
|
46
|
+
host: "value",
|
|
47
|
+
origin: "value",
|
|
48
|
+
token: "value",
|
|
49
|
+
placeholder: "bool",
|
|
50
|
+
interactive: "bool"
|
|
51
|
+
});
|
|
52
|
+
const pid = positional[0];
|
|
53
|
+
if (!pid || positional.length > 1) throw new Error("usage: ay term embed <pid|keyword> [--host H] [--origin URL] [--token TOK | --placeholder] [--interactive]");
|
|
54
|
+
if (flags.token && flags.placeholder) throw new Error("--token and --placeholder are mutually exclusive");
|
|
55
|
+
const host = typeof flags.host === "string" ? flags.host : "agent-yes.com";
|
|
56
|
+
const origin = typeof flags.origin === "string" ? flags.origin : void 0;
|
|
57
|
+
const interactive = flags.interactive === true;
|
|
58
|
+
const mode = flags.placeholder ? {
|
|
59
|
+
kind: "placeholder",
|
|
60
|
+
origin,
|
|
61
|
+
interactive
|
|
62
|
+
} : typeof flags.token === "string" ? {
|
|
63
|
+
kind: "live",
|
|
64
|
+
token: flags.token,
|
|
65
|
+
origin,
|
|
66
|
+
interactive
|
|
67
|
+
} : {
|
|
68
|
+
kind: "discover",
|
|
69
|
+
origin,
|
|
70
|
+
interactive
|
|
71
|
+
};
|
|
72
|
+
process.stdout.write(buildTermEmbedSnippet(host, pid, mode));
|
|
73
|
+
if (mode.kind === "discover") process.stderr.write("\n Token-free snippet — the widget reads the serve token from the page (#k= hash,\n window.AY_TERM_TOKEN, or the console's localStorage[\"ay.localToken\"]). Ideal when the\n page is served by the daemon itself (ay serve --http) with a #k=<token> link.\n");
|
|
74
|
+
else if (mode.kind === "placeholder") process.stderr.write("\n Placeholder — the token is NOT in the snippet; set window.AY_TERM_TOKEN at runtime\n (server-rendered / env), so a committed file carries no secret.\n");
|
|
75
|
+
else process.stderr.write("\n ⚠ This snippet embeds a LIVE serve token — full-fleet READ+WRITE for this daemon.\n Anyone who reads the page source gets it. Do NOT commit it to a public or\n deploy-bound file. Prefer --placeholder (runtime-injected) or the token-free\n default. Scoped read-only embed tokens are future work (need per-author signing).\n");
|
|
76
|
+
if (interactive) process.stderr.write(`\n ⚠ INTERACTIVE: keystrokes in the widget go to the agent's stdin. This needs a token\n that grants /api/send for #${pid} (the widget reverts to read-only on a 403). Prefer a\n scoped, short-TTL, single-session interactive token (future: ay term mint --interactive)\n over the master token — the master token is full-fleet RCE.\n`);
|
|
77
|
+
else process.stderr.write("\n Read-only mirror: it renders the agent's PTY but never types into it. Add --interactive\n (with a send-granting token) to let viewers type to the agent.\n");
|
|
78
|
+
process.stderr.write(` terminal.js must load from https://${host}/w/terminal.js.\n`);
|
|
79
|
+
if (!origin) process.stderr.write(" Same-origin: /api/tail sends no CORS headers, so the page must be served by the\n daemon (ay serve --http). For an arbitrary-origin page, pass --origin <daemon-url>\n (the daemon must be reachable + allow it); the WebRTC --share transport for any\n origin is a later phase.\n");
|
|
80
|
+
return 0;
|
|
81
|
+
}
|
|
82
|
+
/** Parse a TTL like "900", "30s", "15m", "2h" → seconds. */
|
|
83
|
+
function parseTtlSec(s) {
|
|
84
|
+
const m = /^(\d+)(s|m|h)?$/.exec(s.trim());
|
|
85
|
+
if (!m) throw new Error(`bad --ttl "${s}" (use e.g. 900, 30s, 15m, 2h)`);
|
|
86
|
+
const mult = m[2] === "h" ? 3600 : m[2] === "m" ? 60 : 1;
|
|
87
|
+
return Number(m[1]) * mult;
|
|
88
|
+
}
|
|
89
|
+
async function cmdTermMint(args) {
|
|
90
|
+
const { flags, positional } = parseFlags(args, {
|
|
91
|
+
ttl: "value",
|
|
92
|
+
ro: "bool",
|
|
93
|
+
interactive: "bool",
|
|
94
|
+
json: "bool"
|
|
95
|
+
});
|
|
96
|
+
const pid = positional[0];
|
|
97
|
+
if (!pid || positional.length > 1) throw new Error("usage: ay term mint <pid|keyword> [--ttl 15m] [--ro | --interactive] [--json]");
|
|
98
|
+
if (flags.ro && flags.interactive) throw new Error("--ro and --interactive are mutually exclusive");
|
|
99
|
+
const ttlSec = parseTtlSec(typeof flags.ttl === "string" ? flags.ttl : "15m");
|
|
100
|
+
const canSend = flags.interactive === true;
|
|
101
|
+
const { mintScopedTermToken } = await import("./serve-QejbNTr-.js");
|
|
102
|
+
const r = await mintScopedTermToken(pid, {
|
|
103
|
+
ttlSec,
|
|
104
|
+
canSend
|
|
105
|
+
});
|
|
106
|
+
if (flags.json === true) {
|
|
107
|
+
process.stdout.write(JSON.stringify(r) + "\n");
|
|
108
|
+
return 0;
|
|
109
|
+
}
|
|
110
|
+
process.stdout.write(r.token + "\n");
|
|
111
|
+
const mins = Math.round(ttlSec / 60);
|
|
112
|
+
process.stderr.write(`\n Scoped ${canSend ? "INTERACTIVE (read+write)" : "read-only"} token for #${r.pid}, expires in ~${mins}m (${(/* @__PURE__ */ new Date(r.exp * 1e3)).toISOString()}).\n It grants ONLY ${canSend ? "read+write of" : "read of"} #${r.pid} — no other agent, no spawn.\n Safe to embed in a page (this is NOT the master token):\n ay term embed ${r.pid} --token <token> ${canSend ? "--interactive " : ""}--origin <daemon-url>\n Short TTL is the backstop (serverless — no central revoke); re-mint when it lapses.\n`);
|
|
113
|
+
return 0;
|
|
114
|
+
}
|
|
115
|
+
function termHelp() {
|
|
116
|
+
process.stdout.write("ay term — embed a live, read-only agent terminal in a web page\n\nUsage:\n ay term embed <pid|keyword> [--host H] [--origin URL] [--token TOK | --placeholder] [--interactive]\n ay term mint <pid|keyword> [--ttl 15m] [--ro | --interactive] [--json]\n\n embed print a <script> snippet that mounts a read-only xterm mirror of the agent\n into <div id=\"ay-term\">, or a floating panel if that div is absent.\n mint mint a scoped, short-TTL token bound to ONE agent (read-only by default;\n --interactive also grants that agent's stdin) — safe to embed in a page,\n unlike the master serve token. Prints the token on stdout.\n\nFlags (embed):\n --host H CDN host serving terminal.js (default agent-yes.com)\n --origin URL daemon origin if the page is NOT served by the daemon (same-origin default)\n --token TOK bake a LIVE serve token into the snippet (⚠ full-fleet r/w; avoid committing)\n --placeholder read the token from window.AY_TERM_TOKEN at runtime (no secret in the file)\n --interactive wire the keyboard to the agent's stdin (needs a send-granting token; ⚠ opt-in)\n");
|
|
117
|
+
return 0;
|
|
118
|
+
}
|
|
119
|
+
async function cmdTerm(args) {
|
|
120
|
+
const sub = args[0];
|
|
121
|
+
const rest = args.slice(1);
|
|
122
|
+
switch (sub) {
|
|
123
|
+
case "embed": return cmdTermEmbed(rest);
|
|
124
|
+
case "mint": return cmdTermMint(rest);
|
|
125
|
+
case void 0:
|
|
126
|
+
case "help":
|
|
127
|
+
case "--help":
|
|
128
|
+
case "-h": return termHelp();
|
|
129
|
+
default:
|
|
130
|
+
process.stderr.write(`ay term: unknown subcommand "${sub}"\n\n`);
|
|
131
|
+
termHelp();
|
|
132
|
+
return 1;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
//#endregion
|
|
137
|
+
export { cmdTerm };
|
|
138
|
+
//# sourceMappingURL=terminal-vNeFNLT8.js.map
|
package/dist/terminal.js
ADDED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as JsonlStore } from "./JsonlStore-
|
|
1
|
+
import { t as JsonlStore } from "./JsonlStore-CPGIR0Wy.js";
|
|
2
2
|
import path from "path";
|
|
3
3
|
import { lock } from "proper-lockfile";
|
|
4
4
|
|
|
@@ -958,4 +958,4 @@ function reconcileTodos(tasks, agents, registeredGates) {
|
|
|
958
958
|
|
|
959
959
|
//#endregion
|
|
960
960
|
export { isKnownKind as _, renderTree as a, statesOf as b, monitorHint as c, openStore as d, DONE_STATE as f, initialState as g, canTransition as h, renderDigest as i, CycleError as l, ORPHANED_STATE as m, buildTreeJSON as n, unblockedTasks as o, LIFECYCLES as p, openBlockers as r, describeBlock as s, reconcileTodos as t, TodoStore as u, nextStates as v, removeControlCharacters as x, requiredGate as y };
|
|
961
|
-
//# sourceMappingURL=todoAutomation-
|
|
961
|
+
//# sourceMappingURL=todoAutomation-Buo457VO.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import { _ as isKnownKind, a as renderTree, d as openStore, i as renderDigest, l as CycleError, n as buildTreeJSON, o as unblockedTasks, p as LIFECYCLES, s as describeBlock, t as reconcileTodos, x as removeControlCharacters } from "./todoAutomation-
|
|
3
|
-
import "./JsonlStore-
|
|
4
|
-
import { i as readGlobalPids } from "./globalPidIndex-
|
|
2
|
+
import { _ as isKnownKind, a as renderTree, d as openStore, i as renderDigest, l as CycleError, n as buildTreeJSON, o as unblockedTasks, p as LIFECYCLES, s as describeBlock, t as reconcileTodos, x as removeControlCharacters } from "./todoAutomation-Buo457VO.js";
|
|
3
|
+
import "./JsonlStore-CPGIR0Wy.js";
|
|
4
|
+
import { i as readGlobalPids } from "./globalPidIndex-D9DOSd-c.js";
|
|
5
5
|
import yargs from "yargs";
|
|
6
6
|
|
|
7
7
|
//#region ts/todoCli.ts
|
|
@@ -456,4 +456,4 @@ async function runTodoSubcommand(rest0) {
|
|
|
456
456
|
|
|
457
457
|
//#endregion
|
|
458
458
|
export { runTodoSubcommand };
|
|
459
|
-
//# sourceMappingURL=todoCli-
|
|
459
|
+
//# sourceMappingURL=todoCli-CNNR9Czu.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as getRunningAgentCount } from "./runningLock-
|
|
1
|
+
import { n as getRunningAgentCount } from "./runningLock-DBoONoM-.js";
|
|
2
2
|
import { existsSync } from "fs";
|
|
3
3
|
import { mkdir, readFile, unlink, writeFile } from "fs/promises";
|
|
4
4
|
import { homedir } from "os";
|
|
@@ -187,4 +187,4 @@ async function startTray() {
|
|
|
187
187
|
|
|
188
188
|
//#endregion
|
|
189
189
|
export { ensureTray, startTray };
|
|
190
|
-
//# sourceMappingURL=tray-
|
|
190
|
+
//# sourceMappingURL=tray-D5qFaqlS.js.map
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
import { n as __esmMin, r as __exportAll } from "./chunk-cZBX9HZv.js";
|
|
1
2
|
import { n as logger, t as addTransport } from "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
3
|
-
import { t as agentYesHome } from "./agentYesHome-
|
|
4
|
-
import { d as openStore, p as LIFECYCLES, x as removeControlCharacters } from "./todoAutomation-
|
|
5
|
-
import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-
|
|
6
|
-
import { i as readGlobalPids } from "./globalPidIndex-
|
|
7
|
-
import { t as PidStore } from "./pidStore-
|
|
8
|
-
import { r as recordInbox } from "./messageLog-
|
|
9
|
-
import { n as register, r as sweep } from "./reaper-
|
|
3
|
+
import { r as getInstalledPackage } from "./versionChecker-XfEBINhH.js";
|
|
4
|
+
import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
|
|
5
|
+
import { d as openStore, p as LIFECYCLES, x as removeControlCharacters } from "./todoAutomation-Buo457VO.js";
|
|
6
|
+
import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-DBoONoM-.js";
|
|
7
|
+
import { i as readGlobalPids } from "./globalPidIndex-D9DOSd-c.js";
|
|
8
|
+
import { t as PidStore } from "./pidStore-6EZd5DUv.js";
|
|
9
|
+
import { r as recordInbox } from "./messageLog-C-YIzhRj.js";
|
|
10
|
+
import { n as register, r as sweep } from "./reaper-DP49VCKx.js";
|
|
10
11
|
import { arch, platform } from "process";
|
|
11
12
|
import { execSync } from "child_process";
|
|
12
13
|
import { closeSync, constants, createReadStream, existsSync, mkdirSync, openSync } from "fs";
|
|
@@ -26,24 +27,6 @@ import { readFile as readFile$1 } from "node:fs/promises";
|
|
|
26
27
|
import path$1 from "node:path";
|
|
27
28
|
import { existsSync as existsSync$1 } from "node:fs";
|
|
28
29
|
|
|
29
|
-
//#region \0rolldown/runtime.js
|
|
30
|
-
var __defProp = Object.defineProperty;
|
|
31
|
-
var __esmMin = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
32
|
-
var __exportAll = (all, no_symbols) => {
|
|
33
|
-
let target = {};
|
|
34
|
-
for (var name in all) {
|
|
35
|
-
__defProp(target, name, {
|
|
36
|
-
get: all[name],
|
|
37
|
-
enumerable: true
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
if (!no_symbols) {
|
|
41
|
-
__defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
42
|
-
}
|
|
43
|
-
return target;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
//#endregion
|
|
47
30
|
//#region ts/xterm-proxy.ts
|
|
48
31
|
const { Terminal } = xterm;
|
|
49
32
|
/**
|
|
@@ -1285,7 +1268,7 @@ async function answerAsk(projectRoot, taskId, answer) {
|
|
|
1285
1268
|
|
|
1286
1269
|
//#endregion
|
|
1287
1270
|
//#region ts/index.ts
|
|
1288
|
-
const config = await import("./agent-yes.config-
|
|
1271
|
+
const config = await import("./agent-yes.config-DPtMM0S-.js").then((mod) => mod.default || mod);
|
|
1289
1272
|
const CLIS_CONFIG = config.clis;
|
|
1290
1273
|
/**
|
|
1291
1274
|
* Main function to run agent-cli with automatic yes/no responses
|
|
@@ -2044,4 +2027,4 @@ function sleep(ms) {
|
|
|
2044
2027
|
|
|
2045
2028
|
//#endregion
|
|
2046
2029
|
export { hasTodoStore as a, AgentContext as c, answerAsk as i, CLAUDE_SESSION_PIN_ENV as l, agentYes as n, listAsks as o, config as r, listAsksForProject as s, CLIS_CONFIG as t };
|
|
2047
|
-
//# sourceMappingURL=ts-
|
|
2030
|
+
//# sourceMappingURL=ts-Dd1FK7sR.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.
|
|
10
|
+
var version = "1.237.0";
|
|
11
11
|
|
|
12
12
|
//#endregion
|
|
13
13
|
//#region ts/versionChecker.ts
|
|
@@ -215,4 +215,4 @@ async function displayVersion() {
|
|
|
215
215
|
|
|
216
216
|
//#endregion
|
|
217
217
|
export { versionString as i, displayVersion as n, getInstalledPackage as r, checkAndAutoUpdate as t };
|
|
218
|
-
//# sourceMappingURL=versionChecker-
|
|
218
|
+
//# sourceMappingURL=versionChecker-XfEBINhH.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { u as parseSecret } from "./e2e-
|
|
1
|
+
import { u as parseSecret } from "./e2e-CEIdJGZ7.js";
|
|
2
2
|
|
|
3
3
|
//#region ts/webrtcLink.ts
|
|
4
4
|
const SIGNAL_SUBPROTOCOL = "ay-signal-1";
|
|
@@ -42,4 +42,4 @@ function isWebrtcSpec(spec) {
|
|
|
42
42
|
|
|
43
43
|
//#endregion
|
|
44
44
|
export { isWebrtcSpec as n, parseWebrtcLink as r, SIGNAL_SUBPROTOCOL as t };
|
|
45
|
-
//# sourceMappingURL=webrtcLink-
|
|
45
|
+
//# sourceMappingURL=webrtcLink-VQhWmKOw.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as computeTranscriptHash, c as open, d as randomHex, f as seal, l as packEnvelope, n as FLAG_CONFIRM, o as deriveAuthToken, p as unpackEnvelope, s as deriveDirKeys } from "./e2e-
|
|
2
|
-
import { n as isWebrtcSpec, r as parseWebrtcLink, t as SIGNAL_SUBPROTOCOL } from "./webrtcLink-
|
|
1
|
+
import { a as computeTranscriptHash, c as open, d as randomHex, f as seal, l as packEnvelope, n as FLAG_CONFIRM, o as deriveAuthToken, p as unpackEnvelope, s as deriveDirKeys } from "./e2e-CEIdJGZ7.js";
|
|
2
|
+
import { n as isWebrtcSpec, r as parseWebrtcLink, t as SIGNAL_SUBPROTOCOL } from "./webrtcLink-VQhWmKOw.js";
|
|
3
3
|
import { RTCPeerConnection } from "node-datachannel/polyfill";
|
|
4
4
|
|
|
5
5
|
//#region ts/webrtcRemote.ts
|
|
@@ -256,4 +256,4 @@ async function startWebrtcBridge(link) {
|
|
|
256
256
|
|
|
257
257
|
//#endregion
|
|
258
258
|
export { startWebrtcBridge };
|
|
259
|
-
//# sourceMappingURL=webrtcRemote-
|
|
259
|
+
//# sourceMappingURL=webrtcRemote-DJDtCTpj.js.map
|
package/dist/widgets.js
ADDED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as agentYesHome } from "./agentYesHome-
|
|
1
|
+
import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
|
|
2
2
|
import { lstatSync, mkdirSync, readFileSync, statSync, writeFileSync } from "fs";
|
|
3
3
|
import { homedir } from "os";
|
|
4
4
|
import path from "path";
|
|
@@ -193,4 +193,4 @@ function resolveSpawnCwd(input) {
|
|
|
193
193
|
|
|
194
194
|
//#endregion
|
|
195
195
|
export { getSpawnHook as a, hasProvisionHook as c, resolveSpawnCwd as d, setWorkspaceRoot as f, getProvisionRoot as i, hasSpawnHook as l, getMinFreeMb as n, getSpawnWaitMs as o, getProvisionHook as r, getWorkspaceRoot as s, getMaxAgents as t, isProvisionAllowed as u };
|
|
196
|
-
//# sourceMappingURL=workspaceConfig-
|
|
196
|
+
//# sourceMappingURL=workspaceConfig-B7HaQ-MI.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import "./globalPidIndex-
|
|
3
|
-
import "./messageLog-
|
|
4
|
-
import "./e2e-
|
|
5
|
-
import "./configShared-
|
|
6
|
-
import { S as listRecords } from "./subcommands-
|
|
7
|
-
import "./webrtcLink-
|
|
8
|
-
import "./remotes-
|
|
9
|
-
import { i as getProvisionRoot } from "./workspaceConfig-
|
|
2
|
+
import "./globalPidIndex-D9DOSd-c.js";
|
|
3
|
+
import "./messageLog-C-YIzhRj.js";
|
|
4
|
+
import "./e2e-CEIdJGZ7.js";
|
|
5
|
+
import "./configShared-9wVlbPyC.js";
|
|
6
|
+
import { S as listRecords } from "./subcommands-DFr-5FOL.js";
|
|
7
|
+
import "./webrtcLink-VQhWmKOw.js";
|
|
8
|
+
import "./remotes-Bem6WIyU.js";
|
|
9
|
+
import { i as getProvisionRoot } from "./workspaceConfig-B7HaQ-MI.js";
|
|
10
10
|
import { existsSync } from "fs";
|
|
11
11
|
import { lstat, opendir } from "fs/promises";
|
|
12
12
|
import path from "path";
|
|
@@ -418,4 +418,4 @@ async function cmdWs(args) {
|
|
|
418
418
|
|
|
419
419
|
//#endregion
|
|
420
420
|
export { WS_JSON_SCHEMA, cmdWs, collectWorkspaces, isPathInside, loadProvision, workspaceStatus };
|
|
421
|
-
//# sourceMappingURL=ws-
|
|
421
|
+
//# sourceMappingURL=ws-Dun8gGiV.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-yes",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.237.0",
|
|
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",
|
|
@@ -62,6 +62,8 @@
|
|
|
62
62
|
"ts/*.ts",
|
|
63
63
|
"ts/channels/*.ts",
|
|
64
64
|
"!ts/channels/*.spec.ts",
|
|
65
|
+
"ts/terminal/*.ts",
|
|
66
|
+
"!ts/terminal/*.spec.ts",
|
|
65
67
|
"!dist/**/*.map",
|
|
66
68
|
"dist/**/*.js",
|
|
67
69
|
"lab/ui/console-logic.js",
|
|
@@ -87,6 +89,14 @@
|
|
|
87
89
|
"./channels": {
|
|
88
90
|
"types": "./ts/channels/browser.ts",
|
|
89
91
|
"import": "./dist/channels.js"
|
|
92
|
+
},
|
|
93
|
+
"./terminal": {
|
|
94
|
+
"types": "./ts/terminal/browser.ts",
|
|
95
|
+
"import": "./dist/terminal.js"
|
|
96
|
+
},
|
|
97
|
+
"./widgets": {
|
|
98
|
+
"types": "./ts/widgets.ts",
|
|
99
|
+
"import": "./dist/widgets.js"
|
|
90
100
|
}
|
|
91
101
|
},
|
|
92
102
|
"publishConfig": {
|
|
@@ -134,6 +144,8 @@
|
|
|
134
144
|
},
|
|
135
145
|
"devDependencies": {
|
|
136
146
|
"@google/generative-ai": "^0.24.1",
|
|
147
|
+
"@xterm/addon-fit": "^0.11.0",
|
|
148
|
+
"@xterm/xterm": "^6.0.0",
|
|
137
149
|
"@semantic-release/exec": "^7.1.0",
|
|
138
150
|
"@semantic-release/git": "^10.0.1",
|
|
139
151
|
"@types/bun": "^1.3.6",
|