audit-tools 0.30.4 → 0.30.6

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 (82) hide show
  1. package/dist/audit/cli/dispatch/packetPrompt.d.ts.map +1 -1
  2. package/dist/audit/cli/dispatch/packetPrompt.js +9 -0
  3. package/dist/audit/cli/dispatch/packetPrompt.js.map +1 -1
  4. package/dist/audit/contracts/schemaEnforcedEmit.d.ts +75 -0
  5. package/dist/audit/contracts/schemaEnforcedEmit.d.ts.map +1 -0
  6. package/dist/audit/contracts/schemaEnforcedEmit.js +131 -0
  7. package/dist/audit/contracts/schemaEnforcedEmit.js.map +1 -0
  8. package/dist/audit/contracts/wrapperResponse.d.ts +6 -6
  9. package/dist/audit/extractors/analyzers/acquisitionEngine.d.ts +140 -0
  10. package/dist/audit/extractors/analyzers/acquisitionEngine.d.ts.map +1 -0
  11. package/dist/audit/extractors/analyzers/acquisitionEngine.js +262 -0
  12. package/dist/audit/extractors/analyzers/acquisitionEngine.js.map +1 -0
  13. package/dist/audit/extractors/analyzers/registry.d.ts +2 -0
  14. package/dist/audit/extractors/analyzers/registry.d.ts.map +1 -1
  15. package/dist/audit/extractors/analyzers/registry.js +5 -0
  16. package/dist/audit/extractors/analyzers/registry.js.map +1 -1
  17. package/dist/audit/extractors/gitHistory.d.ts +46 -0
  18. package/dist/audit/extractors/gitHistory.d.ts.map +1 -0
  19. package/dist/audit/extractors/gitHistory.js +97 -0
  20. package/dist/audit/extractors/gitHistory.js.map +1 -0
  21. package/dist/audit/extractors/graph.d.ts +19 -1
  22. package/dist/audit/extractors/graph.d.ts.map +1 -1
  23. package/dist/audit/extractors/graph.js +31 -0
  24. package/dist/audit/extractors/graph.js.map +1 -1
  25. package/dist/audit/extractors/risk.d.ts +16 -0
  26. package/dist/audit/extractors/risk.d.ts.map +1 -1
  27. package/dist/audit/extractors/risk.js +28 -0
  28. package/dist/audit/extractors/risk.js.map +1 -1
  29. package/dist/audit/io/artifacts.d.ts +3 -1
  30. package/dist/audit/io/artifacts.d.ts.map +1 -1
  31. package/dist/audit/io/artifacts.js +1 -0
  32. package/dist/audit/io/artifacts.js.map +1 -1
  33. package/dist/audit/orchestrator/artifactMetadata.d.ts.map +1 -1
  34. package/dist/audit/orchestrator/artifactMetadata.js +24 -3
  35. package/dist/audit/orchestrator/artifactMetadata.js.map +1 -1
  36. package/dist/audit/orchestrator/dependencyMap.d.ts +7 -0
  37. package/dist/audit/orchestrator/dependencyMap.d.ts.map +1 -1
  38. package/dist/audit/orchestrator/dependencyMap.js +7 -2
  39. package/dist/audit/orchestrator/dependencyMap.js.map +1 -1
  40. package/dist/audit/orchestrator/resultBaseline.d.ts +54 -0
  41. package/dist/audit/orchestrator/resultBaseline.d.ts.map +1 -1
  42. package/dist/audit/orchestrator/resultBaseline.js +59 -0
  43. package/dist/audit/orchestrator/resultBaseline.js.map +1 -1
  44. package/dist/audit/orchestrator/staleness.d.ts.map +1 -1
  45. package/dist/audit/orchestrator/staleness.js +25 -1
  46. package/dist/audit/orchestrator/staleness.js.map +1 -1
  47. package/dist/audit/orchestrator/state.d.ts.map +1 -1
  48. package/dist/audit/orchestrator/state.js +2 -1
  49. package/dist/audit/orchestrator/state.js.map +1 -1
  50. package/dist/audit/orchestrator/synthesisExecutors.d.ts.map +1 -1
  51. package/dist/audit/orchestrator/synthesisExecutors.js +3 -2
  52. package/dist/audit/orchestrator/synthesisExecutors.js.map +1 -1
  53. package/dist/audit/quota/index.d.ts +20 -20
  54. package/dist/audit/types/artifactMetadata.d.ts +25 -0
  55. package/dist/audit/types/artifactMetadata.d.ts.map +1 -1
  56. package/dist/audit/types/artifactMetadata.js +10 -1
  57. package/dist/audit/types/artifactMetadata.js.map +1 -1
  58. package/dist/shared/git.d.ts +41 -0
  59. package/dist/shared/git.d.ts.map +1 -1
  60. package/dist/shared/git.js +119 -0
  61. package/dist/shared/git.js.map +1 -1
  62. package/dist/shared/index.d.ts +6 -3
  63. package/dist/shared/index.d.ts.map +1 -1
  64. package/dist/shared/index.js +3 -2
  65. package/dist/shared/index.js.map +1 -1
  66. package/dist/shared/providers/providerFactory.d.ts +16 -1
  67. package/dist/shared/providers/providerFactory.d.ts.map +1 -1
  68. package/dist/shared/providers/providerFactory.js +43 -0
  69. package/dist/shared/providers/providerFactory.js.map +1 -1
  70. package/dist/shared/providers/types.d.ts +40 -0
  71. package/dist/shared/providers/types.d.ts.map +1 -1
  72. package/dist/shared/quota/capacity.d.ts +8 -8
  73. package/dist/shared/quota/types.d.ts +4 -4
  74. package/dist/shared/repair/brokeredDispatch.d.ts +147 -0
  75. package/dist/shared/repair/brokeredDispatch.d.ts.map +1 -0
  76. package/dist/shared/repair/brokeredDispatch.js +220 -0
  77. package/dist/shared/repair/brokeredDispatch.js.map +1 -0
  78. package/dist/shared/repair/index.d.ts +2 -0
  79. package/dist/shared/repair/index.d.ts.map +1 -1
  80. package/dist/shared/repair/index.js +1 -0
  81. package/dist/shared/repair/index.js.map +1 -1
  82. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { getArtifactValue } from "../io/artifacts.js";
2
- import { ARTIFACT_DEPENDENTS_MAP, ARTIFACT_DEPENDS_ON_MAP, } from "./dependencyMap.js";
2
+ import { ALL_DAG_ARTIFACTS, ARTIFACT_DEPENDENTS_MAP, ARTIFACT_DEPENDS_ON_MAP, } from "./dependencyMap.js";
3
3
  import { present } from "./artifactMetadata.js";
4
+ import { isMetadataManifestCurrent } from "./resultBaseline.js";
4
5
  import { hashArtifactValue, stableStringify, } from "./artifactFreshness.js";
5
6
  function computeContentHash(artifactName, bundle) {
6
7
  const value = getArtifactValue(bundle, artifactName);
@@ -14,6 +15,29 @@ const ARTIFACT_DEPENDENCIES_MAP = ARTIFACT_DEPENDS_ON_MAP;
14
15
  export function computeStaleArtifacts(bundle) {
15
16
  const stale = new Set();
16
17
  const metadata = bundle.artifact_metadata;
18
+ // Metadata-migration fail-safe (CE-007): an old-shape (pre-F1) manifest —
19
+ // present but absent/older `metadata_schema_version`, or that would not decode
20
+ // to the F1 shape — must NOT be trusted to skip work off its still-matching
21
+ // whole-artifact hashes. Degrade to ALL-STALE (every present DAG artifact),
22
+ // never false-skip and never throw on a shape mismatch. A genuinely-absent
23
+ // manifest stays "nothing to compare ⇒ nothing stale" (handled below).
24
+ if (metadata && !isMetadataManifestCurrent(metadata)) {
25
+ for (const artifactName of ALL_DAG_ARTIFACTS) {
26
+ if (artifactName === "artifact_metadata.json")
27
+ continue;
28
+ if (present(bundle, artifactName))
29
+ stale.add(artifactName);
30
+ }
31
+ if (stale.size > 0) {
32
+ process.stderr.write(JSON.stringify({
33
+ kind: "staleness",
34
+ stale_artifacts: [...stale].sort(),
35
+ reason: "metadata_schema_version_migration",
36
+ ts: new Date().toISOString(),
37
+ }) + "\n");
38
+ }
39
+ return stale;
40
+ }
17
41
  if (metadata) {
18
42
  for (const [artifactName, entry] of Object.entries(metadata.artifacts)) {
19
43
  if (!present(bundle, artifactName))
@@ -1 +1 @@
1
- {"version":3,"file":"staleness.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/staleness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"staleness.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/staleness.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAEV,UAAU,EAGX,MAAM,wBAAwB,CAAC;AAkDhC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAoSnE"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAEV,UAAU,EAGX,MAAM,wBAAwB,CAAC;AAkDhC,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,CAoSnE"}
@@ -1,3 +1,4 @@
1
+ import { AUDIT_REPORT_FILENAME } from "../io/artifacts.js";
1
2
  import { computeStaleArtifacts } from "./staleness.js";
2
3
  import { unresolvedConstraintClauses, } from "./intentInterpreter.js";
3
4
  import { isDesignReviewStale, } from "./designReviewSnapshot.js";
@@ -130,7 +131,7 @@ export function deriveAuditState(bundle) {
130
131
  : "missing", runtimeTasks.length === 0
131
132
  ? "No deterministic runtime validation tasks were planned."
132
133
  : undefined));
133
- obligations.push(obligation("synthesis_current", staleOrSatisfied(staleArtifacts, ["audit-report.md"], has(bundle.audit_report))));
134
+ obligations.push(obligation("synthesis_current", staleOrSatisfied(staleArtifacts, [AUDIT_REPORT_FILENAME], has(bundle.audit_report))));
134
135
  obligations.push(obligation("synthesis_narrative_current", staleOrSatisfied(staleArtifacts, ["synthesis-narrative.json"], has(bundle.synthesis_narrative))));
135
136
  // A run is "not_started" only when neither the session gate (provider_confirmation)
136
137
  // nor the first intake artifact (repo_manifest) has been produced. Once the provider
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"synthesisExecutors.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/synthesisExecutors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AA6B7D,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,WAAW,EAAE,GACtB,iBAAiB,CA0BnB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,cAAc,EACtB,SAAS,CAAC,EAAE,kBAAkB,GAC7B,iBAAiB,CA4DnB"}
1
+ {"version":3,"file":"synthesisExecutors.d.ts","sourceRoot":"","sources":["../../../src/audit/orchestrator/synthesisExecutors.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAO7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AA6B7D,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,WAAW,EAAE,GACtB,iBAAiB,CA0BnB;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,cAAc,EACtB,SAAS,CAAC,EAAE,kBAAkB,GAC7B,iBAAiB,CA4DnB"}
@@ -1,3 +1,4 @@
1
+ import { AUDIT_REPORT_FILENAME } from "../io/artifacts.js";
1
2
  import { applyNarrative, buildAuditFindingsReport, buildAuditReportModel, renderAuditReportMarkdown, } from "../reporting/synthesis.js";
2
3
  function buildBaseFindingsReport(bundle, results) {
3
4
  const report = buildAuditFindingsReport(buildAuditReportModel({
@@ -41,7 +42,7 @@ export function runSynthesisExecutor(bundle, results) {
41
42
  reflections: bundle.agent_reflections,
42
43
  }),
43
44
  },
44
- artifacts_written: ["audit-findings.json", "audit-report.md"],
45
+ artifacts_written: ["audit-findings.json", AUDIT_REPORT_FILENAME],
45
46
  progress_summary: `Rendered deterministic audit report and canonical findings for ${finalResults.length} audit result entries.`,
46
47
  };
47
48
  }
@@ -98,7 +99,7 @@ export function runSynthesisNarrativeExecutor(bundle, narrative) {
98
99
  },
99
100
  artifacts_written: [
100
101
  "audit-findings.json",
101
- "audit-report.md",
102
+ AUDIT_REPORT_FILENAME,
102
103
  "synthesis-narrative.json",
103
104
  ],
104
105
  progress_summary: `Synthesis narrative applied: ${record.theme_count} theme(s), ${record.top_risk_count} top risk(s).`,
@@ -1 +1 @@
1
- {"version":3,"file":"synthesisExecutors.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/synthesisExecutors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"synthesisExecutors.js","sourceRoot":"","sources":["../../../src/audit/orchestrator/synthesisExecutors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAI3D,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAInC,SAAS,uBAAuB,CAC9B,MAAsB,EACtB,OAAsB;IAEtB,MAAM,MAAM,GAAG,wBAAwB,CACrC,qBAAqB,CAAC;QACpB,OAAO;QACP,YAAY,EAAE,MAAM,CAAC,aAAa;QAClC,WAAW,EAAE,MAAM,CAAC,YAAY;QAChC,aAAa,EAAE,MAAM,CAAC,cAAc;QACpC,cAAc,EAAE,MAAM,CAAC,eAAe;QACtC,uBAAuB,EAAE,MAAM,CAAC,yBAAyB;QACzD,6BAA6B,EAAE,MAAM,CAAC,wBAAwB;QAC9D,uBAAuB,EAAE,MAAM,CAAC,yBAAyB;QACzD,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;QAC1C,cAAc,EAAE,MAAM,CAAC,eAAe;KACvC,CAAC,CACH,CAAC;IACF,4EAA4E;IAC5E,wEAAwE;IACxE,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC;IAC/D,OAAO,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE;QAC9C,CAAC,CAAC,MAAM,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAsB,EACtB,OAAuB;IAEvB,MAAM,YAAY,GAAG,OAAO,IAAI,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;IAC3D,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAE/D,qEAAqE;IACrE,0EAA0E;IAC1E,+EAA+E;IAC/E,+EAA+E;IAC/E,uEAAuE;IACvE,8EAA8E;IAC9E,+EAA+E;IAC/E,OAAO;QACL,OAAO,EAAE;YACP,GAAG,MAAM;YACT,cAAc,EAAE,QAAQ;YACxB,YAAY,EAAE,yBAAyB,CAAC,QAAQ,EAAE;gBAChD,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,WAAW,EAAE,MAAM,CAAC,iBAAiB;aACtC,CAAC;SACH;QACD,iBAAiB,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;QACjE,gBAAgB,EAAE,kEAAkE,YAAY,CAAC,MAAM,wBAAwB;KAChI,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC3C,MAAsB,EACtB,SAA8B;IAE9B,MAAM,UAAU,GACd,MAAM,CAAC,cAAc;QACrB,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC;IAE9C,MAAM,YAAY,GAAG,OAAO,CAC1B,SAAS;QACP,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YAClC,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YACrD,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAC5C,CAAC;IAEF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,MAAM,GAA6B;YACvC,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,CAAC;YACd,yBAAyB,EAAE,KAAK;YAChC,cAAc,EAAE,CAAC;SAClB,CAAC;QACF,OAAO;YACL,OAAO,EAAE;gBACP,GAAG,MAAM;gBACT,cAAc,EAAE,UAAU;gBAC1B,mBAAmB,EAAE,MAAM;aAC5B;YACD,iBAAiB,EAAE,cAAc;gBAC/B,CAAC,CAAC,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;gBACrD,CAAC,CAAC,CAAC,0BAA0B,CAAC;YAChC,gBAAgB,EACd,sEAAsE;SACzE,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,UAAU,EAAE,SAAU,CAAC,CAAC;IACxD,MAAM,MAAM,GAA6B;QACvC,MAAM,EAAE,SAAS;QACjB,WAAW,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;QACzC,yBAAyB,EACvB,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;QACtD,cAAc,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC;KAChD,CAAC;IACF,OAAO;QACL,OAAO,EAAE;YACP,GAAG,MAAM;YACT,cAAc,EAAE,QAAQ;YACxB,YAAY,EAAE,yBAAyB,CAAC,QAAQ,EAAE;gBAChD,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;gBAC3C,WAAW,EAAE,MAAM,CAAC,iBAAiB;aACtC,CAAC;YACF,mBAAmB,EAAE,MAAM;SAC5B;QACD,iBAAiB,EAAE;YACjB,qBAAqB;YACrB,qBAAqB;YACrB,0BAA0B;SAC3B;QACD,gBAAgB,EAAE,gCAAgC,MAAM,CAAC,WAAW,cAAc,MAAM,CAAC,cAAc,eAAe;KACvH,CAAC;AACJ,CAAC"}
@@ -25,16 +25,16 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
25
25
  input_tokens_per_minute: z.ZodNullable<z.ZodNumber>;
26
26
  output_tokens_per_minute: z.ZodNullable<z.ZodNumber>;
27
27
  }, "strict", z.ZodTypeAny, {
28
- requests_per_minute: number | null;
29
- input_tokens_per_minute: number | null;
30
28
  context_tokens: number;
31
29
  output_tokens: number;
32
- output_tokens_per_minute: number | null;
33
- }, {
34
30
  requests_per_minute: number | null;
35
31
  input_tokens_per_minute: number | null;
32
+ output_tokens_per_minute: number | null;
33
+ }, {
36
34
  context_tokens: number;
37
35
  output_tokens: number;
36
+ requests_per_minute: number | null;
37
+ input_tokens_per_minute: number | null;
38
38
  output_tokens_per_minute: number | null;
39
39
  }>;
40
40
  confidence: z.ZodEnum<["high", "medium", "low"]>;
@@ -69,16 +69,16 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
69
69
  input_tokens_per_minute: z.ZodNullable<z.ZodNumber>;
70
70
  output_tokens_per_minute: z.ZodNullable<z.ZodNumber>;
71
71
  }, "strict", z.ZodTypeAny, {
72
- requests_per_minute: number | null;
73
- input_tokens_per_minute: number | null;
74
72
  context_tokens: number;
75
73
  output_tokens: number;
76
- output_tokens_per_minute: number | null;
77
- }, {
78
74
  requests_per_minute: number | null;
79
75
  input_tokens_per_minute: number | null;
76
+ output_tokens_per_minute: number | null;
77
+ }, {
80
78
  context_tokens: number;
81
79
  output_tokens: number;
80
+ requests_per_minute: number | null;
81
+ input_tokens_per_minute: number | null;
82
82
  output_tokens_per_minute: number | null;
83
83
  }>;
84
84
  host_concurrency_limit: z.ZodNullable<z.ZodObject<{
@@ -129,10 +129,10 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
129
129
  slots: number;
130
130
  model: string | null;
131
131
  resolved_limits: {
132
- requests_per_minute: number | null;
133
- input_tokens_per_minute: number | null;
134
132
  context_tokens: number;
135
133
  output_tokens: number;
134
+ requests_per_minute: number | null;
135
+ input_tokens_per_minute: number | null;
136
136
  output_tokens_per_minute: number | null;
137
137
  };
138
138
  host_concurrency_limit: {
@@ -161,10 +161,10 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
161
161
  slots: number;
162
162
  model: string | null;
163
163
  resolved_limits: {
164
- requests_per_minute: number | null;
165
- input_tokens_per_minute: number | null;
166
164
  context_tokens: number;
167
165
  output_tokens: number;
166
+ requests_per_minute: number | null;
167
+ input_tokens_per_minute: number | null;
168
168
  output_tokens_per_minute: number | null;
169
169
  };
170
170
  host_concurrency_limit: {
@@ -248,10 +248,10 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
248
248
  cooldown_until: string | null;
249
249
  model: string | null;
250
250
  resolved_limits: {
251
- requests_per_minute: number | null;
252
- input_tokens_per_minute: number | null;
253
251
  context_tokens: number;
254
252
  output_tokens: number;
253
+ requests_per_minute: number | null;
254
+ input_tokens_per_minute: number | null;
255
255
  output_tokens_per_minute: number | null;
256
256
  };
257
257
  host_concurrency_limit: {
@@ -277,10 +277,10 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
277
277
  slots: number;
278
278
  model: string | null;
279
279
  resolved_limits: {
280
- requests_per_minute: number | null;
281
- input_tokens_per_minute: number | null;
282
280
  context_tokens: number;
283
281
  output_tokens: number;
282
+ requests_per_minute: number | null;
283
+ input_tokens_per_minute: number | null;
284
284
  output_tokens_per_minute: number | null;
285
285
  };
286
286
  host_concurrency_limit: {
@@ -322,10 +322,10 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
322
322
  cooldown_until: string | null;
323
323
  model: string | null;
324
324
  resolved_limits: {
325
- requests_per_minute: number | null;
326
- input_tokens_per_minute: number | null;
327
325
  context_tokens: number;
328
326
  output_tokens: number;
327
+ requests_per_minute: number | null;
328
+ input_tokens_per_minute: number | null;
329
329
  output_tokens_per_minute: number | null;
330
330
  };
331
331
  host_concurrency_limit: {
@@ -351,10 +351,10 @@ export declare const DispatchQuotaSchema: z.ZodObject<{
351
351
  slots: number;
352
352
  model: string | null;
353
353
  resolved_limits: {
354
- requests_per_minute: number | null;
355
- input_tokens_per_minute: number | null;
356
354
  context_tokens: number;
357
355
  output_tokens: number;
356
+ requests_per_minute: number | null;
357
+ input_tokens_per_minute: number | null;
358
358
  output_tokens_per_minute: number | null;
359
359
  };
360
360
  host_concurrency_limit: {
@@ -1,9 +1,34 @@
1
+ /**
2
+ * F1 metadata-shape version (CE-007). The manifest carries this tag so a later
3
+ * run can detect an old-shape (pre-F1) on-disk manifest — one whose
4
+ * `metadata_schema_version` is absent or older than `METADATA_SCHEMA_VERSION` —
5
+ * and fail SAFE to all-stale rather than mis-decode it or false-skip a changed
6
+ * element off a still-matching whole-artifact hash. Bump this whenever the
7
+ * persisted manifest shape changes in a way an older reader cannot safely
8
+ * interpret.
9
+ */
10
+ export declare const METADATA_SCHEMA_VERSION = 1;
1
11
  export interface ArtifactMetadataEntry {
2
12
  revision: number;
3
13
  content_hash: string;
4
14
  dependency_revisions: Record<string, number>;
15
+ /**
16
+ * F1 per-element (per discriminated-result-coordinate) content keys + verdicts.
17
+ * Keyed by the signature-STABLE `idempotency_key` (the same key the O2 result
18
+ * baseline store uses), mapping to the signature-SENSITIVE `content_key` that
19
+ * drives per-element staleness. Persisted so the staleness DAG is reproducible
20
+ * across runs at per-RESULT granularity, not only whole-artifact. Absent on an
21
+ * old-shape (pre-F1) entry → that artifact's elements fail safe to all-stale.
22
+ */
23
+ element_content_keys?: Record<string, string>;
5
24
  }
6
25
  export interface ArtifactMetadataManifest {
26
+ /**
27
+ * F1 metadata-shape tag (CE-007). An absent or lower value than
28
+ * `METADATA_SCHEMA_VERSION` marks an old-shape (pre-F1) manifest → readers fail
29
+ * safe to all-stale.
30
+ */
31
+ metadata_schema_version?: number;
7
32
  artifacts: Record<string, ArtifactMetadataEntry>;
8
33
  /**
9
34
  * O2 ↔ F1 result-baseline store (CE-011 residual fix): per-logical-result
@@ -1 +1 @@
1
- {"version":3,"file":"artifactMetadata.d.ts","sourceRoot":"","sources":["../../../src/audit/types/artifactMetadata.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACjD;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C"}
1
+ {"version":3,"file":"artifactMetadata.d.ts","sourceRoot":"","sources":["../../../src/audit/types/artifactMetadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACjD;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C"}
@@ -1,2 +1,11 @@
1
- export {};
1
+ /**
2
+ * F1 metadata-shape version (CE-007). The manifest carries this tag so a later
3
+ * run can detect an old-shape (pre-F1) on-disk manifest — one whose
4
+ * `metadata_schema_version` is absent or older than `METADATA_SCHEMA_VERSION` —
5
+ * and fail SAFE to all-stale rather than mis-decode it or false-skip a changed
6
+ * element off a still-matching whole-artifact hash. Bump this whenever the
7
+ * persisted manifest shape changes in a way an older reader cannot safely
8
+ * interpret.
9
+ */
10
+ export const METADATA_SCHEMA_VERSION = 1;
2
11
  //# sourceMappingURL=artifactMetadata.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifactMetadata.js","sourceRoot":"","sources":["../../../src/audit/types/artifactMetadata.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"artifactMetadata.js","sourceRoot":"","sources":["../../../src/audit/types/artifactMetadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC"}
@@ -13,6 +13,47 @@ export declare function gitRefExists(root: string, ref: string): boolean;
13
13
  export declare function changedFiles(root: string, since: string): string[];
14
14
  /** The set of commit SHAs that have touched `path`, newest first. */
15
15
  export declare function fileCommits(root: string, path: string): Set<string>;
16
+ /** A pair of files that changed together, with the number of shared commits. */
17
+ export interface CoChangePair {
18
+ a: string;
19
+ b: string;
20
+ commits: number;
21
+ }
22
+ /** Per-file change frequency (number of commits that touched the file). */
23
+ export interface ChurnEntry {
24
+ path: string;
25
+ commits: number;
26
+ }
27
+ /** Per-file authorship breadth (number of distinct authors that touched it). */
28
+ export interface AuthorshipEntry {
29
+ path: string;
30
+ authors: number;
31
+ }
32
+ /** Deterministic git-history aggregates mined from the commit log. */
33
+ export interface GitHistory {
34
+ co_change: CoChangePair[];
35
+ churn: ChurnEntry[];
36
+ authorship: AuthorshipEntry[];
37
+ }
38
+ export interface MineGitHistoryOptions {
39
+ /** Cap on commits scanned, newest first (bounds cost on large repos). */
40
+ maxCommits?: number;
41
+ /** Minimum shared-commit count for a co-change pair to be reported. */
42
+ minCoChangeCommits?: number;
43
+ }
44
+ /**
45
+ * Mine deterministic git-history signals from `root`'s commit log:
46
+ * - **co_change**: file pairs that changed in the same commit, counted across
47
+ * history (a temporal-coupling signal), filtered by `minCoChangeCommits`.
48
+ * - **churn**: per-file commit-touch frequency.
49
+ * - **authorship**: per-file distinct-author count (a bus-factor signal).
50
+ *
51
+ * Fully deterministic: every list is sorted by a total order (counts descending,
52
+ * then lexicographic ids) so identical history yields byte-identical output.
53
+ * Degrades to empty (`{co_change:[],churn:[],authorship:[]}`) when `root` is not
54
+ * a git repo or the log command fails — never throws.
55
+ */
56
+ export declare function mineGitHistory(root: string, options?: MineGitHistoryOptions): GitHistory;
16
57
  /** Working-tree changes vs HEAD plus untracked (non-ignored) files. */
17
58
  export declare function stagedAndUntracked(root: string): string[];
18
59
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/shared/git.ts"],"names":[],"mappings":"AAmBA,qDAAqD;AACrD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAO/C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAM/D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAElE;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAEnE;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAazD"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/shared/git.ts"],"names":[],"mappings":"AAmBA,qDAAqD;AACrD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAO/C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAM/D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAElE;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAEnE;AA8CD,gFAAgF;AAChF,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,2EAA2E;AAC3E,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,UAAU,EAAE,eAAe,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAKD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,qBAA0B,GAClC,UAAU,CAiFZ;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAazD"}
@@ -45,6 +45,125 @@ export function changedFiles(root, since) {
45
45
  export function fileCommits(root, path) {
46
46
  return new Set(gitLines(root, ["log", "--format=%H", "--", path]));
47
47
  }
48
+ /**
49
+ * Parse `git log --name-only` output (with our `%H%x00%aN` mailmap-canonical
50
+ * header format) into
51
+ * per-commit records. Tolerant of blank lines and malformed headers; degrades
52
+ * to an empty list rather than throwing on unexpected shapes.
53
+ */
54
+ function parseCommitRecords(stdout) {
55
+ const records = [];
56
+ let current = null;
57
+ for (const rawLine of stdout.split(/\r?\n/)) {
58
+ const line = rawLine.replace(/\r$/, "");
59
+ if (line.length === 0)
60
+ continue;
61
+ const nul = line.indexOf("\0");
62
+ if (nul >= 0) {
63
+ // Header line: "<sha>\0<author>".
64
+ const sha = line.slice(0, nul).trim();
65
+ const author = line.slice(nul + 1).trim();
66
+ if (sha.length > 0) {
67
+ current = { sha, author, files: [] };
68
+ records.push(current);
69
+ }
70
+ else {
71
+ current = null;
72
+ }
73
+ continue;
74
+ }
75
+ if (current) {
76
+ const file = line.trim();
77
+ if (file.length > 0)
78
+ current.files.push(file);
79
+ }
80
+ }
81
+ return records;
82
+ }
83
+ const DEFAULT_MAX_COMMITS = 1000;
84
+ const DEFAULT_MIN_CO_CHANGE_COMMITS = 2;
85
+ /**
86
+ * Mine deterministic git-history signals from `root`'s commit log:
87
+ * - **co_change**: file pairs that changed in the same commit, counted across
88
+ * history (a temporal-coupling signal), filtered by `minCoChangeCommits`.
89
+ * - **churn**: per-file commit-touch frequency.
90
+ * - **authorship**: per-file distinct-author count (a bus-factor signal).
91
+ *
92
+ * Fully deterministic: every list is sorted by a total order (counts descending,
93
+ * then lexicographic ids) so identical history yields byte-identical output.
94
+ * Degrades to empty (`{co_change:[],churn:[],authorship:[]}`) when `root` is not
95
+ * a git repo or the log command fails — never throws.
96
+ */
97
+ export function mineGitHistory(root, options = {}) {
98
+ const empty = { co_change: [], churn: [], authorship: [] };
99
+ if (!isGitRepo(root))
100
+ return empty;
101
+ const maxCommits = options.maxCommits ?? DEFAULT_MAX_COMMITS;
102
+ const minCoChange = options.minCoChangeCommits ?? DEFAULT_MIN_CO_CHANGE_COMMITS;
103
+ const result = runTracked([
104
+ "git",
105
+ "log",
106
+ // Canonicalize author identity through .mailmap so two display names for
107
+ // one person (or one person split across emails) roll up to ONE author:
108
+ // `--use-mailmap` activates the mapping, `%aN` is the mailmap-canonical
109
+ // author name. This keeps the per-file distinct-author count (bus-factor
110
+ // signal) correct — output changes iff the authorship signal changes.
111
+ "--use-mailmap",
112
+ `--max-count=${maxCommits}`,
113
+ "--no-merges",
114
+ "--name-only",
115
+ "--format=%H%x00%aN",
116
+ ], { cwd: root, encoding: "utf8" });
117
+ if (result.status !== 0)
118
+ return empty;
119
+ const records = parseCommitRecords(result.stdout);
120
+ if (records.length === 0)
121
+ return empty;
122
+ const churn = new Map();
123
+ const authors = new Map();
124
+ const coChange = new Map();
125
+ for (const record of records) {
126
+ // Dedup files within a commit so a rename/edit pair cannot double-count.
127
+ const files = [...new Set(record.files)].sort();
128
+ for (const file of files) {
129
+ churn.set(file, (churn.get(file) ?? 0) + 1);
130
+ let authorSet = authors.get(file);
131
+ if (!authorSet) {
132
+ authorSet = new Set();
133
+ authors.set(file, authorSet);
134
+ }
135
+ if (record.author.length > 0)
136
+ authorSet.add(record.author);
137
+ }
138
+ for (let i = 0; i < files.length; i += 1) {
139
+ for (let j = i + 1; j < files.length; j += 1) {
140
+ // a < b guaranteed by the sort above, so the pair key is canonical.
141
+ const key = `${files[i]}\0${files[j]}`;
142
+ coChange.set(key, (coChange.get(key) ?? 0) + 1);
143
+ }
144
+ }
145
+ }
146
+ const churnList = [...churn.entries()]
147
+ .map(([path, commits]) => ({ path, commits }))
148
+ .sort((x, y) => y.commits - x.commits || x.path.localeCompare(y.path));
149
+ const authorshipList = [...authors.entries()]
150
+ .map(([path, set]) => ({ path, authors: set.size }))
151
+ .sort((x, y) => y.authors - x.authors || x.path.localeCompare(y.path));
152
+ const coChangeList = [...coChange.entries()]
153
+ .filter(([, commits]) => commits >= minCoChange)
154
+ .map(([key, commits]) => {
155
+ const [a, b] = key.split("\0");
156
+ return { a: a ?? "", b: b ?? "", commits };
157
+ })
158
+ .sort((x, y) => y.commits - x.commits ||
159
+ x.a.localeCompare(y.a) ||
160
+ x.b.localeCompare(y.b));
161
+ return {
162
+ co_change: coChangeList,
163
+ churn: churnList,
164
+ authorship: authorshipList,
165
+ };
166
+ }
48
167
  /** Working-tree changes vs HEAD plus untracked (non-ignored) files. */
49
168
  export function stagedAndUntracked(root) {
50
169
  const files = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/shared/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/shared/git.ts"],"names":[],"mappings":"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"}
@@ -59,7 +59,8 @@ export type { ProjectCommands } from "./tooling/testCommand.js";
59
59
  export { discoverProjectCommands } from "./tooling/testCommand.js";
60
60
  export type { AnalyzerDepVia, ResolvedAnalyzerDep, ResolveAnalyzerDepOptions, InstallToCacheOptions, InstallToCacheResult, } from "./tooling/analyzerDeps.js";
61
61
  export { analyzerCacheRoot, parseAnalyzerSpec, resolveAnalyzerDep, installToCache, } from "./tooling/analyzerDeps.js";
62
- export { isGitRepo, gitRefExists, changedFiles, fileCommits, stagedAndUntracked, } from "./git.js";
62
+ export { isGitRepo, gitRefExists, changedFiles, fileCommits, stagedAndUntracked, mineGitHistory, } from "./git.js";
63
+ export type { GitHistory, CoChangePair, ChurnEntry, AuthorshipEntry, MineGitHistoryOptions, } from "./git.js";
63
64
  export type { RunLogEvent, RunLoggerOptions } from "./observability/runLog.js";
64
65
  export { RunLogger } from "./observability/runLog.js";
65
66
  export { isFileMissingError, isTransientFsError, withFsRetry, readJsonFile, writeJsonFile, readJsonStringScalar, readJsonStringScalarChunks, appendNdjsonFile, readNdjsonFile, readOptionalJsonFile, readOptionalNdjsonFile, writeNdjsonFile, readOptionalTextFile, writeTextFile, } from "./io/json.js";
@@ -72,6 +73,8 @@ export type { FrictionDisposition, FrictionDispositionRecord, TriageSubject, Fri
72
73
  export { FRICTION_DISPOSITIONS, isFrictionDisposition, reflectionKey, frictionLockPath, collectTriageSubjects, decideFrictionTriage, appendFrictionUnderLock, recordFrictionDisposition, } from "./friction/triage.js";
73
74
  export type { RepairValidationError, RepairValidationResult, RepairCoercion, RepairCoercionResult, RepairPatcher, RepairContract, RepairStatus, RepairStage, RepairRedispatch, RepairOutcome, RunEmitValidateRepairOptions, } from "./repair/index.js";
74
75
  export { runEmitValidateRepair } from "./repair/index.js";
76
+ export type { BrokeredDispatchSlot, BrokerAdmission, BrokeredDispatchDecision, BrokeredCompletion, BrokerDispatchInput, BrokeredRepairDispatch, } from "./repair/index.js";
77
+ export { createBrokeredRepairDispatch, estimateSlotTokens, classifyCapableHost, } from "./repair/index.js";
75
78
  export type { RepoVisibility } from "./io/gitignoreArtifacts.js";
76
79
  export { ALWAYS_IGNORE_PATTERNS, VISIBILITY_CONDITIONAL_PATTERNS, GITIGNORE_BLOCK_BEGIN, GITIGNORE_BLOCK_END, renderGitignoreBlock, mergeGitignoreBlock, detectRepoVisibility, ensureArtifactGitignore, } from "./io/gitignoreArtifacts.js";
77
80
  export type { BaseStepContract, WriteStepContractInput, } from "./io/stepContractWriter.js";
@@ -82,7 +85,7 @@ export { AUDIT_FINDINGS_CONTRACT_VERSION, validateAuditFindingsReport, isValidAu
82
85
  export { validateSessionConfig } from "./validation/sessionConfig.js";
83
86
  export type { SourceReader } from "./validation/findingGrounding.js";
84
87
  export { normalizeForMatch, normalizeRepoPath, quoteMatches, verifyFindingGrounding, findingIsGrounded, findingNeedsVerificationBeforeFix, } from "./validation/findingGrounding.js";
85
- export type { WorkerProgress, LaunchFreshSessionInput, LaunchFreshSessionResult, ProviderRateLimits, FreshSessionProvider, } from "./providers/types.js";
88
+ export type { WorkerProgress, LaunchFreshSessionInput, LaunchFreshSessionResult, ProviderRateLimits, FreshSessionProvider, OutputConstraintMode, OutputConstraintCapability, } from "./providers/types.js";
86
89
  export { LOCAL_SUBPROCESS_PROVIDER_NAME, CODEX_PROVIDER_NAME, ANTIGRAVITY_PROVIDER_NAME, } from "./providers/constants.js";
87
90
  export { spawnLoggedCommand } from "./providers/spawnLoggedCommand.js";
88
91
  export type { SpawnLoggedCommandOptions } from "./providers/spawnLoggedCommand.js";
@@ -100,7 +103,7 @@ export type { ClaudeCodeProviderOptions } from "./providers/claudeCodeProvider.j
100
103
  export { ClaudeCodeProvider, CLAUDE_CODE_PROVIDER_NAME, buildActiveClaudeCodeSessionMessage, } from "./providers/claudeCodeProvider.js";
101
104
  export { OpenCodeProvider, OPENCODE_PROVIDER_NAME, } from "./providers/opencodeProvider.js";
102
105
  export type { AutoProviderContext, FreshSessionProviderDeps, } from "./providers/providerFactory.js";
103
- export { resolveFreshSessionProviderName, createFreshSessionProvider, hasConfiguredOpenAiCompatible, } from "./providers/providerFactory.js";
106
+ export { resolveFreshSessionProviderName, createFreshSessionProvider, hasConfiguredOpenAiCompatible, discoverOutputConstraintCapability, } from "./providers/providerFactory.js";
104
107
  export type { CapabilityTier, DiscoveredProvider, ConfirmedProviderPool, } from "./providers/providerConfirmation.js";
105
108
  export { discoverProviders, queryProviderQuota, buildProviderConfirmationDisplay, applyProviderConfirmationSelections, } from "./providers/providerConfirmation.js";
106
109
  export type { LimitSource, LimitConfidence, HostConcurrencyLimitSource, HostConcurrencyLimit, ResolvedLimits, ConcurrencyBucket, QuotaStateEntry, QuotaState, WaveBindingCap, WaveSchedule, BackoffState, ObservedWaveOutcome, } from "./quota/types.js";