observability-toolkit 1.8.5 → 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 +167 -281
- 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 +672 -236
- package/dist/backends/index.d.ts.map +1 -1
- package/dist/backends/index.js +334 -0
- package/dist/backends/index.js.map +1 -1
- package/dist/backends/index.test.js +606 -31
- 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 +64 -5
- package/dist/backends/local-jsonl.d.ts.map +1 -1
- package/dist/backends/local-jsonl.js +1821 -612
- 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 +5 -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 +5 -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/{constants-symlink.test.js → core/constants-symlink.test.js} +25 -24
- 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/{constants.test.js → core/constants.test.js} +198 -82
- 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/{edge-cases.test.js → core/edge-cases.test.js} +76 -73
- package/dist/lib/core/edge-cases.test.js.map +1 -0
- package/dist/lib/{file-utils.d.ts → core/file-utils.d.ts} +63 -8
- package/dist/lib/core/file-utils.d.ts.map +1 -0
- package/dist/lib/{file-utils.js → core/file-utils.js} +186 -93
- 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/{file-utils.test.js → core/file-utils.test.js} +240 -214
- package/dist/lib/core/file-utils.test.js.map +1 -0
- package/dist/lib/{input-validator.d.ts → core/input-validator.d.ts} +30 -20
- 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/{input-validator.fuzz.test.js → core/input-validator.fuzz.test.js} +41 -29
- package/dist/lib/core/input-validator.fuzz.test.js.map +1 -0
- package/dist/lib/{input-validator.js → core/input-validator.js} +83 -39
- 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/{input-validator.test.js → core/input-validator.test.js} +95 -45
- package/dist/lib/core/input-validator.test.js.map +1 -0
- package/dist/lib/{logger.d.ts → core/logger.d.ts} +4 -18
- 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/{server-utils.d.ts → core/server-utils.d.ts} +11 -1
- package/dist/lib/core/server-utils.d.ts.map +1 -0
- package/dist/lib/{server-utils.js → core/server-utils.js} +25 -5
- 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/{shared-schemas.test.js → core/shared-schemas.test.js} +48 -18
- 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/{error-sanitizer.d.ts → errors/error-sanitizer.d.ts} +5 -0
- package/dist/lib/errors/error-sanitizer.d.ts.map +1 -0
- package/dist/lib/{error-sanitizer.js → errors/error-sanitizer.js} +8 -6
- 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/{error-sanitizer.test.js → errors/error-sanitizer.test.js} +17 -11
- package/dist/lib/errors/error-sanitizer.test.js.map +1 -0
- package/dist/lib/{error-types.d.ts → errors/error-types.d.ts} +5 -0
- package/dist/lib/errors/error-types.d.ts.map +1 -0
- package/dist/lib/{error-types.js → errors/error-types.js} +34 -1
- 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/{error-types.test.js → errors/error-types.test.js} +51 -1
- 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/{query-sanitizer.js → errors/query-sanitizer.js} +9 -1
- 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/{query-sanitizer.test.js → errors/query-sanitizer.test.js} +9 -6
- 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 +7 -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 +5 -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 +7 -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/{otlp-export.d.ts → exports/otlp-export.d.ts} +3 -2
- package/dist/lib/exports/otlp-export.d.ts.map +1 -0
- package/dist/lib/{otlp-export.js → exports/otlp-export.js} +51 -36
- 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 +11 -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 +8 -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 +2 -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 +5 -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/{indexer.js → observability/indexer.js} +65 -16
- package/dist/lib/observability/indexer.js.map +1 -0
- package/dist/lib/observability/indexer.test.d.ts.map +1 -0
- package/dist/lib/{indexer.test.js → observability/indexer.test.js} +94 -77
- 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 +2 -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 +2 -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 +5 -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 +119 -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 +5 -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/{cache.test.js → resilience/cache.test.js} +21 -20
- 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/{circuit-breaker.test.js → resilience/circuit-breaker.test.js} +29 -26
- package/dist/lib/resilience/circuit-breaker.test.js.map +1 -0
- package/dist/lib/{toon-encoder.d.ts → resilience/toon-encoder.d.ts} +6 -1
- package/dist/lib/resilience/toon-encoder.d.ts.map +1 -0
- package/dist/lib/{toon-encoder.js → resilience/toon-encoder.js} +7 -2
- 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/{toon-encoder.test.js → resilience/toon-encoder.test.js} +7 -6
- 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 +7 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +172 -102
- 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 -90
- 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 +149 -0
- package/dist/tools/export-confident.d.ts.map +1 -0
- package/dist/tools/export-confident.js +36 -0
- package/dist/tools/export-confident.js.map +1 -0
- package/dist/tools/export-confident.test.d.ts +7 -0
- package/dist/tools/export-confident.test.d.ts.map +1 -0
- package/dist/tools/export-confident.test.js +336 -0
- package/dist/tools/export-confident.test.js.map +1 -0
- package/dist/tools/export-datadog.d.ts +121 -0
- package/dist/tools/export-datadog.d.ts.map +1 -0
- package/dist/tools/export-datadog.js +158 -0
- package/dist/tools/export-datadog.js.map +1 -0
- package/dist/tools/export-datadog.test.d.ts +8 -0
- package/dist/tools/export-datadog.test.d.ts.map +1 -0
- package/dist/tools/export-datadog.test.js +376 -0
- package/dist/tools/export-datadog.test.js.map +1 -0
- 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 +135 -0
- package/dist/tools/export-langfuse.d.ts.map +1 -0
- package/dist/tools/export-langfuse.js +33 -0
- package/dist/tools/export-langfuse.js.map +1 -0
- package/dist/tools/export-langfuse.test.d.ts +7 -0
- package/dist/tools/export-langfuse.test.d.ts.map +1 -0
- package/dist/tools/export-langfuse.test.js +292 -0
- package/dist/tools/export-langfuse.test.js.map +1 -0
- package/dist/tools/export-phoenix.d.ts +170 -0
- package/dist/tools/export-phoenix.d.ts.map +1 -0
- package/dist/tools/export-phoenix.js +47 -0
- package/dist/tools/export-phoenix.js.map +1 -0
- package/dist/tools/export-phoenix.test.d.ts +7 -0
- package/dist/tools/export-phoenix.test.d.ts.map +1 -0
- package/dist/tools/export-phoenix.test.js +317 -0
- package/dist/tools/export-phoenix.test.js.map +1 -0
- 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 +35 -16
- package/dist/tools/health-check.d.ts.map +1 -1
- package/dist/tools/health-check.js +101 -85
- 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 +19 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +19 -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 +254 -0
- package/dist/tools/inject-evaluations.d.ts.map +1 -0
- package/dist/tools/inject-evaluations.js +133 -0
- package/dist/tools/inject-evaluations.js.map +1 -0
- package/dist/tools/inject-evaluations.test.d.ts +5 -0
- package/dist/tools/inject-evaluations.test.d.ts.map +1 -0
- package/dist/tools/inject-evaluations.test.js +371 -0
- package/dist/tools/inject-evaluations.test.js.map +1 -0
- 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 +154 -91
- package/dist/tools/query-evaluations.d.ts.map +1 -1
- package/dist/tools/query-evaluations.js +206 -169
- 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 +123 -0
- package/dist/tools/query-verifications.d.ts.map +1 -0
- package/dist/tools/query-verifications.js +102 -0
- package/dist/tools/query-verifications.js.map +1 -0
- package/dist/tools/query-verifications.test.d.ts +5 -0
- package/dist/tools/query-verifications.test.d.ts.map +1 -0
- package/dist/tools/query-verifications.test.js +163 -0
- package/dist/tools/query-verifications.test.js.map +1 -0
- 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 +76 -6
- 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 -389
- 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 -95
- 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 -1016
- 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 -831
- package/dist/backends/signoz-api.test.js.map +0 -1
- package/dist/lib/cache.d.ts +0 -77
- package/dist/lib/cache.d.ts.map +0 -1
- package/dist/lib/cache.js +0 -119
- package/dist/lib/cache.js.map +0 -1
- package/dist/lib/cache.test.d.ts.map +0 -1
- package/dist/lib/cache.test.js.map +0 -1
- package/dist/lib/circuit-breaker.d.ts +0 -83
- package/dist/lib/circuit-breaker.d.ts.map +0 -1
- package/dist/lib/circuit-breaker.js +0 -125
- 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.map +0 -1
- package/dist/lib/constants-symlink.test.d.ts.map +0 -1
- package/dist/lib/constants-symlink.test.js.map +0 -1
- package/dist/lib/constants.d.ts +0 -108
- package/dist/lib/constants.d.ts.map +0 -1
- package/dist/lib/constants.js +0 -350
- package/dist/lib/constants.js.map +0 -1
- package/dist/lib/constants.test.d.ts.map +0 -1
- package/dist/lib/constants.test.js.map +0 -1
- package/dist/lib/edge-cases.test.d.ts.map +0 -1
- package/dist/lib/edge-cases.test.js.map +0 -1
- package/dist/lib/error-sanitizer.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/lib/error-types.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/lib/file-utils.d.ts.map +0 -1
- 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.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.map +0 -1
- package/dist/lib/indexer.test.d.ts.map +0 -1
- package/dist/lib/indexer.test.js.map +0 -1
- 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.map +0 -1
- 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.map +0 -1
- 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/otlp-export.d.ts.map +0 -1
- package/dist/lib/otlp-export.js.map +0 -1
- package/dist/lib/query-sanitizer.d.ts.map +0 -1
- 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.map +0 -1
- package/dist/lib/server-utils.d.ts.map +0 -1
- package/dist/lib/server-utils.js.map +0 -1
- package/dist/lib/shared-schemas.d.ts +0 -81
- package/dist/lib/shared-schemas.d.ts.map +0 -1
- package/dist/lib/shared-schemas.js +0 -80
- 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.map +0 -1
- package/dist/lib/toon-encoder.d.ts.map +0 -1
- 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.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/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/{indexer.test.d.ts → observability/indexer.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
|
@@ -1,81 +1,70 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Unit tests for query-logs tool
|
|
3
3
|
*/
|
|
4
|
-
import { describe, it, beforeEach
|
|
4
|
+
import { describe, it, beforeEach } from 'vitest';
|
|
5
5
|
import assert from 'node:assert';
|
|
6
6
|
import { queryLogs, queryLogsSchema, queryLogsTool } from './query-logs.js';
|
|
7
|
-
import { getMockOptions as getMockBackendOptions
|
|
8
|
-
import {
|
|
7
|
+
import { getMockOptions as getMockBackendOptions } from '../test-helpers/mock-backends.js';
|
|
8
|
+
import { validateLimitSchema, validateDateRangeSchema } from '../test-helpers/schema-validators.js';
|
|
9
9
|
import { validateToolDefinition } from '../test-helpers/tool-validators.js';
|
|
10
|
-
import {
|
|
10
|
+
import { TEXT_PREVIEW_LIMIT } from '../lib/core/constants.js';
|
|
11
|
+
import { COUNT_TWO, COUNT_THREE } from '../test-helpers/test-constants.js';
|
|
12
|
+
import { testTraceId } from '../test-helpers/test-data-builders.js';
|
|
13
|
+
// ---------- test constants ----------
|
|
14
|
+
const LOGS_DEFAULT_LIMIT = 50;
|
|
15
|
+
const CUSTOM_LIMIT = 25;
|
|
16
|
+
const LONG_BODY_LENGTH = 600;
|
|
17
|
+
const TRUNCATION_SUFFIX_LENGTH = 3; // '...'
|
|
11
18
|
// Mock data storage
|
|
12
|
-
const mockStore = { local: []
|
|
13
|
-
// Create mock local backend (for tests that need only local backend)
|
|
14
|
-
function createMockLocalBackend() {
|
|
15
|
-
return createMockBackend(mockStore, 'logs', 'local');
|
|
16
|
-
}
|
|
19
|
+
const mockStore = { local: [] };
|
|
17
20
|
// Options with mock backends
|
|
18
21
|
function getMockOptions() {
|
|
19
22
|
return getMockBackendOptions(mockStore, 'logs');
|
|
20
23
|
}
|
|
21
|
-
|
|
22
|
-
const originalEnv = captureEnv();
|
|
23
|
-
describe('query-logs tool', () => {
|
|
24
|
+
void describe('query-logs tool', () => {
|
|
24
25
|
// Use shared schema validators
|
|
25
|
-
|
|
26
|
-
validateLimitSchema(queryLogsSchema, 'queryLogsSchema', 50);
|
|
26
|
+
validateLimitSchema(queryLogsSchema, 'queryLogsSchema', LOGS_DEFAULT_LIMIT);
|
|
27
27
|
validateDateRangeSchema(queryLogsSchema, 'queryLogsSchema');
|
|
28
28
|
// Use shared tool definition validator
|
|
29
29
|
validateToolDefinition(queryLogsTool, 'obs_query_logs', queryLogsSchema, queryLogs);
|
|
30
30
|
// Tool-specific schema validation
|
|
31
|
-
describe('queryLogsSchema field validation', () => {
|
|
32
|
-
it('should validate optional severity field', () => {
|
|
31
|
+
void describe('queryLogsSchema field validation', () => {
|
|
32
|
+
void it('should validate optional severity field', () => {
|
|
33
33
|
const result = queryLogsSchema.parse({ severity: 'ERROR' });
|
|
34
34
|
assert.deepStrictEqual(result.severity, 'ERROR');
|
|
35
35
|
});
|
|
36
|
-
it('should validate optional search field', () => {
|
|
36
|
+
void it('should validate optional search field', () => {
|
|
37
37
|
const result = queryLogsSchema.parse({ search: 'error message' });
|
|
38
38
|
assert.deepStrictEqual(result.search, 'error message');
|
|
39
39
|
});
|
|
40
|
-
it('should validate optional traceId field', () => {
|
|
41
|
-
const result = queryLogsSchema.parse({ traceId:
|
|
42
|
-
assert.deepStrictEqual(result.traceId,
|
|
40
|
+
void it('should validate optional traceId field', () => {
|
|
41
|
+
const result = queryLogsSchema.parse({ traceId: testTraceId(1) });
|
|
42
|
+
assert.deepStrictEqual(result.traceId, testTraceId(1));
|
|
43
43
|
});
|
|
44
|
-
it('should validate multiple fields together', () => {
|
|
44
|
+
void it('should validate multiple fields together', () => {
|
|
45
45
|
const result = queryLogsSchema.parse({
|
|
46
|
-
backend: 'local',
|
|
47
46
|
severity: 'WARN',
|
|
48
47
|
search: 'test',
|
|
49
|
-
traceId:
|
|
48
|
+
traceId: testTraceId(2),
|
|
50
49
|
startDate: '2026-01-01',
|
|
51
50
|
endDate: '2026-01-31',
|
|
52
51
|
limit: 25,
|
|
53
52
|
});
|
|
54
|
-
assert.deepStrictEqual(result.backend, 'local');
|
|
55
53
|
assert.deepStrictEqual(result.severity, 'WARN');
|
|
56
54
|
assert.deepStrictEqual(result.search, 'test');
|
|
57
|
-
assert.deepStrictEqual(result.traceId,
|
|
55
|
+
assert.deepStrictEqual(result.traceId, testTraceId(2));
|
|
58
56
|
assert.deepStrictEqual(result.startDate, '2026-01-01');
|
|
59
57
|
assert.deepStrictEqual(result.endDate, '2026-01-31');
|
|
60
|
-
assert.deepStrictEqual(result.limit,
|
|
58
|
+
assert.deepStrictEqual(result.limit, CUSTOM_LIMIT);
|
|
61
59
|
});
|
|
62
60
|
});
|
|
63
61
|
// Test query logs handler function
|
|
64
|
-
describe('queryLogs handler', () => {
|
|
62
|
+
void describe('queryLogs handler', () => {
|
|
65
63
|
// Reset state before each test
|
|
66
64
|
beforeEach(() => {
|
|
67
65
|
mockStore.local = [];
|
|
68
|
-
mockStore.signoz = [];
|
|
69
|
-
// Clear environment variables
|
|
70
|
-
process.env.SIGNOZ_URL = '';
|
|
71
|
-
process.env.SIGNOZ_API_KEY = '';
|
|
72
|
-
});
|
|
73
|
-
afterEach(() => {
|
|
74
|
-
// Restore original environment
|
|
75
|
-
process.env.SIGNOZ_URL = originalEnv.SIGNOZ_URL;
|
|
76
|
-
process.env.SIGNOZ_API_KEY = originalEnv.SIGNOZ_API_KEY;
|
|
77
66
|
});
|
|
78
|
-
it('should query local backend
|
|
67
|
+
void it('should query local backend', async () => {
|
|
79
68
|
mockStore.local = [
|
|
80
69
|
{
|
|
81
70
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -83,12 +72,12 @@ describe('query-logs tool', () => {
|
|
|
83
72
|
body: 'Test error message',
|
|
84
73
|
},
|
|
85
74
|
];
|
|
86
|
-
const result = await queryLogs({
|
|
87
|
-
assert.strictEqual(result.backend, 'local');
|
|
75
|
+
const result = await queryLogs({}, getMockOptions());
|
|
76
|
+
assert.strictEqual(result.backend, 'mock-local');
|
|
88
77
|
assert.strictEqual(result.count, 1);
|
|
89
78
|
assert.ok(Array.isArray(result.logs));
|
|
90
79
|
});
|
|
91
|
-
it('should include severity filtering in options', async () => {
|
|
80
|
+
void it('should include severity filtering in options', async () => {
|
|
92
81
|
mockStore.local = [
|
|
93
82
|
{
|
|
94
83
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -102,13 +91,12 @@ describe('query-logs tool', () => {
|
|
|
102
91
|
},
|
|
103
92
|
];
|
|
104
93
|
const result = await queryLogs({
|
|
105
|
-
backend: 'local',
|
|
106
94
|
severity: 'ERROR',
|
|
107
95
|
}, getMockOptions());
|
|
108
96
|
assert.ok(result);
|
|
109
97
|
assert.strictEqual(typeof result.count, 'number');
|
|
110
98
|
});
|
|
111
|
-
it('should include search text filtering in options', async () => {
|
|
99
|
+
void it('should include search text filtering in options', async () => {
|
|
112
100
|
mockStore.local = [
|
|
113
101
|
{
|
|
114
102
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -117,29 +105,27 @@ describe('query-logs tool', () => {
|
|
|
117
105
|
},
|
|
118
106
|
];
|
|
119
107
|
const result = await queryLogs({
|
|
120
|
-
backend: 'local',
|
|
121
108
|
search: 'connection',
|
|
122
109
|
}, getMockOptions());
|
|
123
110
|
assert.ok(result);
|
|
124
111
|
assert.strictEqual(typeof result.count, 'number');
|
|
125
112
|
});
|
|
126
|
-
it('should include traceId filtering in options', async () => {
|
|
113
|
+
void it('should include traceId filtering in options', async () => {
|
|
127
114
|
mockStore.local = [
|
|
128
115
|
{
|
|
129
116
|
timestamp: '2026-01-28T12:00:00Z',
|
|
130
117
|
severity: 'ERROR',
|
|
131
118
|
body: 'Error in span',
|
|
132
|
-
traceId:
|
|
119
|
+
traceId: testTraceId(3),
|
|
133
120
|
},
|
|
134
121
|
];
|
|
135
122
|
const result = await queryLogs({
|
|
136
|
-
|
|
137
|
-
traceId: 'trace-123',
|
|
123
|
+
traceId: testTraceId(3),
|
|
138
124
|
}, getMockOptions());
|
|
139
125
|
assert.ok(result);
|
|
140
126
|
assert.strictEqual(typeof result.count, 'number');
|
|
141
127
|
});
|
|
142
|
-
it('should include date range filtering in options', async () => {
|
|
128
|
+
void it('should include date range filtering in options', async () => {
|
|
143
129
|
mockStore.local = [
|
|
144
130
|
{
|
|
145
131
|
timestamp: '2026-01-15T12:00:00Z',
|
|
@@ -148,14 +134,13 @@ describe('query-logs tool', () => {
|
|
|
148
134
|
},
|
|
149
135
|
];
|
|
150
136
|
const result = await queryLogs({
|
|
151
|
-
backend: 'local',
|
|
152
137
|
startDate: '2026-01-01',
|
|
153
138
|
endDate: '2026-01-31',
|
|
154
139
|
}, getMockOptions());
|
|
155
140
|
assert.ok(result);
|
|
156
141
|
assert.strictEqual(typeof result.count, 'number');
|
|
157
142
|
});
|
|
158
|
-
it('should respect limit parameter', async () => {
|
|
143
|
+
void it('should respect limit parameter', async () => {
|
|
159
144
|
mockStore.local = [
|
|
160
145
|
{
|
|
161
146
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -169,13 +154,12 @@ describe('query-logs tool', () => {
|
|
|
169
154
|
},
|
|
170
155
|
];
|
|
171
156
|
const result = await queryLogs({
|
|
172
|
-
backend: 'local',
|
|
173
157
|
limit: 1,
|
|
174
158
|
}, getMockOptions());
|
|
175
159
|
assert.ok(result);
|
|
176
160
|
assert.strictEqual(typeof result.count, 'number');
|
|
177
161
|
});
|
|
178
|
-
it('should return result with backend, count, and logs', async () => {
|
|
162
|
+
void it('should return result with backend, count, and logs', async () => {
|
|
179
163
|
mockStore.local = [
|
|
180
164
|
{
|
|
181
165
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -183,12 +167,12 @@ describe('query-logs tool', () => {
|
|
|
183
167
|
body: 'Test log',
|
|
184
168
|
},
|
|
185
169
|
];
|
|
186
|
-
const result = await queryLogs({
|
|
170
|
+
const result = await queryLogs({}, getMockOptions());
|
|
187
171
|
assert.ok(result.backend);
|
|
188
172
|
assert.ok(typeof result.count === 'number');
|
|
189
173
|
assert.ok(Array.isArray(result.logs));
|
|
190
174
|
});
|
|
191
|
-
it('should group logs by severity', async () => {
|
|
175
|
+
void it('should group logs by severity', async () => {
|
|
192
176
|
mockStore.local = [
|
|
193
177
|
{
|
|
194
178
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -206,12 +190,12 @@ describe('query-logs tool', () => {
|
|
|
206
190
|
body: 'Info message',
|
|
207
191
|
},
|
|
208
192
|
];
|
|
209
|
-
const result = await queryLogs({
|
|
193
|
+
const result = await queryLogs({}, getMockOptions());
|
|
210
194
|
assert.ok(result.bySeverity);
|
|
211
195
|
assert.strictEqual(typeof result.bySeverity, 'object');
|
|
212
196
|
assert.ok(Object.keys(result.bySeverity).length > 0);
|
|
213
197
|
});
|
|
214
|
-
it('should correctly count logs per severity', async () => {
|
|
198
|
+
void it('should correctly count logs per severity', async () => {
|
|
215
199
|
mockStore.local = [
|
|
216
200
|
{
|
|
217
201
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -229,13 +213,13 @@ describe('query-logs tool', () => {
|
|
|
229
213
|
body: 'Warning',
|
|
230
214
|
},
|
|
231
215
|
];
|
|
232
|
-
const result = await queryLogs({
|
|
216
|
+
const result = await queryLogs({}, getMockOptions());
|
|
233
217
|
assert.ok(result.bySeverity);
|
|
234
|
-
assert.strictEqual(result.bySeverity.ERROR,
|
|
218
|
+
assert.strictEqual(result.bySeverity.ERROR, COUNT_TWO);
|
|
235
219
|
assert.strictEqual(result.bySeverity.WARN, 1);
|
|
236
220
|
});
|
|
237
|
-
it('should truncate long log body to 500 chars', async () => {
|
|
238
|
-
const longBody = 'x'.repeat(
|
|
221
|
+
void it('should truncate long log body to 500 chars', async () => {
|
|
222
|
+
const longBody = 'x'.repeat(LONG_BODY_LENGTH);
|
|
239
223
|
mockStore.local = [
|
|
240
224
|
{
|
|
241
225
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -243,12 +227,12 @@ describe('query-logs tool', () => {
|
|
|
243
227
|
body: longBody,
|
|
244
228
|
},
|
|
245
229
|
];
|
|
246
|
-
const result = await queryLogs({
|
|
230
|
+
const result = await queryLogs({}, getMockOptions());
|
|
247
231
|
assert.ok(result.logs.length > 0);
|
|
248
|
-
assert.ok(result.logs[0].body.length <=
|
|
232
|
+
assert.ok(result.logs[0].body.length <= TEXT_PREVIEW_LIMIT + TRUNCATION_SUFFIX_LENGTH);
|
|
249
233
|
assert.ok(result.logs[0].body.endsWith('...'));
|
|
250
234
|
});
|
|
251
|
-
it('should not truncate short log body', async () => {
|
|
235
|
+
void it('should not truncate short log body', async () => {
|
|
252
236
|
const shortBody = 'Short message';
|
|
253
237
|
mockStore.local = [
|
|
254
238
|
{
|
|
@@ -257,11 +241,11 @@ describe('query-logs tool', () => {
|
|
|
257
241
|
body: shortBody,
|
|
258
242
|
},
|
|
259
243
|
];
|
|
260
|
-
const result = await queryLogs({
|
|
244
|
+
const result = await queryLogs({}, getMockOptions());
|
|
261
245
|
assert.ok(result.logs.length > 0);
|
|
262
246
|
assert.strictEqual(result.logs[0].body, shortBody);
|
|
263
247
|
});
|
|
264
|
-
it('should preserve log metadata in response', async () => {
|
|
248
|
+
void it('should preserve log metadata in response', async () => {
|
|
265
249
|
mockStore.local = [
|
|
266
250
|
{
|
|
267
251
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -272,7 +256,7 @@ describe('query-logs tool', () => {
|
|
|
272
256
|
attributes: { key: 'value' },
|
|
273
257
|
},
|
|
274
258
|
];
|
|
275
|
-
const result = await queryLogs({
|
|
259
|
+
const result = await queryLogs({}, getMockOptions());
|
|
276
260
|
assert.ok(result.logs.length > 0);
|
|
277
261
|
const log = result.logs[0];
|
|
278
262
|
assert.strictEqual(log.timestamp, '2026-01-28T12:00:00Z');
|
|
@@ -280,124 +264,55 @@ describe('query-logs tool', () => {
|
|
|
280
264
|
assert.strictEqual(log.traceId, 'trace-123');
|
|
281
265
|
assert.deepStrictEqual(log.attributes, { key: 'value' });
|
|
282
266
|
});
|
|
283
|
-
it('should return empty result when no logs match', async () => {
|
|
267
|
+
void it('should return empty result when no logs match', async () => {
|
|
284
268
|
mockStore.local = [];
|
|
285
|
-
const result = await queryLogs({
|
|
286
|
-
assert.strictEqual(result.backend, 'local');
|
|
269
|
+
const result = await queryLogs({}, getMockOptions());
|
|
270
|
+
assert.strictEqual(result.backend, 'mock-local');
|
|
287
271
|
assert.strictEqual(result.count, 0);
|
|
288
272
|
assert.strictEqual(result.logs.length, 0);
|
|
289
273
|
});
|
|
290
274
|
});
|
|
291
|
-
// Test auto backend selection
|
|
292
|
-
describe('auto backend selection', () => {
|
|
293
|
-
beforeEach(() => {
|
|
294
|
-
mockStore.local = [];
|
|
295
|
-
mockStore.signoz = [];
|
|
296
|
-
clearSigNozEnv();
|
|
297
|
-
});
|
|
298
|
-
afterEach(() => {
|
|
299
|
-
restoreEnv(originalEnv);
|
|
300
|
-
});
|
|
301
|
-
it('should use local backend when signoz not configured', async () => {
|
|
302
|
-
mockStore.local = [
|
|
303
|
-
{
|
|
304
|
-
timestamp: '2026-01-28T12:00:00Z',
|
|
305
|
-
severity: 'INFO',
|
|
306
|
-
body: 'Test message',
|
|
307
|
-
},
|
|
308
|
-
];
|
|
309
|
-
const result = await queryLogs({ backend: 'auto' }, getMockOptions());
|
|
310
|
-
assert.strictEqual(result.backend, 'local');
|
|
311
|
-
});
|
|
312
|
-
it('should use signoz backend when configured and available', async () => {
|
|
313
|
-
// Note: Constants are read at import time, so we can only test
|
|
314
|
-
// that the auto backend selection falls back to local when
|
|
315
|
-
// signoz is not configured via constants
|
|
316
|
-
mockStore.local = [
|
|
317
|
-
{
|
|
318
|
-
timestamp: '2026-01-28T12:00:00Z',
|
|
319
|
-
severity: 'ERROR',
|
|
320
|
-
body: 'Local error',
|
|
321
|
-
},
|
|
322
|
-
];
|
|
323
|
-
const result = await queryLogs({ backend: 'auto' }, getMockOptions());
|
|
324
|
-
assert.ok(result.backend);
|
|
325
|
-
});
|
|
326
|
-
it('should fallback to signoz when local returns empty and signoz configured', async () => {
|
|
327
|
-
mockStore.local = [];
|
|
328
|
-
mockStore.signoz = [
|
|
329
|
-
{
|
|
330
|
-
timestamp: '2026-01-28T12:00:00Z',
|
|
331
|
-
severity: 'ERROR',
|
|
332
|
-
body: 'Remote error',
|
|
333
|
-
},
|
|
334
|
-
];
|
|
335
|
-
const result = await queryLogs({ backend: 'auto' }, getMockOptions());
|
|
336
|
-
assert.ok(result.backend);
|
|
337
|
-
assert.ok(typeof result.count === 'number');
|
|
338
|
-
});
|
|
339
|
-
});
|
|
340
275
|
// Test tool handler behavior (tool definition covered by validateToolDefinition above)
|
|
341
|
-
describe('queryLogsTool handler behavior', () => {
|
|
342
|
-
it('should accept valid input in handler', async () => {
|
|
276
|
+
void describe('queryLogsTool handler behavior', () => {
|
|
277
|
+
void it('should accept valid input in handler', async () => {
|
|
343
278
|
mockStore.local = [];
|
|
344
|
-
const result = await queryLogsTool.handler({
|
|
279
|
+
const result = await queryLogsTool.handler({}, getMockOptions());
|
|
345
280
|
assert.ok(result);
|
|
346
281
|
assert.ok(result.backend);
|
|
347
282
|
assert.ok(typeof result.count === 'number');
|
|
348
283
|
});
|
|
349
284
|
});
|
|
350
285
|
// Test error handling and edge cases
|
|
351
|
-
describe('error handling and edge cases', () => {
|
|
286
|
+
void describe('error handling and edge cases', () => {
|
|
352
287
|
beforeEach(() => {
|
|
353
288
|
mockStore.local = [];
|
|
354
|
-
mockStore.signoz = [];
|
|
355
|
-
clearSigNozEnv();
|
|
356
|
-
});
|
|
357
|
-
afterEach(() => {
|
|
358
|
-
restoreEnv(originalEnv);
|
|
359
|
-
});
|
|
360
|
-
it('should return no backend available when signoz requested but not configured', async () => {
|
|
361
|
-
// Use _hasSigNozConfig override to simulate signoz not being configured
|
|
362
|
-
// This triggers lines 93-100 returning "no backend available"
|
|
363
|
-
const result = await queryLogs({ backend: 'signoz' }, {
|
|
364
|
-
localBackend: createMockLocalBackend(),
|
|
365
|
-
_hasSigNozConfig: false,
|
|
366
|
-
// No signozBackend provided
|
|
367
|
-
});
|
|
368
|
-
assert.strictEqual(result.backend, 'none');
|
|
369
|
-
assert.strictEqual(result.count, 0);
|
|
370
|
-
assert.deepStrictEqual(result.logs, []);
|
|
371
|
-
assert.strictEqual(result.error, 'No backend available');
|
|
372
289
|
});
|
|
373
|
-
it('should handle missing optional parameters', async () => {
|
|
290
|
+
void it('should handle missing optional parameters', async () => {
|
|
374
291
|
mockStore.local = [];
|
|
375
292
|
const result = await queryLogs({
|
|
376
|
-
|
|
377
|
-
// No optional parameters
|
|
293
|
+
// No optional parameters
|
|
378
294
|
}, getMockOptions());
|
|
379
295
|
assert.ok(result);
|
|
380
|
-
assert.strictEqual(result.backend, 'local');
|
|
296
|
+
assert.strictEqual(result.backend, 'mock-local');
|
|
381
297
|
});
|
|
382
|
-
it('should handle combined filters (severity + search + traceId)', async () => {
|
|
298
|
+
void it('should handle combined filters (severity + search + traceId)', async () => {
|
|
383
299
|
mockStore.local = [
|
|
384
300
|
{
|
|
385
301
|
timestamp: '2026-01-28T12:00:00Z',
|
|
386
302
|
severity: 'ERROR',
|
|
387
303
|
body: 'Database connection error',
|
|
388
|
-
traceId:
|
|
304
|
+
traceId: testTraceId(4),
|
|
389
305
|
},
|
|
390
306
|
];
|
|
391
307
|
const result = await queryLogs({
|
|
392
|
-
backend: 'local',
|
|
393
308
|
severity: 'ERROR',
|
|
394
309
|
search: 'connection',
|
|
395
|
-
traceId:
|
|
310
|
+
traceId: testTraceId(4),
|
|
396
311
|
}, getMockOptions());
|
|
397
312
|
assert.ok(result);
|
|
398
313
|
assert.strictEqual(typeof result.count, 'number');
|
|
399
314
|
});
|
|
400
|
-
it('should handle date range with both start and end dates', async () => {
|
|
315
|
+
void it('should handle date range with both start and end dates', async () => {
|
|
401
316
|
mockStore.local = [
|
|
402
317
|
{
|
|
403
318
|
timestamp: '2026-01-15T12:00:00Z',
|
|
@@ -406,45 +321,40 @@ describe('query-logs tool', () => {
|
|
|
406
321
|
},
|
|
407
322
|
];
|
|
408
323
|
const result = await queryLogs({
|
|
409
|
-
backend: 'local',
|
|
410
324
|
startDate: '2026-01-01',
|
|
411
325
|
endDate: '2026-01-31',
|
|
412
326
|
}, getMockOptions());
|
|
413
327
|
assert.ok(result);
|
|
414
328
|
});
|
|
415
|
-
it('should handle date range with only start date', async () => {
|
|
329
|
+
void it('should handle date range with only start date', async () => {
|
|
416
330
|
mockStore.local = [];
|
|
417
331
|
const result = await queryLogs({
|
|
418
|
-
backend: 'local',
|
|
419
332
|
startDate: '2026-01-01',
|
|
420
333
|
}, getMockOptions());
|
|
421
334
|
assert.ok(result);
|
|
422
335
|
});
|
|
423
|
-
it('should handle date range with only end date', async () => {
|
|
336
|
+
void it('should handle date range with only end date', async () => {
|
|
424
337
|
mockStore.local = [];
|
|
425
338
|
const result = await queryLogs({
|
|
426
|
-
backend: 'local',
|
|
427
339
|
endDate: '2026-01-31',
|
|
428
340
|
}, getMockOptions());
|
|
429
341
|
assert.ok(result);
|
|
430
342
|
});
|
|
431
|
-
it('should accept max limit value of 1000', async () => {
|
|
343
|
+
void it('should accept max limit value of 1000', async () => {
|
|
432
344
|
mockStore.local = [];
|
|
433
345
|
const result = await queryLogs({
|
|
434
|
-
backend: 'local',
|
|
435
346
|
limit: 1000,
|
|
436
347
|
}, getMockOptions());
|
|
437
348
|
assert.ok(result);
|
|
438
349
|
assert.strictEqual(typeof result.count, 'number');
|
|
439
350
|
});
|
|
440
|
-
it('should reject limit values over 1000', () => {
|
|
351
|
+
void it('should reject limit values over 1000', () => {
|
|
441
352
|
const result = queryLogsSchema.safeParse({
|
|
442
|
-
backend: 'local',
|
|
443
353
|
limit: 1001,
|
|
444
354
|
});
|
|
445
355
|
assert.strictEqual(result.success, false);
|
|
446
356
|
});
|
|
447
|
-
it('should handle very small limit values', async () => {
|
|
357
|
+
void it('should handle very small limit values', async () => {
|
|
448
358
|
mockStore.local = [
|
|
449
359
|
{
|
|
450
360
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -453,12 +363,11 @@ describe('query-logs tool', () => {
|
|
|
453
363
|
},
|
|
454
364
|
];
|
|
455
365
|
const result = await queryLogs({
|
|
456
|
-
backend: 'local',
|
|
457
366
|
limit: 1,
|
|
458
367
|
}, getMockOptions());
|
|
459
368
|
assert.ok(result);
|
|
460
369
|
});
|
|
461
|
-
it('should handle logs with missing optional fields', async () => {
|
|
370
|
+
void it('should handle logs with missing optional fields', async () => {
|
|
462
371
|
mockStore.local = [
|
|
463
372
|
{
|
|
464
373
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -467,11 +376,11 @@ describe('query-logs tool', () => {
|
|
|
467
376
|
// No traceId, spanId, or attributes
|
|
468
377
|
},
|
|
469
378
|
];
|
|
470
|
-
const result = await queryLogs({
|
|
379
|
+
const result = await queryLogs({}, getMockOptions());
|
|
471
380
|
assert.ok(result);
|
|
472
381
|
assert.ok(result.logs.length > 0);
|
|
473
382
|
});
|
|
474
|
-
it('should handle logs with empty attributes', async () => {
|
|
383
|
+
void it('should handle logs with empty attributes', async () => {
|
|
475
384
|
mockStore.local = [
|
|
476
385
|
{
|
|
477
386
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -480,35 +389,26 @@ describe('query-logs tool', () => {
|
|
|
480
389
|
attributes: {},
|
|
481
390
|
},
|
|
482
391
|
];
|
|
483
|
-
const result = await queryLogs({
|
|
392
|
+
const result = await queryLogs({}, getMockOptions());
|
|
484
393
|
assert.ok(result);
|
|
485
394
|
});
|
|
486
|
-
it('should handle
|
|
395
|
+
void it('should handle empty local store', async () => {
|
|
487
396
|
mockStore.local = [];
|
|
488
|
-
|
|
489
|
-
// Don't configure any backend
|
|
490
|
-
const result = await queryLogs({ backend: 'local' }, getMockOptions());
|
|
397
|
+
const result = await queryLogs({}, getMockOptions());
|
|
491
398
|
assert.ok(result);
|
|
492
399
|
assert.strictEqual(typeof result.count, 'number');
|
|
493
400
|
});
|
|
494
401
|
});
|
|
495
402
|
// Test sessionId filtering
|
|
496
|
-
describe('sessionId filtering', () => {
|
|
403
|
+
void describe('sessionId filtering', () => {
|
|
497
404
|
beforeEach(() => {
|
|
498
405
|
mockStore.local = [];
|
|
499
|
-
mockStore.signoz = [];
|
|
500
|
-
process.env.SIGNOZ_URL = '';
|
|
501
|
-
process.env.SIGNOZ_API_KEY = '';
|
|
502
406
|
});
|
|
503
|
-
|
|
504
|
-
process.env.SIGNOZ_URL = originalEnv.SIGNOZ_URL;
|
|
505
|
-
process.env.SIGNOZ_API_KEY = originalEnv.SIGNOZ_API_KEY;
|
|
506
|
-
});
|
|
507
|
-
it('should accept sessionId parameter in schema', () => {
|
|
407
|
+
void it('should accept sessionId parameter in schema', () => {
|
|
508
408
|
const result = queryLogsSchema.parse({ sessionId: 'session-abc-123' });
|
|
509
409
|
assert.strictEqual(result.sessionId, 'session-abc-123');
|
|
510
410
|
});
|
|
511
|
-
it('should filter logs by session.id attribute', async () => {
|
|
411
|
+
void it('should filter logs by session.id attribute', async () => {
|
|
512
412
|
mockStore.local = [
|
|
513
413
|
{
|
|
514
414
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -529,16 +429,16 @@ describe('query-logs tool', () => {
|
|
|
529
429
|
attributes: { 'session.id': 'session-abc-123', 'hook.name': 'error' },
|
|
530
430
|
},
|
|
531
431
|
];
|
|
532
|
-
const result = await queryLogs({
|
|
533
|
-
assert.strictEqual(result.backend, 'local');
|
|
534
|
-
assert.strictEqual(result.count,
|
|
535
|
-
assert.strictEqual(result.logs.length,
|
|
432
|
+
const result = await queryLogs({ sessionId: 'session-abc-123' }, getMockOptions());
|
|
433
|
+
assert.strictEqual(result.backend, 'mock-local');
|
|
434
|
+
assert.strictEqual(result.count, COUNT_TWO);
|
|
435
|
+
assert.strictEqual(result.logs.length, COUNT_TWO);
|
|
536
436
|
// All returned logs should have the matching session.id
|
|
537
437
|
for (const log of result.logs) {
|
|
538
438
|
assert.strictEqual(log.attributes?.['session.id'], 'session-abc-123');
|
|
539
439
|
}
|
|
540
440
|
});
|
|
541
|
-
it('should return empty when no logs match sessionId', async () => {
|
|
441
|
+
void it('should return empty when no logs match sessionId', async () => {
|
|
542
442
|
mockStore.local = [
|
|
543
443
|
{
|
|
544
444
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -547,11 +447,11 @@ describe('query-logs tool', () => {
|
|
|
547
447
|
attributes: { 'session.id': 'session-other' },
|
|
548
448
|
},
|
|
549
449
|
];
|
|
550
|
-
const result = await queryLogs({
|
|
450
|
+
const result = await queryLogs({ sessionId: 'session-not-found' }, getMockOptions());
|
|
551
451
|
assert.strictEqual(result.count, 0);
|
|
552
452
|
assert.strictEqual(result.logs.length, 0);
|
|
553
453
|
});
|
|
554
|
-
it('should filter logs without session.id attribute when sessionId provided', async () => {
|
|
454
|
+
void it('should filter logs without session.id attribute when sessionId provided', async () => {
|
|
555
455
|
mockStore.local = [
|
|
556
456
|
{
|
|
557
457
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -566,11 +466,11 @@ describe('query-logs tool', () => {
|
|
|
566
466
|
attributes: { 'session.id': 'session-abc-123' },
|
|
567
467
|
},
|
|
568
468
|
];
|
|
569
|
-
const result = await queryLogs({
|
|
469
|
+
const result = await queryLogs({ sessionId: 'session-abc-123' }, getMockOptions());
|
|
570
470
|
assert.strictEqual(result.count, 1);
|
|
571
471
|
assert.strictEqual(result.logs[0].attributes?.['session.id'], 'session-abc-123');
|
|
572
472
|
});
|
|
573
|
-
it('should not filter when sessionId not provided', async () => {
|
|
473
|
+
void it('should not filter when sessionId not provided', async () => {
|
|
574
474
|
mockStore.local = [
|
|
575
475
|
{
|
|
576
476
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -590,10 +490,10 @@ describe('query-logs tool', () => {
|
|
|
590
490
|
body: 'Log 3 no session',
|
|
591
491
|
},
|
|
592
492
|
];
|
|
593
|
-
const result = await queryLogs({
|
|
594
|
-
assert.strictEqual(result.count,
|
|
493
|
+
const result = await queryLogs({}, getMockOptions());
|
|
494
|
+
assert.strictEqual(result.count, COUNT_THREE);
|
|
595
495
|
});
|
|
596
|
-
it('should combine sessionId with other filters', async () => {
|
|
496
|
+
void it('should combine sessionId with other filters', async () => {
|
|
597
497
|
mockStore.local = [
|
|
598
498
|
{
|
|
599
499
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -614,38 +514,15 @@ describe('query-logs tool', () => {
|
|
|
614
514
|
attributes: { 'session.id': 'session-b' },
|
|
615
515
|
},
|
|
616
516
|
];
|
|
617
|
-
const result = await queryLogs({
|
|
517
|
+
const result = await queryLogs({ sessionId: 'session-a', severity: 'ERROR' }, getMockOptions());
|
|
618
518
|
// Backend filter applies severity, then sessionId filter applies
|
|
619
519
|
// Since our mock returns all logs, sessionId filter will apply to all
|
|
620
520
|
assert.ok(result);
|
|
621
521
|
// The count should reflect sessionId filtering (2 logs with session-a)
|
|
622
522
|
// Note: severity filtering happens in backend which we mock to return all
|
|
623
|
-
assert.strictEqual(result.count,
|
|
523
|
+
assert.strictEqual(result.count, COUNT_TWO);
|
|
624
524
|
});
|
|
625
|
-
it('should
|
|
626
|
-
mockStore.signoz = [
|
|
627
|
-
{
|
|
628
|
-
timestamp: '2026-01-28T12:00:00Z',
|
|
629
|
-
severity: 'INFO',
|
|
630
|
-
body: 'SigNoz log session A',
|
|
631
|
-
attributes: { 'session.id': 'signoz-session-a' },
|
|
632
|
-
},
|
|
633
|
-
{
|
|
634
|
-
timestamp: '2026-01-28T12:01:00Z',
|
|
635
|
-
severity: 'INFO',
|
|
636
|
-
body: 'SigNoz log session B',
|
|
637
|
-
attributes: { 'session.id': 'signoz-session-b' },
|
|
638
|
-
},
|
|
639
|
-
];
|
|
640
|
-
const result = await queryLogs({ backend: 'signoz', sessionId: 'signoz-session-a' }, {
|
|
641
|
-
...getMockOptions(),
|
|
642
|
-
_hasSigNozConfig: true,
|
|
643
|
-
});
|
|
644
|
-
assert.strictEqual(result.backend, 'signoz');
|
|
645
|
-
assert.strictEqual(result.count, 1);
|
|
646
|
-
assert.strictEqual(result.logs[0].attributes?.['session.id'], 'signoz-session-a');
|
|
647
|
-
});
|
|
648
|
-
it('should update bySeverity counts after sessionId filtering', async () => {
|
|
525
|
+
void it('should update bySeverity counts after sessionId filtering', async () => {
|
|
649
526
|
mockStore.local = [
|
|
650
527
|
{
|
|
651
528
|
timestamp: '2026-01-28T12:00:00Z',
|
|
@@ -666,129 +543,56 @@ describe('query-logs tool', () => {
|
|
|
666
543
|
attributes: { 'session.id': 'session-b' },
|
|
667
544
|
},
|
|
668
545
|
];
|
|
669
|
-
const result = await queryLogs({
|
|
546
|
+
const result = await queryLogs({ sessionId: 'session-a' }, getMockOptions());
|
|
670
547
|
assert.strictEqual(result.bySeverity?.ERROR, 1);
|
|
671
548
|
assert.strictEqual(result.bySeverity?.WARN, 1);
|
|
672
549
|
assert.strictEqual(result.bySeverity?.['session-b'], undefined);
|
|
673
550
|
});
|
|
674
551
|
});
|
|
675
|
-
// Test severity filtering
|
|
676
|
-
describe('severity filtering', () => {
|
|
552
|
+
// Test severity filtering — one parameterized test with store fixtures
|
|
553
|
+
void describe('severity filtering', () => {
|
|
677
554
|
beforeEach(() => {
|
|
678
555
|
mockStore.local = [];
|
|
679
|
-
process.env.SIGNOZ_URL = '';
|
|
680
|
-
process.env.SIGNOZ_API_KEY = '';
|
|
681
556
|
});
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
557
|
+
void it('should filter logs by each severity level using store fixtures', async () => {
|
|
558
|
+
const severities = ['ERROR', 'WARN', 'INFO', 'DEBUG'];
|
|
559
|
+
for (const severity of severities) {
|
|
560
|
+
mockStore.local = [
|
|
561
|
+
{ timestamp: '2026-01-28T12:00:00Z', severity, body: `${severity} message` },
|
|
562
|
+
{ timestamp: '2026-01-28T12:01:00Z', severity: 'TRACE', body: 'Other' },
|
|
563
|
+
];
|
|
564
|
+
const result = await queryLogs({ severity }, getMockOptions());
|
|
565
|
+
assert.ok(result, `expected result for severity ${severity}`);
|
|
566
|
+
assert.ok(Array.isArray(result.logs), `expected logs array for severity ${severity}`);
|
|
567
|
+
}
|
|
685
568
|
});
|
|
686
|
-
|
|
569
|
+
});
|
|
570
|
+
// Test response structure — one comprehensive assertion
|
|
571
|
+
void describe('response structure', () => {
|
|
572
|
+
beforeEach(() => {
|
|
687
573
|
mockStore.local = [
|
|
688
574
|
{
|
|
689
575
|
timestamp: '2026-01-28T12:00:00Z',
|
|
690
576
|
severity: 'ERROR',
|
|
691
|
-
body: 'Error
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
severity: 'INFO',
|
|
696
|
-
body: 'Info',
|
|
577
|
+
body: 'Error message',
|
|
578
|
+
traceId: 'trace-123',
|
|
579
|
+
spanId: 'span-456',
|
|
580
|
+
attributes: { service: 'api' },
|
|
697
581
|
},
|
|
698
582
|
];
|
|
699
|
-
const result = await queryLogs({
|
|
700
|
-
backend: 'local',
|
|
701
|
-
severity: 'ERROR',
|
|
702
|
-
}, getMockOptions());
|
|
703
|
-
assert.ok(result);
|
|
704
|
-
});
|
|
705
|
-
it('should filter by WARN severity', async () => {
|
|
706
|
-
const result = await queryLogs({
|
|
707
|
-
backend: 'local',
|
|
708
|
-
severity: 'WARN',
|
|
709
|
-
}, getMockOptions());
|
|
710
|
-
assert.ok(result);
|
|
711
|
-
});
|
|
712
|
-
it('should filter by INFO severity', async () => {
|
|
713
|
-
const result = await queryLogs({
|
|
714
|
-
backend: 'local',
|
|
715
|
-
severity: 'INFO',
|
|
716
|
-
}, getMockOptions());
|
|
717
|
-
assert.ok(result);
|
|
718
583
|
});
|
|
719
|
-
it('should
|
|
720
|
-
const result = await queryLogs({
|
|
721
|
-
backend: 'local',
|
|
722
|
-
severity: 'DEBUG',
|
|
723
|
-
}, getMockOptions());
|
|
724
|
-
assert.ok(result);
|
|
725
|
-
});
|
|
726
|
-
});
|
|
727
|
-
// Test response structure
|
|
728
|
-
describe('response structure', () => {
|
|
729
|
-
beforeEach(() => {
|
|
730
|
-
mockStore.local = [];
|
|
731
|
-
process.env.SIGNOZ_URL = '';
|
|
732
|
-
process.env.SIGNOZ_API_KEY = '';
|
|
733
|
-
});
|
|
734
|
-
afterEach(() => {
|
|
735
|
-
process.env.SIGNOZ_URL = originalEnv.SIGNOZ_URL;
|
|
736
|
-
process.env.SIGNOZ_API_KEY = originalEnv.SIGNOZ_API_KEY;
|
|
737
|
-
});
|
|
738
|
-
it('should have backend property in response', async () => {
|
|
739
|
-
const result = await queryLogs({ backend: 'local' }, getMockOptions());
|
|
584
|
+
void it('should return a complete response shape with all required and optional fields', async () => {
|
|
585
|
+
const result = await queryLogs({}, getMockOptions());
|
|
740
586
|
assert.ok(result.backend);
|
|
741
|
-
|
|
742
|
-
it('should have count property in response', async () => {
|
|
743
|
-
const result = await queryLogs({ backend: 'local' }, getMockOptions());
|
|
744
|
-
assert.ok(typeof result.count === 'number');
|
|
745
|
-
});
|
|
746
|
-
it('should have logs array in response', async () => {
|
|
747
|
-
const result = await queryLogs({ backend: 'local' }, getMockOptions());
|
|
587
|
+
assert.strictEqual(typeof result.count, 'number');
|
|
748
588
|
assert.ok(Array.isArray(result.logs));
|
|
749
|
-
});
|
|
750
|
-
it('should have bySeverity object in response', async () => {
|
|
751
|
-
mockStore.local = [
|
|
752
|
-
{
|
|
753
|
-
timestamp: '2026-01-28T12:00:00Z',
|
|
754
|
-
severity: 'ERROR',
|
|
755
|
-
body: 'Error',
|
|
756
|
-
},
|
|
757
|
-
];
|
|
758
|
-
const result = await queryLogs({ backend: 'local' }, getMockOptions());
|
|
759
589
|
assert.ok(result.bySeverity);
|
|
760
590
|
assert.strictEqual(typeof result.bySeverity, 'object');
|
|
761
|
-
});
|
|
762
|
-
it('should have correct structure for individual log entries', async () => {
|
|
763
|
-
mockStore.local = [
|
|
764
|
-
{
|
|
765
|
-
timestamp: '2026-01-28T12:00:00Z',
|
|
766
|
-
severity: 'ERROR',
|
|
767
|
-
body: 'Error message',
|
|
768
|
-
traceId: 'trace-123',
|
|
769
|
-
attributes: { key: 'value' },
|
|
770
|
-
},
|
|
771
|
-
];
|
|
772
|
-
const result = await queryLogs({ backend: 'local' }, getMockOptions());
|
|
773
591
|
assert.ok(result.logs.length > 0);
|
|
774
592
|
const log = result.logs[0];
|
|
775
593
|
assert.ok(log.timestamp);
|
|
776
594
|
assert.ok(log.severity);
|
|
777
595
|
assert.ok(log.body);
|
|
778
|
-
});
|
|
779
|
-
it('should include optional log fields when present', async () => {
|
|
780
|
-
mockStore.local = [
|
|
781
|
-
{
|
|
782
|
-
timestamp: '2026-01-28T12:00:00Z',
|
|
783
|
-
severity: 'INFO',
|
|
784
|
-
body: 'Message',
|
|
785
|
-
traceId: 'trace-123',
|
|
786
|
-
spanId: 'span-456',
|
|
787
|
-
attributes: { service: 'api' },
|
|
788
|
-
},
|
|
789
|
-
];
|
|
790
|
-
const result = await queryLogs({ backend: 'local' }, getMockOptions());
|
|
791
|
-
const log = result.logs[0];
|
|
792
596
|
assert.ok(log.traceId);
|
|
793
597
|
assert.ok(log.attributes);
|
|
794
598
|
});
|