agent-yes 1.231.0 → 1.232.0-beta.562.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/dist/{SUPPORTED_CLIS-Cj00WOEz.js → SUPPORTED_CLIS-BVrhFNME.js} +3 -3
- package/dist/{SUPPORTED_CLIS-BS2hYjrW.js → SUPPORTED_CLIS-By9-EQeZ.js} +2 -2
- package/dist/{agentShare-BBLXfmbU.js → agentShare-DzjE_mNj.js} +2 -2
- package/dist/{callback-beueK8jU.js → callback-C5jft1u3.js} +2 -2
- package/dist/{callback-B8Bx8c-9.js → callback-oV0TgY6T.js} +3 -3
- package/dist/{channels-CUOl2wrG.js → channels-Bu4DZzHk.js} +15 -2
- package/dist/{channels-mAf4ztTJ.js → channels-Ddj0hWZB.js} +59 -11
- package/dist/channels.js +19 -3
- package/dist/cli.js +4 -4
- package/dist/index.js +2 -2
- package/dist/{notifyDaemon-CJfxTj46.js → notifyDaemon-lH7040Ua.js} +2 -2
- package/dist/{rustBinary-d4ZUStzi.js → rustBinary-DYTn5Asw.js} +2 -2
- package/dist/{schedule-B4v3unjv.js → schedule-DBn6gZVJ.js} +4 -4
- package/dist/{serve-Bf8JJcJG.js → serve-Dqj8IEbw.js} +13 -13
- package/dist/{setup-Cth_2Kor.js → setup-D6L2eAXg.js} +2 -2
- package/dist/{subcommands-t140aQXd.js → subcommands-DAvXbUXa.js} +9 -9
- package/dist/{subcommands-CFg6By2s.js → subcommands-EbgvrmmH.js} +1 -1
- package/dist/{ts-BDMKe8RP.js → ts-7ysPggL0.js} +2 -2
- package/dist/{versionChecker-Bhv8OZAY.js → versionChecker-DH1sLf5Y.js} +2 -2
- package/dist/{ws-6kyIFJHL.js → ws-CH7Nl5sO.js} +2 -2
- package/package.json +3 -1
- package/ts/channels/browser.ts +287 -0
- package/ts/channels/hlc.ts +67 -0
- package/ts/channels/index.ts +10 -0
- package/ts/channels/link.ts +103 -0
- package/ts/channels/op.ts +89 -0
- package/ts/channels/peer.ts +468 -0
- package/ts/channels/store.browser.ts +42 -0
- package/ts/channels/store.node.ts +72 -0
- package/ts/channels/store.ts +170 -0
- package/ts/channels.spec.ts +60 -1
- package/ts/channels.ts +134 -17
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import "./ts-
|
|
1
|
+
import "./ts-7ysPggL0.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-
|
|
3
|
+
import "./versionChecker-DH1sLf5Y.js";
|
|
4
4
|
import "./todoAutomation-x6guaQXc.js";
|
|
5
5
|
import "./JsonlStore-CWOA3aDH.js";
|
|
6
6
|
import "./globalPidIndex-Ca4sTr1b.js";
|
|
7
7
|
import "./pidStore-Hjba3K6Q.js";
|
|
8
8
|
import "./messageLog-zVGWLX7w.js";
|
|
9
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
9
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-By9-EQeZ.js";
|
|
10
10
|
|
|
11
11
|
export { SUPPORTED_CLIS };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as CLIS_CONFIG } from "./ts-
|
|
1
|
+
import { t as CLIS_CONFIG } from "./ts-7ysPggL0.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-By9-EQeZ.js.map
|
|
@@ -3,7 +3,7 @@ import "./globalPidIndex-Ca4sTr1b.js";
|
|
|
3
3
|
import "./messageLog-zVGWLX7w.js";
|
|
4
4
|
import "./e2e-CYlKpfxa.js";
|
|
5
5
|
import "./configShared-BXz2vi4Q.js";
|
|
6
|
-
import { N as resolveOne } from "./subcommands-
|
|
6
|
+
import { N as resolveOne } from "./subcommands-DAvXbUXa.js";
|
|
7
7
|
import "./webrtcLink-CEYNs0pt.js";
|
|
8
8
|
import "./remotes-BM3Zm8Wh.js";
|
|
9
9
|
import { a as startShare } from "./share-D4K0JnHg.js";
|
|
@@ -229,4 +229,4 @@ function transformEvent(rawEvent, agentId, forwarded) {
|
|
|
229
229
|
|
|
230
230
|
//#endregion
|
|
231
231
|
export { createScopedShare, listShares, revokeAllShares, revokeShare };
|
|
232
|
-
//# sourceMappingURL=agentShare-
|
|
232
|
+
//# sourceMappingURL=agentShare-DzjE_mNj.js.map
|
|
@@ -3,10 +3,10 @@ import "./globalPidIndex-Ca4sTr1b.js";
|
|
|
3
3
|
import "./messageLog-zVGWLX7w.js";
|
|
4
4
|
import "./e2e-CYlKpfxa.js";
|
|
5
5
|
import "./configShared-BXz2vi4Q.js";
|
|
6
|
-
import "./subcommands-
|
|
6
|
+
import "./subcommands-DAvXbUXa.js";
|
|
7
7
|
import "./webrtcLink-CEYNs0pt.js";
|
|
8
8
|
import "./remotes-BM3Zm8Wh.js";
|
|
9
9
|
import "./callbackCore-Me97qn68.js";
|
|
10
|
-
import { i as loadOrCreateCallbackSecret, n as isCallbackRevoked, r as loadCallbackSecretReadOnly, t as cmdCallback } from "./callback-
|
|
10
|
+
import { i as loadOrCreateCallbackSecret, n as isCallbackRevoked, r as loadCallbackSecretReadOnly, t as cmdCallback } from "./callback-oV0TgY6T.js";
|
|
11
11
|
|
|
12
12
|
export { cmdCallback };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as agentYesHome } from "./agentYesHome-CtHb5b71.js";
|
|
2
|
-
import { N as resolveOne } from "./subcommands-
|
|
2
|
+
import { N as resolveOne } from "./subcommands-DAvXbUXa.js";
|
|
3
3
|
import { a as mintCapability, o as parseExpires } from "./callbackCore-Me97qn68.js";
|
|
4
4
|
import { randomBytes } from "node:crypto";
|
|
5
5
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
@@ -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-Dqj8IEbw.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-oV0TgY6T.js.map
|
|
@@ -19,6 +19,19 @@ async function deriveChannelId(s) {
|
|
|
19
19
|
async function deriveRoom(s) {
|
|
20
20
|
return "c" + (await sha256Hex(`ay/ch/room\n${validateS(s)}`)).slice(0, 12);
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Deterministic channel secret from a public topic string (e.g. a page URL) —
|
|
24
|
+
* `sha256("ay/ch/topic/v1\n" + topic)`, a full 64-hex S. Everyone who derives
|
|
25
|
+
* from the SAME topic gets the SAME channel, so a page can "join by its URL" with
|
|
26
|
+
* no invite exchange (the bookmarklet + `ay ch mk --topic`).
|
|
27
|
+
*
|
|
28
|
+
* SECURITY: this makes the channel PUBLIC to anyone who knows the topic (topic =
|
|
29
|
+
* membership). Message contents still stay E2E from the signaling server, but it
|
|
30
|
+
* is NOT a private channel — use a random secret (the default) for those.
|
|
31
|
+
*/
|
|
32
|
+
async function secretFromTopic(topic) {
|
|
33
|
+
return sha256Hex(`ay/ch/topic/v1\n${topic}`);
|
|
34
|
+
}
|
|
22
35
|
/** True if `str` looks like a channel invite link. */
|
|
23
36
|
function isChannelLink(str) {
|
|
24
37
|
return str.startsWith("ay://ch/") || /^https?:\/\//.test(str) && str.includes("#ch=");
|
|
@@ -70,5 +83,5 @@ function parseChannelLink(link) {
|
|
|
70
83
|
}
|
|
71
84
|
|
|
72
85
|
//#endregion
|
|
73
|
-
export { formatChannelWebLink as a, formatChannelLink as i, deriveChannelId as n, isChannelLink as o, deriveRoom as r, parseChannelLink as s, CH_DEFAULT_SIGHOST as t };
|
|
74
|
-
//# sourceMappingURL=channels-
|
|
86
|
+
export { formatChannelWebLink as a, secretFromTopic as c, formatChannelLink as i, deriveChannelId as n, isChannelLink as o, deriveRoom as r, parseChannelLink as s, CH_DEFAULT_SIGHOST as t };
|
|
87
|
+
//# sourceMappingURL=channels-Bu4DZzHk.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./e2e-CYlKpfxa.js";
|
|
2
|
-
import { a as formatChannelWebLink, i as formatChannelLink, n as deriveChannelId, o as isChannelLink, r as deriveRoom, s as parseChannelLink } from "./channels-
|
|
2
|
+
import { a as formatChannelWebLink, c as secretFromTopic, i as formatChannelLink, n as deriveChannelId, o as isChannelLink, r as deriveRoom, s as parseChannelLink } from "./channels-Bu4DZzHk.js";
|
|
3
3
|
import { a as renderThread, c as makeOp, f as hlcSend, n as maxHlc, o as sortOps, r as mergeOps, s as isValidOp } from "./store-Ba3SsoOx.js";
|
|
4
4
|
import { appendFile, chmod, mkdir, readFile, rm, writeFile } from "fs/promises";
|
|
5
5
|
import os from "os";
|
|
@@ -180,13 +180,14 @@ async function cmdChMk(cwd, args) {
|
|
|
180
180
|
sighost: "value",
|
|
181
181
|
name: "value",
|
|
182
182
|
role: "value",
|
|
183
|
-
salt: "value"
|
|
183
|
+
salt: "value",
|
|
184
|
+
topic: "value"
|
|
184
185
|
});
|
|
185
186
|
const topic = positional[0];
|
|
186
|
-
if (!topic || positional.length > 1) throw new Error("usage: ay ch mk <topic> [--sighost H] [--name N] [--role R] [--salt HEX]");
|
|
187
|
+
if (!topic || positional.length > 1) throw new Error("usage: ay ch mk <name> [--topic <string>] [--sighost H] [--name N] [--role R] [--salt HEX]");
|
|
187
188
|
const reg = await readRegistry(cwd);
|
|
188
189
|
if (reg.channels[topic]) throw new Error(`channel "${topic}" already exists (ay ch rm ${topic} to replace)`);
|
|
189
|
-
const s = typeof flags.salt === "string" ? flags.salt : randomBytes(32).toString("hex");
|
|
190
|
+
const s = typeof flags.topic === "string" ? await secretFromTopic(flags.topic) : typeof flags.salt === "string" ? flags.salt : randomBytes(32).toString("hex");
|
|
190
191
|
const [channelId, room] = await Promise.all([deriveChannelId(s), deriveRoom(s)]);
|
|
191
192
|
const entry = {
|
|
192
193
|
topic,
|
|
@@ -466,23 +467,69 @@ async function cmdChPipe(cwd, args) {
|
|
|
466
467
|
rl.close();
|
|
467
468
|
return 0;
|
|
468
469
|
}
|
|
470
|
+
/**
|
|
471
|
+
* The embed `<script>` snippet — a script (NOT an iframe) that loads the AyChannel
|
|
472
|
+
* browser lib and mounts the floating widget in the page, so the console's
|
|
473
|
+
* `frame-ancestors` CSP is irrelevant. Three modes trade off where the secret lives:
|
|
474
|
+
* baked in (`live`), injected at runtime (`placeholder`), or never present because
|
|
475
|
+
* the channel is derived from the (public) page URL (`from-url`) — the last is the
|
|
476
|
+
* safe default for a STATIC public page, since no token ever lands in the file.
|
|
477
|
+
*/
|
|
478
|
+
function buildEmbedSnippet(host, topic, mode) {
|
|
479
|
+
const imp = ` import AyChannel from "https://${host}/w/channels.js";\n`;
|
|
480
|
+
if (mode.kind === "from-url") return `<!-- ay channel: ${topic} — channel derived from the page URL; no secret in this file -->\n<script type="module">\n${imp} AyChannel.fromTopic(location.href).then((c) => c.mount());\n<\/script>\n`;
|
|
481
|
+
if (mode.kind === "placeholder") return `<!-- ay channel: ${topic} — set window.AY_CH_LINK to the invite at runtime; do NOT commit the secret -->\n<script type="module">\n${imp} new AyChannel(window.AY_CH_LINK).mount();\n<\/script>\n`;
|
|
482
|
+
return `<!-- ay channel: ${topic} — this snippet contains a LIVE secret; anyone who reads it can join -->\n<script type="module">\n${imp} new AyChannel(${JSON.stringify(mode.link)}).mount();\n<\/script>\n`;
|
|
483
|
+
}
|
|
469
484
|
async function cmdChEmbed(cwd, args) {
|
|
470
|
-
const { flags, positional } = parseFlags(args, {
|
|
485
|
+
const { flags, positional } = parseFlags(args, {
|
|
486
|
+
host: "value",
|
|
487
|
+
placeholder: "bool",
|
|
488
|
+
"from-url": "bool"
|
|
489
|
+
});
|
|
471
490
|
const topic = positional[0];
|
|
472
|
-
if (!topic || positional.length > 1) throw new Error("usage: ay ch embed <topic> [--host
|
|
491
|
+
if (!topic || positional.length > 1) throw new Error("usage: ay ch embed <topic> [--host H] [--placeholder | --from-url]");
|
|
492
|
+
if (flags.placeholder && flags["from-url"]) throw new Error("--placeholder and --from-url are mutually exclusive");
|
|
473
493
|
const { entry } = await resolveChannel(await readRegistry(cwd), topic);
|
|
474
494
|
if (!entry) throw new Error(`join "${topic}" before embedding: ay ch join <link>`);
|
|
475
|
-
const
|
|
476
|
-
const
|
|
495
|
+
const host = typeof flags.host === "string" ? flags.host : "agent-yes.com";
|
|
496
|
+
const invite = formatChannelLink({
|
|
477
497
|
sighost: entry.sighost,
|
|
478
498
|
room: entry.room,
|
|
479
499
|
s: entry.s
|
|
480
500
|
});
|
|
481
|
-
|
|
501
|
+
const mode = flags["from-url"] ? { kind: "from-url" } : flags.placeholder ? { kind: "placeholder" } : {
|
|
502
|
+
kind: "live",
|
|
503
|
+
link: invite
|
|
504
|
+
};
|
|
505
|
+
process.stdout.write(buildEmbedSnippet(host, topic, mode));
|
|
506
|
+
if (mode.kind === "from-url") process.stderr.write("\n URL-derived: no secret in the snippet — the channel is computed from the page URL,\n so a committed/static file carries no token (ideal for static public pages like\n Cloudflare Pages). Anyone who opens the same URL joins — that IS the membership.\n");
|
|
507
|
+
else if (mode.kind === "placeholder") process.stderr.write(`
|
|
508
|
+
Placeholder: the invite is NOT in the snippet — set window.AY_CH_LINK at runtime
|
|
509
|
+
(server-rendered / env), so a committed file carries no secret. This needs a
|
|
510
|
+
runtime; on a STATIC host use --from-url instead. Invite to inject: ${invite}\n`);
|
|
511
|
+
else process.stderr.write("\n ⚠ This snippet embeds a LIVE channel secret (read+write). Anyone who can read the\n page source can join. Do NOT commit it to a public or deploy-bound file. For a\n static public page use --from-url (no secret in the file); for a server-rendered\n page use --placeholder. Prefer a dedicated random-secret channel you can abandon.\n");
|
|
512
|
+
process.stderr.write(` channels.js must load from https://${host}/w/channels.js — if it 404s (not yet on the\n CDN), self-host the bundle (lab/ui/cf/public/w/channels.js) and pass --host <origin>,\n pinning a version. The embed is a <script>, not an iframe.\n`);
|
|
513
|
+
return 0;
|
|
514
|
+
}
|
|
515
|
+
/** The page bookmarklet: derive a channel from the page URL and mount the widget. */
|
|
516
|
+
function buildBookmarklet(host, sighost) {
|
|
517
|
+
return `javascript:(async()=>{try{const{AyChannel}=await import('https://${host}/w/channels.js');const t=prompt('ay channel — topic (same topic = same room):',location.href);if(!t)return;let n=localStorage.getItem('ay29ch-name');if(!n){n=prompt('Your name:','guest')||'guest';localStorage.setItem('ay29ch-name',n);}const ch=await AyChannel.fromTopic(t,{sighost:'${sighost}',name:n});ch.mount(document.body,{open:true});}catch(e){alert('ay channel could not load — this page\\'s CSP may block it (works on your own apps, localhost, blogs, docs).\\n'+(e&&e.message||e));}})()`;
|
|
518
|
+
}
|
|
519
|
+
async function cmdChBookmarklet(_cwd, args) {
|
|
520
|
+
const { flags, positional } = parseFlags(args, {
|
|
521
|
+
host: "value",
|
|
522
|
+
sighost: "value"
|
|
523
|
+
});
|
|
524
|
+
if (positional.length) throw new Error("usage: ay ch bookmarklet [--host H] [--sighost H]");
|
|
525
|
+
const host = typeof flags.host === "string" ? flags.host : "agent-yes.com";
|
|
526
|
+
const sighost = typeof flags.sighost === "string" ? flags.sighost : "s.agent-yes.com";
|
|
527
|
+
process.stdout.write(buildBookmarklet(host, sighost) + "\n");
|
|
528
|
+
process.stderr.write("\n Make a new bookmark and paste the line above as its URL. Click it on any\n page to drop an ay-channel chat window joined to that page's URL (edit the\n prompt to change the topic). Same topic = same room, no invite needed.\n Heads-up: strict site CSP (GitHub/Google/…) blocks it; it works on your own\n apps, localhost, blogs, and docs.\n");
|
|
482
529
|
return 0;
|
|
483
530
|
}
|
|
484
531
|
function chHelp() {
|
|
485
|
-
process.stdout.write("ay ch - local-first E2E channels for AI ↔ humans (per-cwd, no server storage)\n\n ay ch mk <topic> [--name N] [--role R] create a channel, print an invite link\n ay ch join <link> [--as <topic>] join a channel from an invite link\n ay ch ls [--json] list channels in this project (+message counts)\n ay ch rm <topic> delete the local replica (peers unaffected)\n ay ch send <topic> <text…> post a message\n ay ch read <topic> [-n N] [--json] print the thread (last N)\n ay ch head <topic> [-n N] first N messages\n ay ch tail <topic> [-n N] [-f] last N (96), -f to follow\n ay ch sync <topic> [--quiet] hold the WebRTC mesh: live send/receive (Ctrl-C to stop)\n ay ch pipe <topic> sync + bridge stdin→send and inbound→stdout\n ay ch embed <topic> [--host H]
|
|
532
|
+
process.stdout.write("ay ch - local-first E2E channels for AI ↔ humans (per-cwd, no server storage)\n\n ay ch mk <topic> [--name N] [--role R] create a channel, print an invite link\n ay ch join <link> [--as <topic>] join a channel from an invite link\n ay ch ls [--json] list channels in this project (+message counts)\n ay ch rm <topic> delete the local replica (peers unaffected)\n ay ch send <topic> <text…> post a message\n ay ch read <topic> [-n N] [--json] print the thread (last N)\n ay ch head <topic> [-n N] first N messages\n ay ch tail <topic> [-n N] [-f] last N (96), -f to follow\n ay ch sync <topic> [--quiet] hold the WebRTC mesh: live send/receive (Ctrl-C to stop)\n ay ch pipe <topic> sync + bridge stdin→send and inbound→stdout\n ay ch embed <topic> [--host H] [--from-url|--placeholder] HTML snippet for a chat widget\n (--from-url keeps NO secret in the file — best for static pages)\n ay ch bookmarklet [--host H] print a bookmarklet: any page joins a channel by its URL\n\n URL-topic: 'ay ch mk <name> --topic <string>' derives the SAME channel a\n bookmarklet on that URL joins (topic = public membership)\n identity: --name defaults to $AY_CH_NAME/OS user; --role to agent (in an agent) or human\n storage: <cwd>/.agent-yes/ch-<id>.jsonl (a full CRDT replica; cwd-scoped)\n live: run 'ay ch sync <topic>' (foreground/backgrounded) to join the mesh; then\n 'ay ch send/tail' compose with it through the shared replica file — no daemon\n");
|
|
486
533
|
return 0;
|
|
487
534
|
}
|
|
488
535
|
/** `ay ch <sub> …` dispatcher (called from runSubcommand). */
|
|
@@ -506,6 +553,7 @@ async function cmdCh(args) {
|
|
|
506
553
|
case "sync": return cmdChSync(cwd, rest);
|
|
507
554
|
case "pipe": return cmdChPipe(cwd, rest);
|
|
508
555
|
case "embed": return cmdChEmbed(cwd, rest);
|
|
556
|
+
case "bookmarklet": return cmdChBookmarklet(cwd, rest);
|
|
509
557
|
case void 0:
|
|
510
558
|
case "help":
|
|
511
559
|
case "--help":
|
|
@@ -519,4 +567,4 @@ async function cmdCh(args) {
|
|
|
519
567
|
|
|
520
568
|
//#endregion
|
|
521
569
|
export { cmdCh };
|
|
522
|
-
//# sourceMappingURL=channels-
|
|
570
|
+
//# sourceMappingURL=channels-Ddj0hWZB.js.map
|
package/dist/channels.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { d as randomHex } from "./e2e-CYlKpfxa.js";
|
|
2
|
-
import { a as formatChannelWebLink, i as formatChannelLink, n as deriveChannelId, o as isChannelLink, r as deriveRoom, s as parseChannelLink, t as CH_DEFAULT_SIGHOST } from "./channels-
|
|
2
|
+
import { a as formatChannelWebLink, c as secretFromTopic, i as formatChannelLink, n as deriveChannelId, o as isChannelLink, r as deriveRoom, s as parseChannelLink, t as CH_DEFAULT_SIGHOST } from "./channels-Bu4DZzHk.js";
|
|
3
3
|
import { a as renderThread, c as makeOp, d as formatHlc, f as hlcSend, i as opsMissing, l as opId, n as maxHlc, o as sortOps, p as parseHlc, r as mergeOps, s as isValidOp, t as haveVector, u as compareHlc } from "./store-Ba3SsoOx.js";
|
|
4
4
|
import { t as ChannelPeer } from "./peer-Cdzjr8Jd.js";
|
|
5
5
|
|
|
@@ -33,7 +33,7 @@ var LocalStorageStore = class {
|
|
|
33
33
|
|
|
34
34
|
//#endregion
|
|
35
35
|
//#region ts/channels/browser.ts
|
|
36
|
-
var AyChannel = class {
|
|
36
|
+
var AyChannel = class AyChannel {
|
|
37
37
|
room;
|
|
38
38
|
sighost;
|
|
39
39
|
s;
|
|
@@ -46,6 +46,22 @@ var AyChannel = class {
|
|
|
46
46
|
listeners = /* @__PURE__ */ new Map();
|
|
47
47
|
started = false;
|
|
48
48
|
peers = 0;
|
|
49
|
+
/**
|
|
50
|
+
* Build a channel whose identity is DERIVED from a topic string (e.g. the page
|
|
51
|
+
* URL) — same topic ⇒ same room, no invite needed. Public to anyone with the
|
|
52
|
+
* topic (see secretFromTopic). This is what the page bookmarklet uses.
|
|
53
|
+
*/
|
|
54
|
+
static async fromTopic(topic, opts) {
|
|
55
|
+
const s = await secretFromTopic(topic);
|
|
56
|
+
const sighost = opts?.sighost ?? "s.agent-yes.com";
|
|
57
|
+
return new AyChannel({
|
|
58
|
+
room: await deriveRoom(s),
|
|
59
|
+
sighost,
|
|
60
|
+
s,
|
|
61
|
+
name: opts?.name,
|
|
62
|
+
role: opts?.role
|
|
63
|
+
});
|
|
64
|
+
}
|
|
49
65
|
constructor(info) {
|
|
50
66
|
const o = typeof info === "string" ? { link: info } : info;
|
|
51
67
|
const link = o.link ? parseChannelLink(o.link) : null;
|
|
@@ -235,5 +251,5 @@ const WIDGET_HTML = `
|
|
|
235
251
|
`;
|
|
236
252
|
|
|
237
253
|
//#endregion
|
|
238
|
-
export { AyChannel, AyChannel as default, CH_DEFAULT_SIGHOST, compareHlc, deriveChannelId, deriveRoom, formatChannelLink, formatChannelWebLink, formatHlc, haveVector, hlcSend, isChannelLink, isValidOp, makeOp, maxHlc, mergeOps, opId, opsMissing, parseChannelLink, parseHlc, renderThread, sortOps };
|
|
254
|
+
export { AyChannel, AyChannel as default, CH_DEFAULT_SIGHOST, compareHlc, deriveChannelId, deriveRoom, formatChannelLink, formatChannelWebLink, formatHlc, haveVector, hlcSend, isChannelLink, isValidOp, makeOp, maxHlc, mergeOps, opId, opsMissing, parseChannelLink, parseHlc, renderThread, secretFromTopic, sortOps };
|
|
239
255
|
//# sourceMappingURL=channels.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-uqM2YYA7.js";
|
|
3
3
|
import { n as logger } from "./logger-CDIsZ-Pp.js";
|
|
4
|
-
import { i as versionString, n as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-
|
|
5
|
-
import { n as getRustBinary } from "./rustBinary-
|
|
4
|
+
import { i as versionString, n as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-DH1sLf5Y.js";
|
|
5
|
+
import { n as getRustBinary } from "./rustBinary-DYTn5Asw.js";
|
|
6
6
|
import { argv } from "process";
|
|
7
7
|
import { spawn } from "child_process";
|
|
8
8
|
import ms from "ms";
|
|
@@ -285,7 +285,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
|
|
|
285
285
|
const rawArg = process.argv[2];
|
|
286
286
|
const managerCommands = !invokedCliName(process.argv);
|
|
287
287
|
const isHelpFlag = rawArg === "-h" || rawArg === "--help";
|
|
288
|
-
const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-
|
|
288
|
+
const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-EbgvrmmH.js");
|
|
289
289
|
if (isHelpFlag && process.argv.length === 3) {
|
|
290
290
|
await cmdHelp(managerCommands);
|
|
291
291
|
process.exit(0);
|
|
@@ -331,7 +331,7 @@ if (config.useRust) {
|
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
333
|
if (rustBinary) {
|
|
334
|
-
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-
|
|
334
|
+
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-BVrhFNME.js");
|
|
335
335
|
const rustArgs = buildRustArgs(process.argv, config.cli, SUPPORTED_CLIS);
|
|
336
336
|
if (config.verbose) {
|
|
337
337
|
console.log(`[rust] Using binary: ${rustBinary}`);
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as hasTodoStore, c as AgentContext, i as answerAsk, n as agentYes, o as listAsks, r as config, s as listAsksForProject, t as CLIS_CONFIG } from "./ts-
|
|
1
|
+
import { a as hasTodoStore, c as AgentContext, i as answerAsk, n as agentYes, o as listAsks, r as config, s as listAsksForProject, t as CLIS_CONFIG } from "./ts-7ysPggL0.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-
|
|
3
|
+
import "./versionChecker-DH1sLf5Y.js";
|
|
4
4
|
import { _ as isKnownKind, a as renderTree, b as statesOf, c as monitorHint, d as openStore, f as DONE_STATE, g as initialState, h as canTransition, i as renderDigest, l as CycleError, m as ORPHANED_STATE, o as unblockedTasks, p as LIFECYCLES, r as openBlockers, s as describeBlock, t as reconcileTodos, u as TodoStore, v as nextStates, x as removeControlCharacters, y as requiredGate } from "./todoAutomation-x6guaQXc.js";
|
|
5
5
|
import "./JsonlStore-CWOA3aDH.js";
|
|
6
6
|
import "./globalPidIndex-Ca4sTr1b.js";
|
|
@@ -3,7 +3,7 @@ import "./globalPidIndex-Ca4sTr1b.js";
|
|
|
3
3
|
import "./messageLog-zVGWLX7w.js";
|
|
4
4
|
import "./e2e-CYlKpfxa.js";
|
|
5
5
|
import "./configShared-BXz2vi4Q.js";
|
|
6
|
-
import { $ as daemonLockDir, A as renderLogTailLines, G as appendEvent, K as gcInboxes, Q as shouldStealLock, S as listRecords, X as liveWatchers, Y as listInboxParents, Z as readInbox, _ as isPidAlive, c as deriveLiveState, et as daemonLockOwnerPath, q as hostId, tt as notifyDir } from "./subcommands-
|
|
6
|
+
import { $ as daemonLockDir, A as renderLogTailLines, G as appendEvent, K as gcInboxes, Q as shouldStealLock, S as listRecords, X as liveWatchers, Y as listInboxParents, Z as readInbox, _ as isPidAlive, c as deriveLiveState, et as daemonLockOwnerPath, q as hostId, tt as notifyDir } from "./subcommands-DAvXbUXa.js";
|
|
7
7
|
import "./webrtcLink-CEYNs0pt.js";
|
|
8
8
|
import "./remotes-BM3Zm8Wh.js";
|
|
9
9
|
import { mkdir, readFile, rename, rm, stat, writeFile } from "fs/promises";
|
|
@@ -589,4 +589,4 @@ async function ensureDaemon() {
|
|
|
589
589
|
|
|
590
590
|
//#endregion
|
|
591
591
|
export { daemonStatus, ensureDaemon, requestDaemonStop, runDaemon };
|
|
592
|
-
//# sourceMappingURL=notifyDaemon-
|
|
592
|
+
//# sourceMappingURL=notifyDaemon-lH7040Ua.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
1
|
+
import { r as getInstalledPackage } from "./versionChecker-DH1sLf5Y.js";
|
|
2
2
|
import { execFileSync } from "child_process";
|
|
3
3
|
import { existsSync, mkdirSync, unlinkSync } from "fs";
|
|
4
4
|
import { chmod, copyFile } from "fs/promises";
|
|
@@ -225,4 +225,4 @@ async function getRustBinary(options = {}) {
|
|
|
225
225
|
|
|
226
226
|
//#endregion
|
|
227
227
|
export { getRustBinary as n, findSpawnHiddenLauncher as t };
|
|
228
|
-
//# sourceMappingURL=rustBinary-
|
|
228
|
+
//# sourceMappingURL=rustBinary-DYTn5Asw.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import "./ts-
|
|
1
|
+
import "./ts-7ysPggL0.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-
|
|
3
|
+
import "./versionChecker-DH1sLf5Y.js";
|
|
4
4
|
import "./todoAutomation-x6guaQXc.js";
|
|
5
5
|
import "./JsonlStore-CWOA3aDH.js";
|
|
6
6
|
import "./globalPidIndex-Ca4sTr1b.js";
|
|
7
7
|
import "./pidStore-Hjba3K6Q.js";
|
|
8
8
|
import "./messageLog-zVGWLX7w.js";
|
|
9
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
9
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-By9-EQeZ.js";
|
|
10
10
|
import { d as resolveSpawnCwd } from "./workspaceConfig-DWLYPDdx.js";
|
|
11
11
|
import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-BF_kAOwO.js";
|
|
12
12
|
import { createHash } from "node:crypto";
|
|
@@ -153,4 +153,4 @@ async function cmdSchedule(rest) {
|
|
|
153
153
|
|
|
154
154
|
//#endregion
|
|
155
155
|
export { cmdSchedule };
|
|
156
|
-
//# sourceMappingURL=schedule-
|
|
156
|
+
//# sourceMappingURL=schedule-DBn6gZVJ.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { i as answerAsk, l as CLAUDE_SESSION_PIN_ENV, o as listAsks } from "./ts-
|
|
1
|
+
import { i as answerAsk, l as CLAUDE_SESSION_PIN_ENV, o as listAsks } from "./ts-7ysPggL0.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
4
|
-
import { t as findSpawnHiddenLauncher } from "./rustBinary-
|
|
3
|
+
import { r as getInstalledPackage } from "./versionChecker-DH1sLf5Y.js";
|
|
4
|
+
import { t as findSpawnHiddenLauncher } from "./rustBinary-DYTn5Asw.js";
|
|
5
5
|
import { t as agentYesHome$1 } from "./agentYesHome-CtHb5b71.js";
|
|
6
6
|
import { x as removeControlCharacters } from "./todoAutomation-x6guaQXc.js";
|
|
7
7
|
import "./JsonlStore-CWOA3aDH.js";
|
|
@@ -11,12 +11,12 @@ import { r as recordInbox } from "./messageLog-zVGWLX7w.js";
|
|
|
11
11
|
import { t as pgidForWrapper } from "./reaper-iQXyufgp.js";
|
|
12
12
|
import "./e2e-CYlKpfxa.js";
|
|
13
13
|
import "./configShared-BXz2vi4Q.js";
|
|
14
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
15
|
-
import { A as renderLogTailLines, D as readPtysize, E as readNotes, J as isTransientLockMkdirError, M as renderRawLogLines, N as resolveOne, O as recentMessageEdges, R as snapshotStatus, S as listRecords, W as writeToIpc, b as isUserTyping, f as extractNeedsInput, j as renderRawLog, k as recentReadEdges, l as deriveLiveStatus, nt as TYPING_BADGE, o as controlCodeFromName, p as extractTaskCounts, u as extractBadges } from "./subcommands-
|
|
14
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-By9-EQeZ.js";
|
|
15
|
+
import { A as renderLogTailLines, D as readPtysize, E as readNotes, J as isTransientLockMkdirError, M as renderRawLogLines, N as resolveOne, O as recentMessageEdges, R as snapshotStatus, S as listRecords, W as writeToIpc, b as isUserTyping, f as extractNeedsInput, j as renderRawLog, k as recentReadEdges, l as deriveLiveStatus, nt as TYPING_BADGE, o as controlCodeFromName, p as extractTaskCounts, u as extractBadges } from "./subcommands-DAvXbUXa.js";
|
|
16
16
|
import "./webrtcLink-CEYNs0pt.js";
|
|
17
17
|
import "./remotes-BM3Zm8Wh.js";
|
|
18
18
|
import { i as frameVisitorMessage, s as verifyCapability, t as MAX_CALLBACK_MSG_BYTES } from "./callbackCore-Me97qn68.js";
|
|
19
|
-
import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-
|
|
19
|
+
import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-oV0TgY6T.js";
|
|
20
20
|
import { a as getSpawnHook, c as hasProvisionHook, d as resolveSpawnCwd, i as getProvisionRoot, l as hasSpawnHook, r as getProvisionHook, u as isProvisionAllowed } from "./workspaceConfig-DWLYPDdx.js";
|
|
21
21
|
import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-BF_kAOwO.js";
|
|
22
22
|
import { r as spawnRejectionReason } from "./spawnGate-CRMR19Ql.js";
|
|
@@ -2038,7 +2038,7 @@ Options:
|
|
|
2038
2038
|
}
|
|
2039
2039
|
});
|
|
2040
2040
|
if (req.method === "GET" && p === "/api/ws") {
|
|
2041
|
-
const ws = await import("./ws-
|
|
2041
|
+
const ws = await import("./ws-CH7Nl5sO.js");
|
|
2042
2042
|
try {
|
|
2043
2043
|
await ws.loadProvision();
|
|
2044
2044
|
} catch (e) {
|
|
@@ -2058,7 +2058,7 @@ Options:
|
|
|
2058
2058
|
if (req.method === "GET" && p === "/api/ws/status") {
|
|
2059
2059
|
const dirRaw = url.searchParams.get("path");
|
|
2060
2060
|
if (!dirRaw) return new Response("missing ?path=<workspace dir>", { status: 400 });
|
|
2061
|
-
const ws = await import("./ws-
|
|
2061
|
+
const ws = await import("./ws-CH7Nl5sO.js");
|
|
2062
2062
|
let prov;
|
|
2063
2063
|
try {
|
|
2064
2064
|
prov = await ws.loadProvision();
|
|
@@ -2647,7 +2647,7 @@ Options:
|
|
|
2647
2647
|
const perm = body.perm ?? "r";
|
|
2648
2648
|
if (perm !== "r" && perm !== "rw") return new Response(`invalid perm ${perm} (want r or rw)`, { status: 400 });
|
|
2649
2649
|
try {
|
|
2650
|
-
const { createScopedShare } = await import("./agentShare-
|
|
2650
|
+
const { createScopedShare } = await import("./agentShare-DzjE_mNj.js");
|
|
2651
2651
|
const share = await createScopedShare({
|
|
2652
2652
|
agent: body.agent,
|
|
2653
2653
|
perm,
|
|
@@ -2662,12 +2662,12 @@ Options:
|
|
|
2662
2662
|
}
|
|
2663
2663
|
}
|
|
2664
2664
|
if (req.method === "GET" && p === "/api/shares") {
|
|
2665
|
-
const { listShares } = await import("./agentShare-
|
|
2665
|
+
const { listShares } = await import("./agentShare-DzjE_mNj.js");
|
|
2666
2666
|
return Response.json(listShares());
|
|
2667
2667
|
}
|
|
2668
2668
|
const revokeM = /^\/api\/share\/([^/]+)$/.exec(p);
|
|
2669
2669
|
if (req.method === "DELETE" && revokeM) {
|
|
2670
|
-
const { revokeShare } = await import("./agentShare-
|
|
2670
|
+
const { revokeShare } = await import("./agentShare-DzjE_mNj.js");
|
|
2671
2671
|
const ok = revokeShare(decodeURIComponent(revokeM[1]));
|
|
2672
2672
|
return new Response(ok ? "revoked" : "no such share", { status: ok ? 200 : 404 });
|
|
2673
2673
|
}
|
|
@@ -2969,7 +2969,7 @@ Options:
|
|
|
2969
2969
|
const shutdown = (resolve) => {
|
|
2970
2970
|
if (heartbeat) clearInterval(heartbeat);
|
|
2971
2971
|
closeShare?.();
|
|
2972
|
-
import("./agentShare-
|
|
2972
|
+
import("./agentShare-DzjE_mNj.js").then((m) => m.revokeAllShares()).catch(() => {});
|
|
2973
2973
|
server?.stop();
|
|
2974
2974
|
Promise.resolve(releaseHostLock?.()).catch(() => {}).then(resolve);
|
|
2975
2975
|
};
|
|
@@ -2982,4 +2982,4 @@ Options:
|
|
|
2982
2982
|
|
|
2983
2983
|
//#endregion
|
|
2984
2984
|
export { cmdServe, resolveLocalServeUrl };
|
|
2985
|
-
//# sourceMappingURL=serve-
|
|
2985
|
+
//# sourceMappingURL=serve-Dqj8IEbw.js.map
|
|
@@ -32,7 +32,7 @@ async function cmdSetup(rest) {
|
|
|
32
32
|
if (!existsSync(abs)) process.stderr.write(` note: that directory doesn't exist yet — create it, or agents spawned there will fail\n`);
|
|
33
33
|
if (noShare) return 0;
|
|
34
34
|
process.stdout.write(`\nsharing this machine to agent-yes.com…\n`);
|
|
35
|
-
const { cmdServe } = await import("./serve-
|
|
35
|
+
const { cmdServe } = await import("./serve-Dqj8IEbw.js");
|
|
36
36
|
return cmdServe([
|
|
37
37
|
"install",
|
|
38
38
|
"--share",
|
|
@@ -42,4 +42,4 @@ async function cmdSetup(rest) {
|
|
|
42
42
|
|
|
43
43
|
//#endregion
|
|
44
44
|
export { cmdSetup };
|
|
45
|
-
//# sourceMappingURL=setup-
|
|
45
|
+
//# sourceMappingURL=setup-D6L2eAXg.js.map
|
|
@@ -1246,23 +1246,23 @@ async function runSubcommand(argv) {
|
|
|
1246
1246
|
}
|
|
1247
1247
|
case "ch":
|
|
1248
1248
|
case "channels": {
|
|
1249
|
-
const { cmdCh } = await import("./channels-
|
|
1249
|
+
const { cmdCh } = await import("./channels-Ddj0hWZB.js");
|
|
1250
1250
|
return cmdCh(rest);
|
|
1251
1251
|
}
|
|
1252
1252
|
case "serve": {
|
|
1253
|
-
const { cmdServe } = await import("./serve-
|
|
1253
|
+
const { cmdServe } = await import("./serve-Dqj8IEbw.js");
|
|
1254
1254
|
return cmdServe(rest);
|
|
1255
1255
|
}
|
|
1256
1256
|
case "setup": {
|
|
1257
|
-
const { cmdSetup } = await import("./setup-
|
|
1257
|
+
const { cmdSetup } = await import("./setup-D6L2eAXg.js");
|
|
1258
1258
|
return cmdSetup(rest);
|
|
1259
1259
|
}
|
|
1260
1260
|
case "ws": {
|
|
1261
|
-
const { cmdWs } = await import("./ws-
|
|
1261
|
+
const { cmdWs } = await import("./ws-CH7Nl5sO.js");
|
|
1262
1262
|
return cmdWs(rest);
|
|
1263
1263
|
}
|
|
1264
1264
|
case "schedule": {
|
|
1265
|
-
const { cmdSchedule } = await import("./schedule-
|
|
1265
|
+
const { cmdSchedule } = await import("./schedule-DBn6gZVJ.js");
|
|
1266
1266
|
return cmdSchedule(rest);
|
|
1267
1267
|
}
|
|
1268
1268
|
case "remote": {
|
|
@@ -1274,7 +1274,7 @@ async function runSubcommand(argv) {
|
|
|
1274
1274
|
return cmdExpose(rest);
|
|
1275
1275
|
}
|
|
1276
1276
|
case "callback": {
|
|
1277
|
-
const { cmdCallback } = await import("./callback-
|
|
1277
|
+
const { cmdCallback } = await import("./callback-C5jft1u3.js");
|
|
1278
1278
|
return cmdCallback(rest);
|
|
1279
1279
|
}
|
|
1280
1280
|
case "reap":
|
|
@@ -4312,7 +4312,7 @@ async function cmdNotify(rest) {
|
|
|
4312
4312
|
}
|
|
4313
4313
|
const ensure = async () => {
|
|
4314
4314
|
if (!argv["ensure-daemon"]) return;
|
|
4315
|
-
const { ensureDaemon } = await import("./notifyDaemon-
|
|
4315
|
+
const { ensureDaemon } = await import("./notifyDaemon-lH7040Ua.js");
|
|
4316
4316
|
await ensureDaemon().catch(() => null);
|
|
4317
4317
|
};
|
|
4318
4318
|
await heartbeatWatcher(parent, selfStartedAt);
|
|
@@ -4386,7 +4386,7 @@ async function cmdNotifyCursor(args) {
|
|
|
4386
4386
|
}
|
|
4387
4387
|
async function cmdNotifyd(rest) {
|
|
4388
4388
|
const sub = rest[0] ?? "status";
|
|
4389
|
-
const daemon = await import("./notifyDaemon-
|
|
4389
|
+
const daemon = await import("./notifyDaemon-lH7040Ua.js");
|
|
4390
4390
|
switch (sub) {
|
|
4391
4391
|
case "run": return daemon.runDaemon();
|
|
4392
4392
|
case "once": return daemon.runDaemon({ once: true });
|
|
@@ -4413,4 +4413,4 @@ async function cmdNotifyd(rest) {
|
|
|
4413
4413
|
|
|
4414
4414
|
//#endregion
|
|
4415
4415
|
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-
|
|
4416
|
+
//# sourceMappingURL=subcommands-DAvXbUXa.js.map
|
|
@@ -3,7 +3,7 @@ import "./globalPidIndex-Ca4sTr1b.js";
|
|
|
3
3
|
import "./messageLog-zVGWLX7w.js";
|
|
4
4
|
import "./e2e-CYlKpfxa.js";
|
|
5
5
|
import "./configShared-BXz2vi4Q.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-
|
|
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-DAvXbUXa.js";
|
|
7
7
|
import "./webrtcLink-CEYNs0pt.js";
|
|
8
8
|
import "./remotes-BM3Zm8Wh.js";
|
|
9
9
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as logger, t as addTransport } from "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
2
|
+
import { r as getInstalledPackage } from "./versionChecker-DH1sLf5Y.js";
|
|
3
3
|
import { t as agentYesHome } from "./agentYesHome-CtHb5b71.js";
|
|
4
4
|
import { d as openStore, p as LIFECYCLES, x as removeControlCharacters } from "./todoAutomation-x6guaQXc.js";
|
|
5
5
|
import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-BFk3Mo8K.js";
|
|
@@ -2044,4 +2044,4 @@ function sleep(ms) {
|
|
|
2044
2044
|
|
|
2045
2045
|
//#endregion
|
|
2046
2046
|
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-
|
|
2047
|
+
//# sourceMappingURL=ts-7ysPggL0.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.232.0-beta.562.1";
|
|
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-DH1sLf5Y.js.map
|
|
@@ -3,7 +3,7 @@ import "./globalPidIndex-Ca4sTr1b.js";
|
|
|
3
3
|
import "./messageLog-zVGWLX7w.js";
|
|
4
4
|
import "./e2e-CYlKpfxa.js";
|
|
5
5
|
import "./configShared-BXz2vi4Q.js";
|
|
6
|
-
import { S as listRecords } from "./subcommands-
|
|
6
|
+
import { S as listRecords } from "./subcommands-DAvXbUXa.js";
|
|
7
7
|
import "./webrtcLink-CEYNs0pt.js";
|
|
8
8
|
import "./remotes-BM3Zm8Wh.js";
|
|
9
9
|
import { i as getProvisionRoot } from "./workspaceConfig-DWLYPDdx.js";
|
|
@@ -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-CH7Nl5sO.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-yes",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.232.0-beta.562.1",
|
|
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",
|
|
@@ -60,6 +60,8 @@
|
|
|
60
60
|
"examples",
|
|
61
61
|
"scripts",
|
|
62
62
|
"ts/*.ts",
|
|
63
|
+
"ts/channels/*.ts",
|
|
64
|
+
"!ts/channels/*.spec.ts",
|
|
63
65
|
"!dist/**/*.map",
|
|
64
66
|
"dist/**/*.js",
|
|
65
67
|
"lab/ui/console-logic.js",
|