antri_cli 1.26.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 (171) hide show
  1. package/README.md +92 -0
  2. package/bin/antri.js +2 -0
  3. package/dist/cli/banner.d.ts +22 -0
  4. package/dist/cli/banner.d.ts.map +1 -0
  5. package/dist/cli/banner.js +133 -0
  6. package/dist/cli/banner.js.map +1 -0
  7. package/dist/cli/dialogs/filePicker.d.ts +23 -0
  8. package/dist/cli/dialogs/filePicker.d.ts.map +1 -0
  9. package/dist/cli/dialogs/filePicker.js +106 -0
  10. package/dist/cli/dialogs/filePicker.js.map +1 -0
  11. package/dist/cli/dialogs/modelPicker.d.ts +10 -0
  12. package/dist/cli/dialogs/modelPicker.d.ts.map +1 -0
  13. package/dist/cli/dialogs/modelPicker.js +205 -0
  14. package/dist/cli/dialogs/modelPicker.js.map +1 -0
  15. package/dist/cli/dialogs/profilePicker.d.ts +11 -0
  16. package/dist/cli/dialogs/profilePicker.d.ts.map +1 -0
  17. package/dist/cli/dialogs/profilePicker.js +185 -0
  18. package/dist/cli/dialogs/profilePicker.js.map +1 -0
  19. package/dist/cli/dialogs/providerPicker.d.ts +19 -0
  20. package/dist/cli/dialogs/providerPicker.d.ts.map +1 -0
  21. package/dist/cli/dialogs/providerPicker.js +205 -0
  22. package/dist/cli/dialogs/providerPicker.js.map +1 -0
  23. package/dist/cli/prompt.d.ts +3 -0
  24. package/dist/cli/prompt.d.ts.map +1 -0
  25. package/dist/cli/prompt.js +50 -0
  26. package/dist/cli/prompt.js.map +1 -0
  27. package/dist/cli/promptToolkit.d.ts +14 -0
  28. package/dist/cli/promptToolkit.d.ts.map +1 -0
  29. package/dist/cli/promptToolkit.js +389 -0
  30. package/dist/cli/promptToolkit.js.map +1 -0
  31. package/dist/cli/renderer.d.ts +21 -0
  32. package/dist/cli/renderer.d.ts.map +1 -0
  33. package/dist/cli/renderer.js +97 -0
  34. package/dist/cli/renderer.js.map +1 -0
  35. package/dist/cli/shortcuts.d.ts +13 -0
  36. package/dist/cli/shortcuts.d.ts.map +1 -0
  37. package/dist/cli/shortcuts.js +414 -0
  38. package/dist/cli/shortcuts.js.map +1 -0
  39. package/dist/core/agent.d.ts +15 -0
  40. package/dist/core/agent.d.ts.map +1 -0
  41. package/dist/core/agent.js +232 -0
  42. package/dist/core/agent.js.map +1 -0
  43. package/dist/core/citations.d.ts +19 -0
  44. package/dist/core/citations.d.ts.map +1 -0
  45. package/dist/core/citations.js +40 -0
  46. package/dist/core/citations.js.map +1 -0
  47. package/dist/core/config.d.ts +16 -0
  48. package/dist/core/config.d.ts.map +1 -0
  49. package/dist/core/config.js +172 -0
  50. package/dist/core/config.js.map +1 -0
  51. package/dist/core/crawler.d.ts +18 -0
  52. package/dist/core/crawler.d.ts.map +1 -0
  53. package/dist/core/crawler.js +83 -0
  54. package/dist/core/crawler.js.map +1 -0
  55. package/dist/core/debugger.d.ts +20 -0
  56. package/dist/core/debugger.d.ts.map +1 -0
  57. package/dist/core/debugger.js +105 -0
  58. package/dist/core/debugger.js.map +1 -0
  59. package/dist/core/dialectic.d.ts +23 -0
  60. package/dist/core/dialectic.d.ts.map +1 -0
  61. package/dist/core/dialectic.js +300 -0
  62. package/dist/core/dialectic.js.map +1 -0
  63. package/dist/core/goalLoop.d.ts +14 -0
  64. package/dist/core/goalLoop.d.ts.map +1 -0
  65. package/dist/core/goalLoop.js +104 -0
  66. package/dist/core/goalLoop.js.map +1 -0
  67. package/dist/core/history.d.ts +13 -0
  68. package/dist/core/history.d.ts.map +1 -0
  69. package/dist/core/history.js +53 -0
  70. package/dist/core/history.js.map +1 -0
  71. package/dist/core/metaOptimizer.d.ts +27 -0
  72. package/dist/core/metaOptimizer.d.ts.map +1 -0
  73. package/dist/core/metaOptimizer.js +98 -0
  74. package/dist/core/metaOptimizer.js.map +1 -0
  75. package/dist/core/sandbox.d.ts +29 -0
  76. package/dist/core/sandbox.d.ts.map +1 -0
  77. package/dist/core/sandbox.js +141 -0
  78. package/dist/core/sandbox.js.map +1 -0
  79. package/dist/core/scraper.d.ts +22 -0
  80. package/dist/core/scraper.d.ts.map +1 -0
  81. package/dist/core/scraper.js +180 -0
  82. package/dist/core/scraper.js.map +1 -0
  83. package/dist/core/search.d.ts +27 -0
  84. package/dist/core/search.d.ts.map +1 -0
  85. package/dist/core/search.js +222 -0
  86. package/dist/core/search.js.map +1 -0
  87. package/dist/core/skillSynthesizer.d.ts +43 -0
  88. package/dist/core/skillSynthesizer.d.ts.map +1 -0
  89. package/dist/core/skillSynthesizer.js +147 -0
  90. package/dist/core/skillSynthesizer.js.map +1 -0
  91. package/dist/core/tools.d.ts +12 -0
  92. package/dist/core/tools.d.ts.map +1 -0
  93. package/dist/core/tools.js +467 -0
  94. package/dist/core/tools.js.map +1 -0
  95. package/dist/core/updater.d.ts +9 -0
  96. package/dist/core/updater.d.ts.map +1 -0
  97. package/dist/core/updater.js +63 -0
  98. package/dist/core/updater.js.map +1 -0
  99. package/dist/index.d.ts +3 -0
  100. package/dist/index.d.ts.map +1 -0
  101. package/dist/index.js +92 -0
  102. package/dist/index.js.map +1 -0
  103. package/dist/memory/consolidation.d.ts +17 -0
  104. package/dist/memory/consolidation.d.ts.map +1 -0
  105. package/dist/memory/consolidation.js +42 -0
  106. package/dist/memory/consolidation.js.map +1 -0
  107. package/dist/memory/episodic.d.ts +15 -0
  108. package/dist/memory/episodic.d.ts.map +1 -0
  109. package/dist/memory/episodic.js +97 -0
  110. package/dist/memory/episodic.js.map +1 -0
  111. package/dist/memory/manager.d.ts +24 -0
  112. package/dist/memory/manager.d.ts.map +1 -0
  113. package/dist/memory/manager.js +97 -0
  114. package/dist/memory/manager.js.map +1 -0
  115. package/dist/memory/profile.d.ts +21 -0
  116. package/dist/memory/profile.d.ts.map +1 -0
  117. package/dist/memory/profile.js +111 -0
  118. package/dist/memory/profile.js.map +1 -0
  119. package/dist/memory/semantic.d.ts +24 -0
  120. package/dist/memory/semantic.d.ts.map +1 -0
  121. package/dist/memory/semantic.js +102 -0
  122. package/dist/memory/semantic.js.map +1 -0
  123. package/dist/memory/types.d.ts +45 -0
  124. package/dist/memory/types.d.ts.map +1 -0
  125. package/dist/memory/types.js +2 -0
  126. package/dist/memory/types.js.map +1 -0
  127. package/dist/memory/vectorStore.d.ts +18 -0
  128. package/dist/memory/vectorStore.d.ts.map +1 -0
  129. package/dist/memory/vectorStore.js +103 -0
  130. package/dist/memory/vectorStore.js.map +1 -0
  131. package/dist/profiles/profileManager.d.ts +25 -0
  132. package/dist/profiles/profileManager.d.ts.map +1 -0
  133. package/dist/profiles/profileManager.js +205 -0
  134. package/dist/profiles/profileManager.js.map +1 -0
  135. package/dist/providers/anthropic.d.ts +14 -0
  136. package/dist/providers/anthropic.d.ts.map +1 -0
  137. package/dist/providers/anthropic.js +80 -0
  138. package/dist/providers/anthropic.js.map +1 -0
  139. package/dist/providers/base.d.ts +7 -0
  140. package/dist/providers/base.d.ts.map +1 -0
  141. package/dist/providers/base.js +2 -0
  142. package/dist/providers/base.js.map +1 -0
  143. package/dist/providers/gemini.d.ts +14 -0
  144. package/dist/providers/gemini.d.ts.map +1 -0
  145. package/dist/providers/gemini.js +77 -0
  146. package/dist/providers/gemini.js.map +1 -0
  147. package/dist/providers/index.d.ts +4 -0
  148. package/dist/providers/index.d.ts.map +1 -0
  149. package/dist/providers/index.js +65 -0
  150. package/dist/providers/index.js.map +1 -0
  151. package/dist/providers/mock.d.ts +8 -0
  152. package/dist/providers/mock.d.ts.map +1 -0
  153. package/dist/providers/mock.js +62 -0
  154. package/dist/providers/mock.js.map +1 -0
  155. package/dist/providers/models.d.ts +8 -0
  156. package/dist/providers/models.d.ts.map +1 -0
  157. package/dist/providers/models.js +403 -0
  158. package/dist/providers/models.js.map +1 -0
  159. package/dist/providers/openai.d.ts +18 -0
  160. package/dist/providers/openai.d.ts.map +1 -0
  161. package/dist/providers/openai.js +162 -0
  162. package/dist/providers/openai.js.map +1 -0
  163. package/dist/types.d.ts +116 -0
  164. package/dist/types.d.ts.map +1 -0
  165. package/dist/types.js +2 -0
  166. package/dist/types.js.map +1 -0
  167. package/dist/utils/logger.d.ts +23 -0
  168. package/dist/utils/logger.d.ts.map +1 -0
  169. package/dist/utils/logger.js +26 -0
  170. package/dist/utils/logger.js.map +1 -0
  171. package/package.json +57 -0
@@ -0,0 +1,414 @@
1
+ import chalk from 'chalk';
2
+ import readline from 'readline';
3
+ import { configManager } from '../core/config.js';
4
+ import { renderBanner } from './banner.js';
5
+ import { log, colors } from '../utils/logger.js';
6
+ import { getAllActiveTools, ToolExecutor } from '../core/tools.js';
7
+ import { ToolInspector } from './renderer.js';
8
+ import { runConnectWorkflow } from './dialogs/providerPicker.js';
9
+ import { runModelPickerWorkflow } from './dialogs/modelPicker.js';
10
+ import { runProfilePickerWorkflow } from './dialogs/profilePicker.js';
11
+ import { DialecticEngine } from '../core/dialectic.js';
12
+ import { GoalLoopEngine } from '../core/goalLoop.js';
13
+ import { Updater } from '../core/updater.js';
14
+ import { memoryManager } from '../memory/manager.js';
15
+ import { metaOptimizer } from '../core/metaOptimizer.js';
16
+ import { SkillSynthesizer } from '../core/skillSynthesizer.js';
17
+ import { profileManager } from '../profiles/profileManager.js';
18
+ export class ShortcutHandler {
19
+ agent;
20
+ constructor(agent) {
21
+ this.agent = agent;
22
+ }
23
+ async handle(input, config) {
24
+ const trimmed = input.trim();
25
+ // /help or ?
26
+ if (trimmed === '?' || trimmed === '/help') {
27
+ this.showHelp();
28
+ return { handled: true };
29
+ }
30
+ // /exit or /quit
31
+ if (trimmed === '/exit' || trimmed === '/quit') {
32
+ console.log(chalk.hex('#64748b')('Bye from ANTRI! 👋'));
33
+ return { handled: true, shouldExit: true };
34
+ }
35
+ // /clear or /cls
36
+ if (trimmed === '/clear' || trimmed === '/cls' || trimmed.startsWith('/clear')) {
37
+ console.clear();
38
+ this.agent.getHistory().clear();
39
+ renderBanner(config);
40
+ log.success('Started a new clean session.');
41
+ return { handled: true, shouldClear: true };
42
+ }
43
+ // /plan (switch to Plan Mode)
44
+ if (trimmed === '/plan' || trimmed === '/mode plan') {
45
+ configManager.setMode('plan');
46
+ this.agent.updateConfig(configManager.get());
47
+ console.log();
48
+ console.log(chalk.bgHex('#0284c7').bold.white(' 🗺️ SWITCHED TO PLAN MODE '));
49
+ console.log(chalk.cyan('ANTRI will now collaborate with you on architecture, blueprints, and milestones before writing code.'));
50
+ console.log();
51
+ return { handled: true };
52
+ }
53
+ // /vibe (switch to Vibe Mode)
54
+ if (trimmed === '/vibe' || trimmed === '/mode vibe') {
55
+ configManager.setMode('vibe');
56
+ this.agent.updateConfig(configManager.get());
57
+ console.log();
58
+ console.log(chalk.bgHex('#7c3aed').bold.white(' ⚡ SWITCHED TO VIBE MODE '));
59
+ console.log(chalk.hex('#c084fc')('ANTRI will directly write code, implement features, and execute tools in continuous flow.'));
60
+ console.log();
61
+ return { handled: true };
62
+ }
63
+ // /alwaysallow or /always-allow
64
+ if (trimmed === '/alwaysallow' || trimmed === '/always-allow' || trimmed === '/allow') {
65
+ const current = config.alwaysAllow || false;
66
+ const next = !current;
67
+ configManager.setAlwaysAllow(next);
68
+ this.agent.updateConfig(configManager.get());
69
+ if (next) {
70
+ log.success('Tool Permissions: ALWAYS-ALLOW enabled. Sensitive tools will execute without prompting.');
71
+ }
72
+ else {
73
+ log.info('Tool Permissions: ASK-FIRST enabled. Sensitive tools (web search, python, shell) will prompt for confirmation.');
74
+ }
75
+ return { handled: true };
76
+ }
77
+ // /update
78
+ if (trimmed === '/update' || trimmed === 'update') {
79
+ await Updater.update();
80
+ return { handled: true };
81
+ }
82
+ // /goal or /loop
83
+ if (trimmed === '/goal' || trimmed.startsWith('/goal ') || trimmed === '/loop' || trimmed.startsWith('/loop ')) {
84
+ let objective = trimmed.replace(/^\/(goal|loop)/, '').trim();
85
+ if (!objective) {
86
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
87
+ const promptAsync = (q) => new Promise((res) => rl.question(q, res));
88
+ console.log(chalk.bold.hex('#c084fc')('\n🎯 Autonomous Goal Loop & Refinement Engine'));
89
+ objective = await promptAsync(chalk.cyan('Enter goal / task objective to accomplish & iterate: '));
90
+ rl.close();
91
+ }
92
+ if (objective.trim()) {
93
+ const engine = new GoalLoopEngine(config);
94
+ await engine.runGoal(objective.trim());
95
+ }
96
+ else {
97
+ log.warn('Goal loop cancelled: No objective provided.');
98
+ }
99
+ return { handled: true };
100
+ }
101
+ // /profile or /profiles dialog
102
+ if (trimmed === '/profile' || trimmed === '/profiles') {
103
+ await runProfilePickerWorkflow();
104
+ return { handled: true };
105
+ }
106
+ if (trimmed.startsWith('/profile ')) {
107
+ const targetName = trimmed.slice(9).trim();
108
+ profileManager.setActiveProfile(targetName);
109
+ log.success(`Active profile switched to: ${colors.primary(targetName)}`);
110
+ return { handled: true };
111
+ }
112
+ // /notes or /profile-show
113
+ if (trimmed === '/notes' || trimmed === '/profile-show') {
114
+ profileManager.renderActiveProfile();
115
+ return { handled: true };
116
+ }
117
+ // /meta or /stats
118
+ if (trimmed === '/meta' || trimmed === '/stats') {
119
+ metaOptimizer.renderMetaStatus();
120
+ return { handled: true };
121
+ }
122
+ // /skills or /skill
123
+ if (trimmed === '/skills' || trimmed === '/skill') {
124
+ const allTools = getAllActiveTools();
125
+ const dynamic = SkillSynthesizer.loadSynthesizedSkills();
126
+ console.log(chalk.bold.hex('#c084fc')('\n🛠️ Active Agent Tools & Dynamic Skills'));
127
+ console.log(chalk.hex('#334155')('─'.repeat(72)));
128
+ console.log(chalk.bold.hex('#a5b4fc')('Built-in Standard & Autonomous Tools:'));
129
+ allTools.forEach((t) => {
130
+ if (!t.description.startsWith('[Custom')) {
131
+ console.log(`• ${chalk.cyan(t.name.padEnd(18))} ${chalk.hex('#94a3b8')(t.description)}`);
132
+ }
133
+ });
134
+ console.log(chalk.bold.hex('#a5b4fc')(`\nDynamically Synthesized Skills (${dynamic.length}):`));
135
+ if (dynamic.length === 0) {
136
+ console.log(chalk.hex('#64748b')(' (No custom skills synthesized yet. The agent creates them autonomously using synthesize_skill)'));
137
+ }
138
+ else {
139
+ dynamic.forEach((s) => {
140
+ console.log(`✨ ${chalk.green(s.manifest.name.padEnd(18))} ${chalk.hex('#e2e8f0')(s.manifest.description)} (${s.manifest.language})`);
141
+ });
142
+ }
143
+ console.log(chalk.hex('#334155')('─'.repeat(72)));
144
+ console.log();
145
+ return { handled: true };
146
+ }
147
+ // /memory or /mem
148
+ if (trimmed === '/memory' || trimmed === '/mem') {
149
+ memoryManager.renderMemoryStatus(config.workingDir);
150
+ return { handled: true };
151
+ }
152
+ // /consolidate
153
+ if (trimmed === '/consolidate') {
154
+ log.info('Running Memory Consolidation & Knowledge Compounding Loop...');
155
+ const geminiKey = config.apiKeys.gemini || process.env.GEMINI_API_KEY;
156
+ const res = await memoryManager.consolidate(config.workingDir, geminiKey);
157
+ log.success(`Memory consolidated! ${res.summary}`);
158
+ return { handled: true };
159
+ }
160
+ // /learn <text>
161
+ if (trimmed.startsWith('/learn')) {
162
+ const insight = trimmed.slice(6).trim();
163
+ if (!insight) {
164
+ log.warn('Usage: /learn <rule, convention, or knowledge nugget>');
165
+ }
166
+ else {
167
+ await memoryManager.learn(insight, 'lesson_learned', config.workingDir);
168
+ log.success(`Learned and persisted: "${colors.primary(insight)}"`);
169
+ }
170
+ return { handled: true };
171
+ }
172
+ // /debate or /dialectic
173
+ if (trimmed === '/debate' || trimmed.startsWith('/debate ') || trimmed === '/dialectic' || trimmed.startsWith('/dialectic ')) {
174
+ let query = trimmed.replace(/^\/(debate|dialectic)/, '').trim();
175
+ if (!query) {
176
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
177
+ const promptAsync = (q) => new Promise((res) => rl.question(q, res));
178
+ console.log(chalk.bold.hex('#c084fc')('\n🧠 Dialectic Self-Debate Engine'));
179
+ query = await promptAsync(chalk.cyan('Enter topic/question to debate: '));
180
+ rl.close();
181
+ }
182
+ if (query.trim()) {
183
+ const engine = new DialecticEngine(config);
184
+ await engine.debate(query.trim(), config.debateDepth || 'deep');
185
+ }
186
+ else {
187
+ log.warn('Debate cancelled: No query provided.');
188
+ }
189
+ return { handled: true };
190
+ }
191
+ // /depth <quick|deep|rigorous>
192
+ if (trimmed.startsWith('/depth')) {
193
+ const parts = trimmed.split(' ');
194
+ const newDepth = (parts[1] || '').toLowerCase();
195
+ if (['quick', 'deep', 'rigorous'].includes(newDepth)) {
196
+ configManager.set('debateDepth', newDepth);
197
+ this.agent.updateConfig(configManager.get());
198
+ log.success(`Debate depth set to: ${colors.primary(newDepth.toUpperCase())}`);
199
+ }
200
+ else {
201
+ log.warn('Usage: /depth <quick|deep|rigorous>');
202
+ console.log(chalk.hex('#64748b')(`Current depth: ${config.debateDepth || 'deep'}`));
203
+ }
204
+ return { handled: true };
205
+ }
206
+ // /connect or /provider dialog
207
+ if (trimmed === '/connect' || trimmed === '/provider') {
208
+ await runConnectWorkflow();
209
+ this.agent.updateConfig(configManager.get());
210
+ return { handled: true };
211
+ }
212
+ if (trimmed.startsWith('/provider ')) {
213
+ const providerName = trimmed.slice(10).trim().toLowerCase();
214
+ configManager.setProvider(providerName);
215
+ this.agent.updateConfig(configManager.get());
216
+ log.success(`Provider switched to ${colors.primary(providerName)} (Model: ${configManager.get().model})`);
217
+ return { handled: true };
218
+ }
219
+ // /models or /model dialog
220
+ if (trimmed === '/models' || trimmed === '/model') {
221
+ await runModelPickerWorkflow();
222
+ this.agent.updateConfig(configManager.get());
223
+ return { handled: true };
224
+ }
225
+ if (trimmed.startsWith('/model ')) {
226
+ const newModel = trimmed.slice(7).trim();
227
+ configManager.set('model', newModel);
228
+ this.agent.updateConfig(configManager.get());
229
+ log.success(`Model switched to ${colors.primary(newModel)}`);
230
+ return { handled: true };
231
+ }
232
+ // /tools or /logs
233
+ if (trimmed === '/tools' || trimmed === '/logs') {
234
+ ToolInspector.showDetailedLogs();
235
+ return { handled: true };
236
+ }
237
+ // /history
238
+ if (trimmed === '/history') {
239
+ const msgs = this.agent.getHistory().getMessages();
240
+ if (msgs.length === 0) {
241
+ log.info('No messages in current session history.');
242
+ }
243
+ else {
244
+ console.log(chalk.bold.hex('#a5b4fc')(`\nSession History (${msgs.length} messages):`));
245
+ for (const m of msgs) {
246
+ if (m.role === 'system')
247
+ continue;
248
+ const tag = m.role === 'user' ? chalk.hex('#38bdf8')('User:') : chalk.hex('#a5b4fc')('Antri:');
249
+ console.log(`${tag} ${m.content.slice(0, 100)}${m.content.length > 100 ? '...' : ''}`);
250
+ }
251
+ }
252
+ console.log();
253
+ return { handled: true };
254
+ }
255
+ // /key
256
+ if (trimmed.startsWith('/key')) {
257
+ const parts = trimmed.split(' ');
258
+ if (parts.length < 3) {
259
+ log.warn('Usage: /key <provider> <your-api-key>');
260
+ console.log(chalk.hex('#64748b')('Example: /key deepseek sk-xxxx or /key nvidia_nim nvapi-xxxx'));
261
+ }
262
+ else {
263
+ const provider = parts[1].toLowerCase();
264
+ const key = parts[2];
265
+ configManager.setApiKey(provider, key);
266
+ this.agent.updateConfig(configManager.get());
267
+ log.success(`API Key saved for ${provider}!`);
268
+ }
269
+ return { handled: true };
270
+ }
271
+ // /add-dir
272
+ if (trimmed.startsWith('/add-dir')) {
273
+ const parts = trimmed.split(' ');
274
+ const dir = parts[1] || '.';
275
+ configManager.set('workingDir', dir);
276
+ this.agent.updateConfig(configManager.get());
277
+ log.success(`Workspace directory updated to: ${colors.primary(dir)}`);
278
+ return { handled: true };
279
+ }
280
+ // /worktree
281
+ if (trimmed.startsWith('/worktree')) {
282
+ const executor = new ToolExecutor(config.workingDir);
283
+ log.info('Checking git worktrees...');
284
+ const res = await executor.execute('run_command', { command: 'git worktree list' }, 'cli');
285
+ console.log(res.output);
286
+ return { handled: true };
287
+ }
288
+ // /agents
289
+ if (trimmed === '/agents') {
290
+ console.log(chalk.bold.hex('#a5b4fc')('\n🤖 Agent Configuration'));
291
+ console.log(chalk.hex('#94a3b8')('• Orchestrator: ANTRI Core Meta-Agent'));
292
+ console.log(chalk.hex('#94a3b8')(`• Active Mode: ${(config.mode || 'vibe').toUpperCase()}`));
293
+ console.log(chalk.hex('#94a3b8')(`• Permissions: ${config.alwaysAllow ? 'Always-Allow' : 'Ask-First'}`));
294
+ console.log(chalk.hex('#94a3b8')(`• Active Provider: ${config.provider}`));
295
+ console.log(chalk.hex('#94a3b8')(`• Active Model: ${config.model}`));
296
+ console.log(chalk.hex('#94a3b8')(`• Active Profile: ${profileManager.getActiveProfileName()}`));
297
+ console.log(chalk.hex('#94a3b8')(`• Debate Depth: ${config.debateDepth || 'deep'}`));
298
+ console.log(chalk.hex('#94a3b8')(`• Memory Hierarchy: Episodic, Semantic (Vectors), Profile, Workspace Conventions`));
299
+ console.log(chalk.hex('#94a3b8')(`• Tools: execute_python, synthesize_skill, web_search, scrape_url, crawl_docs, read_file, write_file, list_dir, search_files, run_command`));
300
+ console.log();
301
+ return { handled: true };
302
+ }
303
+ // /clone, /theme, /compact, /compact-mode
304
+ if (trimmed.startsWith('/clone')) {
305
+ log.info('Session cloning is ready.');
306
+ return { handled: true };
307
+ }
308
+ if (trimmed === '/theme') {
309
+ log.info('Theme: Dark Cyber/Retro Indigo (Default).');
310
+ return { handled: true };
311
+ }
312
+ if (trimmed === '/compact' || trimmed.startsWith('/compact-mode')) {
313
+ log.info('Conversation history compacted.');
314
+ return { handled: true };
315
+ }
316
+ // /export
317
+ if (trimmed.startsWith('/export')) {
318
+ const parts = trimmed.split(' ');
319
+ const target = parts[1] || `antri_session_${Date.now()}.md`;
320
+ this.agent.getHistory().exportMarkdown(target);
321
+ log.success(`Session transcript exported to ${colors.primary(target)}`);
322
+ return { handled: true };
323
+ }
324
+ // /read
325
+ if (trimmed.startsWith('/read ')) {
326
+ const filePath = trimmed.slice(6).trim();
327
+ const executor = new ToolExecutor(config.workingDir);
328
+ const res = await executor.execute('read_file', { file_path: filePath }, 'cli');
329
+ console.log(res.output);
330
+ return { handled: true };
331
+ }
332
+ // /ls
333
+ if (trimmed.startsWith('/ls')) {
334
+ const dirPath = trimmed.slice(3).trim() || '.';
335
+ const executor = new ToolExecutor(config.workingDir);
336
+ const res = await executor.execute('list_dir', { dir_path: dirPath }, 'cli');
337
+ console.log(res.output);
338
+ return { handled: true };
339
+ }
340
+ // /run
341
+ if (trimmed.startsWith('/run ')) {
342
+ const cmd = trimmed.slice(5).trim();
343
+ const executor = new ToolExecutor(config.workingDir);
344
+ log.info(`Executing: ${cmd}`);
345
+ const res = await executor.execute('run_command', { command: cmd }, 'cli');
346
+ console.log(res.output);
347
+ return { handled: true };
348
+ }
349
+ // /env or /config
350
+ if (trimmed === '/env' || trimmed === '/config') {
351
+ console.log(chalk.bold.hex('#a5b4fc')('\n--- ANTRI Configuration ---'));
352
+ console.log(`Operating Mode: ${chalk.cyan((config.mode || 'vibe').toUpperCase())}`);
353
+ console.log(`Permissions: ${config.alwaysAllow ? chalk.green('ALWAYS-ALLOW') : chalk.yellow('ASK-FIRST')}`);
354
+ console.log(`Provider: ${chalk.cyan(config.provider)}`);
355
+ console.log(`Model: ${chalk.cyan(config.model)}`);
356
+ console.log(`Active Profile: ${chalk.cyan(profileManager.getActiveProfileName())}`);
357
+ console.log(`Debate Depth: ${chalk.cyan(config.debateDepth || 'deep')}`);
358
+ console.log(`Working Dir: ${chalk.gray(config.workingDir)}`);
359
+ console.log(`Anthropic: ${config.apiKeys.anthropic ? chalk.green('CONFIGURED') : chalk.red('NOT SET')}`);
360
+ console.log(`NVIDIA NIM: ${config.apiKeys.nvidia_nim ? chalk.green('CONFIGURED') : chalk.red('NOT SET')}`);
361
+ console.log(`OpenAI: ${config.apiKeys.openai ? chalk.green('CONFIGURED') : chalk.red('NOT SET')}`);
362
+ console.log(`Gemini: ${config.apiKeys.gemini ? chalk.green('CONFIGURED') : chalk.red('NOT SET')}`);
363
+ console.log(`DeepSeek: ${config.apiKeys.deepseek ? chalk.green('CONFIGURED') : chalk.red('NOT SET')}`);
364
+ console.log();
365
+ return { handled: true };
366
+ }
367
+ return { handled: false };
368
+ }
369
+ showHelp() {
370
+ console.log(chalk.bold.hex('#a5b4fc')('\n⚡ ANTRI Code - Slash Commands & Shortcuts'));
371
+ console.log(chalk.hex('#334155')('─'.repeat(72)));
372
+ const cmds = [
373
+ ['/plan', 'Switch to Plan Mode (collaborative architecture & blueprints before coding)'],
374
+ ['/vibe', 'Switch to Vibe Mode (direct conversation & active fast code implementation)'],
375
+ ['/alwaysallow', 'Toggle Always-Allow permission for sensitive tools (web search, shell, python)'],
376
+ ['/goal [task]', 'Run autonomous multi-step goal loop: plan, critique, refine & deliver'],
377
+ ['/loop [task]', 'Iterate on a task until optimal battle-tested result is achieved'],
378
+ ['/profile [name]', 'Open profile picker or switch active thinking profile (profile_1, profile_2...)'],
379
+ ['/notes', 'View active profile notes & captured thinking style insights'],
380
+ ['/update', 'Self-update ANTRI Code CLI without lockfile churn'],
381
+ ['/debate [query]', 'Launch Dialectic Engine multi-persona self-debate & consensus'],
382
+ ['/depth <level>', 'Set debate depth: quick, deep, or rigorous'],
383
+ ['/meta', 'View Meta-Optimization metrics, success rates & self-healing stats'],
384
+ ['/skills', 'List built-in & dynamically synthesized custom skills'],
385
+ ['/memory', 'View Persistent Memory & lifelong knowledge status'],
386
+ ['/consolidate', 'Run post-session reflection & knowledge compounding'],
387
+ ['/learn <text>', 'Save a persistent rule or knowledge item'],
388
+ ['/connect', 'Open interactive AI Provider connection dialog'],
389
+ ['/models', 'Search and select from all available AI models'],
390
+ ['/tools', 'View details of recently executed workspace tools (Ctrl+O)'],
391
+ ['/help', 'Show this command reference manual'],
392
+ ['/clear', 'Start a new session with empty context'],
393
+ ['/history', 'View conversation history in current session'],
394
+ ['/exit', 'Exit ANTRI Code'],
395
+ ['/provider [name]', 'Quick-switch provider or open provider picker'],
396
+ ['/model [name]', 'Quick-switch model or open model picker'],
397
+ ['/key <prov> <key>', 'Save API key dynamically'],
398
+ ['/add-dir [dir]', 'Add directory to workspace context'],
399
+ ['/worktree', 'Create, list, or switch git worktrees'],
400
+ ['/agents', 'Manage agent configurations'],
401
+ ['/export [file]', 'Export conversation transcript to markdown'],
402
+ ['/read <file>', 'Quickly inspect a file in workspace'],
403
+ ['/ls [dir]', 'List files in workspace'],
404
+ ['/run <cmd>', 'Execute a shell command'],
405
+ ['/config', 'Show active configuration and key status'],
406
+ ];
407
+ for (const [cmd, desc] of cmds) {
408
+ console.log(` ${chalk.cyan(cmd.padEnd(20))} ${chalk.hex('#94a3b8')(desc)}`);
409
+ }
410
+ console.log(chalk.hex('#334155')('─'.repeat(72)));
411
+ console.log();
412
+ }
413
+ }
414
+ //# sourceMappingURL=shortcuts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shortcuts.js","sourceRoot":"","sources":["../../src/cli/shortcuts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { AntriConfig } from '../types.js';
2
+ import { ConversationHistory } from './history.js';
3
+ export declare class AntriAgent {
4
+ private config;
5
+ private history;
6
+ private toolExecutor;
7
+ private citationEngine;
8
+ constructor(config: AntriConfig, history?: ConversationHistory);
9
+ getHistory(): ConversationHistory;
10
+ updateConfig(newConfig: AntriConfig): void;
11
+ private buildSystemPrompt;
12
+ chat(userPrompt: string): Promise<string>;
13
+ private runAgentLoop;
14
+ }
15
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAqC,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAWnD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAiB;gBAE3B,MAAM,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,mBAAmB;IAOvD,UAAU,IAAI,mBAAmB;IAIjC,YAAY,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAKjD,OAAO,CAAC,iBAAiB;IAwDZ,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAuDxC,YAAY;CAqI3B"}