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,362 @@
1
+ /**
2
+ * gRPC Adapter
3
+ *
4
+ * Schema adapter for gRPC/Protobuf files.
5
+ */
6
+ import { ProtoParser } from './proto-parser.js';
7
+ import { ProtoTypeConverter } from './type-converter.js';
8
+ /**
9
+ * gRPC Schema Adapter
10
+ */
11
+ export class GrpcAdapter {
12
+ kind = 'grpc';
13
+ parser;
14
+ converter;
15
+ constructor() {
16
+ this.parser = new ProtoParser();
17
+ this.converter = new ProtoTypeConverter();
18
+ }
19
+ /**
20
+ * Check if this adapter supports the given schema reference
21
+ */
22
+ supports(ref) {
23
+ if (ref.source !== 'grpc') {
24
+ return false;
25
+ }
26
+ const parsed = this.parseRefId(ref.id);
27
+ return parsed !== null;
28
+ }
29
+ /**
30
+ * Extract a schema from a gRPC ref
31
+ */
32
+ async extract(ref) {
33
+ const path = ref.options?.path;
34
+ if (!path) {
35
+ throw new Error('gRPC adapter requires a path option');
36
+ }
37
+ const parsed = this.parseRefId(ref.id);
38
+ if (!parsed) {
39
+ throw new Error(`Invalid gRPC ref id: ${ref.id}`);
40
+ }
41
+ const protoFile = await this.parser.parseFile(path);
42
+ // Register all messages and enums for type resolution
43
+ this.converter.registerMessages(protoFile.messages);
44
+ this.converter.registerEnums(protoFile.enums);
45
+ // Also register nested enums from messages
46
+ for (const msg of protoFile.messages) {
47
+ this.converter.registerEnums(msg.nestedEnums);
48
+ for (const nestedMsg of msg.nestedMessages) {
49
+ this.converter.registerEnums(nestedMsg.nestedEnums);
50
+ }
51
+ }
52
+ switch (parsed.type) {
53
+ case 'message':
54
+ return this.extractMessageSchema(protoFile, parsed.fullName, ref);
55
+ case 'enum':
56
+ return this.extractEnumSchema(protoFile, parsed.fullName, ref);
57
+ case 'service':
58
+ if (parsed.methodName) {
59
+ return this.extractMethodSchema(protoFile, parsed.fullName, parsed.methodName, ref);
60
+ }
61
+ return this.extractServiceSchema(protoFile, parsed.fullName, ref);
62
+ default:
63
+ throw new Error(`Unsupported gRPC ref type: ${parsed.type}`);
64
+ }
65
+ }
66
+ /**
67
+ * List all available schemas in a proto file
68
+ */
69
+ async list(basePath) {
70
+ try {
71
+ const protoFile = await this.parser.parseFile(basePath);
72
+ const refs = [];
73
+ // List all messages
74
+ for (const msg of protoFile.messages) {
75
+ refs.push({
76
+ source: 'grpc',
77
+ id: `message:${msg.fullName}`,
78
+ options: { path: basePath },
79
+ });
80
+ // Add nested messages
81
+ for (const nested of msg.nestedMessages) {
82
+ refs.push({
83
+ source: 'grpc',
84
+ id: `message:${nested.fullName}`,
85
+ options: { path: basePath },
86
+ });
87
+ }
88
+ }
89
+ // List all enums
90
+ for (const e of protoFile.enums) {
91
+ refs.push({
92
+ source: 'grpc',
93
+ id: `enum:${e.fullName}`,
94
+ options: { path: basePath },
95
+ });
96
+ }
97
+ // List all services
98
+ for (const svc of protoFile.services) {
99
+ refs.push({
100
+ source: 'grpc',
101
+ id: `service:${svc.fullName}`,
102
+ options: { path: basePath },
103
+ });
104
+ }
105
+ return refs;
106
+ }
107
+ catch {
108
+ // Return empty array for non-existent or invalid files
109
+ return [];
110
+ }
111
+ }
112
+ /**
113
+ * Parse a gRPC ref id
114
+ */
115
+ parseRefId(id) {
116
+ // Format: type:fullName or type:fullName:methodName
117
+ const match = id.match(/^(message|enum|service):([^:]+)(?::(.+))?$/);
118
+ if (!match) {
119
+ return null;
120
+ }
121
+ return {
122
+ type: match[1],
123
+ fullName: match[2],
124
+ methodName: match[3],
125
+ };
126
+ }
127
+ /**
128
+ * Extract message schema
129
+ */
130
+ extractMessageSchema(protoFile, fullName, ref) {
131
+ const message = this.findMessage(protoFile, fullName);
132
+ if (!message) {
133
+ throw new Error(`Message not found: ${fullName}`);
134
+ }
135
+ const schema = this.converter.messageToSchema(message);
136
+ schema.source = ref;
137
+ return schema;
138
+ }
139
+ /**
140
+ * Extract enum schema
141
+ */
142
+ extractEnumSchema(protoFile, fullName, ref) {
143
+ const protoEnum = this.findEnum(protoFile, fullName);
144
+ if (!protoEnum) {
145
+ throw new Error(`Enum not found: ${fullName}`);
146
+ }
147
+ const enumType = this.converter.enumToNormalizedType(protoEnum);
148
+ return {
149
+ name: protoEnum.name,
150
+ properties: {
151
+ value: {
152
+ type: enumType,
153
+ optional: false,
154
+ nullable: false,
155
+ readonly: false,
156
+ deprecated: false,
157
+ }
158
+ },
159
+ required: ['value'],
160
+ source: ref,
161
+ };
162
+ }
163
+ /**
164
+ * Extract service schema (all methods)
165
+ */
166
+ extractServiceSchema(protoFile, fullName, ref) {
167
+ const service = this.findService(protoFile, fullName);
168
+ if (!service) {
169
+ throw new Error(`Service not found: ${fullName}`);
170
+ }
171
+ const properties = {};
172
+ for (const method of service.methods) {
173
+ properties[method.name] = {
174
+ type: this.methodToType(method),
175
+ optional: false,
176
+ nullable: false,
177
+ readonly: false,
178
+ deprecated: false,
179
+ };
180
+ }
181
+ return {
182
+ name: service.name,
183
+ properties,
184
+ required: Object.keys(properties),
185
+ source: ref,
186
+ };
187
+ }
188
+ /**
189
+ * Extract specific method schema
190
+ */
191
+ extractMethodSchema(protoFile, serviceFullName, methodName, ref) {
192
+ const service = this.findService(protoFile, serviceFullName);
193
+ if (!service) {
194
+ throw new Error(`Service not found: ${serviceFullName}`);
195
+ }
196
+ const method = service.methods.find(m => m.name === methodName);
197
+ if (!method) {
198
+ throw new Error(`Method not found: ${methodName} in ${serviceFullName}`);
199
+ }
200
+ const streamingMode = this.getStreamingMode(method);
201
+ return {
202
+ name: `${service.name}.${method.name}`,
203
+ properties: {
204
+ request: {
205
+ type: { kind: 'ref', name: method.requestType },
206
+ optional: false,
207
+ nullable: false,
208
+ readonly: false,
209
+ deprecated: false,
210
+ },
211
+ response: {
212
+ type: { kind: 'ref', name: method.responseType },
213
+ optional: false,
214
+ nullable: false,
215
+ readonly: false,
216
+ deprecated: false,
217
+ },
218
+ streaming: {
219
+ type: { kind: 'literal', value: streamingMode },
220
+ optional: false,
221
+ nullable: false,
222
+ readonly: false,
223
+ deprecated: false,
224
+ },
225
+ },
226
+ required: ['request', 'response', 'streaming'],
227
+ source: ref,
228
+ };
229
+ }
230
+ /**
231
+ * Convert a method to a type
232
+ */
233
+ methodToType(method) {
234
+ const streamingMode = this.getStreamingMode(method);
235
+ return {
236
+ kind: 'object',
237
+ schema: {
238
+ name: method.name,
239
+ properties: {
240
+ request: {
241
+ type: { kind: 'ref', name: method.requestType },
242
+ optional: false,
243
+ nullable: false,
244
+ readonly: false,
245
+ deprecated: false,
246
+ },
247
+ response: {
248
+ type: { kind: 'ref', name: method.responseType },
249
+ optional: false,
250
+ nullable: false,
251
+ readonly: false,
252
+ deprecated: false,
253
+ },
254
+ streaming: {
255
+ type: { kind: 'literal', value: streamingMode },
256
+ optional: false,
257
+ nullable: false,
258
+ readonly: false,
259
+ deprecated: false,
260
+ },
261
+ },
262
+ required: ['request', 'response', 'streaming'],
263
+ source: { source: 'grpc', id: `method:${method.name}` },
264
+ },
265
+ };
266
+ }
267
+ /**
268
+ * Get the streaming mode of a method
269
+ */
270
+ getStreamingMode(method) {
271
+ if (method.clientStreaming && method.serverStreaming) {
272
+ return 'bidirectional';
273
+ }
274
+ else if (method.clientStreaming) {
275
+ return 'client_streaming';
276
+ }
277
+ else if (method.serverStreaming) {
278
+ return 'server_streaming';
279
+ }
280
+ return 'unary';
281
+ }
282
+ /**
283
+ * Find a message by full name or short name
284
+ */
285
+ findMessage(protoFile, name) {
286
+ // Try exact match first
287
+ for (const msg of protoFile.messages) {
288
+ if (msg.fullName === name || msg.name === name) {
289
+ return msg;
290
+ }
291
+ // Check nested messages
292
+ const nested = this.findNestedMessage(msg, name);
293
+ if (nested) {
294
+ return nested;
295
+ }
296
+ }
297
+ return undefined;
298
+ }
299
+ /**
300
+ * Find a nested message
301
+ */
302
+ findNestedMessage(parent, name) {
303
+ for (const nested of parent.nestedMessages) {
304
+ if (nested.fullName === name || nested.name === name) {
305
+ return nested;
306
+ }
307
+ const deeper = this.findNestedMessage(nested, name);
308
+ if (deeper) {
309
+ return deeper;
310
+ }
311
+ }
312
+ return undefined;
313
+ }
314
+ /**
315
+ * Find an enum by full name or short name
316
+ */
317
+ findEnum(protoFile, name) {
318
+ // Check top-level enums
319
+ for (const e of protoFile.enums) {
320
+ if (e.fullName === name || e.name === name) {
321
+ return e;
322
+ }
323
+ }
324
+ // Check nested enums in messages
325
+ for (const msg of protoFile.messages) {
326
+ const nested = this.findNestedEnum(msg, name);
327
+ if (nested) {
328
+ return nested;
329
+ }
330
+ }
331
+ return undefined;
332
+ }
333
+ /**
334
+ * Find a nested enum
335
+ */
336
+ findNestedEnum(parent, name) {
337
+ for (const e of parent.nestedEnums) {
338
+ if (e.fullName === name || e.name === name) {
339
+ return e;
340
+ }
341
+ }
342
+ for (const nested of parent.nestedMessages) {
343
+ const found = this.findNestedEnum(nested, name);
344
+ if (found) {
345
+ return found;
346
+ }
347
+ }
348
+ return undefined;
349
+ }
350
+ /**
351
+ * Find a service by full name or short name
352
+ */
353
+ findService(protoFile, name) {
354
+ for (const svc of protoFile.services) {
355
+ if (svc.fullName === name || svc.name === name) {
356
+ return svc;
357
+ }
358
+ }
359
+ return undefined;
360
+ }
361
+ }
362
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/adapters/grpc/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * gRPC/Protobuf Adapter Module
3
+ *
4
+ * Exports for the gRPC schema adapter.
5
+ */
6
+ export { type ProtoFile, type ProtoMessage, type ProtoField, type ProtoEnum, type ProtoEnumValue, type ProtoService, type ProtoMethod, type ProtoOneof, type StreamingMode, } from './types.js';
7
+ export { ProtoParser } from './proto-parser.js';
8
+ export { ProtoTypeConverter } from './type-converter.js';
9
+ export { GrpcAdapter } from './adapter.js';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/grpc/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGzD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * gRPC/Protobuf Adapter Module
3
+ *
4
+ * Exports for the gRPC schema adapter.
5
+ */
6
+ // Parser
7
+ export { ProtoParser } from './proto-parser.js';
8
+ // Type Converter
9
+ export { ProtoTypeConverter } from './type-converter.js';
10
+ // Adapter
11
+ export { GrpcAdapter } from './adapter.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/adapters/grpc/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,iBAAiB;AACjB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Protobuf Parser
3
+ *
4
+ * Regex-based parser for proto3 syntax files.
5
+ */
6
+ import { ProtoFile } from './types.js';
7
+ /**
8
+ * Parser for protobuf files
9
+ */
10
+ export declare class ProtoParser {
11
+ /**
12
+ * Parse protobuf source content
13
+ */
14
+ parseSource(content: string, filePath: string): ProtoFile;
15
+ /**
16
+ * Parse a protobuf file from disk
17
+ */
18
+ parseFile(filePath: string, includePaths?: string[]): Promise<ProtoFile>;
19
+ /**
20
+ * Remove all comments from protobuf content
21
+ */
22
+ private removeComments;
23
+ /**
24
+ * Validate proto syntax and throw for invalid patterns
25
+ */
26
+ private validateSyntax;
27
+ /**
28
+ * Parse top-level enums
29
+ */
30
+ private parseTopLevelEnums;
31
+ /**
32
+ * Parse enum values from enum block content
33
+ */
34
+ private parseEnumValues;
35
+ /**
36
+ * Parse top-level messages
37
+ */
38
+ private parseTopLevelMessages;
39
+ /**
40
+ * Parse a single message content
41
+ */
42
+ private parseMessageContent;
43
+ /**
44
+ * Parse nested messages within a message body
45
+ */
46
+ private parseNestedMessages;
47
+ /**
48
+ * Parse nested enums within a message body
49
+ */
50
+ private parseNestedEnums;
51
+ /**
52
+ * Parse oneof definitions
53
+ */
54
+ private parseOneofs;
55
+ /**
56
+ * Remove nested message, enum, and oneof definitions from body
57
+ */
58
+ private removeNestedDefinitions;
59
+ /**
60
+ * Remove block definitions (message, enum, oneof, etc.)
61
+ */
62
+ private removeBlockDefinitions;
63
+ /**
64
+ * Parse fields from a message body
65
+ */
66
+ private parseFields;
67
+ /**
68
+ * Parse services
69
+ */
70
+ private parseServices;
71
+ /**
72
+ * Parse RPC methods from service body
73
+ */
74
+ private parseRpcMethods;
75
+ }
76
+ //# sourceMappingURL=proto-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proto-parser.d.ts","sourceRoot":"","sources":["../../../src/adapters/grpc/proto-parser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,SAAS,EAQV,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,WAAW;IACtB;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS;IAgDzD;;OAEG;IACG,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAM9E;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAwCtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAyD1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAiBvB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA+C7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0C3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqDxB;;OAEG;IACH,OAAO,CAAC,WAAW;IAyBnB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;OAEG;IACH,OAAO,CAAC,WAAW;IAgFnB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,eAAe;CAmBxB"}