@kya-os/mcp-i 0.1.0-alpha.3.6 → 0.1.0-alpha.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,7 +22,12 @@ class FetchTransport {
22
22
  let errorData = null;
23
23
  try {
24
24
  errorData = await response.json();
25
- errorMessage = errorData.message || errorData.error || '';
25
+ if (errorData.suggestion) {
26
+ errorMessage = `${errorData.error || errorData.message || 'Request failed'}. ${errorData.suggestion}`;
27
+ }
28
+ else {
29
+ errorMessage = errorData.message || errorData.error || '';
30
+ }
26
31
  }
27
32
  catch {
28
33
  errorMessage = await response.text();
@@ -75,7 +80,12 @@ class FetchTransport {
75
80
  let errorData = null;
76
81
  try {
77
82
  errorData = await response.json();
78
- errorMessage = errorData.message || errorData.error || '';
83
+ if (errorData.suggestion) {
84
+ errorMessage = `${errorData.error || errorData.message || 'Request failed'}. ${errorData.suggestion}`;
85
+ }
86
+ else {
87
+ errorMessage = errorData.message || errorData.error || '';
88
+ }
79
89
  }
80
90
  catch {
81
91
  errorMessage = await response.text();
@@ -131,7 +141,13 @@ class AxiosTransport {
131
141
  catch (error) {
132
142
  if (error.response) {
133
143
  const status = error.response.status;
134
- const errorMessage = error.response.data?.message || error.response.data?.error || '';
144
+ let errorMessage = '';
145
+ if (error.response.data?.suggestion) {
146
+ errorMessage = `${error.response.data.error || error.response.data.message || 'Request failed'}. ${error.response.data.suggestion}`;
147
+ }
148
+ else {
149
+ errorMessage = error.response.data?.message || error.response.data?.error || '';
150
+ }
135
151
  if (status === 429) {
136
152
  throw new Error('Rate limit exceeded. Please wait a few minutes and try again.');
137
153
  }
@@ -173,7 +189,13 @@ class AxiosTransport {
173
189
  catch (error) {
174
190
  if (error.response) {
175
191
  const status = error.response.status;
176
- const errorMessage = error.response.data?.message || error.response.data?.error || '';
192
+ let errorMessage = '';
193
+ if (error.response.data?.suggestion) {
194
+ errorMessage = `${error.response.data.error || error.response.data.message || 'Request failed'}. ${error.response.data.suggestion}`;
195
+ }
196
+ else {
197
+ errorMessage = error.response.data?.message || error.response.data?.error || '';
198
+ }
177
199
  if (status === 429) {
178
200
  throw new Error('Rate limit exceeded. Please wait a few minutes and try again.');
179
201
  }
@@ -30,6 +30,13 @@ export interface RegistryPublishResult {
30
30
  registryAgentId?: string;
31
31
  profileUrl?: string;
32
32
  error?: string;
33
+ claimUrl?: string;
34
+ claimToken?: string;
35
+ generatedKeys?: {
36
+ publicKey: string;
37
+ privateKey: string;
38
+ warning: string;
39
+ };
33
40
  }
34
41
  export type DirectoryPreference = string[] | 'verified' | 'none';
35
42
  export type DirectoryName = 'smithery' | 'glama' | string;
@@ -51,6 +58,8 @@ export interface MCPIdentityOptions {
51
58
  storage?: 'file' | 'memory' | 'auto';
52
59
  memoryKey?: string;
53
60
  transport?: 'axios' | 'fetch' | 'auto';
61
+ processingMode?: 'sync' | 'async' | 'auto';
62
+ registryEndpoint?: 'cli' | 'auto-register' | 'auto';
54
63
  timestampTolerance?: number;
55
64
  enableNonceTracking?: boolean;
56
65
  encryptionPassword?: string;
@@ -122,6 +131,30 @@ export interface RegistrationStatusResponse {
122
131
  progress?: number;
123
132
  estimatedTimeRemaining?: number;
124
133
  }
134
+ export interface CLIRegisterRequest {
135
+ name: string;
136
+ description?: string;
137
+ repository?: string;
138
+ publicKey?: string;
139
+ }
140
+ export interface CLIRegisterResponse {
141
+ success: boolean;
142
+ did: string;
143
+ agent: {
144
+ id: string;
145
+ slug: string;
146
+ name: string;
147
+ url: string;
148
+ };
149
+ claimUrl: string;
150
+ claimToken: string;
151
+ keys?: {
152
+ publicKey: string;
153
+ privateKey: string;
154
+ warning: string;
155
+ };
156
+ responseTime: number;
157
+ }
125
158
  export interface PersistedIdentity {
126
159
  did: string;
127
160
  publicKey: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/esm/index.js CHANGED
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import * as crypto from './crypto.js';
11
11
  import { StorageFactory } from './storage.js';
12
+ import { generateClientInfo } from './platform-info.js';
12
13
  import { TransportFactory } from './transport.js';
13
14
  import { LoggerFactory, getLogger } from './logger.js';
14
15
  import { KeyRotationManager } from './rotation.js';
@@ -66,16 +67,20 @@ export class MCPIdentity {
66
67
  this.enableNonceTracking = options.enableNonceTracking !== false;
67
68
  // Directory preferences
68
69
  this.directories = identity.directories || 'verified';
69
- // Initialize storage and transport
70
- this.storage = StorageFactory.create({
71
- storage: options.storage,
72
- customPath: options.persistencePath,
73
- memoryKey: options.memoryKey || this.did,
74
- encryptionPassword: options.encryptionPassword
75
- });
76
- this.transport = TransportFactory.create({
77
- transport: options.transport
78
- });
70
+ // Initialize storage and transport - allow passing instances for testing
71
+ this.storage = (typeof options?.storage === 'object' && 'load' in options.storage)
72
+ ? options.storage
73
+ : StorageFactory.create({
74
+ storage: options.storage,
75
+ customPath: options.persistencePath,
76
+ memoryKey: options.memoryKey || this.did,
77
+ encryptionPassword: options.encryptionPassword
78
+ });
79
+ this.transport = (typeof options?.transport === 'object' && 'post' in options.transport)
80
+ ? options.transport
81
+ : TransportFactory.create({
82
+ transport: options.transport
83
+ });
79
84
  // Precompute values for performance
80
85
  this.precomputed = {
81
86
  did: this.did,
@@ -125,13 +130,15 @@ export class MCPIdentity {
125
130
  });
126
131
  }
127
132
  }
128
- // Initialize storage
129
- const storage = StorageFactory.create({
130
- storage: options?.storage,
131
- customPath: options?.persistencePath,
132
- memoryKey: options?.memoryKey,
133
- encryptionPassword: options?.encryptionPassword
134
- });
133
+ // Initialize storage - allow passing storage instance for testing
134
+ const storage = (typeof options?.storage === 'object' && 'load' in options.storage)
135
+ ? options.storage
136
+ : StorageFactory.create({
137
+ storage: options?.storage,
138
+ customPath: options?.persistencePath,
139
+ memoryKey: options?.memoryKey,
140
+ encryptionPassword: options?.encryptionPassword
141
+ });
135
142
  // Try to load from storage if not found in env
136
143
  if (!identity) {
137
144
  identity = await storage.load();
@@ -150,10 +157,12 @@ export class MCPIdentity {
150
157
  }
151
158
  // No existing identity - need to create new one
152
159
  logger.info('No existing identity found, creating new identity...');
153
- // Initialize transport for registration
154
- const transport = TransportFactory.create({
155
- transport: options?.transport
156
- });
160
+ // Initialize transport for registration - allow passing transport instance for testing
161
+ const transport = (typeof options?.transport === 'object' && 'post' in options.transport)
162
+ ? options.transport
163
+ : TransportFactory.create({
164
+ transport: options?.transport
165
+ });
157
166
  // Always use knowthat.ai as the registry
158
167
  const apiEndpoint = options?.apiEndpoint || 'https://knowthat.ai';
159
168
  logger.info('Registering with knowthat.ai...');
@@ -199,6 +208,8 @@ export class MCPIdentity {
199
208
  ...registrationData,
200
209
  apiEndpoint,
201
210
  directories: options?.directories,
211
+ processingMode: options?.processingMode,
212
+ registryEndpoint: options?.registryEndpoint,
202
213
  onProgress: options?.onProgress
203
214
  });
204
215
  options?.onProgress?.({
@@ -670,9 +681,87 @@ function patchMCPServer(identity) {
670
681
  // MCP SDK not available, that's okay
671
682
  }
672
683
  }
673
- // Helper function for auto-registration (now supports async v2.0 API)
684
+ // Helper function to determine which endpoint to use
685
+ function determineEndpoint(options) {
686
+ // Explicit configuration takes precedence
687
+ if (options.registryEndpoint === 'cli')
688
+ return true;
689
+ if (options.registryEndpoint === 'auto-register')
690
+ return false;
691
+ // Auto mode: use CLI endpoint if we're in a context that suggests CLI usage
692
+ if (options.registryEndpoint === 'auto' || !options.registryEndpoint) {
693
+ // Check if we have a progress callback (indicates CLI usage)
694
+ if (options.onProgress)
695
+ return true;
696
+ // Check if processingMode is explicitly set to sync (CLI preference)
697
+ if (options.processingMode === 'sync')
698
+ return true;
699
+ // Check if we're in a TTY environment (interactive terminal)
700
+ if (process.stdout?.isTTY)
701
+ return true;
702
+ }
703
+ return false;
704
+ }
705
+ // Helper function for CLI registration
706
+ async function registerViaCLI(transport, options) {
707
+ const logger = getLogger();
708
+ logger.debug('Using fast CLI registration endpoint');
709
+ const response = await transport.post(`${options.apiEndpoint}/api/agents/cli-register`, {
710
+ name: options.name,
711
+ description: options.description,
712
+ repository: options.repository,
713
+ publicKey: options.publicKey
714
+ }, {
715
+ timeout: 5000, // 5 second timeout for CLI endpoint
716
+ headers: {
717
+ 'Content-Type': 'application/json',
718
+ 'User-Agent': `@kya-os/mcp-i/${generateClientInfo().sdkVersion}`
719
+ }
720
+ });
721
+ logger.debug(`CLI registration completed in ${response.data.responseTime}ms`);
722
+ // Report progress
723
+ options.onProgress?.({
724
+ stage: 'registering',
725
+ progress: 80,
726
+ message: 'Registration successful',
727
+ data: {
728
+ did: response.data.did,
729
+ claimUrl: response.data.claimUrl
730
+ }
731
+ });
732
+ // Transform to match AutoRegisterResponse format
733
+ return {
734
+ success: response.data.success,
735
+ did: response.data.did,
736
+ agent: {
737
+ id: response.data.agent.id,
738
+ slug: response.data.agent.slug,
739
+ name: response.data.agent.name,
740
+ url: response.data.agent.url,
741
+ claimUrl: response.data.claimUrl
742
+ },
743
+ keys: response.data.keys || {
744
+ publicKey: options.publicKey || '',
745
+ privateKey: undefined
746
+ }
747
+ };
748
+ }
749
+ // Helper function for auto-registration (now supports async v2.0 API and CLI endpoint)
674
750
  async function autoRegister(transport, options) {
675
751
  const logger = getLogger();
752
+ // Determine which endpoint to use
753
+ const shouldUseCLI = determineEndpoint(options);
754
+ // Try CLI endpoint first if appropriate
755
+ if (shouldUseCLI) {
756
+ try {
757
+ return await registerViaCLI(transport, options);
758
+ }
759
+ catch (error) {
760
+ logger.debug(`CLI registration failed: ${error.message}, falling back to auto-register`);
761
+ // Fall through to auto-register
762
+ }
763
+ }
764
+ // Use auto-register endpoint
676
765
  try {
677
766
  const requestBody = {
678
767
  metadata: {
@@ -684,18 +773,19 @@ async function autoRegister(transport, options) {
684
773
  isDraft: options.isDraft,
685
774
  directories: options.directories || 'verified' // Default to all verified directories
686
775
  },
687
- clientInfo: {
688
- sdkVersion: '0.1.0-alpha.2.5',
689
- language: 'typescript',
690
- platform: typeof process !== 'undefined' ? 'node' : 'browser'
691
- }
776
+ clientInfo: generateClientInfo({
777
+ processingMode: options.processingMode === 'auto' ? undefined : options.processingMode,
778
+ customMetadata: {
779
+ source: 'auto-register'
780
+ }
781
+ })
692
782
  };
693
783
  logger.debug('Sending registration request to:', `${options.apiEndpoint}/api/agents/auto-register`);
694
784
  const response = await transport.post(`${options.apiEndpoint}/api/agents/auto-register`, requestBody, {
695
785
  timeout: 30000,
696
786
  headers: {
697
787
  'Content-Type': 'application/json',
698
- 'User-Agent': '@kya-os/mcp-i/0.1.0-alpha.2.5'
788
+ 'User-Agent': `@kya-os/mcp-i/${requestBody.clientInfo.sdkVersion}`
699
789
  }
700
790
  });
701
791
  logger.debug('Registration response received:', {
@@ -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,74 @@
1
+ /**
2
+ * Platform detection and client info generation for MCP-I
3
+ * Provides accurate runtime information across all deployment environments
4
+ */
5
+ /**
6
+ * Client information sent with registry requests
7
+ */
8
+ export interface ClientInfo {
9
+ /**
10
+ * SDK version from package.json
11
+ */
12
+ sdkVersion: string;
13
+ /**
14
+ * Programming language of the SDK (always 'javascript' at runtime)
15
+ */
16
+ language: string;
17
+ /**
18
+ * Runtime platform (node, deno, browser, edge-light, etc.)
19
+ */
20
+ platform: string;
21
+ /**
22
+ * Detailed runtime information
23
+ */
24
+ runtime?: {
25
+ name: string;
26
+ version?: string;
27
+ environment?: string;
28
+ };
29
+ /**
30
+ * Processing mode preference
31
+ */
32
+ processingMode?: 'sync' | 'async';
33
+ /**
34
+ * Additional platform-specific metadata
35
+ */
36
+ metadata?: Record<string, any>;
37
+ }
38
+ /**
39
+ * Platform detection result
40
+ */
41
+ export interface PlatformInfo {
42
+ platform: string;
43
+ runtime: string;
44
+ version?: string;
45
+ environment?: string;
46
+ capabilities: {
47
+ fileSystem: boolean;
48
+ asyncRuntime: boolean;
49
+ persistentStorage: boolean;
50
+ longRunning: boolean;
51
+ };
52
+ }
53
+ /**
54
+ * Detect the current runtime platform
55
+ */
56
+ export declare function detectPlatform(): PlatformInfo;
57
+ /**
58
+ * Generate client info for registry requests
59
+ */
60
+ export declare function generateClientInfo(options?: {
61
+ processingMode?: 'sync' | 'async';
62
+ customMetadata?: Record<string, any>;
63
+ }): ClientInfo;
64
+ /**
65
+ * Get recommended configuration based on platform
66
+ */
67
+ export declare function getPlatformRecommendations(platformInfo?: PlatformInfo): {
68
+ storage: "file" | "memory" | "auto";
69
+ transport: "fetch" | "axios" | "auto";
70
+ processingMode: "sync" | "async";
71
+ logLevel: "debug" | "info" | "warn" | "error" | "silent";
72
+ };
73
+ export declare function getCachedPlatformInfo(): PlatformInfo;
74
+ //# sourceMappingURL=platform-info.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform-info.d.ts","sourceRoot":"","sources":["../../src/platform-info.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAElC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE;QACZ,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,EAAE,OAAO,CAAC;QACtB,iBAAiB,EAAE,OAAO,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC;KACtB,CAAC;CACH;AA2DD;;GAEG;AACH,wBAAgB,cAAc,IAAI,YAAY,CAmK7C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE;IAC3C,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC,GAAG,UAAU,CAkCb;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,YAAY,CAAC,EAAE,YAAY;aAI/C,MAAM,GAAG,QAAQ,GAAG,MAAM;eACxB,OAAO,GAAG,OAAO,GAAG,MAAM;oBACrB,MAAM,GAAG,OAAO;cACtB,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ;EA0BrE;AAKD,wBAAgB,qBAAqB,IAAI,YAAY,CAKpD"}