@siemens/ix-mcp-angular 3.2.0-v.1.7.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 (45) hide show
  1. package/LICENSE.md +20 -0
  2. package/README.md +330 -0
  3. package/config.json +48 -0
  4. package/database/vectors.db +0 -0
  5. package/dist/src/cli.d.ts +3 -0
  6. package/dist/src/cli.d.ts.map +1 -0
  7. package/dist/src/cli.js +298 -0
  8. package/dist/src/cli.js.map +1 -0
  9. package/dist/src/config.d.ts +34 -0
  10. package/dist/src/config.d.ts.map +1 -0
  11. package/dist/src/config.js +33 -0
  12. package/dist/src/config.js.map +1 -0
  13. package/dist/src/db-handler.d.ts +47 -0
  14. package/dist/src/db-handler.d.ts.map +1 -0
  15. package/dist/src/db-handler.js +143 -0
  16. package/dist/src/db-handler.js.map +1 -0
  17. package/dist/src/embeddings.d.ts +84 -0
  18. package/dist/src/embeddings.d.ts.map +1 -0
  19. package/dist/src/embeddings.js +300 -0
  20. package/dist/src/embeddings.js.map +1 -0
  21. package/dist/src/index.d.ts +24 -0
  22. package/dist/src/index.d.ts.map +1 -0
  23. package/dist/src/index.js +342 -0
  24. package/dist/src/index.js.map +1 -0
  25. package/dist/src/keys.d.ts +4 -0
  26. package/dist/src/keys.d.ts.map +1 -0
  27. package/dist/src/keys.js +25 -0
  28. package/dist/src/keys.js.map +1 -0
  29. package/dist/src/logger.d.ts +24 -0
  30. package/dist/src/logger.d.ts.map +1 -0
  31. package/dist/src/logger.js +185 -0
  32. package/dist/src/logger.js.map +1 -0
  33. package/dist/src/prompt.d.ts +19 -0
  34. package/dist/src/prompt.d.ts.map +1 -0
  35. package/dist/src/prompt.js +94 -0
  36. package/dist/src/prompt.js.map +1 -0
  37. package/dist/src/setup.d.ts +26 -0
  38. package/dist/src/setup.d.ts.map +1 -0
  39. package/dist/src/setup.js +718 -0
  40. package/dist/src/setup.js.map +1 -0
  41. package/dist/src/token.d.ts +22 -0
  42. package/dist/src/token.d.ts.map +1 -0
  43. package/dist/src/token.js +75 -0
  44. package/dist/src/token.js.map +1 -0
  45. package/package.json +56 -0
@@ -0,0 +1,84 @@
1
+ export declare class EmbeddingService {
2
+ private embeddingCache;
3
+ private persistentCachePath;
4
+ private persistentCache;
5
+ private verbose;
6
+ private debug;
7
+ constructor(options?: {
8
+ verbose?: boolean;
9
+ debug?: boolean;
10
+ persistentCachePath?: string;
11
+ });
12
+ /**
13
+ * Get embeddings for multiple texts in a single batch request
14
+ * @param texts Array of texts to get embeddings for
15
+ * @param retryCount Current retry attempt
16
+ * @returns Array of embedding vectors
17
+ */
18
+ getEmbeddingsBatch(texts: string[], retryCount?: number): Promise<number[][]>;
19
+ /**
20
+ * Get embedding for a single text
21
+ * @param text The text to get embedding for
22
+ * @param retryCount Current retry attempt
23
+ * @returns The embedding vector
24
+ */
25
+ getEmbedding(text: string, retryCount?: number): Promise<number[]>;
26
+ /**
27
+ * Normalize a vector to unit length
28
+ * @param vector The vector to normalize
29
+ * @returns The normalized vector
30
+ */
31
+ normalizeVector(vector: number[]): number[];
32
+ /**
33
+ * Calculate cosine similarity between two vectors
34
+ * @param vecA First vector
35
+ * @param vecB Second vector
36
+ * @returns Cosine similarity score
37
+ */
38
+ cosineSimilarity(vecA: number[], vecB: number[]): number;
39
+ /**
40
+ * Clear the embedding cache
41
+ */
42
+ clearEmbeddingCache(): void;
43
+ /**
44
+ * Clear both in-memory and persistent caches
45
+ */
46
+ clearAllCaches(): void;
47
+ /**
48
+ * Get cached embedding for a text without generating a new one
49
+ * @param text Text to check in cache
50
+ * @returns Cached embedding or undefined if not in cache
51
+ */
52
+ getCachedEmbedding(text: string): number[] | undefined;
53
+ /**
54
+ * Get cache size
55
+ * @returns Number of cached embeddings
56
+ */
57
+ getCacheSize(): number;
58
+ /**
59
+ * Get total cache size including persistent cache
60
+ */
61
+ getTotalCacheSize(): number;
62
+ /**
63
+ * Get cache statistics
64
+ */
65
+ getCacheStats(): {
66
+ memorySize: number;
67
+ persistentSize: number;
68
+ totalSize: number;
69
+ cacheEnabled: boolean;
70
+ };
71
+ /**
72
+ * Load persistent cache from file
73
+ */
74
+ private loadPersistentCache;
75
+ /**
76
+ * Save persistent cache to file
77
+ */
78
+ private savePersistentCache;
79
+ /**
80
+ * Create a hash of the text content for cache validation
81
+ */
82
+ private hashText;
83
+ }
84
+ //# sourceMappingURL=embeddings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../../src/mcp/embeddings.ts"],"names":[],"mappings":"AA0BA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,KAAK,CAAkB;gBAEnB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE;IAY1F;;;;;OAKG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,UAAU,SAAI,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IA0I9E;;;;;OAKG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAKnE;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;IAK3C;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM;IAkBxD;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAI3B;;OAEG;IACH,cAAc,IAAI,IAAI;IAQtB;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS;IAoBtD;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,aAAa,IAAI;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC;KACvB;IASD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;OAEG;IACH,OAAO,CAAC,QAAQ;CAGjB"}
@@ -0,0 +1,300 @@
1
+ /**
2
+ * Copyright (c) Siemens 2016 - 2025
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+ import fetch from 'node-fetch';
6
+ import * as fs from 'fs';
7
+ import * as path from 'path';
8
+ import * as crypto from 'crypto';
9
+ import { getToken } from './token.js';
10
+ export class EmbeddingService {
11
+ embeddingCache = new Map();
12
+ persistentCachePath = undefined;
13
+ persistentCache = {};
14
+ verbose = false;
15
+ debug = false;
16
+ constructor(options) {
17
+ this.verbose = options?.verbose || false;
18
+ this.debug = options?.debug || false;
19
+ // Enable persistent caching when cache path is provided via options or environment
20
+ const envCachePath = process.env.EMBEDDING_CACHE_PATH;
21
+ if (options?.persistentCachePath || envCachePath) {
22
+ this.persistentCachePath = options?.persistentCachePath || envCachePath || undefined;
23
+ this.loadPersistentCache();
24
+ }
25
+ }
26
+ /**
27
+ * Get embeddings for multiple texts in a single batch request
28
+ * @param texts Array of texts to get embeddings for
29
+ * @param retryCount Current retry attempt
30
+ * @returns Array of embedding vectors
31
+ */
32
+ async getEmbeddingsBatch(texts, retryCount = 0) {
33
+ const maxRetries = 5;
34
+ const baseDelay = 5000; // 5 seconds
35
+ let memoryHits = 0;
36
+ let persistentHits = 0;
37
+ // Check in-memory cache first, then persistent cache
38
+ const results = texts.map(text => {
39
+ if (this.embeddingCache.has(text)) {
40
+ memoryHits++;
41
+ return this.embeddingCache.get(text) || undefined;
42
+ }
43
+ // Check persistent cache if available
44
+ if (this.persistentCachePath) {
45
+ const hash = this.hashText(text);
46
+ const cached = this.persistentCache[text];
47
+ if (cached && cached.hash === hash) {
48
+ persistentHits++;
49
+ // Move to in-memory cache for faster subsequent access
50
+ this.embeddingCache.set(text, cached.embedding);
51
+ return cached.embedding;
52
+ }
53
+ }
54
+ return undefined;
55
+ });
56
+ // Find indices of texts that need embeddings
57
+ const uncachedIndices = [];
58
+ const uncachedTexts = [];
59
+ for (let i = 0; i < texts.length; i++) {
60
+ if (results[i] === undefined) {
61
+ uncachedIndices.push(i);
62
+ uncachedTexts.push(texts[i]);
63
+ }
64
+ }
65
+ // If all are cached, return cached results
66
+ if (uncachedTexts.length === 0) {
67
+ if (this.verbose || this.debug) {
68
+ console.log(`Cache hit: ${memoryHits} memory, ${persistentHits} persistent, 0 API calls for ${texts.length} texts`);
69
+ }
70
+ return results;
71
+ }
72
+ if (this.verbose || this.debug) {
73
+ console.log(`Cache stats: ${memoryHits} memory hits, ${persistentHits} persistent hits, ${uncachedTexts.length} API calls needed for ${texts.length} total texts`);
74
+ }
75
+ const token = await getToken();
76
+ try {
77
+ const response = await fetch('https://api.siemens.com/llm/v1/embeddings', {
78
+ method: 'POST',
79
+ headers: {
80
+ 'Content-Type': 'application/json',
81
+ Authorization: `Bearer ${token}`
82
+ },
83
+ body: JSON.stringify({
84
+ model: 'bge-m3',
85
+ input: uncachedTexts
86
+ })
87
+ });
88
+ if (response.status === 429) {
89
+ // Rate limited - wait and retry
90
+ if (retryCount < maxRetries) {
91
+ const delay = baseDelay * Math.pow(2, retryCount) + Math.random() * 1000; // Exponential backoff with jitter
92
+ if (this.verbose || this.debug) {
93
+ console.log(`Rate limited. Waiting ${Math.round(delay)}ms before retry ${retryCount + 1}/${maxRetries}...`);
94
+ }
95
+ await new Promise(resolve => setTimeout(resolve, delay));
96
+ return this.getEmbeddingsBatch(texts, retryCount + 1);
97
+ }
98
+ else {
99
+ throw new Error(`Rate limit exceeded after ${maxRetries} retries`);
100
+ }
101
+ }
102
+ if (!response.ok) {
103
+ throw new Error(`Embedding API error: ${response.status} ${response.statusText}`);
104
+ }
105
+ const data = (await response.json());
106
+ // Process and cache new embeddings
107
+ for (let i = 0; i < uncachedTexts.length; i++) {
108
+ const embedding = data.data[i].embedding;
109
+ const normalizedEmbedding = this.normalizeVector(embedding);
110
+ // Cache the result in memory
111
+ this.embeddingCache.set(uncachedTexts[i], normalizedEmbedding);
112
+ // Cache in persistent storage if available
113
+ if (this.persistentCachePath) {
114
+ const hash = this.hashText(uncachedTexts[i]);
115
+ this.persistentCache[uncachedTexts[i]] = {
116
+ embedding: normalizedEmbedding,
117
+ hash,
118
+ timestamp: Date.now()
119
+ };
120
+ }
121
+ // Update results array
122
+ const originalIndex = uncachedIndices[i];
123
+ results[originalIndex] = normalizedEmbedding;
124
+ }
125
+ // Save persistent cache after successful batch
126
+ if (this.persistentCachePath && uncachedTexts.length > 0) {
127
+ this.savePersistentCache();
128
+ }
129
+ // Add small delay between successful requests to avoid hitting rate limits
130
+ if (retryCount === 0) {
131
+ await new Promise(resolve => setTimeout(resolve, 200));
132
+ }
133
+ return results;
134
+ }
135
+ catch (error) {
136
+ if (error instanceof Error && error.message.includes('Rate limit') && retryCount < maxRetries) {
137
+ const delay = baseDelay * Math.pow(2, retryCount) + Math.random() * 1000;
138
+ if (this.verbose || this.debug) {
139
+ console.log(`Error occurred. Waiting ${Math.round(delay)}ms before retry ${retryCount + 1}/${maxRetries}...`);
140
+ }
141
+ await new Promise(resolve => setTimeout(resolve, delay));
142
+ return this.getEmbeddingsBatch(texts, retryCount + 1);
143
+ }
144
+ throw error;
145
+ }
146
+ }
147
+ /**
148
+ * Get embedding for a single text
149
+ * @param text The text to get embedding for
150
+ * @param retryCount Current retry attempt
151
+ * @returns The embedding vector
152
+ */
153
+ async getEmbedding(text, retryCount = 0) {
154
+ const results = await this.getEmbeddingsBatch([text], retryCount);
155
+ return results[0];
156
+ }
157
+ /**
158
+ * Normalize a vector to unit length
159
+ * @param vector The vector to normalize
160
+ * @returns The normalized vector
161
+ */
162
+ normalizeVector(vector) {
163
+ const magnitude = Math.sqrt(vector.reduce((sum, val) => sum + val * val, 0));
164
+ return vector.map(val => val / magnitude);
165
+ }
166
+ /**
167
+ * Calculate cosine similarity between two vectors
168
+ * @param vecA First vector
169
+ * @param vecB Second vector
170
+ * @returns Cosine similarity score
171
+ */
172
+ cosineSimilarity(vecA, vecB) {
173
+ if (vecA.length !== vecB.length) {
174
+ throw new Error('Vectors must have the same length');
175
+ }
176
+ let dotProduct = 0;
177
+ let normA = 0;
178
+ let normB = 0;
179
+ for (let i = 0; i < vecA.length; i++) {
180
+ dotProduct += vecA[i] * vecB[i];
181
+ normA += vecA[i] * vecA[i];
182
+ normB += vecB[i] * vecB[i];
183
+ }
184
+ return dotProduct / (Math.sqrt(normA) * Math.sqrt(normB));
185
+ }
186
+ /**
187
+ * Clear the embedding cache
188
+ */
189
+ clearEmbeddingCache() {
190
+ this.embeddingCache.clear();
191
+ }
192
+ /**
193
+ * Clear both in-memory and persistent caches
194
+ */
195
+ clearAllCaches() {
196
+ this.embeddingCache.clear();
197
+ this.persistentCache = {};
198
+ if (this.persistentCachePath && fs.existsSync(this.persistentCachePath)) {
199
+ fs.unlinkSync(this.persistentCachePath);
200
+ }
201
+ }
202
+ /**
203
+ * Get cached embedding for a text without generating a new one
204
+ * @param text Text to check in cache
205
+ * @returns Cached embedding or undefined if not in cache
206
+ */
207
+ getCachedEmbedding(text) {
208
+ // Check in-memory cache first
209
+ if (this.embeddingCache.has(text)) {
210
+ return this.embeddingCache.get(text);
211
+ }
212
+ // Check persistent cache if available
213
+ if (this.persistentCachePath) {
214
+ const hash = this.hashText(text);
215
+ const cached = this.persistentCache[text];
216
+ if (cached && cached.hash === hash) {
217
+ // Move to in-memory cache for faster subsequent access
218
+ this.embeddingCache.set(text, cached.embedding);
219
+ return cached.embedding;
220
+ }
221
+ }
222
+ return undefined;
223
+ }
224
+ /**
225
+ * Get cache size
226
+ * @returns Number of cached embeddings
227
+ */
228
+ getCacheSize() {
229
+ return this.embeddingCache.size;
230
+ }
231
+ /**
232
+ * Get total cache size including persistent cache
233
+ */
234
+ getTotalCacheSize() {
235
+ return this.embeddingCache.size + Object.keys(this.persistentCache).length;
236
+ }
237
+ /**
238
+ * Get cache statistics
239
+ */
240
+ getCacheStats() {
241
+ return {
242
+ memorySize: this.embeddingCache.size,
243
+ persistentSize: Object.keys(this.persistentCache).length,
244
+ totalSize: this.getTotalCacheSize(),
245
+ cacheEnabled: this.persistentCachePath !== undefined
246
+ };
247
+ }
248
+ /**
249
+ * Load persistent cache from file
250
+ */
251
+ loadPersistentCache() {
252
+ if (!this.persistentCachePath)
253
+ return;
254
+ try {
255
+ // Ensure cache directory exists
256
+ const cacheDir = path.dirname(this.persistentCachePath);
257
+ if (!fs.existsSync(cacheDir)) {
258
+ fs.mkdirSync(cacheDir, { recursive: true });
259
+ }
260
+ if (fs.existsSync(this.persistentCachePath)) {
261
+ const data = fs.readFileSync(this.persistentCachePath, 'utf8');
262
+ this.persistentCache = JSON.parse(data);
263
+ if (this.verbose || this.debug) {
264
+ console.log(`✓ Loaded ${Object.keys(this.persistentCache).length} cached embeddings from ${this.persistentCachePath}`);
265
+ }
266
+ }
267
+ }
268
+ catch (error) {
269
+ console.warn(`Failed to load persistent cache: ${error}`);
270
+ this.persistentCache = {};
271
+ }
272
+ }
273
+ /**
274
+ * Save persistent cache to file
275
+ */
276
+ savePersistentCache() {
277
+ if (!this.persistentCachePath)
278
+ return;
279
+ try {
280
+ const cacheDir = path.dirname(this.persistentCachePath);
281
+ if (!fs.existsSync(cacheDir)) {
282
+ fs.mkdirSync(cacheDir, { recursive: true });
283
+ }
284
+ fs.writeFileSync(this.persistentCachePath, JSON.stringify(this.persistentCache, null, 2));
285
+ if (this.verbose || this.debug) {
286
+ console.log(`✓ Saved ${Object.keys(this.persistentCache).length} cached embeddings to ${this.persistentCachePath}`);
287
+ }
288
+ }
289
+ catch (error) {
290
+ console.warn(`Failed to save persistent cache: ${error}`);
291
+ }
292
+ }
293
+ /**
294
+ * Create a hash of the text content for cache validation
295
+ */
296
+ hashText(text) {
297
+ return crypto.createHash('sha256').update(text).digest('hex');
298
+ }
299
+ }
300
+ //# sourceMappingURL=embeddings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../../src/mcp/embeddings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/env node
2
+ declare class SDLMCPServer {
3
+ private server;
4
+ private db;
5
+ private initialized;
6
+ private embeddingService;
7
+ private verbose;
8
+ private debug;
9
+ private logger;
10
+ constructor(options?: {
11
+ verbose?: boolean;
12
+ debug?: boolean;
13
+ overrideLogging?: boolean;
14
+ });
15
+ private initialize;
16
+ private setupToolHandlers;
17
+ private performSearch;
18
+ private formatSearchResults;
19
+ private log;
20
+ run(): Promise<void>;
21
+ close(): void;
22
+ }
23
+ export { SDLMCPServer };
24
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mcp/index.ts"],"names":[],"mappings":";AAwLA,cAAM,YAAY;IAChB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,KAAK,CAAkB;IAC/B,OAAO,CAAC,MAAM,CAAsB;gBAExB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE;YA0BzE,UAAU;IAWxB,OAAO,CAAC,iBAAiB;YA6DX,aAAa;IAqC3B,OAAO,CAAC,mBAAmB;IAyB3B,OAAO,CAAC,GAAG;IAML,GAAG;IAUT,KAAK;CAMN;AA2CD,OAAO,EAAE,YAAY,EAAE,CAAC"}