bravecode-cli 0.1.45 → 0.1.46

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 (103) hide show
  1. package/dist/cli-main.mjs +4 -3
  2. package/dist/cli-main.mjs.map +2 -2
  3. package/package.json +1 -1
  4. package/dist/autoModel.d.ts +0 -39
  5. package/dist/autoModel.d.ts.map +0 -1
  6. package/dist/autoModel.js +0 -127
  7. package/dist/autoModel.js.map +0 -1
  8. package/dist/bravecode +0 -22
  9. package/dist/cli.d.ts +0 -2
  10. package/dist/cli.d.ts.map +0 -1
  11. package/dist/cli.js +0 -468
  12. package/dist/cli.js.map +0 -1
  13. package/dist/core/agent/index.d.ts +0 -31
  14. package/dist/core/agent/index.d.ts.map +0 -1
  15. package/dist/core/agent/index.js +0 -339
  16. package/dist/core/agent/index.js.map +0 -1
  17. package/dist/core/config/index.d.ts +0 -54
  18. package/dist/core/config/index.d.ts.map +0 -1
  19. package/dist/core/config/index.js +0 -138
  20. package/dist/core/config/index.js.map +0 -1
  21. package/dist/core/context/index.d.ts +0 -20
  22. package/dist/core/context/index.d.ts.map +0 -1
  23. package/dist/core/context/index.js +0 -70
  24. package/dist/core/context/index.js.map +0 -1
  25. package/dist/core/mcp/index.d.ts +0 -32
  26. package/dist/core/mcp/index.d.ts.map +0 -1
  27. package/dist/core/mcp/index.js +0 -160
  28. package/dist/core/mcp/index.js.map +0 -1
  29. package/dist/core/permission/index.d.ts +0 -24
  30. package/dist/core/permission/index.d.ts.map +0 -1
  31. package/dist/core/permission/index.js +0 -96
  32. package/dist/core/permission/index.js.map +0 -1
  33. package/dist/core/plugin/index.d.ts +0 -44
  34. package/dist/core/plugin/index.d.ts.map +0 -1
  35. package/dist/core/plugin/index.js +0 -139
  36. package/dist/core/plugin/index.js.map +0 -1
  37. package/dist/core/session/index.d.ts +0 -23
  38. package/dist/core/session/index.d.ts.map +0 -1
  39. package/dist/core/session/index.js +0 -51
  40. package/dist/core/session/index.js.map +0 -1
  41. package/dist/core/share/index.d.ts +0 -28
  42. package/dist/core/share/index.d.ts.map +0 -1
  43. package/dist/core/share/index.js +0 -100
  44. package/dist/core/share/index.js.map +0 -1
  45. package/dist/core/snapshot/index.d.ts +0 -30
  46. package/dist/core/snapshot/index.d.ts.map +0 -1
  47. package/dist/core/snapshot/index.js +0 -141
  48. package/dist/core/snapshot/index.js.map +0 -1
  49. package/dist/core/tool/bash.d.ts +0 -8
  50. package/dist/core/tool/bash.d.ts.map +0 -1
  51. package/dist/core/tool/bash.js +0 -29
  52. package/dist/core/tool/bash.js.map +0 -1
  53. package/dist/core/tool/browser.d.ts +0 -5
  54. package/dist/core/tool/browser.d.ts.map +0 -1
  55. package/dist/core/tool/browser.js +0 -119
  56. package/dist/core/tool/browser.js.map +0 -1
  57. package/dist/core/tool/file.d.ts +0 -5
  58. package/dist/core/tool/file.d.ts.map +0 -1
  59. package/dist/core/tool/file.js +0 -79
  60. package/dist/core/tool/file.js.map +0 -1
  61. package/dist/core/tool/index.d.ts +0 -21
  62. package/dist/core/tool/index.d.ts.map +0 -1
  63. package/dist/core/tool/index.js +0 -90
  64. package/dist/core/tool/index.js.map +0 -1
  65. package/dist/core/tool/search.d.ts +0 -4
  66. package/dist/core/tool/search.d.ts.map +0 -1
  67. package/dist/core/tool/search.js +0 -107
  68. package/dist/core/tool/search.js.map +0 -1
  69. package/dist/core/tool/task.d.ts +0 -9
  70. package/dist/core/tool/task.d.ts.map +0 -1
  71. package/dist/core/tool/task.js +0 -54
  72. package/dist/core/tool/task.js.map +0 -1
  73. package/dist/core/tool/todowrite.d.ts +0 -3
  74. package/dist/core/tool/todowrite.d.ts.map +0 -1
  75. package/dist/core/tool/todowrite.js +0 -75
  76. package/dist/core/tool/todowrite.js.map +0 -1
  77. package/dist/core/tool/websearch.d.ts +0 -3
  78. package/dist/core/tool/websearch.d.ts.map +0 -1
  79. package/dist/core/tool/websearch.js +0 -46
  80. package/dist/core/tool/websearch.js.map +0 -1
  81. package/dist/core/tui/ChatTUI.d.ts +0 -16
  82. package/dist/core/tui/ChatTUI.d.ts.map +0 -1
  83. package/dist/core/tui/ChatTUI.js +0 -65
  84. package/dist/core/tui/ChatTUI.js.map +0 -1
  85. package/dist/core/tui/index.d.ts +0 -15
  86. package/dist/core/tui/index.d.ts.map +0 -1
  87. package/dist/core/tui/index.js +0 -45
  88. package/dist/core/tui/index.js.map +0 -1
  89. package/dist/core/update/index.d.ts +0 -23
  90. package/dist/core/update/index.d.ts.map +0 -1
  91. package/dist/core/update/index.js +0 -115
  92. package/dist/core/update/index.js.map +0 -1
  93. package/dist/index.d.ts +0 -18
  94. package/dist/index.d.ts.map +0 -1
  95. package/dist/index.js +0 -11
  96. package/dist/index.js.map +0 -1
  97. package/dist/models.json +0 -545
  98. package/dist/provider.d.ts +0 -43
  99. package/dist/provider.d.ts.map +0 -1
  100. package/dist/provider.js +0 -294
  101. package/dist/provider.js.map +0 -1
  102. package/dist/tui/ChatTUI.mjs +0 -89
  103. package/dist/tui-launcher.mjs +0 -64
package/dist/cli.js DELETED
@@ -1,468 +0,0 @@
1
- import { Command } from "commander";
2
- import { AutoModelSelector } from "./autoModel";
3
- import { LLMProviderManager } from "./provider";
4
- import { ToolRegistry } from "./core/tool";
5
- import { Agent, defaultAgents } from "./core/agent";
6
- import { Session } from "./core/session";
7
- import { getConfig } from "./core/config";
8
- import { ShareManager } from "./core/share";
9
- import { UpdateChecker } from "./core/update";
10
- import { existsSync, writeFileSync } from "fs";
11
- import { join } from "path";
12
- const program = new Command();
13
- const BANNER = `
14
- ██████╗ ██████╗ ██████╗ ███████╗███████╗██╗ ██╗██████╗ █████╗ ██████╗ ██╗███████╗███████╗
15
- ██╔════╝██╔═══██╗██╔══██╗██╔════╝██╔════╝██║ ██║██╔══██╗██╔══██╗██╔══██╗██║██╔════╝██╔════╝
16
- ██║ ██║ ██║██████╔╝█████╗ ███████╗██║ ██║██████╔╝███████║██████╔╝██║█████╗ ███████╗
17
- ██║ ██║ ██║██╔═══╝ ██╔══╝ ╚════██║██║ ██║██╔══██╗██╔══██║██╔══██╗██║██╔══╝ ╚════██║
18
- ╚██████╗╚██████╔╝██║ ███████╗███████║╚██████╔╝██║ ██║██║ ██║██║ ██║██║███████╗███████║
19
- ╚═════╝ ╚═════╝ ╚═╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═╝╚══════╝╚══════╝
20
- `;
21
- program
22
- .name("bravecode")
23
- .description("BraveCode AI - Agentic AI Vibe Coding CLI with free model support")
24
- .version("0.1.2")
25
- .action(async () => {
26
- console.log(BANNER);
27
- const { TUILauncher } = await import("./core/tui/index");
28
- const launcher = new TUILauncher();
29
- await launcher.start();
30
- });
31
- program
32
- .command("chat")
33
- .description("Start a chat session")
34
- .option("-m, --model <model>", "Model to use (or 'auto' for auto-selection)")
35
- .option("-t, --task <task>", "Task type hint (code, reasoning, vision, audio, general)")
36
- .option("-a, --agent <agent>", "Agent to use", "build")
37
- .option("--tui", "Launch interactive TUI mode")
38
- .argument("[prompt]", "Initial prompt")
39
- .action(async (prompt, options) => {
40
- if (!prompt || options.tui) {
41
- const { TUILauncher } = await import("./core/tui/index");
42
- const launcher = new TUILauncher(options.model, options.agent);
43
- await launcher.start();
44
- return;
45
- }
46
- const provider = new LLMProviderManager();
47
- const autoModel = new AutoModelSelector();
48
- let modelId;
49
- if (options.model === "auto" || !options.model) {
50
- const taskType = options.task || autoModel.detectTaskType(prompt);
51
- const selectedModel = autoModel.selectModel(taskType);
52
- modelId = selectedModel.id;
53
- console.log(`\nAuto-selected model: ${selectedModel.name} (${modelId})`);
54
- }
55
- else {
56
- modelId = options.model;
57
- }
58
- const messages = [{ role: "user", content: prompt }];
59
- console.log(`\nUsing model: ${modelId}\n`);
60
- const stream = provider.chatStream({ model: modelId, messages });
61
- for await (const chunk of stream) {
62
- if (chunk.type === "text" && chunk.text) {
63
- process.stdout.write(chunk.text);
64
- }
65
- }
66
- console.log("\n");
67
- });
68
- program
69
- .command("run")
70
- .description("Run a single prompt with tool execution (non-interactive)")
71
- .option("-m, --model <model>", "Model to use")
72
- .option("-a, --agent <agent>", "Agent to use (build, plan, debug, testing, security, api-security)", "build")
73
- .option("--auto", "Auto-approve permission requests")
74
- .argument("<prompt>", "The prompt to run")
75
- .action(async (prompt, options) => {
76
- const provider = new LLMProviderManager();
77
- const tools = new ToolRegistry();
78
- const autoModel = new AutoModelSelector();
79
- let modelId = options.model;
80
- if (!modelId) {
81
- const taskType = autoModel.detectTaskType(prompt);
82
- const selectedModel = autoModel.selectModel(taskType);
83
- modelId = selectedModel.id;
84
- }
85
- const agentConfig = defaultAgents.find((a) => a.id === options.agent) || defaultAgents[0];
86
- const agent = new Agent(provider, tools, {
87
- ...agentConfig,
88
- model: modelId,
89
- });
90
- if (options.auto) {
91
- agent.setAutoApprove(true);
92
- }
93
- console.log(`\nBraveCode AI - Running with ${agentConfig.name}`);
94
- console.log(`Model: ${modelId}`);
95
- console.log(`Prompt: ${prompt}\n`);
96
- const response = await agent.run(prompt, (chunk) => {
97
- process.stdout.write(chunk);
98
- });
99
- console.log("\n");
100
- });
101
- program
102
- .command("models")
103
- .description("List available models")
104
- .option("-p, --provider <provider>", "Filter by provider")
105
- .option("-c, --capability <capability>", "Filter by capability (code, reasoning, vision, audio)")
106
- .action((options) => {
107
- const autoModel = new AutoModelSelector();
108
- let models = autoModel.listModels();
109
- if (options.provider) {
110
- models = models.filter((m) => m.provider === options.provider);
111
- }
112
- if (options.capability) {
113
- models = models.filter((m) => m.capabilities[options.capability]);
114
- }
115
- console.log("\nAvailable Models:\n");
116
- for (const model of models) {
117
- const tags = model.tags.join(", ");
118
- console.log(` ${model.id}`);
119
- console.log(` Name: ${model.name}`);
120
- console.log(` Provider: ${model.provider}`);
121
- console.log(` Context: ${model.contextWindow / 1000}k tokens`);
122
- console.log(` Tags: ${tags}`);
123
- console.log("");
124
- }
125
- });
126
- program
127
- .command("providers")
128
- .description("List available providers and their status")
129
- .action(() => {
130
- const provider = new LLMProviderManager();
131
- const providers = provider.getAvailableProviders();
132
- console.log("\nAvailable Providers:\n");
133
- for (const p of providers) {
134
- const configured = provider.isProviderConfigured(p);
135
- console.log(` ${p}: ${configured ? "Configured" : "Not configured"}`);
136
- }
137
- });
138
- program
139
- .command("select")
140
- .description("Auto-select a model for a task")
141
- .argument("<prompt>", "Task description")
142
- .action((prompt) => {
143
- const autoModel = new AutoModelSelector();
144
- const taskType = autoModel.detectTaskType(prompt);
145
- const model = autoModel.selectModel(taskType);
146
- console.log(`\nTask type: ${taskType}`);
147
- console.log(`Selected model: ${model.name} (${model.id})`);
148
- console.log(`Provider: ${model.provider}`);
149
- console.log(`Context window: ${model.contextWindow / 1000}k tokens`);
150
- });
151
- program
152
- .command("tools")
153
- .description("List available tools")
154
- .action(() => {
155
- const tools = new ToolRegistry();
156
- const toolList = tools.list();
157
- console.log("\nAvailable Tools:\n");
158
- for (const tool of toolList) {
159
- console.log(` ${tool.name}`);
160
- console.log(` ${tool.description}`);
161
- console.log("");
162
- }
163
- });
164
- program
165
- .command("agents")
166
- .description("List available agents")
167
- .action(() => {
168
- console.log("\nAvailable Agents:\n");
169
- for (const agent of defaultAgents) {
170
- console.log(` ${agent.id}`);
171
- console.log(` Name: ${agent.name}`);
172
- console.log(` ${agent.description}`);
173
- console.log(` Model: ${agent.model}`);
174
- console.log("");
175
- }
176
- });
177
- program
178
- .command("open <url>")
179
- .description("Open a URL in the default web browser")
180
- .action((url) => {
181
- const { execSync } = require("child_process");
182
- if (!url.startsWith("http://") && !url.startsWith("https://")) {
183
- url = "https://" + url;
184
- }
185
- try {
186
- let command;
187
- const platform = process.platform;
188
- if (platform === "darwin") {
189
- command = `open "${url}"`;
190
- }
191
- else if (platform === "win32") {
192
- command = `start "" "${url}"`;
193
- }
194
- else {
195
- command = `xdg-open "${url}" 2>/dev/null || sensible-browser "${url}" 2>/dev/null`;
196
- }
197
- execSync(command, { stdio: "ignore" });
198
- console.log(`\nOpened ${url} in browser\n`);
199
- }
200
- catch (error) {
201
- console.log(`\nCould not open browser automatically.`);
202
- console.log(`Please open this URL manually: ${url}\n`);
203
- }
204
- });
205
- program
206
- .command("fetch <url>")
207
- .description("Fetch content from a URL")
208
- .option("-m, --method <method>", "HTTP method", "GET")
209
- .option("-d, --data <data>", "Request body for POST/PUT")
210
- .action(async (url, options) => {
211
- const method = options.method || "GET";
212
- console.log(`\nFetching ${url} (${method})...\n`);
213
- try {
214
- const response = await fetch(url, {
215
- method,
216
- headers: {
217
- "User-Agent": "BraveCode-AI/1.0",
218
- },
219
- body: options.data,
220
- });
221
- const contentType = response.headers.get("content-type") || "";
222
- let content;
223
- if (contentType.includes("application/json")) {
224
- const json = await response.json();
225
- content = JSON.stringify(json, null, 2);
226
- }
227
- else {
228
- content = await response.text();
229
- }
230
- console.log(`Status: ${response.status} ${response.statusText}`);
231
- console.log(`Content-Type: ${contentType}\n`);
232
- const truncated = content.length > 2000 ? content.substring(0, 2000) + "\n\n... (truncated)" : content;
233
- console.log(truncated);
234
- }
235
- catch (error) {
236
- console.log(`Error: ${error.message}`);
237
- }
238
- });
239
- program
240
- .command("init")
241
- .description("Initialize BraveCode in current directory (creates AGENTS.md)")
242
- .action(() => {
243
- const config = getConfig();
244
- const agensMd = join(process.cwd(), "AGENTS.md");
245
- if (existsSync(agensMd)) {
246
- console.log("AGENTS.md already exists. Use --force to overwrite.");
247
- return;
248
- }
249
- const content = `# BraveCode AI - Agent Configuration
250
-
251
- ## Project Instructions
252
-
253
- ### Build System
254
- - Run \`npm run build\` to compile
255
- - Run \`npm test\` to test
256
-
257
- ### Code Style
258
- - Use TypeScript with strict mode
259
- - Follow existing code patterns
260
- - Add JSDoc comments for public APIs
261
-
262
- ### Important Files
263
- - \`src/\` - Source code
264
- - \`package.json\` - Dependencies and scripts
265
-
266
- ### Custom Rules
267
- <!-- Add your project-specific rules here -->
268
-
269
- ## Agents
270
-
271
- ### Build Agent
272
- - Full access to development tools
273
- - Use for: code changes, file editing, command execution
274
-
275
- ### Plan Agent
276
- - Read-only analysis
277
- - Use for: architecture decisions, code review
278
-
279
- ### Debug Agent
280
- - Specialized in troubleshooting
281
- - Use for: bug fixes, error investigation
282
-
283
- ### Testing Agent
284
- - Test writing and execution
285
- - Use for: test coverage, test maintenance
286
-
287
- ### Security Agent
288
- - Security auditing
289
- - Use for: vulnerability assessment, security fixes
290
- `;
291
- writeFileSync(agensMd, content);
292
- console.log("Created AGENTS.md");
293
- console.log("Customize it with your project-specific instructions.");
294
- const configPath = join(process.cwd(), ".bravecode", "config.json");
295
- if (!existsSync(join(process.cwd(), ".bravecode"))) {
296
- console.log("Config directory created at .bravecode/");
297
- }
298
- });
299
- program
300
- .command("config")
301
- .description("View or set configuration")
302
- .argument("[key]", "Config key (e.g., model.default)")
303
- .argument("[value]", "Value to set")
304
- .action((key, value) => {
305
- const config = getConfig();
306
- if (!key) {
307
- const current = config.get();
308
- console.log("Current configuration:\n");
309
- console.log(JSON.stringify(current, null, 2));
310
- return;
311
- }
312
- if (!value) {
313
- const val = config.getNested(key);
314
- console.log(`${key}: ${JSON.stringify(val, null, 2)}`);
315
- return;
316
- }
317
- try {
318
- const parsed = JSON.parse(value);
319
- config.setNested(key, parsed);
320
- }
321
- catch {
322
- config.setNested(key, value);
323
- }
324
- console.log(`Set ${key} = ${value}`);
325
- });
326
- program
327
- .command("mcp")
328
- .description("Manage MCP servers")
329
- .argument("[action]", "Action: list, add, remove")
330
- .argument("[args...]", "Additional arguments")
331
- .action(async (action, args) => {
332
- if (!action || action === "list") {
333
- const config = getConfig();
334
- const mcpServers = config.getNested("mcp.servers") || [];
335
- console.log("MCP Servers:\n");
336
- if (mcpServers.length === 0) {
337
- console.log(" No MCP servers configured.");
338
- }
339
- else {
340
- for (const server of mcpServers) {
341
- console.log(` ${server.id}: ${server.name}`);
342
- console.log(` Command: ${server.command}`);
343
- console.log(` Enabled: ${server.enabled}`);
344
- }
345
- }
346
- return;
347
- }
348
- if (action === "add" && args && args.length >= 2) {
349
- const config = getConfig();
350
- const servers = config.getNested("mcp.servers") || [];
351
- const newServer = {
352
- id: args[0],
353
- name: args[1],
354
- command: args[2] || args[0],
355
- args: args.slice(3),
356
- enabled: true,
357
- };
358
- servers.push(newServer);
359
- config.setNested("mcp.servers", servers);
360
- console.log(`Added MCP server: ${newServer.id}`);
361
- return;
362
- }
363
- if (action === "remove" && args && args.length > 0) {
364
- const config = getConfig();
365
- const servers = config.getNested("mcp.servers") || [];
366
- const filtered = servers.filter((s) => s.id !== args[0]);
367
- config.setNested("mcp.servers", filtered);
368
- console.log(`Removed MCP server: ${args[0]}`);
369
- return;
370
- }
371
- console.log("Usage: bravecode mcp [list|add|remove] [args...]");
372
- });
373
- program
374
- .command("plugins")
375
- .description("List available plugins")
376
- .action(async () => {
377
- const { PluginManager } = await import("./core/plugin/index");
378
- const manager = new PluginManager();
379
- await manager.loadPlugins();
380
- const plugins = manager.getAllPlugins();
381
- console.log("Plugins:\n");
382
- if (plugins.length === 0) {
383
- console.log(" No plugins loaded.");
384
- }
385
- else {
386
- for (const plugin of plugins) {
387
- console.log(` ${plugin.config.name} v${plugin.config.version}`);
388
- console.log(` ${plugin.config.description}`);
389
- if (plugin.config.author) {
390
- console.log(` Author: ${plugin.config.author}`);
391
- }
392
- }
393
- }
394
- });
395
- program
396
- .command("share")
397
- .description("Share a conversation via URL")
398
- .argument("[action]", "Action: create, list, delete")
399
- .argument("[args...]", "Additional arguments")
400
- .action(async (action, args) => {
401
- const shareManager = new ShareManager();
402
- if (!action || action === "list") {
403
- const shares = shareManager.listShares();
404
- console.log("Shared Conversations:\n");
405
- if (shares.length === 0) {
406
- console.log(" No shared conversations.");
407
- }
408
- else {
409
- for (const share of shares) {
410
- console.log(` ${share.id}: ${share.title}`);
411
- console.log(` Created: ${new Date(share.createdAt).toLocaleString()}`);
412
- console.log(` URL: ${shareManager.getShareUrl(share.id)}`);
413
- }
414
- }
415
- return;
416
- }
417
- if (action === "create" && args && args.length >= 2) {
418
- const title = args[0];
419
- const content = args.slice(1).join(" ");
420
- const messages = [
421
- { role: "user", content, timestamp: new Date() },
422
- ];
423
- const share = shareManager.createShare(title, messages);
424
- console.log(`Created share: ${share.id}`);
425
- console.log(`URL: ${shareManager.getShareUrl(share.id)}`);
426
- return;
427
- }
428
- if (action === "delete" && args && args.length > 0) {
429
- if (shareManager.deleteShare(args[0])) {
430
- console.log(`Deleted share: ${args[0]}`);
431
- }
432
- else {
433
- console.log(`Share not found: ${args[0]}`);
434
- }
435
- return;
436
- }
437
- console.log("Usage: bravecode share [list|create|delete] [args...]");
438
- });
439
- program
440
- .command("update")
441
- .description("Check for and install updates")
442
- .option("--check", "Check for updates only")
443
- .action(async (options) => {
444
- const updateChecker = new UpdateChecker();
445
- console.log("Checking for updates...\n");
446
- const info = await updateChecker.checkForUpdates(true);
447
- console.log(`Current version: ${info.currentVersion}`);
448
- console.log(`Latest version: ${info.latestVersion}`);
449
- if (info.updateAvailable) {
450
- console.log("\n✓ Update available!\n");
451
- if (options.check) {
452
- console.log("Run 'bravecode update' to install.");
453
- return;
454
- }
455
- const result = await updateChecker.update();
456
- if (result.success) {
457
- console.log(result.message);
458
- }
459
- else {
460
- console.log(`Error: ${result.message}`);
461
- }
462
- }
463
- else {
464
- console.log("\n✓ You're up to date!");
465
- }
466
- });
467
- program.parse();
468
- //# sourceMappingURL=cli.js.map
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,31 +0,0 @@
1
- import { LLMProviderManager } from "../../provider";
2
- import type { Message } from "../../provider";
3
- import { ToolRegistry } from "../tool";
4
- export interface AgentConfig {
5
- id: string;
6
- name: string;
7
- description: string;
8
- model: string;
9
- systemPrompt: string;
10
- temperature?: number;
11
- maxIterations?: number;
12
- }
13
- export declare const defaultAgents: AgentConfig[];
14
- export declare class Agent {
15
- private provider;
16
- private tools;
17
- private permissions;
18
- private snapshots;
19
- private pluginHooks;
20
- config: AgentConfig;
21
- private conversationHistory;
22
- private autoApprove;
23
- constructor(provider: LLMProviderManager, tools: ToolRegistry, config: AgentConfig);
24
- setAutoApprove(auto: boolean): void;
25
- run(userMessage: string, onChunk?: (text: string) => void): Promise<string>;
26
- undo(): Promise<string>;
27
- getDiff(): Promise<string>;
28
- clearHistory(): void;
29
- getHistory(): Message[];
30
- }
31
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/agent/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,EAAE,WAAW,EAoNtC,CAAC;AAEF,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAc;IAC1B,MAAM,EAAE,WAAW,CAAC;IAC3B,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,WAAW,CAAkB;gBAEzB,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW;IASlF,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAI7B,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IA8G3E,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvB,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,YAAY,IAAI,IAAI;IAIpB,UAAU,IAAI,OAAO,EAAE;CAGxB"}