@botconnector/bccli 0.4.0-beta.45 → 0.4.0-beta.47

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 (45) hide show
  1. package/dist/{acp-QUDKQCTK.js → acp-QMD7IKKI.js} +2 -2
  2. package/dist/{args-HXDHQUL2.js → args-6T55MFPG.js} +4 -4
  3. package/dist/{chunk-7BQQYDPU.js → chunk-226R2FBX.js} +1 -1
  4. package/dist/{chunk-FNCDUDOB.js → chunk-3ETD6HSV.js} +31 -18
  5. package/dist/{chunk-W2ME7AGN.js → chunk-5D35DOMD.js} +3 -3
  6. package/dist/{chunk-4BQAIMAM.js → chunk-5YTZXUGU.js} +4 -4
  7. package/dist/{chunk-NJ5YDSSP.js → chunk-DAFJ7VOQ.js} +1 -1
  8. package/dist/{chunk-ERXWNEVU.js → chunk-EC67VAZX.js} +68 -12
  9. package/dist/{chunk-O33VFLLL.js → chunk-FNECQ433.js} +2 -2
  10. package/dist/{chunk-IA35YV5K.js → chunk-HBR62GF2.js} +1 -1
  11. package/dist/{chunk-JZ5XPSIA.js → chunk-JRUQQRP6.js} +5 -4
  12. package/dist/{chunk-X5ZJGTWY.js → chunk-KVXONGYT.js} +4 -4
  13. package/dist/{chunk-IU7PB6US.js → chunk-QGTAINBU.js} +6 -6
  14. package/dist/{chunk-JKRSZHDV.js → chunk-R72DRWZ6.js} +1 -1
  15. package/dist/{chunk-Q7DFEWE7.js → chunk-SJTJHATK.js} +2 -2
  16. package/dist/{chunk-VQ4FJ7R2.js → chunk-SVGARF5B.js} +3 -3
  17. package/dist/{chunk-FNGFR7R6.js → chunk-TSZFE2RV.js} +2 -1
  18. package/dist/{chunk-F4XYLKG5.js → chunk-Y7F5CZ4D.js} +1 -1
  19. package/dist/{chunk-RFSNTLOW.js → chunk-YGITX6JU.js} +1 -1
  20. package/dist/cli.js +37 -37
  21. package/dist/{completion-5OLAKCX7.js → completion-QO5B6N4R.js} +1 -1
  22. package/dist/{config-LSB274W4.js → config-67RNJLDR.js} +3 -3
  23. package/dist/{config-2PLBQKNC.js → config-TBRDIB7O.js} +2 -2
  24. package/dist/{ghBotCli-MB7KATUU.js → ghBotCli-4SXXJQGT.js} +13 -13
  25. package/dist/{integrationCli-L7OLA3DG.js → integrationCli-KTHSQC4Y.js} +2 -2
  26. package/dist/{login-4CIXDZZ7.js → login-7T6M25XB.js} +3 -3
  27. package/dist/{mcpCli-SAJTQGI7.js → mcpCli-7RR5N7SX.js} +5 -5
  28. package/dist/{modelsCli-L6VODTVW.js → modelsCli-GDE5RVD4.js} +6 -6
  29. package/dist/{oauthLogin-6TP475PO.js → oauthLogin-ZVKAVGJH.js} +1 -1
  30. package/dist/{pluginsCli-LE2IDSST.js → pluginsCli-UKMRWPVT.js} +2 -2
  31. package/dist/{prCli-PQJDEF7H.js → prCli-26OUBDFO.js} +1 -1
  32. package/dist/providerCli-QVYG6PFQ.js +15 -0
  33. package/dist/sdk.js +93 -22
  34. package/dist/{serve-QAVMAYEU.js → serve-PAXJYBVI.js} +3 -3
  35. package/dist/{serve-ZBCAEE72.js → serve-SEGKQ5DM.js} +14 -14
  36. package/dist/session-GDPYDGOX.js +12 -0
  37. package/dist/setup-HRZW73ZW.js +24 -0
  38. package/dist/{statsCli-AJG3IJTX.js → statsCli-ZHURTHK7.js} +1 -1
  39. package/dist/{transferCli-HNJMZYLV.js → transferCli-PQCFSIVT.js} +4 -4
  40. package/dist/{ui-ORZ5ZNIC.js → ui-52SWT2AL.js} +139 -44
  41. package/dist/{update-REYFMT5X.js → update-URVV6UXT.js} +2 -2
  42. package/package.json +1 -1
  43. package/dist/providerCli-SEAZ5OLH.js +0 -15
  44. package/dist/session-3I64N64B.js +0 -12
  45. package/dist/setup-N3PMYREM.js +0 -24
@@ -2,14 +2,14 @@
2
2
  import {
3
3
  CATALOG,
4
4
  fillTemplate
5
- } from "./chunk-O33VFLLL.js";
5
+ } from "./chunk-FNECQ433.js";
6
6
  import {
7
7
  MAX_VERIFY_ROUNDS,
8
8
  runVerify,
9
9
  toolLabel,
10
10
  verifyFollowup,
11
11
  worktreeListText
12
- } from "./chunk-VQ4FJ7R2.js";
12
+ } from "./chunk-SVGARF5B.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-NJ5YDSSP.js";
24
+ } from "./chunk-DAFJ7VOQ.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-F4XYLKG5.js";
33
+ } from "./chunk-Y7F5CZ4D.js";
34
34
  import {
35
35
  Session
36
- } from "./chunk-IA35YV5K.js";
36
+ } from "./chunk-HBR62GF2.js";
37
37
  import {
38
38
  contentText
39
- } from "./chunk-ERXWNEVU.js";
39
+ } from "./chunk-EC67VAZX.js";
40
40
  import {
41
41
  REASONING_LEVELS,
42
42
  assertReasoningSupported,
43
43
  parseReasoningLevel,
44
44
  supportedReasoningLevels
45
- } from "./chunk-RFSNTLOW.js";
45
+ } from "./chunk-YGITX6JU.js";
46
46
  import {
47
47
  addGlobalServer,
48
48
  globalMcpPath,
49
49
  readMcpFile,
50
50
  removeGlobalServer
51
- } from "./chunk-Q7DFEWE7.js";
51
+ } from "./chunk-SJTJHATK.js";
52
52
  import {
53
53
  ACCENT,
54
54
  PRESETS,
55
55
  color,
56
56
  matchKeybind,
57
57
  removeCredential
58
- } from "./chunk-FNGFR7R6.js";
58
+ } from "./chunk-TSZFE2RV.js";
59
59
  import {
60
60
  getLanguage,
61
61
  locale,
62
62
  parseLang,
63
63
  setLanguage,
64
64
  t
65
- } from "./chunk-JZ5XPSIA.js";
65
+ } from "./chunk-JRUQQRP6.js";
66
66
 
67
67
  // src/ui/index.tsx
68
68
  import { render } from "ink";
@@ -72,7 +72,7 @@ import { execFile as execFile3 } from "child_process";
72
72
  import { existsSync as existsSync2, mkdirSync, readFileSync, writeFileSync } from "fs";
73
73
  import { homedir, tmpdir } from "os";
74
74
  import { dirname, join as join3, relative, resolve } from "path";
75
- import { Box as Box13, Static, Text as Text16, useApp, useInput as useInput9 } from "ink";
75
+ import { Box as Box13, Static, Text as Text16, measureElement, useApp, useInput as useInput9, useStdin, useStdout as useStdout2 } from "ink";
76
76
  import { useCallback, useEffect as useEffect3, useRef, useState as useState8 } from "react";
77
77
 
78
78
  // src/commands.ts
@@ -782,11 +782,66 @@ function EditableText({ state, mask = false, showCursor = true }) {
782
782
  // src/ui/focusReport.ts
783
783
  var isFocusReport = (input) => input === "[I" || input === "[O";
784
784
 
785
+ // src/ui/thinkingMouse.ts
786
+ function parseMousePress(value) {
787
+ const start = value.indexOf("\x1B[<");
788
+ if (start < 0) return void 0;
789
+ const match = /^<(\d+);(\d+);(\d+)M/.exec(value.slice(start + 2));
790
+ if (!match) return void 0;
791
+ const button = Number(match[1]);
792
+ if (button !== 0) return void 0;
793
+ const x = Number(match[2]);
794
+ const y = Number(match[3]);
795
+ if (x < 1 || y < 1) return void 0;
796
+ return { x, y };
797
+ }
798
+ function parseCursorPosition(value) {
799
+ const start = value.indexOf("\x1B[");
800
+ if (start < 0) return void 0;
801
+ const match = /^(\d+);(\d+)R/.exec(value.slice(start + 2));
802
+ if (!match) return void 0;
803
+ const row = Number(match[1]);
804
+ const col = Number(match[2]);
805
+ if (row < 1 || col < 1) return void 0;
806
+ return { row, col };
807
+ }
808
+ function clickedThinking(click, cursorRow, rootHeight, target) {
809
+ if (!rootHeight || !target.width || !target.height) return false;
810
+ const origin = cursorRow - rootHeight + 1;
811
+ const row = origin + target.y;
812
+ const col = target.x + 1;
813
+ return (click.y === row || click.y === row - 1) && click.x >= col && click.x < col + Math.min(target.width, 46);
814
+ }
815
+ function isMouseControlInput(input) {
816
+ return /^\[<(?:\d+;){2}\d+[mM]$/.test(input) || /^\[(?:\d+;)\d+R$/.test(input);
817
+ }
818
+ function parseThinkingReports(value) {
819
+ const events = [];
820
+ let offset = 0;
821
+ while (true) {
822
+ const start = value.indexOf("\x1B[", offset);
823
+ if (start < 0) break;
824
+ const finish = /[a-zA-Z~]/.exec(value.slice(start + 2));
825
+ if (!finish) return { events, rest: value.slice(start) };
826
+ const end = start + 2 + finish.index + 1;
827
+ const raw = value.slice(start, end);
828
+ const press = parseMousePress(raw);
829
+ const cursor = parseCursorPosition(raw);
830
+ if (press) events.push({ type: "mouse", press });
831
+ else if (cursor) events.push({ type: "cursor", cursor });
832
+ offset = end;
833
+ }
834
+ const remaining = value.lastIndexOf("\x1B[");
835
+ if (remaining >= offset) return { events, rest: value.slice(remaining) };
836
+ return { events, rest: value.endsWith("\x1B") ? "\x1B" : "" };
837
+ }
838
+
785
839
  // src/ui/LinePrompt.tsx
786
840
  import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
787
841
  function LinePrompt({ label, mask, onSubmit, onCancel }) {
788
842
  const [line, setLine] = useState({ value: "", cursor: 0 });
789
843
  useInput((input, key) => {
844
+ if (isMouseControlInput(input)) return;
790
845
  if (key.return) onSubmit(line.value.trim());
791
846
  else if (key.escape) onCancel();
792
847
  else if (applyEditKey(line, input, key)) setLine((current) => applyEditKey(current, input, key) ?? current);
@@ -1080,6 +1135,7 @@ function PromptInput({ disabled, history, cwd, onSubmit, extraCommands, injected
1080
1135
  };
1081
1136
  useInput6(
1082
1137
  (input, key) => {
1138
+ if (isMouseControlInput(input)) return;
1083
1139
  if (suggestions.length) {
1084
1140
  if (key.upArrow) {
1085
1141
  setSelected(Math.max(0, highlighted - 1));
@@ -1494,7 +1550,14 @@ function App({ runtime, initialPrompt, version }) {
1494
1550
  const [listPicker, setListPicker] = useState8(null);
1495
1551
  const [planAsk, setPlanAsk] = useState8(null);
1496
1552
  const [queued, setQueued] = useState8([]);
1497
- const [showThinking, setShowThinking] = useState8(false);
1553
+ const [showThinking, setShowThinking] = useState8(runtime.config.thinkingVisible === true);
1554
+ const showThinkingRef = useRef(showThinking);
1555
+ const [lastThinking, setLastThinking] = useState8("");
1556
+ const hasThinking = !!lastThinking.trim();
1557
+ const { stdin } = useStdin();
1558
+ const { stdout } = useStdout2();
1559
+ const liveRootRef = useRef(null);
1560
+ const thinkingTargetRef = useRef(null);
1498
1561
  const [injected, setInjected] = useState8();
1499
1562
  useEffect3(() => runtime.todos.subscribe(setTodos), [runtime]);
1500
1563
  const extraCommands = [
@@ -1514,6 +1577,7 @@ function App({ runtime, initialPrompt, version }) {
1514
1577
  if ((event.tool === "edit" || event.tool === "write") && !event.isError) editedInTurn.current = true;
1515
1578
  }
1516
1579
  if (event.type === "usage") setTokens(event.inputTokens + event.outputTokens);
1580
+ if (event.type === "thinking" && event.delta) setLastThinking((prev) => prev + event.delta);
1517
1581
  if (event.type === "budgetExceeded") {
1518
1582
  notice(
1519
1583
  t("Budget exceeded ({kind}): {used} of {limit}. Further model calls are blocked; raise usageCap in ~/.bccli/config.json.", {
@@ -1541,6 +1605,7 @@ function App({ runtime, initialPrompt, version }) {
1541
1605
  async (text) => {
1542
1606
  setTranscript((t2) => ({ ...t2, done: [...t2.done, entry({ kind: "user", text })] }));
1543
1607
  setBusy(true);
1608
+ setLastThinking("");
1544
1609
  setStartedAt(Date.now());
1545
1610
  editedInTurn.current = false;
1546
1611
  controller.current = new AbortController();
@@ -1587,6 +1652,7 @@ function App({ runtime, initialPrompt, version }) {
1587
1652
  case "clear":
1588
1653
  runtime.agent.clear();
1589
1654
  setTokens(0);
1655
+ setLastThinking("");
1590
1656
  notice(t("Conversation cleared."));
1591
1657
  return;
1592
1658
  case "cost": {
@@ -1681,6 +1747,7 @@ function App({ runtime, initialPrompt, version }) {
1681
1747
  case "new":
1682
1748
  runtime.newSession();
1683
1749
  setTokens(0);
1750
+ setLastThinking("");
1684
1751
  notice(t("New session started. The previous session stays saved (/resume)."));
1685
1752
  return;
1686
1753
  case "session":
@@ -1713,6 +1780,7 @@ function App({ runtime, initialPrompt, version }) {
1713
1780
  if (!chosen) return;
1714
1781
  runtime.resume(chosen.session);
1715
1782
  setTokens(0);
1783
+ setLastThinking("");
1716
1784
  const chat = runtime.agent.messages.map((m) => m.role === "user" && Array.isArray(m.content) ? { ...m, content: contentText(m.content) } : m).filter(
1717
1785
  (m) => (m.role === "user" || m.role === "assistant") && typeof m.content === "string" && !!m.content.trim()
1718
1786
  );
@@ -2043,6 +2111,44 @@ ARGUMENTS: ${slash.args}`);
2043
2111
  submit(initialPrompt);
2044
2112
  }
2045
2113
  }, [initialPrompt, submit]);
2114
+ const toggleThinking = useCallback(() => {
2115
+ const next = !showThinkingRef.current;
2116
+ showThinkingRef.current = next;
2117
+ setShowThinking(next);
2118
+ try {
2119
+ writeGlobalConfig({ thinkingVisible: next }, runtime.env);
2120
+ } catch (error) {
2121
+ notice(t("Could not save thinking visibility: {error}", { error: error.message }), "warn");
2122
+ }
2123
+ }, [runtime, notice]);
2124
+ useEffect3(() => {
2125
+ if (!busy && !hasThinking || pending || !stdin.isTTY || !stdout.isTTY || !thinkingTargetRef.current) return;
2126
+ let click;
2127
+ let mouseBuffer = "";
2128
+ const onData = (data) => {
2129
+ mouseBuffer += String(data);
2130
+ const reports = parseThinkingReports(mouseBuffer);
2131
+ mouseBuffer = reports.rest.slice(-80);
2132
+ for (const report of reports.events) {
2133
+ if (report.type === "mouse") {
2134
+ click = report.press;
2135
+ stdout.write("\x1B[6n");
2136
+ } else if (click && liveRootRef.current && thinkingTargetRef.current) {
2137
+ const current = click;
2138
+ click = void 0;
2139
+ const root = measureElement(liveRootRef.current);
2140
+ const target = measureElement(thinkingTargetRef.current);
2141
+ if (clickedThinking(current, report.cursor.row, root.height, target)) toggleThinking();
2142
+ }
2143
+ }
2144
+ };
2145
+ stdin.on("data", onData);
2146
+ stdout.write("\x1B[?1000h\x1B[?1006h");
2147
+ return () => {
2148
+ stdin.off("data", onData);
2149
+ stdout.write("\x1B[?1000l\x1B[?1006l");
2150
+ };
2151
+ }, [busy, pending, stdin, stdout, toggleThinking, hasThinking]);
2046
2152
  useInput9((input, key) => {
2047
2153
  if (key.tab && key.shift) {
2048
2154
  const next = nextMode(runtime.agent.permissions.mode);
@@ -2066,22 +2172,7 @@ ARGUMENTS: ${slash.args}`);
2066
2172
  }
2067
2173
  })();
2068
2174
  } else if (matchKeybind(runtime.config.keybinds.thinking, input, key)) {
2069
- const bind = runtime.config.keybinds.thinking.spec;
2070
- const next = !showThinking;
2071
- const toggled = next ? t("Thinking shown ({bind} to hide).", { bind }) : t("Thinking hidden ({bind} to show).", { bind });
2072
- setShowThinking(next);
2073
- setTranscript((t2) => {
2074
- const last = [...t2.done, ...t2.live].findLast((e) => e.kind === "thinking");
2075
- const reprint = next && last?.kind === "thinking" && t2.done.includes(last);
2076
- return {
2077
- ...t2,
2078
- done: [
2079
- ...t2.done,
2080
- ...reprint ? [entry({ kind: "thinking", text: last.text, open: true })] : [],
2081
- entry({ kind: "notice", text: toggled, tone: "info" })
2082
- ]
2083
- };
2084
- });
2175
+ toggleThinking();
2085
2176
  } else if (matchKeybind(runtime.config.keybinds.toolOutput, input, key) && lastTool.current) {
2086
2177
  const t2 = lastTool.current;
2087
2178
  notice(`\u23BF ${t2.tool} ${t2.target}
@@ -2165,28 +2256,32 @@ ${t2.output}`);
2165
2256
  /* @__PURE__ */ jsx16(Text16, { color: color(ACCENT), children: "\u25CF " }),
2166
2257
  /* @__PURE__ */ jsx16(Markdown, { text: e.text.replace(/^\s+/, "") })
2167
2258
  ] }, e.id);
2168
- case "thinking": {
2169
- const text = e.text.trim();
2170
- if (!text) return null;
2171
- if (!(e.open ?? showThinking)) {
2172
- const lines = text.split("\n").length;
2173
- return /* @__PURE__ */ jsx16(Box13, { marginTop: 1, children: /* @__PURE__ */ jsx16(Text16, { dimColor: true, children: t("\u273B Thinking \xB7 {n} lines \xB7 {bind} to show", { n: lines, bind: runtime.config.keybinds.thinking.spec }) }) }, e.id);
2174
- }
2175
- return /* @__PURE__ */ jsxs12(Box13, { marginTop: 1, flexDirection: "column", children: [
2176
- /* @__PURE__ */ jsx16(Text16, { dimColor: true, children: t("\u273B Thinking ({bind} to hide)", { bind: runtime.config.keybinds.thinking.spec }) }),
2177
- /* @__PURE__ */ jsx16(Box13, { paddingLeft: 2, children: /* @__PURE__ */ jsx16(Text16, { dimColor: true, italic: true, children: text }) })
2178
- ] }, e.id);
2179
- }
2259
+ case "thinking":
2260
+ return null;
2180
2261
  case "tool":
2181
2262
  return /* @__PURE__ */ jsx16(ToolBlock, { tool: e.tool, target: e.target, output: e.output, display: e.display, isError: e.isError, done: e.done, sub: e.sub, moreBind: runtime.config.keybinds.toolOutput.spec }, e.id);
2182
2263
  case "notice":
2183
2264
  return /* @__PURE__ */ jsx16(Box13, { marginTop: 1, children: /* @__PURE__ */ jsx16(Text16, { color: e.tone === "error" ? color("red") : e.tone === "warn" ? color("yellow") : void 0, dimColor: e.tone === "info", children: e.text }) }, e.id);
2184
2265
  }
2185
2266
  };
2186
- return /* @__PURE__ */ jsxs12(Box13, { flexDirection: "column", children: [
2267
+ return /* @__PURE__ */ jsxs12(Box13, { ref: liveRootRef, flexDirection: "column", children: [
2187
2268
  /* @__PURE__ */ jsx16(Static, { items: transcript.done, children: renderEntry }),
2188
2269
  transcript.live.map(renderEntry),
2189
- busy && !pending && !planAsk ? /* @__PURE__ */ jsx16(Box13, { marginTop: 1, children: /* @__PURE__ */ jsx16(Spinner, { label: cancelling ? t("Cancelling") : t("Thinking"), startedAt }) }) : null,
2270
+ busy && !pending && !planAsk || !busy && hasThinking ? /* @__PURE__ */ jsxs12(Box13, { ref: thinkingTargetRef, marginTop: 1, flexDirection: "column", children: [
2271
+ /* @__PURE__ */ jsxs12(Box13, { flexDirection: "row", children: [
2272
+ busy ? /* @__PURE__ */ jsx16(Spinner, { label: cancelling ? t("Cancelling") : t("Thinking"), startedAt }) : /* @__PURE__ */ jsx16(Text16, { dimColor: true, children: t("\u273B Thinking") }),
2273
+ /* @__PURE__ */ jsxs12(Text16, { dimColor: true, children: [
2274
+ " \xB7 ",
2275
+ runtime.config.keybinds.thinking.spec,
2276
+ " \xB7 ",
2277
+ t("click to toggle")
2278
+ ] })
2279
+ ] }),
2280
+ showThinking ? /* @__PURE__ */ jsxs12(Box13, { flexDirection: "column", paddingLeft: 2, children: [
2281
+ /* @__PURE__ */ jsx16(Text16, { dimColor: true, children: t("Model: {model} \xB7 reasoning: {level}", { model: runtime.modelRef, level: reasoning }) }),
2282
+ lastThinking.trim() ? /* @__PURE__ */ jsx16(Text16, { dimColor: true, italic: true, children: lastThinking.trim() }) : /* @__PURE__ */ jsx16(Text16, { dimColor: true, children: t("No reasoning summary received yet; tool activity remains visible above.") })
2283
+ ] }) : null
2284
+ ] }) : null,
2190
2285
  pending ? /* @__PURE__ */ jsx16(PermissionPrompt, { request: pending.request, onAnswer: answer }, pending.id) : null,
2191
2286
  picker ? /* @__PURE__ */ jsx16(
2192
2287
  ModelPicker,
@@ -2239,7 +2334,7 @@ ${t2.output}`);
2239
2334
  import { jsx as jsx17 } from "react/jsx-runtime";
2240
2335
  async function startInteractive(rt, opts) {
2241
2336
  if (opts.resume) {
2242
- const { Session: Session2 } = await import("./session-3I64N64B.js");
2337
+ const { Session: Session2 } = await import("./session-GDPYDGOX.js");
2243
2338
  const list = Session2.list(rt.home, rt.cwd).slice(0, 20);
2244
2339
  if (!list.length) console.log(t("No sessions in this folder yet; starting a new one."));
2245
2340
  else {
@@ -2254,7 +2349,7 @@ async function startInteractive(rt, opts) {
2254
2349
  if (chosen) rt.resume(chosen.session);
2255
2350
  }
2256
2351
  }
2257
- const { serversToStart, setProjectTrust } = await import("./config-LSB274W4.js");
2352
+ const { serversToStart, setProjectTrust } = await import("./config-67RNJLDR.js");
2258
2353
  const plan = serversToStart(rt.home, rt.cwd);
2259
2354
  if (plan.needTrust.length) {
2260
2355
  const { createInterface } = await import("readline/promises");
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  VERSION
4
- } from "./chunk-7BQQYDPU.js";
4
+ } from "./chunk-226R2FBX.js";
5
5
  import {
6
6
  t
7
- } from "./chunk-JZ5XPSIA.js";
7
+ } from "./chunk-JRUQQRP6.js";
8
8
 
9
9
  // src/update.ts
10
10
  import { spawnSync } from "child_process";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botconnector/bccli",
3
- "version": "0.4.0-beta.45",
3
+ "version": "0.4.0-beta.47",
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-X5ZJGTWY.js";
6
- import "./chunk-4BQAIMAM.js";
7
- import "./chunk-F4XYLKG5.js";
8
- import "./chunk-ERXWNEVU.js";
9
- import "./chunk-RFSNTLOW.js";
10
- import "./chunk-FNGFR7R6.js";
11
- import "./chunk-JZ5XPSIA.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-IA35YV5K.js";
6
- import "./chunk-ERXWNEVU.js";
7
- import "./chunk-RFSNTLOW.js";
8
- import "./chunk-JZ5XPSIA.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-FNCDUDOB.js";
6
- import "./chunk-QZKLZELZ.js";
7
- import "./chunk-NJ5YDSSP.js";
8
- import "./chunk-JKRSZHDV.js";
9
- import "./chunk-PSO7R5AD.js";
10
- import "./chunk-GAFJEQTJ.js";
11
- import "./chunk-X5ZJGTWY.js";
12
- import "./chunk-4BQAIMAM.js";
13
- import "./chunk-F4XYLKG5.js";
14
- import "./chunk-7F3IWBPQ.js";
15
- import "./chunk-IA35YV5K.js";
16
- import "./chunk-ERXWNEVU.js";
17
- import "./chunk-RFSNTLOW.js";
18
- import "./chunk-Q7DFEWE7.js";
19
- import "./chunk-FNGFR7R6.js";
20
- import "./chunk-JZ5XPSIA.js";
21
- export {
22
- createRuntime,
23
- lunaPtcAutoEnabled
24
- };