@agentdocumentformat/cli 0.7.8 → 0.8.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.
Files changed (103) hide show
  1. package/README.md +1 -1
  2. package/dist/adf.mjs +59 -8
  3. package/dist/chunks/{APEv2Parser-2CNNHMXV.mjs → APEv2Parser-WIXRJLHB.mjs} +2 -2
  4. package/dist/chunks/{AiffParser-7BR4RL6G.mjs → AiffParser-ZC4QFOVJ.mjs} +5 -5
  5. package/dist/chunks/{App-7RIIOHJJ.mjs → App-4AZZJNN2.mjs} +917 -826
  6. package/dist/chunks/{DsdiffParser-CMD4AX7A.mjs → DsdiffParser-UAPAJHFX.mjs} +5 -5
  7. package/dist/chunks/{DsfParser-UOGZDS2M.mjs → DsfParser-NNYZK2QX.mjs} +6 -6
  8. package/dist/chunks/{FlacParser-HB3T3CD4.mjs → FlacParser-MW2W4LO3.mjs} +6 -6
  9. package/dist/chunks/{MP4Parser-66HBRUSX.mjs → MP4Parser-Z57SYOOQ.mjs} +4 -4
  10. package/dist/chunks/{MpegParser-YW6LIUEW.mjs → MpegParser-XIIPAZVM.mjs} +7 -7
  11. package/dist/chunks/{MusepackParser-PAUSXP7D.mjs → MusepackParser-QWNDEYHJ.mjs} +6 -6
  12. package/dist/chunks/{OggParser-NUBV3GWC.mjs → OggParser-WRX53F77.mjs} +9 -9
  13. package/dist/chunks/{WavPackParser-WQAGT7TC.mjs → WavPackParser-MJ7WCSJ5.mjs} +2 -2
  14. package/dist/chunks/{WaveParser-EWLQVDX4.mjs → WaveParser-RAVLHZ5S.mjs} +7 -7
  15. package/dist/chunks/{adf-schema-US4NFHMR.mjs → adf-schema-AIPBQTR2.mjs} +9 -3
  16. package/dist/chunks/auth-manager-AJ32FZWS.mjs +19 -0
  17. package/dist/chunks/auth-manager-C5OBEQK2.mjs +18 -0
  18. package/dist/chunks/auth-manager-TBNKCJ45.mjs +17 -0
  19. package/dist/chunks/{chatgpt-subscription-E4MXTIAT.mjs → chatgpt-subscription-MMGNW5KJ.mjs} +5 -2
  20. package/dist/chunks/chunk-2Z7X3UUR.mjs +678 -0
  21. package/dist/chunks/chunk-3UGZFWIF.mjs +26 -0
  22. package/dist/chunks/{chunk-XNPZBLYL.mjs → chunk-75DC5EWN.mjs} +13 -2
  23. package/dist/chunks/{chunk-5PO5PKRV.mjs → chunk-7JZXMDDF.mjs} +158 -67
  24. package/dist/chunks/chunk-AEAJDCVK.mjs +517 -0
  25. package/dist/chunks/{chunk-6VQEXLE2.mjs → chunk-BHY7QDCM.mjs} +41 -3
  26. package/dist/chunks/{chunk-CD3ATSXE.mjs → chunk-BR3AD5QZ.mjs} +8 -2
  27. package/dist/chunks/chunk-BS3USVEA.mjs +301 -0
  28. package/dist/chunks/chunk-C2S64Y6F.mjs +203 -0
  29. package/dist/chunks/chunk-D7A77SNL.mjs +976 -0
  30. package/dist/chunks/chunk-DDTTSKGG.mjs +2443 -0
  31. package/dist/chunks/{chunk-VAUOM3IN.mjs → chunk-DLWCKKIO.mjs} +1 -1
  32. package/dist/chunks/{chunk-G6PH7RPW.mjs → chunk-E7LC6SHP.mjs} +3 -3
  33. package/dist/chunks/{chunk-ZESQMP66.mjs → chunk-F3WSCAJD.mjs} +3 -3
  34. package/dist/chunks/{chunk-KXEF4F4E.mjs → chunk-GAZO6UMI.mjs} +1 -1
  35. package/dist/chunks/{chunk-XYTWGHFS.mjs → chunk-H3XLRWVE.mjs} +1 -1
  36. package/dist/chunks/{chunk-7T2YMTWL.mjs → chunk-H4C65MTP.mjs} +4 -4
  37. package/dist/chunks/chunk-HBOFZRUS.mjs +738 -0
  38. package/dist/chunks/{chunk-VN7UH7I5.mjs → chunk-IMVMSU3A.mjs} +251 -68
  39. package/dist/chunks/{chunk-XYV3VCIX.mjs → chunk-JZFONJSL.mjs} +79 -20
  40. package/dist/chunks/chunk-KCIRFUZH.mjs +12799 -0
  41. package/dist/chunks/chunk-KDDVQKCG.mjs +65 -0
  42. package/dist/chunks/chunk-KRPKWOMB.mjs +290 -0
  43. package/dist/chunks/chunk-LKFHERRV.mjs +145 -0
  44. package/dist/chunks/chunk-LTX74NU6.mjs +29 -0
  45. package/dist/chunks/{chunk-HSBV6YFU.mjs → chunk-LVF2DRBR.mjs} +634 -99
  46. package/dist/chunks/chunk-M2F7C2UJ.mjs +425 -0
  47. package/dist/chunks/{chunk-62NE4LG4.mjs → chunk-MQAMI5BF.mjs} +5 -5
  48. package/dist/chunks/chunk-MZRXFWPQ.mjs +278 -0
  49. package/dist/chunks/{chunk-PRMGZZM5.mjs → chunk-NZLEPJ5M.mjs} +2 -0
  50. package/dist/chunks/{chunk-I3UYSITV.mjs → chunk-O7XKQ6CH.mjs} +1 -1
  51. package/dist/chunks/chunk-P3RG5LQA.mjs +244 -0
  52. package/dist/chunks/chunk-PAK5JCO2.mjs +48 -0
  53. package/dist/chunks/chunk-PC63YFB7.mjs +34 -0
  54. package/dist/chunks/{daemon-control-HKFVSQTQ.mjs → chunk-RHBGCOS3.mjs} +67 -26
  55. package/dist/chunks/{chunk-J74STFKE.mjs → chunk-RJDOVMM4.mjs} +362 -58
  56. package/dist/chunks/{chunk-QPLEAE6V.mjs → chunk-SOSPQPEN.mjs} +167 -650
  57. package/dist/chunks/{chunk-LFMB4PAA.mjs → chunk-TKXIH27X.mjs} +974 -113
  58. package/dist/chunks/{chunk-5W7KES6P.mjs → chunk-UZPDETEU.mjs} +1 -1
  59. package/dist/chunks/chunk-V3MM6PCH.mjs +366 -0
  60. package/dist/chunks/chunk-VENQBMOA.mjs +62 -0
  61. package/dist/chunks/chunk-WJGPNHGX.mjs +67 -0
  62. package/dist/chunks/{chunk-Y5ZLKFLE.mjs → chunk-XNNJQCZP.mjs} +196 -165
  63. package/dist/chunks/{chunk-HDBPBORT.mjs → chunk-YRBFIDLB.mjs} +46 -10
  64. package/dist/chunks/{chunk-BNXUAOO4.mjs → chunk-ZGXUOAWZ.mjs} +3186 -959
  65. package/dist/chunks/chunk-ZPB3HYM7.mjs +45 -0
  66. package/dist/chunks/claude-subscription-EB4LAAVV.mjs +29 -0
  67. package/dist/chunks/{cli-NMFIAR7Z.mjs → cli-PCVFB6B4.mjs} +797 -56
  68. package/dist/chunks/{commands-KPJWFRUE.mjs → commands-KOMPXJZS.mjs} +4 -3
  69. package/dist/chunks/{daemon-YDIK3AAM.mjs → daemon-BVDB565V.mjs} +83142 -64424
  70. package/dist/chunks/daemon-control-MKN7G5M3.mjs +59 -0
  71. package/dist/chunks/{daemon-token-WRSULP7G.mjs → daemon-token-L5QKTHU5.mjs} +3 -1
  72. package/dist/chunks/{discord-DSP4HUWI.mjs → discord-IR62565M.mjs} +3 -52
  73. package/dist/chunks/{email-BRG7KUO2.mjs → email-KHHTJBDW.mjs} +4 -2
  74. package/dist/chunks/{grok-subscription-4PYX7TBF.mjs → grok-subscription-E74FS5EG.mjs} +5 -2
  75. package/dist/chunks/{layout-EPJQNFAI.mjs → layout-ECWGJF6M.mjs} +2 -2
  76. package/dist/chunks/{lib-N7FCZWKH.mjs → lib-L27L5PXM.mjs} +22 -22
  77. package/dist/chunks/{open-VAU7PXT6.mjs → open-3OR6WT4T.mjs} +6 -6
  78. package/dist/chunks/{parser-JVY2PWSM.mjs → parser-7GARNT5L.mjs} +1 -1
  79. package/dist/chunks/{pipeline-executor-O77NTGLP.mjs → pipeline-executor-DRYEEFDR.mjs} +6 -5
  80. package/dist/chunks/prompt-RRHZX4YT.mjs +13 -0
  81. package/dist/chunks/remote-access-cli-GLEEP7DI.mjs +268 -0
  82. package/dist/chunks/remote-hello-UFWUBDQI.mjs +37 -0
  83. package/dist/chunks/sdk-OJOAF4DP.mjs +30014 -0
  84. package/dist/chunks/{slack-OCNNF4DX.mjs → slack-IYC5RAB5.mjs} +3 -4
  85. package/dist/chunks/{store-HUVDJPYN.mjs → store-55CQSAOX.mjs} +7 -3
  86. package/dist/chunks/tailscale-WLJATFMB.mjs +25 -0
  87. package/dist/chunks/{theme-SFE3JMA2.mjs → theme-HLBDTF6F.mjs} +1 -1
  88. package/dist/chunks/{themes-YLXLOIJF.mjs → themes-BQ72P446.mjs} +2 -2
  89. package/dist/chunks/{token-6G3HCMNX.mjs → token-6D22WECM.mjs} +20 -16
  90. package/dist/chunks/{token-util-UXYSDQIW.mjs → token-util-YF3ZWBZ4.mjs} +1 -2
  91. package/dist/chunks/{tui-UQJLK7XI.mjs → tui-RAUVFOYY.mjs} +21 -18
  92. package/dist/chunks/{welcome-XHXFV7SH.mjs → welcome-J5JZZAM5.mjs} +1 -1
  93. package/dist/chunks/{whatsapp-AJMRQBT7.mjs → whatsapp-YJFFVN4Q.mjs} +9 -9
  94. package/package.json +1 -1
  95. package/dist/chunks/chunk-GKKCMXIZ.mjs +0 -94
  96. package/dist/chunks/chunk-IHDDCZBS.mjs +0 -112
  97. package/dist/chunks/chunk-KWFOS5WC.mjs +0 -41
  98. package/dist/chunks/chunk-UEZR2CNS.mjs +0 -65
  99. package/dist/chunks/chunk-VMHTYDH4.mjs +0 -172
  100. package/dist/chunks/chunk-Y2QA53AN.mjs +0 -259
  101. package/dist/chunks/{chunk-NBTUWMGP.mjs → chunk-2MTE22CR.mjs} +3 -3
  102. package/dist/chunks/{chunk-APRU6PHC.mjs → chunk-JZ7AQNPM.mjs} +3 -3
  103. package/dist/chunks/{telegram-2EFGKIVK.mjs → telegram-JYY2VDTI.mjs} +5 -5
package/README.md CHANGED
@@ -34,7 +34,7 @@ In the terminal app (a welcome checklist opens on first run):
34
34
 
35
35
  ```text
36
36
  /identity create # your owner identity: 12 words, the same as in ADF Studio
37
- /login chatgpt # or /login grok, or /provider add for an API key
37
+ /login chatgpt # or /login grok, /login claude, or /provider add for an API key
38
38
  /new # create an agent; its chat opens
39
39
  /loop new consolidator # optional: an inner loop that tidies memory nightly
40
40
  ```
package/dist/adf.mjs CHANGED
@@ -9,13 +9,16 @@ import "./chunks/chunk-M2RX3S2T.mjs";
9
9
 
10
10
  // src/main/cli/bin.ts
11
11
  function version() {
12
- return "0.7.8";
12
+ return "0.8.1";
13
13
  }
14
14
  var DAEMON_HELP = `Usage: adf daemon [--port <n>] [--host <h>] [--settings <file>]
15
15
  adf daemon start [--port <n>] [--force]
16
16
  adf daemon status | stop | restart [--port <n>]
17
17
  adf daemon logs [-f] [-n <lines>] [--port <n>]
18
18
  adf daemon token
19
+ adf daemon remote on [--name <name>] | off | status | trust | untrust | serve on|off
20
+ adf daemon devices [list | add <label> | revoke <id|label>]
21
+ adf daemon pair
19
22
 
20
23
  Without a subcommand the daemon runs in the foreground (Ctrl+C stops it).
21
24
  start runs it in the background, like adf does on its own when it needs one;
@@ -30,6 +33,12 @@ ADF_DAEMON_TOKEN overrides the file, and is required with a non-loopback
30
33
  Behind a reverse proxy on this host set ADF_DAEMON_BEHIND_PROXY=1: identity
31
34
  secrets and stop then work only from adf on this host, against its loopback port.
32
35
 
36
+ remote on (remote access) does this without any of that: the daemon
37
+ listens on this computer's private-network and Tailscale addresses too (no
38
+ restart), and each other computer gets its own device token (pair, or
39
+ devices add). A device token is as powerful as your owner seed phrase.
40
+ See adf daemon remote --help.
41
+
33
42
  Environment: ADF_DAEMON_PORT, ADF_DAEMON_HOST, ADF_DAEMON_SETTINGS,
34
43
  ADF_USER_DATA_DIR, ADF_DAEMON_PIDFILE, ADF_DAEMON_TOKEN,
35
44
  ADF_DAEMON_ALLOWED_HOSTS, ADF_DAEMON_BEHIND_PROXY`;
@@ -48,11 +57,15 @@ function applyDaemonArgs(args, env = process.env) {
48
57
  ${DAEMON_HELP}`);
49
58
  }
50
59
  }
51
- var DAEMON_SUBCOMMANDS = /* @__PURE__ */ new Set(["start", "status", "stop", "restart", "logs", "token"]);
60
+ var DAEMON_SUBCOMMANDS = /* @__PURE__ */ new Set(["start", "status", "stop", "restart", "logs", "token", "remote", "devices", "pair"]);
52
61
  async function daemonSubcommand(sub, args) {
53
- let control = await import("./chunks/daemon-control-HKFVSQTQ.mjs"), out = (text) => {
62
+ let control = await import("./chunks/daemon-control-MKN7G5M3.mjs"), out = (text) => {
54
63
  process.stdout.write(text);
55
- }, { url, rest } = control.daemonUrlFrom(args), target = control.daemonTarget(url), force = rest.includes("--force"), start = async () => {
64
+ }, { url, rest } = control.daemonUrlFrom(args), target = control.daemonTarget(url), force = rest.includes("--force"), refusal = sub === "logs" || sub === "token" ? null : control.hostOnlyRefusal(sub, target);
65
+ if (refusal)
66
+ return process.stderr.write(`${refusal}
67
+ `), 2;
68
+ let start = async () => {
56
69
  if (await control.isHealthy(target.url))
57
70
  return out(`The ADF daemon is already running at ${target.url}.
58
71
  `), 0;
@@ -96,11 +109,38 @@ ${advice ? `${advice}
96
109
  return process.stderr.write(`(from ADF_DAEMON_TOKEN)
97
110
  `), out(`${process.env.ADF_DAEMON_TOKEN}
98
111
  `), 0;
99
- let { ensureDaemonToken } = await import("./chunks/daemon-token-WRSULP7G.mjs"), { token, path } = ensureDaemonToken(control.daemonPaths(target.port).dataDir);
112
+ let { ensureDaemonToken } = await import("./chunks/daemon-token-L5QKTHU5.mjs"), { token, path } = ensureDaemonToken(control.daemonPaths(target.port).dataDir);
100
113
  return process.stderr.write(`(${path})
101
114
  `), out(`${token}
102
115
  `), 0;
103
116
  }
117
+ case "remote":
118
+ case "devices":
119
+ case "pair": {
120
+ let turningOn = sub === "remote" && rest[0] === "on";
121
+ if (!(rest.includes("--help") || rest.includes("-h")) && !await control.isHealthy(target.url)) {
122
+ if (!turningOn)
123
+ return process.stderr.write(`The ADF daemon is not running at ${target.url}; remote access works only while it runs. Start it with: adf daemon start
124
+ `), 3;
125
+ if (await start() !== 0) return 1;
126
+ }
127
+ let [{ runHostRemoteCommand }, { stdinPrompt }] = await Promise.all([import("./chunks/remote-access-cli-GLEEP7DI.mjs"), import("./chunks/prompt-RRHZX4YT.mjs")]), prompt = stdinPrompt();
128
+ try {
129
+ return await runHostRemoteCommand(sub, rest, {
130
+ fetch: globalThis.fetch.bind(globalThis),
131
+ stdout: out,
132
+ stderr: (text) => {
133
+ process.stderr.write(text);
134
+ },
135
+ prompt: (q) => prompt.ask(q),
136
+ onInterrupt: (fn) => (process.on("SIGINT", fn), () => {
137
+ process.off("SIGINT", fn);
138
+ })
139
+ }, { url: target.url, port: target.port, dataDir: control.daemonPaths(target.port).dataDir });
140
+ } finally {
141
+ prompt.close();
142
+ }
143
+ }
104
144
  case "logs": {
105
145
  let follow = rest.includes("-f") || rest.includes("--follow"), at = rest.findIndex((a) => a === "-n" || a === "--lines"), lines = at >= 0 && Number(rest[at + 1]) || 50, file = control.daemonPaths(target.port).logFile;
106
146
  if (!follow) {
@@ -121,6 +161,17 @@ async function main(argv) {
121
161
  `), 1;
122
162
  let noDaemon = argv.includes("--no-daemon");
123
163
  noDaemon && (argv = argv.filter((a) => a !== "--no-daemon"));
164
+ for (let i = 0; i < argv.length; i++) {
165
+ let arg = argv[i];
166
+ if (arg === "--remote" || arg.startsWith("--remote=")) {
167
+ let value = arg === "--remote" ? argv[i + 1] : arg.slice(9);
168
+ if (!value)
169
+ return process.stderr.write(`--remote requires a name (adf remotes lists them)
170
+ `), 2;
171
+ process.env.ADF_REMOTE = value, argv = [...argv.slice(0, i), ...argv.slice(i + (arg === "--remote" ? 2 : 1))];
172
+ break;
173
+ }
174
+ }
124
175
  let [command, ...rest] = argv;
125
176
  if (command === "--version" || command === "-v" || command === "version")
126
177
  return process.stdout.write(`${version()}
@@ -137,12 +188,12 @@ async function main(argv) {
137
188
  `), 2;
138
189
  }
139
190
  if (!process.env.ADF_DAEMON_PIDFILE) {
140
- let { daemonPaths } = await import("./chunks/daemon-control-HKFVSQTQ.mjs");
191
+ let { daemonPaths } = await import("./chunks/daemon-control-MKN7G5M3.mjs");
141
192
  process.env.ADF_DAEMON_PIDFILE = daemonPaths(Number(process.env.ADF_DAEMON_PORT ?? 7385)).pidFile;
142
193
  }
143
- return await import("./chunks/daemon-YDIK3AAM.mjs"), -1;
194
+ return await import("./chunks/daemon-BVDB565V.mjs"), -1;
144
195
  }
145
- let [{ runCli, tuiInvocation }, control] = await Promise.all([import("./chunks/cli-NMFIAR7Z.mjs"), import("./chunks/daemon-control-HKFVSQTQ.mjs")]);
196
+ let [{ runCli, tuiInvocation }, control] = await Promise.all([import("./chunks/cli-PCVFB6B4.mjs"), import("./chunks/daemon-control-MKN7G5M3.mjs")]);
146
197
  return tuiInvocation(argv) && process.env.NODE_ENV === void 0 && (process.env.NODE_ENV = "production", process.env.ADF_NODE_ENV_DEFAULTED = "1"), await runCli(argv, {
147
198
  fetch: globalThis.fetch.bind(globalThis),
148
199
  stdout: (text) => process.stdout.write(text),
@@ -8,9 +8,9 @@ import {
8
8
  APEv2Parser,
9
9
  ApeContentError,
10
10
  tryParseApeHeader
11
- } from "./chunk-NBTUWMGP.mjs";
12
- import "./chunk-XX7OSWTO.mjs";
11
+ } from "./chunk-2MTE22CR.mjs";
13
12
  import "./chunk-HBUENVQL.mjs";
13
+ import "./chunk-XX7OSWTO.mjs";
14
14
  import "./chunk-I2HJYHFT.mjs";
15
15
  import "./chunk-AUYKRQPJ.mjs";
16
16
  import "./chunk-NZ7JTHEO.mjs";
@@ -6,17 +6,17 @@ const __filename = __adfFileURLToPath(import.meta.url);
6
6
  const __dirname = __adfDirname(__filename);
7
7
  import {
8
8
  ID3v2Parser
9
- } from "./chunk-XYTWGHFS.mjs";
10
- import "./chunk-VAUOM3IN.mjs";
11
- import "./chunk-DXWDD5XJ.mjs";
9
+ } from "./chunk-H3XLRWVE.mjs";
10
+ import "./chunk-DLWCKKIO.mjs";
12
11
  import {
13
12
  FourCcToken
14
- } from "./chunk-NBTUWMGP.mjs";
15
- import "./chunk-XX7OSWTO.mjs";
13
+ } from "./chunk-2MTE22CR.mjs";
16
14
  import {
17
15
  EndOfStreamError,
18
16
  fromBuffer
19
17
  } from "./chunk-HBUENVQL.mjs";
18
+ import "./chunk-DXWDD5XJ.mjs";
19
+ import "./chunk-XX7OSWTO.mjs";
20
20
  import {
21
21
  BasicParser,
22
22
  StringType,