@agentdocumentformat/cli 0.8.2 → 0.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -4
- package/dist/adf.mjs +16 -13
- package/dist/chunks/{App-4AZZJNN2.mjs → App-XOPHZTGN.mjs} +515 -349
- package/dist/chunks/{auth-manager-TBNKCJ45.mjs → auth-manager-2YHTYI3C.mjs} +2 -1
- package/dist/chunks/{build-QF5W473T.mjs → build-BFOCXM5S.mjs} +1 -1
- package/dist/chunks/{chunk-RHBGCOS3.mjs → chunk-22ZGZFOV.mjs} +5 -16
- package/dist/chunks/chunk-26RK7T5L.mjs +20 -0
- package/dist/chunks/{chunk-KCIRFUZH.mjs → chunk-2WIFHJV2.mjs} +2 -2
- package/dist/chunks/{chunk-D7A77SNL.mjs → chunk-3FWPIWYM.mjs} +1 -1
- package/dist/chunks/chunk-4T745GJA.mjs +431 -0
- package/dist/chunks/{chunk-7JZXMDDF.mjs → chunk-7ADDKFT5.mjs} +105 -31
- package/dist/chunks/chunk-A53XYNJL.mjs +26 -0
- package/dist/chunks/{chunk-MZRXFWPQ.mjs → chunk-AN6USKYQ.mjs} +40 -8
- package/dist/chunks/{chunk-2Z7X3UUR.mjs → chunk-DHO5Z6HP.mjs} +14 -12
- package/dist/chunks/{chunk-F5ELW46V.mjs → chunk-GJYMGPH4.mjs} +1 -0
- package/dist/chunks/chunk-HONGRUAE.mjs +175 -0
- package/dist/chunks/{chunk-AEAJDCVK.mjs → chunk-IM5JKLXO.mjs} +1 -1
- package/dist/chunks/chunk-J2N63ZUD.mjs +12 -0
- package/dist/chunks/{chunk-IMVMSU3A.mjs → chunk-JK6K2BMV.mjs} +12 -38
- package/dist/chunks/{chunk-75DC5EWN.mjs → chunk-KBXC5EHK.mjs} +1 -0
- package/dist/chunks/chunk-NRTRTR7C.mjs +43 -0
- package/dist/chunks/{chunk-BS3USVEA.mjs → chunk-P4G5ZEBI.mjs} +1 -1
- package/dist/chunks/{chunk-E7LC6SHP.mjs → chunk-RIAB37IS.mjs} +4 -2
- package/dist/chunks/{chunk-LVF2DRBR.mjs → chunk-TBMQOM7Y.mjs} +247 -610
- package/dist/chunks/{chunk-SOSPQPEN.mjs → chunk-TDRQG5UO.mjs} +1 -162
- package/dist/chunks/{chunk-RJDOVMM4.mjs → chunk-TPA2ITKV.mjs} +49 -33
- package/dist/chunks/{chunk-BHY7QDCM.mjs → chunk-UBWWGUMU.mjs} +1 -0
- package/dist/chunks/{chunk-3AT7IIP7.mjs → chunk-WZ6S3SQP.mjs} +1 -1
- package/dist/chunks/chunk-X6R32YVE.mjs +43 -0
- package/dist/chunks/chunk-XJWGENZ5.mjs +5903 -0
- package/dist/chunks/{chunk-F3WSCAJD.mjs → chunk-XP4U4A2W.mjs} +1 -1
- package/dist/chunks/chunk-XS46KYYY.mjs +31 -0
- package/dist/chunks/{chunk-HBOFZRUS.mjs → chunk-XZQVDY3U.mjs} +9 -1
- package/dist/chunks/chunk-ZECGH3LT.mjs +88 -0
- package/dist/chunks/{claude-subscription-EB4LAAVV.mjs → claude-subscription-42L4YM5L.mjs} +4 -3
- package/dist/chunks/{cli-PCVFB6B4.mjs → cli-JPRYEY4J.mjs} +53 -13
- package/dist/chunks/{commands-KOMPXJZS.mjs → commands-TZW2FSXG.mjs} +5 -2
- package/dist/chunks/context-AZOIJOUG.mjs +5933 -0
- package/dist/chunks/{daemon-HEQ3FUYH.mjs → daemon-DK3KUDZJ.mjs} +3571 -6806
- package/dist/chunks/{daemon-control-MKN7G5M3.mjs → daemon-control-U4OGCAAJ.mjs} +4 -4
- package/dist/chunks/{devtools-H7CI2ZVG.mjs → devtools-AUZWFIPL.mjs} +1 -1
- package/dist/chunks/firewall-service-7RGJN4LD.mjs +163 -0
- package/dist/chunks/{open-3OR6WT4T.mjs → open-T3VGLWGF.mjs} +6 -5
- package/dist/chunks/{pipeline-executor-DRYEEFDR.mjs → pipeline-executor-MHRI7ODL.mjs} +6 -3
- package/dist/chunks/{remote-access-cli-GLEEP7DI.mjs → remote-access-cli-EFVCXFOY.mjs} +22 -6
- package/dist/chunks/{store-55CQSAOX.mjs → store-37YHXFJ6.mjs} +4 -3
- package/dist/chunks/{tui-RAUVFOYY.mjs → tui-NJKGFAKU.mjs} +12 -11
- package/dist/chunks/web-F4XHDGUX.mjs +149 -0
- package/dist/chunks/{whatsapp-YJFFVN4Q.mjs → whatsapp-J7PX7TKT.mjs} +1 -1
- package/package.json +4 -3
- package/web/assets/EditorPanel-5ZGWvexa.js +161 -0
- package/web/assets/MeshGraphView-BZV40eAE.css +1 -0
- package/web/assets/MeshGraphView-Vp2R5TLK.js +23 -0
- package/web/assets/SettingsPage-_uHkBERV.js +6 -0
- package/web/assets/agent-window-B8X7FV4_.js +3 -0
- package/web/assets/agent.store-BHweGGTh.js +1 -0
- package/web/assets/app.store-j_-OuVPe.js +1 -0
- package/web/assets/core-DVezgdzc.js +12 -0
- package/web/assets/css-Z72CF80r.js +1 -0
- package/web/assets/diff-D97Zzqfu.js +1 -0
- package/web/assets/document.store-CMD3_OM0.js +1 -0
- package/web/assets/edit-recovery-Ce8tPQZl.js +3 -0
- package/web/assets/engine-javascript-CuxHA8oH.js +141 -0
- package/web/assets/github-dark-dimmed-DH5Ifo-i.js +1 -0
- package/web/assets/github-light-DAi9KRSo.js +1 -0
- package/web/assets/go-C27-OAKa.js +1 -0
- package/web/assets/html-BlS82ilI.js +1 -0
- package/web/assets/index-B5Eot_tL.js +1 -0
- package/web/assets/index-B5FYMbFc.js +3 -0
- package/web/assets/index-BQIEMvvt.js +2 -0
- package/web/assets/index-C_gf4L3q.js +1 -0
- package/web/assets/index-Ca6bEWGu.js +1 -0
- package/web/assets/index-CuTaWSEs.css +1 -0
- package/web/assets/index-DBFkrLao.js +1 -0
- package/web/assets/index-DF1leTEa.js +11 -0
- package/web/assets/index-DS9H-PJI.js +1 -0
- package/web/assets/index-DkhbLs9K.js +6 -0
- package/web/assets/index-KNnHrO8-.js +13 -0
- package/web/assets/index-nM_Q5x7Q.js +1 -0
- package/web/assets/inter-tight-cyrillic-ext-wght-italic-BJqtfpQe.woff2 +0 -0
- package/web/assets/inter-tight-cyrillic-ext-wght-normal-okcGN4Nq.woff2 +0 -0
- package/web/assets/inter-tight-cyrillic-wght-italic-HmhN1gQv.woff2 +0 -0
- package/web/assets/inter-tight-cyrillic-wght-normal-BS41q_Tv.woff2 +0 -0
- package/web/assets/inter-tight-greek-ext-wght-italic-B_3RbJza.woff2 +0 -0
- package/web/assets/inter-tight-greek-ext-wght-normal-DQgQPNk4.woff2 +0 -0
- package/web/assets/inter-tight-greek-wght-italic-Bb1BGCmL.woff2 +0 -0
- package/web/assets/inter-tight-greek-wght-normal-sS1B39LI.woff2 +0 -0
- package/web/assets/inter-tight-latin-ext-wght-italic-DYqsmiDd.woff2 +0 -0
- package/web/assets/inter-tight-latin-ext-wght-normal-B4u9PlvR.woff2 +0 -0
- package/web/assets/inter-tight-latin-wght-italic-DiXukCDG.woff2 +0 -0
- package/web/assets/inter-tight-latin-wght-normal-DX-nOvPD.woff2 +0 -0
- package/web/assets/inter-tight-vietnamese-wght-italic-CiVF0Juh.woff2 +0 -0
- package/web/assets/inter-tight-vietnamese-wght-normal-TKKdAiBA.woff2 +0 -0
- package/web/assets/javascript-wDzz0qaB.js +1 -0
- package/web/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/web/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/web/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/web/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/web/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/web/assets/json-Cp-IABpG.js +1 -0
- package/web/assets/jsx-g9-lgVsj.js +1 -0
- package/web/assets/main-Zf3qnQYd.css +1 -0
- package/web/assets/main-o2ocfqUC.js +319 -0
- package/web/assets/markdown-Cvjx9yec.js +1 -0
- package/web/assets/message-queue.store-ke_rFZAb.js +2 -0
- package/web/assets/module-RjUF93sV.js +716 -0
- package/web/assets/native-48B9X9Wg.js +1 -0
- package/web/assets/orbital-render.worker-BovOTauk.js +1 -0
- package/web/assets/python-B6aJPvgy.js +1 -0
- package/web/assets/react-D-F9gHrJ.js +1 -0
- package/web/assets/rust-DPvrY3IQ.js +1 -0
- package/web/assets/shellscript-Yzrsuije.js +1 -0
- package/web/assets/sql-DkvoVjww.js +1 -0
- package/web/assets/stix-two-text-cyrillic-wght-italic-BzL1BdzR.woff2 +0 -0
- package/web/assets/stix-two-text-cyrillic-wght-normal-CcrOj1MU.woff2 +0 -0
- package/web/assets/stix-two-text-greek-wght-italic-glgrbyRu.woff2 +0 -0
- package/web/assets/stix-two-text-greek-wght-normal-DAdwyhkq.woff2 +0 -0
- package/web/assets/stix-two-text-latin-ext-wght-italic--XhV508b.woff2 +0 -0
- package/web/assets/stix-two-text-latin-ext-wght-normal-BUpo8gM0.woff2 +0 -0
- package/web/assets/stix-two-text-latin-wght-italic-BDl6bBME.woff2 +0 -0
- package/web/assets/stix-two-text-latin-wght-normal-BTZaHlTl.woff2 +0 -0
- package/web/assets/stix-two-text-vietnamese-wght-italic-B1jFRJrJ.woff2 +0 -0
- package/web/assets/stix-two-text-vietnamese-wght-normal-CfS0RdBA.woff2 +0 -0
- package/web/assets/tsx-COt5Ahok.js +1 -0
- package/web/assets/typescript-BPQ3VLAy.js +1 -0
- package/web/assets/window-kind-mxlpdE1l.js +1 -0
- package/web/assets/with-selector-Ot-ZoUn0.js +1 -0
- package/web/assets/yaml-Buea-lGh.js +1 -0
- package/web/index.html +15 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { createRequire as __adfCreateRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __adfFileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __adfDirname } from 'node:path';
|
|
4
|
+
const require = __adfCreateRequire(import.meta.url);
|
|
5
|
+
const __filename = __adfFileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __adfDirname(__filename);
|
|
7
|
+
import {
|
|
8
|
+
__export
|
|
9
|
+
} from "./chunk-M2RX3S2T.mjs";
|
|
10
|
+
|
|
11
|
+
// src/shared/types/resource-revision.types.ts
|
|
12
|
+
var resource_revision_types_exports = {};
|
|
13
|
+
__export(resource_revision_types_exports, {
|
|
14
|
+
describeWriter: () => describeWriter
|
|
15
|
+
});
|
|
16
|
+
function describeWriter(writer) {
|
|
17
|
+
if (!writer) return "someone else";
|
|
18
|
+
switch (writer.kind) {
|
|
19
|
+
case "agent":
|
|
20
|
+
return "the agent";
|
|
21
|
+
case "cli":
|
|
22
|
+
return "the CLI or another API client";
|
|
23
|
+
case "client":
|
|
24
|
+
return writer.client === "studio" ? "another Studio window" : writer.client === "tui" ? "the terminal app" : `another client (${writer.client})`;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
describeWriter,
|
|
30
|
+
resource_revision_types_exports
|
|
31
|
+
};
|
|
@@ -4,6 +4,11 @@ import { dirname as __adfDirname } from 'node:path';
|
|
|
4
4
|
const require = __adfCreateRequire(import.meta.url);
|
|
5
5
|
const __filename = __adfFileURLToPath(import.meta.url);
|
|
6
6
|
const __dirname = __adfDirname(__filename);
|
|
7
|
+
import {
|
|
8
|
+
assertSafeBrotliRuntime,
|
|
9
|
+
brotliRuntimeVerdict,
|
|
10
|
+
refusalMessage
|
|
11
|
+
} from "./chunk-ZECGH3LT.mjs";
|
|
7
12
|
import {
|
|
8
13
|
external_exports
|
|
9
14
|
} from "./chunk-ZJKXHM4Q.mjs";
|
|
@@ -388,6 +393,7 @@ function pinnedRequest(url, method, headers, body, signal, guard) {
|
|
|
388
393
|
}
|
|
389
394
|
function pinnedFetch(guard, opts = {}) {
|
|
390
395
|
return (async (input, init) => {
|
|
396
|
+
assertSafeBrotliRuntime();
|
|
391
397
|
let policy = typeof guard == "function" ? guard() : guard, request = new Request(input, init?.body != null ? { ...init, duplex: "half" } : init), signal = request.signal, stopIfAborted = () => {
|
|
392
398
|
if (signal.aborted) throw abortReason(signal);
|
|
393
399
|
};
|
|
@@ -459,7 +465,9 @@ async function readCapped(response, maxBytes) {
|
|
|
459
465
|
return Buffer.concat(chunks);
|
|
460
466
|
}
|
|
461
467
|
async function guardedFetch(url, options) {
|
|
462
|
-
let { maxBytes, timeoutMs } = options, maxRedirects = options.maxRedirects ?? MAX_FETCH_REDIRECTS,
|
|
468
|
+
let { maxBytes, timeoutMs } = options, maxRedirects = options.maxRedirects ?? MAX_FETCH_REDIRECTS, runtime = brotliRuntimeVerdict();
|
|
469
|
+
if (!runtime.safe) return { error: refusalMessage(runtime) };
|
|
470
|
+
let daemonPort = daemonGuardPort(), current;
|
|
463
471
|
try {
|
|
464
472
|
current = new URL(url).toString();
|
|
465
473
|
} catch {
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { createRequire as __adfCreateRequire } from 'node:module';
|
|
2
|
+
import { fileURLToPath as __adfFileURLToPath } from 'node:url';
|
|
3
|
+
import { dirname as __adfDirname } from 'node:path';
|
|
4
|
+
const require = __adfCreateRequire(import.meta.url);
|
|
5
|
+
const __filename = __adfFileURLToPath(import.meta.url);
|
|
6
|
+
const __dirname = __adfDirname(__filename);
|
|
7
|
+
import {
|
|
8
|
+
compareVersions
|
|
9
|
+
} from "./chunk-26RK7T5L.mjs";
|
|
10
|
+
import {
|
|
11
|
+
__require
|
|
12
|
+
} from "./chunk-M2RX3S2T.mjs";
|
|
13
|
+
|
|
14
|
+
// src/main/utils/brotli-runtime-guard.ts
|
|
15
|
+
import { constants as zlibConstants } from "node:zlib";
|
|
16
|
+
var SAFE_NODE_RANGE = "^22.23.4 || ^24.22.1 || ^26.12.1", NODE_FLOORS = {
|
|
17
|
+
22: "22.23.4",
|
|
18
|
+
24: "24.22.1",
|
|
19
|
+
26: "26.12.1"
|
|
20
|
+
}, LAST_TESTED_NODE_MAJOR = 26, ELECTRON_FLOOR = "42.0.0", CHROMIUM_FLOOR = "148.0.7751.0", BLOCK_SWITCH_ERRNO = -17, NODE_REMEDY = `Install Node.js 22.23.4+, 24.22.1+ or 26.12.1+ (${SAFE_NODE_RANGE}) from https://nodejs.org and run adf again.`, ELECTRON_REMEDY = "Update ADF Studio to the latest release; from source, run `npm ci` so node_modules has the locked Electron.";
|
|
21
|
+
function parseVersion(text) {
|
|
22
|
+
let m = /^v?((\d+)\.\d+\.\d+)(-[0-9A-Za-z.-]+)?(\+[0-9A-Za-z.-]+)?$/.exec(text ?? "");
|
|
23
|
+
return m ? { v: m[1], major: Number(m[2]), pre: m[3] !== void 0 } : null;
|
|
24
|
+
}
|
|
25
|
+
function atLeast(a, floor) {
|
|
26
|
+
let d = compareVersions(a.v, floor);
|
|
27
|
+
return d > 0 || d === 0 && !a.pre;
|
|
28
|
+
}
|
|
29
|
+
function chromiumAtLeastFloor(text) {
|
|
30
|
+
return /^\d+\.\d+\.\d+\.\d+$/.test(text ?? "") && compareVersions(text, CHROMIUM_FLOOR) >= 0;
|
|
31
|
+
}
|
|
32
|
+
function evaluateBrotliRuntime(facts) {
|
|
33
|
+
let { versions } = facts;
|
|
34
|
+
if (versions.electron !== void 0) {
|
|
35
|
+
let runtime2 = `Electron ${versions.electron} (Chromium ${versions.chrome ?? "unknown"})`, electron = parseVersion(versions.electron);
|
|
36
|
+
return !electron || electron.pre || !atLeast(electron, ELECTRON_FLOOR) || !chromiumAtLeastFloor(versions.chrome) ? { safe: !1, runtime: runtime2, reason: `its Chromium Brotli decoder is not one verified to have the CVE-2026-111497 fix (needs a stable Electron ${ELECTRON_FLOOR}+ on Chromium ${CHROMIUM_FLOOR}+)`, remedy: ELECTRON_REMEDY } : { safe: !0, runtime: runtime2 };
|
|
37
|
+
}
|
|
38
|
+
if (versions.bun !== void 0 || versions.deno !== void 0)
|
|
39
|
+
return { safe: !1, runtime: versions.bun !== void 0 ? `Bun ${versions.bun}` : `Deno ${versions.deno}`, reason: "its Brotli decoder has not been verified against CVE-2026-111497", remedy: NODE_REMEDY };
|
|
40
|
+
let runtime = `Node.js ${versions.node ?? "unknown"}`, node = parseVersion(versions.node);
|
|
41
|
+
if (!node) return { safe: !1, runtime, reason: "its version could not be read", remedy: NODE_REMEDY };
|
|
42
|
+
if (node.pre) return { safe: !1, runtime, reason: "it is a prerelease build, which is not verified against CVE-2026-111497", remedy: NODE_REMEDY };
|
|
43
|
+
let { major } = node;
|
|
44
|
+
if (major > LAST_TESTED_NODE_MAJOR)
|
|
45
|
+
return { safe: !1, runtime, reason: `ADF is not tested on Node.js ${major}.x yet`, remedy: NODE_REMEDY };
|
|
46
|
+
let floor = NODE_FLOORS[major];
|
|
47
|
+
if (!floor || !atLeast(node, floor)) {
|
|
48
|
+
let why = floor ? `the Brotli decoder in Node.js ${major}.x is fixed from ${floor} on` : `Node.js ${major}.x never received the fix`;
|
|
49
|
+
return { safe: !1, runtime, reason: `it is vulnerable to CVE-2026-111497 (Brotli decoder out-of-bounds write): ${why}`, remedy: NODE_REMEDY };
|
|
50
|
+
}
|
|
51
|
+
return facts.blockSwitchErrno !== BLOCK_SWITCH_ERRNO ? { safe: !1, runtime, reason: "its zlib lacks the fixed Brotli decoder (no BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH), so it is not an official fixed build", remedy: NODE_REMEDY } : { safe: !0, runtime };
|
|
52
|
+
}
|
|
53
|
+
function currentFacts() {
|
|
54
|
+
let constants = zlibConstants;
|
|
55
|
+
return { versions: process.versions, blockSwitchErrno: constants.BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH };
|
|
56
|
+
}
|
|
57
|
+
function refusalMessage(verdict) {
|
|
58
|
+
return `ADF refuses to run on ${verdict.runtime}: ${verdict.reason}. ${verdict.remedy}`;
|
|
59
|
+
}
|
|
60
|
+
var UnsafeBrotliRuntimeError = class extends Error {
|
|
61
|
+
code = "ADF_UNSAFE_BROTLI_RUNTIME";
|
|
62
|
+
}, cached;
|
|
63
|
+
function brotliRuntimeVerdict() {
|
|
64
|
+
return cached ??= evaluateBrotliRuntime(currentFacts());
|
|
65
|
+
}
|
|
66
|
+
function assertSafeBrotliRuntime() {
|
|
67
|
+
let verdict = brotliRuntimeVerdict();
|
|
68
|
+
if (!verdict.safe) throw new UnsafeBrotliRuntimeError(refusalMessage(verdict));
|
|
69
|
+
}
|
|
70
|
+
function exitIfUnsafeBrotliRuntime() {
|
|
71
|
+
let verdict = brotliRuntimeVerdict();
|
|
72
|
+
if (verdict.safe) return;
|
|
73
|
+
let message = refusalMessage(verdict);
|
|
74
|
+
if (process.stderr.write(`${message}
|
|
75
|
+
`), process.versions.electron !== void 0 && process.type === "browser")
|
|
76
|
+
try {
|
|
77
|
+
__require("electron").dialog?.showErrorBox("ADF Studio cannot start", message);
|
|
78
|
+
} catch {
|
|
79
|
+
}
|
|
80
|
+
process.exit(1);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export {
|
|
84
|
+
refusalMessage,
|
|
85
|
+
brotliRuntimeVerdict,
|
|
86
|
+
assertSafeBrotliRuntime,
|
|
87
|
+
exitIfUnsafeBrotliRuntime
|
|
88
|
+
};
|
|
@@ -8,15 +8,16 @@ import {
|
|
|
8
8
|
CLAUDE_SUBSCRIPTION_MODELS,
|
|
9
9
|
createClaudeSubscriptionProvider,
|
|
10
10
|
listClaudeSubscriptionModels
|
|
11
|
-
} from "./chunk-
|
|
12
|
-
import "./chunk-
|
|
11
|
+
} from "./chunk-2WIFHJV2.mjs";
|
|
12
|
+
import "./chunk-RIAB37IS.mjs";
|
|
13
13
|
import "./chunk-NZ7JTHEO.mjs";
|
|
14
14
|
import "./chunk-JZFONJSL.mjs";
|
|
15
15
|
import "./chunk-TKXIH27X.mjs";
|
|
16
16
|
import "./chunk-LKFHERRV.mjs";
|
|
17
17
|
import {
|
|
18
18
|
getClaudeAuthManager
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-AN6USKYQ.mjs";
|
|
20
|
+
import "./chunk-26RK7T5L.mjs";
|
|
20
21
|
import "./chunk-BR3AD5QZ.mjs";
|
|
21
22
|
import "./chunk-ZJKXHM4Q.mjs";
|
|
22
23
|
import "./chunk-RIX34QHC.mjs";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
normalizeAuthProvider,
|
|
13
13
|
openBrowser,
|
|
14
14
|
submitClaudeCode
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-UBWWGUMU.mjs";
|
|
16
16
|
import {
|
|
17
17
|
MdnsService
|
|
18
18
|
} from "./chunk-DDTTSKGG.mjs";
|
|
@@ -33,8 +33,8 @@ import {
|
|
|
33
33
|
} from "./chunk-M2F7C2UJ.mjs";
|
|
34
34
|
import {
|
|
35
35
|
daemonPaths
|
|
36
|
-
} from "./chunk-
|
|
37
|
-
import "./chunk-
|
|
36
|
+
} from "./chunk-22ZGZFOV.mjs";
|
|
37
|
+
import "./chunk-3FWPIWYM.mjs";
|
|
38
38
|
import {
|
|
39
39
|
DEFAULT_DAEMON_PORT,
|
|
40
40
|
DEFAULT_DAEMON_URL,
|
|
@@ -58,8 +58,8 @@ import {
|
|
|
58
58
|
storeRemoteToken,
|
|
59
59
|
tunnelTokenHint,
|
|
60
60
|
updateRemotes
|
|
61
|
-
} from "./chunk-
|
|
62
|
-
import "./chunk-
|
|
61
|
+
} from "./chunk-IM5JKLXO.mjs";
|
|
62
|
+
import "./chunk-P4G5ZEBI.mjs";
|
|
63
63
|
import "./chunk-WJGPNHGX.mjs";
|
|
64
64
|
import "./chunk-PAK5JCO2.mjs";
|
|
65
65
|
import "./chunk-ZPB3HYM7.mjs";
|
|
@@ -531,7 +531,7 @@ function tuiInvocation(argv) {
|
|
|
531
531
|
return argv.filter((a) => a !== "--json");
|
|
532
532
|
}
|
|
533
533
|
async function defaultLaunchTui(argv) {
|
|
534
|
-
let { runTui } = await import("./tui-
|
|
534
|
+
let { runTui } = await import("./tui-NJKGFAKU.mjs");
|
|
535
535
|
return await runTui(argv);
|
|
536
536
|
}
|
|
537
537
|
function urlFromArgv(argv, env) {
|
|
@@ -561,6 +561,10 @@ async function pinnedRemoteOk(io, url, explicitToken) {
|
|
|
561
561
|
`), refusal === null;
|
|
562
562
|
}
|
|
563
563
|
async function runCli(argv = process.argv.slice(2), io = defaultIo) {
|
|
564
|
+
if (argv[0] === "web") {
|
|
565
|
+
let { runWebCommand } = await import("./web-F4XHDGUX.mjs");
|
|
566
|
+
return runWebCommand(argv.slice(1), io);
|
|
567
|
+
}
|
|
564
568
|
let tuiArgv = tuiInvocation(argv);
|
|
565
569
|
if (tuiArgv) {
|
|
566
570
|
let wantsHelp = tuiArgv.includes("--help") || tuiArgv.includes("-h"), tuiUrl = "";
|
|
@@ -591,7 +595,17 @@ async function runCli(argv = process.argv.slice(2), io = defaultIo) {
|
|
|
591
595
|
${usage()}
|
|
592
596
|
`), 2;
|
|
593
597
|
}
|
|
594
|
-
let { command, args } = parsed
|
|
598
|
+
let { command, args } = parsed;
|
|
599
|
+
if (command === "web") {
|
|
600
|
+
let { runWebCommand } = await import("./web-F4XHDGUX.mjs");
|
|
601
|
+
return runWebCommand([
|
|
602
|
+
...args,
|
|
603
|
+
...parsed.explicitUrl ? ["--url", parsed.explicitUrl] : [],
|
|
604
|
+
...parsed.options.token ? ["--token", parsed.options.token] : [],
|
|
605
|
+
...parsed.options.json ? ["--json"] : []
|
|
606
|
+
], io);
|
|
607
|
+
}
|
|
608
|
+
let talksToDaemon = !["help", "--help", "-h", "pair", "remotes"].includes(command), options;
|
|
595
609
|
try {
|
|
596
610
|
let env = io.env ?? process.env;
|
|
597
611
|
options = { ...parsed.options, env, daemonUrl: talksToDaemon ? resolveDaemonUrl(parsed.explicitUrl ?? void 0, env) : "" };
|
|
@@ -794,6 +808,16 @@ function takeLoop(args) {
|
|
|
794
808
|
}
|
|
795
809
|
return { loop: loop && loop !== "main" ? loop : void 0, rest };
|
|
796
810
|
}
|
|
811
|
+
function takeAnswersFlag(args) {
|
|
812
|
+
let rest = [], answers;
|
|
813
|
+
for (let i = 0; i < args.length; i++) {
|
|
814
|
+
let arg = args[i];
|
|
815
|
+
if (arg === "--answers") {
|
|
816
|
+
if (answers = args[++i], answers === void 0) throw new Error("--answers requires a JSON array");
|
|
817
|
+
} else arg.startsWith("--answers=") ? answers = arg.slice(10) : rest.push(arg);
|
|
818
|
+
}
|
|
819
|
+
return { answers, rest };
|
|
820
|
+
}
|
|
797
821
|
function takeAttachments(args) {
|
|
798
822
|
let rest = [], files = [];
|
|
799
823
|
for (let i = 0; i < args.length; i++) {
|
|
@@ -871,13 +895,23 @@ async function resolveTask(io, options, args, action) {
|
|
|
871
895
|
return io.stdout(options.json ? `${JSON.stringify(data, null, 2)}
|
|
872
896
|
` : formatTaskResolution(action, taskId, data)), 0;
|
|
873
897
|
}
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
898
|
+
var ANSWER_USAGE = "Usage: adf answer <agent> <requestId> [--loop <name>] <answer>, or --answers '<json array>' for a form";
|
|
899
|
+
async function answerAsk(io, options, argv) {
|
|
900
|
+
let { loop, rest: afterLoop } = takeLoop(argv), { answers: answersJson, rest: args } = takeAnswersFlag(afterLoop), agent = args[0], requestId = args[1], text = args.slice(2).join(" ");
|
|
901
|
+
if (!agent || !requestId || answersJson === void 0 == !text) throw new Error(ANSWER_USAGE);
|
|
902
|
+
let answers;
|
|
903
|
+
if (answersJson !== void 0)
|
|
904
|
+
try {
|
|
905
|
+
answers = JSON.parse(answersJson);
|
|
906
|
+
} catch {
|
|
907
|
+
throw new Error(`--answers is not valid JSON. ${ANSWER_USAGE}`);
|
|
908
|
+
}
|
|
909
|
+
else
|
|
910
|
+
answers = [text];
|
|
877
911
|
let data = await requestJson(io, options, `/agents/${enc(agent)}/asks/${enc(requestId)}/respond`, {
|
|
878
912
|
method: "POST",
|
|
879
913
|
headers: { "Content-Type": "application/json" },
|
|
880
|
-
body: JSON.stringify({
|
|
914
|
+
body: JSON.stringify({ answers, ...loop ? { loop } : {} })
|
|
881
915
|
});
|
|
882
916
|
return io.stdout(options.json ? `${JSON.stringify(data, null, 2)}
|
|
883
917
|
` : `Answered ${requestId}
|
|
@@ -1664,6 +1698,7 @@ that off). Quitting leaves it running. Another local port, such as an SSH
|
|
|
1664
1698
|
tunnel, is never auto-started and needs --token.
|
|
1665
1699
|
|
|
1666
1700
|
Commands:
|
|
1701
|
+
web [--port <n>] Open Browser Studio already signed in (no desktop app needed)
|
|
1667
1702
|
tui The terminal app (the default)
|
|
1668
1703
|
agents List loaded agents
|
|
1669
1704
|
status <agent> Show runtime status
|
|
@@ -1710,8 +1745,13 @@ Commands:
|
|
|
1710
1745
|
approve <agent> <taskId> Approve a pending task
|
|
1711
1746
|
deny <agent> <taskId> [reason] Deny a pending task
|
|
1712
1747
|
asks <agent> List pending ask requests
|
|
1713
|
-
answer <agent> <requestId> <answer>
|
|
1714
|
-
Answer a pending ask
|
|
1748
|
+
answer <agent> <requestId> [--loop <name>] <answer>
|
|
1749
|
+
Answer a pending one-question ask
|
|
1750
|
+
answer <agent> <requestId> [--loop <name>] --answers '<json>'
|
|
1751
|
+
Answer an ask form: a JSON array with one
|
|
1752
|
+
entry per question, in order: text or an
|
|
1753
|
+
option label, an array of labels for a
|
|
1754
|
+
multi-pick question, or null to skip
|
|
1715
1755
|
identities <agent> List identity metadata without secret values
|
|
1716
1756
|
mcp [agent] Show daemon MCP registrations or agent MCP state
|
|
1717
1757
|
adapters [agent] Show daemon adapter registrations or agent adapter state
|
|
@@ -9,10 +9,13 @@ import {
|
|
|
9
9
|
getCommand,
|
|
10
10
|
hasCommand,
|
|
11
11
|
registry
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-TBMQOM7Y.mjs";
|
|
13
|
+
import "./chunk-4T745GJA.mjs";
|
|
14
|
+
import "./chunk-RIAB37IS.mjs";
|
|
14
15
|
import "./chunk-3GNIDM53.mjs";
|
|
15
16
|
import "./chunk-LKFHERRV.mjs";
|
|
17
|
+
import "./chunk-ZECGH3LT.mjs";
|
|
18
|
+
import "./chunk-26RK7T5L.mjs";
|
|
16
19
|
import "./chunk-BR3AD5QZ.mjs";
|
|
17
20
|
import "./chunk-M2RX3S2T.mjs";
|
|
18
21
|
export {
|