@pentoshi/clai 3.11.18 → 3.11.19

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/bin/clai.mjs CHANGED
@@ -24,4 +24,20 @@ try {
24
24
  }
25
25
  }
26
26
 
27
- await import('../dist/index.js');
27
+ try {
28
+ await import('../dist/index.js');
29
+ } catch (err) {
30
+ // Never exit silently — always print something so the user knows what happened.
31
+ const msg = err instanceof Error ? err.message : String(err);
32
+ process.stderr.write(`\nclai: failed to start: ${msg}\n`);
33
+ if (err instanceof Error && err.stack) {
34
+ process.stderr.write(err.stack + '\n');
35
+ }
36
+ process.stderr.write(
37
+ '\nIf this persists, try:\n' +
38
+ ' • Reinstall: npm i -g @pentoshi/clai\n' +
39
+ ' • Classic mode: clai --classic\n' +
40
+ ' • Report: https://github.com/pentoshi007/clai/issues\n'
41
+ );
42
+ process.exitCode = 1;
43
+ }
@@ -19,6 +19,8 @@ function findBun() {
19
19
  fromEnv,
20
20
  join(targetDir, "bin", binName),
21
21
  join(homedir(), ".bun", "bin", binName),
22
+ process.env.LOCALAPPDATA ? join(process.env.LOCALAPPDATA, "bun", binName) : undefined,
23
+ process.env.APPDATA ? join(process.env.APPDATA, "bun", "bin", binName) : undefined,
22
24
  ...(process.env.PATH ?? "")
23
25
  .split(delimiter)
24
26
  .filter(Boolean)
@@ -87,7 +89,27 @@ if (!findBun() && process.env.CLAI_NO_BUN_AUTO_INSTALL !== "1") {
87
89
  // ignore
88
90
  }
89
91
  }
92
+
93
+ try {
94
+ const verify = spawnSync(targetBin, ["--version"], { encoding: "utf8", timeout: 10000 });
95
+ if (verify.status === 0 && verify.stdout) {
96
+ console.log(` ✓ Bun ${verify.stdout.trim()} installed to ${targetBin}`);
97
+ } else {
98
+ console.log(` Note: Could not verify Bun installation.`);
99
+ }
100
+ } catch (e) {
101
+ console.log(` Note: Could not verify Bun installation.`);
102
+ }
90
103
  } catch (err) {
91
- console.warn("Notice: Automatic Bun setup skipped or failed:", err?.message || err);
104
+ console.log(` ⚠ Automatic Bun setup skipped: ${err?.message || err}`);
105
+ console.log(` clai will retry on first launch, or use: clai --classic`);
92
106
  }
93
107
  }
108
+
109
+ if (!findBun()) {
110
+ console.log(`
111
+ Note: Bun was not installed during postinstall.
112
+ clai will automatically install Bun on first launch.
113
+ To skip the full-screen UI, run: clai --classic
114
+ `);
115
+ }
@@ -41,6 +41,22 @@ export async function runDoctor() {
41
41
  console.log(chalk.dim(openTuiRuntimeHint().split('\n').slice(1).join('\n')));
42
42
  }
43
43
  console.log(chalk.dim(' full-screen: clai (needs Bun) · line REPL: clai --classic'));
44
+ // node-pty availability check — optional, but improves classic REPL shell features
45
+ let nodePtyOk = false;
46
+ try {
47
+ await import('node-pty');
48
+ nodePtyOk = true;
49
+ }
50
+ catch {
51
+ // not available
52
+ }
53
+ console.log(`node-pty: ${nodePtyOk
54
+ ? chalk.green('available (interactive terminals)')
55
+ : chalk.yellow('not loaded') +
56
+ chalk.dim(' — interactive terminals use basic pipes (still works, fewer features)')}`);
57
+ if (!nodePtyOk) {
58
+ console.log(chalk.dim(' To enable: npm i -g @pentoshi/clai --allow-scripts=@pentoshi/clai,node-pty'));
59
+ }
44
60
  const keychain = await probeKeychain();
45
61
  if (keychain.available) {
46
62
  console.log(`Keychain: ${chalk.green('available')} (OS keystore)`);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -489,9 +489,37 @@ async function main() {
489
489
  await program.parseAsync(process.argv);
490
490
  }
491
491
  main().catch((error) => {
492
- printError(error);
492
+ // Ensure errors are always visible, even on Windows where stdout may
493
+ // buffer and the process exits before flushing.
494
+ try {
495
+ printError(error);
496
+ }
497
+ catch {
498
+ // stderr write itself failed; last-resort diagnostic.
499
+ try {
500
+ process.stderr.write(`clai fatal: ${error}\n`);
501
+ }
502
+ catch { /* truly hopeless */ }
503
+ }
493
504
  if (!process.exitCode) {
494
505
  process.exitCode = 1;
495
506
  }
496
507
  });
508
+ // On Windows cmd.exe, Node/Bun can exit before stderr is flushed.
509
+ // Handle uncaught exceptions at the process level so the binary never
510
+ // "hangs then exits silently" — it always prints *something*.
511
+ process.on('uncaughtException', (err) => {
512
+ try {
513
+ process.stderr.write(`\nclai: uncaught error: ${err?.message ?? err}\n`);
514
+ }
515
+ catch { /* */ }
516
+ process.exitCode = 1;
517
+ });
518
+ process.on('unhandledRejection', (reason) => {
519
+ try {
520
+ process.stderr.write(`\nclai: unhandled rejection: ${reason}\n`);
521
+ }
522
+ catch { /* */ }
523
+ process.exitCode = 1;
524
+ });
497
525
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,4EAA4E;AAC5E,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,WAAW,GAEZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,SAAS,EAET,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,YAAY,GACb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EACL,aAAa,GAId,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAarE,SAAS,UAAU;IACjB,OAAO,IAAI,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC;QAC3D,KAAK;QACL,OAAO;QACP,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,WAAiC,EACjC,OAAsB;IAEtB,MAAM,MAAM,GAAG,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,QAAQ,IAAI,MAAM,CAAC,eAAe,CAAC;IAC1D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAEhE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,6EAA6E;QAC7E,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,mEAAmE;gBACnE,0DAA0D;gBAC1D,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;oBACpB,IAAI,qBAAqB,CAAC,UAAU,CAAC;wBAAE,OAAO;oBAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,kBAAkB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC/E,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;oBAC5D,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;oBACzE,OAAO;gBACT,CAAC;gBACD,IAAI,CAAC;oBACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CACjC,oCAAoC,CACrC,CAAC;oBACF,MAAM,UAAU,CAAC;wBACf,IAAI;wBACJ,QAAQ;wBACR,KAAK;wBACL,SAAS,EAAE,OAAO,CAAC,SAAS;qBAC7B,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC7B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,qCAAqC,CAAC,CAAC,CAAC;wBACnE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC;wBAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;wBAC5D,MAAM,SAAS,CAAC;4BACd,IAAI;4BACJ,QAAQ;4BACR,KAAK;4BACL,SAAS,EAAE,OAAO,CAAC,SAAS;yBAC7B,CAAC,CAAC;wBACH,OAAO;oBACT,CAAC;oBACD,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YACD,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,MAAM,wBAAwB,CAAC,CACrE,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,aAAa,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,QAAQ,GAAG,gBAAgB,CAAC;QAChC,MAAM;QACN,IAAI;QACJ,QAAQ,EAAE,cAAc;QACxB,KAAK;KACN,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;IAC3D,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE;YACvC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,WAAW,EAAE,OAAO,CAAC,GAAG;YACxB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5B,YAAY,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,KAAK,KAAK;SACpD,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,MAAM,WAAW,CAAC;gBAChB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;gBACjC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE;aACvC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,GAAG,MAAM,yBAAyB;aAC5C,QAAQ,CAAC,cAAc,CAAC;aACxB,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1B,KAAK,MAAM,OAAO,IAAI,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CACP,mCAAmC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CACtE,CACF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAClE,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAE9B,OAAO;SACJ,IAAI,CAAC,MAAM,CAAC;SACZ,WAAW,CACV,mHAAmH,CACpH;SACA,OAAO,CAAC,iBAAiB,EAAE,CAAC;SAC5B,SAAS,CAAC,UAAU,EAAE,CAAC;SACvB,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;SACtD,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC;SACzC,MAAM,CAAC,WAAW,EAAE,qDAAqD,CAAC;SAC1E,MAAM,CACL,cAAc,EACd,yDAAyD,CAC1D;SACA,MAAM,CAAC,OAAO,EAAE,sCAAsC,CAAC;SACvD,MAAM,CAAC,WAAW,EAAE,4BAA4B,CAAC;SACjD,SAAS,CACR,IAAI,MAAM,CACR,aAAa,EACb,0FAA0F,CAC3F,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CACnC;SACA,QAAQ,CAAC,aAAa,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CACL,KAAK,EAAE,WAAiC,EAAE,OAAsB,EAAE,EAAE;QAClE,MAAM,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,2CAA2C,CAAC;SACxD,QAAQ,CAAC,OAAO,EAAE,oCAAoC,CAAC;SACvD,QAAQ,CAAC,SAAS,EAAE,mDAAmD,CAAC;SACxE,QAAQ,CAAC,UAAU,EAAE,uCAAuC,CAAC;SAC7D,MAAM,CACL,CACE,GAAuB,EACvB,KAAyB,EACzB,MAA0B,EAC1B,EAAE;QACF,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,gBAAgB,aAAa,EAAE,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,SAA6B,CAAC;QAClC,IAAI,WAA+B,CAAC;QACpC,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,SAAS,GAAG,KAAK,CAAC;YAClB,WAAW,GAAG,MAAM,CAAC;YACrB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YACzB,SAAS,GAAG,KAAK,CAAC;YAClB,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,SAAS,GAAG,GAAG,CAAC;YAChB,WAAW,GAAG,KAAK,CAAC;YACpB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,GAAG,CAAC;YAChB,KAAK,GAAG,KAAK,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,kCAAkC,SAAS,EAAE,CAAC,CACzD,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,GAAG,SAAS,CAAC,CAAC,CAAC;gBACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,UAAU,GAAQ,WAAW,CAAC;YAClC,MAAM,WAAW,GAAG,OAAQ,OAAe,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC9B,UAAU;oBACR,WAAW,KAAK,MAAM;wBACtB,WAAW,KAAK,GAAG;wBACnB,WAAW,KAAK,KAAK,CAAC;YAC1B,CAAC;iBAAM,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;gBACjC,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,GAAG,CAAC,iBAAiB,SAAS,mBAAmB,CAAC,CACzD,CAAC;oBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YACD,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,SAAS,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAE,SAAS,EAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,wDAAwD,CAAC;SACrE,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;SACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC;SAC/B,MAAM,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;SACrE,MAAM,CAAC,SAAS,EAAE,qBAAqB,CAAC;SACxC,MAAM,CACL,aAAa,EACb,kFAAkF,EAClF,CAAC,KAAa,EAAE,QAA8B,EAAE,EAAE,CAAC;QACjD,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnB,KAAK;KACN,CACF;SACA,MAAM,CAAC,aAAa,EAAE,+BAA+B,CAAC;SACtD,MAAM,CACL,KAAK,EACH,QAAgB,EAChB,MAA0B,EAC1B,OAKC,EACD,EAAE;QACF,MAAM,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC,CACF,CAAC;IAEJ,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,2CAA2C,CAAC;SACxD,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;SACrC,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAsC,EAAE,EAAE;QACzE,MAAM,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,iBAAiB,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,iCAAiC,CAAC;SAC9C,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;SACrC,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;QACjC,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,qDAAqD,CAAC;SAClE,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;SACrC,MAAM,CAAC,KAAK,EAAE,QAAiB,EAAE,EAAE;QAClC,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,+CAA+C,CAAC;SAC5D,QAAQ,CAAC,YAAY,EAAE,gDAAgD,CAAC;SACxE,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,EAAE;QACjC,MAAM,EAAE,iBAAiB,EAAE,GACzB,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;QACjD,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;SACjC,MAAM,CAAC,CAAC,KAAa,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,gBAAgB,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kBAAkB,CAAC;SAC/B,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;SACzC,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;QACvB,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,MAAM;YACvD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,cAAc,CAAC,IAAY,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,+CAA+C,CAAC;SAC5D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;SACrD,MAAM,CAAC,KAAK,EAAE,OAAsC,EAAE,EAAE;QACvD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,EAAE,CAAC;QAC9C,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CACT,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,YAAY,cAAc,OAAO,CAAC,GAAG,EAAE,CACvG,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,iDAAiD,CAAC;SAC9D,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,mBAAmB,CAAC;SAC5B,WAAW,CAAC,iDAAiD,CAAC;SAC9D,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;SAC9C,MAAM,CAAC,CAAC,GAAW,EAAE,EAAE;QACtB,IAAI,GAAG,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC/D,YAAY,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CACT,6GAA6G,CAC9G,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,MAAM,YAAY,GAAG,OAAO;SACzB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,0DAA0D,CAAC,CAAC;IAE3E,YAAY;SACT,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,oCAAoC,CAAC;SACjD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,GAC/D,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACnC,eAAe,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,EAAE,EAAE,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CACT,aAAa,CAAC,KAAK,CAAC;YAClB,CAAC,CAAC,kBAAkB;YACpB,CAAC,CAAC,4BAA4B,CACjC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,YAAY;SACT,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,wCAAwC,CAAC;SACrD,cAAc,CACb,kBAAkB,EAClB,0DAA0D,CAC3D;SACA,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,CAAC;SAC9D,MAAM,CACL,iBAAiB,EACjB,2EAA2E,CAC5E;SACA,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;SAC1C,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC;SAC7C,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;SAC7D,MAAM,CAAC,gBAAgB,EAAE,yBAAyB,EAAE,UAAU,CAAC;SAC/D,MAAM,CACL,uBAAuB,EACvB,mCAAmC,EACnC,UAAU,CACX;SACA,MAAM,CACL,KAAK,EAAE,OASN,EAAE,EAAE;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,CAAC,GAAuB,EAAwB,EAAE,CAC9D,GAAG,KAAK,SAAS;YACf,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,GAAG;iBACA,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;iBAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,aAAa,GAAG,MAAM;YAC1B,CAAC,CAAE,MAAM,CAAC,MAAM,CACZ,CACE,KAAK,EAKiB,EAAE,CACxB;gBACE,OAAO;gBACP,aAAa;gBACb,cAAc;gBACd,mBAAmB;aACpB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAGnB;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,KAAK,GAAG;YACZ,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,iBAAiB,EAAE,OAAO;YAC1B,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACvC,aAAa;YACb,iBAAiB,EAAE,OAAO,CAAC,IAAI;YAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS,EAAE,OAAO,CAAC,OAAO;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,cAAc,EAAE,OAAO,CAAC,cAAc;SACvC,CAAC;QACF,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,CAAC,GAAG,CACT,yBAAyB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,OAAO,CAAC,MAAM,wBAAwB,CAC7G,CAAC;IACJ,CAAC,CACF,CAAC;IAEJ,YAAY;SACT,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,+CAA+C,CAAC;SAC5D,cAAc,CACb,kBAAkB,EAClB,0DAA0D,CAC3D;SACA,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;QAC7C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO;aAC5B,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CACT,SAAS,OAAO,CAAC,MAAM,wCAAwC,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CACjG,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,YAAY;SACT,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACtE,MAAM,UAAU,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,6BAA6B,YAAY,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEL,MAAM,cAAc,GAAG,OAAO;SAC3B,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,wDAAwD,CAAC,CAAC;IAEzE,cAAc;SACX,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CACT,eAAe,GAAG,CAAC,WAAW,2BAA2B,GAAG,CAAC,qBAAqB,IAAI,WAAW,EAAE,CACpG,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,IAAI,CAAC;SACb,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,GAAG,EAAE;QACX,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,GAAG,EAAE;QACX,YAAY,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CACV,gEAAgE,CACjE;SACA,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;SACpC,MAAM,CAAC,CAAC,KAAc,EAAE,EAAE;QACzB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CACT,yBAAyB,SAAS,EAAE,CAAC,qBAAqB,IAAI,WAAW,EAAE,CAC5E,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,YAAY,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC/D,MAAM,CAAC,GAAG,MAAM,eAAe,EAAE,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,MAAM,IAAI,IAAI,GAAG,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,MAAM,cAAc,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CACV,4EAA4E,CAC7E;SACA,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,MAAM,cAAc,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEL,cAAc;SACX,OAAO,CAAC,WAAW,CAAC;SACpB,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC/D,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GACtC,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,MAAM,eAAe,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,MAAM,cAAc,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,MAAM,cAAc,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CACT,YAAY,CAAC,CAAC,MAAM,IAAI,IAAI,YAAY,CAAC,CAAC,OAAO,iBAAiB,CAAC,CAAC,OAAO,GAAG,CAC/E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Runtime registry for user-defined ("custom") LLM providers.
3
+ *
4
+ * Built-in providers live in the compile-time `providerIds` tuple, so their
5
+ * `ProviderId` values are part of the type system. Custom providers are added
6
+ * at runtime by the user (via the `/provider` "Add custom provider" flow) and
7
+ * are plain strings. This module is the single source of truth for those.
8
+ */
9
+ import { type LlmProvider } from "./provider.js";
10
+ /** Persisted shape of one user-defined provider (JSON-serialisable). */
11
+ export interface CustomProviderDef {
12
+ readonly id: string;
13
+ readonly displayName: string;
14
+ /** Normalised base URL ending in `/v1`. */
15
+ readonly baseUrl: string;
16
+ readonly envVar?: string | undefined;
17
+ readonly defaultModel: string;
18
+ }
19
+ /** Build an OpenAI-compatible `LlmProvider` for a custom definition. */
20
+ export declare function buildCustomProvider(def: CustomProviderDef): LlmProvider;
21
+ /** All custom provider ids currently registered in config. */
22
+ export declare function getCustomProviderIds(): Promise<string[]>;
23
+ /** Resolve a custom definition by id (sync, against a provided defs list). */
24
+ export declare function findCustomProviderDef(id: string, defs: readonly CustomProviderDef[]): CustomProviderDef | undefined;
25
+ /** Resolve the `LlmProvider` for a custom provider id. */
26
+ export declare function getCustomProvider(id: string): Promise<LlmProvider | undefined>;
27
+ export declare function getCustomProviderSync(id: string): LlmProvider | undefined;
28
+ /** Invalidate the in-memory provider cache for one id (or all when omitted). */
29
+ export declare function invalidateCustomProviderCache(id?: string): void;
30
+ /** Build an `LlmProvider` from a definition without config (for the add flow). */
31
+ export declare function materializeCustomProvider(def: CustomProviderDef): LlmProvider;
32
+ /** Validate + normalise a candidate custom provider id. Returns `""` on invalid. */
33
+ export declare function normalizeCustomProviderId(raw: string, existing: readonly string[]): string;
34
+ /** Normalise a base URL the way the OpenAI helpers expect (`/v1` suffix). */
35
+ export declare function normalizeCustomBaseUrl(raw: string): string;
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Runtime registry for user-defined ("custom") LLM providers.
3
+ *
4
+ * Built-in providers live in the compile-time `providerIds` tuple, so their
5
+ * `ProviderId` values are part of the type system. Custom providers are added
6
+ * at runtime by the user (via the `/provider` "Add custom provider" flow) and
7
+ * are plain strings. This module is the single source of truth for those.
8
+ */
9
+ import { normalizeEndpointUrl } from "./provider.js";
10
+ import { openAiCompatibleComplete, openAiCompatiblePing, openAiCompatibleStream, toCompletionResult, readJson, ingestOpenAiModelCatalog, } from "./http.js";
11
+ /** Build an OpenAI-compatible `LlmProvider` for a custom definition. */
12
+ export function buildCustomProvider(def) {
13
+ const providerId = def.id;
14
+ const baseUrl = def.baseUrl;
15
+ const modelCache = new Map();
16
+ const CACHE_TTL_MS = 60 * 60 * 1000;
17
+ return {
18
+ id: providerId,
19
+ displayName: def.displayName,
20
+ defaultModel: def.defaultModel,
21
+ ...(def.envVar ? { envVar: def.envVar } : {}),
22
+ validateKey: (key) => key.trim().length >= 8,
23
+ async listModels(auth) {
24
+ const cacheKey = `${baseUrl}|${auth.apiKey ?? ""}`;
25
+ const now = Date.now();
26
+ const cached = modelCache.get(cacheKey);
27
+ if (cached && now - cached.fetchedAt < CACHE_TTL_MS)
28
+ return cached.models;
29
+ try {
30
+ const headers = {};
31
+ if (auth.apiKey)
32
+ headers["authorization"] = `Bearer ${auth.apiKey}`;
33
+ const response = await fetch(`${baseUrl}/models`, { headers });
34
+ const data = await readJson(response);
35
+ const models = ingestOpenAiModelCatalog(providerId, data);
36
+ if (models.length > 0)
37
+ modelCache.set(cacheKey, { models, fetchedAt: now });
38
+ return models;
39
+ }
40
+ catch {
41
+ return [];
42
+ }
43
+ },
44
+ async ping(auth) {
45
+ if (!auth.apiKey)
46
+ throw new Error(`${def.displayName} API key is required`);
47
+ await openAiCompatiblePing(baseUrl, auth.apiKey);
48
+ },
49
+ async complete(request, auth) {
50
+ if (!auth.apiKey)
51
+ throw new Error(`${def.displayName} API key is required`);
52
+ const model = request.model ?? def.defaultModel;
53
+ const payload = await openAiCompatibleComplete({
54
+ provider: def.displayName, providerId, baseUrl, apiKey: auth.apiKey, model,
55
+ messages: request.messages, maxTokens: request.maxTokens,
56
+ temperature: request.temperature, signal: request.signal,
57
+ reasoning: request.thinking, reasoningStyle: "openai",
58
+ tools: request.tools, toolChoice: request.toolChoice,
59
+ parallelToolCalls: request.parallelToolCalls,
60
+ });
61
+ return toCompletionResult(providerId, model, payload);
62
+ },
63
+ async stream(request, auth, onToken) {
64
+ if (!auth.apiKey)
65
+ throw new Error(`${def.displayName} API key is required`);
66
+ const model = request.model ?? def.defaultModel;
67
+ const payload = await openAiCompatibleStream({
68
+ provider: def.displayName, providerId, baseUrl, apiKey: auth.apiKey, model,
69
+ messages: request.messages, maxTokens: request.maxTokens,
70
+ temperature: request.temperature, signal: request.signal, onToken,
71
+ onToolCallDelta: request.onToolCallDelta, reasoning: request.thinking,
72
+ reasoningStyle: "openai", tools: request.tools, toolChoice: request.toolChoice,
73
+ parallelToolCalls: request.parallelToolCalls,
74
+ });
75
+ return toCompletionResult(providerId, model, payload);
76
+ },
77
+ };
78
+ }
79
+ // --- Registry (reads ClaiConfig.customProviders via lazy import) ----------------
80
+ /** Lazily-imported config reader to avoid a circular dep on store/config.js. */
81
+ async function readCustomDefs() {
82
+ const { getCustomProviders } = await import("../store/config.js");
83
+ return getCustomProviders();
84
+ }
85
+ /** All custom provider ids currently registered in config. */
86
+ export async function getCustomProviderIds() {
87
+ const defs = await readCustomDefs();
88
+ return defs.map((d) => d.id);
89
+ }
90
+ /** Resolve a custom definition by id (sync, against a provided defs list). */
91
+ export function findCustomProviderDef(id, defs) {
92
+ return defs.find((d) => d.id === id);
93
+ }
94
+ /** In-memory cache of materialised `LlmProvider` instances keyed by id. */
95
+ const providerCache = new Map();
96
+ /** Resolve the `LlmProvider` for a custom provider id. */
97
+ export async function getCustomProvider(id) {
98
+ const cached = providerCache.get(id);
99
+ if (cached)
100
+ return cached;
101
+ const defs = await readCustomDefs();
102
+ const def = findCustomProviderDef(id, defs);
103
+ if (!def)
104
+ return undefined;
105
+ const built = buildCustomProvider(def);
106
+ providerCache.set(id, built);
107
+ return built;
108
+ }
109
+ /**
110
+ * Sync variant: resolve the `LlmProvider` for a custom provider id by reading
111
+ * the config directly. Used by the router's sync `getProvider` so the provider
112
+ * map lookup works for custom ids without an `await`.
113
+ *
114
+ * The static import of `getCustomProviders` below does NOT create a runtime
115
+ * cycle: `store/config.js` only imports the `CustomProviderDef` *type* from
116
+ * this module (erased at compile time), so there is no runtime edge from
117
+ * config → custom-providers to close the loop.
118
+ */
119
+ import { getCustomProviders } from "../store/config.js";
120
+ export function getCustomProviderSync(id) {
121
+ const cached = providerCache.get(id);
122
+ if (cached)
123
+ return cached;
124
+ const def = findCustomProviderDef(id, getCustomProviders());
125
+ if (!def)
126
+ return undefined;
127
+ const built = buildCustomProvider(def);
128
+ providerCache.set(id, built);
129
+ return built;
130
+ }
131
+ /** Invalidate the in-memory provider cache for one id (or all when omitted). */
132
+ export function invalidateCustomProviderCache(id) {
133
+ if (id)
134
+ providerCache.delete(id);
135
+ else
136
+ providerCache.clear();
137
+ }
138
+ /** Build an `LlmProvider` from a definition without config (for the add flow). */
139
+ export function materializeCustomProvider(def) {
140
+ return buildCustomProvider(def);
141
+ }
142
+ /** Validate + normalise a candidate custom provider id. Returns `""` on invalid. */
143
+ export function normalizeCustomProviderId(raw, existing) {
144
+ const id = raw.trim().toLowerCase();
145
+ if (!id)
146
+ return "";
147
+ if (!/^[a-z0-9][a-z0-9-]*$/.test(id))
148
+ return "";
149
+ if (existing.includes(id))
150
+ return "";
151
+ return id;
152
+ }
153
+ /** Normalise a base URL the way the OpenAI helpers expect (`/v1` suffix). */
154
+ export function normalizeCustomBaseUrl(raw) {
155
+ return normalizeEndpointUrl(raw);
156
+ }
157
+ //# sourceMappingURL=custom-providers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-providers.js","sourceRoot":"","sources":["../../src/llm/custom-providers.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,13 @@ export interface ProviderAuth {
17
17
  export declare const providerAliases: Record<string, ProviderId>;
18
18
  export declare const defaultModels: Record<ProviderId, string>;
19
19
  export declare const envVars: Record<ProviderId, string | undefined>;
20
+ /** Resolve the env var for any provider, including user-defined custom ones. */
21
+ export declare function getEnvVar(provider: ProviderId): string | undefined;
22
+ export declare function setEnvVarResolver(resolver: ((provider: ProviderId) => string | undefined) | undefined): void;
20
23
  export declare function normalizeProvider(value: string): ProviderId | undefined;
21
24
  export declare function assertProvider(value: string): ProviderId;
22
25
  export declare function getDefaultModel(provider: ProviderId): string;
26
+ export declare function setCustomProviderResolver(resolver: ((id: string) => boolean) | undefined): void;
23
27
  export declare function sanitizeProviderModel(provider: ProviderId, model: string): string;
24
28
  /**
25
29
  * Normalize a user-supplied OpenAI-compatible base URL so the HTTP helpers can
@@ -38,3 +42,5 @@ export declare function maskSecretTail(secret: string): string;
38
42
  export declare function redactSecrets(value: string): string;
39
43
  export declare const providerInfo: Record<string, string>;
40
44
  export declare function getProviderInfoText(provider: string): string;
45
+ export declare function setCustomProviderInfoResolver(resolver: ((provider: string) => string | undefined) | undefined): void;
46
+ export declare function setCustomDefaultModelResolver(resolver: ((provider: ProviderId) => string | undefined) | undefined): void;
@@ -102,18 +102,52 @@ export const envVars = {
102
102
  lightning: "LIGHTNING_API_KEY",
103
103
  tokenrouter: "TOKENROUTER_API_KEY",
104
104
  };
105
+ /** Resolve the env var for any provider, including user-defined custom ones. */
106
+ export function getEnvVar(provider) {
107
+ if (envVars[provider])
108
+ return envVars[provider];
109
+ return envVarResolver?.(provider);
110
+ }
111
+ /** Injected resolver for custom-provider env vars (avoids a static import cycle). */
112
+ let envVarResolver;
113
+ export function setEnvVarResolver(resolver) {
114
+ envVarResolver = resolver;
115
+ }
105
116
  export function normalizeProvider(value) {
106
- return providerAliases[value.trim().toLowerCase()];
117
+ const alias = providerAliases[value.trim().toLowerCase()];
118
+ if (alias)
119
+ return alias;
120
+ // Custom (user-defined) providers: the id is its own alias. The resolver is
121
+ // injected by `store/config.ts` at bootstrap to avoid a static import cycle
122
+ // (config.ts imports defaultModels from this module).
123
+ const lower = value.trim().toLowerCase();
124
+ if (customProviderResolver?.(lower))
125
+ return lower;
126
+ return undefined;
107
127
  }
108
128
  export function assertProvider(value) {
109
129
  const provider = normalizeProvider(value);
110
130
  if (!provider) {
111
- throw new Error(`Unsupported provider "${value}". Supported providers: ${providerIds.join(", ")}`);
131
+ throw new Error(`Unsupported provider "${value}". Supported providers: ${providerIds.join(", ")}${customProviderResolver ? " (plus any custom providers you added)" : ""}`);
112
132
  }
113
133
  return provider;
114
134
  }
115
135
  export function getDefaultModel(provider) {
116
- return defaultModels[provider];
136
+ // Built-ins read from the static map; custom providers fall back to the
137
+ // injected resolver (wired from store/config.js) so /keys shows their model.
138
+ if (defaultModels[provider])
139
+ return defaultModels[provider];
140
+ return customDefaultModelResolver?.(provider) ?? "";
141
+ }
142
+ /**
143
+ * Inject the custom-provider id resolver (called once at bootstrap from
144
+ * `store/config.ts`). Returns `true` when `id` matches a user-defined custom
145
+ * provider. Kept here (rather than a static import) to avoid a config ↔
146
+ * provider import cycle.
147
+ */
148
+ let customProviderResolver;
149
+ export function setCustomProviderResolver(resolver) {
150
+ customProviderResolver = resolver;
117
151
  }
118
152
  export function sanitizeProviderModel(provider, model) {
119
153
  const normalized = model.trim();
@@ -456,6 +490,24 @@ Plan expires
456
490
  No expiry`,
457
491
  };
458
492
  export function getProviderInfoText(provider) {
459
- return providerInfo[provider.toLowerCase()] ?? "no info available";
493
+ const known = providerInfo[provider.toLowerCase()];
494
+ if (known)
495
+ return known;
496
+ // Custom (user-defined) providers: generate a basic info page from the
497
+ // stored definition so /info <custom-provider> is still useful.
498
+ const custom = customProviderInfoResolver?.(provider);
499
+ if (custom)
500
+ return custom;
501
+ return "no info available";
502
+ }
503
+ /** Injected resolver that builds an info page for a custom provider id. */
504
+ let customProviderInfoResolver;
505
+ export function setCustomProviderInfoResolver(resolver) {
506
+ customProviderInfoResolver = resolver;
507
+ }
508
+ /** Injected resolver returning the default model for a custom provider id. */
509
+ let customDefaultModelResolver;
510
+ export function setCustomDefaultModelResolver(resolver) {
511
+ customDefaultModelResolver = resolver;
460
512
  }
461
513
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/llm/provider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA0B1C,MAAM,CAAC,MAAM,eAAe,GAA+B;IACzD,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,YAAY;IACxB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,QAAQ;IACb,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,aAAa;IAC7B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,YAAY;IAC1B,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,QAAQ;IACzB,UAAU,EAAE,QAAQ;IACpB,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,YAAY;IAClB,YAAY,EAAE,YAAY;IAC1B,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,OAAO;IACrB,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,WAAW;IAC3B,WAAW,EAAE,WAAW;IACxB,cAAc,EAAE,WAAW;IAC3B,KAAK,EAAE,WAAW;IAClB,WAAW,EAAE,aAAa;IAC1B,cAAc,EAAE,aAAa;IAC7B,EAAE,EAAE,aAAa;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAA+B;IACvD,IAAI,EAAE,yBAAyB;IAC/B,MAAM,EAAE,kBAAkB;IAC1B,UAAU,EAAE,wCAAwC;IACpD,MAAM,EAAE,cAAc;IACtB,SAAS,EAAE,yBAAyB;IACpC,MAAM,EAAE,oBAAoB;IAC5B,WAAW,EAAE,iBAAiB;IAC9B,MAAM,EAAE,WAAW;IACnB,YAAY,EAAE,4BAA4B;IAC1C,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,cAAc;IAC5B,6EAA6E;IAC7E,KAAK,EAAE,oBAAoB;IAC3B,+CAA+C;IAC/C,SAAS,EAAE,cAAc;IACzB,2EAA2E;IAC3E,WAAW,EAAE,WAAW;CACzB,CAAC;AAEF,MAAM,wBAAwB,GAAwD;IACpF,IAAI,EAAE;QACJ,cAAc,EAAE,sBAAsB;QACtC,6BAA6B,EAAE,qBAAqB;QACpD,+BAA+B,EAAE,yBAAyB;QAC1D,iBAAiB,EAAE,yBAAyB;QAC5C,gBAAgB,EAAE,sBAAsB;QACxC,+CAA+C,EAC7C,2CAA2C;KAC9C;IACD,MAAM,EAAE;QACN,kBAAkB,EAAE,kBAAkB;QACtC,uBAAuB,EAAE,uBAAuB;KACjD;IACD,MAAM,EAAE;QACN,yEAAyE;QACzE,0DAA0D;QAC1D,wCAAwC,EAAE,aAAa,CAAC,MAAM;KAC/D;IACD,MAAM,EAAE;QACN,4DAA4D;QAC5D,aAAa,EAAE,cAAc;QAC7B,QAAQ,EAAE,SAAS;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAA2C;IAC7D,IAAI,EAAE,cAAc;IACpB,MAAM,EAAE,gBAAgB;IACxB,UAAU,EAAE,oBAAoB;IAChC,MAAM,EAAE,gBAAgB;IACxB,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE,gBAAgB;IACxB,WAAW,EAAE,qBAAqB;IAClC,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,mBAAmB;IACjC,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,gBAAgB;IACxB,YAAY,EAAE,mBAAmB;IACjC,yEAAyE;IACzE,4EAA4E;IAC5E,kDAAkD;IAClD,KAAK,EAAE,sBAAsB;IAC7B,SAAS,EAAE,mBAAmB;IAC9B,WAAW,EAAE,qBAAqB;CACnC,CAAC;AAEF,gFAAgF;AAChF,MAAM,UAAU,SAAS,CAAC,QAAoB;IAC5C,IAAI,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC;AAED,qFAAqF;AACrF,IAAI,cAA0E,CAAC;AAE/E,MAAM,UAAU,iBAAiB,CAC/B,QAAoE;IAEpE,cAAc,GAAG,QAAQ,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1D,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,4EAA4E;IAC5E,4EAA4E;IAC5E,sDAAsD;IACtD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,sBAAsB,EAAE,CAAC,KAAK,CAAC;QAAE,OAAO,KAAmB,CAAC;IAChE,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,yBAAyB,KAAK,2BAA2B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3J,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAoB;IAClD,wEAAwE;IACxE,6EAA6E;IAC7E,IAAI,aAAa,CAAC,QAAQ,CAAC;QAAE,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5D,OAAO,0BAA0B,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;AACtD,CAAC;AAED;;;;;GAKG;AACH,IAAI,sBAA6D,CAAC;AAElE,MAAM,UAAU,yBAAyB,CACvC,QAA+C;IAE/C,sBAAsB,GAAG,QAAQ,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAoB,EAAE,KAAa;IACvE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,WAAW,GACf,wBAAwB,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;IACjE,OAAO,WAAW,IAAI,UAAU,CAAC;AACnC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACvB,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,WAAW,KAAK,EAAE,CAAC;IAC7D,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC7E,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,KAAK,GAAG,GAAG,KAAK,KAAK,CAAC;IACnD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,wEAAwE;IACxE,mEAAmE;IACnE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,UAAU,CAAC;IAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACzB,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK;SACT,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC;SAC5C,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC;SAC5C,OAAO,CAAC,qBAAqB,EAAE,WAAW,CAAC;SAC3C,OAAO,CAAC,qBAAqB,EAAE,WAAW,CAAC;SAC3C,OAAO,CAAC,uBAAuB,EAAE,cAAc,CAAC;SAChD,OAAO,CAAC,wBAAwB,EAAE,eAAe,CAAC;SAClD,OAAO,CAAC,uBAAuB,EAAE,cAAc,CAAC;QACjD,uEAAuE;QACvE,sDAAsD;SACrD,OAAO,CAAC,wBAAwB,EAAE,WAAW,CAAC;SAC9C,OAAO,CAAC,wBAAwB,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAA2B;IAClD,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAgEmB;IAChC,SAAS,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oFA4EuE;IAClF,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA2H0B;IACjC,MAAM,EAAE;;;;;;;;;;;;;;;UAeA;CACT,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC;IACxB,uEAAuE;IACvE,gEAAgE;IAChE,MAAM,MAAM,GAAG,0BAA0B,EAAE,CAAC,QAAQ,CAAC,CAAC;IACtD,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AAED,2EAA2E;AAC3E,IAAI,0BAES,CAAC;AAEd,MAAM,UAAU,6BAA6B,CAC3C,QAAgE;IAEhE,0BAA0B,GAAG,QAAQ,CAAC;AACxC,CAAC;AAED,8EAA8E;AAC9E,IAAI,0BAES,CAAC;AAEd,MAAM,UAAU,6BAA6B,CAC3C,QAAoE;IAEpE,0BAA0B,GAAG,QAAQ,CAAC;AACxC,CAAC"}