@devilsdev/rag-pipeline-utils 2.1.11 → 2.2.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/.ragrc.schema.json +218 -0
- package/README.md +651 -393
- package/bin/cli.js +8 -14
- package/dist/index.d.ts +237 -0
- package/dist/index.mjs +22 -7
- package/package.json +17 -13
- package/src/ai/adaptive-retrieval.js +191 -0
- package/src/ai/federated-learning.js +214 -0
- package/src/ai/federation/federated-learning-coordinator.js +345 -0
- package/src/ai/federation.js +76 -0
- package/src/ai/index-fixed.js +509 -0
- package/src/ai/index.js +33 -0
- package/src/ai/model-trainer.js +217 -0
- package/src/ai/model-training.js +205 -0
- package/src/ai/module-template.js +37 -0
- package/src/ai/multimodal/multi-modal-processor.js +345 -0
- package/src/ai/multimodal-processing.js +268 -0
- package/src/ai/multimodal.js +71 -0
- package/src/ai/orchestrator.js +70 -0
- package/src/ai/retrieval/adaptive-retrieval-engine.js +398 -0
- package/src/ai/retrieval-engine.js +69 -0
- package/src/ai/training/model-training-orchestrator.js +228 -0
- package/src/ci/workflow-analyzer.js +71 -0
- package/src/cli/commands/ai-ml.js +967 -0
- package/src/cli/commands/docs.js +228 -0
- package/src/cli/commands/dx.js +538 -0
- package/src/cli/commands/plugin-hub.js +875 -0
- package/src/cli/doctor-command.js +639 -0
- package/src/cli/enhanced-cli-commands.js +945 -0
- package/src/cli/interactive-wizard.js +997 -0
- package/src/cli/plugin-marketplace-commands.js +869 -0
- package/src/cli.js +17 -0
- package/src/config/enhanced-ragrc-schema.js +632 -0
- package/src/config/load-config.js +54 -0
- package/src/config/load-plugin-config.js +69 -0
- package/src/config/normalize-config.js +105 -0
- package/src/config/schema-validator.js +315 -0
- package/src/config/validate-plugin-schema.js +35 -0
- package/src/config/validate-schema.js +113 -0
- package/src/contracts/plugin-contracts.js +33 -0
- package/src/core/create-pipeline.js +99 -0
- package/src/core/dependency-injection.js +242 -0
- package/src/core/observability/event-logger.js +241 -0
- package/src/core/observability/instrumented-pipeline.js +609 -0
- package/src/core/observability/metrics.js +497 -0
- package/src/core/observability/tracing.js +781 -0
- package/src/core/performance/benchmark.js +516 -0
- package/src/core/performance/parallel-processor.js +240 -0
- package/src/core/performance/streaming-safeguards.js +611 -0
- package/src/core/pipeline-factory.js +60 -0
- package/src/core/plugin-contracts.js +89 -0
- package/src/core/plugin-marketplace/plugin-metadata.js +485 -0
- package/src/core/plugin-marketplace/plugin-publisher.js +574 -0
- package/src/core/plugin-marketplace/plugin-registry-format.js +419 -0
- package/src/core/plugin-marketplace/version-resolver.js +61 -0
- package/src/core/plugin-registry.js +265 -0
- package/src/dag/dag-engine.js +954 -0
- package/src/dag/dag-node.js +76 -0
- package/src/dag/enhanced-dag-engine.js +822 -0
- package/src/dx/index.js +40 -0
- package/src/dx/integration-templates.js +665 -0
- package/src/dx/performance-profiler.js +968 -0
- package/src/dx/realtime-debugger.js +755 -0
- package/src/dx/visual-pipeline-builder.js +578 -0
- package/src/ecosystem/plugin-analytics-dashboard.js +778 -0
- package/src/ecosystem/plugin-certification.js +580 -0
- package/src/ecosystem/plugin-hub.js +821 -0
- package/src/enterprise/audit-logging.js +967 -0
- package/src/enterprise/data-governance.js +408 -0
- package/src/enterprise/multi-tenancy.js +496 -0
- package/src/enterprise/sso-integration.js +903 -0
- package/src/evaluate/evaluator.js +52 -0
- package/src/evaluate/scoring.js +91 -0
- package/src/index.js +67 -0
- package/src/ingest.js +59 -0
- package/src/loader/csv-loader.js +38 -0
- package/src/loader/directory-loader.js +48 -0
- package/src/loader/html-loader.js +62 -0
- package/src/loader/markdown-loader.js +67 -0
- package/src/mocks/openai-embedder.js +119 -0
- package/src/mocks/openai-llm.js +77 -0
- package/src/mocks/pdf-loader.js +21 -0
- package/src/mocks/pinecone-retriever.js +106 -0
- package/src/observability/audit-logger.js +758 -0
- package/src/observability/dashboard-config.json +675 -0
- package/src/observability/event-logger.js +310 -0
- package/src/observability/metrics.js +691 -0
- package/src/observability/security-monitor.js +830 -0
- package/src/observability/slo-monitor.js +319 -0
- package/src/observability/telemetry.js +686 -0
- package/src/pipeline/pipeline.js +18 -0
- package/src/plugins/sample-embedder.js +53 -0
- package/src/plugins/sample-llm.js +30 -0
- package/src/plugins/sample-loader.js +24 -0
- package/src/plugins/sample-retriever.js +84 -0
- package/src/query.js +117 -0
- package/src/reranker/llm-reranker.js +85 -0
- package/src/scripts/script-utilities.js +36 -0
- package/src/security/plugin-sandbox.js +586 -0
- package/src/security/plugin-signature-verifier.js +414 -0
- package/src/security/validator.js +36 -0
- package/src/utils/ci/diagnostic-reporter.js +57 -0
- package/src/utils/logger.js +211 -0
- package/src/utils/performance-monitor.js +561 -0
- package/src/utils/plugin-scaffolder.js +447 -0
- package/src/utils/retry-policy.js +443 -0
- package/src/utils/retry.js +107 -0
- package/src/utils/safe-expression-evaluator.js +579 -0
- package/src/utils/structured-logger.js +361 -0
- package/src/utils/validate-plugin-contract.js +42 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version: 0.1.0
|
|
3
|
+
* File: /src/mocks/pdf-loader.js
|
|
4
|
+
* Description: Mock implementation of a PDF document loader
|
|
5
|
+
* Author: Ali Kahwaji
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
class PDFLoader {
|
|
9
|
+
/**
|
|
10
|
+
* Loads a mock PDF file and returns an array of chunked content.
|
|
11
|
+
* @param {string} _filePath - Path to the PDF file
|
|
12
|
+
* @returns {Promise<Array<{ chunk: () => string[] }>>}
|
|
13
|
+
*/
|
|
14
|
+
async load(_filePath) {
|
|
15
|
+
return [{ chunk: () => [`Test loaded: ${_filePath}`] }];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Default export
|
|
20
|
+
|
|
21
|
+
module.exports = PDFLoader;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version: 0.1.0
|
|
3
|
+
* File: /src/mocks/pinecone-retriever.js
|
|
4
|
+
* Description: Mock implementation of a Pinecone retriever
|
|
5
|
+
* Author: Ali Kahwaji
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
class PineconeRetriever {
|
|
9
|
+
constructor(options = {}) {
|
|
10
|
+
this.options = options;
|
|
11
|
+
this.storage = [];
|
|
12
|
+
|
|
13
|
+
// Configurable batch size from environment or options
|
|
14
|
+
this.batchSize =
|
|
15
|
+
parseInt(process.env.RAG_RETRIEVER_BATCH_SIZE) ||
|
|
16
|
+
options.batchSize ||
|
|
17
|
+
1000; // Default batch size for Pinecone
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Mocks vector storage with batch processing
|
|
22
|
+
* @param {Array} vectors - Vectors to store
|
|
23
|
+
*/
|
|
24
|
+
async store(vectors = []) {
|
|
25
|
+
if (!Array.isArray(vectors) || vectors.length === 0) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Process storage in batches for better memory management
|
|
30
|
+
for (let i = 0; i < vectors.length; i += this.batchSize) {
|
|
31
|
+
const batch = vectors.slice(i, i + this.batchSize);
|
|
32
|
+
this.storage.push(...batch);
|
|
33
|
+
|
|
34
|
+
// Optional progress callback
|
|
35
|
+
if (this.options.onProgress) {
|
|
36
|
+
this.options.onProgress({
|
|
37
|
+
processed: Math.min(i + this.batchSize, vectors.length),
|
|
38
|
+
total: vectors.length,
|
|
39
|
+
stage: "storing",
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Simulate network delay for large batches
|
|
44
|
+
if (vectors.length > this.batchSize) {
|
|
45
|
+
await new Promise((resolve) => setTimeout(resolve, 20));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Returns mock retrieved documents with batch processing for large result sets
|
|
54
|
+
* @param {Array} queryVector - Query vector
|
|
55
|
+
* @param {number} k - Number of results to return
|
|
56
|
+
* @returns {Promise<Array<{ id: string, text: string, metadata: object }>>}
|
|
57
|
+
*/
|
|
58
|
+
async retrieve(queryVector = [], k = 5) {
|
|
59
|
+
const mockResults = [
|
|
60
|
+
{ id: "a", text: "Chunk about pine trees", metadata: {} },
|
|
61
|
+
{ id: "b", text: "Chunk about vectors", metadata: {} },
|
|
62
|
+
{ id: "c", text: "Chunk about databases", metadata: {} },
|
|
63
|
+
{ id: "d", text: "Chunk about machine learning", metadata: {} },
|
|
64
|
+
{ id: "e", text: "Chunk about embeddings", metadata: {} },
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
// Extend mock results for large k values
|
|
68
|
+
const results = [];
|
|
69
|
+
for (let i = 0; i < k; i++) {
|
|
70
|
+
const baseResult = mockResults[i % mockResults.length];
|
|
71
|
+
results.push({
|
|
72
|
+
...baseResult,
|
|
73
|
+
id: `${baseResult.id}_${Math.floor(i / mockResults.length)}`,
|
|
74
|
+
text: `${baseResult.text} (result ${i + 1})`,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
// For large result sets, process in batches
|
|
79
|
+
if (k > this.batchSize) {
|
|
80
|
+
const batchedResults = [];
|
|
81
|
+
for (let i = 0; i < results.length; i += this.batchSize) {
|
|
82
|
+
const batch = results.slice(i, i + this.batchSize);
|
|
83
|
+
batchedResults.push(...batch);
|
|
84
|
+
|
|
85
|
+
// Optional progress callback
|
|
86
|
+
if (this.options.onProgress) {
|
|
87
|
+
this.options.onProgress({
|
|
88
|
+
processed: Math.min(i + this.batchSize, results.length),
|
|
89
|
+
total: results.length,
|
|
90
|
+
stage: "retrieving",
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Simulate network delay for large retrievals
|
|
95
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
|
96
|
+
}
|
|
97
|
+
return batchedResults;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
return results;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Default export
|
|
105
|
+
|
|
106
|
+
module.exports = PineconeRetriever;
|