@wirecat/zoom-cli 0.60.0 → 0.60.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 (138) hide show
  1. package/README.md +4 -3
  2. package/dist/bin/main.js +1 -0
  3. package/dist/bin/main.js.map +1 -1
  4. package/dist/bin/zm.js +2 -2
  5. package/dist/bundle/{all-profiles-7OZPJY76.js → all-profiles-E6KXASLY.js} +5 -5
  6. package/dist/bundle/{answer-policy-PVWMA2QC.js → answer-policy-YWCC55NB.js} +49 -49
  7. package/dist/bundle/{anthropic-TT2XV74T.js → anthropic-CSLAACWX.js} +3 -3
  8. package/dist/bundle/{app-server-POMYD6QV.js → app-server-RYYXX6QV.js} +43 -43
  9. package/dist/bundle/{bun-sqlite-BBOPAQVG.js → bun-sqlite-B5CZHAV4.js} +2 -2
  10. package/dist/bundle/{chunk-AJA5ZAV6.js → chunk-3LBA63D5.js} +3 -3
  11. package/dist/bundle/{chunk-PUOBYJFI.js → chunk-3R437ICM.js} +2 -2
  12. package/dist/bundle/{chunk-D6L35XQS.js → chunk-43BX56ZI.js} +3 -3
  13. package/dist/bundle/{chunk-VYUSEJE4.js → chunk-46R2JTGO.js} +2 -2
  14. package/dist/bundle/{chunk-SKENSSY2.js → chunk-4TCQT57W.js} +10 -10
  15. package/dist/bundle/{chunk-GNRYFESK.js → chunk-6BJQBVMN.js} +12 -12
  16. package/dist/bundle/{chunk-AQDWGJZT.js → chunk-7IDNHVJS.js} +39 -2
  17. package/dist/bundle/{chunk-NKFRV2LB.js → chunk-AOZGGGUK.js} +1 -1
  18. package/dist/bundle/{chunk-KUBWRI5E.js → chunk-AZZPMHP2.js} +1 -1
  19. package/dist/bundle/{chunk-72A7CIPL.js → chunk-BO7J5Z3T.js} +6 -6
  20. package/dist/bundle/{chunk-ODFIV4OS.js → chunk-CGCJ6P3A.js} +12 -12
  21. package/dist/bundle/{chunk-57LT4A2E.js → chunk-DBSWVZES.js} +1 -1
  22. package/dist/bundle/{chunk-DAQXO6SM.js → chunk-EN5DBDKW.js} +1 -1
  23. package/dist/bundle/{chunk-EXFAA4N3.js → chunk-ES6UWVTM.js} +1 -1
  24. package/dist/bundle/{chunk-MGYFSXI5.js → chunk-EUHQ5D4K.js} +12 -12
  25. package/dist/bundle/{chunk-E3AMUYNB.js → chunk-FWJ3Q7NO.js} +2 -2
  26. package/dist/bundle/{chunk-V2QOLHPM.js → chunk-FZMRHNOP.js} +2 -2
  27. package/dist/bundle/{chunk-J3N2LL37.js → chunk-GEVHI226.js} +2 -2
  28. package/dist/bundle/{chunk-RSLXLUTS.js → chunk-HAUAEGGI.js} +6 -6
  29. package/dist/bundle/{chunk-TAQKNWCD.js → chunk-HYZ545ON.js} +1 -1
  30. package/dist/bundle/{chunk-EH6G2LEU.js → chunk-INARC5O7.js} +7 -7
  31. package/dist/bundle/{chunk-EOZWDEJL.js → chunk-IQENQXUJ.js} +1 -1
  32. package/dist/bundle/{chunk-QJCVOVNR.js → chunk-IQSBMAYB.js} +1 -1
  33. package/dist/bundle/{chunk-4HZRZDMC.js → chunk-IRX2YVAH.js} +3 -3
  34. package/dist/bundle/{chunk-SG3WSP7Y.js → chunk-K6NPOZUP.js} +1 -1
  35. package/dist/bundle/{chunk-KVPYI52N.js → chunk-KNAS4VEA.js} +1 -1
  36. package/dist/bundle/{chunk-KUBCUE6T.js → chunk-KXEC5FVT.js} +1 -1
  37. package/dist/bundle/{chunk-3P4LUGXI.js → chunk-KYUIU5UR.js} +1 -1
  38. package/dist/bundle/{chunk-J5ZVGKSZ.js → chunk-LPDYI5GR.js} +1 -1
  39. package/dist/bundle/{chunk-RNX73QCL.js → chunk-LPY2ISJK.js} +2 -2
  40. package/dist/bundle/{chunk-UOFOMU3T.js → chunk-LVHZQCP4.js} +1 -1
  41. package/dist/bundle/{chunk-3UMXCNDI.js → chunk-N27LOY3D.js} +3 -3
  42. package/dist/bundle/{chunk-4FTPE5SB.js → chunk-OBUKZ2ZM.js} +24 -24
  43. package/dist/bundle/{chunk-4MC4Z45G.js → chunk-OEEMCNAO.js} +4 -4
  44. package/dist/bundle/{chunk-7T3BUWJK.js → chunk-PAEBFJUC.js} +7 -7
  45. package/dist/bundle/{chunk-TB72GE55.js → chunk-PATM7JGR.js} +1 -1
  46. package/dist/bundle/{chunk-7PQY4ISY.js → chunk-PEMLI3T7.js} +2 -2
  47. package/dist/bundle/{chunk-RH5YXXAB.js → chunk-PPHUBORC.js} +21 -21
  48. package/dist/bundle/{chunk-UOL4ILXT.js → chunk-Q7U627RY.js} +2 -2
  49. package/dist/bundle/{chunk-7GVNQOV6.js → chunk-QKSCDALS.js} +1 -1
  50. package/dist/bundle/{chunk-YIMI6O7R.js → chunk-R4SRXI7M.js} +111 -111
  51. package/dist/bundle/{chunk-DP5DX45H.js → chunk-RACSKYNX.js} +1 -1
  52. package/dist/bundle/{chunk-2EVRKK75.js → chunk-REC3AZP6.js} +1 -1
  53. package/dist/bundle/{chunk-24DLFGES.js → chunk-RUEPZTNA.js} +2 -2
  54. package/dist/bundle/{chunk-M5WLBRL7.js → chunk-TY5PBEH2.js} +10 -10
  55. package/dist/bundle/{chunk-EROQ5SC7.js → chunk-UWVNY5CA.js} +1 -1
  56. package/dist/bundle/{chunk-DKIIKMSE.js → chunk-V53IB5AU.js} +20 -20
  57. package/dist/bundle/{chunk-YSZQ5SZK.js → chunk-VJBVNDFR.js} +2 -2
  58. package/dist/bundle/{chunk-LZBWU2IA.js → chunk-VKUS2V4L.js} +2 -2
  59. package/dist/bundle/{chunk-LKV3NRCJ.js → chunk-VLE3FWE3.js} +11 -11
  60. package/dist/bundle/{chunk-LYZNVNJA.js → chunk-VVKHF6VJ.js} +1 -1
  61. package/dist/bundle/{chunk-I45V6AFG.js → chunk-WB7MQHUI.js} +1 -1
  62. package/dist/bundle/{chunk-YZZ6NBXC.js → chunk-WEUXLXOZ.js} +5 -5
  63. package/dist/bundle/{chunk-Q4NDCDFG.js → chunk-WFT2GGFH.js} +7 -7
  64. package/dist/bundle/{chunk-IFXPNXAH.js → chunk-WWNZS7ZY.js} +1 -1
  65. package/dist/bundle/{chunk-XMCVB4Q4.js → chunk-WYRYLBST.js} +4 -4
  66. package/dist/bundle/{chunk-GXACHTB2.js → chunk-X7YPTYM4.js} +2 -2
  67. package/dist/bundle/{chunk-HWZXQLR5.js → chunk-XNUFDYR6.js} +3 -3
  68. package/dist/bundle/{chunk-PU4FKK5T.js → chunk-XS72YFPV.js} +1 -1
  69. package/dist/bundle/{chunk-22UBF6U6.js → chunk-XX7KVQIG.js} +1 -1
  70. package/dist/bundle/{chunk-G3MXAGF2.js → chunk-Y3YURIZF.js} +12 -12
  71. package/dist/bundle/{chunk-DN7VHENQ.js → chunk-YEZQ7SD7.js} +5 -5
  72. package/dist/bundle/{chunk-WVXAQVLG.js → chunk-YLATWUE7.js} +3 -3
  73. package/dist/bundle/{chunk-JBGYI5BY.js → chunk-Z4D6M62I.js} +1 -1
  74. package/dist/bundle/{chunk-XAF2LHZG.js → chunk-Z5H47R4G.js} +25 -25
  75. package/dist/bundle/{chunk-SK3K2VHF.js → chunk-ZDRDCANC.js} +51 -51
  76. package/dist/bundle/{chunk-2TV7UTHK.js → chunk-ZXQCA3ZW.js} +1 -1
  77. package/dist/bundle/{cli-WIMAOCXF.js → cli-CYKEKT5P.js} +47 -47
  78. package/dist/bundle/command-contract-P45QCCXM.js +38 -0
  79. package/dist/bundle/config-JYKTLEA3.js +79 -0
  80. package/dist/bundle/{decode-UBPIHVNG.js → decode-CTQJQYNU.js} +2 -2
  81. package/dist/bundle/{dist-YYDTME5J.js → dist-YLSQKPPY.js} +13 -13
  82. package/dist/bundle/{embed-7JHEPBFD.js → embed-P2BKRRJD.js} +4 -4
  83. package/dist/bundle/{embedder-HTRPWR6T.js → embedder-HC6ZARP5.js} +4 -4
  84. package/dist/bundle/{first-run-I52ADRJ2.js → first-run-UERFFXBV.js} +7 -7
  85. package/dist/bundle/first-screen-VFIS7FX3.js +36 -0
  86. package/dist/bundle/{folders-5ZBUQHAM.js → folders-RSLPTZLJ.js} +2 -2
  87. package/dist/bundle/{main-64VVZ5QG.js → main-2T6D77JC.js} +17 -16
  88. package/dist/bundle/mcp-4VHVUMCR.js +92 -0
  89. package/dist/bundle/{mcp-ZMIPDB4R.js → mcp-6CLW2IZM.js} +56 -56
  90. package/dist/bundle/{meetings-RD3NU6NN.js → meetings-ZIDSQZBJ.js} +3 -3
  91. package/dist/bundle/{node-sqlite-DGEEDBXV.js → node-sqlite-7CGHAHIS.js} +2 -2
  92. package/dist/bundle/{oauth-NRZMCFH3.js → oauth-UBCYXTWV.js} +4 -4
  93. package/dist/bundle/{open-SUGCOCAU.js → open-AWUB4Q7Z.js} +2 -2
  94. package/dist/bundle/{output-file-SXV2ANW7.js → output-file-SN22HAVL.js} +3 -3
  95. package/dist/bundle/{program-WGNTV7NS.js → program-STYPTNT3.js} +67 -63
  96. package/dist/bundle/{prompt-NICXDWN3.js → prompt-MAYUHEGN.js} +3 -3
  97. package/dist/bundle/{recognize-6DAHO6X6.js → recognize-FVTNXRTF.js} +2 -2
  98. package/dist/bundle/{remote-JZ3TXP6I.js → remote-WCPRU73L.js} +5 -5
  99. package/dist/bundle/{rerank-YSXWCAGZ.js → rerank-6CBLZBCV.js} +4 -4
  100. package/dist/bundle/{run-log-APHZZWC7.js → run-log-G4WZTOBW.js} +47 -47
  101. package/dist/bundle/{serve-7VWL475U.js → serve-3IDUVTZL.js} +5 -5
  102. package/dist/bundle/server-7GU36TER.js +66 -0
  103. package/dist/bundle/server-VHRS5UAL.js +53 -0
  104. package/dist/bundle/{services-D64U72OE.js → services-326Z3TNE.js} +23 -23
  105. package/dist/bundle/{speech-QLCQAT4O.js → speech-KSZ7RKM3.js} +4 -4
  106. package/dist/bundle/{state-KAD3R27T.js → state-EPB3L2JM.js} +3 -3
  107. package/dist/bundle/{store-2BHHS77S.js → store-7WX7SW2R.js} +13 -13
  108. package/dist/bundle/{store-7UNPRLZ3.js → store-KO242JBK.js} +11 -11
  109. package/dist/bundle/store-connection-K3MNDCQQ.js +76 -0
  110. package/dist/bundle/store-maintenance-command-GJDJYI2U.js +54 -0
  111. package/dist/bundle/{streaming-AK6Q2ZGQ.js → streaming-M6VDKBBH.js} +4 -4
  112. package/dist/bundle/{tokens-CCM3D4ZT.js → tokens-BTNXHR7T.js} +4 -4
  113. package/dist/bundle/zm.js +1 -1
  114. package/dist/login.d.ts +1 -0
  115. package/dist/login.d.ts.map +1 -1
  116. package/dist/login.js +1 -1
  117. package/dist/login.js.map +1 -1
  118. package/dist/recording-schedule-setup.d.ts.map +1 -1
  119. package/dist/recording-schedule-setup.js +1 -0
  120. package/dist/recording-schedule-setup.js.map +1 -1
  121. package/dist/setup-commands.d.ts.map +1 -1
  122. package/dist/setup-commands.js +6 -1
  123. package/dist/setup-commands.js.map +1 -1
  124. package/dist/tokens.d.ts +15 -0
  125. package/dist/tokens.d.ts.map +1 -1
  126. package/dist/tokens.js +40 -1
  127. package/dist/tokens.js.map +1 -1
  128. package/dist/version.d.ts +1 -1
  129. package/dist/version.js +1 -1
  130. package/package.json +1 -1
  131. package/dist/bundle/command-contract-J7PDZQMC.js +0 -38
  132. package/dist/bundle/config-G62PBNZF.js +0 -79
  133. package/dist/bundle/first-screen-XNCFWOLC.js +0 -36
  134. package/dist/bundle/mcp-5SJXWEJW.js +0 -92
  135. package/dist/bundle/server-7LABFAA5.js +0 -53
  136. package/dist/bundle/server-VFXB5WRG.js +0 -66
  137. package/dist/bundle/store-connection-QTMLZ7LR.js +0 -76
  138. package/dist/bundle/store-maintenance-command-ND6PQCVZ.js +0 -54
@@ -4531,6 +4531,115 @@ var systemKeyring = {
4531
4531
  delete: /* @__PURE__ */ __name((service, account) => entry(service, account).deletePassword(), "delete")
4532
4532
  };
4533
4533
 
4534
+ // node_modules/.pnpm/@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/credentials.js
4535
+ import { readFileSync as readFileSync2 } from "node:fs";
4536
+ import { join as join2 } from "node:path";
4537
+ var keyringService = /* @__PURE__ */ __name((service, configDir, isolated = false) => isolated ? `${service}:${configDir}` : service, "keyringService");
4538
+ var Credentials = class {
4539
+ static {
4540
+ __name(this, "Credentials");
4541
+ }
4542
+ #configDir;
4543
+ #storage;
4544
+ #keyring;
4545
+ #env;
4546
+ #service;
4547
+ #envVar;
4548
+ #fileName;
4549
+ #warn;
4550
+ #warned = false;
4551
+ constructor(options) {
4552
+ this.#configDir = options.configDir;
4553
+ this.#storage = options.storage ?? "auto";
4554
+ this.#keyring = options.keyring ?? systemKeyring;
4555
+ this.#env = options.env ?? process.env;
4556
+ this.#envVar = options.envVar;
4557
+ this.#fileName = options.fileName ?? "credentials.json";
4558
+ this.#warn = options.warn ?? ((message) => process.stderr.write(`${message}
4559
+ `));
4560
+ this.#service = keyringService(options.service, options.configDir, options.isolated);
4561
+ }
4562
+ read(account) {
4563
+ const fromEnv = this.#envVar ? this.#env[this.#envVar]?.trim() : void 0;
4564
+ if (fromEnv)
4565
+ return { secret: fromEnv, source: "environment" };
4566
+ if (this.#storage !== "file") {
4567
+ const fromKeyring = this.#tryKeyring(() => this.#keyring.get(this.#service, account));
4568
+ if (fromKeyring)
4569
+ return { secret: fromKeyring, source: "keyring" };
4570
+ }
4571
+ const fromFile = this.#readFile()?.[account]?.secret;
4572
+ return fromFile ? { secret: fromFile, source: "file" } : void 0;
4573
+ }
4574
+ write(account, secret) {
4575
+ if (this.#storage !== "file") {
4576
+ const stored = this.#tryKeyring(() => {
4577
+ this.#keyring.set(this.#service, account, secret);
4578
+ return true;
4579
+ });
4580
+ if (stored)
4581
+ return "keyring";
4582
+ }
4583
+ const store2 = this.#readFile();
4584
+ if (!store2) {
4585
+ throw new CliError("configuration_error", `${this.#path()} cannot be read as a credentials file; storing now would replace every secret in it. Fix the file or move it aside, then try again.`);
4586
+ }
4587
+ store2[account] = { secret };
4588
+ this.#writeFile(store2);
4589
+ return "file";
4590
+ }
4591
+ remove(account) {
4592
+ const removed = [];
4593
+ if (this.#storage !== "file" && this.#tryKeyring(() => this.#keyring.delete(this.#service, account))) {
4594
+ removed.push("keyring");
4595
+ }
4596
+ const store2 = this.#readFile();
4597
+ if (store2?.[account] !== void 0) {
4598
+ delete store2[account];
4599
+ this.#writeFile(store2);
4600
+ removed.push("file");
4601
+ }
4602
+ return removed;
4603
+ }
4604
+ #path() {
4605
+ return join2(this.#configDir, this.#fileName);
4606
+ }
4607
+ /** `undefined` when the file exists but is not a store: writing would replace what it holds. */
4608
+ #readFile() {
4609
+ let text2;
4610
+ try {
4611
+ text2 = readFileSync2(this.#path(), "utf8");
4612
+ } catch (error) {
4613
+ if (error.code === "ENOENT")
4614
+ return {};
4615
+ return void 0;
4616
+ }
4617
+ try {
4618
+ const parsed = JSON.parse(text2);
4619
+ return typeof parsed === "object" && parsed !== null && !Array.isArray(parsed) ? parsed : void 0;
4620
+ } catch {
4621
+ return void 0;
4622
+ }
4623
+ }
4624
+ #writeFile(store2) {
4625
+ writeSecurely(this.#path(), `${JSON.stringify(store2, null, 2)}
4626
+ `, 384);
4627
+ }
4628
+ #tryKeyring(operation) {
4629
+ if (this.#storage === "keyring")
4630
+ return operation();
4631
+ try {
4632
+ return operation();
4633
+ } catch (error) {
4634
+ if (!this.#warned) {
4635
+ this.#warned = true;
4636
+ this.#warn(`could not reach the OS keyring \u2014 it may be locked, or no keyring service is running (${error instanceof Error ? error.message : String(error)}); using ${this.#path()} instead, readable only by you`);
4637
+ }
4638
+ return void 0;
4639
+ }
4640
+ }
4641
+ };
4642
+
4534
4643
  // node_modules/.pnpm/@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/logging.js
4535
4644
  import { appendFileSync } from "node:fs";
4536
4645
 
@@ -4769,7 +4878,7 @@ var createOutputBuffer = /* @__PURE__ */ __name(({ maxOutputBytes = 4 * 1024 * 1
4769
4878
 
4770
4879
  // node_modules/.pnpm/@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/paths.js
4771
4880
  import { homedir } from "node:os";
4772
- import { join as join2, posix, win32 } from "node:path";
4881
+ import { join as join3, posix, win32 } from "node:path";
4773
4882
  var PATH_KINDS = ["config", "state", "cache"];
4774
4883
  var OVERRIDES = { config: "CONFIG_DIR", state: "STATE_DIR", cache: "CACHE_DIR" };
4775
4884
  var overrideName = /* @__PURE__ */ __name((appName, prefix, kind) => `${prefix ?? appName.toUpperCase().replace(/[^A-Z0-9]/g, "_")}_${OVERRIDES[kind]}`, "overrideName");
@@ -4801,116 +4910,7 @@ var resolvePaths = /* @__PURE__ */ __name((options) => {
4801
4910
  };
4802
4911
  }, "resolvePaths");
4803
4912
  var pathsAreOverridden = /* @__PURE__ */ __name(({ appName, prefix, env = process.env }) => PATH_KINDS.some((kind) => env[overrideName(appName, prefix, kind)] !== void 0), "pathsAreOverridden");
4804
- var configFilePath = /* @__PURE__ */ __name((configDir, fileName = "config.json") => join2(configDir, fileName), "configFilePath");
4805
-
4806
- // node_modules/.pnpm/@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/credentials.js
4807
- import { readFileSync as readFileSync2 } from "node:fs";
4808
- import { join as join3 } from "node:path";
4809
- var keyringService = /* @__PURE__ */ __name((service, configDir, isolated = false) => isolated ? `${service}:${configDir}` : service, "keyringService");
4810
- var Credentials = class {
4811
- static {
4812
- __name(this, "Credentials");
4813
- }
4814
- #configDir;
4815
- #storage;
4816
- #keyring;
4817
- #env;
4818
- #service;
4819
- #envVar;
4820
- #fileName;
4821
- #warn;
4822
- #warned = false;
4823
- constructor(options) {
4824
- this.#configDir = options.configDir;
4825
- this.#storage = options.storage ?? "auto";
4826
- this.#keyring = options.keyring ?? systemKeyring;
4827
- this.#env = options.env ?? process.env;
4828
- this.#envVar = options.envVar;
4829
- this.#fileName = options.fileName ?? "credentials.json";
4830
- this.#warn = options.warn ?? ((message) => process.stderr.write(`${message}
4831
- `));
4832
- this.#service = keyringService(options.service, options.configDir, options.isolated);
4833
- }
4834
- read(account) {
4835
- const fromEnv = this.#envVar ? this.#env[this.#envVar]?.trim() : void 0;
4836
- if (fromEnv)
4837
- return { secret: fromEnv, source: "environment" };
4838
- if (this.#storage !== "file") {
4839
- const fromKeyring = this.#tryKeyring(() => this.#keyring.get(this.#service, account));
4840
- if (fromKeyring)
4841
- return { secret: fromKeyring, source: "keyring" };
4842
- }
4843
- const fromFile = this.#readFile()?.[account]?.secret;
4844
- return fromFile ? { secret: fromFile, source: "file" } : void 0;
4845
- }
4846
- write(account, secret) {
4847
- if (this.#storage !== "file") {
4848
- const stored = this.#tryKeyring(() => {
4849
- this.#keyring.set(this.#service, account, secret);
4850
- return true;
4851
- });
4852
- if (stored)
4853
- return "keyring";
4854
- }
4855
- const store2 = this.#readFile();
4856
- if (!store2) {
4857
- throw new CliError("configuration_error", `${this.#path()} cannot be read as a credentials file; storing now would replace every secret in it. Fix the file or move it aside, then try again.`);
4858
- }
4859
- store2[account] = { secret };
4860
- this.#writeFile(store2);
4861
- return "file";
4862
- }
4863
- remove(account) {
4864
- const removed = [];
4865
- if (this.#storage !== "file" && this.#tryKeyring(() => this.#keyring.delete(this.#service, account))) {
4866
- removed.push("keyring");
4867
- }
4868
- const store2 = this.#readFile();
4869
- if (store2?.[account] !== void 0) {
4870
- delete store2[account];
4871
- this.#writeFile(store2);
4872
- removed.push("file");
4873
- }
4874
- return removed;
4875
- }
4876
- #path() {
4877
- return join3(this.#configDir, this.#fileName);
4878
- }
4879
- /** `undefined` when the file exists but is not a store: writing would replace what it holds. */
4880
- #readFile() {
4881
- let text2;
4882
- try {
4883
- text2 = readFileSync2(this.#path(), "utf8");
4884
- } catch (error) {
4885
- if (error.code === "ENOENT")
4886
- return {};
4887
- return void 0;
4888
- }
4889
- try {
4890
- const parsed = JSON.parse(text2);
4891
- return typeof parsed === "object" && parsed !== null && !Array.isArray(parsed) ? parsed : void 0;
4892
- } catch {
4893
- return void 0;
4894
- }
4895
- }
4896
- #writeFile(store2) {
4897
- writeSecurely(this.#path(), `${JSON.stringify(store2, null, 2)}
4898
- `, 384);
4899
- }
4900
- #tryKeyring(operation) {
4901
- if (this.#storage === "keyring")
4902
- return operation();
4903
- try {
4904
- return operation();
4905
- } catch (error) {
4906
- if (!this.#warned) {
4907
- this.#warned = true;
4908
- this.#warn(`could not reach the OS keyring \u2014 it may be locked, or no keyring service is running (${error instanceof Error ? error.message : String(error)}); using ${this.#path()} instead, readable only by you`);
4909
- }
4910
- return void 0;
4911
- }
4912
- }
4913
- };
4913
+ var configFilePath = /* @__PURE__ */ __name((configDir, fileName = "config.json") => join3(configDir, fileName), "configFilePath");
4914
4914
 
4915
4915
  // node_modules/.pnpm/@wirecat+cli-base@0.65.0_commander@15.0.0_esbuild@0.28.2_typescript@7.0.2_vitest@5.0.5/node_modules/@wirecat/cli-base/dist/time.js
4916
4916
  var abortError = /* @__PURE__ */ __name(() => new DOMException("The operation was aborted.", "AbortError"), "abortError");
@@ -12,7 +12,7 @@ import {
12
12
  optional,
13
13
  saveConfigFile,
14
14
  string
15
- } from "./chunk-YIMI6O7R.js";
15
+ } from "./chunk-R4SRXI7M.js";
16
16
  import {
17
17
  __name,
18
18
  __toESM
@@ -10,7 +10,7 @@ import {
10
10
  optional,
11
11
  pipe,
12
12
  safeParse
13
- } from "./chunk-YIMI6O7R.js";
13
+ } from "./chunk-R4SRXI7M.js";
14
14
  import {
15
15
  __name
16
16
  } from "./chunk-ZVVMGPBJ.js";
@@ -2,11 +2,11 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  checkCancelled
5
- } from "./chunk-VYUSEJE4.js";
5
+ } from "./chunk-46R2JTGO.js";
6
6
  import {
7
7
  CliError,
8
8
  createOutputBuffer
9
- } from "./chunk-YIMI6O7R.js";
9
+ } from "./chunk-R4SRXI7M.js";
10
10
  import {
11
11
  __name
12
12
  } from "./chunk-ZVVMGPBJ.js";
@@ -3,23 +3,23 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  installerOf,
5
5
  updateCommand
6
- } from "./chunk-DP5DX45H.js";
6
+ } from "./chunk-RACSKYNX.js";
7
7
  import {
8
8
  QUESTIONS,
9
9
  readSetupAnswers,
10
10
  unanswered,
11
11
  writeSetupAnswers
12
- } from "./chunk-4HZRZDMC.js";
12
+ } from "./chunk-IRX2YVAH.js";
13
13
  import {
14
14
  DEFAULT_STEMMERS,
15
15
  LANGUAGES
16
- } from "./chunk-2TV7UTHK.js";
16
+ } from "./chunk-ZXQCA3ZW.js";
17
17
  import {
18
18
  sharedConfigPath
19
- } from "./chunk-E3AMUYNB.js";
19
+ } from "./chunk-FWJ3Q7NO.js";
20
20
  import {
21
21
  storePath
22
- } from "./chunk-KUBCUE6T.js";
22
+ } from "./chunk-KXEC5FVT.js";
23
23
  import {
24
24
  __name
25
25
  } from "./chunk-ZVVMGPBJ.js";
@@ -82,7 +82,7 @@ var suggested = /* @__PURE__ */ __name((env, contentLanguages) => {
82
82
  return (own.length ? own : LANGUAGES.filter(({ code }) => code === "en" || code === system)).map(({ name }) => name);
83
83
  }, "suggested");
84
84
  var askLanguages = /* @__PURE__ */ __name(async ({ command, env, io, contentLanguages }) => {
85
- const { openStore } = await import("./store-7UNPRLZ3.js");
85
+ const { openStore } = await import("./store-KO242JBK.js");
86
86
  const store = await openStore({ env });
87
87
  let rebuild = false;
88
88
  try {
@@ -111,8 +111,8 @@ var askLanguages = /* @__PURE__ */ __name(async ({ command, env, io, contentLang
111
111
  if (!rebuild)
112
112
  return;
113
113
  const [{ openCache }, { buildStems }] = await Promise.all([
114
- import("./open-SUGCOCAU.js"),
115
- import("./store-maintenance-command-ND6PQCVZ.js")
114
+ import("./open-AWUB4Q7Z.js"),
115
+ import("./store-maintenance-command-GJDJYI2U.js")
116
116
  ]);
117
117
  const database = await openCache(storePath(env));
118
118
  try {
@@ -124,7 +124,7 @@ var askLanguages = /* @__PURE__ */ __name(async ({ command, env, io, contentLang
124
124
  var askTools = /* @__PURE__ */ __name(async (run) => {
125
125
  const { command, env, io } = run;
126
126
  const installed = run.installed ?? ((name) => onPath(name, env));
127
- const { WIRECAT_TOOLS } = await import("./first-screen-XNCFWOLC.js");
127
+ const { WIRECAT_TOOLS } = await import("./first-screen-VFIS7FX3.js");
128
128
  const others = WIRECAT_TOOLS.filter((tool) => tool.command !== command);
129
129
  const missing = others.filter((tool) => !installed(tool.command));
130
130
  io.say("Other WireCat tools \u2014 they share this store, so one search finds everything:");
@@ -197,7 +197,7 @@ var setupAtStart = /* @__PURE__ */ __name(async (start) => {
197
197
  contentLanguages: start.contentLanguages,
198
198
  all: start.path[0] === "setup",
199
199
  io: {
200
- ask: /* @__PURE__ */ __name(async (prompt) => (await import("./prompt-NICXDWN3.js")).readSecret(prompt, { input, echo: true }), "ask"),
200
+ ask: /* @__PURE__ */ __name(async (prompt) => (await import("./prompt-MAYUHEGN.js")).readSecret(prompt, { input, echo: true }), "ask"),
201
201
  say: /* @__PURE__ */ __name((text) => process.stderr.write(`${text}
202
202
  `), "say")
203
203
  }
@@ -4,7 +4,7 @@ import {
4
4
  ACCESS_SECONDS,
5
5
  REFRESH_SECONDS,
6
6
  readStored
7
- } from "./chunk-22UBF6U6.js";
7
+ } from "./chunk-XX7KVQIG.js";
8
8
  import {
9
9
  OAuthError,
10
10
  OAuthErrorCode
@@ -3,7 +3,7 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  answerOf,
5
5
  messengerContext
6
- } from "./chunk-MGYFSXI5.js";
6
+ } from "./chunk-EUHQ5D4K.js";
7
7
  import {
8
8
  chatEventAnswer,
9
9
  memberAnswer,
@@ -12,14 +12,14 @@ import {
12
12
  serveRelay,
13
13
  typedQuery,
14
14
  withQuery
15
- } from "./chunk-Q4NDCDFG.js";
15
+ } from "./chunk-WFT2GGFH.js";
16
16
  import {
17
17
  holdLock,
18
18
  lockPath,
19
19
  releaseLock,
20
20
  servingProfiles,
21
21
  takeLock
22
- } from "./chunk-QJCVOVNR.js";
22
+ } from "./chunk-IQSBMAYB.js";
23
23
  import {
24
24
  RULES_VERSION,
25
25
  applyTaskRulesOnArrival,
@@ -29,7 +29,7 @@ import {
29
29
  senderIsMe,
30
30
  servicesFor,
31
31
  syncsOneChat
32
- } from "./chunk-XAF2LHZG.js";
32
+ } from "./chunk-Z5H47R4G.js";
33
33
  import {
34
34
  Command,
35
35
  LOCAL_READ,
@@ -53,38 +53,38 @@ import {
53
53
  snakeKeys,
54
54
  storeTable,
55
55
  withoutProviderRefs
56
- } from "./chunk-G3MXAGF2.js";
56
+ } from "./chunk-Y3YURIZF.js";
57
57
  import {
58
58
  envName
59
- } from "./chunk-3P4LUGXI.js";
59
+ } from "./chunk-KYUIU5UR.js";
60
60
  import {
61
61
  holdersOf
62
62
  } from "./chunk-W5EUHV3J.js";
63
63
  import {
64
64
  codeOf,
65
65
  currentRun
66
- } from "./chunk-YZZ6NBXC.js";
66
+ } from "./chunk-WEUXLXOZ.js";
67
67
  import {
68
68
  failureKey
69
- } from "./chunk-EOZWDEJL.js";
69
+ } from "./chunk-IQENQXUJ.js";
70
70
  import {
71
71
  renderMessages
72
- } from "./chunk-TAQKNWCD.js";
72
+ } from "./chunk-HYZ545ON.js";
73
73
  import {
74
74
  levelFor
75
- } from "./chunk-NKFRV2LB.js";
75
+ } from "./chunk-AOZGGGUK.js";
76
76
  import {
77
77
  readSecret
78
- } from "./chunk-YSZQ5SZK.js";
78
+ } from "./chunk-VJBVNDFR.js";
79
79
  import {
80
80
  checkedOptions,
81
81
  range
82
- } from "./chunk-2EVRKK75.js";
82
+ } from "./chunk-REC3AZP6.js";
83
83
  import {
84
84
  messagesFor,
85
85
  systemFor,
86
86
  validateImages
87
- } from "./chunk-I45V6AFG.js";
87
+ } from "./chunk-WB7MQHUI.js";
88
88
  import {
89
89
  MIGRATIONS,
90
90
  drainNoteIndex,
@@ -111,20 +111,20 @@ import {
111
111
  storeClients,
112
112
  storeContents,
113
113
  vectorIndexCounts
114
- } from "./chunk-ODFIV4OS.js";
114
+ } from "./chunk-CGCJ6P3A.js";
115
115
  import {
116
116
  formatLocator,
117
117
  parseLocator
118
- } from "./chunk-EXFAA4N3.js";
118
+ } from "./chunk-ES6UWVTM.js";
119
119
  import {
120
120
  storePath
121
- } from "./chunk-KUBCUE6T.js";
121
+ } from "./chunk-KXEC5FVT.js";
122
122
  import {
123
123
  openCache
124
- } from "./chunk-WVXAQVLG.js";
124
+ } from "./chunk-YLATWUE7.js";
125
125
  import {
126
126
  queryFieldsOf
127
- } from "./chunk-UOFOMU3T.js";
127
+ } from "./chunk-LVHZQCP4.js";
128
128
  import {
129
129
  CliError,
130
130
  Credentials,
@@ -153,7 +153,7 @@ import {
153
153
  trim,
154
154
  union,
155
155
  writeSecurely
156
- } from "./chunk-YIMI6O7R.js";
156
+ } from "./chunk-R4SRXI7M.js";
157
157
  import {
158
158
  __commonJS,
159
159
  __name,
@@ -6648,7 +6648,7 @@ var modelGateway = /* @__PURE__ */ __name((deps) => ({
6648
6648
  if (!adapter && target.provider === "openai")
6649
6649
  adapter = openai;
6650
6650
  if (!adapter && target.provider === "anthropic")
6651
- adapter = (await import("./anthropic-TT2XV74T.js")).anthropic;
6651
+ adapter = (await import("./anthropic-CSLAACWX.js")).anthropic;
6652
6652
  if (!adapter)
6653
6653
  throw new CliError("validation_error", `no model adapter for ${target.provider}`);
6654
6654
  if (request.images !== void 0 && adapter.images !== true)
@@ -4,10 +4,10 @@ import {
4
4
  MAX_SECRET_INPUT,
5
5
  bufferedInput,
6
6
  inputPolicy
7
- } from "./chunk-KUBWRI5E.js";
7
+ } from "./chunk-AZZPMHP2.js";
8
8
  import {
9
9
  CliError
10
- } from "./chunk-YIMI6O7R.js";
10
+ } from "./chunk-R4SRXI7M.js";
11
11
  import {
12
12
  __name
13
13
  } from "./chunk-ZVVMGPBJ.js";
@@ -2,10 +2,10 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  isCliFailure
5
- } from "./chunk-EOZWDEJL.js";
5
+ } from "./chunk-IQENQXUJ.js";
6
6
  import {
7
7
  isContentKey
8
- } from "./chunk-YIMI6O7R.js";
8
+ } from "./chunk-R4SRXI7M.js";
9
9
  import {
10
10
  __name
11
11
  } from "./chunk-ZVVMGPBJ.js";
@@ -7,22 +7,22 @@ import {
7
7
  refuseLocalWrite,
8
8
  refuseUnknownPermissionKeys,
9
9
  sendsPathFor
10
- } from "./chunk-MGYFSXI5.js";
10
+ } from "./chunk-EUHQ5D4K.js";
11
11
  import {
12
12
  chatRef,
13
13
  contactRef,
14
14
  positiveCount
15
- } from "./chunk-Q4NDCDFG.js";
15
+ } from "./chunk-WFT2GGFH.js";
16
16
  import {
17
17
  MAX_SEARCH_OFFSET,
18
18
  excerpt,
19
19
  newOperationId,
20
20
  refreshedFiles,
21
21
  senderIsMe
22
- } from "./chunk-XAF2LHZG.js";
22
+ } from "./chunk-Z5H47R4G.js";
23
23
  import {
24
24
  commandPathOf
25
- } from "./chunk-4MC4Z45G.js";
25
+ } from "./chunk-OEEMCNAO.js";
26
26
  import {
27
27
  NONE_NAMED,
28
28
  changesMessenger,
@@ -33,29 +33,29 @@ import {
33
33
  nextStep,
34
34
  recalledAccount,
35
35
  settingsFor
36
- } from "./chunk-G3MXAGF2.js";
36
+ } from "./chunk-Y3YURIZF.js";
37
37
  import {
38
38
  MESSENGER_CHANGE_REFUSAL,
39
39
  readOnlyLockOf,
40
40
  readOnlyRefusal
41
- } from "./chunk-3P4LUGXI.js";
41
+ } from "./chunk-KYUIU5UR.js";
42
42
  import {
43
43
  DEFAULT_TEXT_MODEL,
44
44
  parseDuration
45
- } from "./chunk-YZZ6NBXC.js";
45
+ } from "./chunk-WEUXLXOZ.js";
46
46
  import {
47
47
  CEILING_KEY,
48
48
  keyForCommand,
49
49
  levelFor,
50
50
  writeOfKey
51
- } from "./chunk-NKFRV2LB.js";
51
+ } from "./chunk-AOZGGGUK.js";
52
52
  import {
53
53
  openStore
54
- } from "./chunk-ODFIV4OS.js";
54
+ } from "./chunk-CGCJ6P3A.js";
55
55
  import {
56
56
  formatLocator,
57
57
  parseLocator
58
- } from "./chunk-EXFAA4N3.js";
58
+ } from "./chunk-ES6UWVTM.js";
59
59
  import {
60
60
  CliError,
61
61
  description,
@@ -66,7 +66,7 @@ import {
66
66
  toStandardJsonSchema,
67
67
  visibleControls,
68
68
  writes
69
- } from "./chunk-YIMI6O7R.js";
69
+ } from "./chunk-R4SRXI7M.js";
70
70
  import {
71
71
  importFrom
72
72
  } from "./chunk-Y5E2WNWB.js";
@@ -2,7 +2,7 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  CliError
5
- } from "./chunk-YIMI6O7R.js";
5
+ } from "./chunk-R4SRXI7M.js";
6
6
  import {
7
7
  importFrom
8
8
  } from "./chunk-Y5E2WNWB.js";
@@ -2,7 +2,7 @@ import { createRequire as __bundleRequire } from "node:module";
2
2
  const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  CliError
5
- } from "./chunk-YIMI6O7R.js";
5
+ } from "./chunk-R4SRXI7M.js";
6
6
  import {
7
7
  __name
8
8
  } from "./chunk-ZVVMGPBJ.js";
@@ -5,19 +5,19 @@ import {
5
5
  id,
6
6
  text,
7
7
  time
8
- } from "./chunk-IFXPNXAH.js";
8
+ } from "./chunk-WWNZS7ZY.js";
9
9
  import {
10
10
  filesPresent,
11
11
  sharedModelsDirectory
12
- } from "./chunk-7PQY4ISY.js";
12
+ } from "./chunk-PEMLI3T7.js";
13
13
  import {
14
14
  TASK_ORIGINS,
15
15
  TASK_STATES,
16
16
  TASK_TYPES
17
- } from "./chunk-SG3WSP7Y.js";
17
+ } from "./chunk-K6NPOZUP.js";
18
18
  import {
19
19
  TAG_TYPES
20
- } from "./chunk-JBGYI5BY.js";
20
+ } from "./chunk-Z4D6M62I.js";
21
21
  import {
22
22
  CliError,
23
23
  array,
@@ -33,7 +33,7 @@ import {
33
33
  strictObject,
34
34
  traceIdOf,
35
35
  writeSecurely
36
- } from "./chunk-YIMI6O7R.js";
36
+ } from "./chunk-R4SRXI7M.js";
37
37
  import {
38
38
  __name
39
39
  } from "./chunk-ZVVMGPBJ.js";
@@ -3,7 +3,7 @@ const require = __bundleRequire(import.meta.url);
3
3
  import {
4
4
  AUDIT_MIN_SCORE,
5
5
  throughWrapper
6
- } from "./chunk-XAF2LHZG.js";
6
+ } from "./chunk-Z5H47R4G.js";
7
7
  import {
8
8
  Command,
9
9
  InvalidArgumentError,
@@ -16,13 +16,13 @@ import {
16
16
  renderAnswer,
17
17
  sharedCommand,
18
18
  snakeKeys
19
- } from "./chunk-G3MXAGF2.js";
19
+ } from "./chunk-Y3YURIZF.js";
20
20
  import {
21
21
  readOnlyLockOf
22
- } from "./chunk-3P4LUGXI.js";
22
+ } from "./chunk-KYUIU5UR.js";
23
23
  import {
24
24
  formatReference
25
- } from "./chunk-EXFAA4N3.js";
25
+ } from "./chunk-ES6UWVTM.js";
26
26
  import {
27
27
  EVENT_QUERY,
28
28
  MEETING_PROJECT_EVIDENCE_QUERY,
@@ -45,7 +45,7 @@ import {
45
45
  readMeetingProjectEvidence,
46
46
  validateMeetingHitSearch,
47
47
  validateMeetingPassage
48
- } from "./chunk-UOL4ILXT.js";
48
+ } from "./chunk-Q7U627RY.js";
49
49
  import {
50
50
  OPERATORS_BY_TYPE,
51
51
  QUERY_LIMITS,
@@ -59,7 +59,7 @@ import {
59
59
  timezoneOf,
60
60
  validateQuery,
61
61
  zonedMoment
62
- } from "./chunk-UOFOMU3T.js";
62
+ } from "./chunk-LVHZQCP4.js";
63
63
  import {
64
64
  CliError,
65
65
  array,
@@ -73,7 +73,7 @@ import {
73
73
  safeParse,
74
74
  strictObject,
75
75
  string
76
- } from "./chunk-YIMI6O7R.js";
76
+ } from "./chunk-R4SRXI7M.js";
77
77
  import {
78
78
  __name
79
79
  } from "./chunk-ZVVMGPBJ.js";