mcpmake 0.1.1 → 0.2.1

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 (385) hide show
  1. package/README.md +88 -635
  2. package/dist/commands/bundle.d.ts +1 -0
  3. package/dist/commands/bundle.d.ts.map +1 -0
  4. package/dist/commands/bundle.js +5 -4
  5. package/dist/commands/bundle.js.map +1 -0
  6. package/dist/commands/ci.d.ts +1 -0
  7. package/dist/commands/ci.d.ts.map +1 -0
  8. package/dist/commands/ci.js +3 -2
  9. package/dist/commands/ci.js.map +1 -0
  10. package/dist/commands/deploy.d.ts +1 -0
  11. package/dist/commands/deploy.d.ts.map +1 -0
  12. package/dist/commands/deploy.js +4 -3
  13. package/dist/commands/deploy.js.map +1 -0
  14. package/dist/commands/diff.d.ts +1 -0
  15. package/dist/commands/diff.d.ts.map +1 -0
  16. package/dist/commands/diff.js +5 -4
  17. package/dist/commands/diff.js.map +1 -0
  18. package/dist/commands/from/describe.d.ts +1 -0
  19. package/dist/commands/from/describe.d.ts.map +1 -0
  20. package/dist/commands/from/describe.js +11 -10
  21. package/dist/commands/from/describe.js.map +1 -0
  22. package/dist/commands/from/har.d.ts +1 -0
  23. package/dist/commands/from/har.d.ts.map +1 -0
  24. package/dist/commands/from/har.js +14 -13
  25. package/dist/commands/from/har.js.map +1 -0
  26. package/dist/commands/from/openapi.d.ts +1 -0
  27. package/dist/commands/from/openapi.d.ts.map +1 -0
  28. package/dist/commands/from/openapi.js +17 -16
  29. package/dist/commands/from/openapi.js.map +1 -0
  30. package/dist/commands/from/postman.d.ts +1 -0
  31. package/dist/commands/from/postman.d.ts.map +1 -0
  32. package/dist/commands/from/postman.js +13 -12
  33. package/dist/commands/from/postman.js.map +1 -0
  34. package/dist/commands/from/stainless.d.ts +110 -0
  35. package/dist/commands/from/stainless.d.ts.map +1 -0
  36. package/dist/commands/from/stainless.js +272 -0
  37. package/dist/commands/from/stainless.js.map +1 -0
  38. package/dist/commands/from/target-support.d.ts +1 -0
  39. package/dist/commands/from/target-support.d.ts.map +1 -0
  40. package/dist/commands/from/target-support.js +2 -1
  41. package/dist/commands/from/target-support.js.map +1 -0
  42. package/dist/commands/from/url.d.ts +1 -0
  43. package/dist/commands/from/url.d.ts.map +1 -0
  44. package/dist/commands/from/url.js +14 -13
  45. package/dist/commands/from/url.js.map +1 -0
  46. package/dist/commands/from/website.d.ts +1 -0
  47. package/dist/commands/from/website.d.ts.map +1 -0
  48. package/dist/commands/from/website.js +17 -16
  49. package/dist/commands/from/website.js.map +1 -0
  50. package/dist/commands/lint.d.ts +1 -0
  51. package/dist/commands/lint.d.ts.map +1 -0
  52. package/dist/commands/lint.js +6 -5
  53. package/dist/commands/lint.js.map +1 -0
  54. package/dist/commands/merge.d.ts +1 -0
  55. package/dist/commands/merge.d.ts.map +1 -0
  56. package/dist/commands/merge.js +3 -2
  57. package/dist/commands/merge.js.map +1 -0
  58. package/dist/commands/publish.d.ts +1 -0
  59. package/dist/commands/publish.d.ts.map +1 -0
  60. package/dist/commands/publish.js +4 -3
  61. package/dist/commands/publish.js.map +1 -0
  62. package/dist/commands/rescan.d.ts +1 -0
  63. package/dist/commands/rescan.d.ts.map +1 -0
  64. package/dist/commands/rescan.js +12 -11
  65. package/dist/commands/rescan.js.map +1 -0
  66. package/dist/commands/update.d.ts +1 -0
  67. package/dist/commands/update.d.ts.map +1 -0
  68. package/dist/commands/update.js +10 -9
  69. package/dist/commands/update.js.map +1 -0
  70. package/dist/commands/verify.d.ts +1 -0
  71. package/dist/commands/verify.d.ts.map +1 -0
  72. package/dist/commands/verify.js +7 -6
  73. package/dist/commands/verify.js.map +1 -0
  74. package/dist/index.d.ts +1 -0
  75. package/dist/index.d.ts.map +1 -0
  76. package/dist/index.js +23 -2
  77. package/dist/index.js.map +1 -0
  78. package/dist/registry/official-registry.d.ts +1 -0
  79. package/dist/registry/official-registry.d.ts.map +1 -0
  80. package/dist/registry/official-registry.js +1 -0
  81. package/dist/registry/official-registry.js.map +1 -0
  82. package/package.json +20 -46
  83. package/dist/analyzer/auth-detector.d.ts +0 -12
  84. package/dist/analyzer/auth-detector.js +0 -142
  85. package/dist/analyzer/dom-parser.d.ts +0 -10
  86. package/dist/analyzer/dom-parser.js +0 -259
  87. package/dist/analyzer/goal-crawler.d.ts +0 -25
  88. package/dist/analyzer/goal-crawler.js +0 -177
  89. package/dist/analyzer/hybrid-detector.d.ts +0 -28
  90. package/dist/analyzer/hybrid-detector.js +0 -96
  91. package/dist/analyzer/index.d.ts +0 -12
  92. package/dist/analyzer/index.js +0 -8
  93. package/dist/analyzer/screenshot-capture.d.ts +0 -29
  94. package/dist/analyzer/screenshot-capture.js +0 -42
  95. package/dist/analyzer/selector-builder.d.ts +0 -19
  96. package/dist/analyzer/selector-builder.js +0 -199
  97. package/dist/analyzer/semantic-analyzer.d.ts +0 -13
  98. package/dist/analyzer/semantic-analyzer.js +0 -145
  99. package/dist/analyzer/site-crawler.d.ts +0 -38
  100. package/dist/analyzer/site-crawler.js +0 -235
  101. package/dist/cloud/billing/billing-engine.d.ts +0 -44
  102. package/dist/cloud/billing/billing-engine.js +0 -81
  103. package/dist/cloud/billing/credit-store.d.ts +0 -64
  104. package/dist/cloud/billing/credit-store.js +0 -168
  105. package/dist/cloud/billing/index.d.ts +0 -4
  106. package/dist/cloud/billing/index.js +0 -2
  107. package/dist/cloud/billing/usage-store.d.ts +0 -42
  108. package/dist/cloud/billing/usage-store.js +0 -85
  109. package/dist/cloud/billing/usage-tracker.d.ts +0 -38
  110. package/dist/cloud/billing/usage-tracker.js +0 -95
  111. package/dist/cloud/build-pipeline.d.ts +0 -39
  112. package/dist/cloud/build-pipeline.js +0 -310
  113. package/dist/cloud/build-queue.d.ts +0 -30
  114. package/dist/cloud/build-queue.js +0 -70
  115. package/dist/cloud/caddy-manager.d.ts +0 -18
  116. package/dist/cloud/caddy-manager.js +0 -97
  117. package/dist/cloud/container-backend.d.ts +0 -62
  118. package/dist/cloud/container-backend.js +0 -59
  119. package/dist/cloud/container-manager.d.ts +0 -64
  120. package/dist/cloud/container-manager.js +0 -301
  121. package/dist/cloud/crypto.d.ts +0 -27
  122. package/dist/cloud/crypto.js +0 -63
  123. package/dist/cloud/db/index.d.ts +0 -27
  124. package/dist/cloud/db/index.js +0 -53
  125. package/dist/cloud/db/migrations.d.ts +0 -12
  126. package/dist/cloud/db/migrations.js +0 -329
  127. package/dist/cloud/db/pg-store.d.ts +0 -45
  128. package/dist/cloud/db/pg-store.js +0 -336
  129. package/dist/cloud/failure-tracker.d.ts +0 -51
  130. package/dist/cloud/failure-tracker.js +0 -102
  131. package/dist/cloud/idle-monitor.d.ts +0 -30
  132. package/dist/cloud/idle-monitor.js +0 -70
  133. package/dist/cloud/mailer.d.ts +0 -21
  134. package/dist/cloud/mailer.js +0 -193
  135. package/dist/cloud/mcp-proxy.d.ts +0 -58
  136. package/dist/cloud/mcp-proxy.js +0 -203
  137. package/dist/cloud/metric-samples.d.ts +0 -43
  138. package/dist/cloud/metric-samples.js +0 -85
  139. package/dist/cloud/metrics.d.ts +0 -26
  140. package/dist/cloud/metrics.js +0 -59
  141. package/dist/cloud/multipart.d.ts +0 -26
  142. package/dist/cloud/multipart.js +0 -132
  143. package/dist/cloud/observability.d.ts +0 -27
  144. package/dist/cloud/observability.js +0 -98
  145. package/dist/cloud/rate-limiter.d.ts +0 -31
  146. package/dist/cloud/rate-limiter.js +0 -58
  147. package/dist/cloud/request-security.d.ts +0 -5
  148. package/dist/cloud/request-security.js +0 -74
  149. package/dist/cloud/resource-monitor.d.ts +0 -69
  150. package/dist/cloud/resource-monitor.js +0 -130
  151. package/dist/cloud/secret-store.d.ts +0 -38
  152. package/dist/cloud/secret-store.js +0 -103
  153. package/dist/cloud/security.d.ts +0 -26
  154. package/dist/cloud/security.js +0 -142
  155. package/dist/cloud/server.d.ts +0 -21
  156. package/dist/cloud/server.js +0 -1079
  157. package/dist/cloud/shared-state.d.ts +0 -72
  158. package/dist/cloud/shared-state.js +0 -159
  159. package/dist/cloud/ssrf.d.ts +0 -43
  160. package/dist/cloud/ssrf.js +0 -150
  161. package/dist/cloud/store.d.ts +0 -41
  162. package/dist/cloud/store.js +0 -75
  163. package/dist/cloud/stripe.d.ts +0 -78
  164. package/dist/cloud/stripe.js +0 -317
  165. package/dist/cloud/telemetry-store.d.ts +0 -53
  166. package/dist/cloud/telemetry-store.js +0 -108
  167. package/dist/cloud/web/auth.d.ts +0 -225
  168. package/dist/cloud/web/auth.js +0 -555
  169. package/dist/cloud/web/charts.d.ts +0 -70
  170. package/dist/cloud/web/charts.js +0 -178
  171. package/dist/cloud/web/csrf.d.ts +0 -14
  172. package/dist/cloud/web/csrf.js +0 -22
  173. package/dist/cloud/web/docs.d.ts +0 -40
  174. package/dist/cloud/web/docs.js +0 -174
  175. package/dist/cloud/web/router.d.ts +0 -25
  176. package/dist/cloud/web/router.js +0 -1921
  177. package/dist/cloud/web/static/alpine.min.js +0 -5
  178. package/dist/cloud/web/static/favicon.svg +0 -4
  179. package/dist/cloud/web/static/htmx-sse.js +0 -290
  180. package/dist/cloud/web/static/htmx.min.js +0 -1
  181. package/dist/cloud/web/static/style.css +0 -2683
  182. package/dist/cloud/web/static-server.d.ts +0 -13
  183. package/dist/cloud/web/static-server.js +0 -73
  184. package/dist/cloud/web/template-engine.d.ts +0 -27
  185. package/dist/cloud/web/template-engine.js +0 -146
  186. package/dist/cloud/web/templates/layouts/admin.hbs +0 -57
  187. package/dist/cloud/web/templates/layouts/auth.hbs +0 -138
  188. package/dist/cloud/web/templates/layouts/base.hbs +0 -16
  189. package/dist/cloud/web/templates/layouts/dashboard.hbs +0 -39
  190. package/dist/cloud/web/templates/layouts/landing.hbs +0 -82
  191. package/dist/cloud/web/templates/pages/admin/overview.hbs +0 -123
  192. package/dist/cloud/web/templates/pages/admin/servers.hbs +0 -129
  193. package/dist/cloud/web/templates/pages/admin/telemetry.hbs +0 -39
  194. package/dist/cloud/web/templates/pages/admin/user-edit.hbs +0 -91
  195. package/dist/cloud/web/templates/pages/admin/users.hbs +0 -179
  196. package/dist/cloud/web/templates/pages/auth/forgot-password.hbs +0 -25
  197. package/dist/cloud/web/templates/pages/auth/login.hbs +0 -33
  198. package/dist/cloud/web/templates/pages/auth/register.hbs +0 -32
  199. package/dist/cloud/web/templates/pages/auth/reset-password.hbs +0 -34
  200. package/dist/cloud/web/templates/pages/dashboard/billing.hbs +0 -140
  201. package/dist/cloud/web/templates/pages/dashboard/create.hbs +0 -173
  202. package/dist/cloud/web/templates/pages/dashboard/index.hbs +0 -8
  203. package/dist/cloud/web/templates/pages/dashboard/server-detail.hbs +0 -280
  204. package/dist/cloud/web/templates/pages/dashboard/server-logs.hbs +0 -35
  205. package/dist/cloud/web/templates/pages/dashboard/server-metrics.hbs +0 -63
  206. package/dist/cloud/web/templates/pages/dashboard/servers-partial.hbs +0 -21
  207. package/dist/cloud/web/templates/pages/dashboard/servers.hbs +0 -44
  208. package/dist/cloud/web/templates/pages/docs/show.hbs +0 -16
  209. package/dist/cloud/web/templates/pages/errors/404.hbs +0 -9
  210. package/dist/cloud/web/templates/pages/errors/500.hbs +0 -8
  211. package/dist/cloud/web/templates/pages/landing/index.hbs +0 -223
  212. package/dist/cloud/web/templates/pages/legal/privacy.hbs +0 -71
  213. package/dist/cloud/web/templates/pages/legal/terms.hbs +0 -73
  214. package/dist/cloud/web/templates/partials/admin-stats.hbs +0 -52
  215. package/dist/cloud/web/templates/partials/flash-message.hbs +0 -6
  216. package/dist/cloud/web/templates/partials/pricing-table.hbs +0 -103
  217. package/dist/cloud/web/templates/partials/server-card.hbs +0 -19
  218. package/dist/cloud/web/templates/partials/status-badge.hbs +0 -1
  219. package/dist/config/configurable-command.d.ts +0 -13
  220. package/dist/config/configurable-command.js +0 -70
  221. package/dist/config/mcpmake-config.d.ts +0 -68
  222. package/dist/config/mcpmake-config.js +0 -207
  223. package/dist/docs/cli.md +0 -400
  224. package/dist/docs/mcp-2026-07-28-migration.md +0 -78
  225. package/dist/docs/migrate-from-stainless.md +0 -94
  226. package/dist/docs/quickstart.md +0 -166
  227. package/dist/docs/show-hn.md +0 -26
  228. package/dist/docs/website-servers.md +0 -169
  229. package/dist/emitter/code-writer.d.ts +0 -8
  230. package/dist/emitter/code-writer.js +0 -25
  231. package/dist/emitter/index.d.ts +0 -32
  232. package/dist/emitter/index.js +0 -280
  233. package/dist/emitter/mcpb-bundler.d.ts +0 -31
  234. package/dist/emitter/mcpb-bundler.js +0 -172
  235. package/dist/emitter/project-scaffolder.d.ts +0 -4
  236. package/dist/emitter/project-scaffolder.js +0 -89
  237. package/dist/emitter/python-template-loader.d.ts +0 -4
  238. package/dist/emitter/python-template-loader.js +0 -30
  239. package/dist/emitter/python-templates/dockerfile.hbs +0 -14
  240. package/dist/emitter/python-templates/env.example.hbs +0 -6
  241. package/dist/emitter/python-templates/requirements.txt.hbs +0 -4
  242. package/dist/emitter/python-templates/server.py.hbs +0 -77
  243. package/dist/emitter/site-scaffolder.d.ts +0 -13
  244. package/dist/emitter/site-scaffolder.js +0 -70
  245. package/dist/emitter/site-template-loader.d.ts +0 -5
  246. package/dist/emitter/site-template-loader.js +0 -47
  247. package/dist/emitter/site-templates/browser-manager.ts.hbs +0 -233
  248. package/dist/emitter/site-templates/config.ts.hbs +0 -28
  249. package/dist/emitter/site-templates/dockerfile.hbs +0 -31
  250. package/dist/emitter/site-templates/env.example.hbs +0 -19
  251. package/dist/emitter/site-templates/package.json.hbs +0 -26
  252. package/dist/emitter/site-templates/server-main-http.ts.hbs +0 -108
  253. package/dist/emitter/site-templates/server-main.ts.hbs +0 -23
  254. package/dist/emitter/site-templates/tool-handler-action.ts.hbs +0 -86
  255. package/dist/emitter/site-templates/tool-handler-form.ts.hbs +0 -116
  256. package/dist/emitter/site-templates/tool-handler-lifecycle.ts.hbs +0 -146
  257. package/dist/emitter/site-templates/tool-index.ts.hbs +0 -11
  258. package/dist/emitter/template-loader.d.ts +0 -1
  259. package/dist/emitter/template-loader.js +0 -27
  260. package/dist/emitter/templates/auth-provider.ts.hbs +0 -57
  261. package/dist/emitter/templates/config.ts.hbs +0 -63
  262. package/dist/emitter/templates/discovery.ts.hbs +0 -301
  263. package/dist/emitter/templates/dockerfile.hbs +0 -34
  264. package/dist/emitter/templates/env.example.hbs +0 -28
  265. package/dist/emitter/templates/gitignore.hbs +0 -5
  266. package/dist/emitter/templates/http-executor.ts.hbs +0 -117
  267. package/dist/emitter/templates/oauth.ts.hbs +0 -188
  268. package/dist/emitter/templates/package.json.hbs +0 -25
  269. package/dist/emitter/templates/prompts.ts.hbs +0 -22
  270. package/dist/emitter/templates/readme.md.hbs +0 -123
  271. package/dist/emitter/templates/resources.ts.hbs +0 -63
  272. package/dist/emitter/templates/server-main-http.ts.hbs +0 -407
  273. package/dist/emitter/templates/server-main.ts.hbs +0 -40
  274. package/dist/emitter/templates/task-handlers.ts.hbs +0 -189
  275. package/dist/emitter/templates/task-manager.ts.hbs +0 -139
  276. package/dist/emitter/templates/task-sse.ts.hbs +0 -105
  277. package/dist/emitter/templates/tool-handler.ts.hbs +0 -124
  278. package/dist/emitter/templates/tool-index.ts.hbs +0 -11
  279. package/dist/emitter/templates/tool-test.ts.hbs +0 -57
  280. package/dist/emitter/templates/trace.ts.hbs +0 -79
  281. package/dist/emitter/templates/tsconfig.json.hbs +0 -16
  282. package/dist/emitter/templates/types.ts.hbs +0 -5
  283. package/dist/emitter/worker-template-loader.d.ts +0 -5
  284. package/dist/emitter/worker-template-loader.js +0 -33
  285. package/dist/emitter/worker-templates/config.ts.hbs +0 -54
  286. package/dist/emitter/worker-templates/dev-vars.example.hbs +0 -10
  287. package/dist/emitter/worker-templates/gitignore.hbs +0 -6
  288. package/dist/emitter/worker-templates/package.json.hbs +0 -24
  289. package/dist/emitter/worker-templates/readme.md.hbs +0 -53
  290. package/dist/emitter/worker-templates/server.test.ts.hbs +0 -20
  291. package/dist/emitter/worker-templates/tool-handler.ts.hbs +0 -85
  292. package/dist/emitter/worker-templates/tool-index.ts.hbs +0 -28
  293. package/dist/emitter/worker-templates/tsconfig.json.hbs +0 -17
  294. package/dist/emitter/worker-templates/worker.ts.hbs +0 -242
  295. package/dist/emitter/worker-templates/wrangler.toml.hbs +0 -19
  296. package/dist/generator/spec-generator.d.ts +0 -6
  297. package/dist/generator/spec-generator.js +0 -50
  298. package/dist/parser/har-filter.d.ts +0 -8
  299. package/dist/parser/har-filter.js +0 -71
  300. package/dist/parser/har-loader.d.ts +0 -2
  301. package/dist/parser/har-loader.js +0 -14
  302. package/dist/parser/har-normalizer.d.ts +0 -20
  303. package/dist/parser/har-normalizer.js +0 -78
  304. package/dist/parser/index.d.ts +0 -10
  305. package/dist/parser/index.js +0 -6
  306. package/dist/parser/openapi-loader.d.ts +0 -6
  307. package/dist/parser/openapi-loader.js +0 -308
  308. package/dist/parser/operation-extractor.d.ts +0 -13
  309. package/dist/parser/operation-extractor.js +0 -155
  310. package/dist/parser/overlay-loader.d.ts +0 -10
  311. package/dist/parser/overlay-loader.js +0 -184
  312. package/dist/parser/postman-loader.d.ts +0 -9
  313. package/dist/parser/postman-loader.js +0 -106
  314. package/dist/parser/schema-converter.d.ts +0 -12
  315. package/dist/parser/schema-converter.js +0 -117
  316. package/dist/plugins/adapter.d.ts +0 -40
  317. package/dist/plugins/adapter.js +0 -15
  318. package/dist/plugins/loader.d.ts +0 -25
  319. package/dist/plugins/loader.js +0 -58
  320. package/dist/pricing.d.ts +0 -55
  321. package/dist/pricing.js +0 -133
  322. package/dist/providers/index.d.ts +0 -15
  323. package/dist/providers/index.js +0 -56
  324. package/dist/recorder/browser-recorder.d.ts +0 -22
  325. package/dist/recorder/browser-recorder.js +0 -205
  326. package/dist/rescan/diff-engine.d.ts +0 -5
  327. package/dist/rescan/diff-engine.js +0 -312
  328. package/dist/rescan/index.d.ts +0 -3
  329. package/dist/rescan/index.js +0 -2
  330. package/dist/rescan/rescan-runner.d.ts +0 -42
  331. package/dist/rescan/rescan-runner.js +0 -69
  332. package/dist/rescan/rescan-scheduler.d.ts +0 -41
  333. package/dist/rescan/rescan-scheduler.js +0 -179
  334. package/dist/site-transformer/browser-tools.d.ts +0 -10
  335. package/dist/site-transformer/browser-tools.js +0 -59
  336. package/dist/site-transformer/index.d.ts +0 -2
  337. package/dist/site-transformer/index.js +0 -2
  338. package/dist/site-transformer/selector-healer.d.ts +0 -8
  339. package/dist/site-transformer/selector-healer.js +0 -106
  340. package/dist/site-transformer/tool-generator.d.ts +0 -13
  341. package/dist/site-transformer/tool-generator.js +0 -245
  342. package/dist/transformer/auth-detector.d.ts +0 -13
  343. package/dist/transformer/auth-detector.js +0 -90
  344. package/dist/transformer/catalog-builder.d.ts +0 -18
  345. package/dist/transformer/catalog-builder.js +0 -56
  346. package/dist/transformer/client-compat.d.ts +0 -6
  347. package/dist/transformer/client-compat.js +0 -44
  348. package/dist/transformer/har-clusterer.d.ts +0 -9
  349. package/dist/transformer/har-clusterer.js +0 -27
  350. package/dist/transformer/har-dedup.d.ts +0 -10
  351. package/dist/transformer/har-dedup.js +0 -81
  352. package/dist/transformer/har-schema-inferrer.d.ts +0 -15
  353. package/dist/transformer/har-schema-inferrer.js +0 -90
  354. package/dist/transformer/har-to-operations.d.ts +0 -13
  355. package/dist/transformer/har-to-operations.js +0 -192
  356. package/dist/transformer/index.d.ts +0 -8
  357. package/dist/transformer/index.js +0 -6
  358. package/dist/transformer/llm-namer.d.ts +0 -6
  359. package/dist/transformer/llm-namer.js +0 -59
  360. package/dist/transformer/naming.d.ts +0 -4
  361. package/dist/transformer/naming.js +0 -30
  362. package/dist/transformer/operation-filter.d.ts +0 -13
  363. package/dist/transformer/operation-filter.js +0 -52
  364. package/dist/transformer/resource-builder.d.ts +0 -12
  365. package/dist/transformer/resource-builder.js +0 -80
  366. package/dist/transformer/schema-merger.d.ts +0 -14
  367. package/dist/transformer/schema-merger.js +0 -65
  368. package/dist/transformer/tool-builder.d.ts +0 -3
  369. package/dist/transformer/tool-builder.js +0 -114
  370. package/dist/types/index.d.ts +0 -131
  371. package/dist/types/index.js +0 -1
  372. package/dist/types/site.d.ts +0 -284
  373. package/dist/types/site.js +0 -8
  374. package/dist/utils/fail.d.ts +0 -48
  375. package/dist/utils/fail.js +0 -204
  376. package/dist/utils/fs.d.ts +0 -5
  377. package/dist/utils/fs.js +0 -28
  378. package/dist/utils/interactive.d.ts +0 -6
  379. package/dist/utils/interactive.js +0 -30
  380. package/dist/utils/logger.d.ts +0 -1
  381. package/dist/utils/logger.js +0 -2
  382. package/dist/utils/sanitize.d.ts +0 -28
  383. package/dist/utils/sanitize.js +0 -44
  384. package/dist/utils/watcher.d.ts +0 -11
  385. package/dist/utils/watcher.js +0 -36
@@ -1,155 +0,0 @@
1
- const HTTP_METHODS = ['get', 'post', 'put', 'patch', 'delete', 'head', 'options'];
2
- export function extractOperations(api) {
3
- const operations = [];
4
- const baseUrl = api.servers?.[0]?.url ?? '';
5
- const securitySchemes = (api.components?.securitySchemes ?? {});
6
- const globalSecurity = api.security ?? [];
7
- for (const [path, pathItem] of Object.entries(api.paths ?? {})) {
8
- if (!pathItem)
9
- continue;
10
- const item = pathItem;
11
- const pathParams = (item.parameters ?? []);
12
- for (const method of HTTP_METHODS) {
13
- const operation = item[method];
14
- if (!operation)
15
- continue;
16
- const opParams = (operation.parameters ?? []);
17
- const mergedParams = mergeParameters(pathParams, opParams);
18
- const operationId = operation.operationId ?? synthesizeOperationId(method, path);
19
- const mcpExtensions = extractMcpExtensions(operation);
20
- operations.push({
21
- operationId,
22
- method,
23
- path,
24
- summary: operation.summary,
25
- description: operation.description,
26
- tags: operation.tags ?? [],
27
- parameters: mergedParams.map(toParameterDescriptor),
28
- requestBody: extractRequestBody(operation.requestBody),
29
- responses: extractResponses(operation.responses),
30
- security: extractSecurity(operation.security ?? globalSecurity),
31
- deprecated: operation.deprecated ?? false,
32
- mcpExtensions,
33
- });
34
- }
35
- }
36
- return {
37
- operations,
38
- baseUrl,
39
- securitySchemes,
40
- info: {
41
- title: api.info.title,
42
- version: api.info.version,
43
- description: api.info.description,
44
- },
45
- };
46
- }
47
- function mergeParameters(pathLevel, opLevel) {
48
- const byKey = new Map();
49
- for (const p of pathLevel)
50
- byKey.set(`${p.in}:${p.name}`, p);
51
- for (const p of opLevel)
52
- byKey.set(`${p.in}:${p.name}`, p); // op-level overrides
53
- return [...byKey.values()];
54
- }
55
- function toParameterDescriptor(p) {
56
- return {
57
- name: p.name,
58
- in: p.in,
59
- required: p.required ?? p.in === 'path',
60
- description: p.description,
61
- schema: (p.schema ?? { type: 'string' }),
62
- };
63
- }
64
- function extractRequestBody(body) {
65
- if (!body?.content)
66
- return undefined;
67
- const preferredTypes = [
68
- 'application/json',
69
- 'application/x-www-form-urlencoded',
70
- 'multipart/form-data',
71
- ];
72
- let contentType;
73
- for (const ct of preferredTypes) {
74
- if (body.content[ct]) {
75
- contentType = ct;
76
- break;
77
- }
78
- }
79
- if (!contentType) {
80
- contentType = Object.keys(body.content)[0];
81
- }
82
- if (!contentType)
83
- return undefined;
84
- const mediaType = body.content[contentType];
85
- return {
86
- required: body.required ?? false,
87
- description: body.description,
88
- contentType,
89
- schema: (mediaType.schema ?? {}),
90
- };
91
- }
92
- function extractResponses(responses) {
93
- const result = [];
94
- for (const [statusCode, responseObj] of Object.entries(responses)) {
95
- const response = responseObj;
96
- let contentType;
97
- let schema;
98
- if (response.content) {
99
- contentType = Object.keys(response.content)[0];
100
- if (contentType) {
101
- schema = response.content[contentType].schema;
102
- }
103
- }
104
- result.push({
105
- statusCode,
106
- description: response.description,
107
- contentType,
108
- schema,
109
- });
110
- }
111
- return result;
112
- }
113
- function extractSecurity(security) {
114
- const result = [];
115
- for (const req of security) {
116
- for (const [schemeName, scopes] of Object.entries(req)) {
117
- result.push({ schemeName, scopes });
118
- }
119
- }
120
- return result;
121
- }
122
- function synthesizeOperationId(method, path) {
123
- const cleaned = path.replace(/[{}]/g, '').replace(/\//g, '_').replace(/^_/, '').replace(/_$/, '');
124
- return `${method}_${cleaned}`;
125
- }
126
- function extractMcpExtensions(operation) {
127
- const name = operation['x-mcp-name'];
128
- const description = operation['x-mcp-description'];
129
- const emit = operation['x-mcp-emit'];
130
- const scope = operation['x-mcp-scope'];
131
- const deprecationMessage = operation['x-mcp-deprecation-message'];
132
- const deprecationReplacement = operation['x-mcp-deprecation-replacement'];
133
- const jqFilter = operation['x-mcp-jq-filter'];
134
- const unknownValues = operation['x-mcp-unknown-values'];
135
- if (!name &&
136
- !description &&
137
- !emit &&
138
- !scope &&
139
- !deprecationMessage &&
140
- !deprecationReplacement &&
141
- !jqFilter &&
142
- !unknownValues) {
143
- return undefined;
144
- }
145
- return {
146
- name,
147
- description,
148
- emit,
149
- scope,
150
- deprecationMessage,
151
- deprecationReplacement,
152
- jqFilter,
153
- unknownValues,
154
- };
155
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Applies an OpenAPI Overlay document to a spec, modifying it in place.
3
- *
4
- * Supports simplified JSONPath-like targets:
5
- * - `$.paths['/users'].get` exact path + method
6
- * - `$.paths['/users'].get.x-foo` exact nested field
7
- * - `$.paths['/admin/*']` wildcard match on path prefix
8
- * - `$.components.schemas.User` schema-level targeting
9
- */
10
- export declare function applyOverlay(spec: Record<string, unknown>, overlayPath: string): Promise<void>;
@@ -1,184 +0,0 @@
1
- import { readFile } from 'node:fs/promises';
2
- import { parse as parseYaml } from 'yaml';
3
- import { logger } from '../utils/logger.js';
4
- /**
5
- * Applies an OpenAPI Overlay document to a spec, modifying it in place.
6
- *
7
- * Supports simplified JSONPath-like targets:
8
- * - `$.paths['/users'].get` exact path + method
9
- * - `$.paths['/users'].get.x-foo` exact nested field
10
- * - `$.paths['/admin/*']` wildcard match on path prefix
11
- * - `$.components.schemas.User` schema-level targeting
12
- */
13
- export async function applyOverlay(spec, overlayPath) {
14
- const raw = await readFile(overlayPath, 'utf-8');
15
- const overlay = parseOverlay(raw);
16
- logger.info(`Applying overlay: ${overlayPath} (${overlay.actions.length} actions)`);
17
- for (const action of overlay.actions) {
18
- applyAction(spec, action);
19
- }
20
- }
21
- function parseOverlay(content) {
22
- let doc;
23
- try {
24
- doc = parseYaml(content);
25
- }
26
- catch {
27
- doc = JSON.parse(content);
28
- }
29
- if (!doc.actions || !Array.isArray(doc.actions)) {
30
- throw new Error('Overlay document must contain an "actions" array');
31
- }
32
- return doc;
33
- }
34
- function applyAction(spec, action) {
35
- const segments = parseTarget(action.target);
36
- if (segments.length === 0)
37
- return;
38
- // Handle wildcard matching
39
- const wildcardIdx = segments.findIndex((s) => s.includes('*'));
40
- if (wildcardIdx >= 0) {
41
- applyWildcardAction(spec, segments, wildcardIdx, action);
42
- }
43
- else {
44
- applySingleAction(spec, segments, action);
45
- }
46
- }
47
- function applySingleAction(spec, segments, action) {
48
- if (action.remove) {
49
- // Navigate to parent, then delete the last key
50
- const parent = navigateTo(spec, segments.slice(0, -1));
51
- if (parent && typeof parent === 'object') {
52
- const lastKey = segments[segments.length - 1];
53
- delete parent[lastKey];
54
- logger.info(`Overlay: removed ${segments.join('.')}`);
55
- }
56
- }
57
- else if (action.update) {
58
- const target = navigateTo(spec, segments);
59
- if (target && typeof target === 'object') {
60
- deepMerge(target, action.update);
61
- logger.info(`Overlay: updated ${segments.join('.')}`);
62
- }
63
- else {
64
- // If target doesn't exist, try creating it by setting on parent
65
- const parent = navigateTo(spec, segments.slice(0, -1));
66
- if (parent && typeof parent === 'object') {
67
- const lastKey = segments[segments.length - 1];
68
- parent[lastKey] = action.update;
69
- logger.info(`Overlay: created ${segments.join('.')}`);
70
- }
71
- else {
72
- logger.warn(`Overlay: target not found: ${segments.join('.')}`);
73
- }
74
- }
75
- }
76
- }
77
- function applyWildcardAction(spec, segments, wildcardIdx, action) {
78
- // Navigate to parent of the wildcard segment
79
- const parentSegments = segments.slice(0, wildcardIdx);
80
- const parent = navigateTo(spec, parentSegments);
81
- if (!parent || typeof parent !== 'object')
82
- return;
83
- const wildcardPattern = segments[wildcardIdx];
84
- const remainingSegments = segments.slice(wildcardIdx + 1);
85
- // Match keys against the wildcard pattern
86
- const regex = wildcardToRegex(wildcardPattern);
87
- const matchedKeys = Object.keys(parent).filter((key) => regex.test(key));
88
- for (const key of matchedKeys) {
89
- const fullSegments = [...parentSegments, key, ...remainingSegments];
90
- applySingleAction(spec, fullSegments, action);
91
- }
92
- }
93
- /**
94
- * Parses a JSONPath-like target string into segments.
95
- * `$.paths['/users'].get` -> ['paths', '/users', 'get']
96
- */
97
- function parseTarget(target) {
98
- const segments = [];
99
- let current = target;
100
- // Remove leading $. or $
101
- if (current.startsWith('$.')) {
102
- current = current.slice(2);
103
- }
104
- else if (current.startsWith('$')) {
105
- current = current.slice(1);
106
- }
107
- while (current.length > 0) {
108
- if (current.startsWith('[')) {
109
- // Bracket notation: ['key'] or ['/path']
110
- const closeIdx = current.indexOf(']');
111
- if (closeIdx < 0)
112
- break;
113
- let key = current.slice(1, closeIdx);
114
- // Strip surrounding quotes
115
- if ((key.startsWith("'") && key.endsWith("'")) ||
116
- (key.startsWith('"') && key.endsWith('"'))) {
117
- key = key.slice(1, -1);
118
- }
119
- segments.push(key);
120
- current = current.slice(closeIdx + 1);
121
- if (current.startsWith('.'))
122
- current = current.slice(1);
123
- }
124
- else {
125
- // Dot notation: get the next segment up to . or [
126
- const dotIdx = current.indexOf('.');
127
- const bracketIdx = current.indexOf('[');
128
- let end;
129
- if (dotIdx < 0 && bracketIdx < 0) {
130
- end = current.length;
131
- }
132
- else if (dotIdx < 0) {
133
- end = bracketIdx;
134
- }
135
- else if (bracketIdx < 0) {
136
- end = dotIdx;
137
- }
138
- else {
139
- end = Math.min(dotIdx, bracketIdx);
140
- }
141
- const segment = current.slice(0, end);
142
- if (segment.length > 0) {
143
- segments.push(segment);
144
- }
145
- current = current.slice(end);
146
- if (current.startsWith('.'))
147
- current = current.slice(1);
148
- }
149
- }
150
- return segments;
151
- }
152
- function navigateTo(obj, segments) {
153
- let current = obj;
154
- for (const segment of segments) {
155
- if (current === null || current === undefined || typeof current !== 'object') {
156
- return undefined;
157
- }
158
- current = current[segment];
159
- }
160
- return current;
161
- }
162
- function deepMerge(target, source) {
163
- for (const [key, value] of Object.entries(source)) {
164
- if (typeof value === 'object' &&
165
- value !== null &&
166
- !Array.isArray(value) &&
167
- typeof target[key] === 'object' &&
168
- target[key] !== null &&
169
- !Array.isArray(target[key])) {
170
- deepMerge(target[key], value);
171
- }
172
- else {
173
- target[key] = value;
174
- }
175
- }
176
- }
177
- function wildcardToRegex(pattern) {
178
- const escaped = pattern.replace(/[.*+?^${}()|[\]\\]/g, (match) => {
179
- if (match === '*')
180
- return '.*';
181
- return `\\${match}`;
182
- });
183
- return new RegExp(`^${escaped}$`);
184
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Postman Collection v2.1 to HAR Entry converter.
3
- * Converts Postman items into HAR entries that feed into the existing HAR pipeline.
4
- */
5
- import type { Entry } from 'har-format';
6
- export declare function loadPostmanCollection(filePath: string): Promise<{
7
- entries: Entry[];
8
- collectionName: string;
9
- }>;
@@ -1,106 +0,0 @@
1
- /**
2
- * Postman Collection v2.1 to HAR Entry converter.
3
- * Converts Postman items into HAR entries that feed into the existing HAR pipeline.
4
- */
5
- import { readFile } from 'node:fs/promises';
6
- export async function loadPostmanCollection(filePath) {
7
- const raw = await readFile(filePath, 'utf-8');
8
- const collection = JSON.parse(raw);
9
- if (!collection.info || !collection.item) {
10
- throw new Error('Invalid Postman collection: missing info or item fields');
11
- }
12
- // Resolve variables
13
- const vars = new Map();
14
- for (const v of collection.variable ?? []) {
15
- vars.set(v.key, v.value);
16
- }
17
- const entries = [];
18
- flattenItems(collection.item, entries, vars);
19
- return { entries, collectionName: collection.info.name };
20
- }
21
- function flattenItems(items, entries, vars) {
22
- for (const item of items) {
23
- if (item.item) {
24
- flattenItems(item.item, entries, vars);
25
- }
26
- if (item.request) {
27
- const entry = convertToHarEntry(item, vars);
28
- if (entry)
29
- entries.push(entry);
30
- }
31
- }
32
- }
33
- function convertToHarEntry(item, vars) {
34
- const req = item.request;
35
- const url = resolveUrl(req.url, vars);
36
- if (!url)
37
- return null;
38
- const method = req.method ?? 'GET';
39
- const headers = (req.header ?? []).map((h) => ({
40
- name: h.key,
41
- value: resolveVars(h.value, vars),
42
- }));
43
- let parsedUrl;
44
- try {
45
- parsedUrl = new URL(url);
46
- }
47
- catch {
48
- return null;
49
- }
50
- const queryString = [...parsedUrl.searchParams.entries()].map(([name, value]) => ({
51
- name,
52
- value,
53
- }));
54
- const postData = req.body?.raw
55
- ? {
56
- mimeType: headers.find((h) => h.name.toLowerCase() === 'content-type')?.value ?? 'application/json',
57
- text: resolveVars(req.body.raw, vars),
58
- }
59
- : undefined;
60
- return {
61
- startedDateTime: new Date().toISOString(),
62
- time: 0,
63
- request: {
64
- method: method.toUpperCase(),
65
- url,
66
- httpVersion: 'HTTP/1.1',
67
- headers,
68
- queryString,
69
- cookies: [],
70
- headersSize: -1,
71
- bodySize: postData?.text ? Buffer.byteLength(postData.text) : 0,
72
- ...(postData ? { postData } : {}),
73
- },
74
- response: {
75
- status: 200,
76
- statusText: 'OK',
77
- httpVersion: 'HTTP/1.1',
78
- headers: [{ name: 'content-type', value: 'application/json' }],
79
- cookies: [],
80
- content: { size: 0, mimeType: 'application/json' },
81
- redirectURL: '',
82
- headersSize: -1,
83
- bodySize: 0,
84
- },
85
- cache: {},
86
- timings: { send: 0, wait: 0, receive: 0 },
87
- };
88
- }
89
- function resolveUrl(url, vars) {
90
- if (typeof url === 'string')
91
- return resolveVars(url, vars);
92
- if (url.raw)
93
- return resolveVars(url.raw, vars);
94
- const protocol = url.protocol ?? 'https';
95
- const host = url.host?.join('.') ?? 'localhost';
96
- const path = url.path?.join('/') ?? '';
97
- const base = `${protocol}://${host}/${path}`;
98
- const parsed = new URL(resolveVars(base, vars));
99
- for (const q of url.query ?? []) {
100
- parsed.searchParams.set(q.key, resolveVars(q.value, vars));
101
- }
102
- return parsed.toString();
103
- }
104
- function resolveVars(str, vars) {
105
- return str.replace(/\{\{(\w+)\}\}/g, (_, key) => vars.get(key) ?? `{{${key}}}`);
106
- }
@@ -1,12 +0,0 @@
1
- import type { OperationDescriptor, JsonSchema } from '../types/index.js';
2
- /**
3
- * Wrap array root schemas in an object for MCP outputSchema compatibility.
4
- * MCP outputSchema requires an object root, not a bare array.
5
- */
6
- export declare function wrapArrayRoot(schema: JsonSchema): JsonSchema;
7
- export declare function jsonSchemaToZodCode(schema: JsonSchema): string;
8
- /**
9
- * Convert a schema to Zod code, wrapping array roots for outputSchema.
10
- */
11
- export declare function jsonSchemaToOutputZodCode(schema: JsonSchema): string;
12
- export declare function buildOperationInputSchema(op: OperationDescriptor): string;
@@ -1,117 +0,0 @@
1
- import { jsonSchemaToZod } from 'json-schema-to-zod';
2
- import { sanitizeIdentifier } from '../utils/sanitize.js';
3
- import { logger } from '../utils/logger.js';
4
- const MAX_SCHEMA_DEPTH = 15;
5
- /**
6
- * Pre-process a JSON Schema to simplify common patterns before Zod conversion.
7
- * Handles: single-item allOf (unwrap), nullable types, circular refs, array root wrapping.
8
- */
9
- function simplifySchema(schema, depth = 0, seen = new WeakSet()) {
10
- if (!schema || typeof schema !== 'object')
11
- return schema;
12
- // Circular reference detection
13
- if (seen.has(schema)) {
14
- return { type: 'object', description: 'Truncated: circular reference' };
15
- }
16
- seen.add(schema);
17
- // Depth limit
18
- if (depth > MAX_SCHEMA_DEPTH) {
19
- return { type: 'object', description: 'Truncated: max depth exceeded' };
20
- }
21
- // Unwrap single-item allOf (common in OpenAPI after $ref resolution)
22
- if (schema.allOf && Array.isArray(schema.allOf) && schema.allOf.length === 1) {
23
- const inner = schema.allOf[0];
24
- const { allOf, ...rest } = schema;
25
- return simplifySchema({ ...inner, ...rest }, depth + 1, seen);
26
- }
27
- // Handle nullable shorthand: { type: "string", nullable: true }
28
- if (schema.nullable === true && schema.type) {
29
- const { nullable, ...rest } = schema;
30
- return { oneOf: [rest, { type: 'null' }] };
31
- }
32
- // Recursively simplify nested schemas
33
- if (schema.properties && typeof schema.properties === 'object') {
34
- const simplified = {};
35
- for (const [key, value] of Object.entries(schema.properties)) {
36
- simplified[key] = simplifySchema(value, depth + 1, seen);
37
- }
38
- return { ...schema, properties: simplified };
39
- }
40
- if (schema.items && typeof schema.items === 'object') {
41
- return { ...schema, items: simplifySchema(schema.items, depth + 1, seen) };
42
- }
43
- return schema;
44
- }
45
- /**
46
- * Wrap array root schemas in an object for MCP outputSchema compatibility.
47
- * MCP outputSchema requires an object root, not a bare array.
48
- */
49
- export function wrapArrayRoot(schema) {
50
- if (schema.type === 'array') {
51
- return {
52
- type: 'object',
53
- properties: { items: schema },
54
- required: ['items'],
55
- };
56
- }
57
- return schema;
58
- }
59
- export function jsonSchemaToZodCode(schema) {
60
- try {
61
- const simplified = simplifySchema(schema);
62
- return jsonSchemaToZod(simplified, { module: 'none' });
63
- }
64
- catch {
65
- return 'z.any()';
66
- }
67
- }
68
- /**
69
- * Convert a schema to Zod code, wrapping array roots for outputSchema.
70
- */
71
- export function jsonSchemaToOutputZodCode(schema) {
72
- return jsonSchemaToZodCode(wrapArrayRoot(schema));
73
- }
74
- export function buildOperationInputSchema(op) {
75
- const fields = [];
76
- const seenNames = new Set();
77
- for (const param of op.parameters) {
78
- if (param.in === 'header')
79
- continue;
80
- let safeName = sanitizeIdentifier(param.name);
81
- // Parameter collision resolution
82
- if (seenNames.has(safeName)) {
83
- safeName = `${safeName}_${param.in}`;
84
- logger.warn(`Parameter name collision: "${param.name}" renamed to "${safeName}"`);
85
- }
86
- seenNames.add(safeName);
87
- const zodType = jsonSchemaToZodCode(param.schema);
88
- let field = zodType;
89
- if (!param.required) {
90
- field = `${field}.optional()`;
91
- }
92
- if (param.description) {
93
- field = `${field}.describe(${JSON.stringify(param.description)})`;
94
- }
95
- fields.push(` ${safeName}: ${field}`);
96
- }
97
- if (op.requestBody) {
98
- let bodyName = 'body';
99
- if (seenNames.has(bodyName)) {
100
- bodyName = 'requestBody';
101
- }
102
- seenNames.add(bodyName);
103
- const bodyZod = jsonSchemaToZodCode(op.requestBody.schema);
104
- let field = bodyZod;
105
- if (!op.requestBody.required) {
106
- field = `${field}.optional()`;
107
- }
108
- if (op.requestBody.description) {
109
- field = `${field}.describe(${JSON.stringify(op.requestBody.description)})`;
110
- }
111
- fields.push(` ${bodyName}: ${field}`);
112
- }
113
- if (fields.length === 0) {
114
- return 'z.object({})';
115
- }
116
- return `z.object({\n${fields.join(',\n')},\n})`;
117
- }
@@ -1,40 +0,0 @@
1
- /**
2
- * Plugin adapter interface for mcpmake.
3
- *
4
- * Third-party packages implement this interface to add new input formats.
5
- * Adapters convert their source format into OperationDescriptor[] —
6
- * the shared intermediate format that feeds into the tool builder and emitter.
7
- *
8
- * Example:
9
- * export default class GraphQLAdapter implements McpmakeAdapter {
10
- * name = 'graphql';
11
- * description = 'Generate from GraphQL schema';
12
- * async parse(input: string) { ... return operations; }
13
- * }
14
- */
15
- import type { OperationDescriptor, AuthScheme, EnvVarDescriptor } from '../types/index.js';
16
- export interface AdapterResult {
17
- operations: OperationDescriptor[];
18
- baseUrl: string;
19
- authSchemes: AuthScheme[];
20
- envVars: EnvVarDescriptor[];
21
- info: {
22
- title: string;
23
- version: string;
24
- description?: string;
25
- };
26
- }
27
- export interface McpmakeAdapter {
28
- /** Unique adapter name (used as CLI subcommand: `mcpmake from <name>`) */
29
- name: string;
30
- /** Human-readable description */
31
- description: string;
32
- /** File extensions this adapter handles (e.g., ['.graphql', '.gql']) */
33
- extensions?: string[];
34
- /**
35
- * Parse the input source and return operations.
36
- * @param input — file path, URL, or other source identifier
37
- * @param options — adapter-specific options from CLI args
38
- */
39
- parse(input: string, options?: Record<string, unknown>): Promise<AdapterResult>;
40
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * Plugin adapter interface for mcpmake.
3
- *
4
- * Third-party packages implement this interface to add new input formats.
5
- * Adapters convert their source format into OperationDescriptor[] —
6
- * the shared intermediate format that feeds into the tool builder and emitter.
7
- *
8
- * Example:
9
- * export default class GraphQLAdapter implements McpmakeAdapter {
10
- * name = 'graphql';
11
- * description = 'Generate from GraphQL schema';
12
- * async parse(input: string) { ... return operations; }
13
- * }
14
- */
15
- export {};
@@ -1,25 +0,0 @@
1
- /**
2
- * Plugin loader — discovers and loads McpmakeAdapter implementations.
3
- *
4
- * Plugins are loaded from:
5
- * 1. Built-in adapters (openapi, har, url, describe)
6
- * 2. npm packages named `mcpmake-adapter-*`
7
- * 3. Local files specified via --adapter flag
8
- */
9
- import type { McpmakeAdapter } from './adapter.js';
10
- /**
11
- * Register a plugin adapter.
12
- */
13
- export declare function registerAdapter(adapter: McpmakeAdapter): void;
14
- /**
15
- * Get a registered adapter by name.
16
- */
17
- export declare function getAdapter(name: string): McpmakeAdapter | undefined;
18
- /**
19
- * List all registered adapters.
20
- */
21
- export declare function listAdapters(): McpmakeAdapter[];
22
- /**
23
- * Load an adapter from a file path or npm package name.
24
- */
25
- export declare function loadAdapterFromPath(pathOrPackage: string): Promise<McpmakeAdapter>;