@devilsdev/rag-pipeline-utils 2.4.5 → 2.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 (258) hide show
  1. package/.ragrc.schema.json +83 -192
  2. package/CHANGELOG.md +431 -0
  3. package/README.md +418 -117
  4. package/SECURITY.md +5 -5
  5. package/dist/experimental.cjs +2 -0
  6. package/dist/experimental.d.ts +1 -0
  7. package/dist/experimental.mjs +5 -0
  8. package/dist/index.cjs +6442 -1355
  9. package/dist/index.d.ts +129 -2
  10. package/dist/index.mjs +1 -1
  11. package/dist/testing.cjs +2 -0
  12. package/dist/testing.d.ts +1 -0
  13. package/dist/testing.mjs +5 -0
  14. package/dist/types/adapters/ai-sdk.d.ts +53 -0
  15. package/dist/types/agentic/agentic-pipeline.d.ts +103 -0
  16. package/dist/types/agentic/iterative-retriever.d.ts +85 -0
  17. package/dist/types/agentic/query-planner.d.ts +145 -0
  18. package/dist/types/agentic/self-critique.d.ts +45 -0
  19. package/dist/types/ai/adaptive-retrieval.d.ts +44 -0
  20. package/dist/types/ai/federation/federated-learning-coordinator.d.ts +62 -0
  21. package/dist/types/ai/multimodal-processing.d.ts +32 -0
  22. package/dist/types/ai/multimodal.d.ts +39 -0
  23. package/dist/types/ai/retrieval-engine.d.ts +37 -0
  24. package/dist/types/ai/training/model-training-orchestrator.d.ts +31 -0
  25. package/dist/types/cache/component-keys.d.ts +7 -0
  26. package/dist/types/cache/memory-cache.d.ts +54 -0
  27. package/dist/types/cache/pipeline-cache.d.ts +66 -0
  28. package/dist/types/cache/redis-cache.d.ts +46 -0
  29. package/dist/types/chunking/chunking-engine.d.ts +70 -0
  30. package/dist/types/chunking/strategies/fixed-size.d.ts +17 -0
  31. package/dist/types/chunking/strategies/recursive.d.ts +20 -0
  32. package/dist/types/chunking/strategies/semantic.d.ts +19 -0
  33. package/dist/types/chunking/strategies/sentence.d.ts +13 -0
  34. package/dist/types/chunking/strategies/structure-aware.d.ts +19 -0
  35. package/dist/types/citation/citation-tracker.d.ts +64 -0
  36. package/dist/types/citation/hallucination-detector.d.ts +40 -0
  37. package/dist/types/citation/source-mapper.d.ts +37 -0
  38. package/dist/types/connectors/anthropic-connector.d.ts +97 -0
  39. package/dist/types/connectors/base-connector.d.ts +87 -0
  40. package/dist/types/connectors/cohere-connector.d.ts +94 -0
  41. package/dist/types/connectors/connector-utils.d.ts +110 -0
  42. package/dist/types/connectors/local-embedder.d.ts +95 -0
  43. package/dist/types/connectors/memory-retriever.d.ts +99 -0
  44. package/dist/types/connectors/ollama-connector.d.ts +115 -0
  45. package/dist/types/connectors/openai-connector.d.ts +129 -0
  46. package/dist/types/connectors/rag-prompt.d.ts +40 -0
  47. package/dist/types/core/create-pipeline.d.ts +8 -0
  48. package/dist/types/core/plugin-registry.d.ts +136 -0
  49. package/dist/types/core/stage-contracts.d.ts +36 -0
  50. package/dist/types/core/validate-plugin.d.ts +45 -0
  51. package/dist/types/cost/cost-calculator.d.ts +152 -0
  52. package/dist/types/cost/cost-tracker.d.ts +126 -0
  53. package/dist/types/cost/token-budget.d.ts +110 -0
  54. package/dist/types/dag/core/error-context.d.ts +239 -0
  55. package/dist/types/dag/core/execution-scheduler.d.ts +191 -0
  56. package/dist/types/dag/core/topology-validation.d.ts +226 -0
  57. package/dist/types/dag/dag-engine.d.ts +156 -0
  58. package/dist/types/dag/dag-node.d.ts +37 -0
  59. package/dist/types/dashboard/dashboard-generator.d.ts +127 -0
  60. package/dist/types/dashboard/metrics-aggregator.d.ts +218 -0
  61. package/dist/types/debug/execution-tracer.d.ts +57 -0
  62. package/dist/types/debug/trace-inspector.d.ts +31 -0
  63. package/dist/types/ecosystem/plugin-certification.d.ts +169 -0
  64. package/dist/types/enterprise/data-governance.d.ts +203 -0
  65. package/dist/types/enterprise/multi-tenancy.d.ts +137 -0
  66. package/dist/types/enterprise/sso-integration.d.ts +420 -0
  67. package/dist/types/evaluate/context-metrics.d.ts +55 -0
  68. package/dist/types/evaluate/faithfulness.d.ts +41 -0
  69. package/dist/types/evaluate/groundedness.d.ts +60 -0
  70. package/dist/types/evaluate/pipeline-evaluator.d.ts +88 -0
  71. package/dist/types/evaluate/relevance.d.ts +21 -0
  72. package/dist/types/evaluate/scoring.d.ts +123 -0
  73. package/dist/types/evaluate/semantic-similarity.d.ts +14 -0
  74. package/dist/types/experimental.d.ts +15 -0
  75. package/dist/types/graph/entity-extractor.d.ts +84 -0
  76. package/dist/types/graph/graph-index.d.ts +49 -0
  77. package/dist/types/graph/graph-retriever.d.ts +81 -0
  78. package/dist/types/graph/knowledge-graph.d.ts +129 -0
  79. package/dist/types/grounding/check-answer.d.ts +101 -0
  80. package/dist/types/guardrails/guardrails-pipeline.d.ts +63 -0
  81. package/dist/types/guardrails/injection-detector.d.ts +47 -0
  82. package/dist/types/guardrails/post-generation-guard.d.ts +61 -0
  83. package/dist/types/guardrails/pre-retrieval-guard.d.ts +64 -0
  84. package/dist/types/guardrails/retrieval-guard.d.ts +57 -0
  85. package/dist/types/mcp/mcp-server.d.ts +85 -0
  86. package/dist/types/mcp/mcp-tool-builder.d.ts +55 -0
  87. package/dist/types/reranker/cascade-reranker.d.ts +40 -0
  88. package/dist/types/reranker/embedding-reranker.d.ts +77 -0
  89. package/dist/types/reranker/scoring-reranker.d.ts +41 -0
  90. package/dist/types/retrieval/bm25-search.d.ts +43 -0
  91. package/dist/types/retrieval/file-vector-store.d.ts +99 -0
  92. package/dist/types/retrieval/hybrid-retriever.d.ts +35 -0
  93. package/dist/types/retrieval/rank-fusion.d.ts +10 -0
  94. package/dist/types/security/jwt-config.d.ts +80 -0
  95. package/dist/types/security/jwt-validator.d.ts +195 -0
  96. package/dist/types/security/plugin-sandbox.d.ts +158 -0
  97. package/dist/types/security/plugin-signature-verifier.d.ts +139 -0
  98. package/dist/types/security/validator.d.ts +5 -0
  99. package/dist/types/streaming/embedding-stream.d.ts +65 -0
  100. package/dist/types/streaming/sse-adapter.d.ts +59 -0
  101. package/dist/types/streaming/stream-router.d.ts +88 -0
  102. package/dist/types/streaming/streaming-embedder.d.ts +99 -0
  103. package/dist/types/streaming/websocket-adapter.d.ts +71 -0
  104. package/dist/types/templates/scaffold.d.ts +55 -0
  105. package/dist/types/templates/template-registry.d.ts +63 -0
  106. package/dist/types/testing.d.ts +168 -0
  107. package/dist/types/utils/embed-query.d.ts +20 -0
  108. package/dist/types/utils/logger.d.ts +50 -0
  109. package/dist/types/utils/rate-limiter.d.ts +66 -0
  110. package/dist/types/utils/retry.d.ts +27 -0
  111. package/dist/types/utils/run-abort.d.ts +34 -0
  112. package/dist/types/utils/secure-logging.d.ts +51 -0
  113. package/dist/types/utils/structured-logger.d.ts +126 -0
  114. package/package.json +72 -33
  115. package/src/adapters/ai-sdk.js +215 -0
  116. package/src/agentic/agentic-pipeline.js +75 -7
  117. package/src/agentic/iterative-retriever.js +47 -10
  118. package/src/agentic/query-planner.js +329 -78
  119. package/src/cache/component-keys.js +38 -0
  120. package/src/cache/memory-cache.js +87 -0
  121. package/src/cache/pipeline-cache.js +260 -0
  122. package/src/cache/redis-cache.js +83 -0
  123. package/src/citation/citation-tracker.js +6 -4
  124. package/src/citation/hallucination-detector.js +2 -2
  125. package/src/citation/source-mapper.js +15 -28
  126. package/src/cli/commands/ai.js +106 -0
  127. package/src/cli/commands/plugin-hub/event-handlers.js +6 -0
  128. package/src/cli/commands/plugin-hub/hub-commands.js +0 -74
  129. package/src/cli/commands/plugin-hub/local-commands.js +143 -0
  130. package/src/cli/commands/plugin-hub.js +114 -49
  131. package/src/cli/diagnostics/config-checker.js +76 -63
  132. package/src/cli/diagnostics/environment-checker.js +62 -31
  133. package/src/cli/diagnostics/plugin-checker.js +36 -89
  134. package/src/cli/doctor-command.js +39 -5
  135. package/src/cli/enhanced-cli-commands.js +104 -233
  136. package/src/cli/handlers/ai-handler.js +364 -0
  137. package/src/cli/handlers/diagnostics-handler.js +78 -31
  138. package/src/cli/handlers/ingest-handler.js +28 -22
  139. package/src/cli/handlers/init-handler.js +148 -25
  140. package/src/cli/handlers/query-handler.js +203 -25
  141. package/src/cli/handlers/run-handler.js +16 -167
  142. package/src/cli/handlers/serve-handler.js +60 -0
  143. package/src/cli/services/bench-stats.js +54 -0
  144. package/src/cli/services/benchmark.js +161 -0
  145. package/src/cli/services/feedback.js +155 -0
  146. package/src/cli/services/instrument.js +83 -0
  147. package/src/cli/services/rag-service.js +361 -0
  148. package/src/cli/shared/cli-utils.js +24 -7
  149. package/src/cli/shared/config-context.js +21 -0
  150. package/src/cli/wizard/config-builder.js +81 -0
  151. package/src/cli/wizard/init-wizard.js +602 -0
  152. package/src/config/component-factory.js +125 -0
  153. package/src/config/enhanced-ragrc-schema.js +0 -2
  154. package/src/config/load-config.js +29 -10
  155. package/src/config/load-plugin-config.js +46 -2
  156. package/src/config/validate-schema.js +4 -1
  157. package/src/connectors/anthropic-connector.js +115 -57
  158. package/src/connectors/base-connector.js +74 -19
  159. package/src/connectors/cohere-connector.js +108 -34
  160. package/src/connectors/connector-utils.js +302 -0
  161. package/src/connectors/local-embedder.js +63 -5
  162. package/src/connectors/memory-retriever.js +125 -14
  163. package/src/connectors/ollama-connector.js +112 -51
  164. package/src/connectors/openai-connector.js +153 -44
  165. package/src/connectors/rag-prompt.js +88 -0
  166. package/src/core/create-pipeline.js +307 -61
  167. package/src/core/performance/parallel-processor.js +62 -1
  168. package/src/core/plugin-registry.js +125 -26
  169. package/src/core/stage-contracts.js +36 -0
  170. package/src/core/validate-plugin.js +85 -0
  171. package/src/cost/cost-calculator.js +205 -32
  172. package/src/debug/execution-tracer.js +14 -4
  173. package/src/dev/dev-server.js +173 -11
  174. package/src/dev/hot-reload.js +44 -4
  175. package/src/ecosystem/plugin-checks.js +181 -0
  176. package/src/ecosystem/plugin-hub.js +50 -125
  177. package/src/ecosystem/plugin-installer.js +298 -0
  178. package/src/ecosystem/plugin-probe.js +127 -0
  179. package/src/ecosystem/plugin-scanner.js +185 -0
  180. package/src/ecosystem/tar-extract.js +114 -0
  181. package/src/enterprise/audit-logging.js +158 -29
  182. package/src/enterprise/sso-integration.js +716 -228
  183. package/src/evaluate/context-metrics.js +28 -16
  184. package/src/evaluate/evaluator.js +3 -3
  185. package/src/evaluate/faithfulness.js +18 -14
  186. package/src/evaluate/groundedness.js +43 -12
  187. package/src/evaluate/pipeline-evaluator.js +35 -8
  188. package/src/evaluate/scoring.js +251 -3
  189. package/src/evaluate/semantic-similarity.js +79 -0
  190. package/src/experimental.js +71 -0
  191. package/src/grounding/check-answer.js +173 -0
  192. package/src/guardrails/guardrails-pipeline.js +69 -7
  193. package/src/guardrails/injection-detector.js +283 -0
  194. package/src/guardrails/post-generation-guard.js +19 -0
  195. package/src/guardrails/pre-retrieval-guard.js +36 -36
  196. package/src/guardrails/retrieval-guard.js +58 -8
  197. package/src/index.js +58 -1
  198. package/src/loader/csv-loader.js +3 -2
  199. package/src/loader/document-reader.js +91 -0
  200. package/src/loader/html-loader.js +3 -1
  201. package/src/loader/markdown-loader.js +3 -2
  202. package/src/reranker/cascade-reranker.js +3 -0
  203. package/src/reranker/embedding-reranker.js +136 -21
  204. package/src/reranker/llm-reranker.js +79 -12
  205. package/src/reranker/scoring-reranker.js +3 -0
  206. package/src/retrieval/bm25-search.js +12 -6
  207. package/src/retrieval/file-vector-store.js +241 -0
  208. package/src/retrieval/hybrid-retriever.js +22 -19
  209. package/src/security/jwt-config.js +13 -2
  210. package/src/security/jwt-validator.js +139 -34
  211. package/src/security/plugin-sandbox.js +18 -1
  212. package/src/security/plugin-signature-verifier.js +245 -70
  213. package/src/testing.js +254 -0
  214. package/src/utils/deprecate.js +69 -0
  215. package/src/utils/embed-query.js +33 -0
  216. package/src/utils/input-sanitizer.js +19 -4
  217. package/src/utils/logger.js +34 -4
  218. package/src/utils/run-abort.js +102 -0
  219. package/src/ai/federated-learning.js +0 -211
  220. package/src/ai/federation.js +0 -71
  221. package/src/ai/index.js +0 -22
  222. package/src/ai/model-trainer.js +0 -217
  223. package/src/ai/model-training.js +0 -202
  224. package/src/ai/multimodal/multi-modal-processor.js +0 -345
  225. package/src/ai/orchestrator.js +0 -65
  226. package/src/ai/retrieval/adaptive-retrieval-engine.js +0 -398
  227. package/src/cli/commands/ai-ml/adaptive-commands.js +0 -178
  228. package/src/cli/commands/ai-ml/federated-commands.js +0 -207
  229. package/src/cli/commands/ai-ml/index.js +0 -17
  230. package/src/cli/commands/ai-ml/multimodal-commands.js +0 -187
  231. package/src/cli/commands/ai-ml/shared.js +0 -51
  232. package/src/cli/commands/ai-ml/training-commands.js +0 -228
  233. package/src/cli/commands/ai-ml.js +0 -386
  234. package/src/cli/commands/docs.js +0 -228
  235. package/src/cli/commands/dx.js +0 -538
  236. package/src/cli/commands/wizard.js +0 -627
  237. package/src/cli/input-sanitization-middleware.js +0 -356
  238. package/src/cli/interactive-wizard.js +0 -373
  239. package/src/cli/templates/development.template.json +0 -64
  240. package/src/cli/templates/minimal.template.json +0 -33
  241. package/src/cli/templates/production.template.json +0 -104
  242. package/src/cli/templates/testing.template.json +0 -45
  243. package/src/cli/wizard/configuration.js +0 -148
  244. package/src/cli/wizard/observability.js +0 -79
  245. package/src/cli/wizard/performance.js +0 -76
  246. package/src/cli/wizard/plugin-selection.js +0 -297
  247. package/src/cli/wizard/preview-save.js +0 -172
  248. package/src/cli/wizard/project-setup.js +0 -66
  249. package/src/core/pipeline-factory.js +0 -59
  250. package/src/dag/enhanced-dag-engine.js +0 -894
  251. package/src/dx/index.js +0 -40
  252. package/src/dx/integration-templates.js +0 -662
  253. package/src/dx/performance-profiler.js +0 -968
  254. package/src/dx/realtime-debugger.js +0 -755
  255. package/src/dx/visual-pipeline-builder.js +0 -578
  256. package/src/ingest.js +0 -59
  257. package/src/pipeline/pipeline.js +0 -18
  258. package/src/query.js +0 -117
@@ -0,0 +1,203 @@
1
+ export class DataGovernanceManager extends EventEmitter<[never]> {
2
+ constructor(_options?: {});
3
+ _config: {
4
+ policies: {
5
+ dataRetention: {
6
+ defaultRetentionDays: number;
7
+ piiRetentionDays: number;
8
+ logRetentionDays: number;
9
+ backupRetentionDays: number;
10
+ };
11
+ dataClassification: {
12
+ levels: string[];
13
+ autoClassify: boolean;
14
+ requireManualReview: boolean;
15
+ };
16
+ privacy: {
17
+ piiDetection: boolean;
18
+ dataMinimization: boolean;
19
+ consentTracking: boolean;
20
+ rightToErasure: boolean;
21
+ dataPortability: boolean;
22
+ };
23
+ };
24
+ compliance: {
25
+ standards: string[];
26
+ autoReporting: boolean;
27
+ breachNotification: boolean;
28
+ };
29
+ };
30
+ classificationEngine: DataClassificationEngine;
31
+ piiDetector: PIIDetector;
32
+ lineageTracker: DataLineageTracker;
33
+ retentionManager: DataRetentionManager;
34
+ privacyManager: PrivacyManager;
35
+ /**
36
+ * Classify and govern data
37
+ */
38
+ governData(_tenantId: any, _data: any, _context?: {}): Promise<{
39
+ dataId: `${string}-${string}-${string}-${string}-${string}`;
40
+ _tenantId: any;
41
+ timestamp: string;
42
+ classification: any;
43
+ piiDetected: boolean;
44
+ lineage: any;
45
+ retentionPolicy: any;
46
+ privacyControls: any[];
47
+ complianceStatus: string;
48
+ }>;
49
+ /**
50
+ * Handle privacy requests (GDPR Article 17, CCPA)
51
+ */
52
+ handlePrivacyRequest(_tenantId: any, _request: any): Promise<{
53
+ id: `${string}-${string}-${string}-${string}-${string}`;
54
+ _tenantId: any;
55
+ type: any;
56
+ subjectId: any;
57
+ subjectEmail: any;
58
+ status: string;
59
+ requestedAt: string;
60
+ deadline: string;
61
+ metadata: any;
62
+ }>;
63
+ /**
64
+ * Generate data governance report
65
+ */
66
+ generateGovernanceReport(_tenantId: any, _options?: {}): Promise<{
67
+ _tenantId: any;
68
+ period: {
69
+ startDate: any;
70
+ endDate: any;
71
+ };
72
+ generatedAt: string;
73
+ summary: {
74
+ totalDataAssets: number;
75
+ classifiedAssets: number;
76
+ piiAssets: number;
77
+ retentionPoliciesApplied: number;
78
+ privacyRequests: number;
79
+ complianceViolations: number;
80
+ };
81
+ classification: {
82
+ PUBLIC: number;
83
+ INTERNAL: number;
84
+ CONFIDENTIAL: number;
85
+ RESTRICTED: number;
86
+ };
87
+ piiTypes: {};
88
+ retentionStatus: {};
89
+ complianceStatus: {
90
+ GDPR: string;
91
+ CCPA: string;
92
+ HIPAA: string;
93
+ };
94
+ }>;
95
+ _checkCompliance(governanceResult: any): Promise<"compliant" | "non_compliant">;
96
+ _handleDataAccess(_tenantId: any, _request: any): Promise<{
97
+ dataFound: boolean;
98
+ records: ({
99
+ _type: string;
100
+ _data: {
101
+ email: any;
102
+ name: string;
103
+ lastLogin?: undefined;
104
+ };
105
+ } | {
106
+ _type: string;
107
+ _data: {
108
+ lastLogin: string;
109
+ email?: undefined;
110
+ name?: undefined;
111
+ };
112
+ })[];
113
+ }>;
114
+ _handleDataErasure(_tenantId: any, _request: any): Promise<{
115
+ recordsDeleted: number;
116
+ backupsScheduledForDeletion: number;
117
+ retentionOverrides: any[];
118
+ }>;
119
+ _handleDataPortability(_tenantId: any, _request: any): Promise<{
120
+ exportFormat: string;
121
+ exportSize: string;
122
+ downloadUrl: string;
123
+ expiresAt: string;
124
+ }>;
125
+ _handleDataRectification(_tenantId: any, _request: any): Promise<{
126
+ recordsUpdated: number;
127
+ fieldsModified: any;
128
+ }>;
129
+ }
130
+ export class DataClassificationEngine {
131
+ constructor(_config: any);
132
+ _config: any;
133
+ classify(_data: any, _context: any): Promise<{
134
+ level: string;
135
+ confidence: number;
136
+ reasoning: string;
137
+ reviewRequired: boolean;
138
+ }>;
139
+ }
140
+ export class PIIDetector {
141
+ constructor(_config: any);
142
+ _config: any;
143
+ patterns: {
144
+ email: RegExp;
145
+ ssn: RegExp;
146
+ phone: RegExp;
147
+ creditCard: RegExp;
148
+ };
149
+ scan(_data: any): Promise<{
150
+ detected: boolean;
151
+ types: {
152
+ _type: string;
153
+ count: number;
154
+ samples: string[];
155
+ }[];
156
+ confidence: number;
157
+ }>;
158
+ }
159
+ export class DataLineageTracker {
160
+ constructor(_config: any);
161
+ _config: any;
162
+ track(_data: any, _context: any): Promise<{
163
+ source: any;
164
+ transformations: any;
165
+ destinations: any;
166
+ timestamp: string;
167
+ version: string;
168
+ }>;
169
+ }
170
+ export class DataRetentionManager {
171
+ constructor(_config: any);
172
+ _config: any;
173
+ applyPolicy(classificationLevel: any, hasPII: any): Promise<{
174
+ retentionDays: any;
175
+ deleteAfter: string;
176
+ policy: string;
177
+ autoDelete: boolean;
178
+ }>;
179
+ }
180
+ export class PrivacyManager {
181
+ constructor(_config: any);
182
+ _config: any;
183
+ applyControls(_data: any, piiResults: any, _context: any): Promise<({
184
+ _type: string;
185
+ applied: boolean;
186
+ algorithm: string;
187
+ permissions?: undefined;
188
+ level?: undefined;
189
+ } | {
190
+ _type: string;
191
+ applied: boolean;
192
+ permissions: string[];
193
+ algorithm?: undefined;
194
+ level?: undefined;
195
+ } | {
196
+ _type: string;
197
+ applied: boolean;
198
+ level: string;
199
+ algorithm?: undefined;
200
+ permissions?: undefined;
201
+ })[]>;
202
+ }
203
+ import { EventEmitter } from "events";
@@ -0,0 +1,137 @@
1
+ export class TenantManager extends EventEmitter<[never]> {
2
+ constructor(_options?: {});
3
+ _config: {
4
+ dataDir: any;
5
+ defaultQuotas: {
6
+ maxUsers: number;
7
+ maxWorkspaces: number;
8
+ maxStorageGB: number;
9
+ maxAPICallsPerMonth: number;
10
+ maxConcurrentPipelines: number;
11
+ maxPlugins: number;
12
+ };
13
+ isolation: {
14
+ networkIsolation: boolean;
15
+ storageIsolation: boolean;
16
+ resourceIsolation: boolean;
17
+ };
18
+ };
19
+ tenants: Map<any, any>;
20
+ workspaces: Map<any, any>;
21
+ resourceMonitor: ResourceMonitor;
22
+ /**
23
+ * Create a new tenant with isolated resources
24
+ */
25
+ createTenant(tenantData: any): Promise<{
26
+ id: `${string}-${string}-${string}-${string}-${string}`;
27
+ name: any;
28
+ domain: any;
29
+ plan: any;
30
+ quotas: any;
31
+ settings: any;
32
+ metadata: {
33
+ createdAt: string;
34
+ createdBy: any;
35
+ status: string;
36
+ lastActivity: string;
37
+ };
38
+ isolation: {
39
+ dataPath: string;
40
+ networkNamespace: string;
41
+ resourceLimits: any;
42
+ };
43
+ }>;
44
+ /**
45
+ * Create isolated workspace within a tenant
46
+ */
47
+ createWorkspace(_tenantId: any, workspaceData: any): Promise<{
48
+ id: `${string}-${string}-${string}-${string}-${string}`;
49
+ _tenantId: any;
50
+ name: any;
51
+ description: any;
52
+ settings: any;
53
+ resources: {
54
+ storageUsedMB: number;
55
+ apiCallsThisMonth: number;
56
+ activePipelines: number;
57
+ installedPlugins: number;
58
+ };
59
+ isolation: {
60
+ dataPath: string;
61
+ configPath: string;
62
+ pluginsPath: string;
63
+ };
64
+ metadata: {
65
+ createdAt: string;
66
+ createdBy: any;
67
+ lastActivity: string;
68
+ version: string;
69
+ };
70
+ }>;
71
+ /**
72
+ * Get tenant with resource usage
73
+ */
74
+ getTenant(_tenantId: any): Promise<any>;
75
+ /**
76
+ * List workspaces for a tenant
77
+ */
78
+ getWorkspaces(_tenantId: any, _options?: {}): Promise<any[]>;
79
+ /**
80
+ * Update tenant quotas
81
+ */
82
+ updateTenantQuotas(_tenantId: any, newQuotas: any): Promise<any>;
83
+ /**
84
+ * Enforce resource quotas
85
+ */
86
+ enforceQuotas(_tenantId: any, operation: any, resourceType: any, amount: any): Promise<boolean>;
87
+ /**
88
+ * Delete tenant and all associated data
89
+ */
90
+ deleteTenant(_tenantId: any, _options?: {}): Promise<{
91
+ deleted: boolean;
92
+ hardDelete: boolean;
93
+ }>;
94
+ /**
95
+ * Delete workspace
96
+ */
97
+ deleteWorkspace(_workspaceId: any, _options?: {}): Promise<{
98
+ deleted: boolean;
99
+ hardDelete: boolean;
100
+ }>;
101
+ _createTenantInfrastructure(tenant: any): Promise<void>;
102
+ _createWorkspaceInfrastructure(workspace: any): Promise<void>;
103
+ _initializeTenantServices(tenant: any): Promise<void>;
104
+ _calculateResourceLimits(plan: any): any;
105
+ _calculateQuotaUtilization(quotas: any, usage: any): {
106
+ users: number;
107
+ workspaces: number;
108
+ storage: number;
109
+ apiCalls: number;
110
+ pipelines: number;
111
+ plugins: number;
112
+ };
113
+ _persistTenant(tenant: any): Promise<void>;
114
+ _persistWorkspace(workspace: any): Promise<void>;
115
+ }
116
+ export class ResourceMonitor {
117
+ constructor(_config: any);
118
+ _config: any;
119
+ metrics: Map<any, any>;
120
+ getTenantUsage(_tenantId: any): Promise<{
121
+ activeUsers: number;
122
+ workspaces: number;
123
+ storageUsedGB: number;
124
+ apiCallsThisMonth: number;
125
+ activePipelines: number;
126
+ installedPlugins: number;
127
+ lastUpdated: string;
128
+ }>;
129
+ getWorkspaceUsage(_workspaceId: any): Promise<{
130
+ storageUsedMB: number;
131
+ apiCallsThisMonth: number;
132
+ activePipelines: number;
133
+ installedPlugins: number;
134
+ lastActivity: string;
135
+ }>;
136
+ }
137
+ import { EventEmitter } from "events";