appsec-agent 2.8.0 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +105 -31
  2. package/conf/appsec_agent.yaml +7 -0
  3. package/dist/bin/agent-run.js +14 -17
  4. package/dist/bin/agent-run.js.map +1 -1
  5. package/dist/conf/appsec_agent.yaml +7 -0
  6. package/dist/src/__tests__/mocks/codex_sdk.d.ts +53 -0
  7. package/dist/src/__tests__/mocks/codex_sdk.d.ts.map +1 -0
  8. package/dist/src/__tests__/mocks/codex_sdk.js +8 -0
  9. package/dist/src/__tests__/mocks/codex_sdk.js.map +1 -0
  10. package/dist/src/agent_actions.d.ts +5 -1
  11. package/dist/src/agent_actions.d.ts.map +1 -1
  12. package/dist/src/agent_actions.js +103 -27
  13. package/dist/src/agent_actions.js.map +1 -1
  14. package/dist/src/agent_options.d.ts +20 -94
  15. package/dist/src/agent_options.d.ts.map +1 -1
  16. package/dist/src/agent_options.js +219 -311
  17. package/dist/src/agent_options.js.map +1 -1
  18. package/dist/src/index.d.ts +2 -1
  19. package/dist/src/index.d.ts.map +1 -1
  20. package/dist/src/index.js +6 -1
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/llm_query.d.ts +4 -43
  23. package/dist/src/llm_query.d.ts.map +1 -1
  24. package/dist/src/llm_query.js +4 -145
  25. package/dist/src/llm_query.js.map +1 -1
  26. package/dist/src/main.d.ts.map +1 -1
  27. package/dist/src/main.js +70 -10
  28. package/dist/src/main.js.map +1 -1
  29. package/dist/src/mcp_internal.d.ts +13 -0
  30. package/dist/src/mcp_internal.d.ts.map +1 -0
  31. package/dist/src/mcp_internal.js +34 -0
  32. package/dist/src/mcp_internal.js.map +1 -0
  33. package/dist/src/providers/claude_provider.d.ts +18 -0
  34. package/dist/src/providers/claude_provider.d.ts.map +1 -0
  35. package/dist/src/providers/claude_provider.js +27 -0
  36. package/dist/src/providers/claude_provider.js.map +1 -0
  37. package/dist/src/providers/claude_role_spec.d.ts +10 -0
  38. package/dist/src/providers/claude_role_spec.d.ts.map +1 -0
  39. package/dist/src/providers/claude_role_spec.js +85 -0
  40. package/dist/src/providers/claude_role_spec.js.map +1 -0
  41. package/dist/src/providers/codex_model.d.ts +12 -0
  42. package/dist/src/providers/codex_model.d.ts.map +1 -0
  43. package/dist/src/providers/codex_model.js +45 -0
  44. package/dist/src/providers/codex_model.js.map +1 -0
  45. package/dist/src/providers/codex_provider.d.ts +30 -0
  46. package/dist/src/providers/codex_provider.d.ts.map +1 -0
  47. package/dist/src/providers/codex_provider.js +170 -0
  48. package/dist/src/providers/codex_provider.js.map +1 -0
  49. package/dist/src/providers/codex_role_spec.d.ts +16 -0
  50. package/dist/src/providers/codex_role_spec.d.ts.map +1 -0
  51. package/dist/src/providers/codex_role_spec.js +63 -0
  52. package/dist/src/providers/codex_role_spec.js.map +1 -0
  53. package/dist/src/providers/query_message.d.ts +45 -0
  54. package/dist/src/providers/query_message.d.ts.map +1 -0
  55. package/dist/src/providers/query_message.js +8 -0
  56. package/dist/src/providers/query_message.js.map +1 -0
  57. package/dist/src/providers/resolve_provider.d.ts +10 -0
  58. package/dist/src/providers/resolve_provider.d.ts.map +1 -0
  59. package/dist/src/providers/resolve_provider.js +29 -0
  60. package/dist/src/providers/resolve_provider.js.map +1 -0
  61. package/dist/src/providers/role_spec.d.ts +39 -0
  62. package/dist/src/providers/role_spec.d.ts.map +1 -0
  63. package/dist/src/providers/role_spec.js +8 -0
  64. package/dist/src/providers/role_spec.js.map +1 -0
  65. package/dist/src/providers/structured_output.d.ts +21 -0
  66. package/dist/src/providers/structured_output.d.ts.map +1 -0
  67. package/dist/src/providers/structured_output.js +61 -0
  68. package/dist/src/providers/structured_output.js.map +1 -0
  69. package/dist/src/providers/types.d.ts +18 -0
  70. package/dist/src/providers/types.d.ts.map +1 -0
  71. package/dist/src/providers/types.js +15 -0
  72. package/dist/src/providers/types.js.map +1 -0
  73. package/dist/src/schemas/threat_adversary_pass.d.ts +18 -0
  74. package/dist/src/schemas/threat_adversary_pass.d.ts.map +1 -0
  75. package/dist/src/schemas/threat_adversary_pass.js +59 -0
  76. package/dist/src/schemas/threat_adversary_pass.js.map +1 -0
  77. package/dist/src/schemas/threat_model_report.d.ts +11 -0
  78. package/dist/src/schemas/threat_model_report.d.ts.map +1 -1
  79. package/dist/src/schemas/threat_model_report.js +21 -4
  80. package/dist/src/schemas/threat_model_report.js.map +1 -1
  81. package/dist/src/utils.js +1 -1
  82. package/dist/src/utils.js.map +1 -1
  83. package/package.json +3 -3
  84. package/dist/src/openai_tools.d.ts +0 -26
  85. package/dist/src/openai_tools.d.ts.map +0 -1
  86. package/dist/src/openai_tools.js +0 -194
  87. package/dist/src/openai_tools.js.map +0 -1
@@ -7,7 +7,7 @@
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.AgentActions = void 0;
9
9
  const agent_options_1 = require("./agent_options");
10
- const llm_query_1 = require("./llm_query");
10
+ const resolve_provider_1 = require("./providers/resolve_provider");
11
11
  const blinking_cursor_1 = require("./blinking_cursor");
12
12
  class AgentActions {
13
13
  confDict;
@@ -24,7 +24,7 @@ class AgentActions {
24
24
  */
25
25
  async simpleQueryClaudeWithOptions(yourPrompt, srcDir) {
26
26
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
27
- const options = agentOptions.getSimpleQueryAgentOptions(this.args.role, srcDir);
27
+ const roleSpec = agentOptions.getSimpleQueryAgentRoleSpec(this.args.role, srcDir);
28
28
  // Build prompt with conversation history and source directory context
29
29
  const sourceDirContext = srcDir
30
30
  ? `\n\nContext: There is a source code directory available at ${srcDir}. You can search and read files within this directory to answer questions. The directory is located in the current working directory.\n`
@@ -60,7 +60,7 @@ class AgentActions {
60
60
  };
61
61
  try {
62
62
  cursor.start();
63
- for await (const msg of (0, llm_query_1.llmQuery)({ prompt: fullPrompt, options })) {
63
+ for await (const msg of (0, resolve_provider_1.resolveProvider)().run({ prompt: fullPrompt, roleSpec })) {
64
64
  if (this.args.verbose) {
65
65
  console.error(`[DEBUG] Message type: ${msg.type}`);
66
66
  }
@@ -121,7 +121,7 @@ class AgentActions {
121
121
  console.error(`Error subtype: ${finalResult.subtype}`);
122
122
  }
123
123
  if (finalResult.subtype === 'error_max_turns') {
124
- console.error(`\nNote: The conversation stopped because max_turns (${options.maxTurns || 1}) was reached.`);
124
+ console.error(`\nNote: The conversation stopped because max_turns (${roleSpec.maxTurns || 1}) was reached.`);
125
125
  console.error(`To allow the agent to use tools and continue, increase max_turns in the configuration or use the code_reviewer role.`);
126
126
  }
127
127
  }
@@ -174,7 +174,7 @@ class AgentActions {
174
174
  */
175
175
  async codeReviewerWithOptions(userPrompt) {
176
176
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
177
- const options = agentOptions.getCodeReviewerOptions(this.args.role, this.args.output_format, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
177
+ const roleSpec = agentOptions.getCodeReviewerRoleSpec(this.args.role, this.args.output_format, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
178
178
  let cursor = null;
179
179
  let structuredJson = '';
180
180
  let hadSuccessfulRun = false;
@@ -184,7 +184,7 @@ class AgentActions {
184
184
  cursor = new blinking_cursor_1.BlinkingCursor();
185
185
  cursor.start();
186
186
  try {
187
- for await (const message of (0, llm_query_1.llmQuery)({ prompt: userPrompt, options })) {
187
+ for await (const message of (0, resolve_provider_1.resolveProvider)().run({ prompt: userPrompt, roleSpec })) {
188
188
  if (message.type === 'stream_event') {
189
189
  // Stop cursor when we receive stream events
190
190
  if (cursor)
@@ -288,16 +288,18 @@ class AgentActions {
288
288
  /**
289
289
  * Threat modeler agent with options
290
290
  */
291
- async threatModelerAgentWithOptions(userPrompt) {
291
+ async threatModelerAgentWithOptions(userPrompt, srcDir) {
292
292
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
293
- const options = agentOptions.getThreatModelerOptions(this.args.role, this.args.output_format);
293
+ const roleSpec = agentOptions.getThreatModelerRoleSpec(this.args.role, this.args.output_format, srcDir ?? process.cwd(), this.args.max_turns);
294
294
  let cursor = null;
295
295
  let structuredJson = '';
296
+ let tokensIn = 0;
297
+ let tokensOut = 0;
296
298
  try {
297
299
  cursor = new blinking_cursor_1.BlinkingCursor();
298
300
  cursor.start();
299
301
  try {
300
- for await (const message of (0, llm_query_1.llmQuery)({ prompt: userPrompt, options })) {
302
+ for await (const message of (0, resolve_provider_1.resolveProvider)().run({ prompt: userPrompt, roleSpec })) {
301
303
  if (message.type === 'stream_event') {
302
304
  if (cursor)
303
305
  cursor.stop();
@@ -325,12 +327,24 @@ class AgentActions {
325
327
  if (cursor)
326
328
  cursor.stop();
327
329
  const resultMsg = message;
328
- if (resultMsg.structured_output) {
329
- structuredJson = JSON.stringify(resultMsg.structured_output, null, 2);
330
+ const resultAny = resultMsg;
331
+ if (resultAny.structured_output) {
332
+ structuredJson = JSON.stringify(resultAny.structured_output, null, 2);
333
+ }
334
+ const usage = (resultAny.usage ?? resultAny.message?.usage);
335
+ if (usage) {
336
+ if (typeof usage.input_tokens === 'number')
337
+ tokensIn += usage.input_tokens;
338
+ if (typeof usage.output_tokens === 'number')
339
+ tokensOut += usage.output_tokens;
330
340
  }
331
341
  if (resultMsg.total_cost_usd && resultMsg.total_cost_usd > 0) {
332
342
  console.log(`\nCost: $${resultMsg.total_cost_usd.toFixed(4)}`);
333
343
  }
344
+ if (tokensIn > 0)
345
+ console.log(`Tokens input: ${tokensIn}`);
346
+ if (tokensOut > 0)
347
+ console.log(`Tokens output: ${tokensOut}`);
334
348
  }
335
349
  }
336
350
  }
@@ -360,14 +374,14 @@ class AgentActions {
360
374
  */
361
375
  async codeFixerWithOptions(userPrompt, srcDir) {
362
376
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
363
- const options = agentOptions.getCodeFixerOptions(this.args.role, srcDir, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
377
+ const roleSpec = agentOptions.getCodeFixerRoleSpec(this.args.role, srcDir, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
364
378
  let cursor = null;
365
379
  let structuredJson = '';
366
380
  try {
367
381
  cursor = new blinking_cursor_1.BlinkingCursor();
368
382
  cursor.start();
369
383
  try {
370
- for await (const message of (0, llm_query_1.llmQuery)({ prompt: userPrompt, options })) {
384
+ for await (const message of (0, resolve_provider_1.resolveProvider)().run({ prompt: userPrompt, roleSpec })) {
371
385
  if (message.type === 'stream_event') {
372
386
  if (cursor)
373
387
  cursor.stop();
@@ -423,14 +437,14 @@ class AgentActions {
423
437
  */
424
438
  async qaVerifierWithOptions(userPrompt, srcDir) {
425
439
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
426
- const options = agentOptions.getQaVerifierOptions(this.args.role, srcDir);
440
+ const roleSpec = agentOptions.getQaVerifierRoleSpec(this.args.role, srcDir);
427
441
  let cursor = null;
428
442
  let structuredJson = '';
429
443
  try {
430
444
  cursor = new blinking_cursor_1.BlinkingCursor();
431
445
  cursor.start();
432
446
  try {
433
- for await (const message of (0, llm_query_1.llmQuery)({ prompt: userPrompt, options })) {
447
+ for await (const message of (0, resolve_provider_1.resolveProvider)().run({ prompt: userPrompt, roleSpec })) {
434
448
  if (message.type === 'stream_event') {
435
449
  if (cursor)
436
450
  cursor.stop();
@@ -486,14 +500,14 @@ class AgentActions {
486
500
  */
487
501
  async contextExtractorWithOptions(userPrompt) {
488
502
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
489
- const options = agentOptions.getContextExtractorOptions(this.args.role);
503
+ const roleSpec = agentOptions.getContextExtractorRoleSpec(this.args.role);
490
504
  let cursor = null;
491
505
  let structuredJson = '';
492
506
  try {
493
507
  cursor = new blinking_cursor_1.BlinkingCursor();
494
508
  cursor.start();
495
509
  try {
496
- for await (const message of (0, llm_query_1.llmQuery)({ prompt: userPrompt, options })) {
510
+ for await (const message of (0, resolve_provider_1.resolveProvider)().run({ prompt: userPrompt, roleSpec })) {
497
511
  if (message.type === 'stream_event') {
498
512
  if (cursor)
499
513
  cursor.stop();
@@ -549,14 +563,14 @@ class AgentActions {
549
563
  */
550
564
  async findingValidatorWithOptions(userPrompt, srcDir) {
551
565
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
552
- const options = agentOptions.getFindingValidatorOptions(this.args.role, srcDir, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
566
+ const roleSpec = agentOptions.getFindingValidatorRoleSpec(this.args.role, srcDir, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
553
567
  let cursor = null;
554
568
  let structuredJson = '';
555
569
  try {
556
570
  cursor = new blinking_cursor_1.BlinkingCursor();
557
571
  cursor.start();
558
572
  try {
559
- for await (const message of (0, llm_query_1.llmQuery)({ prompt: userPrompt, options })) {
573
+ for await (const message of (0, resolve_provider_1.resolveProvider)().run({ prompt: userPrompt, roleSpec })) {
560
574
  if (message.type === 'stream_event') {
561
575
  if (cursor)
562
576
  cursor.stop();
@@ -616,7 +630,7 @@ class AgentActions {
616
630
  */
617
631
  async learnedGuidanceSynthesizerWithOptions(userPrompt) {
618
632
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
619
- const options = agentOptions.getLearnedGuidanceSynthesizerOptions(this.args.role);
633
+ const roleSpec = agentOptions.getLearnedGuidanceSynthesizerRoleSpec(this.args.role);
620
634
  let cursor = null;
621
635
  let structuredJson = '';
622
636
  let tokensIn = 0;
@@ -625,7 +639,7 @@ class AgentActions {
625
639
  cursor = new blinking_cursor_1.BlinkingCursor();
626
640
  cursor.start();
627
641
  try {
628
- for await (const message of (0, llm_query_1.llmQuery)({ prompt: userPrompt, options })) {
642
+ for await (const message of (0, resolve_provider_1.resolveProvider)().run({ prompt: userPrompt, roleSpec })) {
629
643
  if (message.type === 'stream_event') {
630
644
  if (cursor)
631
645
  cursor.stop();
@@ -706,7 +720,7 @@ class AgentActions {
706
720
  */
707
721
  async fpAdversaryWithOptions(userPrompt, srcDir) {
708
722
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
709
- const options = agentOptions.getFpAdversaryOptions(this.args.role, srcDir, this.args.max_turns, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
723
+ const roleSpec = agentOptions.getFpAdversaryRoleSpec(this.args.role, srcDir, this.args.max_turns, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
710
724
  let cursor = null;
711
725
  let structuredJson = '';
712
726
  let totalCostUsd = 0;
@@ -714,7 +728,7 @@ class AgentActions {
714
728
  cursor = new blinking_cursor_1.BlinkingCursor();
715
729
  cursor.start();
716
730
  try {
717
- for await (const message of (0, llm_query_1.llmQuery)({ prompt: userPrompt, options })) {
731
+ for await (const message of (0, resolve_provider_1.resolveProvider)().run({ prompt: userPrompt, roleSpec })) {
718
732
  if (message.type === 'stream_event') {
719
733
  if (cursor)
720
734
  cursor.stop();
@@ -794,14 +808,14 @@ class AgentActions {
794
808
  */
795
809
  async prAdversaryWithOptions(userPrompt, srcDir) {
796
810
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
797
- const options = agentOptions.getPrAdversaryOptions(this.args.role, srcDir, this.args.max_turns, this.args.experiment_enabled, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
811
+ const roleSpec = agentOptions.getPrAdversaryRoleSpec(this.args.role, srcDir, this.args.max_turns, this.args.experiment_enabled, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
798
812
  let cursor = null;
799
813
  let structuredJson = '';
800
814
  try {
801
815
  cursor = new blinking_cursor_1.BlinkingCursor();
802
816
  cursor.start();
803
817
  try {
804
- for await (const message of (0, llm_query_1.llmQuery)({ prompt: userPrompt, options })) {
818
+ for await (const message of (0, resolve_provider_1.resolveProvider)().run({ prompt: userPrompt, roleSpec })) {
805
819
  if (message.type === 'stream_event') {
806
820
  if (cursor)
807
821
  cursor.stop();
@@ -851,6 +865,68 @@ class AgentActions {
851
865
  console.log();
852
866
  return structuredJson;
853
867
  }
868
+ /**
869
+ * threat_adversary: adversarial second pass over first-pass threat model (filtered report out).
870
+ */
871
+ async threatAdversaryWithOptions(userPrompt, srcDir) {
872
+ const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
873
+ const roleSpec = agentOptions.getThreatAdversaryRoleSpec(this.args.role, srcDir, this.args.max_turns);
874
+ let cursor = null;
875
+ let structuredJson = '';
876
+ try {
877
+ cursor = new blinking_cursor_1.BlinkingCursor();
878
+ cursor.start();
879
+ try {
880
+ for await (const message of (0, resolve_provider_1.resolveProvider)().run({ prompt: userPrompt, roleSpec })) {
881
+ if (message.type === 'stream_event') {
882
+ if (cursor)
883
+ cursor.stop();
884
+ }
885
+ else if (message.type === 'assistant') {
886
+ if (cursor)
887
+ cursor.stop();
888
+ const assistantMsg = message;
889
+ if (this.args.verbose && assistantMsg.message.content) {
890
+ for (const block of assistantMsg.message.content) {
891
+ if (block.type === 'text') {
892
+ console.log(`Claude: ${block.text}`);
893
+ }
894
+ }
895
+ }
896
+ }
897
+ else if (message.type === 'result') {
898
+ if (cursor)
899
+ cursor.stop();
900
+ const resultMsg = message;
901
+ if (resultMsg.structured_output) {
902
+ structuredJson = JSON.stringify(resultMsg.structured_output, null, 2);
903
+ }
904
+ if (resultMsg.total_cost_usd && resultMsg.total_cost_usd > 0) {
905
+ console.log(`\nCost: $${resultMsg.total_cost_usd.toFixed(4)}`);
906
+ }
907
+ }
908
+ }
909
+ }
910
+ finally {
911
+ if (cursor)
912
+ cursor.stop();
913
+ }
914
+ }
915
+ catch (error) {
916
+ if (cursor) {
917
+ try {
918
+ cursor.stop();
919
+ }
920
+ catch {
921
+ // ignore
922
+ }
923
+ }
924
+ console.error('Error during threat adversarial pass:', error);
925
+ throw error;
926
+ }
927
+ console.log();
928
+ return structuredJson;
929
+ }
854
930
  /**
855
931
  * PR diff-focused code reviewer with options
856
932
  * Optimized for reviewing only changed code from a pull request
@@ -858,7 +934,7 @@ class AgentActions {
858
934
  */
859
935
  async diffReviewerWithOptions(userPrompt, srcDir, onResult, noTools) {
860
936
  const agentOptions = new agent_options_1.AgentOptions(this.confDict, this.environment, this.args.model);
861
- const options = agentOptions.getDiffReviewerOptions(this.args.role, srcDir, this.args.output_format, this.args.max_turns, noTools, this.args.experiment_enabled, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
937
+ const roleSpec = agentOptions.getDiffReviewerRoleSpec(this.args.role, srcDir, this.args.output_format, this.args.max_turns, noTools, this.args.experiment_enabled, this.args.mcp_server_url, this.args.mcp_server_name, this.args.mcp_server_bearer);
862
938
  let cursor = null;
863
939
  let structuredJson = '';
864
940
  let hadSuccessfulRun = false;
@@ -868,7 +944,7 @@ class AgentActions {
868
944
  cursor.start();
869
945
  try {
870
946
  let turnCount = 0;
871
- for await (const message of (0, llm_query_1.llmQuery)({ prompt: userPrompt, options })) {
947
+ for await (const message of (0, resolve_provider_1.resolveProvider)().run({ prompt: userPrompt, roleSpec })) {
872
948
  if (message.type === 'stream_event') {
873
949
  if (cursor)
874
950
  cursor.stop();
@@ -1 +1 @@
1
- {"version":3,"file":"agent_actions.js","sourceRoot":"","sources":["../../src/agent_actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent_actions.js","sourceRoot":"","sources":["../../src/agent_actions.ts"],"names":[],"mappings":"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"}
@@ -5,52 +5,14 @@
5
5
  */
6
6
  import { Options, CanUseTool } from '@anthropic-ai/claude-agent-sdk';
7
7
  import { ConfigDict } from './utils';
8
+ import type { RoleSpec } from './providers/role_spec';
9
+ import { DEFAULT_MCP_SERVER_NAME, MCP_INTERNAL_SERVER_NAME, MCP_INTERNAL_TOOL_NAMES, buildMcpInternalToolNames } from './mcp_internal';
10
+ export { DEFAULT_MCP_SERVER_NAME, MCP_INTERNAL_SERVER_NAME, MCP_INTERNAL_TOOL_NAMES, buildMcpInternalToolNames, };
8
11
  export interface ToolUsageLog {
9
12
  tool: string;
10
13
  input: any;
11
14
  suggestions: string;
12
15
  }
13
- /**
14
- * Default identifier the agent uses to register a parent-app-managed MCP
15
- * server with the Claude Agent SDK. The resulting tool names exposed to
16
- * the LLM follow the SDK convention `mcp__<server>__<tool>`, so this
17
- * value becomes the literal prefix the model sees on its tool list.
18
- *
19
- * The default is intentionally generic (`appsec-internal`) so the
20
- * `appsec-agent` package is reusable across parent apps. Callers that
21
- * need a different identifier — e.g. to keep an existing prompt-nudge or
22
- * counter contract stable — pass `--mcp-server-name <name>` on the CLI
23
- * (or `mcpServerName` to the role builders directly), and the override
24
- * threads through to both `Options.mcpServers[<name>]` and the namespaced
25
- * tool names in the subagent whitelist.
26
- */
27
- export declare const DEFAULT_MCP_SERVER_NAME = "appsec-internal";
28
- /**
29
- * @deprecated since v2.4.2 — historical alias for the default server name.
30
- * Kept exported so existing imports keep type-checking; new code should
31
- * read `DEFAULT_MCP_SERVER_NAME` (and pass an override via
32
- * `mcpServerName` when a specific identifier is required).
33
- */
34
- export declare const MCP_INTERNAL_SERVER_NAME = "appsec-internal";
35
- /**
36
- * Tools exposed by the per-scan in-process MCP server the parent app
37
- * stands up. Pinned at this set (`queryFindingsHistory`,
38
- * `queryImportGraph`, `queryRuntimeEnrichment`, `queryCodebaseGraph`) so
39
- * the agent's tool whitelist is deterministic at the current version;
40
- * parent apps that expose a different surface should fork or extend this
41
- * list rather than rely on dynamic discovery (the SDK would otherwise have
42
- * to round-trip the server before constructing the whitelist).
43
- */
44
- export declare const MCP_INTERNAL_TOOL_NAMES: readonly ["queryFindingsHistory", "queryImportGraph", "queryRuntimeEnrichment", "queryCodebaseGraph"];
45
- /**
46
- * SDK-namespaced tool names the LLM sees on its tool list when the server
47
- * is wired up. Exposed as a helper rather than a constant so callers in
48
- * `agent_options.ts` and the test suite share one source of truth.
49
- *
50
- * @param serverName - Override for the MCP server identifier. Defaults
51
- * to `DEFAULT_MCP_SERVER_NAME` (`appsec-internal`).
52
- */
53
- export declare function buildMcpInternalToolNames(serverName?: string): string[];
54
16
  /**
55
17
  * System-prompt suffix for `pr_reviewer` / `code_reviewer` when
56
18
  * `--mcp-server-url` is set. Steers the model toward all live parent-app
@@ -90,6 +52,7 @@ export declare class AgentOptions {
90
52
  /**
91
53
  * Get options for simple query agent
92
54
  */
55
+ getSimpleQueryAgentRoleSpec(role?: string, srcDir?: string | null): RoleSpec;
93
56
  getSimpleQueryAgentOptions(role?: string, srcDir?: string | null): Options;
94
57
  /**
95
58
  * Get options for security code reviewer
@@ -110,13 +73,20 @@ export declare class AgentOptions {
110
73
  * @param mcpServerName - Override for the MCP server identifier
111
74
  * @param mcpServerBearer - Bearer token for MCP HTTP requests
112
75
  */
76
+ getCodeReviewerRoleSpec(role?: string, outputFormat?: string, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string, workingDirectory?: string): RoleSpec;
113
77
  getCodeReviewerOptions(role?: string, outputFormat?: string, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string): Options;
78
+ /**
79
+ * Provider-neutral spec for threat modeler (Phase 3 RoleSpec spike).
80
+ */
81
+ getThreatModelerRoleSpec(role?: string, outputFormat?: string, workingDirectory?: string, maxTurnsOverride?: number): RoleSpec;
114
82
  /**
115
83
  * Get options for threat modeler
116
84
  * @param role - The role configuration key
117
85
  * @param outputFormat - Output format (json, markdown, etc.)
118
86
  */
119
- getThreatModelerOptions(role?: string, outputFormat?: string): Options;
87
+ getThreatModelerOptions(role?: string, outputFormat?: string, maxTurnsOverride?: number): Options;
88
+ getThreatAdversaryRoleSpec(role?: string, srcDir?: string | null, maxTurns?: number): RoleSpec;
89
+ getThreatAdversaryOptions(role?: string, srcDir?: string | null, maxTurns?: number): Options;
120
90
  /**
121
91
  * Get options for PR diff-focused code reviewer
122
92
  * This mode analyzes only the changed code from a pull request,
@@ -125,65 +95,21 @@ export declare class AgentOptions {
125
95
  * @param srcDir - Optional source directory path
126
96
  * @param outputFormat - Output format (json, markdown, etc.)
127
97
  */
98
+ getDiffReviewerRoleSpec(role?: string, srcDir?: string | null, outputFormat?: string, maxTurns?: number, noTools?: boolean, experimentEnabled?: boolean, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string): RoleSpec;
128
99
  getDiffReviewerOptions(role?: string, srcDir?: string | null, outputFormat?: string, maxTurns?: number, noTools?: boolean, experimentEnabled?: boolean, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string): Options;
129
- /**
130
- * Get options for code fixer agent
131
- * Uses structured JSON output to guarantee a well-formed fix response.
132
- * Has Read and Grep tools to explore the source directory for additional context.
133
- * @param role - The role configuration key
134
- * @param srcDir - Optional source directory path for additional context
135
- */
100
+ getCodeFixerRoleSpec(role?: string, srcDir?: string | null, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string): RoleSpec;
136
101
  getCodeFixerOptions(role?: string, srcDir?: string | null, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string): Options;
137
- /**
138
- * Get options for the QA verifier agent
139
- * Uses Read, Grep, and Bash tools for test execution and analysis
140
- */
102
+ getQaVerifierRoleSpec(role?: string, srcDir?: string | null): RoleSpec;
141
103
  getQaVerifierOptions(role?: string, srcDir?: string | null): Options;
142
- /**
143
- * Get options for the finding validator agent
144
- * Uses Read and Grep tools (read-only) to analyze code for vulnerability presence.
145
- */
104
+ getContextExtractorRoleSpec(role?: string): RoleSpec;
146
105
  getContextExtractorOptions(role?: string): Options;
106
+ getFindingValidatorRoleSpec(role?: string, srcDir?: string | null, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string): RoleSpec;
147
107
  getFindingValidatorOptions(role?: string, srcDir?: string | null, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string): Options;
148
- /**
149
- * learned_guidance_synthesizer (v2.5.0 / parent-app plan §3.8): pure-transform
150
- * role that condenses bucketed dismissal/outcome/feedback signals into a short
151
- * list of class-level policy bullets the pr_reviewer reads next scan.
152
- *
153
- * Tools: NONE — the agent must work from the provided buckets only. No
154
- * source-tree access, no MCP server. The parent app's `runSynthesizerAgent`
155
- * spawns this from a temp working directory anyway, so even if a tool were
156
- * attached it would have nothing to read.
157
- *
158
- * Output schema (LEARNED_GUIDANCE_OUTPUT_SCHEMA):
159
- * { bullets: [{ cwe, bullet (≤300 chars), confidence (0..1) }] }
160
- *
161
- * Confidence floor and active-bullet cap are enforced by the parent app
162
- * (`MIN_CONFIDENCE = 0.6`, `MAX_ACTIVE_BULLETS_PER_PROJECT = 12`); this
163
- * role is allowed to return up to 50 bullets and the parent ranks +
164
- * truncates.
165
- */
108
+ getLearnedGuidanceSynthesizerRoleSpec(role?: string): RoleSpec;
166
109
  getLearnedGuidanceSynthesizerOptions(role?: string): Options;
167
- /**
168
- * pr_adversary: second pass that filters pr_reviewer findings using failure-path skepticism.
169
- * Output: same SECURITY_REPORT_SCHEMA with only surviving findings.
170
- */
110
+ getPrAdversaryRoleSpec(role?: string, srcDir?: string | null, maxTurns?: number, experimentEnabled?: boolean, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string): RoleSpec;
171
111
  getPrAdversaryOptions(role?: string, srcDir?: string | null, maxTurns?: number, experimentEnabled?: boolean, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string): Options;
172
- /**
173
- * fp_adversary (v2.8.0 / parent app full-repo Phase 2.5): second pass that
174
- * filters first-pass `code_reviewer` findings on full-repo scans by emitting
175
- * per-finding `(fingerprint, verdict, confidence, rationale)` verdicts. Output
176
- * is constrained to FP_ADVERSARY_REPORT_SCHEMA so the verdict contract stays
177
- * model-independent across Claude upgrades.
178
- *
179
- * Differences from `getPrAdversaryOptions`:
180
- * - Output schema is the dedicated `fp_adversary_report` (not
181
- * SECURITY_REPORT_SCHEMA) — verdicts round-trip on `fingerprint`, not `id`.
182
- * - No `experiment_enabled` plumbing (Lane-2 deliberately omits A/B per M4).
183
- * - System prompt references the four structured posture fields and
184
- * `similar_dismissed` precedent that the parent app threads in via
185
- * `--adversarial-context`.
186
- */
112
+ getFpAdversaryRoleSpec(role?: string, srcDir?: string | null, maxTurns?: number, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string): RoleSpec;
187
113
  getFpAdversaryOptions(role?: string, srcDir?: string | null, maxTurns?: number, mcpServerUrl?: string, mcpServerName?: string, mcpServerBearer?: string): Options;
188
114
  }
189
115
  //# sourceMappingURL=agent_options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent_options.d.ts","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent_options.d.ts","sourceRoot":"","sources":["../../src/agent_options.ts"],"names":[],"mappings":"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"}