@dotsetlabs/bellwether 0.10.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.
- package/CHANGELOG.md +291 -0
- package/LICENSE +21 -0
- package/README.md +739 -0
- package/dist/auth/credentials.d.ts +64 -0
- package/dist/auth/credentials.js +218 -0
- package/dist/auth/index.d.ts +6 -0
- package/dist/auth/index.js +6 -0
- package/dist/auth/keychain.d.ts +64 -0
- package/dist/auth/keychain.js +268 -0
- package/dist/baseline/ab-testing.d.ts +80 -0
- package/dist/baseline/ab-testing.js +236 -0
- package/dist/baseline/ai-compatibility-scorer.d.ts +95 -0
- package/dist/baseline/ai-compatibility-scorer.js +606 -0
- package/dist/baseline/calibration.d.ts +77 -0
- package/dist/baseline/calibration.js +136 -0
- package/dist/baseline/category-matching.d.ts +85 -0
- package/dist/baseline/category-matching.js +289 -0
- package/dist/baseline/change-impact-analyzer.d.ts +98 -0
- package/dist/baseline/change-impact-analyzer.js +592 -0
- package/dist/baseline/comparator.d.ts +64 -0
- package/dist/baseline/comparator.js +916 -0
- package/dist/baseline/confidence.d.ts +55 -0
- package/dist/baseline/confidence.js +122 -0
- package/dist/baseline/converter.d.ts +61 -0
- package/dist/baseline/converter.js +585 -0
- package/dist/baseline/dependency-analyzer.d.ts +89 -0
- package/dist/baseline/dependency-analyzer.js +567 -0
- package/dist/baseline/deprecation-tracker.d.ts +133 -0
- package/dist/baseline/deprecation-tracker.js +322 -0
- package/dist/baseline/diff.d.ts +55 -0
- package/dist/baseline/diff.js +1584 -0
- package/dist/baseline/documentation-scorer.d.ts +205 -0
- package/dist/baseline/documentation-scorer.js +466 -0
- package/dist/baseline/embeddings.d.ts +118 -0
- package/dist/baseline/embeddings.js +251 -0
- package/dist/baseline/error-analyzer.d.ts +198 -0
- package/dist/baseline/error-analyzer.js +721 -0
- package/dist/baseline/evaluation/evaluator.d.ts +42 -0
- package/dist/baseline/evaluation/evaluator.js +323 -0
- package/dist/baseline/evaluation/expanded-dataset.d.ts +45 -0
- package/dist/baseline/evaluation/expanded-dataset.js +1164 -0
- package/dist/baseline/evaluation/golden-dataset.d.ts +58 -0
- package/dist/baseline/evaluation/golden-dataset.js +717 -0
- package/dist/baseline/evaluation/index.d.ts +15 -0
- package/dist/baseline/evaluation/index.js +15 -0
- package/dist/baseline/evaluation/types.d.ts +186 -0
- package/dist/baseline/evaluation/types.js +8 -0
- package/dist/baseline/external-dependency-detector.d.ts +181 -0
- package/dist/baseline/external-dependency-detector.js +524 -0
- package/dist/baseline/golden-output.d.ts +162 -0
- package/dist/baseline/golden-output.js +636 -0
- package/dist/baseline/health-scorer.d.ts +174 -0
- package/dist/baseline/health-scorer.js +451 -0
- package/dist/baseline/incremental-checker.d.ts +97 -0
- package/dist/baseline/incremental-checker.js +174 -0
- package/dist/baseline/index.d.ts +31 -0
- package/dist/baseline/index.js +42 -0
- package/dist/baseline/migration-generator.d.ts +137 -0
- package/dist/baseline/migration-generator.js +554 -0
- package/dist/baseline/migrations.d.ts +60 -0
- package/dist/baseline/migrations.js +197 -0
- package/dist/baseline/performance-tracker.d.ts +214 -0
- package/dist/baseline/performance-tracker.js +577 -0
- package/dist/baseline/pr-comment-generator.d.ts +117 -0
- package/dist/baseline/pr-comment-generator.js +546 -0
- package/dist/baseline/response-fingerprint.d.ts +127 -0
- package/dist/baseline/response-fingerprint.js +728 -0
- package/dist/baseline/response-schema-tracker.d.ts +129 -0
- package/dist/baseline/response-schema-tracker.js +420 -0
- package/dist/baseline/risk-scorer.d.ts +54 -0
- package/dist/baseline/risk-scorer.js +434 -0
- package/dist/baseline/saver.d.ts +89 -0
- package/dist/baseline/saver.js +554 -0
- package/dist/baseline/scenario-generator.d.ts +151 -0
- package/dist/baseline/scenario-generator.js +905 -0
- package/dist/baseline/schema-compare.d.ts +86 -0
- package/dist/baseline/schema-compare.js +557 -0
- package/dist/baseline/schema-evolution.d.ts +189 -0
- package/dist/baseline/schema-evolution.js +467 -0
- package/dist/baseline/semantic.d.ts +203 -0
- package/dist/baseline/semantic.js +908 -0
- package/dist/baseline/synonyms.d.ts +60 -0
- package/dist/baseline/synonyms.js +386 -0
- package/dist/baseline/telemetry.d.ts +165 -0
- package/dist/baseline/telemetry.js +294 -0
- package/dist/baseline/test-pruner.d.ts +120 -0
- package/dist/baseline/test-pruner.js +387 -0
- package/dist/baseline/types.d.ts +449 -0
- package/dist/baseline/types.js +5 -0
- package/dist/baseline/version.d.ts +138 -0
- package/dist/baseline/version.js +206 -0
- package/dist/cache/index.d.ts +5 -0
- package/dist/cache/index.js +5 -0
- package/dist/cache/response-cache.d.ts +151 -0
- package/dist/cache/response-cache.js +287 -0
- package/dist/ci/index.d.ts +60 -0
- package/dist/ci/index.js +342 -0
- package/dist/cli/commands/auth.d.ts +12 -0
- package/dist/cli/commands/auth.js +352 -0
- package/dist/cli/commands/badge.d.ts +3 -0
- package/dist/cli/commands/badge.js +74 -0
- package/dist/cli/commands/baseline-accept.d.ts +15 -0
- package/dist/cli/commands/baseline-accept.js +178 -0
- package/dist/cli/commands/baseline-migrate.d.ts +12 -0
- package/dist/cli/commands/baseline-migrate.js +164 -0
- package/dist/cli/commands/baseline.d.ts +14 -0
- package/dist/cli/commands/baseline.js +449 -0
- package/dist/cli/commands/beta.d.ts +10 -0
- package/dist/cli/commands/beta.js +231 -0
- package/dist/cli/commands/check.d.ts +11 -0
- package/dist/cli/commands/check.js +820 -0
- package/dist/cli/commands/cloud/badge.d.ts +3 -0
- package/dist/cli/commands/cloud/badge.js +74 -0
- package/dist/cli/commands/cloud/diff.d.ts +6 -0
- package/dist/cli/commands/cloud/diff.js +79 -0
- package/dist/cli/commands/cloud/history.d.ts +6 -0
- package/dist/cli/commands/cloud/history.js +102 -0
- package/dist/cli/commands/cloud/link.d.ts +9 -0
- package/dist/cli/commands/cloud/link.js +119 -0
- package/dist/cli/commands/cloud/login.d.ts +7 -0
- package/dist/cli/commands/cloud/login.js +499 -0
- package/dist/cli/commands/cloud/projects.d.ts +6 -0
- package/dist/cli/commands/cloud/projects.js +44 -0
- package/dist/cli/commands/cloud/shared.d.ts +7 -0
- package/dist/cli/commands/cloud/shared.js +42 -0
- package/dist/cli/commands/cloud/teams.d.ts +8 -0
- package/dist/cli/commands/cloud/teams.js +169 -0
- package/dist/cli/commands/cloud/upload.d.ts +8 -0
- package/dist/cli/commands/cloud/upload.js +181 -0
- package/dist/cli/commands/contract.d.ts +11 -0
- package/dist/cli/commands/contract.js +280 -0
- package/dist/cli/commands/discover.d.ts +3 -0
- package/dist/cli/commands/discover.js +82 -0
- package/dist/cli/commands/eval.d.ts +9 -0
- package/dist/cli/commands/eval.js +187 -0
- package/dist/cli/commands/explore.d.ts +11 -0
- package/dist/cli/commands/explore.js +437 -0
- package/dist/cli/commands/feedback.d.ts +9 -0
- package/dist/cli/commands/feedback.js +174 -0
- package/dist/cli/commands/golden.d.ts +12 -0
- package/dist/cli/commands/golden.js +407 -0
- package/dist/cli/commands/history.d.ts +10 -0
- package/dist/cli/commands/history.js +202 -0
- package/dist/cli/commands/init.d.ts +9 -0
- package/dist/cli/commands/init.js +219 -0
- package/dist/cli/commands/interview.d.ts +3 -0
- package/dist/cli/commands/interview.js +903 -0
- package/dist/cli/commands/link.d.ts +10 -0
- package/dist/cli/commands/link.js +169 -0
- package/dist/cli/commands/login.d.ts +7 -0
- package/dist/cli/commands/login.js +499 -0
- package/dist/cli/commands/preset.d.ts +33 -0
- package/dist/cli/commands/preset.js +297 -0
- package/dist/cli/commands/profile.d.ts +33 -0
- package/dist/cli/commands/profile.js +286 -0
- package/dist/cli/commands/registry.d.ts +11 -0
- package/dist/cli/commands/registry.js +146 -0
- package/dist/cli/commands/shared.d.ts +79 -0
- package/dist/cli/commands/shared.js +196 -0
- package/dist/cli/commands/teams.d.ts +8 -0
- package/dist/cli/commands/teams.js +169 -0
- package/dist/cli/commands/test.d.ts +9 -0
- package/dist/cli/commands/test.js +500 -0
- package/dist/cli/commands/upload.d.ts +8 -0
- package/dist/cli/commands/upload.js +223 -0
- package/dist/cli/commands/validate-config.d.ts +6 -0
- package/dist/cli/commands/validate-config.js +35 -0
- package/dist/cli/commands/verify.d.ts +11 -0
- package/dist/cli/commands/verify.js +283 -0
- package/dist/cli/commands/watch.d.ts +12 -0
- package/dist/cli/commands/watch.js +253 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.js +178 -0
- package/dist/cli/interactive.d.ts +47 -0
- package/dist/cli/interactive.js +216 -0
- package/dist/cli/output/terminal-reporter.d.ts +19 -0
- package/dist/cli/output/terminal-reporter.js +104 -0
- package/dist/cli/output.d.ts +226 -0
- package/dist/cli/output.js +438 -0
- package/dist/cli/utils/env.d.ts +5 -0
- package/dist/cli/utils/env.js +14 -0
- package/dist/cli/utils/progress.d.ts +59 -0
- package/dist/cli/utils/progress.js +206 -0
- package/dist/cli/utils/server-context.d.ts +10 -0
- package/dist/cli/utils/server-context.js +36 -0
- package/dist/cloud/auth.d.ts +144 -0
- package/dist/cloud/auth.js +374 -0
- package/dist/cloud/client.d.ts +24 -0
- package/dist/cloud/client.js +65 -0
- package/dist/cloud/http-client.d.ts +38 -0
- package/dist/cloud/http-client.js +215 -0
- package/dist/cloud/index.d.ts +23 -0
- package/dist/cloud/index.js +25 -0
- package/dist/cloud/mock-client.d.ts +107 -0
- package/dist/cloud/mock-client.js +545 -0
- package/dist/cloud/types.d.ts +515 -0
- package/dist/cloud/types.js +15 -0
- package/dist/config/defaults.d.ts +160 -0
- package/dist/config/defaults.js +169 -0
- package/dist/config/loader.d.ts +24 -0
- package/dist/config/loader.js +122 -0
- package/dist/config/template.d.ts +42 -0
- package/dist/config/template.js +647 -0
- package/dist/config/validator.d.ts +2112 -0
- package/dist/config/validator.js +658 -0
- package/dist/constants/cloud.d.ts +107 -0
- package/dist/constants/cloud.js +110 -0
- package/dist/constants/core.d.ts +521 -0
- package/dist/constants/core.js +556 -0
- package/dist/constants/testing.d.ts +1283 -0
- package/dist/constants/testing.js +1568 -0
- package/dist/constants.d.ts +10 -0
- package/dist/constants.js +10 -0
- package/dist/contract/index.d.ts +6 -0
- package/dist/contract/index.js +5 -0
- package/dist/contract/validator.d.ts +177 -0
- package/dist/contract/validator.js +574 -0
- package/dist/cost/index.d.ts +6 -0
- package/dist/cost/index.js +5 -0
- package/dist/cost/tracker.d.ts +134 -0
- package/dist/cost/tracker.js +313 -0
- package/dist/discovery/discovery.d.ts +16 -0
- package/dist/discovery/discovery.js +173 -0
- package/dist/discovery/types.d.ts +51 -0
- package/dist/discovery/types.js +2 -0
- package/dist/docs/agents.d.ts +3 -0
- package/dist/docs/agents.js +995 -0
- package/dist/docs/contract.d.ts +51 -0
- package/dist/docs/contract.js +1681 -0
- package/dist/docs/generator.d.ts +4 -0
- package/dist/docs/generator.js +4 -0
- package/dist/docs/html-reporter.d.ts +9 -0
- package/dist/docs/html-reporter.js +757 -0
- package/dist/docs/index.d.ts +10 -0
- package/dist/docs/index.js +11 -0
- package/dist/docs/junit-reporter.d.ts +18 -0
- package/dist/docs/junit-reporter.js +210 -0
- package/dist/docs/report.d.ts +14 -0
- package/dist/docs/report.js +44 -0
- package/dist/docs/sarif-reporter.d.ts +19 -0
- package/dist/docs/sarif-reporter.js +335 -0
- package/dist/docs/shared.d.ts +35 -0
- package/dist/docs/shared.js +162 -0
- package/dist/docs/templates.d.ts +12 -0
- package/dist/docs/templates.js +76 -0
- package/dist/errors/index.d.ts +6 -0
- package/dist/errors/index.js +6 -0
- package/dist/errors/retry.d.ts +92 -0
- package/dist/errors/retry.js +323 -0
- package/dist/errors/types.d.ts +321 -0
- package/dist/errors/types.js +584 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.js +32 -0
- package/dist/interview/dependency-resolver.d.ts +11 -0
- package/dist/interview/dependency-resolver.js +32 -0
- package/dist/interview/interviewer.d.ts +232 -0
- package/dist/interview/interviewer.js +1939 -0
- package/dist/interview/mock-response-generator.d.ts +7 -0
- package/dist/interview/mock-response-generator.js +102 -0
- package/dist/interview/orchestrator.d.ts +237 -0
- package/dist/interview/orchestrator.js +1296 -0
- package/dist/interview/rate-limiter.d.ts +15 -0
- package/dist/interview/rate-limiter.js +55 -0
- package/dist/interview/response-validator.d.ts +10 -0
- package/dist/interview/response-validator.js +132 -0
- package/dist/interview/schema-inferrer.d.ts +8 -0
- package/dist/interview/schema-inferrer.js +71 -0
- package/dist/interview/schema-test-generator.d.ts +71 -0
- package/dist/interview/schema-test-generator.js +834 -0
- package/dist/interview/smart-value-generator.d.ts +155 -0
- package/dist/interview/smart-value-generator.js +554 -0
- package/dist/interview/stateful-test-runner.d.ts +19 -0
- package/dist/interview/stateful-test-runner.js +106 -0
- package/dist/interview/types.d.ts +561 -0
- package/dist/interview/types.js +2 -0
- package/dist/llm/anthropic.d.ts +41 -0
- package/dist/llm/anthropic.js +355 -0
- package/dist/llm/client.d.ts +123 -0
- package/dist/llm/client.js +42 -0
- package/dist/llm/factory.d.ts +38 -0
- package/dist/llm/factory.js +145 -0
- package/dist/llm/fallback.d.ts +140 -0
- package/dist/llm/fallback.js +379 -0
- package/dist/llm/index.d.ts +18 -0
- package/dist/llm/index.js +15 -0
- package/dist/llm/ollama.d.ts +37 -0
- package/dist/llm/ollama.js +330 -0
- package/dist/llm/openai.d.ts +25 -0
- package/dist/llm/openai.js +320 -0
- package/dist/llm/token-budget.d.ts +161 -0
- package/dist/llm/token-budget.js +395 -0
- package/dist/logging/logger.d.ts +70 -0
- package/dist/logging/logger.js +130 -0
- package/dist/metrics/collector.d.ts +106 -0
- package/dist/metrics/collector.js +547 -0
- package/dist/metrics/index.d.ts +7 -0
- package/dist/metrics/index.js +7 -0
- package/dist/metrics/prometheus.d.ts +20 -0
- package/dist/metrics/prometheus.js +241 -0
- package/dist/metrics/types.d.ts +209 -0
- package/dist/metrics/types.js +5 -0
- package/dist/persona/builtins.d.ts +54 -0
- package/dist/persona/builtins.js +219 -0
- package/dist/persona/index.d.ts +8 -0
- package/dist/persona/index.js +8 -0
- package/dist/persona/loader.d.ts +30 -0
- package/dist/persona/loader.js +190 -0
- package/dist/persona/types.d.ts +144 -0
- package/dist/persona/types.js +5 -0
- package/dist/persona/validation.d.ts +94 -0
- package/dist/persona/validation.js +332 -0
- package/dist/prompts/index.d.ts +5 -0
- package/dist/prompts/index.js +5 -0
- package/dist/prompts/templates.d.ts +180 -0
- package/dist/prompts/templates.js +431 -0
- package/dist/registry/client.d.ts +49 -0
- package/dist/registry/client.js +191 -0
- package/dist/registry/index.d.ts +7 -0
- package/dist/registry/index.js +6 -0
- package/dist/registry/types.d.ts +140 -0
- package/dist/registry/types.js +6 -0
- package/dist/scenarios/evaluator.d.ts +43 -0
- package/dist/scenarios/evaluator.js +206 -0
- package/dist/scenarios/index.d.ts +10 -0
- package/dist/scenarios/index.js +9 -0
- package/dist/scenarios/loader.d.ts +20 -0
- package/dist/scenarios/loader.js +285 -0
- package/dist/scenarios/types.d.ts +153 -0
- package/dist/scenarios/types.js +8 -0
- package/dist/security/index.d.ts +17 -0
- package/dist/security/index.js +18 -0
- package/dist/security/payloads.d.ts +61 -0
- package/dist/security/payloads.js +268 -0
- package/dist/security/security-tester.d.ts +42 -0
- package/dist/security/security-tester.js +582 -0
- package/dist/security/types.d.ts +166 -0
- package/dist/security/types.js +8 -0
- package/dist/transport/base-transport.d.ts +59 -0
- package/dist/transport/base-transport.js +38 -0
- package/dist/transport/http-transport.d.ts +67 -0
- package/dist/transport/http-transport.js +238 -0
- package/dist/transport/mcp-client.d.ts +141 -0
- package/dist/transport/mcp-client.js +496 -0
- package/dist/transport/sse-transport.d.ts +88 -0
- package/dist/transport/sse-transport.js +316 -0
- package/dist/transport/stdio-transport.d.ts +43 -0
- package/dist/transport/stdio-transport.js +238 -0
- package/dist/transport/types.d.ts +125 -0
- package/dist/transport/types.js +16 -0
- package/dist/utils/concurrency.d.ts +123 -0
- package/dist/utils/concurrency.js +213 -0
- package/dist/utils/formatters.d.ts +16 -0
- package/dist/utils/formatters.js +37 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.js +8 -0
- package/dist/utils/jsonpath.d.ts +87 -0
- package/dist/utils/jsonpath.js +326 -0
- package/dist/utils/markdown.d.ts +113 -0
- package/dist/utils/markdown.js +265 -0
- package/dist/utils/network.d.ts +14 -0
- package/dist/utils/network.js +17 -0
- package/dist/utils/sanitize.d.ts +92 -0
- package/dist/utils/sanitize.js +191 -0
- package/dist/utils/semantic.d.ts +194 -0
- package/dist/utils/semantic.js +1051 -0
- package/dist/utils/smart-truncate.d.ts +94 -0
- package/dist/utils/smart-truncate.js +361 -0
- package/dist/utils/timeout.d.ts +153 -0
- package/dist/utils/timeout.js +205 -0
- package/dist/utils/yaml-parser.d.ts +58 -0
- package/dist/utils/yaml-parser.js +86 -0
- package/dist/validation/index.d.ts +32 -0
- package/dist/validation/index.js +32 -0
- package/dist/validation/semantic-test-generator.d.ts +50 -0
- package/dist/validation/semantic-test-generator.js +176 -0
- package/dist/validation/semantic-types.d.ts +66 -0
- package/dist/validation/semantic-types.js +94 -0
- package/dist/validation/semantic-validator.d.ts +38 -0
- package/dist/validation/semantic-validator.js +340 -0
- package/dist/verification/index.d.ts +6 -0
- package/dist/verification/index.js +5 -0
- package/dist/verification/types.d.ts +133 -0
- package/dist/verification/types.js +5 -0
- package/dist/verification/verifier.d.ts +30 -0
- package/dist/verification/verifier.js +309 -0
- package/dist/version.d.ts +19 -0
- package/dist/version.js +48 -0
- package/dist/workflow/auto-generator.d.ts +27 -0
- package/dist/workflow/auto-generator.js +513 -0
- package/dist/workflow/discovery.d.ts +40 -0
- package/dist/workflow/discovery.js +195 -0
- package/dist/workflow/executor.d.ts +82 -0
- package/dist/workflow/executor.js +611 -0
- package/dist/workflow/index.d.ts +10 -0
- package/dist/workflow/index.js +10 -0
- package/dist/workflow/loader.d.ts +24 -0
- package/dist/workflow/loader.js +194 -0
- package/dist/workflow/state-tracker.d.ts +98 -0
- package/dist/workflow/state-tracker.js +424 -0
- package/dist/workflow/types.d.ts +337 -0
- package/dist/workflow/types.js +5 -0
- package/package.json +94 -0
- package/schemas/bellwether-check.schema.json +651 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Confidence scoring for drift detection.
|
|
3
|
+
*
|
|
4
|
+
* Structural changes are always 100% confident since they are deterministic.
|
|
5
|
+
*/
|
|
6
|
+
import type { ChangeConfidence, ComparisonMethod, BehaviorChange, ToolDiff, DiffConfidence, BehaviorAspect } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Structural aspects (deterministic comparison).
|
|
9
|
+
*/
|
|
10
|
+
export declare const STRUCTURAL_ASPECTS: BehaviorAspect[];
|
|
11
|
+
/**
|
|
12
|
+
* Creates a 100% confidence result for structural changes.
|
|
13
|
+
*/
|
|
14
|
+
export declare function createStructuralConfidence(description: string): ChangeConfidence;
|
|
15
|
+
/**
|
|
16
|
+
* Determines the comparison method for a given aspect.
|
|
17
|
+
* (All aspects are structural in this implementation)
|
|
18
|
+
*/
|
|
19
|
+
export declare function getComparisonMethod(_aspect: BehaviorAspect): ComparisonMethod;
|
|
20
|
+
/**
|
|
21
|
+
* Determines if an aspect is structural (deterministic).
|
|
22
|
+
* (All aspects are structural in this implementation)
|
|
23
|
+
*/
|
|
24
|
+
export declare function isStructuralAspect(_aspect: BehaviorAspect): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Aggregates confidence scores from multiple changes into a single tool confidence.
|
|
27
|
+
*/
|
|
28
|
+
export declare function aggregateToolConfidence(changes: BehaviorChange[]): ChangeConfidence | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Aggregates confidence information for an entire diff.
|
|
31
|
+
*/
|
|
32
|
+
export declare function aggregateDiffConfidence(toolDiffs: ToolDiff[], behaviorChanges: BehaviorChange[]): DiffConfidence | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Gets a human-readable confidence label.
|
|
35
|
+
*/
|
|
36
|
+
export declare function getConfidenceLabel(score: number): 'high' | 'medium' | 'low' | 'very-low';
|
|
37
|
+
/**
|
|
38
|
+
* Formats a confidence score for display.
|
|
39
|
+
*/
|
|
40
|
+
export declare function formatConfidenceScore(confidence: ChangeConfidence | undefined): string;
|
|
41
|
+
/**
|
|
42
|
+
* Filters changes by minimum confidence threshold.
|
|
43
|
+
* (All structural changes pass any threshold since they're 100% confident)
|
|
44
|
+
*/
|
|
45
|
+
export declare function filterByConfidence<T extends {
|
|
46
|
+
confidence?: ChangeConfidence;
|
|
47
|
+
}>(changes: T[], _minConfidence: number): T[];
|
|
48
|
+
/**
|
|
49
|
+
* Checks if a diff meets the confidence threshold for CI.
|
|
50
|
+
* (Always true for structural comparison)
|
|
51
|
+
*/
|
|
52
|
+
export declare function meetsConfidenceThreshold(_diff: {
|
|
53
|
+
confidence?: DiffConfidence;
|
|
54
|
+
}, _threshold: number): boolean;
|
|
55
|
+
//# sourceMappingURL=confidence.d.ts.map
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Confidence scoring for drift detection.
|
|
3
|
+
*
|
|
4
|
+
* Structural changes are always 100% confident since they are deterministic.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Structural aspects (deterministic comparison).
|
|
8
|
+
*/
|
|
9
|
+
export const STRUCTURAL_ASPECTS = [
|
|
10
|
+
'schema',
|
|
11
|
+
'description',
|
|
12
|
+
'response_format',
|
|
13
|
+
'error_handling',
|
|
14
|
+
'security',
|
|
15
|
+
'performance',
|
|
16
|
+
];
|
|
17
|
+
/**
|
|
18
|
+
* Creates a 100% confidence result for structural changes.
|
|
19
|
+
*/
|
|
20
|
+
export function createStructuralConfidence(description) {
|
|
21
|
+
return {
|
|
22
|
+
score: 100,
|
|
23
|
+
method: 'structural',
|
|
24
|
+
factors: [
|
|
25
|
+
{
|
|
26
|
+
name: 'structural_match',
|
|
27
|
+
weight: 1.0,
|
|
28
|
+
value: 100,
|
|
29
|
+
description,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Determines the comparison method for a given aspect.
|
|
36
|
+
* (All aspects are structural in this implementation)
|
|
37
|
+
*/
|
|
38
|
+
export function getComparisonMethod(_aspect) {
|
|
39
|
+
return 'structural';
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Determines if an aspect is structural (deterministic).
|
|
43
|
+
* (All aspects are structural in this implementation)
|
|
44
|
+
*/
|
|
45
|
+
export function isStructuralAspect(_aspect) {
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Aggregates confidence scores from multiple changes into a single tool confidence.
|
|
50
|
+
*/
|
|
51
|
+
export function aggregateToolConfidence(changes) {
|
|
52
|
+
if (changes.length === 0)
|
|
53
|
+
return undefined;
|
|
54
|
+
// All structural changes are 100% confident
|
|
55
|
+
return {
|
|
56
|
+
score: 100,
|
|
57
|
+
method: 'structural',
|
|
58
|
+
factors: [
|
|
59
|
+
{
|
|
60
|
+
name: 'aggregated_changes',
|
|
61
|
+
weight: 1.0,
|
|
62
|
+
value: 100,
|
|
63
|
+
description: `Aggregated from ${changes.length} structural changes`,
|
|
64
|
+
},
|
|
65
|
+
],
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Aggregates confidence information for an entire diff.
|
|
70
|
+
*/
|
|
71
|
+
export function aggregateDiffConfidence(toolDiffs, behaviorChanges) {
|
|
72
|
+
const totalChanges = toolDiffs.flatMap((td) => td.changes).length + behaviorChanges.length;
|
|
73
|
+
if (totalChanges === 0)
|
|
74
|
+
return undefined;
|
|
75
|
+
// All structural changes are 100% confident
|
|
76
|
+
return {
|
|
77
|
+
overallScore: 100,
|
|
78
|
+
minScore: 100,
|
|
79
|
+
maxScore: 100,
|
|
80
|
+
structuralCount: totalChanges,
|
|
81
|
+
semanticCount: 0,
|
|
82
|
+
structuralAverage: 100,
|
|
83
|
+
semanticAverage: 0,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Gets a human-readable confidence label.
|
|
88
|
+
*/
|
|
89
|
+
export function getConfidenceLabel(score) {
|
|
90
|
+
if (score >= 80)
|
|
91
|
+
return 'high';
|
|
92
|
+
if (score >= 60)
|
|
93
|
+
return 'medium';
|
|
94
|
+
if (score >= 40)
|
|
95
|
+
return 'low';
|
|
96
|
+
return 'very-low';
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Formats a confidence score for display.
|
|
100
|
+
*/
|
|
101
|
+
export function formatConfidenceScore(confidence) {
|
|
102
|
+
if (!confidence)
|
|
103
|
+
return 'N/A';
|
|
104
|
+
const label = getConfidenceLabel(confidence.score);
|
|
105
|
+
return `${confidence.score}% (${label}, structural)`;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Filters changes by minimum confidence threshold.
|
|
109
|
+
* (All structural changes pass any threshold since they're 100% confident)
|
|
110
|
+
*/
|
|
111
|
+
export function filterByConfidence(changes, _minConfidence) {
|
|
112
|
+
// All structural changes are 100% confident, so all pass
|
|
113
|
+
return changes;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Checks if a diff meets the confidence threshold for CI.
|
|
117
|
+
* (Always true for structural comparison)
|
|
118
|
+
*/
|
|
119
|
+
export function meetsConfidenceThreshold(_diff, _threshold) {
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=confidence.js.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Baseline format converter.
|
|
3
|
+
*
|
|
4
|
+
* Converts between local BehavioralBaseline format and cloud BellwetherBaseline format.
|
|
5
|
+
*
|
|
6
|
+
* ## Severity Type Mappings
|
|
7
|
+
*
|
|
8
|
+
* The codebase uses three different severity type systems for different contexts:
|
|
9
|
+
*
|
|
10
|
+
* ### ChangeSeverity (baseline/types.ts)
|
|
11
|
+
* Used for drift detection change classification. Maps to CLI exit codes.
|
|
12
|
+
* Values: 'none' | 'info' | 'warning' | 'breaking'
|
|
13
|
+
*
|
|
14
|
+
* ### ErrorSeverity (errors/types.ts)
|
|
15
|
+
* Used for error severity classification in error handling.
|
|
16
|
+
* Values: 'low' | 'medium' | 'high' | 'critical'
|
|
17
|
+
*
|
|
18
|
+
* ### CloudAssertionSeverity (cloud/types.ts)
|
|
19
|
+
* Used for cloud assertions and PersonaFinding severity levels.
|
|
20
|
+
* Values: 'info' | 'low' | 'medium' | 'high' | 'critical'
|
|
21
|
+
*
|
|
22
|
+
* ### Conversion Mappings
|
|
23
|
+
*
|
|
24
|
+
* ChangeSeverity → CloudAssertionSeverity:
|
|
25
|
+
* - 'none' → 'info' (no change, informational)
|
|
26
|
+
* - 'info' → 'low' (minor changes)
|
|
27
|
+
* - 'warning' → 'medium' (moderate changes)
|
|
28
|
+
* - 'breaking' → 'critical' (breaking changes)
|
|
29
|
+
*
|
|
30
|
+
* CloudAssertionSeverity → ChangeSeverity (for display/filtering):
|
|
31
|
+
* - 'info' → 'info'
|
|
32
|
+
* - 'low' → 'info'
|
|
33
|
+
* - 'medium' → 'warning'
|
|
34
|
+
* - 'high' → 'warning'
|
|
35
|
+
* - 'critical' → 'breaking'
|
|
36
|
+
*/
|
|
37
|
+
import type { BehavioralBaseline, ChangeSeverity } from './types.js';
|
|
38
|
+
import type { InterviewResult } from '../interview/types.js';
|
|
39
|
+
import type { DiscoveryResult } from '../discovery/types.js';
|
|
40
|
+
import type { BellwetherBaseline, CloudAssertionSeverity } from '../cloud/types.js';
|
|
41
|
+
/**
|
|
42
|
+
* Map ChangeSeverity to CloudAssertionSeverity.
|
|
43
|
+
* Used when converting local baselines to cloud format.
|
|
44
|
+
*/
|
|
45
|
+
export declare const CHANGE_TO_CLOUD_SEVERITY: Record<ChangeSeverity, CloudAssertionSeverity>;
|
|
46
|
+
/**
|
|
47
|
+
* Map CloudAssertionSeverity to ChangeSeverity.
|
|
48
|
+
* Used when filtering or displaying cloud data locally.
|
|
49
|
+
*/
|
|
50
|
+
export declare const CLOUD_TO_CHANGE_SEVERITY: Record<CloudAssertionSeverity, ChangeSeverity>;
|
|
51
|
+
/**
|
|
52
|
+
* Convert a BehavioralBaseline to cloud BellwetherBaseline format.
|
|
53
|
+
*/
|
|
54
|
+
export declare function convertToCloudBaseline(baseline: BehavioralBaseline, discovery?: DiscoveryResult, interviewResult?: InterviewResult): BellwetherBaseline;
|
|
55
|
+
/**
|
|
56
|
+
* Create a BellwetherBaseline directly from InterviewResult.
|
|
57
|
+
*
|
|
58
|
+
* This is the preferred method when you have fresh interview results.
|
|
59
|
+
*/
|
|
60
|
+
export declare function createCloudBaseline(result: InterviewResult, serverCommand: string): BellwetherBaseline;
|
|
61
|
+
//# sourceMappingURL=converter.d.ts.map
|