@devilsdev/rag-core 3.4.0 → 3.6.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.
Files changed (67) hide show
  1. package/README.md +1 -1
  2. package/dist/all.d.ts +59 -0
  3. package/dist/index.cjs +443 -48
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.mjs +1 -1
  6. package/dist/types/adapters/mastra.d.ts +6 -2
  7. package/dist/types/agentic/agentic-pipeline.d.ts +1 -1
  8. package/dist/types/agentic/iterative-retriever.d.ts +1 -1
  9. package/dist/types/agentic/query-planner.d.ts +1 -1
  10. package/dist/types/agentic/self-critique.d.ts +1 -1
  11. package/dist/types/ai/federation/federated-learning-coordinator.d.ts +1 -1
  12. package/dist/types/ai/training/model-training-orchestrator.d.ts +1 -1
  13. package/dist/types/chunking/chunking-engine.d.ts +1 -1
  14. package/dist/types/citation/citation-tracker.d.ts +1 -1
  15. package/dist/types/config/component-factory.d.ts +1 -0
  16. package/dist/types/connectors/anthropic-connector.d.ts +35 -1
  17. package/dist/types/connectors/base-connector.d.ts +1 -1
  18. package/dist/types/connectors/connector-utils.d.ts +20 -0
  19. package/dist/types/cost/cost-calculator.d.ts +1 -1
  20. package/dist/types/cost/cost-tracker.d.ts +1 -1
  21. package/dist/types/cost/token-budget.d.ts +1 -1
  22. package/dist/types/dashboard/dashboard-generator.d.ts +1 -1
  23. package/dist/types/dashboard/metrics-aggregator.d.ts +1 -1
  24. package/dist/types/debug/execution-tracer.d.ts +1 -1
  25. package/dist/types/debug/trace-inspector.d.ts +1 -1
  26. package/dist/types/dev/dev-server.d.ts +1 -1
  27. package/dist/types/dev/hot-reload.d.ts +1 -1
  28. package/dist/types/ecosystem/plugin-analytics-dashboard.d.ts +1 -1
  29. package/dist/types/ecosystem/plugin-certification.d.ts +1 -1
  30. package/dist/types/ecosystem/plugin-hub.d.ts +1 -1
  31. package/dist/types/enterprise/audit-logging.d.ts +1 -1
  32. package/dist/types/enterprise/data-governance.d.ts +1 -1
  33. package/dist/types/enterprise/multi-tenancy.d.ts +1 -1
  34. package/dist/types/enterprise/sso-integration.d.ts +1 -1
  35. package/dist/types/evaluate/pipeline-evaluator.d.ts +1 -1
  36. package/dist/types/graph/entity-extractor.d.ts +1 -1
  37. package/dist/types/graph/graph-retriever.d.ts +1 -1
  38. package/dist/types/graph/knowledge-graph.d.ts +1 -1
  39. package/dist/types/grounding/llm-judge.d.ts +10 -3
  40. package/dist/types/grounding/provider-citations.d.ts +244 -0
  41. package/dist/types/guardrails/detectors.d.ts +88 -0
  42. package/dist/types/guardrails/evaluate-detectors.d.ts +61 -0
  43. package/dist/types/guardrails/guardrails-pipeline.d.ts +2 -9
  44. package/dist/types/guardrails/post-generation-guard.d.ts +33 -3
  45. package/dist/types/guardrails/pre-retrieval-guard.d.ts +29 -1
  46. package/dist/types/guardrails/retrieval-guard.d.ts +30 -1
  47. package/dist/types/mcp/mcp-server.d.ts +1 -1
  48. package/dist/types/observability/otel.d.ts +9 -3
  49. package/dist/types/observability/scores.d.ts +57 -0
  50. package/dist/types/reranker/cascade-reranker.d.ts +1 -1
  51. package/dist/types/reranker/embedding-reranker.d.ts +1 -1
  52. package/dist/types/reranker/scoring-reranker.d.ts +1 -1
  53. package/dist/types/retrieval/bm25-search.d.ts +1 -1
  54. package/dist/types/retrieval/hybrid-retriever.d.ts +1 -1
  55. package/dist/types/retrieval/pinecone-retriever.d.ts +141 -0
  56. package/dist/types/security/jwt-validator.d.ts +1 -1
  57. package/dist/types/security/plugin-sandbox.d.ts +1 -1
  58. package/dist/types/streaming/sse-adapter.d.ts +1 -1
  59. package/dist/types/streaming/stream-router.d.ts +1 -1
  60. package/dist/types/streaming/streaming-embedder.d.ts +1 -1
  61. package/dist/types/streaming/websocket-adapter.d.ts +1 -1
  62. package/dist/types/templates/scaffold.d.ts +1 -1
  63. package/dist/types/testing/contract-tests.d.ts +8 -4
  64. package/dist/types/utils/batch-processor.d.ts +1 -1
  65. package/dist/types/utils/connection-pool.d.ts +1 -1
  66. package/dist/types/utils/optional-peer.d.ts +21 -1
  67. package/package.json +2 -1
package/README.md CHANGED
@@ -8,7 +8,7 @@ Part of [@devilsdev/rag-pipeline-utils](https://www.npmjs.com/package/@devilsdev
8
8
  npm install @devilsdev/rag-core
9
9
  ```
10
10
 
11
- Exports: `createRagPipeline`, `createPipeline`, `packContext`, `createError`, `wrapError`, `ERROR_CODES`, `retry`, `withRetry`, `ChunkingEngine`, `BM25Search`, `reciprocalRankFusion`, `HybridRetriever`, `ScoringReranker`, `EmbeddingReranker`, `CascadeReranker`, `MemoryCache`, `RedisCache`, `CostCalculator`, `PRICING_METADATA`, `CostTracker`, `TokenBudget`, `createModelRouter`, `classifyQuery`, `MemoryRetriever`, `BaseConnector`.
11
+ Exports: `createRagPipeline`, `createPipeline`, `evaluationScores`, `toLangfuseScores`, `packContext`, `createError`, `wrapError`, `ERROR_CODES`, `retry`, `withRetry`, `ChunkingEngine`, `BM25Search`, `reciprocalRankFusion`, `HybridRetriever`, `ScoringReranker`, `EmbeddingReranker`, `CascadeReranker`, `MemoryCache`, `RedisCache`, `CostCalculator`, `PRICING_METADATA`, `CostTracker`, `TokenBudget`, `createModelRouter`, `classifyQuery`, `MemoryRetriever`, `BaseConnector`.
12
12
 
13
13
  Documentation: https://devilsdev.github.io/rag-pipeline-utils/
14
14
 
package/dist/all.d.ts CHANGED
@@ -50,10 +50,26 @@ export interface TelemetryOptions {
50
50
  tracer?: TelemetryTracer;
51
51
  /** The @opentelemetry/api module, for @devilsdev/rag-pipeline-utils/edge, which cannot load it itself. */
52
52
  api?: any;
53
+ /**
54
+ * The @opentelemetry/api-logs module, for evaluation events when your SDK registers its
55
+ * LoggerProvider there (before sdk-logs 3). With @opentelemetry/api 1.10+ its own logs API is used.
56
+ */
57
+ logs?: any;
58
+ /** A Logger (`emit(logRecord)`) for the gen_ai.evaluation.result events. */
59
+ logger?: { emit(logRecord: any): void };
53
60
  /** Also record the query text and the retrieved document ids and scores. Default false. */
54
61
  recordContent?: boolean;
55
62
  }
56
63
 
64
+ /** A run's OpenTelemetry ids, on its result when `telemetry` is on. */
65
+ export interface RunTelemetry {
66
+ traceId: string;
67
+ /** The `rag.pipeline.run` span. */
68
+ spanId: string;
69
+ /** The stage spans, when the stage ran (not served from the cache). */
70
+ spans: { retrieval?: string; generation?: string };
71
+ }
72
+
57
73
  /** A cache store: get / set / delete, optionally stats. */
58
74
  export interface CacheBackend {
59
75
  /** Resolves the stored value, or undefined when the key is missing or expired. */
@@ -151,6 +167,8 @@ export interface PipelineRunResult {
151
167
  timing?: { totalMs: number };
152
168
  /** The model router's decision, when the llm is a createModelRouter() and was called. */
153
169
  route?: RouteDecision;
170
+ /** The run's trace and span ids, when `telemetry` is on. */
171
+ telemetry?: RunTelemetry;
154
172
  }
155
173
 
156
174
  /** Which model a createModelRouter() chose for a run. */
@@ -202,6 +220,8 @@ export interface StreamChunk {
202
220
  timing?: StreamTiming;
203
221
  /** On the last chunk, when the llm is a createModelRouter(). */
204
222
  route?: RouteDecision;
223
+ /** On the last chunk, the run's trace and span ids, when `telemetry` is on. */
224
+ telemetry?: RunTelemetry;
205
225
  }
206
226
 
207
227
  /** A pipeline returned by {@link createRagPipeline}. */
@@ -307,6 +327,33 @@ export interface RerankerPlugin {
307
327
  rerank(query: string, documents: SearchResult[], options?: { topK?: number; signal?: AbortSignal }): SearchResult[] | Promise<SearchResult[]>;
308
328
  }
309
329
 
330
+ /** Where a guard runs a detector, with the document for retrieval guards. */
331
+ export interface DetectorContext {
332
+ stage: "query" | "document" | "output";
333
+ document?: any;
334
+ /** The request's AbortSignal, when the caller passed one to checkAsync() / filterAsync(). */
335
+ signal?: AbortSignal;
336
+ }
337
+
338
+ /** What a detector found. PII detectors must give each match's exact `text`, which is redacted. */
339
+ export interface DetectorResult {
340
+ flagged: boolean;
341
+ score?: number;
342
+ labels?: string[];
343
+ matches?: Array<{ label?: string; text: string; start?: number; end?: number }>;
344
+ }
345
+
346
+ /**
347
+ * A detector for the guards' `detectors` option: prompt injection
348
+ * (PreRetrievalGuard, RetrievalGuard) or PII (PostGenerationGuard). Async
349
+ * detectors need the guards' checkAsync() / filterAsync().
350
+ */
351
+ export interface GuardDetector {
352
+ name: string;
353
+ kind: "injection" | "pii";
354
+ detect(text: string, context: DetectorContext): DetectorResult | Promise<DetectorResult>;
355
+ }
356
+
310
357
  /** The interface of {@link pluginRegistry}. */
311
358
  export interface PluginRegistry {
312
359
  /**
@@ -428,6 +475,11 @@ export { PipelineEvaluator } from "./types/evaluate/pipeline-evaluator";
428
475
  export { ChunkingEngine } from "./types/chunking/chunking-engine";
429
476
  export { CitationTracker } from "./types/citation/citation-tracker";
430
477
  export { checkAnswer } from "./types/grounding/check-answer";
478
+ export { fromAnthropicCitations } from "./types/grounding/provider-citations";
479
+ export { fromOpenAIFileCitations } from "./types/grounding/provider-citations";
480
+ export { verifyCitations } from "./types/grounding/provider-citations";
481
+ export { evaluationScores } from "./types/observability/scores";
482
+ export { toLangfuseScores } from "./types/observability/scores";
431
483
  export { normalizeSources } from "./types/grounding/check-answer";
432
484
  export { createAiSdkAdapter } from "./types/adapters/ai-sdk";
433
485
  export { createMastraScorer } from "./types/adapters/mastra";
@@ -445,6 +497,12 @@ export { HybridRetriever } from "./types/retrieval/hybrid-retriever";
445
497
  export { FileVectorStore } from "./types/retrieval/file-vector-store";
446
498
  export { PreRetrievalGuard } from "./types/guardrails/pre-retrieval-guard";
447
499
  export { detectInjection } from "./types/guardrails/injection-detector";
500
+ export { patternInjectionDetector } from "./types/guardrails/detectors";
501
+ export { patternPIIDetector } from "./types/guardrails/detectors";
502
+ export { detectedText } from "./types/guardrails/detectors";
503
+ export { evaluateDetectors } from "./types/guardrails/evaluate-detectors";
504
+ export { detectorVerdict } from "./types/guardrails/evaluate-detectors";
505
+ export { renderDetectorReport } from "./types/guardrails/evaluate-detectors";
448
506
  export { RetrievalGuard } from "./types/guardrails/retrieval-guard";
449
507
  export { PostGenerationGuard } from "./types/guardrails/post-generation-guard";
450
508
  export { GuardrailsPipeline } from "./types/guardrails/guardrails-pipeline";
@@ -473,6 +531,7 @@ export { LocalEmbedder } from "./types/connectors/local-embedder";
473
531
  export { MemoryRetriever } from "./types/connectors/memory-retriever";
474
532
  export { PgVectorRetriever } from "./types/retrieval/pgvector-retriever";
475
533
  export { QdrantRetriever } from "./types/retrieval/qdrant-retriever";
534
+ export { PineconeRetriever } from "./types/retrieval/pinecone-retriever";
476
535
  export { OpenAIConnector } from "./types/connectors/openai-connector";
477
536
  export { AnthropicConnector } from "./types/connectors/anthropic-connector";
478
537
  export { CohereConnector } from "./types/connectors/cohere-connector";