@kya-os/mcp-i 0.1.0-alpha.2.1 → 0.1.0-alpha.2.3

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 (44) hide show
  1. package/README.md +271 -47
  2. package/dist/index.d.ts +63 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +298 -55
  5. package/dist/index.js.map +1 -1
  6. package/dist/registry/cursor.d.ts +25 -0
  7. package/dist/registry/cursor.d.ts.map +1 -0
  8. package/dist/registry/cursor.js +108 -0
  9. package/dist/registry/cursor.js.map +1 -0
  10. package/dist/registry/glama.d.ts +25 -0
  11. package/dist/registry/glama.d.ts.map +1 -0
  12. package/dist/registry/glama.js +111 -0
  13. package/dist/registry/glama.js.map +1 -0
  14. package/dist/registry/index.d.ts +43 -0
  15. package/dist/registry/index.d.ts.map +1 -0
  16. package/dist/registry/index.js +96 -0
  17. package/dist/registry/index.js.map +1 -0
  18. package/dist/registry/knowthat.d.ts +28 -0
  19. package/dist/registry/knowthat.d.ts.map +1 -0
  20. package/dist/registry/knowthat.js +113 -0
  21. package/dist/registry/knowthat.js.map +1 -0
  22. package/dist/registry/smithery.d.ts +29 -0
  23. package/dist/registry/smithery.d.ts.map +1 -0
  24. package/dist/registry/smithery.js +119 -0
  25. package/dist/registry/smithery.js.map +1 -0
  26. package/dist/types.d.ts +91 -1
  27. package/dist/types.d.ts.map +1 -1
  28. package/package.json +22 -4
  29. package/dist/auto-enhance.d.ts +0 -41
  30. package/dist/auto-enhance.d.ts.map +0 -1
  31. package/dist/auto-enhance.js +0 -193
  32. package/dist/auto-enhance.js.map +0 -1
  33. package/dist/auto-init.d.ts +0 -12
  34. package/dist/auto-init.d.ts.map +0 -1
  35. package/dist/auto-init.js +0 -166
  36. package/dist/auto-init.js.map +0 -1
  37. package/dist/patch.d.ts +0 -22
  38. package/dist/patch.d.ts.map +0 -1
  39. package/dist/patch.js +0 -164
  40. package/dist/patch.js.map +0 -1
  41. package/dist/transparent.d.ts +0 -40
  42. package/dist/transparent.d.ts.map +0 -1
  43. package/dist/transparent.js +0 -167
  44. package/dist/transparent.js.map +0 -1
package/dist/index.js CHANGED
@@ -13,6 +13,14 @@
13
13
  * import { enableMCPIdentity } from "@kya-os/mcp-i";
14
14
  * await enableMCPIdentity({ name: "My Amazing Agent" });
15
15
  * ```
16
+ *
17
+ * Future multi-registry support:
18
+ * ```typescript
19
+ * await enableMCPIdentity({
20
+ * name: "My Agent",
21
+ * // Additional registries will be supported as directories adopt MCP-I
22
+ * });
23
+ * ```
16
24
  */
17
25
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
26
  if (k2 === undefined) k2 = k;
@@ -54,24 +62,40 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
54
62
  return (mod && mod.__esModule) ? mod : { "default": mod };
55
63
  };
56
64
  Object.defineProperty(exports, "__esModule", { value: true });
57
- exports.MCPIdentity = void 0;
65
+ exports.MCPIdentity = exports.resolveRegistries = exports.REGISTRY_TIERS = exports.RegistryFactory = void 0;
58
66
  exports.enableMCPIdentity = enableMCPIdentity;
59
67
  const axios_1 = __importDefault(require("axios"));
60
68
  const fs = __importStar(require("fs"));
61
69
  const path = __importStar(require("path"));
62
70
  const crypto = __importStar(require("./crypto"));
63
- // Re-export types for convenience
71
+ const registry_1 = require("./registry");
72
+ // Re-export types and registry utilities for convenience
64
73
  __exportStar(require("./types"), exports);
74
+ var registry_2 = require("./registry");
75
+ Object.defineProperty(exports, "RegistryFactory", { enumerable: true, get: function () { return registry_2.RegistryFactory; } });
76
+ Object.defineProperty(exports, "REGISTRY_TIERS", { enumerable: true, get: function () { return registry_2.REGISTRY_TIERS; } });
77
+ Object.defineProperty(exports, "resolveRegistries", { enumerable: true, get: function () { return registry_2.resolveRegistries; } });
65
78
  // Global identity instance
66
79
  let globalIdentity = null;
67
80
  class MCPIdentity {
68
81
  constructor(identity, options = {}) {
69
82
  this.usedNonces = new Set();
83
+ this.registryAdapters = new Map();
70
84
  this.did = identity.did;
71
85
  this.publicKey = identity.publicKey;
72
86
  this.privateKey = identity.privateKey;
73
87
  this.timestampTolerance = options.timestampTolerance || 60000; // 60 seconds
74
88
  this.enableNonceTracking = options.enableNonceTracking !== false;
89
+ // Multi-registry initialization
90
+ this.didHost = identity.didHost || 'knowthat';
91
+ this.registries = identity.registries || [
92
+ {
93
+ name: this.didHost,
94
+ status: 'active',
95
+ type: 'primary',
96
+ registeredAt: identity.registeredAt
97
+ }
98
+ ];
75
99
  // Start nonce cleanup if tracking is enabled
76
100
  if (this.enableNonceTracking) {
77
101
  this.startNonceCleanup();
@@ -79,48 +103,206 @@ class MCPIdentity {
79
103
  }
80
104
  /**
81
105
  * Initialize MCP Identity - the main entry point
106
+ *
107
+ * IMPORTANT: This only makes API calls in these cases:
108
+ * 1. First time ever (no identity exists) - registers with all specified registries
109
+ * 2. Adding new registries to existing identity - only calls the new registries
110
+ *
111
+ * After initial registration, all subsequent calls load from disk with NO API calls.
82
112
  */
83
113
  static async init(options) {
84
- // Return existing global identity if already initialized (unless forced)
85
- if (globalIdentity && !options?.forceNew) {
114
+ // Return existing global identity if already initialized
115
+ if (globalIdentity) {
116
+ // Check if we need to sync to new registries
117
+ if (options?.registries) {
118
+ const requestedRegistries = (0, registry_1.resolveRegistries)(options.registries);
119
+ await globalIdentity.syncToRegistries(requestedRegistries);
120
+ }
86
121
  return globalIdentity;
87
122
  }
88
123
  // Try to load existing identity
89
124
  let identity = await loadIdentity(options?.persistencePath);
90
- // Auto-register if needed
91
- if (!identity) {
92
- console.log('[MCP-I] No existing identity found, auto-registering...');
93
- const response = await autoRegister({
94
- name: options?.name || process.env.MCP_SERVER_NAME || 'Unnamed MCP Server',
95
- description: options?.description,
96
- repository: options?.repository,
97
- apiEndpoint: options?.apiEndpoint || 'https://knowthat.ai'
98
- });
99
- // Create persisted identity
100
- identity = {
101
- did: response.did,
102
- publicKey: response.keys.publicKey,
103
- privateKey: response.keys.privateKey || '',
104
- agentId: response.agent.id,
105
- agentSlug: response.agent.slug,
106
- registeredAt: new Date().toISOString(),
107
- };
108
- // If no private key was provided, generate one
109
- if (!identity.privateKey) {
110
- console.log('[MCP-I] Generating cryptographic keys...');
111
- const keyPair = await crypto.generateKeyPair();
112
- identity.publicKey = keyPair.publicKey;
113
- identity.privateKey = keyPair.privateKey;
125
+ // Handle existing identity
126
+ if (identity) {
127
+ console.log('[MCP-I] Loaded existing identity:', identity.did);
128
+ globalIdentity = new MCPIdentity(identity, options);
129
+ // Sync to any new registries specified in options
130
+ if (options?.registries) {
131
+ const requestedRegistries = (0, registry_1.resolveRegistries)(options.registries);
132
+ await globalIdentity.syncToRegistries(requestedRegistries);
114
133
  }
115
- // Save for future use
116
- await saveIdentity(identity, options?.persistencePath);
117
- console.log('[MCP-I] ✅ Success! Your agent has been registered.');
118
- console.log(`[MCP-I] DID: ${response.did}`);
119
- console.log(`[MCP-I] Profile: ${response.agent.url}`);
134
+ return globalIdentity;
120
135
  }
136
+ // No existing identity - need to create new one
137
+ console.log('[MCP-I] No existing identity found, creating new identity...');
138
+ // Resolve which registries to use
139
+ const registriesToUse = (0, registry_1.resolveRegistries)(options?.registries);
140
+ const primaryRegistry = options?.didHost || 'knowthat';
141
+ // Ensure primary registry is first
142
+ const orderedRegistries = [
143
+ primaryRegistry,
144
+ ...registriesToUse.filter(r => r !== primaryRegistry)
145
+ ];
146
+ console.log('[MCP-I] Publishing to registries:', orderedRegistries.join(', '));
147
+ // Create DID at primary registry (KnowThat by default)
148
+ const primaryAdapter = registry_1.RegistryFactory.getAdapter(primaryRegistry);
149
+ if (!primaryAdapter || primaryAdapter.type !== 'primary') {
150
+ throw new Error(`Primary registry ${primaryRegistry} not available or not a primary registry`);
151
+ }
152
+ const publishData = {
153
+ did: '', // Will be filled after registration
154
+ name: options?.name || process.env.MCP_SERVER_NAME || 'Unnamed MCP Server',
155
+ description: options?.description,
156
+ repository: options?.repository,
157
+ publicKey: '', // Will be filled after key generation
158
+ metadata: {}
159
+ };
160
+ // Generate keys first
161
+ console.log('[MCP-I] Generating cryptographic keys...');
162
+ const keyPair = await crypto.generateKeyPair();
163
+ publishData.publicKey = keyPair.publicKey;
164
+ // Register with primary registry
165
+ console.log(`[MCP-I] Registering with primary registry: ${primaryRegistry}`);
166
+ const primaryResult = await primaryAdapter.publish(publishData);
167
+ if (!primaryResult.success) {
168
+ throw new Error(`Failed to register with primary registry: ${primaryResult.error}`);
169
+ }
170
+ // Get the full registration response (this is a bit hacky but maintains compatibility)
171
+ const response = await autoRegister({
172
+ name: publishData.name,
173
+ description: publishData.description,
174
+ repository: publishData.repository,
175
+ apiEndpoint: primaryRegistry === 'knowthat' ? 'https://knowthat.ai' : options?.apiEndpoint || 'https://knowthat.ai'
176
+ });
177
+ // Create persisted identity
178
+ identity = {
179
+ did: response.did,
180
+ publicKey: keyPair.publicKey,
181
+ privateKey: keyPair.privateKey,
182
+ agentId: response.agent.id,
183
+ agentSlug: response.agent.slug,
184
+ registeredAt: new Date().toISOString(),
185
+ didHost: primaryRegistry,
186
+ registries: [{
187
+ name: primaryRegistry,
188
+ status: 'active',
189
+ type: 'primary',
190
+ registeredAt: new Date().toISOString(),
191
+ registryAgentId: response.agent.id
192
+ }]
193
+ };
194
+ // Save identity before publishing to other registries
195
+ await saveIdentity(identity, options?.persistencePath);
196
+ console.log('[MCP-I] ✅ Success! Your agent has been registered.');
197
+ console.log(`[MCP-I] DID: ${response.did}`);
198
+ console.log(`[MCP-I] Profile: ${response.agent.url}`);
199
+ // Create MCPIdentity instance
121
200
  globalIdentity = new MCPIdentity(identity, options);
201
+ // Publish to additional registries
202
+ if (orderedRegistries.length > 1) {
203
+ console.log('[MCP-I] Publishing to additional registries...');
204
+ await globalIdentity.syncToRegistries(orderedRegistries.slice(1));
205
+ }
122
206
  return globalIdentity;
123
207
  }
208
+ /**
209
+ * Sync identity to additional registries
210
+ *
211
+ * RATE LIMITED: Each registry can only be synced once per minute to prevent spam.
212
+ * Skips registries that are already active.
213
+ */
214
+ async syncToRegistries(registryNames) {
215
+ const publishData = {
216
+ did: this.did,
217
+ name: this.extractAgentName(),
218
+ description: '', // Would need to store this
219
+ repository: '', // Would need to store this
220
+ publicKey: this.publicKey,
221
+ agentId: this.extractAgentId(),
222
+ agentSlug: this.extractAgentSlug(),
223
+ metadata: {}
224
+ };
225
+ for (const registryName of registryNames) {
226
+ // Skip if already registered
227
+ if (this.registries.some(r => r.name === registryName && r.status === 'active')) {
228
+ continue;
229
+ }
230
+ const adapter = registry_1.RegistryFactory.getAdapter(registryName);
231
+ if (!adapter) {
232
+ console.warn(`[MCP-I] Registry ${registryName} not available, skipping`);
233
+ continue;
234
+ }
235
+ try {
236
+ console.log(`[MCP-I] Publishing to ${registryName}...`);
237
+ const result = await adapter.publish(publishData);
238
+ if (result.success) {
239
+ // Update registry status
240
+ const existingIndex = this.registries.findIndex(r => r.name === registryName);
241
+ const newStatus = {
242
+ name: registryName,
243
+ status: 'active',
244
+ type: adapter.type,
245
+ registeredAt: new Date().toISOString(),
246
+ registryAgentId: result.registryAgentId
247
+ };
248
+ if (existingIndex >= 0) {
249
+ this.registries[existingIndex] = newStatus;
250
+ }
251
+ else {
252
+ this.registries.push(newStatus);
253
+ }
254
+ console.log(`[MCP-I] ✅ Published to ${registryName}: ${result.profileUrl || 'success'}`);
255
+ }
256
+ else {
257
+ console.error(`[MCP-I] ❌ Failed to publish to ${registryName}: ${result.error}`);
258
+ // Update registry status with error
259
+ this.registries.push({
260
+ name: registryName,
261
+ status: 'failed',
262
+ type: adapter.type,
263
+ error: result.error,
264
+ lastSyncAt: new Date().toISOString()
265
+ });
266
+ }
267
+ }
268
+ catch (error) {
269
+ console.error(`[MCP-I] ❌ Error publishing to ${registryName}:`, error.message);
270
+ this.registries.push({
271
+ name: registryName,
272
+ status: 'failed',
273
+ type: 'secondary',
274
+ error: error.message,
275
+ lastSyncAt: new Date().toISOString()
276
+ });
277
+ }
278
+ }
279
+ // Save updated registry status
280
+ await this.persistRegistryStatus();
281
+ }
282
+ /**
283
+ * Add a new registry
284
+ */
285
+ async addRegistry(registryName) {
286
+ await this.syncToRegistries([registryName]);
287
+ }
288
+ /**
289
+ * Add multiple registries
290
+ */
291
+ async addRegistries(registryNames) {
292
+ await this.syncToRegistries(registryNames);
293
+ }
294
+ /**
295
+ * Get current registry status
296
+ */
297
+ getRegistryStatus() {
298
+ return [...this.registries];
299
+ }
300
+ /**
301
+ * Check if registered with a specific registry
302
+ */
303
+ isRegisteredWith(registryName) {
304
+ return this.registries.some(r => r.name === registryName && r.status === 'active');
305
+ }
124
306
  /**
125
307
  * Sign a message with the agent's private key using Ed25519
126
308
  */
@@ -177,6 +359,10 @@ class MCPIdentity {
177
359
  * Get MCP-I capabilities for advertisement
178
360
  */
179
361
  getCapabilities() {
362
+ const activeRegistries = this.registries.filter(r => r.status === 'active');
363
+ const secondaryRegistries = activeRegistries
364
+ .filter(r => r.type === 'secondary')
365
+ .map(r => r.name);
180
366
  return {
181
367
  version: '1.0',
182
368
  did: this.did,
@@ -184,7 +370,11 @@ class MCPIdentity {
184
370
  conformanceLevel: 2, // Level 2: Full crypto with challenge-response
185
371
  handshakeSupported: true,
186
372
  handshakeEndpoint: '/_mcp-i/handshake',
187
- verificationEndpoint: `https://knowthat.ai/api/agents/${this.did}/verify`
373
+ verificationEndpoint: `https://${this.didHost === 'knowthat' ? 'knowthat.ai' : this.didHost}/api/agents/${this.did}/verify`,
374
+ registries: {
375
+ primary: this.didHost,
376
+ secondary: secondaryRegistries
377
+ }
188
378
  };
189
379
  }
190
380
  /**
@@ -219,6 +409,25 @@ class MCPIdentity {
219
409
  static generateNonce() {
220
410
  return crypto.generateNonce();
221
411
  }
412
+ /**
413
+ * Request edit access to agent profile
414
+ * Returns a signed URL for editing the agent on the registry
415
+ */
416
+ async requestEditAccess(registryName) {
417
+ const registry = registryName || this.didHost;
418
+ const timestamp = Date.now();
419
+ const message = `edit-request:${this.did}:${registry}:${timestamp}`;
420
+ const signature = await this.sign(message);
421
+ // Construct edit URL with proof of ownership
422
+ const baseUrl = registry === 'knowthat'
423
+ ? 'https://knowthat.ai'
424
+ : `https://${registry}`;
425
+ const editUrl = new URL(`${baseUrl}/agents/edit`);
426
+ editUrl.searchParams.set('did', this.did);
427
+ editUrl.searchParams.set('timestamp', timestamp.toString());
428
+ editUrl.searchParams.set('signature', signature);
429
+ return editUrl.toString();
430
+ }
222
431
  /**
223
432
  * Clean up old nonces periodically to prevent memory leaks
224
433
  */
@@ -241,6 +450,40 @@ class MCPIdentity {
241
450
  }
242
451
  this.usedNonces.clear();
243
452
  }
453
+ /**
454
+ * Helper to extract agent name from DID
455
+ */
456
+ extractAgentName() {
457
+ // Try to get from persisted data or environment
458
+ return process.env.MCP_SERVER_NAME || 'Unknown Agent';
459
+ }
460
+ /**
461
+ * Helper to extract agent ID
462
+ */
463
+ extractAgentId() {
464
+ return process.env.AGENT_ID || '';
465
+ }
466
+ /**
467
+ * Helper to extract agent slug
468
+ */
469
+ extractAgentSlug() {
470
+ const parts = this.did.split(':');
471
+ return parts[parts.length - 1];
472
+ }
473
+ /**
474
+ * Persist updated registry status
475
+ */
476
+ async persistRegistryStatus() {
477
+ try {
478
+ const filePath = path.join(process.cwd(), '.mcp-identity.json');
479
+ const current = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
480
+ current.registries = this.registries;
481
+ fs.writeFileSync(filePath, JSON.stringify(current, null, 2));
482
+ }
483
+ catch (error) {
484
+ console.error('[MCP-I] Failed to persist registry status:', error);
485
+ }
486
+ }
244
487
  }
245
488
  exports.MCPIdentity = MCPIdentity;
246
489
  /**
@@ -308,14 +551,29 @@ function patchMCPServer(identity) {
308
551
  async function loadIdentity(customPath) {
309
552
  // Check environment variables first (already loaded by process)
310
553
  if (process.env.AGENT_DID && process.env.AGENT_PUBLIC_KEY && process.env.AGENT_PRIVATE_KEY) {
311
- return {
554
+ const identity = {
312
555
  did: process.env.AGENT_DID,
313
556
  publicKey: process.env.AGENT_PUBLIC_KEY,
314
557
  privateKey: process.env.AGENT_PRIVATE_KEY,
315
558
  agentId: process.env.AGENT_ID || '',
316
559
  agentSlug: process.env.AGENT_SLUG || '',
317
- registeredAt: new Date().toISOString()
560
+ registeredAt: new Date().toISOString(),
561
+ didHost: process.env.AGENT_DID_HOST || 'knowthat'
318
562
  };
563
+ // Try to load registry status from file
564
+ try {
565
+ const filePath = customPath || path.join(process.cwd(), '.mcp-identity.json');
566
+ if (fs.existsSync(filePath)) {
567
+ const fileContent = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
568
+ if (fileContent.registries) {
569
+ identity.registries = fileContent.registries;
570
+ }
571
+ }
572
+ }
573
+ catch {
574
+ // Ignore errors
575
+ }
576
+ return identity;
319
577
  }
320
578
  // Check JSON file (most reliable for programmatic access)
321
579
  const filePath = customPath || path.join(process.cwd(), '.mcp-identity.json');
@@ -331,25 +589,10 @@ async function loadIdentity(customPath) {
331
589
  return null;
332
590
  }
333
591
  async function saveIdentity(identity, customPath) {
334
- // Save to .env (standard) and .env.local (for frameworks)
335
- const envContent = `
336
- # MCP-I Identity (auto-generated)
337
- AGENT_DID="${identity.did}"
338
- AGENT_PUBLIC_KEY="${identity.publicKey}"
339
- AGENT_PRIVATE_KEY="${identity.privateKey}"
340
- AGENT_ID="${identity.agentId}"
341
- AGENT_SLUG="${identity.agentSlug}"
342
- `;
343
- // Save to .env for standard Node.js compatibility
344
- const envPath = path.join(process.cwd(), '.env');
345
- fs.writeFileSync(envPath, envContent.trim());
346
- // Also save to .env.local for framework compatibility (Next.js, Vite, etc.)
347
- const envLocalPath = path.join(process.cwd(), '.env.local');
348
- fs.writeFileSync(envLocalPath, envContent.trim());
349
- // Also save as JSON for programmatic access
592
+ // Save as JSON for programmatic access
350
593
  const filePath = customPath || path.join(process.cwd(), '.mcp-identity.json');
351
594
  fs.writeFileSync(filePath, JSON.stringify(identity, null, 2));
352
- console.log('[MCP-I] Identity saved to .env, .env.local, and .mcp-identity.json');
595
+ console.log('[MCP-I] Identity saved to .mcp-identity.json');
353
596
  }
354
597
  async function autoRegister(options) {
355
598
  try {
@@ -361,7 +604,7 @@ async function autoRegister(options) {
361
604
  version: '1.0.0'
362
605
  },
363
606
  clientInfo: {
364
- sdkVersion: '0.1.0-alpha.2.0',
607
+ sdkVersion: '0.2.0',
365
608
  language: 'typescript',
366
609
  platform: 'node' // Always node for MCP servers
367
610
  }
@@ -369,7 +612,7 @@ async function autoRegister(options) {
369
612
  timeout: 30000,
370
613
  headers: {
371
614
  'Content-Type': 'application/json',
372
- 'User-Agent': '@kya-os/mcp-i/0.1.0-alpha.2.0'
615
+ 'User-Agent': '@kya-os/mcp-i/0.2.0'
373
616
  }
374
617
  });
375
618
  return response.data;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Cursor.directory Registry Adapter
3
+ * Secondary registry for Cursor IDE integration
4
+ */
5
+ import { RegistryAdapter, RegistryPublishData, RegistryPublishResult, RegistryStatus } from '../types';
6
+ export declare class CursorRegistry implements RegistryAdapter {
7
+ name: string;
8
+ type: 'primary' | 'secondary';
9
+ private endpoint;
10
+ private apiKey?;
11
+ constructor(endpoint?: string, apiKey?: string);
12
+ /**
13
+ * Publish agent to Cursor directory
14
+ */
15
+ publish(data: RegistryPublishData): Promise<RegistryPublishResult>;
16
+ /**
17
+ * Verify agent exists in Cursor directory
18
+ */
19
+ verify(did: string): Promise<boolean>;
20
+ /**
21
+ * Get agent status in Cursor
22
+ */
23
+ getStatus(did: string): Promise<RegistryStatus>;
24
+ }
25
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/registry/cursor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACf,MAAM,UAAU,CAAC;AAElB,qBAAa,cAAe,YAAW,eAAe;IACpD,IAAI,SAAY;IAChB,IAAI,EAAE,SAAS,GAAG,WAAW,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEZ,QAAQ,SAA6B,EAAE,MAAM,CAAC,EAAE,MAAM;IAKlE;;OAEG;IACG,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA6CxE;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB3C;;OAEG;IACG,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CA6BtD"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ /**
3
+ * Cursor.directory Registry Adapter
4
+ * Secondary registry for Cursor IDE integration
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.CursorRegistry = void 0;
11
+ const axios_1 = __importDefault(require("axios"));
12
+ class CursorRegistry {
13
+ constructor(endpoint = 'https://cursor.directory', apiKey) {
14
+ this.name = 'cursor';
15
+ this.type = 'secondary';
16
+ this.endpoint = endpoint;
17
+ this.apiKey = apiKey || process.env.CURSOR_API_KEY;
18
+ }
19
+ /**
20
+ * Publish agent to Cursor directory
21
+ */
22
+ async publish(data) {
23
+ try {
24
+ // Convert agent name to MCP server format
25
+ const mcpServerName = data.name.toLowerCase().replace(/\s+/g, '-');
26
+ const response = await axios_1.default.post(`${this.endpoint}/api/mcp/register`, {
27
+ mcp_server: mcpServerName,
28
+ name: data.name,
29
+ did: data.did,
30
+ description: data.description,
31
+ repository: data.repository,
32
+ metadata: {
33
+ verified: true,
34
+ verification_url: `https://knowthat.ai/api/agents/${data.did}/verify`,
35
+ identity_provider: 'kya-os',
36
+ conformance_level: 2
37
+ },
38
+ categories: data.metadata?.categories || ['productivity'],
39
+ featured: false
40
+ }, {
41
+ timeout: 10000,
42
+ headers: {
43
+ 'Content-Type': 'application/json',
44
+ 'User-Agent': '@kya-os/mcp-i/0.2.0',
45
+ ...(this.apiKey ? { 'Authorization': `Bearer ${this.apiKey}` } : {})
46
+ }
47
+ });
48
+ return {
49
+ success: true,
50
+ registryAgentId: response.data.id,
51
+ profileUrl: response.data.url || `${this.endpoint}/mcp/${mcpServerName}`
52
+ };
53
+ }
54
+ catch (error) {
55
+ return {
56
+ success: false,
57
+ error: error.response?.data?.message || error.message || 'Failed to publish to Cursor'
58
+ };
59
+ }
60
+ }
61
+ /**
62
+ * Verify agent exists in Cursor directory
63
+ */
64
+ async verify(did) {
65
+ try {
66
+ const response = await axios_1.default.get(`${this.endpoint}/api/mcp/lookup`, {
67
+ params: { did },
68
+ timeout: 5000,
69
+ headers: this.apiKey ? { 'Authorization': `Bearer ${this.apiKey}` } : {}
70
+ });
71
+ return response.data.found === true;
72
+ }
73
+ catch {
74
+ return false;
75
+ }
76
+ }
77
+ /**
78
+ * Get agent status in Cursor
79
+ */
80
+ async getStatus(did) {
81
+ try {
82
+ const response = await axios_1.default.get(`${this.endpoint}/api/mcp/status`, {
83
+ params: { did },
84
+ timeout: 5000,
85
+ headers: this.apiKey ? { 'Authorization': `Bearer ${this.apiKey}` } : {}
86
+ });
87
+ return {
88
+ name: this.name,
89
+ status: response.data.published ? 'active' : 'pending',
90
+ registeredAt: response.data.publishedAt,
91
+ lastSyncAt: new Date().toISOString(),
92
+ type: 'secondary',
93
+ registryAgentId: response.data.id
94
+ };
95
+ }
96
+ catch (error) {
97
+ return {
98
+ name: this.name,
99
+ status: 'failed',
100
+ type: 'secondary',
101
+ error: 'Not found in Cursor directory',
102
+ lastSyncAt: new Date().toISOString()
103
+ };
104
+ }
105
+ }
106
+ }
107
+ exports.CursorRegistry = CursorRegistry;
108
+ //# sourceMappingURL=cursor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/registry/cursor.ts"],"names":[],"mappings":"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"}