vigthoria-cli 1.0.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.
- package/README.md +413 -0
- package/dist/commands/auth.d.ts +24 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +194 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/chat.d.ts +64 -0
- package/dist/commands/chat.d.ts.map +1 -0
- package/dist/commands/chat.js +596 -0
- package/dist/commands/chat.js.map +1 -0
- package/dist/commands/config.d.ts +25 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +291 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/edit.d.ts +28 -0
- package/dist/commands/edit.d.ts.map +1 -0
- package/dist/commands/edit.js +257 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/explain.d.ts +21 -0
- package/dist/commands/explain.d.ts.map +1 -0
- package/dist/commands/explain.js +98 -0
- package/dist/commands/explain.js.map +1 -0
- package/dist/commands/generate.d.ts +25 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +155 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/review.d.ts +24 -0
- package/dist/commands/review.d.ts.map +1 -0
- package/dist/commands/review.js +153 -0
- package/dist/commands/review.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +205 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/api.d.ts +88 -0
- package/dist/utils/api.d.ts.map +1 -0
- package/dist/utils/api.js +431 -0
- package/dist/utils/api.js.map +1 -0
- package/dist/utils/config.d.ts +57 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +167 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/files.d.ts +31 -0
- package/dist/utils/files.d.ts.map +1 -0
- package/dist/utils/files.js +217 -0
- package/dist/utils/files.js.map +1 -0
- package/dist/utils/logger.d.ts +23 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +104 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/session.d.ts +61 -0
- package/dist/utils/session.d.ts.map +1 -0
- package/dist/utils/session.js +172 -0
- package/dist/utils/session.js.map +1 -0
- package/dist/utils/tools.d.ts +145 -0
- package/dist/utils/tools.d.ts.map +1 -0
- package/dist/utils/tools.js +781 -0
- package/dist/utils/tools.js.map +1 -0
- package/install.sh +248 -0
- package/package.json +52 -0
- package/src/commands/auth.ts +225 -0
- package/src/commands/chat.ts +690 -0
- package/src/commands/config.ts +297 -0
- package/src/commands/edit.ts +310 -0
- package/src/commands/explain.ts +115 -0
- package/src/commands/generate.ts +177 -0
- package/src/commands/review.ts +186 -0
- package/src/index.ts +221 -0
- package/src/types/marked-terminal.d.ts +31 -0
- package/src/utils/api.ts +531 -0
- package/src/utils/config.ts +224 -0
- package/src/utils/files.ts +212 -0
- package/src/utils/logger.ts +125 -0
- package/src/utils/session.ts +167 -0
- package/src/utils/tools.ts +933 -0
- package/tsconfig.json +20 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vigthoria CLI Tools - Agentic Tool System
|
|
3
|
+
*
|
|
4
|
+
* This module provides Claude Code-like autonomous tool execution.
|
|
5
|
+
* Tools can be called by the AI to perform actions.
|
|
6
|
+
*
|
|
7
|
+
* Enhanced with:
|
|
8
|
+
* - Risk-based permission system
|
|
9
|
+
* - Automatic retry logic with exponential backoff
|
|
10
|
+
* - Undo functionality for file operations
|
|
11
|
+
* - Detailed error messages with suggestions
|
|
12
|
+
*
|
|
13
|
+
* @version 1.1.0
|
|
14
|
+
* @author Vigthoria Labs
|
|
15
|
+
*/
|
|
16
|
+
import { Logger } from './logger.js';
|
|
17
|
+
export type RiskLevel = 'low' | 'medium' | 'high' | 'critical';
|
|
18
|
+
export interface ToolResult {
|
|
19
|
+
success: boolean;
|
|
20
|
+
output?: string;
|
|
21
|
+
error?: string;
|
|
22
|
+
suggestion?: string;
|
|
23
|
+
canRetry?: boolean;
|
|
24
|
+
undoable?: boolean;
|
|
25
|
+
metadata?: {
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface ToolCall {
|
|
30
|
+
tool: string;
|
|
31
|
+
args: Record<string, string>;
|
|
32
|
+
}
|
|
33
|
+
export interface ToolDefinition {
|
|
34
|
+
name: string;
|
|
35
|
+
description: string;
|
|
36
|
+
parameters: {
|
|
37
|
+
name: string;
|
|
38
|
+
description: string;
|
|
39
|
+
required: boolean;
|
|
40
|
+
}[];
|
|
41
|
+
requiresPermission: boolean;
|
|
42
|
+
dangerous: boolean;
|
|
43
|
+
riskLevel: RiskLevel;
|
|
44
|
+
category: 'read' | 'write' | 'execute' | 'search';
|
|
45
|
+
}
|
|
46
|
+
interface UndoOperation {
|
|
47
|
+
id: string;
|
|
48
|
+
tool: string;
|
|
49
|
+
timestamp: number;
|
|
50
|
+
filePath?: string;
|
|
51
|
+
originalContent?: string | null;
|
|
52
|
+
description: string;
|
|
53
|
+
}
|
|
54
|
+
export declare enum ToolErrorType {
|
|
55
|
+
FILE_NOT_FOUND = "FILE_NOT_FOUND",
|
|
56
|
+
PERMISSION_DENIED = "PERMISSION_DENIED",
|
|
57
|
+
NETWORK_ERROR = "NETWORK_ERROR",
|
|
58
|
+
TIMEOUT = "TIMEOUT",
|
|
59
|
+
INVALID_ARGS = "INVALID_ARGS",
|
|
60
|
+
EXECUTION_FAILED = "EXECUTION_FAILED",
|
|
61
|
+
USER_CANCELLED = "USER_CANCELLED"
|
|
62
|
+
}
|
|
63
|
+
export declare class AgenticTools {
|
|
64
|
+
private logger;
|
|
65
|
+
private cwd;
|
|
66
|
+
private permissionCallback;
|
|
67
|
+
private autoApprove;
|
|
68
|
+
private undoStack;
|
|
69
|
+
private maxUndoStack;
|
|
70
|
+
private retryConfig;
|
|
71
|
+
constructor(logger: Logger, cwd: string, permissionCallback: (action: string) => Promise<boolean>, autoApprove?: boolean);
|
|
72
|
+
/**
|
|
73
|
+
* Get the undo stack for inspection
|
|
74
|
+
*/
|
|
75
|
+
getUndoStack(): UndoOperation[];
|
|
76
|
+
/**
|
|
77
|
+
* Undo the last file operation
|
|
78
|
+
*/
|
|
79
|
+
undo(): Promise<ToolResult>;
|
|
80
|
+
/**
|
|
81
|
+
* List of available tools - similar to Claude Code
|
|
82
|
+
* Enhanced with risk levels and categories
|
|
83
|
+
*/
|
|
84
|
+
static getToolDefinitions(): ToolDefinition[];
|
|
85
|
+
/**
|
|
86
|
+
* Execute a tool call with enhanced error handling and retry logic
|
|
87
|
+
*/
|
|
88
|
+
execute(call: ToolCall): Promise<ToolResult>;
|
|
89
|
+
/**
|
|
90
|
+
* Execute tool with automatic retry for transient failures
|
|
91
|
+
*/
|
|
92
|
+
private executeWithRetry;
|
|
93
|
+
/**
|
|
94
|
+
* Execute the actual tool operation
|
|
95
|
+
*/
|
|
96
|
+
private executeTool;
|
|
97
|
+
/**
|
|
98
|
+
* Check if an error is retryable
|
|
99
|
+
*/
|
|
100
|
+
private isRetryableError;
|
|
101
|
+
/**
|
|
102
|
+
* Validate tool parameters
|
|
103
|
+
*/
|
|
104
|
+
private validateParameters;
|
|
105
|
+
/**
|
|
106
|
+
* Create a standardized error result
|
|
107
|
+
*/
|
|
108
|
+
private createErrorResult;
|
|
109
|
+
/**
|
|
110
|
+
* Enhanced permission request with risk visualization
|
|
111
|
+
*/
|
|
112
|
+
private formatPermissionRequest;
|
|
113
|
+
private sleep;
|
|
114
|
+
/**
|
|
115
|
+
* Read file with enhanced error handling and suggestions
|
|
116
|
+
*/
|
|
117
|
+
private readFile;
|
|
118
|
+
/**
|
|
119
|
+
* Write file with undo support
|
|
120
|
+
*/
|
|
121
|
+
private writeFile;
|
|
122
|
+
/**
|
|
123
|
+
* Edit file with undo support and helpful error messages
|
|
124
|
+
*/
|
|
125
|
+
private editFile;
|
|
126
|
+
/**
|
|
127
|
+
* Execute bash command with enhanced error handling
|
|
128
|
+
*/
|
|
129
|
+
private bash;
|
|
130
|
+
private grep;
|
|
131
|
+
private listDir;
|
|
132
|
+
private glob;
|
|
133
|
+
private git;
|
|
134
|
+
private resolvePath;
|
|
135
|
+
/**
|
|
136
|
+
* Parse tool calls from AI response (Claude Code format)
|
|
137
|
+
*/
|
|
138
|
+
static parseToolCalls(text: string): ToolCall[];
|
|
139
|
+
/**
|
|
140
|
+
* Get tools formatted for AI system prompt
|
|
141
|
+
*/
|
|
142
|
+
static getToolsForPrompt(): string;
|
|
143
|
+
}
|
|
144
|
+
export {};
|
|
145
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/utils/tools.ts"],"names":[],"mappings":"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"}
|