agent-yes 1.288.0 → 1.289.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/default.config.yaml +106 -0
- package/dist/{SUPPORTED_CLIS-BHowMgMY.js → SUPPORTED_CLIS-BlgVWZrM.js} +2 -2
- package/dist/{SUPPORTED_CLIS-ChhJyq4h.js → SUPPORTED_CLIS-C65PuIs6.js} +3 -3
- package/dist/{agentShare-T3RskvDT.js → agentShare-Cm15-dfZ.js} +3 -3
- package/dist/{callback-CuohbCJA.js → callback-Bbplrsbv.js} +3 -3
- package/dist/{callback-DeaETuHt.js → callback-Dwnkeqpz.js} +3 -3
- package/dist/cli.js +11 -11
- package/dist/cmdPs-BYBZQ0Vc.js +331 -0
- package/dist/{cwdConflictWarn-DIPD6HH5.js → cwdConflictWarn-BgXN56Jc.js} +1 -1
- package/dist/{cwdPassthroughHint-C0tfZlgZ.js → cwdPassthroughHint-CDEGVteh.js} +1 -1
- package/dist/{expose-Ds9aUFsq.js → expose-BlddYYx9.js} +1 -1
- package/dist/{forkNested-Dt5XP8ZH.js → forkNested-CJ7lQQCe.js} +1 -1
- package/dist/{hist-DSYaJEd3.js → hist-DZxq7NMA.js} +1 -1
- package/dist/index.js +2 -2
- package/dist/{initMsg-CeF4QNOM.js → initMsg-DoltWTZj.js} +1 -1
- package/dist/{initMsg-DejbYYjX.js → initMsg-axyQAPLK.js} +1 -1
- package/dist/{nodeRuntime-_zeWDISM.js → nodeRuntime-CipjIwfO.js} +1 -1
- package/dist/{notifyDaemon-BORqPeAl.js → notifyDaemon-Q3FF-WEZ.js} +47 -39
- package/dist/{openBrowser-BNP8xByu.js → openBrowser-THOzOGNm.js} +1 -1
- package/dist/{parentLink-Bv8ihRcu.js → parentLink-bpDGuQi6.js} +1 -1
- package/dist/{parentLink-HWunrH1s.js → parentLink-fdiuB13i.js} +1 -1
- package/dist/{parentPingLoop-COePRYr9.js → parentPingLoop-Dc7co5D7.js} +4 -4
- package/dist/{cmdPs-Bm4JG7hi.js → procStats-CyD8h5nx.js} +2 -329
- package/dist/{remotes-b6reVXzo.js → remotes-BjsglpjL.js} +2 -2
- package/dist/{remotes-BlHTR9ow.js → remotes-CAqtL_Ib.js} +1 -1
- package/dist/{rustBinary-BmXzqj5z.js → rustBinary-B57oRftk.js} +2 -2
- package/dist/{rustBinary-D12k7iOD.js → rustBinary-Dq0AytZ7.js} +2 -2
- package/dist/{schedule-DLoUmyJh.js → schedule-pim0Izhs.js} +6 -6
- package/dist/{serve-DaDlOtss.js → serve-CMsvjqPU.js} +174 -27
- package/dist/{setup-Cqy8nRrq.js → setup-BmxYINCx.js} +4 -4
- package/dist/{spawnGate-B2hA_2NQ.js → spawnGate-B26UnzqP.js} +2 -2
- package/dist/{spawnGate-FLwTAPW6.js → spawnGate-C8MSRt7X.js} +1 -1
- package/dist/{subcommands-DKTa3E6O.js → subcommands-CJBV06rg.js} +2 -2
- package/dist/{subcommands-BfiOyfz7.js → subcommands-CWDqhKQe.js} +21 -21
- package/dist/{systemPathLink-Dl2gJqeg.js → systemPathLink-BVdk48Vz.js} +1 -1
- package/dist/{terminal-C0tnGnrZ.js → terminal-CcmBzB3G.js} +2 -2
- package/dist/{todoCli-MWrejmdM.js → todoCli-azqbjBtz.js} +1 -1
- package/dist/{tray-BhPVpP_r.js → tray-CIt9mCKZ.js} +1 -1
- package/dist/trayApp-BovAZs7m.js +5 -0
- package/dist/{trayApp-DvL9qW6V.js → trayApp-DuZBkGl_.js} +2 -2
- package/dist/{ts-DJLp2_bv.js → ts-CSp4mJ7Z.js} +23 -9
- package/dist/{versionChecker-CkO7wYyV.js → versionChecker-CWCN4vwm.js} +2 -2
- package/dist/{webrtcRemote-H9Hok0_R.js → webrtcRemote-Bevc5ogS.js} +1 -1
- package/dist/{widget-CJqpScCG.js → widget-D2cCC8nz.js} +3 -3
- package/dist/{workspaceConfig-D6QndOCz.js → workspaceConfig-DTvPtr5j.js} +1 -1
- package/dist/{ws-DGENGNrr.js → ws-B5Qb2c-1.js} +3 -3
- package/dist/{ws-DzCKvzWD.js → ws-CyO9r4jx.js} +3 -3
- package/package.json +1 -1
- package/ts/agentNice.spec.ts +42 -2
- package/ts/index.ts +5 -4
- package/ts/notifyDaemon.spec.ts +16 -0
- package/ts/notifyDaemon.ts +22 -0
- package/ts/serve.ts +14 -0
- package/ts/serveSampler.spec.ts +390 -0
- package/ts/serveSampler.ts +218 -0
- package/dist/trayApp-BrAMlCY7.js +0 -5
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import { i as getInstalledPackage } from "./versionChecker-
|
|
3
|
-
import { r as findSpawnHiddenLauncher } from "./rustBinary-
|
|
4
|
-
import { c as permissionBadge, i as answerAsk, o as listAsks, u as CLAUDE_SESSION_PIN_ENV } from "./ts-
|
|
2
|
+
import { i as getInstalledPackage } from "./versionChecker-CWCN4vwm.js";
|
|
3
|
+
import { r as findSpawnHiddenLauncher } from "./rustBinary-B57oRftk.js";
|
|
4
|
+
import { c as permissionBadge, i as answerAsk, o as listAsks, u as CLAUDE_SESSION_PIN_ENV } from "./ts-CSp4mJ7Z.js";
|
|
5
5
|
import { t as agentYesHome$1 } from "./agentYesHome-BNtn19J4.js";
|
|
6
6
|
import { u as removeControlCharacters } from "./todoAutomation-CbVVS4re.js";
|
|
7
7
|
import "./JsonlStore-BqF7AQ6E.js";
|
|
@@ -12,18 +12,19 @@ import { t as pgidForWrapper } from "./reaper-UimuuTfO.js";
|
|
|
12
12
|
import "./todoStore-DF6vxHgV.js";
|
|
13
13
|
import "./e2e-z1xpwSAg.js";
|
|
14
14
|
import "./configShared-DKTgiz7K.js";
|
|
15
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
16
|
-
import { D as listRecords, F as recentReadEdges, I as renderLogTailLines, L as renderRawLog, M as readNotes, N as readPtysize, P as recentMessageEdges, Q as TYPING_BADGE, R as renderRawLogLines, W as snapshotStatus, X as writeToIpc, Z as withIpcLock, c as controlCodeFromName, d as deriveLiveStatus, f as extractBadges, h as extractTaskCounts, j as readLogForRender, m as extractNeedsInput, w as isUserTyping, z as resolveOne } from "./subcommands-
|
|
15
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-BlgVWZrM.js";
|
|
16
|
+
import { D as listRecords, F as recentReadEdges, I as renderLogTailLines, L as renderRawLog, M as readNotes, N as readPtysize, P as recentMessageEdges, Q as TYPING_BADGE, R as renderRawLogLines, W as snapshotStatus, X as writeToIpc, Z as withIpcLock, c as controlCodeFromName, d as deriveLiveStatus, f as extractBadges, h as extractTaskCounts, j as readLogForRender, m as extractNeedsInput, w as isUserTyping, z as resolveOne } from "./subcommands-CWDqhKQe.js";
|
|
17
17
|
import { c as isTransientLockMkdirError } from "./notifyStore-2SWKGwZI.js";
|
|
18
18
|
import "./webrtcLink-DLaJfTcB.js";
|
|
19
|
-
import "./remotes-
|
|
19
|
+
import "./remotes-BjsglpjL.js";
|
|
20
20
|
import { i as frameVisitorMessage, s as verifyCapability, t as MAX_CALLBACK_MSG_BYTES } from "./callbackCore-Bl2gGcxg.js";
|
|
21
|
-
import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
21
|
+
import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-Bbplrsbv.js";
|
|
22
|
+
import { n as sampleTrees } from "./procStats-CyD8h5nx.js";
|
|
23
|
+
import { a as getProvisionRoot, d as isProvisionAllowed, f as resolveSpawnCwd, i as getProvisionHook, l as hasProvisionHook, o as getSpawnHook, t as allowsSkipPermissions, u as hasSpawnHook } from "./workspaceConfig-DTvPtr5j.js";
|
|
24
|
+
import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-CipjIwfO.js";
|
|
25
|
+
import { i as importProvisionModule } from "./ws-B5Qb2c-1.js";
|
|
26
|
+
import { r as spawnRejectionReason } from "./spawnGate-B26UnzqP.js";
|
|
27
|
+
import { i as launchTray } from "./trayApp-DuZBkGl_.js";
|
|
27
28
|
import yargs from "yargs";
|
|
28
29
|
import { appendFile, mkdir, open, readFile, readdir, rename, rm, stat, unlink, writeFile } from "fs/promises";
|
|
29
30
|
import { arch, cpus, freemem, homedir, hostname, loadavg, platform, totalmem, uptime, userInfo } from "os";
|
|
@@ -124,6 +125,149 @@ function verifyTermToken(masterToken, tok, nowSec = Math.floor(Date.now() / 1e3)
|
|
|
124
125
|
*/
|
|
125
126
|
const isTerminalReply = (s) => /^(?:\x1b\[(?:\??\d+(?:;\d+)*R|\?[\d;]*c|>[\d;]*c|\d*n))+$/.test(s);
|
|
126
127
|
|
|
128
|
+
//#endregion
|
|
129
|
+
//#region ts/serveSampler.ts
|
|
130
|
+
/**
|
|
131
|
+
* Periodic per-agent resource sampler for the console heatmaps — the TS twin of
|
|
132
|
+
* `rs/src/serve/sampler.rs` (see there for the shared design). The Rust daemon
|
|
133
|
+
* ships this already; this port lets the TS `ay serve` daemon — which is what
|
|
134
|
+
* actually serves the browser console — expose the SAME `res` / `resources`
|
|
135
|
+
* fields, so the console renders identically whichever host backs it.
|
|
136
|
+
*
|
|
137
|
+
* Reuses `ts/procStats.ts` (the `ay ps` machinery) for one full process-tree
|
|
138
|
+
* snapshot + rollup per sweep, bucketed into a per-agent rolling window.
|
|
139
|
+
* Best-effort throughout — a failed snapshot, an agent exited mid-sweep, or a
|
|
140
|
+
* non-/proc platform all degrade to "no data" (transparent) rather than breaking
|
|
141
|
+
* the serve path.
|
|
142
|
+
*
|
|
143
|
+
* Adaptive granularity (same rule as Rust):
|
|
144
|
+
* pass time < 1s → bucket = 60s, window = 60 buckets (1h)
|
|
145
|
+
* pass time >= 1s → bucket = 300s, window = 12 buckets (1h)
|
|
146
|
+
*/
|
|
147
|
+
const BUCKET_FAST_SECS = 60;
|
|
148
|
+
const BUCKET_SLOW_SECS = 300;
|
|
149
|
+
const WINDOW_FAST = 60;
|
|
150
|
+
const WINDOW_SLOW = 12;
|
|
151
|
+
const PASS_THRESHOLD_MS = 1e3;
|
|
152
|
+
const SWEEP_WINDOW_MS = 120;
|
|
153
|
+
function windowLen(bucketSecs) {
|
|
154
|
+
return bucketSecs <= BUCKET_FAST_SECS ? WINDOW_FAST : WINDOW_SLOW;
|
|
155
|
+
}
|
|
156
|
+
function bucketOf(t, elapsedSeconds) {
|
|
157
|
+
return {
|
|
158
|
+
cpu_seconds: t.cpuPercent / 100 * elapsedSeconds,
|
|
159
|
+
rss: t.rss,
|
|
160
|
+
procs: t.procs
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
const state = {
|
|
164
|
+
snap: {
|
|
165
|
+
agents: /* @__PURE__ */ new Map(),
|
|
166
|
+
unattributed: {
|
|
167
|
+
cpu_seconds: 0,
|
|
168
|
+
rss: 0,
|
|
169
|
+
procs: 0
|
|
170
|
+
},
|
|
171
|
+
bucketSecs: 0
|
|
172
|
+
},
|
|
173
|
+
bucketSecs: 0
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* The per-agent resource window as the console's `entry.res` field (matching the
|
|
177
|
+
* Rust `/api/ls` `res` shape exactly): { bucket_secs, t[], cpu_seconds[], rss[],
|
|
178
|
+
* procs[] }. Null when the sampler has not yet recorded this agent.
|
|
179
|
+
*/
|
|
180
|
+
function resField(pid) {
|
|
181
|
+
const series = state.snap.agents.get(pid);
|
|
182
|
+
if (!series || series.length === 0) return null;
|
|
183
|
+
return {
|
|
184
|
+
bucket_secs: state.snap.bucketSecs,
|
|
185
|
+
t: series.map(([t]) => t),
|
|
186
|
+
cpu_seconds: series.map(([, b]) => b.cpu_seconds),
|
|
187
|
+
rss: series.map(([, b]) => b.rss),
|
|
188
|
+
procs: series.map(([, b]) => b.procs)
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/** The managed/unattributed split for the room line, matching the Rust shape. */
|
|
192
|
+
function resourcesField() {
|
|
193
|
+
let managedRss = 0;
|
|
194
|
+
let managedProcs = 0;
|
|
195
|
+
for (const series of state.snap.agents.values()) {
|
|
196
|
+
const last = series[series.length - 1];
|
|
197
|
+
if (last) {
|
|
198
|
+
managedRss += last[1].rss;
|
|
199
|
+
managedProcs += last[1].procs;
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
return {
|
|
203
|
+
bucket_secs: state.snap.bucketSecs,
|
|
204
|
+
managed_rss: managedRss,
|
|
205
|
+
managed_procs: managedProcs,
|
|
206
|
+
unattributed_rss: state.snap.unattributed.rss,
|
|
207
|
+
unattributed_procs: state.snap.unattributed.procs
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Run one sweep against the given live root pids and bucket the result. Exposed so
|
|
212
|
+
* `serve.ts` drives it with its own notion of the live fleet (it already has
|
|
213
|
+
* `listRecords`). Returns the chosen bucket width (after the adaptive first pass).
|
|
214
|
+
*/
|
|
215
|
+
async function sweep(roots) {
|
|
216
|
+
if (roots.length === 0) {
|
|
217
|
+
if (state.bucketSecs === 0) state.bucketSecs = BUCKET_FAST_SECS;
|
|
218
|
+
state.snap.bucketSecs = state.bucketSecs;
|
|
219
|
+
return state.bucketSecs;
|
|
220
|
+
}
|
|
221
|
+
const start = Date.now();
|
|
222
|
+
let result;
|
|
223
|
+
try {
|
|
224
|
+
result = await sampleTrees([...roots].reverse(), { windowMs: SWEEP_WINDOW_MS });
|
|
225
|
+
} catch {
|
|
226
|
+
return state.bucketSecs || BUCKET_FAST_SECS;
|
|
227
|
+
}
|
|
228
|
+
const pass = Date.now() - start;
|
|
229
|
+
if (state.bucketSecs === 0) state.bucketSecs = pass < PASS_THRESHOLD_MS ? BUCKET_FAST_SECS : BUCKET_SLOW_SECS;
|
|
230
|
+
const now = Date.now();
|
|
231
|
+
const max = windowLen(state.bucketSecs);
|
|
232
|
+
const elapsedSeconds = Math.max(.001, pass / 1e3);
|
|
233
|
+
for (const [pid, stats] of result.trees) {
|
|
234
|
+
const series = state.snap.agents.get(pid) ?? [];
|
|
235
|
+
series.push([now, bucketOf(stats, elapsedSeconds)]);
|
|
236
|
+
if (series.length > max) series.splice(0, series.length - max);
|
|
237
|
+
state.snap.agents.set(pid, series);
|
|
238
|
+
}
|
|
239
|
+
const un = result.unattributed;
|
|
240
|
+
state.snap.unattributed = {
|
|
241
|
+
cpu_seconds: un.cpuPercent / 100 * elapsedSeconds,
|
|
242
|
+
rss: un.rss,
|
|
243
|
+
procs: un.procs
|
|
244
|
+
};
|
|
245
|
+
state.snap.bucketSecs = state.bucketSecs;
|
|
246
|
+
return state.bucketSecs;
|
|
247
|
+
}
|
|
248
|
+
let started = false;
|
|
249
|
+
let timer = null;
|
|
250
|
+
/**
|
|
251
|
+
* Start the background sampler. Idempotent. `serve.ts` calls this once on startup;
|
|
252
|
+
* `getRoots` returns the live wrapper pids (it already reads them via listRecords).
|
|
253
|
+
* Self-schedules with setTimeout so the adaptive bucket width takes effect on the
|
|
254
|
+
* very next tick without interval re-arm gymnastics.
|
|
255
|
+
*/
|
|
256
|
+
function startSampler(getRoots) {
|
|
257
|
+
if (started) return;
|
|
258
|
+
started = true;
|
|
259
|
+
const tick = async () => {
|
|
260
|
+
let width = state.bucketSecs || BUCKET_FAST_SECS;
|
|
261
|
+
try {
|
|
262
|
+
width = await sweep(await getRoots()) || width;
|
|
263
|
+
} catch {}
|
|
264
|
+
if (!started) return;
|
|
265
|
+
timer = setTimeout(tick, width * 1e3);
|
|
266
|
+
timer.unref?.();
|
|
267
|
+
};
|
|
268
|
+
tick();
|
|
269
|
+
}
|
|
270
|
+
|
|
127
271
|
//#endregion
|
|
128
272
|
//#region ts/statusText.ts
|
|
129
273
|
/**
|
|
@@ -1279,7 +1423,7 @@ async function cmdServeDaemon(sub, args) {
|
|
|
1279
1423
|
if (!webrtcDaemon) return;
|
|
1280
1424
|
if (shareLink) {
|
|
1281
1425
|
process.stdout.write(`\nshared over WebRTC — open this link (the token is eaten from the URL on open):\n ${shareLink}\n` + (shareLinkMinted ? ` (persistent room — same link across restarts; delete ~/.agent-yes/.share-room to rotate)\n` : ``));
|
|
1282
|
-
const { offerOpenInBrowser } = await import("./openBrowser-
|
|
1426
|
+
const { offerOpenInBrowser } = await import("./openBrowser-THOzOGNm.js");
|
|
1283
1427
|
await offerOpenInBrowser(shareLink);
|
|
1284
1428
|
} else process.stdout.write("\nthe WebRTC share link carries a secret, so the daemon does NOT log it —\nread it from ~/.agent-yes/.share-link (mode 0600). The room persists in\n~/.agent-yes/.share-room, so the link survives restarts.\n");
|
|
1285
1429
|
};
|
|
@@ -1846,7 +1990,8 @@ Options:
|
|
|
1846
1990
|
status_text: status === "exited" ? null : await logStatusText(r.log_file),
|
|
1847
1991
|
git: status === "exited" ? null : await gitStatus(r.cwd),
|
|
1848
1992
|
tasks: status === "exited" ? null : await logTasks(r.log_file),
|
|
1849
|
-
badges: status === "exited" ? [] : await logBadges(r.log_file).then(async (b) => await isUserTyping(r.pid) ? [...b, TYPING_BADGE.id] : b)
|
|
1993
|
+
badges: status === "exited" ? [] : await logBadges(r.log_file).then(async (b) => await isUserTyping(r.pid) ? [...b, TYPING_BADGE.id] : b),
|
|
1994
|
+
res: resField(r.pid)
|
|
1850
1995
|
};
|
|
1851
1996
|
};
|
|
1852
1997
|
const presence = /* @__PURE__ */ new Map();
|
|
@@ -2426,6 +2571,7 @@ Options:
|
|
|
2426
2571
|
free: freemem()
|
|
2427
2572
|
},
|
|
2428
2573
|
uptime: uptime(),
|
|
2574
|
+
resources: resourcesField(),
|
|
2429
2575
|
caps: {
|
|
2430
2576
|
send: true,
|
|
2431
2577
|
kill: true,
|
|
@@ -2436,7 +2582,7 @@ Options:
|
|
|
2436
2582
|
}
|
|
2437
2583
|
});
|
|
2438
2584
|
if (req.method === "GET" && p === "/api/ws") {
|
|
2439
|
-
const ws = await import("./ws-
|
|
2585
|
+
const ws = await import("./ws-CyO9r4jx.js");
|
|
2440
2586
|
try {
|
|
2441
2587
|
await ws.loadProvision();
|
|
2442
2588
|
} catch (e) {
|
|
@@ -2456,7 +2602,7 @@ Options:
|
|
|
2456
2602
|
if (req.method === "GET" && p === "/api/ws/status") {
|
|
2457
2603
|
const dirRaw = url.searchParams.get("path");
|
|
2458
2604
|
if (!dirRaw) return new Response("missing ?path=<workspace dir>", { status: 400 });
|
|
2459
|
-
const ws = await import("./ws-
|
|
2605
|
+
const ws = await import("./ws-CyO9r4jx.js");
|
|
2460
2606
|
let prov;
|
|
2461
2607
|
try {
|
|
2462
2608
|
prov = await ws.loadProvision();
|
|
@@ -2478,7 +2624,7 @@ Options:
|
|
|
2478
2624
|
}
|
|
2479
2625
|
}
|
|
2480
2626
|
if (req.method === "GET" && p === "/api/ws/repos") {
|
|
2481
|
-
const ws = await import("./ws-
|
|
2627
|
+
const ws = await import("./ws-CyO9r4jx.js");
|
|
2482
2628
|
try {
|
|
2483
2629
|
await ws.loadProvision();
|
|
2484
2630
|
} catch (e) {
|
|
@@ -2559,7 +2705,7 @@ Options:
|
|
|
2559
2705
|
const m = /^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)$/.exec(repoParam);
|
|
2560
2706
|
if (!m || m[1] === "." || m[1] === ".." || m[2] === "." || m[2] === "..") return new Response("missing/invalid ?repo=<owner>/<repo>", { status: 400 });
|
|
2561
2707
|
const [, owner, repo] = m;
|
|
2562
|
-
const ws = await import("./ws-
|
|
2708
|
+
const ws = await import("./ws-CyO9r4jx.js");
|
|
2563
2709
|
let prov;
|
|
2564
2710
|
try {
|
|
2565
2711
|
prov = await ws.loadProvision();
|
|
@@ -3470,7 +3616,7 @@ Options:
|
|
|
3470
3616
|
const perm = body.perm ?? "r";
|
|
3471
3617
|
if (perm !== "r" && perm !== "rw") return new Response(`invalid perm ${perm} (want r or rw)`, { status: 400 });
|
|
3472
3618
|
try {
|
|
3473
|
-
const { createScopedShare } = await import("./agentShare-
|
|
3619
|
+
const { createScopedShare } = await import("./agentShare-Cm15-dfZ.js");
|
|
3474
3620
|
const share = await createScopedShare({
|
|
3475
3621
|
agent: body.agent,
|
|
3476
3622
|
perm,
|
|
@@ -3485,12 +3631,12 @@ Options:
|
|
|
3485
3631
|
}
|
|
3486
3632
|
}
|
|
3487
3633
|
if (req.method === "GET" && p === "/api/shares") {
|
|
3488
|
-
const { listShares } = await import("./agentShare-
|
|
3634
|
+
const { listShares } = await import("./agentShare-Cm15-dfZ.js");
|
|
3489
3635
|
return Response.json(listShares());
|
|
3490
3636
|
}
|
|
3491
3637
|
const revokeM = /^\/api\/share\/([^/]+)$/.exec(p);
|
|
3492
3638
|
if (req.method === "DELETE" && revokeM) {
|
|
3493
|
-
const { revokeShare } = await import("./agentShare-
|
|
3639
|
+
const { revokeShare } = await import("./agentShare-Cm15-dfZ.js");
|
|
3494
3640
|
const ok = revokeShare(decodeURIComponent(revokeM[1]));
|
|
3495
3641
|
return new Response(ok ? "revoked" : "no such share", { status: ok ? 200 : 404 });
|
|
3496
3642
|
}
|
|
@@ -3504,7 +3650,7 @@ Options:
|
|
|
3504
3650
|
const port = Number(body.port);
|
|
3505
3651
|
if (!Number.isInteger(port) || port < 1 || port > 65535) return new Response("valid port required", { status: 400 });
|
|
3506
3652
|
try {
|
|
3507
|
-
const { ensureExposure } = await import("./expose-
|
|
3653
|
+
const { ensureExposure } = await import("./expose-BlddYYx9.js");
|
|
3508
3654
|
const h = await ensureExposure(port, body.relay);
|
|
3509
3655
|
return Response.json({
|
|
3510
3656
|
id: h.id,
|
|
@@ -3518,12 +3664,12 @@ Options:
|
|
|
3518
3664
|
}
|
|
3519
3665
|
}
|
|
3520
3666
|
if (req.method === "GET" && p === "/api/exposes") {
|
|
3521
|
-
const { listExposures } = await import("./expose-
|
|
3667
|
+
const { listExposures } = await import("./expose-BlddYYx9.js");
|
|
3522
3668
|
return Response.json(listExposures());
|
|
3523
3669
|
}
|
|
3524
3670
|
const unexposeM = /^\/api\/expose\/(\d+)$/.exec(p);
|
|
3525
3671
|
if (req.method === "DELETE" && unexposeM) {
|
|
3526
|
-
const { stopExposure } = await import("./expose-
|
|
3672
|
+
const { stopExposure } = await import("./expose-BlddYYx9.js");
|
|
3527
3673
|
const ok = stopExposure(Number(unexposeM[1]));
|
|
3528
3674
|
return new Response(ok ? "revoked" : "no such exposure", { status: ok ? 200 : 404 });
|
|
3529
3675
|
}
|
|
@@ -3724,6 +3870,7 @@ Options:
|
|
|
3724
3870
|
}
|
|
3725
3871
|
throw e;
|
|
3726
3872
|
}
|
|
3873
|
+
startSampler(async () => (await listRecords(void 0, defaultOpts({ all: true }))).map((r) => r.pid));
|
|
3727
3874
|
if (server) {
|
|
3728
3875
|
const listenPort = server.port;
|
|
3729
3876
|
const uiHost = host === "0.0.0.0" || host === "::" ? "127.0.0.1" : host;
|
|
@@ -3753,7 +3900,7 @@ Options:
|
|
|
3753
3900
|
const persistNote = explicitUrl ? "\n" : ` (persistent room — same link across restarts; delete ~/.agent-yes/.share-room to rotate)\n\n`;
|
|
3754
3901
|
process.stdout.write(`${wantHttp ? "\n" : ""}${lead}:\n ${link}\n` + persistNote);
|
|
3755
3902
|
if (!rotated) {
|
|
3756
|
-
const { offerOpenInBrowser } = await import("./openBrowser-
|
|
3903
|
+
const { offerOpenInBrowser } = await import("./openBrowser-THOzOGNm.js");
|
|
3757
3904
|
await offerOpenInBrowser(link);
|
|
3758
3905
|
}
|
|
3759
3906
|
} else {
|
|
@@ -3795,7 +3942,7 @@ Options:
|
|
|
3795
3942
|
const shutdown = (resolve) => {
|
|
3796
3943
|
if (heartbeat) clearInterval(heartbeat);
|
|
3797
3944
|
closeShare?.();
|
|
3798
|
-
import("./agentShare-
|
|
3945
|
+
import("./agentShare-Cm15-dfZ.js").then((m) => m.revokeAllShares()).catch(() => {});
|
|
3799
3946
|
server?.stop();
|
|
3800
3947
|
Promise.resolve(releaseHostLock?.()).catch(() => {}).then(resolve);
|
|
3801
3948
|
};
|
|
@@ -3808,4 +3955,4 @@ Options:
|
|
|
3808
3955
|
|
|
3809
3956
|
//#endregion
|
|
3810
3957
|
export { cmdServe, loadTokenReadOnly, mintScopedTermToken, resolveDaemonHttpBase, resolveLocalServeUrl };
|
|
3811
|
-
//# sourceMappingURL=serve-
|
|
3958
|
+
//# sourceMappingURL=serve-CMsvjqPU.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as getWorkspaceRoot, p as setWorkspaceRoot } from "./workspaceConfig-
|
|
1
|
+
import { c as getWorkspaceRoot, p as setWorkspaceRoot } from "./workspaceConfig-DTvPtr5j.js";
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { stdin, stdout } from "node:process";
|
|
4
4
|
import { createInterface } from "node:readline/promises";
|
|
@@ -31,7 +31,7 @@ async function cmdSetup(rest) {
|
|
|
31
31
|
process.stdout.write(`workspace root: ${abs}\n`);
|
|
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
|
try {
|
|
34
|
-
const { linkBunBinsToSystemPath } = await import("./systemPathLink-
|
|
34
|
+
const { linkBunBinsToSystemPath } = await import("./systemPathLink-BVdk48Vz.js");
|
|
35
35
|
const r = linkBunBinsToSystemPath();
|
|
36
36
|
if (r && (r.linked.length || r.refreshed.length)) {
|
|
37
37
|
const n = r.linked.length + r.refreshed.length;
|
|
@@ -40,7 +40,7 @@ async function cmdSetup(rest) {
|
|
|
40
40
|
} catch {}
|
|
41
41
|
if (noShare) return 0;
|
|
42
42
|
process.stdout.write(`\nsharing this machine to agent-yes.com…\n`);
|
|
43
|
-
const { cmdServe } = await import("./serve-
|
|
43
|
+
const { cmdServe } = await import("./serve-CMsvjqPU.js");
|
|
44
44
|
return cmdServe([
|
|
45
45
|
"install",
|
|
46
46
|
"--share",
|
|
@@ -50,4 +50,4 @@ async function cmdSetup(rest) {
|
|
|
50
50
|
|
|
51
51
|
//#endregion
|
|
52
52
|
export { cmdSetup };
|
|
53
|
-
//# sourceMappingURL=setup-
|
|
53
|
+
//# sourceMappingURL=setup-BmxYINCx.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { i as readGlobalPids } from "./globalPidIndex-DoaKEUkO.js";
|
|
2
|
-
import { n as getMaxAgents, r as getMinFreeMb, s as getSpawnWaitMs } from "./workspaceConfig-
|
|
2
|
+
import { n as getMaxAgents, r as getMinFreeMb, s as getSpawnWaitMs } from "./workspaceConfig-DTvPtr5j.js";
|
|
3
3
|
import { readFile } from "fs/promises";
|
|
4
4
|
|
|
5
5
|
//#region ts/spawnGate.ts
|
|
@@ -104,4 +104,4 @@ async function waitForSpawnCapacity(opts) {
|
|
|
104
104
|
|
|
105
105
|
//#endregion
|
|
106
106
|
export { waitForSpawnCapacity as i, spawnGateEnabled as n, spawnRejectionReason as r, memAvailableMb as t };
|
|
107
|
-
//# sourceMappingURL=spawnGate-
|
|
107
|
+
//# sourceMappingURL=spawnGate-B26UnzqP.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
2
|
import "./globalPidIndex-DoaKEUkO.js";
|
|
3
|
-
import { i as waitForSpawnCapacity, n as spawnGateEnabled, r as spawnRejectionReason, t as memAvailableMb } from "./spawnGate-
|
|
3
|
+
import { i as waitForSpawnCapacity, n as spawnGateEnabled, r as spawnRejectionReason, t as memAvailableMb } from "./spawnGate-B26UnzqP.js";
|
|
4
4
|
|
|
5
5
|
export { waitForSpawnCapacity };
|
|
@@ -3,9 +3,9 @@ import "./globalPidIndex-DoaKEUkO.js";
|
|
|
3
3
|
import "./messageLog-DdjBNqgt.js";
|
|
4
4
|
import "./e2e-z1xpwSAg.js";
|
|
5
5
|
import "./configShared-DKTgiz7K.js";
|
|
6
|
-
import { A as readAgentPtysize, B as resolveReadWindow, C as isUnknownManagerToken, D as listRecords, E as lastStdinAt, F as recentReadEdges, G as stdinActivityPath, H as restartHintLines, I as renderLogTailLines, J as waitForLogQuiet, K as stopTipForCli, L as renderRawLog, M as readNotes, N as readPtysize, O as matchKeyword, P as recentMessageEdges, R as renderRawLogLines, S as isSubcommand, T as lastReadAt, U as runSubcommand, V as resolveResumeArgs, W as snapshotStatus, X as writeToIpc, Y as writeKeysPaced, _ as isAgentStuck, a as TYPING_WINDOW_MS, b as isPidAlive, c as controlCodeFromName, d as deriveLiveStatus, f as extractBadges, g as finalizedLines, h as extractTaskCounts, i as READ_WINDOW_MS, j as readLogForRender, k as menuSelectKeys, l as cursorAbs, m as extractNeedsInput, n as MAX_RENDER_BYTES, o as backoffWhileTyping, p as extractMenu, q as submitAndConfirm, r as READ_PAGE_DEFAULT, s as cmdHelp, t as GRACEFUL_EXIT_COMMANDS, u as deriveLiveState, v as isBareManagerInvocation, w as isUserTyping, x as isSlashCommand, y as isExitRequest, z as resolveOne } from "./subcommands-
|
|
6
|
+
import { A as readAgentPtysize, B as resolveReadWindow, C as isUnknownManagerToken, D as listRecords, E as lastStdinAt, F as recentReadEdges, G as stdinActivityPath, H as restartHintLines, I as renderLogTailLines, J as waitForLogQuiet, K as stopTipForCli, L as renderRawLog, M as readNotes, N as readPtysize, O as matchKeyword, P as recentMessageEdges, R as renderRawLogLines, S as isSubcommand, T as lastReadAt, U as runSubcommand, V as resolveResumeArgs, W as snapshotStatus, X as writeToIpc, Y as writeKeysPaced, _ as isAgentStuck, a as TYPING_WINDOW_MS, b as isPidAlive, c as controlCodeFromName, d as deriveLiveStatus, f as extractBadges, g as finalizedLines, h as extractTaskCounts, i as READ_WINDOW_MS, j as readLogForRender, k as menuSelectKeys, l as cursorAbs, m as extractNeedsInput, n as MAX_RENDER_BYTES, o as backoffWhileTyping, p as extractMenu, q as submitAndConfirm, r as READ_PAGE_DEFAULT, s as cmdHelp, t as GRACEFUL_EXIT_COMMANDS, u as deriveLiveState, v as isBareManagerInvocation, w as isUserTyping, x as isSlashCommand, y as isExitRequest, z as resolveOne } from "./subcommands-CWDqhKQe.js";
|
|
7
7
|
import "./notifyStore-2SWKGwZI.js";
|
|
8
8
|
import "./webrtcLink-DLaJfTcB.js";
|
|
9
|
-
import "./remotes-
|
|
9
|
+
import "./remotes-BjsglpjL.js";
|
|
10
10
|
|
|
11
11
|
export { READ_WINDOW_MS, cmdHelp, isBareManagerInvocation, isSubcommand, isUnknownManagerToken, lastReadAt, runSubcommand };
|
|
@@ -7,7 +7,7 @@ import { t as formatIdentity } from "./identity-CKRuYUFi.js";
|
|
|
7
7
|
import { n as isWorkingScreen, r as parseMenu, t as classifyNeedsInput } from "./needsInput-BHopZGM8.js";
|
|
8
8
|
import { S as postmortemStartedAt, _ as filterSinceSeq, a as getCursor, b as maxSeq, f as readInbox, o as heartbeatWatcher, p as setCursor, r as clearWatcher, s as hostId, v as filterSinceTs, y as filterUnread } from "./notifyStore-2SWKGwZI.js";
|
|
9
9
|
import { n as isWebrtcSpec } from "./webrtcLink-DLaJfTcB.js";
|
|
10
|
-
import { a as resolveRemoteSpec, i as readRemotes } from "./remotes-
|
|
10
|
+
import { a as resolveRemoteSpec, i as readRemotes } from "./remotes-BjsglpjL.js";
|
|
11
11
|
import ms from "ms";
|
|
12
12
|
import yargs from "yargs";
|
|
13
13
|
import { appendFile, mkdir, open, readFile, stat, writeFile } from "fs/promises";
|
|
@@ -906,7 +906,7 @@ async function runSubcommand(argv) {
|
|
|
906
906
|
switch (sub) {
|
|
907
907
|
case "ls":
|
|
908
908
|
case "list": return await cmdLs(rest);
|
|
909
|
-
case "ps": return await (await import("./cmdPs-
|
|
909
|
+
case "ps": return await (await import("./cmdPs-BYBZQ0Vc.js")).cmdPs(rest);
|
|
910
910
|
case "status": return await cmdStatus(rest);
|
|
911
911
|
case "whoami": return await cmdWhoami(rest);
|
|
912
912
|
case "result": return await cmdResult(rest);
|
|
@@ -917,7 +917,7 @@ async function runSubcommand(argv) {
|
|
|
917
917
|
case "tail": return await cmdRead(rest, { mode: "tail" });
|
|
918
918
|
case "head": return await cmdRead(rest, { mode: "head" });
|
|
919
919
|
case "hist":
|
|
920
|
-
case "history": return await (await import("./hist-
|
|
920
|
+
case "history": return await (await import("./hist-DZxq7NMA.js")).cmdHist(rest);
|
|
921
921
|
case "send": return await cmdSend(rest);
|
|
922
922
|
case "msgs": return await cmdMsgs(rest);
|
|
923
923
|
case "key": return await cmdKey(rest);
|
|
@@ -944,7 +944,7 @@ async function runSubcommand(argv) {
|
|
|
944
944
|
return sub === "ask" ? await runAskSubcommand(rest, deps) : await runAnswerSubcommand(rest, deps);
|
|
945
945
|
}
|
|
946
946
|
case "todo": {
|
|
947
|
-
const { runTodoSubcommand } = await import("./todoCli-
|
|
947
|
+
const { runTodoSubcommand } = await import("./todoCli-azqbjBtz.js");
|
|
948
948
|
return runTodoSubcommand(rest);
|
|
949
949
|
}
|
|
950
950
|
case "ch":
|
|
@@ -953,47 +953,47 @@ async function runSubcommand(argv) {
|
|
|
953
953
|
return cmdCh(rest);
|
|
954
954
|
}
|
|
955
955
|
case "term": {
|
|
956
|
-
const { cmdTerm } = await import("./terminal-
|
|
956
|
+
const { cmdTerm } = await import("./terminal-CcmBzB3G.js");
|
|
957
957
|
return cmdTerm(rest);
|
|
958
958
|
}
|
|
959
959
|
case "widget": {
|
|
960
|
-
const { cmdWidget } = await import("./widget-
|
|
960
|
+
const { cmdWidget } = await import("./widget-D2cCC8nz.js");
|
|
961
961
|
return cmdWidget(rest);
|
|
962
962
|
}
|
|
963
963
|
case "mint": {
|
|
964
|
-
const { cmdMint } = await import("./widget-
|
|
964
|
+
const { cmdMint } = await import("./widget-D2cCC8nz.js");
|
|
965
965
|
return cmdMint(rest);
|
|
966
966
|
}
|
|
967
967
|
case "serve": {
|
|
968
|
-
const { cmdServe } = await import("./serve-
|
|
968
|
+
const { cmdServe } = await import("./serve-CMsvjqPU.js");
|
|
969
969
|
return cmdServe(rest);
|
|
970
970
|
}
|
|
971
971
|
case "tray": {
|
|
972
|
-
const { cmdTray } = await import("./trayApp-
|
|
972
|
+
const { cmdTray } = await import("./trayApp-BovAZs7m.js");
|
|
973
973
|
return cmdTray(rest);
|
|
974
974
|
}
|
|
975
975
|
case "setup": {
|
|
976
|
-
const { cmdSetup } = await import("./setup-
|
|
976
|
+
const { cmdSetup } = await import("./setup-BmxYINCx.js");
|
|
977
977
|
return cmdSetup(rest);
|
|
978
978
|
}
|
|
979
979
|
case "ws": {
|
|
980
|
-
const { cmdWs } = await import("./ws-
|
|
980
|
+
const { cmdWs } = await import("./ws-CyO9r4jx.js");
|
|
981
981
|
return cmdWs(rest);
|
|
982
982
|
}
|
|
983
983
|
case "schedule": {
|
|
984
|
-
const { cmdSchedule } = await import("./schedule-
|
|
984
|
+
const { cmdSchedule } = await import("./schedule-pim0Izhs.js");
|
|
985
985
|
return cmdSchedule(rest);
|
|
986
986
|
}
|
|
987
987
|
case "remote": {
|
|
988
|
-
const { cmdRemote } = await import("./remotes-
|
|
988
|
+
const { cmdRemote } = await import("./remotes-CAqtL_Ib.js");
|
|
989
989
|
return cmdRemote(rest);
|
|
990
990
|
}
|
|
991
991
|
case "expose": {
|
|
992
|
-
const { cmdExpose } = await import("./expose-
|
|
992
|
+
const { cmdExpose } = await import("./expose-BlddYYx9.js");
|
|
993
993
|
return cmdExpose(rest);
|
|
994
994
|
}
|
|
995
995
|
case "callback": {
|
|
996
|
-
const { cmdCallback } = await import("./callback-
|
|
996
|
+
const { cmdCallback } = await import("./callback-Dwnkeqpz.js");
|
|
997
997
|
return cmdCallback(rest);
|
|
998
998
|
}
|
|
999
999
|
case "reap":
|
|
@@ -1004,7 +1004,7 @@ async function runSubcommand(argv) {
|
|
|
1004
1004
|
return await cmdDsh(rest);
|
|
1005
1005
|
}
|
|
1006
1006
|
case "gc": {
|
|
1007
|
-
const { gcOldBinaryDirs } = await import("./rustBinary-
|
|
1007
|
+
const { gcOldBinaryDirs } = await import("./rustBinary-Dq0AytZ7.js");
|
|
1008
1008
|
const res = gcOldBinaryDirs();
|
|
1009
1009
|
if (res.removed.length === 0) process.stdout.write("no old agent-yes binary cache dirs to remove\n");
|
|
1010
1010
|
else {
|
|
@@ -1438,7 +1438,7 @@ async function fetchRemoteRecordsRaw(url, token, opts) {
|
|
|
1438
1438
|
let base = url;
|
|
1439
1439
|
let bearer = token;
|
|
1440
1440
|
if (isWebrtcSpec(url)) {
|
|
1441
|
-
const { startWebrtcBridge } = await import("./webrtcRemote-
|
|
1441
|
+
const { startWebrtcBridge } = await import("./webrtcRemote-Bevc5ogS.js");
|
|
1442
1442
|
bridge = await startWebrtcBridge(url);
|
|
1443
1443
|
base = bridge.baseUrl;
|
|
1444
1444
|
bearer = bridge.token;
|
|
@@ -3481,7 +3481,7 @@ async function cmdAttach(rest) {
|
|
|
3481
3481
|
const winsizeDir = path.join(ayHome, "winsize");
|
|
3482
3482
|
await mkdir(winsizeDir, { recursive: true });
|
|
3483
3483
|
const winsizePath = path.join(winsizeDir, String(record.pid));
|
|
3484
|
-
const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-
|
|
3484
|
+
const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-CMsvjqPU.js");
|
|
3485
3485
|
const daemonBase = await resolveDaemonHttpBase().catch(() => null);
|
|
3486
3486
|
const daemonToken = daemonBase ? await loadTokenReadOnly().catch(() => null) ?? "" : "";
|
|
3487
3487
|
const capViewer = `attach:${process.pid}`;
|
|
@@ -4199,7 +4199,7 @@ async function cmdNotify(rest) {
|
|
|
4199
4199
|
}
|
|
4200
4200
|
const ensure = async () => {
|
|
4201
4201
|
if (!argv["ensure-daemon"]) return;
|
|
4202
|
-
const { ensureDaemon } = await import("./notifyDaemon-
|
|
4202
|
+
const { ensureDaemon } = await import("./notifyDaemon-Q3FF-WEZ.js");
|
|
4203
4203
|
await ensureDaemon().catch(() => null);
|
|
4204
4204
|
};
|
|
4205
4205
|
await heartbeatWatcher(parent, selfStartedAt);
|
|
@@ -4273,7 +4273,7 @@ async function cmdNotifyCursor(args) {
|
|
|
4273
4273
|
}
|
|
4274
4274
|
async function cmdNotifyd(rest) {
|
|
4275
4275
|
const sub = rest[0] ?? "status";
|
|
4276
|
-
const daemon = await import("./notifyDaemon-
|
|
4276
|
+
const daemon = await import("./notifyDaemon-Q3FF-WEZ.js");
|
|
4277
4277
|
switch (sub) {
|
|
4278
4278
|
case "run": return daemon.runDaemon();
|
|
4279
4279
|
case "once": return daemon.runDaemon({ once: true });
|
|
@@ -4300,4 +4300,4 @@ async function cmdNotifyd(rest) {
|
|
|
4300
4300
|
|
|
4301
4301
|
//#endregion
|
|
4302
4302
|
export { buildAgentForest as $, readAgentPtysize as A, resolveReadWindow as B, isUnknownManagerToken as C, listRecords as D, lastStdinAt as E, recentReadEdges as F, stdinActivityPath as G, restartHintLines as H, renderLogTailLines as I, waitForLogQuiet as J, stopTipForCli as K, renderRawLog as L, readNotes as M, readPtysize as N, matchKeyword as O, recentMessageEdges as P, TYPING_BADGE as Q, renderRawLogLines as R, isSubcommand as S, lastReadAt as T, runSubcommand as U, resolveResumeArgs as V, snapshotStatus as W, writeToIpc as X, writeKeysPaced as Y, withIpcLock as Z, isAgentStuck as _, TYPING_WINDOW_MS as a, isPidAlive as b, controlCodeFromName as c, deriveLiveStatus as d, flattenForest as et, extractBadges as f, finalizedLines as g, extractTaskCounts as h, READ_WINDOW_MS as i, readLogForRender as j, menuSelectKeys as k, cursorAbs as l, extractNeedsInput as m, MAX_RENDER_BYTES as n, backoffWhileTyping as o, extractMenu as p, submitAndConfirm as q, READ_PAGE_DEFAULT as r, cmdHelp as s, GRACEFUL_EXIT_COMMANDS as t, deriveLiveState as u, isBareManagerInvocation as v, isUserTyping as w, isSlashCommand as x, isExitRequest as y, resolveOne as z };
|
|
4303
|
-
//# sourceMappingURL=subcommands-
|
|
4303
|
+
//# sourceMappingURL=subcommands-CWDqhKQe.js.map
|
|
@@ -98,7 +98,7 @@ async function cmdTermMint(args) {
|
|
|
98
98
|
if (flags.ro && flags.interactive) throw new Error("--ro and --interactive are mutually exclusive");
|
|
99
99
|
const ttlSec = parseTtlSec(typeof flags.ttl === "string" ? flags.ttl : "15m");
|
|
100
100
|
const canSend = flags.interactive === true;
|
|
101
|
-
const { mintScopedTermToken } = await import("./serve-
|
|
101
|
+
const { mintScopedTermToken } = await import("./serve-CMsvjqPU.js");
|
|
102
102
|
const r = await mintScopedTermToken(pid, {
|
|
103
103
|
ttlSec,
|
|
104
104
|
canSend
|
|
@@ -135,4 +135,4 @@ async function cmdTerm(args) {
|
|
|
135
135
|
|
|
136
136
|
//#endregion
|
|
137
137
|
export { cmdTerm };
|
|
138
|
-
//# sourceMappingURL=terminal-
|
|
138
|
+
//# sourceMappingURL=terminal-CcmBzB3G.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as findTrayLauncher } from "./rustBinary-
|
|
1
|
+
import { i as findTrayLauncher } from "./rustBinary-B57oRftk.js";
|
|
2
2
|
import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
|
|
3
3
|
import { existsSync } from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
@@ -97,4 +97,4 @@ async function cmdTray(args) {
|
|
|
97
97
|
|
|
98
98
|
//#endregion
|
|
99
99
|
export { trayHiddenMarker as a, launchTray as i, hasDesktop as n, isTrayHidden as r, cmdTray as t };
|
|
100
|
-
//# sourceMappingURL=trayApp-
|
|
100
|
+
//# sourceMappingURL=trayApp-DuZBkGl_.js.map
|