@bhushanpawar/sqldb 1.0.6 → 1.0.8

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 (172) hide show
  1. package/dist/cache/cache-manager.d.ts +18 -1
  2. package/dist/cache/cache-manager.d.ts.map +1 -1
  3. package/dist/cache/cache-manager.js +76 -2
  4. package/dist/cache/cache-manager.js.map +1 -1
  5. package/dist/cli/index.js +0 -0
  6. package/dist/client.d.ts +55 -0
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +127 -1
  9. package/dist/client.js.map +1 -1
  10. package/dist/connection/mariadb.d.ts +15 -0
  11. package/dist/connection/mariadb.d.ts.map +1 -1
  12. package/dist/connection/mariadb.js +25 -0
  13. package/dist/connection/mariadb.js.map +1 -1
  14. package/dist/discovery/relationship-parser.d.ts.map +1 -1
  15. package/dist/discovery/relationship-parser.js +8 -1
  16. package/dist/discovery/relationship-parser.js.map +1 -1
  17. package/dist/discovery/schema-reader.d.ts +2 -0
  18. package/dist/discovery/schema-reader.d.ts.map +1 -1
  19. package/dist/discovery/schema-reader.js +91 -0
  20. package/dist/discovery/schema-reader.js.map +1 -1
  21. package/dist/index.d.ts +2 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +4 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/query/operations.d.ts +35 -1
  26. package/dist/query/operations.d.ts.map +1 -1
  27. package/dist/query/operations.js +307 -4
  28. package/dist/query/operations.js.map +1 -1
  29. package/dist/query/query-tracker.d.ts +30 -0
  30. package/dist/query/query-tracker.d.ts.map +1 -1
  31. package/dist/query/query-tracker.js +86 -1
  32. package/dist/query/query-tracker.js.map +1 -1
  33. package/dist/search/inverted-index-manager.d.ts +76 -0
  34. package/dist/search/inverted-index-manager.d.ts.map +1 -0
  35. package/dist/search/inverted-index-manager.js +371 -0
  36. package/dist/search/inverted-index-manager.js.map +1 -0
  37. package/dist/search/search-ranker.d.ts +91 -0
  38. package/dist/search/search-ranker.d.ts.map +1 -0
  39. package/dist/search/search-ranker.js +281 -0
  40. package/dist/search/search-ranker.js.map +1 -0
  41. package/dist/search/tokenizer.d.ts +80 -0
  42. package/dist/search/tokenizer.d.ts.map +1 -0
  43. package/dist/search/tokenizer.js +398 -0
  44. package/dist/search/tokenizer.js.map +1 -0
  45. package/dist/types/cache.d.ts +16 -0
  46. package/dist/types/cache.d.ts.map +1 -1
  47. package/dist/types/cache.js.map +1 -1
  48. package/dist/types/config.d.ts +10 -0
  49. package/dist/types/config.d.ts.map +1 -1
  50. package/dist/types/config.js +13 -1
  51. package/dist/types/config.js.map +1 -1
  52. package/dist/types/query.d.ts +4 -0
  53. package/dist/types/query.d.ts.map +1 -1
  54. package/dist/types/schema.d.ts +35 -0
  55. package/dist/types/schema.d.ts.map +1 -1
  56. package/dist/types/search.d.ts +223 -0
  57. package/dist/types/search.d.ts.map +1 -0
  58. package/dist/types/search.js +54 -0
  59. package/dist/types/search.js.map +1 -0
  60. package/dist/types/warming.d.ts +1 -1
  61. package/dist/types/warming.d.ts.map +1 -1
  62. package/dist/utils/case-converter.d.ts +38 -0
  63. package/dist/utils/case-converter.d.ts.map +1 -0
  64. package/dist/utils/case-converter.js +90 -0
  65. package/dist/utils/case-converter.js.map +1 -0
  66. package/dist/warming/auto-warming-manager.d.ts.map +1 -1
  67. package/dist/warming/auto-warming-manager.js +5 -0
  68. package/dist/warming/auto-warming-manager.js.map +1 -1
  69. package/dist/warming/query-stats-tracker.d.ts.map +1 -1
  70. package/dist/warming/query-stats-tracker.js +4 -0
  71. package/dist/warming/query-stats-tracker.js.map +1 -1
  72. package/package.json +7 -3
  73. package/dist/best-practice-example.d.ts +0 -35
  74. package/dist/best-practice-example.d.ts.map +0 -1
  75. package/dist/best-practice-example.js +0 -171
  76. package/dist/best-practice-example.js.map +0 -1
  77. package/dist/db-schema.d.ts +0 -413
  78. package/dist/db-schema.d.ts.map +0 -1
  79. package/dist/db-schema.js +0 -1149
  80. package/dist/db-schema.js.map +0 -1
  81. package/dist/demo-debug.d.ts +0 -2
  82. package/dist/demo-debug.d.ts.map +0 -1
  83. package/dist/demo-debug.js +0 -36
  84. package/dist/demo-debug.js.map +0 -1
  85. package/dist/smart-cache/cache/cache-key-builder.d.ts +0 -17
  86. package/dist/smart-cache/cache/cache-key-builder.d.ts.map +0 -1
  87. package/dist/smart-cache/cache/cache-key-builder.js +0 -100
  88. package/dist/smart-cache/cache/cache-key-builder.js.map +0 -1
  89. package/dist/smart-cache/cache/cache-manager.d.ts +0 -22
  90. package/dist/smart-cache/cache/cache-manager.d.ts.map +0 -1
  91. package/dist/smart-cache/cache/cache-manager.js +0 -124
  92. package/dist/smart-cache/cache/cache-manager.js.map +0 -1
  93. package/dist/smart-cache/cache/invalidation.d.ts +0 -15
  94. package/dist/smart-cache/cache/invalidation.d.ts.map +0 -1
  95. package/dist/smart-cache/cache/invalidation.js +0 -59
  96. package/dist/smart-cache/cache/invalidation.js.map +0 -1
  97. package/dist/smart-cache/client.d.ts +0 -36
  98. package/dist/smart-cache/client.d.ts.map +0 -1
  99. package/dist/smart-cache/client.js +0 -138
  100. package/dist/smart-cache/client.js.map +0 -1
  101. package/dist/smart-cache/connection/mariadb.d.ts +0 -14
  102. package/dist/smart-cache/connection/mariadb.d.ts.map +0 -1
  103. package/dist/smart-cache/connection/mariadb.js +0 -82
  104. package/dist/smart-cache/connection/mariadb.js.map +0 -1
  105. package/dist/smart-cache/connection/redis.d.ts +0 -20
  106. package/dist/smart-cache/connection/redis.d.ts.map +0 -1
  107. package/dist/smart-cache/connection/redis.js +0 -168
  108. package/dist/smart-cache/connection/redis.js.map +0 -1
  109. package/dist/smart-cache/discovery/dependency-graph.d.ts +0 -20
  110. package/dist/smart-cache/discovery/dependency-graph.d.ts.map +0 -1
  111. package/dist/smart-cache/discovery/dependency-graph.js +0 -89
  112. package/dist/smart-cache/discovery/dependency-graph.js.map +0 -1
  113. package/dist/smart-cache/discovery/relationship-parser.d.ts +0 -10
  114. package/dist/smart-cache/discovery/relationship-parser.d.ts.map +0 -1
  115. package/dist/smart-cache/discovery/relationship-parser.js +0 -40
  116. package/dist/smart-cache/discovery/relationship-parser.js.map +0 -1
  117. package/dist/smart-cache/discovery/schema-reader.d.ts +0 -15
  118. package/dist/smart-cache/discovery/schema-reader.d.ts.map +0 -1
  119. package/dist/smart-cache/discovery/schema-reader.js +0 -82
  120. package/dist/smart-cache/discovery/schema-reader.js.map +0 -1
  121. package/dist/smart-cache/examples/basic-usage.d.ts +0 -3
  122. package/dist/smart-cache/examples/basic-usage.d.ts.map +0 -1
  123. package/dist/smart-cache/examples/basic-usage.js +0 -105
  124. package/dist/smart-cache/examples/basic-usage.js.map +0 -1
  125. package/dist/smart-cache/examples/hooks-example.d.ts +0 -3
  126. package/dist/smart-cache/examples/hooks-example.d.ts.map +0 -1
  127. package/dist/smart-cache/examples/hooks-example.js +0 -133
  128. package/dist/smart-cache/examples/hooks-example.js.map +0 -1
  129. package/dist/smart-cache/examples/relationships-example.d.ts +0 -3
  130. package/dist/smart-cache/examples/relationships-example.d.ts.map +0 -1
  131. package/dist/smart-cache/examples/relationships-example.js +0 -88
  132. package/dist/smart-cache/examples/relationships-example.js.map +0 -1
  133. package/dist/smart-cache/hooks/hooks-manager.d.ts +0 -22
  134. package/dist/smart-cache/hooks/hooks-manager.d.ts.map +0 -1
  135. package/dist/smart-cache/hooks/hooks-manager.js +0 -117
  136. package/dist/smart-cache/hooks/hooks-manager.js.map +0 -1
  137. package/dist/smart-cache/index.d.ts +0 -19
  138. package/dist/smart-cache/index.d.ts.map +0 -1
  139. package/dist/smart-cache/index.js +0 -49
  140. package/dist/smart-cache/index.js.map +0 -1
  141. package/dist/smart-cache/query/operations.d.ts +0 -31
  142. package/dist/smart-cache/query/operations.d.ts.map +0 -1
  143. package/dist/smart-cache/query/operations.js +0 -187
  144. package/dist/smart-cache/query/operations.js.map +0 -1
  145. package/dist/smart-cache/query/query-builder.d.ts +0 -15
  146. package/dist/smart-cache/query/query-builder.d.ts.map +0 -1
  147. package/dist/smart-cache/query/query-builder.js +0 -169
  148. package/dist/smart-cache/query/query-builder.js.map +0 -1
  149. package/dist/smart-cache/query/table-proxy.d.ts +0 -11
  150. package/dist/smart-cache/query/table-proxy.d.ts.map +0 -1
  151. package/dist/smart-cache/query/table-proxy.js +0 -25
  152. package/dist/smart-cache/query/table-proxy.js.map +0 -1
  153. package/dist/smart-cache/types/cache.d.ts +0 -29
  154. package/dist/smart-cache/types/cache.d.ts.map +0 -1
  155. package/dist/smart-cache/types/cache.js +0 -10
  156. package/dist/smart-cache/types/cache.js.map +0 -1
  157. package/dist/smart-cache/types/config.d.ts +0 -47
  158. package/dist/smart-cache/types/config.d.ts.map +0 -1
  159. package/dist/smart-cache/types/config.js +0 -27
  160. package/dist/smart-cache/types/config.js.map +0 -1
  161. package/dist/smart-cache/types/query.d.ts +0 -36
  162. package/dist/smart-cache/types/query.d.ts.map +0 -1
  163. package/dist/smart-cache/types/query.js +0 -3
  164. package/dist/smart-cache/types/query.js.map +0 -1
  165. package/dist/smart-cache/types/schema.d.ts +0 -25
  166. package/dist/smart-cache/types/schema.d.ts.map +0 -1
  167. package/dist/smart-cache/types/schema.js +0 -3
  168. package/dist/smart-cache/types/schema.js.map +0 -1
  169. package/dist/trial.d.ts +0 -7
  170. package/dist/trial.d.ts.map +0 -1
  171. package/dist/trial.js +0 -30
  172. package/dist/trial.js.map +0 -1
@@ -0,0 +1,398 @@
1
+ "use strict";
2
+ /**
3
+ * Text Tokenizer
4
+ *
5
+ * Converts text into searchable tokens using various strategies:
6
+ * - Simple: Split by whitespace, lowercase
7
+ * - Stemming: Reduce words to root form (running → run)
8
+ * - N-gram: Split into character sequences (plumb → pl, plu, lum, umb)
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.Tokenizer = void 0;
12
+ exports.createTokenizer = createTokenizer;
13
+ exports.tokenizeFields = tokenizeFields;
14
+ const search_1 = require("../types/search");
15
+ class Tokenizer {
16
+ constructor(options) {
17
+ this.options = {
18
+ type: options.type || 'simple',
19
+ minWordLength: options.minWordLength || 3,
20
+ stopWords: options.stopWords || search_1.DEFAULT_STOP_WORDS,
21
+ caseSensitive: options.caseSensitive || false,
22
+ ngramSize: options.ngramSize || 3,
23
+ };
24
+ }
25
+ /**
26
+ * Tokenize text into searchable terms
27
+ */
28
+ tokenize(text, field = 'default') {
29
+ if (!text || typeof text !== 'string') {
30
+ return [];
31
+ }
32
+ switch (this.options.type) {
33
+ case 'simple':
34
+ return this.tokenizeSimple(text, field);
35
+ case 'stemming':
36
+ return this.tokenizeStemming(text, field);
37
+ case 'ngram':
38
+ return this.tokenizeNgram(text, field);
39
+ default:
40
+ return this.tokenizeSimple(text, field);
41
+ }
42
+ }
43
+ /**
44
+ * Simple tokenization: split by whitespace, lowercase, remove punctuation
45
+ */
46
+ tokenizeSimple(text, field) {
47
+ // Normalize case
48
+ const normalized = this.options.caseSensitive ? text : text.toLowerCase();
49
+ // Split by whitespace and punctuation
50
+ const words = normalized.split(/[\s\p{P}]+/u).filter(Boolean);
51
+ const tokens = [];
52
+ let position = 0;
53
+ for (const word of words) {
54
+ // Skip if too short
55
+ if (word.length < this.options.minWordLength) {
56
+ position++;
57
+ continue;
58
+ }
59
+ // Skip stop words
60
+ if (this.options.stopWords.includes(word)) {
61
+ position++;
62
+ continue;
63
+ }
64
+ // Skip if not alphanumeric
65
+ if (!/\p{L}|\p{N}/u.test(word)) {
66
+ position++;
67
+ continue;
68
+ }
69
+ tokens.push({
70
+ term: word,
71
+ positions: [position],
72
+ field,
73
+ });
74
+ position++;
75
+ }
76
+ return this.mergePositions(tokens);
77
+ }
78
+ /**
79
+ * Stemming tokenization: reduce words to root form
80
+ * Uses Porter Stemmer algorithm (simplified)
81
+ */
82
+ tokenizeStemming(text, field) {
83
+ // First do simple tokenization
84
+ const simpleTokens = this.tokenizeSimple(text, field);
85
+ // Apply stemming to each term
86
+ return simpleTokens.map(token => ({
87
+ ...token,
88
+ term: this.stem(token.term),
89
+ }));
90
+ }
91
+ /**
92
+ * N-gram tokenization: split into character sequences
93
+ * Example: "plumb" with n=3 → ["plu", "lum", "umb"]
94
+ */
95
+ tokenizeNgram(text, field) {
96
+ const normalized = this.options.caseSensitive ? text : text.toLowerCase();
97
+ const n = this.options.ngramSize;
98
+ const tokens = [];
99
+ // Remove punctuation and split into words
100
+ const words = normalized.split(/[\s\p{P}]+/u).filter(Boolean);
101
+ let position = 0;
102
+ for (const word of words) {
103
+ // Generate n-grams for this word
104
+ if (word.length >= n) {
105
+ for (let i = 0; i <= word.length - n; i++) {
106
+ const ngram = word.substring(i, i + n);
107
+ tokens.push({
108
+ term: ngram,
109
+ positions: [position],
110
+ field,
111
+ });
112
+ }
113
+ }
114
+ else if (word.length >= this.options.minWordLength) {
115
+ // Word is shorter than n-gram size, use the whole word
116
+ tokens.push({
117
+ term: word,
118
+ positions: [position],
119
+ field,
120
+ });
121
+ }
122
+ position++;
123
+ }
124
+ return this.mergePositions(tokens);
125
+ }
126
+ /**
127
+ * Porter Stemmer (simplified version)
128
+ * Reduces words to their root form
129
+ */
130
+ stem(word) {
131
+ // Step 1: Handle plurals and -ed, -ing
132
+ word = this.step1(word);
133
+ // Step 2: Handle -tion, -ation, etc.
134
+ word = this.step2(word);
135
+ // Step 3: Handle -ful, -ness, etc.
136
+ word = this.step3(word);
137
+ // Step 4: Handle -ant, -ence, etc.
138
+ word = this.step4(word);
139
+ // Step 5: Handle -e and -ll
140
+ word = this.step5(word);
141
+ return word;
142
+ }
143
+ step1(word) {
144
+ // Handle plurals: cats → cat, ponies → poni
145
+ if (word.endsWith('sses')) {
146
+ return word.slice(0, -2);
147
+ }
148
+ if (word.endsWith('ies')) {
149
+ return word.slice(0, -3) + 'i';
150
+ }
151
+ if (word.endsWith('ss')) {
152
+ return word;
153
+ }
154
+ if (word.endsWith('s')) {
155
+ return word.slice(0, -1);
156
+ }
157
+ // Handle -ed, -ing: walked → walk, walking → walk
158
+ if (word.endsWith('eed')) {
159
+ if (this.measureWord(word.slice(0, -3)) > 0) {
160
+ return word.slice(0, -1);
161
+ }
162
+ }
163
+ if (word.endsWith('ed')) {
164
+ const stem = word.slice(0, -2);
165
+ if (this.hasVowel(stem)) {
166
+ return this.fixEnding(stem);
167
+ }
168
+ }
169
+ if (word.endsWith('ing')) {
170
+ const stem = word.slice(0, -3);
171
+ if (this.hasVowel(stem)) {
172
+ return this.fixEnding(stem);
173
+ }
174
+ }
175
+ return word;
176
+ }
177
+ step2(word) {
178
+ const suffixes = [
179
+ ['ational', 'ate'],
180
+ ['tional', 'tion'],
181
+ ['enci', 'ence'],
182
+ ['anci', 'ance'],
183
+ ['izer', 'ize'],
184
+ ['abli', 'able'],
185
+ ['alli', 'al'],
186
+ ['entli', 'ent'],
187
+ ['eli', 'e'],
188
+ ['ousli', 'ous'],
189
+ ['ization', 'ize'],
190
+ ['ation', 'ate'],
191
+ ['ator', 'ate'],
192
+ ['alism', 'al'],
193
+ ['iveness', 'ive'],
194
+ ['fulness', 'ful'],
195
+ ['ousness', 'ous'],
196
+ ['aliti', 'al'],
197
+ ['iviti', 'ive'],
198
+ ['biliti', 'ble'],
199
+ ];
200
+ for (const [suffix, replacement] of suffixes) {
201
+ if (word.endsWith(suffix)) {
202
+ const stem = word.slice(0, -suffix.length);
203
+ if (this.measureWord(stem) > 0) {
204
+ return stem + replacement;
205
+ }
206
+ }
207
+ }
208
+ return word;
209
+ }
210
+ step3(word) {
211
+ const suffixes = [
212
+ ['icate', 'ic'],
213
+ ['ative', ''],
214
+ ['alize', 'al'],
215
+ ['iciti', 'ic'],
216
+ ['ical', 'ic'],
217
+ ['ful', ''],
218
+ ['ness', ''],
219
+ ];
220
+ for (const [suffix, replacement] of suffixes) {
221
+ if (word.endsWith(suffix)) {
222
+ const stem = word.slice(0, -suffix.length);
223
+ if (this.measureWord(stem) > 0) {
224
+ return stem + replacement;
225
+ }
226
+ }
227
+ }
228
+ return word;
229
+ }
230
+ step4(word) {
231
+ const suffixes = [
232
+ 'al', 'ance', 'ence', 'er', 'ic', 'able', 'ible', 'ant',
233
+ 'ement', 'ment', 'ent', 'ion', 'ou', 'ism', 'ate', 'iti',
234
+ 'ous', 'ive', 'ize',
235
+ ];
236
+ for (const suffix of suffixes) {
237
+ if (word.endsWith(suffix)) {
238
+ const stem = word.slice(0, -suffix.length);
239
+ if (this.measureWord(stem) > 1) {
240
+ return stem;
241
+ }
242
+ }
243
+ }
244
+ return word;
245
+ }
246
+ step5(word) {
247
+ // Remove final -e
248
+ if (word.endsWith('e')) {
249
+ const stem = word.slice(0, -1);
250
+ const m = this.measureWord(stem);
251
+ if (m > 1 || (m === 1 && !this.endsWithCVC(stem))) {
252
+ return stem;
253
+ }
254
+ }
255
+ // Change -ll to -l
256
+ if (word.endsWith('ll') && this.measureWord(word) > 1) {
257
+ return word.slice(0, -1);
258
+ }
259
+ return word;
260
+ }
261
+ /**
262
+ * Measure the "size" of a word (number of consonant-vowel sequences)
263
+ */
264
+ measureWord(word) {
265
+ let count = 0;
266
+ let prevIsVowel = false;
267
+ for (const char of word) {
268
+ const isVowel = /[aeiou]/i.test(char);
269
+ if (!isVowel && prevIsVowel) {
270
+ count++;
271
+ }
272
+ prevIsVowel = isVowel;
273
+ }
274
+ return count;
275
+ }
276
+ /**
277
+ * Check if word contains a vowel
278
+ */
279
+ hasVowel(word) {
280
+ return /[aeiou]/i.test(word);
281
+ }
282
+ /**
283
+ * Check if word ends with consonant-vowel-consonant pattern
284
+ */
285
+ endsWithCVC(word) {
286
+ if (word.length < 3)
287
+ return false;
288
+ const last = word.charAt(word.length - 1);
289
+ const secondLast = word.charAt(word.length - 2);
290
+ const thirdLast = word.charAt(word.length - 3);
291
+ const isConsonant = (c) => !/[aeiou]/i.test(c);
292
+ const isVowel = (c) => /[aeiou]/i.test(c);
293
+ return (isConsonant(thirdLast) &&
294
+ isVowel(secondLast) &&
295
+ isConsonant(last) &&
296
+ !/[wxy]/.test(last));
297
+ }
298
+ /**
299
+ * Fix word ending after removing suffix
300
+ * Example: "hopping" → "hopp" → "hop"
301
+ */
302
+ fixEnding(word) {
303
+ if (word.endsWith('at') || word.endsWith('bl') || word.endsWith('iz')) {
304
+ return word + 'e';
305
+ }
306
+ // Remove double consonant
307
+ if (word.length > 1) {
308
+ const last = word.charAt(word.length - 1);
309
+ const secondLast = word.charAt(word.length - 2);
310
+ if (last === secondLast && !/[aeiou]/.test(last)) {
311
+ return word.slice(0, -1);
312
+ }
313
+ }
314
+ // Add 'e' if word ends with CVC and measure is 1
315
+ if (this.measureWord(word) === 1 && this.endsWithCVC(word)) {
316
+ return word + 'e';
317
+ }
318
+ return word;
319
+ }
320
+ /**
321
+ * Merge duplicate terms and combine their positions
322
+ */
323
+ mergePositions(tokens) {
324
+ const merged = new Map();
325
+ for (const token of tokens) {
326
+ const key = `${token.field}:${token.term}`;
327
+ if (merged.has(key)) {
328
+ const existing = merged.get(key);
329
+ existing.positions.push(...token.positions);
330
+ }
331
+ else {
332
+ merged.set(key, { ...token });
333
+ }
334
+ }
335
+ return Array.from(merged.values());
336
+ }
337
+ /**
338
+ * Get all unique terms from tokens (useful for indexing)
339
+ */
340
+ getUniqueTerms(tokens) {
341
+ return [...new Set(tokens.map(t => t.term))];
342
+ }
343
+ /**
344
+ * Calculate proximity score between terms
345
+ * Terms closer together get higher scores
346
+ */
347
+ calculateProximity(tokens, term1, term2) {
348
+ const positions1 = tokens.find(t => t.term === term1)?.positions || [];
349
+ const positions2 = tokens.find(t => t.term === term2)?.positions || [];
350
+ if (positions1.length === 0 || positions2.length === 0) {
351
+ return 0;
352
+ }
353
+ // Find minimum distance between any two positions
354
+ let minDistance = Infinity;
355
+ for (const pos1 of positions1) {
356
+ for (const pos2 of positions2) {
357
+ const distance = Math.abs(pos1 - pos2);
358
+ minDistance = Math.min(minDistance, distance);
359
+ }
360
+ }
361
+ // Convert distance to score (closer = higher score)
362
+ // Score ranges from 0 (very far) to 1 (adjacent)
363
+ if (minDistance === 1)
364
+ return 1.0; // Adjacent
365
+ if (minDistance <= 3)
366
+ return 0.8; // Very close
367
+ if (minDistance <= 10)
368
+ return 0.5; // Close
369
+ if (minDistance <= 50)
370
+ return 0.2; // Far
371
+ return 0.1; // Very far
372
+ }
373
+ }
374
+ exports.Tokenizer = Tokenizer;
375
+ /**
376
+ * Helper function to create tokenizer from config
377
+ */
378
+ function createTokenizer(type, options) {
379
+ return new Tokenizer({
380
+ type,
381
+ ...options,
382
+ });
383
+ }
384
+ /**
385
+ * Helper function to tokenize multiple fields
386
+ */
387
+ function tokenizeFields(tokenizer, data, fields) {
388
+ const allTokens = [];
389
+ for (const field of fields) {
390
+ const value = data[field];
391
+ if (value && typeof value === 'string') {
392
+ const tokens = tokenizer.tokenize(value, field);
393
+ allTokens.push(...tokens);
394
+ }
395
+ }
396
+ return allTokens;
397
+ }
398
+ //# sourceMappingURL=tokenizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../src/search/tokenizer.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,9 @@ export interface CacheStats {
15
15
  evictions: number;
16
16
  size: number;
17
17
  hitRate: string;
18
+ totalKeys?: number;
19
+ memoryUsage?: number;
20
+ keysByTable?: Record<string, number>;
18
21
  }
19
22
  export declare enum InvalidationStrategy {
20
23
  IMMEDIATE = "immediate",
@@ -26,4 +29,17 @@ export interface InvalidationOptions {
26
29
  cascade?: boolean;
27
30
  tables?: string[];
28
31
  }
32
+ export interface CacheAPI {
33
+ invalidateTable(tableName: string): Promise<number>;
34
+ invalidateByPattern(pattern: string): Promise<number>;
35
+ clear(): Promise<void>;
36
+ getStats(): Promise<CacheStats>;
37
+ has(key: string): Promise<boolean>;
38
+ getTTL(key: string): Promise<number>;
39
+ get<T = any>(key: string): Promise<T | null>;
40
+ set(key: string, value: any, ttl?: number): Promise<void>;
41
+ delete(key: string): Promise<void>;
42
+ resetStats(): void;
43
+ isEnabled(): boolean;
44
+ }
29
45
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/types/cache.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,oBAAoB;IAC9B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/types/cache.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,GAAG,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,oBAAY,oBAAoB;IAC9B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IAEvB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAGpD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAGtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAGvB,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IAGhC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGnC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAGrC,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAG7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAG1D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGnC,UAAU,IAAI,IAAI,CAAC;IAGnB,SAAS,IAAI,OAAO,CAAC;CACtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/types/cache.ts"],"names":[],"mappings":";;;AAqBA,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,+CAAuB,CAAA;IACvB,qCAAa,CAAA;IACb,6CAAqB,CAAA;AACvB,CAAC,EAJW,oBAAoB,oCAApB,oBAAoB,QAI/B"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/types/cache.ts"],"names":[],"mappings":";;;AAwBA,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,+CAAuB,CAAA;IACvB,qCAAa,CAAA;IACb,6CAAqB,CAAA;AACvB,CAAC,EAJW,oBAAoB,oCAApB,oBAAoB,QAI/B"}
@@ -1,5 +1,6 @@
1
1
  import { RedisOptions } from 'ioredis';
2
2
  import { WarmingConfig } from './warming';
3
+ import { SearchConfig } from './search';
3
4
  export interface MariaDBConfig {
4
5
  host: string;
5
6
  port?: number;
@@ -35,6 +36,11 @@ export interface LoggingConfig {
35
36
  level?: 'debug' | 'info' | 'warn' | 'error' | 'none';
36
37
  logger?: (level: string, message: string, meta?: any) => void;
37
38
  }
39
+ export interface CaseConversionConfig {
40
+ enabled?: boolean;
41
+ database?: 'snake_case' | 'camelCase';
42
+ application?: 'snake_case' | 'camelCase';
43
+ }
38
44
  export interface SqlDBConfig {
39
45
  mariadb: MariaDBConfig;
40
46
  redis: RedisConfig;
@@ -42,9 +48,13 @@ export interface SqlDBConfig {
42
48
  discovery?: DiscoveryConfig;
43
49
  logging?: LoggingConfig;
44
50
  warming?: WarmingConfig;
51
+ caseConversion?: CaseConversionConfig;
52
+ search?: SearchConfig;
45
53
  }
46
54
  export declare const DEFAULT_CACHE_CONFIG: Required<CacheConfig>;
47
55
  export declare const DEFAULT_DISCOVERY_CONFIG: Required<DiscoveryConfig>;
48
56
  export declare const DEFAULT_LOGGING_CONFIG: Required<LoggingConfig>;
49
57
  export declare const DEFAULT_WARMING_CONFIG: Required<WarmingConfig>;
58
+ export declare const DEFAULT_CASE_CONVERSION_CONFIG: Required<CaseConversionConfig>;
59
+ export declare const DEFAULT_SEARCH_CONFIG: SearchConfig;
50
60
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACrD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/D;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAGD,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAMtD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAM9D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,aAAa,CAO1D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,aAAa,CAY1D,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACrD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAC/D;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;IACtC,WAAW,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAGD,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAMtD,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAM9D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,aAAa,CAO1D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,aAAa,CAY1D,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,oBAAoB,CAIzE,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAMnC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_WARMING_CONFIG = exports.DEFAULT_LOGGING_CONFIG = exports.DEFAULT_DISCOVERY_CONFIG = exports.DEFAULT_CACHE_CONFIG = void 0;
3
+ exports.DEFAULT_SEARCH_CONFIG = exports.DEFAULT_CASE_CONVERSION_CONFIG = exports.DEFAULT_WARMING_CONFIG = exports.DEFAULT_LOGGING_CONFIG = exports.DEFAULT_DISCOVERY_CONFIG = exports.DEFAULT_CACHE_CONFIG = void 0;
4
4
  // Default configurations
5
5
  exports.DEFAULT_CACHE_CONFIG = {
6
6
  enabled: true,
@@ -37,4 +37,16 @@ exports.DEFAULT_WARMING_CONFIG = {
37
37
  onWarmingComplete: undefined,
38
38
  onWarmingError: undefined,
39
39
  };
40
+ exports.DEFAULT_CASE_CONVERSION_CONFIG = {
41
+ enabled: false,
42
+ database: 'snake_case',
43
+ application: 'camelCase',
44
+ };
45
+ exports.DEFAULT_SEARCH_CONFIG = {
46
+ enabled: false,
47
+ invertedIndex: {
48
+ enabled: false,
49
+ tables: {},
50
+ },
51
+ };
40
52
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";;;AAqDA,yBAAyB;AACZ,QAAA,oBAAoB,GAA0B;IACzD,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,EAAE,EAAE,aAAa;IAC7B,OAAO,EAAE,KAAK;IACd,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEW,QAAA,wBAAwB,GAA8B;IACjE,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,CAAC,EAAE,yBAAyB;IAC7C,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,CAAC;CACjB,CAAC;AAEW,QAAA,sBAAsB,GAA4B;IAC7D,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,IAAU,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;CACF,CAAC;AAEW,QAAA,sBAAsB,GAA4B;IAC7D,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK,EAAE,WAAW;IAC9B,kBAAkB,EAAE,EAAE;IACtB,cAAc,EAAE,CAAC;IACjB,WAAW,EAAE,OAAO,EAAE,SAAS;IAC/B,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,qBAAqB;IACrC,iBAAiB,EAAE,SAAgB;IACnC,cAAc,EAAE,SAAgB;CACjC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";;;AA8DA,yBAAyB;AACZ,QAAA,oBAAoB,GAA0B;IACzD,OAAO,EAAE,IAAI;IACb,UAAU,EAAE,EAAE,EAAE,aAAa;IAC7B,OAAO,EAAE,KAAK;IACd,iBAAiB,EAAE,IAAI;IACvB,mBAAmB,EAAE,IAAI;CAC1B,CAAC;AAEW,QAAA,wBAAwB,GAA8B;IACjE,YAAY,EAAE,IAAI;IAClB,eAAe,EAAE,CAAC,EAAE,yBAAyB;IAC7C,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,EAAE;IACjB,aAAa,EAAE,CAAC;CACjB,CAAC;AAEW,QAAA,sBAAsB,GAA4B;IAC7D,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,CAAC,KAAa,EAAE,OAAe,EAAE,IAAU,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,MAAM,KAAK,CAAC,WAAW,EAAE,KAAK,OAAO,GAAG,OAAO,EAAE,CAAC,CAAC;IAC9E,CAAC;CACF,CAAC;AAEW,QAAA,sBAAsB,GAA4B;IAC7D,OAAO,EAAE,KAAK;IACd,UAAU,EAAE,KAAK,EAAE,WAAW;IAC9B,kBAAkB,EAAE,EAAE;IACtB,cAAc,EAAE,CAAC;IACjB,WAAW,EAAE,OAAO,EAAE,SAAS;IAC/B,eAAe,EAAE,IAAI;IACrB,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,qBAAqB;IACrC,iBAAiB,EAAE,SAAgB;IACnC,cAAc,EAAE,SAAgB;CACjC,CAAC;AAEW,QAAA,8BAA8B,GAAmC;IAC5E,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,YAAY;IACtB,WAAW,EAAE,WAAW;CACzB,CAAC;AAEW,QAAA,qBAAqB,GAAiB;IACjD,OAAO,EAAE,KAAK;IACd,aAAa,EAAE;QACb,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,EAAE;KACX;CACF,CAAC"}
@@ -41,6 +41,10 @@ export interface TableOperations<T = any> {
41
41
  warmDependents?: boolean;
42
42
  warmDependencies?: boolean;
43
43
  }): Promise<void>;
44
+ search?(query: string, options?: import('../types/search').SearchOptions): Promise<import('../types/search').SearchResult<T>[]>;
45
+ buildSearchIndex?(): Promise<import('../types/search').IndexStats>;
46
+ rebuildSearchIndex?(): Promise<import('../types/search').IndexStats>;
47
+ getSearchStats?(): Promise<import('../types/search').IndexStats | null>;
44
48
  }
45
49
  export interface QueryResult {
46
50
  sql: string;
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/types/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/types/query.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,43 @@ export interface ColumnInfo {
12
12
  characterSetName?: string | null;
13
13
  collationName?: string | null;
14
14
  }
15
+ /**
16
+ * Extended column definition with additional metadata
17
+ */
18
+ export interface ColumnDefinition extends ColumnInfo {
19
+ name: string;
20
+ type: string;
21
+ nullable: boolean;
22
+ defaultValue: any;
23
+ isPrimaryKey: boolean;
24
+ isAutoIncrement: boolean;
25
+ maxLength?: number;
26
+ }
27
+ /**
28
+ * Index definition
29
+ */
30
+ export interface IndexDefinition {
31
+ name: string;
32
+ columns: string[];
33
+ isUnique: boolean;
34
+ isPrimary: boolean;
35
+ }
36
+ /**
37
+ * Foreign key definition
38
+ */
39
+ export interface ForeignKeyDefinition {
40
+ columnName: string;
41
+ referencedTable: string;
42
+ referencedColumn: string;
43
+ onDelete: 'CASCADE' | 'SET NULL' | 'RESTRICT' | 'NO ACTION';
44
+ onUpdate: 'CASCADE' | 'SET NULL' | 'RESTRICT' | 'NO ACTION';
45
+ }
15
46
  export interface TableSchema {
16
47
  tableName: string;
17
48
  columns: ColumnInfo[];
18
49
  primaryKey?: string;
50
+ indexes?: IndexDefinition[];
51
+ foreignKeys?: ForeignKeyDefinition[];
19
52
  }
20
53
  export interface TableRelationship {
21
54
  constraintName: string;
@@ -23,6 +56,8 @@ export interface TableRelationship {
23
56
  fromColumn: string;
24
57
  toTable: string;
25
58
  toColumn: string;
59
+ onDelete?: string;
60
+ onUpdate?: string;
26
61
  }
27
62
  export interface SchemaDiscoveryResult {
28
63
  tables: TableSchema[];
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/types/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACpC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/types/schema.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,GAAG,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;IAC5D,QAAQ,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;CAC7D;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,oBAAoB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACpC"}