@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
@@ -1,52 +0,0 @@
1
- /**
2
- * Transport abstraction for HTTP requests
3
- * Supports both axios and native fetch with runtime detection
4
- */
5
- export interface TransportOptions {
6
- timeout?: number;
7
- headers?: Record<string, string>;
8
- }
9
- export interface TransportResponse<T = any> {
10
- data: T;
11
- status: number;
12
- headers: Record<string, string>;
13
- }
14
- export interface Transport {
15
- post<T = any>(url: string, data: any, options?: TransportOptions): Promise<TransportResponse<T>>;
16
- get<T = any>(url: string, options?: TransportOptions): Promise<TransportResponse<T>>;
17
- }
18
- /**
19
- * Native fetch-based transport (preferred for Edge runtimes)
20
- */
21
- export declare class FetchTransport implements Transport {
22
- post<T = any>(url: string, data: any, options?: TransportOptions): Promise<TransportResponse<T>>;
23
- get<T = any>(url: string, options?: TransportOptions): Promise<TransportResponse<T>>;
24
- }
25
- /**
26
- * Axios-based transport (for Node.js environments)
27
- */
28
- export declare class AxiosTransport implements Transport {
29
- private axiosInstance;
30
- post<T = any>(url: string, data: any, options?: TransportOptions): Promise<TransportResponse<T>>;
31
- get<T = any>(url: string, options?: TransportOptions): Promise<TransportResponse<T>>;
32
- private getAxios;
33
- }
34
- /**
35
- * Runtime detection for optimal transport selection
36
- */
37
- export declare class RuntimeDetector {
38
- static isEdgeRuntime(): boolean;
39
- static isNodeRuntime(): boolean;
40
- static isNextJs(): boolean;
41
- static hasFetch(): boolean;
42
- static isLambda(): boolean;
43
- }
44
- /**
45
- * Transport factory with runtime detection
46
- */
47
- export declare class TransportFactory {
48
- static create(options?: {
49
- transport?: 'axios' | 'fetch' | 'auto';
50
- }): Transport;
51
- }
52
- //# sourceMappingURL=transport.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,GAAG;IACxC,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;IACjG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CACtF;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,SAAS;IACxC,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAsEhG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;CAiE3F;AAED;;GAEG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC9C,OAAO,CAAC,aAAa,CAAM;IAErB,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IAmDhG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAmD5E,QAAQ;CAgBvB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,MAAM,CAAC,aAAa,IAAI,OAAO;IAU/B,MAAM,CAAC,aAAa,IAAI,OAAO;IAQ/B,MAAM,CAAC,QAAQ,IAAI,OAAO;IAQ1B,MAAM,CAAC,QAAQ,IAAI,OAAO;IAI1B,MAAM,CAAC,QAAQ,IAAI,OAAO;CAO3B;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;QACtB,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;KACxC,GAAG,SAAS;CA+Cd"}
@@ -1,340 +0,0 @@
1
- /**
2
- * Transport abstraction for HTTP requests
3
- * Supports both axios and native fetch with runtime detection
4
- */
5
- /**
6
- * Native fetch-based transport (preferred for Edge runtimes)
7
- */
8
- export class FetchTransport {
9
- async post(url, data, options) {
10
- const controller = new AbortController();
11
- const timeout = options?.timeout || 30000;
12
- const timeoutId = setTimeout(() => controller.abort(), timeout);
13
- try {
14
- const response = await fetch(url, {
15
- method: 'POST',
16
- headers: {
17
- 'Content-Type': 'application/json',
18
- ...options?.headers
19
- },
20
- body: JSON.stringify(data),
21
- signal: controller.signal
22
- });
23
- clearTimeout(timeoutId);
24
- if (!response.ok) {
25
- let errorMessage = '';
26
- let errorData = null;
27
- try {
28
- // Try to parse JSON error response
29
- errorData = await response.json();
30
- // Handle CLI endpoint error format with suggestions
31
- if (errorData.suggestion) {
32
- errorMessage = `${errorData.error || errorData.message || 'Request failed'}. ${errorData.suggestion}`;
33
- }
34
- else {
35
- errorMessage = errorData.message || errorData.error || '';
36
- }
37
- }
38
- catch {
39
- // Fallback to text if not JSON
40
- errorMessage = await response.text();
41
- }
42
- // Handle specific error cases
43
- if (response.status === 429) {
44
- throw new Error('Rate limit exceeded. Please wait a few minutes and try again.');
45
- }
46
- else if (response.status === 403) {
47
- throw new Error('Access forbidden. Please check your API credentials.');
48
- }
49
- else if (response.status === 404) {
50
- throw new Error('API endpoint not found. The service might be unavailable.');
51
- }
52
- else if (response.status === 500 || response.status === 502 || response.status === 503) {
53
- throw new Error('Server error during registration. This might be a temporary issue. Please try again in a few moments.');
54
- }
55
- else if (response.status === 400) {
56
- throw new Error(`Bad request: ${errorMessage || 'Invalid registration data'}`);
57
- }
58
- // Generic error with status code
59
- throw new Error(`HTTP ${response.status}: ${errorMessage || 'Request failed'}`);
60
- }
61
- const responseData = await response.json();
62
- return {
63
- data: responseData,
64
- status: response.status,
65
- headers: Object.fromEntries(response.headers.entries())
66
- };
67
- }
68
- catch (error) {
69
- clearTimeout(timeoutId);
70
- if (error.name === 'AbortError') {
71
- throw new Error('Request timeout. The server is taking too long to respond. Please try again.');
72
- }
73
- throw error;
74
- }
75
- }
76
- async get(url, options) {
77
- const controller = new AbortController();
78
- const timeout = options?.timeout || 30000;
79
- const timeoutId = setTimeout(() => controller.abort(), timeout);
80
- try {
81
- const response = await fetch(url, {
82
- method: 'GET',
83
- headers: options?.headers,
84
- signal: controller.signal
85
- });
86
- clearTimeout(timeoutId);
87
- if (!response.ok) {
88
- let errorMessage = '';
89
- let errorData = null;
90
- try {
91
- // Try to parse JSON error response
92
- errorData = await response.json();
93
- // Handle CLI endpoint error format with suggestions
94
- if (errorData.suggestion) {
95
- errorMessage = `${errorData.error || errorData.message || 'Request failed'}. ${errorData.suggestion}`;
96
- }
97
- else {
98
- errorMessage = errorData.message || errorData.error || '';
99
- }
100
- }
101
- catch {
102
- // Fallback to text if not JSON
103
- errorMessage = await response.text();
104
- }
105
- // Handle specific error cases
106
- if (response.status === 429) {
107
- throw new Error('Rate limit exceeded. Please wait a few minutes and try again.');
108
- }
109
- else if (response.status === 403) {
110
- throw new Error('Access forbidden. Please check your API credentials.');
111
- }
112
- else if (response.status === 404) {
113
- throw new Error('API endpoint not found. The service might be unavailable.');
114
- }
115
- else if (response.status === 500 || response.status === 502 || response.status === 503) {
116
- throw new Error('Server error during registration. This might be a temporary issue. Please try again in a few moments.');
117
- }
118
- else if (response.status === 400) {
119
- throw new Error(`Bad request: ${errorMessage || 'Invalid registration data'}`);
120
- }
121
- // Generic error with status code
122
- throw new Error(`HTTP ${response.status}: ${errorMessage || 'Request failed'}`);
123
- }
124
- const responseData = await response.json();
125
- return {
126
- data: responseData,
127
- status: response.status,
128
- headers: Object.fromEntries(response.headers.entries())
129
- };
130
- }
131
- catch (error) {
132
- clearTimeout(timeoutId);
133
- if (error.name === 'AbortError') {
134
- throw new Error('Request timeout. The server is taking too long to respond. Please try again.');
135
- }
136
- throw error;
137
- }
138
- }
139
- }
140
- /**
141
- * Axios-based transport (for Node.js environments)
142
- */
143
- export class AxiosTransport {
144
- axiosInstance;
145
- async post(url, data, options) {
146
- const axios = await this.getAxios();
147
- try {
148
- const response = await axios.post(url, data, {
149
- timeout: options?.timeout || 30000,
150
- headers: options?.headers
151
- });
152
- return {
153
- data: response.data,
154
- status: response.status,
155
- headers: response.headers
156
- };
157
- }
158
- catch (error) {
159
- // Handle specific Axios error cases
160
- if (error.response) {
161
- const status = error.response.status;
162
- let errorMessage = '';
163
- // Handle CLI endpoint error format with suggestions
164
- if (error.response.data?.suggestion) {
165
- errorMessage = `${error.response.data.error || error.response.data.message || 'Request failed'}. ${error.response.data.suggestion}`;
166
- }
167
- else {
168
- errorMessage = error.response.data?.message || error.response.data?.error || '';
169
- }
170
- if (status === 429) {
171
- throw new Error('Rate limit exceeded. Please wait a few minutes and try again.');
172
- }
173
- else if (status === 403) {
174
- throw new Error('Access forbidden. Please check your API credentials.');
175
- }
176
- else if (status === 404) {
177
- throw new Error('API endpoint not found. The service might be unavailable.');
178
- }
179
- else if (status === 500 || status === 502 || status === 503) {
180
- throw new Error('Server error during registration. This might be a temporary issue. Please try again in a few moments.');
181
- }
182
- else if (status === 400) {
183
- throw new Error(`Bad request: ${errorMessage || 'Invalid registration data'}`);
184
- }
185
- // Generic error with status code
186
- throw new Error(`HTTP ${status}: ${errorMessage || 'Request failed'}`);
187
- }
188
- else if (error.request) {
189
- // Request was made but no response received
190
- throw new Error('No response from server. Please check your internet connection.');
191
- }
192
- else {
193
- // Something else happened
194
- throw new Error(error.message || 'Request failed');
195
- }
196
- }
197
- }
198
- async get(url, options) {
199
- const axios = await this.getAxios();
200
- try {
201
- const response = await axios.get(url, {
202
- timeout: options?.timeout || 30000,
203
- headers: options?.headers
204
- });
205
- return {
206
- data: response.data,
207
- status: response.status,
208
- headers: response.headers
209
- };
210
- }
211
- catch (error) {
212
- // Handle specific Axios error cases
213
- if (error.response) {
214
- const status = error.response.status;
215
- let errorMessage = '';
216
- // Handle CLI endpoint error format with suggestions
217
- if (error.response.data?.suggestion) {
218
- errorMessage = `${error.response.data.error || error.response.data.message || 'Request failed'}. ${error.response.data.suggestion}`;
219
- }
220
- else {
221
- errorMessage = error.response.data?.message || error.response.data?.error || '';
222
- }
223
- if (status === 429) {
224
- throw new Error('Rate limit exceeded. Please wait a few minutes and try again.');
225
- }
226
- else if (status === 403) {
227
- throw new Error('Access forbidden. Please check your API credentials.');
228
- }
229
- else if (status === 404) {
230
- throw new Error('API endpoint not found. The service might be unavailable.');
231
- }
232
- else if (status === 500 || status === 502 || status === 503) {
233
- throw new Error('Server error. This might be a temporary issue. Please try again in a few moments.');
234
- }
235
- else if (status === 400) {
236
- throw new Error(`Bad request: ${errorMessage || 'Invalid request data'}`);
237
- }
238
- // Generic error with status code
239
- throw new Error(`HTTP ${status}: ${errorMessage || 'Request failed'}`);
240
- }
241
- else if (error.request) {
242
- // Request was made but no response received
243
- throw new Error('No response from server. Please check your internet connection.');
244
- }
245
- else {
246
- // Something else happened
247
- throw new Error(error.message || 'Request failed');
248
- }
249
- }
250
- }
251
- async getAxios() {
252
- if (!this.axiosInstance) {
253
- try {
254
- // Try to require axios - if it fails, we'll throw a helpful error
255
- // @ts-ignore - dynamic require for optional dependency
256
- const axios = require('axios');
257
- this.axiosInstance = axios.default || axios;
258
- }
259
- catch (error) {
260
- throw new Error('axios is not installed. Please install it with: npm install axios\n' +
261
- 'Or use the fetch transport instead by setting transport: "fetch" in options');
262
- }
263
- }
264
- return this.axiosInstance;
265
- }
266
- }
267
- /**
268
- * Runtime detection for optimal transport selection
269
- */
270
- export class RuntimeDetector {
271
- static isEdgeRuntime() {
272
- return !!(globalThis.EdgeRuntime ||
273
- process.env.NEXT_RUNTIME === 'edge' ||
274
- process.env.VERCEL_EDGE ||
275
- globalThis.Deno ||
276
- globalThis.Bun);
277
- }
278
- static isNodeRuntime() {
279
- return !!(process.versions?.node &&
280
- !this.isEdgeRuntime() &&
281
- !this.isNextJs());
282
- }
283
- static isNextJs() {
284
- return !!(process.env.NEXT_RUNTIME ||
285
- globalThis.__NEXT_DATA__ ||
286
- process.env.NEXT_PUBLIC_VERCEL_ENV);
287
- }
288
- static hasFetch() {
289
- return typeof globalThis.fetch === 'function';
290
- }
291
- static isLambda() {
292
- return !!(process.env.AWS_LAMBDA_FUNCTION_NAME ||
293
- process.env.LAMBDA_TASK_ROOT ||
294
- process.env._HANDLER);
295
- }
296
- }
297
- /**
298
- * Transport factory with runtime detection
299
- */
300
- export class TransportFactory {
301
- static create(options) {
302
- const transportType = options?.transport || 'auto';
303
- if (transportType === 'fetch') {
304
- if (!RuntimeDetector.hasFetch()) {
305
- throw new Error('Fetch is not available in this runtime');
306
- }
307
- return new FetchTransport();
308
- }
309
- if (transportType === 'axios') {
310
- return new AxiosTransport();
311
- }
312
- // Auto-detect based on runtime
313
- if (transportType === 'auto') {
314
- // Prefer fetch for edge runtimes
315
- if (RuntimeDetector.isEdgeRuntime() && RuntimeDetector.hasFetch()) {
316
- return new FetchTransport();
317
- }
318
- // Use fetch for Next.js to avoid bundling issues
319
- if (RuntimeDetector.isNextJs() && RuntimeDetector.hasFetch()) {
320
- return new FetchTransport();
321
- }
322
- // Use fetch if available and we're in a Lambda (lighter weight)
323
- if (RuntimeDetector.isLambda() && RuntimeDetector.hasFetch()) {
324
- return new FetchTransport();
325
- }
326
- // Default to axios for Node.js
327
- if (RuntimeDetector.isNodeRuntime()) {
328
- return new AxiosTransport();
329
- }
330
- // Fallback to fetch if available
331
- if (RuntimeDetector.hasFetch()) {
332
- return new FetchTransport();
333
- }
334
- // Last resort: axios
335
- return new AxiosTransport();
336
- }
337
- throw new Error(`Unknown transport type: ${transportType}`);
338
- }
339
- }
340
- //# sourceMappingURL=transport.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"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"}