observability-toolkit 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +163 -398
- package/dist/__tests__/find-constant-dedup.test.d.ts +11 -0
- package/dist/__tests__/find-constant-dedup.test.d.ts.map +1 -0
- package/dist/__tests__/find-constant-dedup.test.js +132 -0
- package/dist/__tests__/find-constant-dedup.test.js.map +1 -0
- package/dist/backends/backend-schemas.d.ts +309 -0
- package/dist/backends/backend-schemas.d.ts.map +1 -0
- package/dist/backends/backend-schemas.js +215 -0
- package/dist/backends/backend-schemas.js.map +1 -0
- package/dist/backends/cloud.d.ts +46 -0
- package/dist/backends/cloud.d.ts.map +1 -0
- package/dist/backends/cloud.js +520 -0
- package/dist/backends/cloud.js.map +1 -0
- package/dist/backends/cloud.test.d.ts +2 -0
- package/dist/backends/cloud.test.d.ts.map +1 -0
- package/dist/backends/cloud.test.js +436 -0
- package/dist/backends/cloud.test.js.map +1 -0
- package/dist/backends/index.d.ts +659 -386
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +318 -41
- package/dist/backends/index.js.map +1 -1
- package/dist/backends/index.test.js +578 -57
- package/dist/backends/index.test.js.map +1 -1
- package/dist/backends/local-jsonl-boolean-search.test.js +8 -7
- package/dist/backends/local-jsonl-boolean-search.test.js.map +1 -1
- package/dist/backends/local-jsonl-cache.test.js +33 -31
- package/dist/backends/local-jsonl-cache.test.js.map +1 -1
- package/dist/backends/local-jsonl-circuit-breaker.test.js +9 -7
- package/dist/backends/local-jsonl-circuit-breaker.test.js.map +1 -1
- package/dist/backends/local-jsonl-export.test.js +73 -58
- package/dist/backends/local-jsonl-export.test.js.map +1 -1
- package/dist/backends/local-jsonl-index.test.js +52 -50
- package/dist/backends/local-jsonl-index.test.js.map +1 -1
- package/dist/backends/local-jsonl-logs.test.js +47 -31
- package/dist/backends/local-jsonl-logs.test.js.map +1 -1
- package/dist/backends/local-jsonl-metrics.test.js +85 -82
- package/dist/backends/local-jsonl-metrics.test.js.map +1 -1
- package/dist/backends/local-jsonl-otlp-unwrap.test.d.ts +2 -0
- package/dist/backends/local-jsonl-otlp-unwrap.test.d.ts.map +1 -0
- package/dist/backends/local-jsonl-otlp-unwrap.test.js +602 -0
- package/dist/backends/local-jsonl-otlp-unwrap.test.js.map +1 -0
- package/dist/backends/local-jsonl-traces.test.js +161 -147
- package/dist/backends/local-jsonl-traces.test.js.map +1 -1
- package/dist/backends/local-jsonl.d.ts +37 -8
- package/dist/backends/local-jsonl.d.ts.map +1 -1
- package/dist/backends/local-jsonl.js +1088 -241
- package/dist/backends/local-jsonl.js.map +1 -1
- package/dist/backends/shared.d.ts +9 -0
- package/dist/backends/shared.d.ts.map +1 -0
- package/dist/backends/shared.js +9 -0
- package/dist/backends/shared.js.map +1 -0
- package/dist/generated/opentelemetry/proto/collector/logs/v1/logs_service_pb.d.ts +40 -0
- package/dist/generated/opentelemetry/proto/collector/logs/v1/logs_service_pb.d.ts.map +1 -0
- package/dist/generated/opentelemetry/proto/collector/logs/v1/logs_service_pb.js +27 -0
- package/dist/generated/opentelemetry/proto/collector/logs/v1/logs_service_pb.js.map +1 -0
- package/dist/generated/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.d.ts +106 -0
- package/dist/generated/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.d.ts.map +1 -0
- package/dist/generated/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.js +43 -0
- package/dist/generated/opentelemetry/proto/collector/metrics/v1/metrics_service_pb.js.map +1 -0
- package/dist/generated/opentelemetry/proto/collector/profiles/v1development/profiles_service_pb.d.ts +111 -0
- package/dist/generated/opentelemetry/proto/collector/profiles/v1development/profiles_service_pb.d.ts.map +1 -0
- package/dist/generated/opentelemetry/proto/collector/profiles/v1development/profiles_service_pb.js +42 -0
- package/dist/generated/opentelemetry/proto/collector/profiles/v1development/profiles_service_pb.js.map +1 -0
- package/dist/generated/opentelemetry/proto/collector/trace/v1/trace_service_pb.d.ts +106 -0
- package/dist/generated/opentelemetry/proto/collector/trace/v1/trace_service_pb.d.ts.map +1 -0
- package/dist/generated/opentelemetry/proto/collector/trace/v1/trace_service_pb.js +43 -0
- package/dist/generated/opentelemetry/proto/collector/trace/v1/trace_service_pb.js.map +1 -0
- package/dist/generated/opentelemetry/proto/common/v1/common_pb.d.ts +243 -0
- package/dist/generated/opentelemetry/proto/common/v1/common_pb.d.ts.map +1 -0
- package/dist/generated/opentelemetry/proto/common/v1/common_pb.js +49 -0
- package/dist/generated/opentelemetry/proto/common/v1/common_pb.js.map +1 -0
- package/dist/generated/opentelemetry/proto/logs/v1/logs_pb.d.ts +90 -0
- package/dist/generated/opentelemetry/proto/logs/v1/logs_pb.d.ts.map +1 -0
- package/dist/generated/opentelemetry/proto/logs/v1/logs_pb.js +66 -0
- package/dist/generated/opentelemetry/proto/logs/v1/logs_pb.js.map +1 -0
- package/dist/generated/opentelemetry/proto/metrics/v1/metrics_pb.d.ts +1134 -0
- package/dist/generated/opentelemetry/proto/metrics/v1/metrics_pb.d.ts.map +1 -0
- package/dist/generated/opentelemetry/proto/metrics/v1/metrics_pb.js +223 -0
- package/dist/generated/opentelemetry/proto/metrics/v1/metrics_pb.js.map +1 -0
- package/dist/generated/opentelemetry/proto/profiles/v1development/profiles_pb.d.ts +678 -0
- package/dist/generated/opentelemetry/proto/profiles/v1development/profiles_pb.d.ts.map +1 -0
- package/dist/generated/opentelemetry/proto/profiles/v1development/profiles_pb.js +107 -0
- package/dist/generated/opentelemetry/proto/profiles/v1development/profiles_pb.js.map +1 -0
- package/dist/generated/opentelemetry/proto/resource/v1/resource_pb.d.ts +46 -0
- package/dist/generated/opentelemetry/proto/resource/v1/resource_pb.d.ts.map +1 -0
- package/dist/generated/opentelemetry/proto/resource/v1/resource_pb.js +25 -0
- package/dist/generated/opentelemetry/proto/resource/v1/resource_pb.js.map +1 -0
- package/dist/generated/opentelemetry/proto/trace/v1/trace_pb.d.ts +569 -0
- package/dist/generated/opentelemetry/proto/trace/v1/trace_pb.d.ts.map +1 -0
- package/dist/generated/opentelemetry/proto/trace/v1/trace_pb.js +195 -0
- package/dist/generated/opentelemetry/proto/trace/v1/trace_pb.js.map +1 -0
- package/dist/lib/agent-judge/agent-as-judge.d.ts +157 -0
- package/dist/lib/agent-judge/agent-as-judge.d.ts.map +1 -0
- package/dist/lib/agent-judge/agent-as-judge.js +137 -0
- package/dist/lib/agent-judge/agent-as-judge.js.map +1 -0
- package/dist/lib/agent-judge/agent-as-judge.test.d.ts.map +1 -0
- package/dist/lib/agent-judge/agent-as-judge.test.js +839 -0
- package/dist/lib/agent-judge/agent-as-judge.test.js.map +1 -0
- package/dist/lib/agent-judge/agent-eval-metrics.d.ts +293 -0
- package/dist/lib/agent-judge/agent-eval-metrics.d.ts.map +1 -0
- package/dist/lib/agent-judge/agent-eval-metrics.js +715 -0
- package/dist/lib/agent-judge/agent-eval-metrics.js.map +1 -0
- package/dist/lib/agent-judge/agent-eval-metrics.test.d.ts +5 -0
- package/dist/lib/agent-judge/agent-eval-metrics.test.d.ts.map +1 -0
- package/dist/lib/agent-judge/agent-eval-metrics.test.js +676 -0
- package/dist/lib/agent-judge/agent-eval-metrics.test.js.map +1 -0
- package/dist/lib/agent-judge/agent-judge-classes.d.ts +95 -0
- package/dist/lib/agent-judge/agent-judge-classes.d.ts.map +1 -0
- package/dist/lib/agent-judge/agent-judge-classes.js +222 -0
- package/dist/lib/agent-judge/agent-judge-classes.js.map +1 -0
- package/dist/lib/agent-judge/agent-judge-classes.test.d.ts +6 -0
- package/dist/lib/agent-judge/agent-judge-classes.test.d.ts.map +1 -0
- package/dist/lib/agent-judge/agent-judge-classes.test.js +271 -0
- package/dist/lib/agent-judge/agent-judge-classes.test.js.map +1 -0
- package/dist/lib/agent-judge/agent-judge-consensus.d.ts +58 -0
- package/dist/lib/agent-judge/agent-judge-consensus.d.ts.map +1 -0
- package/dist/lib/agent-judge/agent-judge-consensus.js +149 -0
- package/dist/lib/agent-judge/agent-judge-consensus.js.map +1 -0
- package/dist/lib/agent-judge/agent-judge-consensus.test.d.ts +2 -0
- package/dist/lib/agent-judge/agent-judge-consensus.test.d.ts.map +1 -0
- package/dist/lib/agent-judge/agent-judge-consensus.test.js +170 -0
- package/dist/lib/agent-judge/agent-judge-consensus.test.js.map +1 -0
- package/dist/lib/agent-judge/agent-judge-verification.d.ts +89 -0
- package/dist/lib/agent-judge/agent-judge-verification.d.ts.map +1 -0
- package/dist/lib/agent-judge/agent-judge-verification.js +235 -0
- package/dist/lib/agent-judge/agent-judge-verification.js.map +1 -0
- package/dist/lib/agent-judge/agent-judge-verification.test.d.ts +5 -0
- package/dist/lib/agent-judge/agent-judge-verification.test.d.ts.map +1 -0
- package/dist/lib/agent-judge/agent-judge-verification.test.js +399 -0
- package/dist/lib/agent-judge/agent-judge-verification.test.js.map +1 -0
- package/dist/lib/audit/agent-auditor-scoring.d.ts +167 -0
- package/dist/lib/audit/agent-auditor-scoring.d.ts.map +1 -0
- package/dist/lib/audit/agent-auditor-scoring.js +338 -0
- package/dist/lib/audit/agent-auditor-scoring.js.map +1 -0
- package/dist/lib/audit/agent-auditor-scoring.test.d.ts +2 -0
- package/dist/lib/audit/agent-auditor-scoring.test.d.ts.map +1 -0
- package/dist/lib/audit/agent-auditor-scoring.test.js +576 -0
- package/dist/lib/audit/agent-auditor-scoring.test.js.map +1 -0
- package/dist/lib/audit/audit-record.d.ts +139 -0
- package/dist/lib/audit/audit-record.d.ts.map +1 -0
- package/dist/lib/audit/audit-record.js +288 -0
- package/dist/lib/audit/audit-record.js.map +1 -0
- package/dist/lib/audit/audit-record.test.d.ts +5 -0
- package/dist/lib/audit/audit-record.test.d.ts.map +1 -0
- package/dist/lib/audit/audit-record.test.js +258 -0
- package/dist/lib/audit/audit-record.test.js.map +1 -0
- package/dist/lib/audit/audit-scoring-constants.d.ts +57 -0
- package/dist/lib/audit/audit-scoring-constants.d.ts.map +1 -0
- package/dist/lib/audit/audit-scoring-constants.js +59 -0
- package/dist/lib/audit/audit-scoring-constants.js.map +1 -0
- package/dist/lib/audit/compliance-report.d.ts +125 -0
- package/dist/lib/audit/compliance-report.d.ts.map +1 -0
- package/dist/lib/audit/compliance-report.js +205 -0
- package/dist/lib/audit/compliance-report.js.map +1 -0
- package/dist/lib/audit/compliance-report.test.d.ts +5 -0
- package/dist/lib/audit/compliance-report.test.d.ts.map +1 -0
- package/dist/lib/audit/compliance-report.test.js +290 -0
- package/dist/lib/audit/compliance-report.test.js.map +1 -0
- package/dist/lib/audit/retention-guard.d.ts +41 -0
- package/dist/lib/audit/retention-guard.d.ts.map +1 -0
- package/dist/lib/audit/retention-guard.js +103 -0
- package/dist/lib/audit/retention-guard.js.map +1 -0
- package/dist/lib/audit/retention-guard.test.d.ts +5 -0
- package/dist/lib/audit/retention-guard.test.d.ts.map +1 -0
- package/dist/lib/audit/retention-guard.test.js +109 -0
- package/dist/lib/audit/retention-guard.test.js.map +1 -0
- package/dist/lib/audit/skill-auditor-scoring.d.ts +69 -0
- package/dist/lib/audit/skill-auditor-scoring.d.ts.map +1 -0
- package/dist/lib/audit/skill-auditor-scoring.js +149 -0
- package/dist/lib/audit/skill-auditor-scoring.js.map +1 -0
- package/dist/lib/audit/skill-auditor-scoring.test.d.ts +2 -0
- package/dist/lib/audit/skill-auditor-scoring.test.d.ts.map +1 -0
- package/dist/lib/audit/skill-auditor-scoring.test.js +369 -0
- package/dist/lib/audit/skill-auditor-scoring.test.js.map +1 -0
- package/dist/lib/audit/verification-events.d.ts +119 -0
- package/dist/lib/audit/verification-events.d.ts.map +1 -0
- package/dist/lib/audit/verification-events.js +175 -0
- package/dist/lib/audit/verification-events.js.map +1 -0
- package/dist/lib/audit/verification-events.test.d.ts.map +1 -0
- package/dist/lib/audit/verification-events.test.js +197 -0
- package/dist/lib/audit/verification-events.test.js.map +1 -0
- package/dist/lib/core/constants-models.d.ts +90 -0
- package/dist/lib/core/constants-models.d.ts.map +1 -0
- package/dist/lib/core/constants-models.js +208 -0
- package/dist/lib/core/constants-models.js.map +1 -0
- package/dist/lib/core/constants-otel.d.ts +68 -0
- package/dist/lib/core/constants-otel.d.ts.map +1 -0
- package/dist/lib/core/constants-otel.js +128 -0
- package/dist/lib/core/constants-otel.js.map +1 -0
- package/dist/lib/core/constants-symlink.test.d.ts.map +1 -0
- package/dist/lib/core/constants-symlink.test.js +358 -0
- package/dist/lib/core/constants-symlink.test.js.map +1 -0
- package/dist/lib/core/constants-telemetry.d.ts +21 -0
- package/dist/lib/core/constants-telemetry.d.ts.map +1 -0
- package/dist/lib/core/constants-telemetry.js +162 -0
- package/dist/lib/core/constants-telemetry.js.map +1 -0
- package/dist/lib/core/constants.d.ts +152 -0
- package/dist/lib/core/constants.d.ts.map +1 -0
- package/dist/lib/core/constants.js +223 -0
- package/dist/lib/core/constants.js.map +1 -0
- package/dist/lib/core/constants.test.d.ts.map +1 -0
- package/dist/lib/core/constants.test.js +833 -0
- package/dist/lib/core/constants.test.js.map +1 -0
- package/dist/lib/core/doc-sync.test.d.ts +9 -0
- package/dist/lib/core/doc-sync.test.d.ts.map +1 -0
- package/dist/lib/core/doc-sync.test.js +159 -0
- package/dist/lib/core/doc-sync.test.js.map +1 -0
- package/dist/lib/core/edge-cases.test.d.ts.map +1 -0
- package/dist/lib/core/edge-cases.test.js +637 -0
- package/dist/lib/core/edge-cases.test.js.map +1 -0
- package/dist/lib/core/file-utils.d.ts +360 -0
- package/dist/lib/core/file-utils.d.ts.map +1 -0
- package/dist/lib/core/file-utils.js +890 -0
- package/dist/lib/core/file-utils.js.map +1 -0
- package/dist/lib/core/file-utils.test-constants.d.ts +38 -0
- package/dist/lib/core/file-utils.test-constants.d.ts.map +1 -0
- package/dist/lib/core/file-utils.test-constants.js +40 -0
- package/dist/lib/core/file-utils.test-constants.js.map +1 -0
- package/dist/lib/core/file-utils.test.d.ts.map +1 -0
- package/dist/lib/core/file-utils.test.js +1329 -0
- package/dist/lib/core/file-utils.test.js.map +1 -0
- package/dist/lib/core/input-validator.d.ts +125 -0
- package/dist/lib/core/input-validator.d.ts.map +1 -0
- package/dist/lib/core/input-validator.fuzz.test.d.ts.map +1 -0
- package/dist/lib/core/input-validator.fuzz.test.js +302 -0
- package/dist/lib/core/input-validator.fuzz.test.js.map +1 -0
- package/dist/lib/core/input-validator.js +348 -0
- package/dist/lib/core/input-validator.js.map +1 -0
- package/dist/lib/core/input-validator.test.d.ts.map +1 -0
- package/dist/lib/core/input-validator.test.js +465 -0
- package/dist/lib/core/input-validator.test.js.map +1 -0
- package/dist/lib/core/logger.d.ts +32 -0
- package/dist/lib/core/logger.d.ts.map +1 -0
- package/dist/lib/core/logger.js +104 -0
- package/dist/lib/core/logger.js.map +1 -0
- package/dist/lib/core/logger.test.d.ts.map +1 -0
- package/dist/lib/core/logger.test.js.map +1 -0
- package/dist/lib/core/schema-types.d.ts +37 -0
- package/dist/lib/core/schema-types.d.ts.map +1 -0
- package/dist/lib/core/schema-types.js +29 -0
- package/dist/lib/core/schema-types.js.map +1 -0
- package/dist/lib/core/server-utils.d.ts +98 -0
- package/dist/lib/core/server-utils.d.ts.map +1 -0
- package/dist/lib/core/server-utils.js +193 -0
- package/dist/lib/core/server-utils.js.map +1 -0
- package/dist/lib/core/shared-schemas.d.ts +301 -0
- package/dist/lib/core/shared-schemas.d.ts.map +1 -0
- package/dist/lib/core/shared-schemas.js +222 -0
- package/dist/lib/core/shared-schemas.js.map +1 -0
- package/dist/lib/core/shared-schemas.test.d.ts.map +1 -0
- package/dist/lib/core/shared-schemas.test.js +136 -0
- package/dist/lib/core/shared-schemas.test.js.map +1 -0
- package/dist/lib/core/units.d.ts +67 -0
- package/dist/lib/core/units.d.ts.map +1 -0
- package/dist/lib/core/units.js +88 -0
- package/dist/lib/core/units.js.map +1 -0
- package/dist/lib/cost/cost-estimation.d.ts +264 -0
- package/dist/lib/cost/cost-estimation.d.ts.map +1 -0
- package/dist/lib/cost/cost-estimation.js +541 -0
- package/dist/lib/cost/cost-estimation.js.map +1 -0
- package/dist/lib/cost/cost-estimation.test.d.ts +5 -0
- package/dist/lib/cost/cost-estimation.test.d.ts.map +1 -0
- package/dist/lib/cost/cost-estimation.test.js +701 -0
- package/dist/lib/cost/cost-estimation.test.js.map +1 -0
- package/dist/lib/cost/pricing-cache.d.ts +59 -0
- package/dist/lib/cost/pricing-cache.d.ts.map +1 -0
- package/dist/lib/cost/pricing-cache.js +120 -0
- package/dist/lib/cost/pricing-cache.js.map +1 -0
- package/dist/lib/cost/pricing-cache.test.d.ts +5 -0
- package/dist/lib/cost/pricing-cache.test.d.ts.map +1 -0
- package/dist/lib/cost/pricing-cache.test.js +176 -0
- package/dist/lib/cost/pricing-cache.test.js.map +1 -0
- package/dist/lib/dashboard-file-utils.d.ts +35 -0
- package/dist/lib/dashboard-file-utils.d.ts.map +1 -0
- package/dist/lib/dashboard-file-utils.js +94 -0
- package/dist/lib/dashboard-file-utils.js.map +1 -0
- package/dist/lib/errors/error-sanitizer.d.ts +62 -0
- package/dist/lib/errors/error-sanitizer.d.ts.map +1 -0
- package/dist/lib/errors/error-sanitizer.js +235 -0
- package/dist/lib/errors/error-sanitizer.js.map +1 -0
- package/dist/lib/errors/error-sanitizer.test.d.ts.map +1 -0
- package/dist/lib/errors/error-sanitizer.test.js +534 -0
- package/dist/lib/errors/error-sanitizer.test.js.map +1 -0
- package/dist/lib/errors/error-types.d.ts +59 -0
- package/dist/lib/errors/error-types.d.ts.map +1 -0
- package/dist/lib/errors/error-types.js +187 -0
- package/dist/lib/errors/error-types.js.map +1 -0
- package/dist/lib/errors/error-types.test.d.ts.map +1 -0
- package/dist/lib/errors/error-types.test.js +246 -0
- package/dist/lib/errors/error-types.test.js.map +1 -0
- package/dist/lib/errors/query-sanitizer.d.ts.map +1 -0
- package/dist/lib/errors/query-sanitizer.js +269 -0
- package/dist/lib/errors/query-sanitizer.js.map +1 -0
- package/dist/lib/errors/query-sanitizer.test.d.ts.map +1 -0
- package/dist/lib/errors/query-sanitizer.test.js +403 -0
- package/dist/lib/errors/query-sanitizer.test.js.map +1 -0
- package/dist/lib/exports/confident-export.d.ts +105 -0
- package/dist/lib/exports/confident-export.d.ts.map +1 -0
- package/dist/lib/exports/confident-export.js +385 -0
- package/dist/lib/exports/confident-export.js.map +1 -0
- package/dist/lib/exports/confident-export.test.d.ts.map +1 -0
- package/dist/lib/exports/confident-export.test.js +848 -0
- package/dist/lib/exports/confident-export.test.js.map +1 -0
- package/dist/lib/exports/datadog-export.d.ts +200 -0
- package/dist/lib/exports/datadog-export.d.ts.map +1 -0
- package/dist/lib/exports/datadog-export.js +488 -0
- package/dist/lib/exports/datadog-export.js.map +1 -0
- package/dist/lib/exports/datadog-export.test.d.ts +2 -0
- package/dist/lib/exports/datadog-export.test.d.ts.map +1 -0
- package/dist/lib/exports/datadog-export.test.js +890 -0
- package/dist/lib/exports/datadog-export.test.js.map +1 -0
- package/dist/lib/exports/export-config-schemas.d.ts +67 -0
- package/dist/lib/exports/export-config-schemas.d.ts.map +1 -0
- package/dist/lib/exports/export-config-schemas.js +120 -0
- package/dist/lib/exports/export-config-schemas.js.map +1 -0
- package/dist/lib/exports/export-config-schemas.test.d.ts +8 -0
- package/dist/lib/exports/export-config-schemas.test.d.ts.map +1 -0
- package/dist/lib/exports/export-config-schemas.test.js +503 -0
- package/dist/lib/exports/export-config-schemas.test.js.map +1 -0
- package/dist/lib/exports/export-utils.d.ts +127 -0
- package/dist/lib/exports/export-utils.d.ts.map +1 -0
- package/dist/lib/exports/export-utils.js +303 -0
- package/dist/lib/exports/export-utils.js.map +1 -0
- package/dist/lib/exports/export-utils.test.d.ts.map +1 -0
- package/dist/lib/exports/export-utils.test.js +344 -0
- package/dist/lib/exports/export-utils.test.js.map +1 -0
- package/dist/lib/exports/langfuse-export.d.ts +129 -0
- package/dist/lib/exports/langfuse-export.d.ts.map +1 -0
- package/dist/lib/exports/langfuse-export.js +370 -0
- package/dist/lib/exports/langfuse-export.js.map +1 -0
- package/dist/lib/exports/langfuse-export.test.d.ts.map +1 -0
- package/dist/lib/exports/langfuse-export.test.js +1020 -0
- package/dist/lib/exports/langfuse-export.test.js.map +1 -0
- package/dist/lib/exports/otlp-export.d.ts +179 -0
- package/dist/lib/exports/otlp-export.d.ts.map +1 -0
- package/dist/lib/exports/otlp-export.js +397 -0
- package/dist/lib/exports/otlp-export.js.map +1 -0
- package/dist/lib/exports/otlp-format-converter.d.ts +70 -0
- package/dist/lib/exports/otlp-format-converter.d.ts.map +1 -0
- package/dist/lib/exports/otlp-format-converter.js +401 -0
- package/dist/lib/exports/otlp-format-converter.js.map +1 -0
- package/dist/lib/exports/otlp-proto-encode.d.ts +53 -0
- package/dist/lib/exports/otlp-proto-encode.d.ts.map +1 -0
- package/dist/lib/exports/otlp-proto-encode.js +165 -0
- package/dist/lib/exports/otlp-proto-encode.js.map +1 -0
- package/dist/lib/exports/otlp-proto-encode.test.d.ts +7 -0
- package/dist/lib/exports/otlp-proto-encode.test.d.ts.map +1 -0
- package/dist/lib/exports/otlp-proto-encode.test.js +997 -0
- package/dist/lib/exports/otlp-proto-encode.test.js.map +1 -0
- package/dist/lib/exports/phoenix-export.d.ts +119 -0
- package/dist/lib/exports/phoenix-export.d.ts.map +1 -0
- package/dist/lib/exports/phoenix-export.js +448 -0
- package/dist/lib/exports/phoenix-export.js.map +1 -0
- package/dist/lib/exports/phoenix-export.test.d.ts.map +1 -0
- package/dist/lib/exports/phoenix-export.test.js +816 -0
- package/dist/lib/exports/phoenix-export.test.js.map +1 -0
- package/dist/lib/index.d.ts +16 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +31 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/judge/evaluation-hooks-schemas.d.ts +186 -0
- package/dist/lib/judge/evaluation-hooks-schemas.d.ts.map +1 -0
- package/dist/lib/judge/evaluation-hooks-schemas.js +125 -0
- package/dist/lib/judge/evaluation-hooks-schemas.js.map +1 -0
- package/dist/lib/judge/evaluation-hooks.d.ts +88 -0
- package/dist/lib/judge/evaluation-hooks.d.ts.map +1 -0
- package/dist/lib/judge/evaluation-hooks.js +658 -0
- package/dist/lib/judge/evaluation-hooks.js.map +1 -0
- package/dist/lib/judge/evaluation-hooks.test.d.ts.map +1 -0
- package/dist/lib/judge/evaluation-hooks.test.js +934 -0
- package/dist/lib/judge/evaluation-hooks.test.js.map +1 -0
- package/dist/lib/judge/llm-as-judge.d.ts +138 -0
- package/dist/lib/judge/llm-as-judge.d.ts.map +1 -0
- package/dist/lib/judge/llm-as-judge.js +103 -0
- package/dist/lib/judge/llm-as-judge.js.map +1 -0
- package/dist/lib/judge/llm-as-judge.test.d.ts.map +1 -0
- package/dist/lib/judge/llm-as-judge.test.js +2179 -0
- package/dist/lib/judge/llm-as-judge.test.js.map +1 -0
- package/dist/lib/judge/llm-judge-bias.d.ts +44 -0
- package/dist/lib/judge/llm-judge-bias.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-bias.js +130 -0
- package/dist/lib/judge/llm-judge-bias.js.map +1 -0
- package/dist/lib/judge/llm-judge-bias.test.d.ts +2 -0
- package/dist/lib/judge/llm-judge-bias.test.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-bias.test.js +380 -0
- package/dist/lib/judge/llm-judge-bias.test.js.map +1 -0
- package/dist/lib/judge/llm-judge-code.d.ts +99 -0
- package/dist/lib/judge/llm-judge-code.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-code.js +261 -0
- package/dist/lib/judge/llm-judge-code.js.map +1 -0
- package/dist/lib/judge/llm-judge-code.test.d.ts +2 -0
- package/dist/lib/judge/llm-judge-code.test.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-code.test.js +981 -0
- package/dist/lib/judge/llm-judge-code.test.js.map +1 -0
- package/dist/lib/judge/llm-judge-config.d.ts +241 -0
- package/dist/lib/judge/llm-judge-config.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-config.js +390 -0
- package/dist/lib/judge/llm-judge-config.js.map +1 -0
- package/dist/lib/judge/llm-judge-config.test.d.ts +5 -0
- package/dist/lib/judge/llm-judge-config.test.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-config.test.js +392 -0
- package/dist/lib/judge/llm-judge-config.test.js.map +1 -0
- package/dist/lib/judge/llm-judge-constants.d.ts +111 -0
- package/dist/lib/judge/llm-judge-constants.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-constants.js +150 -0
- package/dist/lib/judge/llm-judge-constants.js.map +1 -0
- package/dist/lib/judge/llm-judge-dag.d.ts +57 -0
- package/dist/lib/judge/llm-judge-dag.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-dag.js +217 -0
- package/dist/lib/judge/llm-judge-dag.js.map +1 -0
- package/dist/lib/judge/llm-judge-dag.test.d.ts +8 -0
- package/dist/lib/judge/llm-judge-dag.test.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-dag.test.js +973 -0
- package/dist/lib/judge/llm-judge-dag.test.js.map +1 -0
- package/dist/lib/judge/llm-judge-domain.d.ts +42 -0
- package/dist/lib/judge/llm-judge-domain.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-domain.js +167 -0
- package/dist/lib/judge/llm-judge-domain.js.map +1 -0
- package/dist/lib/judge/llm-judge-domain.test.d.ts +6 -0
- package/dist/lib/judge/llm-judge-domain.test.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-domain.test.js +337 -0
- package/dist/lib/judge/llm-judge-domain.test.js.map +1 -0
- package/dist/lib/judge/llm-judge-geval.d.ts +42 -0
- package/dist/lib/judge/llm-judge-geval.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-geval.js +213 -0
- package/dist/lib/judge/llm-judge-geval.js.map +1 -0
- package/dist/lib/judge/llm-judge-geval.test.d.ts +2 -0
- package/dist/lib/judge/llm-judge-geval.test.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-geval.test.js +556 -0
- package/dist/lib/judge/llm-judge-geval.test.js.map +1 -0
- package/dist/lib/judge/llm-judge-otel.test.d.ts +9 -0
- package/dist/lib/judge/llm-judge-otel.test.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-otel.test.js +91 -0
- package/dist/lib/judge/llm-judge-otel.test.js.map +1 -0
- package/dist/lib/judge/llm-judge-qag.d.ts +38 -0
- package/dist/lib/judge/llm-judge-qag.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-qag.js +205 -0
- package/dist/lib/judge/llm-judge-qag.js.map +1 -0
- package/dist/lib/judge/llm-judge-qag.test.d.ts +2 -0
- package/dist/lib/judge/llm-judge-qag.test.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-qag.test.js +386 -0
- package/dist/lib/judge/llm-judge-qag.test.js.map +1 -0
- package/dist/lib/judge/llm-judge-resilience.d.ts +74 -0
- package/dist/lib/judge/llm-judge-resilience.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-resilience.js +146 -0
- package/dist/lib/judge/llm-judge-resilience.js.map +1 -0
- package/dist/lib/judge/llm-judge-resilience.test.d.ts +2 -0
- package/dist/lib/judge/llm-judge-resilience.test.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-resilience.test.js +353 -0
- package/dist/lib/judge/llm-judge-resilience.test.js.map +1 -0
- package/dist/lib/judge/llm-judge-security.d.ts +106 -0
- package/dist/lib/judge/llm-judge-security.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-security.js +314 -0
- package/dist/lib/judge/llm-judge-security.js.map +1 -0
- package/dist/lib/judge/llm-judge-security.test.d.ts +2 -0
- package/dist/lib/judge/llm-judge-security.test.d.ts.map +1 -0
- package/dist/lib/judge/llm-judge-security.test.js +1011 -0
- package/dist/lib/judge/llm-judge-security.test.js.map +1 -0
- package/dist/lib/observability/context-accumulator.d.ts +32 -0
- package/dist/lib/observability/context-accumulator.d.ts.map +1 -0
- package/dist/lib/observability/context-accumulator.js +87 -0
- package/dist/lib/observability/context-accumulator.js.map +1 -0
- package/dist/lib/observability/evaluation-events.d.ts +35 -0
- package/dist/lib/observability/evaluation-events.d.ts.map +1 -0
- package/dist/lib/observability/evaluation-events.js +90 -0
- package/dist/lib/observability/evaluation-events.js.map +1 -0
- package/dist/lib/observability/file-span-exporter.d.ts +17 -0
- package/dist/lib/observability/file-span-exporter.d.ts.map +1 -0
- package/dist/lib/observability/file-span-exporter.js +49 -0
- package/dist/lib/observability/file-span-exporter.js.map +1 -0
- package/dist/lib/observability/histogram-bucket-constants.d.ts +25 -0
- package/dist/lib/observability/histogram-bucket-constants.d.ts.map +1 -0
- package/dist/lib/observability/histogram-bucket-constants.js +60 -0
- package/dist/lib/observability/histogram-bucket-constants.js.map +1 -0
- package/dist/lib/observability/histogram.d.ts +112 -0
- package/dist/lib/observability/histogram.d.ts.map +1 -0
- package/dist/lib/observability/histogram.js +170 -0
- package/dist/lib/observability/histogram.js.map +1 -0
- package/dist/lib/observability/histogram.test.d.ts.map +1 -0
- package/dist/lib/observability/histogram.test.js +385 -0
- package/dist/lib/observability/histogram.test.js.map +1 -0
- package/dist/lib/observability/indexer.d.ts +114 -0
- package/dist/lib/observability/indexer.d.ts.map +1 -0
- package/dist/lib/observability/indexer.js +402 -0
- package/dist/lib/observability/indexer.js.map +1 -0
- package/dist/lib/observability/indexer.test.d.ts.map +1 -0
- package/dist/lib/observability/indexer.test.js +713 -0
- package/dist/lib/observability/indexer.test.js.map +1 -0
- package/dist/lib/observability/instrumentation-eval.test.d.ts +5 -0
- package/dist/lib/observability/instrumentation-eval.test.d.ts.map +1 -0
- package/dist/lib/observability/instrumentation-eval.test.js +63 -0
- package/dist/lib/observability/instrumentation-eval.test.js.map +1 -0
- package/dist/lib/observability/instrumentation-init-errors.test.d.ts +13 -0
- package/dist/lib/observability/instrumentation-init-errors.test.d.ts.map +1 -0
- package/dist/lib/observability/instrumentation-init-errors.test.js +194 -0
- package/dist/lib/observability/instrumentation-init-errors.test.js.map +1 -0
- package/dist/lib/observability/instrumentation-retry-timeout.test.d.ts +15 -0
- package/dist/lib/observability/instrumentation-retry-timeout.test.d.ts.map +1 -0
- package/dist/lib/observability/instrumentation-retry-timeout.test.js +188 -0
- package/dist/lib/observability/instrumentation-retry-timeout.test.js.map +1 -0
- package/dist/lib/observability/instrumentation-set-otel.test.d.ts +5 -0
- package/dist/lib/observability/instrumentation-set-otel.test.d.ts.map +1 -0
- package/dist/lib/observability/instrumentation-set-otel.test.js +59 -0
- package/dist/lib/observability/instrumentation-set-otel.test.js.map +1 -0
- package/dist/lib/observability/instrumentation.d.ts +158 -0
- package/dist/lib/observability/instrumentation.d.ts.map +1 -0
- package/dist/lib/observability/instrumentation.integration.test.d.ts.map +1 -0
- package/dist/lib/observability/instrumentation.integration.test.js +590 -0
- package/dist/lib/observability/instrumentation.integration.test.js.map +1 -0
- package/dist/lib/observability/instrumentation.js +512 -0
- package/dist/lib/observability/instrumentation.js.map +1 -0
- package/dist/lib/observability/instrumentation.test.d.ts.map +1 -0
- package/dist/lib/observability/instrumentation.test.js +822 -0
- package/dist/lib/observability/instrumentation.test.js.map +1 -0
- package/dist/lib/observability/mcp-semconv-constants.d.ts +98 -0
- package/dist/lib/observability/mcp-semconv-constants.d.ts.map +1 -0
- package/dist/lib/observability/mcp-semconv-constants.js +102 -0
- package/dist/lib/observability/mcp-semconv-constants.js.map +1 -0
- package/dist/lib/observability/mcp-semconv.d.ts +37 -0
- package/dist/lib/observability/mcp-semconv.d.ts.map +1 -0
- package/dist/lib/observability/mcp-semconv.js +87 -0
- package/dist/lib/observability/mcp-semconv.js.map +1 -0
- package/dist/lib/observability/mcp-semconv.test.d.ts +2 -0
- package/dist/lib/observability/mcp-semconv.test.d.ts.map +1 -0
- package/dist/lib/observability/mcp-semconv.test.js +168 -0
- package/dist/lib/observability/mcp-semconv.test.js.map +1 -0
- package/dist/lib/observability/metrics.d.ts +100 -0
- package/dist/lib/observability/metrics.d.ts.map +1 -0
- package/dist/lib/observability/metrics.js +429 -0
- package/dist/lib/observability/metrics.js.map +1 -0
- package/dist/lib/observability/metrics.test.d.ts.map +1 -0
- package/dist/lib/observability/metrics.test.js +191 -0
- package/dist/lib/observability/metrics.test.js.map +1 -0
- package/dist/lib/observability/observability-test-constants.d.ts +34 -0
- package/dist/lib/observability/observability-test-constants.d.ts.map +1 -0
- package/dist/lib/observability/observability-test-constants.js +55 -0
- package/dist/lib/observability/observability-test-constants.js.map +1 -0
- package/dist/lib/observability/opentelemetry-resources.test.d.ts +2 -0
- package/dist/lib/observability/opentelemetry-resources.test.d.ts.map +1 -0
- package/dist/lib/observability/opentelemetry-resources.test.js +19 -0
- package/dist/lib/observability/opentelemetry-resources.test.js.map +1 -0
- package/dist/lib/observability/parse-stats.d.ts.map +1 -0
- package/dist/lib/observability/parse-stats.js +207 -0
- package/dist/lib/observability/parse-stats.js.map +1 -0
- package/dist/lib/observability/parse-stats.test.d.ts.map +1 -0
- package/dist/lib/observability/parse-stats.test.js +287 -0
- package/dist/lib/observability/parse-stats.test.js.map +1 -0
- package/dist/lib/observability/render-trace-tree.d.ts +31 -0
- package/dist/lib/observability/render-trace-tree.d.ts.map +1 -0
- package/dist/lib/observability/render-trace-tree.js +95 -0
- package/dist/lib/observability/render-trace-tree.js.map +1 -0
- package/dist/lib/observability/render-trace-tree.test.d.ts +5 -0
- package/dist/lib/observability/render-trace-tree.test.d.ts.map +1 -0
- package/dist/lib/observability/render-trace-tree.test.js +97 -0
- package/dist/lib/observability/render-trace-tree.test.js.map +1 -0
- package/dist/lib/observability/span-attributes.d.ts +27 -0
- package/dist/lib/observability/span-attributes.d.ts.map +1 -0
- package/dist/lib/observability/span-attributes.js +85 -0
- package/dist/lib/observability/span-attributes.js.map +1 -0
- package/dist/lib/observability/trace-anomaly-detector.d.ts +23 -0
- package/dist/lib/observability/trace-anomaly-detector.d.ts.map +1 -0
- package/dist/lib/observability/trace-anomaly-detector.js +211 -0
- package/dist/lib/observability/trace-anomaly-detector.js.map +1 -0
- package/dist/lib/observability/trace-anomaly-detector.test.d.ts +5 -0
- package/dist/lib/observability/trace-anomaly-detector.test.d.ts.map +1 -0
- package/dist/lib/observability/trace-anomaly-detector.test.js +224 -0
- package/dist/lib/observability/trace-anomaly-detector.test.js.map +1 -0
- package/dist/lib/observability/trace-anomaly-schemas.d.ts +189 -0
- package/dist/lib/observability/trace-anomaly-schemas.d.ts.map +1 -0
- package/dist/lib/observability/trace-anomaly-schemas.js +167 -0
- package/dist/lib/observability/trace-anomaly-schemas.js.map +1 -0
- package/dist/lib/privacy/content-redaction.d.ts +141 -0
- package/dist/lib/privacy/content-redaction.d.ts.map +1 -0
- package/dist/lib/privacy/content-redaction.js +210 -0
- package/dist/lib/privacy/content-redaction.js.map +1 -0
- package/dist/lib/privacy/content-redaction.test.d.ts +2 -0
- package/dist/lib/privacy/content-redaction.test.d.ts.map +1 -0
- package/dist/lib/privacy/content-redaction.test.js +302 -0
- package/dist/lib/privacy/content-redaction.test.js.map +1 -0
- package/dist/lib/quality/bucket-utils.d.ts +17 -0
- package/dist/lib/quality/bucket-utils.d.ts.map +1 -0
- package/dist/lib/quality/bucket-utils.js +31 -0
- package/dist/lib/quality/bucket-utils.js.map +1 -0
- package/dist/lib/quality/bucket-utils.test.d.ts +2 -0
- package/dist/lib/quality/bucket-utils.test.d.ts.map +1 -0
- package/dist/lib/quality/bucket-utils.test.js +42 -0
- package/dist/lib/quality/bucket-utils.test.js.map +1 -0
- package/dist/lib/quality/qfe-backtest-detail.test.d.ts +5 -0
- package/dist/lib/quality/qfe-backtest-detail.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-backtest-detail.test.js +179 -0
- package/dist/lib/quality/qfe-backtest-detail.test.js.map +1 -0
- package/dist/lib/quality/qfe-calibration-paths.test.d.ts +5 -0
- package/dist/lib/quality/qfe-calibration-paths.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-calibration-paths.test.js +203 -0
- package/dist/lib/quality/qfe-calibration-paths.test.js.map +1 -0
- package/dist/lib/quality/qfe-correlation-helpers.test.d.ts +6 -0
- package/dist/lib/quality/qfe-correlation-helpers.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-correlation-helpers.test.js +143 -0
- package/dist/lib/quality/qfe-correlation-helpers.test.js.map +1 -0
- package/dist/lib/quality/qfe-cqi-paths.test.d.ts +6 -0
- package/dist/lib/quality/qfe-cqi-paths.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-cqi-paths.test.js +231 -0
- package/dist/lib/quality/qfe-cqi-paths.test.js.map +1 -0
- package/dist/lib/quality/qfe-critic-internals.test.d.ts +6 -0
- package/dist/lib/quality/qfe-critic-internals.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-critic-internals.test.js +191 -0
- package/dist/lib/quality/qfe-critic-internals.test.js.map +1 -0
- package/dist/lib/quality/qfe-derived-paths.test.d.ts +2 -0
- package/dist/lib/quality/qfe-derived-paths.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-derived-paths.test.js +372 -0
- package/dist/lib/quality/qfe-derived-paths.test.js.map +1 -0
- package/dist/lib/quality/qfe-dynamics-paths.test.d.ts +8 -0
- package/dist/lib/quality/qfe-dynamics-paths.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-dynamics-paths.test.js +223 -0
- package/dist/lib/quality/qfe-dynamics-paths.test.js.map +1 -0
- package/dist/lib/quality/qfe-granger-internals.test.d.ts +6 -0
- package/dist/lib/quality/qfe-granger-internals.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-granger-internals.test.js +158 -0
- package/dist/lib/quality/qfe-granger-internals.test.js.map +1 -0
- package/dist/lib/quality/qfe-label-normalize.test.d.ts +7 -0
- package/dist/lib/quality/qfe-label-normalize.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-label-normalize.test.js +332 -0
- package/dist/lib/quality/qfe-label-normalize.test.js.map +1 -0
- package/dist/lib/quality/qfe-ordinal-edge.test.d.ts +6 -0
- package/dist/lib/quality/qfe-ordinal-edge.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-ordinal-edge.test.js +98 -0
- package/dist/lib/quality/qfe-ordinal-edge.test.js.map +1 -0
- package/dist/lib/quality/qfe-roles-detail.test.d.ts +5 -0
- package/dist/lib/quality/qfe-roles-detail.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-roles-detail.test.js +115 -0
- package/dist/lib/quality/qfe-roles-detail.test.js.map +1 -0
- package/dist/lib/quality/qfe-rolling-detail.test.d.ts +7 -0
- package/dist/lib/quality/qfe-rolling-detail.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-rolling-detail.test.js +249 -0
- package/dist/lib/quality/qfe-rolling-detail.test.js.map +1 -0
- package/dist/lib/quality/qfe-stats-internals.test.d.ts +7 -0
- package/dist/lib/quality/qfe-stats-internals.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-stats-internals.test.js +143 -0
- package/dist/lib/quality/qfe-stats-internals.test.js.map +1 -0
- package/dist/lib/quality/qfe-streaming.test.d.ts +5 -0
- package/dist/lib/quality/qfe-streaming.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-streaming.test.js +239 -0
- package/dist/lib/quality/qfe-streaming.test.js.map +1 -0
- package/dist/lib/quality/qfe-sweep-detail.test.d.ts +6 -0
- package/dist/lib/quality/qfe-sweep-detail.test.d.ts.map +1 -0
- package/dist/lib/quality/qfe-sweep-detail.test.js +291 -0
- package/dist/lib/quality/qfe-sweep-detail.test.js.map +1 -0
- package/dist/lib/quality/quality-alerts.d.ts +23 -0
- package/dist/lib/quality/quality-alerts.d.ts.map +1 -0
- package/dist/lib/quality/quality-alerts.js +89 -0
- package/dist/lib/quality/quality-alerts.js.map +1 -0
- package/dist/lib/quality/quality-alerts.test.d.ts +2 -0
- package/dist/lib/quality/quality-alerts.test.d.ts.map +1 -0
- package/dist/lib/quality/quality-alerts.test.js +86 -0
- package/dist/lib/quality/quality-alerts.test.js.map +1 -0
- package/dist/lib/quality/quality-constants.d.ts +294 -0
- package/dist/lib/quality/quality-constants.d.ts.map +1 -0
- package/dist/lib/quality/quality-constants.js +335 -0
- package/dist/lib/quality/quality-constants.js.map +1 -0
- package/dist/lib/quality/quality-feature-engineering.d.ts +1071 -0
- package/dist/lib/quality/quality-feature-engineering.d.ts.map +1 -0
- package/dist/lib/quality/quality-feature-engineering.js +2076 -0
- package/dist/lib/quality/quality-feature-engineering.js.map +1 -0
- package/dist/lib/quality/quality-feature-engineering.test.d.ts +5 -0
- package/dist/lib/quality/quality-feature-engineering.test.d.ts.map +1 -0
- package/dist/lib/quality/quality-feature-engineering.test.js +2908 -0
- package/dist/lib/quality/quality-feature-engineering.test.js.map +1 -0
- package/dist/lib/quality/quality-metrics.d.ts +943 -0
- package/dist/lib/quality/quality-metrics.d.ts.map +1 -0
- package/dist/lib/quality/quality-metrics.js +1151 -0
- package/dist/lib/quality/quality-metrics.js.map +1 -0
- package/dist/lib/quality/quality-metrics.test.d.ts +5 -0
- package/dist/lib/quality/quality-metrics.test.d.ts.map +1 -0
- package/dist/lib/quality/quality-metrics.test.js +2766 -0
- package/dist/lib/quality/quality-metrics.test.js.map +1 -0
- package/dist/lib/quality/quality-multi-agent.d.ts +106 -0
- package/dist/lib/quality/quality-multi-agent.d.ts.map +1 -0
- package/dist/lib/quality/quality-multi-agent.js +124 -0
- package/dist/lib/quality/quality-multi-agent.js.map +1 -0
- package/dist/lib/quality/quality-multi-agent.test.d.ts +6 -0
- package/dist/lib/quality/quality-multi-agent.test.d.ts.map +1 -0
- package/dist/lib/quality/quality-multi-agent.test.js +163 -0
- package/dist/lib/quality/quality-multi-agent.test.js.map +1 -0
- package/dist/lib/quality/quality-sla.d.ts +35 -0
- package/dist/lib/quality/quality-sla.d.ts.map +1 -0
- package/dist/lib/quality/quality-sla.js +62 -0
- package/dist/lib/quality/quality-sla.js.map +1 -0
- package/dist/lib/quality/quality-sla.test.d.ts +5 -0
- package/dist/lib/quality/quality-sla.test.d.ts.map +1 -0
- package/dist/lib/quality/quality-sla.test.js +144 -0
- package/dist/lib/quality/quality-sla.test.js.map +1 -0
- package/dist/lib/quality/quality-test-constants.d.ts +23 -0
- package/dist/lib/quality/quality-test-constants.d.ts.map +1 -0
- package/dist/lib/quality/quality-test-constants.js +25 -0
- package/dist/lib/quality/quality-test-constants.js.map +1 -0
- package/dist/lib/quality/quality-trends.d.ts +101 -0
- package/dist/lib/quality/quality-trends.d.ts.map +1 -0
- package/dist/lib/quality/quality-trends.js +299 -0
- package/dist/lib/quality/quality-trends.js.map +1 -0
- package/dist/lib/quality/quality-trends.test.d.ts +6 -0
- package/dist/lib/quality/quality-trends.test.d.ts.map +1 -0
- package/dist/lib/quality/quality-trends.test.js +377 -0
- package/dist/lib/quality/quality-trends.test.js.map +1 -0
- package/dist/lib/quality/quality-views.d.ts +966 -0
- package/dist/lib/quality/quality-views.d.ts.map +1 -0
- package/dist/lib/quality/quality-views.js +367 -0
- package/dist/lib/quality/quality-views.js.map +1 -0
- package/dist/lib/quality/quality-views.test.d.ts +6 -0
- package/dist/lib/quality/quality-views.test.d.ts.map +1 -0
- package/dist/lib/quality/quality-views.test.js +262 -0
- package/dist/lib/quality/quality-views.test.js.map +1 -0
- package/dist/lib/quality/quality-visualization.d.ts +112 -0
- package/dist/lib/quality/quality-visualization.d.ts.map +1 -0
- package/dist/lib/quality/quality-visualization.js +136 -0
- package/dist/lib/quality/quality-visualization.js.map +1 -0
- package/dist/lib/quality/quality-visualization.test.d.ts +5 -0
- package/dist/lib/quality/quality-visualization.test.d.ts.map +1 -0
- package/dist/lib/quality/quality-visualization.test.js +189 -0
- package/dist/lib/quality/quality-visualization.test.js.map +1 -0
- package/dist/lib/resilience/cache.d.ts +56 -0
- package/dist/lib/resilience/cache.d.ts.map +1 -0
- package/dist/lib/resilience/cache.js +96 -0
- package/dist/lib/resilience/cache.js.map +1 -0
- package/dist/lib/resilience/cache.test.d.ts.map +1 -0
- package/dist/lib/resilience/cache.test.js +106 -0
- package/dist/lib/resilience/cache.test.js.map +1 -0
- package/dist/lib/resilience/circuit-breaker.d.ts +147 -0
- package/dist/lib/resilience/circuit-breaker.d.ts.map +1 -0
- package/dist/lib/resilience/circuit-breaker.js +251 -0
- package/dist/lib/resilience/circuit-breaker.js.map +1 -0
- package/dist/lib/resilience/circuit-breaker.test.d.ts.map +1 -0
- package/dist/lib/resilience/circuit-breaker.test.js +266 -0
- package/dist/lib/resilience/circuit-breaker.test.js.map +1 -0
- package/dist/lib/resilience/toon-encoder.d.ts +31 -0
- package/dist/lib/resilience/toon-encoder.d.ts.map +1 -0
- package/dist/lib/resilience/toon-encoder.js +66 -0
- package/dist/lib/resilience/toon-encoder.js.map +1 -0
- package/dist/lib/resilience/toon-encoder.test.d.ts.map +1 -0
- package/dist/lib/resilience/toon-encoder.test.js +86 -0
- package/dist/lib/resilience/toon-encoder.test.js.map +1 -0
- package/dist/lib/testing/mock-llm-builder.d.ts +139 -0
- package/dist/lib/testing/mock-llm-builder.d.ts.map +1 -0
- package/dist/lib/testing/mock-llm-builder.js +254 -0
- package/dist/lib/testing/mock-llm-builder.js.map +1 -0
- package/dist/lib/testing/mock-llm-builder.test.d.ts +5 -0
- package/dist/lib/testing/mock-llm-builder.test.d.ts.map +1 -0
- package/dist/lib/testing/mock-llm-builder.test.js +304 -0
- package/dist/lib/testing/mock-llm-builder.test.js.map +1 -0
- package/dist/lib/validation/api-schemas.d.ts +705 -0
- package/dist/lib/validation/api-schemas.d.ts.map +1 -0
- package/dist/lib/validation/api-schemas.js +351 -0
- package/dist/lib/validation/api-schemas.js.map +1 -0
- package/dist/lib/validation/api-schemas.test.d.ts +5 -0
- package/dist/lib/validation/api-schemas.test.d.ts.map +1 -0
- package/dist/lib/validation/api-schemas.test.js +427 -0
- package/dist/lib/validation/api-schemas.test.js.map +1 -0
- package/dist/lib/validation/dashboard-schemas.d.ts +203 -0
- package/dist/lib/validation/dashboard-schemas.d.ts.map +1 -0
- package/dist/lib/validation/dashboard-schemas.js +186 -0
- package/dist/lib/validation/dashboard-schemas.js.map +1 -0
- package/dist/lib/validation/dashboard-schemas.test.d.ts +5 -0
- package/dist/lib/validation/dashboard-schemas.test.d.ts.map +1 -0
- package/dist/lib/validation/dashboard-schemas.test.js +353 -0
- package/dist/lib/validation/dashboard-schemas.test.js.map +1 -0
- package/dist/server.d.ts +2 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +158 -144
- package/dist/server.js.map +1 -1
- package/dist/server.test.js +102 -95
- package/dist/server.test.js.map +1 -1
- package/dist/test-helpers/assertions.d.ts +6 -0
- package/dist/test-helpers/assertions.d.ts.map +1 -0
- package/dist/test-helpers/assertions.js +11 -0
- package/dist/test-helpers/assertions.js.map +1 -0
- package/dist/test-helpers/env-utils.d.ts +0 -64
- package/dist/test-helpers/env-utils.d.ts.map +1 -1
- package/dist/test-helpers/env-utils.js +0 -100
- package/dist/test-helpers/env-utils.js.map +1 -1
- package/dist/test-helpers/fuzz-generators.d.ts.map +1 -1
- package/dist/test-helpers/fuzz-generators.js +62 -22
- package/dist/test-helpers/fuzz-generators.js.map +1 -1
- package/dist/test-helpers/index.d.ts +3 -2
- package/dist/test-helpers/index.d.ts.map +1 -1
- package/dist/test-helpers/index.js +4 -2
- package/dist/test-helpers/index.js.map +1 -1
- package/dist/test-helpers/memfs-utils.test.js +81 -76
- package/dist/test-helpers/memfs-utils.test.js.map +1 -1
- package/dist/test-helpers/mock-backends.d.ts +19 -17
- package/dist/test-helpers/mock-backends.d.ts.map +1 -1
- package/dist/test-helpers/mock-backends.js +16 -4
- package/dist/test-helpers/mock-backends.js.map +1 -1
- package/dist/test-helpers/mock-backends.test.js +43 -112
- package/dist/test-helpers/mock-backends.test.js.map +1 -1
- package/dist/test-helpers/race-condition-helpers.d.ts.map +1 -1
- package/dist/test-helpers/race-condition-helpers.js +3 -2
- package/dist/test-helpers/race-condition-helpers.js.map +1 -1
- package/dist/test-helpers/schema-validators.d.ts +2 -2
- package/dist/test-helpers/schema-validators.d.ts.map +1 -1
- package/dist/test-helpers/schema-validators.js +35 -31
- package/dist/test-helpers/schema-validators.js.map +1 -1
- package/dist/test-helpers/test-constants.d.ts +74 -0
- package/dist/test-helpers/test-constants.d.ts.map +1 -0
- package/dist/test-helpers/test-constants.js +78 -0
- package/dist/test-helpers/test-constants.js.map +1 -0
- package/dist/test-helpers/test-data-builders.d.ts +25 -7
- package/dist/test-helpers/test-data-builders.d.ts.map +1 -1
- package/dist/test-helpers/test-data-builders.js +32 -9
- package/dist/test-helpers/test-data-builders.js.map +1 -1
- package/dist/test-helpers/test-data-builders.test.js +116 -107
- package/dist/test-helpers/test-data-builders.test.js.map +1 -1
- package/dist/test-helpers/tool-validators.d.ts +1 -1
- package/dist/test-helpers/tool-validators.d.ts.map +1 -1
- package/dist/test-helpers/tool-validators.js +10 -10
- package/dist/test-helpers/tool-validators.js.map +1 -1
- package/dist/tools/audit-trail.d.ts +170 -0
- package/dist/tools/audit-trail.d.ts.map +1 -0
- package/dist/tools/audit-trail.js +109 -0
- package/dist/tools/audit-trail.js.map +1 -0
- package/dist/tools/audit-trail.test.d.ts +5 -0
- package/dist/tools/audit-trail.test.d.ts.map +1 -0
- package/dist/tools/audit-trail.test.js +122 -0
- package/dist/tools/audit-trail.test.js.map +1 -0
- package/dist/tools/context-stats.d.ts +6 -20
- package/dist/tools/context-stats.d.ts.map +1 -1
- package/dist/tools/context-stats.js +106 -88
- package/dist/tools/context-stats.js.map +1 -1
- package/dist/tools/context-stats.test.js +109 -60
- package/dist/tools/context-stats.test.js.map +1 -1
- package/dist/tools/detect-trace-anomalies.d.ts +123 -0
- package/dist/tools/detect-trace-anomalies.d.ts.map +1 -0
- package/dist/tools/detect-trace-anomalies.js +66 -0
- package/dist/tools/detect-trace-anomalies.js.map +1 -0
- package/dist/tools/estimate-cost.d.ts +77 -0
- package/dist/tools/estimate-cost.d.ts.map +1 -0
- package/dist/tools/estimate-cost.js +104 -0
- package/dist/tools/estimate-cost.js.map +1 -0
- package/dist/tools/estimate-cost.test.d.ts +5 -0
- package/dist/tools/estimate-cost.test.d.ts.map +1 -0
- package/dist/tools/estimate-cost.test.js +343 -0
- package/dist/tools/estimate-cost.test.js.map +1 -0
- package/dist/tools/export-base.d.ts +77 -0
- package/dist/tools/export-base.d.ts.map +1 -0
- package/dist/tools/export-base.js +150 -0
- package/dist/tools/export-base.js.map +1 -0
- package/dist/tools/export-base.test.d.ts +18 -0
- package/dist/tools/export-base.test.d.ts.map +1 -0
- package/dist/tools/export-base.test.js +220 -0
- package/dist/tools/export-base.test.js.map +1 -0
- package/dist/tools/export-confident.d.ts +94 -90
- package/dist/tools/export-confident.d.ts.map +1 -1
- package/dist/tools/export-confident.js +17 -115
- package/dist/tools/export-confident.js.map +1 -1
- package/dist/tools/export-confident.test.js +79 -75
- package/dist/tools/export-confident.test.js.map +1 -1
- package/dist/tools/export-datadog.d.ts +77 -116
- package/dist/tools/export-datadog.d.ts.map +1 -1
- package/dist/tools/export-datadog.js +38 -40
- package/dist/tools/export-datadog.js.map +1 -1
- package/dist/tools/export-datadog.test.js +122 -165
- package/dist/tools/export-datadog.test.js.map +1 -1
- package/dist/tools/export-jaeger.d.ts +100 -0
- package/dist/tools/export-jaeger.d.ts.map +1 -0
- package/dist/tools/export-jaeger.js +154 -0
- package/dist/tools/export-jaeger.js.map +1 -0
- package/dist/tools/export-jaeger.test.d.ts +2 -0
- package/dist/tools/export-jaeger.test.d.ts.map +1 -0
- package/dist/tools/export-jaeger.test.js +113 -0
- package/dist/tools/export-jaeger.test.js.map +1 -0
- package/dist/tools/export-langfuse.d.ts +78 -80
- package/dist/tools/export-langfuse.d.ts.map +1 -1
- package/dist/tools/export-langfuse.js +15 -113
- package/dist/tools/export-langfuse.js.map +1 -1
- package/dist/tools/export-langfuse.test.js +70 -81
- package/dist/tools/export-langfuse.test.js.map +1 -1
- package/dist/tools/export-phoenix.d.ts +115 -90
- package/dist/tools/export-phoenix.d.ts.map +1 -1
- package/dist/tools/export-phoenix.js +29 -117
- package/dist/tools/export-phoenix.js.map +1 -1
- package/dist/tools/export-phoenix.test.js +95 -94
- package/dist/tools/export-phoenix.test.js.map +1 -1
- package/dist/tools/get-trace-url.d.ts +2 -10
- package/dist/tools/get-trace-url.d.ts.map +1 -1
- package/dist/tools/get-trace-url.js +5 -8
- package/dist/tools/get-trace-url.js.map +1 -1
- package/dist/tools/get-trace-url.test.js +81 -399
- package/dist/tools/get-trace-url.test.js.map +1 -1
- package/dist/tools/hallucination-detection.d.ts +203 -0
- package/dist/tools/hallucination-detection.d.ts.map +1 -0
- package/dist/tools/hallucination-detection.js +189 -0
- package/dist/tools/hallucination-detection.js.map +1 -0
- package/dist/tools/hallucination-detection.test.d.ts +5 -0
- package/dist/tools/hallucination-detection.test.d.ts.map +1 -0
- package/dist/tools/hallucination-detection.test.js +529 -0
- package/dist/tools/hallucination-detection.test.js.map +1 -0
- package/dist/tools/health-check.d.ts +9 -16
- package/dist/tools/health-check.d.ts.map +1 -1
- package/dist/tools/health-check.js +88 -101
- package/dist/tools/health-check.js.map +1 -1
- package/dist/tools/health-check.test.js +72 -165
- package/dist/tools/health-check.test.js.map +1 -1
- package/dist/tools/index.d.ts +13 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +13 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/ingest-constants.d.ts +8 -0
- package/dist/tools/ingest-constants.d.ts.map +1 -0
- package/dist/tools/ingest-constants.js +8 -0
- package/dist/tools/ingest-constants.js.map +1 -0
- package/dist/tools/ingest-spans.d.ts +45 -0
- package/dist/tools/ingest-spans.d.ts.map +1 -0
- package/dist/tools/ingest-spans.js +129 -0
- package/dist/tools/ingest-spans.js.map +1 -0
- package/dist/tools/ingest-spans.test.d.ts +5 -0
- package/dist/tools/ingest-spans.test.d.ts.map +1 -0
- package/dist/tools/ingest-spans.test.js +250 -0
- package/dist/tools/ingest-spans.test.js.map +1 -0
- package/dist/tools/ingest-traces.d.ts +76 -0
- package/dist/tools/ingest-traces.d.ts.map +1 -0
- package/dist/tools/ingest-traces.js +164 -0
- package/dist/tools/ingest-traces.js.map +1 -0
- package/dist/tools/ingest-traces.test.d.ts +5 -0
- package/dist/tools/ingest-traces.test.d.ts.map +1 -0
- package/dist/tools/ingest-traces.test.js +483 -0
- package/dist/tools/ingest-traces.test.js.map +1 -0
- package/dist/tools/inject-evaluations.d.ts +136 -1197
- package/dist/tools/inject-evaluations.d.ts.map +1 -1
- package/dist/tools/inject-evaluations.js +65 -53
- package/dist/tools/inject-evaluations.js.map +1 -1
- package/dist/tools/inject-evaluations.test.js +83 -71
- package/dist/tools/inject-evaluations.test.js.map +1 -1
- package/dist/tools/manage-datasets.d.ts +850 -0
- package/dist/tools/manage-datasets.d.ts.map +1 -0
- package/dist/tools/manage-datasets.js +139 -0
- package/dist/tools/manage-datasets.js.map +1 -0
- package/dist/tools/manage-datasets.test.d.ts +5 -0
- package/dist/tools/manage-datasets.test.d.ts.map +1 -0
- package/dist/tools/manage-datasets.test.js +430 -0
- package/dist/tools/manage-datasets.test.js.map +1 -0
- package/dist/tools/multi-agent-coordination.d.ts +178 -0
- package/dist/tools/multi-agent-coordination.d.ts.map +1 -0
- package/dist/tools/multi-agent-coordination.js +270 -0
- package/dist/tools/multi-agent-coordination.js.map +1 -0
- package/dist/tools/multi-agent-coordination.test.d.ts +5 -0
- package/dist/tools/multi-agent-coordination.test.d.ts.map +1 -0
- package/dist/tools/multi-agent-coordination.test.js +530 -0
- package/dist/tools/multi-agent-coordination.test.js.map +1 -0
- package/dist/tools/query-evaluations.d.ts +147 -105
- package/dist/tools/query-evaluations.d.ts.map +1 -1
- package/dist/tools/query-evaluations.js +205 -178
- package/dist/tools/query-evaluations.js.map +1 -1
- package/dist/tools/query-evaluations.test.js +386 -391
- package/dist/tools/query-evaluations.test.js.map +1 -1
- package/dist/tools/query-llm-events.d.ts +100 -75
- package/dist/tools/query-llm-events.d.ts.map +1 -1
- package/dist/tools/query-llm-events.js +106 -80
- package/dist/tools/query-llm-events.js.map +1 -1
- package/dist/tools/query-llm-events.test.js +183 -346
- package/dist/tools/query-llm-events.test.js.map +1 -1
- package/dist/tools/query-logs.d.ts +45 -58
- package/dist/tools/query-logs.d.ts.map +1 -1
- package/dist/tools/query-logs.js +54 -101
- package/dist/tools/query-logs.js.map +1 -1
- package/dist/tools/query-logs.test.js +118 -314
- package/dist/tools/query-logs.test.js.map +1 -1
- package/dist/tools/query-metric-histograms.d.ts +112 -0
- package/dist/tools/query-metric-histograms.d.ts.map +1 -0
- package/dist/tools/query-metric-histograms.js +69 -0
- package/dist/tools/query-metric-histograms.js.map +1 -0
- package/dist/tools/query-metric-histograms.test.d.ts +5 -0
- package/dist/tools/query-metric-histograms.test.d.ts.map +1 -0
- package/dist/tools/query-metric-histograms.test.js +209 -0
- package/dist/tools/query-metric-histograms.test.js.map +1 -0
- package/dist/tools/query-metrics.d.ts +159 -60
- package/dist/tools/query-metrics.d.ts.map +1 -1
- package/dist/tools/query-metrics.js +133 -111
- package/dist/tools/query-metrics.js.map +1 -1
- package/dist/tools/query-metrics.test.js +314 -389
- package/dist/tools/query-metrics.test.js.map +1 -1
- package/dist/tools/query-regressions.d.ts +76 -0
- package/dist/tools/query-regressions.d.ts.map +1 -0
- package/dist/tools/query-regressions.js +122 -0
- package/dist/tools/query-regressions.js.map +1 -0
- package/dist/tools/query-regressions.test.d.ts +8 -0
- package/dist/tools/query-regressions.test.d.ts.map +1 -0
- package/dist/tools/query-regressions.test.js +129 -0
- package/dist/tools/query-regressions.test.js.map +1 -0
- package/dist/tools/query-traces.d.ts +103 -71
- package/dist/tools/query-traces.d.ts.map +1 -1
- package/dist/tools/query-traces.js +75 -106
- package/dist/tools/query-traces.js.map +1 -1
- package/dist/tools/query-traces.test.js +140 -846
- package/dist/tools/query-traces.test.js.map +1 -1
- package/dist/tools/query-verifications.d.ts +55 -43
- package/dist/tools/query-verifications.d.ts.map +1 -1
- package/dist/tools/query-verifications.js +47 -46
- package/dist/tools/query-verifications.js.map +1 -1
- package/dist/tools/query-verifications.test.js +42 -35
- package/dist/tools/query-verifications.test.js.map +1 -1
- package/dist/tools/routing-telemetry.d.ts +168 -0
- package/dist/tools/routing-telemetry.d.ts.map +1 -0
- package/dist/tools/routing-telemetry.js +267 -0
- package/dist/tools/routing-telemetry.js.map +1 -0
- package/dist/tools/routing-telemetry.test.d.ts +5 -0
- package/dist/tools/routing-telemetry.test.d.ts.map +1 -0
- package/dist/tools/routing-telemetry.test.js +747 -0
- package/dist/tools/routing-telemetry.test.js.map +1 -0
- package/dist/tools/setup-claudeignore.d.ts +4 -32
- package/dist/tools/setup-claudeignore.d.ts.map +1 -1
- package/dist/tools/setup-claudeignore.js +18 -22
- package/dist/tools/setup-claudeignore.js.map +1 -1
- package/dist/tools/setup-claudeignore.test.js +50 -49
- package/dist/tools/setup-claudeignore.test.js.map +1 -1
- package/dist/tools/token-budget.d.ts +170 -0
- package/dist/tools/token-budget.d.ts.map +1 -0
- package/dist/tools/token-budget.js +219 -0
- package/dist/tools/token-budget.js.map +1 -0
- package/dist/tools/token-budget.test.d.ts +5 -0
- package/dist/tools/token-budget.test.d.ts.map +1 -0
- package/dist/tools/token-budget.test.js +293 -0
- package/dist/tools/token-budget.test.js.map +1 -0
- package/package.json +72 -10
- package/dist/backends/local-jsonl.test.d.ts +0 -2
- package/dist/backends/local-jsonl.test.d.ts.map +0 -1
- package/dist/backends/local-jsonl.test.js +0 -4651
- package/dist/backends/local-jsonl.test.js.map +0 -1
- package/dist/backends/signoz-api-circuit-breaker.test.d.ts +0 -6
- package/dist/backends/signoz-api-circuit-breaker.test.d.ts.map +0 -1
- package/dist/backends/signoz-api-circuit-breaker.test.js +0 -548
- package/dist/backends/signoz-api-circuit-breaker.test.js.map +0 -1
- package/dist/backends/signoz-api-rate-limiter.test.d.ts +0 -6
- package/dist/backends/signoz-api-rate-limiter.test.d.ts.map +0 -1
- package/dist/backends/signoz-api-rate-limiter.test.js +0 -390
- package/dist/backends/signoz-api-rate-limiter.test.js.map +0 -1
- package/dist/backends/signoz-api-ssrf.test.d.ts +0 -6
- package/dist/backends/signoz-api-ssrf.test.d.ts.map +0 -1
- package/dist/backends/signoz-api-ssrf.test.js +0 -216
- package/dist/backends/signoz-api-ssrf.test.js.map +0 -1
- package/dist/backends/signoz-api-test-helpers.d.ts +0 -80
- package/dist/backends/signoz-api-test-helpers.d.ts.map +0 -1
- package/dist/backends/signoz-api-test-helpers.js +0 -79
- package/dist/backends/signoz-api-test-helpers.js.map +0 -1
- package/dist/backends/signoz-api.d.ts +0 -109
- package/dist/backends/signoz-api.d.ts.map +0 -1
- package/dist/backends/signoz-api.integration.test.d.ts +0 -8
- package/dist/backends/signoz-api.integration.test.d.ts.map +0 -1
- package/dist/backends/signoz-api.integration.test.js +0 -137
- package/dist/backends/signoz-api.integration.test.js.map +0 -1
- package/dist/backends/signoz-api.js +0 -1132
- package/dist/backends/signoz-api.js.map +0 -1
- package/dist/backends/signoz-api.test.d.ts +0 -11
- package/dist/backends/signoz-api.test.d.ts.map +0 -1
- package/dist/backends/signoz-api.test.js +0 -832
- package/dist/backends/signoz-api.test.js.map +0 -1
- package/dist/lib/agent-as-judge.d.ts +0 -388
- package/dist/lib/agent-as-judge.d.ts.map +0 -1
- package/dist/lib/agent-as-judge.js +0 -740
- package/dist/lib/agent-as-judge.js.map +0 -1
- package/dist/lib/agent-as-judge.test.d.ts.map +0 -1
- package/dist/lib/agent-as-judge.test.js +0 -816
- package/dist/lib/agent-as-judge.test.js.map +0 -1
- package/dist/lib/cache.d.ts +0 -90
- package/dist/lib/cache.d.ts.map +0 -1
- package/dist/lib/cache.js +0 -133
- package/dist/lib/cache.js.map +0 -1
- package/dist/lib/cache.test.d.ts.map +0 -1
- package/dist/lib/cache.test.js +0 -105
- package/dist/lib/cache.test.js.map +0 -1
- package/dist/lib/circuit-breaker.d.ts +0 -101
- package/dist/lib/circuit-breaker.d.ts.map +0 -1
- package/dist/lib/circuit-breaker.js +0 -158
- package/dist/lib/circuit-breaker.js.map +0 -1
- package/dist/lib/circuit-breaker.test.d.ts.map +0 -1
- package/dist/lib/circuit-breaker.test.js +0 -263
- package/dist/lib/circuit-breaker.test.js.map +0 -1
- package/dist/lib/confident-export.d.ts +0 -101
- package/dist/lib/confident-export.d.ts.map +0 -1
- package/dist/lib/confident-export.js +0 -393
- package/dist/lib/confident-export.js.map +0 -1
- package/dist/lib/confident-export.test.d.ts.map +0 -1
- package/dist/lib/confident-export.test.js +0 -835
- package/dist/lib/confident-export.test.js.map +0 -1
- package/dist/lib/constants-symlink.test.d.ts.map +0 -1
- package/dist/lib/constants-symlink.test.js +0 -357
- package/dist/lib/constants-symlink.test.js.map +0 -1
- package/dist/lib/constants.d.ts +0 -183
- package/dist/lib/constants.d.ts.map +0 -1
- package/dist/lib/constants.js +0 -453
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/constants.test.d.ts.map +0 -1
- package/dist/lib/constants.test.js +0 -717
- package/dist/lib/constants.test.js.map +0 -1
- package/dist/lib/datadog-export.d.ts +0 -156
- package/dist/lib/datadog-export.d.ts.map +0 -1
- package/dist/lib/datadog-export.js +0 -464
- package/dist/lib/datadog-export.js.map +0 -1
- package/dist/lib/datadog-export.test.d.ts +0 -14
- package/dist/lib/datadog-export.test.d.ts.map +0 -1
- package/dist/lib/datadog-export.test.js +0 -890
- package/dist/lib/datadog-export.test.js.map +0 -1
- package/dist/lib/edge-cases.test.d.ts.map +0 -1
- package/dist/lib/edge-cases.test.js +0 -634
- package/dist/lib/edge-cases.test.js.map +0 -1
- package/dist/lib/error-sanitizer.d.ts +0 -57
- package/dist/lib/error-sanitizer.d.ts.map +0 -1
- package/dist/lib/error-sanitizer.js +0 -233
- package/dist/lib/error-sanitizer.js.map +0 -1
- package/dist/lib/error-sanitizer.test.d.ts.map +0 -1
- package/dist/lib/error-sanitizer.test.js +0 -528
- package/dist/lib/error-sanitizer.test.js.map +0 -1
- package/dist/lib/error-types.d.ts +0 -54
- package/dist/lib/error-types.d.ts.map +0 -1
- package/dist/lib/error-types.js +0 -154
- package/dist/lib/error-types.js.map +0 -1
- package/dist/lib/error-types.test.d.ts.map +0 -1
- package/dist/lib/error-types.test.js +0 -196
- package/dist/lib/error-types.test.js.map +0 -1
- package/dist/lib/evaluation-hooks.d.ts +0 -49
- package/dist/lib/evaluation-hooks.d.ts.map +0 -1
- package/dist/lib/evaluation-hooks.js +0 -488
- package/dist/lib/evaluation-hooks.js.map +0 -1
- package/dist/lib/evaluation-hooks.test.d.ts.map +0 -1
- package/dist/lib/evaluation-hooks.test.js +0 -624
- package/dist/lib/evaluation-hooks.test.js.map +0 -1
- package/dist/lib/export-utils.d.ts +0 -99
- package/dist/lib/export-utils.d.ts.map +0 -1
- package/dist/lib/export-utils.js +0 -238
- package/dist/lib/export-utils.js.map +0 -1
- package/dist/lib/export-utils.test.d.ts.map +0 -1
- package/dist/lib/export-utils.test.js +0 -193
- package/dist/lib/export-utils.test.js.map +0 -1
- package/dist/lib/file-utils.d.ts +0 -320
- package/dist/lib/file-utils.d.ts.map +0 -1
- package/dist/lib/file-utils.js +0 -816
- package/dist/lib/file-utils.js.map +0 -1
- package/dist/lib/file-utils.test.d.ts.map +0 -1
- package/dist/lib/file-utils.test.js +0 -1333
- package/dist/lib/file-utils.test.js.map +0 -1
- package/dist/lib/histogram.d.ts +0 -119
- package/dist/lib/histogram.d.ts.map +0 -1
- package/dist/lib/histogram.js +0 -202
- package/dist/lib/histogram.js.map +0 -1
- package/dist/lib/histogram.test.d.ts.map +0 -1
- package/dist/lib/histogram.test.js +0 -381
- package/dist/lib/histogram.test.js.map +0 -1
- package/dist/lib/indexer.d.ts +0 -96
- package/dist/lib/indexer.d.ts.map +0 -1
- package/dist/lib/indexer.js +0 -353
- package/dist/lib/indexer.js.map +0 -1
- package/dist/lib/indexer.test.d.ts.map +0 -1
- package/dist/lib/indexer.test.js +0 -696
- package/dist/lib/indexer.test.js.map +0 -1
- package/dist/lib/input-validator.d.ts +0 -115
- package/dist/lib/input-validator.d.ts.map +0 -1
- package/dist/lib/input-validator.fuzz.test.d.ts.map +0 -1
- package/dist/lib/input-validator.fuzz.test.js +0 -290
- package/dist/lib/input-validator.fuzz.test.js.map +0 -1
- package/dist/lib/input-validator.js +0 -304
- package/dist/lib/input-validator.js.map +0 -1
- package/dist/lib/input-validator.test.d.ts.map +0 -1
- package/dist/lib/input-validator.test.js +0 -415
- package/dist/lib/input-validator.test.js.map +0 -1
- package/dist/lib/instrumentation.d.ts +0 -153
- package/dist/lib/instrumentation.d.ts.map +0 -1
- package/dist/lib/instrumentation.integration.test.d.ts.map +0 -1
- package/dist/lib/instrumentation.integration.test.js +0 -589
- package/dist/lib/instrumentation.integration.test.js.map +0 -1
- package/dist/lib/instrumentation.js +0 -520
- package/dist/lib/instrumentation.js.map +0 -1
- package/dist/lib/instrumentation.test.d.ts.map +0 -1
- package/dist/lib/instrumentation.test.js +0 -821
- package/dist/lib/instrumentation.test.js.map +0 -1
- package/dist/lib/langfuse-export.d.ts +0 -125
- package/dist/lib/langfuse-export.d.ts.map +0 -1
- package/dist/lib/langfuse-export.js +0 -367
- package/dist/lib/langfuse-export.js.map +0 -1
- package/dist/lib/langfuse-export.test.d.ts.map +0 -1
- package/dist/lib/langfuse-export.test.js +0 -1007
- package/dist/lib/langfuse-export.test.js.map +0 -1
- package/dist/lib/llm-as-judge.d.ts +0 -657
- package/dist/lib/llm-as-judge.d.ts.map +0 -1
- package/dist/lib/llm-as-judge.js +0 -1397
- package/dist/lib/llm-as-judge.js.map +0 -1
- package/dist/lib/llm-as-judge.test.d.ts.map +0 -1
- package/dist/lib/llm-as-judge.test.js +0 -2409
- package/dist/lib/llm-as-judge.test.js.map +0 -1
- package/dist/lib/logger.d.ts +0 -46
- package/dist/lib/logger.d.ts.map +0 -1
- package/dist/lib/logger.js +0 -81
- package/dist/lib/logger.js.map +0 -1
- package/dist/lib/logger.test.d.ts.map +0 -1
- package/dist/lib/logger.test.js.map +0 -1
- package/dist/lib/metrics.d.ts +0 -62
- package/dist/lib/metrics.d.ts.map +0 -1
- package/dist/lib/metrics.js +0 -166
- package/dist/lib/metrics.js.map +0 -1
- package/dist/lib/metrics.test.d.ts.map +0 -1
- package/dist/lib/metrics.test.js +0 -189
- package/dist/lib/metrics.test.js.map +0 -1
- package/dist/lib/otlp-export.d.ts +0 -178
- package/dist/lib/otlp-export.d.ts.map +0 -1
- package/dist/lib/otlp-export.js +0 -382
- package/dist/lib/otlp-export.js.map +0 -1
- package/dist/lib/parse-stats.d.ts.map +0 -1
- package/dist/lib/parse-stats.js +0 -206
- package/dist/lib/parse-stats.js.map +0 -1
- package/dist/lib/parse-stats.test.d.ts.map +0 -1
- package/dist/lib/parse-stats.test.js +0 -283
- package/dist/lib/parse-stats.test.js.map +0 -1
- package/dist/lib/phoenix-export.d.ts +0 -109
- package/dist/lib/phoenix-export.d.ts.map +0 -1
- package/dist/lib/phoenix-export.js +0 -429
- package/dist/lib/phoenix-export.js.map +0 -1
- package/dist/lib/phoenix-export.test.d.ts.map +0 -1
- package/dist/lib/phoenix-export.test.js +0 -725
- package/dist/lib/phoenix-export.test.js.map +0 -1
- package/dist/lib/query-sanitizer.d.ts.map +0 -1
- package/dist/lib/query-sanitizer.js +0 -261
- package/dist/lib/query-sanitizer.js.map +0 -1
- package/dist/lib/query-sanitizer.test.d.ts.map +0 -1
- package/dist/lib/query-sanitizer.test.js +0 -400
- package/dist/lib/query-sanitizer.test.js.map +0 -1
- package/dist/lib/server-utils.d.ts +0 -93
- package/dist/lib/server-utils.d.ts.map +0 -1
- package/dist/lib/server-utils.js +0 -181
- package/dist/lib/server-utils.js.map +0 -1
- package/dist/lib/shared-schemas.d.ts +0 -87
- package/dist/lib/shared-schemas.d.ts.map +0 -1
- package/dist/lib/shared-schemas.js +0 -87
- package/dist/lib/shared-schemas.js.map +0 -1
- package/dist/lib/shared-schemas.test.d.ts.map +0 -1
- package/dist/lib/shared-schemas.test.js +0 -106
- package/dist/lib/shared-schemas.test.js.map +0 -1
- package/dist/lib/toon-encoder.d.ts +0 -26
- package/dist/lib/toon-encoder.d.ts.map +0 -1
- package/dist/lib/toon-encoder.js +0 -61
- package/dist/lib/toon-encoder.js.map +0 -1
- package/dist/lib/toon-encoder.test.d.ts.map +0 -1
- package/dist/lib/toon-encoder.test.js +0 -85
- package/dist/lib/toon-encoder.test.js.map +0 -1
- package/dist/lib/verification-events.d.ts +0 -100
- package/dist/lib/verification-events.d.ts.map +0 -1
- package/dist/lib/verification-events.js +0 -162
- package/dist/lib/verification-events.js.map +0 -1
- package/dist/lib/verification-events.test.d.ts.map +0 -1
- package/dist/lib/verification-events.test.js +0 -193
- package/dist/lib/verification-events.test.js.map +0 -1
- package/dist/tools/signoz.integration.test.d.ts +0 -8
- package/dist/tools/signoz.integration.test.d.ts.map +0 -1
- package/dist/tools/signoz.integration.test.js +0 -141
- package/dist/tools/signoz.integration.test.js.map +0 -1
- package/dist/types/evaluation-hooks.d.ts +0 -176
- package/dist/types/evaluation-hooks.d.ts.map +0 -1
- package/dist/types/evaluation-hooks.js +0 -49
- package/dist/types/evaluation-hooks.js.map +0 -1
- /package/dist/lib/{agent-as-judge.test.d.ts → agent-judge/agent-as-judge.test.d.ts} +0 -0
- /package/dist/lib/{verification-events.test.d.ts → audit/verification-events.test.d.ts} +0 -0
- /package/dist/lib/{constants-symlink.test.d.ts → core/constants-symlink.test.d.ts} +0 -0
- /package/dist/lib/{constants.test.d.ts → core/constants.test.d.ts} +0 -0
- /package/dist/lib/{edge-cases.test.d.ts → core/edge-cases.test.d.ts} +0 -0
- /package/dist/lib/{file-utils.test.d.ts → core/file-utils.test.d.ts} +0 -0
- /package/dist/lib/{input-validator.fuzz.test.d.ts → core/input-validator.fuzz.test.d.ts} +0 -0
- /package/dist/lib/{input-validator.test.d.ts → core/input-validator.test.d.ts} +0 -0
- /package/dist/lib/{logger.test.d.ts → core/logger.test.d.ts} +0 -0
- /package/dist/lib/{logger.test.js → core/logger.test.js} +0 -0
- /package/dist/lib/{shared-schemas.test.d.ts → core/shared-schemas.test.d.ts} +0 -0
- /package/dist/lib/{error-sanitizer.test.d.ts → errors/error-sanitizer.test.d.ts} +0 -0
- /package/dist/lib/{error-types.test.d.ts → errors/error-types.test.d.ts} +0 -0
- /package/dist/lib/{query-sanitizer.d.ts → errors/query-sanitizer.d.ts} +0 -0
- /package/dist/lib/{query-sanitizer.test.d.ts → errors/query-sanitizer.test.d.ts} +0 -0
- /package/dist/lib/{confident-export.test.d.ts → exports/confident-export.test.d.ts} +0 -0
- /package/dist/lib/{export-utils.test.d.ts → exports/export-utils.test.d.ts} +0 -0
- /package/dist/lib/{langfuse-export.test.d.ts → exports/langfuse-export.test.d.ts} +0 -0
- /package/dist/lib/{phoenix-export.test.d.ts → exports/phoenix-export.test.d.ts} +0 -0
- /package/dist/lib/{evaluation-hooks.test.d.ts → judge/evaluation-hooks.test.d.ts} +0 -0
- /package/dist/lib/{llm-as-judge.test.d.ts → judge/llm-as-judge.test.d.ts} +0 -0
- /package/dist/lib/{histogram.test.d.ts → observability/histogram.test.d.ts} +0 -0
- /package/dist/lib/{indexer.test.d.ts → observability/indexer.test.d.ts} +0 -0
- /package/dist/lib/{instrumentation.integration.test.d.ts → observability/instrumentation.integration.test.d.ts} +0 -0
- /package/dist/lib/{instrumentation.test.d.ts → observability/instrumentation.test.d.ts} +0 -0
- /package/dist/lib/{metrics.test.d.ts → observability/metrics.test.d.ts} +0 -0
- /package/dist/lib/{parse-stats.d.ts → observability/parse-stats.d.ts} +0 -0
- /package/dist/lib/{parse-stats.test.d.ts → observability/parse-stats.test.d.ts} +0 -0
- /package/dist/lib/{cache.test.d.ts → resilience/cache.test.d.ts} +0 -0
- /package/dist/lib/{circuit-breaker.test.d.ts → resilience/circuit-breaker.test.d.ts} +0 -0
- /package/dist/lib/{toon-encoder.test.d.ts → resilience/toon-encoder.test.d.ts} +0 -0
|
@@ -0,0 +1,1071 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Feature Engineering for Evaluation Analytics (Design Doc Section 16)
|
|
3
|
+
*
|
|
4
|
+
* Derived features, adaptive score scaling, label encoding, and composite metrics
|
|
5
|
+
* computed from existing evaluation data. Enhances anomaly detection, correlation
|
|
6
|
+
* discovery, and role-appropriate information presentation.
|
|
7
|
+
*
|
|
8
|
+
* @see quality-metrics.ts for core types
|
|
9
|
+
* @see frontend/docs/llm-explainability-design.md Section 16
|
|
10
|
+
*/
|
|
11
|
+
import { z } from 'zod';
|
|
12
|
+
import { type ConfidenceIndicator, type MetricTrend, type QualityMetricResult, type ThresholdDirection } from './quality-metrics.js';
|
|
13
|
+
import { type RoleType, type CQIWeights } from './quality-constants.js';
|
|
14
|
+
/**
|
|
15
|
+
* Score direction for color mapping (higher-is-better vs lower-is-better).
|
|
16
|
+
* Semantically distinct from ThresholdDirection ('above'/'below') which controls
|
|
17
|
+
* alert trigger conditions. ScoreDirection controls visual presentation.
|
|
18
|
+
*/
|
|
19
|
+
export type ScoreDirection = 'maximize' | 'minimize';
|
|
20
|
+
/**
|
|
21
|
+
* Per-metric scaling strategy for adaptive score coloring.
|
|
22
|
+
* Different metrics have different native distributions, requiring
|
|
23
|
+
* different mapping strategies to the 5-band color scale.
|
|
24
|
+
*/
|
|
25
|
+
export type ScaleStrategy = 'quantile' | 'binary' | 'uniform' | 'log' | 'step' | 'categorical' | 'percentile_rank';
|
|
26
|
+
/** Default scale strategy per metric */
|
|
27
|
+
export declare const METRIC_SCALE_STRATEGY: Record<string, ScaleStrategy>;
|
|
28
|
+
/** Score color band names */
|
|
29
|
+
export type ScoreColorBand = 'excellent' | 'good' | 'adequate' | 'poor' | 'failing';
|
|
30
|
+
/**
|
|
31
|
+
* Map a score value to a 5-band color band with direction awareness.
|
|
32
|
+
* For 'minimize' metrics (hallucination, latency), low scores are excellent.
|
|
33
|
+
* For 'maximize' metrics (relevance, faithfulness), high scores are excellent.
|
|
34
|
+
*/
|
|
35
|
+
export declare function scoreColorBand(value: number, direction?: ScoreDirection): ScoreColorBand;
|
|
36
|
+
/** Percentile distribution for quantile-based scaling */
|
|
37
|
+
export interface PercentileDistribution {
|
|
38
|
+
p10: number;
|
|
39
|
+
p25: number;
|
|
40
|
+
p50: number;
|
|
41
|
+
p75: number;
|
|
42
|
+
p90: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Zod schemas for runtime validation of quality feature types.
|
|
46
|
+
* Used for state persistence and API data validation.
|
|
47
|
+
*/
|
|
48
|
+
export declare const percentileDistributionSchema: z.ZodObject<{
|
|
49
|
+
p10: z.ZodNumber;
|
|
50
|
+
p25: z.ZodNumber;
|
|
51
|
+
p50: z.ZodNumber;
|
|
52
|
+
p75: z.ZodNumber;
|
|
53
|
+
p90: z.ZodNumber;
|
|
54
|
+
}, z.core.$strip>;
|
|
55
|
+
export type PercentileDistributionInput = z.infer<typeof percentileDistributionSchema>;
|
|
56
|
+
export declare const scoreDirectionSchema: z.ZodEnum<{
|
|
57
|
+
maximize: "maximize";
|
|
58
|
+
minimize: "minimize";
|
|
59
|
+
}>;
|
|
60
|
+
export type ScoreDirectionInput = z.infer<typeof scoreDirectionSchema>;
|
|
61
|
+
export declare const scaleStrategySchema: z.ZodEnum<{
|
|
62
|
+
binary: "binary";
|
|
63
|
+
step: "step";
|
|
64
|
+
categorical: "categorical";
|
|
65
|
+
quantile: "quantile";
|
|
66
|
+
uniform: "uniform";
|
|
67
|
+
log: "log";
|
|
68
|
+
percentile_rank: "percentile_rank";
|
|
69
|
+
}>;
|
|
70
|
+
export type ScaleStrategyInput = z.infer<typeof scaleStrategySchema>;
|
|
71
|
+
export declare const scoreColorBandSchema: z.ZodEnum<{
|
|
72
|
+
excellent: "excellent";
|
|
73
|
+
good: "good";
|
|
74
|
+
adequate: "adequate";
|
|
75
|
+
poor: "poor";
|
|
76
|
+
failing: "failing";
|
|
77
|
+
}>;
|
|
78
|
+
export type ScoreColorBandInput = z.infer<typeof scoreColorBandSchema>;
|
|
79
|
+
export declare const degradationStateSchema: z.ZodObject<{
|
|
80
|
+
lastRun: z.ZodString;
|
|
81
|
+
breaches: z.ZodRecord<z.ZodString, z.ZodInt>;
|
|
82
|
+
}, z.core.$strip>;
|
|
83
|
+
export type DegradationStateInput = z.infer<typeof degradationStateSchema>;
|
|
84
|
+
export declare const calibrationStateSchema: z.ZodObject<{
|
|
85
|
+
lastCalibrated: z.ZodString;
|
|
86
|
+
distributions: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
87
|
+
distribution: z.ZodObject<{
|
|
88
|
+
p10: z.ZodNumber;
|
|
89
|
+
p25: z.ZodNumber;
|
|
90
|
+
p50: z.ZodNumber;
|
|
91
|
+
p75: z.ZodNumber;
|
|
92
|
+
p90: z.ZodNumber;
|
|
93
|
+
}, z.core.$strip>;
|
|
94
|
+
sampleSize: z.ZodInt;
|
|
95
|
+
windowStart: z.ZodString;
|
|
96
|
+
windowEnd: z.ZodString;
|
|
97
|
+
}, z.core.$strip>>;
|
|
98
|
+
psiValues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodNumber>>;
|
|
99
|
+
rawScores: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodNumber>>>;
|
|
100
|
+
}, z.core.$strip>;
|
|
101
|
+
export type CalibrationStateInput = z.infer<typeof calibrationStateSchema>;
|
|
102
|
+
export declare const psiResultSchema: z.ZodObject<{
|
|
103
|
+
psi: z.ZodNumber;
|
|
104
|
+
drifted: z.ZodBoolean;
|
|
105
|
+
}, z.core.$strip>;
|
|
106
|
+
export type PSIResultInput = z.infer<typeof psiResultSchema>;
|
|
107
|
+
export declare const backtestConfigSchema: z.ZodObject<{
|
|
108
|
+
varianceThreshold: z.ZodNumber;
|
|
109
|
+
coverageDropoutThreshold: z.ZodNumber;
|
|
110
|
+
latencySkewThreshold: z.ZodNumber;
|
|
111
|
+
confirmationWindow: z.ZodInt;
|
|
112
|
+
ewmaLambda: z.ZodOptional<z.ZodNumber>;
|
|
113
|
+
stabilityThreshold: z.ZodOptional<z.ZodNumber>;
|
|
114
|
+
}, z.core.$strip>;
|
|
115
|
+
export declare const backtestSnapshotSchema: z.ZodObject<{
|
|
116
|
+
currentStdDev: z.ZodNumber;
|
|
117
|
+
baselineStdDev: z.ZodNumber;
|
|
118
|
+
coverageGapCount: z.ZodInt;
|
|
119
|
+
totalCoverageCells: z.ZodInt;
|
|
120
|
+
latencyP95: z.ZodOptional<z.ZodNumber>;
|
|
121
|
+
latencyP50: z.ZodOptional<z.ZodNumber>;
|
|
122
|
+
}, z.core.$strip>;
|
|
123
|
+
export declare const taprMetricsSchema: z.ZodObject<{
|
|
124
|
+
precision: z.ZodNumber;
|
|
125
|
+
recall: z.ZodNumber;
|
|
126
|
+
f1: z.ZodNumber;
|
|
127
|
+
detectionDelay: z.ZodNumber;
|
|
128
|
+
}, z.core.$strip>;
|
|
129
|
+
export declare const degradationBacktestResultSchema: z.ZodObject<{
|
|
130
|
+
config: z.ZodObject<{
|
|
131
|
+
varianceThreshold: z.ZodNumber;
|
|
132
|
+
coverageDropoutThreshold: z.ZodNumber;
|
|
133
|
+
latencySkewThreshold: z.ZodNumber;
|
|
134
|
+
confirmationWindow: z.ZodInt;
|
|
135
|
+
ewmaLambda: z.ZodOptional<z.ZodNumber>;
|
|
136
|
+
stabilityThreshold: z.ZodOptional<z.ZodNumber>;
|
|
137
|
+
}, z.core.$strip>;
|
|
138
|
+
truePositives: z.ZodInt;
|
|
139
|
+
falsePositives: z.ZodInt;
|
|
140
|
+
falseNegatives: z.ZodInt;
|
|
141
|
+
trueNegatives: z.ZodInt;
|
|
142
|
+
tapr: z.ZodObject<{
|
|
143
|
+
precision: z.ZodNumber;
|
|
144
|
+
recall: z.ZodNumber;
|
|
145
|
+
f1: z.ZodNumber;
|
|
146
|
+
detectionDelay: z.ZodNumber;
|
|
147
|
+
}, z.core.$strip>;
|
|
148
|
+
pointPrecision: z.ZodNumber;
|
|
149
|
+
pointRecall: z.ZodNumber;
|
|
150
|
+
pointF1: z.ZodNumber;
|
|
151
|
+
}, z.core.$strip>;
|
|
152
|
+
export declare const backtestSweepResultSchema: z.ZodObject<{
|
|
153
|
+
results: z.ZodArray<z.ZodObject<{
|
|
154
|
+
config: z.ZodObject<{
|
|
155
|
+
varianceThreshold: z.ZodNumber;
|
|
156
|
+
coverageDropoutThreshold: z.ZodNumber;
|
|
157
|
+
latencySkewThreshold: z.ZodNumber;
|
|
158
|
+
confirmationWindow: z.ZodInt;
|
|
159
|
+
ewmaLambda: z.ZodOptional<z.ZodNumber>;
|
|
160
|
+
stabilityThreshold: z.ZodOptional<z.ZodNumber>;
|
|
161
|
+
}, z.core.$strip>;
|
|
162
|
+
truePositives: z.ZodInt;
|
|
163
|
+
falsePositives: z.ZodInt;
|
|
164
|
+
falseNegatives: z.ZodInt;
|
|
165
|
+
trueNegatives: z.ZodInt;
|
|
166
|
+
tapr: z.ZodObject<{
|
|
167
|
+
precision: z.ZodNumber;
|
|
168
|
+
recall: z.ZodNumber;
|
|
169
|
+
f1: z.ZodNumber;
|
|
170
|
+
detectionDelay: z.ZodNumber;
|
|
171
|
+
}, z.core.$strip>;
|
|
172
|
+
pointPrecision: z.ZodNumber;
|
|
173
|
+
pointRecall: z.ZodNumber;
|
|
174
|
+
pointF1: z.ZodNumber;
|
|
175
|
+
}, z.core.$strip>>;
|
|
176
|
+
bestByF1: z.ZodObject<{
|
|
177
|
+
config: z.ZodObject<{
|
|
178
|
+
varianceThreshold: z.ZodNumber;
|
|
179
|
+
coverageDropoutThreshold: z.ZodNumber;
|
|
180
|
+
latencySkewThreshold: z.ZodNumber;
|
|
181
|
+
confirmationWindow: z.ZodInt;
|
|
182
|
+
ewmaLambda: z.ZodOptional<z.ZodNumber>;
|
|
183
|
+
stabilityThreshold: z.ZodOptional<z.ZodNumber>;
|
|
184
|
+
}, z.core.$strip>;
|
|
185
|
+
truePositives: z.ZodInt;
|
|
186
|
+
falsePositives: z.ZodInt;
|
|
187
|
+
falseNegatives: z.ZodInt;
|
|
188
|
+
trueNegatives: z.ZodInt;
|
|
189
|
+
tapr: z.ZodObject<{
|
|
190
|
+
precision: z.ZodNumber;
|
|
191
|
+
recall: z.ZodNumber;
|
|
192
|
+
f1: z.ZodNumber;
|
|
193
|
+
detectionDelay: z.ZodNumber;
|
|
194
|
+
}, z.core.$strip>;
|
|
195
|
+
pointPrecision: z.ZodNumber;
|
|
196
|
+
pointRecall: z.ZodNumber;
|
|
197
|
+
pointF1: z.ZodNumber;
|
|
198
|
+
}, z.core.$strip>;
|
|
199
|
+
bestByRecall: z.ZodObject<{
|
|
200
|
+
config: z.ZodObject<{
|
|
201
|
+
varianceThreshold: z.ZodNumber;
|
|
202
|
+
coverageDropoutThreshold: z.ZodNumber;
|
|
203
|
+
latencySkewThreshold: z.ZodNumber;
|
|
204
|
+
confirmationWindow: z.ZodInt;
|
|
205
|
+
ewmaLambda: z.ZodOptional<z.ZodNumber>;
|
|
206
|
+
stabilityThreshold: z.ZodOptional<z.ZodNumber>;
|
|
207
|
+
}, z.core.$strip>;
|
|
208
|
+
truePositives: z.ZodInt;
|
|
209
|
+
falsePositives: z.ZodInt;
|
|
210
|
+
falseNegatives: z.ZodInt;
|
|
211
|
+
trueNegatives: z.ZodInt;
|
|
212
|
+
tapr: z.ZodObject<{
|
|
213
|
+
precision: z.ZodNumber;
|
|
214
|
+
recall: z.ZodNumber;
|
|
215
|
+
f1: z.ZodNumber;
|
|
216
|
+
detectionDelay: z.ZodNumber;
|
|
217
|
+
}, z.core.$strip>;
|
|
218
|
+
pointPrecision: z.ZodNumber;
|
|
219
|
+
pointRecall: z.ZodNumber;
|
|
220
|
+
pointF1: z.ZodNumber;
|
|
221
|
+
}, z.core.$strip>;
|
|
222
|
+
currentConfigResult: z.ZodObject<{
|
|
223
|
+
config: z.ZodObject<{
|
|
224
|
+
varianceThreshold: z.ZodNumber;
|
|
225
|
+
coverageDropoutThreshold: z.ZodNumber;
|
|
226
|
+
latencySkewThreshold: z.ZodNumber;
|
|
227
|
+
confirmationWindow: z.ZodInt;
|
|
228
|
+
ewmaLambda: z.ZodOptional<z.ZodNumber>;
|
|
229
|
+
stabilityThreshold: z.ZodOptional<z.ZodNumber>;
|
|
230
|
+
}, z.core.$strip>;
|
|
231
|
+
truePositives: z.ZodInt;
|
|
232
|
+
falsePositives: z.ZodInt;
|
|
233
|
+
falseNegatives: z.ZodInt;
|
|
234
|
+
trueNegatives: z.ZodInt;
|
|
235
|
+
tapr: z.ZodObject<{
|
|
236
|
+
precision: z.ZodNumber;
|
|
237
|
+
recall: z.ZodNumber;
|
|
238
|
+
f1: z.ZodNumber;
|
|
239
|
+
detectionDelay: z.ZodNumber;
|
|
240
|
+
}, z.core.$strip>;
|
|
241
|
+
pointPrecision: z.ZodNumber;
|
|
242
|
+
pointRecall: z.ZodNumber;
|
|
243
|
+
pointF1: z.ZodNumber;
|
|
244
|
+
}, z.core.$strip>;
|
|
245
|
+
}, z.core.$strip>;
|
|
246
|
+
export declare const ahpComparisonSchema: z.ZodObject<{
|
|
247
|
+
metricA: z.ZodString;
|
|
248
|
+
metricB: z.ZodString;
|
|
249
|
+
preference: z.ZodPipe<z.ZodEnum<{
|
|
250
|
+
1: "1";
|
|
251
|
+
3: "3";
|
|
252
|
+
5: "5";
|
|
253
|
+
7: "7";
|
|
254
|
+
9: "9";
|
|
255
|
+
}>, z.ZodTransform<1 | 7 | 3 | 5 | 9, "1" | "3" | "5" | "7" | "9">>;
|
|
256
|
+
preferred: z.ZodEnum<{
|
|
257
|
+
A: "A";
|
|
258
|
+
B: "B";
|
|
259
|
+
}>;
|
|
260
|
+
}, z.core.$strip>;
|
|
261
|
+
export type AHPComparisonInput = z.infer<typeof ahpComparisonSchema>;
|
|
262
|
+
export declare const tunedCQIWeightsSchema: z.ZodObject<{
|
|
263
|
+
featureVersion: z.ZodString;
|
|
264
|
+
weights: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
265
|
+
ahpWeights: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
266
|
+
criticWeights: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
267
|
+
alpha: z.ZodNumber;
|
|
268
|
+
consistencyRatio: z.ZodNumber;
|
|
269
|
+
incidentCorrelations: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
270
|
+
}, z.core.$strip>;
|
|
271
|
+
/**
|
|
272
|
+
* Compute empirical CDF position for a value within a percentile distribution.
|
|
273
|
+
* Returns 0-1 representing where the value falls in the empirical distribution.
|
|
274
|
+
* Uses linear interpolation between known percentile points.
|
|
275
|
+
*/
|
|
276
|
+
export declare function empiricalCDF(value: number, dist: PercentileDistribution): number;
|
|
277
|
+
/**
|
|
278
|
+
* Minimum sample size for quantile-based scaling to be considered valid.
|
|
279
|
+
* Below this threshold, quantile scaling falls back to uniform even when
|
|
280
|
+
* distribution data is provided (insufficient data for reliable percentiles).
|
|
281
|
+
*/
|
|
282
|
+
export declare const MIN_QUANTILE_SAMPLE_SIZE = 100;
|
|
283
|
+
/**
|
|
284
|
+
* Adaptive score color band using per-metric scaling strategies.
|
|
285
|
+
* Falls back to uniform scoreColorBand when distribution data is unavailable.
|
|
286
|
+
*
|
|
287
|
+
* @param value - Raw score value
|
|
288
|
+
* @param metric - Metric name (used to look up ScaleStrategy)
|
|
289
|
+
* @param direction - Score direction (maximize or minimize)
|
|
290
|
+
* @param distribution - Optional empirical percentile distribution for quantile scaling
|
|
291
|
+
* @param sampleSize - Number of samples used to compute distribution; quantile requires >= 100
|
|
292
|
+
* @example
|
|
293
|
+
* ```ts
|
|
294
|
+
* adaptiveScoreColorBand(0.92, 'relevance'); // 'excellent' (uniform, maximize)
|
|
295
|
+
* adaptiveScoreColorBand(0.3, 'hallucination', 'minimize'); // 'excellent' (low hallucination is good)
|
|
296
|
+
* adaptiveScoreColorBand(0.5, 'coherence', 'maximize', dist, 200); // quantile-scaled band
|
|
297
|
+
* ```
|
|
298
|
+
*/
|
|
299
|
+
export declare function adaptiveScoreColorBand(value: number, metric: string, direction?: ScoreDirection, distribution?: PercentileDistribution, sampleSize?: number): ScoreColorBand;
|
|
300
|
+
/**
|
|
301
|
+
* Metrics where lower scores are better. Used as fallback when alert
|
|
302
|
+
* configuration is unavailable for direction inference.
|
|
303
|
+
*/
|
|
304
|
+
export declare const MINIMIZE_METRICS: Set<string>;
|
|
305
|
+
/**
|
|
306
|
+
* Infer ScoreDirection from a metric's alert configuration.
|
|
307
|
+
* Metrics whose primary alert fires on 'below' are 'maximize' metrics.
|
|
308
|
+
* Metrics whose primary alert fires on 'above' are 'minimize' metrics.
|
|
309
|
+
*/
|
|
310
|
+
export declare function inferScoreDirection(alertDirection: ThresholdDirection | undefined): ScoreDirection;
|
|
311
|
+
/** Filter category for evaluation table */
|
|
312
|
+
export type LabelFilterCategory = 'Pass' | 'Review' | 'Fail';
|
|
313
|
+
/** Label ordinal mapping result */
|
|
314
|
+
export interface LabelOrdinal {
|
|
315
|
+
/** Numeric ordinal (0-4, higher = better) */
|
|
316
|
+
ordinal: number;
|
|
317
|
+
/** 3-tier filter category */
|
|
318
|
+
category: LabelFilterCategory;
|
|
319
|
+
/** Whether the label was found in the lookup table */
|
|
320
|
+
mapped: boolean;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Convert a free-text score label to an ordinal value for sorting/filtering.
|
|
324
|
+
* Unmapped labels default to ordinal 2 ("Review") with mapped=false.
|
|
325
|
+
*
|
|
326
|
+
* @param label - Free-text score label from EvaluationResult.scoreLabel
|
|
327
|
+
* @returns Ordinal encoding with category and mapping status
|
|
328
|
+
*/
|
|
329
|
+
export declare function labelToOrdinal(label: string): LabelOrdinal;
|
|
330
|
+
/**
|
|
331
|
+
* Get the label filter category for a given ordinal value.
|
|
332
|
+
*/
|
|
333
|
+
export declare function ordinalToCategory(ordinal: number): LabelFilterCategory;
|
|
334
|
+
/** CQI per-metric contribution breakdown */
|
|
335
|
+
export declare const cqiContributionSchema: z.ZodObject<{
|
|
336
|
+
metric: z.ZodString;
|
|
337
|
+
rawScore: z.ZodNumber;
|
|
338
|
+
normalizedScore: z.ZodNumber;
|
|
339
|
+
weight: z.ZodNumber;
|
|
340
|
+
contribution: z.ZodNumber;
|
|
341
|
+
}, z.core.$strip>;
|
|
342
|
+
export type CQIContribution = z.infer<typeof cqiContributionSchema>;
|
|
343
|
+
/** Composite Quality Index result */
|
|
344
|
+
export declare const compositeQualityIndexSchema: z.ZodObject<{
|
|
345
|
+
featureVersion: z.ZodString;
|
|
346
|
+
value: z.ZodNumber;
|
|
347
|
+
weights: z.ZodRecord<z.ZodString, z.ZodNumber>;
|
|
348
|
+
contributions: z.ZodArray<z.ZodObject<{
|
|
349
|
+
metric: z.ZodString;
|
|
350
|
+
rawScore: z.ZodNumber;
|
|
351
|
+
normalizedScore: z.ZodNumber;
|
|
352
|
+
weight: z.ZodNumber;
|
|
353
|
+
contribution: z.ZodNumber;
|
|
354
|
+
}, z.core.$strip>>;
|
|
355
|
+
}, z.core.$strip>;
|
|
356
|
+
export type CompositeQualityIndex = z.infer<typeof compositeQualityIndexSchema>;
|
|
357
|
+
/** Default CQI weights per design doc Section 16.3 */
|
|
358
|
+
export declare const DEFAULT_CQI_WEIGHTS: CQIWeights;
|
|
359
|
+
/**
|
|
360
|
+
* Compute Composite Quality Index from metric results.
|
|
361
|
+
* Direction-normalizes scores before weighting (minimize metrics are inverted).
|
|
362
|
+
* Metrics with no data are excluded; weights are renormalized over available metrics.
|
|
363
|
+
*
|
|
364
|
+
* @param metrics - Quality metric results from dashboard summary
|
|
365
|
+
* @param weights - Optional custom weights (default: DEFAULT_CQI_WEIGHTS)
|
|
366
|
+
* @returns CQI result, or undefined if no metrics have data
|
|
367
|
+
* @example
|
|
368
|
+
* ```ts
|
|
369
|
+
* const cqi = computeCQI(dashboardSummary.metrics);
|
|
370
|
+
* // { score: 0.82, band: 'good', contributions: [...], featureVersion: '1.0' }
|
|
371
|
+
*
|
|
372
|
+
* // Custom weights emphasizing relevance
|
|
373
|
+
* const custom = computeCQI(metrics, { relevance: 0.4, faithfulness: 0.3, coherence: 0.3 });
|
|
374
|
+
* ```
|
|
375
|
+
*/
|
|
376
|
+
export declare function computeCQI(metrics: QualityMetricResult[], weights?: CQIWeights): CompositeQualityIndex | undefined;
|
|
377
|
+
/** Per-weight sensitivity result */
|
|
378
|
+
export interface CQISensitivityEntry {
|
|
379
|
+
metric: string;
|
|
380
|
+
baseWeight: number;
|
|
381
|
+
low: number;
|
|
382
|
+
high: number;
|
|
383
|
+
range: number;
|
|
384
|
+
}
|
|
385
|
+
/** CQI sensitivity analysis result */
|
|
386
|
+
export interface CQISensitivity {
|
|
387
|
+
baseValue: number;
|
|
388
|
+
delta: number;
|
|
389
|
+
entries: CQISensitivityEntry[];
|
|
390
|
+
}
|
|
391
|
+
/**
|
|
392
|
+
* Compute CQI sensitivity by perturbing each weight +/- delta.
|
|
393
|
+
* Reports the CQI range when each weight varies independently.
|
|
394
|
+
*
|
|
395
|
+
* Only metrics with positive base weights are analyzed. Perturbed weights are
|
|
396
|
+
* not renormalized — computeCQI handles renormalization internally, so the
|
|
397
|
+
* sensitivity reflects the effect of shifting one weight's relative importance.
|
|
398
|
+
*
|
|
399
|
+
* @param metrics - Quality metric results
|
|
400
|
+
* @param weights - Base weights (default: DEFAULT_CQI_WEIGHTS)
|
|
401
|
+
* @param delta - Perturbation amount (default: 0.05)
|
|
402
|
+
* @returns Sensitivity analysis, or undefined if CQI cannot be computed
|
|
403
|
+
* @example
|
|
404
|
+
* ```ts
|
|
405
|
+
* const sens = computeCQISensitivity(metrics);
|
|
406
|
+
* // { baseValue: 0.82, delta: 0.05, entries: [
|
|
407
|
+
* // { metric: 'relevance', baseWeight: 0.25, low: 0.80, high: 0.84, range: 0.04 },
|
|
408
|
+
* // ...
|
|
409
|
+
* // ]}
|
|
410
|
+
* ```
|
|
411
|
+
*/
|
|
412
|
+
export declare function computeCQISensitivity(metrics: QualityMetricResult[], weights?: CQIWeights, delta?: number): CQISensitivity | undefined;
|
|
413
|
+
/** Metric dynamics: velocity, acceleration, and breach projection */
|
|
414
|
+
export interface MetricDynamics {
|
|
415
|
+
featureVersion: string;
|
|
416
|
+
/** Rate of change per hour */
|
|
417
|
+
velocity: number;
|
|
418
|
+
/** Change in velocity per hour */
|
|
419
|
+
acceleration: number;
|
|
420
|
+
/** True when acceleration sign flips (inflection point) */
|
|
421
|
+
inflectionDetected: boolean;
|
|
422
|
+
/** Linear projection of status based on current velocity */
|
|
423
|
+
projectedStatus: 'healthy' | 'warning' | 'critical';
|
|
424
|
+
/** ISO timestamp when threshold would be breached at current velocity */
|
|
425
|
+
projectedBreachTime?: string;
|
|
426
|
+
/** Confidence in dynamics estimate (0-1). Higher with more trend history and smoothing. */
|
|
427
|
+
confidence: number;
|
|
428
|
+
}
|
|
429
|
+
/**
|
|
430
|
+
* Compute metric dynamics from consecutive trend snapshots.
|
|
431
|
+
* When trendHistory is provided, applies exponential smoothing (alpha=0.3)
|
|
432
|
+
* to suppress noise amplification from second derivatives.
|
|
433
|
+
*
|
|
434
|
+
* @param currentTrend - Current period trend
|
|
435
|
+
* @param previousTrend - Previous period trend (for acceleration)
|
|
436
|
+
* @param periodHours - Length of each period in hours
|
|
437
|
+
* @param thresholds - Alert thresholds for breach projection
|
|
438
|
+
* @param trendHistory - Optional array of historical trends (oldest first) for EMA smoothing
|
|
439
|
+
* @returns Metric dynamics, or undefined if insufficient data
|
|
440
|
+
* @example
|
|
441
|
+
* ```ts
|
|
442
|
+
* const dynamics = computeMetricDynamics(
|
|
443
|
+
* { currentValue: 0.85, previousValue: 0.80, delta: 0.05 },
|
|
444
|
+
* { currentValue: 0.80, previousValue: 0.78, delta: 0.02 },
|
|
445
|
+
* 1, // 1-hour periods
|
|
446
|
+
* [{ value: 0.7, direction: 'below', severity: 'warning' }]
|
|
447
|
+
* );
|
|
448
|
+
* // { velocity: 0.05, acceleration: 0.03, confidence: 0.5, projectedStatus: 'healthy', ... }
|
|
449
|
+
* ```
|
|
450
|
+
*/
|
|
451
|
+
export declare function computeMetricDynamics(currentTrend: MetricTrend, previousTrend: MetricTrend | undefined, periodHours: number, thresholds?: Array<{
|
|
452
|
+
value: number;
|
|
453
|
+
direction: ThresholdDirection;
|
|
454
|
+
severity: 'warning' | 'critical';
|
|
455
|
+
}>, trendHistory?: MetricTrend[]): MetricDynamics | undefined;
|
|
456
|
+
/** Extended confidence with coverage uniformity */
|
|
457
|
+
export interface CoverageWeightedConfidence extends ConfidenceIndicator {
|
|
458
|
+
featureVersion: string;
|
|
459
|
+
/** Coverage uniformity (0-1), normalized Shannon entropy of evaluations per input */
|
|
460
|
+
coverageUniformity: number;
|
|
461
|
+
/** Effective sample size: sampleCount * coverageUniformity */
|
|
462
|
+
effectiveSampleSize: number;
|
|
463
|
+
/** Recalculated confidence level using effective sample size */
|
|
464
|
+
adjustedLevel: 'low' | 'medium' | 'high';
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Compute Normalized Shannon Entropy (Pielou's J) for distribution uniformity.
|
|
468
|
+
* Returns 1 for perfectly uniform, 0 for maximally concentrated.
|
|
469
|
+
*
|
|
470
|
+
* @param counts - Array of counts per group (e.g., evaluations per metric category)
|
|
471
|
+
* @returns Normalized Shannon entropy J in [0,1] where 1 = perfectly uniform
|
|
472
|
+
*/
|
|
473
|
+
export declare function computeNormalizedEntropy(counts: number[]): number;
|
|
474
|
+
/**
|
|
475
|
+
* Compute coverage-weighted confidence.
|
|
476
|
+
* Adjusts confidence level based on evaluation distribution uniformity across inputs.
|
|
477
|
+
* A metric with 100 evaluations all from one session is less representative
|
|
478
|
+
* than 100 evaluations across 50 sessions.
|
|
479
|
+
*
|
|
480
|
+
* @param baseConfidence - Base confidence indicator from computeConfidence()
|
|
481
|
+
* @param evaluationsPerInput - Count of evaluations per input (session or trace)
|
|
482
|
+
* @returns Extended confidence with coverage weighting
|
|
483
|
+
*/
|
|
484
|
+
export declare function computeCoverageWeightedConfidence(baseConfidence: ConfidenceIndicator, evaluationsPerInput: number[]): CoverageWeightedConfidence;
|
|
485
|
+
/**
|
|
486
|
+
* Variance ratio threshold for "increasing" trend detection.
|
|
487
|
+
* Research R5: shifted from 1.5x (~87% coverage, 13% FP) to 2.0 (~95% coverage, 5% FP).
|
|
488
|
+
* Aligns with Datadog 2-3 sigma default anomaly bounds.
|
|
489
|
+
*/
|
|
490
|
+
export declare const VARIANCE_INCREASE_THRESHOLD = 2;
|
|
491
|
+
/**
|
|
492
|
+
* Variance decrease threshold. Ratios below this indicate decreasing variance.
|
|
493
|
+
* Mirrors VARIANCE_INCREASE_THRESHOLD: values significantly below 1.0 indicate
|
|
494
|
+
* the metric is converging (less noisy than baseline).
|
|
495
|
+
*/
|
|
496
|
+
export declare const VARIANCE_DECREASE_THRESHOLD = 0.7;
|
|
497
|
+
/**
|
|
498
|
+
* Coverage dropout rate threshold. Rates above this are considered degraded.
|
|
499
|
+
* A 20% gap rate means 1 in 5 coverage cells is missing evaluations.
|
|
500
|
+
*/
|
|
501
|
+
export declare const COVERAGE_DROPOUT_THRESHOLD = 0.2;
|
|
502
|
+
/** EWMA smoothing factor. lambda=0.1 catches slow drift; higher = more reactive. */
|
|
503
|
+
export declare const EWMA_LAMBDA = 0.1;
|
|
504
|
+
/** Quality degradation signal computed from leading indicators */
|
|
505
|
+
export interface DegradationSignal {
|
|
506
|
+
/** Feature version for historical comparison validity */
|
|
507
|
+
featureVersion: string;
|
|
508
|
+
/** Variance trend direction */
|
|
509
|
+
varianceTrend: 'increasing' | 'stable' | 'decreasing';
|
|
510
|
+
/** Current stdDev / baseline stdDev ratio */
|
|
511
|
+
varianceRatio: number;
|
|
512
|
+
/** Coverage dropout rate (0-1) */
|
|
513
|
+
coverageDropoutRate: number;
|
|
514
|
+
/** Latency skew ratio (p95/p50) */
|
|
515
|
+
latencySkewRatio: number;
|
|
516
|
+
/** Predicted status based on feature combination */
|
|
517
|
+
predictedStatus: 'healthy' | 'warning' | 'critical';
|
|
518
|
+
/** EWMA drift signal: true when EWMA deviates from mean by > 2 * MAD */
|
|
519
|
+
ewmaDriftDetected: boolean;
|
|
520
|
+
/** Number of consecutive periods with active signals (for confirmation window) */
|
|
521
|
+
consecutiveBreaches: number;
|
|
522
|
+
/** Whether confirmation window is satisfied (>= 2 consecutive breaches) */
|
|
523
|
+
confirmed: boolean;
|
|
524
|
+
}
|
|
525
|
+
/**
|
|
526
|
+
* Compute EWMA (Exponentially Weighted Moving Average) from a time series.
|
|
527
|
+
* EWMA with lambda=0.1 catches slow quality drift that period-over-period deltas miss.
|
|
528
|
+
*
|
|
529
|
+
* @param values - Time-ordered score values (oldest first)
|
|
530
|
+
* @param lambda - Smoothing factor (0-1). Default: EWMA_LAMBDA (0.1)
|
|
531
|
+
* @returns Final EWMA value, or undefined if no values
|
|
532
|
+
*/
|
|
533
|
+
export declare function computeEWMA(values: number[], lambda?: number): number | undefined;
|
|
534
|
+
/**
|
|
535
|
+
* Compute Median Absolute Deviation (MAD) for robust dispersion estimation.
|
|
536
|
+
* MAD is resistant to outliers unlike standard deviation.
|
|
537
|
+
* Scaled by 1.4826 for normal-equivalent consistency.
|
|
538
|
+
*
|
|
539
|
+
* @param values - Numeric values
|
|
540
|
+
* @returns Scaled MAD value, or 0 for insufficient data
|
|
541
|
+
*/
|
|
542
|
+
export declare function computeMAD(values: number[]): number;
|
|
543
|
+
/**
|
|
544
|
+
* Detect EWMA drift by comparing the trailing EWMA to a baseline mean.
|
|
545
|
+
* The baseline is the first 70% of the series; drift is detected when the
|
|
546
|
+
* EWMA (which tracks recent values) deviates from the baseline by > k * MAD.
|
|
547
|
+
* When MAD = 0, falls back to range-based detection (> 10% of range).
|
|
548
|
+
*/
|
|
549
|
+
export declare function detectEWMADrift(values: number[], lambda?: number, k?: number): boolean;
|
|
550
|
+
/** Options for degradation signal computation */
|
|
551
|
+
export interface DegradationSignalOptions {
|
|
552
|
+
/** Historical score values for EWMA drift detection (oldest first) */
|
|
553
|
+
historicalValues?: number[];
|
|
554
|
+
/** Number of consecutive prior breaches (for confirmation window) */
|
|
555
|
+
priorConsecutiveBreaches?: number;
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Compute degradation signal from current and baseline metrics.
|
|
559
|
+
*
|
|
560
|
+
* @param currentStdDev - Current period score standard deviation
|
|
561
|
+
* @param baselineStdDev - Baseline period score standard deviation
|
|
562
|
+
* @param coverageGapCount - Number of missing coverage cells
|
|
563
|
+
* @param totalCoverageCells - Total coverage cells expected
|
|
564
|
+
* @param latencyP95 - Evaluation latency p95 (optional)
|
|
565
|
+
* @param latencyP50 - Evaluation latency p50 (optional)
|
|
566
|
+
* @param options - Additional options for EWMA drift and confirmation windows
|
|
567
|
+
*/
|
|
568
|
+
export declare function computeDegradationSignal(currentStdDev: number | null, baselineStdDev: number | null, coverageGapCount: number, totalCoverageCells: number, latencyP95?: number | null, latencyP50?: number | null, options?: DegradationSignalOptions): DegradationSignal;
|
|
569
|
+
/** Causal confidence level for correlation interpretations */
|
|
570
|
+
export type CausalConfidence = 'correlation' | 'granger' | 'verified';
|
|
571
|
+
/** Result of a bivariate Granger causality test */
|
|
572
|
+
export interface GrangerResult {
|
|
573
|
+
/** F-statistic for the restricted vs unrestricted model comparison */
|
|
574
|
+
fStatistic: number;
|
|
575
|
+
/** P-value from the F-distribution */
|
|
576
|
+
pValue: number;
|
|
577
|
+
/** Number of lags used in the AR models */
|
|
578
|
+
lags: number;
|
|
579
|
+
/**
|
|
580
|
+
* Detected causal direction.
|
|
581
|
+
* A and B correspond to CorrelationFeature.metricA and metricB (alphabetically sorted).
|
|
582
|
+
*/
|
|
583
|
+
direction: 'A->B' | 'B->A' | 'bidirectional' | 'none';
|
|
584
|
+
}
|
|
585
|
+
/** Data-driven correlation between two metrics */
|
|
586
|
+
export interface CorrelationFeature {
|
|
587
|
+
featureVersion: string;
|
|
588
|
+
metricA: string;
|
|
589
|
+
metricB: string;
|
|
590
|
+
/** Pearson R correlation coefficient (-1 to 1) */
|
|
591
|
+
pearsonR: number;
|
|
592
|
+
/** Spearman rank correlation coefficient (-1 to 1). Better for bounded [0,1] scores. */
|
|
593
|
+
spearmanR: number;
|
|
594
|
+
/** Cohen's d effect size for the correlation (small: 0.2, medium: 0.5, large: 0.8) */
|
|
595
|
+
effectSize: number;
|
|
596
|
+
/** Time lag in hours where correlation is strongest */
|
|
597
|
+
lagHours: number;
|
|
598
|
+
/** Whether the correlation passed BH-FDR significance testing */
|
|
599
|
+
significant: boolean;
|
|
600
|
+
/** P-value from t-distribution for pearsonR */
|
|
601
|
+
pValue: number | null;
|
|
602
|
+
/** Causal confidence level (R3: correlation-only until Granger/verified) */
|
|
603
|
+
causalConfidence: CausalConfidence;
|
|
604
|
+
/** Fraction of periods where both are degraded simultaneously */
|
|
605
|
+
coOccurrenceRate: number;
|
|
606
|
+
/** Whether this pair matches a configured MetricCorrelationRule */
|
|
607
|
+
isKnownToxicCombo: boolean;
|
|
608
|
+
/** Granger causality test result (only when grangerConfig.enabled and sufficient data) */
|
|
609
|
+
granger?: GrangerResult;
|
|
610
|
+
}
|
|
611
|
+
/** Configuration for Granger causality testing */
|
|
612
|
+
export interface GrangerConfig {
|
|
613
|
+
/** Enable Granger test on significant correlation pairs (default: false) */
|
|
614
|
+
enabled: boolean;
|
|
615
|
+
/** Minimum sample size for valid Granger test (default: 30) */
|
|
616
|
+
minSampleSize?: number;
|
|
617
|
+
/** Significance level for F-test (default: 0.05) */
|
|
618
|
+
significanceLevel?: number;
|
|
619
|
+
}
|
|
620
|
+
/** Options for correlation matrix computation */
|
|
621
|
+
export interface CorrelationOptions {
|
|
622
|
+
/** Maximum lag steps to test (default: 0 = no lag detection) */
|
|
623
|
+
maxLagSteps?: number;
|
|
624
|
+
/** Hours per lag step (default: 1) */
|
|
625
|
+
lagStepHours?: number;
|
|
626
|
+
/** FDR q-value threshold for Benjamini-Hochberg (default: 0.05) */
|
|
627
|
+
fdrQ?: number;
|
|
628
|
+
/** Granger causality test configuration */
|
|
629
|
+
grangerConfig?: GrangerConfig;
|
|
630
|
+
}
|
|
631
|
+
/**
|
|
632
|
+
* Compute Pearson correlation coefficient between two numeric arrays.
|
|
633
|
+
* Returns 0 for insufficient data (< 3 points) or zero variance.
|
|
634
|
+
*/
|
|
635
|
+
export declare function computePearsonR(xs: number[], ys: number[]): number;
|
|
636
|
+
/**
|
|
637
|
+
* Compute p-value for Pearson R using t-distribution approximation.
|
|
638
|
+
* t = r * sqrt((n-2) / (1-r^2)), two-tailed test.
|
|
639
|
+
* Uses the incomplete beta function approximation for t-distribution CDF.
|
|
640
|
+
*/
|
|
641
|
+
export declare function pearsonPValue(r: number, n: number): number | null;
|
|
642
|
+
/**
|
|
643
|
+
* Apply Benjamini-Hochberg FDR correction to a set of p-values.
|
|
644
|
+
* Returns a boolean array indicating which hypotheses are significant.
|
|
645
|
+
*
|
|
646
|
+
* @param pValues - Array of p-values
|
|
647
|
+
* @param q - FDR threshold (default: 0.05)
|
|
648
|
+
* @returns Boolean array: true = significant at given FDR level
|
|
649
|
+
*/
|
|
650
|
+
export declare function benjaminiHochberg(pValues: number[], q?: number): boolean[];
|
|
651
|
+
/**
|
|
652
|
+
* Compute Spearman rank correlation coefficient.
|
|
653
|
+
* Converts values to fractional ranks (average rank for ties) then computes Pearson R on ranks.
|
|
654
|
+
* Better than Pearson for bounded [0,1] quality scores that may have non-linear relationships.
|
|
655
|
+
*/
|
|
656
|
+
export declare function computeSpearmanR(xs: number[], ys: number[]): number;
|
|
657
|
+
/**
|
|
658
|
+
* Compute Granger causality for a pair of time series.
|
|
659
|
+
* Tests both directions (A->B and B->A) using the best lag from correlation analysis.
|
|
660
|
+
*
|
|
661
|
+
* @param seriesA - Time-ordered scores for metric A
|
|
662
|
+
* @param seriesB - Time-ordered scores for metric B
|
|
663
|
+
* @param lags - Number of lags to use (from correlation lag detection, minimum 1)
|
|
664
|
+
* @param significanceLevel - P-value threshold (default: 0.05)
|
|
665
|
+
*/
|
|
666
|
+
export declare function computeGrangerCausality(seriesA: number[], seriesB: number[], lags: number, significanceLevel?: number): GrangerResult | undefined;
|
|
667
|
+
/**
|
|
668
|
+
* Compute correlation matrix across all metric pairs.
|
|
669
|
+
* Supports time-lag detection and BH-FDR significance testing.
|
|
670
|
+
*
|
|
671
|
+
* Empty metric time series arrays are valid input and result in `pearsonR=0`
|
|
672
|
+
* for any pair involving that metric (insufficient data for correlation).
|
|
673
|
+
*
|
|
674
|
+
* @param metricTimeSeries - Map of metric name to time-ordered score arrays
|
|
675
|
+
* @param knownToxicCombos - Set of "metricA:metricB" pairs from correlation rules
|
|
676
|
+
* @param degradedPeriods - Map of metric name to boolean arrays (true = degraded in that period)
|
|
677
|
+
* @param options - Lag detection and significance testing options
|
|
678
|
+
* @example
|
|
679
|
+
* ```ts
|
|
680
|
+
* const series = new Map([
|
|
681
|
+
* ['relevance', [0.9, 0.85, 0.88, 0.92]],
|
|
682
|
+
* ['faithfulness', [0.8, 0.82, 0.79, 0.85]],
|
|
683
|
+
* ]);
|
|
684
|
+
* const correlations = computeCorrelationMatrix(series);
|
|
685
|
+
* // [{ metricA: 'faithfulness', metricB: 'relevance', pearsonR: 0.87, ... }]
|
|
686
|
+
* ```
|
|
687
|
+
*/
|
|
688
|
+
export declare function computeCorrelationMatrix(metricTimeSeries: Map<string, number[]>, knownToxicCombos?: Set<string>, degradedPeriods?: Map<string, boolean[]>, options?: CorrelationOptions): CorrelationFeature[];
|
|
689
|
+
/**
|
|
690
|
+
* Compute percentile distribution from an array of numeric scores.
|
|
691
|
+
* Uses linear interpolation between adjacent sorted values.
|
|
692
|
+
*
|
|
693
|
+
* @param scores - Array of numeric scores (unsorted ok, will be sorted internally)
|
|
694
|
+
* @returns PercentileDistribution with p10/p25/p50/p75/p90, or undefined if < 3 scores
|
|
695
|
+
*/
|
|
696
|
+
export declare function computePercentileDistribution(scores: number[]): PercentileDistribution | undefined;
|
|
697
|
+
/**
|
|
698
|
+
* Compute the percentile rank of a value within a sorted array.
|
|
699
|
+
* Returns the fraction of values in the array that are <= the given value (0-1).
|
|
700
|
+
*
|
|
701
|
+
* @param value - The value to rank
|
|
702
|
+
* @param sortedScores - Pre-sorted (ascending) array of scores
|
|
703
|
+
* @returns Percentile rank (0-1)
|
|
704
|
+
*/
|
|
705
|
+
export declare function computePercentileRank(value: number, sortedScores: number[]): number;
|
|
706
|
+
/**
|
|
707
|
+
* Streaming percentile estimator backed by DDSketch.
|
|
708
|
+
* Wraps `@datadog/sketches-js` with a simplified API for quality pipeline use.
|
|
709
|
+
*/
|
|
710
|
+
export declare class StreamingPercentile {
|
|
711
|
+
private readonly sketch;
|
|
712
|
+
private totalCount;
|
|
713
|
+
constructor();
|
|
714
|
+
/** Add a single value to the sketch */
|
|
715
|
+
add(value: number): void;
|
|
716
|
+
/** Add multiple values at once */
|
|
717
|
+
addAll(values: number[]): void;
|
|
718
|
+
/** Get the current total count of observed values */
|
|
719
|
+
count(): number;
|
|
720
|
+
/** Estimate a percentile (0-100) from the sketch */
|
|
721
|
+
percentile(p: number): number;
|
|
722
|
+
/** Get full percentile distribution */
|
|
723
|
+
distribution(): PercentileDistribution | undefined;
|
|
724
|
+
}
|
|
725
|
+
/** Calibration state persisted between pipeline runs */
|
|
726
|
+
export interface CalibrationState {
|
|
727
|
+
/** ISO timestamp of last calibration */
|
|
728
|
+
lastCalibrated: string;
|
|
729
|
+
/** Per-metric percentile distributions */
|
|
730
|
+
distributions: Record<string, {
|
|
731
|
+
distribution: PercentileDistribution;
|
|
732
|
+
sampleSize: number;
|
|
733
|
+
/** Window start (ISO date) */
|
|
734
|
+
windowStart: string;
|
|
735
|
+
/** Window end (ISO date) */
|
|
736
|
+
windowEnd: string;
|
|
737
|
+
}>;
|
|
738
|
+
/** PSI values from last recalibration check */
|
|
739
|
+
psiValues?: Record<string, number>;
|
|
740
|
+
/** Raw scores used to compute distributions (for PSI comparison on next run) */
|
|
741
|
+
rawScores?: Record<string, number[]>;
|
|
742
|
+
}
|
|
743
|
+
/** Population Stability Index result */
|
|
744
|
+
export interface PSIResult {
|
|
745
|
+
psi: number;
|
|
746
|
+
/** true if PSI > PSI_RECALIBRATION_THRESHOLD (distribution has shifted) */
|
|
747
|
+
drifted: boolean;
|
|
748
|
+
}
|
|
749
|
+
/**
|
|
750
|
+
* Compute Population Stability Index (PSI) between two distributions.
|
|
751
|
+
* PSI measures distribution shift: < 0.1 = stable, 0.1–0.25 = moderate, > 0.25 = significant.
|
|
752
|
+
*
|
|
753
|
+
* Uses a `bins`-bin histogram comparison between expected (baseline) and actual (current).
|
|
754
|
+
* Returns { psi: 0, drifted: false } when either array has fewer than MIN_QUANTILE_SAMPLE_SIZE
|
|
755
|
+
* values (insufficient data for reliable estimation).
|
|
756
|
+
*/
|
|
757
|
+
export declare function computePSI(expected: number[], actual: number[], bins?: number): PSIResult;
|
|
758
|
+
/**
|
|
759
|
+
* Determine whether calibration state should be rewritten based on PSI drift.
|
|
760
|
+
* Returns shouldWrite: true on first run (null previousState) or if any metric drifts.
|
|
761
|
+
*/
|
|
762
|
+
export declare function shouldRecalibrate(previousState: CalibrationState | null, currentScores: Record<string, number[]>): {
|
|
763
|
+
shouldWrite: boolean;
|
|
764
|
+
psiValues: Record<string, number>;
|
|
765
|
+
};
|
|
766
|
+
/**
|
|
767
|
+
* Compute calibration distributions from per-metric evaluation scores.
|
|
768
|
+
* Skips metrics with fewer than MIN_QUANTILE_SAMPLE_SIZE scores (unreliable percentiles).
|
|
769
|
+
* Uses StreamingPercentile to compute p10/p25/p50/p75/p90 for each qualifying metric.
|
|
770
|
+
* windowStart/windowEnd metadata reflects a CALIBRATION_WINDOW_DAYS rolling window,
|
|
771
|
+
* but the caller is responsible for pre-filtering scores to that window before passing them in.
|
|
772
|
+
*/
|
|
773
|
+
export declare function computeCalibrationDistributions(evaluationsByMetric: Record<string, number[]>): CalibrationState['distributions'];
|
|
774
|
+
/**
|
|
775
|
+
* Load calibration state from persisted JSON file.
|
|
776
|
+
* Returns null if file does not exist or is malformed.
|
|
777
|
+
*/
|
|
778
|
+
export declare function loadCalibrationState(dir: string): CalibrationState | null;
|
|
779
|
+
/**
|
|
780
|
+
* Save calibration state to JSON file for cross-run use by the dashboard API.
|
|
781
|
+
* Validates state before writing to ensure round-trip integrity.
|
|
782
|
+
*/
|
|
783
|
+
export declare function saveCalibrationState(dir: string, state: CalibrationState): void;
|
|
784
|
+
/** Input data for the derived features pipeline */
|
|
785
|
+
export interface DerivedFeaturesInput {
|
|
786
|
+
/** Quality metric results from dashboard summary (Step 2 output) */
|
|
787
|
+
metrics: QualityMetricResult[];
|
|
788
|
+
/** Per-metric time series for correlation computation */
|
|
789
|
+
metricTimeSeries?: Map<string, number[]>;
|
|
790
|
+
/** Evaluations per input for coverage-weighted confidence */
|
|
791
|
+
evaluationsPerInput?: Map<string, number[]>;
|
|
792
|
+
/** Degraded periods per metric for co-occurrence */
|
|
793
|
+
degradedPeriods?: Map<string, boolean[]>;
|
|
794
|
+
/** Known toxic combination keys ("metricA:metricB") */
|
|
795
|
+
knownToxicCombos?: Set<string>;
|
|
796
|
+
/** Optional custom CQI weights */
|
|
797
|
+
cqiWeights?: CQIWeights;
|
|
798
|
+
/** Correlation computation options */
|
|
799
|
+
correlationOptions?: CorrelationOptions;
|
|
800
|
+
}
|
|
801
|
+
/** Complete derived features output (Step 3 output) */
|
|
802
|
+
export interface DerivedFeaturesResult {
|
|
803
|
+
/** Composite Quality Index */
|
|
804
|
+
cqi?: CompositeQualityIndex;
|
|
805
|
+
/** CQI sensitivity analysis */
|
|
806
|
+
cqiSensitivity?: CQISensitivity;
|
|
807
|
+
/** Per-metric coverage-weighted confidence */
|
|
808
|
+
coverageConfidence: Map<string, CoverageWeightedConfidence>;
|
|
809
|
+
/** Correlation matrix across metric pairs */
|
|
810
|
+
correlations: CorrelationFeature[];
|
|
811
|
+
}
|
|
812
|
+
/**
|
|
813
|
+
* Compute all derived features in correct dependency order.
|
|
814
|
+
*
|
|
815
|
+
* Pipeline ordering (QM2):
|
|
816
|
+
* Step 2 (aggregate) outputs: metrics, CoverageHeatmap
|
|
817
|
+
* ↓
|
|
818
|
+
* Step 3a: CQI (depends on metrics)
|
|
819
|
+
* Step 3b: Coverage-weighted confidence (depends on metrics + CoverageHeatmap via evaluationsPerInput)
|
|
820
|
+
* Step 3c: Correlation matrix (depends on metricTimeSeries, independent of 3a/3b)
|
|
821
|
+
*
|
|
822
|
+
* CoverageHeatmap must be computed before calling this function.
|
|
823
|
+
* The evaluationsPerInput parameter is derived from CoverageHeatmap output.
|
|
824
|
+
*
|
|
825
|
+
* @param input - Aggregated data from Step 2
|
|
826
|
+
* @returns All derived features
|
|
827
|
+
*/
|
|
828
|
+
export declare function computeDerivedFeatures(input: DerivedFeaturesInput): DerivedFeaturesResult;
|
|
829
|
+
/** A historical data point for backtesting the degradation detector */
|
|
830
|
+
export interface BacktestSnapshot {
|
|
831
|
+
currentStdDev: number;
|
|
832
|
+
baselineStdDev: number;
|
|
833
|
+
coverageGapCount: number;
|
|
834
|
+
totalCoverageCells: number;
|
|
835
|
+
latencyP50?: number;
|
|
836
|
+
latencyP95?: number;
|
|
837
|
+
historicalValues?: number[];
|
|
838
|
+
}
|
|
839
|
+
/** Detector configuration for threshold sweep */
|
|
840
|
+
export type BacktestConfig = z.infer<typeof backtestConfigSchema>;
|
|
841
|
+
/** Labeled incident for backtest replay against historical time series */
|
|
842
|
+
export interface LabeledIncident {
|
|
843
|
+
startTime: string;
|
|
844
|
+
endTime: string;
|
|
845
|
+
severity: 'minor' | 'major' | 'critical';
|
|
846
|
+
}
|
|
847
|
+
/** Parameter grid for sweepDegradationParams — all combinations are evaluated */
|
|
848
|
+
export declare const BACKTEST_SWEEP: {
|
|
849
|
+
readonly varianceThreshold: readonly [1.5, 1.75, 2, 2.5, 3];
|
|
850
|
+
readonly coverageDropoutThreshold: readonly [0.1, 0.15, 0.2, 0.3, 0.4];
|
|
851
|
+
readonly ewmaLambda: readonly [0.05, 0.1, 0.15, 0.2, 0.3];
|
|
852
|
+
readonly confirmationWindow: readonly [1, 2, 3, 4];
|
|
853
|
+
readonly stabilityThreshold: readonly [0.005, 0.01, 0.02, 0.03, 0.05];
|
|
854
|
+
};
|
|
855
|
+
/** Current production detector configuration used as baseline in sweepDegradationParams */
|
|
856
|
+
export declare const CURRENT_PRODUCTION_CONFIG: BacktestConfig;
|
|
857
|
+
/** Result of a backtestDegradationConfig run with TaPR and point-based metrics */
|
|
858
|
+
export type DegradationBacktestResult = z.infer<typeof degradationBacktestResultSchema>;
|
|
859
|
+
/** Result of a sweepDegradationParams run with ranked TaPR metrics and baseline comparison */
|
|
860
|
+
export type BacktestSweepResult = z.infer<typeof backtestSweepResultSchema>;
|
|
861
|
+
/** Result of a single LOO fold in sweepWithCrossValidation */
|
|
862
|
+
export interface CrossValidationFold {
|
|
863
|
+
/** The incident that was held out for this fold */
|
|
864
|
+
heldOutIncident: LabeledIncident;
|
|
865
|
+
/** Sweep result trained on the remaining incidents */
|
|
866
|
+
sweepResult: BacktestSweepResult;
|
|
867
|
+
}
|
|
868
|
+
/** Std dev of each BacktestConfig parameter across LOO folds */
|
|
869
|
+
export interface ParameterStability {
|
|
870
|
+
varianceThresholdStdDev: number;
|
|
871
|
+
coverageDropoutThresholdStdDev: number;
|
|
872
|
+
confirmationWindowStdDev: number;
|
|
873
|
+
}
|
|
874
|
+
/** Result of sweepWithCrossValidation */
|
|
875
|
+
export interface CrossValidationResult {
|
|
876
|
+
/** Full sweep on all incidents */
|
|
877
|
+
fullSweep: BacktestSweepResult;
|
|
878
|
+
/** One fold per held-out incident */
|
|
879
|
+
folds: CrossValidationFold[];
|
|
880
|
+
/** Std dev of best-F1 config parameters across folds (higher = less stable selection) */
|
|
881
|
+
parameterStability: ParameterStability;
|
|
882
|
+
/** True when every LOO fold selects the same best-by-F1 config as the full sweep */
|
|
883
|
+
isStable: boolean;
|
|
884
|
+
}
|
|
885
|
+
/**
|
|
886
|
+
* Inject synthetic degradation into baseline snapshots for testing.
|
|
887
|
+
* Returns a new array with degradation injected at the specified range.
|
|
888
|
+
*
|
|
889
|
+
* - variance_spike: sets currentStdDev = baselineStdDev * magnitude
|
|
890
|
+
* - coverage_gap: sets coverageGapCount = totalCoverageCells * magnitude (fraction)
|
|
891
|
+
* - latency_jump: sets latencyP95 = latencyP50 * magnitude (creates skew ratio = magnitude)
|
|
892
|
+
*/
|
|
893
|
+
export declare function injectDegradationScenario(snapshots: BacktestSnapshot[], type: 'variance_spike' | 'coverage_gap' | 'latency_jump', magnitude: number, startIdx: number, duration: number): BacktestSnapshot[];
|
|
894
|
+
/** Zod schema for feature visibility configuration per role */
|
|
895
|
+
export declare const roleFeatureConfigSchema: z.ZodObject<{
|
|
896
|
+
showCQI: z.ZodBoolean;
|
|
897
|
+
showCQIBreakdown: z.ZodBoolean;
|
|
898
|
+
showVariance: z.ZodBoolean;
|
|
899
|
+
showAcceleration: z.ZodBoolean;
|
|
900
|
+
showProjectedBreach: z.ZodBoolean;
|
|
901
|
+
showCorrelationRemediation: z.ZodBoolean;
|
|
902
|
+
showCoverageHeatmap: z.ZodBoolean;
|
|
903
|
+
showPipelineFunnel: z.ZodBoolean;
|
|
904
|
+
showProvenance: z.ZodBoolean;
|
|
905
|
+
showRawExport: z.ZodBoolean;
|
|
906
|
+
explanationTruncation: z.ZodNumber;
|
|
907
|
+
maxWorstEvaluations: z.ZodNumber;
|
|
908
|
+
}, z.core.$strip>;
|
|
909
|
+
/**
|
|
910
|
+
* Get the feature configuration for a role.
|
|
911
|
+
*/
|
|
912
|
+
export declare function getRoleFeatureConfig(role: RoleType): z.infer<typeof roleFeatureConfigSchema>;
|
|
913
|
+
/** Bridge between sync-to-kv bucket data and computeDegradationSignal() inputs */
|
|
914
|
+
export interface RollingDegradationInput {
|
|
915
|
+
/** Metric name (matches QUALITY_METRICS key) */
|
|
916
|
+
metricName: string;
|
|
917
|
+
/** Standard deviation of scores in the current (most recent) bucket */
|
|
918
|
+
currentStdDev: number | null;
|
|
919
|
+
/** Standard deviation of scores in the baseline period (first 70% of buckets) */
|
|
920
|
+
baselineStdDev: number | null;
|
|
921
|
+
/** Number of time buckets with 0 evaluations (proxy for coverage gaps) */
|
|
922
|
+
bucketSparsityGaps: number;
|
|
923
|
+
/** Total number of time buckets in the window */
|
|
924
|
+
totalBuckets: number;
|
|
925
|
+
/** Bucket averages ordered oldest-first (for EWMA drift detection) */
|
|
926
|
+
historicalValues: number[];
|
|
927
|
+
/** Consecutive breach count from previous sync run */
|
|
928
|
+
priorConsecutiveBreaches: number;
|
|
929
|
+
}
|
|
930
|
+
/** Per-metric degradation report with full context */
|
|
931
|
+
export interface DegradationReport {
|
|
932
|
+
/** Metric name (matches QUALITY_METRICS key) */
|
|
933
|
+
metricName: string;
|
|
934
|
+
/** Degradation signal from computeDegradationSignal() */
|
|
935
|
+
signal: DegradationSignal;
|
|
936
|
+
/**
|
|
937
|
+
* Trend from computeTrend() for the same window.
|
|
938
|
+
* Always null from computeRollingDegradationSignals — computeTrend() requires
|
|
939
|
+
* QualityMetricConfig (not available in the rolling signal context). Callers
|
|
940
|
+
* that have metric config should enrich this field after receiving the report.
|
|
941
|
+
*/
|
|
942
|
+
trend: MetricTrend | null;
|
|
943
|
+
/** Window over which the signal was computed */
|
|
944
|
+
window: {
|
|
945
|
+
startDate: string;
|
|
946
|
+
endDate: string;
|
|
947
|
+
};
|
|
948
|
+
/** Baseline period used for stdDev comparison */
|
|
949
|
+
baselinePeriod: {
|
|
950
|
+
startDate: string;
|
|
951
|
+
endDate: string;
|
|
952
|
+
};
|
|
953
|
+
/** Total evaluation count across all buckets */
|
|
954
|
+
evaluationCount: number;
|
|
955
|
+
}
|
|
956
|
+
/** Persisted state for consecutive breach tracking across sync runs */
|
|
957
|
+
export interface DegradationState {
|
|
958
|
+
/** ISO timestamp of last sync run that computed degradation signals */
|
|
959
|
+
lastRun: string;
|
|
960
|
+
/** metricName -> consecutive breach count from most recent computation */
|
|
961
|
+
breaches: Record<string, number>;
|
|
962
|
+
}
|
|
963
|
+
/**
|
|
964
|
+
* Compute sample standard deviation from an array of scores.
|
|
965
|
+
* Returns null for arrays with fewer than 2 values.
|
|
966
|
+
*/
|
|
967
|
+
export declare function computeStdDev(values: number[]): number | null;
|
|
968
|
+
/**
|
|
969
|
+
* Load degradation state from persisted JSON file.
|
|
970
|
+
* Returns empty state if file does not exist or is malformed.
|
|
971
|
+
*/
|
|
972
|
+
export declare function loadDegradationState(dir: string): DegradationState;
|
|
973
|
+
/**
|
|
974
|
+
* Save degradation state to JSON file for cross-run breach tracking.
|
|
975
|
+
* Validates state before writing to ensure round-trip integrity.
|
|
976
|
+
*/
|
|
977
|
+
export declare function saveDegradationState(dir: string, state: DegradationState): void;
|
|
978
|
+
/**
|
|
979
|
+
* Compute degradation signals for all metrics from time-bucketed evaluation data.
|
|
980
|
+
*
|
|
981
|
+
* Bridges the gap between sync-to-kv's bucket structure and computeDegradationSignal()'s
|
|
982
|
+
* input requirements:
|
|
983
|
+
* - Computes stdDev inline from bucket scores (not available in computeAggregations)
|
|
984
|
+
* - Defines baseline as first DEGRADATION_BASELINE_RATIO (70%) of non-empty buckets
|
|
985
|
+
* - Uses bucket sparsity (buckets with 0 evals / total buckets) as coverage proxy
|
|
986
|
+
* - Passes latencyP95/P50 as null (latencySkewRatio defaults to 1.0)
|
|
987
|
+
* - Reads priorConsecutiveBreaches from persisted DegradationState
|
|
988
|
+
*
|
|
989
|
+
* Skips metrics with fewer than MIN_BUCKETS_FOR_SIGNAL (3) non-empty buckets.
|
|
990
|
+
*/
|
|
991
|
+
export declare function computeRollingDegradationSignals(timeBuckets: Record<string, Array<{
|
|
992
|
+
scores: number[];
|
|
993
|
+
startTime: string;
|
|
994
|
+
endTime: string;
|
|
995
|
+
}>>, metricNames: string[], state: DegradationState, window: {
|
|
996
|
+
startDate: string;
|
|
997
|
+
endDate: string;
|
|
998
|
+
}): DegradationReport[];
|
|
999
|
+
export interface AHPComparison {
|
|
1000
|
+
metricA: string;
|
|
1001
|
+
metricB: string;
|
|
1002
|
+
preference: 1 | 3 | 5 | 7 | 9;
|
|
1003
|
+
preferred: 'A' | 'B';
|
|
1004
|
+
}
|
|
1005
|
+
export interface CRITICWeights {
|
|
1006
|
+
weights: Record<string, number>;
|
|
1007
|
+
informationContent: Record<string, number>;
|
|
1008
|
+
}
|
|
1009
|
+
export interface QualityIncident {
|
|
1010
|
+
timestamp: string;
|
|
1011
|
+
metricScores: Record<string, number>;
|
|
1012
|
+
cqiValue: number;
|
|
1013
|
+
severity: 'minor' | 'major' | 'critical';
|
|
1014
|
+
}
|
|
1015
|
+
export interface TunedCQIWeights {
|
|
1016
|
+
featureVersion: string;
|
|
1017
|
+
weights: Record<string, number>;
|
|
1018
|
+
ahpWeights: Record<string, number>;
|
|
1019
|
+
criticWeights: Record<string, number>;
|
|
1020
|
+
alpha: number;
|
|
1021
|
+
consistencyRatio: number;
|
|
1022
|
+
incidentCorrelations: Record<string, number>;
|
|
1023
|
+
}
|
|
1024
|
+
export declare function computeAHPWeights(comparisons: AHPComparison[], metrics: string[]): {
|
|
1025
|
+
weights: Record<string, number>;
|
|
1026
|
+
consistencyRatio: number;
|
|
1027
|
+
};
|
|
1028
|
+
export declare function computeCRITICWeights(metricScoreHistory: Record<string, number[]>): CRITICWeights;
|
|
1029
|
+
export declare function computeHybridCQIWeights(ahpWeights: Record<string, number>, criticWeights: Record<string, number>, incidents: QualityIncident[], metrics: string[], alpha?: number): TunedCQIWeights;
|
|
1030
|
+
export type TaPRMetrics = z.infer<typeof taprMetricsSchema>;
|
|
1031
|
+
export declare function computeTaPR(detectedRanges: Array<{
|
|
1032
|
+
start: number;
|
|
1033
|
+
end: number;
|
|
1034
|
+
}>, incidentRanges: Array<{
|
|
1035
|
+
start: number;
|
|
1036
|
+
end: number;
|
|
1037
|
+
}>): TaPRMetrics;
|
|
1038
|
+
type BacktestTimeSeriesPoint = {
|
|
1039
|
+
timestamp: number;
|
|
1040
|
+
currentStdDev: number;
|
|
1041
|
+
baselineStdDev: number;
|
|
1042
|
+
coverageGapCount: number;
|
|
1043
|
+
totalCoverageCells: number;
|
|
1044
|
+
latencyP95: number;
|
|
1045
|
+
latencyP50: number;
|
|
1046
|
+
historicalValues: number[];
|
|
1047
|
+
};
|
|
1048
|
+
/**
|
|
1049
|
+
* Runs a degradation signal backtest with a specific parameter configuration.
|
|
1050
|
+
* Replays historical time series data and compares detected degradation periods
|
|
1051
|
+
* against labeled incidents using TaPR and point-based metrics.
|
|
1052
|
+
*/
|
|
1053
|
+
export declare function backtestDegradationConfig(config: BacktestConfig, timeSeries: BacktestTimeSeriesPoint[], incidents: LabeledIncident[]): DegradationBacktestResult;
|
|
1054
|
+
/**
|
|
1055
|
+
* Runs a full parameter sweep across the BACKTEST_SWEEP grid, ranks results by TaPR F1,
|
|
1056
|
+
* and includes the current production config as a baseline comparison.
|
|
1057
|
+
*/
|
|
1058
|
+
export declare function sweepDegradationParams(timeSeries: BacktestTimeSeriesPoint[], incidents: LabeledIncident[]): BacktestSweepResult;
|
|
1059
|
+
/**
|
|
1060
|
+
* Leave-one-out cross-validation for sweepDegradationParams.
|
|
1061
|
+
*
|
|
1062
|
+
* With only 5-10 incidents, overfitting risk is high. This function holds out
|
|
1063
|
+
* each incident in turn, runs the full sweep on the remaining incidents, and
|
|
1064
|
+
* reports variance in the optimal config selection across folds.
|
|
1065
|
+
*
|
|
1066
|
+
* High parameterVariance values indicate that the best config is sensitive to
|
|
1067
|
+
* individual incidents and should not be trusted for threshold graduation.
|
|
1068
|
+
*/
|
|
1069
|
+
export declare function sweepWithCrossValidation(timeSeries: BacktestTimeSeriesPoint[], incidents: LabeledIncident[]): CrossValidationResult;
|
|
1070
|
+
export {};
|
|
1071
|
+
//# sourceMappingURL=quality-feature-engineering.d.ts.map
|