@zhixuan92/multi-model-agent-core 4.5.0 → 4.5.2

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 (77) hide show
  1. package/README.md +6 -6
  2. package/dist/escalation/fallback-helpers.d.ts.map +1 -1
  3. package/dist/escalation/fallback-helpers.js +0 -1
  4. package/dist/escalation/fallback-helpers.js.map +1 -1
  5. package/dist/events/event-builder.d.ts.map +1 -1
  6. package/dist/events/event-builder.js +41 -11
  7. package/dist/events/event-builder.js.map +1 -1
  8. package/dist/index.d.ts +0 -2
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +0 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/lifecycle/lifecycle-context.d.ts +0 -2
  13. package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
  14. package/dist/lifecycle/task-executor.d.ts.map +1 -1
  15. package/dist/lifecycle/task-executor.js +5 -7
  16. package/dist/lifecycle/task-executor.js.map +1 -1
  17. package/dist/lifecycle/task-runner.d.ts +0 -2
  18. package/dist/lifecycle/task-runner.d.ts.map +1 -1
  19. package/dist/lifecycle/task-runner.js +1 -9
  20. package/dist/lifecycle/task-runner.js.map +1 -1
  21. package/dist/providers/codex-cli-session.d.ts +1 -1
  22. package/dist/providers/codex-cli-session.d.ts.map +1 -1
  23. package/dist/providers/codex-cli-session.js +6 -1
  24. package/dist/providers/codex-cli-session.js.map +1 -1
  25. package/dist/reporting/headline-templates/audit.d.ts.map +1 -1
  26. package/dist/reporting/headline-templates/audit.js +10 -14
  27. package/dist/reporting/headline-templates/audit.js.map +1 -1
  28. package/dist/reporting/headline-templates/debug.d.ts +3 -5
  29. package/dist/reporting/headline-templates/debug.d.ts.map +1 -1
  30. package/dist/reporting/headline-templates/debug.js +5 -8
  31. package/dist/reporting/headline-templates/debug.js.map +1 -1
  32. package/dist/reporting/headline-templates/review.d.ts.map +1 -1
  33. package/dist/reporting/headline-templates/review.js +6 -7
  34. package/dist/reporting/headline-templates/review.js.map +1 -1
  35. package/dist/review/default-engines.d.ts +0 -2
  36. package/dist/review/default-engines.d.ts.map +1 -1
  37. package/dist/review/default-engines.js +0 -4
  38. package/dist/review/default-engines.js.map +1 -1
  39. package/dist/review/index.d.ts +0 -4
  40. package/dist/review/index.d.ts.map +1 -1
  41. package/dist/review/index.js +0 -4
  42. package/dist/review/index.js.map +1 -1
  43. package/dist/review/review-types.d.ts +0 -16
  44. package/dist/review/review-types.d.ts.map +1 -1
  45. package/dist/review/review-types.js +4 -1
  46. package/dist/review/review-types.js.map +1 -1
  47. package/dist/tools/audit/plan-audit-criteria.d.ts.map +1 -1
  48. package/dist/tools/audit/plan-audit-criteria.js +41 -18
  49. package/dist/tools/audit/plan-audit-criteria.js.map +1 -1
  50. package/dist/tools/audit/spec-audit-criteria.d.ts.map +1 -1
  51. package/dist/tools/audit/spec-audit-criteria.js +5 -3
  52. package/dist/tools/audit/spec-audit-criteria.js.map +1 -1
  53. package/dist/tools/audit/tool-config.js +2 -2
  54. package/dist/tools/audit/tool-config.js.map +1 -1
  55. package/dist/types/run-result.d.ts +0 -11
  56. package/dist/types/run-result.d.ts.map +1 -1
  57. package/package.json +3 -1
  58. package/dist/reporting/annotate-completion-parser.d.ts +0 -39
  59. package/dist/reporting/annotate-completion-parser.d.ts.map +0 -1
  60. package/dist/reporting/annotate-completion-parser.js +0 -43
  61. package/dist/reporting/annotate-completion-parser.js.map +0 -1
  62. package/dist/review/annotator-engine.d.ts +0 -44
  63. package/dist/review/annotator-engine.d.ts.map +0 -1
  64. package/dist/review/annotator-engine.js +0 -115
  65. package/dist/review/annotator-engine.js.map +0 -1
  66. package/dist/review/annotator-output-parser.d.ts +0 -13
  67. package/dist/review/annotator-output-parser.d.ts.map +0 -1
  68. package/dist/review/annotator-output-parser.js +0 -104
  69. package/dist/review/annotator-output-parser.js.map +0 -1
  70. package/dist/review/annotator-prompt-builder.d.ts +0 -29
  71. package/dist/review/annotator-prompt-builder.d.ts.map +0 -1
  72. package/dist/review/annotator-prompt-builder.js +0 -87
  73. package/dist/review/annotator-prompt-builder.js.map +0 -1
  74. package/dist/review/review-verdict-aggregator.d.ts +0 -17
  75. package/dist/review/review-verdict-aggregator.d.ts.map +0 -1
  76. package/dist/review/review-verdict-aggregator.js +0 -30
  77. package/dist/review/review-verdict-aggregator.js.map +0 -1
@@ -31,8 +31,8 @@ export function registerAudit(registry) {
31
31
  */
32
32
  const AUDIT_DONE_CONDITIONS = {
33
33
  default: 'Comprehensive audit. Apply the full failure-mode taxonomy through the executability lens (the orientation block above). For prose artifacts (specs, plans, recommendation docs, designs, post-mortems, audits, briefs): emphasize RECOMMENDATION-COHERENCE, INTERNAL CONTRADICTION, ARGUMENT SOUNDNESS, COMPLETENESS AGAINST CONSTRAINTS, FIX ACTIONABILITY, DRIFT, and SCOPE-CREEP — i.e., would a literal-following worker who reads this artifact and follows it without judgment produce the right outcome? Are sections internally consistent? Does each recommendation actually solve its stated problem given the doc\'s own constraints? Sweep style/clarity issues only when they would cause a worker to misinterpret. For source code: logic errors, contract violations, off-by-one bugs, type mismatches, unhandled edge cases. Each finding has severity (critical/high/medium/low), location, and remediation.',
34
- plan: 'PLAN-VS-CODEBASE EXECUTABILITY AUDIT. The single filePath you receive is a code-execution plan; the source files you verify against live under cwd and you discover them yourself by reading the plan\'s "Files: Modify:" / "Test:" / "Create:" blocks and `import` statements in code blocks. Apply the 8 verification perspectives (PATH EXISTENCE, SYMBOL EXISTENCE, SIGNATURE MATCH, IMPORT GRAPH, TEST HARNESS AVAILABILITY, STEP SEQUENCE WITHIN TASK, CROSS-TASK DEPENDENCIES, VERIFICATION COMMAND VALIDITY). For each task in the plan, the merge annotator computes a verdict: EXECUTABLE / PARTIAL / BLOCKED. Use read_file / grep / glob / list_files to ground every finding in real file:line evidence. Findings without source-side citations are speculation drop them. Zero findings on a perspective is the EXPECTED outcome on a clean plan; do not invent findings to fill quota.',
35
- spec: 'REQUIREMENT-PROSE EXECUTABILITY AUDIT. A finding is a place where the spec, executed literally by a downstream worker, would produce the wrong outcome or paralyze the executor. Apply the 7 criteria (REQUIREMENT-TESTABILITY, SCOPE-EXPLICITNESS, ACCEPTANCE-CRITERIA-COVERAGE, NON-FUNCTIONAL-CAPTURED, REQUIREMENT-CONFLICT, DECISION-TRACE, ASSUMPTION-EXPOSURE). Quote the exact `shall` / `must` / `should` clause for each finding. A clean spec legitimately produces zero findings — do not invent issues to fill quota.',
34
+ plan: 'PLAN-VS-CODEBASE EXECUTABILITY AUDIT. The single filePath you receive is a code-execution plan; the source files you verify against live under cwd and you discover them yourself by reading the plan\'s "Files: Modify:" / "Test:" / "Create:" blocks and `import` statements in code blocks. The reference SPEC, when provided, lives as a registered context block in your cached prefix. Apply the 12 verification perspectives in three groups — EXTERNAL CODEBASE COHERENCE (1 PATH EXISTENCE, 2 SYMBOL EXISTENCE, 3 SIGNATURE MATCH, 4 IMPORT GRAPH, 5 TEST HARNESS AVAILABILITY, 6 STEP SEQUENCE WITHIN TASK, 7 CROSS-TASK DEPENDENCIES, 8 VERIFICATION COMMAND VALIDITY), INTRA-PLAN STRUCTURE (9 TASK GRANULARITY, 11 PLACEHOLDER LANGUAGE, 12 PLAN SKELETON), and SPEC ALIGNMENT (10 SPEC COVERAGE). For each task, the merge annotator computes a verdict: EXECUTABLE / PARTIAL / BLOCKED. Use read_file / grep / glob / list_files to ground perspectives 1–8 in real file:line evidence; perspectives 9, 11, 12 are intra-plan and need only a plan-side quote; perspective 10 requires a spec-side clause quote plus a plan-side task reference. If no spec is in context, emit "No findings for this criterion." for perspective 10 ONLY. Zero findings on a perspective is the EXPECTED outcome on a clean plan; do not invent findings to fill quota.',
35
+ spec: 'REQUIREMENT-PROSE EXECUTABILITY AUDIT. A finding is a place where the spec, executed literally by a downstream worker (the planner that will run writing-plans on it), would produce the wrong outcome or paralyze the executor. Apply the 9 criteria (REQUIREMENT-TESTABILITY, SCOPE-EXPLICITNESS-AND-DECOMPOSABILITY, ACCEPTANCE-CRITERIA-COVERAGE, NON-FUNCTIONAL-CAPTURED, REQUIREMENT-CONFLICT, DECISION-TRACE, ASSUMPTION-EXPOSURE, PLACEHOLDER-SCAN, DESIGN-DECOMPOSITION-PRESENT). Quote the exact `shall` / `must` / `should` clause (or the placeholder / missing-design-dimension reference) for each finding. A clean spec legitimately produces zero findings — do not invent issues to fill quota.',
36
36
  skill: 'SKILL-FILE READER-EFFECTIVENESS AUDIT. A finding is a place where the skill, as written, would cause a competent reader to dispatch the wrong call, miss a path of use, or fall for a foreseeable anti-pattern. Apply the 7 criteria (WHEN-TO-USE-SPECIFICITY, INPUT-SHAPE-COMPLETENESS, OUTPUT-SHAPE-CONTRACT, ANTI-PATTERN-COVERAGE, RECIPE-VS-SKILL-SCOPE, VERSION-FRONTMATTER, LINK-INTEGRITY). Quote the failing section + line for each finding.',
37
37
  };
38
38
  const DELTA_AUDIT_SUFFIX = ' Perform a full audit (do not reduce thoroughness). Verify each prior finding as fixed or unfixed. Omit fixed prior findings from the main report. Include unfixed prior findings and new findings. End with a summary of which prior findings were resolved.';
@@ -1 +1 @@
1
- {"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/audit/tool-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gDAAgD,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAoB,MAAM,qDAAqD,CAAC;AAC1G,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AAGpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAC7E,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,gBAAgB,EAChB,yBAAyB,EACzB,uBAAuB,EACvB,2BAA2B,GAC5B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,UAAU,aAAa,CAAC,QAA6B;IACzD,QAAQ,CAAC,QAAQ,CAAC;QAChB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,MAAM;QAClB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,WAAW;QACnB,YAAY,EAAE,WAAW;QACzB,gBAAgB,EAAE,SAAS;QAC3B,oBAAoB,EAAE,KAAK;QAC3B,iBAAiB,EAAE,eAAe;KACnC,CAAC,CAAC;AACL,CAAC;AAiBD;;;;;;;;;;GAUG;AACH,MAAM,qBAAqB,GAA2B;IACpD,OAAO,EACL,+3BAA+3B;IACj4B,IAAI,EACF,y2BAAy2B;IAC32B,IAAI,EACF,ogBAAogB;IACtgB,KAAK,EACH,wbAAwb;CAC3b,CAAC;AAEF,MAAM,kBAAkB,GAAG,+PAA+P,CAAC;AAE3R,SAAS,kBAAkB,CAAC,OAAqC;IAC/D,sEAAsE;IACtE,oEAAoE;IACpE,kEAAkE;IAClE,MAAM,CAAC,GAAG,OAAO,IAAI,SAAS,CAAC;IAC/B,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,+BAA+B,CAAC;IAC5D,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,kBAAkB,CAAC;IAC5C,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,iCAAiC,CAAC;IAC3D,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,iCAAiC,CAAC;IAC5D,OAAO,WAAW,CAAC,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAqC,EAAE,gBAAyB;IAC5F,MAAM,CAAC,GAAG,OAAO,IAAI,SAAS,CAAC;IAC/B,MAAM,IAAI,GAAG,qBAAqB,CAAC,CAAC,CAAC,IAAI,qBAAqB,CAAC,OAAO,CAAC;IACvE,OAAO,gBAAgB,CAAC,CAAC,CAAC,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED,SAAS,UAAU,CAAC,KAAyB;IAC3C,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAY;IACzC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;IAClG,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE5E,0DAA0D;IAC1D,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC1D,OAAO,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC3B,WAAW;YACX,IAAI;YACJ,SAAS,EAAE,CAAC,EAAE,CAAC;YACf,gBAAgB;YAChB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC,CAAC;IACN,CAAC;IAED,OAAO,CAAC;YACN,WAAW;YACX,IAAI;YACJ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,UAAU;YACrB,gBAAgB;YAChB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,2BAA2B,GAAG;IAClC,mEAAmE;IACnE,qEAAqE;IACrE,sEAAsE;IACtE,uEAAuE;IACvE,yBAAyB;IACzB,EAAE;IACF,kKAAkK;IAClK,EAAE;IACF,gCAAgC;IAChC,4CAA4C;IAC5C,yCAAyC;IACzC,oCAAoC;IACpC,2CAA2C;IAC3C,EAAE;IACF,gCAAgC;IAChC,iBAAiB;IACjB,OAAO;IACP,EAAE;IACF,QAAQ;IACR,8HAA8H;IAC9H,6GAA6G;IAC7G,mGAAmG;IACnG,EAAE;IACF,oEAAoE;IACpE,+DAA+D;IAC/D,6DAA6D;IAC7D,eAAe;IACf,EAAE;IACF,0EAA0E;IAC1E,wEAAwE;IACxE,wEAAwE;IACxE,kDAAkD;IAClD,uBAAuB;IACvB,EAAE;IACF,qEAAqE;IACrE,mEAAmE;IACnE,2BAA2B;IAC3B,EAAE;IACF,mBAAmB;IACnB,EAAE;IACF,gBAAgB;IAChB,EAAE;IACF,yBAAyB;CAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,wBAAwB,GAAG;IAC/B,qGAAqG;IACrG,6KAA6K;CAC9K,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,SAAS,oBAAoB,CAAC,SAAmB;IAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,OAAO,kCAAkC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,WAAW,CAAC,KAAqB;IACxC,MAAM,KAAK,GAAa,CAAC,aAAa,KAAK,CAAC,WAAW,UAAU,CAAC,CAAC;IAEnE,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,kCAAkC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,IAAI,KAAK,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,mEAAmE;IACnE,qEAAqE;IACrE,gEAAgE;IAChE,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAExC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAmD;IACxE,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,cAAc;IACzB,aAAa,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC5B,oEAAoE;QACpE,iEAAiE;QACjE,iEAAiE;QACjE,gCAAgC;QAChC,MAAM,WAAW,GAAa,CAAC,aAAa,KAAK,CAAC,WAAW,UAAU,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC,QAAQ;YAAE,WAAW,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,OAAO;YACL,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC;YAC1B,cAAc,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;YACxC,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,MAAM;YACpB,kBAAkB,EAAE,KAAK;YACzB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,IAAI,MAAM;YAC3C,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,uBAAuB;YACpE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,IAAI,EAAE;YACjD,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,IAAI,UAAU;YAC/D,GAAG,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG;YACvC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACnE,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,iEAAiE;YACjE,iEAAiE;YACjE,OAAO,EAAE,KAAK,CAAC,OAAO;SACX,CAAC;IAChB,CAAC;IACD,YAAY,EAAE,iBAAiB;IAC/B,gBAAgB,EAAE,qBAAqB;IACvC,eAAe,EAAE;QACf,SAAS,EAAE,oBAAoB;KAChC;CACF,CAAC"}
1
+ {"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/audit/tool-config.ts"],"names":[],"mappings":"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"}
@@ -86,11 +86,6 @@ export interface RunResult {
86
86
  metadata: number;
87
87
  cap: number;
88
88
  };
89
- concerns?: Array<{
90
- source: 'review' | 'spec_review' | 'quality_review' | 'diff_review' | 'verification' | 'diff_truncated';
91
- severity: 'critical' | 'low' | 'medium' | 'high';
92
- message: string;
93
- }>;
94
89
  structuredError?: {
95
90
  code: 'validator_verify_command_failed' | 'validator_commit_metadata_invalid' | 'validator_commit_metadata_repair_modified_files' | 'validator_dirty_worktree' | 'review_diff_rejected' | 'runner_crash' | 'provider_rate_limited' | 'provider_api_error' | 'provider_transport_failure' | 'provider_timeout' | 'provider_api_aborted' | 'validator_silent_incomplete' | 'config_main_agent_pricing_unresolvable';
96
91
  message: string;
@@ -138,12 +133,6 @@ export interface RunResult {
138
133
  qualityReviewStatus?: 'approved' | 'changes_required' | 'annotated' | 'skipped' | 'error' | 'not_applicable';
139
134
  qualityReviewReason?: string;
140
135
  diffReviewStatus?: 'approved' | 'changes_required' | 'skipped' | 'error' | 'not_applicable';
141
- annotatedFindings?: import('../review/review-types.js').AnnotatedFinding[];
142
- /** Reviewer findings extracted via typed structured output (OpenAI Agent.outputType).
143
- * null on non-review-mode runs and on Claude/Codex runners (which still use the
144
- * JSON-block extraction path). When non-null, downstream consumers MUST prefer it
145
- * over parseReviewerFindings(...). */
146
- parsedFindings: import('../review/review-types.js').AnnotatedFinding[] | null;
147
136
  structuredReport?: import('../reporting/structured-report.js').ParsedStructuredReport;
148
137
  agents?: {
149
138
  implementer: 'standard' | 'complex' | 'not_run';
@@ -1 +1 @@
1
- {"version":3,"file":"run-result.d.ts","sourceRoot":"","sources":["../../src/types/run-result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-result.d.ts","sourceRoot":"","sources":["../../src/types/run-result.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhixuan92/multi-model-agent-core",
3
- "version": "4.5.0",
3
+ "version": "4.5.2",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Core library for multi-model-agent: provider runners (Claude, Codex, OpenAI-compatible), routing logic, config schema, and tool/sandbox primitives.",
@@ -347,6 +347,7 @@
347
347
  "dependencies": {
348
348
  "@anthropic-ai/claude-agent-sdk": "^0.2.112",
349
349
  "@mozilla/readability": "^0.6.0",
350
+ "cross-spawn": "^7.0.6",
350
351
  "fast-xml-parser": "^5.7.2",
351
352
  "jsdom": "^29.1.1",
352
353
  "undici": "^8.2.0",
@@ -356,6 +357,7 @@
356
357
  "@anthropic-ai/sdk": "0.81.0"
357
358
  },
358
359
  "devDependencies": {
360
+ "@types/cross-spawn": "^6.0.6",
359
361
  "@types/jsdom": "^28.0.1"
360
362
  }
361
363
  }
@@ -1,39 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * Annotator JSON output schema (pipeline-redesign §3.3.4).
4
- *
5
- * The annotator emits structured JSON inside a ```json fenced block.
6
- * This module extracts + validates the block. The `verify` slot is NOT
7
- * emitted by the annotator — it's overlaid by the annotate-completion
8
- * handler after parsing, using the deterministic verify-command result.
9
- */
10
- declare const annotatorOutputSchema: z.ZodObject<{
11
- completionPercent: z.ZodNumber;
12
- perStep: z.ZodArray<z.ZodObject<{
13
- step: z.ZodString;
14
- status: z.ZodEnum<{
15
- missing: "missing";
16
- done: "done";
17
- partial: "partial";
18
- }>;
19
- note: z.ZodNullable<z.ZodString>;
20
- }, z.core.$strip>>;
21
- concerns: z.ZodArray<z.ZodString>;
22
- }, z.core.$strip>;
23
- export type AnnotatorOutput = z.infer<typeof annotatorOutputSchema>;
24
- export type ParseResult = {
25
- ok: true;
26
- value: AnnotatorOutput;
27
- } | {
28
- ok: false;
29
- error: string;
30
- };
31
- /**
32
- * Extract the FIRST ```json fenced block from the annotator's LLM output
33
- * and validate against `annotatorOutputSchema`. Returns the parsed value
34
- * on success; a structured error string on failure (the caller may retry
35
- * once with a stricter prompt, then fall back per §3.3.5).
36
- */
37
- export declare function parseAnnotatorOutput(raw: string): ParseResult;
38
- export {};
39
- //# sourceMappingURL=annotate-completion-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotate-completion-parser.d.ts","sourceRoot":"","sources":["../../src/reporting/annotate-completion-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;iBAQzB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,CAgB7D"}
@@ -1,43 +0,0 @@
1
- import { z } from 'zod';
2
- /**
3
- * Annotator JSON output schema (pipeline-redesign §3.3.4).
4
- *
5
- * The annotator emits structured JSON inside a ```json fenced block.
6
- * This module extracts + validates the block. The `verify` slot is NOT
7
- * emitted by the annotator — it's overlaid by the annotate-completion
8
- * handler after parsing, using the deterministic verify-command result.
9
- */
10
- const annotatorOutputSchema = z.object({
11
- completionPercent: z.number().int().min(0).max(100),
12
- perStep: z.array(z.object({
13
- step: z.string(),
14
- status: z.enum(['done', 'partial', 'missing']),
15
- note: z.string().nullable(),
16
- })),
17
- concerns: z.array(z.string()),
18
- });
19
- /**
20
- * Extract the FIRST ```json fenced block from the annotator's LLM output
21
- * and validate against `annotatorOutputSchema`. Returns the parsed value
22
- * on success; a structured error string on failure (the caller may retry
23
- * once with a stricter prompt, then fall back per §3.3.5).
24
- */
25
- export function parseAnnotatorOutput(raw) {
26
- const match = raw.match(/```json\s*\n([\s\S]*?)\n```/);
27
- if (!match) {
28
- return { ok: false, error: 'no ```json fenced block found in annotator output' };
29
- }
30
- let parsed;
31
- try {
32
- parsed = JSON.parse(match[1]);
33
- }
34
- catch (err) {
35
- return { ok: false, error: `JSON parse failed: ${err instanceof Error ? err.message : String(err)}` };
36
- }
37
- const result = annotatorOutputSchema.safeParse(parsed);
38
- if (!result.success) {
39
- return { ok: false, error: `schema validation failed: ${JSON.stringify(result.error.issues)}` };
40
- }
41
- return { ok: true, value: result.data };
42
- }
43
- //# sourceMappingURL=annotate-completion-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotate-completion-parser.js","sourceRoot":"","sources":["../../src/reporting/annotate-completion-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACnD,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC,CAAC;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC;AAQH;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC;IACnF,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IACxG,CAAC;IACD,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,6BAA6B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;IAClG,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC"}
@@ -1,44 +0,0 @@
1
- import type { Session } from '../types/run-result.js';
2
- import { type AnnotatorRoute } from './annotator-prompt-builder.js';
3
- import { type AnnotatorParseResult } from './annotator-output-parser.js';
4
- export interface AnnotatorInput {
5
- /** N parallel sub-worker narratives, one per criterion the dispatcher
6
- * fanned out. With N=1 the engine behaves as a single-narrative
7
- * annotator (legacy compatibility for any non-fan-out caller). */
8
- workerOutputs: Array<{
9
- criterion: string;
10
- narrative: string;
11
- }>;
12
- brief: string;
13
- cwd: string;
14
- route: AnnotatorRoute;
15
- abortSignal?: AbortSignal;
16
- deadlineMs?: number;
17
- /** Forwarded to RunInput so the running-headline sink + verbose stderr
18
- * show stage="Annotating" while the read-only review pass runs. */
19
- bus?: import('../events/event-emitter.js').EventEmitter;
20
- batchId?: string;
21
- taskIndex?: number;
22
- tier?: string;
23
- stageLabel?: string;
24
- }
25
- export interface AnnotatorCallResult extends AnnotatorParseResult {
26
- /** Raw assistant text from the shell run — per-tool compose_response handlers
27
- * parse this via their per-tool report schema (audit, review, verify each
28
- * have their own shape that does not match AnnotatedFinding). */
29
- finalAssistantText: string;
30
- cost: {
31
- inputTokens: number;
32
- outputTokens: number;
33
- turnCount: number;
34
- toolCallCount: number;
35
- costUSD: number | null;
36
- durationMs: number | null;
37
- };
38
- }
39
- export declare class AnnotatorEngine {
40
- private builder;
41
- private parser;
42
- annotate(session: Session, input: AnnotatorInput): Promise<AnnotatorCallResult>;
43
- }
44
- //# sourceMappingURL=annotator-engine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotator-engine.d.ts","sourceRoot":"","sources":["../../src/review/annotator-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAyB,KAAK,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAchG,MAAM,WAAW,cAAc;IAC7B;;uEAEmE;IACnE,aAAa,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,cAAc,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;wEACoE;IACpE,GAAG,CAAC,EAAE,OAAO,4BAA4B,EAAE,YAAY,CAAC;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAOD,MAAM,WAAW,mBAAoB,SAAQ,oBAAoB;IAC/D;;sEAEkE;IAClE,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CAClJ;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAA2D;IAC1E,OAAO,CAAC,MAAM,CAA+B;IAEvC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAmFtF"}
@@ -1,115 +0,0 @@
1
- import { AnnotatorPromptBuilder } from './annotator-prompt-builder.js';
2
- import { AnnotatorOutputParser } from './annotator-output-parser.js';
3
- import { HUMAN_LABEL } from '../lifecycle/stage-labels.js';
4
- import { annotatorAuditTemplate } from './templates/annotator-audit.js';
5
- import { annotatorReviewTemplate } from './templates/annotator-review.js';
6
- import { annotatorDebugTemplate } from './templates/annotator-debug.js';
7
- import { annotatorInvestigateTemplate } from './templates/annotator-investigate.js';
8
- const DEFAULT_ANNOTATOR_TEMPLATES = {
9
- audit: annotatorAuditTemplate,
10
- review: annotatorReviewTemplate,
11
- debug: annotatorDebugTemplate,
12
- investigate: annotatorInvestigateTemplate,
13
- };
14
- /** Sentinel narrative emitted by sub-workers when their criterion has no
15
- * matches in the artifact. Filtered out before merging so the annotator
16
- * doesn't waste tokens parsing empty content. */
17
- const NO_FINDINGS_SENTINEL = 'No findings for this criterion.';
18
- export class AnnotatorEngine {
19
- builder = new AnnotatorPromptBuilder(DEFAULT_ANNOTATOR_TEMPLATES);
20
- parser = new AnnotatorOutputParser();
21
- async annotate(session, input) {
22
- // Drop "No findings for this criterion." sentinels — they're valid
23
- // empty results, not findings to merge. If ALL narratives are empty
24
- // sentinels, send a synthetic empty narrative so the annotator
25
- // returns [] via its standard "no findings raised" path.
26
- const usableOutputs = input.workerOutputs.filter(o => o.narrative.trim() !== NO_FINDINGS_SENTINEL);
27
- const inputsForPrompt = usableOutputs.length > 0
28
- ? usableOutputs
29
- : [{ criterion: 'all sub-workers reported no findings', narrative: '(all sub-worker narratives were "No findings for this criterion." — return [])' }];
30
- const prompt = this.builder.build(input.route, { workerOutputs: inputsForPrompt, brief: input.brief });
31
- // Per-annotator wall-clock guard. Same 10-min hard / 5-min soft pattern
32
- // as the warmer + per-angle caps so the merge step can't hang the route.
33
- // On hard cap, the abortSignal fires and the merge result returns with
34
- // errorCode='aborted'; the parser then yields an empty findings list and
35
- // the read-only route's soft-success path takes over (lifecycle returns
36
- // implementer narratives even when annotator failed). Bounds total
37
- // route wall: warmer (≤10) + max angle (≤10) + merge (≤10) + slack ≈ 32 min.
38
- const annotatorAbort = new AbortController();
39
- const combinedAbort = new AbortController();
40
- if (input.abortSignal) {
41
- if (input.abortSignal.aborted)
42
- combinedAbort.abort();
43
- else
44
- input.abortSignal.addEventListener('abort', () => combinedAbort.abort(), { once: true });
45
- }
46
- annotatorAbort.signal.addEventListener('abort', () => combinedAbort.abort(), { once: true });
47
- let capHit = false;
48
- const softTimer = setTimeout(() => {
49
- input.bus?.emit({
50
- event: 'criteria_annotator_soft_warning',
51
- ts: new Date().toISOString(),
52
- ...(input.batchId !== undefined && { batchId: input.batchId }),
53
- ...(input.taskIndex !== undefined && { taskIndex: input.taskIndex }),
54
- elapsedMs: ANNOTATOR_SOFT_WARN_MS,
55
- remainingMs: ANNOTATOR_HARD_CAP_MS - ANNOTATOR_SOFT_WARN_MS,
56
- });
57
- }, ANNOTATOR_SOFT_WARN_MS);
58
- const hardTimer = setTimeout(() => {
59
- capHit = true;
60
- input.bus?.emit({
61
- event: 'criteria_annotator_hard_cap',
62
- ts: new Date().toISOString(),
63
- ...(input.batchId !== undefined && { batchId: input.batchId }),
64
- ...(input.taskIndex !== undefined && { taskIndex: input.taskIndex }),
65
- elapsedMs: ANNOTATOR_HARD_CAP_MS,
66
- });
67
- annotatorAbort.abort();
68
- }, ANNOTATOR_HARD_CAP_MS);
69
- try {
70
- const turn = await session.send(`${prompt}\n\nAnnotate the findings above.`, { stageLabel: input.stageLabel ?? HUMAN_LABEL.annotating });
71
- // Adapt TurnResult → the shape this engine's parser + cost
72
- // extractor uses.
73
- const result = {
74
- finalAssistantText: turn.output,
75
- errorCode: turn.errorCode,
76
- usage: turn.usage,
77
- turns: turn.turns,
78
- toolCalls: Object.values(turn.toolCallsByName).reduce((a, b) => a + b, 0),
79
- costUSD: turn.costUSD,
80
- durationMs: turn.durationMs,
81
- };
82
- if (capHit) {
83
- return {
84
- finalAssistantText: '',
85
- verdict: 'error',
86
- annotatedFindings: [],
87
- concerns: [],
88
- diagnostics: { extraSections: {} },
89
- cost: extractCost(result),
90
- };
91
- }
92
- const parsed = this.parser.parse({ finalAssistantText: result.finalAssistantText, errorCode: result.errorCode });
93
- return { ...parsed, finalAssistantText: result.finalAssistantText ?? '', cost: extractCost(result) };
94
- }
95
- finally {
96
- clearTimeout(softTimer);
97
- clearTimeout(hardTimer);
98
- }
99
- }
100
- }
101
- /** Per-annotator wall-clock cap. Same constants as the warmer + per-angle
102
- * caps in providers/runner-shell.ts and lifecycle/parallel-criteria-dispatcher.ts. */
103
- const ANNOTATOR_HARD_CAP_MS = 10 * 60 * 1000;
104
- const ANNOTATOR_SOFT_WARN_MS = 5 * 60 * 1000;
105
- function extractCost(r) {
106
- return {
107
- inputTokens: r.usage?.inputTokens ?? 0,
108
- outputTokens: r.usage?.outputTokens ?? 0,
109
- turnCount: r.turns ?? 0,
110
- toolCallCount: typeof r.toolCalls === 'number' ? r.toolCalls : 0,
111
- costUSD: r.costUSD ?? null,
112
- durationMs: r.durationMs ?? null,
113
- };
114
- }
115
- //# sourceMappingURL=annotator-engine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotator-engine.js","sourceRoot":"","sources":["../../src/review/annotator-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAuB,MAAM,+BAA+B,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAA6B,MAAM,8BAA8B,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEpF,MAAM,2BAA2B,GAAG;IAClC,KAAK,EAAE,sBAAsB;IAC7B,MAAM,EAAE,uBAAuB;IAC/B,KAAK,EAAE,sBAAsB;IAC7B,WAAW,EAAE,4BAA4B;CACjC,CAAC;AAqBX;;kDAEkD;AAClD,MAAM,oBAAoB,GAAG,iCAAiC,CAAC;AAU/D,MAAM,OAAO,eAAe;IAClB,OAAO,GAAG,IAAI,sBAAsB,CAAC,2BAA2B,CAAC,CAAC;IAClE,MAAM,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE7C,KAAK,CAAC,QAAQ,CAAC,OAAgB,EAAE,KAAqB;QACpD,mEAAmE;QACnE,oEAAoE;QACpE,+DAA+D;QAC/D,0DAA0D;QAC1D,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,oBAAoB,CACjD,CAAC;QACF,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;YAC9C,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,sCAAsC,EAAE,SAAS,EAAE,gFAAgF,EAAE,CAAC,CAAC;QACzJ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAEvG,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,yEAAyE;QACzE,wEAAwE;QACxE,mEAAmE;QACnE,6EAA6E;QAC7E,MAAM,cAAc,GAAG,IAAI,eAAe,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAI,eAAe,EAAE,CAAC;QAC5C,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,WAAW,CAAC,OAAO;gBAAE,aAAa,CAAC,KAAK,EAAE,CAAC;;gBAChD,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,cAAc,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7F,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;gBACd,KAAK,EAAE,iCAAiC;gBACxC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpE,SAAS,EAAE,sBAAsB;gBACjC,WAAW,EAAE,qBAAqB,GAAG,sBAAsB;aAC5D,CAAC,CAAC;QACL,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAChC,MAAM,GAAG,IAAI,CAAC;YACd,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;gBACd,KAAK,EAAE,6BAA6B;gBACpC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC5B,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;gBACpE,SAAS,EAAE,qBAAqB;aACjC,CAAC,CAAC;YACH,cAAc,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAE1B,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAC7B,GAAG,MAAM,kCAAkC,EAC3C,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,WAAW,CAAC,UAAU,EAAE,CAC3D,CAAC;YACF,2DAA2D;YAC3D,kBAAkB;YAClB,MAAM,MAAM,GAAG;gBACb,kBAAkB,EAAE,IAAI,CAAC,MAAM;gBAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzE,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;oBACL,kBAAkB,EAAE,EAAE;oBACtB,OAAO,EAAE,OAAO;oBAChB,iBAAiB,EAAE,EAAE;oBACrB,QAAQ,EAAE,EAAE;oBACZ,WAAW,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE;oBAClC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;iBACQ,CAAC;YACtC,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACjH,OAAO,EAAE,GAAG,MAAM,EAAE,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACvG,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;CACF;AAED;uFACuF;AACvF,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,SAAS,WAAW,CAAC,CAAuJ;IAC1K,OAAO;QACL,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;QACtC,YAAY,EAAE,CAAC,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;QACxC,SAAS,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI;QAC1B,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;KACjC,CAAC;AACJ,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { AnnotatedFinding } from './review-types.js';
2
- export interface AnnotatorParseResult {
3
- verdict: 'annotated' | 'error';
4
- annotatedFindings: AnnotatedFinding[];
5
- errorReason?: string;
6
- }
7
- export declare class AnnotatorOutputParser {
8
- parse(input: {
9
- finalAssistantText: string | undefined;
10
- errorCode?: string;
11
- }): AnnotatorParseResult;
12
- }
13
- //# sourceMappingURL=annotator-output-parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotator-output-parser.d.ts","sourceRoot":"","sources":["../../src/review/annotator-output-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC;IAC/B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AA4ED,qBAAa,qBAAqB;IAChC,KAAK,CAAC,KAAK,EAAE;QAAE,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB;CAUnG"}
@@ -1,104 +0,0 @@
1
- /**
2
- * Tool sweep #12 follow-up: same lenient JSON-array extraction as
3
- * the reviewer-output-parser. Pre-fix this required a fenced
4
- * ```json ... ``` block. Some models emit:
5
- * - Bare JSON arrays (no fence)
6
- * - Fenced with no language tag (just ``` ... ```)
7
- * - JSON arrays embedded in surrounding prose
8
- * — all of which were dropped, producing `verdict: 'error'` even when
9
- * the annotator did its job correctly. Caused verify's wire telemetry
10
- * to lose all PASS findings (annotated 0 instead of 4).
11
- *
12
- * Strategy: try fenced first (legacy), then fenced-without-language-tag,
13
- * then any balanced `[...]` containing finding-shaped objects in the
14
- * raw text. Same balanced-walking approach as findFirstParseableJsonVerdict
15
- * in reviewer-output-parser.ts.
16
- */
17
- function extractFindingsArray(text) {
18
- // Pass 1: ```json ... ``` (legacy).
19
- const fenced1 = text.match(/```json\s*\n([\s\S]*?)\n```/i);
20
- const r1 = fenced1 ? tryParseArray(fenced1[1]) : null;
21
- if (r1)
22
- return r1;
23
- // Pass 2: ``` ... ``` (no language tag) — some models drop the json hint.
24
- const fenced2 = text.match(/```\s*\n([\s\S]*?)\n```/);
25
- const r2 = fenced2 ? tryParseArray(fenced2[1]) : null;
26
- if (r2)
27
- return r2;
28
- // Pass 3: bare `[...]` array somewhere in the text. Walk every `[`
29
- // left-to-right, find its matching `]` via balanced bracket counting
30
- // (string-literal aware), try to parse each candidate.
31
- for (let start = text.indexOf('['); start !== -1; start = text.indexOf('[', start + 1)) {
32
- const end = matchingBracket(text, start);
33
- if (end === -1)
34
- continue;
35
- const candidate = text.slice(start, end + 1);
36
- const r = tryParseArray(candidate);
37
- if (r)
38
- return r;
39
- }
40
- return null;
41
- }
42
- function tryParseArray(jsonText) {
43
- try {
44
- const parsed = JSON.parse(jsonText);
45
- if (Array.isArray(parsed))
46
- return parsed;
47
- }
48
- catch {
49
- /* not parseable */
50
- }
51
- return null;
52
- }
53
- /**
54
- * Return the index of the `]` that balances the `[` at `openPos`,
55
- * accounting for nested brackets and string literals.
56
- */
57
- function matchingBracket(text, openPos) {
58
- let depth = 0;
59
- let inString = false;
60
- let escape = false;
61
- for (let i = openPos; i < text.length; i++) {
62
- const ch = text[i];
63
- if (inString) {
64
- if (escape) {
65
- escape = false;
66
- continue;
67
- }
68
- if (ch === '\\') {
69
- escape = true;
70
- continue;
71
- }
72
- if (ch === '"') {
73
- inString = false;
74
- continue;
75
- }
76
- continue;
77
- }
78
- if (ch === '"') {
79
- inString = true;
80
- continue;
81
- }
82
- if (ch === '[')
83
- depth++;
84
- else if (ch === ']') {
85
- depth--;
86
- if (depth === 0)
87
- return i;
88
- }
89
- }
90
- return -1;
91
- }
92
- export class AnnotatorOutputParser {
93
- parse(input) {
94
- if (!input.finalAssistantText) {
95
- return { verdict: 'error', annotatedFindings: [], errorReason: input.errorCode ?? 'no output' };
96
- }
97
- const findings = extractFindingsArray(input.finalAssistantText);
98
- if (findings === null) {
99
- return { verdict: 'error', annotatedFindings: [], errorReason: 'no JSON array found in annotator output' };
100
- }
101
- return { verdict: 'annotated', annotatedFindings: findings };
102
- }
103
- }
104
- //# sourceMappingURL=annotator-output-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotator-output-parser.js","sourceRoot":"","sources":["../../src/review/annotator-output-parser.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import { type AnnotatorPromptContext, type AnnotatorTemplate } from './templates/annotator-shared.js';
2
- export type AnnotatorRoute = 'audit' | 'review' | 'debug' | 'investigate';
3
- export declare class AnnotatorPromptBuilder {
4
- private templates;
5
- constructor(templates: Record<AnnotatorRoute, AnnotatorTemplate>);
6
- build(route: AnnotatorRoute, ctx: AnnotatorPromptContext): string;
7
- }
8
- /**
9
- * Trim the implementer brief down to the "what was asked" essentials
10
- * before sending to the annotator. The annotator does NOT need the
11
- * finding-format spec (it has its own format spec via buildAnnotatorRubric)
12
- * or the delta-mode instructions. Sending the full brief wastes
13
- * 1-3KB context per call and mildly distracts the model.
14
- *
15
- * Two prompt shapes covered:
16
- *
17
- * 1. **Goal-first** (audit / review / verify / debug):
18
- * `<goal + scope>\n\n<format spec at the END>` — slice off the
19
- * format spec, keep everything before it.
20
- *
21
- * 2. **Spec-first** (investigate): the brief opens with the
22
- * structured-format instructions and ends with `Question: <text>`.
23
- * Pull the question line out as the compact brief.
24
- *
25
- * If neither shape applies, the brief is returned unchanged.
26
- */
27
- export declare function trimBriefForAnnotator(brief: string): string;
28
- export declare function assembleAnnotatorPrompt(template: AnnotatorTemplate, ctx: AnnotatorPromptContext): string;
29
- //# sourceMappingURL=annotator-prompt-builder.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"annotator-prompt-builder.d.ts","sourceRoot":"","sources":["../../src/review/annotator-prompt-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAE5H,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;AAE1E,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAG9D,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM;CAGlE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA2B3D;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,sBAAsB,GAAG,MAAM,CAiCxG"}