appsec-agent 0.3.3 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -114,6 +114,7 @@ A specialized agent for automated code analysis that can:
114
114
  - Analyze entire project directories
115
115
  - Use advanced tools: Read, Grep, and Write capabilities
116
116
  - Accept deployment context via `-c/--context` for environment-specific analysis
117
+ - **PR-focused review mode** via `-d/--diff-context` for optimized token usage
117
118
 
118
119
  ### Threat Modeler (`threat_modeler`)
119
120
  A specialized agent for comprehensive threat modeling that can:
@@ -164,6 +165,57 @@ The `-c/--context` option provides deployment and environment information that h
164
165
  - Prioritize findings based on actual threat landscape
165
166
  - Recommend best practices appropriate for the stated architecture
166
167
 
168
+ ### PR-Focused Code Review (Diff Context Mode)
169
+
170
+ For Pull Request reviews, use the `-d/--diff-context` option to provide a JSON file containing only the changed code. This significantly reduces token usage by focusing the review on actual changes rather than the entire codebase.
171
+
172
+ ```bash
173
+ # Review a PR using diff context
174
+ $ npx agent-run -r code_reviewer -d pr-diff.json
175
+
176
+ # Combine with source directory for full file access when needed
177
+ $ npx agent-run -r code_reviewer -d pr-diff.json -s ./src
178
+
179
+ # With additional deployment context
180
+ $ npx agent-run -r code_reviewer -d pr-diff.json -c "Production API, handles PII"
181
+ ```
182
+
183
+ The diff context JSON file should follow this structure:
184
+
185
+ ```json
186
+ {
187
+ "prNumber": 123,
188
+ "baseBranch": "main",
189
+ "headBranch": "feature/auth",
190
+ "headSha": "abc123def456",
191
+ "owner": "your-org",
192
+ "repo": "your-repo",
193
+ "files": [
194
+ {
195
+ "filePath": "src/auth/login.ts",
196
+ "language": "typescript",
197
+ "fileType": "modified",
198
+ "imports": "import bcrypt from 'bcrypt';",
199
+ "hunks": [
200
+ {
201
+ "startLine": 42,
202
+ "endLine": 55,
203
+ "beforeContext": "// Previous context",
204
+ "changedCode": "+const password = req.body.password;",
205
+ "afterContext": "// Following context",
206
+ "containingFunction": "async function login(req, res)"
207
+ }
208
+ ]
209
+ }
210
+ ],
211
+ "totalFilesChanged": 1,
212
+ "totalLinesAdded": 10,
213
+ "totalLinesRemoved": 5
214
+ }
215
+ ```
216
+
217
+ **Note:** If `--diff-context` is provided without the `code_reviewer` role, a warning will be displayed as the option is only applicable to code reviews.
218
+
167
219
  ### Threat Modeler Example
168
220
  ```bash
169
221
  # Run threat modeler on current directory
@@ -292,6 +344,18 @@ appsec-agent/
292
344
  - `getSimpleQueryAgentOptions()`: Gets options for simple query agent
293
345
  - `getCodeReviewerOptions()`: Gets options for code reviewer
294
346
  - `getThreatModelerOptions()`: Gets options for threat modeler
347
+ - `getDiffReviewerOptions()`: Gets options for PR diff-focused code reviewer
348
+
349
+ #### Diff Context Functions
350
+
351
+ - `validateDiffContext(data)`: Validates diff context JSON structure with comprehensive field validation
352
+ - `formatDiffContextForPrompt(context)`: Formats diff context into a prompt for AI analysis
353
+
354
+ #### Path Validation Functions
355
+
356
+ - `validateInputFilePath(filePath, baseDir)`: Validates input file paths for security concerns
357
+ - `validateOutputFilePath(filePath, baseDir)`: Validates output file paths to prevent directory traversal
358
+ - `isSafePath(filePath, allowAbsolute)`: Checks if a path is safe from traversal attacks
295
359
 
296
360
  ## 🛠 Development
297
361
 
@@ -374,8 +438,9 @@ $ npm test -- concurrency.test.ts
374
438
  ### Test Results
375
439
 
376
440
  All tests pass including:
377
- - ✅ 120 total tests
441
+ - ✅ 187 total tests
378
442
  - ✅ 11 concurrency tests
443
+ - ✅ 51 diff context validation tests
379
444
  - ✅ Full coverage of core functionality
380
445
 
381
446
  ## 📚 References
@@ -58,6 +58,7 @@ program
58
58
  .option('-k, --anthropic-api-key <key>', 'Anthropic API key (overrides ANTHROPIC_API_KEY environment variable)')
59
59
  .option('-u, --anthropic-base-url <url>', 'Anthropic API base URL (overrides ANTHROPIC_BASE_URL environment variable)')
60
60
  .option('-c, --context <context>', 'Additional context for the code review (e.g., deployment environment, architecture, compliance requirements)')
61
+ .option('-d, --diff-context <file>', 'JSON file with diff context for PR-focused code review (optimizes token usage)')
61
62
  .option('-l, --list_roles', 'List all available roles')
62
63
  .option('-v, --version', 'Program version')
63
64
  .option('-V, --verbose', 'Verbose mode');
@@ -103,12 +104,22 @@ const args = {
103
104
  output_file: options.output_file,
104
105
  output_format: options.output_format,
105
106
  verbose: options.verbose,
106
- context: options.context
107
+ context: options.context,
108
+ diff_context: options.diffContext
107
109
  };
108
110
  // Log context if provided
109
111
  if (args.context) {
110
112
  console.log('Using context:', args.context.substring(0, 50) + (args.context.length > 50 ? '...' : ''));
111
113
  }
114
+ // Log diff context if provided and validate role compatibility
115
+ if (args.diff_context) {
116
+ console.log('Using diff context file:', args.diff_context);
117
+ if (args.role !== 'code_reviewer') {
118
+ console.warn('⚠️ Warning: --diff-context is only used with the code_reviewer role.');
119
+ console.warn(` Current role: ${args.role}. The diff context will be ignored.`);
120
+ console.warn(' Use -r code_reviewer to enable PR diff-focused code review.\n');
121
+ }
122
+ }
112
123
  // Run main function
113
124
  main(confDict, args).catch((error) => {
114
125
  console.error('Error running agent:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"agent-run.js","sourceRoot":"","sources":["../../bin/agent-run.ts"],"names":[],"mappings":";;AACA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,2CAA6B;AAC7B,yCAAoC;AAEpC,yCAAyC;AACzC,0FAA0F;AAC1F,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC;AAChH,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;AAE9D,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,uCAAuC,CAAC;KACpD,MAAM,CAAC,mBAAmB,EAAE,gFAAgF,CAAC;KAC7G,MAAM,CAAC,yBAAyB,EAAE,wDAAwD,EAAE,aAAa,CAAC;KAC1G,MAAM,CAAC,mBAAmB,EAAE,0GAA0G,EAAE,oBAAoB,CAAC;KAC7J,MAAM,CAAC,qBAAqB,EAAE,wEAAwE,CAAC;KACvG,MAAM,CAAC,0BAA0B,EAAE,gFAAgF,CAAC;KACpH,MAAM,CAAC,8BAA8B,EAAE,uEAAuE,EAAE,UAAU,CAAC;KAC3H,MAAM,CAAC,+BAA+B,EAAE,sEAAsE,CAAC;KAC/G,MAAM,CAAC,gCAAgC,EAAE,4EAA4E,CAAC;KACtH,MAAM,CAAC,yBAAyB,EAAE,8GAA8G,CAAC;KACjJ,MAAM,CAAC,kBAAkB,EAAE,0BAA0B,CAAC;KACtD,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAC1C,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;AAE3C,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;AAE/B,sBAAsB;AACtB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IACpB,gBAAgB,EAAE,CAAC;IACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,sCAAsC;AACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAE1F,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,QAAQ,CAAC,CAAC;AACrE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;AAErD,IAAI,CAAC,QAAQ,EAAE,CAAC;IACd,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;AAEpE,yBAAyB;AACzB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,uEAAuE;AACvE,yFAAyF;AACzF,0EAA0E;AAC1E,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAC5B,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IAClF,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC7F,OAAO,CAAC,IAAI,CAAC,mFAAmF,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC;AAC1D,CAAC;AACD,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAC7B,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC;AAC5D,CAAC;AAED,eAAe;AACf,MAAM,IAAI,GAAG;IACX,IAAI,EAAE,OAAO,CAAC,IAAI;IAClB,WAAW,EAAE,OAAO,CAAC,WAAW;IAChC,OAAO,EAAE,OAAO,CAAC,OAAO;IACxB,WAAW,EAAE,OAAO,CAAC,WAAW;IAChC,aAAa,EAAE,OAAO,CAAC,aAAa;IACpC,OAAO,EAAE,OAAO,CAAC,OAAO;IACxB,OAAO,EAAE,OAAO,CAAC,OAAO;CACzB,CAAC;AAEF,0BAA0B;AAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACzG,CAAC;AAED,oBAAoB;AACpB,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;IAC1C,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;IAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"agent-run.js","sourceRoot":"","sources":["../../bin/agent-run.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export interface AgentArgs {
12
12
  output_format?: string;
13
13
  verbose?: boolean;
14
14
  context?: string;
15
+ diff_context?: string;
15
16
  }
16
17
  export declare class AgentActions {
17
18
  private confDict;
@@ -31,5 +32,10 @@ export declare class AgentActions {
31
32
  * Threat modeler agent with options
32
33
  */
33
34
  threatModelerAgentWithOptions(userPrompt: string): Promise<string>;
35
+ /**
36
+ * PR diff-focused code reviewer with options
37
+ * Optimized for reviewing only changed code from a pull request
38
+ */
39
+ diffReviewerWithOptions(userPrompt: string, srcDir?: string | null): Promise<string>;
34
40
  }
35
41
  //# sourceMappingURL=agent_actions.d.ts.map
@@ -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;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;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAOD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,mBAAmB,CAA2B;gBAC1C,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;IAiJ/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;CA6DzE"}
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;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAOD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,mBAAmB,CAA2B;gBAC1C,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;IAiJ/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;IA8DxE;;;OAGG;IACG,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CAgE3F"}
@@ -308,6 +308,80 @@ class AgentActions {
308
308
  console.log();
309
309
  return '';
310
310
  }
311
+ /**
312
+ * PR diff-focused code reviewer with options
313
+ * Optimized for reviewing only changed code from a pull request
314
+ */
315
+ async diffReviewerWithOptions(userPrompt, srcDir) {
316
+ const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment);
317
+ const options = agentOptions.getDiffReviewerOptions(this.args.role, srcDir);
318
+ // Declare cursor outside try block so it's accessible in catch
319
+ let cursor = null;
320
+ try {
321
+ // Start blinking cursor to show we're waiting for Claude's response
322
+ cursor = new blinking_cursor_1.BlinkingCursor();
323
+ cursor.start();
324
+ try {
325
+ for await (const message of (0, claude_agent_sdk_1.query)({ prompt: userPrompt, options })) {
326
+ if (message.type === 'stream_event') {
327
+ // Stop cursor when we receive stream events
328
+ if (cursor)
329
+ cursor.stop();
330
+ const streamMsg = message;
331
+ // Handle content block deltas (streaming text)
332
+ if (streamMsg.event?.type === 'content_block_delta' && streamMsg.event.delta?.type === 'text_delta') {
333
+ const deltaText = streamMsg.event.delta.text || '';
334
+ if (deltaText) {
335
+ process.stdout.write(deltaText);
336
+ }
337
+ }
338
+ }
339
+ else if (message.type === 'assistant') {
340
+ // Stop cursor when we receive assistant message
341
+ if (cursor)
342
+ cursor.stop();
343
+ const assistantMsg = message;
344
+ if (assistantMsg.message.content) {
345
+ for (const block of assistantMsg.message.content) {
346
+ if (block.type === 'text') {
347
+ console.log(`Claude: ${block.text}`);
348
+ }
349
+ }
350
+ }
351
+ }
352
+ else if (message.type === 'result') {
353
+ // Stop cursor when we receive result (in case no content was received)
354
+ if (cursor)
355
+ cursor.stop();
356
+ const resultMsg = message;
357
+ if (resultMsg.total_cost_usd && resultMsg.total_cost_usd > 0) {
358
+ console.log(`\nCost: $${resultMsg.total_cost_usd.toFixed(4)}`);
359
+ }
360
+ }
361
+ }
362
+ }
363
+ finally {
364
+ // Always stop the cursor when done, even if there's an error
365
+ if (cursor)
366
+ cursor.stop();
367
+ }
368
+ }
369
+ catch (error) {
370
+ // Ensure cursor is stopped on error
371
+ if (cursor) {
372
+ try {
373
+ cursor.stop();
374
+ }
375
+ catch {
376
+ // Ignore if cursor cleanup fails
377
+ }
378
+ }
379
+ console.error('Error during PR diff code review:', error);
380
+ throw error;
381
+ }
382
+ console.log();
383
+ return '';
384
+ }
311
385
  }
312
386
  exports.AgentActions = AgentActions;
313
387
  //# sourceMappingURL=agent_actions.js.map
@@ -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":";AAAA;;;;GAIG;;;AAEH,qEAA8F;AAC9F,mDAA+C;AAE/C,uDAAmD;AAkBnD,MAAa,YAAY;IACf,QAAQ,CAAa;IACrB,WAAW,CAAS;IACpB,IAAI,CAAY;IAChB,mBAAmB,GAAwB,EAAE,CAAC,CAAC,oDAAoD;IAC3G,YAAY,QAAoB,EAAE,WAAmB,EAAE,IAAe;QACpE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,4BAA4B,CAAC,UAAkB,EAAE,MAAsB;QAC3E,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,YAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEhF,sEAAsE;QACtE,MAAM,gBAAgB,GAAG,MAAM;YAC7B,CAAC,CAAC,8DAA8D,MAAM,yIAAyI;YAC/M,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,UAAkB,CAAC;QACvB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB;iBAC3C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;iBACjF,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,UAAU,GAAG,2BAA2B,aAAa,GAAG,gBAAgB,SAAS,UAAU,EAAE,CAAC;QAChG,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,GAAG,gBAAgB,GAAG,UAAU,EAAE,CAAC;QAClD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,gCAAc,EAAE,CAAC;QACpC,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,MAAM,UAAU,GAAG,GAAG,EAAE;YACtB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,EAAE,CAAC;gBACd,aAAa,GAAG,IAAI,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAC7B,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,IAAI,qBAAqB,GAAG,EAAE,CAAC;QAC/B,IAAI,WAAW,GAA4B,IAAI,CAAC;QAEhD,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC3B,gBAAgB,GAAG,IAAI,CAAC;YAC1B,CAAC;QACH,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,IAAA,wBAAK,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBAC/D,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACtB,OAAO,CAAC,KAAK,CAAC,yBAA0B,GAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9D,CAAC;gBAED,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;oBAChC,mBAAmB,GAAG,IAAI,CAAC;oBAC3B,UAAU,EAAE,CAAC;oBACb,MAAM,SAAS,GAAG,GAAU,CAAC;oBAE7B,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,KAAK,qBAAqB,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;wBACpG,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;wBACnD,IAAI,SAAS,EAAE,CAAC;4BACd,WAAW,EAAE,CAAC;4BACd,eAAe,IAAI,SAAS,CAAC;4BAC7B,qBAAqB,IAAI,SAAS,CAAC;4BACnC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;yBAAM,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,KAAK,qBAAqB,EAAE,CAAC;wBAC3D,WAAW,EAAE,CAAC;oBAChB,CAAC;yBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,KAAK,cAAc,EAAE,CAAC;wBACzE,OAAO,CAAC,KAAK,CAAC,wCAAwC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;oBACjF,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACpC,UAAU,EAAE,CAAC;oBACb,MAAM,YAAY,GAAG,GAA0B,CAAC;oBAChD,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;wBACvD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;4BACxC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC;4BAC/B,IAAI,CAAC,mBAAmB,EAAE,CAAC;gCACzB,4CAA4C;gCAC5C,WAAW,EAAE,CAAC;gCACd,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gCACzB,eAAe,GAAG,WAAW,CAAC;gCAC9B,qBAAqB,GAAG,WAAW,CAAC;4BACtC,CAAC;iCAAM,IAAI,WAAW,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;gCACvD,0CAA0C;gCAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC;oCACrD,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;oCAC3C,CAAC,CAAC,WAAW,CAAC,CAAC,0CAA0C;gCAC3D,IAAI,OAAO,EAAE,CAAC;oCACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oCAC9B,eAAe,GAAG,WAAW,CAAC;oCAC9B,qBAAqB,GAAG,WAAW,CAAC;gCACtC,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjC,UAAU,EAAE,CAAC;oBACb,WAAW,GAAG,GAAuB,CAAC;oBACtC,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAI,WAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAK,WAAmB,CAAC,aAAa,IAAI,wBAAwB,CAAC;wBACpH,OAAO,CAAC,KAAK,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC;wBACtC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;4BACxB,OAAO,CAAC,KAAK,CAAC,kBAAkB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;wBACzD,CAAC;wBACD,IAAI,WAAW,CAAC,OAAO,KAAK,iBAAiB,EAAE,CAAC;4BAC9C,OAAO,CAAC,KAAK,CAAC,uDAAuD,OAAO,CAAC,QAAQ,IAAI,CAAC,gBAAgB,CAAC,CAAC;4BAC5G,OAAO,CAAC,KAAK,CAAC,sHAAsH,CAAC,CAAC;wBACxI,CAAC;oBACH,CAAC;oBACD,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;wBACtB,OAAO,CAAC,KAAK,CAAC,6BAA6B,WAAW,CAAC,SAAS,cAAc,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACxG,CAAC;gBACH,CAAC;qBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACxC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;wBACtB,MAAM,OAAO,GAAG,GAAU,CAAC;wBAC3B,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,oBAAoB,GAAG,CAAC,CAAC;oBACxF,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC7B,OAAO,CAAC,KAAK,CAAC,iCAAkC,GAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,UAAU,EAAE,CAAC;QACf,CAAC;QAED,sBAAsB;QACtB,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAE1D,uBAAuB;QACvB,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,cAAc,IAAI,WAAW,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;gBAC1F,OAAO,CAAC,GAAG,CAAC,YAAY,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;QACrE,IAAI,qBAAqB,EAAE,CAAC;YAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,UAAkB;QAC9C,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpE,+DAA+D;QAC/D,IAAI,MAAM,GAA0B,IAAI,CAAC;QAEzC,IAAI,CAAC;YACH,oEAAoE;YACpE,MAAM,GAAG,IAAI,gCAAc,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,IAAA,wBAAK,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACnE,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACpC,4CAA4C;wBAC5C,IAAI,MAAM;4BAAE,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC1B,MAAM,SAAS,GAAG,OAAc,CAAC;wBACjC,+CAA+C;wBAC/C,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,KAAK,qBAAqB,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;4BACpG,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;4BACnD,IAAI,SAAS,EAAE,CAAC;gCACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;4BAClC,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACxC,gDAAgD;wBAChD,IAAI,MAAM;4BAAE,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC1B,MAAM,YAAY,GAAG,OAA8B,CAAC;wBACpD,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;4BACjC,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCACjD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oCAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gCACvC,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACrC,uEAAuE;wBACvE,IAAI,MAAM;4BAAE,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC1B,MAAM,SAAS,GAAG,OAA2B,CAAC;wBAC9C,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;4BAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,6DAA6D;gBAC7D,IAAI,MAAM;oBAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oCAAoC;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC;gBAAC,MAAM,CAAC;oBACP,iCAAiC;gBACnC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,6BAA6B,CAAC,UAAkB;QACpD,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,YAAY,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,+DAA+D;QAC/D,IAAI,MAAM,GAA0B,IAAI,CAAC;QACzC,IAAI,CAAC;YACH,oEAAoE;YACpE,MAAM,GAAG,IAAI,gCAAc,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,IAAA,wBAAK,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACnE,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACpC,4CAA4C;wBAC5C,IAAI,MAAM;4BAAE,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC1B,MAAM,SAAS,GAAG,OAAc,CAAC;wBACjC,+CAA+C;wBAC/C,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,KAAK,qBAAqB,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;4BACpG,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;4BACnD,IAAI,SAAS,EAAE,CAAC;gCACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;4BAClC,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACxC,gDAAgD;wBAChD,IAAI,MAAM;4BAAE,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC1B,MAAM,YAAY,GAAG,OAA8B,CAAC;wBACpD,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;4BACjC,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCACjD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oCAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gCACvC,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACrC,uEAAuE;wBACvE,IAAI,MAAM;4BAAE,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC1B,MAAM,SAAS,GAAG,OAA2B,CAAC;wBAC9C,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;4BAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,6DAA6D;gBAC7D,IAAI,MAAM;oBAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oCAAoC;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC;gBAAC,MAAM,CAAC;oBACP,iCAAiC;gBACnC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,uBAAuB,CAAC,UAAkB,EAAE,MAAsB;QACtE,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACvE,MAAM,OAAO,GAAG,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE5E,+DAA+D;QAC/D,IAAI,MAAM,GAA0B,IAAI,CAAC;QAEzC,IAAI,CAAC;YACH,oEAAoE;YACpE,MAAM,GAAG,IAAI,gCAAc,EAAE,CAAC;YAC9B,MAAM,CAAC,KAAK,EAAE,CAAC;YAEf,IAAI,CAAC;gBACH,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,IAAA,wBAAK,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACnE,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;wBACpC,4CAA4C;wBAC5C,IAAI,MAAM;4BAAE,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC1B,MAAM,SAAS,GAAG,OAAc,CAAC;wBACjC,+CAA+C;wBAC/C,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,KAAK,qBAAqB,IAAI,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,KAAK,YAAY,EAAE,CAAC;4BACpG,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;4BACnD,IAAI,SAAS,EAAE,CAAC;gCACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;4BAClC,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;wBACxC,gDAAgD;wBAChD,IAAI,MAAM;4BAAE,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC1B,MAAM,YAAY,GAAG,OAA8B,CAAC;wBACpD,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;4BACjC,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gCACjD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oCAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gCACvC,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;yBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACrC,uEAAuE;wBACvE,IAAI,MAAM;4BAAE,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC1B,MAAM,SAAS,GAAG,OAA2B,CAAC;wBAC9C,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;4BAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,6DAA6D;gBAC7D,IAAI,MAAM;oBAAE,MAAM,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oCAAoC;YACpC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,CAAC;gBAAC,MAAM,CAAC;oBACP,iCAAiC;gBACnC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAxWD,oCAwWC"}
@@ -40,5 +40,11 @@ export declare class AgentOptions {
40
40
  * Get options for threat modeler
41
41
  */
42
42
  getThreatModelerOptions(role?: string): Options;
43
+ /**
44
+ * Get options for PR diff-focused code reviewer
45
+ * This mode analyzes only the changed code from a pull request,
46
+ * with access to Read and Write tools for additional context if needed.
47
+ */
48
+ getDiffReviewerOptions(role?: string, srcDir?: string | null): Options;
43
49
  }
44
50
  //# sourceMappingURL=agent_options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent_options.d.ts","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAqC,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAsB;gBAE9B,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM;IAKrD;;;OAGG;IACH,eAAe,IAAI,YAAY,EAAE;IAIjC;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;OAEG;IACH,sBAAsB,EAAE,UAAU,CAqBjC;IAED;;OAEG;IACH,0BAA0B,CAAC,IAAI,GAAE,MAA6B,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAgBhG;;OAEG;IACH,sBAAsB,CAAC,IAAI,GAAE,MAAwB,GAAG,OAAO;IAkB/D;;OAEG;IACH,uBAAuB,CAAC,IAAI,GAAE,MAAyB,GAAG,OAAO;CAiBlE"}
1
+ {"version":3,"file":"agent_options.d.ts","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAqC,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACxG,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAsB;gBAE9B,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM;IAKrD;;;OAGG;IACH,eAAe,IAAI,YAAY,EAAE;IAIjC;;OAEG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;OAEG;IACH,sBAAsB,EAAE,UAAU,CAqBjC;IAED;;OAEG;IACH,0BAA0B,CAAC,IAAI,GAAE,MAA6B,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAgBhG;;OAEG;IACH,sBAAsB,CAAC,IAAI,GAAE,MAAwB,GAAG,OAAO;IAkB/D;;OAEG;IACH,uBAAuB,CAAC,IAAI,GAAE,MAAyB,GAAG,OAAO;IAkBjE;;;;OAIG;IACH,sBAAsB,CAAC,IAAI,GAAE,MAAwB,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;CAuCxF"}
@@ -100,6 +100,46 @@ class AgentOptions {
100
100
  permissionMode: 'bypassPermissions'
101
101
  };
102
102
  }
103
+ /**
104
+ * Get options for PR diff-focused code reviewer
105
+ * This mode analyzes only the changed code from a pull request,
106
+ * with access to Read and Write tools for additional context if needed.
107
+ */
108
+ getDiffReviewerOptions(role = 'code_reviewer', srcDir) {
109
+ const roleConfig = this.confDict[this.environment]?.[role];
110
+ let systemPrompt = `You are an Application Security (AppSec) expert assistant specializing in Pull Request security reviews.
111
+
112
+ Your task is to analyze ONLY the changed code provided in the diff context. The changes have already been extracted and formatted for you - you do not need to search for files.
113
+
114
+ When reviewing PR changes:
115
+ 1. Focus exclusively on the security implications of the new or modified code
116
+ 2. Consider how the changes interact with existing code (when imports/context is provided)
117
+ 3. Identify vulnerabilities introduced by the changes
118
+ 4. Do NOT report issues in unchanged code
119
+ 5. Cite specific line numbers from the provided diff
120
+
121
+ You have access to Read and Write tools if you need to:
122
+ - Read a full file for additional context (use sparingly)
123
+ - Write the security review report`;
124
+ if (srcDir) {
125
+ systemPrompt += `\n\nSource directory available at: ${srcDir}`;
126
+ }
127
+ // Allow role config to override the system prompt
128
+ if (roleConfig?.options?.diff_reviewer_system_prompt) {
129
+ systemPrompt = roleConfig.options.diff_reviewer_system_prompt;
130
+ }
131
+ return {
132
+ agents: {
133
+ 'diff-reviewer': {
134
+ description: 'Reviews PR diff changes for security vulnerabilities',
135
+ prompt: systemPrompt,
136
+ tools: ['Read', 'Write'],
137
+ model: 'sonnet'
138
+ }
139
+ },
140
+ permissionMode: 'bypassPermissions'
141
+ };
142
+ }
103
143
  }
104
144
  exports.AgentOptions = AgentOptions;
105
145
  //# sourceMappingURL=agent_options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent_options.js","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent_options.js","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Diff Context Types for PR-focused Code Review
3
+ *
4
+ * These types define the structure for passing focused diff context
5
+ * to the AI agent for efficient PR security reviews.
6
+ *
7
+ * Author: Sam Li
8
+ */
9
+ /**
10
+ * Represents a single hunk (changed section) in a file
11
+ */
12
+ export interface DiffHunk {
13
+ /** Starting line number of the hunk in the file */
14
+ startLine: number;
15
+ /** Ending line number of the hunk in the file */
16
+ endLine: number;
17
+ /** Lines of code before the changed section (context) */
18
+ beforeContext: string;
19
+ /** The actual diff content with +/- markers */
20
+ changedCode: string;
21
+ /** Lines of code after the changed section (context) */
22
+ afterContext: string;
23
+ /** Function or class signature containing this change (if applicable) */
24
+ containingFunction?: string;
25
+ }
26
+ /**
27
+ * Represents a single file with its diff context
28
+ */
29
+ export interface DiffContextFile {
30
+ /** Path to the file relative to repository root */
31
+ filePath: string;
32
+ /** Programming language of the file */
33
+ language: string;
34
+ /** Type of change: added, modified, or renamed */
35
+ fileType: 'added' | 'modified' | 'renamed' | 'deleted';
36
+ /** Import statements from the file (always included for context) */
37
+ imports?: string;
38
+ /** List of changed hunks in the file */
39
+ hunks: DiffHunk[];
40
+ /** Whether the full file content is available for additional analysis */
41
+ fullFileAvailable?: boolean;
42
+ /** Original filename (only for renamed files) */
43
+ previousFilename?: string;
44
+ }
45
+ /**
46
+ * Complete diff context for a Pull Request
47
+ */
48
+ export interface DiffContext {
49
+ /** Pull Request number */
50
+ prNumber: number;
51
+ /** Base branch name (target of the PR) */
52
+ baseBranch: string;
53
+ /** Head branch name (source of the PR) */
54
+ headBranch: string;
55
+ /** SHA of the head commit */
56
+ headSha: string;
57
+ /** Repository owner */
58
+ owner: string;
59
+ /** Repository name */
60
+ repo: string;
61
+ /** List of files with their diff context */
62
+ files: DiffContextFile[];
63
+ /** Total number of files changed in the PR */
64
+ totalFilesChanged: number;
65
+ /** Total lines added across all files */
66
+ totalLinesAdded: number;
67
+ /** Total lines removed across all files */
68
+ totalLinesRemoved: number;
69
+ /** Optional deployment context from project settings */
70
+ deploymentContext?: string;
71
+ }
72
+ /**
73
+ * Build a formatted prompt section from diff context for AI analysis
74
+ */
75
+ export declare function formatDiffContextForPrompt(context: DiffContext): string;
76
+ /**
77
+ * Validate diff context JSON structure
78
+ */
79
+ export declare function validateDiffContext(data: unknown): data is DiffContext;
80
+ //# sourceMappingURL=diff_context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff_context.d.ts","sourceRoot":"","sources":["../../src/diff_context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,QAAQ,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;IACvD,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,yEAAyE;IACzE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,8CAA8C;IAC9C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yCAAyC;IACzC,eAAe,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,CA2EvE;AAuBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,WAAW,CAmDtE"}
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ /**
3
+ * Diff Context Types for PR-focused Code Review
4
+ *
5
+ * These types define the structure for passing focused diff context
6
+ * to the AI agent for efficient PR security reviews.
7
+ *
8
+ * Author: Sam Li
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.formatDiffContextForPrompt = formatDiffContextForPrompt;
12
+ exports.validateDiffContext = validateDiffContext;
13
+ /**
14
+ * Build a formatted prompt section from diff context for AI analysis
15
+ */
16
+ function formatDiffContextForPrompt(context) {
17
+ const lines = [];
18
+ lines.push('# Pull Request Security Review');
19
+ lines.push('');
20
+ lines.push(`**PR #${context.prNumber}**: ${context.headBranch} → ${context.baseBranch}`);
21
+ lines.push(`**Repository**: ${context.owner}/${context.repo}`);
22
+ lines.push(`**Commit**: ${context.headSha.substring(0, 8)}`);
23
+ lines.push(`**Changes**: ${context.totalFilesChanged} files (+${context.totalLinesAdded}/-${context.totalLinesRemoved})`);
24
+ lines.push('');
25
+ if (context.deploymentContext) {
26
+ lines.push('## Deployment Context');
27
+ lines.push(context.deploymentContext);
28
+ lines.push('');
29
+ }
30
+ lines.push('## Changed Files');
31
+ lines.push('');
32
+ for (const file of context.files) {
33
+ lines.push(`### ${file.filePath} (${file.fileType})`);
34
+ lines.push(`**Language**: ${file.language}`);
35
+ if (file.previousFilename) {
36
+ lines.push(`**Renamed from**: ${file.previousFilename}`);
37
+ }
38
+ if (file.imports) {
39
+ lines.push('');
40
+ lines.push('**Imports**:');
41
+ lines.push('```');
42
+ lines.push(file.imports);
43
+ lines.push('```');
44
+ }
45
+ lines.push('');
46
+ for (let i = 0; i < file.hunks.length; i++) {
47
+ const hunk = file.hunks[i];
48
+ lines.push(`#### Change ${i + 1} (lines ${hunk.startLine}-${hunk.endLine})`);
49
+ if (hunk.containingFunction) {
50
+ lines.push(`**In**: \`${hunk.containingFunction}\``);
51
+ }
52
+ lines.push('');
53
+ if (hunk.beforeContext) {
54
+ lines.push('**Before context**:');
55
+ lines.push('```');
56
+ lines.push(hunk.beforeContext);
57
+ lines.push('```');
58
+ }
59
+ lines.push('**Changed code**:');
60
+ lines.push('```diff');
61
+ lines.push(hunk.changedCode);
62
+ lines.push('```');
63
+ if (hunk.afterContext) {
64
+ lines.push('**After context**:');
65
+ lines.push('```');
66
+ lines.push(hunk.afterContext);
67
+ lines.push('```');
68
+ }
69
+ lines.push('');
70
+ }
71
+ lines.push('---');
72
+ lines.push('');
73
+ }
74
+ return lines.join('\n');
75
+ }
76
+ /**
77
+ * Helper to check if a value is a non-empty string
78
+ */
79
+ function isNonEmptyString(value) {
80
+ return typeof value === 'string' && value.length > 0;
81
+ }
82
+ /**
83
+ * Helper to check if an optional field is valid (undefined or correct type)
84
+ */
85
+ function isOptionalString(value) {
86
+ return value === undefined || typeof value === 'string';
87
+ }
88
+ /**
89
+ * Helper to check if a number is valid and non-negative (for line numbers)
90
+ */
91
+ function isNonNegativeNumber(value) {
92
+ return typeof value === 'number' && value >= 0;
93
+ }
94
+ /**
95
+ * Validate diff context JSON structure
96
+ */
97
+ function validateDiffContext(data) {
98
+ if (!data || typeof data !== 'object') {
99
+ return false;
100
+ }
101
+ const ctx = data;
102
+ // Required fields - must be non-empty strings
103
+ if (typeof ctx.prNumber !== 'number' || ctx.prNumber < 0)
104
+ return false;
105
+ if (!isNonEmptyString(ctx.baseBranch))
106
+ return false;
107
+ if (!isNonEmptyString(ctx.headBranch))
108
+ return false;
109
+ if (!isNonEmptyString(ctx.headSha))
110
+ return false;
111
+ if (!isNonEmptyString(ctx.owner))
112
+ return false;
113
+ if (!isNonEmptyString(ctx.repo))
114
+ return false;
115
+ if (!Array.isArray(ctx.files))
116
+ return false;
117
+ if (!isNonNegativeNumber(ctx.totalFilesChanged))
118
+ return false;
119
+ if (!isNonNegativeNumber(ctx.totalLinesAdded))
120
+ return false;
121
+ if (!isNonNegativeNumber(ctx.totalLinesRemoved))
122
+ return false;
123
+ // Optional field validation
124
+ if (!isOptionalString(ctx.deploymentContext))
125
+ return false;
126
+ // Validate each file
127
+ for (const file of ctx.files) {
128
+ if (!file || typeof file !== 'object')
129
+ return false;
130
+ if (!isNonEmptyString(file.filePath))
131
+ return false;
132
+ if (!isNonEmptyString(file.language))
133
+ return false;
134
+ if (!['added', 'modified', 'renamed', 'deleted'].includes(file.fileType))
135
+ return false;
136
+ if (!Array.isArray(file.hunks))
137
+ return false;
138
+ // Optional file field validation
139
+ if (!isOptionalString(file.imports))
140
+ return false;
141
+ if (!isOptionalString(file.previousFilename))
142
+ return false;
143
+ if (file.fullFileAvailable !== undefined && typeof file.fullFileAvailable !== 'boolean')
144
+ return false;
145
+ // Validate each hunk
146
+ for (const hunk of file.hunks) {
147
+ if (!hunk || typeof hunk !== 'object')
148
+ return false;
149
+ if (!isNonNegativeNumber(hunk.startLine))
150
+ return false;
151
+ if (!isNonNegativeNumber(hunk.endLine))
152
+ return false;
153
+ if (hunk.startLine > hunk.endLine)
154
+ return false; // startLine should not exceed endLine
155
+ if (typeof hunk.changedCode !== 'string')
156
+ return false; // changedCode can be empty for deletions
157
+ // Optional hunk field validation
158
+ if (!isOptionalString(hunk.beforeContext))
159
+ return false;
160
+ if (!isOptionalString(hunk.afterContext))
161
+ return false;
162
+ if (!isOptionalString(hunk.containingFunction))
163
+ return false;
164
+ }
165
+ }
166
+ return true;
167
+ }
168
+ //# sourceMappingURL=diff_context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff_context.js","sourceRoot":"","sources":["../../src/diff_context.ts"],"names":[],"mappings":"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"}
@@ -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;AAiD1D,wBAAsB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA6FxE"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAgB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAyI1D,wBAAsB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAwHxE"}
package/dist/src/main.js CHANGED
@@ -42,6 +42,7 @@ exports.main = main;
42
42
  const fs = __importStar(require("fs-extra"));
43
43
  const agent_actions_1 = require("./agent_actions");
44
44
  const utils_1 = require("./utils");
45
+ const diff_context_1 = require("./diff_context");
45
46
  /**
46
47
  * Validate and copy source directory, exiting on validation failure
47
48
  */
@@ -86,6 +87,77 @@ function cleanupTmpDir(tmpDir, verbose = false) {
86
87
  console.warn(`Warning: Could not clean up temporary directory ${safePath}: ${errorMessage}`);
87
88
  }
88
89
  }
90
+ /**
91
+ * Load and validate diff context from JSON file
92
+ */
93
+ function loadDiffContext(diffContextPath, cwd) {
94
+ // Validate and resolve the path
95
+ const resolvedPath = (0, utils_1.validateInputFilePath)(diffContextPath, cwd);
96
+ if (!resolvedPath) {
97
+ const safePath = (0, utils_1.sanitizePathForError)(diffContextPath);
98
+ console.error(`Error: Invalid diff context file path: ${safePath}`);
99
+ console.error('The path must be valid and relative paths cannot contain directory traversal sequences.');
100
+ process.exit(1);
101
+ }
102
+ const safePath = (0, utils_1.sanitizePathForError)(resolvedPath);
103
+ if (!fs.existsSync(resolvedPath)) {
104
+ console.error(`Error: Diff context file not found: ${safePath}`);
105
+ process.exit(1);
106
+ }
107
+ // Read and parse the file
108
+ let data;
109
+ try {
110
+ const content = fs.readFileSync(resolvedPath, 'utf-8');
111
+ data = JSON.parse(content);
112
+ }
113
+ catch (error) {
114
+ const errorMessage = error?.message || 'Unknown error';
115
+ console.error(`Error: Failed to read diff context file ${safePath}: ${errorMessage}`);
116
+ process.exit(1);
117
+ }
118
+ // Validate the parsed data (outside try-catch to avoid catching process.exit mock errors in tests)
119
+ if (!(0, diff_context_1.validateDiffContext)(data)) {
120
+ console.error(`Error: Invalid diff context format in: ${safePath}`);
121
+ console.error('The diff context file must contain valid DiffContext JSON structure.');
122
+ process.exit(1);
123
+ }
124
+ return data;
125
+ }
126
+ /**
127
+ * Build user prompt for PR diff-focused code review
128
+ */
129
+ function buildDiffReviewPrompt(diffContext, outputFile, outputFormat, additionalContext) {
130
+ const formattedDiff = (0, diff_context_1.formatDiffContextForPrompt)(diffContext);
131
+ let prompt = `You are reviewing a Pull Request for security vulnerabilities.
132
+
133
+ ${formattedDiff}
134
+
135
+ ## Review Instructions
136
+
137
+ Analyze ONLY the changed code shown above for security issues. Focus on:
138
+ 1. **Injection vulnerabilities** (SQL, XSS, command injection, etc.)
139
+ 2. **Authentication and authorization flaws**
140
+ 3. **Sensitive data exposure**
141
+ 4. **Security misconfigurations**
142
+ 5. **Cryptographic issues**
143
+ 6. **Input validation problems**
144
+
145
+ For each issue found:
146
+ - Cite the specific file and line numbers from the changes
147
+ - Explain the vulnerability and its potential impact
148
+ - Provide a remediation recommendation
149
+
150
+ `;
151
+ if (additionalContext) {
152
+ prompt += `## Additional Context
153
+ ${additionalContext}
154
+
155
+ `;
156
+ }
157
+ prompt += `Write a comprehensive security review report to ${outputFile} in ${outputFormat} format.
158
+ Focus only on the changed code - do not report issues in unchanged code.`;
159
+ return prompt;
160
+ }
89
161
  async function main(confDict, args) {
90
162
  const currentWorkingDir = process.cwd();
91
163
  const agentActions = new agent_actions_1.AgentActions(confDict, args.environment, args);
@@ -120,16 +192,32 @@ async function main(confDict, args) {
120
192
  cleanupTmpDir(tmpSrcDir, true);
121
193
  }
122
194
  else if (args.role === 'code_reviewer') {
123
- console.log('Running Code Review Agent');
124
195
  const extension = (0, utils_1.getExtensionForFormat)(args.output_format);
125
196
  const outputFile = validateOutputFile(args.output_file || `code_review_report.${extension}`, currentWorkingDir);
126
- const tmpSrcDir = args.src_dir ? validateAndCopySrcDir(args.src_dir, currentWorkingDir) : null;
127
- const srcLocation = tmpSrcDir ? `current working directory ${tmpSrcDir}` : 'current working directory';
128
- // Build context section if provided
129
- let contextSection = '';
130
- if (args.context) {
131
- console.log('Using context:', args.context?.substring(0, 50) + (args.context.length > 50 ? '...' : ''));
132
- contextSection = `
197
+ // Check if running in diff-context mode (PR-focused review)
198
+ if (args.diff_context) {
199
+ console.log('Running PR Diff Code Review Agent (focused context mode)');
200
+ // Load diff context
201
+ const diffContext = loadDiffContext(args.diff_context, currentWorkingDir);
202
+ console.log(`Reviewing PR #${diffContext.prNumber}: ${diffContext.totalFilesChanged} files (+${diffContext.totalLinesAdded}/-${diffContext.totalLinesRemoved})`);
203
+ // Copy source directory if provided (for full file access when needed)
204
+ const tmpSrcDir = args.src_dir ? validateAndCopySrcDir(args.src_dir, currentWorkingDir) : null;
205
+ // Build focused prompt
206
+ const userPrompt = buildDiffReviewPrompt(diffContext, outputFile, args.output_format || 'json', args.context);
207
+ // Use diff-focused reviewer options
208
+ await agentActions.diffReviewerWithOptions(userPrompt, tmpSrcDir);
209
+ cleanupTmpDir(tmpSrcDir);
210
+ }
211
+ else {
212
+ // Standard full-repository code review
213
+ console.log('Running Code Review Agent');
214
+ const tmpSrcDir = args.src_dir ? validateAndCopySrcDir(args.src_dir, currentWorkingDir) : null;
215
+ const srcLocation = tmpSrcDir ? `current working directory ${tmpSrcDir}` : 'current working directory';
216
+ // Build context section if provided
217
+ let contextSection = '';
218
+ if (args.context) {
219
+ console.log('Using context:', args.context?.substring(0, 50) + (args.context.length > 50 ? '...' : ''));
220
+ contextSection = `
133
221
 
134
222
  IMPORTANT DEPLOYMENT & ENVIRONMENT CONTEXT:
135
223
  ${args.context}
@@ -141,11 +229,12 @@ Please consider this context when analyzing the code. Focus on:
141
229
  - Environment-specific attack vectors and threat models
142
230
 
143
231
  `;
144
- }
145
- const userPrompt = `Review the code in the ${srcLocation}.${contextSection}.
232
+ }
233
+ const userPrompt = `Review the code in the ${srcLocation}.${contextSection}.
146
234
  Provide a comprehensive security review report identifying potential security issues found in the code. Please write the review report in the ${outputFile} file under current working directory in ${args.output_format} format.`;
147
- await agentActions.codeReviewerWithOptions(userPrompt);
148
- cleanupTmpDir(tmpSrcDir);
235
+ await agentActions.codeReviewerWithOptions(userPrompt);
236
+ cleanupTmpDir(tmpSrcDir);
237
+ }
149
238
  }
150
239
  else if (args.role === 'threat_modeler') {
151
240
  console.log('Running Threat Modeler');
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,14 @@ export declare function validateDirectoryPath(dirPath: string, mustExist?: boole
46
46
  * @returns The validated absolute path, or null if invalid
47
47
  */
48
48
  export declare function validateOutputFilePath(filePath: string, baseDir: string): string | null;
49
+ /**
50
+ * Validate an input file path for security concerns
51
+ * Allows absolute paths but validates relative paths for directory traversal
52
+ * @param filePath - The file path to validate
53
+ * @param baseDir - The base directory for relative path resolution
54
+ * @returns The resolved absolute path if valid, null otherwise
55
+ */
56
+ export declare function validateInputFilePath(filePath: string, baseDir: string): string | null;
49
57
  /**
50
58
  * Check if a path is a valid directory
51
59
  */
@@ -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;;;;;;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;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOtD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGxE"}
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;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmCtF;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;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOtD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGxE"}
package/dist/src/utils.js CHANGED
@@ -44,6 +44,7 @@ exports.isSafePath = isSafePath;
44
44
  exports.validateAndSanitizePath = validateAndSanitizePath;
45
45
  exports.validateDirectoryPath = validateDirectoryPath;
46
46
  exports.validateOutputFilePath = validateOutputFilePath;
47
+ exports.validateInputFilePath = validateInputFilePath;
47
48
  exports.isDirectory = isDirectory;
48
49
  exports.isFile = isFile;
49
50
  exports.fileToList = fileToList;
@@ -230,6 +231,45 @@ function validateOutputFilePath(filePath, baseDir) {
230
231
  return null;
231
232
  }
232
233
  }
234
+ /**
235
+ * Validate an input file path for security concerns
236
+ * Allows absolute paths but validates relative paths for directory traversal
237
+ * @param filePath - The file path to validate
238
+ * @param baseDir - The base directory for relative path resolution
239
+ * @returns The resolved absolute path if valid, null otherwise
240
+ */
241
+ function validateInputFilePath(filePath, baseDir) {
242
+ if (!filePath || typeof filePath !== 'string') {
243
+ return null;
244
+ }
245
+ // Check for null bytes and control characters
246
+ if (/\0/.test(filePath) || /[\x00-\x1f]/.test(filePath)) {
247
+ return null;
248
+ }
249
+ try {
250
+ // For relative paths, check for directory traversal
251
+ if (!path.isAbsolute(filePath)) {
252
+ if (!isSafePath(filePath, false)) {
253
+ return null;
254
+ }
255
+ }
256
+ // Resolve the path
257
+ const resolvedPath = path.isAbsolute(filePath)
258
+ ? filePath
259
+ : path.resolve(baseDir, filePath);
260
+ // For relative paths, ensure the resolved path stays within or at the base directory
261
+ if (!path.isAbsolute(filePath)) {
262
+ const baseDirResolved = path.resolve(baseDir);
263
+ if (!resolvedPath.startsWith(baseDirResolved + path.sep) && resolvedPath !== baseDirResolved) {
264
+ return null;
265
+ }
266
+ }
267
+ return resolvedPath;
268
+ }
269
+ catch {
270
+ return null;
271
+ }
272
+ }
233
273
  /**
234
274
  * Check if a path is a valid directory
235
275
  */
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appsec-agent",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "TypeScript package for AppSec AI Agent management",
5
5
  "author": "Sam Li",
6
6
  "date": "Dec 22 2025",
@@ -47,7 +47,7 @@
47
47
  "ts-node": "^10.9.2"
48
48
  },
49
49
  "peerDependencies": {
50
- "@anthropic-ai/claude-code": "2.0.58"
50
+ "@anthropic-ai/claude-code": "2.0.65"
51
51
  },
52
52
  "engines": {
53
53
  "node": ">=18.0.0"