domain-search-mcp 1.1.0 → 1.1.2

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 (49) hide show
  1. package/README.md +57 -1
  2. package/context7.json +4 -0
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +1 -0
  5. package/dist/config.js.map +1 -1
  6. package/dist/registrars/godaddy-mcp.d.ts +67 -0
  7. package/dist/registrars/godaddy-mcp.d.ts.map +1 -0
  8. package/dist/registrars/godaddy-mcp.js +301 -0
  9. package/dist/registrars/godaddy-mcp.js.map +1 -0
  10. package/dist/registrars/index.d.ts +1 -0
  11. package/dist/registrars/index.d.ts.map +1 -1
  12. package/dist/registrars/index.js +4 -1
  13. package/dist/registrars/index.js.map +1 -1
  14. package/dist/server.d.ts +1 -0
  15. package/dist/server.d.ts.map +1 -1
  16. package/dist/server.js +11 -0
  17. package/dist/server.js.map +1 -1
  18. package/dist/services/domain-search.d.ts +5 -4
  19. package/dist/services/domain-search.d.ts.map +1 -1
  20. package/dist/services/domain-search.js +24 -8
  21. package/dist/services/domain-search.js.map +1 -1
  22. package/dist/tools/check_socials.d.ts.map +1 -1
  23. package/dist/tools/check_socials.js +21 -6
  24. package/dist/tools/check_socials.js.map +1 -1
  25. package/dist/tools/index.d.ts +1 -0
  26. package/dist/tools/index.d.ts.map +1 -1
  27. package/dist/tools/index.js +5 -1
  28. package/dist/tools/index.js.map +1 -1
  29. package/dist/tools/suggest_domains_smart.d.ts +113 -0
  30. package/dist/tools/suggest_domains_smart.d.ts.map +1 -0
  31. package/dist/tools/suggest_domains_smart.js +311 -0
  32. package/dist/tools/suggest_domains_smart.js.map +1 -0
  33. package/dist/types.d.ts +2 -0
  34. package/dist/types.d.ts.map +1 -1
  35. package/dist/utils/semantic-engine.d.ts +59 -0
  36. package/dist/utils/semantic-engine.d.ts.map +1 -0
  37. package/dist/utils/semantic-engine.js +427 -0
  38. package/dist/utils/semantic-engine.js.map +1 -0
  39. package/package.json +1 -1
  40. package/src/config.ts +1 -0
  41. package/src/registrars/godaddy-mcp.ts +380 -0
  42. package/src/registrars/index.ts +1 -0
  43. package/src/server.ts +16 -0
  44. package/src/services/domain-search.ts +25 -9
  45. package/src/tools/check_socials.ts +22 -6
  46. package/src/tools/index.ts +7 -0
  47. package/src/tools/suggest_domains_smart.ts +392 -0
  48. package/src/types.ts +2 -0
  49. package/src/utils/semantic-engine.ts +483 -0
@@ -0,0 +1,427 @@
1
+ "use strict";
2
+ /**
3
+ * Semantic Engine for AI-like Domain Suggestions.
4
+ *
5
+ * Provides intelligent domain name generation without external AI dependencies.
6
+ * Uses linguistic algorithms, word databases, and pattern matching.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.SYNONYMS = exports.INDUSTRY_TERMS = exports.MODERN_PREFIXES = exports.MODERN_SUFFIXES = void 0;
10
+ exports.segmentWords = segmentWords;
11
+ exports.getSynonyms = getSynonyms;
12
+ exports.getIndustryTerms = getIndustryTerms;
13
+ exports.detectIndustry = detectIndustry;
14
+ exports.generatePortmanteau = generatePortmanteau;
15
+ exports.generateSmartSuggestions = generateSmartSuggestions;
16
+ exports.scoreDomainName = scoreDomainName;
17
+ /**
18
+ * Common word synonyms for domain name variations.
19
+ */
20
+ const SYNONYMS = {
21
+ // Tech terms
22
+ app: ['application', 'software', 'tool', 'platform', 'service'],
23
+ tech: ['technology', 'digital', 'cyber', 'smart', 'intelligent'],
24
+ code: ['coding', 'dev', 'developer', 'programming', 'software'],
25
+ dev: ['developer', 'development', 'code', 'build', 'create'],
26
+ web: ['online', 'internet', 'digital', 'cloud', 'net'],
27
+ cloud: ['sky', 'air', 'vapor', 'hosted', 'saas'],
28
+ data: ['info', 'analytics', 'metrics', 'insights', 'stats'],
29
+ ai: ['intelligent', 'smart', 'ml', 'brain', 'neural', 'cognitive'],
30
+ api: ['connect', 'integrate', 'link', 'bridge', 'hub'],
31
+ // Business terms
32
+ shop: ['store', 'market', 'mart', 'outlet', 'bazaar', 'emporium'],
33
+ buy: ['purchase', 'get', 'acquire', 'order', 'shop'],
34
+ sell: ['trade', 'market', 'vend', 'deal', 'offer'],
35
+ pay: ['payment', 'checkout', 'billing', 'invoice', 'finance'],
36
+ money: ['cash', 'funds', 'finance', 'capital', 'wealth'],
37
+ business: ['biz', 'enterprise', 'company', 'corp', 'venture'],
38
+ // Action terms
39
+ get: ['grab', 'fetch', 'obtain', 'acquire', 'access'],
40
+ find: ['search', 'discover', 'locate', 'seek', 'explore'],
41
+ make: ['create', 'build', 'craft', 'forge', 'generate'],
42
+ send: ['deliver', 'ship', 'dispatch', 'transmit', 'share'],
43
+ connect: ['link', 'join', 'unite', 'bridge', 'sync'],
44
+ // Descriptive terms
45
+ fast: ['quick', 'rapid', 'swift', 'speedy', 'instant', 'turbo'],
46
+ smart: ['clever', 'intelligent', 'bright', 'wise', 'genius'],
47
+ easy: ['simple', 'effortless', 'smooth', 'breeze', 'snap'],
48
+ free: ['gratis', 'open', 'libre', 'zero', 'complimentary'],
49
+ pro: ['professional', 'expert', 'premium', 'elite', 'master'],
50
+ // Size/Scale
51
+ big: ['large', 'mega', 'giant', 'huge', 'vast', 'grand'],
52
+ small: ['mini', 'tiny', 'micro', 'little', 'compact', 'lite'],
53
+ // Quality
54
+ best: ['top', 'prime', 'premier', 'superior', 'ultimate', 'optimal'],
55
+ good: ['great', 'awesome', 'excellent', 'superb', 'stellar'],
56
+ new: ['fresh', 'novel', 'modern', 'next', 'neo', 'latest'],
57
+ // Food & Lifestyle
58
+ food: ['eats', 'cuisine', 'kitchen', 'chef', 'meal', 'dish'],
59
+ coffee: ['cafe', 'brew', 'bean', 'roast', 'espresso', 'java'],
60
+ health: ['wellness', 'fit', 'vital', 'care', 'med', 'life'],
61
+ home: ['house', 'living', 'nest', 'haven', 'dwelling', 'abode'],
62
+ // Creative
63
+ design: ['creative', 'art', 'studio', 'craft', 'pixel', 'visual'],
64
+ media: ['content', 'channel', 'stream', 'broadcast', 'press'],
65
+ photo: ['image', 'pic', 'snap', 'shot', 'lens', 'capture'],
66
+ video: ['film', 'motion', 'clip', 'reel', 'stream', 'watch'],
67
+ music: ['audio', 'sound', 'tune', 'beat', 'melody', 'sonic'],
68
+ // Social
69
+ social: ['community', 'network', 'connect', 'share', 'together'],
70
+ team: ['crew', 'squad', 'group', 'tribe', 'collective', 'guild'],
71
+ chat: ['talk', 'message', 'speak', 'convo', 'discuss', 'voice'],
72
+ // Nature
73
+ green: ['eco', 'earth', 'nature', 'leaf', 'organic', 'bio'],
74
+ blue: ['ocean', 'sky', 'azure', 'aqua', 'marine', 'wave'],
75
+ sun: ['solar', 'bright', 'light', 'ray', 'shine', 'glow'],
76
+ star: ['stellar', 'astro', 'cosmic', 'nova', 'galaxy', 'orbit'],
77
+ };
78
+ exports.SYNONYMS = SYNONYMS;
79
+ /**
80
+ * Industry-specific vocabulary for contextual suggestions.
81
+ */
82
+ const INDUSTRY_TERMS = {
83
+ tech: [
84
+ 'stack', 'node', 'byte', 'pixel', 'logic', 'algo', 'kernel', 'cache',
85
+ 'sync', 'async', 'stream', 'flux', 'vector', 'tensor', 'quantum', 'cyber',
86
+ ],
87
+ startup: [
88
+ 'launch', 'venture', 'scale', 'pivot', 'disrupt', 'iterate', 'mvp', 'seed',
89
+ 'growth', 'unicorn', 'rocket', 'boost', 'accelerate', 'incubate',
90
+ ],
91
+ finance: [
92
+ 'capital', 'wealth', 'invest', 'fund', 'equity', 'asset', 'profit', 'yield',
93
+ 'trade', 'market', 'stock', 'bond', 'crypto', 'defi', 'fintech',
94
+ ],
95
+ health: [
96
+ 'vital', 'wellness', 'care', 'heal', 'med', 'clinic', 'therapy', 'fit',
97
+ 'nutrition', 'balance', 'mind', 'body', 'pulse', 'life', 'cure',
98
+ ],
99
+ food: [
100
+ 'kitchen', 'chef', 'bistro', 'grill', 'bake', 'fresh', 'organic', 'farm',
101
+ 'harvest', 'plate', 'taste', 'flavor', 'spice', 'savory', 'delish',
102
+ ],
103
+ creative: [
104
+ 'studio', 'canvas', 'palette', 'brush', 'ink', 'craft', 'artisan', 'muse',
105
+ 'vision', 'imagine', 'dream', 'inspire', 'spark', 'bloom', 'hue',
106
+ ],
107
+ ecommerce: [
108
+ 'cart', 'checkout', 'order', 'ship', 'deal', 'offer', 'sale', 'mart',
109
+ 'bazaar', 'outlet', 'depot', 'warehouse', 'supply', 'merchant',
110
+ ],
111
+ education: [
112
+ 'learn', 'teach', 'course', 'class', 'academy', 'scholar', 'study', 'tutor',
113
+ 'mentor', 'skill', 'knowledge', 'wisdom', 'genius', 'brain', 'mind',
114
+ ],
115
+ gaming: [
116
+ 'play', 'game', 'quest', 'level', 'arena', 'battle', 'guild', 'raid',
117
+ 'loot', 'spawn', 'realm', 'world', 'epic', 'legend', 'hero',
118
+ ],
119
+ social: [
120
+ 'connect', 'share', 'follow', 'friend', 'community', 'tribe', 'circle',
121
+ 'network', 'gather', 'meetup', 'hangout', 'squad', 'crew', 'vibe',
122
+ ],
123
+ };
124
+ exports.INDUSTRY_TERMS = INDUSTRY_TERMS;
125
+ /**
126
+ * Modern domain naming patterns and suffixes.
127
+ */
128
+ const MODERN_SUFFIXES = [
129
+ 'ly', 'ify', 'io', 'ai', 'app', 'hq', 'labs', 'hub', 'now', 'go',
130
+ 'up', 'me', 'co', 'so', 'to', 'it', 'os', 'js', 'py', 'dev',
131
+ 'cloud', 'base', 'stack', 'flow', 'space', 'zone', 'spot', 'pad',
132
+ 'box', 'kit', 'way', 'path', 'link', 'sync', 'dash', 'tap', 'pop',
133
+ ];
134
+ exports.MODERN_SUFFIXES = MODERN_SUFFIXES;
135
+ /**
136
+ * Modern domain naming prefixes.
137
+ */
138
+ const MODERN_PREFIXES = [
139
+ 'get', 'try', 'use', 'go', 'hey', 'hi', 'my', 'our', 'the', 'be',
140
+ 'on', 'in', 'up', 'do', 'we', 'all', 'one', 'super', 'ultra', 'mega',
141
+ 'hyper', 'meta', 'neo', 'pro', 'open', 'true', 'real', 'next', 'ever',
142
+ ];
143
+ exports.MODERN_PREFIXES = MODERN_PREFIXES;
144
+ /**
145
+ * Word segmentation - detect words in concatenated strings.
146
+ * Uses a dictionary-based approach with common words.
147
+ */
148
+ const COMMON_WORDS = new Set([
149
+ // Tech
150
+ 'app', 'api', 'web', 'dev', 'code', 'tech', 'data', 'cloud', 'ai', 'ml',
151
+ 'bot', 'net', 'hub', 'lab', 'labs', 'io', 'bit', 'byte', 'node', 'stack',
152
+ 'soft', 'ware', 'software', 'cyber', 'auto', 'smart', 'intel', 'assist',
153
+ // Actions
154
+ 'get', 'set', 'put', 'run', 'go', 'do', 'make', 'find', 'buy', 'pay',
155
+ 'send', 'sync', 'link', 'chat', 'call', 'meet', 'play', 'work', 'ship',
156
+ 'build', 'create', 'start', 'launch', 'grow', 'scale', 'track', 'save',
157
+ // Descriptors
158
+ 'big', 'fast', 'easy', 'free', 'new', 'hot', 'cool', 'top', 'best', 'pro',
159
+ 'smart', 'super', 'ultra', 'mega', 'mini', 'lite', 'plus', 'prime', 'max',
160
+ 'quick', 'rapid', 'swift', 'safe', 'secure', 'clean', 'clear', 'fresh',
161
+ // Business
162
+ 'shop', 'store', 'mart', 'deal', 'sale', 'cash', 'pay', 'bill', 'trade',
163
+ 'biz', 'corp', 'inc', 'co', 'company', 'brand', 'agency', 'firm',
164
+ // General
165
+ 'my', 'our', 'the', 'one', 'all', 'now', 'here', 'next', 'just', 'only',
166
+ 'vibe', 'flow', 'wave', 'spark', 'boost', 'dash', 'snap', 'pop', 'buzz',
167
+ 'zone', 'spot', 'point', 'base', 'core', 'edge', 'peak', 'rise', 'up',
168
+ // Longer common words
169
+ 'hello', 'world', 'cloud', 'space', 'time', 'team', 'group', 'social',
170
+ 'media', 'video', 'photo', 'audio', 'music', 'sound', 'voice', 'chat',
171
+ 'market', 'money', 'health', 'food', 'home', 'life', 'love', 'star',
172
+ 'coding', 'design', 'studio', 'creative', 'digital', 'mobile', 'online',
173
+ // Food & Beverage
174
+ 'coffee', 'cafe', 'brew', 'bean', 'tea', 'juice', 'pizza', 'burger', 'taco',
175
+ 'chef', 'cook', 'kitchen', 'bakery', 'grill', 'diner', 'bistro', 'eatery',
176
+ // Common compound parts
177
+ 'assistant', 'manager', 'finder', 'maker', 'builder', 'tracker', 'planner',
178
+ ]);
179
+ /**
180
+ * Attempt to segment a concatenated string into words.
181
+ */
182
+ function segmentWords(input) {
183
+ const normalized = input.toLowerCase().replace(/[^a-z0-9]/g, '');
184
+ const result = [];
185
+ let remaining = normalized;
186
+ while (remaining.length > 0) {
187
+ let found = false;
188
+ // Try longest match first (up to 12 chars)
189
+ for (let len = Math.min(12, remaining.length); len >= 2; len--) {
190
+ const candidate = remaining.slice(0, len);
191
+ if (COMMON_WORDS.has(candidate)) {
192
+ result.push(candidate);
193
+ remaining = remaining.slice(len);
194
+ found = true;
195
+ break;
196
+ }
197
+ }
198
+ // If no word found, take single char and continue
199
+ if (!found) {
200
+ // Try to find a word starting from next position
201
+ let skipCount = 1;
202
+ for (let skip = 1; skip < Math.min(4, remaining.length); skip++) {
203
+ const subRemaining = remaining.slice(skip);
204
+ for (let len = Math.min(12, subRemaining.length); len >= 2; len--) {
205
+ if (COMMON_WORDS.has(subRemaining.slice(0, len))) {
206
+ skipCount = skip;
207
+ break;
208
+ }
209
+ }
210
+ }
211
+ // Add the prefix as a potential word fragment
212
+ const fragment = remaining.slice(0, skipCount);
213
+ if (fragment.length >= 2) {
214
+ result.push(fragment);
215
+ }
216
+ remaining = remaining.slice(skipCount);
217
+ }
218
+ }
219
+ return result;
220
+ }
221
+ /**
222
+ * Get synonyms for a word.
223
+ */
224
+ function getSynonyms(word) {
225
+ const normalized = word.toLowerCase();
226
+ return SYNONYMS[normalized] || [];
227
+ }
228
+ /**
229
+ * Get industry-specific terms.
230
+ */
231
+ function getIndustryTerms(industry) {
232
+ const normalized = industry.toLowerCase();
233
+ return INDUSTRY_TERMS[normalized] || [];
234
+ }
235
+ /**
236
+ * Detect likely industry from keywords.
237
+ */
238
+ function detectIndustry(words) {
239
+ const wordSet = new Set(words.map(w => w.toLowerCase()));
240
+ const industryIndicators = {
241
+ tech: ['app', 'code', 'coding', 'dev', 'tech', 'software', 'api', 'web', 'cloud', 'ai', 'data', 'cyber', 'digital'],
242
+ startup: ['launch', 'venture', 'startup', 'founder', 'scale', 'growth', 'mvp', 'disrupt'],
243
+ finance: ['pay', 'money', 'bank', 'invest', 'trade', 'crypto', 'fund', 'capital', 'finance', 'fintech'],
244
+ health: ['health', 'fit', 'wellness', 'med', 'care', 'clinic', 'therapy', 'vital', 'nutrition'],
245
+ food: ['food', 'eat', 'coffee', 'kitchen', 'chef', 'restaurant', 'cafe', 'bistro', 'brew', 'cook'],
246
+ creative: ['design', 'art', 'studio', 'creative', 'photo', 'video', 'media', 'pixel', 'visual'],
247
+ ecommerce: ['shop', 'store', 'buy', 'sell', 'cart', 'order', 'deal', 'market', 'commerce'],
248
+ education: ['learn', 'teach', 'course', 'academy', 'school', 'tutor', 'study', 'edu', 'skill'],
249
+ gaming: ['game', 'play', 'quest', 'arena', 'guild', 'level', 'gamer', 'esport'],
250
+ social: ['social', 'connect', 'share', 'community', 'network', 'friend', 'chat', 'vibe'],
251
+ };
252
+ for (const [industry, indicators] of Object.entries(industryIndicators)) {
253
+ for (const indicator of indicators) {
254
+ if (wordSet.has(indicator)) {
255
+ return industry;
256
+ }
257
+ }
258
+ }
259
+ return null;
260
+ }
261
+ /**
262
+ * Generate portmanteau (blended word) from two words.
263
+ */
264
+ function generatePortmanteau(word1, word2) {
265
+ const results = [];
266
+ // Overlap blend: find common letter sequence
267
+ for (let i = 1; i < Math.min(word1.length, 4); i++) {
268
+ const suffix = word1.slice(-i);
269
+ if (word2.toLowerCase().startsWith(suffix.toLowerCase())) {
270
+ results.push(word1 + word2.slice(i));
271
+ }
272
+ }
273
+ // Truncation blend: first part + second part
274
+ if (word1.length >= 3 && word2.length >= 3) {
275
+ const blend1 = word1.slice(0, Math.ceil(word1.length * 0.6)) + word2.slice(Math.floor(word2.length * 0.4));
276
+ const blend2 = word1.slice(0, Math.ceil(word1.length * 0.5)) + word2.slice(Math.floor(word2.length * 0.5));
277
+ results.push(blend1, blend2);
278
+ }
279
+ return [...new Set(results)].filter(r => r.length >= 4 && r.length <= 15);
280
+ }
281
+ function generateSmartSuggestions(input, options = {}) {
282
+ const { maxSuggestions = 50, includePortmanteau = true, includeSynonyms = true, includeIndustryTerms = true, industry, } = options;
283
+ const suggestions = new Set();
284
+ const normalized = input.toLowerCase().replace(/[^a-z0-9]/g, '');
285
+ // Add original
286
+ suggestions.add(normalized);
287
+ // Segment into words
288
+ const words = segmentWords(normalized);
289
+ // Detect or use provided industry
290
+ const detectedIndustry = industry || detectIndustry(words);
291
+ // 1. Modern prefix variations
292
+ for (const prefix of MODERN_PREFIXES.slice(0, 15)) {
293
+ suggestions.add(prefix + normalized);
294
+ for (const word of words) {
295
+ if (word.length >= 3) {
296
+ suggestions.add(prefix + word);
297
+ }
298
+ }
299
+ }
300
+ // 2. Modern suffix variations
301
+ for (const suffix of MODERN_SUFFIXES.slice(0, 15)) {
302
+ suggestions.add(normalized + suffix);
303
+ for (const word of words) {
304
+ if (word.length >= 3) {
305
+ suggestions.add(word + suffix);
306
+ }
307
+ }
308
+ }
309
+ // 3. Synonym-based suggestions
310
+ if (includeSynonyms) {
311
+ for (const word of words) {
312
+ const synonyms = getSynonyms(word);
313
+ for (const synonym of synonyms.slice(0, 3)) {
314
+ // Replace word with synonym
315
+ const newName = words.map(w => w === word ? synonym : w).join('');
316
+ suggestions.add(newName);
317
+ // Add prefix/suffix to synonym
318
+ suggestions.add('get' + synonym);
319
+ suggestions.add(synonym + 'hub');
320
+ suggestions.add(synonym + 'app');
321
+ }
322
+ }
323
+ }
324
+ // 4. Industry-specific suggestions
325
+ if (includeIndustryTerms && detectedIndustry) {
326
+ const industryTerms = getIndustryTerms(detectedIndustry);
327
+ for (const term of industryTerms.slice(0, 8)) {
328
+ suggestions.add(normalized + term);
329
+ suggestions.add(term + normalized);
330
+ for (const word of words) {
331
+ if (word.length >= 3) {
332
+ suggestions.add(word + term);
333
+ suggestions.add(term + word);
334
+ }
335
+ }
336
+ }
337
+ }
338
+ // 5. Portmanteau suggestions
339
+ if (includePortmanteau && words.length >= 2) {
340
+ for (let i = 0; i < words.length - 1; i++) {
341
+ const blends = generatePortmanteau(words[i], words[i + 1]);
342
+ for (const blend of blends) {
343
+ suggestions.add(blend);
344
+ }
345
+ }
346
+ }
347
+ // 6. Word reordering
348
+ if (words.length >= 2) {
349
+ suggestions.add(words.slice().reverse().join(''));
350
+ }
351
+ // 7. Abbreviation suggestions
352
+ if (words.length >= 2) {
353
+ // First letters
354
+ const initials = words.map(w => w[0]).join('');
355
+ if (initials.length >= 2) {
356
+ suggestions.add(initials + 'hub');
357
+ suggestions.add(initials + 'app');
358
+ suggestions.add('go' + initials);
359
+ }
360
+ }
361
+ // 8. Vowel removal (modern style)
362
+ const noVowels = normalized.replace(/[aeiou]/g, '');
363
+ if (noVowels.length >= 3 && noVowels !== normalized) {
364
+ suggestions.add(noVowels);
365
+ suggestions.add(noVowels + 'io');
366
+ suggestions.add(noVowels + 'app');
367
+ }
368
+ // 9. Double letter simplification
369
+ const simplified = normalized.replace(/(.)\1+/g, '$1');
370
+ if (simplified !== normalized && simplified.length >= 3) {
371
+ suggestions.add(simplified);
372
+ }
373
+ // 10. Creative endings
374
+ const creativeEndings = ['ster', 'ery', 'ful', 'ness', 'ize', 'able'];
375
+ for (const ending of creativeEndings) {
376
+ if (!normalized.endsWith(ending)) {
377
+ suggestions.add(normalized + ending);
378
+ }
379
+ }
380
+ // Filter and return
381
+ return Array.from(suggestions)
382
+ .filter(s => s.length >= 3 && s.length <= 20 && /^[a-z0-9]+$/.test(s))
383
+ .slice(0, maxSuggestions);
384
+ }
385
+ /**
386
+ * Score a domain name based on quality metrics.
387
+ */
388
+ function scoreDomainName(name, originalInput) {
389
+ let score = 50;
390
+ // Length preference (shorter is better, but not too short)
391
+ if (name.length <= 6)
392
+ score += 15;
393
+ else if (name.length <= 8)
394
+ score += 10;
395
+ else if (name.length <= 10)
396
+ score += 5;
397
+ else if (name.length > 15)
398
+ score -= 10;
399
+ // Exact match bonus
400
+ if (name === originalInput.toLowerCase().replace(/[^a-z0-9]/g, '')) {
401
+ score += 20;
402
+ }
403
+ // Pronounceability (alternating consonants and vowels is good)
404
+ const vowels = (name.match(/[aeiou]/g) || []).length;
405
+ const ratio = vowels / name.length;
406
+ if (ratio >= 0.25 && ratio <= 0.5)
407
+ score += 10;
408
+ // No triple letters
409
+ if (/(.)\1\1/.test(name))
410
+ score -= 10;
411
+ // Starts with common word bonus
412
+ if (COMMON_WORDS.has(name.slice(0, 3)) || COMMON_WORDS.has(name.slice(0, 4))) {
413
+ score += 5;
414
+ }
415
+ // Modern suffix bonus
416
+ for (const suffix of ['io', 'ai', 'ly', 'ify', 'app', 'hub']) {
417
+ if (name.endsWith(suffix)) {
418
+ score += 5;
419
+ break;
420
+ }
421
+ }
422
+ // No numbers (usually cleaner)
423
+ if (!/\d/.test(name))
424
+ score += 5;
425
+ return score;
426
+ }
427
+ //# sourceMappingURL=semantic-engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-engine.js","sourceRoot":"","sources":["../../src/utils/semantic-engine.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAiLH,oCA2CC;AAKD,kCAGC;AAKD,4CAGC;AAKD,wCAyBC;AAKD,kDAmBC;AAaD,4DAgIC;AAKD,0CAuCC;AAzdD;;GAEG;AACH,MAAM,QAAQ,GAA6B;IACzC,aAAa;IACb,GAAG,EAAE,CAAC,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC;IAC/D,IAAI,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC;IAChE,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,CAAC;IAC/D,GAAG,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAC5D,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC;IACtD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC;IAC3D,EAAE,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAC;IAClE,GAAG,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;IAEtD,iBAAiB;IACjB,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC;IACjE,GAAG,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC;IACpD,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IAClD,GAAG,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;IAC7D,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;IACxD,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC;IAE7D,eAAe;IACf,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;IACrD,IAAI,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;IACzD,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC;IACvD,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC;IAC1D,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;IAEpD,oBAAoB;IACpB,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC;IAC/D,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;IAC5D,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;IAC1D,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC;IAC1D,GAAG,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC;IAE7D,aAAa;IACb,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IACxD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC;IAE7D,UAAU;IACV,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;IACpE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAC;IAC5D,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC;IAE1D,mBAAmB;IACnB,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAC5D,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC;IAC7D,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;IAC3D,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;IAE/D,WAAW;IACX,MAAM,EAAE,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;IACjE,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC;IAC7D,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;IAC1D,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;IAC5D,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;IAE5D,SAAS;IACT,MAAM,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;IAChE,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC;IAChE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;IAE/D,SAAS;IACT,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;IAC3D,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;IACzD,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC;IACzD,IAAI,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC;CAChE,CAAC;AAsZyD,4BAAQ;AApZnE;;GAEG;AACH,MAAM,cAAc,GAA6B;IAC/C,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO;QACpE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO;KAC1E;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;QAC1E,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU;KACjE;IACD,OAAO,EAAE;QACP,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO;QAC3E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS;KAChE;IACD,MAAM,EAAE;QACN,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK;QACtE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;KAChE;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM;QACxE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;KACnE;IACD,QAAQ,EAAE;QACR,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM;QACzE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK;KACjE;IACD,SAAS,EAAE;QACT,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;QACpE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU;KAC/D;IACD,SAAS,EAAE;QACT,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO;QAC3E,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;KACpE;IACD,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM;QACpE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;KAC5D;IACD,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ;QACtE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;KAClE;CACF,CAAC;AAwWyC,wCAAc;AAtWzD;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;IAChE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK;IAC3D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;IAChE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;CAClE,CAAC;AA8VO,0CAAe;AA5VxB;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;IAChE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IACpE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CACtE,CAAC;AAqVwB,0CAAe;AAnVzC;;;GAGG;AACH,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;IAC3B,OAAO;IACP,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI;IACvE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IACxE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ;IACvE,UAAU;IACV,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IACpE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACtE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IACtE,cAAc;IACd,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IACzE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;IACzE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IACtE,WAAW;IACX,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO;IACvE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IAChE,UAAU;IACV,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACvE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IACvE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI;IACrE,sBAAsB;IACtB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ;IACrE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IACrE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACnE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ;IACvE,kBAAkB;IAClB,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM;IAC3E,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;IACzE,wBAAwB;IACxB,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;CAC3E,CAAC,CAAC;AAEH;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAa;IACxC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAG,UAAU,CAAC;IAE3B,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,KAAK,GAAG,KAAK,CAAC;QAElB,2CAA2C;QAC3C,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;YAC/D,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1C,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvB,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM;YACR,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,iDAAiD;YACjD,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;gBAChE,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC3C,KAAK,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC;oBAClE,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;wBACjD,SAAS,GAAG,IAAI,CAAC;wBACjB,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YAED,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAC/C,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;YACD,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,IAAY;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACtC,OAAO,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1C,OAAO,cAAc,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAAC,KAAe;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEzD,MAAM,kBAAkB,GAA6B;QACnD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;QACnH,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,CAAC;QACzF,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;QACvG,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC;QAC/F,IAAI,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;QAClG,QAAQ,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;QAC/F,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC;QAC1F,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC;QAC9F,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;QAC/E,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;KACzF,CAAC;IAEF,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACxE,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAAC,KAAa,EAAE,KAAa;IAC9D,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,6CAA6C;IAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3G,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;QAC3G,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAC5E,CAAC;AAaD,SAAgB,wBAAwB,CACtC,KAAa,EACb,UAAkC,EAAE;IAEpC,MAAM,EACJ,cAAc,GAAG,EAAE,EACnB,kBAAkB,GAAG,IAAI,EACzB,eAAe,GAAG,IAAI,EACtB,oBAAoB,GAAG,IAAI,EAC3B,QAAQ,GACT,GAAG,OAAO,CAAC;IAEZ,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEjE,eAAe;IACf,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE5B,qBAAqB;IACrB,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAEvC,kCAAkC;IAClC,MAAM,gBAAgB,GAAG,QAAQ,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IAE3D,8BAA8B;IAC9B,KAAK,MAAM,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAClD,WAAW,CAAC,GAAG,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACrB,WAAW,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,KAAK,MAAM,MAAM,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAClD,WAAW,CAAC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACrB,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,IAAI,eAAe,EAAE,CAAC;QACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;YACnC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC3C,4BAA4B;gBAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClE,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAEzB,+BAA+B;gBAC/B,WAAW,CAAC,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,CAAC;gBACjC,WAAW,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;gBACjC,WAAW,CAAC,GAAG,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,IAAI,oBAAoB,IAAI,gBAAgB,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;QACzD,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YAC7C,WAAW,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;YACnC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC;YACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACrB,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;oBAC7B,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,kBAAkB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,CAAC;YAC7D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,qBAAqB;IACrB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,8BAA8B;IAC9B,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,gBAAgB;QAChB,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACzB,WAAW,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;YAClC,WAAW,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;YAClC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACpD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QACpD,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,WAAW,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;QACjC,WAAW,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,kCAAkC;IAClC,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACvD,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxD,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,uBAAuB;IACvB,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IACtE,KAAK,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,WAAW,CAAC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACrE,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,IAAY,EAAE,aAAqB;IACjE,IAAI,KAAK,GAAG,EAAE,CAAC;IAEf,2DAA2D;IAC3D,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;QAAE,KAAK,IAAI,EAAE,CAAC;SAC7B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC;QAAE,KAAK,IAAI,EAAE,CAAC;SAClC,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE;QAAE,KAAK,IAAI,CAAC,CAAC;SAClC,IAAI,IAAI,CAAC,MAAM,GAAG,EAAE;QAAE,KAAK,IAAI,EAAE,CAAC;IAEvC,oBAAoB;IACpB,IAAI,IAAI,KAAK,aAAa,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC;QACnE,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;IAED,+DAA+D;IAC/D,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IACnC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,GAAG;QAAE,KAAK,IAAI,EAAE,CAAC;IAE/C,oBAAoB;IACpB,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,EAAE,CAAC;IAEtC,gCAAgC;IAChC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7E,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IAED,sBAAsB;IACtB,KAAK,MAAM,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QAC7D,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,CAAC;YACX,MAAM;QACR,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,KAAK,IAAI,CAAC,CAAC;IAEjC,OAAO,KAAK,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "domain-search-mcp",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Fast domain availability aggregator MCP server. Check availability across Porkbun, Namecheap, RDAP, and WHOIS. Compare pricing. Get suggestions.",
5
5
  "main": "dist/server.js",
6
6
  "types": "dist/server.d.ts",
package/src/config.ts CHANGED
@@ -116,6 +116,7 @@ export function getAvailableSources(): string[] {
116
116
  const sources: string[] = [];
117
117
  if (config.porkbun.enabled) sources.push('porkbun');
118
118
  if (config.namecheap.enabled) sources.push('namecheap');
119
+ sources.push('godaddy'); // GoDaddy MCP - always available (no auth needed)
119
120
  sources.push('rdap', 'whois'); // Always available as fallbacks
120
121
  return sources;
121
122
  }