appsec-agent 1.1.0 → 1.2.1

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
@@ -234,6 +234,27 @@ The diff context JSON file should follow this structure:
234
234
 
235
235
  **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.
236
236
 
237
+ #### PR chunking (large PRs)
238
+
239
+ When a PR diff exceeds the model's context limit, **chunking** splits the diff into batches, reviews each batch, then merges the reports into a single output file.
240
+
241
+ - **Config** (in `conf/appsec_agent.yaml`): PR diff chunking options live under **`pr_reviewer.options`** and are **on by default** when you use the `pr_reviewer` role with `-d/--diff-context`. The `code_reviewer` role does not have chunking enabled by default.
242
+ - `diff_review_max_tokens_per_batch`: e.g. `150000` (0 or omit = no chunking)
243
+ - `diff_review_max_batches`: e.g. `3` (cap on number of batches per run)
244
+ - `diff_review_max_files`: optional cap on files reviewed; rest are skipped
245
+ - `diff_review_exclude_paths`: optional list of path patterns to exclude (e.g. `["src/analytics/*"]`)
246
+ - **CLI** (override config): `--diff-max-tokens <n>`, `--diff-max-batches <n>`, `--diff-max-files <n>`, `--diff-exclude <pattern>` (repeatable)
247
+
248
+ When chunking is used, the merged report may include a **Skipped** section listing files that were excluded or that exceeded the batch limit. Total API cost is logged per batch and as a total, and (for JSON reports) included in `meta.total_cost_usd`.
249
+
250
+ ```bash
251
+ # pr_reviewer has chunking on by default when using -d
252
+ $ npx agent-run -r pr_reviewer -d pr-diff.json
253
+
254
+ # Or enable chunking via CLI when using code_reviewer (overrides config)
255
+ $ npx agent-run -r code_reviewer -d pr-diff.json --diff-max-tokens 150000 --diff-max-batches 3
256
+ ```
257
+
237
258
  ### Threat Modeler Example
238
259
  ```bash
239
260
  # Run threat modeler on current directory
@@ -24,7 +24,12 @@ default: &default
24
24
  options:
25
25
  system_prompt: "You are an Application Security (AppSec) expert assistant specializing in Pull Request security reviews. Analyze ONLY the changed code provided in the diff context. Focus on security implications of the new or modified code, cite specific line numbers from the provided diff, and write the security review report."
26
26
  output_format: "markdown"
27
- verbose: True
27
+ verbose: True
28
+ # PR diff chunking (for -d/--diff-context): on by default for pr_reviewer
29
+ diff_review_max_tokens_per_batch: 150000
30
+ diff_review_max_batches: 3
31
+ diff_review_max_files: 80
32
+ # diff_review_exclude_paths: []
28
33
 
29
34
 
30
35
  development:
@@ -58,7 +58,11 @@ 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
+ .option('--diff-context <file>', 'JSON file with diff context for PR-focused code review (optimizes token usage)')
62
+ .option('--diff-max-tokens <n>', 'Max tokens per batch for PR chunking (0 = disabled). Overrides config.')
63
+ .option('--diff-max-batches <n>', 'Max batches per PR run (e.g. 3). Overrides config.')
64
+ .option('--diff-max-files <n>', 'Max files to include in PR review; rest skipped. Overrides config.')
65
+ .option('--diff-exclude <pattern>', 'Exclude path pattern (repeatable). Overrides config.', (v, acc) => { acc.push(v); return acc; }, [])
62
66
  .option('-m, --model <model>', 'Claude model to use: sonnet, opus, haiku - default to "sonnet"', 'sonnet')
63
67
  .option('-F, --failover', 'Enable failover to OpenAI when Anthropic fails (optional feature, off by default). Overrides FAILOVER_ENABLED env.')
64
68
  .option('-K, --openai-api-key <key>', 'OpenAI API key for failover (overrides OPENAI_API_KEY env). Only used when failover is enabled.')
@@ -118,7 +122,7 @@ if (!validModels.includes(options.model)) {
118
122
  console.error(`Error: Invalid model "${options.model}". Valid options: ${validModels.join(', ')}`);
119
123
  process.exit(1);
120
124
  }
121
- // Prepare args
125
+ // Prepare args (chunking: CLI overrides config; main will merge with conf)
122
126
  const args = {
123
127
  role: options.role,
124
128
  environment: options.environment,
@@ -128,7 +132,11 @@ const args = {
128
132
  verbose: options.verbose,
129
133
  context: options.context,
130
134
  diff_context: options.diffContext,
131
- model: options.model
135
+ model: options.model,
136
+ diff_max_tokens_per_batch: options.diffMaxTokens !== undefined ? parseInt(options.diffMaxTokens, 10) : undefined,
137
+ diff_max_batches: options.diffMaxBatches !== undefined ? parseInt(options.diffMaxBatches, 10) : undefined,
138
+ diff_max_files: options.diffMaxFiles !== undefined ? parseInt(options.diffMaxFiles, 10) : undefined,
139
+ diff_exclude: Array.isArray(options.diffExclude) && options.diffExclude.length > 0 ? options.diffExclude : undefined
132
140
  };
133
141
  // Log context if provided
134
142
  if (args.context) {
@@ -1 +1 @@
1
- {"version":3,"file":"agent-run.js","sourceRoot":"","sources":["../../bin/agent-run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-run.js","sourceRoot":"","sources":["../../bin/agent-run.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,12 @@ default: &default
24
24
  options:
25
25
  system_prompt: "You are an Application Security (AppSec) expert assistant specializing in Pull Request security reviews. Analyze ONLY the changed code provided in the diff context. Focus on security implications of the new or modified code, cite specific line numbers from the provided diff, and write the security review report."
26
26
  output_format: "markdown"
27
- verbose: True
27
+ verbose: True
28
+ # PR diff chunking (for -d/--diff-context): on by default for pr_reviewer
29
+ diff_review_max_tokens_per_batch: 150000
30
+ diff_review_max_batches: 3
31
+ diff_review_max_files: 80
32
+ # diff_review_exclude_paths: []
28
33
 
29
34
 
30
35
  development:
@@ -14,6 +14,10 @@ export interface AgentArgs {
14
14
  context?: string;
15
15
  diff_context?: string;
16
16
  model?: string;
17
+ diff_max_tokens_per_batch?: number;
18
+ diff_max_batches?: number;
19
+ diff_max_files?: number;
20
+ diff_exclude?: string[];
17
21
  }
18
22
  export declare class AgentActions {
19
23
  private confDict;
@@ -36,7 +40,10 @@ export declare class AgentActions {
36
40
  /**
37
41
  * PR diff-focused code reviewer with options
38
42
  * Optimized for reviewing only changed code from a pull request
43
+ * @param onResult - Optional callback to collect cost for chunked runs (e.g. aggregate total_cost_usd across batches)
39
44
  */
40
- diffReviewerWithOptions(userPrompt: string, srcDir?: string | null): Promise<string>;
45
+ diffReviewerWithOptions(userPrompt: string, srcDir?: string | null, onResult?: (result: {
46
+ total_cost_usd?: number;
47
+ }) => void): Promise<string>;
41
48
  }
42
49
  //# 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;AAKH,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;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;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"}
1
+ {"version":3,"file":"agent_actions.d.ts","sourceRoot":"","sources":["../../src/agent_actions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,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;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;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;;;;OAIG;IACG,uBAAuB,CAC3B,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GACvD,OAAO,CAAC,MAAM,CAAC;CAiEnB"}
@@ -311,8 +311,9 @@ class AgentActions {
311
311
  /**
312
312
  * PR diff-focused code reviewer with options
313
313
  * Optimized for reviewing only changed code from a pull request
314
+ * @param onResult - Optional callback to collect cost for chunked runs (e.g. aggregate total_cost_usd across batches)
314
315
  */
315
- async diffReviewerWithOptions(userPrompt, srcDir) {
316
+ async diffReviewerWithOptions(userPrompt, srcDir, onResult) {
316
317
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
317
318
  const options = agentOptions.getDiffReviewerOptions(this.args.role, srcDir);
318
319
  // Declare cursor outside try block so it's accessible in catch
@@ -357,6 +358,7 @@ class AgentActions {
357
358
  if (resultMsg.total_cost_usd && resultMsg.total_cost_usd > 0) {
358
359
  console.log(`\nCost: $${resultMsg.total_cost_usd.toFixed(4)}`);
359
360
  }
361
+ onResult?.({ total_cost_usd: resultMsg.total_cost_usd });
360
362
  }
361
363
  }
362
364
  }
@@ -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;;;AAGH,mDAA+C;AAC/C,2CAAuC;AAEvC,uDAAmD;AAwBnD,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,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxF,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,oBAAQ,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;gBAClE,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,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxF,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,oBAAQ,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACtE,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,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxF,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,oBAAQ,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACtE,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;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAC3B,UAAkB,EAClB,MAAsB,EACtB,QAAwD;QAExD,MAAM,YAAY,GAAG,IAAI,4BAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxF,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,oBAAQ,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACtE,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;wBACD,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAE,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC;oBAC3D,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;AA9WD,oCA8WC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * PR diff chunking: token estimation, file filtering, and batching.
3
+ * Kept in a separate module for easier tracking and rework (e.g. if 1M-context models reduce need for chunking).
4
+ *
5
+ * Author: Sam Li
6
+ */
7
+ import { DiffContext, DiffContextFile } from './diff_context';
8
+ /**
9
+ * Estimate token count for a string (approximate).
10
+ */
11
+ export declare function estimateTokens(text: string): number;
12
+ export interface ChunkingOptions {
13
+ /** Max tokens per batch (prompt body). 0 = no chunking. */
14
+ maxTokensPerBatch: number;
15
+ /** Max number of batches per run. */
16
+ maxBatches: number;
17
+ /** Optional cap on number of files to include; rest are skipped. */
18
+ maxFiles?: number;
19
+ /** Optional path patterns to exclude (prefix or glob-like *). e.g. "src/analytics/" or "src/analytics/*". */
20
+ excludePaths?: string[];
21
+ }
22
+ export interface ChunkingResult {
23
+ /** Batches to review (each under token limit). */
24
+ batches: DiffContext[];
25
+ /** Files excluded by excludePaths or maxFiles. */
26
+ skippedFiles: DiffContextFile[];
27
+ /** True if more batches would have been needed but maxBatches was reached. */
28
+ skippedDueToBatches: boolean;
29
+ }
30
+ /**
31
+ * Filter and batch diff context for chunked PR review.
32
+ * Applies exclude paths, maxFiles, then groups files into batches under maxTokensPerBatch, capped by maxBatches.
33
+ */
34
+ export declare function splitIntoBatches(context: DiffContext, options: ChunkingOptions): ChunkingResult;
35
+ //# sourceMappingURL=diff_chunking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff_chunking.d.ts","sourceRoot":"","sources":["../../src/diff_chunking.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,eAAe,EAA8B,MAAM,gBAAgB,CAAC;AAK1F;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6GAA6G;IAC7G,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,kDAAkD;IAClD,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,kDAAkD;IAClD,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,8EAA8E;IAC9E,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAqDD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,GAAG,cAAc,CAiF/F"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ /**
3
+ * PR diff chunking: token estimation, file filtering, and batching.
4
+ * Kept in a separate module for easier tracking and rework (e.g. if 1M-context models reduce need for chunking).
5
+ *
6
+ * Author: Sam Li
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.estimateTokens = estimateTokens;
10
+ exports.splitIntoBatches = splitIntoBatches;
11
+ const diff_context_1 = require("./diff_context");
12
+ /** Approximate chars per token for English/code. Used for prompt size estimation. */
13
+ const CHARS_PER_TOKEN = 4;
14
+ /**
15
+ * Estimate token count for a string (approximate).
16
+ */
17
+ function estimateTokens(text) {
18
+ if (!text || text.length === 0)
19
+ return 0;
20
+ return Math.ceil(text.length / CHARS_PER_TOKEN);
21
+ }
22
+ /**
23
+ * Check if a file path matches any exclude pattern.
24
+ * Patterns: prefix match (e.g. "src/analytics/") or suffix "*" for prefix (e.g. "src/analytics/*").
25
+ */
26
+ function pathMatchesExclude(filePath, excludePaths) {
27
+ const normalized = filePath.replace(/\\/g, '/');
28
+ for (const pattern of excludePaths) {
29
+ const p = pattern.replace(/\\/g, '/').trim();
30
+ if (p.endsWith('*')) {
31
+ const prefix = p.slice(0, -1);
32
+ if (normalized.startsWith(prefix) || normalized === prefix.slice(0, -1))
33
+ return true;
34
+ }
35
+ else {
36
+ if (normalized.startsWith(p) || normalized === p)
37
+ return true;
38
+ }
39
+ }
40
+ return false;
41
+ }
42
+ /**
43
+ * Compute total lines added/removed for a list of files from their hunks.
44
+ */
45
+ function sumLinesForFiles(files) {
46
+ let added = 0;
47
+ let removed = 0;
48
+ for (const file of files) {
49
+ for (const hunk of file.hunks) {
50
+ const code = hunk.changedCode || '';
51
+ const lines = code.split('\n');
52
+ for (const line of lines) {
53
+ if (line.startsWith('+') && !line.startsWith('+++'))
54
+ added += 1;
55
+ else if (line.startsWith('-') && !line.startsWith('---'))
56
+ removed += 1;
57
+ }
58
+ }
59
+ }
60
+ return { added, removed };
61
+ }
62
+ /**
63
+ * Build a DiffContext with the given files and same metadata as the parent context.
64
+ */
65
+ function buildBatchContext(parent, files) {
66
+ const { added, removed } = sumLinesForFiles(files);
67
+ return {
68
+ ...parent,
69
+ files,
70
+ totalFilesChanged: files.length,
71
+ totalLinesAdded: added,
72
+ totalLinesRemoved: removed
73
+ };
74
+ }
75
+ /**
76
+ * Filter and batch diff context for chunked PR review.
77
+ * Applies exclude paths, maxFiles, then groups files into batches under maxTokensPerBatch, capped by maxBatches.
78
+ */
79
+ function splitIntoBatches(context, options) {
80
+ const { maxTokensPerBatch, maxBatches, maxFiles, excludePaths } = options;
81
+ let files = context.files;
82
+ // Apply exclude paths
83
+ const skippedByExclude = [];
84
+ if (excludePaths && excludePaths.length > 0) {
85
+ const included = [];
86
+ for (const f of files) {
87
+ if (pathMatchesExclude(f.filePath, excludePaths)) {
88
+ skippedByExclude.push(f);
89
+ }
90
+ else {
91
+ included.push(f);
92
+ }
93
+ }
94
+ files = included;
95
+ }
96
+ // Apply maxFiles
97
+ const skippedByMaxFiles = [];
98
+ if (maxFiles !== undefined && maxFiles > 0 && files.length > maxFiles) {
99
+ skippedByMaxFiles.push(...files.slice(maxFiles));
100
+ files = files.slice(0, maxFiles);
101
+ }
102
+ const allSkippedFiles = [...skippedByExclude, ...skippedByMaxFiles];
103
+ // No chunking: single batch if under limit
104
+ if (maxTokensPerBatch <= 0) {
105
+ const batchCtx = buildBatchContext(context, files);
106
+ const promptText = (0, diff_context_1.formatDiffContextForPrompt)(batchCtx);
107
+ const tokens = estimateTokens(promptText);
108
+ return {
109
+ batches: files.length > 0 ? [batchCtx] : [],
110
+ skippedFiles: allSkippedFiles,
111
+ skippedDueToBatches: false
112
+ };
113
+ }
114
+ // Build batches by adding files until the next would exceed maxTokensPerBatch
115
+ const batches = [];
116
+ let currentFiles = [];
117
+ const promptOverhead = estimateTokens('You are reviewing a Pull Request for security vulnerabilities.\n\n## Review Instructions\n\nAnalyze ONLY the changed code...');
118
+ for (const file of files) {
119
+ const nextFiles = [...currentFiles, file];
120
+ const nextContext = buildBatchContext(context, nextFiles);
121
+ const nextPrompt = (0, diff_context_1.formatDiffContextForPrompt)(nextContext);
122
+ const nextTokens = estimateTokens(nextPrompt) + promptOverhead;
123
+ // If this single file alone exceeds the batch limit, put it in its own batch (graceful degradation)
124
+ if (currentFiles.length === 0 && nextTokens > maxTokensPerBatch) {
125
+ batches.push(buildBatchContext(context, [file]));
126
+ if (batches.length >= maxBatches)
127
+ break;
128
+ continue;
129
+ }
130
+ if (nextTokens > maxTokensPerBatch && currentFiles.length > 0) {
131
+ batches.push(buildBatchContext(context, [...currentFiles]));
132
+ if (batches.length >= maxBatches)
133
+ break;
134
+ currentFiles = [file];
135
+ }
136
+ else {
137
+ currentFiles = nextFiles;
138
+ }
139
+ }
140
+ if (currentFiles.length > 0 && batches.length < maxBatches) {
141
+ batches.push(buildBatchContext(context, currentFiles));
142
+ }
143
+ const totalFilesInBatches = batches.reduce((sum, b) => sum + b.files.length, 0);
144
+ const skippedDueToBatches = files.length > 0 && totalFilesInBatches < files.length;
145
+ return {
146
+ batches,
147
+ skippedFiles: allSkippedFiles,
148
+ skippedDueToBatches
149
+ };
150
+ }
151
+ //# sourceMappingURL=diff_chunking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff_chunking.js","sourceRoot":"","sources":["../../src/diff_chunking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Merge PR review batch reports into a single output file.
3
+ * Kept in a separate module for easier tracking and rework.
4
+ *
5
+ * Author: Sam Li
6
+ */
7
+ export interface MergeOptions {
8
+ /** Paths to batch report files in order. */
9
+ batchPaths: string[];
10
+ /** Final output file path. */
11
+ outputPath: string;
12
+ /** Output format: json, markdown, etc. */
13
+ format: string;
14
+ /** Total API cost (sum of batches) for metadata. */
15
+ totalCostUsd?: number;
16
+ /** Per-batch costs for metadata. */
17
+ batchCosts?: number[];
18
+ /** File paths that were skipped (for "Skipped" section). */
19
+ skippedFilePaths?: string[];
20
+ /** Human-readable message for skipped section (e.g. batch limit or size). */
21
+ skippedMessage?: string;
22
+ }
23
+ /**
24
+ * Merge batch report files into a single output file.
25
+ * Format-specific: JSON (merge findings arrays + meta), Markdown (concat with batch headers + Skipped + cost).
26
+ */
27
+ export declare function mergeBatchReports(options: MergeOptions): void;
28
+ //# sourceMappingURL=diff_report_merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff_report_merge.d.ts","sourceRoot":"","sources":["../../src/diff_report_merge.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAmGD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAkC7D"}
@@ -0,0 +1,164 @@
1
+ "use strict";
2
+ /**
3
+ * Merge PR review batch reports into a single output file.
4
+ * Kept in a separate module for easier tracking and rework.
5
+ *
6
+ * Author: Sam Li
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
20
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
21
+ }) : function(o, v) {
22
+ o["default"] = v;
23
+ });
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ exports.mergeBatchReports = mergeBatchReports;
43
+ const fs = __importStar(require("fs-extra"));
44
+ const path = __importStar(require("path"));
45
+ /** Common keys that might hold an array of findings in a JSON report. */
46
+ const FINDINGS_KEYS = ['findings', 'issues', 'results', 'items'];
47
+ function tryParseJson(filePath) {
48
+ const content = fs.readFileSync(filePath, 'utf-8');
49
+ try {
50
+ return JSON.parse(content);
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ }
56
+ function mergeJsonReports(batchPaths, outputPath, meta) {
57
+ const merged = {};
58
+ let mergedArray = [];
59
+ let usedKey = null;
60
+ let firstBatchUsed = false;
61
+ for (let i = 0; i < batchPaths.length; i++) {
62
+ const p = batchPaths[i];
63
+ if (!fs.existsSync(p))
64
+ continue;
65
+ const data = tryParseJson(p);
66
+ if (data === null)
67
+ continue;
68
+ if (Array.isArray(data)) {
69
+ mergedArray = mergedArray.concat(data);
70
+ continue;
71
+ }
72
+ if (data && typeof data === 'object') {
73
+ const obj = data;
74
+ if (!firstBatchUsed) {
75
+ Object.assign(merged, obj);
76
+ firstBatchUsed = true;
77
+ }
78
+ for (const key of FINDINGS_KEYS) {
79
+ if (Array.isArray(obj[key])) {
80
+ usedKey = usedKey || key;
81
+ mergedArray = mergedArray.concat(obj[key]);
82
+ break;
83
+ }
84
+ }
85
+ if (!usedKey) {
86
+ mergedArray.push(data);
87
+ }
88
+ }
89
+ }
90
+ if (usedKey) {
91
+ merged[usedKey] = mergedArray;
92
+ }
93
+ else if (mergedArray.length > 0) {
94
+ merged.findings = mergedArray;
95
+ }
96
+ if (Object.keys(meta).length > 0) {
97
+ merged.meta = meta;
98
+ }
99
+ fs.ensureDirSync(path.dirname(outputPath) || '.');
100
+ fs.writeFileSync(outputPath, JSON.stringify(merged, null, 2), 'utf-8');
101
+ }
102
+ function mergeMarkdownReports(batchPaths, outputPath, options) {
103
+ const sections = [];
104
+ for (let i = 0; i < batchPaths.length; i++) {
105
+ const p = batchPaths[i];
106
+ if (!fs.existsSync(p))
107
+ continue;
108
+ const content = fs.readFileSync(p, 'utf-8').trim();
109
+ if (!content)
110
+ continue;
111
+ sections.push(`## Batch ${i + 1}\n\n${content}`);
112
+ }
113
+ if (options.skippedFilePaths && options.skippedFilePaths.length > 0 && options.skippedMessage) {
114
+ sections.push('## Skipped\n\n' + options.skippedMessage);
115
+ sections.push('\nSkipped files:\n' + options.skippedFilePaths.map(f => `- ${f}`).join('\n'));
116
+ }
117
+ else if (options.skippedMessage) {
118
+ sections.push('## Skipped\n\n' + options.skippedMessage);
119
+ }
120
+ if (options.totalCostUsd !== undefined && options.totalCostUsd > 0) {
121
+ sections.push(`\n---\nTotal API cost for this run: $${options.totalCostUsd.toFixed(4)}`);
122
+ }
123
+ const merged = sections.join('\n\n---\n\n');
124
+ fs.ensureDirSync(path.dirname(outputPath) || '.');
125
+ fs.writeFileSync(outputPath, merged, 'utf-8');
126
+ }
127
+ /**
128
+ * Merge batch report files into a single output file.
129
+ * Format-specific: JSON (merge findings arrays + meta), Markdown (concat with batch headers + Skipped + cost).
130
+ */
131
+ function mergeBatchReports(options) {
132
+ const { batchPaths, outputPath, format, totalCostUsd, batchCosts, skippedFilePaths, skippedMessage } = options;
133
+ const meta = {};
134
+ if (totalCostUsd !== undefined)
135
+ meta.total_cost_usd = totalCostUsd;
136
+ if (batchCosts && batchCosts.length > 0)
137
+ meta.batch_costs = batchCosts;
138
+ const normFormat = (format || 'markdown').toLowerCase();
139
+ if (normFormat === 'json') {
140
+ mergeJsonReports(batchPaths, outputPath, meta);
141
+ return;
142
+ }
143
+ if (normFormat === 'markdown') {
144
+ mergeMarkdownReports(batchPaths, outputPath, {
145
+ skippedFilePaths,
146
+ skippedMessage,
147
+ totalCostUsd
148
+ });
149
+ return;
150
+ }
151
+ // Other formats: concatenate raw content with batch headers
152
+ const sections = [];
153
+ for (let i = 0; i < batchPaths.length; i++) {
154
+ const p = batchPaths[i];
155
+ if (!fs.existsSync(p))
156
+ continue;
157
+ sections.push(`## Batch ${i + 1}\n\n` + fs.readFileSync(p, 'utf-8'));
158
+ }
159
+ if (sections.length > 0) {
160
+ fs.ensureDirSync(path.dirname(outputPath) || '.');
161
+ fs.writeFileSync(outputPath, sections.join('\n\n'), 'utf-8');
162
+ }
163
+ }
164
+ //# sourceMappingURL=diff_report_merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff_report_merge.js","sourceRoot":"","sources":["../../src/diff_report_merge.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;AAIH,OAAO,EAAgB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAyI1D,wBAAsB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA6HxE"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAgB,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAmK1D,wBAAsB,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAsLxE"}
package/dist/src/main.js CHANGED
@@ -40,9 +40,12 @@ var __importStar = (this && this.__importStar) || (function () {
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
41
  exports.main = main;
42
42
  const fs = __importStar(require("fs-extra"));
43
+ const path = __importStar(require("path"));
43
44
  const agent_actions_1 = require("./agent_actions");
44
45
  const utils_1 = require("./utils");
45
46
  const diff_context_1 = require("./diff_context");
47
+ const diff_chunking_1 = require("./diff_chunking");
48
+ const diff_report_merge_1 = require("./diff_report_merge");
46
49
  /**
47
50
  * Validate and copy source directory, exiting on validation failure
48
51
  */
@@ -123,6 +126,28 @@ function loadDiffContext(diffContextPath, cwd) {
123
126
  }
124
127
  return data;
125
128
  }
129
+ /** Defaults for PR chunking when not set (0 = no chunking). */
130
+ const DEFAULT_MAX_TOKENS_PER_BATCH = 0;
131
+ const DEFAULT_MAX_BATCHES = 3;
132
+ /**
133
+ * Get chunking options from config and args (args override config).
134
+ */
135
+ function getChunkingOptions(confDict, environment, args) {
136
+ const role = args.role === 'pr_reviewer' || args.role === 'code_reviewer' ? args.role : 'code_reviewer';
137
+ const roleOpts = confDict?.[environment]?.[role]?.options ?? confDict?.default?.[role]?.options;
138
+ const fromConfig = {
139
+ maxTokensPerBatch: roleOpts?.diff_review_max_tokens_per_batch ?? DEFAULT_MAX_TOKENS_PER_BATCH,
140
+ maxBatches: roleOpts?.diff_review_max_batches ?? DEFAULT_MAX_BATCHES,
141
+ maxFiles: roleOpts?.diff_review_max_files,
142
+ excludePaths: Array.isArray(roleOpts?.diff_review_exclude_paths) ? roleOpts.diff_review_exclude_paths : undefined
143
+ };
144
+ return {
145
+ maxTokensPerBatch: args.diff_max_tokens_per_batch !== undefined ? args.diff_max_tokens_per_batch : fromConfig.maxTokensPerBatch,
146
+ maxBatches: args.diff_max_batches !== undefined ? args.diff_max_batches : fromConfig.maxBatches,
147
+ maxFiles: args.diff_max_files !== undefined ? args.diff_max_files : fromConfig.maxFiles,
148
+ excludePaths: args.diff_exclude && args.diff_exclude.length > 0 ? args.diff_exclude : fromConfig.excludePaths
149
+ };
150
+ }
126
151
  /**
127
152
  * Build user prompt for PR diff-focused code review
128
153
  */
@@ -197,16 +222,69 @@ async function main(confDict, args) {
197
222
  // Check if running in diff-context mode (PR-focused review)
198
223
  if (args.diff_context) {
199
224
  console.log('Running PR Diff Code Review Agent (focused context mode)');
200
- // Load diff context
201
225
  const diffContext = loadDiffContext(args.diff_context, currentWorkingDir);
202
226
  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
227
  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);
228
+ const chunkingOpts = getChunkingOptions(confDict, args.environment, args);
229
+ const { batches, skippedFiles, skippedDueToBatches } = (0, diff_chunking_1.splitIntoBatches)(diffContext, chunkingOpts);
230
+ const singleBatchNoSkipped = batches.length === 1 && skippedFiles.length === 0 && !skippedDueToBatches;
231
+ if (singleBatchNoSkipped) {
232
+ const userPrompt = buildDiffReviewPrompt(batches[0], outputFile, args.output_format || 'json', args.context);
233
+ await agentActions.diffReviewerWithOptions(userPrompt, tmpSrcDir);
234
+ cleanupTmpDir(tmpSrcDir);
235
+ }
236
+ else if (batches.length > 0) {
237
+ const extension = (0, utils_1.getExtensionForFormat)(args.output_format);
238
+ const tempDir = path.join(currentWorkingDir, `.pr_review_batches_${Date.now()}`);
239
+ fs.ensureDirSync(tempDir);
240
+ const batchPaths = [];
241
+ const batchCosts = [];
242
+ try {
243
+ for (let i = 0; i < batches.length; i++) {
244
+ const batchOutputPath = path.join(tempDir, `code_review_batch_${i + 1}.${extension}`);
245
+ const userPrompt = buildDiffReviewPrompt(batches[i], batchOutputPath, args.output_format || 'json', args.context);
246
+ await agentActions.diffReviewerWithOptions(userPrompt, tmpSrcDir, (result) => {
247
+ if (result.total_cost_usd !== undefined && result.total_cost_usd > 0) {
248
+ batchCosts.push(result.total_cost_usd);
249
+ }
250
+ });
251
+ if (fs.existsSync(batchOutputPath)) {
252
+ batchPaths.push(batchOutputPath);
253
+ }
254
+ }
255
+ const totalCostUsd = batchCosts.length > 0 ? batchCosts.reduce((a, b) => a + b, 0) : undefined;
256
+ const skippedPaths = skippedFiles.map(f => f.filePath);
257
+ let skippedMessage;
258
+ if (skippedDueToBatches) {
259
+ skippedMessage = `PR exceeded batch limit (max ${chunkingOpts.maxBatches} batches). Only the first ${batchPaths.length} batch(es) were reviewed. Consider splitting the PR or using a full repository review.`;
260
+ }
261
+ else if (skippedPaths.length > 0) {
262
+ skippedMessage = `${skippedPaths.length} file(s) excluded by config (max_files or exclude_paths).`;
263
+ }
264
+ (0, diff_report_merge_1.mergeBatchReports)({
265
+ batchPaths,
266
+ outputPath: outputFile,
267
+ format: args.output_format || 'json',
268
+ totalCostUsd,
269
+ batchCosts: batchCosts.length > 0 ? batchCosts : undefined,
270
+ skippedFilePaths: skippedPaths.length > 0 ? skippedPaths : undefined,
271
+ skippedMessage
272
+ });
273
+ if (batchCosts.length > 0) {
274
+ batchCosts.forEach((c, i) => console.log(`Batch ${i + 1}: $${c.toFixed(4)}`));
275
+ const total = batchCosts.reduce((a, b) => a + b, 0);
276
+ console.log(`Total API cost: $${total.toFixed(4)}`);
277
+ }
278
+ }
279
+ finally {
280
+ cleanupTmpDir(tempDir, args.verbose ?? false);
281
+ cleanupTmpDir(tmpSrcDir);
282
+ }
283
+ }
284
+ else {
285
+ console.warn('No files to review after filtering.');
286
+ cleanupTmpDir(tmpSrcDir);
287
+ }
210
288
  }
211
289
  else {
212
290
  // Standard full-repository code review
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appsec-agent",
3
- "version": "1.1.0",
3
+ "version": "1.2.1",
4
4
  "description": "TypeScript package for AppSec AI Agent management",
5
5
  "author": "Sam Li",
6
6
  "date": "Jan 21 2026",
@@ -32,11 +32,12 @@
32
32
  "typescript"
33
33
  ],
34
34
  "dependencies": {
35
- "@anthropic-ai/claude-agent-sdk": "^0.1.76",
35
+ "@anthropic-ai/claude-agent-sdk": "^0.2.39",
36
36
  "openai": "^4.73.0",
37
37
  "yaml": "^2.4.0",
38
38
  "commander": "^11.1.0",
39
- "fs-extra": "^11.2.0"
39
+ "fs-extra": "^11.2.0",
40
+ "zod": "^4.0.0"
40
41
  },
41
42
  "devDependencies": {
42
43
  "@types/jest": "^29.5.12",
@@ -48,7 +49,7 @@
48
49
  "ts-node": "^10.9.2"
49
50
  },
50
51
  "peerDependencies": {
51
- "@anthropic-ai/claude-code": "2.0.65"
52
+ "@anthropic-ai/claude-code": "2.1.39"
52
53
  },
53
54
  "engines": {
54
55
  "node": ">=18.0.0"