mnehmos.trace.mcp 1.0.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 (339) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1662 -0
  3. package/dist/adapters/bootstrap.d.ts +29 -0
  4. package/dist/adapters/bootstrap.d.ts.map +1 -0
  5. package/dist/adapters/bootstrap.js +46 -0
  6. package/dist/adapters/bootstrap.js.map +1 -0
  7. package/dist/adapters/errors.d.ts +94 -0
  8. package/dist/adapters/errors.d.ts.map +1 -0
  9. package/dist/adapters/errors.js +107 -0
  10. package/dist/adapters/errors.js.map +1 -0
  11. package/dist/adapters/graphql/index.d.ts +9 -0
  12. package/dist/adapters/graphql/index.d.ts.map +1 -0
  13. package/dist/adapters/graphql/index.js +9 -0
  14. package/dist/adapters/graphql/index.js.map +1 -0
  15. package/dist/adapters/graphql/sdl-parser.d.ts +74 -0
  16. package/dist/adapters/graphql/sdl-parser.d.ts.map +1 -0
  17. package/dist/adapters/graphql/sdl-parser.js +559 -0
  18. package/dist/adapters/graphql/sdl-parser.js.map +1 -0
  19. package/dist/adapters/grpc/adapter.d.ts +76 -0
  20. package/dist/adapters/grpc/adapter.d.ts.map +1 -0
  21. package/dist/adapters/grpc/adapter.js +362 -0
  22. package/dist/adapters/grpc/adapter.js.map +1 -0
  23. package/dist/adapters/grpc/index.d.ts +10 -0
  24. package/dist/adapters/grpc/index.d.ts.map +1 -0
  25. package/dist/adapters/grpc/index.js +12 -0
  26. package/dist/adapters/grpc/index.js.map +1 -0
  27. package/dist/adapters/grpc/proto-parser.d.ts +76 -0
  28. package/dist/adapters/grpc/proto-parser.d.ts.map +1 -0
  29. package/dist/adapters/grpc/proto-parser.js +523 -0
  30. package/dist/adapters/grpc/proto-parser.js.map +1 -0
  31. package/dist/adapters/grpc/type-converter.d.ts +43 -0
  32. package/dist/adapters/grpc/type-converter.d.ts.map +1 -0
  33. package/dist/adapters/grpc/type-converter.js +270 -0
  34. package/dist/adapters/grpc/type-converter.js.map +1 -0
  35. package/dist/adapters/grpc/types.d.ts +85 -0
  36. package/dist/adapters/grpc/types.d.ts.map +1 -0
  37. package/dist/adapters/grpc/types.js +7 -0
  38. package/dist/adapters/grpc/types.js.map +1 -0
  39. package/dist/adapters/index.d.ts +39 -0
  40. package/dist/adapters/index.d.ts.map +1 -0
  41. package/dist/adapters/index.js +50 -0
  42. package/dist/adapters/index.js.map +1 -0
  43. package/dist/adapters/mcp.d.ts +23 -0
  44. package/dist/adapters/mcp.d.ts.map +1 -0
  45. package/dist/adapters/mcp.js +293 -0
  46. package/dist/adapters/mcp.js.map +1 -0
  47. package/dist/adapters/openapi/adapter.d.ts +213 -0
  48. package/dist/adapters/openapi/adapter.d.ts.map +1 -0
  49. package/dist/adapters/openapi/adapter.js +557 -0
  50. package/dist/adapters/openapi/adapter.js.map +1 -0
  51. package/dist/adapters/openapi/convert.d.ts +120 -0
  52. package/dist/adapters/openapi/convert.d.ts.map +1 -0
  53. package/dist/adapters/openapi/convert.js +363 -0
  54. package/dist/adapters/openapi/convert.js.map +1 -0
  55. package/dist/adapters/openapi/index.d.ts +39 -0
  56. package/dist/adapters/openapi/index.d.ts.map +1 -0
  57. package/dist/adapters/openapi/index.js +48 -0
  58. package/dist/adapters/openapi/index.js.map +1 -0
  59. package/dist/adapters/openapi/parser.d.ts +95 -0
  60. package/dist/adapters/openapi/parser.d.ts.map +1 -0
  61. package/dist/adapters/openapi/parser.js +171 -0
  62. package/dist/adapters/openapi/parser.js.map +1 -0
  63. package/dist/adapters/registry.d.ts +116 -0
  64. package/dist/adapters/registry.d.ts.map +1 -0
  65. package/dist/adapters/registry.js +246 -0
  66. package/dist/adapters/registry.js.map +1 -0
  67. package/dist/adapters/trpc/adapter.d.ts +159 -0
  68. package/dist/adapters/trpc/adapter.d.ts.map +1 -0
  69. package/dist/adapters/trpc/adapter.js +223 -0
  70. package/dist/adapters/trpc/adapter.js.map +1 -0
  71. package/dist/adapters/trpc/extractor.d.ts +218 -0
  72. package/dist/adapters/trpc/extractor.d.ts.map +1 -0
  73. package/dist/adapters/trpc/extractor.js +708 -0
  74. package/dist/adapters/trpc/extractor.js.map +1 -0
  75. package/dist/adapters/trpc/index.d.ts +31 -0
  76. package/dist/adapters/trpc/index.d.ts.map +1 -0
  77. package/dist/adapters/trpc/index.js +40 -0
  78. package/dist/adapters/trpc/index.js.map +1 -0
  79. package/dist/adapters/trpc/parser.d.ts +119 -0
  80. package/dist/adapters/trpc/parser.d.ts.map +1 -0
  81. package/dist/adapters/trpc/parser.js +128 -0
  82. package/dist/adapters/trpc/parser.js.map +1 -0
  83. package/dist/compare/index.d.ts +33 -0
  84. package/dist/compare/index.d.ts.map +1 -0
  85. package/dist/compare/index.js +261 -0
  86. package/dist/compare/index.js.map +1 -0
  87. package/dist/core/types.d.ts +188 -0
  88. package/dist/core/types.d.ts.map +1 -0
  89. package/dist/core/types.js +9 -0
  90. package/dist/core/types.js.map +1 -0
  91. package/dist/extract/index.d.ts +26 -0
  92. package/dist/extract/index.d.ts.map +1 -0
  93. package/dist/extract/index.js +44 -0
  94. package/dist/extract/index.js.map +1 -0
  95. package/dist/index.d.ts +9 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +674 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/languages/base.d.ts +57 -0
  100. package/dist/languages/base.d.ts.map +1 -0
  101. package/dist/languages/base.js +6 -0
  102. package/dist/languages/base.js.map +1 -0
  103. package/dist/languages/bootstrap.d.ts +10 -0
  104. package/dist/languages/bootstrap.d.ts.map +1 -0
  105. package/dist/languages/bootstrap.js +25 -0
  106. package/dist/languages/bootstrap.js.map +1 -0
  107. package/dist/languages/go/handlers/chi.d.ts +24 -0
  108. package/dist/languages/go/handlers/chi.d.ts.map +1 -0
  109. package/dist/languages/go/handlers/chi.js +205 -0
  110. package/dist/languages/go/handlers/chi.js.map +1 -0
  111. package/dist/languages/go/handlers/gin.d.ts +24 -0
  112. package/dist/languages/go/handlers/gin.d.ts.map +1 -0
  113. package/dist/languages/go/handlers/gin.js +156 -0
  114. package/dist/languages/go/handlers/gin.js.map +1 -0
  115. package/dist/languages/go/handlers/stdlib.d.ts +19 -0
  116. package/dist/languages/go/handlers/stdlib.d.ts.map +1 -0
  117. package/dist/languages/go/handlers/stdlib.js +112 -0
  118. package/dist/languages/go/handlers/stdlib.js.map +1 -0
  119. package/dist/languages/go/index.d.ts +18 -0
  120. package/dist/languages/go/index.d.ts.map +1 -0
  121. package/dist/languages/go/index.js +20 -0
  122. package/dist/languages/go/index.js.map +1 -0
  123. package/dist/languages/go/parser.d.ts +33 -0
  124. package/dist/languages/go/parser.d.ts.map +1 -0
  125. package/dist/languages/go/parser.js +95 -0
  126. package/dist/languages/go/parser.js.map +1 -0
  127. package/dist/languages/go/struct-extractor.d.ts +59 -0
  128. package/dist/languages/go/struct-extractor.d.ts.map +1 -0
  129. package/dist/languages/go/struct-extractor.js +483 -0
  130. package/dist/languages/go/struct-extractor.js.map +1 -0
  131. package/dist/languages/go/tag-parser.d.ts +62 -0
  132. package/dist/languages/go/tag-parser.d.ts.map +1 -0
  133. package/dist/languages/go/tag-parser.js +108 -0
  134. package/dist/languages/go/tag-parser.js.map +1 -0
  135. package/dist/languages/go/type-converter.d.ts +32 -0
  136. package/dist/languages/go/type-converter.d.ts.map +1 -0
  137. package/dist/languages/go/type-converter.js +226 -0
  138. package/dist/languages/go/type-converter.js.map +1 -0
  139. package/dist/languages/go/types.d.ts +153 -0
  140. package/dist/languages/go/types.d.ts.map +1 -0
  141. package/dist/languages/go/types.js +6 -0
  142. package/dist/languages/go/types.js.map +1 -0
  143. package/dist/languages/import-resolver.d.ts +645 -0
  144. package/dist/languages/import-resolver.d.ts.map +1 -0
  145. package/dist/languages/import-resolver.js +1278 -0
  146. package/dist/languages/import-resolver.js.map +1 -0
  147. package/dist/languages/index.d.ts +34 -0
  148. package/dist/languages/index.d.ts.map +1 -0
  149. package/dist/languages/index.js +93 -0
  150. package/dist/languages/index.js.map +1 -0
  151. package/dist/languages/json-schema.d.ts +40 -0
  152. package/dist/languages/json-schema.d.ts.map +1 -0
  153. package/dist/languages/json-schema.js +188 -0
  154. package/dist/languages/json-schema.js.map +1 -0
  155. package/dist/languages/python-ast/index.d.ts +8 -0
  156. package/dist/languages/python-ast/index.d.ts.map +1 -0
  157. package/dist/languages/python-ast/index.js +7 -0
  158. package/dist/languages/python-ast/index.js.map +1 -0
  159. package/dist/languages/python-ast/parser.d.ts +174 -0
  160. package/dist/languages/python-ast/parser.d.ts.map +1 -0
  161. package/dist/languages/python-ast/parser.js +1205 -0
  162. package/dist/languages/python-ast/parser.js.map +1 -0
  163. package/dist/languages/python-ast/type-resolver.d.ts +75 -0
  164. package/dist/languages/python-ast/type-resolver.d.ts.map +1 -0
  165. package/dist/languages/python-ast/type-resolver.js +421 -0
  166. package/dist/languages/python-ast/type-resolver.js.map +1 -0
  167. package/dist/languages/python-ast/types.d.ts +216 -0
  168. package/dist/languages/python-ast/types.d.ts.map +1 -0
  169. package/dist/languages/python-ast/types.js +6 -0
  170. package/dist/languages/python-ast/types.js.map +1 -0
  171. package/dist/languages/python.d.ts +55 -0
  172. package/dist/languages/python.d.ts.map +1 -0
  173. package/dist/languages/python.js +311 -0
  174. package/dist/languages/python.js.map +1 -0
  175. package/dist/languages/typescript.d.ts +272 -0
  176. package/dist/languages/typescript.d.ts.map +1 -0
  177. package/dist/languages/typescript.js +1381 -0
  178. package/dist/languages/typescript.js.map +1 -0
  179. package/dist/patterns/base.d.ts +146 -0
  180. package/dist/patterns/base.d.ts.map +1 -0
  181. package/dist/patterns/base.js +89 -0
  182. package/dist/patterns/base.js.map +1 -0
  183. package/dist/patterns/errors.d.ts +172 -0
  184. package/dist/patterns/errors.d.ts.map +1 -0
  185. package/dist/patterns/errors.js +185 -0
  186. package/dist/patterns/errors.js.map +1 -0
  187. package/dist/patterns/extractors.d.ts +170 -0
  188. package/dist/patterns/extractors.d.ts.map +1 -0
  189. package/dist/patterns/extractors.js +305 -0
  190. package/dist/patterns/extractors.js.map +1 -0
  191. package/dist/patterns/graphql/apollo-client.d.ts +80 -0
  192. package/dist/patterns/graphql/apollo-client.d.ts.map +1 -0
  193. package/dist/patterns/graphql/apollo-client.js +800 -0
  194. package/dist/patterns/graphql/apollo-client.js.map +1 -0
  195. package/dist/patterns/graphql/apollo-server.d.ts +55 -0
  196. package/dist/patterns/graphql/apollo-server.d.ts.map +1 -0
  197. package/dist/patterns/graphql/apollo-server.js +523 -0
  198. package/dist/patterns/graphql/apollo-server.js.map +1 -0
  199. package/dist/patterns/graphql/index.d.ts +11 -0
  200. package/dist/patterns/graphql/index.d.ts.map +1 -0
  201. package/dist/patterns/graphql/index.js +12 -0
  202. package/dist/patterns/graphql/index.js.map +1 -0
  203. package/dist/patterns/graphql/types.d.ts +213 -0
  204. package/dist/patterns/graphql/types.d.ts.map +1 -0
  205. package/dist/patterns/graphql/types.js +16 -0
  206. package/dist/patterns/graphql/types.js.map +1 -0
  207. package/dist/patterns/http-clients/axios.d.ts +148 -0
  208. package/dist/patterns/http-clients/axios.d.ts.map +1 -0
  209. package/dist/patterns/http-clients/axios.js +652 -0
  210. package/dist/patterns/http-clients/axios.js.map +1 -0
  211. package/dist/patterns/http-clients/fetch.d.ts +88 -0
  212. package/dist/patterns/http-clients/fetch.d.ts.map +1 -0
  213. package/dist/patterns/http-clients/fetch.js +364 -0
  214. package/dist/patterns/http-clients/fetch.js.map +1 -0
  215. package/dist/patterns/http-clients/index.d.ts +36 -0
  216. package/dist/patterns/http-clients/index.d.ts.map +1 -0
  217. package/dist/patterns/http-clients/index.js +50 -0
  218. package/dist/patterns/http-clients/index.js.map +1 -0
  219. package/dist/patterns/http-clients/property-access.d.ts +46 -0
  220. package/dist/patterns/http-clients/property-access.d.ts.map +1 -0
  221. package/dist/patterns/http-clients/property-access.js +818 -0
  222. package/dist/patterns/http-clients/property-access.js.map +1 -0
  223. package/dist/patterns/http-clients/type-inference.d.ts +48 -0
  224. package/dist/patterns/http-clients/type-inference.d.ts.map +1 -0
  225. package/dist/patterns/http-clients/type-inference.js +293 -0
  226. package/dist/patterns/http-clients/type-inference.js.map +1 -0
  227. package/dist/patterns/http-clients/types.d.ts +168 -0
  228. package/dist/patterns/http-clients/types.d.ts.map +1 -0
  229. package/dist/patterns/http-clients/types.js +10 -0
  230. package/dist/patterns/http-clients/types.js.map +1 -0
  231. package/dist/patterns/http-clients/url-extractor.d.ts +53 -0
  232. package/dist/patterns/http-clients/url-extractor.d.ts.map +1 -0
  233. package/dist/patterns/http-clients/url-extractor.js +338 -0
  234. package/dist/patterns/http-clients/url-extractor.js.map +1 -0
  235. package/dist/patterns/index.d.ts +44 -0
  236. package/dist/patterns/index.d.ts.map +1 -0
  237. package/dist/patterns/index.js +49 -0
  238. package/dist/patterns/index.js.map +1 -0
  239. package/dist/patterns/python/aiohttp.d.ts +21 -0
  240. package/dist/patterns/python/aiohttp.d.ts.map +1 -0
  241. package/dist/patterns/python/aiohttp.js +188 -0
  242. package/dist/patterns/python/aiohttp.js.map +1 -0
  243. package/dist/patterns/python/httpx.d.ts +20 -0
  244. package/dist/patterns/python/httpx.d.ts.map +1 -0
  245. package/dist/patterns/python/httpx.js +183 -0
  246. package/dist/patterns/python/httpx.js.map +1 -0
  247. package/dist/patterns/python/index.d.ts +32 -0
  248. package/dist/patterns/python/index.d.ts.map +1 -0
  249. package/dist/patterns/python/index.js +63 -0
  250. package/dist/patterns/python/index.js.map +1 -0
  251. package/dist/patterns/python/property-access.d.ts +27 -0
  252. package/dist/patterns/python/property-access.d.ts.map +1 -0
  253. package/dist/patterns/python/property-access.js +132 -0
  254. package/dist/patterns/python/property-access.js.map +1 -0
  255. package/dist/patterns/python/requests.d.ts +19 -0
  256. package/dist/patterns/python/requests.d.ts.map +1 -0
  257. package/dist/patterns/python/requests.js +239 -0
  258. package/dist/patterns/python/requests.js.map +1 -0
  259. package/dist/patterns/python/types.d.ts +95 -0
  260. package/dist/patterns/python/types.d.ts.map +1 -0
  261. package/dist/patterns/python/types.js +43 -0
  262. package/dist/patterns/python/types.js.map +1 -0
  263. package/dist/patterns/registry.d.ts +181 -0
  264. package/dist/patterns/registry.d.ts.map +1 -0
  265. package/dist/patterns/registry.js +304 -0
  266. package/dist/patterns/registry.js.map +1 -0
  267. package/dist/patterns/rest/express.d.ts +78 -0
  268. package/dist/patterns/rest/express.d.ts.map +1 -0
  269. package/dist/patterns/rest/express.js +289 -0
  270. package/dist/patterns/rest/express.js.map +1 -0
  271. package/dist/patterns/rest/fastify.d.ts +93 -0
  272. package/dist/patterns/rest/fastify.d.ts.map +1 -0
  273. package/dist/patterns/rest/fastify.js +420 -0
  274. package/dist/patterns/rest/fastify.js.map +1 -0
  275. package/dist/patterns/rest/index.d.ts +31 -0
  276. package/dist/patterns/rest/index.d.ts.map +1 -0
  277. package/dist/patterns/rest/index.js +45 -0
  278. package/dist/patterns/rest/index.js.map +1 -0
  279. package/dist/patterns/rest/middleware.d.ts +25 -0
  280. package/dist/patterns/rest/middleware.d.ts.map +1 -0
  281. package/dist/patterns/rest/middleware.js +219 -0
  282. package/dist/patterns/rest/middleware.js.map +1 -0
  283. package/dist/patterns/rest/path-parser.d.ts +50 -0
  284. package/dist/patterns/rest/path-parser.d.ts.map +1 -0
  285. package/dist/patterns/rest/path-parser.js +137 -0
  286. package/dist/patterns/rest/path-parser.js.map +1 -0
  287. package/dist/patterns/rest/response-inference.d.ts +44 -0
  288. package/dist/patterns/rest/response-inference.d.ts.map +1 -0
  289. package/dist/patterns/rest/response-inference.js +218 -0
  290. package/dist/patterns/rest/response-inference.js.map +1 -0
  291. package/dist/patterns/rest/types.d.ts +102 -0
  292. package/dist/patterns/rest/types.d.ts.map +1 -0
  293. package/dist/patterns/rest/types.js +10 -0
  294. package/dist/patterns/rest/types.js.map +1 -0
  295. package/dist/patterns/types.d.ts +105 -0
  296. package/dist/patterns/types.d.ts.map +1 -0
  297. package/dist/patterns/types.js +11 -0
  298. package/dist/patterns/types.js.map +1 -0
  299. package/dist/report/index.d.ts +11 -0
  300. package/dist/report/index.d.ts.map +1 -0
  301. package/dist/report/index.js +55 -0
  302. package/dist/report/index.js.map +1 -0
  303. package/dist/tools/contract-comments.d.ts +48 -0
  304. package/dist/tools/contract-comments.d.ts.map +1 -0
  305. package/dist/tools/contract-comments.js +130 -0
  306. package/dist/tools/contract-comments.js.map +1 -0
  307. package/dist/tools/index.d.ts +6 -0
  308. package/dist/tools/index.d.ts.map +1 -0
  309. package/dist/tools/index.js +6 -0
  310. package/dist/tools/index.js.map +1 -0
  311. package/dist/tools/scaffold.d.ts +38 -0
  312. package/dist/tools/scaffold.d.ts.map +1 -0
  313. package/dist/tools/scaffold.js +373 -0
  314. package/dist/tools/scaffold.js.map +1 -0
  315. package/dist/trace/index.d.ts +28 -0
  316. package/dist/trace/index.d.ts.map +1 -0
  317. package/dist/trace/index.js +45 -0
  318. package/dist/trace/index.js.map +1 -0
  319. package/dist/types.d.ts +135 -0
  320. package/dist/types.d.ts.map +1 -0
  321. package/dist/types.js +22 -0
  322. package/dist/types.js.map +1 -0
  323. package/dist/watch/cache.d.ts +41 -0
  324. package/dist/watch/cache.d.ts.map +1 -0
  325. package/dist/watch/cache.js +230 -0
  326. package/dist/watch/cache.js.map +1 -0
  327. package/dist/watch/index.d.ts +9 -0
  328. package/dist/watch/index.d.ts.map +1 -0
  329. package/dist/watch/index.js +7 -0
  330. package/dist/watch/index.js.map +1 -0
  331. package/dist/watch/project.d.ts +128 -0
  332. package/dist/watch/project.d.ts.map +1 -0
  333. package/dist/watch/project.js +152 -0
  334. package/dist/watch/project.js.map +1 -0
  335. package/dist/watch/watcher.d.ts +76 -0
  336. package/dist/watch/watcher.d.ts.map +1 -0
  337. package/dist/watch/watcher.js +235 -0
  338. package/dist/watch/watcher.js.map +1 -0
  339. package/package.json +70 -0
@@ -0,0 +1,270 @@
1
+ /**
2
+ * Proto Type Converter
3
+ *
4
+ * Converts protobuf types to NormalizedSchema types.
5
+ */
6
+ /**
7
+ * Well-known Google protobuf types that need special handling
8
+ */
9
+ const WELL_KNOWN_TYPES = {
10
+ 'google.protobuf.Timestamp': { kind: 'primitive', value: 'string' },
11
+ 'google.protobuf.Duration': { kind: 'primitive', value: 'string' },
12
+ 'google.protobuf.Any': { kind: 'any' },
13
+ 'google.protobuf.Struct': { kind: 'object', schema: {
14
+ name: 'Struct',
15
+ properties: {},
16
+ required: [],
17
+ additionalProperties: { kind: 'any' },
18
+ source: { source: 'grpc', id: 'message:google.protobuf.Struct' }
19
+ } },
20
+ 'google.protobuf.Value': { kind: 'any' },
21
+ 'google.protobuf.ListValue': { kind: 'array', element: { kind: 'any' } },
22
+ 'google.protobuf.Empty': { kind: 'object', schema: {
23
+ name: 'Empty',
24
+ properties: {},
25
+ required: [],
26
+ source: { source: 'grpc', id: 'message:google.protobuf.Empty' }
27
+ } },
28
+ 'google.protobuf.FieldMask': { kind: 'primitive', value: 'string' },
29
+ // Wrapper types - nullable versions of primitives
30
+ 'google.protobuf.StringValue': { kind: 'union', variants: [
31
+ { kind: 'primitive', value: 'string' },
32
+ { kind: 'primitive', value: 'null' }
33
+ ] },
34
+ 'google.protobuf.Int32Value': { kind: 'union', variants: [
35
+ { kind: 'primitive', value: 'number' },
36
+ { kind: 'primitive', value: 'null' }
37
+ ] },
38
+ 'google.protobuf.Int64Value': { kind: 'union', variants: [
39
+ { kind: 'primitive', value: 'number' },
40
+ { kind: 'primitive', value: 'null' }
41
+ ] },
42
+ 'google.protobuf.UInt32Value': { kind: 'union', variants: [
43
+ { kind: 'primitive', value: 'number' },
44
+ { kind: 'primitive', value: 'null' }
45
+ ] },
46
+ 'google.protobuf.UInt64Value': { kind: 'union', variants: [
47
+ { kind: 'primitive', value: 'number' },
48
+ { kind: 'primitive', value: 'null' }
49
+ ] },
50
+ 'google.protobuf.FloatValue': { kind: 'union', variants: [
51
+ { kind: 'primitive', value: 'number' },
52
+ { kind: 'primitive', value: 'null' }
53
+ ] },
54
+ 'google.protobuf.DoubleValue': { kind: 'union', variants: [
55
+ { kind: 'primitive', value: 'number' },
56
+ { kind: 'primitive', value: 'null' }
57
+ ] },
58
+ 'google.protobuf.BoolValue': { kind: 'union', variants: [
59
+ { kind: 'primitive', value: 'boolean' },
60
+ { kind: 'primitive', value: 'null' }
61
+ ] },
62
+ 'google.protobuf.BytesValue': { kind: 'union', variants: [
63
+ { kind: 'primitive', value: 'string' },
64
+ { kind: 'primitive', value: 'null' }
65
+ ] },
66
+ };
67
+ /**
68
+ * Proto scalar type to NormalizedType mapping
69
+ */
70
+ const SCALAR_TYPES = {
71
+ // Integer types
72
+ 'int32': { kind: 'primitive', value: 'number' },
73
+ 'int64': { kind: 'primitive', value: 'number' },
74
+ 'uint32': { kind: 'primitive', value: 'number' },
75
+ 'uint64': { kind: 'primitive', value: 'number' },
76
+ 'sint32': { kind: 'primitive', value: 'number' },
77
+ 'sint64': { kind: 'primitive', value: 'number' },
78
+ 'fixed32': { kind: 'primitive', value: 'number' },
79
+ 'fixed64': { kind: 'primitive', value: 'number' },
80
+ 'sfixed32': { kind: 'primitive', value: 'number' },
81
+ 'sfixed64': { kind: 'primitive', value: 'number' },
82
+ // Floating point
83
+ 'float': { kind: 'primitive', value: 'number' },
84
+ 'double': { kind: 'primitive', value: 'number' },
85
+ // Boolean
86
+ 'bool': { kind: 'primitive', value: 'boolean' },
87
+ // String and bytes
88
+ 'string': { kind: 'primitive', value: 'string' },
89
+ 'bytes': { kind: 'primitive', value: 'string' }, // Base64 encoded
90
+ };
91
+ /**
92
+ * Converts protobuf types to NormalizedSchema
93
+ */
94
+ export class ProtoTypeConverter {
95
+ messages = new Map();
96
+ enums = new Map();
97
+ /**
98
+ * Register messages for type resolution
99
+ */
100
+ registerMessages(messages) {
101
+ for (const msg of messages) {
102
+ this.messages.set(msg.fullName, msg);
103
+ this.messages.set(msg.name, msg);
104
+ // Register nested messages
105
+ for (const nested of msg.nestedMessages) {
106
+ this.messages.set(nested.fullName, nested);
107
+ this.messages.set(nested.name, nested);
108
+ }
109
+ }
110
+ }
111
+ /**
112
+ * Register enums for type resolution
113
+ */
114
+ registerEnums(enums) {
115
+ for (const e of enums) {
116
+ this.enums.set(e.fullName, e);
117
+ this.enums.set(e.name, e);
118
+ }
119
+ }
120
+ /**
121
+ * Convert a ProtoMessage to NormalizedSchema
122
+ */
123
+ messageToSchema(message) {
124
+ const properties = {};
125
+ const required = [];
126
+ // Track which fields are part of oneofs
127
+ const oneofFields = new Set();
128
+ for (const oneof of message.oneofs) {
129
+ for (const fieldName of oneof.fieldNames) {
130
+ oneofFields.add(fieldName);
131
+ }
132
+ }
133
+ // Process regular fields (not in oneofs)
134
+ for (const field of message.fields) {
135
+ if (oneofFields.has(field.name)) {
136
+ continue; // Skip oneof fields, they'll be handled separately
137
+ }
138
+ properties[field.name] = this.fieldToPropertyDef(field);
139
+ // In proto3, singular fields are not required (have default values)
140
+ // Only fields explicitly marked as optional are considered optional
141
+ if (!field.optional && field.rule !== 'repeated' && field.rule !== 'map') {
142
+ // In proto3, all fields have defaults, but non-optional singular fields
143
+ // are considered "required" in the sense that they always have a value
144
+ }
145
+ }
146
+ // Process oneofs as union properties
147
+ for (const oneof of message.oneofs) {
148
+ const variants = [];
149
+ for (const fieldName of oneof.fieldNames) {
150
+ const field = message.fields.find(f => f.name === fieldName);
151
+ if (field) {
152
+ // Create an object type for each variant
153
+ const variantType = this.fieldTypeToNormalizedType(field);
154
+ variants.push({
155
+ kind: 'object',
156
+ schema: {
157
+ name: fieldName,
158
+ properties: {
159
+ [fieldName]: {
160
+ type: variantType,
161
+ optional: false,
162
+ nullable: false,
163
+ readonly: false,
164
+ deprecated: false,
165
+ }
166
+ },
167
+ required: [fieldName],
168
+ source: { source: 'grpc', id: `message:${message.fullName}:${fieldName}` }
169
+ }
170
+ });
171
+ }
172
+ }
173
+ properties[oneof.name] = {
174
+ type: { kind: 'union', variants },
175
+ optional: true, // oneofs are always optional
176
+ nullable: false,
177
+ readonly: false,
178
+ deprecated: false,
179
+ };
180
+ }
181
+ return {
182
+ name: message.name,
183
+ properties,
184
+ required,
185
+ source: { source: 'grpc', id: `message:${message.fullName}` }
186
+ };
187
+ }
188
+ /**
189
+ * Convert a ProtoField to PropertyDef
190
+ */
191
+ fieldToPropertyDef(field) {
192
+ let type = this.fieldTypeToNormalizedType(field);
193
+ return {
194
+ type,
195
+ optional: field.optional,
196
+ nullable: false,
197
+ readonly: false,
198
+ deprecated: false,
199
+ };
200
+ }
201
+ /**
202
+ * Convert a field's type to NormalizedType
203
+ */
204
+ fieldTypeToNormalizedType(field) {
205
+ // Handle map types
206
+ if (field.rule === 'map' && field.keyType) {
207
+ const valueType = this.resolveTypeName(field.type);
208
+ return {
209
+ kind: 'object',
210
+ schema: {
211
+ name: `Map<${field.keyType}, ${field.type}>`,
212
+ properties: {},
213
+ required: [],
214
+ additionalProperties: valueType,
215
+ source: { source: 'grpc', id: `map:${field.keyType}:${field.type}` }
216
+ }
217
+ };
218
+ }
219
+ // Handle repeated types
220
+ if (field.rule === 'repeated') {
221
+ const elementType = this.resolveTypeName(field.type);
222
+ return {
223
+ kind: 'array',
224
+ element: elementType,
225
+ };
226
+ }
227
+ // Handle regular types
228
+ return this.resolveTypeName(field.type);
229
+ }
230
+ /**
231
+ * Resolve a type name to NormalizedType
232
+ */
233
+ resolveTypeName(typeName) {
234
+ // Check well-known types first
235
+ if (WELL_KNOWN_TYPES[typeName]) {
236
+ return WELL_KNOWN_TYPES[typeName];
237
+ }
238
+ // Check scalar types
239
+ if (SCALAR_TYPES[typeName]) {
240
+ return SCALAR_TYPES[typeName];
241
+ }
242
+ // Check if it's a known enum
243
+ const protoEnum = this.enums.get(typeName);
244
+ if (protoEnum) {
245
+ return this.enumToNormalizedType(protoEnum);
246
+ }
247
+ // Check if it's a known message
248
+ const protoMessage = this.messages.get(typeName);
249
+ if (protoMessage) {
250
+ // Return a reference type to avoid infinite recursion
251
+ return { kind: 'ref', name: protoMessage.name };
252
+ }
253
+ // Unknown type - return as reference
254
+ return { kind: 'ref', name: typeName };
255
+ }
256
+ /**
257
+ * Convert a ProtoEnum to NormalizedType
258
+ */
259
+ enumToNormalizedType(protoEnum) {
260
+ const variants = protoEnum.values.map(v => ({
261
+ kind: 'literal',
262
+ value: v.name,
263
+ }));
264
+ return {
265
+ kind: 'union',
266
+ variants,
267
+ };
268
+ }
269
+ }
270
+ //# sourceMappingURL=type-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-converter.js","sourceRoot":"","sources":["../../../src/adapters/grpc/type-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * gRPC/Protobuf Type Definitions
3
+ *
4
+ * Types for representing parsed protobuf structures.
5
+ */
6
+ /**
7
+ * Streaming mode for RPC methods
8
+ */
9
+ export type StreamingMode = 'unary' | 'server_streaming' | 'client_streaming' | 'bidirectional';
10
+ /**
11
+ * Represents a parsed .proto file
12
+ */
13
+ export interface ProtoFile {
14
+ path: string;
15
+ syntax: string;
16
+ package: string | null;
17
+ imports: string[];
18
+ messages: ProtoMessage[];
19
+ enums: ProtoEnum[];
20
+ services: ProtoService[];
21
+ }
22
+ /**
23
+ * Represents a protobuf message definition
24
+ */
25
+ export interface ProtoMessage {
26
+ name: string;
27
+ fullName: string;
28
+ fields: ProtoField[];
29
+ nestedMessages: ProtoMessage[];
30
+ nestedEnums: ProtoEnum[];
31
+ oneofs: ProtoOneof[];
32
+ }
33
+ /**
34
+ * Represents a field in a protobuf message
35
+ */
36
+ export interface ProtoField {
37
+ name: string;
38
+ type: string;
39
+ number: number;
40
+ rule?: 'repeated' | 'map' | 'optional';
41
+ optional: boolean;
42
+ keyType?: string;
43
+ oneofName?: string;
44
+ }
45
+ /**
46
+ * Represents a protobuf enum definition
47
+ */
48
+ export interface ProtoEnum {
49
+ name: string;
50
+ fullName: string;
51
+ values: ProtoEnumValue[];
52
+ }
53
+ /**
54
+ * Represents a value in a protobuf enum
55
+ */
56
+ export interface ProtoEnumValue {
57
+ name: string;
58
+ number: number;
59
+ }
60
+ /**
61
+ * Represents a oneof group in a protobuf message
62
+ */
63
+ export interface ProtoOneof {
64
+ name: string;
65
+ fieldNames: string[];
66
+ }
67
+ /**
68
+ * Represents a protobuf service definition
69
+ */
70
+ export interface ProtoService {
71
+ name: string;
72
+ fullName: string;
73
+ methods: ProtoMethod[];
74
+ }
75
+ /**
76
+ * Represents an RPC method in a protobuf service
77
+ */
78
+ export interface ProtoMethod {
79
+ name: string;
80
+ requestType: string;
81
+ responseType: string;
82
+ clientStreaming: boolean;
83
+ serverStreaming: boolean;
84
+ }
85
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/adapters/grpc/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAEhG;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,YAAY,EAAE,CAAC;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,GAAG,KAAK,GAAG,UAAU,CAAC;IACvC,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,OAAO,CAAC;CAC1B"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * gRPC/Protobuf Type Definitions
3
+ *
4
+ * Types for representing parsed protobuf structures.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/adapters/grpc/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * 🔌 Schema Adapters
3
+ *
4
+ * This module provides the adapter system for extracting and normalizing
5
+ * schemas from different sources (MCP, OpenAPI, GraphQL, etc.).
6
+ *
7
+ * ## Quick Start
8
+ *
9
+ * ```typescript
10
+ * import { bootstrapAdapters, getAdapter, extractSchema } from './adapters';
11
+ *
12
+ * // Initialize built-in adapters
13
+ * bootstrapAdapters();
14
+ *
15
+ * // Extract a schema
16
+ * const schema = await extractSchema({
17
+ * source: 'mcp',
18
+ * id: 'tool:get_weather'
19
+ * });
20
+ * ```
21
+ *
22
+ * ## Available Exports
23
+ *
24
+ * - **Adapters**: MCPAdapter
25
+ * - **Registry Functions**: registerAdapter, getAdapter, hasAdapter, listAdapters
26
+ * - **High-Level Functions**: extractSchema, listSchemas, getAdapterForRef
27
+ * - **Bootstrap**: bootstrapAdapters
28
+ * - **Error Types**: AdapterRegistryError, AdapterNotFoundError, AdapterValidationError
29
+ *
30
+ * @module adapters
31
+ */
32
+ export { MCPAdapter } from './mcp.js';
33
+ export { OpenAPIAdapter, parseOpenAPIRef, type OpenAPIRef } from './openapi/index.js';
34
+ export { TRPCAdapter, parseTRPCRef, type TRPCRef } from './trpc/index.js';
35
+ export { registerAdapter, getAdapter, hasAdapter, listAdapters, getAdapterForRef, extractSchema, listSchemas, } from './registry.js';
36
+ export { AdapterRegistryError, AdapterNotFoundError, AdapterValidationError, } from './errors.js';
37
+ export { bootstrapAdapters } from './bootstrap.js';
38
+ export type { SchemaAdapter, SchemaRef, NormalizedSchema, SchemaSourceKind } from '../core/types.js';
39
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAMH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,KAAK,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAM1E,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,GACZ,MAAM,eAAe,CAAC;AAMvB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAMnD,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * 🔌 Schema Adapters
3
+ *
4
+ * This module provides the adapter system for extracting and normalizing
5
+ * schemas from different sources (MCP, OpenAPI, GraphQL, etc.).
6
+ *
7
+ * ## Quick Start
8
+ *
9
+ * ```typescript
10
+ * import { bootstrapAdapters, getAdapter, extractSchema } from './adapters';
11
+ *
12
+ * // Initialize built-in adapters
13
+ * bootstrapAdapters();
14
+ *
15
+ * // Extract a schema
16
+ * const schema = await extractSchema({
17
+ * source: 'mcp',
18
+ * id: 'tool:get_weather'
19
+ * });
20
+ * ```
21
+ *
22
+ * ## Available Exports
23
+ *
24
+ * - **Adapters**: MCPAdapter
25
+ * - **Registry Functions**: registerAdapter, getAdapter, hasAdapter, listAdapters
26
+ * - **High-Level Functions**: extractSchema, listSchemas, getAdapterForRef
27
+ * - **Bootstrap**: bootstrapAdapters
28
+ * - **Error Types**: AdapterRegistryError, AdapterNotFoundError, AdapterValidationError
29
+ *
30
+ * @module adapters
31
+ */
32
+ // ============================================================================
33
+ // Adapters
34
+ // ============================================================================
35
+ export { MCPAdapter } from './mcp.js';
36
+ export { OpenAPIAdapter, parseOpenAPIRef } from './openapi/index.js';
37
+ export { TRPCAdapter, parseTRPCRef } from './trpc/index.js';
38
+ // ============================================================================
39
+ // Registry Functions
40
+ // ============================================================================
41
+ export { registerAdapter, getAdapter, hasAdapter, listAdapters, getAdapterForRef, extractSchema, listSchemas, } from './registry.js';
42
+ // ============================================================================
43
+ // Error Types
44
+ // ============================================================================
45
+ export { AdapterRegistryError, AdapterNotFoundError, AdapterValidationError, } from './errors.js';
46
+ // ============================================================================
47
+ // Bootstrap
48
+ // ============================================================================
49
+ export { bootstrapAdapters } from './bootstrap.js';
50
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAmB,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAgB,MAAM,iBAAiB,CAAC;AAE1E,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,OAAO,EACL,eAAe,EACf,UAAU,EACV,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,WAAW,GACZ,MAAM,eAAe,CAAC;AAEvB,+EAA+E;AAC/E,cAAc;AACd,+EAA+E;AAE/E,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * MCP Schema Adapter
3
+ * Converts MCP tool definitions to NormalizedSchema
4
+ */
5
+ import type { SchemaAdapter, SchemaRef, NormalizedSchema } from '../core/types.js';
6
+ /**
7
+ * MCP adapter for extracting schemas from MCP server.tool() calls
8
+ */
9
+ export declare class MCPAdapter implements SchemaAdapter {
10
+ readonly kind: "mcp";
11
+ supports(ref: SchemaRef): boolean;
12
+ extract(ref: SchemaRef): Promise<NormalizedSchema>;
13
+ list(basePath: string): Promise<SchemaRef[]>;
14
+ private extractFromFile;
15
+ private extractFromDirectory;
16
+ private extractToolByName;
17
+ private findToolCalls;
18
+ private extractToolName;
19
+ private parseToolCallToNormalized;
20
+ private parseZodSchemaToNormalized;
21
+ private parseZodType;
22
+ }
23
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/adapters/mcp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,gBAAgB,EAIjB,MAAM,kBAAkB,CAAC;AAG1B;;GAEG;AACH,qBAAa,UAAW,YAAW,aAAa;IAC9C,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAE/B,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO;IAI3B,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoClD,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAsCpC,eAAe;YAoBf,oBAAoB;YA2CpB,iBAAiB;IA0B/B,OAAO,CAAC,aAAa;IAoBrB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,yBAAyB;IAiDjC,OAAO,CAAC,0BAA0B;IA2ClC,OAAO,CAAC,YAAY;CAoErB"}