@botconnector/bccli 0.4.8 → 0.4.10

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 (48) hide show
  1. package/dist/{acp-VEXFXT5P.js → acp-L4WGVJTY.js} +2 -2
  2. package/dist/{args-6XMUZDAK.js → args-EW7XJVQN.js} +4 -4
  3. package/dist/args.d.ts +6 -0
  4. package/dist/{chunk-OETLWNGS.js → chunk-24KDXQZT.js} +1 -1
  5. package/dist/{chunk-OUJRD7GG.js → chunk-3K66L37W.js} +8 -3
  6. package/dist/{chunk-CSIQDFEF.js → chunk-3PUWH62K.js} +1 -1
  7. package/dist/{chunk-WSSJH765.js → chunk-4WI5ON64.js} +1 -1
  8. package/dist/{chunk-KREGVQ63.js → chunk-5QCCV2JM.js} +11 -11
  9. package/dist/{chunk-RRECJTOG.js → chunk-67REFMSY.js} +1 -1
  10. package/dist/{chunk-TLCFBQ6E.js → chunk-6N2BBLIT.js} +2 -2
  11. package/dist/{chunk-EAR2C6TS.js → chunk-6RVAPAE5.js} +1 -1
  12. package/dist/{chunk-2YG6L3YO.js → chunk-7HDBPDAD.js} +2 -2
  13. package/dist/{chunk-O6NTUSSE.js → chunk-CBD52BYV.js} +1 -1
  14. package/dist/{chunk-Z2ELYJ5O.js → chunk-CIEPLTGS.js} +10 -3
  15. package/dist/{chunk-XCVYR5BK.js → chunk-ED5TTYQU.js} +12 -1
  16. package/dist/{chunk-62UTSCWF.js → chunk-MPYSYTSO.js} +1 -1
  17. package/dist/{chunk-AWBEZY4D.js → chunk-PGDYPOQW.js} +7 -5
  18. package/dist/{chunk-HPYI7L4W.js → chunk-SXRQ2Q7A.js} +4 -4
  19. package/dist/{chunk-DRJSANKH.js → chunk-USFXL5BS.js} +4 -2
  20. package/dist/{chunk-EOJNFGOP.js → chunk-VXRW5SYP.js} +74 -15
  21. package/dist/{chunk-6H6MPG7L.js → chunk-ZWXKBFKW.js} +7 -7
  22. package/dist/cli.js +39 -39
  23. package/dist/{completion-FETH4OGC.js → completion-GEFRIQWV.js} +1 -1
  24. package/dist/{config-RVMC23W3.js → config-JKMYKNAT.js} +2 -2
  25. package/dist/{config-KR5JI5RA.js → config-JLOH5M6B.js} +3 -3
  26. package/dist/{ghBotCli-Z6GWXCJ6.js → ghBotCli-WEVS6S6O.js} +14 -14
  27. package/dist/{integrationCli-GPRR6J6W.js → integrationCli-PKMICTHC.js} +2 -2
  28. package/dist/{login-DFSN77L3.js → login-2TZRODUL.js} +4 -4
  29. package/dist/{mcpCli-64P3SVUE.js → mcpCli-TAPKYGHO.js} +22 -7
  30. package/dist/{modelsCli-PFQY3G2Q.js → modelsCli-6PK7V2QZ.js} +6 -6
  31. package/dist/{oauthLogin-NR22NWEV.js → oauthLogin-UI34LQZU.js} +1 -1
  32. package/dist/{pluginsCli-UKRJ3AHN.js → pluginsCli-RCF33U5J.js} +6 -2
  33. package/dist/{prCli-6FCI36AJ.js → prCli-24PMW7NS.js} +1 -1
  34. package/dist/print.d.ts +1 -0
  35. package/dist/providerCli-XA4LTWRD.js +15 -0
  36. package/dist/sdk.js +93 -15
  37. package/dist/{serve-DTTFDRUY.js → serve-7BFCIEPJ.js} +27 -16
  38. package/dist/{serve-PKUTKQQT.js → serve-XNJI67DU.js} +3 -3
  39. package/dist/session-VAPIHHUG.js +12 -0
  40. package/dist/setup-GPIMZOWE.js +24 -0
  41. package/dist/{statsCli-FR7GOKWO.js → statsCli-QDHE4TKB.js} +1 -1
  42. package/dist/{transferCli-GIE4MEJ4.js → transferCli-7OKKYGG2.js} +4 -4
  43. package/dist/{ui-NZVOCQSU.js → ui-SZAIIJC5.js} +12 -12
  44. package/dist/{update-W2D2XJVP.js → update-JSNVVXPS.js} +2 -2
  45. package/package.json +1 -1
  46. package/dist/providerCli-PBSZECBM.js +0 -15
  47. package/dist/session-XABMBIIF.js +0 -12
  48. package/dist/setup-CLPQLTM7.js +0 -24
package/dist/cli.js CHANGED
@@ -3,47 +3,47 @@ import {
3
3
  resolvePrintPrompt,
4
4
  resolveWorktree,
5
5
  runPrint
6
- } from "./chunk-OUJRD7GG.js";
6
+ } from "./chunk-3K66L37W.js";
7
7
  import {
8
8
  createRuntime
9
- } from "./chunk-KREGVQ63.js";
9
+ } from "./chunk-5QCCV2JM.js";
10
10
  import "./chunk-OK2USAXX.js";
11
- import "./chunk-CSIQDFEF.js";
12
- import "./chunk-WSSJH765.js";
11
+ import "./chunk-3PUWH62K.js";
12
+ import "./chunk-4WI5ON64.js";
13
13
  import "./chunk-PSO7R5AD.js";
14
14
  import {
15
15
  VERSION
16
- } from "./chunk-O6NTUSSE.js";
16
+ } from "./chunk-CBD52BYV.js";
17
17
  import {
18
18
  helpText,
19
19
  parseCliArgs
20
- } from "./chunk-Z2ELYJ5O.js";
20
+ } from "./chunk-CIEPLTGS.js";
21
21
  import "./chunk-WFZKJY3R.js";
22
- import "./chunk-AWBEZY4D.js";
23
- import "./chunk-HPYI7L4W.js";
22
+ import "./chunk-PGDYPOQW.js";
23
+ import "./chunk-SXRQ2Q7A.js";
24
24
  import {
25
25
  readGlobalConfigFile
26
- } from "./chunk-62UTSCWF.js";
26
+ } from "./chunk-MPYSYTSO.js";
27
27
  import {
28
28
  defaultLoginDeps,
29
29
  runLogin
30
- } from "./chunk-6H6MPG7L.js";
31
- import "./chunk-RRECJTOG.js";
30
+ } from "./chunk-ZWXKBFKW.js";
31
+ import "./chunk-67REFMSY.js";
32
32
  import {
33
33
  pruneSessions
34
- } from "./chunk-OETLWNGS.js";
35
- import "./chunk-EOJNFGOP.js";
36
- import "./chunk-EAR2C6TS.js";
37
- import "./chunk-2YG6L3YO.js";
34
+ } from "./chunk-24KDXQZT.js";
35
+ import "./chunk-VXRW5SYP.js";
36
+ import "./chunk-6RVAPAE5.js";
37
+ import "./chunk-7HDBPDAD.js";
38
38
  import {
39
39
  ConfigError,
40
40
  setTheme
41
- } from "./chunk-DRJSANKH.js";
41
+ } from "./chunk-USFXL5BS.js";
42
42
  import {
43
43
  resolveLanguage,
44
44
  setLanguage,
45
45
  t
46
- } from "./chunk-XCVYR5BK.js";
46
+ } from "./chunk-ED5TTYQU.js";
47
47
 
48
48
  // src/exit.ts
49
49
  var EXIT_GRACE_MS = 1e3;
@@ -85,17 +85,17 @@ async function main() {
85
85
  if (args.worktree) cwd = (await resolveWorktree(cwd, args.worktree)).path;
86
86
  if (args.command === "login") return runLogin(args.loginProvider ?? "bc-cloud", cwd, args, defaultLoginDeps());
87
87
  if (args.command === "mcp") {
88
- const { runMcpCommand } = await import("./mcpCli-64P3SVUE.js");
89
- const { readSecret } = await import("./login-DFSN77L3.js");
88
+ const { runMcpCommand } = await import("./mcpCli-TAPKYGHO.js");
89
+ const { readSecret } = await import("./login-2TZRODUL.js");
90
90
  return runMcpCommand(args, { env: process.env, cwd, out: (s) => console.log(s), err: (s) => console.error(s), readSecret });
91
91
  }
92
92
  if (args.command === "provider") {
93
- const { runProviderCommand } = await import("./providerCli-PBSZECBM.js");
94
- const { readSecret } = await import("./login-DFSN77L3.js");
93
+ const { runProviderCommand } = await import("./providerCli-XA4LTWRD.js");
94
+ const { readSecret } = await import("./login-2TZRODUL.js");
95
95
  return runProviderCommand(args, { env: process.env, cwd, out: (s) => console.log(s), err: (s) => console.error(s), readSecret });
96
96
  }
97
97
  if (args.command === "connect" || args.command === "disconnect" || args.command === "integrations") {
98
- const { runIntegrationCommand } = await import("./integrationCli-GPRR6J6W.js");
98
+ const { runIntegrationCommand } = await import("./integrationCli-PKMICTHC.js");
99
99
  return runIntegrationCommand(args, {
100
100
  env: process.env,
101
101
  cwd,
@@ -105,20 +105,20 @@ async function main() {
105
105
  });
106
106
  }
107
107
  if (args.command === "models") {
108
- const { runModelsCommand } = await import("./modelsCli-PFQY3G2Q.js");
108
+ const { runModelsCommand } = await import("./modelsCli-6PK7V2QZ.js");
109
109
  return runModelsCommand(args, { env: process.env, cwd, out: (s) => console.log(s), err: (s) => console.error(s), fetch: globalThis.fetch });
110
110
  }
111
111
  if (args.command === "update") {
112
- const { runUpdateCommand } = await import("./update-W2D2XJVP.js");
112
+ const { runUpdateCommand } = await import("./update-JSNVVXPS.js");
113
113
  return runUpdateCommand({ env: process.env });
114
114
  }
115
115
  if (args.command === "acp") {
116
- const { runtimeAgent, runAcp } = await import("./acp-VEXFXT5P.js");
116
+ const { runtimeAgent, runAcp } = await import("./acp-L4WGVJTY.js");
117
117
  await runAcp(process.stdin, process.stdout, { cwd, newAgent: (c) => runtimeAgent(c, args.allowAll) });
118
118
  return 0;
119
119
  }
120
120
  if (args.command === "serve") {
121
- const { serveBanner, startServe } = await import("./serve-DTTFDRUY.js");
121
+ const { serveBanner, startServe } = await import("./serve-7BFCIEPJ.js");
122
122
  const handle = await startServe({ port: args.port, host: args.host, token: args.token, cwd, env: process.env });
123
123
  process.stderr.write(serveBanner(handle, { token: args.token }));
124
124
  await new Promise((resolve) => {
@@ -131,8 +131,8 @@ async function main() {
131
131
  return 0;
132
132
  }
133
133
  if (args.command === "plugins") {
134
- const { runPluginsCommand } = await import("./pluginsCli-UKRJ3AHN.js");
135
- const { readGlobalPlugins, updateGlobalConfig } = await import("./config-RVMC23W3.js");
134
+ const { runPluginsCommand } = await import("./pluginsCli-RCF33U5J.js");
135
+ const { readGlobalPlugins, updateGlobalConfig } = await import("./config-JKMYKNAT.js");
136
136
  const { runNpmSync } = await import("./npmRunner-LU43GM3W.js");
137
137
  return runPluginsCommand(args, {
138
138
  out: (s) => console.log(s),
@@ -146,30 +146,30 @@ async function main() {
146
146
  });
147
147
  }
148
148
  if (args.command === "gh-bot") {
149
- const { runGhBotCommand } = await import("./ghBotCli-Z6GWXCJ6.js");
149
+ const { runGhBotCommand } = await import("./ghBotCli-WEVS6S6O.js");
150
150
  return runGhBotCommand(args, { env: process.env, cwd, out: (s) => console.log(s), err: (s) => console.error(s) });
151
151
  }
152
152
  if (args.command === "completion") {
153
- const { runCompletionCommand } = await import("./completion-FETH4OGC.js");
153
+ const { runCompletionCommand } = await import("./completion-GEFRIQWV.js");
154
154
  return runCompletionCommand(args, { out: (s) => console.log(s), err: (s) => console.error(s) });
155
155
  }
156
156
  if (args.command === "stats") {
157
- const { runStatsCommand } = await import("./statsCli-FR7GOKWO.js");
158
- const { bccliHome } = await import("./config-RVMC23W3.js");
157
+ const { runStatsCommand } = await import("./statsCli-QDHE4TKB.js");
158
+ const { bccliHome } = await import("./config-JKMYKNAT.js");
159
159
  return runStatsCommand(
160
160
  { subArgs: args.subArgs, home: bccliHome(process.env), cwd, days: args.days, tools: args.tools, models: args.models, project: args.project },
161
161
  { out: (s) => console.log(s), err: (s) => console.error(s) }
162
162
  );
163
163
  }
164
164
  if (args.command === "export" || args.command === "import") {
165
- const { runExportCommand, runImportCommand } = await import("./transferCli-GIE4MEJ4.js");
166
- const { bccliHome } = await import("./config-RVMC23W3.js");
165
+ const { runExportCommand, runImportCommand } = await import("./transferCli-7OKKYGG2.js");
166
+ const { bccliHome } = await import("./config-JKMYKNAT.js");
167
167
  const deps = { subArgs: args.subArgs, home: bccliHome(process.env), cwd };
168
168
  const io = { out: (s) => console.log(s), err: (s) => console.error(s) };
169
169
  return args.command === "export" ? runExportCommand(deps, io) : runImportCommand(deps, io);
170
170
  }
171
171
  if (args.command === "pr") {
172
- const { runPrCommand } = await import("./prCli-6FCI36AJ.js");
172
+ const { runPrCommand } = await import("./prCli-24PMW7NS.js");
173
173
  return runPrCommand(
174
174
  {
175
175
  subArgs: args.subArgs,
@@ -199,14 +199,14 @@ async function main() {
199
199
  }
200
200
  const finalPrompt = resolvePrintPrompt(args.prompt, stdinText);
201
201
  if (!finalPrompt) throw new ConfigError(t('-p mode needs a task, e.g. bccli -p "explain this repo"'));
202
- const { serversToStart } = await import("./config-KR5JI5RA.js");
202
+ const { serversToStart } = await import("./config-JLOH5M6B.js");
203
203
  const plan = serversToStart(rt.home, cwd);
204
204
  for (const s of plan.needTrust) {
205
205
  console.error(t('Project MCP server "{name}" skipped (not approved yet; run interactive bccli once to approve it).', { name: s.name }));
206
206
  }
207
207
  await rt.startMcp(plan.start);
208
208
  try {
209
- return await runPrint(rt, finalPrompt, void 0, { allowAll: args.allowAll, outputFormat: args.outputFormat });
209
+ return await runPrint(rt, finalPrompt, void 0, { allowAll: args.allowAll, outputFormat: args.outputFormat, failOnToolError: args.failOnToolError });
210
210
  } finally {
211
211
  await rt.mcp.stop();
212
212
  }
@@ -215,13 +215,13 @@ async function main() {
215
215
  let updateMessage;
216
216
  if (rt.config.updateCheck !== "off" && !process.env.BCCLI_NO_UPDATE_CHECK) {
217
217
  try {
218
- const { checkForUpdate } = await import("./update-W2D2XJVP.js");
218
+ const { checkForUpdate } = await import("./update-JSNVVXPS.js");
219
219
  const update = await checkForUpdate({ home: rt.home, fetch: globalThis.fetch, now: /* @__PURE__ */ new Date() });
220
220
  updateMessage = update;
221
221
  } catch {
222
222
  }
223
223
  }
224
- const { startInteractive } = await import("./ui-NZVOCQSU.js");
224
+ const { startInteractive } = await import("./ui-SZAIIJC5.js");
225
225
  return startInteractive(rt, { initialPrompt: args.prompt, resume: args.resume, version: VERSION, updateMessage });
226
226
  }
227
227
  main().then(
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  t
4
- } from "./chunk-XCVYR5BK.js";
4
+ } from "./chunk-ED5TTYQU.js";
5
5
 
6
6
  // src/completion.ts
7
7
  var SHELLS = ["bash", "zsh", "fish", "powershell"];
@@ -14,8 +14,8 @@ import {
14
14
  saveCredential,
15
15
  updateGlobalConfig,
16
16
  writeFileAtomic
17
- } from "./chunk-DRJSANKH.js";
18
- import "./chunk-XCVYR5BK.js";
17
+ } from "./chunk-USFXL5BS.js";
18
+ import "./chunk-ED5TTYQU.js";
19
19
  export {
20
20
  ConfigError,
21
21
  DEFAULT_MAX_STEPS,
@@ -9,9 +9,9 @@ import {
9
9
  removeGlobalServer,
10
10
  serversToStart,
11
11
  setProjectTrust
12
- } from "./chunk-2YG6L3YO.js";
13
- import "./chunk-DRJSANKH.js";
14
- import "./chunk-XCVYR5BK.js";
12
+ } from "./chunk-7HDBPDAD.js";
13
+ import "./chunk-USFXL5BS.js";
14
+ import "./chunk-ED5TTYQU.js";
15
15
  export {
16
16
  addGlobalServer,
17
17
  expandEnvVars,
@@ -1,32 +1,32 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  createRuntime
4
- } from "./chunk-KREGVQ63.js";
4
+ } from "./chunk-5QCCV2JM.js";
5
5
  import "./chunk-OK2USAXX.js";
6
- import "./chunk-CSIQDFEF.js";
7
- import "./chunk-WSSJH765.js";
6
+ import "./chunk-3PUWH62K.js";
7
+ import "./chunk-4WI5ON64.js";
8
8
  import "./chunk-PSO7R5AD.js";
9
9
  import {
10
10
  LOOPBACK_BIND,
11
11
  parseCliArgs
12
- } from "./chunk-Z2ELYJ5O.js";
12
+ } from "./chunk-CIEPLTGS.js";
13
13
  import "./chunk-WFZKJY3R.js";
14
- import "./chunk-AWBEZY4D.js";
15
- import "./chunk-HPYI7L4W.js";
16
- import "./chunk-62UTSCWF.js";
17
- import "./chunk-RRECJTOG.js";
18
- import "./chunk-OETLWNGS.js";
19
- import "./chunk-EOJNFGOP.js";
20
- import "./chunk-EAR2C6TS.js";
21
- import "./chunk-2YG6L3YO.js";
14
+ import "./chunk-PGDYPOQW.js";
15
+ import "./chunk-SXRQ2Q7A.js";
16
+ import "./chunk-MPYSYTSO.js";
17
+ import "./chunk-67REFMSY.js";
18
+ import "./chunk-24KDXQZT.js";
19
+ import "./chunk-VXRW5SYP.js";
20
+ import "./chunk-6RVAPAE5.js";
21
+ import "./chunk-7HDBPDAD.js";
22
22
  import {
23
23
  ConfigError,
24
24
  globalConfigPath,
25
25
  readJsonConfig
26
- } from "./chunk-DRJSANKH.js";
26
+ } from "./chunk-USFXL5BS.js";
27
27
  import {
28
28
  t
29
- } from "./chunk-XCVYR5BK.js";
29
+ } from "./chunk-ED5TTYQU.js";
30
30
 
31
31
  // src/ghBotWebhook.ts
32
32
  import { createHmac, timingSafeEqual } from "crypto";
@@ -5,10 +5,10 @@ import {
5
5
  loadConfig,
6
6
  readCredentials,
7
7
  resolveModel
8
- } from "./chunk-DRJSANKH.js";
8
+ } from "./chunk-USFXL5BS.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-XCVYR5BK.js";
11
+ } from "./chunk-ED5TTYQU.js";
12
12
 
13
13
  // src/integrationCli.ts
14
14
  import { chmodSync, copyFileSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "fs";
@@ -4,10 +4,10 @@ import {
4
4
  readLine,
5
5
  readSecret,
6
6
  runLogin
7
- } from "./chunk-6H6MPG7L.js";
8
- import "./chunk-RRECJTOG.js";
9
- import "./chunk-DRJSANKH.js";
10
- import "./chunk-XCVYR5BK.js";
7
+ } from "./chunk-ZWXKBFKW.js";
8
+ import "./chunk-67REFMSY.js";
9
+ import "./chunk-USFXL5BS.js";
10
+ import "./chunk-ED5TTYQU.js";
11
11
  export {
12
12
  defaultLoginDeps,
13
13
  readLine,
@@ -2,30 +2,30 @@
2
2
  import {
3
3
  CATALOG,
4
4
  fillTemplate
5
- } from "./chunk-TLCFBQ6E.js";
5
+ } from "./chunk-6N2BBLIT.js";
6
6
  import {
7
7
  authorizeMcpServer,
8
8
  clearTokens
9
- } from "./chunk-RRECJTOG.js";
9
+ } from "./chunk-67REFMSY.js";
10
10
  import {
11
11
  addGlobalServer,
12
12
  globalMcpPath,
13
13
  readMcpFile,
14
14
  removeGlobalServer
15
- } from "./chunk-2YG6L3YO.js";
15
+ } from "./chunk-7HDBPDAD.js";
16
16
  import {
17
17
  bccliHome
18
- } from "./chunk-DRJSANKH.js";
18
+ } from "./chunk-USFXL5BS.js";
19
19
  import {
20
20
  t
21
- } from "./chunk-XCVYR5BK.js";
21
+ } from "./chunk-ED5TTYQU.js";
22
22
 
23
23
  // src/mcpCli.ts
24
24
  async function runMcpCommand(args, deps) {
25
25
  const home = bccliHome(deps.env);
26
26
  const [action = "list", name] = args.subArgs;
27
27
  if (action === "serve") {
28
- const { runMcpServe } = await import("./serve-PKUTKQQT.js");
28
+ const { runMcpServe } = await import("./serve-XNJI67DU.js");
29
29
  return runMcpServe(args, deps);
30
30
  }
31
31
  const installed = readMcpFile(globalMcpPath(home));
@@ -74,9 +74,24 @@ async function runMcpCommand(args, deps) {
74
74
  deps.out(t("{name} installed ({url}).", { name, url: args.url }));
75
75
  return 0;
76
76
  }
77
+ if (args.stdioCommand) {
78
+ const env = Object.fromEntries(
79
+ args.values.filter((v) => v.includes("=")).map((v) => [v.slice(0, v.indexOf("=")), v.slice(v.indexOf("=") + 1)])
80
+ );
81
+ const serverArgs = (args.stdioArgs ?? "").split(/\s+/).filter(Boolean);
82
+ addGlobalServer(home, name, {
83
+ command: args.stdioCommand,
84
+ ...serverArgs.length ? { args: serverArgs } : {},
85
+ ...Object.keys(env).length ? { env } : {}
86
+ });
87
+ deps.out(t("{name} installed (stdio: {command}).", { name, command: args.stdioCommand }));
88
+ return 0;
89
+ }
77
90
  const entry = CATALOG.find((c) => c.name === name);
78
91
  if (!entry) {
79
- deps.err(t("{name} is not in the catalog. For another remote server use: bccli mcp add {name} --url <url>", { name }));
92
+ deps.err(
93
+ t("{name} is not in the catalog. For another server use: bccli mcp add {name} --url <url> (HTTP) or bccli mcp add {name} --command <cmd> (stdio).", { name })
94
+ );
80
95
  return 1;
81
96
  }
82
97
  const values = Object.fromEntries(args.values.map((v) => [v.slice(0, v.indexOf("=")), v.slice(v.indexOf("=") + 1)]));
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  listAllModels
4
- } from "./chunk-HPYI7L4W.js";
5
- import "./chunk-62UTSCWF.js";
6
- import "./chunk-EOJNFGOP.js";
7
- import "./chunk-EAR2C6TS.js";
4
+ } from "./chunk-SXRQ2Q7A.js";
5
+ import "./chunk-MPYSYTSO.js";
6
+ import "./chunk-VXRW5SYP.js";
7
+ import "./chunk-6RVAPAE5.js";
8
8
  import {
9
9
  loadConfig,
10
10
  resolveModel
11
- } from "./chunk-DRJSANKH.js";
11
+ } from "./chunk-USFXL5BS.js";
12
12
  import {
13
13
  t
14
- } from "./chunk-XCVYR5BK.js";
14
+ } from "./chunk-ED5TTYQU.js";
15
15
 
16
16
  // src/modelsCli.ts
17
17
  async function runModelsCommand(args, deps) {
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  t
4
- } from "./chunk-XCVYR5BK.js";
4
+ } from "./chunk-ED5TTYQU.js";
5
5
 
6
6
  // src/oauthLogin.ts
7
7
  import { createHash, randomBytes } from "crypto";
@@ -2,10 +2,10 @@
2
2
  import {
3
3
  bccliHome,
4
4
  globalConfigPath
5
- } from "./chunk-DRJSANKH.js";
5
+ } from "./chunk-USFXL5BS.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-XCVYR5BK.js";
8
+ } from "./chunk-ED5TTYQU.js";
9
9
 
10
10
  // src/pluginsCli.ts
11
11
  import { existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from "fs";
@@ -89,6 +89,10 @@ function listAction(deps) {
89
89
  } catch (error) {
90
90
  return readFailure("list", error, deps);
91
91
  }
92
+ if (!entries.length) {
93
+ deps.out(t("No plugins are installed. Install one with: bccli plugins install <spec>"));
94
+ return 0;
95
+ }
92
96
  const home = bccliHome(deps.env);
93
97
  for (const entry of entries) {
94
98
  const managed = isManagedEntry(entry);
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  t
4
- } from "./chunk-XCVYR5BK.js";
4
+ } from "./chunk-ED5TTYQU.js";
5
5
 
6
6
  // src/prCli.ts
7
7
  import { spawn } from "child_process";
package/dist/print.d.ts CHANGED
@@ -12,5 +12,6 @@ export declare function runPrint(rt: Runtime, prompt: string, io?: {
12
12
  }, opts?: {
13
13
  allowAll?: boolean;
14
14
  outputFormat?: OutputFormat;
15
+ failOnToolError?: boolean;
15
16
  }): Promise<number>;
16
17
  export {};
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
2
+ import {
3
+ addProviderKey,
4
+ runProviderCommand
5
+ } from "./chunk-PGDYPOQW.js";
6
+ import "./chunk-SXRQ2Q7A.js";
7
+ import "./chunk-MPYSYTSO.js";
8
+ import "./chunk-VXRW5SYP.js";
9
+ import "./chunk-6RVAPAE5.js";
10
+ import "./chunk-USFXL5BS.js";
11
+ import "./chunk-ED5TTYQU.js";
12
+ export {
13
+ addProviderKey,
14
+ runProviderCommand
15
+ };