@robinpath/cli 1.88.0 → 1.90.0

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 (2) hide show
  1. package/dist/cli.mjs +47 -10
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -18598,7 +18598,7 @@ function getNativeModules() {
18598
18598
  import { join as join3, basename as basename2 } from "node:path";
18599
18599
  import { homedir as homedir2, platform as platform2 } from "node:os";
18600
18600
  import { existsSync as existsSync2 } from "node:fs";
18601
- var CLI_VERSION = true ? "1.88.0" : "1.88.0";
18601
+ var CLI_VERSION = true ? "1.90.0" : "1.90.0";
18602
18602
  var FLAG_QUIET = false;
18603
18603
  var FLAG_VERBOSE = false;
18604
18604
  var FLAG_AUTO_ACCEPT = false;
@@ -24251,7 +24251,7 @@ function Markdown({ children }) {
24251
24251
  }
24252
24252
 
24253
24253
  // src/ink-repl.tsx
24254
- import { platform as platform7 } from "node:os";
24254
+ import { homedir as homedir8, platform as platform7 } from "node:os";
24255
24255
  import { randomUUID as randomUUID4 } from "node:crypto";
24256
24256
  import { existsSync as existsSync11, readFileSync as readFileSync10, writeFileSync as writeFileSync6 } from "node:fs";
24257
24257
  import { join as join12 } from "node:path";
@@ -24273,7 +24273,7 @@ var COMMANDS = {
24273
24273
  "/shell": "Switch shell",
24274
24274
  "/help": "All commands"
24275
24275
  };
24276
- function InputArea({ onSubmit, placeholder }) {
24276
+ function InputArea({ onSubmit, placeholder, statusText }) {
24277
24277
  const [value, setValue] = useState("");
24278
24278
  const { exit } = useApp();
24279
24279
  const matchingCommands = useMemo(() => {
@@ -24346,7 +24346,10 @@ function InputArea({ onSubmit, placeholder }) {
24346
24346
  ] }, i)) }),
24347
24347
  /* @__PURE__ */ jsx2(Text2, { dimColor: true, children: "\u2500".repeat(Math.max(process.stdout.columns || 80, 40)) })
24348
24348
  ] }),
24349
- /* @__PURE__ */ jsx2(Box2, { paddingX: 2, children: /* @__PURE__ */ jsx2(Text2, { dimColor: true, children: "enter send \xB7 \\ newline \xB7 / commands \xB7 @/ files" }) })
24349
+ /* @__PURE__ */ jsxs2(Box2, { paddingX: 2, justifyContent: "space-between", children: [
24350
+ /* @__PURE__ */ jsx2(Text2, { dimColor: true, children: "/ for commands" }),
24351
+ /* @__PURE__ */ jsx2(Text2, { dimColor: true, children: statusText || "" })
24352
+ ] })
24350
24353
  ] });
24351
24354
  }
24352
24355
  function TrustPrompt({ cwd, onAccept, onReject }) {
@@ -24449,7 +24452,6 @@ function ChatApp({ engine }) {
24449
24452
  setStreaming("");
24450
24453
  engine.updateStatus();
24451
24454
  }, [engine]);
24452
- const isFirst = messages.length === 0;
24453
24455
  if (!trusted) {
24454
24456
  return /* @__PURE__ */ jsx2(
24455
24457
  TrustPrompt,
@@ -24470,8 +24472,43 @@ function ChatApp({ engine }) {
24470
24472
  }
24471
24473
  );
24472
24474
  }
24475
+ const modelName = engine.model.includes("/") ? engine.model.split("/").pop() : engine.model;
24476
+ const cwdShort = process.cwd().replace(homedir8(), "~");
24477
+ const isFirst = messages.length === 0;
24473
24478
  return /* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", paddingY: 1, children: [
24474
- /* @__PURE__ */ jsx2(Box2, { marginBottom: 1, paddingX: 1, children: /* @__PURE__ */ jsxs2(Text2, { children: [
24479
+ isFirst && !loading ? /* @__PURE__ */ jsxs2(Box2, { borderStyle: "round", borderColor: "gray", paddingX: 1, children: [
24480
+ /* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", width: "50%", children: [
24481
+ /* @__PURE__ */ jsx2(Text2, { bold: true, children: " Welcome to RobinPath!" }),
24482
+ /* @__PURE__ */ jsxs2(Text2, { children: [
24483
+ " ",
24484
+ /* @__PURE__ */ jsx2(Text2, { color: "cyan", bold: true, children: "\u25C6" }),
24485
+ " ",
24486
+ /* @__PURE__ */ jsx2(Text2, { dimColor: true, children: modelName })
24487
+ ] }),
24488
+ /* @__PURE__ */ jsxs2(Text2, { children: [
24489
+ " ",
24490
+ /* @__PURE__ */ jsx2(Text2, { dimColor: true, children: cwdShort })
24491
+ ] })
24492
+ ] }),
24493
+ /* @__PURE__ */ jsxs2(Box2, { flexDirection: "column", width: "50%", children: [
24494
+ /* @__PURE__ */ jsxs2(Text2, { dimColor: true, children: [
24495
+ "Type ",
24496
+ /* @__PURE__ */ jsx2(Text2, { color: "cyan", children: "/" }),
24497
+ " to see commands"
24498
+ ] }),
24499
+ /* @__PURE__ */ jsxs2(Text2, { dimColor: true, children: [
24500
+ "Use ",
24501
+ /* @__PURE__ */ jsx2(Text2, { color: "cyan", children: "@/file" }),
24502
+ " to include files"
24503
+ ] }),
24504
+ /* @__PURE__ */ jsxs2(Text2, { dimColor: true, children: [
24505
+ "Use ",
24506
+ /* @__PURE__ */ jsx2(Text2, { color: "cyan", children: "\\" }),
24507
+ " for multiline"
24508
+ ] })
24509
+ ] })
24510
+ ] }) : null,
24511
+ !isFirst || loading ? /* @__PURE__ */ jsx2(Box2, { marginBottom: 1, paddingX: 1, children: /* @__PURE__ */ jsxs2(Text2, { children: [
24475
24512
  /* @__PURE__ */ jsx2(Text2, { color: "cyan", bold: true, children: "\u25C6" }),
24476
24513
  " ",
24477
24514
  /* @__PURE__ */ jsx2(Text2, { bold: true, children: "RobinPath" }),
@@ -24480,7 +24517,7 @@ function ChatApp({ engine }) {
24480
24517
  "v",
24481
24518
  CLI_VERSION
24482
24519
  ] })
24483
- ] }) }),
24520
+ ] }) }) : null,
24484
24521
  /* @__PURE__ */ jsx2(Static, { items: messages, children: (msg) => /* @__PURE__ */ jsx2(Box2, { paddingX: 1, marginBottom: msg.text.startsWith("\u276F") ? 0 : 1, flexDirection: "column", children: msg.text.startsWith("\u276F") ? /* @__PURE__ */ jsxs2(Text2, { children: [
24485
24522
  /* @__PURE__ */ jsx2(Text2, { color: "cyan", bold: true, children: "\u276F" }),
24486
24523
  /* @__PURE__ */ jsx2(Text2, { bold: true, children: msg.text.slice(1) })
@@ -24495,10 +24532,10 @@ function ChatApp({ engine }) {
24495
24532
  InputArea,
24496
24533
  {
24497
24534
  onSubmit: handleSubmit,
24498
- placeholder: "Message RobinPath..."
24535
+ placeholder: "Message RobinPath...",
24536
+ statusText: status
24499
24537
  }
24500
- ),
24501
- status ? /* @__PURE__ */ jsx2(Box2, { marginTop: 1, paddingX: 1, children: /* @__PURE__ */ jsx2(Text2, { dimColor: true, children: status }) }) : null
24538
+ )
24502
24539
  ] });
24503
24540
  }
24504
24541
  var ReplEngine = class {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robinpath/cli",
3
- "version": "1.88.0",
3
+ "version": "1.90.0",
4
4
  "description": "AI-powered scripting CLI — automate anything from your terminal",
5
5
  "type": "module",
6
6
  "license": "MIT",