@defai.digital/ax-cli 3.1.4 → 3.1.5
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/.ax-cli/memory.json +4 -4
- package/dist/agent/context-manager.js +19 -8
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/llm-agent.d.ts +8 -0
- package/dist/agent/llm-agent.js +35 -33
- package/dist/agent/llm-agent.js.map +1 -1
- package/dist/agent/subagent-orchestrator.js +12 -0
- package/dist/agent/subagent-orchestrator.js.map +1 -1
- package/dist/agent/subagent.js +18 -0
- package/dist/agent/subagent.js.map +1 -1
- package/dist/commands/memory.js +5 -1
- package/dist/commands/memory.js.map +1 -1
- package/dist/constants.d.ts +12 -2
- package/dist/constants.js +15 -2
- package/dist/constants.js.map +1 -1
- package/dist/memory/context-injector.d.ts +15 -1
- package/dist/memory/context-injector.js +18 -1
- package/dist/memory/context-injector.js.map +1 -1
- package/dist/memory/context-store.d.ts +27 -0
- package/dist/memory/context-store.js +60 -6
- package/dist/memory/context-store.js.map +1 -1
- package/dist/tools/search.js +39 -16
- package/dist/tools/search.js.map +1 -1
- package/dist/ui/components/chat-history.js +52 -19
- package/dist/ui/components/chat-history.js.map +1 -1
- package/dist/ui/components/chat-input.js +12 -5
- package/dist/ui/components/chat-input.js.map +1 -1
- package/dist/ui/components/command-suggestions.d.ts +12 -0
- package/dist/ui/components/command-suggestions.js +68 -3
- package/dist/ui/components/command-suggestions.js.map +1 -1
- package/dist/ui/components/confirmation-dialog.js +8 -2
- package/dist/ui/components/confirmation-dialog.js.map +1 -1
- package/dist/ui/components/loading-spinner.js +12 -3
- package/dist/ui/components/loading-spinner.js.map +1 -1
- package/dist/ui/components/reasoning-display.d.ts +8 -1
- package/dist/ui/components/reasoning-display.js +14 -8
- package/dist/ui/components/reasoning-display.js.map +1 -1
- package/dist/ui/components/status-bar.d.ts +4 -1
- package/dist/ui/components/status-bar.js +65 -4
- package/dist/ui/components/status-bar.js.map +1 -1
- package/dist/ui/components/subagent-monitor.d.ts +8 -0
- package/dist/ui/components/subagent-monitor.js +36 -50
- package/dist/ui/components/subagent-monitor.js.map +1 -1
- package/dist/ui/components/virtualized-chat-history.js +10 -10
- package/dist/ui/components/virtualized-chat-history.js.map +1 -1
- package/dist/ui/components/welcome-panel.d.ts +1 -1
- package/dist/ui/components/welcome-panel.js +2 -4
- package/dist/ui/components/welcome-panel.js.map +1 -1
- package/dist/utils/error-handler.d.ts +8 -1
- package/dist/utils/error-handler.js +61 -1
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/token-counter.d.ts +6 -0
- package/dist/utils/token-counter.js +24 -1
- package/dist/utils/token-counter.js.map +1 -1
- package/package.json +1 -1
package/dist/constants.js
CHANGED
|
@@ -2,11 +2,24 @@
|
|
|
2
2
|
* Application-wide constants
|
|
3
3
|
* Now loaded from YAML configuration files for better maintainability
|
|
4
4
|
*/
|
|
5
|
+
import { homedir } from 'os';
|
|
6
|
+
import { join } from 'path';
|
|
5
7
|
import { loadModelsConfig, loadSettingsConfig, loadMessagesConfig, formatMessage } from './utils/config-loader.js';
|
|
6
8
|
// Load configurations from YAML files
|
|
7
9
|
const modelsYaml = loadModelsConfig();
|
|
8
10
|
const settingsYaml = loadSettingsConfig();
|
|
9
11
|
const messagesYaml = loadMessagesConfig();
|
|
12
|
+
// Configuration Paths
|
|
13
|
+
export const CONFIG_PATHS = {
|
|
14
|
+
/** User-level settings directory */
|
|
15
|
+
USER_DIR: join(homedir(), '.ax-cli'),
|
|
16
|
+
/** User-level configuration file */
|
|
17
|
+
USER_CONFIG: join(homedir(), '.ax-cli', 'config.json'),
|
|
18
|
+
/** Project-level settings directory */
|
|
19
|
+
PROJECT_DIR: join(process.cwd(), '.ax-cli'),
|
|
20
|
+
/** Project-level settings file */
|
|
21
|
+
PROJECT_SETTINGS: join(process.cwd(), '.ax-cli', 'settings.json'),
|
|
22
|
+
};
|
|
10
23
|
// Agent Configuration
|
|
11
24
|
export const AGENT_CONFIG = {
|
|
12
25
|
MAX_TOOL_ROUNDS: settingsYaml.agent.max_tool_rounds,
|
|
@@ -90,8 +103,8 @@ export const ERROR_MESSAGES = {
|
|
|
90
103
|
export const PLANNER_CONFIG = {
|
|
91
104
|
/** Enable multi-phase planning */
|
|
92
105
|
ENABLED: true,
|
|
93
|
-
/** Minimum expected tool calls to trigger auto-planning */
|
|
94
|
-
AUTO_PLAN_THRESHOLD:
|
|
106
|
+
/** Minimum expected tool calls to trigger auto-planning (lowered for more parallelization) */
|
|
107
|
+
AUTO_PLAN_THRESHOLD: 2,
|
|
95
108
|
/** Maximum phases per plan */
|
|
96
109
|
MAX_PHASES: 10,
|
|
97
110
|
/** Phase timeout in milliseconds (10 minutes) */
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEnH,sCAAsC;AACtC,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;AACtC,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;AAC1C,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;AAE1C,sBAAsB;AACtB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,eAAe;IACnD,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,eAAe;IACnD,kBAAkB,EAAE,YAAY,CAAC,KAAK,CAAC,kBAAkB;IACzD,qBAAqB,EAAE,YAAY,CAAC,KAAK,CAAC,qBAAqB;IAC/D,wBAAwB,EAAE,YAAY,CAAC,KAAK,CAAC,wBAAwB;IACrE,qBAAqB,EAAE,YAAY,CAAC,KAAK,CAAC,qBAAqB;CACvD,CAAC;AAEX,8CAA8C;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;IACvF,GAAG,CAAC,GAAG,CAAC,GAAG;QACT,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,aAAa,EAAE,KAAK,CAAC,cAAc;QACnC,eAAe,EAAE,KAAK,CAAC,iBAAiB;QACxC,gBAAgB,EAAE,KAAK,CAAC,kBAAkB;QAC1C,gBAAgB,EAAE,KAAK,CAAC,iBAAiB;QACzC,kBAAkB,EAAE,KAAK,CAAC,mBAAmB;QAC7C,gBAAgB,EAAE;YAChB,GAAG,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG;YAChC,GAAG,EAAE,KAAK,CAAC,iBAAiB,CAAC,GAAG;SACjC;QACD,eAAe,EAAE,KAAK,CAAC,gBAAgB;KACxC,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC,EAAE,EASD,CAAC,CAAC;AAGJ,MAAM,CAAC,MAAM,aAAa,GAAmB,UAAU,CAAC,aAA+B,CAAC;AAExF,kBAAkB;AAClB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,aAAa,EAAE,YAAY,CAAC,IAAI,CAAC,aAAa;IAC9C,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,eAAe;IAClD,kBAAkB,EAAE,YAAY,CAAC,IAAI,CAAC,kBAAkB;CAChD,CAAC;AAEX,wBAAwB;AACxB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,gBAAgB;CAC/C,CAAC;AAEX,oBAAoB;AACpB,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,WAAW;IACzC,cAAc,EAAE,YAAY,CAAC,GAAG,CAAC,cAAc;IAC/C,eAAe,EAAE,YAAY,CAAC,GAAG,CAAC,eAAe;CACzC,CAAC;AAEX,mBAAmB;AACnB,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,sBAAsB,EAAE,YAAY,CAAC,EAAE,CAAC,sBAAsB;IAC9D,yBAAyB,EAAE,YAAY,CAAC,EAAE,CAAC,yBAAyB;CAC5D,CAAC;AAEX,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,kBAAkB,EAAE,YAAY,CAAC,KAAK,CAAC,kBAAkB;IACzD,wBAAwB,EAAE,YAAY,CAAC,KAAK,CAAC,wBAAwB;IACrE,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa;IAC/C,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,gBAAgB;IACrD,cAAc,EAAE,YAAY,CAAC,KAAK,CAAC,cAAc;IACjD,wBAAwB,EAAE,YAAY,CAAC,KAAK,CAAC,wBAAwB;CAC7D,CAAC;AAEX,sBAAsB;AACtB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,gBAAgB;IACrD,WAAW,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW;CACnC,CAAC;AAEX,yBAAyB;AACzB,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,cAAc,EAAE,YAAY,CAAC,WAAW,CAAC,cAAc;IACvD,cAAc,EAAE,YAAY,CAAC,WAAW,CAAC,cAAc;IACvD,wBAAwB,EAAE,YAAY,CAAC,WAAW,CAAC,wBAAwB;CACnE,CAAC;AAEX,aAAa;AACb,MAAM,CAAC,MAAM,UAAU,GAAG,YAAY,CAAC,UAAoC,CAAC;AAE5E,uCAAuC;AACvC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,gBAAgB;IACtD,yBAAyB,EAAE,YAAY,CAAC,MAAM,CAAC,yBAAyB;IACxE,cAAc,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;IACrG,oBAAoB,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,UAAU,EAAE,CAAC;IACrH,cAAc,EAAE,CAAC,QAAgB,EAAE,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;IACrG,mBAAmB,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,CAAC;CACrG,CAAC;AAEX,yCAAyC;AACzC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,kCAAkC;IAClC,OAAO,EAAE,IAAI;IAEb,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,7 +74,21 @@ export declare class ContextInjector {
|
|
|
74
74
|
getMissingMemoryHint(): string | null;
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
|
-
* Get
|
|
77
|
+
* Get a context injector instance
|
|
78
|
+
*
|
|
79
|
+
* IMPORTANT: Singleton behavior
|
|
80
|
+
* - Without projectRoot: Returns singleton instance (uses process.cwd())
|
|
81
|
+
* - With projectRoot: Returns NEW instance for that specific project
|
|
82
|
+
*
|
|
83
|
+
* Example:
|
|
84
|
+
* ```typescript
|
|
85
|
+
* const injector1 = getContextInjector(); // Singleton
|
|
86
|
+
* const injector2 = getContextInjector(); // Same instance
|
|
87
|
+
* const injector3 = getContextInjector('/custom'); // New instance
|
|
88
|
+
* ```
|
|
89
|
+
*
|
|
90
|
+
* @param projectRoot - Optional custom project root. If provided, returns a new instance.
|
|
91
|
+
* @returns ContextInjector instance
|
|
78
92
|
*/
|
|
79
93
|
export declare function getContextInjector(projectRoot?: string): ContextInjector;
|
|
80
94
|
/**
|
|
@@ -119,15 +119,32 @@ export class ContextInjector {
|
|
|
119
119
|
}
|
|
120
120
|
/**
|
|
121
121
|
* Singleton instance for convenience
|
|
122
|
+
* NOTE: Singleton uses process.cwd() as projectRoot
|
|
122
123
|
*/
|
|
123
124
|
let defaultInjector = null;
|
|
124
125
|
/**
|
|
125
|
-
* Get
|
|
126
|
+
* Get a context injector instance
|
|
127
|
+
*
|
|
128
|
+
* IMPORTANT: Singleton behavior
|
|
129
|
+
* - Without projectRoot: Returns singleton instance (uses process.cwd())
|
|
130
|
+
* - With projectRoot: Returns NEW instance for that specific project
|
|
131
|
+
*
|
|
132
|
+
* Example:
|
|
133
|
+
* ```typescript
|
|
134
|
+
* const injector1 = getContextInjector(); // Singleton
|
|
135
|
+
* const injector2 = getContextInjector(); // Same instance
|
|
136
|
+
* const injector3 = getContextInjector('/custom'); // New instance
|
|
137
|
+
* ```
|
|
138
|
+
*
|
|
139
|
+
* @param projectRoot - Optional custom project root. If provided, returns a new instance.
|
|
140
|
+
* @returns ContextInjector instance
|
|
126
141
|
*/
|
|
127
142
|
export function getContextInjector(projectRoot) {
|
|
128
143
|
if (projectRoot) {
|
|
144
|
+
// Custom project root - always return new instance
|
|
129
145
|
return new ContextInjector(projectRoot);
|
|
130
146
|
}
|
|
147
|
+
// Default behavior - return singleton
|
|
131
148
|
if (!defaultInjector) {
|
|
132
149
|
defaultInjector = new ContextInjector();
|
|
133
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-injector.js","sourceRoot":"","sources":["../../src/memory/context-injector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAclD;;GAEG;AACH,MAAM,OAAO,eAAe;IAClB,KAAK,CAAe;IACpB,YAAY,GAAyB,IAAI,CAAC;IAC1C,OAAO,GAAY,IAAI,CAAC;IAEhC,YAAY,cAAsB,OAAO,CAAC,GAAG,EAAE;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,OAAgB;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iCAAiC;QACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7C,CAAC;QAED,kBAAkB;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IACvC,CAAC;IAED;;;;;;;;OAQG;IACH,gBAAgB,CAAC,UAAkB;QACjC,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAExC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,+CAA+C;QAC/C,MAAM,SAAS,GAAG,aAAa,CAAC;QAEhC,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,YAAY,CAAC;QAC3B,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;QAChC,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,MAAM,EAAE,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,oBAAoB;QAClB,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,2EAA2E,CAAC;IACrF,CAAC;CACF;AAED
|
|
1
|
+
{"version":3,"file":"context-injector.js","sourceRoot":"","sources":["../../src/memory/context-injector.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,16 @@ export declare class ContextStore {
|
|
|
51
51
|
updateStats(stats: Partial<CacheStats>): StoreResult<void>;
|
|
52
52
|
/**
|
|
53
53
|
* Increment usage count and record cache hit
|
|
54
|
+
*
|
|
55
|
+
* ⚠️ KNOWN LIMITATION: Race condition if multiple API calls happen simultaneously.
|
|
56
|
+
* Stats recording uses load-modify-save pattern without locking. In rare cases
|
|
57
|
+
* where multiple API calls overlap, some cache hit stats may be lost.
|
|
58
|
+
* This is acceptable as stats are informational, not critical to operation.
|
|
59
|
+
*
|
|
60
|
+
* For production use requiring perfect accuracy, consider:
|
|
61
|
+
* - File-level locking (complex, platform-dependent)
|
|
62
|
+
* - Separate stats database (overengineering for most use cases)
|
|
63
|
+
* - Async queue with single writer (adds complexity)
|
|
54
64
|
*/
|
|
55
65
|
recordUsage(promptTokens: number, cachedTokens: number): StoreResult<void>;
|
|
56
66
|
/**
|
|
@@ -69,6 +79,23 @@ export declare class ContextStore {
|
|
|
69
79
|
usageCount?: number;
|
|
70
80
|
};
|
|
71
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Get a context store instance
|
|
84
|
+
*
|
|
85
|
+
* IMPORTANT: Singleton behavior
|
|
86
|
+
* - Without projectRoot: Returns singleton instance (uses process.cwd())
|
|
87
|
+
* - With projectRoot: Returns NEW instance for that specific project
|
|
88
|
+
*
|
|
89
|
+
* Example:
|
|
90
|
+
* ```typescript
|
|
91
|
+
* const store1 = getContextStore(); // Singleton
|
|
92
|
+
* const store2 = getContextStore(); // Same instance
|
|
93
|
+
* const store3 = getContextStore('/custom'); // New instance
|
|
94
|
+
* ```
|
|
95
|
+
*
|
|
96
|
+
* @param projectRoot - Optional custom project root. If provided, returns a new instance.
|
|
97
|
+
* @returns ContextStore instance
|
|
98
|
+
*/
|
|
72
99
|
export declare function getContextStore(projectRoot?: string): ContextStore;
|
|
73
100
|
/**
|
|
74
101
|
* Reset the default store (mainly for testing)
|
|
@@ -57,7 +57,8 @@ export class ContextStore {
|
|
|
57
57
|
if (!parseResult.success) {
|
|
58
58
|
return {
|
|
59
59
|
success: false,
|
|
60
|
-
error: `Failed to parse memory.json: ${parseResult.error}
|
|
60
|
+
error: `Failed to parse memory.json: ${parseResult.error}\n` +
|
|
61
|
+
`💡 The file may be corrupted. Try: ax memory warmup --force`,
|
|
61
62
|
};
|
|
62
63
|
}
|
|
63
64
|
// Validate schema
|
|
@@ -65,9 +66,22 @@ export class ContextStore {
|
|
|
65
66
|
if (!validation.success) {
|
|
66
67
|
return {
|
|
67
68
|
success: false,
|
|
68
|
-
error: `Invalid memory.json schema: ${validation.error}
|
|
69
|
+
error: `Invalid memory.json schema: ${validation.error}\n` +
|
|
70
|
+
`💡 The file format is outdated or corrupted. Run: ax memory warmup`,
|
|
69
71
|
};
|
|
70
72
|
}
|
|
73
|
+
// Validate memory size (warn if too large)
|
|
74
|
+
const memory = validation.data;
|
|
75
|
+
const tokenEstimate = memory.context.token_estimate;
|
|
76
|
+
const MAX_RECOMMENDED_TOKENS = 10000;
|
|
77
|
+
if (tokenEstimate > MAX_RECOMMENDED_TOKENS) {
|
|
78
|
+
// Log warning but don't fail - this is just a recommendation
|
|
79
|
+
if (process.env.NODE_ENV !== 'test') {
|
|
80
|
+
console.warn(`⚠️ Large context detected (${tokenEstimate.toLocaleString()} tokens)\n` +
|
|
81
|
+
` Recommended: <${MAX_RECOMMENDED_TOKENS.toLocaleString()} tokens for optimal caching\n` +
|
|
82
|
+
` Consider reducing --max-tokens in ax memory warmup`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
71
85
|
return { success: true, data: validation.data };
|
|
72
86
|
}
|
|
73
87
|
/**
|
|
@@ -84,9 +98,20 @@ export class ContextStore {
|
|
|
84
98
|
if (!validation.success) {
|
|
85
99
|
return {
|
|
86
100
|
success: false,
|
|
87
|
-
error: `Invalid memory data: ${validation.error}
|
|
101
|
+
error: `Invalid memory data: ${validation.error}\n` +
|
|
102
|
+
`💡 Memory structure is invalid. Please report this bug.`,
|
|
88
103
|
};
|
|
89
104
|
}
|
|
105
|
+
// Size validation
|
|
106
|
+
const tokenEstimate = memory.context.token_estimate;
|
|
107
|
+
const MAX_RECOMMENDED_TOKENS = 10000;
|
|
108
|
+
if (tokenEstimate > MAX_RECOMMENDED_TOKENS) {
|
|
109
|
+
// Warn but don't fail - user might intentionally want large context
|
|
110
|
+
if (process.env.NODE_ENV !== 'test') {
|
|
111
|
+
console.warn(`⚠️ Saving large context (${tokenEstimate.toLocaleString()} tokens)\n` +
|
|
112
|
+
` This may reduce cache efficiency. Consider using --max-tokens ${MAX_RECOMMENDED_TOKENS}`);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
90
115
|
// Atomic write: write to temp file then rename
|
|
91
116
|
const tmpPath = `${this.memoryPath}.tmp`;
|
|
92
117
|
const content = JSON.stringify(memory, null, 2);
|
|
@@ -132,12 +157,22 @@ export class ContextStore {
|
|
|
132
157
|
}
|
|
133
158
|
/**
|
|
134
159
|
* Increment usage count and record cache hit
|
|
160
|
+
*
|
|
161
|
+
* ⚠️ KNOWN LIMITATION: Race condition if multiple API calls happen simultaneously.
|
|
162
|
+
* Stats recording uses load-modify-save pattern without locking. In rare cases
|
|
163
|
+
* where multiple API calls overlap, some cache hit stats may be lost.
|
|
164
|
+
* This is acceptable as stats are informational, not critical to operation.
|
|
165
|
+
*
|
|
166
|
+
* For production use requiring perfect accuracy, consider:
|
|
167
|
+
* - File-level locking (complex, platform-dependent)
|
|
168
|
+
* - Separate stats database (overengineering for most use cases)
|
|
169
|
+
* - Async queue with single writer (adds complexity)
|
|
135
170
|
*/
|
|
136
171
|
recordUsage(promptTokens, cachedTokens) {
|
|
137
172
|
const loadResult = this.load();
|
|
138
173
|
if (!loadResult.success) {
|
|
139
|
-
//
|
|
140
|
-
return { success:
|
|
174
|
+
// Memory doesn't exist - return actual failure so caller knows stats weren't recorded
|
|
175
|
+
return { success: false, error: 'No memory found - stats not recorded' };
|
|
141
176
|
}
|
|
142
177
|
const memory = loadResult.data;
|
|
143
178
|
const currentStats = memory.stats || {};
|
|
@@ -191,13 +226,32 @@ export class ContextStore {
|
|
|
191
226
|
}
|
|
192
227
|
/**
|
|
193
228
|
* Singleton instance for convenience
|
|
194
|
-
*
|
|
229
|
+
* NOTE: Singleton uses process.cwd() as projectRoot
|
|
195
230
|
*/
|
|
196
231
|
let defaultStore = null;
|
|
232
|
+
/**
|
|
233
|
+
* Get a context store instance
|
|
234
|
+
*
|
|
235
|
+
* IMPORTANT: Singleton behavior
|
|
236
|
+
* - Without projectRoot: Returns singleton instance (uses process.cwd())
|
|
237
|
+
* - With projectRoot: Returns NEW instance for that specific project
|
|
238
|
+
*
|
|
239
|
+
* Example:
|
|
240
|
+
* ```typescript
|
|
241
|
+
* const store1 = getContextStore(); // Singleton
|
|
242
|
+
* const store2 = getContextStore(); // Same instance
|
|
243
|
+
* const store3 = getContextStore('/custom'); // New instance
|
|
244
|
+
* ```
|
|
245
|
+
*
|
|
246
|
+
* @param projectRoot - Optional custom project root. If provided, returns a new instance.
|
|
247
|
+
* @returns ContextStore instance
|
|
248
|
+
*/
|
|
197
249
|
export function getContextStore(projectRoot) {
|
|
198
250
|
if (projectRoot) {
|
|
251
|
+
// Custom project root - always return new instance
|
|
199
252
|
return new ContextStore(projectRoot);
|
|
200
253
|
}
|
|
254
|
+
// Default behavior - return singleton
|
|
201
255
|
if (!defaultStore) {
|
|
202
256
|
defaultStore = new ContextStore();
|
|
203
257
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-store.js","sourceRoot":"","sources":["../../src/memory/context-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AASvD;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,UAAU,CAAS;IACnB,SAAS,CAAS;IAE1B,YAAY,cAAsB,OAAO,CAAC,GAAG,EAAE;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,4BAA4B,IAAI,CAAC,UAAU,yBAAyB;aAC5E,CAAC;QACJ,CAAC;QAED,kBAAkB;QAClB,MAAM,WAAW,GAAG,aAAa,CAAU,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,gCAAgC,WAAW,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"context-store.js","sourceRoot":"","sources":["../../src/memory/context-store.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/search.js
CHANGED
|
@@ -248,15 +248,17 @@ export class SearchTool {
|
|
|
248
248
|
const maxResults = options.maxResults || SearchTool.DEFAULT_MAX_RESULTS;
|
|
249
249
|
const searchPattern = pattern.toLowerCase(); // Cache once for all comparisons
|
|
250
250
|
const walkDir = async (dir, depth = 0) => {
|
|
251
|
-
if
|
|
251
|
+
// Early exit if we've found enough results or exceeded depth
|
|
252
|
+
if (files.length >= maxResults)
|
|
253
|
+
return;
|
|
254
|
+
if (depth > SearchTool.MAX_RECURSION_DEPTH)
|
|
252
255
|
return;
|
|
253
256
|
try {
|
|
254
257
|
const entries = await fs.readdir(dir, { withFileTypes: true });
|
|
258
|
+
// Separate files and directories for better search ordering
|
|
259
|
+
const fileEntries = [];
|
|
260
|
+
const dirEntries = [];
|
|
255
261
|
for (const entry of entries) {
|
|
256
|
-
if (files.length >= maxResults)
|
|
257
|
-
break;
|
|
258
|
-
const fullPath = path.join(dir, entry.name);
|
|
259
|
-
const relativePath = path.relative(this.currentDirectory, fullPath);
|
|
260
262
|
// Skip hidden files unless explicitly included
|
|
261
263
|
if (!options.includeHidden && entry.name.startsWith(".")) {
|
|
262
264
|
continue;
|
|
@@ -265,24 +267,45 @@ export class SearchTool {
|
|
|
265
267
|
if (entry.isDirectory() && SearchTool.SKIP_DIRECTORIES.includes(entry.name)) {
|
|
266
268
|
continue;
|
|
267
269
|
}
|
|
270
|
+
if (entry.isFile()) {
|
|
271
|
+
fileEntries.push(entry);
|
|
272
|
+
}
|
|
273
|
+
else if (entry.isDirectory()) {
|
|
274
|
+
dirEntries.push(entry);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
// Process files first (better for finding matches quickly)
|
|
278
|
+
for (const entry of fileEntries) {
|
|
279
|
+
if (files.length >= maxResults)
|
|
280
|
+
return; // Early exit
|
|
281
|
+
const fullPath = path.join(dir, entry.name);
|
|
282
|
+
const relativePath = path.relative(this.currentDirectory, fullPath);
|
|
268
283
|
// Apply exclude pattern
|
|
269
284
|
if (options.excludePattern &&
|
|
270
285
|
relativePath.includes(options.excludePattern)) {
|
|
271
286
|
continue;
|
|
272
287
|
}
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
});
|
|
281
|
-
}
|
|
288
|
+
const score = this.calculateFileScore(entry.name, relativePath, searchPattern);
|
|
289
|
+
if (score > 0) {
|
|
290
|
+
files.push({
|
|
291
|
+
path: relativePath,
|
|
292
|
+
name: entry.name,
|
|
293
|
+
score,
|
|
294
|
+
});
|
|
282
295
|
}
|
|
283
|
-
|
|
284
|
-
|
|
296
|
+
}
|
|
297
|
+
// Process directories last
|
|
298
|
+
for (const entry of dirEntries) {
|
|
299
|
+
if (files.length >= maxResults)
|
|
300
|
+
return; // Early exit before recursion
|
|
301
|
+
const fullPath = path.join(dir, entry.name);
|
|
302
|
+
const relativePath = path.relative(this.currentDirectory, fullPath);
|
|
303
|
+
// Apply exclude pattern
|
|
304
|
+
if (options.excludePattern &&
|
|
305
|
+
relativePath.includes(options.excludePattern)) {
|
|
306
|
+
continue;
|
|
285
307
|
}
|
|
308
|
+
await walkDir(fullPath, depth + 1);
|
|
286
309
|
}
|
|
287
310
|
}
|
|
288
311
|
catch {
|
package/dist/tools/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,11 +30,12 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
30
30
|
switch (entry.type) {
|
|
31
31
|
case "user":
|
|
32
32
|
return (React.createElement(Box, { key: index, flexDirection: "column", marginTop: 1 },
|
|
33
|
+
index > 0 && (React.createElement(Box, { borderStyle: "single", borderColor: "gray", borderTop: false, borderLeft: false, borderRight: false, marginBottom: 1 })),
|
|
33
34
|
React.createElement(Box, null,
|
|
34
35
|
React.createElement(Text, { color: "gray" },
|
|
35
36
|
">",
|
|
36
37
|
" ",
|
|
37
|
-
entry.content))));
|
|
38
|
+
entry.content ?? ""))));
|
|
38
39
|
case "assistant":
|
|
39
40
|
return (React.createElement(Box, { key: index, flexDirection: "column", marginTop: 1 },
|
|
40
41
|
entry.reasoningContent && (React.createElement(ReasoningDisplay, { content: entry.reasoningContent, visible: true, isStreaming: entry.isReasoningStreaming })),
|
|
@@ -47,7 +48,7 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
47
48
|
// If no tool calls, render as markdown
|
|
48
49
|
React.createElement(MarkdownRenderer, { content: entry.content?.trim() ?? "" })),
|
|
49
50
|
entry.isStreaming && React.createElement(Text, { color: "cyan" }, "\u2588"),
|
|
50
|
-
!entry.isStreaming && entry.durationMs && (React.createElement(Text, { color: "gray"
|
|
51
|
+
!entry.isStreaming && entry.durationMs && (React.createElement(Text, { color: "gray" },
|
|
51
52
|
"\u23F1 ",
|
|
52
53
|
entry.durationMs >= 1000
|
|
53
54
|
? `${(entry.durationMs / 1000).toFixed(1)}s`
|
|
@@ -116,6 +117,7 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
116
117
|
return "";
|
|
117
118
|
};
|
|
118
119
|
// Get a brief summary of the result for concise mode
|
|
120
|
+
// Phase 3: Enhanced with more contextual feedback
|
|
119
121
|
const getBriefSummary = (content, toolName) => {
|
|
120
122
|
if (!content)
|
|
121
123
|
return "";
|
|
@@ -123,7 +125,14 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
123
125
|
const lineCount = content.split("\n").length;
|
|
124
126
|
switch (toolName) {
|
|
125
127
|
case "view_file":
|
|
126
|
-
|
|
128
|
+
// More descriptive for files
|
|
129
|
+
if (lineCount === 1)
|
|
130
|
+
return "1 line read";
|
|
131
|
+
if (lineCount < 10)
|
|
132
|
+
return `${lineCount} lines read`;
|
|
133
|
+
if (lineCount < 100)
|
|
134
|
+
return `${lineCount} lines read`;
|
|
135
|
+
return `${lineCount} lines (large file)`;
|
|
127
136
|
case "create_file":
|
|
128
137
|
return `${lineCount} lines written`;
|
|
129
138
|
case "str_replace_editor":
|
|
@@ -132,10 +141,27 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
132
141
|
if (firstLine.includes("Updated")) {
|
|
133
142
|
return firstLine.replace(/^Updated\s+/, "").trim();
|
|
134
143
|
}
|
|
144
|
+
// Count replacements for better feedback
|
|
145
|
+
const replacements = (content.match(/replaced/gi) || []).length;
|
|
146
|
+
if (replacements > 0)
|
|
147
|
+
return `${replacements} change${replacements > 1 ? 's' : ''}`;
|
|
135
148
|
return "updated";
|
|
136
149
|
case "bash":
|
|
137
150
|
if (content.includes("Background task started")) {
|
|
138
|
-
return "→ background";
|
|
151
|
+
return "→ background task started";
|
|
152
|
+
}
|
|
153
|
+
// Detect common command patterns for better feedback
|
|
154
|
+
if (content.includes("npm install") || content.includes("npm i ")) {
|
|
155
|
+
return "packages installed";
|
|
156
|
+
}
|
|
157
|
+
if (content.includes("git commit")) {
|
|
158
|
+
return "committed";
|
|
159
|
+
}
|
|
160
|
+
if (content.includes("git push")) {
|
|
161
|
+
return "pushed";
|
|
162
|
+
}
|
|
163
|
+
if (content.includes("Test passed") || content.includes("✓")) {
|
|
164
|
+
return "tests passed";
|
|
139
165
|
}
|
|
140
166
|
if (lineCount <= 1) {
|
|
141
167
|
// Short output, show it
|
|
@@ -143,11 +169,18 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
143
169
|
}
|
|
144
170
|
return `${lineCount} lines output`;
|
|
145
171
|
case "search":
|
|
146
|
-
// Try to count matches
|
|
147
|
-
const matches = content.match(/Found \d+ match/);
|
|
148
|
-
if (matches)
|
|
149
|
-
|
|
150
|
-
|
|
172
|
+
// Try to count matches with better formatting
|
|
173
|
+
const matches = content.match(/Found (\d+) match/);
|
|
174
|
+
if (matches) {
|
|
175
|
+
const count = parseInt(matches[1]);
|
|
176
|
+
return `${count} match${count !== 1 ? 'es' : ''} found`;
|
|
177
|
+
}
|
|
178
|
+
return `${lineCount} result${lineCount !== 1 ? 's' : ''}`;
|
|
179
|
+
case "create_todo_list":
|
|
180
|
+
case "update_todo_list":
|
|
181
|
+
// Count todos for better feedback
|
|
182
|
+
const todos = (content.match(/\[.*?\]/g) || []).length;
|
|
183
|
+
return `${todos} task${todos !== 1 ? 's' : ''}`;
|
|
151
184
|
default:
|
|
152
185
|
if (lineCount <= 1 && content.length < 60) {
|
|
153
186
|
return content.trim();
|
|
@@ -159,15 +192,15 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
159
192
|
const toolArgs = getToolArguments(entry.toolCall);
|
|
160
193
|
const isExecuting = entry.type === "tool_call" || !entry.toolResult;
|
|
161
194
|
const isSuccess = entry.toolResult?.success ?? true;
|
|
162
|
-
const briefSummary = !isExecuting ? getBriefSummary(entry.content, toolName) : "";
|
|
195
|
+
const briefSummary = !isExecuting ? getBriefSummary(entry.content ?? "", toolName) : "";
|
|
163
196
|
// Auto-verbose for errors: always show full details when a tool fails
|
|
164
197
|
// This helps users debug without needing to toggle verbose mode
|
|
165
198
|
const effectiveVerbose = verboseMode || (!isExecuting && !isSuccess);
|
|
166
199
|
const shouldShowDiff = effectiveVerbose &&
|
|
167
200
|
entry.toolCall?.function?.name === "str_replace_editor" &&
|
|
168
201
|
entry.toolResult?.success &&
|
|
169
|
-
entry.content
|
|
170
|
-
entry.content
|
|
202
|
+
entry.content?.includes("---") &&
|
|
203
|
+
entry.content?.includes("+++");
|
|
171
204
|
const shouldShowFileContent = effectiveVerbose &&
|
|
172
205
|
(entry.toolCall?.function?.name === "view_file" ||
|
|
173
206
|
entry.toolCall?.function?.name === "create_file") &&
|
|
@@ -216,7 +249,7 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
216
249
|
!isExecuting && entry.executionDurationMs !== undefined && (React.createElement(Text, { color: "yellow" },
|
|
217
250
|
" ",
|
|
218
251
|
formatDuration(entry.executionDurationMs))),
|
|
219
|
-
entry.toolCall?.id && (React.createElement(Text, { color: "gray"
|
|
252
|
+
entry.toolCall?.id && (React.createElement(Text, { color: "gray" },
|
|
220
253
|
" [",
|
|
221
254
|
entry.toolCall.id.slice(0, 8),
|
|
222
255
|
"]")),
|
|
@@ -224,21 +257,21 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
224
257
|
" ",
|
|
225
258
|
isSuccess ? "✓" : "✗"))),
|
|
226
259
|
toolArgs && (React.createElement(Box, { marginLeft: 2, flexDirection: "column" },
|
|
227
|
-
React.createElement(Text, { color: "blue"
|
|
260
|
+
React.createElement(Text, { color: "blue" },
|
|
228
261
|
"Args: ",
|
|
229
262
|
toolArgs.length > 100 ? toolArgs.slice(0, 100) + "..." : toolArgs))),
|
|
230
263
|
React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, isExecuting ? (React.createElement(Text, { color: "cyan" }, "\u23BF Executing...")) : shouldShowFileContent ? (React.createElement(Box, { flexDirection: "column" },
|
|
231
264
|
React.createElement(Text, { color: "gray" },
|
|
232
265
|
"\u23BF File contents (",
|
|
233
|
-
entry.content.split("\n").length,
|
|
266
|
+
(entry.content ?? "").split("\n").length,
|
|
234
267
|
" lines):"),
|
|
235
|
-
React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, renderFileContent(entry.content)))) : shouldShowDiff ? (React.createElement(Box, { flexDirection: "column" },
|
|
268
|
+
React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, renderFileContent(entry.content ?? "")))) : shouldShowDiff ? (React.createElement(Box, { flexDirection: "column" },
|
|
236
269
|
React.createElement(Text, { color: "gray" },
|
|
237
270
|
"\u23BF ",
|
|
238
|
-
entry.content.split("\n")[0]),
|
|
239
|
-
React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, renderDiff(entry.content, filePath)))) : shouldShowFullOutput ? (React.createElement(Text, { color: "gray" },
|
|
271
|
+
(entry.content ?? "").split("\n")[0]),
|
|
272
|
+
React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, renderDiff(entry.content ?? "", filePath)))) : shouldShowFullOutput ? (React.createElement(Text, { color: "gray" },
|
|
240
273
|
"\u23BF ",
|
|
241
|
-
entry.content)) : null)));
|
|
274
|
+
entry.content ?? "")) : null)));
|
|
242
275
|
default:
|
|
243
276
|
return null;
|
|
244
277
|
}
|