domain-search-mcp 1.2.13 → 1.2.14

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.
@@ -0,0 +1 @@
1
+ ghu_jGWUWux2cnn2stxn5fDvYRfAUalcNX2kPevo
@@ -0,0 +1 @@
1
+ {"token":"eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJtY3AtcmVnaXN0cnkiLCJleHAiOjE3NjY4MjU3OTIsIm5iZiI6MTc2NjgyNTQ5MiwiaWF0IjoxNzY2ODI1NDkyLCJhdXRoX21ldGhvZCI6ImdpdGh1Yi1hdCIsImF1dGhfbWV0aG9kX3N1YiI6ImRvcnVrYXJkYWhhbiIsInBlcm1pc3Npb25zIjpbeyJhY3Rpb24iOiJwdWJsaXNoIiwicmVzb3VyY2UiOiJpby5naXRodWIuZG9ydWthcmRhaGFuLyoifV19.fOxYQgr8ZnfRak457qG-p4GGkffs9TGrokvc6dSgWDl7_AhZXQoEAywNOeScmP3QXdblQiRgGBP7eL75aNmeAg","expires_at":1766825792}
package/AGENTS.md ADDED
@@ -0,0 +1,38 @@
1
+ # Repository Guidelines
2
+
3
+ ## Project Structure & Module Organization
4
+ - `src/` holds the MCP server and core logic. Key areas: `src/tools/` (tool definitions and executors), `src/services/` (orchestration), `src/registrars/` (API adapters), `src/fallbacks/` (RDAP/WHOIS), and `src/utils/` (cache, logging, errors, validators).
5
+ - `tests/` contains Jest tests, with unit tests under `tests/unit/`.
6
+ - `examples/` provides runnable scripts that exercise tools end-to-end.
7
+ - `docs/` contains API and configuration docs. `dist/` is generated by the build.
8
+ - Root config files: `package.json`, `tsconfig.json`, `jest.config.js`, `server.json` (MCP metadata).
9
+
10
+ ## Build, Test, and Development Commands
11
+ - `npm run dev`: Run the server in watch mode with `tsx` for local iteration.
12
+ - `npm run build`: Compile TypeScript to `dist/`.
13
+ - `npm start`: Run the compiled server from `dist/`.
14
+ - `npm test`: Run the full Jest suite.
15
+ - `npm run test:unit` / `npm run test:integration`: Focused test runs.
16
+ - `npm run coverage`: Generate coverage output.
17
+ - `npm run lint`: Run ESLint on `src/**/*.ts` (add config if extending lint rules).
18
+ - `npm run clean`: Remove `dist/`.
19
+
20
+ ## Coding Style & Naming Conventions
21
+ - TypeScript, ES modules, semicolons, and 2-space indentation.
22
+ - Keep import paths using `.js` extensions (matches ESM output).
23
+ - Tool modules follow a pattern: `*Tool`, `*Schema`, and `execute*` exports (e.g., `search_domain.ts`).
24
+ - Use `PascalCase` for types/interfaces, `camelCase` for functions, and kebab-case filenames.
25
+
26
+ ## Testing Guidelines
27
+ - Framework: Jest (`jest.config.js`). Tests live in `tests/` and are named `*.test.ts`.
28
+ - Run a single test file with `npx jest tests/unit/cache.test.ts`.
29
+ - Keep unit tests fast and deterministic; integration tests can call real adapters when configured.
30
+
31
+ ## Commit & Pull Request Guidelines
32
+ - Recent commits use Conventional Commits: `type: short summary` (e.g., `docs: ...`, `chore: ...`).
33
+ - PRs should include a clear description of changes, test evidence (command + result), and links to related issues if applicable.
34
+
35
+ ## Configuration & Security Tips
36
+ - Use `.env` for secrets and keep it out of version control; required keys are listed in `README.md` and `docs/CONFIGURATION.md`.
37
+ - Registrar API keys are optional; the server falls back to RDAP/WHOIS when unset.
38
+ - Do not commit `.mcpregistry_*` token files.
package/CLAUDE.md CHANGED
@@ -53,7 +53,7 @@ fallbacks/*.ts (RDAP, WHOIS)
53
53
  **Domain Search Service** (`src/services/domain-search.ts`): Orchestrates source selection:
54
54
  1. Porkbun API (if configured)
55
55
  2. Namecheap API (if configured)
56
- 3. GoDaddy MCP (always available, no auth)
56
+ 3. GoDaddy public endpoint (always available, no auth)
57
57
  4. RDAP fallback
58
58
  5. WHOIS last resort
59
59
 
package/README.md CHANGED
@@ -155,7 +155,7 @@ PORKBUN_API_SECRET=sk1_xxx
155
155
  |--------|-------|---------|---------------|
156
156
  | Porkbun API | Fast | Yes | API key |
157
157
  | Namecheap API | Fast | Yes | API key + IP whitelist |
158
- | GoDaddy MCP | Medium | Yes | None |
158
+ | GoDaddy public endpoint | Medium | No | None |
159
159
  | RDAP | Medium | No | None |
160
160
  | WHOIS | Slow | No | None |
161
161
 
package/dist/config.js CHANGED
@@ -111,7 +111,7 @@ function getAvailableSources() {
111
111
  sources.push('porkbun');
112
112
  if (exports.config.namecheap.enabled)
113
113
  sources.push('namecheap');
114
- sources.push('godaddy'); // GoDaddy MCP - always available (no auth needed)
114
+ sources.push('godaddy'); // GoDaddy public endpoint - always available (no auth needed)
115
115
  sources.push('rdap', 'whois'); // Always available as fallbacks
116
116
  return sources;
117
117
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * GoDaddy Public Endpoint Adapter.
3
+ *
4
+ * Uses GoDaddy's public endpoint for domain availability checks.
5
+ * No API key or reseller account required!
6
+ *
7
+ * Endpoint: https://api.godaddy.com/v1/domains/mcp
8
+ * Protocol: JSON-RPC 2.0 over HTTP (SSE response)
9
+ *
10
+ * Features:
11
+ * - Free availability checking (no auth)
12
+ * - Bulk checking up to 1000 domains
13
+ * - Premium/auction domain detection
14
+ *
15
+ * Limitations:
16
+ * - No pricing information
17
+ * - Rate limits not documented (be conservative)
18
+ */
19
+ import { RegistrarAdapter } from './base.js';
20
+ import type { DomainResult, TLDInfo } from '../types.js';
21
+ /**
22
+ * Parse availability from GoDaddy public endpoint text response.
23
+ * The response is markdown-formatted text with different formats for single vs bulk queries.
24
+ */
25
+ export interface ParsedAvailability {
26
+ available: boolean;
27
+ premium: boolean;
28
+ auction: boolean;
29
+ }
30
+ /**
31
+ * Parsed suggestion from GoDaddy's domains_suggest response.
32
+ */
33
+ export interface GodaddySuggestion {
34
+ domain: string;
35
+ available: boolean;
36
+ premium: boolean;
37
+ auction: boolean;
38
+ }
39
+ /**
40
+ * GoDaddy public endpoint adapter.
41
+ *
42
+ * Uses GoDaddy's public endpoint - no authentication required!
43
+ */
44
+ export declare class GodaddyPublicAdapter extends RegistrarAdapter {
45
+ readonly name = "GoDaddy";
46
+ readonly id = "godaddy";
47
+ constructor();
48
+ /**
49
+ * Check if GoDaddy public endpoint is enabled.
50
+ * Always enabled since no API key needed!
51
+ */
52
+ isEnabled(): boolean;
53
+ /**
54
+ * Search for domain availability using GoDaddy public endpoint.
55
+ */
56
+ search(domain: string, tld: string): Promise<DomainResult>;
57
+ /**
58
+ * Bulk check multiple domains at once.
59
+ * GoDaddy public endpoint supports up to 1000 domains per request.
60
+ */
61
+ bulkSearch(domains: string[]): Promise<Map<string, ParsedAvailability>>;
62
+ /**
63
+ * Get TLD info - not supported by GoDaddy public endpoint.
64
+ */
65
+ getTldInfo(_tld: string): Promise<TLDInfo | null>;
66
+ /**
67
+ * Get domain suggestions from GoDaddy public endpoint.
68
+ * Uses their domains_suggest tool for suggestion results.
69
+ *
70
+ * @param query - Keywords or business description (e.g., "sustainable fashion")
71
+ * @param options - Optional parameters for suggestion customization
72
+ * @returns Array of suggested domains with availability info
73
+ */
74
+ suggestDomains(query: string, options?: {
75
+ tlds?: string[];
76
+ limit?: number;
77
+ }): Promise<GodaddySuggestion[]>;
78
+ /**
79
+ * Call a GoDaddy public JSON-RPC tool.
80
+ */
81
+ private callPublicTool;
82
+ }
83
+ /**
84
+ * Singleton instance.
85
+ */
86
+ export declare const godaddyPublicAdapter: GodaddyPublicAdapter;
87
+ //# sourceMappingURL=godaddy-public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"godaddy-public.d.ts","sourceRoot":"","sources":["../../src/registrars/godaddy-public.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,gBAAgB,EAAe,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAiCzD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAmND;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,QAAQ,CAAC,IAAI,aAAa;IAC1B,QAAQ,CAAC,EAAE,aAAa;;IAQxB;;;OAGG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA0BhE;;;OAGG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAmB7E;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIvD;;;;;;;OAOG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;KACX,GACL,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAsC/B;;OAEG;YACW,cAAc;CAyG7B;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,sBAA6B,CAAC"}
@@ -0,0 +1,419 @@
1
+ "use strict";
2
+ /**
3
+ * GoDaddy Public Endpoint Adapter.
4
+ *
5
+ * Uses GoDaddy's public endpoint for domain availability checks.
6
+ * No API key or reseller account required!
7
+ *
8
+ * Endpoint: https://api.godaddy.com/v1/domains/mcp
9
+ * Protocol: JSON-RPC 2.0 over HTTP (SSE response)
10
+ *
11
+ * Features:
12
+ * - Free availability checking (no auth)
13
+ * - Bulk checking up to 1000 domains
14
+ * - Premium/auction domain detection
15
+ *
16
+ * Limitations:
17
+ * - No pricing information
18
+ * - Rate limits not documented (be conservative)
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.godaddyPublicAdapter = exports.GodaddyPublicAdapter = void 0;
22
+ const zod_1 = require("zod");
23
+ const base_js_1 = require("./base.js");
24
+ const logger_js_1 = require("../utils/logger.js");
25
+ const errors_js_1 = require("../utils/errors.js");
26
+ /**
27
+ * GoDaddy public endpoint.
28
+ */
29
+ const GODADDY_PUBLIC_ENDPOINT = 'https://api.godaddy.com/v1/domains/mcp';
30
+ /**
31
+ * JSON-RPC request ID counter.
32
+ */
33
+ let jsonRpcId = 1;
34
+ /**
35
+ * Response schema for GoDaddy JSON-RPC tool call.
36
+ */
37
+ const GoDaddyRpcResponseSchema = zod_1.z.object({
38
+ jsonrpc: zod_1.z.literal('2.0'),
39
+ id: zod_1.z.number(),
40
+ result: zod_1.z.object({
41
+ content: zod_1.z.array(zod_1.z.object({
42
+ type: zod_1.z.string(),
43
+ text: zod_1.z.string(),
44
+ })),
45
+ isError: zod_1.z.boolean().optional(),
46
+ }).optional(),
47
+ error: zod_1.z.object({
48
+ code: zod_1.z.number(),
49
+ message: zod_1.z.string(),
50
+ }).optional(),
51
+ });
52
+ /**
53
+ * Parse suggestions from GoDaddy public domains_suggest response.
54
+ * Response format varies but typically includes categorized domain lists.
55
+ */
56
+ function parseSuggestResponse(text) {
57
+ const suggestions = [];
58
+ const seenDomains = new Set();
59
+ // Helper to add a suggestion without duplicates
60
+ const addSuggestion = (domain, available, premium, auction) => {
61
+ const normalized = domain.toLowerCase().trim();
62
+ // Validate it looks like a domain (has at least one dot)
63
+ if (normalized.includes('.') && !seenDomains.has(normalized)) {
64
+ seenDomains.add(normalized);
65
+ suggestions.push({ domain: normalized, available, premium, auction });
66
+ }
67
+ };
68
+ // ==== SECTION-BASED PARSING ====
69
+ // GoDaddy groups suggestions by category with emojis
70
+ // ✅ Available/Standard domains
71
+ const availableMatch = text.match(/✅\s*\*\*(?:AVAILABLE|STANDARD)[^]*?(?=(?:💎|🔨|⚠️|❌|\*\*[A-Z])|$)/gi);
72
+ if (availableMatch) {
73
+ for (const section of availableMatch) {
74
+ // Extract domain names (word.tld format)
75
+ const domainMatches = section.match(/\b[a-z0-9][-a-z0-9]*\.[a-z]{2,}\b/gi);
76
+ if (domainMatches) {
77
+ for (const domain of domainMatches) {
78
+ addSuggestion(domain, true, false, false);
79
+ }
80
+ }
81
+ }
82
+ }
83
+ // 💎 Premium domains
84
+ const premiumMatch = text.match(/💎\s*\*\*PREMIUM[^]*?(?=(?:✅|🔨|⚠️|❌|\*\*[A-Z])|$)/gi);
85
+ if (premiumMatch) {
86
+ for (const section of premiumMatch) {
87
+ const domainMatches = section.match(/\b[a-z0-9][-a-z0-9]*\.[a-z]{2,}\b/gi);
88
+ if (domainMatches) {
89
+ for (const domain of domainMatches) {
90
+ addSuggestion(domain, true, true, false);
91
+ }
92
+ }
93
+ }
94
+ }
95
+ // 🔨 Auction domains
96
+ const auctionMatch = text.match(/🔨\s*\*\*AUCTION[^]*?(?=(?:✅|💎|⚠️|❌|\*\*[A-Z])|$)/gi);
97
+ if (auctionMatch) {
98
+ for (const section of auctionMatch) {
99
+ const domainMatches = section.match(/\b[a-z0-9][-a-z0-9]*\.[a-z]{2,}\b/gi);
100
+ if (domainMatches) {
101
+ for (const domain of domainMatches) {
102
+ addSuggestion(domain, true, false, true);
103
+ }
104
+ }
105
+ }
106
+ }
107
+ // ==== FALLBACK: Line-by-line extraction ====
108
+ // If section parsing didn't find much, try line-by-line
109
+ if (suggestions.length < 3) {
110
+ const lines = text.split('\n');
111
+ for (const line of lines) {
112
+ const lowerLine = line.toLowerCase();
113
+ // Skip header lines
114
+ if (lowerLine.includes('**') && !lowerLine.includes('.'))
115
+ continue;
116
+ // Extract any domain-like patterns
117
+ const domainMatches = line.match(/\b[a-z0-9][-a-z0-9]*\.[a-z]{2,}\b/gi);
118
+ if (domainMatches) {
119
+ for (const domain of domainMatches) {
120
+ // Determine type from context
121
+ const isPremium = lowerLine.includes('premium') || lowerLine.includes('💎');
122
+ const isAuction = lowerLine.includes('auction') || lowerLine.includes('🔨');
123
+ const isUnavailable = lowerLine.includes('❌') || lowerLine.includes('unavailable');
124
+ addSuggestion(domain, !isUnavailable, isPremium, isAuction);
125
+ }
126
+ }
127
+ }
128
+ }
129
+ return suggestions;
130
+ }
131
+ function parseAvailabilityResponse(text, domain) {
132
+ const normalizedDomain = domain.toLowerCase();
133
+ const normalizedText = text.toLowerCase();
134
+ // Default: unavailable
135
+ const result = {
136
+ available: false,
137
+ premium: false,
138
+ auction: false,
139
+ };
140
+ // ==== SINGLE DOMAIN FORMAT ====
141
+ // Format: "STATUS: ✅ AVAILABLE" or "AVAILABILITY: Standard registration available"
142
+ if (normalizedText.includes('status:') || normalizedText.includes('availability:')) {
143
+ // Check for explicit availability indicators
144
+ if (normalizedText.includes('status: ✅ available') ||
145
+ normalizedText.includes('✅ available') ||
146
+ normalizedText.includes('standard registration available') ||
147
+ normalizedText.includes('purchasable: yes')) {
148
+ result.available = true;
149
+ // Check if premium
150
+ if (normalizedText.includes('type: premium') || normalizedText.includes('premium domain')) {
151
+ result.premium = true;
152
+ }
153
+ // Check if auction
154
+ if (normalizedText.includes('type: auction') || normalizedText.includes('auction domain')) {
155
+ result.auction = true;
156
+ }
157
+ return result;
158
+ }
159
+ // Explicit unavailable
160
+ if (normalizedText.includes('status: ❌') ||
161
+ normalizedText.includes('not available') ||
162
+ normalizedText.includes('already registered') ||
163
+ normalizedText.includes('purchasable: no')) {
164
+ result.available = false;
165
+ return result;
166
+ }
167
+ }
168
+ // ==== BULK DOMAIN FORMAT ====
169
+ // Check if domain appears in available section
170
+ // GoDaddy formats: "✅ **AVAILABLE DOMAINS" or "✅ **STANDARD SUGGESTIONS"
171
+ const availableMatch = text.match(/✅\s*\*\*(?:AVAILABLE|STANDARD)[^]*?(?=(?:💎|⚠️|❌|\*\*[A-Z])|$)/i);
172
+ if (availableMatch && availableMatch[0].toLowerCase().includes(normalizedDomain)) {
173
+ result.available = true;
174
+ return result;
175
+ }
176
+ // Check premium section
177
+ // GoDaddy format: "💎 **PREMIUM DOMAINS"
178
+ const premiumMatch = text.match(/💎\s*\*\*PREMIUM[^]*?(?=(?:⚠️|❌|\*\*[A-Z])|$)/i);
179
+ if (premiumMatch && premiumMatch[0].toLowerCase().includes(normalizedDomain)) {
180
+ result.available = true;
181
+ result.premium = true;
182
+ return result;
183
+ }
184
+ // Check auction section
185
+ // GoDaddy format: "🔨 **AUCTION DOMAINS" or similar
186
+ const auctionMatch = text.match(/🔨\s*\*\*AUCTION[^]*?(?=(?:💎|⚠️|❌|\*\*[A-Z])|$)/i);
187
+ if (auctionMatch && auctionMatch[0].toLowerCase().includes(normalizedDomain)) {
188
+ result.available = true;
189
+ result.auction = true;
190
+ return result;
191
+ }
192
+ // Check unavailable section
193
+ // GoDaddy format: "❌ **UNAVAILABLE DOMAINS"
194
+ const unavailableMatch = text.match(/❌\s*\*\*UNAVAILABLE[^]*?(?=(?:💎|⚠️|\*\*[A-Z])|$)/i);
195
+ if (unavailableMatch && unavailableMatch[0].toLowerCase().includes(normalizedDomain)) {
196
+ result.available = false;
197
+ return result;
198
+ }
199
+ // ==== FALLBACK: LINE-BY-LINE ANALYSIS ====
200
+ const lines = text.split('\n');
201
+ for (const line of lines) {
202
+ const lowerLine = line.toLowerCase();
203
+ // Check for domain-specific lines or general status
204
+ if (lowerLine.includes(normalizedDomain) || lowerLine.includes('status') || lowerLine.includes('available')) {
205
+ // Premium indicators
206
+ if (lowerLine.includes('premium')) {
207
+ result.available = true;
208
+ result.premium = true;
209
+ return result;
210
+ }
211
+ // Auction indicators
212
+ if (lowerLine.includes('auction')) {
213
+ result.available = true;
214
+ result.auction = true;
215
+ return result;
216
+ }
217
+ // Available indicators (must check before unavailable since "unavailable" contains "available")
218
+ if ((lowerLine.includes('✅') && lowerLine.includes('available')) ||
219
+ lowerLine.includes('register at') ||
220
+ lowerLine.includes('can be registered')) {
221
+ result.available = true;
222
+ return result;
223
+ }
224
+ // Unavailable indicators
225
+ if (lowerLine.includes('❌') || lowerLine.includes('unavailable') || lowerLine.includes('not available')) {
226
+ result.available = false;
227
+ return result;
228
+ }
229
+ }
230
+ }
231
+ return result;
232
+ }
233
+ /**
234
+ * GoDaddy public endpoint adapter.
235
+ *
236
+ * Uses GoDaddy's public endpoint - no authentication required!
237
+ */
238
+ class GodaddyPublicAdapter extends base_js_1.RegistrarAdapter {
239
+ name = 'GoDaddy';
240
+ id = 'godaddy';
241
+ constructor() {
242
+ // Conservative rate limit - GoDaddy doesn't document their limits
243
+ // Using 30/min to be safe (they say "excessive requests may be throttled")
244
+ super(30);
245
+ }
246
+ /**
247
+ * Check if GoDaddy public endpoint is enabled.
248
+ * Always enabled since no API key needed!
249
+ */
250
+ isEnabled() {
251
+ return true;
252
+ }
253
+ /**
254
+ * Search for domain availability using GoDaddy public endpoint.
255
+ */
256
+ async search(domain, tld) {
257
+ const fullDomain = `${domain}.${tld}`;
258
+ return this.retryWithBackoff(async () => {
259
+ const text = await this.callPublicTool('domains_check_availability', {
260
+ domains: fullDomain,
261
+ });
262
+ const parsed = parseAvailabilityResponse(text, fullDomain);
263
+ return this.createResult(domain, tld, {
264
+ available: parsed.available,
265
+ premium: parsed.premium,
266
+ price_first_year: null, // GoDaddy public endpoint doesn't provide pricing
267
+ price_renewal: null,
268
+ privacy_included: false, // Unknown
269
+ source: 'godaddy_api',
270
+ premium_reason: parsed.premium
271
+ ? 'Premium domain (GoDaddy)'
272
+ : parsed.auction
273
+ ? 'Auction domain (GoDaddy)'
274
+ : undefined,
275
+ });
276
+ }, `check ${fullDomain}`);
277
+ }
278
+ /**
279
+ * Bulk check multiple domains at once.
280
+ * GoDaddy public endpoint supports up to 1000 domains per request.
281
+ */
282
+ async bulkSearch(domains) {
283
+ const results = new Map();
284
+ // GoDaddy accepts comma-separated domains
285
+ const domainList = domains.join(', ');
286
+ const text = await this.callPublicTool('domains_check_availability', {
287
+ domains: domainList,
288
+ });
289
+ // Parse results for each domain
290
+ for (const domain of domains) {
291
+ const parsed = parseAvailabilityResponse(text, domain);
292
+ results.set(domain.toLowerCase(), parsed);
293
+ }
294
+ return results;
295
+ }
296
+ /**
297
+ * Get TLD info - not supported by GoDaddy public endpoint.
298
+ */
299
+ async getTldInfo(_tld) {
300
+ return null;
301
+ }
302
+ /**
303
+ * Get domain suggestions from GoDaddy public endpoint.
304
+ * Uses their domains_suggest tool for suggestion results.
305
+ *
306
+ * @param query - Keywords or business description (e.g., "sustainable fashion")
307
+ * @param options - Optional parameters for suggestion customization
308
+ * @returns Array of suggested domains with availability info
309
+ */
310
+ async suggestDomains(query, options = {}) {
311
+ const { tlds, limit = 50 } = options;
312
+ return this.retryWithBackoff(async () => {
313
+ // Build the query - GoDaddy accepts natural language
314
+ let fullQuery = query;
315
+ if (tlds && tlds.length > 0) {
316
+ fullQuery = `${query} (prefer .${tlds.join(', .')})`;
317
+ }
318
+ const text = await this.callPublicTool('domains_suggest', {
319
+ query: fullQuery,
320
+ });
321
+ logger_js_1.logger.debug('GoDaddy domains_suggest raw response', {
322
+ query: fullQuery,
323
+ response_length: text.length,
324
+ preview: text.substring(0, 500),
325
+ });
326
+ const suggestions = parseSuggestResponse(text);
327
+ // Filter by TLD if specified
328
+ let filtered = suggestions;
329
+ if (tlds && tlds.length > 0) {
330
+ const tldSet = new Set(tlds.map(t => t.toLowerCase()));
331
+ filtered = suggestions.filter(s => {
332
+ const parts = s.domain.split('.');
333
+ const tld = parts[parts.length - 1];
334
+ return tld && tldSet.has(tld);
335
+ });
336
+ }
337
+ // Limit results
338
+ return filtered.slice(0, limit);
339
+ }, `suggest domains for "${query}"`);
340
+ }
341
+ /**
342
+ * Call a GoDaddy public JSON-RPC tool.
343
+ */
344
+ async callPublicTool(toolName, args) {
345
+ const requestId = jsonRpcId++;
346
+ const payload = {
347
+ jsonrpc: '2.0',
348
+ method: 'tools/call',
349
+ params: {
350
+ name: toolName,
351
+ arguments: args,
352
+ },
353
+ id: requestId,
354
+ };
355
+ logger_js_1.logger.debug('GoDaddy public request', {
356
+ tool: toolName,
357
+ args,
358
+ request_id: requestId,
359
+ });
360
+ try {
361
+ const response = await this.withTimeout(fetch(GODADDY_PUBLIC_ENDPOINT, {
362
+ method: 'POST',
363
+ headers: {
364
+ 'Content-Type': 'application/json',
365
+ 'Accept': 'application/json, text/event-stream',
366
+ },
367
+ body: JSON.stringify(payload),
368
+ }), `GoDaddy public ${toolName}`, 15000);
369
+ if (!response.ok) {
370
+ throw new errors_js_1.RegistrarApiError('GoDaddy', `HTTP ${response.status}: ${response.statusText}`);
371
+ }
372
+ // Response is SSE format: "event: message\ndata: {...}"
373
+ const rawText = await response.text();
374
+ // Extract JSON from SSE format
375
+ const dataMatch = rawText.match(/data:\s*(\{.*\})/s);
376
+ if (!dataMatch) {
377
+ throw new errors_js_1.RegistrarApiError('GoDaddy', 'Invalid response format - expected SSE');
378
+ }
379
+ const jsonStr = dataMatch[1];
380
+ const parsed = JSON.parse(jsonStr);
381
+ // Validate response
382
+ const validated = GoDaddyRpcResponseSchema.parse(parsed);
383
+ if (validated.error) {
384
+ throw new errors_js_1.RegistrarApiError('GoDaddy', `RPC Error ${validated.error.code}: ${validated.error.message}`);
385
+ }
386
+ if (!validated.result || validated.result.isError) {
387
+ throw new errors_js_1.RegistrarApiError('GoDaddy', 'Tool call returned error');
388
+ }
389
+ // Extract text content
390
+ const textContent = validated.result.content.find(c => c.type === 'text');
391
+ if (!textContent) {
392
+ throw new errors_js_1.RegistrarApiError('GoDaddy', 'No text content in response');
393
+ }
394
+ logger_js_1.logger.debug('GoDaddy public response', {
395
+ request_id: requestId,
396
+ text_length: textContent.text.length,
397
+ });
398
+ return textContent.text;
399
+ }
400
+ catch (error) {
401
+ if (error instanceof errors_js_1.RegistrarApiError) {
402
+ throw error;
403
+ }
404
+ if (error instanceof Error) {
405
+ if (error.name === 'AbortError' || error.message.includes('timeout')) {
406
+ throw error;
407
+ }
408
+ throw new errors_js_1.RegistrarApiError('GoDaddy', error.message);
409
+ }
410
+ throw new errors_js_1.RegistrarApiError('GoDaddy', 'Unknown network error');
411
+ }
412
+ }
413
+ }
414
+ exports.GodaddyPublicAdapter = GodaddyPublicAdapter;
415
+ /**
416
+ * Singleton instance.
417
+ */
418
+ exports.godaddyPublicAdapter = new GodaddyPublicAdapter();
419
+ //# sourceMappingURL=godaddy-public.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"godaddy-public.js","sourceRoot":"","sources":["../../src/registrars/godaddy-public.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@
4
4
  export { RegistrarAdapter } from './base.js';
5
5
  export { PorkbunAdapter, porkbunAdapter } from './porkbun.js';
6
6
  export { NamecheapAdapter, namecheapAdapter } from './namecheap.js';
7
- export { GodaddyMcpAdapter, godaddyMcpAdapter, type GodaddySuggestion, type ParsedAvailability, } from './godaddy-mcp.js';
7
+ export { GodaddyPublicAdapter, godaddyPublicAdapter, type GodaddySuggestion, type ParsedAvailability, } from './godaddy-public.js';
8
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registrars/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/registrars/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Registrar Exports.
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.godaddyMcpAdapter = exports.GodaddyMcpAdapter = exports.namecheapAdapter = exports.NamecheapAdapter = exports.porkbunAdapter = exports.PorkbunAdapter = exports.RegistrarAdapter = void 0;
6
+ exports.godaddyPublicAdapter = exports.GodaddyPublicAdapter = exports.namecheapAdapter = exports.NamecheapAdapter = exports.porkbunAdapter = exports.PorkbunAdapter = exports.RegistrarAdapter = void 0;
7
7
  var base_js_1 = require("./base.js");
8
8
  Object.defineProperty(exports, "RegistrarAdapter", { enumerable: true, get: function () { return base_js_1.RegistrarAdapter; } });
9
9
  var porkbun_js_1 = require("./porkbun.js");
@@ -12,7 +12,7 @@ Object.defineProperty(exports, "porkbunAdapter", { enumerable: true, get: functi
12
12
  var namecheap_js_1 = require("./namecheap.js");
13
13
  Object.defineProperty(exports, "NamecheapAdapter", { enumerable: true, get: function () { return namecheap_js_1.NamecheapAdapter; } });
14
14
  Object.defineProperty(exports, "namecheapAdapter", { enumerable: true, get: function () { return namecheap_js_1.namecheapAdapter; } });
15
- var godaddy_mcp_js_1 = require("./godaddy-mcp.js");
16
- Object.defineProperty(exports, "GodaddyMcpAdapter", { enumerable: true, get: function () { return godaddy_mcp_js_1.GodaddyMcpAdapter; } });
17
- Object.defineProperty(exports, "godaddyMcpAdapter", { enumerable: true, get: function () { return godaddy_mcp_js_1.godaddyMcpAdapter; } });
15
+ var godaddy_public_js_1 = require("./godaddy-public.js");
16
+ Object.defineProperty(exports, "GodaddyPublicAdapter", { enumerable: true, get: function () { return godaddy_public_js_1.GodaddyPublicAdapter; } });
17
+ Object.defineProperty(exports, "godaddyPublicAdapter", { enumerable: true, get: function () { return godaddy_public_js_1.godaddyPublicAdapter; } });
18
18
  //# sourceMappingURL=index.js.map