@xagent/x-cli 1.1.58 → 1.1.60

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/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## 1.1.58 – Logo Assets & NPM Publication Complete
1
+ ## 1.1.60 – Logo Assets & NPM Publication Complete
2
2
 
3
3
  ✅ **Live on NPM**: [@xagent/x-cli](https://www.npmjs.com/package/@xagent/x-cli) - Fully published and ready for global installation
4
4
 
@@ -123,6 +123,15 @@ A conversational AI CLI tool powered by Grok with **Claude Code-level intelligen
123
123
  - **💻 Beautiful Terminal UI**: Interactive interface with Claude Code-style animations and feedback
124
124
  - **📋 Smart Paste Detection**: Large pasted content automatically summarizes as `[Pasted text #1 +12 lines]` for clean chat history
125
125
 
126
+ ### 🎛️ **Interactive Chat Interface**
127
+
128
+ - **Three Interaction Modes**: Chat (immediate), Balanced (smart detection), REPL (full interactive)
129
+ - **Balanced Mode Default**: Automatically chooses workflow based on task complexity
130
+ - **Research Phase**: Agent explains investigation approach with progress indicators
131
+ - **Options Presentation**: Clear recommendations with pros/cons for complex tasks
132
+ - **Confirmation Workflow**: Keyboard shortcuts (y/n/modify/cancel) for efficient decisions
133
+ - **State Persistence**: Settings saved to `~/.xcli/config.json` across sessions
134
+
126
135
  ### 🎨 **Enhanced User Experience**
127
136
 
128
137
  - **🎭 Professional Welcome Banner**: ASCII art with dynamic context status (`Context: Dynamic │ Files: indexed │ Session: Restored`)
package/dist/index.js CHANGED
@@ -9293,7 +9293,7 @@ EOF`;
9293
9293
  var package_default = {
9294
9294
  type: "module",
9295
9295
  name: "@xagent/x-cli",
9296
- version: "1.1.58",
9296
+ version: "1.1.60",
9297
9297
  description: "An open-source AI agent that brings the power of Grok directly into your terminal.",
9298
9298
  main: "dist/index.js",
9299
9299
  module: "dist/index.js",
@@ -14902,6 +14902,14 @@ function useInputHandler({
14902
14902
  return "brief";
14903
14903
  }
14904
14904
  });
14905
+ const [_interactivityLevel, _setInteractivityLevel] = useState(() => {
14906
+ try {
14907
+ const manager = getSettingsManager();
14908
+ return manager.getUserSetting("interactivityLevel") || "balanced";
14909
+ } catch {
14910
+ return "balanced";
14911
+ }
14912
+ });
14905
14913
  const planMode = usePlanMode({}, agent);
14906
14914
  const handleSpecialKey = (key) => {
14907
14915
  if (isConfirmationActive) {
@@ -15107,6 +15115,7 @@ function useInputHandler({
15107
15115
  { command: "/models", description: "Switch Grok Model" },
15108
15116
  { command: "/verbosity", description: "Control output verbosity (quiet/normal/verbose)" },
15109
15117
  { command: "/explain", description: "Control operation explanations (off/brief/detailed)" },
15118
+ { command: "/interactivity", description: "Set interaction style (chat/balanced/repl)" },
15110
15119
  { command: "/upgrade", description: "Check for updates and upgrade CLI" },
15111
15120
  { command: "/version", description: "Show version information" },
15112
15121
  { command: "/switch", description: "Switch to specific version" },
@@ -18335,6 +18344,7 @@ function ChatInterfaceWithAgent({
18335
18344
  const isEnabled = config2?.enabled !== false;
18336
18345
  const showLoadingMessage = config2?.showLoadingMessage !== false;
18337
18346
  const showSummaryMessage = config2?.showSummaryMessage !== false;
18347
+ const showFileContents = config2?.showFileContents === true;
18338
18348
  if (!isEnabled) {
18339
18349
  return;
18340
18350
  }
@@ -18394,13 +18404,15 @@ function ChatInterfaceWithAgent({
18394
18404
  const content = fs__default.readFileSync(filePath, "utf8");
18395
18405
  const displayTitle = file.title || fileName.replace(".md", "").replace("-", " ").toUpperCase();
18396
18406
  const icon = file.icon || "\u{1F4C4}";
18397
- initialMessages.push({
18398
- type: "assistant",
18399
- content: `${icon} **${displayTitle} (from .agent/${folder.name}/${fileName})**
18407
+ if (showFileContents) {
18408
+ initialMessages.push({
18409
+ type: "assistant",
18410
+ content: `${icon} **${displayTitle} (from .agent/${folder.name}/${fileName})**
18400
18411
 
18401
18412
  ${content}`,
18402
- timestamp: /* @__PURE__ */ new Date()
18403
- });
18413
+ timestamp: /* @__PURE__ */ new Date()
18414
+ });
18415
+ }
18404
18416
  docsRead++;
18405
18417
  } catch (_error) {
18406
18418
  }