@bouncesecurity/aghast 0.5.0 → 0.6.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.
Files changed (61) hide show
  1. package/README.md +8 -3
  2. package/config/pricing.json +42 -0
  3. package/config/prompts/false-positive-validation.md +1 -0
  4. package/config/prompts/general-vuln-discovery.md +1 -0
  5. package/config/prompts/generic-instructions.md +3 -2
  6. package/dist/budget.d.ts +62 -0
  7. package/dist/budget.d.ts.map +1 -0
  8. package/dist/budget.js +137 -0
  9. package/dist/budget.js.map +1 -0
  10. package/dist/check-library.d.ts +1 -0
  11. package/dist/check-library.d.ts.map +1 -1
  12. package/dist/check-library.js +22 -6
  13. package/dist/check-library.js.map +1 -1
  14. package/dist/claude-code-provider.d.ts +0 -2
  15. package/dist/claude-code-provider.d.ts.map +1 -1
  16. package/dist/claude-code-provider.js +66 -16
  17. package/dist/claude-code-provider.js.map +1 -1
  18. package/dist/cli.js +11 -1
  19. package/dist/cli.js.map +1 -1
  20. package/dist/cost-calculator.d.ts +80 -0
  21. package/dist/cost-calculator.d.ts.map +1 -0
  22. package/dist/cost-calculator.js +226 -0
  23. package/dist/cost-calculator.js.map +1 -0
  24. package/dist/error-codes.d.ts +1 -0
  25. package/dist/error-codes.d.ts.map +1 -1
  26. package/dist/error-codes.js +2 -0
  27. package/dist/error-codes.js.map +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +172 -10
  30. package/dist/index.js.map +1 -1
  31. package/dist/logging.d.ts +1 -1
  32. package/dist/logging.d.ts.map +1 -1
  33. package/dist/logging.js +25 -33
  34. package/dist/logging.js.map +1 -1
  35. package/dist/mock-agent-provider.d.ts +6 -3
  36. package/dist/mock-agent-provider.d.ts.map +1 -1
  37. package/dist/mock-agent-provider.js +12 -5
  38. package/dist/mock-agent-provider.js.map +1 -1
  39. package/dist/opencode-provider.d.ts +0 -2
  40. package/dist/opencode-provider.d.ts.map +1 -1
  41. package/dist/opencode-provider.js +90 -17
  42. package/dist/opencode-provider.js.map +1 -1
  43. package/dist/runtime-config.d.ts.map +1 -1
  44. package/dist/runtime-config.js +92 -0
  45. package/dist/runtime-config.js.map +1 -1
  46. package/dist/scan-history.d.ts +82 -0
  47. package/dist/scan-history.d.ts.map +1 -0
  48. package/dist/scan-history.js +127 -0
  49. package/dist/scan-history.js.map +1 -0
  50. package/dist/scan-runner.d.ts +64 -1
  51. package/dist/scan-runner.d.ts.map +1 -1
  52. package/dist/scan-runner.js +173 -14
  53. package/dist/scan-runner.js.map +1 -1
  54. package/dist/stats.d.ts +11 -0
  55. package/dist/stats.d.ts.map +1 -0
  56. package/dist/stats.js +197 -0
  57. package/dist/stats.js.map +1 -0
  58. package/dist/types.d.ts +40 -1
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/types.js.map +1 -1
  61. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,eAAe,CAAC;AAoSvB,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAyR3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,eAAe,CAAC;AA4WvB,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAuX3D"}
package/dist/index.js CHANGED
@@ -5,7 +5,9 @@
5
5
  import 'dotenv/config';
6
6
  import { readFile, writeFile, stat, mkdir, readdir } from 'node:fs/promises';
7
7
  import { resolve, dirname } from 'node:path';
8
- import { runMultiScan } from './scan-runner.js';
8
+ import { runMultiScanWithCost } from './scan-runner.js';
9
+ import { loadDefaultPricing, mergePricing, formatCostSourceLabel } from './cost-calculator.js';
10
+ import { saveScanRecord, queryScanHistory } from './scan-history.js';
9
11
  import { createProviderByName, getProviderNames, DEFAULT_PROVIDER_NAME } from './provider-registry.js';
10
12
  import { loadCheckRegistry, discoverCheckFolders, resolveChecks, filterChecksForRepository, validateCheck, loadCheckDetails, } from './check-library.js';
11
13
  import { analyzeRepository } from './repository-analyzer.js';
@@ -34,7 +36,31 @@ async function createMockProvider() {
34
36
  throw new Error(`Failed to read AGHAST_MOCK_AI response file: ${mockAiValue}`, { cause: err });
35
37
  }
36
38
  }
37
- const provider = new MockAgentProvider({ rawResponse });
39
+ // Optional mock token usage for testing cost/budget pipelines.
40
+ // Format: AGHAST_MOCK_TOKENS="<input>,<output>" (e.g. "1000,500")
41
+ // When AGHAST_LOCAL_CLAUDE=true, inject a mock reportedCost so that the
42
+ // coveredBySubscription path (banner "equivalent", label) is exercisable in tests.
43
+ let tokenUsage;
44
+ const mockTokensRaw = process.env.AGHAST_MOCK_TOKENS;
45
+ if (mockTokensRaw) {
46
+ const parts = mockTokensRaw.split(',').map((s) => Number(s.trim()));
47
+ if (parts.length === 2 && parts.every((n) => Number.isFinite(n) && n >= 0)) {
48
+ const useLocalClaude = process.env.AGHAST_LOCAL_CLAUDE === 'true';
49
+ tokenUsage = {
50
+ inputTokens: parts[0],
51
+ outputTokens: parts[1],
52
+ totalTokens: parts[0] + parts[1],
53
+ ...(useLocalClaude ? {
54
+ reportedCost: {
55
+ amountUsd: (parts[0] + parts[1]) / 1_000_000,
56
+ source: 'claude-agent-sdk',
57
+ coveredBySubscription: true,
58
+ },
59
+ } : {}),
60
+ };
61
+ }
62
+ }
63
+ const provider = new MockAgentProvider({ rawResponse, tokenUsage });
38
64
  await provider.initialize({});
39
65
  return provider;
40
66
  }
@@ -63,6 +89,10 @@ General options:
63
89
  --model <model> AI model override (e.g. claude-sonnet-4-20250514)
64
90
  --agent-provider <name> Agent provider name (default: claude-code)
65
91
  --generic-prompt <file> Generic prompt template filename in prompts/ dir
92
+ --budget-limit-cost <usd> Abort the scan when accumulated cost exceeds this
93
+ USD value. Warns at 80%, aborts at 100%
94
+ --budget-limit-tokens <n> Abort the scan when accumulated tokens exceed n.
95
+ Warns at 80%, aborts at 100%
66
96
 
67
97
  Environment variables:
68
98
  ANTHROPIC_API_KEY API key for Claude (required for AI-based checks)
@@ -101,6 +131,8 @@ function parseArgs(args) {
101
131
  let model;
102
132
  let agentProvider;
103
133
  let genericPrompt;
134
+ let budgetLimitCost;
135
+ let budgetLimitTokens;
104
136
  for (let i = startIdx; i < args.length; i++) {
105
137
  switch (args[i]) {
106
138
  case '--config-dir': {
@@ -197,6 +229,36 @@ function parseArgs(args) {
197
229
  i++;
198
230
  break;
199
231
  }
232
+ case '--budget-limit-cost': {
233
+ const raw = args[i + 1];
234
+ if (!raw) {
235
+ console.error(formatError(ERROR_CODES.E1001, '--budget-limit-cost requires a number argument (USD)'));
236
+ process.exit(1);
237
+ }
238
+ const n = Number(raw);
239
+ if (!Number.isFinite(n) || n <= 0) {
240
+ console.error(formatError(ERROR_CODES.E1001, `--budget-limit-cost must be a positive number (got "${raw}")`));
241
+ process.exit(1);
242
+ }
243
+ budgetLimitCost = n;
244
+ i++;
245
+ break;
246
+ }
247
+ case '--budget-limit-tokens': {
248
+ const raw = args[i + 1];
249
+ if (!raw) {
250
+ console.error(formatError(ERROR_CODES.E1001, '--budget-limit-tokens requires a number argument'));
251
+ process.exit(1);
252
+ }
253
+ const n = Number(raw);
254
+ if (!Number.isFinite(n) || n <= 0 || !Number.isInteger(n)) {
255
+ console.error(formatError(ERROR_CODES.E1001, `--budget-limit-tokens must be a positive integer (got "${raw}")`));
256
+ process.exit(1);
257
+ }
258
+ budgetLimitTokens = n;
259
+ i++;
260
+ break;
261
+ }
200
262
  // --fail-on-check-failure and --debug are handled above via includes()
201
263
  }
202
264
  }
@@ -204,12 +266,18 @@ function parseArgs(args) {
204
266
  repositoryPath, configDir, outputPath, outputFormat,
205
267
  failOnCheckFailure, debug, logLevel, logFile, logType,
206
268
  runtimeConfigPath, model, agentProvider, genericPrompt,
269
+ budgetLimitCost, budgetLimitTokens,
207
270
  };
208
271
  }
209
272
  async function createProvider(useMock, agentProviderName, modelOverride) {
210
273
  if (useMock) {
211
274
  logProgress(TAG, `Mock provider enabled via AGHAST_MOCK_AI=${process.env.AGHAST_MOCK_AI}`);
212
- return { provider: await createMockProvider(), modelName: MOCK_MODEL_NAME };
275
+ const provider = await createMockProvider();
276
+ // Honour --model in mock mode so cost-calculation tests can target a known
277
+ // pricing entry. Defaults to MOCK_MODEL_NAME.
278
+ const effectiveModel = modelOverride ?? MOCK_MODEL_NAME;
279
+ provider.setModel?.(effectiveModel);
280
+ return { provider, modelName: effectiveModel };
213
281
  }
214
282
  const provider = createProviderByName(agentProviderName);
215
283
  await provider.initialize({
@@ -415,9 +483,6 @@ export async function runScan(args) {
415
483
  let modelName;
416
484
  if (needsAI) {
417
485
  ({ provider, modelName } = await createProvider(useMock, agentProviderName, modelOverride));
418
- if (resolvedLogLevel === 'debug' || resolvedLogLevel === 'trace') {
419
- provider.enableDebug?.();
420
- }
421
486
  logProgress(TAG, `Using model: ${modelName}`);
422
487
  }
423
488
  // ─── Conditional Semgrep verification ───
@@ -440,8 +505,43 @@ export async function runScan(args) {
440
505
  process.exit(1);
441
506
  }
442
507
  }
508
+ // ─── Pricing + budget setup ───
509
+ const defaultPricing = await loadDefaultPricing();
510
+ const pricing = mergePricing(defaultPricing, runtimeConfig.pricing);
511
+ const budgetLimits = (() => {
512
+ const cliCost = parsed.budgetLimitCost;
513
+ const cliTokens = parsed.budgetLimitTokens;
514
+ const cfg = runtimeConfig.budget;
515
+ if (cliCost === undefined && cliTokens === undefined && !cfg)
516
+ return undefined;
517
+ const out = {};
518
+ const perScan = { ...(cfg?.perScan ?? {}) };
519
+ if (cliCost !== undefined)
520
+ perScan.maxCostUsd = cliCost;
521
+ if (cliTokens !== undefined)
522
+ perScan.maxTokens = cliTokens;
523
+ if (perScan.maxCostUsd !== undefined || perScan.maxTokens !== undefined) {
524
+ out.perScan = perScan;
525
+ }
526
+ if (cfg?.perPeriod && cfg.perPeriod.window && cfg.perPeriod.maxCostUsd !== undefined) {
527
+ out.perPeriod = { window: cfg.perPeriod.window, maxCostUsd: cfg.perPeriod.maxCostUsd };
528
+ }
529
+ if (cfg?.thresholds)
530
+ out.thresholds = cfg.thresholds;
531
+ return Object.keys(out).length > 0 ? out : undefined;
532
+ })();
533
+ // Pre-load history for period budget checks (skip when no period limit set)
534
+ let scanHistoryForBudget;
535
+ if (budgetLimits?.perPeriod) {
536
+ try {
537
+ scanHistoryForBudget = await queryScanHistory();
538
+ }
539
+ catch (err) {
540
+ logDebug(TAG, `Could not load scan history for budget check: ${err instanceof Error ? err.message : String(err)}`);
541
+ }
542
+ }
443
543
  try {
444
- const results = await runMultiScan({
544
+ const outcome = await runMultiScanWithCost({
445
545
  repositoryPath: effectiveRepoPath,
446
546
  checks: checksWithDetails,
447
547
  agentProvider: provider,
@@ -450,7 +550,12 @@ export async function runScan(args) {
450
550
  agentProviderName: needsAI ? (useMock ? 'mock' : agentProviderName) : undefined,
451
551
  configDir,
452
552
  genericPrompt,
553
+ pricing,
554
+ budgetLimits,
555
+ scanHistory: scanHistoryForBudget,
556
+ isLocalClaude: process.env.AGHAST_LOCAL_CLAUDE === 'true',
453
557
  });
558
+ const results = outcome.results;
454
559
  // Resolve output path: --output flag > runtime config dir > default
455
560
  let resolvedOutputPath;
456
561
  if (parsed.outputPath) {
@@ -484,14 +589,71 @@ export async function runScan(args) {
484
589
  console.log(` Errors: ${results.summary.errorChecks}`);
485
590
  console.log(` Total issues: ${results.summary.totalIssues}`);
486
591
  if (results.tokenUsage) {
487
- console.log(` Tokens: ${results.tokenUsage.totalTokens.toLocaleString()} (in: ${results.tokenUsage.inputTokens.toLocaleString()}, out: ${results.tokenUsage.outputTokens.toLocaleString()})`);
592
+ const tu = results.tokenUsage;
593
+ const cacheSegments = [
594
+ tu.cacheReadInputTokens !== undefined ? ` cache-read: ${tu.cacheReadInputTokens.toLocaleString()}` : '',
595
+ tu.cacheCreationInputTokens !== undefined ? ` cache-write: ${tu.cacheCreationInputTokens.toLocaleString()}` : '',
596
+ tu.reasoningTokens !== undefined ? ` reasoning: ${tu.reasoningTokens.toLocaleString()}` : '',
597
+ ].filter(Boolean).join(',');
598
+ const tokenDetail = `(in: ${tu.inputTokens.toLocaleString()}, out: ${tu.outputTokens.toLocaleString()}${cacheSegments ? ',' + cacheSegments : ''})`;
599
+ console.log(` Tokens: ${tu.totalTokens.toLocaleString()} ${tokenDetail}`);
600
+ }
601
+ if (outcome.totalCostUsd > 0 || outcome.costSource === 'estimated-unpriced') {
602
+ const label = formatCostSourceLabel(outcome.costSource, outcome.costReportedBy, outcome.costCoveredBySubscription);
603
+ const equiv = outcome.costCoveredBySubscription ? ' equivalent' : '';
604
+ console.log(` Cost: $${outcome.totalCostUsd.toFixed(4)}${equiv} ${label}`);
488
605
  }
489
606
  console.log(` Duration: ${globalTimer.elapsedStr()}`);
490
607
  console.log(` Results: ${resolvedOutputPath}`);
491
608
  console.log('='.repeat(60));
492
- // Exit code based on --fail-on-check-failure flag or runtime config (spec Section 9.3)
609
+ // Persist the scan record to history (best-effort never blocks exit).
610
+ // We DO save the record even when the scan was aborted by budget: per-period
611
+ // budgets aggregate over historical scans, so the partial cost incurred
612
+ // before the abort must be recorded — otherwise a user could repeatedly
613
+ // hit the budget abort and still consume more total spend than the period
614
+ // limit allows.
615
+ try {
616
+ const record = {
617
+ scanId: results.scanId,
618
+ startedAt: results.startTime,
619
+ endedAt: results.endTime,
620
+ durationMs: results.executionTime,
621
+ repository: effectiveRepoPath,
622
+ repositoryUrl: repoAnalysis?.repository.remoteUrl,
623
+ models: outcome.models.length > 0 ? outcome.models : (modelName ? [modelName] : []),
624
+ tokenUsage: results.tokenUsage,
625
+ totalCost: outcome.totalCostUsd,
626
+ currency: outcome.currency,
627
+ costSource: outcome.costSource,
628
+ costReportedBy: outcome.costReportedBy,
629
+ costCoveredBySubscription: outcome.costCoveredBySubscription,
630
+ checks: results.summary.totalChecks,
631
+ issues: results.summary.totalIssues,
632
+ };
633
+ await saveScanRecord(record);
634
+ }
635
+ catch (err) {
636
+ logDebug(TAG, `Failed to save scan history: ${err instanceof Error ? err.message : String(err)}`);
637
+ }
638
+ // A budget abort is a deliberate failure mode the user opted into via
639
+ // --budget-limit-* / runtime config — it must always exit non-zero (and
640
+ // surface E7001 to stderr) regardless of --fail-on-check-failure. Doing
641
+ // otherwise would silently drop the abort signal in CI pipelines that
642
+ // rely on the exit code as a guardrail.
643
+ //
644
+ // Emit through both stderr (for terminal users / CI logs) AND the logging
645
+ // system (so --log-file captures the abort reason — console.error bypasses
646
+ // registered log handlers).
647
+ if (outcome.budgetAborted) {
648
+ const reason = outcome.budgetAbortReason ?? 'Budget limit exceeded';
649
+ console.error(formatError(ERROR_CODES.E7001, reason));
650
+ logProgress(TAG, `Scan aborted by budget: ${reason}`);
651
+ }
652
+ // Exit code based on --fail-on-check-failure flag or runtime config (spec Section 9.3),
653
+ // OR a budget abort.
493
654
  const failOnCheckFailure = parsed.failOnCheckFailure || runtimeConfig.failOnCheckFailure === true;
494
- const shouldFail = failOnCheckFailure && (results.summary.failedChecks > 0 || results.summary.errorChecks > 0);
655
+ const shouldFail = outcome.budgetAborted ||
656
+ (failOnCheckFailure && (results.summary.failedChecks > 0 || results.summary.errorChecks > 0));
495
657
  await closeAllHandlers();
496
658
  process.exit(shouldFail ? 1 : 0);
497
659
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/logging.d.ts CHANGED
@@ -45,7 +45,7 @@ export declare class FileHandler implements LogHandler {
45
45
  readonly name: string;
46
46
  level: LogLevel | 'silent';
47
47
  private priority;
48
- private stream;
48
+ private fd;
49
49
  constructor(filePath: string, level?: LogLevel | 'silent', name?: string);
50
50
  handle(entry: LogEntry): void;
51
51
  close(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
package/dist/logging.js CHANGED
@@ -8,7 +8,7 @@
8
8
  * A ConsoleHandler is registered by default. Additional handlers (e.g. FileHandler)
9
9
  * can be added at runtime via addHandler().
10
10
  */
11
- import { createWriteStream, mkdirSync } from 'node:fs';
11
+ import { openSync, writeSync, closeSync, mkdirSync } from 'node:fs';
12
12
  import { dirname } from 'node:path';
13
13
  const LOG_LEVEL_PRIORITY = {
14
14
  error: 0,
@@ -90,64 +90,56 @@ export class FileHandler {
90
90
  name;
91
91
  level;
92
92
  priority;
93
- stream = null;
93
+ fd = null;
94
94
  constructor(filePath, level = 'trace', name = 'file') {
95
95
  this.name = name;
96
96
  this.level = level;
97
97
  this.priority = level === 'silent' ? SILENT_PRIORITY : LOG_LEVEL_PRIORITY[level];
98
98
  try {
99
99
  mkdirSync(dirname(filePath), { recursive: true });
100
- this.stream = createWriteStream(filePath, { flags: 'w', encoding: 'utf-8', mode: 0o600 });
101
- this.stream.on('error', (err) => {
102
- console.warn(`[logging] File handler write error: ${err.message}`);
103
- this.stream = null;
104
- });
100
+ this.fd = openSync(filePath, 'w', 0o600);
105
101
  }
106
102
  catch (err) {
107
103
  const msg = err instanceof Error ? err.message : String(err);
108
104
  console.warn(`[logging] Failed to open log file "${filePath}": ${msg}`);
109
- this.stream = null;
105
+ this.fd = null;
110
106
  }
111
107
  }
112
108
  handle(entry) {
113
- if (!this.stream)
109
+ if (this.fd === null)
114
110
  return;
115
111
  const entryPriority = LOG_LEVEL_PRIORITY[entry.level];
116
112
  if (entryPriority > this.priority)
117
113
  return;
118
114
  const levelTag = `[${entry.level}]`;
115
+ const header = `${entry.timestamp} [${entry.tag}]${levelTag} ${entry.message}`;
119
116
  let line;
120
- const message = entry.message.includes('\n')
121
- ? `[base64] ${Buffer.from(entry.message, 'utf-8').toString('base64')}`
122
- : entry.message;
123
117
  if (entry.data === undefined) {
124
- line = `${entry.timestamp} [${entry.tag}]${levelTag} ${message}`;
118
+ line = header;
125
119
  }
126
120
  else {
127
- const formatted = typeof entry.data === 'string' ? entry.data : JSON.stringify(entry.data);
128
- if (entry.level === 'trace' || formatted.includes('\n')) {
129
- const b64 = Buffer.from(formatted, 'utf-8').toString('base64');
130
- line = `${entry.timestamp} [${entry.tag}]${levelTag} ${message}: [base64] ${b64}`;
131
- }
132
- else {
133
- line = `${entry.timestamp} [${entry.tag}]${levelTag} ${message}: ${formatted}`;
134
- }
121
+ const formatted = typeof entry.data === 'string' ? entry.data : JSON.stringify(entry.data, null, 2);
122
+ line = `${header}\n${formatted}\n--- end ---`;
123
+ }
124
+ try {
125
+ writeSync(this.fd, line + '\n');
126
+ }
127
+ catch (err) {
128
+ console.warn(`[logging] File handler write error: ${err instanceof Error ? err.message : String(err)}`);
129
+ this.fd = null;
135
130
  }
136
- this.stream.write(line + '\n');
137
131
  }
138
132
  close() {
139
- if (!this.stream)
133
+ if (this.fd === null)
140
134
  return Promise.resolve();
141
- const stream = this.stream;
142
- this.stream = null;
143
- if (stream.destroyed || stream.closed)
144
- return Promise.resolve();
145
- return new Promise((resolve) => {
146
- stream.end(() => {
147
- stream.destroy();
148
- resolve();
149
- });
150
- });
135
+ try {
136
+ closeSync(this.fd);
137
+ }
138
+ catch {
139
+ // best-effort
140
+ }
141
+ this.fd = null;
142
+ return Promise.resolve();
151
143
  }
152
144
  }
153
145
  // --- Log Type Registry ---
@@ -1 +1 @@
1
- {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
@@ -4,18 +4,21 @@
4
4
  * Returns a fixed raw response without calling any AI API.
5
5
  * This is shipped with the package (unlike the full test mock in tests/mocks/).
6
6
  */
7
- import type { AgentProvider, AgentResponse, ProviderConfig } from './types.js';
7
+ import type { AgentProvider, AgentResponse, ProviderConfig, TokenUsage } from './types.js';
8
8
  export declare class MockAgentProvider implements AgentProvider {
9
9
  private rawResponse;
10
+ private model;
11
+ private tokenUsage;
10
12
  constructor(options: {
11
13
  rawResponse: string;
14
+ tokenUsage?: TokenUsage;
12
15
  });
13
16
  initialize(_config: ProviderConfig): Promise<void>;
14
17
  executeCheck(_instructions: string, _repositoryPath: string, _logPrefix?: string, _options?: {
15
18
  maxTurns?: number;
16
19
  }): Promise<AgentResponse>;
17
20
  validateConfig(): Promise<boolean>;
18
- setModel(_model: string): void;
19
- enableDebug(): void;
21
+ getModelName(): string;
22
+ setModel(model: string): void;
20
23
  }
21
24
  //# sourceMappingURL=mock-agent-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-agent-provider.d.ts","sourceRoot":"","sources":["../src/mock-agent-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/E,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,WAAW,CAAS;gBAEhB,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE;IAItC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,YAAY,CAChB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/B,OAAO,CAAC,aAAa,CAAC;IAOnB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI9B,WAAW,IAAI,IAAI;CAGpB"}
1
+ {"version":3,"file":"mock-agent-provider.d.ts","sourceRoot":"","sources":["../src/mock-agent-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE3F,qBAAa,iBAAkB,YAAW,aAAa;IACrD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,UAAU,CAAyB;gBAE/B,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,UAAU,CAAA;KAAE;IAK/D,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,YAAY,CAChB,aAAa,EAAE,MAAM,EACrB,eAAe,EAAE,MAAM,EACvB,UAAU,CAAC,EAAE,MAAM,EACnB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/B,OAAO,CAAC,aAAa,CAAC;IAWnB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC,YAAY,IAAI,MAAM;IAItB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAI9B"}
@@ -6,26 +6,33 @@
6
6
  */
7
7
  export class MockAgentProvider {
8
8
  rawResponse;
9
+ model = 'mock';
10
+ tokenUsage;
9
11
  constructor(options) {
10
12
  this.rawResponse = options.rawResponse;
13
+ this.tokenUsage = options.tokenUsage;
11
14
  }
12
15
  async initialize(_config) {
13
16
  // No-op
14
17
  }
15
18
  async executeCheck(_instructions, _repositoryPath, _logPrefix, _options) {
16
- return {
19
+ const response = {
17
20
  raw: this.rawResponse,
18
21
  parsed: undefined,
19
22
  };
23
+ if (this.tokenUsage) {
24
+ response.tokenUsage = { ...this.tokenUsage };
25
+ }
26
+ return response;
20
27
  }
21
28
  async validateConfig() {
22
29
  return true;
23
30
  }
24
- setModel(_model) {
25
- // No-op for mock provider
31
+ getModelName() {
32
+ return this.model;
26
33
  }
27
- enableDebug() {
28
- // No-op
34
+ setModel(model) {
35
+ this.model = model;
29
36
  }
30
37
  }
31
38
  //# sourceMappingURL=mock-agent-provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mock-agent-provider.js","sourceRoot":"","sources":["../src/mock-agent-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,iBAAiB;IACpB,WAAW,CAAS;IAE5B,YAAY,OAAgC;QAC1C,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,QAAQ;IACV,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,aAAqB,EACrB,eAAuB,EACvB,UAAmB,EACnB,QAAgC;QAEhC,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,WAAW;YACrB,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,0BAA0B;IAC5B,CAAC;IAED,WAAW;QACT,QAAQ;IACV,CAAC;CACF"}
1
+ {"version":3,"file":"mock-agent-provider.js","sourceRoot":"","sources":["../src/mock-agent-provider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,iBAAiB;IACpB,WAAW,CAAS;IACpB,KAAK,GAAW,MAAM,CAAC;IACvB,UAAU,CAAyB;IAE3C,YAAY,OAAyD;QACnE,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,QAAQ;IACV,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,aAAqB,EACrB,eAAuB,EACvB,UAAmB,EACnB,QAAgC;QAEhC,MAAM,QAAQ,GAAkB;YAC9B,GAAG,EAAE,IAAI,CAAC,WAAW;YACrB,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,QAAQ,CAAC,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CAEF"}