@botconnector/bccli 0.4.0-beta.51 → 0.4.0-beta.53

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 (47) hide show
  1. package/README.en.md +237 -0
  2. package/README.md +7 -0
  3. package/dist/{acp-NWP4FFTG.js → acp-CH5CYAGX.js} +2 -2
  4. package/dist/{args-2R45YZ42.js → args-44YOL5QJ.js} +4 -4
  5. package/dist/{chunk-H73FO5YK.js → chunk-2Y3QHA6B.js} +2 -2
  6. package/dist/{chunk-2QYHSESB.js → chunk-AWGB5Q44.js} +1 -1
  7. package/dist/{chunk-FTFVW7XD.js → chunk-BHVJIVEF.js} +3 -3
  8. package/dist/{chunk-KIZC5XV4.js → chunk-CCE6EISW.js} +10 -10
  9. package/dist/{chunk-YIYX3FFS.js → chunk-FIW4AJH7.js} +1 -1
  10. package/dist/{chunk-R4BJBTWC.js → chunk-GMKDCZES.js} +2 -2
  11. package/dist/{chunk-F6ACN47V.js → chunk-HPMYPOCZ.js} +1 -1
  12. package/dist/{chunk-4WVIPZFV.js → chunk-ILBXVGMJ.js} +2 -2
  13. package/dist/{chunk-TQWCM5RO.js → chunk-KDZT3TSG.js} +3 -3
  14. package/dist/{chunk-XLC6T4SX.js → chunk-LUTJZME3.js} +1 -2
  15. package/dist/{chunk-KD2LMIS4.js → chunk-MYJ7JVSE.js} +6 -6
  16. package/dist/{chunk-NDEJUL44.js → chunk-N74AEPNA.js} +2 -2
  17. package/dist/{chunk-QXOV4DUZ.js → chunk-QB45QGNJ.js} +5 -5
  18. package/dist/{chunk-VU5HNQHX.js → chunk-Y3J5XLHS.js} +1 -1
  19. package/dist/{chunk-N7KP6RNP.js → chunk-YALWYJLE.js} +4 -4
  20. package/dist/{chunk-DP7EBW53.js → chunk-YATYUXV7.js} +1 -1
  21. package/dist/{chunk-SNKVS26H.js → chunk-Z7TGZMYK.js} +1 -1
  22. package/dist/cli.js +40 -39
  23. package/dist/{completion-OV3MW2N4.js → completion-OZ6UDMOX.js} +1 -1
  24. package/dist/{config-AZZFOXKV.js → config-KY5HCYJG.js} +3 -3
  25. package/dist/{config-H5A7XHHK.js → config-UUKS6MAS.js} +2 -2
  26. package/dist/{ghBotCli-7WDYF4L7.js → ghBotCli-2LLP6VRD.js} +13 -13
  27. package/dist/{integrationCli-ZMTSILYF.js → integrationCli-UX4QNT3G.js} +2 -2
  28. package/dist/{login-W4Y6WHLV.js → login-MMC3MKNY.js} +3 -3
  29. package/dist/{mcpCli-5QISTOFK.js → mcpCli-SQBUXLGD.js} +5 -5
  30. package/dist/{modelsCli-FZMBD4OE.js → modelsCli-OKAJOI4B.js} +6 -6
  31. package/dist/{oauthLogin-VESMXG4M.js → oauthLogin-4YKTBX7B.js} +2 -2
  32. package/dist/{pluginsCli-GEHR7FQR.js → pluginsCli-KFRFZCFG.js} +2 -2
  33. package/dist/{prCli-JXA7DJW4.js → prCli-FITKBEUT.js} +1 -1
  34. package/dist/providerCli-5YZY7GFZ.js +15 -0
  35. package/dist/sdk.js +3 -4
  36. package/dist/{serve-6KX4MXHC.js → serve-BHU5LDXB.js} +3 -3
  37. package/dist/{serve-YSUJD57D.js → serve-CIPCJQEV.js} +14 -14
  38. package/dist/session-LFDUVEPY.js +12 -0
  39. package/dist/setup-VWBBGF6G.js +24 -0
  40. package/dist/{statsCli-H4HEY5ID.js → statsCli-SVJAWOSZ.js} +1 -1
  41. package/dist/{transferCli-2XUKBG2L.js → transferCli-RE374MK3.js} +4 -4
  42. package/dist/{ui-6HJVYI46.js → ui-WJQWXRPP.js} +15 -20
  43. package/dist/{update-O4WCLKOO.js → update-6SGG73NB.js} +14 -7
  44. package/package.json +1 -1
  45. package/dist/providerCli-EUZGKP5F.js +0 -15
  46. package/dist/session-F6MG3UCU.js +0 -12
  47. package/dist/setup-LLWREJQH.js +0 -24
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  CATALOG,
4
4
  fillTemplate
5
- } from "./chunk-4WVIPZFV.js";
5
+ } from "./chunk-ILBXVGMJ.js";
6
6
  import {
7
7
  MAX_VERIFY_ROUNDS,
8
8
  runVerify,
9
9
  toolLabel,
10
10
  verifyFollowup,
11
11
  worktreeListText
12
- } from "./chunk-TQWCM5RO.js";
12
+ } from "./chunk-KDZT3TSG.js";
13
13
  import {
14
14
  BUILTIN_AGENTS,
15
15
  appendMemory,
@@ -21,7 +21,7 @@ import {
21
21
  renderBackgroundTasks,
22
22
  runHooks,
23
23
  validateGlobPattern
24
- } from "./chunk-YIYX3FFS.js";
24
+ } from "./chunk-FIW4AJH7.js";
25
25
  import "./chunk-PSO7R5AD.js";
26
26
  import {
27
27
  nextMode
@@ -30,39 +30,39 @@ import {
30
30
  hasKey,
31
31
  providerName,
32
32
  writeGlobalConfig
33
- } from "./chunk-2QYHSESB.js";
33
+ } from "./chunk-AWGB5Q44.js";
34
34
  import {
35
35
  Session
36
- } from "./chunk-F6ACN47V.js";
36
+ } from "./chunk-HPMYPOCZ.js";
37
37
  import {
38
38
  contentText
39
- } from "./chunk-R4BJBTWC.js";
39
+ } from "./chunk-GMKDCZES.js";
40
40
  import {
41
41
  REASONING_LEVELS,
42
42
  assertReasoningSupported,
43
43
  parseReasoningLevel,
44
44
  supportedReasoningLevels
45
- } from "./chunk-SNKVS26H.js";
45
+ } from "./chunk-Z7TGZMYK.js";
46
46
  import {
47
47
  addGlobalServer,
48
48
  globalMcpPath,
49
49
  readMcpFile,
50
50
  removeGlobalServer
51
- } from "./chunk-H73FO5YK.js";
51
+ } from "./chunk-2Y3QHA6B.js";
52
52
  import {
53
53
  ACCENT,
54
54
  PRESETS,
55
55
  color,
56
56
  matchKeybind,
57
57
  removeCredential
58
- } from "./chunk-NDEJUL44.js";
58
+ } from "./chunk-N74AEPNA.js";
59
59
  import {
60
60
  getLanguage,
61
61
  locale,
62
62
  parseLang,
63
63
  setLanguage,
64
64
  t
65
- } from "./chunk-XLC6T4SX.js";
65
+ } from "./chunk-LUTJZME3.js";
66
66
 
67
67
  // src/ui/index.tsx
68
68
  import { render } from "ink";
@@ -1535,10 +1535,10 @@ function helpText(runtime) {
1535
1535
  }
1536
1536
  var INIT_PROMPT = "Study this project (folder structure, package/build files, test and lint commands, visible code conventions). Then create AGENTS.md in the project root, or update it if it already exists, covering: how to build, test, and lint; a short structure overview; important conventions. Keep it concise and factual, only what actually exists in the project.";
1537
1537
  var labelFor = (runtime, ref) => `${ref.slice(ref.indexOf("/") + 1)} \xB7 ${runtime.providerLabel()}`;
1538
- function App({ runtime, initialPrompt, version }) {
1538
+ function App({ runtime, initialPrompt, version, updateMessage }) {
1539
1539
  const { exit } = useApp();
1540
1540
  const [transcript, setTranscript] = useState8(() => ({
1541
- done: [entry({ kind: "header" }), ...runtime.agent.messages.length ? replayEntries(runtime.session.loadHistory()) : []],
1541
+ done: [entry({ kind: "header" }), ...updateMessage ? [entry({ kind: "notice", text: updateMessage, tone: "warn" })] : [], ...runtime.agent.messages.length ? replayEntries(runtime.session.loadHistory()) : []],
1542
1542
  live: []
1543
1543
  }));
1544
1544
  const [busy, setBusy] = useState8(false);
@@ -1914,11 +1914,6 @@ function App({ runtime, initialPrompt, version }) {
1914
1914
  return;
1915
1915
  }
1916
1916
  runtime.setModel(runtime.modelRef);
1917
- const envName = runtime.config.providers[id]?.apiKeyEnv;
1918
- if (envName && runtime.env[envName]) {
1919
- notice(t("Key for {provider} saved, but {env} in the environment takes precedence and is still used.", { provider: runtime.providerLabel(), env: envName }), "warn");
1920
- return;
1921
- }
1922
1917
  notice(t("Key for {provider} saved \xB7 {n} models.", { provider: runtime.providerLabel(), n: result.models }));
1923
1918
  return;
1924
1919
  }
@@ -2329,7 +2324,7 @@ ${t2.output}`);
2329
2324
  import { jsx as jsx17 } from "react/jsx-runtime";
2330
2325
  async function startInteractive(rt, opts) {
2331
2326
  if (opts.resume) {
2332
- const { Session: Session2 } = await import("./session-F6MG3UCU.js");
2327
+ const { Session: Session2 } = await import("./session-LFDUVEPY.js");
2333
2328
  const list = Session2.list(rt.home, rt.cwd).slice(0, 20);
2334
2329
  if (!list.length) console.log(t("No sessions in this folder yet; starting a new one."));
2335
2330
  else {
@@ -2344,7 +2339,7 @@ async function startInteractive(rt, opts) {
2344
2339
  if (chosen) rt.resume(chosen.session);
2345
2340
  }
2346
2341
  }
2347
- const { serversToStart, setProjectTrust } = await import("./config-AZZFOXKV.js");
2342
+ const { serversToStart, setProjectTrust } = await import("./config-KY5HCYJG.js");
2348
2343
  const plan = serversToStart(rt.home, rt.cwd);
2349
2344
  if (plan.needTrust.length) {
2350
2345
  const { createInterface } = await import("readline/promises");
@@ -2360,7 +2355,7 @@ async function startInteractive(rt, opts) {
2360
2355
  void rt.startMcp(plan.start).catch((error) => {
2361
2356
  console.error(t("Could not start MCP servers: {error}", { error: error instanceof Error ? error.message : String(error) }));
2362
2357
  });
2363
- const instance = render(/* @__PURE__ */ jsx17(App, { runtime: rt, initialPrompt: opts.initialPrompt, version: opts.version }), { exitOnCtrlC: true });
2358
+ const instance = render(/* @__PURE__ */ jsx17(App, { runtime: rt, initialPrompt: opts.initialPrompt, version: opts.version, updateMessage: opts.updateMessage }), { exitOnCtrlC: true });
2364
2359
  await instance.waitUntilExit();
2365
2360
  await rt.mcp.stop();
2366
2361
  return 0;
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  VERSION
4
- } from "./chunk-VU5HNQHX.js";
4
+ } from "./chunk-Y3J5XLHS.js";
5
5
  import {
6
6
  t
7
- } from "./chunk-XLC6T4SX.js";
7
+ } from "./chunk-LUTJZME3.js";
8
8
 
9
9
  // src/update.ts
10
10
  import { spawnSync } from "child_process";
@@ -74,19 +74,26 @@ function dueForCheck(cache, now, intervalMs = CHECK_INTERVAL_MS) {
74
74
  return now.getTime() - at >= intervalMs;
75
75
  }
76
76
  function updateNotice(current, latest) {
77
- if (!latest || compareVersions(current, latest) >= 0) return void 0;
77
+ if (!latest || latest.length > 64 || !/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/.test(latest) || compareVersions(current, latest) >= 0) return void 0;
78
78
  return t("A new bccli is available: {latest} (you have {current}). Run: bccli update", { latest, current });
79
79
  }
80
+ function notifyOnce(home, cache) {
81
+ const message = updateNotice(VERSION, cache?.latest);
82
+ if (!message || !cache?.latest || cache.notified === cache.latest) return void 0;
83
+ writeCache(home, { ...cache, notified: cache.latest });
84
+ return message;
85
+ }
80
86
  async function checkForUpdate(deps) {
81
87
  try {
82
88
  const cached = readCache(deps.home);
83
- if (!dueForCheck(cached, deps.now)) return updateNotice(VERSION, cached?.latest);
89
+ if (!dueForCheck(cached, deps.now)) return notifyOnce(deps.home, cached);
84
90
  const res = await deps.fetch(REGISTRY_URL, { signal: AbortSignal.timeout(deps.timeoutMs ?? 3e3) });
85
- if (!res.ok) return updateNotice(VERSION, cached?.latest);
91
+ if (!res.ok) return notifyOnce(deps.home, cached);
86
92
  const tags = await res.json();
87
93
  const latest = tags[channelFor(VERSION)] ?? tags.latest;
88
- writeCache(deps.home, { checkedAt: deps.now.toISOString(), latest });
89
- return updateNotice(VERSION, latest);
94
+ const updated = { checkedAt: deps.now.toISOString(), latest, notified: cached?.notified };
95
+ writeCache(deps.home, updated);
96
+ return notifyOnce(deps.home, updated);
90
97
  } catch {
91
98
  return void 0;
92
99
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botconnector/bccli",
3
- "version": "0.4.0-beta.51",
3
+ "version": "0.4.0-beta.53",
4
4
  "description": "BCCLI — BotConnector AI coding agent for the terminal",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- addProviderKey,
4
- runProviderCommand
5
- } from "./chunk-N7KP6RNP.js";
6
- import "./chunk-QXOV4DUZ.js";
7
- import "./chunk-2QYHSESB.js";
8
- import "./chunk-R4BJBTWC.js";
9
- import "./chunk-SNKVS26H.js";
10
- import "./chunk-NDEJUL44.js";
11
- import "./chunk-XLC6T4SX.js";
12
- export {
13
- addProviderKey,
14
- runProviderCommand
15
- };
@@ -1,12 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- Session,
4
- pruneSessions
5
- } from "./chunk-F6ACN47V.js";
6
- import "./chunk-R4BJBTWC.js";
7
- import "./chunk-SNKVS26H.js";
8
- import "./chunk-XLC6T4SX.js";
9
- export {
10
- Session,
11
- pruneSessions
12
- };
@@ -1,24 +0,0 @@
1
- #!/usr/bin/env node
2
- import {
3
- createRuntime,
4
- lunaPtcAutoEnabled
5
- } from "./chunk-KIZC5XV4.js";
6
- import "./chunk-QZKLZELZ.js";
7
- import "./chunk-YIYX3FFS.js";
8
- import "./chunk-DP7EBW53.js";
9
- import "./chunk-PSO7R5AD.js";
10
- import "./chunk-GAFJEQTJ.js";
11
- import "./chunk-N7KP6RNP.js";
12
- import "./chunk-QXOV4DUZ.js";
13
- import "./chunk-2QYHSESB.js";
14
- import "./chunk-7F3IWBPQ.js";
15
- import "./chunk-F6ACN47V.js";
16
- import "./chunk-R4BJBTWC.js";
17
- import "./chunk-SNKVS26H.js";
18
- import "./chunk-H73FO5YK.js";
19
- import "./chunk-NDEJUL44.js";
20
- import "./chunk-XLC6T4SX.js";
21
- export {
22
- createRuntime,
23
- lunaPtcAutoEnabled
24
- };