claude-yes 1.135.1 → 1.136.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-BAqEnz6_.js +8 -0
- package/dist/{SUPPORTED_CLIS-lVtK6ikD.js → SUPPORTED_CLIS-D9x14LOU.js} +2 -2
- package/dist/cli.js +3 -3
- package/dist/index.js +2 -2
- package/dist/{schedule-BBboMYK-.js → schedule-BHQxJryR.js} +4 -4
- package/dist/{serve-DvhV2OKW.js → serve-BIB4RhmY.js} +5 -5
- package/dist/{setup-Bta72ntv.js → setup-k1tlrF_v.js} +2 -2
- package/dist/{subcommands-DQLxXJRA.js → subcommands-Dkoh93LI.js} +1 -1
- package/dist/{subcommands-CHzEfUpK.js → subcommands-MsZtpbY6.js} +4 -4
- package/dist/{ts-BurepTpP.js → ts-BwsLxt1F.js} +2 -2
- package/dist/{versionChecker-BQqv1OP1.js → versionChecker-wZekjh0q.js} +2 -2
- package/lab/ui/index.html +67 -25
- package/package.json +1 -1
- package/dist/SUPPORTED_CLIS-CSpn1swb.js +0 -8
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "./ts-BwsLxt1F.js";
|
|
2
|
+
import "./logger-CDIsZ-Pp.js";
|
|
3
|
+
import "./versionChecker-wZekjh0q.js";
|
|
4
|
+
import "./pidStore-fqXqTKkh.js";
|
|
5
|
+
import "./globalPidIndex-DlmmJlO8.js";
|
|
6
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-D9x14LOU.js";
|
|
7
|
+
|
|
8
|
+
export { SUPPORTED_CLIS };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as CLIS_CONFIG } from "./ts-
|
|
1
|
+
import { t as CLIS_CONFIG } from "./ts-BwsLxt1F.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-D9x14LOU.js.map
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
import { t as invokedCliName } from "./invokedCli-zdFbz1ST.js";
|
|
3
3
|
import { n as logger } from "./logger-CDIsZ-Pp.js";
|
|
4
|
-
import { i as versionString, n as displayVersion, r as getInstalledPackage, t as checkAndAutoUpdate } from "./versionChecker-
|
|
4
|
+
import { i as versionString, n as displayVersion, r as getInstalledPackage, t as checkAndAutoUpdate } from "./versionChecker-wZekjh0q.js";
|
|
5
5
|
import { argv } from "process";
|
|
6
6
|
import { execFileSync, spawn } from "child_process";
|
|
7
7
|
import ms from "ms";
|
|
@@ -480,7 +480,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
|
|
|
480
480
|
const rawArg = process.argv[2];
|
|
481
481
|
const managerCommands = !invokedCliName(process.argv);
|
|
482
482
|
const isHelpFlag = rawArg === "-h" || rawArg === "--help";
|
|
483
|
-
const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-
|
|
483
|
+
const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-Dkoh93LI.js");
|
|
484
484
|
if (isHelpFlag && process.argv.length === 3) {
|
|
485
485
|
cmdHelp(managerCommands);
|
|
486
486
|
process.exit(0);
|
|
@@ -513,7 +513,7 @@ if (config.useRust) {
|
|
|
513
513
|
}
|
|
514
514
|
}
|
|
515
515
|
if (rustBinary) {
|
|
516
|
-
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-
|
|
516
|
+
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-BAqEnz6_.js");
|
|
517
517
|
const rustArgs = buildRustArgs(process.argv, config.cli, SUPPORTED_CLIS);
|
|
518
518
|
if (config.verbose) {
|
|
519
519
|
console.log(`[rust] Using binary: ${rustBinary}`);
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as removeControlCharacters, i as AgentContext, n as agentYes, r as config, t as CLIS_CONFIG } from "./ts-
|
|
1
|
+
import { a as removeControlCharacters, i as AgentContext, n as agentYes, r as config, t as CLIS_CONFIG } from "./ts-BwsLxt1F.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-
|
|
3
|
+
import "./versionChecker-wZekjh0q.js";
|
|
4
4
|
import "./pidStore-fqXqTKkh.js";
|
|
5
5
|
import "./globalPidIndex-DlmmJlO8.js";
|
|
6
6
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import "./ts-
|
|
1
|
+
import "./ts-BwsLxt1F.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-
|
|
3
|
+
import "./versionChecker-wZekjh0q.js";
|
|
4
4
|
import "./pidStore-fqXqTKkh.js";
|
|
5
5
|
import "./globalPidIndex-DlmmJlO8.js";
|
|
6
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
6
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-D9x14LOU.js";
|
|
7
7
|
import { n as resolveSpawnCwd } from "./workspaceConfig-BCOqRBEW.js";
|
|
8
8
|
import { createHash } from "node:crypto";
|
|
9
9
|
|
|
@@ -141,4 +141,4 @@ async function cmdSchedule(rest) {
|
|
|
141
141
|
|
|
142
142
|
//#endregion
|
|
143
143
|
export { cmdSchedule };
|
|
144
|
-
//# sourceMappingURL=schedule-
|
|
144
|
+
//# sourceMappingURL=schedule-BHQxJryR.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import "./ts-
|
|
1
|
+
import "./ts-BwsLxt1F.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
3
|
+
import { r as getInstalledPackage } from "./versionChecker-wZekjh0q.js";
|
|
4
4
|
import "./pidStore-fqXqTKkh.js";
|
|
5
5
|
import { a as updateGlobalPidStatus } from "./globalPidIndex-DlmmJlO8.js";
|
|
6
6
|
import { t as pgidForWrapper } from "./reaper-C-eWAxIj.js";
|
|
7
7
|
import "./configShared-C1C04bbq.js";
|
|
8
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
8
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-D9x14LOU.js";
|
|
9
9
|
import "./remotes-PKKjfTI1.js";
|
|
10
|
-
import { d as listRecords, g as resolveOne, i as controlCodeFromName, m as renderRawLog, p as readNotes, s as extractTaskCounts, x as writeToIpc, y as snapshotStatus } from "./subcommands-
|
|
10
|
+
import { d as listRecords, g as resolveOne, i as controlCodeFromName, m as renderRawLog, p as readNotes, s as extractTaskCounts, x as writeToIpc, y as snapshotStatus } from "./subcommands-MsZtpbY6.js";
|
|
11
11
|
import yargs from "yargs";
|
|
12
12
|
import { mkdir, open, readFile, stat, writeFile } from "fs/promises";
|
|
13
13
|
import { homedir, hostname, userInfo } from "os";
|
|
@@ -1171,4 +1171,4 @@ Options:
|
|
|
1171
1171
|
|
|
1172
1172
|
//#endregion
|
|
1173
1173
|
export { cmdServe };
|
|
1174
|
-
//# sourceMappingURL=serve-
|
|
1174
|
+
//# sourceMappingURL=serve-BIB4RhmY.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-BIB4RhmY.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-k1tlrF_v.js.map
|
|
@@ -2,6 +2,6 @@ import "./logger-CDIsZ-Pp.js";
|
|
|
2
2
|
import "./globalPidIndex-DlmmJlO8.js";
|
|
3
3
|
import "./configShared-C1C04bbq.js";
|
|
4
4
|
import "./remotes-PKKjfTI1.js";
|
|
5
|
-
import { _ as resolveReadWindow, a as cursorAbs, b as stopTipForCli, c as finalizedLines, d as listRecords, f as matchKeyword, g as resolveOne, h as renderRawLogLines, i as controlCodeFromName, l as isPidAlive, m as renderRawLog, n as READ_PAGE_DEFAULT, o as extractNeedsInput, p as readNotes, r as cmdHelp, s as extractTaskCounts, t as GRACEFUL_EXIT_COMMANDS, u as isSubcommand, v as runSubcommand, x as writeToIpc, y as snapshotStatus } from "./subcommands-
|
|
5
|
+
import { _ as resolveReadWindow, a as cursorAbs, b as stopTipForCli, c as finalizedLines, d as listRecords, f as matchKeyword, g as resolveOne, h as renderRawLogLines, i as controlCodeFromName, l as isPidAlive, m as renderRawLog, n as READ_PAGE_DEFAULT, o as extractNeedsInput, p as readNotes, r as cmdHelp, s as extractTaskCounts, t as GRACEFUL_EXIT_COMMANDS, u as isSubcommand, v as runSubcommand, x as writeToIpc, y as snapshotStatus } from "./subcommands-MsZtpbY6.js";
|
|
6
6
|
|
|
7
7
|
export { cmdHelp, isSubcommand, runSubcommand };
|
|
@@ -533,15 +533,15 @@ async function runSubcommand(argv) {
|
|
|
533
533
|
case "restart": return await cmdRestart(rest);
|
|
534
534
|
case "note": return await cmdNote(rest);
|
|
535
535
|
case "serve": {
|
|
536
|
-
const { cmdServe } = await import("./serve-
|
|
536
|
+
const { cmdServe } = await import("./serve-BIB4RhmY.js");
|
|
537
537
|
return cmdServe(rest);
|
|
538
538
|
}
|
|
539
539
|
case "setup": {
|
|
540
|
-
const { cmdSetup } = await import("./setup-
|
|
540
|
+
const { cmdSetup } = await import("./setup-k1tlrF_v.js");
|
|
541
541
|
return cmdSetup(rest);
|
|
542
542
|
}
|
|
543
543
|
case "schedule": {
|
|
544
|
-
const { cmdSchedule } = await import("./schedule-
|
|
544
|
+
const { cmdSchedule } = await import("./schedule-BHQxJryR.js");
|
|
545
545
|
return cmdSchedule(rest);
|
|
546
546
|
}
|
|
547
547
|
case "remote": {
|
|
@@ -2428,4 +2428,4 @@ async function cmdResultSet(rest) {
|
|
|
2428
2428
|
|
|
2429
2429
|
//#endregion
|
|
2430
2430
|
export { resolveReadWindow as _, cursorAbs as a, stopTipForCli as b, finalizedLines as c, listRecords as d, matchKeyword as f, resolveOne as g, renderRawLogLines as h, controlCodeFromName as i, isPidAlive as l, renderRawLog as m, READ_PAGE_DEFAULT as n, extractNeedsInput as o, readNotes as p, cmdHelp as r, extractTaskCounts as s, GRACEFUL_EXIT_COMMANDS as t, isSubcommand as u, runSubcommand as v, writeToIpc as x, snapshotStatus as y };
|
|
2431
|
-
//# sourceMappingURL=subcommands-
|
|
2431
|
+
//# sourceMappingURL=subcommands-MsZtpbY6.js.map
|
|
@@ -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-wZekjh0q.js";
|
|
3
3
|
import { t as agentYesHome } from "./agentYesHome-_eJa3DaX.js";
|
|
4
4
|
import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-V4qvXgAw.js";
|
|
5
5
|
import { t as PidStore } from "./pidStore-fqXqTKkh.js";
|
|
@@ -1788,4 +1788,4 @@ function sleep(ms) {
|
|
|
1788
1788
|
|
|
1789
1789
|
//#endregion
|
|
1790
1790
|
export { removeControlCharacters as a, AgentContext as i, agentYes as n, config as r, CLIS_CONFIG as t };
|
|
1791
|
-
//# sourceMappingURL=ts-
|
|
1791
|
+
//# sourceMappingURL=ts-BwsLxt1F.js.map
|
|
@@ -7,7 +7,7 @@ import { fileURLToPath } from "url";
|
|
|
7
7
|
|
|
8
8
|
//#region package.json
|
|
9
9
|
var name = "claude-yes";
|
|
10
|
-
var version = "1.
|
|
10
|
+
var version = "1.136.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-wZekjh0q.js.map
|
package/lab/ui/index.html
CHANGED
|
@@ -2475,11 +2475,16 @@
|
|
|
2475
2475
|
let selR = null;
|
|
2476
2476
|
try {
|
|
2477
2477
|
// xterm 5.x: getSelectionPosition() returns { start:{x,y}, end:{x,y} }
|
|
2478
|
-
//
|
|
2479
|
-
//
|
|
2478
|
+
// with y = ABSOLUTE buffer-line index. Viewers connect at different times,
|
|
2479
|
+
// so their buffer-line indices don't line up — but the live-tail CONTENT
|
|
2480
|
+
// is identical, so "lines from the BOTTOM" (length-1 - y) IS a shared
|
|
2481
|
+
// coordinate. We emit fromBottom for rows; the receiver maps it back into
|
|
2482
|
+
// its own buffer + viewport. cols stay as-is.
|
|
2480
2483
|
const s = term.getSelectionPosition && term.getSelectionPosition();
|
|
2481
|
-
if (s && s.start && s.end)
|
|
2482
|
-
|
|
2484
|
+
if (s && s.start && s.end) {
|
|
2485
|
+
const last = (term.buffer.active.length || 1) - 1;
|
|
2486
|
+
selR = `${last - s.start.y},${s.start.x}-${last - s.end.y},${s.end.x}`;
|
|
2487
|
+
}
|
|
2483
2488
|
} catch {}
|
|
2484
2489
|
cur.tx
|
|
2485
2490
|
.post("/api/presence", {
|
|
@@ -2524,16 +2529,36 @@
|
|
|
2524
2529
|
for (const ch of String(s)) h = (h * 31 + ch.charCodeAt(0)) >>> 0;
|
|
2525
2530
|
return h % 360;
|
|
2526
2531
|
}
|
|
2527
|
-
|
|
2532
|
+
// Parse "fbRow,col-fbRow,col" where the rows are LINES-FROM-THE-BOTTOM of the
|
|
2533
|
+
// peer's buffer (a coordinate shared across viewers — see sendPresence).
|
|
2534
|
+
function parseSel(selStr) {
|
|
2528
2535
|
const m = /^(\d+),(\d+)-(\d+),(\d+)$/.exec(selStr || "");
|
|
2529
2536
|
if (!m) return null;
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2535
|
-
|
|
2536
|
-
|
|
2537
|
+
return { fa: +m[1], ca: +m[2], fb: +m[3], cb: +m[4] };
|
|
2538
|
+
}
|
|
2539
|
+
// Per-row spans for a peer selection, in OUR buffer rows. fromBottom is mapped
|
|
2540
|
+
// against OUR buffer bottom (myLast) so the same live-tail line matches even
|
|
2541
|
+
// though absolute indices differ between viewers; only the rows visible in our
|
|
2542
|
+
// viewport [vy, vy+myRows) are emitted (so a giant selection stays cheap). A
|
|
2543
|
+
// selection is per-row: top row cA→edge, full-width middle, bottom row 0→cB.
|
|
2544
|
+
// Columns are EXACT when widths match, proportional only as a fallback.
|
|
2545
|
+
function selSegments(sel, myLast, vy, myRows, peerCols, myCols) {
|
|
2546
|
+
const sameW = (peerCols || myCols) === myCols;
|
|
2547
|
+
const mapC = (c) => (sameW ? c : Math.round((c / (peerCols || myCols)) * myCols));
|
|
2548
|
+
let rA = myLast - sel.fa,
|
|
2549
|
+
rB = myLast - sel.fb,
|
|
2550
|
+
cA = sel.ca,
|
|
2551
|
+
cB = sel.cb;
|
|
2552
|
+
if (rA > rB) ([rA, rB] = [rB, rA]), ([cA, cB] = [cB, cA]); // rA = top row
|
|
2553
|
+
const segs = [];
|
|
2554
|
+
const from = Math.max(rA, vy),
|
|
2555
|
+
to = Math.min(rB, vy + myRows - 1);
|
|
2556
|
+
for (let r = from; r <= to; r++) {
|
|
2557
|
+
const a = r === rA ? cA : 0;
|
|
2558
|
+
const b = r === rB ? cB : myCols;
|
|
2559
|
+
segs.push({ row: r, a: Math.min(mapC(a), mapC(b)), b: Math.max(mapC(a), mapC(b)) });
|
|
2560
|
+
}
|
|
2561
|
+
return segs;
|
|
2537
2562
|
}
|
|
2538
2563
|
function renderPeerSelections() {
|
|
2539
2564
|
const logEl = $("log");
|
|
@@ -2560,19 +2585,33 @@
|
|
|
2560
2585
|
oy = sr.top - lr.top;
|
|
2561
2586
|
const cw = sr.width / term.cols,
|
|
2562
2587
|
ch = sr.height / term.rows;
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2569
|
-
|
|
2570
|
-
|
|
2571
|
-
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
|
|
2575
|
-
.
|
|
2588
|
+
// Anchor to OUR buffer: viewportY = top visible buffer line, myLast = bottom
|
|
2589
|
+
// buffer line. A peer's fromBottom row maps to our buffer row (myLast − fb)
|
|
2590
|
+
// then to our viewport row (− viewportY). Re-rendered on term.onScroll so the
|
|
2591
|
+
// box tracks as we move through scrollback, and clips when out of view.
|
|
2592
|
+
const ba = term.buffer && term.buffer.active;
|
|
2593
|
+
const vy = (ba && ba.viewportY) || 0;
|
|
2594
|
+
const myLast = ((ba && ba.length) || 1) - 1;
|
|
2595
|
+
const html = [];
|
|
2596
|
+
for (const p of peers) {
|
|
2597
|
+
const sel = parseSel(p.sel);
|
|
2598
|
+
if (!sel) continue;
|
|
2599
|
+
const hue = hashHue(p.viewer);
|
|
2600
|
+
const tag = esc(String(p.viewer).slice(0, 4)) + " " + (p.cols || "?") + "×" + (p.rows || "?");
|
|
2601
|
+
let tagged = false;
|
|
2602
|
+
for (const seg of selSegments(sel, myLast, vy, term.rows, p.cols || term.cols, term.cols)) {
|
|
2603
|
+
const vr = seg.row - vy; // our buffer row → our viewport row
|
|
2604
|
+
if (vr < 0 || vr > term.rows - 1) continue; // safety (selSegments already clips)
|
|
2605
|
+
const left = ox + seg.a * cw;
|
|
2606
|
+
const w = Math.max(cw, (seg.b - seg.a) * cw);
|
|
2607
|
+
const top = oy + vr * ch;
|
|
2608
|
+
const tagEl = tagged ? "" : ((tagged = true), `<span class="peer-tag">${tag}</span>`);
|
|
2609
|
+
html.push(
|
|
2610
|
+
`<div class="peer-sel" style="--ph:${hue};top:${top.toFixed(1)}px;left:${left.toFixed(1)}px;width:${w.toFixed(1)}px;height:${ch.toFixed(1)}px">${tagEl}</div>`,
|
|
2611
|
+
);
|
|
2612
|
+
}
|
|
2613
|
+
}
|
|
2614
|
+
ov.innerHTML = html.join("");
|
|
2576
2615
|
}
|
|
2577
2616
|
|
|
2578
2617
|
// Wire the ⋯ overflow menu and restore the saved HUD preference.
|
|
@@ -3230,6 +3269,9 @@
|
|
|
3230
3269
|
}).catch(() => {});
|
|
3231
3270
|
};
|
|
3232
3271
|
term.onResize(pushSize);
|
|
3272
|
+
// Scrolling through OUR scrollback moves the viewport over the buffer, so
|
|
3273
|
+
// re-place peer-selection overlays (they're anchored to absolute buffer rows).
|
|
3274
|
+
term.onScroll(() => renderPeerSelections());
|
|
3233
3275
|
// Forward everything the terminal emits to the agent stdin (raw, no
|
|
3234
3276
|
// trailing Enter): keystrokes, paste, and — when a TUI enables mouse
|
|
3235
3277
|
// tracking — click / drag-motion / wheel as SGR mouse reports. onBinary
|
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import "./ts-BurepTpP.js";
|
|
2
|
-
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-BQqv1OP1.js";
|
|
4
|
-
import "./pidStore-fqXqTKkh.js";
|
|
5
|
-
import "./globalPidIndex-DlmmJlO8.js";
|
|
6
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-lVtK6ikD.js";
|
|
7
|
-
|
|
8
|
-
export { SUPPORTED_CLIS };
|