appsec-agent 0.1.2 → 0.1.3
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 +5 -5
- package/dist/agent_actions.d.ts.map +1 -1
- package/dist/agent_actions.js +254 -140
- package/dist/agent_actions.js.map +1 -1
- package/dist/blinking_cursor.d.ts +25 -0
- package/dist/blinking_cursor.d.ts.map +1 -0
- package/dist/blinking_cursor.js +56 -0
- package/dist/blinking_cursor.js.map +1 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +23 -10
- package/dist/main.js.map +1 -1
- package/dist/utils.d.ts +8 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +89 -15
- package/dist/utils.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AppSec Agent (TypeScript)
|
|
2
2
|
|
|
3
|
-
A TypeScript package that provides AI-powered agents for Application Security (AppSec) tasks, built on top of the Claude Agent SDK.
|
|
3
|
+
A TypeScript package that provides AI-powered agents for Application Security (AppSec) tasks, built on top of the Claude Agent SDK. It helps automate mundane application security operations and streamline workflows.
|
|
4
4
|
|
|
5
5
|
**📦 Available on npm**: Install with `npm install appsec-agent`
|
|
6
6
|
|
|
@@ -37,7 +37,7 @@ A TypeScript package that provides AI-powered agents for Application Security (A
|
|
|
37
37
|
- Anthropic API key
|
|
38
38
|
|
|
39
39
|
### Step 1: Install Claude Code
|
|
40
|
-
Our agent toolkit is built on top of Claude Agent SDK (v0.1.58)
|
|
40
|
+
Our agent toolkit is built on top of Claude Agent SDK (v0.1.58), which in turn is built on top of Claude Code. To install our toolkit, you need to start with Claude Code. You may want to install it in the global user space:
|
|
41
41
|
|
|
42
42
|
```bash
|
|
43
43
|
$ npm install -g @anthropic-ai/claude-code@2.0.58
|
|
@@ -182,8 +182,7 @@ This package is designed to be thread-safe for use in web applications where mul
|
|
|
182
182
|
1. **Create New Instances Per Request**: Always create a new `AgentActions` instance for each HTTP request:
|
|
183
183
|
|
|
184
184
|
```typescript
|
|
185
|
-
import { AgentActions, AgentArgs } from 'appsec-agent';
|
|
186
|
-
import { loadYaml } from 'appsec-agent';
|
|
185
|
+
import { AgentActions, AgentArgs, loadYaml } from 'appsec-agent';
|
|
187
186
|
|
|
188
187
|
app.post('/api/query', async (req, res) => {
|
|
189
188
|
const confDict = loadYaml('conf/appsec_agent.yaml');
|
|
@@ -252,7 +251,8 @@ appsec-agent/
|
|
|
252
251
|
│ ├── concurrency.test.ts # Concurrency and thread-safety tests
|
|
253
252
|
│ └── ... # Other test files
|
|
254
253
|
├── bin/
|
|
255
|
-
│
|
|
254
|
+
│ ├── agent-run.js # Main CLI script (compiled)
|
|
255
|
+
│ └── agent-run.ts # Main CLI script (source)
|
|
256
256
|
├── conf/
|
|
257
257
|
│ └── appsec_agent.yaml # General configuration file
|
|
258
258
|
├── package.json
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent_actions.d.ts","sourceRoot":"","sources":["../src/agent_actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"agent_actions.d.ts","sourceRoot":"","sources":["../src/agent_actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAOD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,mBAAmB,CAA2B;gBAE1C,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAMtE;;OAEG;IACG,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAyP/F;;OAEG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiElE;;OAEG;IACG,6BAA6B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAgEzE"}
|
package/dist/agent_actions.js
CHANGED
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
8
8
|
exports.AgentActions = void 0;
|
|
9
9
|
const claude_agent_sdk_1 = require("@anthropic-ai/claude-agent-sdk");
|
|
10
10
|
const agent_options_1 = require("./agent_options");
|
|
11
|
+
const blinking_cursor_1 = require("./blinking_cursor");
|
|
11
12
|
class AgentActions {
|
|
12
13
|
confDict;
|
|
13
14
|
environment;
|
|
@@ -47,6 +48,8 @@ class AgentActions {
|
|
|
47
48
|
else {
|
|
48
49
|
fullPrompt = `${sourceDirContext}${yourPrompt}`;
|
|
49
50
|
}
|
|
51
|
+
// Declare cursor outside try block so it's accessible in catch
|
|
52
|
+
let cursor = null;
|
|
50
53
|
try {
|
|
51
54
|
let accumulatedText = '';
|
|
52
55
|
let hasPrintedHeader = false;
|
|
@@ -54,94 +57,108 @@ class AgentActions {
|
|
|
54
57
|
let messageCount = 0;
|
|
55
58
|
let assistantResponseText = '';
|
|
56
59
|
let finalResult = null;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
// Handle
|
|
68
|
-
if (
|
|
69
|
-
|
|
70
|
-
|
|
60
|
+
// Start blinking cursor to show we're waiting for Claude's response
|
|
61
|
+
cursor = new blinking_cursor_1.BlinkingCursor();
|
|
62
|
+
cursor.start();
|
|
63
|
+
try {
|
|
64
|
+
for await (const msg of (0, claude_agent_sdk_1.query)({ prompt: fullPrompt, options })) {
|
|
65
|
+
messageCount++;
|
|
66
|
+
// Debug logging (remove in production)
|
|
67
|
+
if (this.args.verbose) {
|
|
68
|
+
console.error(`[DEBUG] Message #${messageCount}: type=${msg.type}`);
|
|
69
|
+
}
|
|
70
|
+
// Handle stream events (streaming deltas) - these come first
|
|
71
|
+
if (msg.type === 'stream_event') {
|
|
72
|
+
hasSeenStreamEvents = true;
|
|
73
|
+
const streamMsg = msg;
|
|
74
|
+
// Stop blinking cursor when we receive the first stream event
|
|
75
|
+
if (cursor)
|
|
76
|
+
cursor.stop();
|
|
77
|
+
// Handle content block deltas (streaming text)
|
|
78
|
+
if (streamMsg.event?.type === 'content_block_delta' && streamMsg.event.delta?.type === 'text_delta') {
|
|
79
|
+
const deltaText = streamMsg.event.delta.text || '';
|
|
80
|
+
if (deltaText) {
|
|
81
|
+
if (!hasPrintedHeader) {
|
|
82
|
+
console.log(`\nClaude:\n`);
|
|
83
|
+
hasPrintedHeader = true;
|
|
84
|
+
}
|
|
85
|
+
// Accumulate and write streaming deltas directly
|
|
86
|
+
accumulatedText += deltaText;
|
|
87
|
+
assistantResponseText += deltaText;
|
|
88
|
+
process.stdout.write(deltaText);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Handle content block start (beginning of new content block)
|
|
92
|
+
else if (streamMsg.event?.type === 'content_block_start') {
|
|
93
|
+
// Stop cursor when content block starts
|
|
94
|
+
if (cursor)
|
|
95
|
+
cursor.stop();
|
|
96
|
+
// Content block is starting - ensure header is printed
|
|
71
97
|
if (!hasPrintedHeader) {
|
|
72
98
|
console.log(`\nClaude:\n`);
|
|
73
99
|
hasPrintedHeader = true;
|
|
74
100
|
}
|
|
75
|
-
//
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
process.stdout.write(deltaText);
|
|
101
|
+
// Don't reset accumulatedText here - we want to accumulate ALL text across all blocks
|
|
102
|
+
// Only reset if this is truly a new message (but we can't tell that here)
|
|
103
|
+
// Actually, we should keep accumulating to get the full response
|
|
79
104
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
105
|
+
// Handle message stop (one message/turn is complete, but stream may continue)
|
|
106
|
+
else if (streamMsg.event?.type === 'message_stop') {
|
|
107
|
+
// One message is complete, but the stream may continue with more messages
|
|
108
|
+
// (e.g., after tools execute). Don't treat this as stream end.
|
|
109
|
+
if (hasPrintedHeader && accumulatedText) {
|
|
110
|
+
// This message is done, but more may come
|
|
111
|
+
}
|
|
87
112
|
}
|
|
88
|
-
//
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
// Handle message stop (one message/turn is complete, but stream may continue)
|
|
93
|
-
else if (streamMsg.event?.type === 'message_stop') {
|
|
94
|
-
// One message is complete, but the stream may continue with more messages
|
|
95
|
-
// (e.g., after tools execute). Don't treat this as stream end.
|
|
96
|
-
if (hasPrintedHeader && accumulatedText) {
|
|
97
|
-
// This message is done, but more may come
|
|
113
|
+
// Handle other stream event types we might not be handling
|
|
114
|
+
else if (this.args.verbose) {
|
|
115
|
+
console.error(`[DEBUG] Unhandled stream event type: ${streamMsg.event?.type}`);
|
|
98
116
|
}
|
|
99
117
|
}
|
|
100
|
-
// Handle
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
console.log(`\nClaude:\n`);
|
|
120
|
-
hasPrintedHeader = true;
|
|
121
|
-
}
|
|
122
|
-
console.log(currentText);
|
|
123
|
-
accumulatedText = currentText;
|
|
124
|
-
assistantResponseText = currentText;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
// If we've seen stream events, this might be additional content after tools
|
|
128
|
-
// Check if this is new content not already accumulated
|
|
129
|
-
if (!currentText.startsWith(accumulatedText) && currentText !== accumulatedText) {
|
|
130
|
-
// This is additional content (e.g., after tools complete)
|
|
131
|
-
const newText = currentText.slice(accumulatedText.length);
|
|
132
|
-
if (newText) {
|
|
133
|
-
process.stdout.write(newText);
|
|
134
|
-
accumulatedText = currentText;
|
|
135
|
-
assistantResponseText = currentText;
|
|
118
|
+
// Handle assistant messages (complete messages) - only use if no stream events
|
|
119
|
+
// Note: If we've seen stream events, the content was already printed incrementally
|
|
120
|
+
// BUT: When tools are used, there may be more assistant messages after tools complete
|
|
121
|
+
// So we need to handle both cases
|
|
122
|
+
else if (msg.type === 'assistant') {
|
|
123
|
+
// Stop cursor when we receive assistant message
|
|
124
|
+
if (cursor)
|
|
125
|
+
cursor.stop();
|
|
126
|
+
const assistantMsg = msg;
|
|
127
|
+
if (assistantMsg.message.content) {
|
|
128
|
+
for (const block of assistantMsg.message.content) {
|
|
129
|
+
if (block.type === 'text') {
|
|
130
|
+
const currentText = block.text || '';
|
|
131
|
+
if (currentText && currentText.length > 0) {
|
|
132
|
+
// If we haven't seen stream events, print the complete message
|
|
133
|
+
if (!hasSeenStreamEvents) {
|
|
134
|
+
if (!hasPrintedHeader) {
|
|
135
|
+
console.log(`\nClaude:\n`);
|
|
136
|
+
hasPrintedHeader = true;
|
|
136
137
|
}
|
|
138
|
+
console.log(currentText);
|
|
139
|
+
accumulatedText = currentText;
|
|
140
|
+
assistantResponseText = currentText;
|
|
137
141
|
}
|
|
138
|
-
else
|
|
139
|
-
//
|
|
140
|
-
|
|
141
|
-
if (
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
else {
|
|
143
|
+
// If we've seen stream events, this might be additional content after tools
|
|
144
|
+
// Check if this is new content not already accumulated
|
|
145
|
+
if (!currentText.startsWith(accumulatedText) && currentText !== accumulatedText) {
|
|
146
|
+
// This is additional content (e.g., after tools complete)
|
|
147
|
+
const newText = currentText.slice(accumulatedText.length);
|
|
148
|
+
if (newText) {
|
|
149
|
+
process.stdout.write(newText);
|
|
150
|
+
accumulatedText = currentText;
|
|
151
|
+
assistantResponseText = currentText;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
else if (currentText.length > accumulatedText.length) {
|
|
155
|
+
// More content than we've accumulated
|
|
156
|
+
const newText = currentText.slice(accumulatedText.length);
|
|
157
|
+
if (newText) {
|
|
158
|
+
process.stdout.write(newText);
|
|
159
|
+
accumulatedText = currentText;
|
|
160
|
+
assistantResponseText = currentText;
|
|
161
|
+
}
|
|
145
162
|
}
|
|
146
163
|
}
|
|
147
164
|
}
|
|
@@ -149,51 +166,59 @@ class AgentActions {
|
|
|
149
166
|
}
|
|
150
167
|
}
|
|
151
168
|
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
console.error(
|
|
169
|
+
// Handle result messages - collect but don't display until stream completes
|
|
170
|
+
// IMPORTANT: The stream may continue after a result message if tools are being used
|
|
171
|
+
// We must continue processing until the stream is truly exhausted
|
|
172
|
+
else if (msg.type === 'result') {
|
|
173
|
+
// Stop cursor when we receive result (in case no content was received)
|
|
174
|
+
if (cursor)
|
|
175
|
+
cursor.stop();
|
|
176
|
+
const resultMsg = msg;
|
|
177
|
+
// Always update finalResult with the latest result message
|
|
178
|
+
// (there may be multiple result messages if tools are used)
|
|
179
|
+
finalResult = resultMsg;
|
|
180
|
+
// Check for errors in result messages - display errors immediately
|
|
181
|
+
if (resultMsg.is_error) {
|
|
182
|
+
const errorMsg = resultMsg.errors?.[0] || resultMsg.error_message || 'Unknown error occurred';
|
|
183
|
+
console.error(`\nError: ${errorMsg}`);
|
|
184
|
+
if (resultMsg.subtype) {
|
|
185
|
+
console.error(`Error subtype: ${resultMsg.subtype}`);
|
|
186
|
+
}
|
|
187
|
+
// Log max_turns error specifically
|
|
188
|
+
if (resultMsg.subtype === 'error_max_turns') {
|
|
189
|
+
console.error(`\nNote: The conversation stopped because max_turns (${options.maxTurns || 1}) was reached.`);
|
|
190
|
+
console.error(`To allow the agent to use tools and continue, increase max_turns in the configuration or use the code_reviewer role.`);
|
|
191
|
+
}
|
|
167
192
|
}
|
|
168
|
-
//
|
|
169
|
-
if (
|
|
170
|
-
console.error(
|
|
171
|
-
console.error(`
|
|
193
|
+
// Debug: log turn count and continue processing (stream may not be done yet)
|
|
194
|
+
if (this.args.verbose) {
|
|
195
|
+
console.error(`[DEBUG] Result: num_turns=${resultMsg.num_turns}, is_error=${resultMsg.is_error}`);
|
|
196
|
+
console.error(`[DEBUG] Continuing to process stream (may have more messages after tools)`);
|
|
172
197
|
}
|
|
173
198
|
}
|
|
174
|
-
//
|
|
175
|
-
if (
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
else if (msg.type === 'tool_progress') {
|
|
182
|
-
// Tool is being executed - this is normal, just continue
|
|
183
|
-
if (this.args.verbose) {
|
|
184
|
-
const toolMsg = msg;
|
|
185
|
-
console.log(`[Tool Progress] ${toolMsg.tool_name}: ${toolMsg.elapsed_time_seconds}s`);
|
|
199
|
+
// Handle tool progress messages (agent might be using tools)
|
|
200
|
+
else if (msg.type === 'tool_progress') {
|
|
201
|
+
// Tool is being executed - this is normal, just continue
|
|
202
|
+
if (this.args.verbose) {
|
|
203
|
+
const toolMsg = msg;
|
|
204
|
+
console.log(`[Tool Progress] ${toolMsg.tool_name}: ${toolMsg.elapsed_time_seconds}s`);
|
|
205
|
+
}
|
|
186
206
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
207
|
+
// Log other message types - always log to help debug issues
|
|
208
|
+
else {
|
|
209
|
+
// Unknown message type - log it to help debug
|
|
210
|
+
if (this.args.verbose) {
|
|
211
|
+
console.error(`[DEBUG] Received unknown message type: ${msg.type}`);
|
|
212
|
+
console.error(`[DEBUG] Message content:`, JSON.stringify(msg, null, 2));
|
|
213
|
+
}
|
|
194
214
|
}
|
|
195
215
|
}
|
|
196
216
|
}
|
|
217
|
+
finally {
|
|
218
|
+
// Always stop the cursor when done, even if there's an error
|
|
219
|
+
if (cursor)
|
|
220
|
+
cursor.stop();
|
|
221
|
+
}
|
|
197
222
|
// Debug: log total messages processed
|
|
198
223
|
if (this.args.verbose) {
|
|
199
224
|
console.error(`[DEBUG] Total messages processed: ${messageCount}`);
|
|
@@ -223,6 +248,15 @@ class AgentActions {
|
|
|
223
248
|
}
|
|
224
249
|
}
|
|
225
250
|
catch (error) {
|
|
251
|
+
// Ensure cursor is stopped on error
|
|
252
|
+
if (cursor) {
|
|
253
|
+
try {
|
|
254
|
+
cursor.stop();
|
|
255
|
+
}
|
|
256
|
+
catch {
|
|
257
|
+
// Ignore if cursor cleanup fails
|
|
258
|
+
}
|
|
259
|
+
}
|
|
226
260
|
console.error('Error during query:', error);
|
|
227
261
|
throw error;
|
|
228
262
|
}
|
|
@@ -236,27 +270,67 @@ class AgentActions {
|
|
|
236
270
|
async codeReviewerWithOptions(userPrompt) {
|
|
237
271
|
const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment);
|
|
238
272
|
const options = agentOptions.getCodeReviewerOptions(this.args.role);
|
|
273
|
+
// Declare cursor outside try block so it's accessible in catch
|
|
274
|
+
let cursor = null;
|
|
239
275
|
try {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
276
|
+
// Start blinking cursor to show we're waiting for Claude's response
|
|
277
|
+
cursor = new blinking_cursor_1.BlinkingCursor();
|
|
278
|
+
cursor.start();
|
|
279
|
+
try {
|
|
280
|
+
for await (const message of (0, claude_agent_sdk_1.query)({ prompt: userPrompt, options })) {
|
|
281
|
+
if (message.type === 'stream_event') {
|
|
282
|
+
// Stop cursor when we receive stream events
|
|
283
|
+
if (cursor)
|
|
284
|
+
cursor.stop();
|
|
285
|
+
const streamMsg = message;
|
|
286
|
+
// Handle content block deltas (streaming text)
|
|
287
|
+
if (streamMsg.event?.type === 'content_block_delta' && streamMsg.event.delta?.type === 'text_delta') {
|
|
288
|
+
const deltaText = streamMsg.event.delta.text || '';
|
|
289
|
+
if (deltaText) {
|
|
290
|
+
process.stdout.write(deltaText);
|
|
247
291
|
}
|
|
248
292
|
}
|
|
249
293
|
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
294
|
+
else if (message.type === 'assistant') {
|
|
295
|
+
// Stop cursor when we receive assistant message
|
|
296
|
+
if (cursor)
|
|
297
|
+
cursor.stop();
|
|
298
|
+
const assistantMsg = message;
|
|
299
|
+
if (assistantMsg.message.content) {
|
|
300
|
+
for (const block of assistantMsg.message.content) {
|
|
301
|
+
if (block.type === 'text') {
|
|
302
|
+
console.log(`Claude: ${block.text}`);
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
else if (message.type === 'result') {
|
|
308
|
+
// Stop cursor when we receive result (in case no content was received)
|
|
309
|
+
if (cursor)
|
|
310
|
+
cursor.stop();
|
|
311
|
+
const resultMsg = message;
|
|
312
|
+
if (resultMsg.total_cost_usd && resultMsg.total_cost_usd > 0) {
|
|
313
|
+
console.log(`\nCost: $${resultMsg.total_cost_usd.toFixed(4)}`);
|
|
314
|
+
}
|
|
255
315
|
}
|
|
256
316
|
}
|
|
257
317
|
}
|
|
318
|
+
finally {
|
|
319
|
+
// Always stop the cursor when done, even if there's an error
|
|
320
|
+
if (cursor)
|
|
321
|
+
cursor.stop();
|
|
322
|
+
}
|
|
258
323
|
}
|
|
259
324
|
catch (error) {
|
|
325
|
+
// Ensure cursor is stopped on error
|
|
326
|
+
if (cursor) {
|
|
327
|
+
try {
|
|
328
|
+
cursor.stop();
|
|
329
|
+
}
|
|
330
|
+
catch {
|
|
331
|
+
// Ignore if cursor cleanup fails
|
|
332
|
+
}
|
|
333
|
+
}
|
|
260
334
|
console.error('Error during code review:', error);
|
|
261
335
|
throw error;
|
|
262
336
|
}
|
|
@@ -269,27 +343,67 @@ class AgentActions {
|
|
|
269
343
|
async threatModelerAgentWithOptions(userPrompt) {
|
|
270
344
|
const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment);
|
|
271
345
|
const options = agentOptions.getThreatModelerOptions(this.args.role);
|
|
346
|
+
// Declare cursor outside try block so it's accessible in catch
|
|
347
|
+
let cursor = null;
|
|
272
348
|
try {
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
349
|
+
// Start blinking cursor to show we're waiting for Claude's response
|
|
350
|
+
cursor = new blinking_cursor_1.BlinkingCursor();
|
|
351
|
+
cursor.start();
|
|
352
|
+
try {
|
|
353
|
+
for await (const message of (0, claude_agent_sdk_1.query)({ prompt: userPrompt, options })) {
|
|
354
|
+
if (message.type === 'stream_event') {
|
|
355
|
+
// Stop cursor when we receive stream events
|
|
356
|
+
if (cursor)
|
|
357
|
+
cursor.stop();
|
|
358
|
+
const streamMsg = message;
|
|
359
|
+
// Handle content block deltas (streaming text)
|
|
360
|
+
if (streamMsg.event?.type === 'content_block_delta' && streamMsg.event.delta?.type === 'text_delta') {
|
|
361
|
+
const deltaText = streamMsg.event.delta.text || '';
|
|
362
|
+
if (deltaText) {
|
|
363
|
+
process.stdout.write(deltaText);
|
|
280
364
|
}
|
|
281
365
|
}
|
|
282
366
|
}
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
367
|
+
else if (message.type === 'assistant') {
|
|
368
|
+
// Stop cursor when we receive assistant message
|
|
369
|
+
if (cursor)
|
|
370
|
+
cursor.stop();
|
|
371
|
+
const assistantMsg = message;
|
|
372
|
+
if (assistantMsg.message.content) {
|
|
373
|
+
for (const block of assistantMsg.message.content) {
|
|
374
|
+
if (block.type === 'text') {
|
|
375
|
+
console.log(`Claude: ${block.text}`);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
else if (message.type === 'result') {
|
|
381
|
+
// Stop cursor when we receive result (in case no content was received)
|
|
382
|
+
if (cursor)
|
|
383
|
+
cursor.stop();
|
|
384
|
+
const resultMsg = message;
|
|
385
|
+
if (resultMsg.total_cost_usd && resultMsg.total_cost_usd > 0) {
|
|
386
|
+
console.log(`\nCost: $${resultMsg.total_cost_usd.toFixed(4)}`);
|
|
387
|
+
}
|
|
288
388
|
}
|
|
289
389
|
}
|
|
290
390
|
}
|
|
391
|
+
finally {
|
|
392
|
+
// Always stop the cursor when done, even if there's an error
|
|
393
|
+
if (cursor)
|
|
394
|
+
cursor.stop();
|
|
395
|
+
}
|
|
291
396
|
}
|
|
292
397
|
catch (error) {
|
|
398
|
+
// Ensure cursor is stopped on error
|
|
399
|
+
if (cursor) {
|
|
400
|
+
try {
|
|
401
|
+
cursor.stop();
|
|
402
|
+
}
|
|
403
|
+
catch {
|
|
404
|
+
// Ignore if cursor cleanup fails
|
|
405
|
+
}
|
|
406
|
+
}
|
|
293
407
|
console.error('Error during threat modeling:', error);
|
|
294
408
|
throw error;
|
|
295
409
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent_actions.js","sourceRoot":"","sources":["../src/agent_actions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent_actions.js","sourceRoot":"","sources":["../src/agent_actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Blinking cursor utility for showing processing status
|
|
3
|
+
*
|
|
4
|
+
* Author: Sam Li
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Blinking cursor utility for showing processing status
|
|
8
|
+
* Displays a blinking indicator while waiting for responses
|
|
9
|
+
*/
|
|
10
|
+
export declare class BlinkingCursor {
|
|
11
|
+
private intervalId;
|
|
12
|
+
private isVisible;
|
|
13
|
+
private readonly cursorChar;
|
|
14
|
+
private readonly blinkInterval;
|
|
15
|
+
/**
|
|
16
|
+
* Start the blinking cursor animation
|
|
17
|
+
* Only works in TTY (terminal) environments
|
|
18
|
+
*/
|
|
19
|
+
start(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Stop the blinking cursor animation and restore normal cursor
|
|
22
|
+
*/
|
|
23
|
+
stop(): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=blinking_cursor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blinking_cursor.d.ts","sourceRoot":"","sources":["../src/blinking_cursor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAO;IAErC;;;OAGG;IACH,KAAK,IAAI,IAAI;IAoBb;;OAEG;IACH,IAAI,IAAI,IAAI;CAYb"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Blinking cursor utility for showing processing status
|
|
4
|
+
*
|
|
5
|
+
* Author: Sam Li
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.BlinkingCursor = void 0;
|
|
9
|
+
/**
|
|
10
|
+
* Blinking cursor utility for showing processing status
|
|
11
|
+
* Displays a blinking indicator while waiting for responses
|
|
12
|
+
*/
|
|
13
|
+
class BlinkingCursor {
|
|
14
|
+
intervalId = null;
|
|
15
|
+
isVisible = true;
|
|
16
|
+
cursorChar = '▋';
|
|
17
|
+
blinkInterval = 500; // milliseconds
|
|
18
|
+
/**
|
|
19
|
+
* Start the blinking cursor animation
|
|
20
|
+
* Only works in TTY (terminal) environments
|
|
21
|
+
*/
|
|
22
|
+
start() {
|
|
23
|
+
// Only start if stdout is a TTY (terminal)
|
|
24
|
+
if (!process.stdout.isTTY) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
// Hide cursor initially
|
|
28
|
+
process.stdout.write('\x1b[?25l'); // Hide cursor
|
|
29
|
+
this.intervalId = setInterval(() => {
|
|
30
|
+
if (this.isVisible) {
|
|
31
|
+
process.stdout.write(`\r${this.cursorChar} Thinking...`);
|
|
32
|
+
this.isVisible = false;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
process.stdout.write(`\r Thinking...`);
|
|
36
|
+
this.isVisible = true;
|
|
37
|
+
}
|
|
38
|
+
}, this.blinkInterval);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Stop the blinking cursor animation and restore normal cursor
|
|
42
|
+
*/
|
|
43
|
+
stop() {
|
|
44
|
+
if (this.intervalId) {
|
|
45
|
+
clearInterval(this.intervalId);
|
|
46
|
+
this.intervalId = null;
|
|
47
|
+
}
|
|
48
|
+
// Clear the line and restore cursor
|
|
49
|
+
if (process.stdout.isTTY) {
|
|
50
|
+
process.stdout.write('\r\x1b[K'); // Clear line
|
|
51
|
+
process.stdout.write('\x1b[?25h'); // Show cursor
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.BlinkingCursor = BlinkingCursor;
|
|
56
|
+
//# sourceMappingURL=blinking_cursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blinking_cursor.js","sourceRoot":"","sources":["../src/blinking_cursor.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;GAGG;AACH,MAAa,cAAc;IACjB,UAAU,GAA0B,IAAI,CAAC;IACzC,SAAS,GAAY,IAAI,CAAC;IACjB,UAAU,GAAG,GAAG,CAAC;IACjB,aAAa,GAAG,GAAG,CAAC,CAAC,eAAe;IAErD;;;OAGG;IACH,KAAK;QACH,2CAA2C;QAC3C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;QAEjD,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,UAAU,cAAc,CAAC,CAAC;gBACzD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACxC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACxB,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,oCAAoC;QACpC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa;YAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc;QACnD,CAAC;IACH,CAAC;CACF;AA7CD,wCA6CC"}
|
package/dist/main.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAgB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG1D,wBAAsB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAgB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG1D,wBAAsB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAwKxE"}
|
package/dist/main.js
CHANGED
|
@@ -54,12 +54,14 @@ async function main(confDict, args) {
|
|
|
54
54
|
if (args.src_dir) {
|
|
55
55
|
// Validate source directory path
|
|
56
56
|
if (!(0, utils_1.validateDirectoryPath)(args.src_dir, true)) {
|
|
57
|
-
|
|
57
|
+
const safePath = (0, utils_1.sanitizePathForError)(args.src_dir);
|
|
58
|
+
console.error(`Error: Invalid source directory path: ${safePath}`);
|
|
58
59
|
console.error('Source directory path must be valid and cannot contain directory traversal sequences.');
|
|
59
60
|
process.exit(1);
|
|
60
61
|
}
|
|
61
62
|
tmpSrcDir = (0, utils_1.copyProjectSrcDir)(currentWorkingDir, args.src_dir);
|
|
62
|
-
|
|
63
|
+
const safeTmpPath = (0, utils_1.sanitizePathForError)(tmpSrcDir);
|
|
64
|
+
console.log(`Source code directory copied to: ${safeTmpPath}`);
|
|
63
65
|
console.log('The agent can search files within this directory to answer your questions.\n');
|
|
64
66
|
}
|
|
65
67
|
const readline = require('readline');
|
|
@@ -97,10 +99,13 @@ async function main(confDict, args) {
|
|
|
97
99
|
if (tmpSrcDir && fs.existsSync(tmpSrcDir)) {
|
|
98
100
|
try {
|
|
99
101
|
fs.removeSync(tmpSrcDir);
|
|
100
|
-
|
|
102
|
+
const safePath = (0, utils_1.sanitizePathForError)(tmpSrcDir);
|
|
103
|
+
console.log(`Cleaned up temporary directory: ${safePath}`);
|
|
101
104
|
}
|
|
102
105
|
catch (error) {
|
|
103
|
-
|
|
106
|
+
const safePath = (0, utils_1.sanitizePathForError)(tmpSrcDir);
|
|
107
|
+
const errorMessage = error?.message || 'Unknown error';
|
|
108
|
+
console.warn(`Warning: Could not clean up temporary directory ${safePath}: ${errorMessage}`);
|
|
104
109
|
}
|
|
105
110
|
}
|
|
106
111
|
}
|
|
@@ -109,7 +114,8 @@ async function main(confDict, args) {
|
|
|
109
114
|
// Validate output file path
|
|
110
115
|
const validatedOutputFile = (0, utils_1.validateOutputFilePath)(args.output_file || 'code_review_report.md', currentWorkingDir);
|
|
111
116
|
if (!validatedOutputFile) {
|
|
112
|
-
|
|
117
|
+
const safePath = (0, utils_1.sanitizePathForError)(args.output_file || 'code_review_report.md');
|
|
118
|
+
console.error(`Error: Invalid output file path: ${safePath}`);
|
|
113
119
|
console.error('Output file path must be relative to the current working directory and cannot contain directory traversal sequences.');
|
|
114
120
|
process.exit(1);
|
|
115
121
|
}
|
|
@@ -118,7 +124,8 @@ async function main(confDict, args) {
|
|
|
118
124
|
if (args.src_dir) {
|
|
119
125
|
// Validate source directory path
|
|
120
126
|
if (!(0, utils_1.validateDirectoryPath)(args.src_dir, true)) {
|
|
121
|
-
|
|
127
|
+
const safePath = (0, utils_1.sanitizePathForError)(args.src_dir);
|
|
128
|
+
console.error(`Error: Invalid source directory path: ${safePath}`);
|
|
122
129
|
console.error('Source directory path must be valid and cannot contain directory traversal sequences.');
|
|
123
130
|
process.exit(1);
|
|
124
131
|
}
|
|
@@ -135,7 +142,9 @@ async function main(confDict, args) {
|
|
|
135
142
|
fs.removeSync(tmpSrcDir);
|
|
136
143
|
}
|
|
137
144
|
catch (error) {
|
|
138
|
-
|
|
145
|
+
const safePath = (0, utils_1.sanitizePathForError)(tmpSrcDir);
|
|
146
|
+
const errorMessage = error?.message || 'Unknown error';
|
|
147
|
+
console.warn(`Warning: Could not clean up temporary directory ${safePath}: ${errorMessage}`);
|
|
139
148
|
}
|
|
140
149
|
}
|
|
141
150
|
}
|
|
@@ -144,7 +153,8 @@ async function main(confDict, args) {
|
|
|
144
153
|
// Validate output file path
|
|
145
154
|
const validatedOutputFile = (0, utils_1.validateOutputFilePath)(args.output_file || 'threat_model_report.md', currentWorkingDir);
|
|
146
155
|
if (!validatedOutputFile) {
|
|
147
|
-
|
|
156
|
+
const safePath = (0, utils_1.sanitizePathForError)(args.output_file || 'threat_model_report.md');
|
|
157
|
+
console.error(`Error: Invalid output file path: ${safePath}`);
|
|
148
158
|
console.error('Output file path must be relative to the current working directory and cannot contain directory traversal sequences.');
|
|
149
159
|
process.exit(1);
|
|
150
160
|
}
|
|
@@ -154,7 +164,8 @@ async function main(confDict, args) {
|
|
|
154
164
|
if (args.src_dir) {
|
|
155
165
|
// Validate source directory path
|
|
156
166
|
if (!(0, utils_1.validateDirectoryPath)(args.src_dir, true)) {
|
|
157
|
-
|
|
167
|
+
const safePath = (0, utils_1.sanitizePathForError)(args.src_dir);
|
|
168
|
+
console.error(`Error: Invalid source directory path: ${safePath}`);
|
|
158
169
|
console.error('Source directory path must be valid and cannot contain directory traversal sequences.');
|
|
159
170
|
process.exit(1);
|
|
160
171
|
}
|
|
@@ -171,7 +182,9 @@ async function main(confDict, args) {
|
|
|
171
182
|
fs.removeSync(tmpSrcDir);
|
|
172
183
|
}
|
|
173
184
|
catch (error) {
|
|
174
|
-
|
|
185
|
+
const safePath = (0, utils_1.sanitizePathForError)(tmpSrcDir);
|
|
186
|
+
const errorMessage = error?.message || 'Unknown error';
|
|
187
|
+
console.warn(`Warning: Could not clean up temporary directory ${safePath}: ${errorMessage}`);
|
|
175
188
|
}
|
|
176
189
|
}
|
|
177
190
|
}
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMH,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -9,6 +9,14 @@ export interface ConfigDict {
|
|
|
9
9
|
/**
|
|
10
10
|
* Security utility functions
|
|
11
11
|
*/
|
|
12
|
+
/**
|
|
13
|
+
* Sanitize file path for error messages to prevent information disclosure
|
|
14
|
+
* Returns only the filename or a sanitized version of the path
|
|
15
|
+
* @param filePath The full file path to sanitize
|
|
16
|
+
* @param verbose If true, shows more path information (for debug mode)
|
|
17
|
+
* @returns Sanitized path string safe for error messages
|
|
18
|
+
*/
|
|
19
|
+
export declare function sanitizePathForError(filePath: string, verbose?: boolean): string;
|
|
12
20
|
/**
|
|
13
21
|
* Validate that a path is safe and doesn't contain directory traversal sequences
|
|
14
22
|
* @param filePath The path to validate
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AAEH;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe,GAAG,OAAO,CAuBpF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,GAAE,OAAc,GAC5B,MAAM,GAAG,IAAI,CA0Cf;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,OAAO,CAwBzF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiCvF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMpD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMhD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED;;GAEG;AAEH;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,MAAM,CAwBvF;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,GAAE,OAAe,GAAG,OAAO,CAuBpF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,aAAa,GAAE,OAAc,GAC5B,MAAM,GAAG,IAAI,CA0Cf;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,OAAc,GAAG,OAAO,CAwBzF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiCvF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMpD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAMhD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBjD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAU5C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAQ/D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAwClD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAsED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,UAAU,GAAG,IAAI,CAqDtF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQhD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiGnF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAUzE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC"}
|
package/dist/utils.js
CHANGED
|
@@ -38,6 +38,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
38
38
|
};
|
|
39
39
|
})();
|
|
40
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.sanitizePathForError = sanitizePathForError;
|
|
41
42
|
exports.isSafePath = isSafePath;
|
|
42
43
|
exports.validateAndSanitizePath = validateAndSanitizePath;
|
|
43
44
|
exports.validateDirectoryPath = validateDirectoryPath;
|
|
@@ -62,6 +63,37 @@ const child_process_1 = require("child_process");
|
|
|
62
63
|
/**
|
|
63
64
|
* Security utility functions
|
|
64
65
|
*/
|
|
66
|
+
/**
|
|
67
|
+
* Sanitize file path for error messages to prevent information disclosure
|
|
68
|
+
* Returns only the filename or a sanitized version of the path
|
|
69
|
+
* @param filePath The full file path to sanitize
|
|
70
|
+
* @param verbose If true, shows more path information (for debug mode)
|
|
71
|
+
* @returns Sanitized path string safe for error messages
|
|
72
|
+
*/
|
|
73
|
+
function sanitizePathForError(filePath, verbose = false) {
|
|
74
|
+
if (!filePath || typeof filePath !== 'string') {
|
|
75
|
+
return '[invalid path]';
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
// In verbose mode, show relative path from home directory if possible
|
|
79
|
+
if (verbose) {
|
|
80
|
+
const homeDir = process.env.HOME || process.env.USERPROFILE || '';
|
|
81
|
+
if (homeDir && filePath.startsWith(homeDir)) {
|
|
82
|
+
return '~' + filePath.slice(homeDir.length);
|
|
83
|
+
}
|
|
84
|
+
// Show last 2 path segments for context
|
|
85
|
+
const parts = filePath.split(path.sep).filter(p => p);
|
|
86
|
+
if (parts.length > 2) {
|
|
87
|
+
return '...' + path.sep + parts.slice(-2).join(path.sep);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Default: show only basename
|
|
91
|
+
return path.basename(filePath) || '[unknown file]';
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
return '[invalid path]';
|
|
95
|
+
}
|
|
96
|
+
}
|
|
65
97
|
/**
|
|
66
98
|
* Validate that a path is safe and doesn't contain directory traversal sequences
|
|
67
99
|
* @param filePath The path to validate
|
|
@@ -235,7 +267,9 @@ function fileToList(file) {
|
|
|
235
267
|
}
|
|
236
268
|
}
|
|
237
269
|
catch (error) {
|
|
238
|
-
|
|
270
|
+
const safePath = sanitizePathForError(file);
|
|
271
|
+
const errorMessage = error?.message || 'Unknown error';
|
|
272
|
+
console.error(`Error reading file ${safePath}: ${errorMessage}`);
|
|
239
273
|
}
|
|
240
274
|
return myList;
|
|
241
275
|
}
|
|
@@ -261,7 +295,9 @@ function fileToJson(file) {
|
|
|
261
295
|
return JSON.parse(content);
|
|
262
296
|
}
|
|
263
297
|
catch (error) {
|
|
264
|
-
|
|
298
|
+
const safePath = sanitizePathForError(file);
|
|
299
|
+
const errorMessage = error?.message || 'Unknown error';
|
|
300
|
+
console.error(`Error reading JSON file ${safePath}: ${errorMessage}`);
|
|
265
301
|
return {};
|
|
266
302
|
}
|
|
267
303
|
}
|
|
@@ -393,14 +429,34 @@ function expandMergeKeys(obj) {
|
|
|
393
429
|
return expanded;
|
|
394
430
|
}
|
|
395
431
|
function loadYaml(confFile, verbose = false) {
|
|
396
|
-
|
|
432
|
+
const safePath = sanitizePathForError(confFile, verbose);
|
|
433
|
+
console.log(`Loading yaml configuration file: ${safePath}`);
|
|
397
434
|
if (!isFile(confFile)) {
|
|
398
|
-
console.error(`Error file not exist: ${
|
|
435
|
+
console.error(`Error: Configuration file does not exist: ${safePath}`);
|
|
436
|
+
if (verbose) {
|
|
437
|
+
console.error(`Full path: ${confFile}`);
|
|
438
|
+
}
|
|
399
439
|
return null;
|
|
400
440
|
}
|
|
401
441
|
try {
|
|
402
442
|
const content = fs.readFileSync(confFile, 'utf-8');
|
|
403
|
-
|
|
443
|
+
// SECURITY: Use safe YAML parsing to prevent code execution
|
|
444
|
+
// Parse with 'core' schema to disable unsafe features like custom tags
|
|
445
|
+
// that could lead to code execution or object injection
|
|
446
|
+
let parsed;
|
|
447
|
+
try {
|
|
448
|
+
// Try parsing with safe schema first
|
|
449
|
+
parsed = yaml.parse(content, { schema: 'core' });
|
|
450
|
+
}
|
|
451
|
+
catch (schemaError) {
|
|
452
|
+
// If core schema fails, try default but validate structure
|
|
453
|
+
// This allows YAML merge keys and anchors while still being safer
|
|
454
|
+
parsed = yaml.parse(content);
|
|
455
|
+
// Validate that parsed result is a plain object/array (not a function or other dangerous type)
|
|
456
|
+
if (typeof parsed === 'function' || (typeof parsed === 'object' && parsed !== null && parsed.constructor !== Object && !Array.isArray(parsed))) {
|
|
457
|
+
throw new Error('Invalid YAML structure: contains unsafe object types');
|
|
458
|
+
}
|
|
459
|
+
}
|
|
404
460
|
// Expand YAML merge keys first
|
|
405
461
|
const withMerges = expandMergeKeys(parsed);
|
|
406
462
|
// Process environment variable references
|
|
@@ -411,7 +467,12 @@ function loadYaml(confFile, verbose = false) {
|
|
|
411
467
|
return processed;
|
|
412
468
|
}
|
|
413
469
|
catch (error) {
|
|
414
|
-
|
|
470
|
+
const errorMessage = error?.message || 'Unknown error';
|
|
471
|
+
console.error(`Error loading YAML file ${safePath}: ${errorMessage}`);
|
|
472
|
+
if (verbose) {
|
|
473
|
+
console.error(`Full error details:`, error);
|
|
474
|
+
console.error(`Full path: ${confFile}`);
|
|
475
|
+
}
|
|
415
476
|
return null;
|
|
416
477
|
}
|
|
417
478
|
}
|
|
@@ -440,7 +501,8 @@ function copyProjectSrcDir(currentWorkingDir, srcDir) {
|
|
|
440
501
|
}
|
|
441
502
|
// Check for null bytes and control characters
|
|
442
503
|
if (/\0/.test(srcDir) || /[\x00-\x1f]/.test(srcDir)) {
|
|
443
|
-
|
|
504
|
+
const safePath = sanitizePathForError(srcDir);
|
|
505
|
+
console.error(`Error: Source directory path contains invalid or dangerous characters: ${safePath}`);
|
|
444
506
|
process.exit(1);
|
|
445
507
|
}
|
|
446
508
|
// Resolve the path to an absolute path (handles relative paths with ..)
|
|
@@ -449,30 +511,37 @@ function copyProjectSrcDir(currentWorkingDir, srcDir) {
|
|
|
449
511
|
sanitizedSrcDir = path.resolve(srcDir);
|
|
450
512
|
}
|
|
451
513
|
catch (error) {
|
|
452
|
-
|
|
514
|
+
const safePath = sanitizePathForError(srcDir);
|
|
515
|
+
const errorMessage = error?.message || 'Invalid path';
|
|
516
|
+
console.error(`Error: Invalid source directory path: ${safePath} (${errorMessage})`);
|
|
453
517
|
process.exit(1);
|
|
454
518
|
}
|
|
455
519
|
// Check if source directory exists
|
|
456
520
|
if (!fs.existsSync(sanitizedSrcDir)) {
|
|
457
|
-
|
|
521
|
+
const safePath = sanitizePathForError(sanitizedSrcDir);
|
|
522
|
+
console.error(`Error: Source directory does not exist: ${safePath}`);
|
|
458
523
|
process.exit(1);
|
|
459
524
|
}
|
|
460
525
|
// Verify it's actually a directory
|
|
461
526
|
try {
|
|
462
527
|
const stats = fs.statSync(sanitizedSrcDir);
|
|
463
528
|
if (!stats.isDirectory()) {
|
|
464
|
-
|
|
529
|
+
const safePath = sanitizePathForError(sanitizedSrcDir);
|
|
530
|
+
console.error(`Error: Source path is not a directory: ${safePath}`);
|
|
465
531
|
process.exit(1);
|
|
466
532
|
}
|
|
467
533
|
}
|
|
468
534
|
catch (error) {
|
|
469
|
-
|
|
535
|
+
const safePath = sanitizePathForError(sanitizedSrcDir);
|
|
536
|
+
const errorMessage = error?.message || 'Access denied';
|
|
537
|
+
console.error(`Error: Cannot access source directory ${safePath}: ${errorMessage}`);
|
|
470
538
|
process.exit(1);
|
|
471
539
|
}
|
|
472
540
|
// Validate current working directory
|
|
473
541
|
const sanitizedCwd = path.resolve(currentWorkingDir);
|
|
474
542
|
if (!fs.existsSync(sanitizedCwd)) {
|
|
475
|
-
|
|
543
|
+
const safePath = sanitizePathForError(sanitizedCwd);
|
|
544
|
+
console.error(`Error: Current working directory does not exist: ${safePath}`);
|
|
476
545
|
process.exit(1);
|
|
477
546
|
}
|
|
478
547
|
// Create safe temporary directory name
|
|
@@ -496,16 +565,21 @@ function copyProjectSrcDir(currentWorkingDir, srcDir) {
|
|
|
496
565
|
fs.removeSync(tmpSrcDirResolved);
|
|
497
566
|
}
|
|
498
567
|
catch (error) {
|
|
499
|
-
|
|
568
|
+
const safePath = sanitizePathForError(tmpSrcDirResolved);
|
|
569
|
+
const errorMessage = error?.message || 'Unknown error';
|
|
570
|
+
console.error(`Error: Cannot remove existing temporary directory ${safePath}: ${errorMessage}`);
|
|
500
571
|
process.exit(1);
|
|
501
572
|
}
|
|
502
573
|
}
|
|
503
|
-
|
|
574
|
+
const safeSrcPath = sanitizePathForError(sanitizedSrcDir);
|
|
575
|
+
const safeTmpPath = sanitizePathForError(tmpSrcDirResolved);
|
|
576
|
+
console.log(`Copying project source code directory from ${safeSrcPath} to ${safeTmpPath}`);
|
|
504
577
|
try {
|
|
505
578
|
fs.copySync(sanitizedSrcDir, tmpSrcDirResolved);
|
|
506
579
|
}
|
|
507
580
|
catch (error) {
|
|
508
|
-
|
|
581
|
+
const errorMessage = error?.message || 'Unknown error';
|
|
582
|
+
console.error(`Error: Failed to copy directory: ${errorMessage}`);
|
|
509
583
|
process.exit(1);
|
|
510
584
|
}
|
|
511
585
|
return tmpSrcDirResolved;
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|