@xagent/x-cli 1.1.57 → 1.1.59

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.
@@ -0,0 +1,100 @@
1
+ {
2
+ "enabled": true,
3
+ "showLoadingMessage": true,
4
+ "showSummaryMessage": true,
5
+ "folders": [
6
+ {
7
+ "name": "system",
8
+ "description": "System Architecture & State",
9
+ "priority": 1,
10
+ "files": [
11
+ {
12
+ "name": "architecture.md",
13
+ "title": "System Architecture",
14
+ "description": "Complete system design and technology stack",
15
+ "icon": "📋",
16
+ "required": true
17
+ },
18
+ {
19
+ "name": "critical-state.md",
20
+ "title": "Critical State",
21
+ "description": "Current system capabilities and status",
22
+ "icon": "🏗️",
23
+ "required": false
24
+ },
25
+ {
26
+ "name": "installation.md",
27
+ "title": "Installation",
28
+ "description": "Setup and deployment procedures",
29
+ "icon": "🏗️",
30
+ "required": false
31
+ },
32
+ {
33
+ "name": "api-schema.md",
34
+ "title": "API Schema",
35
+ "description": "API integration specifications",
36
+ "icon": "🏗️",
37
+ "required": false
38
+ },
39
+ {
40
+ "name": "auto-read-system.md",
41
+ "title": "Auto-Read System",
42
+ "description": "Documentation of this auto-loading feature",
43
+ "icon": "🏗️",
44
+ "required": false
45
+ }
46
+ ]
47
+ },
48
+ {
49
+ "name": "sop",
50
+ "description": "Standard Operating Procedures",
51
+ "priority": 2,
52
+ "files": [
53
+ {
54
+ "name": "git-workflow.md",
55
+ "title": "Git Workflow SOP",
56
+ "description": "Git workflow standards and smart push guidelines",
57
+ "icon": "🔧",
58
+ "required": true
59
+ },
60
+ {
61
+ "name": "release-management.md",
62
+ "title": "Release Management SOP",
63
+ "description": "Automated release processes and version management",
64
+ "icon": "📖",
65
+ "required": false
66
+ },
67
+ {
68
+ "name": "automation-protection.md",
69
+ "title": "Automation Protection SOP",
70
+ "description": "Safeguards for automated NPM publishing",
71
+ "icon": "📖",
72
+ "required": false
73
+ },
74
+ {
75
+ "name": "npm-publishing-troubleshooting.md",
76
+ "title": "NPM Publishing Troubleshooting",
77
+ "description": "NPM publication issue resolution",
78
+ "icon": "📖",
79
+ "required": false
80
+ }
81
+ ]
82
+ }
83
+ ],
84
+ "customFolders": [
85
+ // Add custom folders here
86
+ // {
87
+ // "name": "guides",
88
+ // "description": "Project Guides",
89
+ // "priority": 3,
90
+ // "files": [
91
+ // {
92
+ // "name": "*.md",
93
+ // "pattern": true,
94
+ // "title": "Guide",
95
+ // "icon": "📚"
96
+ // }
97
+ // ]
98
+ // }
99
+ ]
100
+ }
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- ## 1.1.57 – Logo Assets & NPM Publication Complete
1
+ ## 1.1.59 – 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`)
@@ -430,7 +439,7 @@ The **`.agent` folder** is the most powerful feature of X CLI, enabling **self-d
430
439
  When you run `npx -y @xagent/x-cli@latest`, the CLI automatically detects and reads `.agent/` documentation:
431
440
 
432
441
  1. **Auto-Discovery**: Scans for `.agent/` folder in current directory
433
- 2. **Configuration Loading**: Reads `.agent/auto-read-config.json` for custom settings
442
+ 2. **Configuration Loading**: Reads `.xcli/auto-read-config.json` (distributed) or `.agent/auto-read-config.json` (project override)
434
443
  3. **Smart Loading**: Reads configured documentation files into chat context
435
444
  4. **Context Enhancement**: Provides comprehensive project understanding to AI
436
445
 
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.57",
9296
+ version: "1.1.59",
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",
@@ -9307,6 +9307,13 @@ var package_default = {
9307
9307
  bin: {
9308
9308
  xcli: "dist/index.js"
9309
9309
  },
9310
+ files: [
9311
+ "dist/**/*",
9312
+ ".xcli/**/*",
9313
+ "README.md",
9314
+ "LICENSE",
9315
+ "docs/assets/logos/**/*"
9316
+ ],
9310
9317
  scripts: {
9311
9318
  build: "tsup",
9312
9319
  "build:tsc": "tsc",
@@ -9405,12 +9412,6 @@ var package_default = {
9405
9412
  },
9406
9413
  homepage: "https://grokcli.dev",
9407
9414
  icon: "docs/assets/logos/x-cli-logo.svg",
9408
- files: [
9409
- "dist/**/*",
9410
- "README.md",
9411
- "LICENSE",
9412
- "docs/assets/logos/**/*"
9413
- ],
9414
9415
  publishConfig: {
9415
9416
  access: "public"
9416
9417
  },
@@ -14901,6 +14902,14 @@ function useInputHandler({
14901
14902
  return "brief";
14902
14903
  }
14903
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
+ });
14904
14913
  const planMode = usePlanMode({}, agent);
14905
14914
  const handleSpecialKey = (key) => {
14906
14915
  if (isConfirmationActive) {
@@ -15106,6 +15115,7 @@ function useInputHandler({
15106
15115
  { command: "/models", description: "Switch Grok Model" },
15107
15116
  { command: "/verbosity", description: "Control output verbosity (quiet/normal/verbose)" },
15108
15117
  { command: "/explain", description: "Control operation explanations (off/brief/detailed)" },
15118
+ { command: "/interactivity", description: "Set interaction style (chat/balanced/repl)" },
15109
15119
  { command: "/upgrade", description: "Check for updates and upgrade CLI" },
15110
15120
  { command: "/version", description: "Show version information" },
15111
15121
  { command: "/switch", description: "Switch to specific version" },
@@ -18315,12 +18325,20 @@ function ChatInterfaceWithAgent({
18315
18325
  const initialMessages = [];
18316
18326
  let docsRead = 0;
18317
18327
  let config2 = null;
18318
- const configPath = path7__default.join(".agent", "auto-read-config.json");
18319
- if (fs__default.existsSync(configPath)) {
18320
- try {
18321
- const configContent = fs__default.readFileSync(configPath, "utf8");
18322
- config2 = JSON.parse(configContent);
18323
- } catch (_error) {
18328
+ const configPaths = [
18329
+ path7__default.join(".xcli", "auto-read-config.json"),
18330
+ // User config (distributed)
18331
+ path7__default.join(".agent", "auto-read-config.json")
18332
+ // Dev override (gitignored)
18333
+ ];
18334
+ for (const configPath of configPaths) {
18335
+ if (fs__default.existsSync(configPath)) {
18336
+ try {
18337
+ const configContent = fs__default.readFileSync(configPath, "utf8");
18338
+ config2 = JSON.parse(configContent);
18339
+ break;
18340
+ } catch (_error) {
18341
+ }
18324
18342
  }
18325
18343
  }
18326
18344
  const isEnabled = config2?.enabled !== false;