@hasna/coders 0.0.10 → 0.0.12

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/dist/cli.mjs CHANGED
@@ -7635,11 +7635,6 @@ function getConfigDir() {
7635
7635
  _configDir = primary;
7636
7636
  return _configDir;
7637
7637
  }
7638
- const compat = join(home, COMPAT_CONFIG_DIR_NAME);
7639
- if (existsSync(compat)) {
7640
- _configDir = compat;
7641
- return _configDir;
7642
- }
7643
7638
  ensureDir(primary);
7644
7639
  _configDir = primary;
7645
7640
  return _configDir;
@@ -7651,24 +7646,19 @@ function getUserConfigPath() {
7651
7646
  return join(getConfigDir(), ".config.json");
7652
7647
  }
7653
7648
  function getProjectSettingsPath(projectRoot) {
7654
- const primary = join(projectRoot, ".coders", "settings.json");
7655
- if (existsSync(primary)) return primary;
7656
- const compat = join(projectRoot, ".claude", "settings.json");
7657
- if (existsSync(compat)) return compat;
7658
- return primary;
7649
+ return join(projectRoot, ".coders", "settings.json");
7659
7650
  }
7660
7651
  function ensureDir(dir) {
7661
7652
  if (!existsSync(dir)) {
7662
7653
  mkdirSync(dir, { recursive: true });
7663
7654
  }
7664
7655
  }
7665
- var CONFIG_DIR_ENV, DEFAULT_CONFIG_DIR_NAME, COMPAT_CONFIG_DIR_NAME, _configDir;
7656
+ var CONFIG_DIR_ENV, DEFAULT_CONFIG_DIR_NAME, _configDir;
7666
7657
  var init_paths = __esm({
7667
7658
  "src/config/paths.ts"() {
7668
7659
  "use strict";
7669
7660
  CONFIG_DIR_ENV = "CODERS_CONFIG_DIR";
7670
7661
  DEFAULT_CONFIG_DIR_NAME = ".coders";
7671
- COMPAT_CONFIG_DIR_NAME = ".claude";
7672
7662
  _configDir = null;
7673
7663
  }
7674
7664
  });
@@ -17658,7 +17648,7 @@ var require_react_reconciler_development = __commonJS({
17658
17648
  var HostPortal = 4;
17659
17649
  var HostComponent = 5;
17660
17650
  var HostText = 6;
17661
- var Fragment2 = 7;
17651
+ var Fragment = 7;
17662
17652
  var Mode = 8;
17663
17653
  var ContextConsumer = 9;
17664
17654
  var ContextProvider = 10;
@@ -17798,7 +17788,7 @@ var require_react_reconciler_development = __commonJS({
17798
17788
  return "DehydratedFragment";
17799
17789
  case ForwardRef:
17800
17790
  return getWrappedName$1(type, type.render, "ForwardRef");
17801
- case Fragment2:
17791
+ case Fragment:
17802
17792
  return "Fragment";
17803
17793
  case HostComponent:
17804
17794
  return type;
@@ -20932,7 +20922,7 @@ var require_react_reconciler_development = __commonJS({
20932
20922
  }
20933
20923
  }
20934
20924
  function updateFragment2(returnFiber, current2, fragment, lanes, key) {
20935
- if (current2 === null || current2.tag !== Fragment2) {
20925
+ if (current2 === null || current2.tag !== Fragment) {
20936
20926
  var created = createFiberFromFragment(fragment, returnFiber.mode, lanes, key);
20937
20927
  created.return = returnFiber;
20938
20928
  return created;
@@ -21335,7 +21325,7 @@ var require_react_reconciler_development = __commonJS({
21335
21325
  if (child.key === key) {
21336
21326
  var elementType = element.type;
21337
21327
  if (elementType === REACT_FRAGMENT_TYPE) {
21338
- if (child.tag === Fragment2) {
21328
+ if (child.tag === Fragment) {
21339
21329
  deleteRemainingChildren(returnFiber, child.sibling);
21340
21330
  var existing = useFiber(child, element.props.children);
21341
21331
  existing.return = returnFiber;
@@ -26826,7 +26816,7 @@ var require_react_reconciler_development = __commonJS({
26826
26816
  var _resolvedProps2 = workInProgress2.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2);
26827
26817
  return updateForwardRef(current2, workInProgress2, type, _resolvedProps2, renderLanes2);
26828
26818
  }
26829
- case Fragment2:
26819
+ case Fragment:
26830
26820
  return updateFragment(current2, workInProgress2, renderLanes2);
26831
26821
  case Mode:
26832
26822
  return updateMode(current2, workInProgress2, renderLanes2);
@@ -27263,7 +27253,7 @@ var require_react_reconciler_development = __commonJS({
27263
27253
  case SimpleMemoComponent:
27264
27254
  case FunctionComponent:
27265
27255
  case ForwardRef:
27266
- case Fragment2:
27256
+ case Fragment:
27267
27257
  case Mode:
27268
27258
  case Profiler:
27269
27259
  case ContextConsumer:
@@ -32031,7 +32021,7 @@ var require_react_reconciler_development = __commonJS({
32031
32021
  return fiber;
32032
32022
  }
32033
32023
  function createFiberFromFragment(elements, mode, lanes, key) {
32034
- var fiber = createFiber(Fragment2, elements, key, mode);
32024
+ var fiber = createFiber(Fragment, elements, key, mode);
32035
32025
  fiber.lanes = lanes;
32036
32026
  return fiber;
32037
32027
  }
@@ -47322,7 +47312,7 @@ var require_backend = __commonJS({
47322
47312
  var symbolOrNumber = renderer_typeof(type) === "object" && type !== null ? type.$$typeof : type;
47323
47313
  return renderer_typeof(symbolOrNumber) === "symbol" ? symbolOrNumber.toString() : symbolOrNumber;
47324
47314
  }
47325
- var _ReactTypeOfWork = ReactTypeOfWork, CacheComponent = _ReactTypeOfWork.CacheComponent, ClassComponent = _ReactTypeOfWork.ClassComponent, IncompleteClassComponent = _ReactTypeOfWork.IncompleteClassComponent, IncompleteFunctionComponent = _ReactTypeOfWork.IncompleteFunctionComponent, FunctionComponent = _ReactTypeOfWork.FunctionComponent, IndeterminateComponent = _ReactTypeOfWork.IndeterminateComponent, ForwardRef = _ReactTypeOfWork.ForwardRef, HostRoot = _ReactTypeOfWork.HostRoot, HostHoistable = _ReactTypeOfWork.HostHoistable, HostSingleton = _ReactTypeOfWork.HostSingleton, HostComponent = _ReactTypeOfWork.HostComponent, HostPortal = _ReactTypeOfWork.HostPortal, HostText = _ReactTypeOfWork.HostText, Fragment2 = _ReactTypeOfWork.Fragment, LazyComponent = _ReactTypeOfWork.LazyComponent, LegacyHiddenComponent = _ReactTypeOfWork.LegacyHiddenComponent, MemoComponent = _ReactTypeOfWork.MemoComponent, OffscreenComponent = _ReactTypeOfWork.OffscreenComponent, Profiler = _ReactTypeOfWork.Profiler, ScopeComponent = _ReactTypeOfWork.ScopeComponent, SimpleMemoComponent = _ReactTypeOfWork.SimpleMemoComponent, SuspenseComponent = _ReactTypeOfWork.SuspenseComponent, SuspenseListComponent = _ReactTypeOfWork.SuspenseListComponent, TracingMarkerComponent = _ReactTypeOfWork.TracingMarkerComponent, Throw = _ReactTypeOfWork.Throw, ViewTransitionComponent = _ReactTypeOfWork.ViewTransitionComponent, ActivityComponent = _ReactTypeOfWork.ActivityComponent;
47315
+ var _ReactTypeOfWork = ReactTypeOfWork, CacheComponent = _ReactTypeOfWork.CacheComponent, ClassComponent = _ReactTypeOfWork.ClassComponent, IncompleteClassComponent = _ReactTypeOfWork.IncompleteClassComponent, IncompleteFunctionComponent = _ReactTypeOfWork.IncompleteFunctionComponent, FunctionComponent = _ReactTypeOfWork.FunctionComponent, IndeterminateComponent = _ReactTypeOfWork.IndeterminateComponent, ForwardRef = _ReactTypeOfWork.ForwardRef, HostRoot = _ReactTypeOfWork.HostRoot, HostHoistable = _ReactTypeOfWork.HostHoistable, HostSingleton = _ReactTypeOfWork.HostSingleton, HostComponent = _ReactTypeOfWork.HostComponent, HostPortal = _ReactTypeOfWork.HostPortal, HostText = _ReactTypeOfWork.HostText, Fragment = _ReactTypeOfWork.Fragment, LazyComponent = _ReactTypeOfWork.LazyComponent, LegacyHiddenComponent = _ReactTypeOfWork.LegacyHiddenComponent, MemoComponent = _ReactTypeOfWork.MemoComponent, OffscreenComponent = _ReactTypeOfWork.OffscreenComponent, Profiler = _ReactTypeOfWork.Profiler, ScopeComponent = _ReactTypeOfWork.ScopeComponent, SimpleMemoComponent = _ReactTypeOfWork.SimpleMemoComponent, SuspenseComponent = _ReactTypeOfWork.SuspenseComponent, SuspenseListComponent = _ReactTypeOfWork.SuspenseListComponent, TracingMarkerComponent = _ReactTypeOfWork.TracingMarkerComponent, Throw = _ReactTypeOfWork.Throw, ViewTransitionComponent = _ReactTypeOfWork.ViewTransitionComponent, ActivityComponent = _ReactTypeOfWork.ActivityComponent;
47326
47316
  function resolveFiberType(type) {
47327
47317
  var typeSymbol = getTypeSymbol(type);
47328
47318
  switch (typeSymbol) {
@@ -47378,7 +47368,7 @@ var require_backend = __commonJS({
47378
47368
  case HostPortal:
47379
47369
  case HostText:
47380
47370
  return null;
47381
- case Fragment2:
47371
+ case Fragment:
47382
47372
  return "Fragment";
47383
47373
  case LazyComponent:
47384
47374
  return "Lazy";
@@ -47533,7 +47523,7 @@ var require_backend = __commonJS({
47533
47523
  function renderer_attach(hook, rendererID, renderer2, global2, shouldStartProfilingNow, profilingSettings) {
47534
47524
  var version = renderer2.reconcilerVersion || renderer2.version;
47535
47525
  var _getInternalReactCons = getInternalReactConstants(version), getDisplayNameForFiber = _getInternalReactCons.getDisplayNameForFiber, getTypeSymbol = _getInternalReactCons.getTypeSymbol, ReactPriorityLevels = _getInternalReactCons.ReactPriorityLevels, ReactTypeOfWork = _getInternalReactCons.ReactTypeOfWork, StrictModeBits = _getInternalReactCons.StrictModeBits, SuspenseyImagesMode = _getInternalReactCons.SuspenseyImagesMode;
47536
- var ActivityComponent = ReactTypeOfWork.ActivityComponent, ClassComponent = ReactTypeOfWork.ClassComponent, ContextConsumer = ReactTypeOfWork.ContextConsumer, DehydratedSuspenseComponent = ReactTypeOfWork.DehydratedSuspenseComponent, ForwardRef = ReactTypeOfWork.ForwardRef, Fragment2 = ReactTypeOfWork.Fragment, FunctionComponent = ReactTypeOfWork.FunctionComponent, HostRoot = ReactTypeOfWork.HostRoot, HostHoistable = ReactTypeOfWork.HostHoistable, HostSingleton = ReactTypeOfWork.HostSingleton, HostPortal = ReactTypeOfWork.HostPortal, HostComponent = ReactTypeOfWork.HostComponent, HostText = ReactTypeOfWork.HostText, IncompleteClassComponent = ReactTypeOfWork.IncompleteClassComponent, IncompleteFunctionComponent = ReactTypeOfWork.IncompleteFunctionComponent, IndeterminateComponent = ReactTypeOfWork.IndeterminateComponent, LegacyHiddenComponent = ReactTypeOfWork.LegacyHiddenComponent, MemoComponent = ReactTypeOfWork.MemoComponent, OffscreenComponent = ReactTypeOfWork.OffscreenComponent, SimpleMemoComponent = ReactTypeOfWork.SimpleMemoComponent, SuspenseComponent = ReactTypeOfWork.SuspenseComponent, SuspenseListComponent = ReactTypeOfWork.SuspenseListComponent, TracingMarkerComponent = ReactTypeOfWork.TracingMarkerComponent, Throw = ReactTypeOfWork.Throw, ViewTransitionComponent = ReactTypeOfWork.ViewTransitionComponent;
47526
+ var ActivityComponent = ReactTypeOfWork.ActivityComponent, ClassComponent = ReactTypeOfWork.ClassComponent, ContextConsumer = ReactTypeOfWork.ContextConsumer, DehydratedSuspenseComponent = ReactTypeOfWork.DehydratedSuspenseComponent, ForwardRef = ReactTypeOfWork.ForwardRef, Fragment = ReactTypeOfWork.Fragment, FunctionComponent = ReactTypeOfWork.FunctionComponent, HostRoot = ReactTypeOfWork.HostRoot, HostHoistable = ReactTypeOfWork.HostHoistable, HostSingleton = ReactTypeOfWork.HostSingleton, HostPortal = ReactTypeOfWork.HostPortal, HostComponent = ReactTypeOfWork.HostComponent, HostText = ReactTypeOfWork.HostText, IncompleteClassComponent = ReactTypeOfWork.IncompleteClassComponent, IncompleteFunctionComponent = ReactTypeOfWork.IncompleteFunctionComponent, IndeterminateComponent = ReactTypeOfWork.IndeterminateComponent, LegacyHiddenComponent = ReactTypeOfWork.LegacyHiddenComponent, MemoComponent = ReactTypeOfWork.MemoComponent, OffscreenComponent = ReactTypeOfWork.OffscreenComponent, SimpleMemoComponent = ReactTypeOfWork.SimpleMemoComponent, SuspenseComponent = ReactTypeOfWork.SuspenseComponent, SuspenseListComponent = ReactTypeOfWork.SuspenseListComponent, TracingMarkerComponent = ReactTypeOfWork.TracingMarkerComponent, Throw = ReactTypeOfWork.Throw, ViewTransitionComponent = ReactTypeOfWork.ViewTransitionComponent;
47537
47527
  var ImmediatePriority = ReactPriorityLevels.ImmediatePriority, UserBlockingPriority = ReactPriorityLevels.UserBlockingPriority, NormalPriority = ReactPriorityLevels.NormalPriority, LowPriority = ReactPriorityLevels.LowPriority, IdlePriority = ReactPriorityLevels.IdlePriority, NoPriority = ReactPriorityLevels.NoPriority;
47538
47528
  var getLaneLabelMap = renderer2.getLaneLabelMap, injectProfilingHooks = renderer2.injectProfilingHooks, overrideHookState = renderer2.overrideHookState, overrideHookStateDeletePath = renderer2.overrideHookStateDeletePath, overrideHookStateRenamePath = renderer2.overrideHookStateRenamePath, overrideProps = renderer2.overrideProps, overridePropsDeletePath = renderer2.overridePropsDeletePath, overridePropsRenamePath = renderer2.overridePropsRenamePath, scheduleRefresh = renderer2.scheduleRefresh, setErrorHandler = renderer2.setErrorHandler, setSuspenseHandler = renderer2.setSuspenseHandler, scheduleUpdate = renderer2.scheduleUpdate, scheduleRetry = renderer2.scheduleRetry, getCurrentFiber = renderer2.getCurrentFiber;
47539
47529
  var supportsTogglingError = typeof setErrorHandler === "function" && typeof scheduleUpdate === "function";
@@ -47894,7 +47884,7 @@ var require_backend = __commonJS({
47894
47884
  return true;
47895
47885
  case HostRoot:
47896
47886
  return false;
47897
- case Fragment2:
47887
+ case Fragment:
47898
47888
  return key === null;
47899
47889
  default:
47900
47890
  var typeSymbol = getTypeSymbol(type);
@@ -47968,7 +47958,7 @@ var require_backend = __commonJS({
47968
47958
  return ElementTypeHostComponent;
47969
47959
  case HostPortal:
47970
47960
  case HostText:
47971
- case Fragment2:
47961
+ case Fragment:
47972
47962
  return ElementTypeOtherOrUnknown;
47973
47963
  case MemoComponent:
47974
47964
  case SimpleMemoComponent:
@@ -57566,25 +57556,6 @@ var init_render = __esm({
57566
57556
  });
57567
57557
 
57568
57558
  // node_modules/ink/build/components/Static.js
57569
- function Static(props) {
57570
- const { items, children: render2, style: customStyle } = props;
57571
- const [index, setIndex] = (0, import_react11.useState)(0);
57572
- const itemsToRender = (0, import_react11.useMemo)(() => {
57573
- return items.slice(index);
57574
- }, [items, index]);
57575
- (0, import_react11.useLayoutEffect)(() => {
57576
- setIndex(items.length);
57577
- }, [items.length]);
57578
- const children = itemsToRender.map((item, itemIndex) => {
57579
- return render2(item, index + itemIndex);
57580
- });
57581
- const style = (0, import_react11.useMemo)(() => ({
57582
- position: "absolute",
57583
- flexDirection: "column",
57584
- ...customStyle
57585
- }), [customStyle]);
57586
- return import_react11.default.createElement("ink-box", { internal_static: true, style }, children);
57587
- }
57588
57559
  var import_react11;
57589
57560
  var init_Static = __esm({
57590
57561
  "node_modules/ink/build/components/Static.js"() {
@@ -58043,9 +58014,9 @@ function resolveApiKey() {
58043
58014
  if (primaryKey) {
58044
58015
  return { apiKey: primaryKey, source: "config:primaryApiKey", isOAuth: false };
58045
58016
  }
58046
- const claudeAiOauth = config.claudeAiOauth;
58047
- if (claudeAiOauth?.accessToken) {
58048
- return { apiKey: claudeAiOauth.accessToken, source: "config:claudeAiOauth", isOAuth: true };
58017
+ const codersOauth = config.codersOauth;
58018
+ if (codersOauth?.accessToken) {
58019
+ return { apiKey: codersOauth.accessToken, source: "config:codersOauth", isOAuth: true };
58049
58020
  }
58050
58021
  return null;
58051
58022
  }
@@ -58448,7 +58419,7 @@ var init_client = __esm({
58448
58419
  "Content-Type": "application/json",
58449
58420
  "anthropic-version": "2023-06-01",
58450
58421
  "anthropic-beta": BETA_HEADERS.join(","),
58451
- "User-Agent": `coders/${"0.0.10"}`
58422
+ "User-Agent": `coders/${"0.0.12"}`
58452
58423
  };
58453
58424
  if (key.isOAuth) {
58454
58425
  headers["Authorization"] = `Bearer ${key.apiKey}`;
@@ -69788,6 +69759,19 @@ function SpinnerDot() {
69788
69759
  const f = useSpinner(true);
69789
69760
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: "cyan", children: f });
69790
69761
  }
69762
+ function Header({ model, mode }) {
69763
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { marginBottom: 1, children: [
69764
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { bold: true, color: "cyan", children: "@hasna/coders" }),
69765
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { dimColor: true, children: [
69766
+ " v",
69767
+ VERSION,
69768
+ " \xB7 ",
69769
+ model,
69770
+ " \xB7 ",
69771
+ mode
69772
+ ] })
69773
+ ] });
69774
+ }
69791
69775
  function ToolItem({ tool }) {
69792
69776
  const f = useSpinner(tool.status === "running");
69793
69777
  const icon = tool.status === "running" ? "\xB7" : tool.status === "error" ? "\u25CF" : "\u25CF";
@@ -70080,13 +70064,24 @@ function App2({ model, mode, initialPrompt }) {
70080
70064
  } else if (key.escape) setInput("");
70081
70065
  else if (!key.ctrl && !key.meta && ch) setInput((p) => p + ch);
70082
70066
  });
70067
+ const maxVisible = Math.max(2, Math.floor((rows - 5) / 3));
70068
+ const visible = msgs.slice(-maxVisible);
70069
+ const hiddenCount = msgs.length - visible.length;
70083
70070
  const recentTools = activeTools.slice(-3);
70084
70071
  const streamLines = streaming ? streaming.split("\n") : [];
70085
- const maxStreamLines = Math.max(5, rows - 10);
70072
+ const maxStreamLines = Math.max(3, rows - 12);
70086
70073
  const truncatedStream = streamLines.length > maxStreamLines ? streamLines.slice(-maxStreamLines).join("\n") : streaming;
70087
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
70088
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Static, { items: msgs, children: (msg) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageView, { msg }, msg.id) }),
70089
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { flexDirection: "column", children: [
70074
+ const cols = stdout?.columns ?? 80;
70075
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { flexDirection: "column", height: rows, children: [
70076
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Header, { model, mode }),
70077
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { flexDirection: "column", flexGrow: 1, overflow: "hidden", children: [
70078
+ hiddenCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { dimColor: true, children: [
70079
+ " \u2191 ",
70080
+ hiddenCount,
70081
+ " earlier message",
70082
+ hiddenCount !== 1 ? "s" : ""
70083
+ ] }) }),
70084
+ visible.map((m) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(MessageView, { msg: m }, m.id)),
70090
70085
  busy && recentTools.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { flexDirection: "column", children: [
70091
70086
  activeTools.length > 3 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { dimColor: true, children: [
70092
70087
  " \u2026 +",
@@ -70106,18 +70101,19 @@ function App2({ model, mode, initialPrompt }) {
70106
70101
  recentTools.some((t) => t.status === "running") ? "Working" : "Thinking",
70107
70102
  "..."
70108
70103
  ] })
70104
+ ] })
70105
+ ] }),
70106
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { dimColor: true, children: "\u2500".repeat(Math.min(cols, 120)) }) }),
70107
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { children: [
70108
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { color: "cyan", bold: true, children: [
70109
+ PROMPT,
70110
+ " "
70109
70111
  ] }),
70110
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { dimColor: true, children: "\u2500".repeat(Math.min(stdout?.columns ?? 80, 120)) }) }),
70111
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { children: [
70112
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Text, { color: "cyan", bold: true, children: [
70113
- PROMPT,
70114
- " "
70115
- ] }),
70116
- input.startsWith("/") ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: "magenta", children: input }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: input }),
70117
- !busy && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: "gray", children: "\u258E" })
70118
- ] }),
70119
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatusBar, { model, mode, cost, tokens })
70120
- ] })
70112
+ input.startsWith("/") ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: "magenta", children: input }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { children: input }),
70113
+ !busy && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: "gray", children: "\u258E" })
70114
+ ] }),
70115
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { dimColor: true, children: "\u2500".repeat(Math.min(cols, 120)) }) }),
70116
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(StatusBar, { model, mode, cost, tokens })
70121
70117
  ] });
70122
70118
  }
70123
70119
  function launchInkApp(opts = {}) {
@@ -70406,8 +70402,8 @@ async function bootstrap() {
70406
70402
  var VERSION, BUILD_TIME, PACKAGE_NAME2, ISSUES_URL2, startupTimestamps, originalCwd, RESET_TERMINAL, cleanupHandlers, earlyInput, earlyInputCapturing;
70407
70403
  var init_index = __esm({
70408
70404
  "src/cli/index.ts"() {
70409
- VERSION = "0.0.10";
70410
- BUILD_TIME = "2026-03-20T08:16:11.053Z";
70405
+ VERSION = "0.0.12";
70406
+ BUILD_TIME = "2026-03-20T10:40:16.674Z";
70411
70407
  PACKAGE_NAME2 = "@hasna/coders";
70412
70408
  ISSUES_URL2 = "https://github.com/hasnaxyz/open-coders/issues";
70413
70409
  startupTimestamps = {};