@kya-os/mcp-i 0.1.0-alpha.3.9 → 1.2.0

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 (328) hide show
  1. package/README.md +350 -213
  2. package/dist/149.js +1 -0
  3. package/dist/189.js +1 -0
  4. package/dist/261.js +1 -0
  5. package/dist/28.js +1 -0
  6. package/dist/295.js +1 -0
  7. package/dist/460.js +1 -0
  8. package/dist/570.js +1 -0
  9. package/dist/634.js +1 -0
  10. package/dist/647.js +1 -0
  11. package/dist/67.js +1 -0
  12. package/dist/739.js +1 -0
  13. package/dist/742.js +1 -0
  14. package/dist/904.js +1 -0
  15. package/dist/938.js +1 -0
  16. package/dist/auth/api-key.d.ts +16 -0
  17. package/dist/auth/api-key.js +82 -0
  18. package/dist/auth/jwt.d.ts +43 -0
  19. package/dist/auth/jwt.js +51 -0
  20. package/dist/auth/oauth/factory.d.ts +12 -0
  21. package/dist/auth/oauth/factory.js +36 -0
  22. package/dist/auth/oauth/index.d.ts +5 -0
  23. package/dist/auth/oauth/index.js +27 -0
  24. package/dist/auth/oauth/providers/proxy-provider.d.ts +13 -0
  25. package/dist/auth/oauth/providers/proxy-provider.js +159 -0
  26. package/dist/auth/oauth/router.d.ts +4 -0
  27. package/dist/auth/oauth/router.js +294 -0
  28. package/dist/auth/oauth/storage/memory-storage.d.ts +12 -0
  29. package/dist/auth/oauth/storage/memory-storage.js +40 -0
  30. package/dist/auth/oauth/types.d.ts +112 -0
  31. package/dist/cache/__tests__/cloudflare-kv-nonce-cache.test.d.ts +4 -0
  32. package/dist/cache/__tests__/cloudflare-kv-nonce-cache.test.js +176 -0
  33. package/dist/cache/__tests__/concurrency.test.d.ts +5 -0
  34. package/dist/cache/__tests__/concurrency.test.js +300 -0
  35. package/dist/cache/__tests__/dynamodb-nonce-cache.test.d.ts +4 -0
  36. package/dist/cache/__tests__/dynamodb-nonce-cache.test.js +176 -0
  37. package/dist/cache/__tests__/memory-nonce-cache.test.d.ts +4 -0
  38. package/dist/cache/__tests__/memory-nonce-cache.test.js +132 -0
  39. package/dist/cache/__tests__/nonce-cache-factory-simple.test.d.ts +4 -0
  40. package/dist/cache/__tests__/nonce-cache-factory-simple.test.js +133 -0
  41. package/dist/cache/__tests__/nonce-cache-factory.test.d.ts +4 -0
  42. package/dist/cache/__tests__/nonce-cache-factory.test.js +252 -0
  43. package/dist/cache/__tests__/redis-nonce-cache.test.d.ts +4 -0
  44. package/dist/cache/__tests__/redis-nonce-cache.test.js +95 -0
  45. package/dist/cache/cloudflare-kv-nonce-cache.d.ts +14 -0
  46. package/dist/cache/cloudflare-kv-nonce-cache.js +93 -0
  47. package/dist/cache/dynamodb-nonce-cache.d.ts +15 -0
  48. package/dist/cache/dynamodb-nonce-cache.js +92 -0
  49. package/dist/cache/index.d.ts +16 -0
  50. package/dist/cache/index.js +32 -0
  51. package/dist/cache/memory-nonce-cache.d.ts +44 -0
  52. package/dist/cache/memory-nonce-cache.js +105 -0
  53. package/dist/cache/nonce-cache-factory.d.ts +20 -0
  54. package/dist/cache/nonce-cache-factory.js +208 -0
  55. package/dist/cache/redis-nonce-cache.d.ts +14 -0
  56. package/dist/cache/redis-nonce-cache.js +53 -0
  57. package/dist/compiler/compiler-context.d.ts +23 -0
  58. package/dist/compiler/compiler-context.js +24 -0
  59. package/dist/compiler/config/constants.d.ts +41 -0
  60. package/dist/compiler/config/constants.js +45 -0
  61. package/dist/compiler/config/index.d.ts +252 -0
  62. package/dist/compiler/config/index.js +15 -0
  63. package/dist/compiler/config/injection.d.ts +26 -0
  64. package/dist/compiler/config/injection.js +58 -0
  65. package/dist/compiler/config/schemas/experimental/index.d.ts +91 -0
  66. package/dist/compiler/config/schemas/experimental/index.js +16 -0
  67. package/dist/compiler/config/schemas/experimental/oauth.d.ts +74 -0
  68. package/dist/compiler/config/schemas/experimental/oauth.js +25 -0
  69. package/dist/compiler/config/schemas/index.d.ts +6 -0
  70. package/dist/compiler/config/schemas/index.js +17 -0
  71. package/dist/compiler/config/schemas/paths.d.ts +9 -0
  72. package/dist/compiler/config/schemas/paths.js +12 -0
  73. package/dist/compiler/config/schemas/transport/http.d.ts +82 -0
  74. package/dist/compiler/config/schemas/transport/http.js +33 -0
  75. package/dist/compiler/config/schemas/transport/stdio.d.ts +9 -0
  76. package/dist/compiler/config/schemas/transport/stdio.js +15 -0
  77. package/dist/compiler/config/schemas/webpack.d.ts +3 -0
  78. package/dist/compiler/config/schemas/webpack.js +15 -0
  79. package/dist/compiler/config/types.d.ts +1 -0
  80. package/dist/compiler/config/types.js +2 -0
  81. package/dist/compiler/config/utils.d.ts +20 -0
  82. package/dist/compiler/config/utils.js +36 -0
  83. package/dist/compiler/generate-env-code.d.ts +1 -0
  84. package/dist/compiler/generate-env-code.js +8 -0
  85. package/dist/compiler/generate-import-code.d.ts +1 -0
  86. package/dist/compiler/generate-import-code.js +24 -0
  87. package/dist/compiler/get-webpack-config/get-entries.d.ts +3 -0
  88. package/dist/compiler/get-webpack-config/get-entries.js +29 -0
  89. package/dist/compiler/get-webpack-config/get-externals.d.ts +7 -0
  90. package/dist/compiler/get-webpack-config/get-externals.js +88 -0
  91. package/dist/compiler/get-webpack-config/get-injected-variables.d.ts +8 -0
  92. package/dist/compiler/get-webpack-config/get-injected-variables.js +25 -0
  93. package/dist/compiler/get-webpack-config/index.d.ts +4 -0
  94. package/dist/compiler/get-webpack-config/index.js +101 -0
  95. package/dist/compiler/get-webpack-config/plugins.d.ts +8 -0
  96. package/dist/compiler/get-webpack-config/plugins.js +132 -0
  97. package/dist/compiler/get-webpack-config/resolve-tsconfig-paths.d.ts +9 -0
  98. package/dist/compiler/get-webpack-config/resolve-tsconfig-paths.js +40 -0
  99. package/dist/compiler/index.d.ts +6 -0
  100. package/dist/compiler/index.js +194 -0
  101. package/dist/compiler/on-first-build.d.ts +3 -0
  102. package/dist/compiler/on-first-build.js +58 -0
  103. package/dist/compiler/parse-xmcp-config.d.ts +9 -0
  104. package/dist/compiler/parse-xmcp-config.js +155 -0
  105. package/dist/compiler/start-http-server.d.ts +1 -0
  106. package/dist/compiler/start-http-server.js +34 -0
  107. package/dist/index.d.ts +12 -0
  108. package/dist/index.js +38 -0
  109. package/dist/index.js.LICENSE.txt +49 -0
  110. package/dist/runtime/__tests__/audit.test.d.ts +4 -0
  111. package/dist/runtime/__tests__/audit.test.js +328 -0
  112. package/dist/runtime/__tests__/identity.test.d.ts +4 -0
  113. package/dist/runtime/__tests__/identity.test.js +164 -0
  114. package/dist/runtime/__tests__/mcpi-runtime.test.d.ts +4 -0
  115. package/dist/runtime/__tests__/mcpi-runtime.test.js +372 -0
  116. package/dist/runtime/__tests__/proof.test.d.ts +4 -0
  117. package/dist/runtime/__tests__/proof.test.js +302 -0
  118. package/dist/runtime/__tests__/session.test.d.ts +4 -0
  119. package/dist/runtime/__tests__/session.test.js +254 -0
  120. package/dist/runtime/__tests__/well-known.test.d.ts +4 -0
  121. package/dist/runtime/__tests__/well-known.test.js +312 -0
  122. package/dist/runtime/adapter-express.js +2 -0
  123. package/dist/runtime/adapter-express.js.LICENSE.txt +252 -0
  124. package/dist/runtime/adapter-nextjs.js +2 -0
  125. package/dist/runtime/adapter-nextjs.js.LICENSE.txt +53 -0
  126. package/dist/runtime/adapters/express/index.d.ts +2 -0
  127. package/dist/runtime/adapters/express/index.js +48 -0
  128. package/dist/runtime/adapters/nextjs/index.d.ts +8 -0
  129. package/dist/runtime/adapters/nextjs/index.js +18 -0
  130. package/dist/runtime/audit.d.ts +93 -0
  131. package/dist/runtime/audit.js +212 -0
  132. package/dist/runtime/debug.d.ts +118 -0
  133. package/dist/runtime/debug.js +612 -0
  134. package/dist/runtime/delegation-hooks.d.ts +85 -0
  135. package/dist/runtime/delegation-hooks.js +116 -0
  136. package/dist/runtime/demo.d.ts +71 -0
  137. package/dist/runtime/demo.js +135 -0
  138. package/dist/runtime/headers.d.ts +1 -0
  139. package/dist/runtime/headers.js +9 -0
  140. package/dist/runtime/http.js +2 -0
  141. package/dist/runtime/http.js.LICENSE.txt +252 -0
  142. package/dist/runtime/identity.d.ts +105 -0
  143. package/dist/runtime/identity.js +232 -0
  144. package/dist/runtime/index.d.ts +16 -0
  145. package/dist/runtime/index.js +56 -0
  146. package/dist/runtime/mcpi-runtime.d.ts +164 -0
  147. package/dist/runtime/mcpi-runtime.js +352 -0
  148. package/dist/runtime/proof.d.ts +87 -0
  149. package/dist/runtime/proof.js +223 -0
  150. package/dist/runtime/session.d.ts +88 -0
  151. package/dist/runtime/session.js +216 -0
  152. package/dist/runtime/stdio.js +2 -0
  153. package/dist/runtime/stdio.js.LICENSE.txt +1 -0
  154. package/dist/runtime/templates/home.d.ts +2 -0
  155. package/dist/runtime/templates/home.js +50 -0
  156. package/dist/runtime/transports/http/base-streamable-http.d.ts +25 -0
  157. package/dist/runtime/transports/http/base-streamable-http.js +16 -0
  158. package/dist/runtime/transports/http/http-context.d.ts +9 -0
  159. package/dist/runtime/transports/http/http-context.js +8 -0
  160. package/dist/runtime/transports/http/index.js +55 -0
  161. package/dist/runtime/transports/http/setup-cors.d.ts +4 -0
  162. package/dist/runtime/transports/http/setup-cors.js +24 -0
  163. package/dist/runtime/transports/http/stateless-streamable-http.d.ts +39 -0
  164. package/dist/runtime/transports/http/stateless-streamable-http.js +331 -0
  165. package/dist/runtime/transports/stdio/index.d.ts +1 -0
  166. package/dist/runtime/transports/stdio/index.js +51 -0
  167. package/dist/runtime/utils/server.d.ts +42 -0
  168. package/dist/runtime/utils/server.js +39 -0
  169. package/dist/runtime/utils/tools.d.ts +8 -0
  170. package/dist/runtime/utils/tools.js +115 -0
  171. package/dist/runtime/verifier-middleware.d.ts +76 -0
  172. package/dist/runtime/verifier-middleware.js +322 -0
  173. package/dist/runtime/well-known.d.ts +151 -0
  174. package/dist/runtime/well-known.js +258 -0
  175. package/dist/storage/config.d.ts +28 -0
  176. package/dist/storage/config.js +79 -0
  177. package/dist/storage/delegation.d.ts +59 -0
  178. package/dist/storage/delegation.js +130 -0
  179. package/dist/storage/merkle-verifier.d.ts +84 -0
  180. package/dist/storage/merkle-verifier.js +261 -0
  181. package/dist/test/__tests__/nonce-cache-integration.test.d.ts +1 -0
  182. package/dist/test/__tests__/nonce-cache-integration.test.js +116 -0
  183. package/dist/test/__tests__/nonce-cache.test.d.ts +1 -0
  184. package/dist/test/__tests__/nonce-cache.test.js +122 -0
  185. package/dist/test/__tests__/runtime-integration.test.d.ts +4 -0
  186. package/dist/test/__tests__/runtime-integration.test.js +192 -0
  187. package/dist/test/__tests__/test-infrastructure.test.d.ts +4 -0
  188. package/dist/test/__tests__/test-infrastructure.test.js +178 -0
  189. package/dist/test/deterministic-keys.d.ts +31 -0
  190. package/dist/test/deterministic-keys.js +108 -0
  191. package/dist/test/examples/test-usage-example.d.ts +140 -0
  192. package/dist/test/examples/test-usage-example.js +175 -0
  193. package/dist/test/index.d.ts +11 -0
  194. package/dist/test/index.js +27 -0
  195. package/dist/test/local-verification.d.ts +28 -0
  196. package/dist/test/local-verification.js +342 -0
  197. package/dist/test/mock-identity-provider.d.ts +96 -0
  198. package/dist/test/mock-identity-provider.js +243 -0
  199. package/dist/test/runtime-integration.d.ts +63 -0
  200. package/dist/test/runtime-integration.js +140 -0
  201. package/dist/test/test-environment.d.ts +26 -0
  202. package/dist/test/test-environment.js +50 -0
  203. package/dist/types/declarations.d.ts +1 -0
  204. package/dist/types/declarations.js +6 -0
  205. package/dist/types/middleware.d.ts +2 -0
  206. package/dist/types/middleware.js +2 -0
  207. package/dist/types/tool.d.ts +80 -0
  208. package/dist/types/tool.js +2 -0
  209. package/dist/utils/cli-icons.d.ts +3 -0
  210. package/dist/utils/cli-icons.js +7 -0
  211. package/dist/utils/constants.d.ts +6 -0
  212. package/dist/utils/constants.js +13 -0
  213. package/dist/utils/context.d.ts +33 -0
  214. package/dist/utils/context.js +58 -0
  215. package/dist/utils/file-watcher.d.ts +19 -0
  216. package/dist/utils/file-watcher.js +49 -0
  217. package/dist/utils/fs-utils.d.ts +2 -0
  218. package/dist/utils/fs-utils.js +22 -0
  219. package/dist/utils/path-validation.d.ts +3 -0
  220. package/dist/utils/path-validation.js +56 -0
  221. package/dist/utils/spawn-process.d.ts +9 -0
  222. package/dist/utils/spawn-process.js +50 -0
  223. package/dist/utils/subscribable.d.ts +12 -0
  224. package/dist/utils/subscribable.js +44 -0
  225. package/package.json +91 -77
  226. package/dist/cjs/auto.js +0 -16
  227. package/dist/cjs/cli-mode.d.ts +0 -16
  228. package/dist/cjs/cli-mode.js +0 -32
  229. package/dist/cjs/crypto.d.ts +0 -16
  230. package/dist/cjs/crypto.js +0 -212
  231. package/dist/cjs/dev-helper.d.ts +0 -3
  232. package/dist/cjs/dev-helper.js +0 -46
  233. package/dist/cjs/encrypted-storage.d.ts +0 -11
  234. package/dist/cjs/encrypted-storage.js +0 -73
  235. package/dist/cjs/index.d.ts +0 -56
  236. package/dist/cjs/index.js +0 -727
  237. package/dist/cjs/logger.d.ts +0 -32
  238. package/dist/cjs/logger.js +0 -85
  239. package/dist/cjs/nextjs.d.ts +0 -10
  240. package/dist/cjs/nextjs.js +0 -83
  241. package/dist/cjs/platform-info.d.ts +0 -36
  242. package/dist/cjs/platform-info.js +0 -274
  243. package/dist/cjs/polling.d.ts +0 -13
  244. package/dist/cjs/polling.js +0 -52
  245. package/dist/cjs/registry/index.d.ts +0 -12
  246. package/dist/cjs/registry/index.js +0 -56
  247. package/dist/cjs/registry/knowthat.d.ts +0 -17
  248. package/dist/cjs/registry/knowthat.js +0 -173
  249. package/dist/cjs/rotation.d.ts +0 -35
  250. package/dist/cjs/rotation.js +0 -102
  251. package/dist/cjs/storage.d.ts +0 -41
  252. package/dist/cjs/storage.js +0 -163
  253. package/dist/cjs/transport.d.ts +0 -35
  254. package/dist/cjs/transport.js +0 -300
  255. package/dist/cjs/types.d.ts +0 -206
  256. package/dist/cjs/vercel-adapter.d.ts +0 -8
  257. package/dist/cjs/vercel-adapter.js +0 -67
  258. package/dist/esm/auto.d.ts +0 -13
  259. package/dist/esm/auto.d.ts.map +0 -1
  260. package/dist/esm/auto.js +0 -30
  261. package/dist/esm/auto.js.map +0 -1
  262. package/dist/esm/cli-mode.d.ts +0 -52
  263. package/dist/esm/cli-mode.d.ts.map +0 -1
  264. package/dist/esm/cli-mode.js +0 -59
  265. package/dist/esm/cli-mode.js.map +0 -1
  266. package/dist/esm/crypto.d.ts +0 -51
  267. package/dist/esm/crypto.d.ts.map +0 -1
  268. package/dist/esm/crypto.js +0 -230
  269. package/dist/esm/crypto.js.map +0 -1
  270. package/dist/esm/dev-helper.d.ts +0 -15
  271. package/dist/esm/dev-helper.d.ts.map +0 -1
  272. package/dist/esm/dev-helper.js +0 -63
  273. package/dist/esm/dev-helper.js.map +0 -1
  274. package/dist/esm/encrypted-storage.d.ts +0 -19
  275. package/dist/esm/encrypted-storage.d.ts.map +0 -1
  276. package/dist/esm/encrypted-storage.js +0 -48
  277. package/dist/esm/encrypted-storage.js.map +0 -1
  278. package/dist/esm/index.d.ts +0 -129
  279. package/dist/esm/index.d.ts.map +0 -1
  280. package/dist/esm/index.js +0 -853
  281. package/dist/esm/index.js.map +0 -1
  282. package/dist/esm/logger.d.ts +0 -46
  283. package/dist/esm/logger.d.ts.map +0 -1
  284. package/dist/esm/logger.js +0 -100
  285. package/dist/esm/logger.js.map +0 -1
  286. package/dist/esm/nextjs.d.ts +0 -22
  287. package/dist/esm/nextjs.d.ts.map +0 -1
  288. package/dist/esm/nextjs.js +0 -83
  289. package/dist/esm/nextjs.js.map +0 -1
  290. package/dist/esm/package.json +0 -1
  291. package/dist/esm/platform-info.d.ts +0 -74
  292. package/dist/esm/platform-info.d.ts.map +0 -1
  293. package/dist/esm/platform-info.js +0 -293
  294. package/dist/esm/platform-info.js.map +0 -1
  295. package/dist/esm/polling.d.ts +0 -29
  296. package/dist/esm/polling.d.ts.map +0 -1
  297. package/dist/esm/polling.js +0 -76
  298. package/dist/esm/polling.js.map +0 -1
  299. package/dist/esm/registry/index.d.ts +0 -43
  300. package/dist/esm/registry/index.d.ts.map +0 -1
  301. package/dist/esm/registry/index.js +0 -89
  302. package/dist/esm/registry/index.js.map +0 -1
  303. package/dist/esm/registry/knowthat.d.ts +0 -44
  304. package/dist/esm/registry/knowthat.d.ts.map +0 -1
  305. package/dist/esm/registry/knowthat.js +0 -220
  306. package/dist/esm/registry/knowthat.js.map +0 -1
  307. package/dist/esm/rotation.d.ts +0 -57
  308. package/dist/esm/rotation.d.ts.map +0 -1
  309. package/dist/esm/rotation.js +0 -133
  310. package/dist/esm/rotation.js.map +0 -1
  311. package/dist/esm/storage.d.ts +0 -65
  312. package/dist/esm/storage.d.ts.map +0 -1
  313. package/dist/esm/storage.js +0 -160
  314. package/dist/esm/storage.js.map +0 -1
  315. package/dist/esm/transport.d.ts +0 -52
  316. package/dist/esm/transport.d.ts.map +0 -1
  317. package/dist/esm/transport.js +0 -340
  318. package/dist/esm/transport.js.map +0 -1
  319. package/dist/esm/types.d.ts +0 -293
  320. package/dist/esm/types.d.ts.map +0 -1
  321. package/dist/esm/types.js +0 -5
  322. package/dist/esm/types.js.map +0 -1
  323. package/dist/esm/vercel-adapter.d.ts +0 -26
  324. package/dist/esm/vercel-adapter.d.ts.map +0 -1
  325. package/dist/esm/vercel-adapter.js +0 -80
  326. package/dist/esm/vercel-adapter.js.map +0 -1
  327. /package/dist/{cjs → auth/oauth}/types.js +0 -0
  328. /package/dist/{cjs/auto.d.ts → runtime/transports/http/index.d.ts} +0 -0
package/dist/cjs/index.js DELETED
@@ -1,727 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.MCPIdentity = exports.isAsyncRegistrationResponse = exports.pollRegistrationStatus = exports.showAgentStatus = exports.initWithDevExperience = exports.KeyRotationManager = exports.RuntimeDetector = exports.TransportFactory = exports.FileStorage = exports.MemoryStorage = exports.StorageFactory = exports.SilentLogger = exports.ConsoleLogger = exports.LoggerFactory = exports.resolveRegistries = exports.REGISTRY_TIERS = exports.RegistryFactory = void 0;
40
- exports.enableMCPIdentity = enableMCPIdentity;
41
- exports.createMCPMiddleware = createMCPMiddleware;
42
- const crypto = __importStar(require("./crypto"));
43
- const storage_1 = require("./storage");
44
- const platform_info_1 = require("./platform-info");
45
- const transport_1 = require("./transport");
46
- const logger_1 = require("./logger");
47
- const rotation_1 = require("./rotation");
48
- const vercel_adapter_1 = require("./vercel-adapter");
49
- const polling_1 = require("./polling");
50
- __exportStar(require("./types"), exports);
51
- __exportStar(require("./vercel-adapter"), exports);
52
- var registry_1 = require("./registry");
53
- Object.defineProperty(exports, "RegistryFactory", { enumerable: true, get: function () { return registry_1.RegistryFactory; } });
54
- Object.defineProperty(exports, "REGISTRY_TIERS", { enumerable: true, get: function () { return registry_1.REGISTRY_TIERS; } });
55
- Object.defineProperty(exports, "resolveRegistries", { enumerable: true, get: function () { return registry_1.resolveRegistries; } });
56
- var logger_2 = require("./logger");
57
- Object.defineProperty(exports, "LoggerFactory", { enumerable: true, get: function () { return logger_2.LoggerFactory; } });
58
- Object.defineProperty(exports, "ConsoleLogger", { enumerable: true, get: function () { return logger_2.ConsoleLogger; } });
59
- Object.defineProperty(exports, "SilentLogger", { enumerable: true, get: function () { return logger_2.SilentLogger; } });
60
- var storage_2 = require("./storage");
61
- Object.defineProperty(exports, "StorageFactory", { enumerable: true, get: function () { return storage_2.StorageFactory; } });
62
- Object.defineProperty(exports, "MemoryStorage", { enumerable: true, get: function () { return storage_2.MemoryStorage; } });
63
- Object.defineProperty(exports, "FileStorage", { enumerable: true, get: function () { return storage_2.FileStorage; } });
64
- var transport_2 = require("./transport");
65
- Object.defineProperty(exports, "TransportFactory", { enumerable: true, get: function () { return transport_2.TransportFactory; } });
66
- Object.defineProperty(exports, "RuntimeDetector", { enumerable: true, get: function () { return transport_2.RuntimeDetector; } });
67
- var rotation_2 = require("./rotation");
68
- Object.defineProperty(exports, "KeyRotationManager", { enumerable: true, get: function () { return rotation_2.KeyRotationManager; } });
69
- var dev_helper_1 = require("./dev-helper");
70
- Object.defineProperty(exports, "initWithDevExperience", { enumerable: true, get: function () { return dev_helper_1.initWithDevExperience; } });
71
- Object.defineProperty(exports, "showAgentStatus", { enumerable: true, get: function () { return dev_helper_1.showAgentStatus; } });
72
- var polling_2 = require("./polling");
73
- Object.defineProperty(exports, "pollRegistrationStatus", { enumerable: true, get: function () { return polling_2.pollRegistrationStatus; } });
74
- Object.defineProperty(exports, "isAsyncRegistrationResponse", { enumerable: true, get: function () { return polling_2.isAsyncRegistrationResponse; } });
75
- let globalIdentity = null;
76
- class MCPIdentity {
77
- constructor(identity, options = {}) {
78
- this.usedNonces = new Set();
79
- if (options.logger) {
80
- logger_1.LoggerFactory.setLogger(options.logger);
81
- }
82
- else if (options.logLevel && options.logLevel !== 'silent') {
83
- logger_1.LoggerFactory.setLogger(logger_1.LoggerFactory.createConsoleLogger(options.logLevel));
84
- }
85
- this.logger = (0, logger_1.getLogger)();
86
- this.did = identity.did;
87
- this.publicKey = identity.publicKey;
88
- this.privateKey = identity.privateKey;
89
- this.encryptionPassword = options.encryptionPassword;
90
- this.timestampTolerance = options.timestampTolerance || 60000;
91
- this.enableNonceTracking = options.enableNonceTracking !== false;
92
- this.directories = identity.directories || 'verified';
93
- this.storage = (typeof options?.storage === 'object' && 'load' in options.storage)
94
- ? options.storage
95
- : storage_1.StorageFactory.create({
96
- storage: options.storage,
97
- customPath: options.persistencePath,
98
- memoryKey: options.memoryKey || this.did,
99
- encryptionPassword: options.encryptionPassword
100
- });
101
- this.transport = (typeof options?.transport === 'object' && 'post' in options.transport)
102
- ? options.transport
103
- : transport_1.TransportFactory.create({
104
- transport: options.transport
105
- });
106
- this.precomputed = {
107
- did: this.did,
108
- publicKey: this.publicKey,
109
- didBytes: new TextEncoder().encode(this.did),
110
- signatureCache: new Map()
111
- };
112
- if (options.storage !== 'memory') {
113
- this.rotationManager = new rotation_1.KeyRotationManager(identity, this.transport, {});
114
- }
115
- if (this.enableNonceTracking) {
116
- this.startNonceCleanup();
117
- }
118
- }
119
- static async init(options) {
120
- const logger = options?.logger || (0, logger_1.getLogger)(options?.logLevel);
121
- if (globalIdentity) {
122
- return globalIdentity;
123
- }
124
- const isVercel = process.env.VERCEL || process.env.VERCEL_ENV;
125
- const isServerless = isVercel || process.env.AWS_LAMBDA_FUNCTION_NAME || process.env.FUNCTIONS_WORKER_RUNTIME;
126
- options?.onProgress?.({
127
- stage: 'checking_existing',
128
- progress: 10,
129
- message: 'Checking for existing identity...'
130
- });
131
- let identity = null;
132
- if (isServerless || options?.storage === 'memory') {
133
- identity = (0, vercel_adapter_1.loadIdentityFromEnv)();
134
- if (identity) {
135
- logger.info('✅ Loaded existing identity from environment variables');
136
- options?.onProgress?.({
137
- stage: 'complete',
138
- progress: 100,
139
- message: 'Loaded existing identity from environment',
140
- data: { did: identity.did }
141
- });
142
- }
143
- }
144
- const storage = (typeof options?.storage === 'object' && 'load' in options.storage)
145
- ? options.storage
146
- : storage_1.StorageFactory.create({
147
- storage: options?.storage,
148
- customPath: options?.persistencePath,
149
- memoryKey: options?.memoryKey,
150
- encryptionPassword: options?.encryptionPassword
151
- });
152
- if (!identity) {
153
- identity = await storage.load();
154
- }
155
- if (identity) {
156
- logger.info('Loaded existing identity:', identity.did);
157
- options?.onProgress?.({
158
- stage: 'complete',
159
- progress: 100,
160
- message: 'Loaded existing identity',
161
- data: { did: identity.did }
162
- });
163
- globalIdentity = new MCPIdentity(identity, options);
164
- return globalIdentity;
165
- }
166
- logger.info('No existing identity found, creating new identity...');
167
- const transport = (typeof options?.transport === 'object' && 'post' in options.transport)
168
- ? options.transport
169
- : transport_1.TransportFactory.create({
170
- transport: options?.transport
171
- });
172
- const apiEndpoint = options?.apiEndpoint || 'https://knowthat.ai';
173
- logger.info('Registering with knowthat.ai...');
174
- logger.info('Generating cryptographic keys...');
175
- options?.onProgress?.({
176
- stage: 'generating_keys',
177
- progress: 30,
178
- message: 'Generating cryptographic keys...'
179
- });
180
- const keyPair = await crypto.generateKeyPair();
181
- options?.onProgress?.({
182
- stage: 'generating_keys',
183
- progress: 50,
184
- message: 'Keys generated successfully'
185
- });
186
- const registrationData = {
187
- name: options?.name || process.env.MCP_SERVER_NAME || 'Unnamed MCP Server',
188
- description: options?.description,
189
- repository: options?.repository,
190
- publicKey: keyPair.publicKey,
191
- directories: options?.directories,
192
- isDraft: options?.mode !== 'production'
193
- };
194
- logger.debug('Registration data:', {
195
- name: registrationData.name,
196
- hasDescription: !!registrationData.description,
197
- hasRepository: !!registrationData.repository,
198
- hasPublicKey: !!registrationData.publicKey,
199
- directories: registrationData.directories,
200
- isDraft: registrationData.isDraft
201
- });
202
- let response;
203
- try {
204
- options?.onProgress?.({
205
- stage: 'registering',
206
- progress: 60,
207
- message: 'Registering with KYA-OS network...'
208
- });
209
- response = await autoRegister(transport, {
210
- ...registrationData,
211
- apiEndpoint,
212
- directories: options?.directories,
213
- processingMode: options?.processingMode,
214
- registryEndpoint: options?.registryEndpoint,
215
- onProgress: options?.onProgress
216
- });
217
- options?.onProgress?.({
218
- stage: 'registering',
219
- progress: 80,
220
- message: 'Registration successful'
221
- });
222
- }
223
- catch (registrationError) {
224
- logger.error('Failed to register with knowthat.ai:', registrationError.message);
225
- if (options?.mode === 'development' || process.env.NODE_ENV === 'development') {
226
- logger.warn('Running in offline development mode with temporary identity');
227
- const tempSlug = `temp-${Date.now()}-${Math.random().toString(36).substring(7)}`;
228
- response = {
229
- did: `did:web:localhost:agents:${tempSlug}`,
230
- agent: {
231
- id: tempSlug,
232
- slug: tempSlug,
233
- name: registrationData.name,
234
- url: `http://localhost:3000/agents/${tempSlug}`,
235
- claimUrl: `http://localhost:3000/agents/claim?did=${tempSlug}`
236
- },
237
- keys: {
238
- publicKey: keyPair.publicKey,
239
- privateKey: keyPair.privateKey
240
- }
241
- };
242
- logger.warn('⚠️ Using temporary development identity. This will not persist across restarts.');
243
- logger.warn('⚠️ To use a permanent identity, ensure you can connect to knowthat.ai');
244
- }
245
- else {
246
- throw registrationError;
247
- }
248
- }
249
- identity = {
250
- did: response.did,
251
- publicKey: keyPair.publicKey,
252
- privateKey: keyPair.privateKey,
253
- agentId: response.agent.id,
254
- agentSlug: response.agent.slug,
255
- registeredAt: new Date().toISOString(),
256
- directories: options?.directories || 'verified'
257
- };
258
- options?.onProgress?.({
259
- stage: 'saving',
260
- progress: 90,
261
- message: 'Saving identity...'
262
- });
263
- await storage.save(identity);
264
- options?.onProgress?.({
265
- stage: 'complete',
266
- progress: 100,
267
- message: 'Identity created successfully',
268
- data: {
269
- did: identity.did,
270
- publicKey: identity.publicKey,
271
- agentId: identity.agentId,
272
- agentSlug: identity.agentSlug,
273
- claimUrl: response.agent.claimUrl
274
- }
275
- });
276
- if (isServerless) {
277
- (0, vercel_adapter_1.showVercelDeveloperInstructions)(identity, response.agent.claimUrl);
278
- }
279
- else {
280
- logger.info('✅ Success! Your agent has been registered.');
281
- logger.info(`DID: ${response.did}`);
282
- logger.info(`Profile: ${response.agent.url}`);
283
- if (response.agent.claimUrl) {
284
- logger.info(`Claim your agent: ${response.agent.claimUrl}`);
285
- }
286
- if (options?.directories && options.directories !== 'none') {
287
- const dirMessage = options.directories === 'verified'
288
- ? 'Your agent will be submitted to all verified directories'
289
- : `Your agent will be submitted to: ${options.directories.join(', ')}`;
290
- logger.info(dirMessage);
291
- }
292
- }
293
- globalIdentity = new MCPIdentity(identity, options);
294
- return globalIdentity;
295
- }
296
- async enableAutoRotation(policy) {
297
- if (!this.rotationManager) {
298
- throw new Error('Key rotation not available in memory storage mode');
299
- }
300
- this.rotationManager.setupAutoRotation((result) => {
301
- if (result.success) {
302
- this.logger.info('Keys rotated successfully');
303
- this.persistIdentity();
304
- }
305
- else {
306
- this.logger.error('Key rotation failed:', result.error);
307
- }
308
- });
309
- }
310
- async rotateKeys(reason) {
311
- if (!this.rotationManager) {
312
- throw new Error('Key rotation not available in memory storage mode');
313
- }
314
- const result = await this.rotationManager.rotateKeys(reason);
315
- if (result.success) {
316
- await this.persistIdentity();
317
- }
318
- return result;
319
- }
320
- checkKeyHealth() {
321
- if (!this.rotationManager) {
322
- return null;
323
- }
324
- return this.rotationManager.checkKeyHealth();
325
- }
326
- async getPrivateKey() {
327
- if (this.decryptedPrivateKey) {
328
- return this.decryptedPrivateKey;
329
- }
330
- if (this.encryptionPassword && this.privateKey.startsWith('enc:')) {
331
- try {
332
- this.decryptedPrivateKey = await crypto.decrypt(this.privateKey, this.encryptionPassword);
333
- this.logger.debug('Private key decrypted successfully');
334
- return this.decryptedPrivateKey;
335
- }
336
- catch (error) {
337
- this.logger.error('Failed to decrypt private key:', error);
338
- throw new Error('Invalid encryption password');
339
- }
340
- }
341
- return this.privateKey;
342
- }
343
- async sign(message) {
344
- const messageStr = typeof message === 'string' ? message : message.toString('base64');
345
- const cached = this.precomputed.signatureCache.get(messageStr);
346
- if (cached) {
347
- return cached;
348
- }
349
- const privateKey = await this.getPrivateKey();
350
- const signature = await crypto.sign(message, privateKey);
351
- if (this.precomputed.signatureCache.size > 100) {
352
- const firstKey = this.precomputed.signatureCache.keys().next().value;
353
- if (firstKey) {
354
- this.precomputed.signatureCache.delete(firstKey);
355
- }
356
- }
357
- this.precomputed.signatureCache.set(messageStr, signature);
358
- if (this.rotationManager) {
359
- this.rotationManager.incrementSignatureCount();
360
- }
361
- return signature;
362
- }
363
- async requestEditAccess() {
364
- const timestamp = Date.now();
365
- const message = `edit-request:${this.did}:knowthat.ai:${timestamp}`;
366
- const signature = await this.sign(message);
367
- const baseUrl = 'https://knowthat.ai';
368
- const editUrl = new URL(`${baseUrl}/agents/edit`);
369
- editUrl.searchParams.set('did', this.did);
370
- editUrl.searchParams.set('timestamp', timestamp.toString());
371
- editUrl.searchParams.set('signature', signature);
372
- const claimUrl = new URL(`${baseUrl}/agents/claim`);
373
- claimUrl.searchParams.set('did', this.did);
374
- claimUrl.searchParams.set('timestamp', timestamp.toString());
375
- claimUrl.searchParams.set('signature', signature);
376
- return {
377
- editUrl: editUrl.toString(),
378
- claimUrl: claimUrl.toString()
379
- };
380
- }
381
- async verify(message, signature, publicKey) {
382
- return crypto.verify(message, signature, publicKey || this.publicKey);
383
- }
384
- async respondToChallenge(challenge) {
385
- const now = Date.now();
386
- const challengeAge = now - challenge.timestamp;
387
- if (challengeAge > this.timestampTolerance) {
388
- throw new Error('Challenge expired');
389
- }
390
- if (challengeAge < 0) {
391
- throw new Error('Challenge timestamp is in the future');
392
- }
393
- if (this.enableNonceTracking) {
394
- if (this.usedNonces.has(challenge.nonce)) {
395
- throw new Error('Nonce already used');
396
- }
397
- this.usedNonces.add(challenge.nonce);
398
- }
399
- const messageComponents = [
400
- challenge.nonce,
401
- challenge.timestamp.toString(),
402
- this.did,
403
- challenge.verifier_did || '',
404
- (challenge.scope || []).join(',')
405
- ];
406
- const message = messageComponents.join(':');
407
- const signature = await this.sign(message);
408
- return {
409
- did: this.did,
410
- signature,
411
- timestamp: now,
412
- nonce: challenge.nonce,
413
- publicKey: this.publicKey
414
- };
415
- }
416
- getCapabilities() {
417
- return {
418
- version: '1.0',
419
- did: this.did,
420
- publicKey: this.publicKey,
421
- conformanceLevel: 2,
422
- handshakeSupported: true,
423
- handshakeEndpoint: '/_mcp-i/handshake',
424
- verificationEndpoint: `https://knowthat.ai/api/agents/${this.did}/verify`,
425
- registry: 'knowthat.ai'
426
- };
427
- }
428
- async signResponse(response) {
429
- const timestamp = new Date().toISOString();
430
- const responseWithIdentity = {
431
- ...response,
432
- _mcp_identity: {
433
- did: this.did,
434
- signature: '',
435
- timestamp,
436
- conformanceLevel: 2
437
- }
438
- };
439
- const contentToSign = JSON.stringify({
440
- ...response,
441
- _mcp_identity: {
442
- did: this.did,
443
- timestamp,
444
- conformanceLevel: 2
445
- }
446
- });
447
- responseWithIdentity._mcp_identity.signature = await this.sign(contentToSign);
448
- return responseWithIdentity;
449
- }
450
- static generateNonce() {
451
- return crypto.generateNonceSync();
452
- }
453
- getDirectories() {
454
- return this.directories;
455
- }
456
- startNonceCleanup() {
457
- this.nonceCleanupInterval = setInterval(() => {
458
- if (this.usedNonces.size > 10000) {
459
- this.usedNonces.clear();
460
- }
461
- }, this.timestampTolerance * 2);
462
- }
463
- destroy() {
464
- if (this.nonceCleanupInterval) {
465
- clearInterval(this.nonceCleanupInterval);
466
- }
467
- this.usedNonces.clear();
468
- this.precomputed.signatureCache.clear();
469
- }
470
- extractAgentName() {
471
- return process.env.MCP_SERVER_NAME || 'Unknown Agent';
472
- }
473
- extractAgentId() {
474
- return process.env.AGENT_ID || '';
475
- }
476
- extractAgentSlug() {
477
- const parts = this.did.split(':');
478
- return parts[parts.length - 1];
479
- }
480
- async persistIdentity() {
481
- try {
482
- const identity = {
483
- did: this.did,
484
- publicKey: this.publicKey,
485
- privateKey: this.privateKey,
486
- agentId: this.extractAgentId(),
487
- agentSlug: this.extractAgentSlug(),
488
- registeredAt: new Date().toISOString(),
489
- directories: this.directories
490
- };
491
- await this.storage.save(identity);
492
- }
493
- catch (error) {
494
- this.logger.error('Failed to persist identity:', error);
495
- }
496
- }
497
- }
498
- exports.MCPIdentity = MCPIdentity;
499
- async function enableMCPIdentity(options) {
500
- const identity = await MCPIdentity.init(options);
501
- try {
502
- patchMCPServer(identity);
503
- }
504
- catch (error) {
505
- const logger = (0, logger_1.getLogger)();
506
- logger.debug('MCP Server not found, identity initialized for manual use');
507
- }
508
- return identity;
509
- }
510
- function createMCPMiddleware(identity) {
511
- return (server) => {
512
- if (!server || typeof server !== 'object') {
513
- const logger = (0, logger_1.getLogger)();
514
- logger.warn('Invalid MCP Server object passed to middleware');
515
- return;
516
- }
517
- if (!server.setRequestHandler || typeof server.setRequestHandler !== 'function') {
518
- const logger = (0, logger_1.getLogger)();
519
- logger.warn('MCP Server missing setRequestHandler method');
520
- return;
521
- }
522
- const originalSetRequestHandler = server.setRequestHandler.bind(server);
523
- const originalConnect = server.connect ? server.connect.bind(server) : null;
524
- server.setRequestHandler = function (method, handler) {
525
- if (!method || typeof method !== 'string') {
526
- const logger = (0, logger_1.getLogger)();
527
- logger.warn('setRequestHandler called with invalid method:', method);
528
- return originalSetRequestHandler.call(this, method, handler);
529
- }
530
- const wrappedHandler = async (...args) => {
531
- const result = await handler(...args);
532
- if (result && typeof result === 'object' && 'content' in result) {
533
- return await identity.signResponse(result);
534
- }
535
- return result;
536
- };
537
- return originalSetRequestHandler(method, wrappedHandler);
538
- };
539
- if (originalConnect) {
540
- server.connect = async function (transport) {
541
- if (this.serverInfo && this.serverInfo.capabilities) {
542
- this.serverInfo.capabilities['mcp-i'] = identity.getCapabilities();
543
- }
544
- this.setRequestHandler('mcp-i/challenge', async (request) => {
545
- return identity.respondToChallenge(request.params);
546
- });
547
- return originalConnect.call(this, transport);
548
- };
549
- }
550
- };
551
- }
552
- function patchMCPServer(identity) {
553
- try {
554
- const MCPModule = require('@modelcontextprotocol/sdk/server/index.js');
555
- const OriginalServer = MCPModule.Server;
556
- if (!OriginalServer) {
557
- return;
558
- }
559
- const middleware = createMCPMiddleware(identity);
560
- const OriginalConstructor = OriginalServer;
561
- MCPModule.Server = function (...args) {
562
- const instance = new OriginalConstructor(...args);
563
- try {
564
- middleware(instance, identity);
565
- }
566
- catch (error) {
567
- const logger = (0, logger_1.getLogger)();
568
- logger.warn('Failed to apply MCP-I middleware:', error);
569
- }
570
- return instance;
571
- };
572
- Object.setPrototypeOf(MCPModule.Server, OriginalConstructor);
573
- Object.setPrototypeOf(MCPModule.Server.prototype, OriginalConstructor.prototype);
574
- const logger = (0, logger_1.getLogger)();
575
- logger.info('✨ MCP Server patched - all responses will be automatically signed');
576
- }
577
- catch (error) {
578
- }
579
- }
580
- function determineEndpoint(options) {
581
- if (options.registryEndpoint === 'cli')
582
- return true;
583
- if (options.registryEndpoint === 'auto-register')
584
- return false;
585
- if (options.registryEndpoint === 'auto' || !options.registryEndpoint) {
586
- if (options.onProgress)
587
- return true;
588
- if (options.processingMode === 'sync')
589
- return true;
590
- if (process.stdout?.isTTY)
591
- return true;
592
- }
593
- return false;
594
- }
595
- async function registerViaCLI(transport, options) {
596
- const logger = (0, logger_1.getLogger)();
597
- logger.debug('Using fast CLI registration endpoint');
598
- const response = await transport.post(`${options.apiEndpoint}/api/agents/cli-register`, {
599
- name: options.name,
600
- description: options.description,
601
- repository: options.repository,
602
- publicKey: options.publicKey
603
- }, {
604
- timeout: 5000,
605
- headers: {
606
- 'Content-Type': 'application/json',
607
- 'User-Agent': `@kya-os/mcp-i/${(0, platform_info_1.generateClientInfo)().sdkVersion}`
608
- }
609
- });
610
- logger.debug(`CLI registration completed in ${response.data.responseTime}ms`);
611
- options.onProgress?.({
612
- stage: 'registering',
613
- progress: 80,
614
- message: 'Registration successful',
615
- data: {
616
- did: response.data.did,
617
- claimUrl: response.data.claimUrl
618
- }
619
- });
620
- return {
621
- success: response.data.success,
622
- did: response.data.did,
623
- agent: {
624
- id: response.data.agent.id,
625
- slug: response.data.agent.slug,
626
- name: response.data.agent.name,
627
- url: response.data.agent.url,
628
- claimUrl: response.data.claimUrl
629
- },
630
- keys: response.data.keys || {
631
- publicKey: options.publicKey || '',
632
- privateKey: undefined
633
- }
634
- };
635
- }
636
- async function autoRegister(transport, options) {
637
- const logger = (0, logger_1.getLogger)();
638
- const shouldUseCLI = determineEndpoint(options);
639
- if (shouldUseCLI) {
640
- try {
641
- return await registerViaCLI(transport, options);
642
- }
643
- catch (error) {
644
- logger.debug(`CLI registration failed: ${error.message}, falling back to auto-register`);
645
- }
646
- }
647
- try {
648
- const requestBody = {
649
- metadata: {
650
- name: options.name,
651
- description: options.description,
652
- repository: options.repository,
653
- publicKey: options.publicKey,
654
- version: '1.0.0',
655
- isDraft: options.isDraft,
656
- directories: options.directories || 'verified'
657
- },
658
- clientInfo: (0, platform_info_1.generateClientInfo)({
659
- processingMode: options.processingMode === 'auto' ? undefined : options.processingMode,
660
- customMetadata: {
661
- source: 'auto-register'
662
- }
663
- })
664
- };
665
- logger.debug('Sending registration request to:', `${options.apiEndpoint}/api/agents/auto-register`);
666
- const response = await transport.post(`${options.apiEndpoint}/api/agents/auto-register`, requestBody, {
667
- timeout: 30000,
668
- headers: {
669
- 'Content-Type': 'application/json',
670
- 'User-Agent': `@kya-os/mcp-i/${requestBody.clientInfo.sdkVersion}`
671
- }
672
- });
673
- logger.debug('Registration response received:', {
674
- status: response.status,
675
- hasData: !!response.data,
676
- isAsync: response.status === 202
677
- });
678
- if (response.status === 202 && (0, polling_1.isAsyncRegistrationResponse)(response.data)) {
679
- logger.info('Registration submitted, waiting for completion...');
680
- options.onProgress?.({
681
- stage: 'registering',
682
- progress: 70,
683
- message: 'Registration submitted, processing...',
684
- data: { jobId: response.data.jobId }
685
- });
686
- const result = await (0, polling_1.pollRegistrationStatus)(response.data.status, transport, {
687
- pollInterval: 2000,
688
- maxPollingTime: 60000,
689
- logger,
690
- onProgress: (message, progress) => {
691
- options.onProgress?.({
692
- stage: 'registering',
693
- progress: 70 + (progress || 0) * 0.1,
694
- message
695
- });
696
- }
697
- });
698
- logger.debug('Registration completed after polling:', {
699
- hasDid: !!result.did,
700
- hasAgent: !!result.agent
701
- });
702
- return result;
703
- }
704
- logger.debug('Got synchronous registration response');
705
- return response.data;
706
- }
707
- catch (error) {
708
- logger.error('Registration failed:', {
709
- message: error.message,
710
- status: error.status,
711
- response: error.response
712
- });
713
- if (error.message?.includes('429')) {
714
- throw new Error('Rate limit exceeded. Please try again later.');
715
- }
716
- if (error.message?.includes('500')) {
717
- throw new Error('Server error during registration. This might be a temporary issue.\n' +
718
- 'Please try again in a few moments, or register manually at https://knowthat.ai/submit-agent');
719
- }
720
- if (error.message?.includes('400')) {
721
- throw new Error('Invalid registration data. Please ensure all required fields are provided:\n' +
722
- '- name: A unique name for your agent\n' +
723
- '- publicKey: Generated automatically (check if generation succeeded)');
724
- }
725
- throw new Error(error.message || 'Failed to auto-register agent');
726
- }
727
- }